mindroom 0.0.0__tar.gz → 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (767) hide show
  1. mindroom-0.1.0/.claude/agents/configfield-generator.md +86 -0
  2. mindroom-0.1.0/.claude/agents/mindroom-tester.md +667 -0
  3. mindroom-0.1.0/.claude/commands/commit.md +60 -0
  4. mindroom-0.1.0/.claude/commands/cruft.md +79 -0
  5. mindroom-0.1.0/.claude/commands/init.md +98 -0
  6. mindroom-0.1.0/.claude/skills/agent-cli-dev/SKILL.md +135 -0
  7. mindroom-0.1.0/.claude/skills/agent-cli-dev/examples.md +510 -0
  8. mindroom-0.1.0/.dockerignore +53 -0
  9. mindroom-0.1.0/.env.example +76 -0
  10. mindroom-0.1.0/.envrc +3 -0
  11. mindroom-0.1.0/.gitattributes +1 -0
  12. mindroom-0.1.0/.github/renovate.json +35 -0
  13. mindroom-0.1.0/.github/workflows/build-mindroom.yml +140 -0
  14. mindroom-0.1.0/.github/workflows/build-platform.yml +83 -0
  15. mindroom-0.1.0/.github/workflows/pytest.yml +39 -0
  16. mindroom-0.1.0/.github/workflows/release.yml +22 -0
  17. mindroom-0.1.0/.github/workflows/security-scan.yml +28 -0
  18. mindroom-0.1.0/.gitignore +247 -0
  19. mindroom-0.1.0/.pre-commit-config.yaml +101 -0
  20. mindroom-0.1.0/AGENTS.md +212 -0
  21. mindroom-0.1.0/CLAUDE.md +218 -0
  22. mindroom-0.1.0/PKG-INFO +425 -0
  23. mindroom-0.1.0/README.md +318 -0
  24. mindroom-0.1.0/avatars/agents/analyst.png +3 -0
  25. mindroom-0.1.0/avatars/agents/calculator.png +3 -0
  26. mindroom-0.1.0/avatars/agents/callagent.png +3 -0
  27. mindroom-0.1.0/avatars/agents/code.png +3 -0
  28. mindroom-0.1.0/avatars/agents/data_analyst.png +3 -0
  29. mindroom-0.1.0/avatars/agents/email_assistant.png +3 -0
  30. mindroom-0.1.0/avatars/agents/finance.png +3 -0
  31. mindroom-0.1.0/avatars/agents/general.png +3 -0
  32. mindroom-0.1.0/avatars/agents/home.png +3 -0
  33. mindroom-0.1.0/avatars/agents/news.png +3 -0
  34. mindroom-0.1.0/avatars/agents/research.png +3 -0
  35. mindroom-0.1.0/avatars/agents/router.png +3 -0
  36. mindroom-0.1.0/avatars/agents/security.png +3 -0
  37. mindroom-0.1.0/avatars/agents/shell.png +3 -0
  38. mindroom-0.1.0/avatars/agents/summary.png +3 -0
  39. mindroom-0.1.0/avatars/rooms/analysis.png +3 -0
  40. mindroom-0.1.0/avatars/rooms/automation.png +3 -0
  41. mindroom-0.1.0/avatars/rooms/business.png +3 -0
  42. mindroom-0.1.0/avatars/rooms/communication.png +3 -0
  43. mindroom-0.1.0/avatars/rooms/dev.png +3 -0
  44. mindroom-0.1.0/avatars/rooms/docs.png +3 -0
  45. mindroom-0.1.0/avatars/rooms/finance.png +3 -0
  46. mindroom-0.1.0/avatars/rooms/help.png +3 -0
  47. mindroom-0.1.0/avatars/rooms/home.png +3 -0
  48. mindroom-0.1.0/avatars/rooms/lobby.png +3 -0
  49. mindroom-0.1.0/avatars/rooms/news.png +3 -0
  50. mindroom-0.1.0/avatars/rooms/ops.png +3 -0
  51. mindroom-0.1.0/avatars/rooms/productivity.png +3 -0
  52. mindroom-0.1.0/avatars/rooms/research.png +3 -0
  53. mindroom-0.1.0/avatars/rooms/science.png +3 -0
  54. mindroom-0.1.0/avatars/teams/code_team.png +3 -0
  55. mindroom-0.1.0/avatars/teams/super_team.png +3 -0
  56. mindroom-0.1.0/cluster/k8s/cert-manager/cluster-issuer-prod.yaml +17 -0
  57. mindroom-0.1.0/cluster/k8s/cert-manager/cluster-issuer-staging.yaml +17 -0
  58. mindroom-0.1.0/cluster/k8s/instance/Chart.yaml +5 -0
  59. mindroom-0.1.0/cluster/k8s/instance/default-config.yaml +369 -0
  60. mindroom-0.1.0/cluster/k8s/instance/templates/configmap-mindroom.yaml +8 -0
  61. mindroom-0.1.0/cluster/k8s/instance/templates/configmap-nginx.yaml +75 -0
  62. mindroom-0.1.0/cluster/k8s/instance/templates/configmap-synapse.yaml +182 -0
  63. mindroom-0.1.0/cluster/k8s/instance/templates/deployment-backend.yaml +105 -0
  64. mindroom-0.1.0/cluster/k8s/instance/templates/deployment-frontend.yaml +103 -0
  65. mindroom-0.1.0/cluster/k8s/instance/templates/deployment-synapse.yaml +76 -0
  66. mindroom-0.1.0/cluster/k8s/instance/templates/ingress.yaml +66 -0
  67. mindroom-0.1.0/cluster/k8s/instance/templates/networkpolicy.yaml +33 -0
  68. mindroom-0.1.0/cluster/k8s/instance/templates/pvc.yaml +32 -0
  69. mindroom-0.1.0/cluster/k8s/instance/templates/secret-api-keys.yaml +13 -0
  70. mindroom-0.1.0/cluster/k8s/instance/templates/service.yaml +54 -0
  71. mindroom-0.1.0/cluster/k8s/instance/values.yaml +25 -0
  72. mindroom-0.1.0/cluster/k8s/kind/.env.example +49 -0
  73. mindroom-0.1.0/cluster/k8s/kind/README.md +170 -0
  74. mindroom-0.1.0/cluster/k8s/kind/build_load_images.sh +43 -0
  75. mindroom-0.1.0/cluster/k8s/kind/down.sh +13 -0
  76. mindroom-0.1.0/cluster/k8s/kind/install_platform.sh +34 -0
  77. mindroom-0.1.0/cluster/k8s/kind/kind-config.yaml +20 -0
  78. mindroom-0.1.0/cluster/k8s/kind/setup-local-access.sh +118 -0
  79. mindroom-0.1.0/cluster/k8s/kind/shell.nix +19 -0
  80. mindroom-0.1.0/cluster/k8s/kind/start-fresh.sh +24 -0
  81. mindroom-0.1.0/cluster/k8s/kind/test-access.sh +158 -0
  82. mindroom-0.1.0/cluster/k8s/kind/up.sh +43 -0
  83. mindroom-0.1.0/cluster/k8s/kind/validate.sh +57 -0
  84. mindroom-0.1.0/cluster/k8s/platform/.gitignore +3 -0
  85. mindroom-0.1.0/cluster/k8s/platform/Chart.yaml +5 -0
  86. mindroom-0.1.0/cluster/k8s/platform/templates/all.yaml +265 -0
  87. mindroom-0.1.0/cluster/k8s/platform/templates/apex-redirect.yaml +39 -0
  88. mindroom-0.1.0/cluster/k8s/platform/templates/ingress.yaml +66 -0
  89. mindroom-0.1.0/cluster/k8s/platform/templates/rbac.yaml +85 -0
  90. mindroom-0.1.0/cluster/k8s/platform/values-prod.example.yaml +38 -0
  91. mindroom-0.1.0/cluster/k8s/platform/values-staging.example.yaml +38 -0
  92. mindroom-0.1.0/cluster/k8s/platform/values.yaml +60 -0
  93. mindroom-0.1.0/cluster/scripts/cleanup-duplicate-subscriptions.py +195 -0
  94. mindroom-0.1.0/cluster/scripts/db/backup_supabase.sh +93 -0
  95. mindroom-0.1.0/cluster/scripts/db/setup-stripe-products.js +79 -0
  96. mindroom-0.1.0/cluster/scripts/list-instances.sh +79 -0
  97. mindroom-0.1.0/cluster/scripts/mindroom-cli.sh +163 -0
  98. mindroom-0.1.0/cluster/scripts/setup-stripe-webhooks.py +245 -0
  99. mindroom-0.1.0/cluster/scripts/setup-terraform-state.sh +68 -0
  100. mindroom-0.1.0/cluster/scripts/sync-stripe-prices.py +177 -0
  101. mindroom-0.1.0/cluster/scripts/update-api-keys.sh +89 -0
  102. mindroom-0.1.0/cluster/scripts/validate_multitenancy_security.py +232 -0
  103. mindroom-0.1.0/cluster/scripts/view-instance-logs.sh +46 -0
  104. mindroom-0.1.0/cluster/terraform/terraform-k8s/.gitignore +36 -0
  105. mindroom-0.1.0/cluster/terraform/terraform-k8s/README.md +152 -0
  106. mindroom-0.1.0/cluster/terraform/terraform-k8s/cert-manager.tf +48 -0
  107. mindroom-0.1.0/cluster/terraform/terraform-k8s/dns.tf +9 -0
  108. mindroom-0.1.0/cluster/terraform/terraform-k8s/hcloud-microos-snapshots.pkr.hcl +164 -0
  109. mindroom-0.1.0/cluster/terraform/terraform-k8s/helm.tf +191 -0
  110. mindroom-0.1.0/cluster/terraform/terraform-k8s/kube.tf +159 -0
  111. mindroom-0.1.0/cluster/terraform/terraform-k8s/manifests/cert-manager/cluster-issuer-prod.yaml +17 -0
  112. mindroom-0.1.0/cluster/terraform/terraform-k8s/manifests/cert-manager/cluster-issuer-staging.yaml +17 -0
  113. mindroom-0.1.0/cluster/terraform/terraform-k8s/modules/dns/dns.tf +119 -0
  114. mindroom-0.1.0/cluster/terraform/terraform-k8s/platform-cert.yaml +14 -0
  115. mindroom-0.1.0/cluster/terraform/terraform-k8s/providers-porkbun.tf +5 -0
  116. mindroom-0.1.0/cluster/terraform/terraform-k8s/scripts/build_snapshots.sh +40 -0
  117. mindroom-0.1.0/cluster/terraform/terraform-k8s/scripts/destroy.sh +25 -0
  118. mindroom-0.1.0/cluster/terraform/terraform-k8s/scripts/status.sh +28 -0
  119. mindroom-0.1.0/cluster/terraform/terraform-k8s/scripts/up.sh +57 -0
  120. mindroom-0.1.0/cluster/terraform/terraform-k8s/supabase-auth.tf +34 -0
  121. mindroom-0.1.0/cluster/terraform/terraform-k8s/terraform.tfvars.example +55 -0
  122. mindroom-0.1.0/cluster/terraform/terraform-k8s/variables.tf +247 -0
  123. mindroom-0.1.0/config.yaml +424 -0
  124. mindroom-0.1.0/docs/TESTING.md +184 -0
  125. mindroom-0.1.0/docs/agent_configuration.md +431 -0
  126. mindroom-0.1.0/docs/gmail_oauth_deployment.md +136 -0
  127. mindroom-0.1.0/docs/gmail_setup.md +158 -0
  128. mindroom-0.1.0/docs/ops/README.md +70 -0
  129. mindroom-0.1.0/docs/pitches.md +51 -0
  130. mindroom-0.1.0/docs/security/SECURITY_ACTION_PLAN.md +339 -0
  131. mindroom-0.1.0/docs/security/SECURITY_CRITICAL_FIXES.md +143 -0
  132. mindroom-0.1.0/docs/security/SECURITY_EXECUTIVE_SUMMARY.md +109 -0
  133. mindroom-0.1.0/docs/security/SECURITY_REVIEW_01_AUTH.md +380 -0
  134. mindroom-0.1.0/docs/security/SECURITY_REVIEW_02_MULTITENANCY.md +393 -0
  135. mindroom-0.1.0/docs/security/SECURITY_REVIEW_03_SECRETS.md +287 -0
  136. mindroom-0.1.0/docs/security/SECURITY_REVIEW_04_INJECTION.md +559 -0
  137. mindroom-0.1.0/docs/security/SECURITY_REVIEW_05_TOKENS.md +490 -0
  138. mindroom-0.1.0/docs/security/SECURITY_REVIEW_06_INFRASTRUCTURE.md +352 -0
  139. mindroom-0.1.0/docs/security/SECURITY_REVIEW_07_DATA_PROTECTION.md +832 -0
  140. mindroom-0.1.0/docs/security/SECURITY_REVIEW_08_DEPENDENCIES.md +494 -0
  141. mindroom-0.1.0/docs/security/SECURITY_REVIEW_09_ERROR_HANDLING.md +597 -0
  142. mindroom-0.1.0/docs/security/SECURITY_REVIEW_10_API_SECURITY.md +837 -0
  143. mindroom-0.1.0/docs/security/SECURITY_REVIEW_11_MONITORING.md +919 -0
  144. mindroom-0.1.0/docs/security/SECURITY_REVIEW_12_FRONTEND.md +899 -0
  145. mindroom-0.1.0/docs/security/SECURITY_REVIEW_CHECKLIST.md +275 -0
  146. mindroom-0.1.0/docs/security/SECURITY_REVIEW_FINDINGS.md +214 -0
  147. mindroom-0.1.0/docs/security/SECURITY_REVIEW_SUMMARY.md +75 -0
  148. mindroom-0.1.0/frontend/.eslintrc.json +59 -0
  149. mindroom-0.1.0/frontend/.prettierignore +31 -0
  150. mindroom-0.1.0/frontend/.prettierrc +11 -0
  151. mindroom-0.1.0/frontend/SCREENSHOT_INSTRUCTIONS.md +124 -0
  152. mindroom-0.1.0/frontend/bun.lock +2333 -0
  153. mindroom-0.1.0/frontend/index.html +16 -0
  154. mindroom-0.1.0/frontend/mockups/chat-mockup.png +3 -0
  155. mindroom-0.1.0/frontend/mockups/generate-mockup-from-json.cjs +376 -0
  156. mindroom-0.1.0/frontend/mockups/readme-conversations.cjs +257 -0
  157. mindroom-0.1.0/frontend/mockups/readme-cross-org.png +3 -0
  158. mindroom-0.1.0/frontend/mockups/readme-cross-platform.png +3 -0
  159. mindroom-0.1.0/frontend/mockups/readme-multi-agent.png +3 -0
  160. mindroom-0.1.0/frontend/package.json +78 -0
  161. mindroom-0.1.0/frontend/postcss.config.js +6 -0
  162. mindroom-0.1.0/frontend/public/matrix-widget.html +108 -0
  163. mindroom-0.1.0/frontend/public/widget.json +11 -0
  164. mindroom-0.1.0/frontend/scripts/generate-icon-imports.cjs +181 -0
  165. mindroom-0.1.0/frontend/scripts/screenshot.cjs +119 -0
  166. mindroom-0.1.0/frontend/src/App.tsx +330 -0
  167. mindroom-0.1.0/frontend/src/components/AgentEditor/AgentEditor.test.tsx +330 -0
  168. mindroom-0.1.0/frontend/src/components/AgentEditor/AgentEditor.tsx +499 -0
  169. mindroom-0.1.0/frontend/src/components/AgentList/AgentList.test.tsx +113 -0
  170. mindroom-0.1.0/frontend/src/components/AgentList/AgentList.tsx +75 -0
  171. mindroom-0.1.0/frontend/src/components/ApiKeyConfig/ApiKeyConfig.test.tsx +257 -0
  172. mindroom-0.1.0/frontend/src/components/ApiKeyConfig/ApiKeyConfig.tsx +222 -0
  173. mindroom-0.1.0/frontend/src/components/ApiKeyConfig/index.ts +1 -0
  174. mindroom-0.1.0/frontend/src/components/Dashboard/Dashboard.tsx +763 -0
  175. mindroom-0.1.0/frontend/src/components/Dashboard/NetworkGraph.tsx +210 -0
  176. mindroom-0.1.0/frontend/src/components/GoogleIntegration/GoogleIntegration.tsx +288 -0
  177. mindroom-0.1.0/frontend/src/components/HomeAssistantIntegration/HomeAssistantIntegration.tsx +559 -0
  178. mindroom-0.1.0/frontend/src/components/Integrations/EnhancedConfigDialog.tsx +517 -0
  179. mindroom-0.1.0/frontend/src/components/Integrations/Integrations.test.tsx +458 -0
  180. mindroom-0.1.0/frontend/src/components/Integrations/Integrations.tsx +714 -0
  181. mindroom-0.1.0/frontend/src/components/Integrations/iconMapping.tsx +171 -0
  182. mindroom-0.1.0/frontend/src/components/Integrations/integrations/google/google.test.tsx +114 -0
  183. mindroom-0.1.0/frontend/src/components/Integrations/integrations/google/index.tsx +78 -0
  184. mindroom-0.1.0/frontend/src/components/Integrations/integrations/homeassistant/homeassistant.test.tsx +73 -0
  185. mindroom-0.1.0/frontend/src/components/Integrations/integrations/homeassistant/index.tsx +84 -0
  186. mindroom-0.1.0/frontend/src/components/Integrations/integrations/index.ts +28 -0
  187. mindroom-0.1.0/frontend/src/components/Integrations/integrations/spotify/index.tsx +93 -0
  188. mindroom-0.1.0/frontend/src/components/Integrations/integrations/spotify/spotify.test.tsx +186 -0
  189. mindroom-0.1.0/frontend/src/components/Integrations/integrations/types/index.ts +69 -0
  190. mindroom-0.1.0/frontend/src/components/MemoryConfig/MemoryConfig.test.tsx +305 -0
  191. mindroom-0.1.0/frontend/src/components/MemoryConfig/MemoryConfig.tsx +228 -0
  192. mindroom-0.1.0/frontend/src/components/ModelConfig/ModelConfig.extra_kwargs.test.tsx +268 -0
  193. mindroom-0.1.0/frontend/src/components/ModelConfig/ModelConfig.test.tsx +234 -0
  194. mindroom-0.1.0/frontend/src/components/ModelConfig/ModelConfig.tsx +643 -0
  195. mindroom-0.1.0/frontend/src/components/ModelConfig/ProviderLogos.tsx +11 -0
  196. mindroom-0.1.0/frontend/src/components/RoomEditor/RoomEditor.test.tsx +285 -0
  197. mindroom-0.1.0/frontend/src/components/RoomEditor/RoomEditor.tsx +170 -0
  198. mindroom-0.1.0/frontend/src/components/RoomList/RoomList.test.tsx +196 -0
  199. mindroom-0.1.0/frontend/src/components/RoomList/RoomList.tsx +74 -0
  200. mindroom-0.1.0/frontend/src/components/SyncStatus/SyncStatus.tsx +45 -0
  201. mindroom-0.1.0/frontend/src/components/TeamEditor/TeamEditor.test.tsx +351 -0
  202. mindroom-0.1.0/frontend/src/components/TeamEditor/TeamEditor.tsx +298 -0
  203. mindroom-0.1.0/frontend/src/components/TeamList/TeamList.test.tsx +187 -0
  204. mindroom-0.1.0/frontend/src/components/TeamList/TeamList.tsx +74 -0
  205. mindroom-0.1.0/frontend/src/components/ThemeToggle/ThemeToggle.tsx +41 -0
  206. mindroom-0.1.0/frontend/src/components/ToolConfig/ToolConfigDialog.test.tsx +237 -0
  207. mindroom-0.1.0/frontend/src/components/ToolConfig/ToolConfigDialog.tsx +318 -0
  208. mindroom-0.1.0/frontend/src/components/UnconfiguredRooms/UnconfiguredRooms.tsx +332 -0
  209. mindroom-0.1.0/frontend/src/components/UnconfiguredRooms/index.ts +1 -0
  210. mindroom-0.1.0/frontend/src/components/VoiceConfig/VoiceConfig.tsx +320 -0
  211. mindroom-0.1.0/frontend/src/components/shared/EditorPanel.tsx +128 -0
  212. mindroom-0.1.0/frontend/src/components/shared/EmptyState.tsx +34 -0
  213. mindroom-0.1.0/frontend/src/components/shared/FieldGroup.tsx +55 -0
  214. mindroom-0.1.0/frontend/src/components/shared/FilterSelector.tsx +118 -0
  215. mindroom-0.1.0/frontend/src/components/shared/ItemCard.tsx +134 -0
  216. mindroom-0.1.0/frontend/src/components/shared/ListPanel.tsx +284 -0
  217. mindroom-0.1.0/frontend/src/components/shared/README.md +135 -0
  218. mindroom-0.1.0/frontend/src/components/shared/index.ts +20 -0
  219. mindroom-0.1.0/frontend/src/components/shared/styles.ts +100 -0
  220. mindroom-0.1.0/frontend/src/components/ui/alert.tsx +49 -0
  221. mindroom-0.1.0/frontend/src/components/ui/badge.tsx +33 -0
  222. mindroom-0.1.0/frontend/src/components/ui/button.tsx +52 -0
  223. mindroom-0.1.0/frontend/src/components/ui/card.tsx +58 -0
  224. mindroom-0.1.0/frontend/src/components/ui/checkbox.tsx +25 -0
  225. mindroom-0.1.0/frontend/src/components/ui/dialog.tsx +102 -0
  226. mindroom-0.1.0/frontend/src/components/ui/dropdown-menu.tsx +179 -0
  227. mindroom-0.1.0/frontend/src/components/ui/input.tsx +23 -0
  228. mindroom-0.1.0/frontend/src/components/ui/label.tsx +18 -0
  229. mindroom-0.1.0/frontend/src/components/ui/scroll-area.tsx +44 -0
  230. mindroom-0.1.0/frontend/src/components/ui/select.tsx +82 -0
  231. mindroom-0.1.0/frontend/src/components/ui/separator.tsx +24 -0
  232. mindroom-0.1.0/frontend/src/components/ui/skeleton.tsx +7 -0
  233. mindroom-0.1.0/frontend/src/components/ui/tabs.tsx +52 -0
  234. mindroom-0.1.0/frontend/src/components/ui/textarea.tsx +22 -0
  235. mindroom-0.1.0/frontend/src/components/ui/toaster.tsx +84 -0
  236. mindroom-0.1.0/frontend/src/components/ui/toggle-group.tsx +35 -0
  237. mindroom-0.1.0/frontend/src/components/ui/tooltip.tsx +28 -0
  238. mindroom-0.1.0/frontend/src/components/ui/use-toast.ts +15 -0
  239. mindroom-0.1.0/frontend/src/contexts/ThemeContext.tsx +81 -0
  240. mindroom-0.1.0/frontend/src/hooks/useSwipeBack.ts +51 -0
  241. mindroom-0.1.0/frontend/src/hooks/useTools.ts +114 -0
  242. mindroom-0.1.0/frontend/src/index.css +171 -0
  243. mindroom-0.1.0/frontend/src/lib/api.ts +91 -0
  244. mindroom-0.1.0/frontend/src/lib/providers.tsx +168 -0
  245. mindroom-0.1.0/frontend/src/lib/utils.ts +6 -0
  246. mindroom-0.1.0/frontend/src/main.tsx +10 -0
  247. mindroom-0.1.0/frontend/src/services/configService.ts +92 -0
  248. mindroom-0.1.0/frontend/src/store/configStore.test.ts +650 -0
  249. mindroom-0.1.0/frontend/src/store/configStore.ts +549 -0
  250. mindroom-0.1.0/frontend/src/styles/animations.css +105 -0
  251. mindroom-0.1.0/frontend/src/styles/tokens.css +17 -0
  252. mindroom-0.1.0/frontend/src/test/setup.ts +15 -0
  253. mindroom-0.1.0/frontend/src/types/config.ts +91 -0
  254. mindroom-0.1.0/frontend/src/types/toolConfig.test.ts +265 -0
  255. mindroom-0.1.0/frontend/src/types/toolConfig.ts +664 -0
  256. mindroom-0.1.0/frontend/src/vite-env.d.ts +11 -0
  257. mindroom-0.1.0/frontend/tailwind.config.js +115 -0
  258. mindroom-0.1.0/frontend/take_screenshot.py +73 -0
  259. mindroom-0.1.0/frontend/tsconfig.json +31 -0
  260. mindroom-0.1.0/frontend/tsconfig.node.json +10 -0
  261. mindroom-0.1.0/frontend/vite.config.ts +29 -0
  262. mindroom-0.1.0/frontend/vitest.config.ts +32 -0
  263. mindroom-0.1.0/justfile +256 -0
  264. mindroom-0.1.0/local/instances/deploy/.dockerignore +58 -0
  265. mindroom-0.1.0/local/instances/deploy/.dockerignore.backend +58 -0
  266. mindroom-0.1.0/local/instances/deploy/.gitignore +10 -0
  267. mindroom-0.1.0/local/instances/deploy/BRIDGE_MANAGER.md +231 -0
  268. mindroom-0.1.0/local/instances/deploy/Dockerfile.backend +57 -0
  269. mindroom-0.1.0/local/instances/deploy/Dockerfile.frontend +56 -0
  270. mindroom-0.1.0/local/instances/deploy/README-DOCKER.md +137 -0
  271. mindroom-0.1.0/local/instances/deploy/README.md +336 -0
  272. mindroom-0.1.0/local/instances/deploy/bridge.py +1077 -0
  273. mindroom-0.1.0/local/instances/deploy/default-deploy.sh +17 -0
  274. mindroom-0.1.0/local/instances/deploy/deploy.py +1253 -0
  275. mindroom-0.1.0/local/instances/deploy/docker-compose.authelia.yml +42 -0
  276. mindroom-0.1.0/local/instances/deploy/docker-compose.synapse.yml +117 -0
  277. mindroom-0.1.0/local/instances/deploy/docker-compose.tuwunel.yml +82 -0
  278. mindroom-0.1.0/local/instances/deploy/docker-compose.wellknown.yml +25 -0
  279. mindroom-0.1.0/local/instances/deploy/docker-compose.yml +70 -0
  280. mindroom-0.1.0/local/instances/deploy/templates/authelia/configuration.yml.j2 +96 -0
  281. mindroom-0.1.0/local/instances/deploy/templates/authelia/users_database.yml +25 -0
  282. mindroom-0.1.0/local/instances/deploy/templates/bridges/README.md +255 -0
  283. mindroom-0.1.0/local/instances/deploy/templates/bridges/docker-compose.email.j2 +22 -0
  284. mindroom-0.1.0/local/instances/deploy/templates/bridges/docker-compose.slack.j2 +18 -0
  285. mindroom-0.1.0/local/instances/deploy/templates/bridges/docker-compose.telegram.j2 +18 -0
  286. mindroom-0.1.0/local/instances/deploy/templates/synapse/entrypoint.sh +20 -0
  287. mindroom-0.1.0/local/instances/deploy/templates/synapse/homeserver.yaml.j2 +183 -0
  288. mindroom-0.1.0/local/instances/deploy/templates/synapse/log.config +30 -0
  289. mindroom-0.1.0/local/instances/deploy/templates/tuwunel/tuwunel.toml +83 -0
  290. mindroom-0.1.0/local/matrix/docker/synapse/.gitignore +12 -0
  291. mindroom-0.1.0/local/matrix/docker/synapse/entrypoint.sh +20 -0
  292. mindroom-0.1.0/local/matrix/docker/synapse/homeserver.yaml +159 -0
  293. mindroom-0.1.0/local/matrix/docker/synapse/log.config +30 -0
  294. mindroom-0.1.0/local/matrix/docker/synapse/log.minimal.config +18 -0
  295. mindroom-0.1.0/local/matrix/docker-compose.yml +56 -0
  296. mindroom-0.1.0/mindroom/tools_metadata.json +7663 -0
  297. mindroom-0.1.0/pyproject.toml +274 -0
  298. mindroom-0.1.0/run-backend.sh +20 -0
  299. mindroom-0.1.0/run-frontend.sh +21 -0
  300. mindroom-0.1.0/run-nix.sh +15 -0
  301. mindroom-0.1.0/run-tests.sh +27 -0
  302. mindroom-0.1.0/saas-platform/.dockerignore +68 -0
  303. mindroom-0.1.0/saas-platform/.env.example +127 -0
  304. mindroom-0.1.0/saas-platform/API_ENDPOINT_MAPPING.md +285 -0
  305. mindroom-0.1.0/saas-platform/COMPONENTS.md +96 -0
  306. mindroom-0.1.0/saas-platform/Dockerfile.platform-backend +59 -0
  307. mindroom-0.1.0/saas-platform/Dockerfile.platform-frontend +58 -0
  308. mindroom-0.1.0/saas-platform/README.md +72 -0
  309. mindroom-0.1.0/saas-platform/deploy.sh +59 -0
  310. mindroom-0.1.0/saas-platform/docker-compose.yml +29 -0
  311. mindroom-0.1.0/saas-platform/docs/authentication.md +50 -0
  312. mindroom-0.1.0/saas-platform/platform-backend/.python-version +1 -0
  313. mindroom-0.1.0/saas-platform/platform-backend/README.md +61 -0
  314. mindroom-0.1.0/saas-platform/platform-backend/pyproject.toml +60 -0
  315. mindroom-0.1.0/saas-platform/platform-backend/src/__init__.py +1 -0
  316. mindroom-0.1.0/saas-platform/platform-backend/src/backend/__init__.py +5 -0
  317. mindroom-0.1.0/saas-platform/platform-backend/src/backend/auth_monitor.py +101 -0
  318. mindroom-0.1.0/saas-platform/platform-backend/src/backend/config.py +134 -0
  319. mindroom-0.1.0/saas-platform/platform-backend/src/backend/db_utils.py +20 -0
  320. mindroom-0.1.0/saas-platform/platform-backend/src/backend/deps.py +211 -0
  321. mindroom-0.1.0/saas-platform/platform-backend/src/backend/k8s.py +90 -0
  322. mindroom-0.1.0/saas-platform/platform-backend/src/backend/metrics.py +113 -0
  323. mindroom-0.1.0/saas-platform/platform-backend/src/backend/middleware/__init__.py +1 -0
  324. mindroom-0.1.0/saas-platform/platform-backend/src/backend/middleware/audit_logging.py +215 -0
  325. mindroom-0.1.0/saas-platform/platform-backend/src/backend/models.py +286 -0
  326. mindroom-0.1.0/saas-platform/platform-backend/src/backend/pricing.py +226 -0
  327. mindroom-0.1.0/saas-platform/platform-backend/src/backend/process.py +34 -0
  328. mindroom-0.1.0/saas-platform/platform-backend/src/backend/routes/__init__.py +1 -0
  329. mindroom-0.1.0/saas-platform/platform-backend/src/backend/routes/accounts.py +77 -0
  330. mindroom-0.1.0/saas-platform/platform-backend/src/backend/routes/admin.py +735 -0
  331. mindroom-0.1.0/saas-platform/platform-backend/src/backend/routes/gdpr.py +246 -0
  332. mindroom-0.1.0/saas-platform/platform-backend/src/backend/routes/health.py +30 -0
  333. mindroom-0.1.0/saas-platform/platform-backend/src/backend/routes/instances.py +317 -0
  334. mindroom-0.1.0/saas-platform/platform-backend/src/backend/routes/pricing.py +91 -0
  335. mindroom-0.1.0/saas-platform/platform-backend/src/backend/routes/provisioner.py +551 -0
  336. mindroom-0.1.0/saas-platform/platform-backend/src/backend/routes/sso.py +69 -0
  337. mindroom-0.1.0/saas-platform/platform-backend/src/backend/routes/stripe_routes.py +142 -0
  338. mindroom-0.1.0/saas-platform/platform-backend/src/backend/routes/subscriptions.py +174 -0
  339. mindroom-0.1.0/saas-platform/platform-backend/src/backend/routes/usage.py +71 -0
  340. mindroom-0.1.0/saas-platform/platform-backend/src/backend/routes/webhooks.py +451 -0
  341. mindroom-0.1.0/saas-platform/platform-backend/src/backend/tasks/__init__.py +1 -0
  342. mindroom-0.1.0/saas-platform/platform-backend/src/backend/tasks/cleanup.py +113 -0
  343. mindroom-0.1.0/saas-platform/platform-backend/src/backend/tasks/usage_metrics.py +181 -0
  344. mindroom-0.1.0/saas-platform/platform-backend/src/backend/utils/__init__.py +1 -0
  345. mindroom-0.1.0/saas-platform/platform-backend/src/backend/utils/audit.py +53 -0
  346. mindroom-0.1.0/saas-platform/platform-backend/src/backend/utils/log_sanitizer.py +64 -0
  347. mindroom-0.1.0/saas-platform/platform-backend/src/backend/utils/logger.py +69 -0
  348. mindroom-0.1.0/saas-platform/platform-backend/src/main.py +234 -0
  349. mindroom-0.1.0/saas-platform/platform-backend/tests/__init__.py +1 -0
  350. mindroom-0.1.0/saas-platform/platform-backend/tests/conftest.py +179 -0
  351. mindroom-0.1.0/saas-platform/platform-backend/tests/stripe_mock.py +220 -0
  352. mindroom-0.1.0/saas-platform/platform-backend/tests/test_accounts.py +371 -0
  353. mindroom-0.1.0/saas-platform/platform-backend/tests/test_admin.py +724 -0
  354. mindroom-0.1.0/saas-platform/platform-backend/tests/test_admin_account_deletion.py +307 -0
  355. mindroom-0.1.0/saas-platform/platform-backend/tests/test_admin_allowlist.py +27 -0
  356. mindroom-0.1.0/saas-platform/platform-backend/tests/test_admin_rate_limit.py +66 -0
  357. mindroom-0.1.0/saas-platform/platform-backend/tests/test_auth_monitor.py +215 -0
  358. mindroom-0.1.0/saas-platform/platform-backend/tests/test_bearer_token_parsing.py +32 -0
  359. mindroom-0.1.0/saas-platform/platform-backend/tests/test_cors_headers.py +34 -0
  360. mindroom-0.1.0/saas-platform/platform-backend/tests/test_deps.py +256 -0
  361. mindroom-0.1.0/saas-platform/platform-backend/tests/test_gdpr.py +256 -0
  362. mindroom-0.1.0/saas-platform/platform-backend/tests/test_instances.py +627 -0
  363. mindroom-0.1.0/saas-platform/platform-backend/tests/test_log_sanitizer.py +154 -0
  364. mindroom-0.1.0/saas-platform/platform-backend/tests/test_metrics_endpoint.py +22 -0
  365. mindroom-0.1.0/saas-platform/platform-backend/tests/test_multitenancy_security.py +283 -0
  366. mindroom-0.1.0/saas-platform/platform-backend/tests/test_pricing.py +308 -0
  367. mindroom-0.1.0/saas-platform/platform-backend/tests/test_provisioner.py +699 -0
  368. mindroom-0.1.0/saas-platform/platform-backend/tests/test_provisioner_auth.py +51 -0
  369. mindroom-0.1.0/saas-platform/platform-backend/tests/test_provisioner_extended.py +557 -0
  370. mindroom-0.1.0/saas-platform/platform-backend/tests/test_provisioner_integration.py +581 -0
  371. mindroom-0.1.0/saas-platform/platform-backend/tests/test_provisioner_rate_limit.py +73 -0
  372. mindroom-0.1.0/saas-platform/platform-backend/tests/test_provisioner_real.py +650 -0
  373. mindroom-0.1.0/saas-platform/platform-backend/tests/test_rate_limit_sso.py +34 -0
  374. mindroom-0.1.0/saas-platform/platform-backend/tests/test_request_size_limit.py +27 -0
  375. mindroom-0.1.0/saas-platform/platform-backend/tests/test_security_headers_and_hosts.py +34 -0
  376. mindroom-0.1.0/saas-platform/platform-backend/tests/test_sso_cookie_attrs.py +42 -0
  377. mindroom-0.1.0/saas-platform/platform-backend/tests/test_stripe_integration.py +227 -0
  378. mindroom-0.1.0/saas-platform/platform-backend/tests/test_stripe_routes.py +342 -0
  379. mindroom-0.1.0/saas-platform/platform-backend/tests/test_stripe_utils.py +101 -0
  380. mindroom-0.1.0/saas-platform/platform-backend/tests/test_subscriptions.py +359 -0
  381. mindroom-0.1.0/saas-platform/platform-backend/tests/test_usage.py +342 -0
  382. mindroom-0.1.0/saas-platform/platform-backend/tests/test_usage_metrics.py +352 -0
  383. mindroom-0.1.0/saas-platform/platform-backend/tests/test_user_rate_limit.py +102 -0
  384. mindroom-0.1.0/saas-platform/platform-backend/tests/test_webhook_rate_limit.py +87 -0
  385. mindroom-0.1.0/saas-platform/platform-backend/tests/test_webhooks.py +708 -0
  386. mindroom-0.1.0/saas-platform/platform-backend/uv.lock +960 -0
  387. mindroom-0.1.0/saas-platform/platform-frontend/.gitignore +41 -0
  388. mindroom-0.1.0/saas-platform/platform-frontend/README.md +64 -0
  389. mindroom-0.1.0/saas-platform/platform-frontend/bun.lock +1359 -0
  390. mindroom-0.1.0/saas-platform/platform-frontend/jest.config.js +44 -0
  391. mindroom-0.1.0/saas-platform/platform-frontend/jest.setup.js +80 -0
  392. mindroom-0.1.0/saas-platform/platform-frontend/middleware.ts +186 -0
  393. mindroom-0.1.0/saas-platform/platform-frontend/next.config.ts +25 -0
  394. mindroom-0.1.0/saas-platform/platform-frontend/package.json +49 -0
  395. mindroom-0.1.0/saas-platform/platform-frontend/postcss.config.mjs +5 -0
  396. mindroom-0.1.0/saas-platform/platform-frontend/public/brain-logo.svg +3 -0
  397. mindroom-0.1.0/saas-platform/platform-frontend/public/file.svg +1 -0
  398. mindroom-0.1.0/saas-platform/platform-frontend/public/globe.svg +1 -0
  399. mindroom-0.1.0/saas-platform/platform-frontend/public/next.svg +1 -0
  400. mindroom-0.1.0/saas-platform/platform-frontend/public/vercel.svg +1 -0
  401. mindroom-0.1.0/saas-platform/platform-frontend/public/window.svg +1 -0
  402. mindroom-0.1.0/saas-platform/platform-frontend/runtime-config-shared.js +14 -0
  403. mindroom-0.1.0/saas-platform/platform-frontend/shell.nix +14 -0
  404. mindroom-0.1.0/saas-platform/platform-frontend/src/app/admin/accounts/[id]/page.tsx +197 -0
  405. mindroom-0.1.0/saas-platform/platform-frontend/src/app/admin/accounts/__tests__/page.test.tsx +355 -0
  406. mindroom-0.1.0/saas-platform/platform-frontend/src/app/admin/accounts/page.tsx +200 -0
  407. mindroom-0.1.0/saas-platform/platform-frontend/src/app/admin/audit-logs/page.tsx +127 -0
  408. mindroom-0.1.0/saas-platform/platform-frontend/src/app/admin/instances/page.tsx +188 -0
  409. mindroom-0.1.0/saas-platform/platform-frontend/src/app/admin/layout.tsx +13 -0
  410. mindroom-0.1.0/saas-platform/platform-frontend/src/app/admin/page.tsx +226 -0
  411. mindroom-0.1.0/saas-platform/platform-frontend/src/app/admin/subscriptions/page.tsx +163 -0
  412. mindroom-0.1.0/saas-platform/platform-frontend/src/app/admin/usage/page.tsx +165 -0
  413. mindroom-0.1.0/saas-platform/platform-frontend/src/app/api/csp-report/route.ts +10 -0
  414. mindroom-0.1.0/saas-platform/platform-frontend/src/app/auth/callback/route.ts +61 -0
  415. mindroom-0.1.0/saas-platform/platform-frontend/src/app/auth/complete/page.tsx +49 -0
  416. mindroom-0.1.0/saas-platform/platform-frontend/src/app/auth/login/page.tsx +58 -0
  417. mindroom-0.1.0/saas-platform/platform-frontend/src/app/auth/signup/page.tsx +63 -0
  418. mindroom-0.1.0/saas-platform/platform-frontend/src/app/dashboard/billing/page.tsx +402 -0
  419. mindroom-0.1.0/saas-platform/platform-frontend/src/app/dashboard/billing/upgrade/page.tsx +378 -0
  420. mindroom-0.1.0/saas-platform/platform-frontend/src/app/dashboard/instance/page.tsx +429 -0
  421. mindroom-0.1.0/saas-platform/platform-frontend/src/app/dashboard/layout.tsx +52 -0
  422. mindroom-0.1.0/saas-platform/platform-frontend/src/app/dashboard/page.tsx +111 -0
  423. mindroom-0.1.0/saas-platform/platform-frontend/src/app/dashboard/settings/__tests__/edge-cases.test.tsx +220 -0
  424. mindroom-0.1.0/saas-platform/platform-frontend/src/app/dashboard/settings/__tests__/page.test.tsx +393 -0
  425. mindroom-0.1.0/saas-platform/platform-frontend/src/app/dashboard/settings/page.tsx +422 -0
  426. mindroom-0.1.0/saas-platform/platform-frontend/src/app/dashboard/support/page.tsx +8 -0
  427. mindroom-0.1.0/saas-platform/platform-frontend/src/app/dashboard/usage/page.tsx +254 -0
  428. mindroom-0.1.0/saas-platform/platform-frontend/src/app/favicon.ico +0 -0
  429. mindroom-0.1.0/saas-platform/platform-frontend/src/app/globals.css +294 -0
  430. mindroom-0.1.0/saas-platform/platform-frontend/src/app/layout.tsx +42 -0
  431. mindroom-0.1.0/saas-platform/platform-frontend/src/app/page.tsx +216 -0
  432. mindroom-0.1.0/saas-platform/platform-frontend/src/app/privacy/page.tsx +49 -0
  433. mindroom-0.1.0/saas-platform/platform-frontend/src/app/terms/page.tsx +49 -0
  434. mindroom-0.1.0/saas-platform/platform-frontend/src/components/DarkModeToggle.tsx +82 -0
  435. mindroom-0.1.0/saas-platform/platform-frontend/src/components/LaunchButton.tsx +39 -0
  436. mindroom-0.1.0/saas-platform/platform-frontend/src/components/MindRoomLogo.tsx +12 -0
  437. mindroom-0.1.0/saas-platform/platform-frontend/src/components/admin/AdminLayout.tsx +77 -0
  438. mindroom-0.1.0/saas-platform/platform-frontend/src/components/admin/InstanceActions.tsx +115 -0
  439. mindroom-0.1.0/saas-platform/platform-frontend/src/components/admin/__tests__/InstanceActions.test.tsx +321 -0
  440. mindroom-0.1.0/saas-platform/platform-frontend/src/components/auth/__tests__/auth-wrapper.test.tsx +276 -0
  441. mindroom-0.1.0/saas-platform/platform-frontend/src/components/auth/auth-wrapper.tsx +84 -0
  442. mindroom-0.1.0/saas-platform/platform-frontend/src/components/dashboard/DashboardLoader.tsx +12 -0
  443. mindroom-0.1.0/saas-platform/platform-frontend/src/components/dashboard/Header.tsx +56 -0
  444. mindroom-0.1.0/saas-platform/platform-frontend/src/components/dashboard/InstanceCard.tsx +321 -0
  445. mindroom-0.1.0/saas-platform/platform-frontend/src/components/dashboard/QuickActions.tsx +135 -0
  446. mindroom-0.1.0/saas-platform/platform-frontend/src/components/dashboard/Sidebar.tsx +165 -0
  447. mindroom-0.1.0/saas-platform/platform-frontend/src/components/dashboard/UsageChart.tsx +125 -0
  448. mindroom-0.1.0/saas-platform/platform-frontend/src/components/dashboard/__tests__/InstanceCard.simple.test.tsx +218 -0
  449. mindroom-0.1.0/saas-platform/platform-frontend/src/components/dashboard/__tests__/InstanceCard.test.tsx +364 -0
  450. mindroom-0.1.0/saas-platform/platform-frontend/src/components/landing/CTA.tsx +110 -0
  451. mindroom-0.1.0/saas-platform/platform-frontend/src/components/landing/Collaboration.tsx +550 -0
  452. mindroom-0.1.0/saas-platform/platform-frontend/src/components/landing/Features.tsx +192 -0
  453. mindroom-0.1.0/saas-platform/platform-frontend/src/components/landing/Hero.tsx +123 -0
  454. mindroom-0.1.0/saas-platform/platform-frontend/src/components/landing/HowItWorks.tsx +120 -0
  455. mindroom-0.1.0/saas-platform/platform-frontend/src/components/landing/Pricing.tsx +245 -0
  456. mindroom-0.1.0/saas-platform/platform-frontend/src/components/landing/Stats.tsx +67 -0
  457. mindroom-0.1.0/saas-platform/platform-frontend/src/components/landing/Testimonials.tsx +126 -0
  458. mindroom-0.1.0/saas-platform/platform-frontend/src/components/landing/WhyItMatters.tsx +123 -0
  459. mindroom-0.1.0/saas-platform/platform-frontend/src/components/ui/AnimatedSection.tsx +39 -0
  460. mindroom-0.1.0/saas-platform/platform-frontend/src/components/ui/Card.tsx +82 -0
  461. mindroom-0.1.0/saas-platform/platform-frontend/src/components/ui/button.tsx +36 -0
  462. mindroom-0.1.0/saas-platform/platform-frontend/src/hooks/useAuth.ts +79 -0
  463. mindroom-0.1.0/saas-platform/platform-frontend/src/hooks/useDarkMode.tsx +76 -0
  464. mindroom-0.1.0/saas-platform/platform-frontend/src/hooks/useInstance.ts +136 -0
  465. mindroom-0.1.0/saas-platform/platform-frontend/src/hooks/useSubscription.ts +89 -0
  466. mindroom-0.1.0/saas-platform/platform-frontend/src/hooks/useUsage.ts +75 -0
  467. mindroom-0.1.0/saas-platform/platform-frontend/src/lib/__tests__/api.test.ts +709 -0
  468. mindroom-0.1.0/saas-platform/platform-frontend/src/lib/__tests__/instance-lifecycle.test.ts +376 -0
  469. mindroom-0.1.0/saas-platform/platform-frontend/src/lib/api.ts +213 -0
  470. mindroom-0.1.0/saas-platform/platform-frontend/src/lib/auth/admin.ts +98 -0
  471. mindroom-0.1.0/saas-platform/platform-frontend/src/lib/cache.ts +45 -0
  472. mindroom-0.1.0/saas-platform/platform-frontend/src/lib/constants.ts +38 -0
  473. mindroom-0.1.0/saas-platform/platform-frontend/src/lib/logger.ts +29 -0
  474. mindroom-0.1.0/saas-platform/platform-frontend/src/lib/pricing-config.ts +10 -0
  475. mindroom-0.1.0/saas-platform/platform-frontend/src/lib/runtime-config.ts +72 -0
  476. mindroom-0.1.0/saas-platform/platform-frontend/src/lib/stripe/client.ts +10 -0
  477. mindroom-0.1.0/saas-platform/platform-frontend/src/lib/supabase/client.ts +9 -0
  478. mindroom-0.1.0/saas-platform/platform-frontend/src/lib/supabase/server.ts +33 -0
  479. mindroom-0.1.0/saas-platform/platform-frontend/src/lib/supabase/types.ts +144 -0
  480. mindroom-0.1.0/saas-platform/platform-frontend/src/styles/buttons.css +24 -0
  481. mindroom-0.1.0/saas-platform/platform-frontend/take_screenshot.js +213 -0
  482. mindroom-0.1.0/saas-platform/platform-frontend/tests/admin.test.ts +43 -0
  483. mindroom-0.1.0/saas-platform/platform-frontend/tests/e2e.test.ts +75 -0
  484. mindroom-0.1.0/saas-platform/platform-frontend/tests/test-instance-control.js +111 -0
  485. mindroom-0.1.0/saas-platform/platform-frontend/tsconfig.json +27 -0
  486. mindroom-0.1.0/saas-platform/pricing-config.yaml +128 -0
  487. mindroom-0.1.0/saas-platform/redeploy-mindroom-backend.sh +36 -0
  488. mindroom-0.1.0/saas-platform/redeploy-mindroom-frontend.sh +36 -0
  489. mindroom-0.1.0/saas-platform/supabase/.gitignore +8 -0
  490. mindroom-0.1.0/saas-platform/supabase/migrations/000_consolidated_complete_schema.sql +613 -0
  491. mindroom-0.1.0/scripts/README.md +50 -0
  492. mindroom-0.1.0/scripts/__init__.py +1 -0
  493. mindroom-0.1.0/scripts/apply-rotated-keys.sh +76 -0
  494. mindroom-0.1.0/scripts/check_schema_usage.py +138 -0
  495. mindroom-0.1.0/scripts/clean-git-history.sh +69 -0
  496. mindroom-0.1.0/scripts/rotate-api-keys.sh +29 -0
  497. mindroom-0.1.0/scripts/supabase_exec_sql.py +103 -0
  498. mindroom-0.1.0/scripts/sync_config.py +121 -0
  499. mindroom-0.1.0/scripts/testing/__init__.py +1 -0
  500. mindroom-0.1.0/scripts/testing/benchmark_matrix_throughput.py +282 -0
  501. mindroom-0.1.0/scripts/utilities/__init__.py +1 -0
  502. mindroom-0.1.0/scripts/utilities/check_git_secrets.py +224 -0
  503. mindroom-0.1.0/scripts/utilities/cleanup_agent_edits.py +310 -0
  504. mindroom-0.1.0/scripts/utilities/cleanup_agent_edits.sh +30 -0
  505. mindroom-0.1.0/scripts/utilities/cleanup_agent_edits_docker.sh +44 -0
  506. mindroom-0.1.0/scripts/utilities/forward-ports.sh +32 -0
  507. mindroom-0.1.0/scripts/utilities/generate_avatars.py +418 -0
  508. mindroom-0.1.0/scripts/utilities/rewrite_git_commits_ai.py +294 -0
  509. mindroom-0.1.0/scripts/utilities/rewrite_git_history_apply.py +286 -0
  510. mindroom-0.1.0/shell.nix +51 -0
  511. mindroom-0.1.0/src/mindroom/__init__.py +3 -0
  512. mindroom-0.1.0/src/mindroom/agent_prompts.py +963 -0
  513. mindroom-0.1.0/src/mindroom/agents.py +248 -0
  514. mindroom-0.1.0/src/mindroom/ai.py +421 -0
  515. mindroom-0.1.0/src/mindroom/api/__init__.py +1 -0
  516. mindroom-0.1.0/src/mindroom/api/credentials.py +137 -0
  517. mindroom-0.1.0/src/mindroom/api/google_integration.py +355 -0
  518. mindroom-0.1.0/src/mindroom/api/google_tools_helper.py +40 -0
  519. mindroom-0.1.0/src/mindroom/api/homeassistant_integration.py +421 -0
  520. mindroom-0.1.0/src/mindroom/api/integrations.py +189 -0
  521. mindroom-0.1.0/src/mindroom/api/main.py +506 -0
  522. mindroom-0.1.0/src/mindroom/api/matrix_operations.py +219 -0
  523. mindroom-0.1.0/src/mindroom/api/tools.py +94 -0
  524. mindroom-0.1.0/src/mindroom/background_tasks.py +87 -0
  525. mindroom-0.1.0/src/mindroom/bot.py +2470 -0
  526. mindroom-0.1.0/src/mindroom/cli.py +86 -0
  527. mindroom-0.1.0/src/mindroom/commands.py +377 -0
  528. mindroom-0.1.0/src/mindroom/config.py +343 -0
  529. mindroom-0.1.0/src/mindroom/config_commands.py +324 -0
  530. mindroom-0.1.0/src/mindroom/config_confirmation.py +411 -0
  531. mindroom-0.1.0/src/mindroom/constants.py +52 -0
  532. mindroom-0.1.0/src/mindroom/credentials.py +146 -0
  533. mindroom-0.1.0/src/mindroom/credentials_sync.py +134 -0
  534. mindroom-0.1.0/src/mindroom/custom_tools/__init__.py +8 -0
  535. mindroom-0.1.0/src/mindroom/custom_tools/config_manager.py +765 -0
  536. mindroom-0.1.0/src/mindroom/custom_tools/gmail.py +92 -0
  537. mindroom-0.1.0/src/mindroom/custom_tools/google_calendar.py +92 -0
  538. mindroom-0.1.0/src/mindroom/custom_tools/google_sheets.py +92 -0
  539. mindroom-0.1.0/src/mindroom/custom_tools/homeassistant.py +341 -0
  540. mindroom-0.1.0/src/mindroom/error_handling.py +35 -0
  541. mindroom-0.1.0/src/mindroom/file_watcher.py +49 -0
  542. mindroom-0.1.0/src/mindroom/interactive.py +313 -0
  543. mindroom-0.1.0/src/mindroom/logging_config.py +207 -0
  544. mindroom-0.1.0/src/mindroom/matrix/__init__.py +1 -0
  545. mindroom-0.1.0/src/mindroom/matrix/client.py +782 -0
  546. mindroom-0.1.0/src/mindroom/matrix/event_info.py +173 -0
  547. mindroom-0.1.0/src/mindroom/matrix/identity.py +149 -0
  548. mindroom-0.1.0/src/mindroom/matrix/large_messages.py +267 -0
  549. mindroom-0.1.0/src/mindroom/matrix/mentions.py +141 -0
  550. mindroom-0.1.0/src/mindroom/matrix/message_builder.py +94 -0
  551. mindroom-0.1.0/src/mindroom/matrix/message_content.py +209 -0
  552. mindroom-0.1.0/src/mindroom/matrix/presence.py +178 -0
  553. mindroom-0.1.0/src/mindroom/matrix/rooms.py +311 -0
  554. mindroom-0.1.0/src/mindroom/matrix/state.py +77 -0
  555. mindroom-0.1.0/src/mindroom/matrix/typing.py +91 -0
  556. mindroom-0.1.0/src/mindroom/matrix/users.py +217 -0
  557. mindroom-0.1.0/src/mindroom/memory/__init__.py +21 -0
  558. mindroom-0.1.0/src/mindroom/memory/config.py +137 -0
  559. mindroom-0.1.0/src/mindroom/memory/functions.py +396 -0
  560. mindroom-0.1.0/src/mindroom/py.typed +0 -0
  561. mindroom-0.1.0/src/mindroom/response_tracker.py +128 -0
  562. mindroom-0.1.0/src/mindroom/room_cleanup.py +139 -0
  563. mindroom-0.1.0/src/mindroom/routing.py +107 -0
  564. mindroom-0.1.0/src/mindroom/scheduling.py +758 -0
  565. mindroom-0.1.0/src/mindroom/stop.py +207 -0
  566. mindroom-0.1.0/src/mindroom/streaming.py +203 -0
  567. mindroom-0.1.0/src/mindroom/teams.py +749 -0
  568. mindroom-0.1.0/src/mindroom/thread_utils.py +318 -0
  569. mindroom-0.1.0/src/mindroom/tools/__init__.py +520 -0
  570. mindroom-0.1.0/src/mindroom/tools/agentql.py +64 -0
  571. mindroom-0.1.0/src/mindroom/tools/airflow.py +57 -0
  572. mindroom-0.1.0/src/mindroom/tools/apify.py +49 -0
  573. mindroom-0.1.0/src/mindroom/tools/arxiv.py +64 -0
  574. mindroom-0.1.0/src/mindroom/tools/aws_lambda.py +41 -0
  575. mindroom-0.1.0/src/mindroom/tools/aws_ses.py +57 -0
  576. mindroom-0.1.0/src/mindroom/tools/baidusearch.py +87 -0
  577. mindroom-0.1.0/src/mindroom/tools/brightdata.py +116 -0
  578. mindroom-0.1.0/src/mindroom/tools/browserbase.py +62 -0
  579. mindroom-0.1.0/src/mindroom/tools/cal_com.py +98 -0
  580. mindroom-0.1.0/src/mindroom/tools/calculator.py +112 -0
  581. mindroom-0.1.0/src/mindroom/tools/cartesia.py +84 -0
  582. mindroom-0.1.0/src/mindroom/tools/composio.py +166 -0
  583. mindroom-0.1.0/src/mindroom/tools/config_manager.py +44 -0
  584. mindroom-0.1.0/src/mindroom/tools/confluence.py +73 -0
  585. mindroom-0.1.0/src/mindroom/tools/crawl4ai.py +101 -0
  586. mindroom-0.1.0/src/mindroom/tools/csv.py +104 -0
  587. mindroom-0.1.0/src/mindroom/tools/custom_api.py +106 -0
  588. mindroom-0.1.0/src/mindroom/tools/dalle.py +85 -0
  589. mindroom-0.1.0/src/mindroom/tools/daytona.py +180 -0
  590. mindroom-0.1.0/src/mindroom/tools/discord.py +81 -0
  591. mindroom-0.1.0/src/mindroom/tools/docker.py +73 -0
  592. mindroom-0.1.0/src/mindroom/tools/duckdb.py +124 -0
  593. mindroom-0.1.0/src/mindroom/tools/duckduckgo.py +99 -0
  594. mindroom-0.1.0/src/mindroom/tools/e2b.py +121 -0
  595. mindroom-0.1.0/src/mindroom/tools/eleven_labs.py +77 -0
  596. mindroom-0.1.0/src/mindroom/tools/email.py +74 -0
  597. mindroom-0.1.0/src/mindroom/tools/exa.py +246 -0
  598. mindroom-0.1.0/src/mindroom/tools/fal.py +50 -0
  599. mindroom-0.1.0/src/mindroom/tools/file.py +80 -0
  600. mindroom-0.1.0/src/mindroom/tools/financial_datasets_api.py +112 -0
  601. mindroom-0.1.0/src/mindroom/tools/firecrawl.py +124 -0
  602. mindroom-0.1.0/src/mindroom/tools/gemini.py +85 -0
  603. mindroom-0.1.0/src/mindroom/tools/giphy.py +49 -0
  604. mindroom-0.1.0/src/mindroom/tools/github.py +376 -0
  605. mindroom-0.1.0/src/mindroom/tools/gmail.py +102 -0
  606. mindroom-0.1.0/src/mindroom/tools/google_calendar.py +55 -0
  607. mindroom-0.1.0/src/mindroom/tools/google_maps.py +112 -0
  608. mindroom-0.1.0/src/mindroom/tools/google_sheets.py +86 -0
  609. mindroom-0.1.0/src/mindroom/tools/googlesearch.py +83 -0
  610. mindroom-0.1.0/src/mindroom/tools/groq.py +77 -0
  611. mindroom-0.1.0/src/mindroom/tools/hackernews.py +54 -0
  612. mindroom-0.1.0/src/mindroom/tools/jina.py +108 -0
  613. mindroom-0.1.0/src/mindroom/tools/jira.py +70 -0
  614. mindroom-0.1.0/src/mindroom/tools/linear.py +103 -0
  615. mindroom-0.1.0/src/mindroom/tools/linkup.py +65 -0
  616. mindroom-0.1.0/src/mindroom/tools/lumalabs.py +71 -0
  617. mindroom-0.1.0/src/mindroom/tools/mem0.py +82 -0
  618. mindroom-0.1.0/src/mindroom/tools/modelslabs.py +85 -0
  619. mindroom-0.1.0/src/mindroom/tools/moviepy_video_tools.py +62 -0
  620. mindroom-0.1.0/src/mindroom/tools/newspaper4k.py +63 -0
  621. mindroom-0.1.0/src/mindroom/tools/openai.py +143 -0
  622. mindroom-0.1.0/src/mindroom/tools/openweather.py +89 -0
  623. mindroom-0.1.0/src/mindroom/tools/oxylabs.py +54 -0
  624. mindroom-0.1.0/src/mindroom/tools/pandas.py +35 -0
  625. mindroom-0.1.0/src/mindroom/tools/pubmed.py +64 -0
  626. mindroom-0.1.0/src/mindroom/tools/python.py +120 -0
  627. mindroom-0.1.0/src/mindroom/tools/reddit.py +155 -0
  628. mindroom-0.1.0/src/mindroom/tools/replicate.py +56 -0
  629. mindroom-0.1.0/src/mindroom/tools/resend.py +55 -0
  630. mindroom-0.1.0/src/mindroom/tools/scrapegraph.py +87 -0
  631. mindroom-0.1.0/src/mindroom/tools/searxng.py +120 -0
  632. mindroom-0.1.0/src/mindroom/tools/serpapi.py +55 -0
  633. mindroom-0.1.0/src/mindroom/tools/serper.py +81 -0
  634. mindroom-0.1.0/src/mindroom/tools/shell.py +46 -0
  635. mindroom-0.1.0/src/mindroom/tools/slack.py +80 -0
  636. mindroom-0.1.0/src/mindroom/tools/sleep.py +38 -0
  637. mindroom-0.1.0/src/mindroom/tools/spider.py +62 -0
  638. mindroom-0.1.0/src/mindroom/tools/sql.py +138 -0
  639. mindroom-0.1.0/src/mindroom/tools/tavily.py +104 -0
  640. mindroom-0.1.0/src/mindroom/tools/telegram.py +54 -0
  641. mindroom-0.1.0/src/mindroom/tools/todoist.py +103 -0
  642. mindroom-0.1.0/src/mindroom/tools/trello.py +121 -0
  643. mindroom-0.1.0/src/mindroom/tools/twilio.py +97 -0
  644. mindroom-0.1.0/src/mindroom/tools/web_browser_tools.py +37 -0
  645. mindroom-0.1.0/src/mindroom/tools/webex.py +63 -0
  646. mindroom-0.1.0/src/mindroom/tools/website.py +45 -0
  647. mindroom-0.1.0/src/mindroom/tools/whatsapp.py +81 -0
  648. mindroom-0.1.0/src/mindroom/tools/wikipedia.py +45 -0
  649. mindroom-0.1.0/src/mindroom/tools/x.py +97 -0
  650. mindroom-0.1.0/src/mindroom/tools/yfinance.py +121 -0
  651. mindroom-0.1.0/src/mindroom/tools/youtube.py +81 -0
  652. mindroom-0.1.0/src/mindroom/tools/zendesk.py +62 -0
  653. mindroom-0.1.0/src/mindroom/tools/zep.py +107 -0
  654. mindroom-0.1.0/src/mindroom/tools/zoom.py +62 -0
  655. mindroom-0.1.0/src/mindroom/tools_metadata.json +7643 -0
  656. mindroom-0.1.0/src/mindroom/tools_metadata.py +220 -0
  657. mindroom-0.1.0/src/mindroom/topic_generator.py +153 -0
  658. mindroom-0.1.0/src/mindroom/voice_handler.py +266 -0
  659. mindroom-0.1.0/tests/__init__.py +1 -0
  660. mindroom-0.1.0/tests/api/__init__.py +1 -0
  661. mindroom-0.1.0/tests/api/conftest.py +66 -0
  662. mindroom-0.1.0/tests/api/test_api.py +423 -0
  663. mindroom-0.1.0/tests/api/test_credentials_api.py +174 -0
  664. mindroom-0.1.0/tests/api/test_file_watcher.py +74 -0
  665. mindroom-0.1.0/tests/api/test_matrix_operations.py +205 -0
  666. mindroom-0.1.0/tests/conftest.py +53 -0
  667. mindroom-0.1.0/tests/manual/manual_test_message_sizes.py +201 -0
  668. mindroom-0.1.0/tests/test_agent_datetime_context.py +155 -0
  669. mindroom-0.1.0/tests/test_agent_order_preservation.py +245 -0
  670. mindroom-0.1.0/tests/test_agent_response_logic.py +438 -0
  671. mindroom-0.1.0/tests/test_agents.py +63 -0
  672. mindroom-0.1.0/tests/test_ai_error_message_display.py +251 -0
  673. mindroom-0.1.0/tests/test_authorization.py +257 -0
  674. mindroom-0.1.0/tests/test_authorization_config_update.py +49 -0
  675. mindroom-0.1.0/tests/test_bot_scheduling.py +1317 -0
  676. mindroom-0.1.0/tests/test_cancel_mid_wait.py +39 -0
  677. mindroom-0.1.0/tests/test_cli.py +213 -0
  678. mindroom-0.1.0/tests/test_command_with_emoji.py +44 -0
  679. mindroom-0.1.0/tests/test_commands.py +194 -0
  680. mindroom-0.1.0/tests/test_config_commands.py +432 -0
  681. mindroom-0.1.0/tests/test_config_manager_consolidated.py +317 -0
  682. mindroom-0.1.0/tests/test_config_reload.py +674 -0
  683. mindroom-0.1.0/tests/test_credentials.py +225 -0
  684. mindroom-0.1.0/tests/test_credentials_api.py +265 -0
  685. mindroom-0.1.0/tests/test_credentials_sync.py +182 -0
  686. mindroom-0.1.0/tests/test_cron_natural_language.py +88 -0
  687. mindroom-0.1.0/tests/test_dm_detection.py +87 -0
  688. mindroom-0.1.0/tests/test_dm_functionality.py +476 -0
  689. mindroom-0.1.0/tests/test_dm_room_preservation.py +253 -0
  690. mindroom-0.1.0/tests/test_dynamic_config_update.py +156 -0
  691. mindroom-0.1.0/tests/test_edit_after_restart.py +206 -0
  692. mindroom-0.1.0/tests/test_edit_event_handling.py +287 -0
  693. mindroom-0.1.0/tests/test_edit_response_regeneration.py +873 -0
  694. mindroom-0.1.0/tests/test_error_handling.py +33 -0
  695. mindroom-0.1.0/tests/test_error_handling_in_callbacks.py +101 -0
  696. mindroom-0.1.0/tests/test_event_driven_scheduling.py +309 -0
  697. mindroom-0.1.0/tests/test_event_relations.py +209 -0
  698. mindroom-0.1.0/tests/test_extra_kwargs.py +251 -0
  699. mindroom-0.1.0/tests/test_gemini_integration.py +105 -0
  700. mindroom-0.1.0/tests/test_homeassistant_tools.py +367 -0
  701. mindroom-0.1.0/tests/test_interactive.py +517 -0
  702. mindroom-0.1.0/tests/test_interactive_thread_fix.py +289 -0
  703. mindroom-0.1.0/tests/test_large_messages.py +177 -0
  704. mindroom-0.1.0/tests/test_large_messages_integration.py +378 -0
  705. mindroom-0.1.0/tests/test_matrix_agent_manager.py +369 -0
  706. mindroom-0.1.0/tests/test_matrix_identity.py +123 -0
  707. mindroom-0.1.0/tests/test_memory_config.py +176 -0
  708. mindroom-0.1.0/tests/test_memory_functions.py +479 -0
  709. mindroom-0.1.0/tests/test_memory_integration.py +174 -0
  710. mindroom-0.1.0/tests/test_mention_exclusion.py +160 -0
  711. mindroom-0.1.0/tests/test_mentions.py +164 -0
  712. mindroom-0.1.0/tests/test_message_content.py +148 -0
  713. mindroom-0.1.0/tests/test_mock_tests.py +591 -0
  714. mindroom-0.1.0/tests/test_multi_agent_bot.py +784 -0
  715. mindroom-0.1.0/tests/test_multi_agent_e2e.py +518 -0
  716. mindroom-0.1.0/tests/test_multiple_edits.py +206 -0
  717. mindroom-0.1.0/tests/test_preformed_team_routing.py +204 -0
  718. mindroom-0.1.0/tests/test_presence.py +279 -0
  719. mindroom-0.1.0/tests/test_presence_based_streaming.py +312 -0
  720. mindroom-0.1.0/tests/test_response_tracker.py +158 -0
  721. mindroom-0.1.0/tests/test_response_tracking_regression.py +276 -0
  722. mindroom-0.1.0/tests/test_restore_dedup.py +80 -0
  723. mindroom-0.1.0/tests/test_room_invites.py +219 -0
  724. mindroom-0.1.0/tests/test_router_configured_agents.py +136 -0
  725. mindroom-0.1.0/tests/test_router_rooms.py +307 -0
  726. mindroom-0.1.0/tests/test_routing.py +294 -0
  727. mindroom-0.1.0/tests/test_routing_integration.py +136 -0
  728. mindroom-0.1.0/tests/test_routing_regression.py +396 -0
  729. mindroom-0.1.0/tests/test_schedule_agent_validation.py +365 -0
  730. mindroom-0.1.0/tests/test_scheduled_task_restoration.py +167 -0
  731. mindroom-0.1.0/tests/test_scheduling.py +378 -0
  732. mindroom-0.1.0/tests/test_skip_mentions.py +170 -0
  733. mindroom-0.1.0/tests/test_stop_emoji_reuse.py +167 -0
  734. mindroom-0.1.0/tests/test_streaming_behavior.py +397 -0
  735. mindroom-0.1.0/tests/test_streaming_e2e.py +463 -0
  736. mindroom-0.1.0/tests/test_streaming_edits.py +350 -0
  737. mindroom-0.1.0/tests/test_sync_task_cancellation.py +242 -0
  738. mindroom-0.1.0/tests/test_team_collaboration.py +559 -0
  739. mindroom-0.1.0/tests/test_team_coordination.py +242 -0
  740. mindroom-0.1.0/tests/test_team_extraction.py +306 -0
  741. mindroom-0.1.0/tests/test_team_invitations.py +152 -0
  742. mindroom-0.1.0/tests/test_team_mode_decision.py +400 -0
  743. mindroom-0.1.0/tests/test_team_room_updates.py +235 -0
  744. mindroom-0.1.0/tests/test_thread_history.py +185 -0
  745. mindroom-0.1.0/tests/test_threading_error.py +489 -0
  746. mindroom-0.1.0/tests/test_timezone_scheduling.py +81 -0
  747. mindroom-0.1.0/tests/test_tool_config_sync.py +128 -0
  748. mindroom-0.1.0/tests/test_tool_dependencies.py +290 -0
  749. mindroom-0.1.0/tests/test_tools_metadata.py +68 -0
  750. mindroom-0.1.0/tests/test_unknown_command.py +53 -0
  751. mindroom-0.1.0/tests/test_unknown_command_response.py +318 -0
  752. mindroom-0.1.0/tests/test_voice_agent_mentions.py +117 -0
  753. mindroom-0.1.0/tests/test_voice_bot_threading.py +102 -0
  754. mindroom-0.1.0/tests/test_voice_command_processing.py +103 -0
  755. mindroom-0.1.0/tests/test_voice_handler.py +144 -0
  756. mindroom-0.1.0/tests/test_voice_handler_thread.py +53 -0
  757. mindroom-0.1.0/tests/test_voice_thread_agent_response.py +156 -0
  758. mindroom-0.1.0/tests/test_workflow_scheduling.py +436 -0
  759. mindroom-0.1.0/tools/CONFIGFIELD_GENERATION_PROMPT.md +203 -0
  760. mindroom-0.1.0/uv.lock +6244 -0
  761. mindroom-0.0.0/PKG-INFO +0 -24
  762. mindroom-0.0.0/mindroom.egg-info/PKG-INFO +0 -24
  763. mindroom-0.0.0/mindroom.egg-info/SOURCES.txt +0 -5
  764. mindroom-0.0.0/mindroom.egg-info/dependency_links.txt +0 -1
  765. mindroom-0.0.0/mindroom.egg-info/top_level.txt +0 -1
  766. mindroom-0.0.0/setup.cfg +0 -4
  767. mindroom-0.0.0/setup.py +0 -24
