fastapi-fullstack 0.2.9__tar.gz → 0.2.11__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 (802) hide show
  1. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/.gitignore +1 -0
  2. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/PKG-INFO +26 -38
  3. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/README.md +25 -37
  4. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/fastapi_gen/cli.py +25 -0
  5. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/fastapi_gen/config.py +13 -0
  6. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/fastapi_gen/prompts.py +104 -0
  7. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/pyproject.toml +6 -2
  8. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/VARIABLES.md +3 -0
  9. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/cookiecutter.json +3 -0
  10. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/hooks/post_gen_project.py +82 -10
  11. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/.github/workflows/ci.yml +1 -1
  12. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/Makefile +11 -5
  13. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/.env.example +21 -0
  14. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/admin.py +4 -0
  15. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/agents/assistant.py +156 -3
  16. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/agents/crewai_assistant.py +46 -1
  17. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/agents/deepagents_assistant.py +40 -1
  18. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/agents/langchain_assistant.py +39 -0
  19. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/agents/langgraph_assistant.py +39 -0
  20. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/agents/prompts.py +105 -1
  21. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/agents/pydantic_deep_assistant.py +55 -1
  22. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/agents/tools/__init__.py +6 -0
  23. fastapi_fullstack-0.2.11/template/{{cookiecutter.project_slug}}/backend/app/agents/tools/antv_chart.py +146 -0
  24. fastapi_fullstack-0.2.11/template/{{cookiecutter.project_slug}}/backend/app/agents/tools/ask_user_tool.py +39 -0
  25. fastapi_fullstack-0.2.11/template/{{cookiecutter.project_slug}}/backend/app/agents/tools/code_execution.py +294 -0
  26. fastapi_fullstack-0.2.11/template/{{cookiecutter.project_slug}}/backend/app/agents/tools/map_tool.py +102 -0
  27. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/api/deps.py +4 -4
  28. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/__init__.py +25 -9
  29. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/core/config.py +20 -0
  30. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/db/models/__init__.py +5 -3
  31. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/repositories/__init__.py +6 -6
  32. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/repositories/user.py +22 -0
  33. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/schemas/__init__.py +1 -1
  34. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/admin.py +15 -1
  35. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/agent_session.py +81 -2
  36. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/rag/reranker.py +5 -4
  37. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/pyproject.toml +19 -0
  38. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/docker-compose.dev.yml +44 -3
  39. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/docker-compose.prod.yml +3 -3
  40. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/docker-compose.yml +39 -3
  41. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/e2e/chat.spec.ts +4 -5
  42. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/eslint.config.mjs +13 -0
  43. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/messages/en.json +34 -15
  44. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/messages/pl.json +34 -15
  45. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/package.json +8 -1
  46. fastapi_fullstack-0.2.11/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(auth)/layout.tsx +100 -0
  47. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(auth)/magic-link-sent/page.tsx +12 -6
  48. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/admin/conversations/page.tsx +10 -11
  49. fastapi_fullstack-0.2.11/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/admin/layout.tsx +38 -0
  50. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/admin/page.tsx +32 -17
  51. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/admin/ratings/page.tsx +107 -85
  52. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/admin/stripe-events/page.tsx +15 -29
  53. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/admin/users/page.tsx +8 -7
  54. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/billing/credits/page.tsx +24 -26
  55. fastapi_fullstack-0.2.11/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/billing/invoices/page.tsx +21 -0
  56. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/billing/page.tsx +30 -28
  57. fastapi_fullstack-0.2.11/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/billing/payment-methods/page.tsx +21 -0
  58. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/billing/subscription/page.tsx +10 -12
  59. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/billing/usage/page.tsx +22 -30
  60. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/dashboard/page.tsx +238 -86
  61. fastapi_fullstack-0.2.11/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/kb/[id]/page.tsx +674 -0
  62. fastapi_fullstack-0.2.11/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/kb/page.tsx +104 -0
  63. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/orgs/page.tsx +28 -28
  64. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/rag/page.tsx +14 -4
  65. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/settings/account/page.tsx +15 -1
  66. fastapi_fullstack-0.2.11/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/settings/appearance/page.tsx +36 -0
  67. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/settings/layout.tsx +10 -11
  68. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/settings/notifications/page.tsx +23 -23
  69. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/settings/profile/page.tsx +108 -83
  70. fastapi_fullstack-0.2.11/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/page.tsx +393 -0
  71. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/globals.css +1 -1
  72. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/layout.tsx +2 -10
  73. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/admin/admin-nav.tsx +4 -0
  74. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/auth/forgot-password-form.tsx +30 -16
  75. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/auth/index.ts +2 -0
  76. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/auth/login-form.tsx +33 -17
  77. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/auth/register-form.tsx +24 -16
  78. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/auth/reset-password-form.tsx +17 -9
  79. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/chat/chart-message.tsx +14 -4
  80. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/chat/chat-container.tsx +94 -138
  81. fastapi_fullstack-0.2.11/template/{{cookiecutter.project_slug}}/frontend/src/components/chat/chat-controls.tsx +585 -0
  82. fastapi_fullstack-0.2.11/template/{{cookiecutter.project_slug}}/frontend/src/components/chat/chat-empty-state.tsx +142 -0
  83. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/chat/chat-input.tsx +1 -1
  84. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/chat/conversation-sidebar.tsx +41 -26
  85. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/chat/file-preview-panel.tsx +1 -3
  86. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/chat/index.ts +1 -3
  87. fastapi_fullstack-0.2.11/template/{{cookiecutter.project_slug}}/frontend/src/components/chat/map-leaflet.tsx +72 -0
  88. fastapi_fullstack-0.2.11/template/{{cookiecutter.project_slug}}/frontend/src/components/chat/map-message.tsx +39 -0
  89. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/chat/message-list.tsx +1 -2
  90. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/chat/tool-approval-dialog.tsx +0 -1
  91. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/chat/tool-call-card.tsx +273 -13
  92. fastapi_fullstack-0.2.11/template/{{cookiecutter.project_slug}}/frontend/src/components/dashboard/page-hero.tsx +151 -0
  93. fastapi_fullstack-0.2.11/template/{{cookiecutter.project_slug}}/frontend/src/components/kb/kb-list.tsx +185 -0
  94. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/layout/command-palette.tsx +16 -0
  95. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/layout/header.tsx +7 -1
  96. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/layout/mobile-tab-bar.tsx +2 -0
  97. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/layout/sidebar.tsx +7 -18
  98. fastapi_fullstack-0.2.11/template/{{cookiecutter.project_slug}}/frontend/src/components/marketing/final-cta.tsx +81 -0
  99. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/marketing/footer-config.ts +8 -4
  100. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/marketing/hero.tsx +1 -1
  101. fastapi_fullstack-0.2.11/template/{{cookiecutter.project_slug}}/frontend/src/components/marketing/marketing-footer.tsx +126 -0
  102. fastapi_fullstack-0.2.11/template/{{cookiecutter.project_slug}}/frontend/src/components/marketing/pricing-teaser.tsx +175 -0
  103. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/seo/json-ld.tsx +0 -1
  104. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/settings/settings-nav.tsx +4 -0
  105. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/ui/index.ts +2 -0
  106. fastapi_fullstack-0.2.11/template/{{cookiecutter.project_slug}}/frontend/src/components/ui/question-prompt.tsx +257 -0
  107. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/hooks/index.ts +3 -1
  108. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/hooks/use-chat.ts +28 -0
  109. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/types/chat.ts +40 -0
  110. fastapi_fullstack-0.2.9/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(auth)/layout.tsx +0 -94
  111. fastapi_fullstack-0.2.9/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/admin/layout.tsx +0 -31
  112. fastapi_fullstack-0.2.9/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/billing/invoices/page.tsx +0 -23
  113. fastapi_fullstack-0.2.9/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/billing/payment-methods/page.tsx +0 -23
  114. fastapi_fullstack-0.2.9/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/kb/[id]/page.tsx +0 -431
  115. fastapi_fullstack-0.2.9/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/kb/page.tsx +0 -60
  116. fastapi_fullstack-0.2.9/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/settings/appearance/page.tsx +0 -35
  117. fastapi_fullstack-0.2.9/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/page.tsx +0 -436
  118. fastapi_fullstack-0.2.9/template/{{cookiecutter.project_slug}}/frontend/src/components/chat/chat-empty-state.tsx +0 -73
  119. fastapi_fullstack-0.2.9/template/{{cookiecutter.project_slug}}/frontend/src/components/chat/chat-settings.tsx +0 -139
  120. fastapi_fullstack-0.2.9/template/{{cookiecutter.project_slug}}/frontend/src/components/chat/kb-selector.tsx +0 -166
  121. fastapi_fullstack-0.2.9/template/{{cookiecutter.project_slug}}/frontend/src/components/kb/kb-list.tsx +0 -165
  122. fastapi_fullstack-0.2.9/template/{{cookiecutter.project_slug}}/frontend/src/components/marketing/final-cta.tsx +0 -43
  123. fastapi_fullstack-0.2.9/template/{{cookiecutter.project_slug}}/frontend/src/components/marketing/marketing-footer.tsx +0 -82
  124. fastapi_fullstack-0.2.9/template/{{cookiecutter.project_slug}}/frontend/src/components/marketing/pricing-teaser.tsx +0 -97
  125. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/LICENSE +0 -0
  126. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/fastapi_gen/__init__.py +0 -0
  127. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/fastapi_gen/generator.py +0 -0
  128. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/.claude/commands/add-endpoint.md +0 -0
  129. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/.claude/commands/fix-issue.md +0 -0
  130. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/.claude/commands/review.md +0 -0
  131. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/.claude/rules/api-conventions.md +0 -0
  132. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/.claude/rules/architecture.md +0 -0
  133. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/.claude/rules/code-style.md +0 -0
  134. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/.claude/rules/exceptions-security.md +0 -0
  135. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/.claude/rules/frontend.md +0 -0
  136. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/.claude/rules/schemas-models.md +0 -0
  137. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/.claude/rules/testing.md +0 -0
  138. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/.claude/settings.json +0 -0
  139. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/.gitignore +0 -0
  140. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/.gitlab-ci.yml +0 -0
  141. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/AGENTS.md +0 -0
  142. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/CLAUDE.md +0 -0
  143. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/CONTRIBUTING.md +0 -0
  144. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/ENV_VARS.md +0 -0
  145. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/MANUAL_STEPS.md +0 -0
  146. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/README.md +0 -0
  147. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/SECURITY.md +0 -0
  148. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/.dockerignore +0 -0
  149. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/.pre-commit-config.yaml +0 -0
  150. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/Dockerfile +0 -0
  151. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/alembic/env.py +0 -0
  152. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/alembic/script.py.mako +0 -0
  153. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/alembic/versions/.gitkeep +0 -0
  154. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/alembic/versions/0000_create_users.py +0 -0
  155. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/alembic/versions/0001_create_organization_tables.py +0 -0
  156. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/alembic/versions/0002_backfill_personal_orgs.py +0 -0
  157. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/alembic/versions/0003_add_is_app_admin.py +0 -0
  158. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/alembic/versions/0004_5_create_core_tables.py +0 -0
  159. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/alembic/versions/0004_create_audit_log.py +0 -0
  160. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/alembic/versions/0005_add_org_id_to_conversations_and_rag.py +0 -0
  161. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/alembic/versions/0006_backfill_org_id_on_conversations.py +0 -0
  162. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/alembic/versions/0007_create_knowledge_bases.py +0 -0
  163. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/alembic/versions/0008_backfill_default_kbs.py +0 -0
  164. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/alembic/versions/0009_conv_active_kb_ids.py +0 -0
  165. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/alembic/versions/0010_org_billing_seats.py +0 -0
  166. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/alembic/versions/0011_create_plan_price_tables.py +0 -0
  167. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/alembic/versions/0012_create_subscription_table.py +0 -0
  168. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/alembic/versions/0013_create_stripe_event_table.py +0 -0
  169. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/alembic/versions/0014_credits_usage_events.py +0 -0
  170. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/alembic/versions/0015_create_mv_usage_daily.py +0 -0
  171. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/alembic/versions/0016_user_onboarding_at.py +0 -0
  172. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/alembic/versions/0018_user_slash_commands.py +0 -0
  173. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/alembic/versions/0019_user_external_id.py +0 -0
  174. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/alembic/versions/0020_conversation_external_user_id.py +0 -0
  175. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/alembic/versions/0021_create_items.py +0 -0
  176. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/alembic.ini +0 -0
  177. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/__init__.py +0 -0
  178. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/agents/__init__.py +0 -0
  179. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/agents/tools/chart_render.py +0 -0
  180. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/agents/tools/chart_tool.py +0 -0
  181. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/agents/tools/datetime_tool.py +0 -0
  182. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/agents/tools/fetch_url.py +0 -0
  183. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/agents/tools/rag_tool.py +0 -0
  184. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/agents/tools/web_search.py +0 -0
  185. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/api/__init__.py +0 -0
  186. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/api/exception_handlers.py +0 -0
  187. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/api/router.py +0 -0
  188. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/api/routes/__init__.py +0 -0
  189. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/admin_conversations.py +0 -0
  190. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/admin_ratings.py +0 -0
  191. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/admin_stats.py +0 -0
  192. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/admin_users.py +0 -0
  193. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/agent.py +0 -0
  194. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/auth.py +0 -0
  195. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/billing.py +0 -0
  196. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/channels.py +0 -0
  197. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/contact.py +0 -0
  198. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/conversations.py +0 -0
  199. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/files.py +0 -0
  200. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/health.py +0 -0
  201. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/invitations.py +0 -0
  202. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/items.py +0 -0
  203. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/knowledge_bases.py +0 -0
  204. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/marketing.py +0 -0
  205. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/me_slash_commands.py +0 -0
  206. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/members.py +0 -0
  207. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/oauth.py +0 -0
  208. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/organizations.py +0 -0
  209. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/projects.py +0 -0
  210. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/rag.py +0 -0
  211. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/sessions.py +0 -0
  212. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/slack_webhook.py +0 -0
  213. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/telegram_webhook.py +0 -0
  214. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/users.py +0 -0
  215. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/webhooks.py +0 -0
  216. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/api/versioning.py +0 -0
  217. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/clients/__init__.py +0 -0
  218. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/clients/redis.py +0 -0
  219. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/commands/__init__.py +0 -0
  220. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/commands/channel.py +0 -0
  221. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/commands/cleanup.py +0 -0
  222. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/commands/create_app_admin.py +0 -0
  223. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/commands/example.py +0 -0
  224. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/commands/rag.py +0 -0
  225. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/commands/seed.py +0 -0
  226. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/commands/sync_stripe_plans.py +0 -0
  227. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/core/__init__.py +0 -0
  228. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/core/audit.py +0 -0
  229. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/core/cache.py +0 -0
  230. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/core/channel_crypto.py +0 -0
  231. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/core/csrf.py +0 -0
  232. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/core/exceptions.py +0 -0
  233. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/core/logfire_setup.py +0 -0
  234. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/core/logging.py +0 -0
  235. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/core/middleware.py +0 -0
  236. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/core/oauth.py +0 -0
  237. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/core/rate_limit.py +0 -0
  238. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/core/sanitize.py +0 -0
  239. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/core/security.py +0 -0
  240. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/db/__init__.py +0 -0
  241. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/db/base.py +0 -0
  242. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/db/models/audit_log.py +0 -0
  243. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/db/models/channel_bot.py +0 -0
  244. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/db/models/channel_identity.py +0 -0
  245. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/db/models/channel_session.py +0 -0
  246. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/db/models/chat_file.py +0 -0
  247. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/db/models/conversation.py +0 -0
  248. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/db/models/conversation_share.py +0 -0
  249. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/db/models/credit_transaction.py +0 -0
  250. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/db/models/item.py +0 -0
  251. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/db/models/knowledge_base.py +0 -0
  252. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/db/models/message_rating.py +0 -0
  253. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/db/models/organization.py +0 -0
  254. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/db/models/plan.py +0 -0
  255. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/db/models/project.py +0 -0
  256. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/db/models/rag_document.py +0 -0
  257. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/db/models/session.py +0 -0
  258. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/db/models/stripe_event.py +0 -0
  259. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/db/models/subscription.py +0 -0
  260. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/db/models/sync_log.py +0 -0
  261. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/db/models/sync_source.py +0 -0
  262. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/db/models/user.py +0 -0
  263. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/db/models/user_slash_command.py +0 -0
  264. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/db/models/webhook.py +0 -0
  265. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/db/session.py +0 -0
  266. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/main.py +0 -0
  267. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/repositories/channel_bot.py +0 -0
  268. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/repositories/channel_identity.py +0 -0
  269. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/repositories/channel_session.py +0 -0
  270. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/repositories/chat_file.py +0 -0
  271. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/repositories/conversation.py +0 -0
  272. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/repositories/conversation_share.py +0 -0
  273. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/repositories/credit_transaction.py +0 -0
  274. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/repositories/invitation.py +0 -0
  275. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/repositories/item.py +0 -0
  276. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/repositories/knowledge_base.py +0 -0
  277. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/repositories/member.py +0 -0
  278. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/repositories/message_rating.py +0 -0
  279. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/repositories/organization.py +0 -0
  280. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/repositories/plan.py +0 -0
  281. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/repositories/project.py +0 -0
  282. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/repositories/rag_document.py +0 -0
  283. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/repositories/session.py +0 -0
  284. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/repositories/stripe_event.py +0 -0
  285. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/repositories/subscription.py +0 -0
  286. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/repositories/sync_log.py +0 -0
  287. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/repositories/sync_source.py +0 -0
  288. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/repositories/usage_event.py +0 -0
  289. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/repositories/user_slash_command.py +0 -0
  290. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/repositories/webhook.py +0 -0
  291. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/schemas/admin.py +0 -0
  292. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/schemas/base.py +0 -0
  293. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/schemas/billing.py +0 -0
  294. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/schemas/channel_bot.py +0 -0
  295. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/schemas/contact.py +0 -0
  296. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/schemas/conversation.py +0 -0
  297. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/schemas/conversation_share.py +0 -0
  298. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/schemas/file.py +0 -0
  299. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/schemas/item.py +0 -0
  300. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/schemas/knowledge_base.py +0 -0
  301. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/schemas/marketing.py +0 -0
  302. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/schemas/message_rating.py +0 -0
  303. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/schemas/organization.py +0 -0
  304. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/schemas/password_reset.py +0 -0
  305. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/schemas/project.py +0 -0
  306. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/schemas/rag.py +0 -0
  307. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/schemas/session.py +0 -0
  308. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/schemas/sync_source.py +0 -0
  309. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/schemas/token.py +0 -0
  310. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/schemas/user.py +0 -0
  311. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/schemas/user_slash_command.py +0 -0
  312. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/schemas/webhook.py +0 -0
  313. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/__init__.py +0 -0
  314. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/agent.py +0 -0
  315. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/agent_invocation.py +0 -0
  316. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/anomaly_detection.py +0 -0
  317. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/billing/__init__.py +0 -0
  318. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/billing/checkout_service.py +0 -0
  319. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/billing/credit_service.py +0 -0
  320. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/billing/exceptions.py +0 -0
  321. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/billing/facade.py +0 -0
  322. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/billing/handlers/__init__.py +0 -0
  323. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/billing/handlers/customer_events.py +0 -0
  324. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/billing/handlers/invoice_events.py +0 -0
  325. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/billing/handlers/payment_events.py +0 -0
  326. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/billing/handlers/subscription_events.py +0 -0
  327. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/billing/pricing.py +0 -0
  328. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/billing/stripe_client.py +0 -0
  329. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/billing/subscription_service.py +0 -0
  330. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/billing/webhook_handler.py +0 -0
  331. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/channel_bot.py +0 -0
  332. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/channels/__init__.py +0 -0
  333. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/channels/base.py +0 -0
  334. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/channels/router.py +0 -0
  335. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/channels/slack.py +0 -0
  336. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/channels/telegram.py +0 -0
  337. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/contact.py +0 -0
  338. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/conversation.py +0 -0
  339. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/conversation_share.py +0 -0
  340. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/email/__init__.py +0 -0
  341. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/email/exceptions.py +0 -0
  342. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/email/providers/__init__.py +0 -0
  343. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/email/providers/base.py +0 -0
  344. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/email/providers/log.py +0 -0
  345. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/email/providers/resend.py +0 -0
  346. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/email/providers/smtp.py +0 -0
  347. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/email/service.py +0 -0
  348. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/email/templates.py +0 -0
  349. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/file_storage.py +0 -0
  350. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/file_upload.py +0 -0
  351. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/health.py +0 -0
  352. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/invitation.py +0 -0
  353. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/item.py +0 -0
  354. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/knowledge_base.py +0 -0
  355. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/member.py +0 -0
  356. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/message_rating.py +0 -0
  357. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/newsletter.py +0 -0
  358. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/organization.py +0 -0
  359. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/project.py +0 -0
  360. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/rag/__init__.py +0 -0
  361. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/rag/config.py +0 -0
  362. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/rag/connectors/__init__.py +0 -0
  363. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/rag/connectors/google_drive.py +0 -0
  364. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/rag/connectors/s3.py +0 -0
  365. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/rag/documents.py +0 -0
  366. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/rag/embeddings.py +0 -0
  367. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/rag/image_describer.py +0 -0
  368. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/rag/ingestion.py +0 -0
  369. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/rag/models.py +0 -0
  370. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/rag/retrieval.py +0 -0
  371. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/rag/sources/__init__.py +0 -0
  372. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/rag/sources/base.py +0 -0
  373. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/rag/sources/google_drive.py +0 -0
  374. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/rag/sources/s3.py +0 -0
  375. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/rag/vectorstore.py +0 -0
  376. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/rag_document.py +0 -0
  377. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/rag_status.py +0 -0
  378. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/rag_sync.py +0 -0
  379. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/rate_limit/__init__.py +0 -0
  380. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/rate_limit/rules.py +0 -0
  381. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/rate_limit/service.py +0 -0
  382. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/rate_limit/storage.py +0 -0
  383. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/session.py +0 -0
  384. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/sync_source.py +0 -0
  385. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/usage.py +0 -0
  386. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/user.py +0 -0
  387. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/user_slash_command.py +0 -0
  388. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/services/webhook.py +0 -0
  389. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/worker/__init__.py +0 -0
  390. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/worker/arq_app.py +0 -0
  391. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/worker/background/__init__.py +0 -0
  392. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/worker/background/channel.py +0 -0
  393. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/worker/background/rag.py +0 -0
  394. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/worker/celery_app.py +0 -0
  395. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/worker/taskiq_app.py +0 -0
  396. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/worker/tasks/__init__.py +0 -0
  397. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/worker/tasks/anomaly_tasks.py +0 -0
  398. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/worker/tasks/cleanup_tasks.py +0 -0
  399. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/worker/tasks/email_tasks.py +0 -0
  400. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/worker/tasks/rag_tasks.py +0 -0
  401. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/app/worker/tasks/schedules.py +0 -0
  402. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/cli/__init__.py +0 -0
  403. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/cli/commands.py +0 -0
  404. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/scripts/.gitkeep +0 -0
  405. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/tests/__init__.py +0 -0
  406. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/tests/api/__init__.py +0 -0
  407. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/tests/api/test_auth.py +0 -0
  408. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/tests/api/test_exceptions.py +0 -0
  409. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/tests/api/test_health.py +0 -0
  410. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/tests/api/test_metrics.py +0 -0
  411. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/tests/api/test_openapi.py +0 -0
  412. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/tests/api/test_users.py +0 -0
  413. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/tests/conftest.py +0 -0
  414. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/tests/test_admin.py +0 -0
  415. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/tests/test_agents.py +0 -0
  416. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/tests/test_chart_tool.py +0 -0
  417. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/tests/test_clients.py +0 -0
  418. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/tests/test_commands.py +0 -0
  419. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/tests/test_conversation_kb_toggle.py +0 -0
  420. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/tests/test_core.py +0 -0
  421. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/tests/test_fetch_url.py +0 -0
  422. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/tests/test_kb_scoping.py +0 -0
  423. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/tests/test_migrations.py +0 -0
  424. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/tests/test_rbac_teams.py +0 -0
  425. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/tests/test_repositories.py +0 -0
  426. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/tests/test_repositories_teams.py +0 -0
  427. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/tests/test_security.py +0 -0
  428. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/tests/test_services.py +0 -0
  429. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/tests/test_services_conversation.py +0 -0
  430. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/tests/test_services_members.py +0 -0
  431. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/tests/test_services_organizations.py +0 -0
  432. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/tests/test_ssrf.py +0 -0
  433. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/tests/test_stripe_seats.py +0 -0
  434. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/tests/test_tenant_isolation.py +0 -0
  435. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/backend/tests/test_web_search.py +0 -0
  436. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/docker-compose.frontend.yml +0 -0
  437. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/docs/adding_features.md +0 -0
  438. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/docs/architecture.md +0 -0
  439. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/docs/commands.md +0 -0
  440. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/docs/configuration.md +0 -0
  441. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/docs/deploy.md +0 -0
  442. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/docs/file-processing.md +0 -0
  443. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/docs/howto/add-agent-tool.md +0 -0
  444. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/docs/howto/add-api-endpoint.md +0 -0
  445. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/docs/howto/add-background-task.md +0 -0
  446. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/docs/howto/add-rag-source.md +0 -0
  447. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/docs/howto/add-sync-connector.md +0 -0
  448. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/docs/howto/configure-sync-sources.md +0 -0
  449. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/docs/howto/customize-agent-prompt.md +0 -0
  450. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/docs/howto/use-ratings.md +0 -0
  451. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/docs/patterns.md +0 -0
  452. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/docs/permissions.md +0 -0
  453. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/docs/testing.md +0 -0
  454. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/emails/compiled/email_verification.html +0 -0
  455. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/emails/compiled/email_verification.txt +0 -0
  456. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/emails/compiled/invitation.html +0 -0
  457. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/emails/compiled/invitation.txt +0 -0
  458. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/emails/compiled/low_credits.html +0 -0
  459. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/emails/compiled/low_credits.txt +0 -0
  460. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/emails/compiled/magic_link.html +0 -0
  461. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/emails/compiled/magic_link.txt +0 -0
  462. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/emails/compiled/newsletter_welcome.html +0 -0
  463. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/emails/compiled/newsletter_welcome.txt +0 -0
  464. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/emails/compiled/password_reset.html +0 -0
  465. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/emails/compiled/password_reset.txt +0 -0
  466. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/emails/compiled/payment_failed.html +0 -0
  467. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/emails/compiled/payment_failed.txt +0 -0
  468. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/emails/compiled/payment_succeeded.html +0 -0
  469. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/emails/compiled/payment_succeeded.txt +0 -0
  470. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/emails/compiled/subscription_canceled.html +0 -0
  471. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/emails/compiled/subscription_canceled.txt +0 -0
  472. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/emails/compiled/subscription_changed.html +0 -0
  473. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/emails/compiled/subscription_changed.txt +0 -0
  474. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/emails/compiled/trial_ending.html +0 -0
  475. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/emails/compiled/trial_ending.txt +0 -0
  476. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/emails/compiled/trial_expired.html +0 -0
  477. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/emails/compiled/trial_expired.txt +0 -0
  478. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/emails/compiled/welcome.html +0 -0
  479. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/emails/compiled/welcome.txt +0 -0
  480. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/.dockerignore +0 -0
  481. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/.editorconfig +0 -0
  482. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/.env.example +0 -0
  483. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/.gitignore +0 -0
  484. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/.husky/pre-commit +0 -0
  485. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/.prettierignore +0 -0
  486. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/.prettierrc +0 -0
  487. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/Dockerfile +0 -0
  488. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/README.md +0 -0
  489. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/content/blog/rag-defaults-that-age-well.mdx +0 -0
  490. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/content/blog/shipping-ai-saas-template.mdx +0 -0
  491. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/content/blog/streaming-tool-calls-without-tears.mdx +0 -0
  492. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/e2e/auth.setup.ts +0 -0
  493. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/e2e/auth.spec.ts +0 -0
  494. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/e2e/home.spec.ts +0 -0
  495. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/instrumentation.ts +0 -0
  496. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/next.config.ts +0 -0
  497. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/playwright.config.ts +0 -0
  498. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/postcss.config.mjs +0 -0
  499. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(auth)/forgot-password/page.tsx +0 -0
  500. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(auth)/login/page.tsx +0 -0
  501. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(auth)/register/page.tsx +0 -0
  502. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(auth)/reset-password/page.tsx +0 -0
  503. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/admin/system/page.tsx +0 -0
  504. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/chat/page.tsx +0 -0
  505. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/invitations/[token]/page.tsx +0 -0
  506. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/layout.tsx +0 -0
  507. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/orgs/[id]/members/page.tsx +0 -0
  508. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/profile/page.tsx +0 -0
  509. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/settings/page.tsx +0 -0
  510. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/settings/slash-commands/page.tsx +0 -0
  511. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/about/page.tsx +0 -0
  512. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/auth/callback/page.tsx +0 -0
  513. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/auth/magic-link/layout.tsx +0 -0
  514. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/auth/magic-link/page.tsx +0 -0
  515. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/blog/[slug]/page.tsx +0 -0
  516. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/blog/page.tsx +0 -0
  517. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/changelog/page.tsx +0 -0
  518. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/community/page.tsx +0 -0
  519. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/contact/page.tsx +0 -0
  520. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/error.tsx +0 -0
  521. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/help/page.tsx +0 -0
  522. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/layout.tsx +0 -0
  523. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/legal/cookies/page.tsx +0 -0
  524. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/legal/privacy/page.tsx +0 -0
  525. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/legal/terms/page.tsx +0 -0
  526. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/onboarding/[step]/page.tsx +0 -0
  527. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/onboarding/page.tsx +0 -0
  528. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/pricing/layout.tsx +0 -0
  529. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/pricing/page.tsx +0 -0
  530. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/security/page.tsx +0 -0
  531. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/shared/[token]/page.tsx +0 -0
  532. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/admin/conversations/[id]/route.ts +0 -0
  533. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/admin/conversations/route.ts +0 -0
  534. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/admin/conversations/users/route.ts +0 -0
  535. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/admin/ratings/export/route.ts +0 -0
  536. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/admin/ratings/route.ts +0 -0
  537. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/admin/ratings/summary/route.ts +0 -0
  538. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/admin/stats/route.ts +0 -0
  539. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/admin/stripe-events/route.ts +0 -0
  540. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/admin/users/[userId]/impersonate/route.ts +0 -0
  541. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/admin/users/[userId]/route.ts +0 -0
  542. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/admin/users/route.ts +0 -0
  543. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/auth/login/route.ts +0 -0
  544. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/auth/logout/route.ts +0 -0
  545. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/auth/magic-link/request/route.ts +0 -0
  546. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/auth/magic-link/verify/route.ts +0 -0
  547. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/auth/me/route.ts +0 -0
  548. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/auth/oauth-callback/route.ts +0 -0
  549. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/auth/password-reset/confirm/route.ts +0 -0
  550. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/auth/password-reset/request/route.ts +0 -0
  551. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/auth/refresh/route.ts +0 -0
  552. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/auth/register/route.ts +0 -0
  553. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/billing/checkout/route.ts +0 -0
  554. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/billing/invoices/route.ts +0 -0
  555. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/billing/me/[...path]/route.ts +0 -0
  556. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/billing/portal/route.ts +0 -0
  557. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/contact/route.ts +0 -0
  558. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/conversations/[id]/messages/[messageId]/rate/route.ts +0 -0
  559. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/conversations/[id]/messages/route.ts +0 -0
  560. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/conversations/[id]/route.ts +0 -0
  561. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/conversations/[id]/shares/[shareId]/route.ts +0 -0
  562. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/conversations/[id]/shares/route.ts +0 -0
  563. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/conversations/export/route.ts +0 -0
  564. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/conversations/route.ts +0 -0
  565. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/conversations/shared-with-me/route.ts +0 -0
  566. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/conversations/tool-stats/route.ts +0 -0
  567. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/files/[id]/route.ts +0 -0
  568. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/files/upload/route.ts +0 -0
  569. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/health/route.ts +0 -0
  570. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/invitations/[token]/route.ts +0 -0
  571. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/kb/[id]/documents/[docId]/route.ts +0 -0
  572. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/kb/[id]/documents/route.ts +0 -0
  573. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/kb/[id]/route.ts +0 -0
  574. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/kb/[id]/sync-sources/[sourceId]/route.ts +0 -0
  575. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/kb/[id]/sync-sources/[sourceId]/trigger/route.ts +0 -0
  576. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/kb/[id]/sync-sources/connectors/route.ts +0 -0
  577. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/kb/[id]/sync-sources/route.ts +0 -0
  578. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/kb/route.ts +0 -0
  579. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/me/slash-commands/[id]/route.ts +0 -0
  580. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/me/slash-commands/builtin/route.ts +0 -0
  581. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/me/slash-commands/custom/route.ts +0 -0
  582. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/me/slash-commands/route.ts +0 -0
  583. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/orgs/[id]/avatar/route.ts +0 -0
  584. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/orgs/[id]/invitations/route.ts +0 -0
  585. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/orgs/[id]/members/[userId]/route.ts +0 -0
  586. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/orgs/[id]/members/route.ts +0 -0
  587. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/orgs/[id]/route.ts +0 -0
  588. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/orgs/route.ts +0 -0
  589. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/sessions/[id]/route.ts +0 -0
  590. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/sessions/route.ts +0 -0
  591. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/users/avatar/[userId]/route.ts +0 -0
  592. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/users/me/avatar/route.ts +0 -0
  593. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/users/me/route.ts +0 -0
  594. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/v1/agent/models/route.ts +0 -0
  595. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/v1/rag/collections/[name]/documents/[documentId]/route.ts +0 -0
  596. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/v1/rag/collections/[name]/documents/route.ts +0 -0
  597. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/v1/rag/collections/[name]/info/route.ts +0 -0
  598. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/v1/rag/collections/[name]/ingest/route.ts +0 -0
  599. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/v1/rag/collections/[name]/route.ts +0 -0
  600. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/v1/rag/collections/route.ts +0 -0
  601. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/v1/rag/documents/[docId]/download/route.ts +0 -0
  602. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/v1/rag/documents/[docId]/route.ts +0 -0
  603. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/v1/rag/documents/route.ts +0 -0
  604. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/v1/rag/search/route.ts +0 -0
  605. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/v1/rag/supported-formats/route.ts +0 -0
  606. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/v1/rag/sync/[syncId]/route.ts +0 -0
  607. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/v1/rag/sync/connectors/route.ts +0 -0
  608. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/v1/rag/sync/local/route.ts +0 -0
  609. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/v1/rag/sync/sources/[sourceId]/route.ts +0 -0
  610. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/v1/rag/sync/sources/[sourceId]/trigger/route.ts +0 -0
  611. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/api/v1/rag/sync/sources/route.ts +0 -0
  612. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/apple-icon.tsx +0 -0
  613. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/global-error.tsx +0 -0
  614. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/icon.tsx +0 -0
  615. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/manifest.ts +0 -0
  616. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/not-found.tsx +0 -0
  617. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/opengraph-image.tsx +0 -0
  618. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/providers.tsx +0 -0
  619. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/robots.ts +0 -0
  620. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/app/sitemap.ts +0 -0
  621. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/admin/user-detail-drawer.tsx +0 -0
  622. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/auth/oauth-buttons.tsx +0 -0
  623. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/billing/billing-card.tsx +0 -0
  624. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/billing/credits-panel.tsx +0 -0
  625. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/billing/index.ts +0 -0
  626. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/billing/invoices-panel.tsx +0 -0
  627. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/billing/payment-methods-panel.tsx +0 -0
  628. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/billing/seat-selector-dialog.tsx +0 -0
  629. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/billing/subscription-panel.tsx +0 -0
  630. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/billing/usage-gauge.tsx +0 -0
  631. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/blog/mdx-components.tsx +0 -0
  632. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/brand-override.tsx +0 -0
  633. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/chat/copy-button.tsx +0 -0
  634. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/chat/markdown-content.tsx +0 -0
  635. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/chat/message-item.tsx +0 -0
  636. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/chat/pending-messages.tsx +0 -0
  637. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/chat/rating-buttons.tsx +0 -0
  638. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/chat/share-dialog.tsx +0 -0
  639. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/chat/slash-command-palette.tsx +0 -0
  640. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/chat/slash-commands.ts +0 -0
  641. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/dashboard/active-sessions.tsx +0 -0
  642. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/dashboard/onboarding-banner.tsx +0 -0
  643. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/dashboard/quick-actions.tsx +0 -0
  644. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/dashboard/recent-activity.tsx +0 -0
  645. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/dashboard/segmented-control.tsx +0 -0
  646. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/dashboard/stat-card.tsx +0 -0
  647. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/dashboard/subscription-chip.tsx +0 -0
  648. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/dashboard/team-summary.tsx +0 -0
  649. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/dashboard/tool-usage.tsx +0 -0
  650. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/dashboard/top-models.tsx +0 -0
  651. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/dashboard/usage-timeline.tsx +0 -0
  652. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/icons/google-icon.tsx +0 -0
  653. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/icons/index.ts +0 -0
  654. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/kb/create-kb-dialog.tsx +0 -0
  655. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/kb/index.ts +0 -0
  656. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/language-switcher.tsx +0 -0
  657. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/layout/auth-guard.tsx +0 -0
  658. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/layout/breadcrumb.tsx +0 -0
  659. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/layout/index.ts +0 -0
  660. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/layout/landing-nav.tsx +0 -0
  661. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/layout/page-transition.tsx +0 -0
  662. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/legal/cookies-content.tsx +0 -0
  663. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/legal/privacy-content.tsx +0 -0
  664. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/legal/terms-content.tsx +0 -0
  665. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/marketing/animated-number.tsx +0 -0
  666. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/marketing/brand-icon.tsx +0 -0
  667. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/marketing/code-preview.tsx +0 -0
  668. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/marketing/contact-form.tsx +0 -0
  669. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/marketing/cookie-banner.tsx +0 -0
  670. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/marketing/data-flow-diagram.tsx +0 -0
  671. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/marketing/faq-accordion.tsx +0 -0
  672. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/marketing/feature-glyph.tsx +0 -0
  673. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/marketing/feature-mockup.tsx +0 -0
  674. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/marketing/feature-section.tsx +0 -0
  675. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/marketing/hero-demo.tsx +0 -0
  676. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/marketing/highlight.tsx +0 -0
  677. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/marketing/how-it-works.tsx +0 -0
  678. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/marketing/legal-page.tsx +0 -0
  679. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/marketing/logos-strip.tsx +0 -0
  680. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/marketing/marketing-page-layout.tsx +0 -0
  681. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/marketing/marquee.tsx +0 -0
  682. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/marketing/newsletter-signup.tsx +0 -0
  683. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/marketing/pill-nav.tsx +0 -0
  684. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/marketing/reveal.tsx +0 -0
  685. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/marketing/section.tsx +0 -0
  686. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/marketing/testimonial-carousel.tsx +0 -0
  687. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/marketing/testimonial-grid.tsx +0 -0
  688. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/onboarding/onboarding-shell.tsx +0 -0
  689. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/onboarding/onboarding-state.ts +0 -0
  690. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/onboarding/step-agent.tsx +0 -0
  691. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/onboarding/step-data.tsx +0 -0
  692. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/onboarding/step-done.tsx +0 -0
  693. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/onboarding/step-team.tsx +0 -0
  694. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/onboarding/step-welcome.tsx +0 -0
  695. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/rag/drag-drop-overlay.tsx +0 -0
  696. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/rag/sync-source-wizard.tsx +0 -0
  697. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/settings/brand-color-picker.tsx +0 -0
  698. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/settings/settings-section.tsx +0 -0
  699. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/settings/slash-commands-manager.tsx +0 -0
  700. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/states/empty-state.tsx +0 -0
  701. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/states/error-state.tsx +0 -0
  702. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/states/index.ts +0 -0
  703. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/states/loading-state.tsx +0 -0
  704. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/teams/create-org-dialog.tsx +0 -0
  705. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/teams/index.ts +0 -0
  706. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/teams/invite-member-dialog.tsx +0 -0
  707. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/teams/members-table.tsx +0 -0
  708. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/teams/org-switcher.tsx +0 -0
  709. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/theme/index.ts +0 -0
  710. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/theme/theme-provider.tsx +0 -0
  711. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/theme/theme-toggle.tsx +0 -0
  712. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/ui/accordion.tsx +0 -0
  713. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/ui/alert-dialog.tsx +0 -0
  714. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/ui/alert.tsx +0 -0
  715. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/ui/avatar.tsx +0 -0
  716. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/ui/badge.tsx +0 -0
  717. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/ui/button.test.tsx +0 -0
  718. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/ui/button.tsx +0 -0
  719. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/ui/card.tsx +0 -0
  720. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/ui/checkbox.tsx +0 -0
  721. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/ui/dialog.tsx +0 -0
  722. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/ui/dropdown-menu.tsx +0 -0
  723. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/ui/input.tsx +0 -0
  724. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/ui/label.tsx +0 -0
  725. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/ui/popover.tsx +0 -0
  726. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/ui/progress.tsx +0 -0
  727. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/ui/radio-group.tsx +0 -0
  728. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/ui/scroll-area.tsx +0 -0
  729. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/ui/select.tsx +0 -0
  730. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/ui/separator.tsx +0 -0
  731. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/ui/sheet.tsx +0 -0
  732. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/ui/skeleton.tsx +0 -0
  733. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/ui/spinner.tsx +0 -0
  734. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/ui/switch.tsx +0 -0
  735. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/ui/table.tsx +0 -0
  736. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/ui/tabs.tsx +0 -0
  737. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/ui/textarea.tsx +0 -0
  738. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/components/ui/tooltip.tsx +0 -0
  739. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/hooks/use-admin-conversations.ts +0 -0
  740. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/hooks/use-admin-users.ts +0 -0
  741. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/hooks/use-auth.ts +0 -0
  742. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/hooks/use-billing.ts +0 -0
  743. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/hooks/use-conversation-shares.ts +0 -0
  744. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/hooks/use-conversations.ts +0 -0
  745. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/hooks/use-invitations.ts +0 -0
  746. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/hooks/use-knowledge-bases.ts +0 -0
  747. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/hooks/use-members.ts +0 -0
  748. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/hooks/use-organizations.ts +0 -0
  749. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/hooks/use-projects.ts +0 -0
  750. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/hooks/use-slash-commands.ts +0 -0
  751. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/hooks/use-websocket.ts +0 -0
  752. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/i18n.ts +0 -0
  753. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/lib/admin-auth.ts +0 -0
  754. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/lib/api-client.ts +0 -0
  755. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/lib/blog.ts +0 -0
  756. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/lib/changelog.ts +0 -0
  757. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/lib/constants.ts +0 -0
  758. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/lib/contact-info.ts +0 -0
  759. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/lib/file-api.ts +0 -0
  760. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/lib/rag-api.ts +0 -0
  761. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/lib/schema-org.ts +0 -0
  762. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/lib/seo.ts +0 -0
  763. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/lib/server-api.ts +0 -0
  764. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/lib/slash-commands-api.ts +0 -0
  765. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/lib/teaser-plans.ts +0 -0
  766. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/lib/utils.test.ts +0 -0
  767. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/lib/utils.ts +0 -0
  768. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/middleware.ts +0 -0
  769. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/stores/auth-store.test.ts +0 -0
  770. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/stores/auth-store.ts +0 -0
  771. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/stores/chat-sidebar-store.ts +0 -0
  772. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/stores/chat-store.ts +0 -0
  773. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/stores/conversation-store.ts +0 -0
  774. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/stores/file-preview-store.ts +0 -0
  775. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/stores/index.ts +0 -0
  776. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/stores/kb-selection-store.ts +0 -0
  777. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/stores/org-store.ts +0 -0
  778. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/stores/project-store.ts +0 -0
  779. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/stores/sidebar-store.ts +0 -0
  780. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/stores/theme-store.ts +0 -0
  781. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/types/api.ts +0 -0
  782. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/types/auth.ts +0 -0
  783. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/types/billing.ts +0 -0
  784. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/types/conversation.ts +0 -0
  785. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/types/index.ts +0 -0
  786. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/types/knowledge-base.ts +0 -0
  787. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/types/organization.ts +0 -0
  788. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/types/project.ts +0 -0
  789. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/src/types/speech.d.ts +0 -0
  790. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/tsconfig.json +0 -0
  791. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/vercel.json +0 -0
  792. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/vitest.config.ts +0 -0
  793. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/frontend/vitest.setup.ts +0 -0
  794. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/kubernetes/configmap.yaml +0 -0
  795. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/kubernetes/deployment.yaml +0 -0
  796. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/kubernetes/ingress.yaml +0 -0
  797. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/kubernetes/kustomization.yaml +0 -0
  798. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/kubernetes/namespace.yaml +0 -0
  799. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/kubernetes/secret.yaml +0 -0
  800. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/kubernetes/service.yaml +0 -0
  801. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/nginx/nginx.conf +0 -0
  802. {fastapi_fullstack-0.2.9 → fastapi_fullstack-0.2.11}/template/{{cookiecutter.project_slug}}/nginx/ssl/.gitkeep +0 -0
