fagoon-upgrade 2.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (871) hide show
  1. fagoon_upgrade-2.0.0/.dockerignore +15 -0
  2. fagoon_upgrade-2.0.0/.env.example +27 -0
  3. fagoon_upgrade-2.0.0/.env.template +129 -0
  4. fagoon_upgrade-2.0.0/.geminiignore +7 -0
  5. fagoon_upgrade-2.0.0/.github/CODEOWNERS +10 -0
  6. fagoon_upgrade-2.0.0/.github/pull_request_template.md +9 -0
  7. fagoon_upgrade-2.0.0/.github/workflows/ci.yml +63 -0
  8. fagoon_upgrade-2.0.0/.github/workflows/deploy.yml +71 -0
  9. fagoon_upgrade-2.0.0/.github/workflows/release.yml +96 -0
  10. fagoon_upgrade-2.0.0/.gitignore +201 -0
  11. fagoon_upgrade-2.0.0/.importlinter +24 -0
  12. fagoon_upgrade-2.0.0/Dockerfile +33 -0
  13. fagoon_upgrade-2.0.0/FAGOON_COMPREHENSIVE_DOCS.md +103 -0
  14. fagoon_upgrade-2.0.0/GEMINI.md +187 -0
  15. fagoon_upgrade-2.0.0/PKG-INFO +454 -0
  16. fagoon_upgrade-2.0.0/PROJECT_OVERVIEW.md +282 -0
  17. fagoon_upgrade-2.0.0/README.md +370 -0
  18. fagoon_upgrade-2.0.0/__init__.py +0 -0
  19. fagoon_upgrade-2.0.0/alembic/README +1 -0
  20. fagoon_upgrade-2.0.0/alembic/README.md +26 -0
  21. fagoon_upgrade-2.0.0/alembic/env.py +80 -0
  22. fagoon_upgrade-2.0.0/alembic/script.py.mako +28 -0
  23. fagoon_upgrade-2.0.0/alembic/versions/0b463d51fdf2_add_usage_tracking_tables.py +274 -0
  24. fagoon_upgrade-2.0.0/alembic/versions/0dfa49bde271_add_agentic_memory_and_rag_document_.py +97 -0
  25. fagoon_upgrade-2.0.0/alembic/versions/0ef15e78f70d_init_uuid_schema.py +77 -0
  26. fagoon_upgrade-2.0.0/alembic/versions/1b05306dc143_add_vibe_code_tables.py +55 -0
  27. fagoon_upgrade-2.0.0/alembic/versions/2673b3ca8de9_describe_what_changed.py +26 -0
  28. fagoon_upgrade-2.0.0/alembic/versions/38133fe48649_add_whatsapp_session_table.py +80 -0
  29. fagoon_upgrade-2.0.0/alembic/versions/42a6dc963da9_merge_remaining_heads.py +28 -0
  30. fagoon_upgrade-2.0.0/alembic/versions/47a607006441_add_generated_images_table.py +40 -0
  31. fagoon_upgrade-2.0.0/alembic/versions/4dd6b27a4d41_add_memory_and_rag_vector_tables.py +61 -0
  32. fagoon_upgrade-2.0.0/alembic/versions/5362b7633307_add_engine_metadata_and_versioning.py +44 -0
  33. fagoon_upgrade-2.0.0/alembic/versions/548d7155be22_add_workflow_api_table.py +43 -0
  34. fagoon_upgrade-2.0.0/alembic/versions/61fe520bc3b1_refactor_the_user_table.py +32 -0
  35. fagoon_upgrade-2.0.0/alembic/versions/6aa267e9e4b1_initial_schema.py +200 -0
  36. fagoon_upgrade-2.0.0/alembic/versions/6dd8f9ac7fcd_merge_new_split_heads.py +28 -0
  37. fagoon_upgrade-2.0.0/alembic/versions/8c632576a23b_merge_split_heads.py +28 -0
  38. fagoon_upgrade-2.0.0/alembic/versions/a1b2c3d4e5f6_add_connection_tracking_columns.py +50 -0
  39. fagoon_upgrade-2.0.0/alembic/versions/a96116f90767_create_llm_model_configs.py +45 -0
  40. fagoon_upgrade-2.0.0/alembic/versions/b2c3d4e5f6a7_add_missing_webhook_columns.py +80 -0
  41. fagoon_upgrade-2.0.0/alembic/versions/c3d4e5f6a7b8_add_created_by_to_workflowversion.py +28 -0
  42. fagoon_upgrade-2.0.0/alembic/versions/d4e5f6a7b8c9_add_schedule_and_template_tables.py +171 -0
  43. fagoon_upgrade-2.0.0/alembic/versions/e18c5e4bf740_add_encrypted_connections.py +45 -0
  44. fagoon_upgrade-2.0.0/alembic/versions/e338371b80aa_fix_timezone_columns.py +48 -0
  45. fagoon_upgrade-2.0.0/alembic/versions/e5f6a7b8c9d0_seed_builtin_templates.py +361 -0
  46. fagoon_upgrade-2.0.0/alembic/versions/fdb4494e113e_add_results_field_to_workflow_execution.py +34 -0
  47. fagoon_upgrade-2.0.0/alembic.ini +149 -0
  48. fagoon_upgrade-2.0.0/alembic_helper.ps1 +78 -0
  49. fagoon_upgrade-2.0.0/capital_adequacy_cet1.png +0 -0
  50. fagoon_upgrade-2.0.0/clear_instances.py +20 -0
  51. fagoon_upgrade-2.0.0/data/config.json +3 -0
  52. fagoon_upgrade-2.0.0/deploy/Dockerfile +36 -0
  53. fagoon_upgrade-2.0.0/deploy/Dockerfile.save +33 -0
  54. fagoon_upgrade-2.0.0/deploy/docker-compose.full.yml +69 -0
  55. fagoon_upgrade-2.0.0/deploy/docker-compose.yml +49 -0
  56. fagoon_upgrade-2.0.0/deploy/entrypoint.sh +92 -0
  57. fagoon_upgrade-2.0.0/docker/Dockerfile.sandbox +124 -0
  58. fagoon_upgrade-2.0.0/docker/build-sandbox.sh +109 -0
  59. fagoon_upgrade-2.0.0/docker-compose.yml +69 -0
  60. fagoon_upgrade-2.0.0/ecosystem.config.js +28 -0
  61. fagoon_upgrade-2.0.0/fagoon_cli/__init__.py +1 -0
  62. fagoon_upgrade-2.0.0/fagoon_cli/compose/docker-compose.full.yml +68 -0
  63. fagoon_upgrade-2.0.0/fagoon_cli/compose/docker-compose.yml +45 -0
  64. fagoon_upgrade-2.0.0/fagoon_cli/main.py +261 -0
  65. fagoon_upgrade-2.0.0/files/INDEX_AND_NAVIGATION.md +495 -0
  66. fagoon_upgrade-2.0.0/files/MIGRATION_CHECKLIST.md +634 -0
  67. fagoon_upgrade-2.0.0/files/QUICK_START_SUMMARY.md +572 -0
  68. fagoon_upgrade-2.0.0/files/README.md +385 -0
  69. fagoon_upgrade-2.0.0/files/VIBE_CODE_IMPLEMENTATION_GUIDE.md +931 -0
  70. fagoon_upgrade-2.0.0/files/VIBE_CODE_MODE_PYTHON_ARCHITECTURE.md +1218 -0
  71. fagoon_upgrade-2.0.0/files/migrate_from_rust.py +450 -0
  72. fagoon_upgrade-2.0.0/frontend/.eslintrc.json +6 -0
  73. fagoon_upgrade-2.0.0/frontend/.github/workflows/deploy-develop.yml +194 -0
  74. fagoon_upgrade-2.0.0/frontend/.github/workflows/deploy-main.yml +194 -0
  75. fagoon_upgrade-2.0.0/frontend/.gitignore +37 -0
  76. fagoon_upgrade-2.0.0/frontend/.npmrc +1 -0
  77. fagoon_upgrade-2.0.0/frontend/Dockerfile +26 -0
  78. fagoon_upgrade-2.0.0/frontend/README.md +36 -0
  79. fagoon_upgrade-2.0.0/frontend/USER_GUIDE.md +174 -0
  80. fagoon_upgrade-2.0.0/frontend/components.json +20 -0
  81. fagoon_upgrade-2.0.0/frontend/deploy_domain.sh +53 -0
  82. fagoon_upgrade-2.0.0/frontend/ecosystem.config.js +14 -0
  83. fagoon_upgrade-2.0.0/frontend/frontend-node-connections-spec.md +213 -0
  84. fagoon_upgrade-2.0.0/frontend/let +0 -0
  85. fagoon_upgrade-2.0.0/frontend/next.config.mjs +33 -0
  86. fagoon_upgrade-2.0.0/frontend/nginx_fagoon_tech +31 -0
  87. fagoon_upgrade-2.0.0/frontend/package-lock.json +18339 -0
  88. fagoon_upgrade-2.0.0/frontend/package.json +128 -0
  89. fagoon_upgrade-2.0.0/frontend/postcss.config.mjs +8 -0
  90. fagoon_upgrade-2.0.0/frontend/public/Icon.svg +10 -0
  91. fagoon_upgrade-2.0.0/frontend/public/Poppins-Regular.ttf +0 -0
  92. fagoon_upgrade-2.0.0/frontend/public/ResponseLoading.json +1 -0
  93. fagoon_upgrade-2.0.0/frontend/public/ag1.png +0 -0
  94. fagoon_upgrade-2.0.0/frontend/public/ag2.png +0 -0
  95. fagoon_upgrade-2.0.0/frontend/public/ag3.png +0 -0
  96. fagoon_upgrade-2.0.0/frontend/public/bg.jpg +0 -0
  97. fagoon_upgrade-2.0.0/frontend/public/bg.webp +0 -0
  98. fagoon_upgrade-2.0.0/frontend/public/chat-page-logo.svg +9 -0
  99. fagoon_upgrade-2.0.0/frontend/public/enterprise-content-intelligence.webp +0 -0
  100. fagoon_upgrade-2.0.0/frontend/public/icons/deepseek.png +0 -0
  101. fagoon_upgrade-2.0.0/frontend/public/icons/gemini-ai.jpg +0 -0
  102. fagoon_upgrade-2.0.0/frontend/public/icons/llama3.webp +0 -0
  103. fagoon_upgrade-2.0.0/frontend/public/icons/openai.webp +0 -0
  104. fagoon_upgrade-2.0.0/frontend/public/image.png +0 -0
  105. fagoon_upgrade-2.0.0/frontend/public/mic.mp3 +0 -0
  106. fagoon_upgrade-2.0.0/frontend/public/neural-analytics-suite.webp +0 -0
  107. fagoon_upgrade-2.0.0/frontend/public/quantum-support-intelligence.webp +0 -0
  108. fagoon_upgrade-2.0.0/frontend/public/thirdparty/logos/anthropic.svg +1 -0
  109. fagoon_upgrade-2.0.0/frontend/public/thirdparty/logos/deepseek.svg +1 -0
  110. fagoon_upgrade-2.0.0/frontend/public/thirdparty/logos/fireworks.svg +1 -0
  111. fagoon_upgrade-2.0.0/frontend/public/thirdparty/logos/fireworksai.svg +1 -0
  112. fagoon_upgrade-2.0.0/frontend/public/thirdparty/logos/google.svg +1 -0
  113. fagoon_upgrade-2.0.0/frontend/public/thirdparty/logos/groq.svg +1 -0
  114. fagoon_upgrade-2.0.0/frontend/public/thirdparty/logos/mistral.svg +1 -0
  115. fagoon_upgrade-2.0.0/frontend/public/thirdparty/logos/ollama.svg +1 -0
  116. fagoon_upgrade-2.0.0/frontend/public/thirdparty/logos/openai.svg +1 -0
  117. fagoon_upgrade-2.0.0/frontend/public/thirdparty/logos/togetherai.svg +14 -0
  118. fagoon_upgrade-2.0.0/frontend/public/thirdparty/logos/vertex.svg +1 -0
  119. fagoon_upgrade-2.0.0/frontend/public/thirdparty/logos/xai.svg +6 -0
  120. fagoon_upgrade-2.0.0/frontend/public/thirdparty/templates/code-interpreter-v1.svg +265 -0
  121. fagoon_upgrade-2.0.0/frontend/public/thirdparty/templates/gradio-developer.svg +23 -0
  122. fagoon_upgrade-2.0.0/frontend/public/thirdparty/templates/nextjs-developer.svg +9 -0
  123. fagoon_upgrade-2.0.0/frontend/public/thirdparty/templates/streamlit-developer.svg +5 -0
  124. fagoon_upgrade-2.0.0/frontend/public/thirdparty/templates/vue-developer.svg +3 -0
  125. fagoon_upgrade-2.0.0/frontend/public/upgrade-profile-default.jpg +0 -0
  126. fagoon_upgrade-2.0.0/frontend/public/upgrade.json +1 -0
  127. fagoon_upgrade-2.0.0/frontend/src/app/(chat1)/c/[historyId]/page.tsx +184 -0
  128. fagoon_upgrade-2.0.0/frontend/src/app/(chat1)/chat/page.tsx +66 -0
  129. fagoon_upgrade-2.0.0/frontend/src/app/(chat1)/hooks/useUpgradeChat.tsx +598 -0
  130. fagoon_upgrade-2.0.0/frontend/src/app/(chat1)/layout.tsx +12 -0
  131. fagoon_upgrade-2.0.0/frontend/src/app/actions/publish.ts +33 -0
  132. fagoon_upgrade-2.0.0/frontend/src/app/agents/[agentId]/chat/[chatId]/agent-chat-input.tsx +51 -0
  133. fagoon_upgrade-2.0.0/frontend/src/app/agents/[agentId]/chat/[chatId]/agent-chat-message.tsx +231 -0
  134. fagoon_upgrade-2.0.0/frontend/src/app/agents/[agentId]/chat/[chatId]/agent-history.tsx +68 -0
  135. fagoon_upgrade-2.0.0/frontend/src/app/agents/[agentId]/chat/[chatId]/page.tsx +323 -0
  136. fagoon_upgrade-2.0.0/frontend/src/app/agents/[agentId]/chat/[chatId]/types.ts +17 -0
  137. fagoon_upgrade-2.0.0/frontend/src/app/agents/[agentId]/chat/page.tsx +102 -0
  138. fagoon_upgrade-2.0.0/frontend/src/app/agents/chat/page.tsx +334 -0
  139. fagoon_upgrade-2.0.0/frontend/src/app/agents/components/Main.tsx +789 -0
  140. fagoon_upgrade-2.0.0/frontend/src/app/agents/components/agent-card.tsx +79 -0
  141. fagoon_upgrade-2.0.0/frontend/src/app/agents/components/agent-details-modal.tsx +310 -0
  142. fagoon_upgrade-2.0.0/frontend/src/app/agents/components/agent-form-components/ai-model-settings.tsx +142 -0
  143. fagoon_upgrade-2.0.0/frontend/src/app/agents/components/agent-form-components/basic-information.tsx +115 -0
  144. fagoon_upgrade-2.0.0/frontend/src/app/agents/components/agent-form-components/knowledge-base.tsx +183 -0
  145. fagoon_upgrade-2.0.0/frontend/src/app/agents/components/agent-form-components/system-prompt.tsx +30 -0
  146. fagoon_upgrade-2.0.0/frontend/src/app/agents/components/agent-form-components/tools.tsx +58 -0
  147. fagoon_upgrade-2.0.0/frontend/src/app/agents/components/create-agent.tsx +255 -0
  148. fagoon_upgrade-2.0.0/frontend/src/app/agents/components/deploy-agent-modal.tsx +337 -0
  149. fagoon_upgrade-2.0.0/frontend/src/app/agents/components/whatsapp-disclaimer.tsx +60 -0
  150. fagoon_upgrade-2.0.0/frontend/src/app/agents/components/whatsapp-method-selector.tsx +58 -0
  151. fagoon_upgrade-2.0.0/frontend/src/app/agents/components/whatsapp-qr-panel.tsx +80 -0
  152. fagoon_upgrade-2.0.0/frontend/src/app/agents/page.tsx +93 -0
  153. fagoon_upgrade-2.0.0/frontend/src/app/api/chat/route.ts +388 -0
  154. fagoon_upgrade-2.0.0/frontend/src/app/api/chat/upload-file/route.ts +44 -0
  155. fagoon_upgrade-2.0.0/frontend/src/app/api/code/route.ts +35 -0
  156. fagoon_upgrade-2.0.0/frontend/src/app/api/coder-chat/route.ts +69 -0
  157. fagoon_upgrade-2.0.0/frontend/src/app/api/execute-code/route.ts +255 -0
  158. fagoon_upgrade-2.0.0/frontend/src/app/api/login/route.ts +32 -0
  159. fagoon_upgrade-2.0.0/frontend/src/app/api/logout/route.ts +23 -0
  160. fagoon_upgrade-2.0.0/frontend/src/app/api/news-api/route.ts +30 -0
  161. fagoon_upgrade-2.0.0/frontend/src/app/api/sandbox/route.ts +69 -0
  162. fagoon_upgrade-2.0.0/frontend/src/app/api/text-to-speech/route.ts +46 -0
  163. fagoon_upgrade-2.0.0/frontend/src/app/api/transcribe/route.ts +47 -0
  164. fagoon_upgrade-2.0.0/frontend/src/app/api/vertex/generate/route.ts +45 -0
  165. fagoon_upgrade-2.0.0/frontend/src/app/api/weather/route.ts +39 -0
  166. fagoon_upgrade-2.0.0/frontend/src/app/api/workflow/execute/route.ts +28 -0
  167. fagoon_upgrade-2.0.0/frontend/src/app/api/workflow/execute-api/route.ts +45 -0
  168. fagoon_upgrade-2.0.0/frontend/src/app/api/workflow/get-file-url/route.ts +30 -0
  169. fagoon_upgrade-2.0.0/frontend/src/app/api/workflow/schedule/route.ts +42 -0
  170. fagoon_upgrade-2.0.0/frontend/src/app/api/workflow/upload-to-gcp/route.ts +40 -0
  171. fagoon_upgrade-2.0.0/frontend/src/app/auth/profile/page.tsx +400 -0
  172. fagoon_upgrade-2.0.0/frontend/src/app/checkout/page.tsx +328 -0
  173. fagoon_upgrade-2.0.0/frontend/src/app/coder/globals.css +69 -0
  174. fagoon_upgrade-2.0.0/frontend/src/app/coder/page.tsx +226 -0
  175. fagoon_upgrade-2.0.0/frontend/src/app/coder/providers.tsx +27 -0
  176. fagoon_upgrade-2.0.0/frontend/src/app/deploy/page.tsx +360 -0
  177. fagoon_upgrade-2.0.0/frontend/src/app/explore/page.tsx +630 -0
  178. fagoon_upgrade-2.0.0/frontend/src/app/favicon.ico +0 -0
  179. fagoon_upgrade-2.0.0/frontend/src/app/fonts/GeistMonoVF.woff +0 -0
  180. fagoon_upgrade-2.0.0/frontend/src/app/fonts/GeistVF.woff +0 -0
  181. fagoon_upgrade-2.0.0/frontend/src/app/forgot/page.tsx +125 -0
  182. fagoon_upgrade-2.0.0/frontend/src/app/globals.css +539 -0
  183. fagoon_upgrade-2.0.0/frontend/src/app/head.tsx +7 -0
  184. fagoon_upgrade-2.0.0/frontend/src/app/knowledge-base/page.tsx +255 -0
  185. fagoon_upgrade-2.0.0/frontend/src/app/layout.tsx +79 -0
  186. fagoon_upgrade-2.0.0/frontend/src/app/loading.tsx +11 -0
  187. fagoon_upgrade-2.0.0/frontend/src/app/login/page.tsx +223 -0
  188. fagoon_upgrade-2.0.0/frontend/src/app/manage-models/ManageModelsClient.tsx +75 -0
  189. fagoon_upgrade-2.0.0/frontend/src/app/manage-models/page.tsx +5 -0
  190. fagoon_upgrade-2.0.0/frontend/src/app/marketplace/page.tsx +360 -0
  191. fagoon_upgrade-2.0.0/frontend/src/app/new-chat/page.tsx +211 -0
  192. fagoon_upgrade-2.0.0/frontend/src/app/page.tsx +35 -0
  193. fagoon_upgrade-2.0.0/frontend/src/app/payment-failure/page.tsx +93 -0
  194. fagoon_upgrade-2.0.0/frontend/src/app/payment-success/[CHECKOUT_SESSION_ID]/page.tsx +205 -0
  195. fagoon_upgrade-2.0.0/frontend/src/app/pricing/components/pricing-card.tsx +74 -0
  196. fagoon_upgrade-2.0.0/frontend/src/app/pricing/page.tsx +90 -0
  197. fagoon_upgrade-2.0.0/frontend/src/app/privacy-policy/page.tsx +5 -0
  198. fagoon_upgrade-2.0.0/frontend/src/app/profile/[id]/page.tsx +43 -0
  199. fagoon_upgrade-2.0.0/frontend/src/app/profile/api-key-dialog.tsx +66 -0
  200. fagoon_upgrade-2.0.0/frontend/src/app/profile/page.tsx +502 -0
  201. fagoon_upgrade-2.0.0/frontend/src/app/resetPassword/[resetId]/page.tsx +418 -0
  202. fagoon_upgrade-2.0.0/frontend/src/app/signup/page.tsx +306 -0
  203. fagoon_upgrade-2.0.0/frontend/src/app/splash-screen/page.tsx +210 -0
  204. fagoon_upgrade-2.0.0/frontend/src/app/subscribe/page.tsx +12 -0
  205. fagoon_upgrade-2.0.0/frontend/src/app/terms-and-conditions/page.tsx +5 -0
  206. fagoon_upgrade-2.0.0/frontend/src/app/test/page.tsx +32 -0
  207. fagoon_upgrade-2.0.0/frontend/src/app/verifyEmail/[verifyEmailId]/page.tsx +117 -0
  208. fagoon_upgrade-2.0.0/frontend/src/app/voice-chat/page.tsx +13 -0
  209. fagoon_upgrade-2.0.0/frontend/src/app/workflow/app/layout.tsx +12 -0
  210. fagoon_upgrade-2.0.0/frontend/src/app/workflow/app/page.tsx +587 -0
  211. fagoon_upgrade-2.0.0/frontend/src/app/workflow/new/page.tsx +449 -0
  212. fagoon_upgrade-2.0.0/frontend/src/app/workflow/page.tsx +32 -0
  213. fagoon_upgrade-2.0.0/frontend/src/components/BaseDomain.ts +25 -0
  214. fagoon_upgrade-2.0.0/frontend/src/components/ChatInterface.tsx +587 -0
  215. fagoon_upgrade-2.0.0/frontend/src/components/Controls.tsx +90 -0
  216. fagoon_upgrade-2.0.0/frontend/src/components/Expressions.tsx +70 -0
  217. fagoon_upgrade-2.0.0/frontend/src/components/FuturisticSubscription.tsx +296 -0
  218. fagoon_upgrade-2.0.0/frontend/src/components/GradientBackground.tsx +15 -0
  219. fagoon_upgrade-2.0.0/frontend/src/components/Messages.tsx +72 -0
  220. fagoon_upgrade-2.0.0/frontend/src/components/MicFFT.tsx +45 -0
  221. fagoon_upgrade-2.0.0/frontend/src/components/PolicyPages.tsx +273 -0
  222. fagoon_upgrade-2.0.0/frontend/src/components/Sidebar.tsx +332 -0
  223. fagoon_upgrade-2.0.0/frontend/src/components/Skeleton.tsx +52 -0
  224. fagoon_upgrade-2.0.0/frontend/src/components/StartCall.tsx +55 -0
  225. fagoon_upgrade-2.0.0/frontend/src/components/ThemeToggle.tsx +33 -0
  226. fagoon_upgrade-2.0.0/frontend/src/components/VoiceChat.tsx +52 -0
  227. fagoon_upgrade-2.0.0/frontend/src/components/WeatherWidget.tsx +183 -0
  228. fagoon_upgrade-2.0.0/frontend/src/components/archive-chat-voice/AudioWaveForm.tsx +19 -0
  229. fagoon_upgrade-2.0.0/frontend/src/components/archive-chat-voice/ChatEvaluation.tsx +174 -0
  230. fagoon_upgrade-2.0.0/frontend/src/components/archive-chat-voice/CommandPalette.tsx +113 -0
  231. fagoon_upgrade-2.0.0/frontend/src/components/archive-chat-voice/Message.tsx +84 -0
  232. fagoon_upgrade-2.0.0/frontend/src/components/archive-chat-voice/SoundWave.tsx +44 -0
  233. fagoon_upgrade-2.0.0/frontend/src/components/archive-chat-voice/TypingIndicator.tsx +52 -0
  234. fagoon_upgrade-2.0.0/frontend/src/components/archive-chat-voice/buttonHume.tsx +56 -0
  235. fagoon_upgrade-2.0.0/frontend/src/components/archive-chat-voice/chatBubble.tsx +19 -0
  236. fagoon_upgrade-2.0.0/frontend/src/components/chat/ChatArea.tsx +120 -0
  237. fagoon_upgrade-2.0.0/frontend/src/components/chat/ChatDropdown.tsx +114 -0
  238. fagoon_upgrade-2.0.0/frontend/src/components/chat/FilePreview.tsx +50 -0
  239. fagoon_upgrade-2.0.0/frontend/src/components/chat/WelcomeScreen.tsx +107 -0
  240. fagoon_upgrade-2.0.0/frontend/src/components/chat/chat-input.tsx +167 -0
  241. fagoon_upgrade-2.0.0/frontend/src/components/chat/chat-message.tsx +320 -0
  242. fagoon_upgrade-2.0.0/frontend/src/components/chat/modalSelector.tsx +84 -0
  243. fagoon_upgrade-2.0.0/frontend/src/components/coder/CodeOutput.tsx +102 -0
  244. fagoon_upgrade-2.0.0/frontend/src/components/coder/TerminalInput.tsx +162 -0
  245. fagoon_upgrade-2.0.0/frontend/src/components/coder/components/auth-form.tsx +72 -0
  246. fagoon_upgrade-2.0.0/frontend/src/components/coder/components/code-theme.css +169 -0
  247. fagoon_upgrade-2.0.0/frontend/src/components/coder/components/code-view.tsx +30 -0
  248. fagoon_upgrade-2.0.0/frontend/src/components/coder/components/deploy-dialog.tsx +127 -0
  249. fagoon_upgrade-2.0.0/frontend/src/components/coder/components/fragment-code.tsx +92 -0
  250. fagoon_upgrade-2.0.0/frontend/src/components/coder/components/fragment-interpreter.tsx +86 -0
  251. fagoon_upgrade-2.0.0/frontend/src/components/coder/components/fragment-preview.tsx +13 -0
  252. fagoon_upgrade-2.0.0/frontend/src/components/coder/components/fragment-web.tsx +65 -0
  253. fagoon_upgrade-2.0.0/frontend/src/components/coder/components/icons.tsx +16 -0
  254. fagoon_upgrade-2.0.0/frontend/src/components/coder/components/logo.tsx +34 -0
  255. fagoon_upgrade-2.0.0/frontend/src/components/coder/components/repo-banner.tsx +45 -0
  256. fagoon_upgrade-2.0.0/frontend/src/components/coder/components/ui/avatar.tsx +50 -0
  257. fagoon_upgrade-2.0.0/frontend/src/components/coder/components/ui/button.tsx +56 -0
  258. fagoon_upgrade-2.0.0/frontend/src/components/coder/components/ui/copy-button.tsx +37 -0
  259. fagoon_upgrade-2.0.0/frontend/src/components/coder/components/ui/dropdown-menu.tsx +205 -0
  260. fagoon_upgrade-2.0.0/frontend/src/components/coder/components/ui/input.tsx +25 -0
  261. fagoon_upgrade-2.0.0/frontend/src/components/coder/components/ui/label.tsx +26 -0
  262. fagoon_upgrade-2.0.0/frontend/src/components/coder/components/ui/select.tsx +164 -0
  263. fagoon_upgrade-2.0.0/frontend/src/components/coder/components/ui/separator.tsx +31 -0
  264. fagoon_upgrade-2.0.0/frontend/src/components/coder/components/ui/textarea.tsx +24 -0
  265. fagoon_upgrade-2.0.0/frontend/src/components/coder/components/ui/theme-toggle.tsx +42 -0
  266. fagoon_upgrade-2.0.0/frontend/src/components/coder/components/ui/tooltip.tsx +30 -0
  267. fagoon_upgrade-2.0.0/frontend/src/components/common/DeleteModal.tsx +85 -0
  268. fagoon_upgrade-2.0.0/frontend/src/components/common/NovaMiniChat.tsx +318 -0
  269. fagoon_upgrade-2.0.0/frontend/src/components/common/PoweredBy.tsx +17 -0
  270. fagoon_upgrade-2.0.0/frontend/src/components/dashboard/DashboardFlow.tsx +53 -0
  271. fagoon_upgrade-2.0.0/frontend/src/components/manage-models/AddModelModal.tsx +426 -0
  272. fagoon_upgrade-2.0.0/frontend/src/components/manage-models/ModelList.tsx +137 -0
  273. fagoon_upgrade-2.0.0/frontend/src/components/providers/QueryProvider.tsx +21 -0
  274. fagoon_upgrade-2.0.0/frontend/src/components/sidebar/AgentDropdown.tsx +206 -0
  275. fagoon_upgrade-2.0.0/frontend/src/components/sidebar/node-sidebar.tsx +354 -0
  276. fagoon_upgrade-2.0.0/frontend/src/components/theme-provider.tsx +9 -0
  277. fagoon_upgrade-2.0.0/frontend/src/components/ui/alert-dialog.tsx +141 -0
  278. fagoon_upgrade-2.0.0/frontend/src/components/ui/alert.tsx +59 -0
  279. fagoon_upgrade-2.0.0/frontend/src/components/ui/badge.tsx +36 -0
  280. fagoon_upgrade-2.0.0/frontend/src/components/ui/button.tsx +69 -0
  281. fagoon_upgrade-2.0.0/frontend/src/components/ui/calendar.tsx +76 -0
  282. fagoon_upgrade-2.0.0/frontend/src/components/ui/card.tsx +76 -0
  283. fagoon_upgrade-2.0.0/frontend/src/components/ui/collapsible.tsx +11 -0
  284. fagoon_upgrade-2.0.0/frontend/src/components/ui/date-time-picker.tsx +147 -0
  285. fagoon_upgrade-2.0.0/frontend/src/components/ui/dialog.tsx +121 -0
  286. fagoon_upgrade-2.0.0/frontend/src/components/ui/dropdown-menu.tsx +200 -0
  287. fagoon_upgrade-2.0.0/frontend/src/components/ui/input.tsx +80 -0
  288. fagoon_upgrade-2.0.0/frontend/src/components/ui/label.tsx +26 -0
  289. fagoon_upgrade-2.0.0/frontend/src/components/ui/loader.tsx +42 -0
  290. fagoon_upgrade-2.0.0/frontend/src/components/ui/popover.tsx +31 -0
  291. fagoon_upgrade-2.0.0/frontend/src/components/ui/scroll-area.tsx +48 -0
  292. fagoon_upgrade-2.0.0/frontend/src/components/ui/select.tsx +158 -0
  293. fagoon_upgrade-2.0.0/frontend/src/components/ui/separator.tsx +31 -0
  294. fagoon_upgrade-2.0.0/frontend/src/components/ui/sheet.tsx +139 -0
  295. fagoon_upgrade-2.0.0/frontend/src/components/ui/sidebar.tsx +772 -0
  296. fagoon_upgrade-2.0.0/frontend/src/components/ui/skeleton.tsx +15 -0
  297. fagoon_upgrade-2.0.0/frontend/src/components/ui/slider.tsx +28 -0
  298. fagoon_upgrade-2.0.0/frontend/src/components/ui/switch.tsx +61 -0
  299. fagoon_upgrade-2.0.0/frontend/src/components/ui/table.tsx +117 -0
  300. fagoon_upgrade-2.0.0/frontend/src/components/ui/tabs.tsx +55 -0
  301. fagoon_upgrade-2.0.0/frontend/src/components/ui/textarea.tsx +33 -0
  302. fagoon_upgrade-2.0.0/frontend/src/components/ui/toggle.tsx +45 -0
  303. fagoon_upgrade-2.0.0/frontend/src/components/ui/tooltip.tsx +32 -0
  304. fagoon_upgrade-2.0.0/frontend/src/components/workflow/api-settings-dialog.tsx +323 -0
  305. fagoon_upgrade-2.0.0/frontend/src/components/workflow/custom-node.tsx +209 -0
  306. fagoon_upgrade-2.0.0/frontend/src/components/workflow/dashboard/execution-logs.tsx +180 -0
  307. fagoon_upgrade-2.0.0/frontend/src/components/workflow/dashboard/schedule-dialog.tsx +65 -0
  308. fagoon_upgrade-2.0.0/frontend/src/components/workflow/dashboard/workflow-dashboard.tsx +233 -0
  309. fagoon_upgrade-2.0.0/frontend/src/components/workflow/edge-settings-panel.tsx +209 -0
  310. fagoon_upgrade-2.0.0/frontend/src/components/workflow/execution-panel.tsx +223 -0
  311. fagoon_upgrade-2.0.0/frontend/src/components/workflow/load-workflow-dialog.tsx +108 -0
  312. fagoon_upgrade-2.0.0/frontend/src/components/workflow/model-selector.tsx +76 -0
  313. fagoon_upgrade-2.0.0/frontend/src/components/workflow/save-workflow-dialog.tsx +71 -0
  314. fagoon_upgrade-2.0.0/frontend/src/components/workflow/settings-panel.tsx +488 -0
  315. fagoon_upgrade-2.0.0/frontend/src/contexts/SelectedModelContext.tsx +41 -0
  316. fagoon_upgrade-2.0.0/frontend/src/contexts/TokenContext.tsx +32 -0
  317. fagoon_upgrade-2.0.0/frontend/src/hooks/use-mobile.tsx +19 -0
  318. fagoon_upgrade-2.0.0/frontend/src/hooks/use-toast.ts +194 -0
  319. fagoon_upgrade-2.0.0/frontend/src/hooks/useApi.ts +67 -0
  320. fagoon_upgrade-2.0.0/frontend/src/hooks/useAudioRecording.ts +173 -0
  321. fagoon_upgrade-2.0.0/frontend/src/hooks/useFileUpload.ts +105 -0
  322. fagoon_upgrade-2.0.0/frontend/src/hooks/useSpeakingRecognition.ts +68 -0
  323. fagoon_upgrade-2.0.0/frontend/src/hooks/useUser.ts +21 -0
  324. fagoon_upgrade-2.0.0/frontend/src/hooks/useWhatsAppSession.ts +133 -0
  325. fagoon_upgrade-2.0.0/frontend/src/lib/api/agent/index.ts +61 -0
  326. fagoon_upgrade-2.0.0/frontend/src/lib/api/auth/index.ts +37 -0
  327. fagoon_upgrade-2.0.0/frontend/src/lib/api/axios.ts +56 -0
  328. fagoon_upgrade-2.0.0/frontend/src/lib/api/chat/index.ts +115 -0
  329. fagoon_upgrade-2.0.0/frontend/src/lib/api/coder/index.ts +45 -0
  330. fagoon_upgrade-2.0.0/frontend/src/lib/api/models/index.ts +33 -0
  331. fagoon_upgrade-2.0.0/frontend/src/lib/api/upload/index.ts +46 -0
  332. fagoon_upgrade-2.0.0/frontend/src/lib/api/user/index.ts +27 -0
  333. fagoon_upgrade-2.0.0/frontend/src/lib/api/workflow/index.ts +203 -0
  334. fagoon_upgrade-2.0.0/frontend/src/lib/cloud-scheduler.ts +86 -0
  335. fagoon_upgrade-2.0.0/frontend/src/lib/hooks/use-undo-redo.ts +154 -0
  336. fagoon_upgrade-2.0.0/frontend/src/lib/hooks/useWebSocket.tsx +81 -0
  337. fagoon_upgrade-2.0.0/frontend/src/lib/libs/auth.ts +125 -0
  338. fagoon_upgrade-2.0.0/frontend/src/lib/libs/duration.ts +38 -0
  339. fagoon_upgrade-2.0.0/frontend/src/lib/libs/markdown.ts +38 -0
  340. fagoon_upgrade-2.0.0/frontend/src/lib/libs/messages.ts +76 -0
  341. fagoon_upgrade-2.0.0/frontend/src/lib/libs/models.json +241 -0
  342. fagoon_upgrade-2.0.0/frontend/src/lib/libs/models.ts +92 -0
  343. fagoon_upgrade-2.0.0/frontend/src/lib/libs/prompt.ts +15 -0
  344. fagoon_upgrade-2.0.0/frontend/src/lib/libs/ratelimit.ts +28 -0
  345. fagoon_upgrade-2.0.0/frontend/src/lib/libs/schema.ts +26 -0
  346. fagoon_upgrade-2.0.0/frontend/src/lib/libs/supabase.ts +8 -0
  347. fagoon_upgrade-2.0.0/frontend/src/lib/libs/templates.json +53 -0
  348. fagoon_upgrade-2.0.0/frontend/src/lib/libs/templates.ts +10 -0
  349. fagoon_upgrade-2.0.0/frontend/src/lib/libs/types.ts +21 -0
  350. fagoon_upgrade-2.0.0/frontend/src/lib/libs/utils.ts +15 -0
  351. fagoon_upgrade-2.0.0/frontend/src/lib/schema.ts +26 -0
  352. fagoon_upgrade-2.0.0/frontend/src/lib/schemas/agent.ts +33 -0
  353. fagoon_upgrade-2.0.0/frontend/src/lib/schemas/auth.ts +31 -0
  354. fagoon_upgrade-2.0.0/frontend/src/lib/schemas/chat.ts +27 -0
  355. fagoon_upgrade-2.0.0/frontend/src/lib/schemas/index.ts +4 -0
  356. fagoon_upgrade-2.0.0/frontend/src/lib/schemas/model.ts +44 -0
  357. fagoon_upgrade-2.0.0/frontend/src/lib/schemas/user.ts +33 -0
  358. fagoon_upgrade-2.0.0/frontend/src/lib/schemas/workflow.ts +56 -0
  359. fagoon_upgrade-2.0.0/frontend/src/lib/services/weather/cache.ts +30 -0
  360. fagoon_upgrade-2.0.0/frontend/src/lib/services/weather/config.ts +11 -0
  361. fagoon_upgrade-2.0.0/frontend/src/lib/services/weather/schemas.ts +33 -0
  362. fagoon_upgrade-2.0.0/frontend/src/lib/services/weather/types.ts +24 -0
  363. fagoon_upgrade-2.0.0/frontend/src/lib/services/weather/weatherService.ts +87 -0
  364. fagoon_upgrade-2.0.0/frontend/src/lib/services/workflow-executor.ts +140 -0
  365. fagoon_upgrade-2.0.0/frontend/src/lib/storage/bucket-key.json +13 -0
  366. fagoon_upgrade-2.0.0/frontend/src/lib/storage/file.ts +30 -0
  367. fagoon_upgrade-2.0.0/frontend/src/lib/store/user.ts +194 -0
  368. fagoon_upgrade-2.0.0/frontend/src/lib/store/workflow.ts +895 -0
  369. fagoon_upgrade-2.0.0/frontend/src/lib/types/coder.ts +21 -0
  370. fagoon_upgrade-2.0.0/frontend/src/lib/types/execution/execution.ts +45 -0
  371. fagoon_upgrade-2.0.0/frontend/src/lib/types/execution/google-execution.ts +321 -0
  372. fagoon_upgrade-2.0.0/frontend/src/lib/types/execution/imagegen-execution.ts +146 -0
  373. fagoon_upgrade-2.0.0/frontend/src/lib/types/execution/input-execution.ts +100 -0
  374. fagoon_upgrade-2.0.0/frontend/src/lib/types/execution/language-execution.ts +402 -0
  375. fagoon_upgrade-2.0.0/frontend/src/lib/types/execution/utils-execution.ts +38 -0
  376. fagoon_upgrade-2.0.0/frontend/src/lib/types/execution/voicesynthesis.ts +110 -0
  377. fagoon_upgrade-2.0.0/frontend/src/lib/types/nodes/google-nodes.ts +313 -0
  378. fagoon_upgrade-2.0.0/frontend/src/lib/types/nodes/imagegen-nodes.ts +334 -0
  379. fagoon_upgrade-2.0.0/frontend/src/lib/types/nodes/input-nodes.ts +209 -0
  380. fagoon_upgrade-2.0.0/frontend/src/lib/types/nodes/language-nodes.ts +364 -0
  381. fagoon_upgrade-2.0.0/frontend/src/lib/types/nodes/nodes.ts +131 -0
  382. fagoon_upgrade-2.0.0/frontend/src/lib/types/nodes/utils-node.ts +30 -0
  383. fagoon_upgrade-2.0.0/frontend/src/lib/types/nodes/voicesynthesis-nodes.ts +242 -0
  384. fagoon_upgrade-2.0.0/frontend/src/lib/types/templates.json +74 -0
  385. fagoon_upgrade-2.0.0/frontend/src/lib/types/templates.ts +10 -0
  386. fagoon_upgrade-2.0.0/frontend/src/lib/types/workflow.ts +181 -0
  387. fagoon_upgrade-2.0.0/frontend/src/lib/utils.ts +6 -0
  388. fagoon_upgrade-2.0.0/frontend/src/proxy.ts +57 -0
  389. fagoon_upgrade-2.0.0/frontend/src/sandbox-templates/gradio-developer/app.py +13 -0
  390. fagoon_upgrade-2.0.0/frontend/src/sandbox-templates/gradio-developer/e2b.Dockerfile +8 -0
  391. fagoon_upgrade-2.0.0/frontend/src/sandbox-templates/gradio-developer/e2b.toml +18 -0
  392. fagoon_upgrade-2.0.0/frontend/src/sandbox-templates/nextjs-developer/_app.tsx +23 -0
  393. fagoon_upgrade-2.0.0/frontend/src/sandbox-templates/nextjs-developer/compile_page.sh +22 -0
  394. fagoon_upgrade-2.0.0/frontend/src/sandbox-templates/nextjs-developer/e2b.Dockerfile +21 -0
  395. fagoon_upgrade-2.0.0/frontend/src/sandbox-templates/nextjs-developer/e2b.toml +18 -0
  396. fagoon_upgrade-2.0.0/frontend/src/sandbox-templates/streamlit-developer/app.py +5 -0
  397. fagoon_upgrade-2.0.0/frontend/src/sandbox-templates/streamlit-developer/e2b.Dockerfile +8 -0
  398. fagoon_upgrade-2.0.0/frontend/src/sandbox-templates/streamlit-developer/e2b.toml +19 -0
  399. fagoon_upgrade-2.0.0/frontend/src/sandbox-templates/vue-developer/e2b.Dockerfile +12 -0
  400. fagoon_upgrade-2.0.0/frontend/src/sandbox-templates/vue-developer/e2b.toml +16 -0
  401. fagoon_upgrade-2.0.0/frontend/src/sandbox-templates/vue-developer/nuxt.config.ts +14 -0
  402. fagoon_upgrade-2.0.0/frontend/src/types/agent.ts +35 -0
  403. fagoon_upgrade-2.0.0/frontend/src/types/api.ts +28 -0
  404. fagoon_upgrade-2.0.0/frontend/src/types/chat.ts +138 -0
  405. fagoon_upgrade-2.0.0/frontend/src/types/markdown.ts +29 -0
  406. fagoon_upgrade-2.0.0/frontend/src/types/model.ts +0 -0
  407. fagoon_upgrade-2.0.0/frontend/src/utils/api/api.ts +38 -0
  408. fagoon_upgrade-2.0.0/frontend/src/utils/api/getUserDatafromCookie.ts +22 -0
  409. fagoon_upgrade-2.0.0/frontend/src/utils/api/user.ts +67 -0
  410. fagoon_upgrade-2.0.0/frontend/src/utils/audio/audio.ts +110 -0
  411. fagoon_upgrade-2.0.0/frontend/src/utils/audio/audioProcessing.ts +35 -0
  412. fagoon_upgrade-2.0.0/frontend/src/utils/audio/expressionColors.ts +63 -0
  413. fagoon_upgrade-2.0.0/frontend/src/utils/audio/expressionLabels.ts +57 -0
  414. fagoon_upgrade-2.0.0/frontend/src/utils/audio/getHumeAccessToken.ts +16 -0
  415. fagoon_upgrade-2.0.0/frontend/src/utils/data/date.ts +57 -0
  416. fagoon_upgrade-2.0.0/frontend/src/utils/data/errors.ts +15 -0
  417. fagoon_upgrade-2.0.0/frontend/src/utils/data/formatters.ts +7 -0
  418. fagoon_upgrade-2.0.0/frontend/src/utils/data/logger.ts +37 -0
  419. fagoon_upgrade-2.0.0/frontend/src/utils/data/stream.ts +28 -0
  420. fagoon_upgrade-2.0.0/frontend/src/utils/files/fileProcessing.ts +179 -0
  421. fagoon_upgrade-2.0.0/frontend/src/utils/files/fileValidation.ts +120 -0
  422. fagoon_upgrade-2.0.0/frontend/src/utils/files/imageCompression.ts +80 -0
  423. fagoon_upgrade-2.0.0/frontend/src/utils/index.ts +6 -0
  424. fagoon_upgrade-2.0.0/frontend/src/utils/toast.tsx +49 -0
  425. fagoon_upgrade-2.0.0/frontend/tailwind.config.ts +182 -0
  426. fagoon_upgrade-2.0.0/frontend/test-advanced-workflow.ts +78 -0
  427. fagoon_upgrade-2.0.0/frontend/test-store.js +1 -0
  428. fagoon_upgrade-2.0.0/frontend/tsconfig.json +41 -0
  429. fagoon_upgrade-2.0.0/generate_report_charts.py +109 -0
  430. fagoon_upgrade-2.0.0/migrations/README.md +28 -0
  431. fagoon_upgrade-2.0.0/migrations/sql/20260610_create_llm_model_configs.sql +43 -0
  432. fagoon_upgrade-2.0.0/patch_frontend.py +17 -0
  433. fagoon_upgrade-2.0.0/patch_frontend_workflows.py +34 -0
  434. fagoon_upgrade-2.0.0/payload.json +1 -0
  435. fagoon_upgrade-2.0.0/profitability_comparison.png +0 -0
  436. fagoon_upgrade-2.0.0/pyproject.toml +104 -0
  437. fagoon_upgrade-2.0.0/report.md +96 -0
  438. fagoon_upgrade-2.0.0/scripts/add_token_column.py +36 -0
  439. fagoon_upgrade-2.0.0/scripts/auto_setup_user.py +54 -0
  440. fagoon_upgrade-2.0.0/scripts/environment.sh +21 -0
  441. fagoon_upgrade-2.0.0/scripts/guard_imports.sh +19 -0
  442. fagoon_upgrade-2.0.0/scripts/run.sh +47 -0
  443. fagoon_upgrade-2.0.0/scripts/setup_chris_user.py +50 -0
  444. fagoon_upgrade-2.0.0/scripts/setup_local_model.ps1 +21 -0
  445. fagoon_upgrade-2.0.0/scripts/setup_local_model.sh +19 -0
  446. fagoon_upgrade-2.0.0/scripts/setup_postgresql.ps1 +135 -0
  447. fagoon_upgrade-2.0.0/scripts/setup_postgresql.sh +119 -0
  448. fagoon_upgrade-2.0.0/scripts/test_dynamic_discovery.py +37 -0
  449. fagoon_upgrade-2.0.0/scripts/test_fallback.py +27 -0
  450. fagoon_upgrade-2.0.0/scripts/test_gemini_api_key.py +90 -0
  451. fagoon_upgrade-2.0.0/src/__init__.py +0 -0
  452. fagoon_upgrade-2.0.0/src/agents/__init__.py +0 -0
  453. fagoon_upgrade-2.0.0/src/agents/agent_manager.py +192 -0
  454. fagoon_upgrade-2.0.0/src/api/__init__.py +0 -0
  455. fagoon_upgrade-2.0.0/src/api/custom_middleware.py +320 -0
  456. fagoon_upgrade-2.0.0/src/api/logging_config.py +63 -0
  457. fagoon_upgrade-2.0.0/src/api/middleware/__init__.py +1 -0
  458. fagoon_upgrade-2.0.0/src/api/middleware/rate_limit.py +531 -0
  459. fagoon_upgrade-2.0.0/src/api/setup_api.py +194 -0
  460. fagoon_upgrade-2.0.0/src/api/v1/__init__.py +0 -0
  461. fagoon_upgrade-2.0.0/src/api/v1/routers/__init__.py +0 -0
  462. fagoon_upgrade-2.0.0/src/api/v1/routers/agents/__init__.py +0 -0
  463. fagoon_upgrade-2.0.0/src/api/v1/routers/agents/agent_chat.py +295 -0
  464. fagoon_upgrade-2.0.0/src/api/v1/routers/agents/agents_router.py +460 -0
  465. fagoon_upgrade-2.0.0/src/api/v1/routers/agents/modelcard_router.py +54 -0
  466. fagoon_upgrade-2.0.0/src/api/v1/routers/authentication/__init__.py +0 -0
  467. fagoon_upgrade-2.0.0/src/api/v1/routers/authentication/auth_router.py +188 -0
  468. fagoon_upgrade-2.0.0/src/api/v1/routers/authentication/preferences_router.py +37 -0
  469. fagoon_upgrade-2.0.0/src/api/v1/routers/authentication/user_router.py +110 -0
  470. fagoon_upgrade-2.0.0/src/api/v1/routers/database/__init__.py +1 -0
  471. fagoon_upgrade-2.0.0/src/api/v1/routers/database/db_switch.py +81 -0
  472. fagoon_upgrade-2.0.0/src/api/v1/routers/external/__init__.py +0 -0
  473. fagoon_upgrade-2.0.0/src/api/v1/routers/external/career_gateway_support_bot.py +67 -0
  474. fagoon_upgrade-2.0.0/src/api/v1/routers/external/rfm_support_bot.py +64 -0
  475. fagoon_upgrade-2.0.0/src/api/v1/routers/misc/__init__.py +0 -0
  476. fagoon_upgrade-2.0.0/src/api/v1/routers/misc/files_router.py +239 -0
  477. fagoon_upgrade-2.0.0/src/api/v1/routers/misc/setup_router.py +153 -0
  478. fagoon_upgrade-2.0.0/src/api/v1/routers/upgrade/__init__.py +0 -0
  479. fagoon_upgrade-2.0.0/src/api/v1/routers/upgrade/chat.py +368 -0
  480. fagoon_upgrade-2.0.0/src/api/v1/routers/upgrade/support_bot.py +64 -0
  481. fagoon_upgrade-2.0.0/src/api/v1/routers/upgrade/upgrade_agents.py +57 -0
  482. fagoon_upgrade-2.0.0/src/api/v1/routers/vibe_coder/execution_routes.py +80 -0
  483. fagoon_upgrade-2.0.0/src/api/v1/routers/video_gen/__init__.py +0 -0
  484. fagoon_upgrade-2.0.0/src/api/v1/routers/video_gen/video_gen_routes.py +133 -0
  485. fagoon_upgrade-2.0.0/src/api/v1/routers/webhook_router.py +96 -0
  486. fagoon_upgrade-2.0.0/src/api/v1/routers/whatsapp.py +275 -0
  487. fagoon_upgrade-2.0.0/src/api/v1/routers/workflow/__init__.py +1 -0
  488. fagoon_upgrade-2.0.0/src/api/v1/routers/workflow/auth.py +390 -0
  489. fagoon_upgrade-2.0.0/src/api/v1/routers/workflow/connections.py +718 -0
  490. fagoon_upgrade-2.0.0/src/api/v1/routers/workflow/deps.py +428 -0
  491. fagoon_upgrade-2.0.0/src/api/v1/routers/workflow/discovery.py +348 -0
  492. fagoon_upgrade-2.0.0/src/api/v1/routers/workflow/executions.py +1099 -0
  493. fagoon_upgrade-2.0.0/src/api/v1/routers/workflow/hooks.py +465 -0
  494. fagoon_upgrade-2.0.0/src/api/v1/routers/workflow/image_generation.py +57 -0
  495. fagoon_upgrade-2.0.0/src/api/v1/routers/workflow/llm.py +81 -0
  496. fagoon_upgrade-2.0.0/src/api/v1/routers/workflow/nodes.py +691 -0
  497. fagoon_upgrade-2.0.0/src/api/v1/routers/workflow/schedules.py +718 -0
  498. fagoon_upgrade-2.0.0/src/api/v1/routers/workflow/speech_to_text.py +83 -0
  499. fagoon_upgrade-2.0.0/src/api/v1/routers/workflow/streams.py +582 -0
  500. fagoon_upgrade-2.0.0/src/api/v1/routers/workflow/templates.py +970 -0
  501. fagoon_upgrade-2.0.0/src/api/v1/routers/workflow/text_to_speech.py +98 -0
  502. fagoon_upgrade-2.0.0/src/api/v1/routers/workflow/text_to_video.py +32 -0
  503. fagoon_upgrade-2.0.0/src/api/v1/routers/workflow/usage.py +525 -0
  504. fagoon_upgrade-2.0.0/src/api/v1/routers/workflow/variables.py +689 -0
  505. fagoon_upgrade-2.0.0/src/api/v1/routers/workflow/web_loader.py +54 -0
  506. fagoon_upgrade-2.0.0/src/api/v1/routers/workflow/workflow_api.py +316 -0
  507. fagoon_upgrade-2.0.0/src/api/v1/routers/workflow/workflow_templates.py +563 -0
  508. fagoon_upgrade-2.0.0/src/api/v1/routers/workflow/workflows.py +652 -0
  509. fagoon_upgrade-2.0.0/src/api/v1/routers/workspace/__init__.py +0 -0
  510. fagoon_upgrade-2.0.0/src/api/v1/routers/workspace/ai.py +37 -0
  511. fagoon_upgrade-2.0.0/src/api/v1/routers/workspace/deps.py +86 -0
  512. fagoon_upgrade-2.0.0/src/api/v1/routers/workspace/docs.py +168 -0
  513. fagoon_upgrade-2.0.0/src/api/v1/routers/workspace/drive.py +222 -0
  514. fagoon_upgrade-2.0.0/src/api/v1/routers/workspace/gmail.py +278 -0
  515. fagoon_upgrade-2.0.0/src/api/v1/routers/workspace/google_auth.py +178 -0
  516. fagoon_upgrade-2.0.0/src/api/v1/routers/workspace/llm_models.py +168 -0
  517. fagoon_upgrade-2.0.0/src/cloud/__init__.py +0 -0
  518. fagoon_upgrade-2.0.0/src/cloud/google_storage.py +180 -0
  519. fagoon_upgrade-2.0.0/src/constants.py +42 -0
  520. fagoon_upgrade-2.0.0/src/core/__init__.py +0 -0
  521. fagoon_upgrade-2.0.0/src/core/bootstrap.py +61 -0
  522. fagoon_upgrade-2.0.0/src/core/celery_app.py +301 -0
  523. fagoon_upgrade-2.0.0/src/core/config.py +4 -0
  524. fagoon_upgrade-2.0.0/src/core/database/__init__.py +36 -0
  525. fagoon_upgrade-2.0.0/src/core/database/postgres.py +39 -0
  526. fagoon_upgrade-2.0.0/src/core/encryption.py +198 -0
  527. fagoon_upgrade-2.0.0/src/core/exceptions.py +22 -0
  528. fagoon_upgrade-2.0.0/src/core/file_handler/__init__.py +0 -0
  529. fagoon_upgrade-2.0.0/src/core/file_handler/pdf.py +79 -0
  530. fagoon_upgrade-2.0.0/src/core/globals.py +33 -0
  531. fagoon_upgrade-2.0.0/src/core/handler/__init__.py +0 -0
  532. fagoon_upgrade-2.0.0/src/core/handler/email_handler.py +87 -0
  533. fagoon_upgrade-2.0.0/src/core/rate_limiter.py +789 -0
  534. fagoon_upgrade-2.0.0/src/core/redis.py +457 -0
  535. fagoon_upgrade-2.0.0/src/core/runtime.py +166 -0
  536. fagoon_upgrade-2.0.0/src/core/sandbox.py +980 -0
  537. fagoon_upgrade-2.0.0/src/core/security.py +437 -0
  538. fagoon_upgrade-2.0.0/src/core/settings.py +335 -0
  539. fagoon_upgrade-2.0.0/src/core/task_processing/__init__.py +0 -0
  540. fagoon_upgrade-2.0.0/src/core/task_processing/celery_app.py +43 -0
  541. fagoon_upgrade-2.0.0/src/core/task_processing/celery_tasks.py +276 -0
  542. fagoon_upgrade-2.0.0/src/core/task_processing/celery_worker_setup.py +22 -0
  543. fagoon_upgrade-2.0.0/src/dao/__init__.py +1 -0
  544. fagoon_upgrade-2.0.0/src/dao/user_dao.py +652 -0
  545. fagoon_upgrade-2.0.0/src/dao/vibe_coder_dao.py +78 -0
  546. fagoon_upgrade-2.0.0/src/dao/workflow_dao.py +635 -0
  547. fagoon_upgrade-2.0.0/src/deep_research/__init__.py +0 -0
  548. fagoon_upgrade-2.0.0/src/deep_research/chat/__init__.py +1 -0
  549. fagoon_upgrade-2.0.0/src/deep_research/chat/chat.py +106 -0
  550. fagoon_upgrade-2.0.0/src/deep_research/pdf_styles.css +53 -0
  551. fagoon_upgrade-2.0.0/src/deep_research/report_type/__init__.py +7 -0
  552. fagoon_upgrade-2.0.0/src/deep_research/report_type/basic_report/__init__.py +0 -0
  553. fagoon_upgrade-2.0.0/src/deep_research/report_type/basic_report/basic_report.py +49 -0
  554. fagoon_upgrade-2.0.0/src/deep_research/report_type/deep_research/README.md +129 -0
  555. fagoon_upgrade-2.0.0/src/deep_research/report_type/deep_research/__init__.py +0 -0
  556. fagoon_upgrade-2.0.0/src/deep_research/report_type/deep_research/example.py +325 -0
  557. fagoon_upgrade-2.0.0/src/deep_research/report_type/deep_research/main.py +34 -0
  558. fagoon_upgrade-2.0.0/src/deep_research/report_type/detailed_report/README.md +12 -0
  559. fagoon_upgrade-2.0.0/src/deep_research/report_type/detailed_report/__init__.py +0 -0
  560. fagoon_upgrade-2.0.0/src/deep_research/report_type/detailed_report/detailed_report.py +148 -0
  561. fagoon_upgrade-2.0.0/src/deep_research/server/__init__.py +0 -0
  562. fagoon_upgrade-2.0.0/src/deep_research/server/server.py +113 -0
  563. fagoon_upgrade-2.0.0/src/deep_research/server/server_utils.py +220 -0
  564. fagoon_upgrade-2.0.0/src/deep_research/server/websocket_manager.py +226 -0
  565. fagoon_upgrade-2.0.0/src/deep_research/utils.py +92 -0
  566. fagoon_upgrade-2.0.0/src/diffusion/__init__.py +0 -0
  567. fagoon_upgrade-2.0.0/src/diffusion/base.py +23 -0
  568. fagoon_upgrade-2.0.0/src/diffusion/fal_ai.py +53 -0
  569. fagoon_upgrade-2.0.0/src/diffusion/gemini_imagen.py +64 -0
  570. fagoon_upgrade-2.0.0/src/diffusion/huggingface.py +45 -0
  571. fagoon_upgrade-2.0.0/src/diffusion/openai.py +50 -0
  572. fagoon_upgrade-2.0.0/src/embeddings/__init__.py +0 -0
  573. fagoon_upgrade-2.0.0/src/embeddings/base.py +54 -0
  574. fagoon_upgrade-2.0.0/src/embeddings/openai_embeddings.py +52 -0
  575. fagoon_upgrade-2.0.0/src/launch_server.py +236 -0
  576. fagoon_upgrade-2.0.0/src/llms/__init__.py +0 -0
  577. fagoon_upgrade-2.0.0/src/llms/anthropic_llm.py +116 -0
  578. fagoon_upgrade-2.0.0/src/llms/base.py +21 -0
  579. fagoon_upgrade-2.0.0/src/llms/gemini_llm.py +29 -0
  580. fagoon_upgrade-2.0.0/src/llms/groq_llm.py +82 -0
  581. fagoon_upgrade-2.0.0/src/llms/huggingface_llm.py +94 -0
  582. fagoon_upgrade-2.0.0/src/llms/ollama_llm.py +89 -0
  583. fagoon_upgrade-2.0.0/src/llms/openai_llm.py +126 -0
  584. fagoon_upgrade-2.0.0/src/loaders/__init__.py +0 -0
  585. fagoon_upgrade-2.0.0/src/loaders/pdf_loader.py +158 -0
  586. fagoon_upgrade-2.0.0/src/loaders/web_page.py +118 -0
  587. fagoon_upgrade-2.0.0/src/models/__init__.py +0 -0
  588. fagoon_upgrade-2.0.0/src/models/auth_models/__init__.py +0 -0
  589. fagoon_upgrade-2.0.0/src/models/auth_models/access_model.py +17 -0
  590. fagoon_upgrade-2.0.0/src/models/auth_models/user_model.py +272 -0
  591. fagoon_upgrade-2.0.0/src/models/base.py +17 -0
  592. fagoon_upgrade-2.0.0/src/models/diffusion.py +21 -0
  593. fagoon_upgrade-2.0.0/src/models/enum_config.py +42 -0
  594. fagoon_upgrade-2.0.0/src/models/error_codes.py +15 -0
  595. fagoon_upgrade-2.0.0/src/models/google_token.py +32 -0
  596. fagoon_upgrade-2.0.0/src/models/google_user.py +31 -0
  597. fagoon_upgrade-2.0.0/src/models/llm.py +35 -0
  598. fagoon_upgrade-2.0.0/src/models/sql/base.py +4 -0
  599. fagoon_upgrade-2.0.0/src/models/sql/models.py +225 -0
  600. fagoon_upgrade-2.0.0/src/models/sql/vibe_coder_models.py +111 -0
  601. fagoon_upgrade-2.0.0/src/models/sql/workflow/__init__.py +1 -0
  602. fagoon_upgrade-2.0.0/src/models/sql/workflow/connection.py +244 -0
  603. fagoon_upgrade-2.0.0/src/models/sql/workflow/document.py +289 -0
  604. fagoon_upgrade-2.0.0/src/models/sql/workflow/execution.py +434 -0
  605. fagoon_upgrade-2.0.0/src/models/sql/workflow/memory.py +388 -0
  606. fagoon_upgrade-2.0.0/src/models/sql/workflow/schedule.py +384 -0
  607. fagoon_upgrade-2.0.0/src/models/sql/workflow/template.py +250 -0
  608. fagoon_upgrade-2.0.0/src/models/sql/workflow/usage.py +188 -0
  609. fagoon_upgrade-2.0.0/src/models/sql/workflow/user.py +238 -0
  610. fagoon_upgrade-2.0.0/src/models/sql/workflow/version.py +218 -0
  611. fagoon_upgrade-2.0.0/src/models/sql/workflow/webhook.py +571 -0
  612. fagoon_upgrade-2.0.0/src/models/sql/workflow/workflow.py +338 -0
  613. fagoon_upgrade-2.0.0/src/models/sql/workflow/workflow_api.py +84 -0
  614. fagoon_upgrade-2.0.0/src/models/tts.py +19 -0
  615. fagoon_upgrade-2.0.0/src/models/ttv.py +14 -0
  616. fagoon_upgrade-2.0.0/src/models/video_generation_models.py +67 -0
  617. fagoon_upgrade-2.0.0/src/prompts.py +131 -0
  618. fagoon_upgrade-2.0.0/src/providers/__init__.py +0 -0
  619. fagoon_upgrade-2.0.0/src/providers/anthropic_client.py +17 -0
  620. fagoon_upgrade-2.0.0/src/providers/elevenlabs_client.py +12 -0
  621. fagoon_upgrade-2.0.0/src/providers/gemini_client.py +8 -0
  622. fagoon_upgrade-2.0.0/src/providers/groq_client.py +17 -0
  623. fagoon_upgrade-2.0.0/src/providers/huggingface_client.py +16 -0
  624. fagoon_upgrade-2.0.0/src/providers/kokoro_client.py +14 -0
  625. fagoon_upgrade-2.0.0/src/providers/openai_client.py +19 -0
  626. fagoon_upgrade-2.0.0/src/schemas/__init__.py +0 -0
  627. fagoon_upgrade-2.0.0/src/schemas/agent_enums.py +80 -0
  628. fagoon_upgrade-2.0.0/src/schemas/agents.py +133 -0
  629. fagoon_upgrade-2.0.0/src/schemas/agents_chat.py +75 -0
  630. fagoon_upgrade-2.0.0/src/schemas/authentication.py +19 -0
  631. fagoon_upgrade-2.0.0/src/schemas/channel.py +50 -0
  632. fagoon_upgrade-2.0.0/src/schemas/chat.py +24 -0
  633. fagoon_upgrade-2.0.0/src/schemas/chat_context.py +29 -0
  634. fagoon_upgrade-2.0.0/src/schemas/common.py +103 -0
  635. fagoon_upgrade-2.0.0/src/schemas/diffusion.py +8 -0
  636. fagoon_upgrade-2.0.0/src/schemas/document.py +62 -0
  637. fagoon_upgrade-2.0.0/src/schemas/enums.py +44 -0
  638. fagoon_upgrade-2.0.0/src/schemas/file_references.py +12 -0
  639. fagoon_upgrade-2.0.0/src/schemas/llm.py +50 -0
  640. fagoon_upgrade-2.0.0/src/schemas/misc.py +34 -0
  641. fagoon_upgrade-2.0.0/src/schemas/speech_to_text.py +48 -0
  642. fagoon_upgrade-2.0.0/src/schemas/support_bot.py +19 -0
  643. fagoon_upgrade-2.0.0/src/schemas/text_to_speech.py +25 -0
  644. fagoon_upgrade-2.0.0/src/schemas/upgrade_chat.py +133 -0
  645. fagoon_upgrade-2.0.0/src/schemas/users.py +47 -0
  646. fagoon_upgrade-2.0.0/src/schemas/vibe_coder_schemas.py +73 -0
  647. fagoon_upgrade-2.0.0/src/schemas/web_loader.py +13 -0
  648. fagoon_upgrade-2.0.0/src/schemas/whatsapp.py +45 -0
  649. fagoon_upgrade-2.0.0/src/schemas/workflow/__init__.py +1 -0
  650. fagoon_upgrade-2.0.0/src/schemas/workflow/auth.py +219 -0
  651. fagoon_upgrade-2.0.0/src/schemas/workflow/connection.py +263 -0
  652. fagoon_upgrade-2.0.0/src/schemas/workflow/execution.py +313 -0
  653. fagoon_upgrade-2.0.0/src/schemas/workflow/response.py +477 -0
  654. fagoon_upgrade-2.0.0/src/schemas/workflow/schedule.py +330 -0
  655. fagoon_upgrade-2.0.0/src/schemas/workflow/template.py +211 -0
  656. fagoon_upgrade-2.0.0/src/schemas/workflow/workflow.py +467 -0
  657. fagoon_upgrade-2.0.0/src/schemas/workspace/__init__.py +0 -0
  658. fagoon_upgrade-2.0.0/src/schemas/workspace/ai.py +10 -0
  659. fagoon_upgrade-2.0.0/src/schemas/workspace/auth.py +25 -0
  660. fagoon_upgrade-2.0.0/src/schemas/workspace/common.py +9 -0
  661. fagoon_upgrade-2.0.0/src/schemas/workspace/docs.py +54 -0
  662. fagoon_upgrade-2.0.0/src/schemas/workspace/drive.py +78 -0
  663. fagoon_upgrade-2.0.0/src/schemas/workspace/gmail.py +58 -0
  664. fagoon_upgrade-2.0.0/src/services/__init__.py +0 -0
  665. fagoon_upgrade-2.0.0/src/services/agents/__init__.py +0 -0
  666. fagoon_upgrade-2.0.0/src/services/agents/chat.py +113 -0
  667. fagoon_upgrade-2.0.0/src/services/agents/chat_orchestrator.py +396 -0
  668. fagoon_upgrade-2.0.0/src/services/agents/file_service.py +209 -0
  669. fagoon_upgrade-2.0.0/src/services/agents/image_generation.py +91 -0
  670. fagoon_upgrade-2.0.0/src/services/agents/llm_model.py +33 -0
  671. fagoon_upgrade-2.0.0/src/services/agents/llm_tasks.py +145 -0
  672. fagoon_upgrade-2.0.0/src/services/api_key_resolver.py +195 -0
  673. fagoon_upgrade-2.0.0/src/services/auth_service.py +218 -0
  674. fagoon_upgrade-2.0.0/src/services/cache/__init__.py +1 -0
  675. fagoon_upgrade-2.0.0/src/services/cache/base.py +12 -0
  676. fagoon_upgrade-2.0.0/src/services/cache/memory_cache.py +27 -0
  677. fagoon_upgrade-2.0.0/src/services/cache/redis_cache.py +30 -0
  678. fagoon_upgrade-2.0.0/src/services/channel_adapter/__init__.py +0 -0
  679. fagoon_upgrade-2.0.0/src/services/channel_adapter/channel_config_service.py +136 -0
  680. fagoon_upgrade-2.0.0/src/services/channel_adapter/processor.py +129 -0
  681. fagoon_upgrade-2.0.0/src/services/channel_adapter/webhook_gateway.py +268 -0
  682. fagoon_upgrade-2.0.0/src/services/chat_service.py +83 -0
  683. fagoon_upgrade-2.0.0/src/services/chat_stream_orchestrator.py +207 -0
  684. fagoon_upgrade-2.0.0/src/services/crawl4ai_service.py +76 -0
  685. fagoon_upgrade-2.0.0/src/services/database/__init__.py +1 -0
  686. fagoon_upgrade-2.0.0/src/services/database/switch_service.py +312 -0
  687. fagoon_upgrade-2.0.0/src/services/deployment/evolution_api.py +125 -0
  688. fagoon_upgrade-2.0.0/src/services/document_processor.py +73 -0
  689. fagoon_upgrade-2.0.0/src/services/email_service.py +71 -0
  690. fagoon_upgrade-2.0.0/src/services/embeddings.py +49 -0
  691. fagoon_upgrade-2.0.0/src/services/file_processor.py +74 -0
  692. fagoon_upgrade-2.0.0/src/services/google_workspace/__init__.py +0 -0
  693. fagoon_upgrade-2.0.0/src/services/google_workspace/ai_service.py +128 -0
  694. fagoon_upgrade-2.0.0/src/services/google_workspace/google_auth.py +231 -0
  695. fagoon_upgrade-2.0.0/src/services/google_workspace/google_docs.py +201 -0
  696. fagoon_upgrade-2.0.0/src/services/google_workspace/google_drive.py +256 -0
  697. fagoon_upgrade-2.0.0/src/services/google_workspace/google_gmail.py +229 -0
  698. fagoon_upgrade-2.0.0/src/services/image_description_service.py +55 -0
  699. fagoon_upgrade-2.0.0/src/services/imagen.py +120 -0
  700. fagoon_upgrade-2.0.0/src/services/limiter/__init__.py +1 -0
  701. fagoon_upgrade-2.0.0/src/services/limiter/base.py +13 -0
  702. fagoon_upgrade-2.0.0/src/services/limiter/memory_limiter.py +32 -0
  703. fagoon_upgrade-2.0.0/src/services/limiter/redis_limiter.py +37 -0
  704. fagoon_upgrade-2.0.0/src/services/llm.py +170 -0
  705. fagoon_upgrade-2.0.0/src/services/llm_enhancer.py +88 -0
  706. fagoon_upgrade-2.0.0/src/services/map_model_provider.py +40 -0
  707. fagoon_upgrade-2.0.0/src/services/mermaid_service.py +42 -0
  708. fagoon_upgrade-2.0.0/src/services/nosql/__init__.py +0 -0
  709. fagoon_upgrade-2.0.0/src/services/nosql/postgres_services.py +188 -0
  710. fagoon_upgrade-2.0.0/src/services/prompt_enhancer_service.py +83 -0
  711. fagoon_upgrade-2.0.0/src/services/pubsub/__init__.py +1 -0
  712. fagoon_upgrade-2.0.0/src/services/pubsub/base.py +31 -0
  713. fagoon_upgrade-2.0.0/src/services/pubsub/memory_pubsub.py +64 -0
  714. fagoon_upgrade-2.0.0/src/services/pubsub/redis_pubsub.py +84 -0
  715. fagoon_upgrade-2.0.0/src/services/query_analyzer.py +183 -0
  716. fagoon_upgrade-2.0.0/src/services/rag/__init__.py +0 -0
  717. fagoon_upgrade-2.0.0/src/services/rag/chunking.py +114 -0
  718. fagoon_upgrade-2.0.0/src/services/rag/document_parser.py +40 -0
  719. fagoon_upgrade-2.0.0/src/services/rag/ingestion_manager.py +132 -0
  720. fagoon_upgrade-2.0.0/src/services/response_manager.py +82 -0
  721. fagoon_upgrade-2.0.0/src/services/search_providers/__init__.py +0 -0
  722. fagoon_upgrade-2.0.0/src/services/search_providers/base_provider.py +34 -0
  723. fagoon_upgrade-2.0.0/src/services/search_providers/serpapi_provider.py +33 -0
  724. fagoon_upgrade-2.0.0/src/services/search_providers/serper_provider.py +28 -0
  725. fagoon_upgrade-2.0.0/src/services/stt.py +38 -0
  726. fagoon_upgrade-2.0.0/src/services/support_bot/__init__.py +0 -0
  727. fagoon_upgrade-2.0.0/src/services/support_bot/support_bot_service.py +81 -0
  728. fagoon_upgrade-2.0.0/src/services/taskqueue/__init__.py +1 -0
  729. fagoon_upgrade-2.0.0/src/services/taskqueue/base.py +21 -0
  730. fagoon_upgrade-2.0.0/src/services/taskqueue/celery_queue.py +35 -0
  731. fagoon_upgrade-2.0.0/src/services/taskqueue/inline_queue.py +50 -0
  732. fagoon_upgrade-2.0.0/src/services/taskqueue/lite_tasks.py +215 -0
  733. fagoon_upgrade-2.0.0/src/services/taskqueue/workflow_lite_tasks.py +47 -0
  734. fagoon_upgrade-2.0.0/src/services/text_to_video.py +0 -0
  735. fagoon_upgrade-2.0.0/src/services/tool_handlers/__init__.py +0 -0
  736. fagoon_upgrade-2.0.0/src/services/tool_handlers/base.py +18 -0
  737. fagoon_upgrade-2.0.0/src/services/tool_handlers/deep_research_handler.py +42 -0
  738. fagoon_upgrade-2.0.0/src/services/tool_handlers/factory.py +33 -0
  739. fagoon_upgrade-2.0.0/src/services/tool_handlers/general_chat_handler.py +83 -0
  740. fagoon_upgrade-2.0.0/src/services/tool_handlers/image_generation_handler.py +68 -0
  741. fagoon_upgrade-2.0.0/src/services/tool_handlers/mermaid_handler.py +91 -0
  742. fagoon_upgrade-2.0.0/src/services/tool_handlers/summarization_handler.py +58 -0
  743. fagoon_upgrade-2.0.0/src/services/tool_handlers/video_generation_handler.py +133 -0
  744. fagoon_upgrade-2.0.0/src/services/tool_handlers/web_search_handler.py +73 -0
  745. fagoon_upgrade-2.0.0/src/services/tts.py +66 -0
  746. fagoon_upgrade-2.0.0/src/services/upgrade/__init__.py +0 -0
  747. fagoon_upgrade-2.0.0/src/services/upgrade/chat.py +164 -0
  748. fagoon_upgrade-2.0.0/src/services/user_service.py +128 -0
  749. fagoon_upgrade-2.0.0/src/services/veo_video_generator.py +211 -0
  750. fagoon_upgrade-2.0.0/src/services/vibe_coder/__init__.py +1 -0
  751. fagoon_upgrade-2.0.0/src/services/vibe_coder/code_generation.py +236 -0
  752. fagoon_upgrade-2.0.0/src/services/web_loader.py +36 -0
  753. fagoon_upgrade-2.0.0/src/services/web_search_service.py +261 -0
  754. fagoon_upgrade-2.0.0/src/services/workflow/__init__.py +1 -0
  755. fagoon_upgrade-2.0.0/src/services/workflow/auth_service.py +516 -0
  756. fagoon_upgrade-2.0.0/src/services/workflow/cost_tracking.py +731 -0
  757. fagoon_upgrade-2.0.0/src/services/workflow/discovery_service.py +518 -0
  758. fagoon_upgrade-2.0.0/src/services/workflow/google_oauth.py +469 -0
  759. fagoon_upgrade-2.0.0/src/services/workflow/graph_validation.py +647 -0
  760. fagoon_upgrade-2.0.0/src/services/workflow/storage_service.py +520 -0
  761. fagoon_upgrade-2.0.0/src/services/workflow/templates.py +860 -0
  762. fagoon_upgrade-2.0.0/src/services/workflow/webhook_verifier.py +644 -0
  763. fagoon_upgrade-2.0.0/src/services/workflow/workflow_service.py +699 -0
  764. fagoon_upgrade-2.0.0/src/services/workflow_engine/__init__.py +0 -0
  765. fagoon_upgrade-2.0.0/src/services/workflow_engine/context.py +311 -0
  766. fagoon_upgrade-2.0.0/src/services/workflow_engine/executor.py +1127 -0
  767. fagoon_upgrade-2.0.0/src/services/workflow_engine/nodes/__init__.py +0 -0
  768. fagoon_upgrade-2.0.0/src/services/workflow_engine/nodes/base.py +569 -0
  769. fagoon_upgrade-2.0.0/src/services/workflow_engine/nodes/logic_filter.py +547 -0
  770. fagoon_upgrade-2.0.0/src/services/workflow_engine/nodes/logic_loop.py +403 -0
  771. fagoon_upgrade-2.0.0/src/services/workflow_engine/nodes/logic_parallel.py +430 -0
  772. fagoon_upgrade-2.0.0/src/services/workflow_engine/nodes/logic_router.py +458 -0
  773. fagoon_upgrade-2.0.0/src/services/workflow_engine/nodes/logic_wait.py +497 -0
  774. fagoon_upgrade-2.0.0/src/services/workflow_engine/nodes/start.py +33 -0
  775. fagoon_upgrade-2.0.0/src/services/workflow_engine/nodes/tool_agent.py +481 -0
  776. fagoon_upgrade-2.0.0/src/services/workflow_engine/nodes/tool_anthropic.py +501 -0
  777. fagoon_upgrade-2.0.0/src/services/workflow_engine/nodes/tool_browser_use.py +529 -0
  778. fagoon_upgrade-2.0.0/src/services/workflow_engine/nodes/tool_code.py +552 -0
  779. fagoon_upgrade-2.0.0/src/services/workflow_engine/nodes/tool_discord.py +934 -0
  780. fagoon_upgrade-2.0.0/src/services/workflow_engine/nodes/tool_gemini.py +553 -0
  781. fagoon_upgrade-2.0.0/src/services/workflow_engine/nodes/tool_gmail.py +686 -0
  782. fagoon_upgrade-2.0.0/src/services/workflow_engine/nodes/tool_google_sheets.py +809 -0
  783. fagoon_upgrade-2.0.0/src/services/workflow_engine/nodes/tool_memory.py +606 -0
  784. fagoon_upgrade-2.0.0/src/services/workflow_engine/nodes/tool_mistral_parse.py +600 -0
  785. fagoon_upgrade-2.0.0/src/services/workflow_engine/nodes/tool_notion.py +1114 -0
  786. fagoon_upgrade-2.0.0/src/services/workflow_engine/nodes/tool_openai.py +543 -0
  787. fagoon_upgrade-2.0.0/src/services/workflow_engine/nodes/tool_perplexity.py +470 -0
  788. fagoon_upgrade-2.0.0/src/services/workflow_engine/nodes/tool_rag.py +676 -0
  789. fagoon_upgrade-2.0.0/src/services/workflow_engine/nodes/tool_slack.py +764 -0
  790. fagoon_upgrade-2.0.0/src/services/workflow_engine/nodes/tool_supabase.py +673 -0
  791. fagoon_upgrade-2.0.0/src/services/workflow_engine/nodes/tool_twilio.py +988 -0
  792. fagoon_upgrade-2.0.0/src/services/workflow_engine/nodes/tool_webhook.py +582 -0
  793. fagoon_upgrade-2.0.0/src/services/workflow_engine/nodes/tool_youtube.py +710 -0
  794. fagoon_upgrade-2.0.0/src/services/workflow_engine/nodes/trigger_schedule.py +307 -0
  795. fagoon_upgrade-2.0.0/src/services/workflow_engine/registry.py +361 -0
  796. fagoon_upgrade-2.0.0/src/speech_to_text/__init__.py +0 -0
  797. fagoon_upgrade-2.0.0/src/speech_to_text/base.py +22 -0
  798. fagoon_upgrade-2.0.0/src/speech_to_text/eleven_labs.py +50 -0
  799. fagoon_upgrade-2.0.0/src/speech_to_text/openai.py +56 -0
  800. fagoon_upgrade-2.0.0/src/storages/__init__.py +0 -0
  801. fagoon_upgrade-2.0.0/src/storages/file_storage.py +188 -0
  802. fagoon_upgrade-2.0.0/src/storages/vectordb_storages/__init__.py +0 -0
  803. fagoon_upgrade-2.0.0/src/storages/vectordb_storages/base.py +220 -0
  804. fagoon_upgrade-2.0.0/src/storages/vectordb_storages/pgvector.py +149 -0
  805. fagoon_upgrade-2.0.0/src/tasks/__init__.py +1 -0
  806. fagoon_upgrade-2.0.0/src/tasks/cleanup.py +436 -0
  807. fagoon_upgrade-2.0.0/src/tasks/scheduler.py +468 -0
  808. fagoon_upgrade-2.0.0/src/tasks/workflow.py +299 -0
  809. fagoon_upgrade-2.0.0/src/tasks/workflow_task.py +28 -0
  810. fagoon_upgrade-2.0.0/src/text_to_speech/__init__.py +0 -0
  811. fagoon_upgrade-2.0.0/src/text_to_speech/base.py +21 -0
  812. fagoon_upgrade-2.0.0/src/text_to_speech/eleven_labs.py +50 -0
  813. fagoon_upgrade-2.0.0/src/text_to_speech/kokoro.py +47 -0
  814. fagoon_upgrade-2.0.0/src/text_to_speech/openai.py +41 -0
  815. fagoon_upgrade-2.0.0/src/tmp/agents_model_card.yml +40 -0
  816. fagoon_upgrade-2.0.0/src/tmp/model_card.yml +66 -0
  817. fagoon_upgrade-2.0.0/src/tools/__init__.py +0 -0
  818. fagoon_upgrade-2.0.0/src/tools/bg_remover/__init__.py +0 -0
  819. fagoon_upgrade-2.0.0/src/tools/bg_remover/actions.py +51 -0
  820. fagoon_upgrade-2.0.0/src/tools/function_calling_schemas.py +78 -0
  821. fagoon_upgrade-2.0.0/src/upgrade_authentication/__init__.py +0 -0
  822. fagoon_upgrade-2.0.0/src/upgrade_authentication/dependencies.py +25 -0
  823. fagoon_upgrade-2.0.0/src/upgrade_authentication/exceptions.py +45 -0
  824. fagoon_upgrade-2.0.0/src/utils/__init__.py +0 -0
  825. fagoon_upgrade-2.0.0/src/utils/common.py +169 -0
  826. fagoon_upgrade-2.0.0/src/utils/llm_utils.py +43 -0
  827. fagoon_upgrade-2.0.0/src/utils/misc.py +217 -0
  828. fagoon_upgrade-2.0.0/src/utils/upgrade_auth/__init__.py +0 -0
  829. fagoon_upgrade-2.0.0/src/utils/upgrade_auth/app_error.py +10 -0
  830. fagoon_upgrade-2.0.0/src/utils/upgrade_auth/auth_utils.py +203 -0
  831. fagoon_upgrade-2.0.0/src/utils/upgrade_auth/catch_async.py +21 -0
  832. fagoon_upgrade-2.0.0/src/utils/upgrade_auth/email_sender.py +59 -0
  833. fagoon_upgrade-2.0.0/src/video_gen_crud/__init__.py +0 -0
  834. fagoon_upgrade-2.0.0/src/video_gen_crud/crud.py +31 -0
  835. fagoon_upgrade-2.0.0/src/video_generation/__init__.py +0 -0
  836. fagoon_upgrade-2.0.0/src/video_generation/base.py +32 -0
  837. fagoon_upgrade-2.0.0/src/video_generation/websocket_manager.py +120 -0
  838. fagoon_upgrade-2.0.0/src/workspace_crud/__init__.py +0 -0
  839. fagoon_upgrade-2.0.0/src/workspace_crud/crud/__init__.py +0 -0
  840. fagoon_upgrade-2.0.0/src/workspace_crud/crud/google_token.py +55 -0
  841. fagoon_upgrade-2.0.0/src/workspace_crud/crud/user.py +39 -0
  842. fagoon_upgrade-2.0.0/test_execution_status.py +34 -0
  843. fagoon_upgrade-2.0.0/test_post_workflow.py +39 -0
  844. fagoon_upgrade-2.0.0/test_prefs.py +23 -0
  845. fagoon_upgrade-2.0.0/test_run_route.py +38 -0
  846. fagoon_upgrade-2.0.0/test_sse.py +21 -0
  847. fagoon_upgrade-2.0.0/test_sse_endpoint.py +33 -0
  848. fagoon_upgrade-2.0.0/test_sse_endpoint_v2.py +39 -0
  849. fagoon_upgrade-2.0.0/test_user_id.py +9 -0
  850. fagoon_upgrade-2.0.0/test_whatsapp.html +115 -0
  851. fagoon_upgrade-2.0.0/tests/__init__.py +1 -0
  852. fagoon_upgrade-2.0.0/tests/conftest.py +12 -0
  853. fagoon_upgrade-2.0.0/tests/factories/__init__.py +21 -0
  854. fagoon_upgrade-2.0.0/tests/factories/connection.py +190 -0
  855. fagoon_upgrade-2.0.0/tests/factories/execution.py +303 -0
  856. fagoon_upgrade-2.0.0/tests/factories/user.py +115 -0
  857. fagoon_upgrade-2.0.0/tests/factories/workflow.py +272 -0
  858. fagoon_upgrade-2.0.0/tests/integration/__init__.py +1 -0
  859. fagoon_upgrade-2.0.0/tests/mocks/__init__.py +20 -0
  860. fagoon_upgrade-2.0.0/tests/mocks/redis.py +291 -0
  861. fagoon_upgrade-2.0.0/tests/mocks/services.py +366 -0
  862. fagoon_upgrade-2.0.0/tests/test_db_switch.py +135 -0
  863. fagoon_upgrade-2.0.0/tests/test_dual_mode.py +466 -0
  864. fagoon_upgrade-2.0.0/tests/test_lite_boot.py +202 -0
  865. fagoon_upgrade-2.0.0/tests/test_vibe_coder.py +65 -0
  866. fagoon_upgrade-2.0.0/tests/unit/__init__.py +1 -0
  867. fagoon_upgrade-2.0.0/tests/unit/test_auth.py +295 -0
  868. fagoon_upgrade-2.0.0/tests/unit/test_execution.py +389 -0
  869. fagoon_upgrade-2.0.0/tests/unit/test_workflow.py +322 -0
  870. fagoon_upgrade-2.0.0/total_assets_comparison.png +0 -0
  871. fagoon_upgrade-2.0.0/user_graph.json +17 -0
