{"description":"Multi-phase app requirements gathering with LLM and AI Tools","endpoints":{"/":"GET - API documentation","/api/admin/jobs":"GET - List all code generation jobs (kill switch admin)","/api/admin/jobs/delete":"POST - Delete a job from Redis (body: {job_key})","/api/admin/jobs/kill":"POST - Force kill a job (body: {job_key, reason, status})","/api/admin/jobs/notify-clear":"POST - Send clear notification to frontend (body: {session_id})","/api/blueprint/<session_id>":"GET - Download blueprint as markdown (auto-selects job or session)","/api/blueprint/<session_id>/pdf":"GET - Download blueprint as PDF (auto-selects job or session)","/api/internal/cleanup-gsheet-templates":"POST - Cleanup old Google Sheets templates (cron job)","/api/phases":"GET - Phase configuration","/api/test/gsheet-template":"POST - Test Google Sheets template creation (optional body: {app_name, data_models})","/api/trigger-apk-build":"POST - Trigger APK build after preview approval (body: {session_id})","/api/v1/cloudflare/redeploy":"POST - Submit Cloudflare credentials for admin panel redeployment (body: {session_id, account_id, api_token, custom_domain?})","/api/v1/cloudflare/redeploy/skip":"POST - Skip custom Cloudflare deployment (body: {session_id})","/api/v1/create-sheet-columns":"POST - Create columns via script URL (no token needed)","/api/v1/oauth/google/auth/callback":"POST - Handle OAuth callback for app auth (web apps)","/api/v1/oauth/google/auth/redirect":"GET - OAuth redirect endpoint (Google redirects here, then to app)","/api/v1/oauth/google/auth/url":"GET - Get OAuth URL for app auth (params: app_callback)","/api/v1/oauth/google/callback":"POST - Handle OAuth callback for sheets","/api/v1/oauth/google/url":"GET - Get Google OAuth URL (type=sheets|auth)","/api/v1/setup-google-sheets":"POST - Create Google Sheet + Apps Script via OAuth token","/api/v1/upload/app-icon":"POST - Upload app icon image (multipart file or JSON body with base64/url)","/api/v1/upload/lottie":"POST - Upload Lottie animation (multipart file or JSON body with base64/url)","/health":"GET - Health check"},"features":["real-time WebSocket chat","async code generation","LLM Agent with tool use","no timeout"],"llm_providers":["Qwen (DashScope)","Claude (Anthropic)"],"oauth_types":{"auth":"Get user profile for app login (Google Sign-In) - use /api/v1/oauth/google/auth/*","sheets":"Create spreadsheet + Apps Script (Phase 2 setup) - use /api/v1/oauth/google/*"},"service":"Mismaiti Service","version":"3.0.0","websocket":{"events":{"agent_response":"Receive LLM agent response (includes session context and tool results)","apk_build_started":"Notification when APK build is triggered after preview approval","code_generation_started":"Notification when code generation starts","error":"Error notifications","generation_complete":"Notification when full generation (including APK) is complete","preview_ready":"Notification when WASM preview is deployed (includes preview_url)","progress":"Real-time code generation progress updates","repo_created":"Notification when GitHub repository is created","user_message":"Send user message to LLM agent"},"note":"Data gathering tools (before generate_context) execute silently. Action tools (create_repo, trigger_code_generation) emit notifications.","url":"ws://localhost:5000"}}