@@ -3,6 +3,7 @@ notes/
3
3
  .vscode/
4
4
  .DS_Store
5
5
  test7/
6
+ ai_agent_test/
6
7
  # Byte-compiled / optimized / DLL files
7
8
  __pycache__/
8
9
  *.py[codz]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fastapi-fullstack
3
- Version: 0.2.9
3
+ Version: 0.2.11
4
4
  Summary: Full-stack FastAPI + Next.js template generator with PydanticAI/LangChain agents, WebSocket streaming, 20+ enterprise integrations, and Logfire/LangSmith observability. Ship AI apps fast. CLI tool to generate production-ready FastAPI + Next.js projects with AI agents, auth, and observability.
5
5
  Project-URL: Homepage, https://github.com/vstorm-co/full-stack-ai-agent-template
6
6
  Project-URL: Documentation, https://github.com/vstorm-co/full-stack-ai-agent-template#readme
@@ -46,7 +46,7 @@ Requires-Dist: pymdown-extensions>=10.20; extra == 'docs'
46
46
  Description-Content-Type: text/markdown
47
47
 
48
48
  <p align="center">
49
- <img src="https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/banner.png" alt="Full-Stack AI Agent Template" width="100%">
49
+ <img src="https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/chat_demo.gif" alt="Live chat web search, tool calls, and chart generation" width="100%">
50
50
  </p>