@@ -0,0 +1,15 @@
1
+ .git
2
+ .github
3
+ .vscode
4
+ .env
5
+ .env.local
6
+ *.pyc
7
+ __pycache__
8
+ .pytest_cache
9
+ .mypy_cache
10
+ frontend/node_modules
11
+ frontend/.next
12
+ .venv
13
+ *.egg-info
14
+ dist
15
+ build
@@ -0,0 +1,27 @@
1
+ # ---- Mode ----
2
+ # Contributors typically run full mode. Leave LITE_MODE unset/false here.
3
+ LITE_MODE=false
4
+ DATA_DIR=./data
5
+ WEB_CONCURRENCY=2
6
+
7
+ # ---- Infra (required in full mode) ----
8
+ DATABASE_URL=postgresql+asyncpg://fagoon:fagoon@localhost:5432/fagoon
9
+ REDIS_URL=redis://localhost:6379/0
10
+ CELERY_BROKER_URL=redis://localhost:6379/1
11
+ CELERY_RESULT_BACKEND=redis://localhost:6379/2
12
+
13
+ # ---- Secrets (auto-generated in package mode; set explicitly for dev) ----
14
+ JWT_SECRET=change-me-in-dev
15
+ JWT_ALGORITHM=HS256
16
+ ENCRYPTION_KEY= # leave empty to auto-generate a Fernet key
17
+
18
+ # ---- Feature gating ----
19
+ FEATURES=chat,agents,workflow,vibecoder
20
+
21
+ # ---- Integrations (optional; can also be set via the UI) ----
22
+ OPENAI_API_KEY=
23
+ GEMINI_API_KEY=
24
+ GROQ_API_KEY=
25
+ GOOGLE_CLIENT_ID=
26
+ GOOGLE_CLIENT_SECRET=
27
+ OLLAMA_BASE_URL=
@@ -0,0 +1,129 @@
1
+ # ============================================
2
+ # FAGOON UPGRADE + WORKFLOW � FULL .env TEMPLATE
3
+ # Generated after workflow migration
4
+ # ============================================
5
+
6
+ FRONTEND_HOST=*
7
+ API_V1_STR=/api/v1
8
+ PROJECT_NAME=Fagoon Agents Workflow
9
+ API_SWAGGER_PATH=docs
10
+ ALLOWED_CORS_ORIGIN=
11
+ OPENAI_API_KEY=
12
+ GROQ_API_KEY=
13
+ HUGGINGFACE_API_KEY=
14
+ ELEVENLABS_API_KEY=
15
+ GOOGLE_API_KEY=
16
+ ANTHROPIC_API_KEY=
17
+ ENV=development
18
+ DATABASE_URL=
19
+ GROQ_MODEL_NAME=llama3-8b-8192
20
+ GOOGLE_CLIENT_ID=
21
+ GOOGLE_CLIENT_SECRET=
22
+ GOOGLE_REDIRECT_URI=
23
+ FRONTEND_REDIRECT_URI=http://localhost:3000
24
+ GOOGLE_AUTH_SCOPES=
25
+ GCS_BUCKET_NAME=
26
+ GEMINI_API_KEY=
27
+ VIDEO_STORAGE_PATH=
28
+ CELERY_BROKER_URL=
29
+ CELERY_RESULT_BACKEND=
30
+ SECRET_KEY=
31
+ LOG_LEVEL=INFO
32
+ ENABLE_VEO_GENERATION=true
33
+ MAX_VEO_GENERATIONS_PER_JOB=15
34
+ MAX_VEO_VIDEO_DURATION_SECONDS=5
35
+ MOCK_VEO_API_IF_DISABLED=true
36
+ JWT_EXPIRES_IN=90d
37
+ JWT_ALGORITHM=HS256
38
+ JWT_COOKIE_EXPIRES_IN_DAYS=90
39
+ JWT_ACCESS_TOKEN_EXPIRE_MINUTES=30
40
+ JWT_REFRESH_TOKEN_EXPIRE_DAYS=7
41
+ COOKIE_DOMAIN_1=
42
+ COOKIE_DOMAIN_2=
43
+ COOKIE_DOMAIN_3=
44
+ EMAIL_HOST=localhost
45
+ EMAIL_PORT=587
46
+ EMAIL_USERNAME=mock_username
47
+ EMAIL_PASSWORD=mock_password
48
+ EMAIL_FROM=mock_from@example.com
49
+ FAGOON_URL=
50
+ DEFAULT_URL=
51
+ SERPER_API_KEY=
52
+ SERPAPI_API_KEY=
53
+ FAL_KEY=
54
+ FAST_MODEL_PROVIDER=gemini
55
+ FAST_MODEL_ID=gemini-2.5-flash
56
+ SMART_MODEL_PROVIDER=gemini
57
+ SMART_MODEL_ID=gemini-2.5-pro
58
+ REDIS_URL=
59
+ WEBHOOK_VERIFY_TOKEN=
60
+ WHATSAPP_APP_SECRET=
61
+ WHATSAPP_PHONE_NUMBER_ID=
62
+ WHATSAPP_ACCESS_TOKEN=
63
+ FACEBOOK_APP_SECRET=
64
+ FACEBOOK_PAGE_ACCESS_TOKEN=
65
+ TELEGRAM_BOT_TOKEN=
66
+ TELEGRAM_BOT_SECRET_TOKEN=
67
+ EVOLUTION_API_KEY=
68
+ EVOLUTION_API_URL=
69
+ WEBHOOK_URL=
70
+ DB_POOL_SIZE=20
71
+ DB_MAX_OVERFLOW=10
72
+ DB_POOL_TIMEOUT=30
73
+ DB_ECHO=
74
+ ENCRYPTION_KEY=
75
+ ACCESS_TOKEN_EXPIRE_MINUTES=30
76
+ REFRESH_TOKEN_EXPIRE_DAYS=7
77
+ PASSWORD_HASH_ROUNDS=12
78
+ VERSION=2.0.0
79
+ DEBUG=false
80
+ API_V1_PREFIX=/api/v1
81
+ ALLOWED_HOSTS=
82
+ CORS_ORIGINS=
83
+ REDIS_HOST=localhost
84
+ REDIS_PORT=6379
85
+ REDIS_PASSWORD=
86
+ REDIS_SSL=false
87
+ REDIS_DB=0
88
+ REDIS_MAX_CONNECTIONS=10
89
+ GCS_SIGNED_URL_EXPIRY=3600
90
+ MAX_UPLOAD_SIZE_MB=100
91
+ GOOGLE_APPLICATION_CREDENTIALS=
92
+ CELERY_TASK_TIMEOUT=3600
93
+ FEATURE_ENABLE_REGISTRATION=true
94
+ FEATURE_ENABLE_OAUTH=true
95
+ FEATURE_ENABLE_WEBHOOKS=true
96
+ FEATURE_ENABLE_BROWSER_NODE=true
97
+ FEATURE_ENABLE_CODE_NODE=true
98
+ SANDBOX_MODE=docker
99
+ SANDBOX_DOCKER_IMAGE=workflow-sandbox-python:latest
100
+ SANDBOX_TIMEOUT_SECONDS=10
101
+ SANDBOX_MAX_MEMORY_MB=128
102
+ SANDBOX_MAX_CPU_PERCENT=50
103
+ SANDBOX_MAX_OUTPUT_BYTES=1000000
104
+ SANDBOX_NETWORK_ENABLED=false
105
+ RATE_LIMIT_ENABLED=true
106
+ RATE_LIMIT_REQUESTS=100
107
+ RATE_LIMIT_WINDOW_SECONDS=60
108
+ RATE_LIMIT_BACKEND=redis
109
+ RATE_LIMIT_FAIL_OPEN=true
110
+ RATE_LIMIT_TIER_ANONYMOUS=30
111
+ RATE_LIMIT_TIER_FREE=60
112
+ RATE_LIMIT_TIER_PRO=300
113
+ RATE_LIMIT_TIER_ENTERPRISE=1000
114
+ RATE_LIMIT_EXECUTE_PER_MINUTE=30
115
+ RATE_LIMIT_AUTH_PER_MINUTE=10
116
+ RATE_LIMIT_BYPASS_IPS=
117
+ RATE_LIMIT_BYPASS_HEADER=
118
+ RATE_LIMIT_BYPASS_SECRET=
119
+ LOG_FORMAT=json
120
+ LOG_FILE_PATH=
121
+ BROWSERLESS_API_URL=https://production-sfo.browserless.io
122
+ SENTRY_DSN=
123
+
124
+ # ============================================
125
+ # INTERNAL / DUAL-MODE FIELDS (lowercase)
126
+ # ============================================
127
+ LITE_MODE=true
128
+ DATA_DIR=/data
129
+ FEATURES=chat,agents,workflow,vibecoder
@@ -0,0 +1,7 @@
1
+ .git/
2
+ dist/
3
+ build/
4
+ *.log
5
+ venv/
6
+ .venv/
7
+ __pycache__/
@@ -0,0 +1,10 @@
1
+ # Changes to the mode machinery require maintainer review even if CI passes.
2
+ /src/core/runtime.py @fagoon
3
+ /src/core/settings.py @fagoon
4
+ /src/core/bootstrap.py @fagoon
5
+ /src/services/limiter/ @fagoon
6
+ /src/services/taskqueue/ @fagoon
7
+ /src/services/cache/ @fagoon
8
+ /importlinter.ini @fagoon
9
+ /scripts/guard_imports.sh @fagoon
10
+ /.github/workflows/ @fagoon
@@ -0,0 +1,9 @@
1
+ ## What this changes
2
+
3
+
4
+ ## Lite-mode contract checklist
5
+ - [ ] No direct `redis` / `celery` import outside approved backend modules
6
+ - [ ] New background work goes through `app.state.queue`, not Celery directly
7
+ - [ ] New shared state has a lite (in-memory) backend, not Redis-only
8
+ - [ ] No new *required* env var (must have a safe default or config.json path)
9
+ - [ ] `uv run pytest` and `uv run lint-imports --config importlinter.ini` pass locally
@@ -0,0 +1,63 @@
1
+ name: ci
2
+
3
+ # Runs on every PR and on main. Publishes NOTHING. These jobs are the required
4
+ # status checks that block a PR which would break lite mode or the architecture.
5
+
6
+ on:
7
+ pull_request:
8
+ push:
9
+ branches: [main]
10
+
11
+ jobs:
12
+ tests:
13
+ runs-on: ubuntu-latest
14
+ services:
15
+ postgres:
16
+ image: pgvector/pgvector:pg16
17
+ env:
18
+ POSTGRES_USER: test
19
+ POSTGRES_PASSWORD: test
20
+ POSTGRES_DB: test
21
+ ports: ["5432:5432"]
22
+ options: >-
23
+ --health-cmd "pg_isready -U test"
24
+ --health-interval 5s --health-timeout 5s --health-retries 10
25
+ steps:
26
+ - uses: actions/checkout@v4
27
+ - uses: astral-sh/setup-uv@v5
28
+ - run: uv sync --all-extras --dev
29
+ - run: uv run pytest -q
30
+ env:
31
+ DATABASE_URL: postgresql+asyncpg://test:test@localhost:5432/test
32
+
33
+ lite-boot:
34
+ # Deliberately installs WITHOUT the `full` extra. If any non-backend module
35
+ # imports redis/celery, this fails at import time - a dependency-level proof
36
+ # that lite mode is self-contained.
37
+ runs-on: ubuntu-latest
38
+ services:
39
+ postgres:
40
+ image: pgvector/pgvector:pg16
41
+ env:
42
+ POSTGRES_USER: test
43
+ POSTGRES_PASSWORD: test
44
+ POSTGRES_DB: test
45
+ ports: ["5432:5432"]
46
+ options: >-
47
+ --health-cmd "pg_isready -U test"
48
+ --health-interval 5s --health-timeout 5s --health-retries 10
49
+ steps:
50
+ - uses: actions/checkout@v4
51
+ - uses: astral-sh/setup-uv@v5
52
+ - run: uv sync --dev # no --extra full
53
+ - run: uv run pytest tests/test_lite_boot.py -q
54
+ env:
55
+ DATABASE_URL_DEFAULT: postgresql+asyncpg://test:test@localhost:5432/test
56
+
57
+ architecture:
58
+ runs-on: ubuntu-latest
59
+ steps:
60
+ - uses: actions/checkout@v4
61
+ - uses: astral-sh/setup-uv@v5
62
+ - run: uv sync --all-extras --dev
63
+ - run: uv run lint-imports
@@ -0,0 +1,71 @@
1
+ name: Upgrade CI/CD Pipeline
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - development
7
+
8
+ jobs:
9
+ deploy-to-vm:
10
+ runs-on: ubuntu-latest
11
+
12
+ steps:
13
+ - name: Checkout code
14
+ uses: actions/checkout@v3
15
+
16
+ - name: Install UV package manager locally (for the runner)
17
+ run: |
18
+ curl -LsSf https://astral.sh/uv/install.sh | sh
19
+
20
+ - name: Install Python 3.11 with UV (on runner)
21
+ run: |
22
+ uv python install 3.11
23
+
24
+ - name: Create virtual environment (runner)
25
+ run: uv venv
26
+
27
+ - name: Install dependencies (runner)
28
+ run: uv sync
29
+
30
+ - name: Setup SSH
31
+ run: |
32
+ mkdir -p ~/.ssh
33
+ echo "${{ secrets.VM_SSH_KEY }}" > ~/.ssh/deploy_key
34
+ chmod 600 ~/.ssh/deploy_key
35
+ ssh-keyscan -H "${{ secrets.VM_HOST }}" >> ~/.ssh/known_hosts
36
+
37
+ - name: Test SSH connection
38
+ run: |
39
+ ssh -v -o StrictHostKeyChecking=no -i ~/.ssh/deploy_key ${{ secrets.VM_USER }}@${{ secrets.VM_HOST }} "echo 'SSH connection successful'"
40
+
41
+ - name: Deploy to VM via SSH
42
+ uses: appleboy/ssh-action@v0.1.8
43
+ with:
44
+ host: ${{ secrets.VM_HOST }}
45
+ username: ${{ secrets.VM_USER }}
46
+ key: ${{ secrets.VM_SSH_KEY }}
47
+ script: |
48
+ cd /home/vimuser/development/agents-workflow
49
+ git pull origin development
50
+
51
+ # Load user profile to set PATH and NVM environment
52
+ source ~/.profile
53
+
54
+ # Install uv if missing
55
+ if ! command -v uv > /dev/null 2>&1; then
56
+ echo "uv not found, installing..."
57
+ curl -LsSf https://astral.sh/uv/install.sh | sh
58
+ export PATH=$PATH:/home/vimuser/.local/bin
59
+ fi
60
+
61
+ # Install pm2 if missing
62
+ if ! command -v pm2 > /dev/null 2>&1; then
63
+ echo "pm2 not found, installing..."
64
+ export NVM_DIR="$HOME/.nvm"
65
+ [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
66
+ npm install -g pm2
67
+ fi
68
+
69
+ # Run sync and pm2 commands
70
+ uv sync
71
+ pm2 reload dev-agent-workflow || pm2 start scripts/run.sh --name dev-agent-workflow
@@ -0,0 +1,96 @@
1
+ name: release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*"
7
+
8
+ permissions:
9
+ contents: read
10
+ packages: write
11
+ actions: read
12
+
13
+ env:
14
+ IMAGE: ghcr.io/fagoon-ai/upgrade
15
+
16
+ jobs:
17
+ test:
18
+ runs-on: ubuntu-latest
19
+ services:
20
+ postgres:
21
+ image: pgvector/pgvector:pg16
22
+ env:
23
+ POSTGRES_USER: test
24
+ POSTGRES_PASSWORD: test
25
+ POSTGRES_DB: test
26
+ ports: ["5432:5432"]
27
+ options: >-
28
+ --health-cmd "pg_isready -U test"
29
+ --health-interval 5s --health-timeout 5s --health-retries 10
30
+ steps:
31
+ - uses: actions/checkout@v4
32
+ with:
33
+ token: ${{ secrets.RELEASE_TOKEN || secrets.GITHUB_TOKEN }}
34
+ - uses: astral-sh/setup-uv@v5
35
+ - run: uv sync --all-extras --dev
36
+ - run: uv run pytest -q
37
+ env:
38
+ DATABASE_URL: postgresql+asyncpg://test:test@localhost:5432/test
39
+
40
+ image:
41
+ needs: test
42
+ runs-on: ubuntu-latest
43
+ steps:
44
+ - uses: actions/checkout@v4
45
+ with:
46
+ token: ${{ secrets.RELEASE_TOKEN || secrets.GITHUB_TOKEN }}
47
+ - name: Derive version from tag
48
+ id: ver
49
+ run: echo "version=${GITHUB_REF_NAME#v}" >> "$GITHUB_OUTPUT"
50
+ - uses: docker/setup-qemu-action@v3
51
+ - uses: docker/setup-buildx-action@v3
52
+ - name: Log in to GHCR
53
+ uses: docker/login-action@v3
54
+ with:
55
+ registry: ghcr.io
56
+ username: ${{ github.actor }}
57
+ password: ${{ secrets.GITHUB_TOKEN }}
58
+ - name: Build and push (multi-arch)
59
+ uses: docker/build-push-action@v6
60
+ with:
61
+ context: .
62
+ file: deploy/Dockerfile
63
+ platforms: linux/amd64,linux/arm64
64
+ push: true
65
+ tags: |
66
+ ${{ env.IMAGE }}:${{ steps.ver.outputs.version }}
67
+ ${{ env.IMAGE }}:latest
68
+ cache-from: type=gha
69
+ cache-to: type=gha,mode=max
70
+
71
+ pypi:
72
+ needs: test
73
+ runs-on: ubuntu-latest
74
+ environment: pypi
75
+ permissions:
76
+ id-token: write
77
+ steps:
78
+ - uses: actions/checkout@v4
79
+ with:
80
+ token: ${{ secrets.RELEASE_TOKEN || secrets.GITHUB_TOKEN }}
81
+ - uses: astral-sh/setup-uv@v5
82
+ - run: uv build
83
+ - uses: pypa/gh-action-pypi-publish@release/v1
84
+
85
+ github-release:
86
+ needs: [image, pypi]
87
+ runs-on: ubuntu-latest
88
+ permissions:
89
+ contents: write
90
+ steps:
91
+ - uses: actions/checkout@v4
92
+ with:
93
+ token: ${{ secrets.RELEASE_TOKEN || secrets.GITHUB_TOKEN }}
94
+ - uses: softprops/action-gh-release@v2
95
+ with:
96
+ generate_release_notes: true
@@ -0,0 +1,201 @@
1
+ # Project Ignored
2
+ logs/
3
+ google_client_config.json
4
+ test.py
5
+ assets/
6
+
7
+ # UV Dependencies
8
+ uv.lock
9
+
10
+ # Byte-compiled / optimized / DLL files
11
+ __pycache__/
12
+ *.py[cod]
13
+ *$py.class
14
+
15
+ # C extensions
16
+ *.so
17
+
18
+ *.lock
19
+
20
+ # Distribution / packaging
21
+ .Python
22
+ build/
23
+ develop-eggs/
24
+ dist/
25
+ downloads/
26
+ eggs/
27
+ .eggs/
28
+ /lib/
29
+ lib64/
30
+ parts/
31
+ sdist/
32
+ var/
33
+ wheels/
34
+ share/python-wheels/
35
+ *.egg-info/
36
+ .installed.cfg
37
+ *.egg
38
+ MANIFEST
39
+
40
+ # PyInstaller
41
+ # Usually these files are written by a python script from a template
42
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
43
+ *.manifest
44
+ *.spec
45
+
46
+ # Installer logs
47
+ pip-log.txt
48
+ pip-delete-this-directory.txt
49
+
50
+ # Unit test / coverage reports
51
+ htmlcov/
52
+ .tox/
53
+ .nox/
54
+ .coverage
55
+ .coverage.*
56
+ .cache
57
+ nosetests.xml
58
+ coverage.xml
59
+ *.cover
60
+ *.py,cover
61
+ .hypothesis/
62
+ .pytest_cache/
63
+ cover/
64
+
65
+ # Translations
66
+ *.mo
67
+ *.pot
68
+
69
+ # Django stuff:
70
+ *.log
71
+ local_settings.py
72
+ db.sqlite3
73
+ db.sqlite3-journal
74
+
75
+ # Flask stuff:
76
+ instance/
77
+ .webassets-cache
78
+
79
+ # Scrapy stuff:
80
+ .scrapy
81
+
82
+ # Sphinx documentation
83
+ docs/_build/
84
+
85
+ # PyBuilder
86
+ .pybuilder/
87
+ target/
88
+
89
+ # Jupyter Notebook
90
+ .ipynb_checkpoints
91
+
92
+ # IPython
93
+ profile_default/
94
+ ipython_config.py
95
+
96
+ # pyenv
97
+ # For a library or package, you might want to ignore these files since the code is
98
+ # intended to run in multiple environments; otherwise, check them in:
99
+ # .python-version
100
+
101
+ # pipenv
102
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
103
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
104
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
105
+ # install all needed dependencies.
106
+ #Pipfile.lock
107
+
108
+ # UV
109
+ # Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
110
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
111
+ # commonly ignored for libraries.
112
+ #uv.lock
113
+
114
+ # poetry
115
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
116
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
117
+ # commonly ignored for libraries.
118
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
119
+ #poetry.lock
120
+
121
+ # pdm
122
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
123
+ #pdm.lock
124
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
125
+ # in version control.
126
+ # https://pdm.fming.dev/latest/usage/project/#working-with-version-control
127
+ .pdm.toml
128
+ .pdm-python
129
+ .pdm-build/
130
+
131
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
132
+ __pypackages__/
133
+
134
+ # Celery stuff
135
+ celerybeat-schedule
136
+ celerybeat.pid
137
+
138
+ # SageMath parsed files
139
+ *.sage.py
140
+
141
+ # Environments
142
+ .env
143
+ .venv
144
+ env/
145
+ venv/
146
+ ENV/
147
+ env.bak/
148
+ venv.bak/
149
+
150
+ # Spyder project settings
151
+ .spyderproject
152
+ .spyproject
153
+
154
+ # Rope project settings
155
+ .ropeproject
156
+
157
+ # mkdocs documentation
158
+ /site
159
+
160
+ # mypy
161
+ .mypy_cache/
162
+ .dmypy.json
163
+ dmypy.json
164
+
165
+ # Pyre type checker
166
+ .pyre/
167
+
168
+ # pytype static type analyzer
169
+ .pytype/
170
+
171
+ # Cython debug symbols
172
+ cython_debug/
173
+
174
+ # PyCharm
175
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
176
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
177
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
178
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
179
+ .idea/
180
+
181
+ # PyPI configuration file
182
+ .pypirc
183
+
184
+ # Vscode Related
185
+ .vscode
186
+
187
+ # ignore researh outputs
188
+ outputs/
189
+
190
+ #ignore md files
191
+ PostgreSQL_Migration_Plan.md
192
+ Workflow.md
193
+ gcs.json
194
+
195
+
196
+ clients-application.json
197
+ QR.html
198
+
199
+ DUAL_MODE_IMPLEMENTATION.md
200
+ DB_SWITCH_IMPLEMENTATION.md
201
+ IMPLEMENTATION_PHASES.md
@@ -0,0 +1,24 @@
1
+ [importlinter]
2
+ root_package = src
3
+ include_external_packages = True
4
+
5
+ [importlinter:contract:no-direct-redis]
6
+ name = Only backend modules may import redis
7
+ type = forbidden
8
+ source_modules =
9
+ src.api
10
+ src.services.agents
11
+ src.services.tool_handlers
12
+ src.services.google_workspace
13
+ forbidden_modules =
14
+ redis
15
+
16
+ [importlinter:contract:no-direct-celery]
17
+ name = Only the celery backend may import celery
18
+ type = forbidden
19
+ source_modules =
20
+ src.api
21
+ src.services.agents
22
+ src.services.tool_handlers
23
+ forbidden_modules =
24
+ celery
@@ -0,0 +1,33 @@
1
+ # Stage 1: Builder
2
+ FROM python:3.11-slim AS builder
3
+ WORKDIR /app
4
+
5
+ RUN apt-get update && apt-get install -y \
6
+ curl \
7
+ gcc \
8
+ && rm -rf /var/lib/apt/lists/*
9
+
10
+ RUN pip install --no-cache-dir uv
11
+
12
+ COPY . .
13
+
14
+ # Install dependencies into .venv
15
+ RUN uv sync
16
+
17
+ RUN chmod +x scripts/run.sh
18
+
19
+ # Stage 2: Runtime
20
+ FROM python:3.11-slim
21
+ WORKDIR /app
22
+
23
+ RUN apt-get update && apt-get install -y \
24
+ curl \
25
+ && rm -rf /var/lib/apt/lists/*
26
+
27
+ COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages
28
+ COPY --from=builder /usr/local/bin/uv /usr/local/bin/uv
29
+ COPY --from=builder /app /app
30
+
31
+ RUN chmod +x scripts/run.sh
32
+
33
+ ENTRYPOINT ["scripts/run.sh"]