@@ -0,0 +1,86 @@
1
+ ---
2
+ name: configfield-generator
3
+ description: Expert at generating ConfigField definitions for agno tools. Use proactively when asked to create tool configurations or analyze agno tool parameters.
4
+ tools: Read, Write, Grep, Glob, Bash, WebFetch
5
+ ---
6
+
7
+ You are a specialist in generating ConfigField definitions for agno tools in the MindRoom project.
8
+
9
+ **CRITICAL FILE LOCATION**: Create a NEW SEPARATE file at `src/mindroom/tools/[tool_name].py`. DO NOT modify `src/mindroom/tools/__init__.py` - that file should remain unchanged.
10
+
11
+ **MIGRATION GOAL**: Move tools FROM the `__init__.py` file TO their own separate modules. Each tool gets its own dedicated file.
12
+
13
+ When invoked:
14
+ 1. **Read project instructions**: Read `CLAUDE.md` in the project root for specific guidelines
15
+ 2. Read the prompt template from `tools/CONFIGFIELD_GENERATION_PROMPT.md`
16
+ 3. **Fetch agno documentation**:
17
+ - Fetch `https://docs.agno.com/llms.txt` to find the tool's documentation URL
18
+ - Fetch the specific tool's documentation page (.md file) for parameter descriptions
19
+ - Note: For `docs_url` in code, use the URL WITHOUT the .md extension
20
+ 4. Analyze the specified agno tool class parameters from source code
21
+ 5. Merge documentation descriptions with source code analysis
22
+ 6. Generate complete ConfigField definitions following the template
23
+ 7. Create a NEW file at `src/mindroom/tools/[tool_name].py` (DO NOT modify __init__.py)
24
+ 8. Add the import to `src/mindroom/tools/__init__.py` (import and export in __all__)
25
+ 9. Run the verification test to ensure accuracy
26
+ 10. Report test results
27
+
28
+ Your expertise includes:
29
+ - Fetching and parsing agno documentation for accurate parameter descriptions
30
+ - Analyzing Python type annotations and parameter signatures
31
+ - Mapping Python types to ConfigField types (bool→boolean, str→text/password/url, etc.)
32
+ - Determining tool categories from agno documentation structure
33
+ - Setting appropriate tool status and setup types
34
+ - Merging documentation descriptions with source code analysis
35
+ - Creating comprehensive parameter descriptions
36
+ - Following MindRoom's tool configuration patterns
37
+ - Using the exact docs URLs from the agno documentation
38
+
39
+ **MANDATORY PROCESS** for each tool:
40
+ 1. **READ PROJECT CONTEXT**:
41
+ - Read `CLAUDE.md` for project-specific instructions
42
+ 2. **FETCH DOCUMENTATION**:
43
+ - Get `https://docs.agno.com/llms.txt` to find the tool's docs URL (will be .md file)
44
+ - Fetch the tool's specific documentation page (the .md file)
45
+ - Extract parameter descriptions from the documentation
46
+ 3. **ANALYZE SOURCE CODE**:
47
+ - Examine `agno.tools.[module].[ToolClass].__init__` parameters using inspection
48
+ - Get complete parameter list and default values
49
+ 4. **MERGE INFORMATION**:
50
+ - Use documentation descriptions when available
51
+ - Use source code for complete parameter list
52
+ - Map docs URL to determine category, status, and setup type
53
+ - For `docs_url` field: use URL WITHOUT .md extension
54
+ 5. Generate all ConfigField definitions with proper types and defaults
55
+ 6. **CREATE A NEW FILE** at `src/mindroom/tools/[tool_name].py` (NEVER modify __init__.py except for imports)
56
+ 7. **UPDATE IMPORTS**: Add import to `src/mindroom/tools/__init__.py`
57
+ 8. **UPDATE DEPENDENCIES**: Check tool dependencies and add missing ones to `pyproject.toml`
58
+ - Use format: `"package-name", # for [Tool Name] tool`
59
+ - Follow the existing pattern with proper comments
60
+ 9. **ALWAYS RUN THIS TEST**: Execute `python -c "from tests.test_tool_config_sync import verify_tool_configfields; from agno.tools.[module] import [ToolClass]; verify_tool_configfields('[tool_name]', [ToolClass])"`
61
+ 10. Report whether the test passes or fails
62
+
63
+ **File Structure Requirements**:
64
+ - **CRITICAL**: Create NEW file at `src/mindroom/tools/[tool_name].py`
65
+ - **IMPORTS ONLY**: Only modify `src/mindroom/tools/__init__.py` to add imports
66
+ - Follow the EXACT pattern from `src/mindroom/tools/github.py`
67
+ - Use `@register_tool_with_metadata` decorator
68
+ - Import path: `from mindroom.tools_metadata import ConfigField, SetupType, ToolCategory, ToolStatus, register_tool_with_metadata`
69
+ - Function name: `[tool_name]_tools()` (e.g., `calculator_tools()`, `file_tools()`)
70
+ - NO BaseTool class - use the decorator pattern like GitHub tool
71
+ - Use the docs_url from `https://docs.agno.com/llms.txt` but WITHOUT the .md extension
72
+
73
+ **MIGRATION PATTERN**: You are helping to migrate tools from the monolithic `__init__.py` file into separate, dedicated modules for better organization.
74
+
75
+ **Test Verification is MANDATORY**:
76
+ Every generated configuration MUST pass the verification test. If the test fails, analyze the errors and fix the ConfigField definitions until the test passes.
77
+
78
+ You excel at:
79
+ - Reading and following project-specific instructions from CLAUDE.md
80
+ - Fetching and parsing documentation for accurate descriptions
81
+ - Systematic source code analysis
82
+ - Merging documentation with code inspection
83
+ - Proper file organization
84
+ - Producing test-verified tool configurations
85
+ - Using correct URL formats (removing .md extension for docs_url field)
86
+ - Managing project dependencies in pyproject.toml with proper comments