51
51
 
52
52
  <h1 align="center">Full-Stack AI Agent Template</h1>
@@ -298,22 +298,10 @@ Use `make help` to see all available Makefile shortcuts.
298
298
  <img src="https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/app_start.gif" alt="FastAPI Fullstack Generator Demo">
299
299
  </p>
300
300
 
301
- **Live chat — web search:**
302
-
303
- <p align="center">
304
- <img src="https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/chat/websearchdemo.gif" alt="Agent answering with live web search">
305
- </p>
306
-
307
- **Live chat — chart generation:**
308
-
309
- <p align="center">
310
- <img src="https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/chat/chartdemo.gif" alt="Agent generating an interactive chart">
311
- </p>
312
-
313
301
  **File upload & RAG ingestion:**
314
302
 
315
303
  <p align="center">
316
- <img src="https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/file_uploud_light.gif" alt="File Upload Demo">
304
+ <img src="https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/rag_demo.gif" alt="File upload &amp; RAG ingestion" width="100%">
317
305
  </p>
318
306
 
319
307
  ---
@@ -324,109 +312,109 @@ Use `make help` to see all available Makefile shortcuts.
324
312
 
325
313
  **Landing Page** — Full-page marketing site with hero, features breakdown, testimonials, pricing preview, and FAQ. Generated with the `enable_marketing_site` option.
326
314
 
327
- ![Landing Page](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/landing_page.png)
315
+ ![Landing Page](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/landing_page.png)
328
316
 
329
317
  **Pricing** — Three-tier pricing page (Starter / Pro / Business) with monthly/annual toggle. Pulls live plan data from Stripe when connected; shows template plans otherwise.
330
318
 
331
- ![Pricing](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/pricing.png)
319
+ ![Pricing](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/pricing.png)
332
320
 
333
321
  **Blog** — Engineering blog included out of the box. Posts are MDX files in the repo — no CMS needed. Supports tags, featured posts, and author bylines.
334
322
 
335
- ![Blog](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/blog.png)
323
+ ![Blog](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/blog.png)
336
324
 
337
325
  **Blog Post** — Individual post view with author card, reading time, and tag badges. Content is plain MDX — edit files and redeploy.
338
326
 
339
- ![Blog Post](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/blog_post.png)
327
+ ![Blog Post](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/blog_post.png)
340
328
 
341
329
  ### Auth
342
330
 
343
331
  **Login** — Split-screen login with Google OAuth and email/password. Left panel shows a product pitch with a social proof quote. HTTP-only cookie session on submit.
344
332
 
345
- ![Login](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/login.png)
333
+ ![Login](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/login.png)
346
334
 
347
335
  **Register** — Same split-screen layout as login. Google sign-up and email/password form with confirm-password field and terms acceptance.
348
336
 
349
- ![Register](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/register.png)
337
+ ![Register](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/register.png)
350
338
 
351
339
  ### Dashboard
352
340
 
353
341
  **Dashboard (light mode)** — Workspace overview showing conversation count, knowledge base vector count, recent activity feed, agent tool call stats, active sessions, and team info. Onboarding banner guides new users through setup in under 2 minutes.
354
342
 
355
- ![Dashboard Light](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/dashboard_light.png)
343
+ ![Dashboard Light](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/dashboard_light.png)
356
344
 
357
345
  **Dashboard (dark mode)** — Same dashboard in dark theme. Theme is saved per-device and can be overridden per-workspace in appearance settings.
358
346
 
359
- ![Dashboard Dark](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/dashboard_dark.png)
347
+ ![Dashboard Dark](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/dashboard_dark.png)
360
348
 
361
349
  ### Teams & Organizations
362
350
 
363
351
  **Workspaces** — List of all organizations the user belongs to. Shows plan tier and role for each. Users can switch active workspace or create a new organization.
364
352
 
365
- ![Organizations](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/organizations.png)
353
+ ![Organizations](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/organizations.png)
366
354
 
367
355
  **Team Management** — Organization detail page with workspace profile (name + avatar), member list with roles, and an "Invite teammate" button. Owners and admins can adjust roles inline.
368
356
 
369
- ![Organization Details](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/organizations_details.png)
357
+ ![Organization Details](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/organization_details.png)
370
358
 
371
359
  ### Knowledge Bases
372
360
 
373
361
  **Knowledge Bases** — List of RAG knowledge bases scoped to the current workspace. Each base shows its collection slug. Users can create new bases, toggle which ones are active in chat, and upload documents through the UI.
374
362
 
375
- ![Knowledge Bases](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/knowledge_bases.png)
363
+ ![Knowledge Bases](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/knowledge_bases.png)
376
364
 
377
365
  ### Billing
378
366
 
379
367
  **Billing** — Workspace billing dashboard showing current plan, storage usage (chat attachments + indexed RAG documents), quick links to usage breakdown, invoices, payment methods, and subscription management. "Manage in Stripe" opens the Stripe customer portal.
380
368
 
381
- ![Billing](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/billing.png)
369
+ ![Billing](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/billing.png)
382
370
 
383
371
  ### Profile & Settings
384
372
 
385
373
  **Profile** — Personal info tab: avatar upload, display name, email, and active session list with per-device revoke buttons. Visibility note explains which fields are shown to teammates.
386
374
 
387
- ![Profile](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/profile.png)
375
+ ![Profile](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/profile.png)
388
376
 
389
377
  **Account & Security** — Change password form with strength guidance, "Sign out everywhere" button, and danger zone for permanent account deletion.
390
378
 
391
- ![Account](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/profile_account.png)
379
+ ![Account](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/profile_account.png)
392
380
 
393
381
  **Slash Commands** — Customize the `/command` palette in chat. Toggle built-in commands (`/clear`, `/regen`, `/settings`, `/summarize`, `/explain`) and create custom shortcuts that send a stored prompt with a few keystrokes.
394
382
 
395
- ![Slash Commands](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/profile_commands.png)
383
+ ![Slash Commands](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/profile_commands.png)
396
384
 
397
385
  **Appearance** — Theme switcher (light / dark / system) and brand color picker with four presets: Blue (Stripe/Vercel), Green (healthtech), Red (energetic), Orange (B2C), Violet (Anthropic-style). Brand color updates CSS variables across the entire workspace and is saved per-device.
398
386
 
399
- ![Appearance](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/profile_apperance.png)
387
+ ![Appearance](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/profile_appearance.png)
400
388
 
401
389
  **Notification Preferences** — Per-category notification controls with separate toggles for email and in-app delivery. Categories: Billing, Team activity, Security alerts, and Product updates. Preferences stored locally and synced to the backend via `/users/me/notifications`.
402
390
 
403
- ![Notifications](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/profile_notifications.png)
391
+ ![Notifications](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/profile_notifications.png)
404
392
 
405
393
  ### Admin Panel
406
394
 
407
395
  **Admin Overview** — Workspace-wide metrics (total users, active sessions last 24h, conversation count, MRR) plus a recent activity feed showing all conversations across all users. Requires the `admin` role.
408
396
 
409
- ![Admin Overview](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/admin.png)
397
+ ![Admin Overview](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/admin_overview.png)
410
398
 
411
399
  **User Management** — Full user list with search by email or name. Shows role, status, join date, and an "Inspect" action to impersonate or suspend any user. Pagination built in.
412
400
 
413
- ![Admin Users](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/admin_users.png)
401
+ ![Admin Users](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/admin_users.png)
414
402
 
415
403
  **Conversation Browser** — Browse all conversations across the workspace. Filter by status and owner, sort by any column, open any conversation in a read-only view. Useful for support and quality review.
416
404
 
417
- ![Admin Conversations](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/admin_conversations.png)
405
+ ![Admin Conversations](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/admin_conversations.png)
418
406
 
419
407
  **Message Quality & Ratings** — Aggregated like/dislike feedback on AI responses over the last 30 days. Shows approval rate, daily chart, and a filterable table of individual ratings with optional user comments. Export to CSV.
420
408
 
421
- ![Admin Ratings](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/admin_ratings.png)
409
+ ![Admin Ratings](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/admin_ratings.png)
422
410
 
423
411
  **Stripe Events Log** — Webhook event browser for debugging Stripe billing flows. Lists all received events (type, customer, amount, status, timestamp) and lets admins manually replay any event via the backend `/admin/stripe-events/{id}/replay` endpoint.
424
412
 
425
- ![Stripe Events](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/admin_stripe_events.png)
413
+ ![Stripe Events](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/admin_stripe_events.png)
426
414
 
427
415
  **System Health** — Live readiness dashboard auto-refreshing every 30 seconds. Checks API, Database (PostgreSQL primary), Redis, Vector store, LLM provider, Background worker, and Stripe API. Shows uptime percentage per service.
428
416
 
429
- ![System Health](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/admin_system_health.png)
417
+ ![System Health](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/admin_system_health.png)
430
418
 
431
419
  ### Observability
432
420
 
@@ -1,5 +1,5 @@
1
1
  <p align="center">
2
- <img src="https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/banner.png" alt="Full-Stack AI Agent Template" width="100%">
2
+ <img src="https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/chat_demo.gif" alt="Live chat web search, tool calls, and chart generation" width="100%">
3
3
  </p>
4
4
 
5
5
  <h1 align="center">Full-Stack AI Agent Template</h1>
@@ -251,22 +251,10 @@ Use `make help` to see all available Makefile shortcuts.
251
251
  <img src="https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/app_start.gif" alt="FastAPI Fullstack Generator Demo">
252
252
  </p>
253
253
 
254
- **Live chat — web search:**
255
-
256
- <p align="center">
257
- <img src="https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/chat/websearchdemo.gif" alt="Agent answering with live web search">
258
- </p>
259
-
260
- **Live chat — chart generation:**
261
-
262
- <p align="center">
263
- <img src="https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/chat/chartdemo.gif" alt="Agent generating an interactive chart">
264
- </p>
265
-
266
254
  **File upload & RAG ingestion:**
267
255
 
268
256
  <p align="center">
269
- <img src="https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/file_uploud_light.gif" alt="File Upload Demo">
257
+ <img src="https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/rag_demo.gif" alt="File upload &amp; RAG ingestion" width="100%">
270
258
  </p>
271
259
 
272
260
  ---
@@ -277,109 +265,109 @@ Use `make help` to see all available Makefile shortcuts.
277
265
 
278
266
  **Landing Page** — Full-page marketing site with hero, features breakdown, testimonials, pricing preview, and FAQ. Generated with the `enable_marketing_site` option.
279
267
 
280
- ![Landing Page](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/landing_page.png)
268
+ ![Landing Page](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/landing_page.png)
281
269
 
282
270
  **Pricing** — Three-tier pricing page (Starter / Pro / Business) with monthly/annual toggle. Pulls live plan data from Stripe when connected; shows template plans otherwise.
283
271
 
284
- ![Pricing](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/pricing.png)
272
+ ![Pricing](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/pricing.png)
285
273
 
286
274
  **Blog** — Engineering blog included out of the box. Posts are MDX files in the repo — no CMS needed. Supports tags, featured posts, and author bylines.
287
275
 
288
- ![Blog](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/blog.png)
276
+ ![Blog](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/blog.png)
289
277
 
290
278
  **Blog Post** — Individual post view with author card, reading time, and tag badges. Content is plain MDX — edit files and redeploy.
291
279
 
292
- ![Blog Post](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/blog_post.png)
280
+ ![Blog Post](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/blog_post.png)
293
281
 
294
282
  ### Auth
295
283
 
296
284
  **Login** — Split-screen login with Google OAuth and email/password. Left panel shows a product pitch with a social proof quote. HTTP-only cookie session on submit.
297
285
 
298
- ![Login](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/login.png)
286
+ ![Login](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/login.png)
299
287
 
300
288
  **Register** — Same split-screen layout as login. Google sign-up and email/password form with confirm-password field and terms acceptance.
301
289
 
302
- ![Register](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/register.png)
290
+ ![Register](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/register.png)
303
291
 
304
292
  ### Dashboard
305
293
 
306
294
  **Dashboard (light mode)** — Workspace overview showing conversation count, knowledge base vector count, recent activity feed, agent tool call stats, active sessions, and team info. Onboarding banner guides new users through setup in under 2 minutes.
307
295
 
308
- ![Dashboard Light](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/dashboard_light.png)
296
+ ![Dashboard Light](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/dashboard_light.png)
309
297
 
310
298
  **Dashboard (dark mode)** — Same dashboard in dark theme. Theme is saved per-device and can be overridden per-workspace in appearance settings.
311
299
 
312
- ![Dashboard Dark](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/dashboard_dark.png)
300
+ ![Dashboard Dark](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/dashboard_dark.png)
313
301
 
314
302
  ### Teams & Organizations
315
303
 
316
304
  **Workspaces** — List of all organizations the user belongs to. Shows plan tier and role for each. Users can switch active workspace or create a new organization.
317
305
 
318
- ![Organizations](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/organizations.png)
306
+ ![Organizations](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/organizations.png)
319
307
 
320
308
  **Team Management** — Organization detail page with workspace profile (name + avatar), member list with roles, and an "Invite teammate" button. Owners and admins can adjust roles inline.
321
309
 
322
- ![Organization Details](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/organizations_details.png)
310
+ ![Organization Details](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/organization_details.png)
323
311
 
324
312
  ### Knowledge Bases
325
313
 
326
314
  **Knowledge Bases** — List of RAG knowledge bases scoped to the current workspace. Each base shows its collection slug. Users can create new bases, toggle which ones are active in chat, and upload documents through the UI.
327
315
 
328
- ![Knowledge Bases](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/knowledge_bases.png)
316
+ ![Knowledge Bases](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/knowledge_bases.png)
329
317
 
330
318
  ### Billing
331
319
 
332
320
  **Billing** — Workspace billing dashboard showing current plan, storage usage (chat attachments + indexed RAG documents), quick links to usage breakdown, invoices, payment methods, and subscription management. "Manage in Stripe" opens the Stripe customer portal.
333
321
 
334
- ![Billing](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/billing.png)
322
+ ![Billing](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/billing.png)
335
323
 
336
324
  ### Profile & Settings
337
325
 
338
326
  **Profile** — Personal info tab: avatar upload, display name, email, and active session list with per-device revoke buttons. Visibility note explains which fields are shown to teammates.
339
327
 
340
- ![Profile](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/profile.png)
328
+ ![Profile](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/profile.png)
341
329
 
342
330
  **Account & Security** — Change password form with strength guidance, "Sign out everywhere" button, and danger zone for permanent account deletion.
343
331
 
344
- ![Account](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/profile_account.png)
332
+ ![Account](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/profile_account.png)
345
333
 
346
334
  **Slash Commands** — Customize the `/command` palette in chat. Toggle built-in commands (`/clear`, `/regen`, `/settings`, `/summarize`, `/explain`) and create custom shortcuts that send a stored prompt with a few keystrokes.
347
335
 
348
- ![Slash Commands](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/profile_commands.png)
336
+ ![Slash Commands](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/profile_commands.png)
349
337
 
350
338
  **Appearance** — Theme switcher (light / dark / system) and brand color picker with four presets: Blue (Stripe/Vercel), Green (healthtech), Red (energetic), Orange (B2C), Violet (Anthropic-style). Brand color updates CSS variables across the entire workspace and is saved per-device.
351
339
 
352
- ![Appearance](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/profile_apperance.png)
340
+ ![Appearance](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/profile_appearance.png)
353
341
 
354
342
  **Notification Preferences** — Per-category notification controls with separate toggles for email and in-app delivery. Categories: Billing, Team activity, Security alerts, and Product updates. Preferences stored locally and synced to the backend via `/users/me/notifications`.
355
343
 
356
- ![Notifications](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/profile_notifications.png)
344
+ ![Notifications](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/profile_notifications.png)
357
345
 
358
346
  ### Admin Panel
359
347
 
360
348
  **Admin Overview** — Workspace-wide metrics (total users, active sessions last 24h, conversation count, MRR) plus a recent activity feed showing all conversations across all users. Requires the `admin` role.
361
349
 
362
- ![Admin Overview](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/admin.png)
350
+ ![Admin Overview](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/admin_overview.png)
363
351
 
364
352
  **User Management** — Full user list with search by email or name. Shows role, status, join date, and an "Inspect" action to impersonate or suspend any user. Pagination built in.
365
353
 
366
- ![Admin Users](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/admin_users.png)
354
+ ![Admin Users](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/admin_users.png)
367
355
 
368
356
  **Conversation Browser** — Browse all conversations across the workspace. Filter by status and owner, sort by any column, open any conversation in a read-only view. Useful for support and quality review.
369
357
 
370
- ![Admin Conversations](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/admin_conversations.png)
358
+ ![Admin Conversations](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/admin_conversations.png)
371
359
 
372
360
  **Message Quality & Ratings** — Aggregated like/dislike feedback on AI responses over the last 30 days. Shows approval rate, daily chart, and a filterable table of individual ratings with optional user comments. Export to CSV.
373
361
 
374
- ![Admin Ratings](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/admin_ratings.png)
362
+ ![Admin Ratings](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/admin_ratings.png)
375
363
 
376
364
  **Stripe Events Log** — Webhook event browser for debugging Stripe billing flows. Lists all received events (type, customer, amount, status, timestamp) and lets admins manually replay any event via the backend `/admin/stripe-events/{id}/replay` endpoint.
377
365
 
378
- ![Stripe Events](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/admin_stripe_events.png)
366
+ ![Stripe Events](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/admin_stripe_events.png)
379
367
 
380
368
  **System Health** — Live readiness dashboard auto-refreshing every 30 seconds. Checks API, Database (PostgreSQL primary), Redis, Vector store, LLM provider, Background worker, and Stripe API. Shows uptime percentage per service.
381
369
 
382
- ![System Health](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new/admin_system_health.png)
370
+ ![System Health](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/new2/admin_system_health.png)
383
371
 
384
372
  ### Observability
385
373
 
@@ -471,6 +471,25 @@ def new(output: Path | None, no_input: bool, name: str | None, minimal: bool) ->
471
471
  default=False,
472
472
  help="Enable the chart-generation tool for AI agents (line/bar/pie/area/scatter)",
473
473
  )
474
+ @click.option(
475
+ "--antv-charts",
476
+ is_flag=True,
477
+ default=False,
478
+ help="Enable AntV advanced-diagram tools (flowchart, mind-map, sankey, ...) via an "
479
+ "mcp-server-chart sidecar, plus an interactive Leaflet/OpenStreetMap map tool",
480
+ )
481
+ @click.option(
482
+ "--code-execution",
483
+ is_flag=True,
484
+ default=False,
485
+ help="Enable the run_python code-execution tool backed by the Monty sandbox (PydanticAI only)",
486
+ )
487
+ @click.option(
488
+ "--skills",
489
+ is_flag=True,
490
+ default=False,
491
+ help="Enable the skills system (SkillsToolset loads SKILL.md files from backend/skills/, PydanticAI only)",
492
+ )
474
493
  @click.option("--session-management", is_flag=True, help="Enable session management")
475
494
  @click.option(
476
495
  "--reverse-proxy",
@@ -746,6 +765,9 @@ def create(
746
765
  web_search: bool,
747
766
  web_fetch: bool,
748
767
  charts: bool,
768
+ antv_charts: bool,
769
+ code_execution: bool,
770
+ skills: bool,
749
771
  session_management: bool,
750
772
  reverse_proxy: str,
751
773
  kubernetes: bool,
@@ -1174,6 +1196,9 @@ def create(
1174
1196
  enable_web_search=web_search,
1175
1197
  enable_web_fetch=web_fetch,
1176
1198
  enable_charts=charts,
1199
+ enable_antv_charts=antv_charts,
1200
+ enable_code_execution=code_execution,
1201
+ enable_skills=skills,
1177
1202
  enable_session_management=session_management,
1178
1203
  reverse_proxy=_rp_map[reverse_proxy],
1179
1204
  enable_kubernetes=kubernetes,
@@ -325,6 +325,9 @@ class ProjectConfig(BaseModel):
325
325
  enable_web_search: bool = False
326
326
  enable_web_fetch: bool = False
327
327
  enable_charts: bool = False
328
+ enable_antv_charts: bool = False
329
+ enable_code_execution: bool = False
330
+ enable_skills: bool = False
328
331
  use_telegram: bool = False
329
332
  use_slack: bool = False
330
333
  enable_cors: bool = True
@@ -505,6 +508,13 @@ class ProjectConfig(BaseModel):
505
508
  )
506
509
  if not self.use_ai and self.enable_langsmith:
507
510
  raise ValueError("--langsmith requires an AI framework. Quick fix: drop --langsmith.")
511
+ if not self.use_ai and (self.use_slack or self.use_telegram):
512
+ raise ValueError(
513
+ "Slack/Telegram channels require an AI framework — a channel bot exists "
514
+ "only to relay messages to the agent (it calls AgentInvocationService). "
515
+ "Quick fix: set --ai-framework pydantic_ai (or any other), or drop "
516
+ "--slack/--telegram."
517
+ )
508
518
 
509
519
  # Tenancy: multi_org / platform imply teams
510
520
  if self.tenancy != TenancyMode.SINGLE and not self.enable_teams:
@@ -804,6 +814,9 @@ class ProjectConfig(BaseModel):
804
814
  ),
805
815
  "enable_charts": self.enable_charts,
806
816
  "charts_channel_png": self.enable_charts and (self.use_slack or self.use_telegram),
817
+ "enable_antv_charts": self.enable_antv_charts,
818
+ "enable_code_execution": self.enable_code_execution,
819
+ "enable_skills": self.enable_skills,
807
820
  "enable_webhooks": self.enable_webhooks,
808
821
  # Legacy fixed values (WebSocket always uses JWT)
809
822
  "websocket_auth": "jwt",
@@ -896,6 +896,80 @@ def prompt_charts() -> bool:
896
896
  )
897
897
 
898
898
 
899
+ def prompt_antv_charts() -> bool:
900
+ """Prompt for the AntV advanced-diagram tools + interactive map tool.
901
+
902
+ Returns:
903
+ Whether the AntV / map tools are enabled.
904
+ """
905
+ console.print()
906
+ console.print("[bold cyan]AntV Diagrams & Maps[/]")
907
+ console.print(
908
+ "Adds an interactive map tool (Leaflet/OpenStreetMap, works out of the "
909
+ "box) plus AntV advanced-diagram tools (flowchart, mind-map, org-chart, "
910
+ "sankey, ...) served by an mcp-server-chart Docker sidecar. The diagrams "
911
+ "need the sidecar running (docker compose --profile antv up -d); maps work "
912
+ "without it."
913
+ )
914
+ console.print()
915
+
916
+ return cast(
917
+ bool,
918
+ _check_cancelled(
919
+ questionary.confirm(
920
+ "Enable AntV diagram + map tools for the agent?",
921
+ default=False,
922
+ ).ask()
923
+ ),
924
+ )
925
+
926
+
927
+ def prompt_code_execution() -> bool:
928
+ """Prompt for the Monty-backed run_python code-execution tool (PydanticAI only)."""
929
+ console.print()
930
+ console.print("[bold cyan]Code Execution (Monty sandbox)[/]")
931
+ console.print(
932
+ "Adds a `run_python` tool that lets the agent execute Python in a sandboxed "
933
+ "interpreter (pydantic-monty). The model can compute projections, run "
934
+ "aggregations, and call create_chart/create_map directly from inside the "
935
+ "code. Restricted stdlib: math, asyncio, json, datetime, re — no numpy/pandas. "
936
+ "PydanticAI only. Activate at runtime with ENABLE_CODE_EXECUTION=true."
937
+ )
938
+ console.print()
939
+
940
+ return cast(
941
+ bool,
942
+ _check_cancelled(
943
+ questionary.confirm(
944
+ "Enable the run_python code-execution tool (PydanticAI only)?",
945
+ default=False,
946
+ ).ask()
947
+ ),
948
+ )
949
+
950
+
951
+ def prompt_skills() -> bool:
952
+ """Prompt for the skills system (SkillsToolset, PydanticAI only)."""
953
+ console.print()
954
+ console.print("[bold cyan]Skills System (pydantic-ai-skills)[/]")
955
+ console.print(
956
+ "Adds a SkillsToolset that loads SKILL.md files from `backend/skills/` as "
957
+ "agent tools. Drop in your own skills; pair with code execution (Monty "
958
+ "sandbox) for skills that compute. PydanticAI only."
959
+ )
960
+ console.print()
961
+
962
+ return cast(
963
+ bool,
964
+ _check_cancelled(
965
+ questionary.confirm(
966
+ "Enable the skills system (PydanticAI only)?",
967
+ default=False,
968
+ ).ask()
969
+ ),
970
+ )
971
+
972
+
899
973
  def prompt_langsmith() -> bool:
900
974
  """Prompt for LangSmith observability."""
901
975
  return cast(
@@ -1405,6 +1479,9 @@ def run_interactive_prompts() -> ProjectConfig:
1405
1479
  "enable_web_search": False,
1406
1480
  "enable_web_fetch": False,
1407
1481
  "enable_charts": False,
1482
+ "enable_antv_charts": False,
1483
+ "enable_code_execution": False,
1484
+ "enable_skills": False,
1408
1485
  "rag_features": RAGFeatures(),
1409
1486
  "orm_type": OrmType.SQLALCHEMY,
1410
1487
  "sandbox_backend": "state",
@@ -1563,6 +1640,24 @@ def run_interactive_prompts() -> ProjectConfig:
1563
1640
  else:
1564
1641
  state["enable_charts"] = prompt_charts()
1565
1642
 
1643
+ def step_antv_charts() -> None:
1644
+ if state["ai_framework"] == AIFrameworkType.NONE:
1645
+ state["enable_antv_charts"] = False
1646
+ else:
1647
+ state["enable_antv_charts"] = prompt_antv_charts()
1648
+
1649
+ def step_code_execution() -> None:
1650
+ if state["ai_framework"] == AIFrameworkType.PYDANTIC_AI:
1651
+ state["enable_code_execution"] = prompt_code_execution()
1652
+ else:
1653
+ state["enable_code_execution"] = False
1654
+
1655
+ def step_skills() -> None:
1656
+ if state["ai_framework"] == AIFrameworkType.PYDANTIC_AI:
1657
+ state["enable_skills"] = prompt_skills()
1658
+ else:
1659
+ state["enable_skills"] = False
1660
+
1566
1661
  def step_langsmith() -> None:
1567
1662
  if state["ai_framework"] in (
1568
1663
  AIFrameworkType.LANGCHAIN,
@@ -1633,6 +1728,9 @@ def run_interactive_prompts() -> ProjectConfig:
1633
1728
  ("Web Search & Fetch", step_web_capabilities),
1634
1729
  ("RAG", step_rag_config),
1635
1730
  ("Chart Tool", step_charts),
1731
+ ("AntV Diagrams & Maps", step_antv_charts),
1732
+ ("Code Execution", step_code_execution),
1733
+ ("Skills System", step_skills),
1636
1734
  ("LangSmith", step_langsmith),
1637
1735
  ("Messaging Channels", step_channels),
1638
1736
  ("Teams & Billing", step_teams_billing),
@@ -1679,6 +1777,9 @@ def run_interactive_prompts() -> ProjectConfig:
1679
1777
  enable_web_search = state["enable_web_search"]
1680
1778
  enable_web_fetch = state["enable_web_fetch"]
1681
1779
  enable_charts = state["enable_charts"]
1780
+ enable_antv_charts = state["enable_antv_charts"]
1781
+ enable_code_execution = state["enable_code_execution"]
1782
+ enable_skills = state["enable_skills"]
1682
1783
  rag_features = state["rag_features"]
1683
1784
  enable_langsmith = state["enable_langsmith"]
1684
1785
  use_telegram = state["use_telegram"]
@@ -1721,6 +1822,9 @@ def run_interactive_prompts() -> ProjectConfig:
1721
1822
  enable_web_search=enable_web_search,
1722
1823
  enable_web_fetch=enable_web_fetch,
1723
1824
  enable_charts=enable_charts,
1825
+ enable_antv_charts=enable_antv_charts,
1826
+ enable_code_execution=enable_code_execution,
1827
+ enable_skills=enable_skills,
1724
1828
  use_telegram=use_telegram,
1725
1829
  use_slack=use_slack,
1726
1830
  rate_limit_requests=rate_limit_requests,
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "fastapi-fullstack"
3
- version = "0.2.9"
3
+ version = "0.2.11"
4
4
  description = "Full-stack FastAPI + Next.js template generator with PydanticAI/LangChain agents, WebSocket streaming, 20+ enterprise integrations, and Logfire/LangSmith observability. Ship AI apps fast. CLI tool to generate production-ready FastAPI + Next.js projects with AI agents, auth, and observability."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -145,10 +145,14 @@ line-ending = "auto"
145
145
  python-version = "3.11"
146
146
 
147
147
  [tool.ty.src]
148
- # Exclude Jinja2 template files and integration tests with dynamic imports
148
+ # Exclude Jinja2 template files, integration tests with dynamic imports,
149
+ # and the generated-project snapshot (it's a standalone FastAPI app with its
150
+ # own backend/pyproject.toml deps — type-checking it from the root env
151
+ # produces noise from unresolved imports of fastapi/sqlalchemy/etc.).
149
152
  exclude = [
150
153
  "template/",
151
154
  "tests/",
155
+ "ai_agent_test/",
152
156
  ]
153
157
 
154
158
  [tool.pytest.ini_options]
@@ -286,6 +286,9 @@ These variables are set automatically by the generator.
286
286
  | `web_fetch_tool` | bool | `false` | Computed: portable `fetch_url` tool is generated | `enable_web_fetch` and framework is LangChain/LangGraph/CrewAI/DeepAgents |
287
287
  | `enable_charts` | bool | `false` | Enable the chart-generation tool (line/bar/pie/area/scatter); interactive in web chat, PNG on Slack/Telegram | Requires an AI framework |
288
288
  | `charts_channel_png` | bool | `false` | Computed: render charts to PNG for messaging channels | `enable_charts` and (`use_slack` or `use_telegram`) |
289
+ | `enable_antv_charts` | bool | `false` | Adds the interactive `create_map` tool (Leaflet/OpenStreetMap, works out of the box) plus AntV advanced-diagram tools (flowchart, mind-map, org-chart, sankey, ...) via an `mcp-server-chart` Docker sidecar. Wired into all 5 frameworks. The AntV diagrams need the sidecar running (`docker compose --profile antv up -d`) and `ENABLE_ANTV_CHARTS=true` at runtime; maps work without it. Present in the production compose but profile-gated — off by default and publishes no host port, so it's opt-in per environment; for prod, self-host GPT-Vis-SSR via `ANTV_VIS_REQUEST_SERVER` rather than AntV's public render backend | Requires an AI framework |
290
+ | `enable_code_execution` | bool | `false` | Adds a `run_python` tool backed by the Monty sandboxed Python interpreter (`pydantic-monty`). The model can compute projections, run aggregations, and call `create_chart`/`create_map` from inside the sandbox — charts render as interactive Recharts cards immediately. Sandbox allows `math`, `asyncio`, `json`, `datetime`, `re`; no `statistics`, `random`, `itertools`, numpy/pandas. Activated at runtime with `ENABLE_CODE_EXECUTION=true`. **PydanticAI only.** Temporary shim — swap to the official `CodeExecutionToolset` when it ships in pydantic-ai | Requires `use_pydantic_ai` |
291
+ | `enable_skills` | bool | `false` | Adds a `pydantic-ai-skills` `SkillsToolset` that loads `SKILL.md` files from `backend/skills/` as agent tools (the model picks a skill, then follows its instructions). Ships the loader only — drop your own skills into `backend/skills/`; the toolset no-ops when the directory is empty. Pairs well with `enable_code_execution` for skills that compute. **PydanticAI only.** | Requires `use_pydantic_ai` |
289
292
 
290
293
  **Notes:**
291
294
 
@@ -91,6 +91,9 @@
91
91
  "web_fetch_tool": false,
92
92
  "enable_charts": false,
93
93
  "charts_channel_png": false,
94
+ "enable_antv_charts": false,
95
+ "enable_code_execution": false,
96
+ "enable_skills": false,
94
97
  "enable_webhooks": false,
95
98
  "websocket_auth": "jwt",
96
99
  "websocket_auth_jwt": true,