insforge 1.3.0 → 1.4.8

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 (269) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/auth/package.json +5 -3
  3. package/auth/src/lib/broadcastService.ts +115 -117
  4. package/auth/src/lib/insforge.ts +8 -0
  5. package/auth/src/main.tsx +2 -4
  6. package/auth/src/pages/SignInPage.tsx +60 -60
  7. package/auth/src/pages/SignUpPage.tsx +60 -60
  8. package/auth/src/pages/VerifyEmailPage.tsx +18 -0
  9. package/auth/tsconfig.json +2 -1
  10. package/backend/package.json +10 -6
  11. package/backend/src/api/middlewares/rate-limiters.ts +127 -127
  12. package/backend/src/api/routes/ai/index.routes.ts +475 -468
  13. package/backend/src/api/routes/auth/index.routes.ts +85 -32
  14. package/backend/src/api/routes/auth/oauth.routes.ts +11 -6
  15. package/backend/src/api/routes/database/index.routes.ts +2 -0
  16. package/backend/src/api/routes/database/records.routes.ts +39 -175
  17. package/backend/src/api/routes/database/rpc.routes.ts +69 -0
  18. package/backend/src/api/routes/deployments/index.routes.ts +192 -0
  19. package/backend/src/api/routes/docs/index.routes.ts +3 -2
  20. package/backend/src/api/routes/email/index.routes.ts +35 -35
  21. package/backend/src/api/routes/functions/index.routes.ts +3 -3
  22. package/backend/src/api/routes/metadata/index.routes.ts +26 -0
  23. package/backend/src/api/routes/webhooks/index.routes.ts +109 -0
  24. package/backend/src/infra/database/database.manager.ts +0 -10
  25. package/backend/src/infra/database/migrations/018_schema-rework.sql +441 -0
  26. package/backend/src/infra/database/migrations/019_create-deployments-table.sql +36 -0
  27. package/backend/src/infra/database/migrations/020_add-audio-modality.sql +11 -0
  28. package/backend/src/infra/database/migrations/bootstrap/bootstrap-migrations.js +103 -0
  29. package/backend/src/infra/security/token.manager.ts +1 -4
  30. package/backend/src/providers/ai/openrouter.provider.ts +12 -3
  31. package/backend/src/providers/database/base.provider.ts +39 -0
  32. package/backend/src/providers/database/cloud.provider.ts +159 -0
  33. package/backend/src/providers/deployments/vercel.provider.ts +516 -0
  34. package/backend/src/server.ts +19 -7
  35. package/backend/src/services/ai/ai-config.service.ts +6 -6
  36. package/backend/src/services/ai/ai-model.service.ts +60 -60
  37. package/backend/src/services/ai/ai-usage.service.ts +7 -7
  38. package/backend/src/services/ai/chat-completion.service.ts +415 -220
  39. package/backend/src/services/ai/helpers.ts +64 -64
  40. package/backend/src/services/ai/index.ts +13 -13
  41. package/backend/src/services/auth/auth-config.service.ts +4 -4
  42. package/backend/src/services/auth/auth-otp.service.ts +6 -6
  43. package/backend/src/services/auth/auth.service.ts +134 -74
  44. package/backend/src/services/auth/index.ts +4 -4
  45. package/backend/src/services/auth/oauth-config.service.ts +12 -12
  46. package/backend/src/services/database/database-advance.service.ts +19 -55
  47. package/backend/src/services/database/database-table.service.ts +38 -85
  48. package/backend/src/services/database/postgrest-proxy.service.ts +165 -0
  49. package/backend/src/services/deployments/deployment.service.ts +693 -0
  50. package/backend/src/services/functions/function.service.ts +61 -41
  51. package/backend/src/services/logs/audit.service.ts +10 -10
  52. package/backend/src/services/secrets/secret.service.ts +101 -27
  53. package/backend/src/services/storage/storage.service.ts +30 -30
  54. package/backend/src/services/usage/usage.service.ts +6 -6
  55. package/backend/src/types/ai.ts +8 -0
  56. package/backend/src/types/auth.ts +5 -1
  57. package/backend/src/types/database.ts +2 -0
  58. package/backend/src/types/deployments.ts +33 -0
  59. package/backend/src/types/storage.ts +1 -1
  60. package/backend/src/types/webhooks.ts +45 -0
  61. package/backend/src/utils/cookies.ts +34 -35
  62. package/backend/src/utils/environment.ts +0 -14
  63. package/backend/src/utils/s3-config-loader.ts +64 -64
  64. package/backend/src/utils/seed.ts +334 -301
  65. package/backend/src/utils/sql-parser.ts +126 -0
  66. package/backend/src/utils/utils.ts +114 -114
  67. package/backend/src/utils/validations.ts +10 -10
  68. package/backend/tests/local/test-rpc.sh +141 -0
  69. package/backend/tests/local/test-secrets.sh +1 -1
  70. package/backend/tests/manual/test-ai-model-plugins.sh +258 -0
  71. package/backend/tests/manual/test-rawsql-modes.sh +24 -24
  72. package/backend/tests/unit/database-advance.test.ts +326 -0
  73. package/backend/tests/unit/helpers.test.ts +2 -2
  74. package/claude-plugin/skills/insforge-schema-patterns/SKILL.md +13 -10
  75. package/docker-compose.prod.yml +1 -1
  76. package/docker-compose.yml +1 -1
  77. package/docs/agent-docs/deployment.md +79 -0
  78. package/docs/changelog.mdx +165 -72
  79. package/docs/core-concepts/ai/architecture.mdx +1 -23
  80. package/docs/core-concepts/ai/sdk.mdx +26 -1
  81. package/docs/core-concepts/authentication/architecture.mdx +6 -8
  82. package/docs/core-concepts/authentication/sdk.mdx +387 -91
  83. package/docs/core-concepts/authentication/ui-components/customization.mdx +460 -256
  84. package/docs/core-concepts/authentication/ui-components/nextjs.mdx +50 -24
  85. package/docs/core-concepts/authentication/ui-components/react-router.mdx +18 -19
  86. package/docs/core-concepts/authentication/ui-components/react.mdx +26 -19
  87. package/docs/core-concepts/database/architecture.mdx +58 -21
  88. package/docs/core-concepts/database/pgvector.mdx +138 -0
  89. package/docs/core-concepts/database/sdk.mdx +17 -17
  90. package/docs/core-concepts/deployments/architecture.mdx +152 -0
  91. package/docs/core-concepts/email/architecture.mdx +4 -2
  92. package/docs/core-concepts/functions/architecture.mdx +1 -1
  93. package/docs/core-concepts/functions/sdk.mdx +0 -1
  94. package/docs/core-concepts/realtime/architecture.mdx +1 -1
  95. package/docs/core-concepts/storage/architecture.mdx +1 -1
  96. package/docs/core-concepts/storage/sdk.mdx +25 -25
  97. package/docs/docs.json +14 -6
  98. package/docs/favicon.png +0 -0
  99. package/docs/favicon.svg +3 -18
  100. package/docs/images/changelog/dec-2025/apple-oauth.mp4 +0 -0
  101. package/docs/images/changelog/dec-2025/moreModels.png +0 -0
  102. package/docs/images/changelog/dec-2025/multi-region.webp +0 -0
  103. package/docs/images/changelog/dec-2025/postgres-connection.webp +0 -0
  104. package/docs/images/changelog/dec-2025/realtime2.png +0 -0
  105. package/docs/images/mcp-setup/CC-MCP-1.mp4 +0 -0
  106. package/docs/images/mcp-setup/CC-MCP-2.mp4 +0 -0
  107. package/docs/images/mcp-setup/Cursor-MCP-1.mp4 +0 -0
  108. package/docs/images/mcp-setup/Cursor-MCP-2.mp4 +0 -0
  109. package/docs/images/mcp-setup/Cursor-MCP-3.mp4 +0 -0
  110. package/docs/images/mcp-setup/claude-code-connect.png +0 -0
  111. package/docs/images/mcp-setup/cline-1.png +0 -0
  112. package/docs/images/mcp-setup/cline-2.png +0 -0
  113. package/docs/images/mcp-setup/cline-3.png +0 -0
  114. package/docs/images/mcp-setup/connect-project.png +0 -0
  115. package/docs/images/mcp-setup/copilot-1.png +0 -0
  116. package/docs/images/mcp-setup/copilot-2.png +0 -0
  117. package/docs/images/mcp-setup/copilot-3.png +0 -0
  118. package/docs/images/mcp-setup/mcp-json-1.png +0 -0
  119. package/docs/images/mcp-setup/mcp-json-2.png +0 -0
  120. package/docs/images/mcp-setup/qoder-1.png +0 -0
  121. package/docs/images/mcp-setup/qoder-2.png +0 -0
  122. package/docs/images/mcp-setup/roocode-1.png +0 -0
  123. package/docs/images/mcp-setup/roocode-2.png +0 -0
  124. package/docs/images/mcp-setup/trae-1.png +0 -0
  125. package/docs/images/mcp-setup/trae-2.png +0 -0
  126. package/docs/images/mcp-setup/trae-3.png +0 -0
  127. package/docs/images/mcp-setup/trae-4.png +0 -0
  128. package/docs/images/mcp-setup/trae-5.png +0 -0
  129. package/docs/images/mcp-setup/windsurf-1.png +0 -0
  130. package/docs/images/mcp-setup/windsurf-2.png +0 -0
  131. package/docs/insforge-instructions-sdk.md +7 -3
  132. package/docs/introduction.mdx +9 -8
  133. package/docs/mcp-setup.mdx +332 -0
  134. package/docs/oauth-server.mdx +563 -0
  135. package/docs/partnership.mdx +79 -10
  136. package/docs/quickstart.mdx +1 -1
  137. package/docs/vscode-extension.mdx +74 -0
  138. package/eslint.config.js +1 -0
  139. package/examples/response-examples.md +1 -1
  140. package/frontend/package.json +1 -1
  141. package/frontend/src/App.tsx +8 -3
  142. package/frontend/src/assets/logos/antigravity.svg +1 -0
  143. package/frontend/src/assets/logos/copilot.svg +10 -0
  144. package/frontend/src/assets/logos/deepseek.svg +139 -0
  145. package/frontend/src/assets/logos/kiro.svg +9 -0
  146. package/frontend/src/assets/logos/qoder.svg +4 -0
  147. package/frontend/src/assets/logos/qwen.svg +15 -0
  148. package/frontend/src/components/CodeBlock.tsx +2 -2
  149. package/frontend/src/components/ConnectCTA.tsx +3 -2
  150. package/frontend/src/components/datagrid/DataGrid.tsx +90 -62
  151. package/frontend/src/components/datagrid/datagridTypes.tsx +2 -1
  152. package/frontend/src/components/datagrid/index.ts +1 -1
  153. package/frontend/src/components/index.ts +0 -1
  154. package/frontend/src/components/layout/AppHeader.tsx +4 -27
  155. package/frontend/src/components/layout/AppSidebar.tsx +85 -100
  156. package/frontend/src/components/layout/Layout.tsx +34 -32
  157. package/frontend/src/components/layout/PrimaryMenu.tsx +12 -4
  158. package/frontend/src/components/radix/Select.tsx +151 -151
  159. package/frontend/src/features/ai/components/AIConfigCard.tsx +200 -200
  160. package/frontend/src/features/ai/components/AIEmptyState.tsx +23 -23
  161. package/frontend/src/features/ai/components/ModalityFilterSidebar.tsx +102 -101
  162. package/frontend/src/features/ai/components/ModelSelectionDialog.tsx +135 -135
  163. package/frontend/src/features/ai/components/ModelSelectionGrid.tsx +51 -51
  164. package/frontend/src/features/ai/components/SystemPromptDialog.tsx +118 -118
  165. package/frontend/src/features/ai/components/index.ts +6 -6
  166. package/frontend/src/features/ai/helpers.ts +147 -141
  167. package/frontend/src/features/ai/pages/AIPage.tsx +166 -166
  168. package/frontend/src/features/auth/components/AuthPreview.tsx +96 -96
  169. package/frontend/src/features/auth/components/UsersDataGrid.tsx +55 -31
  170. package/frontend/src/features/auth/components/index.ts +5 -5
  171. package/frontend/src/features/auth/pages/AuthMethodsPage.tsx +275 -275
  172. package/frontend/src/features/dashboard/pages/DashboardPage.tsx +1 -1
  173. package/frontend/src/features/database/components/DatabaseDataGrid.tsx +0 -2
  174. package/frontend/src/features/database/components/ForeignKeyCell.tsx +38 -11
  175. package/frontend/src/features/database/components/ForeignKeyPopover.tsx +18 -8
  176. package/frontend/src/features/database/components/LinkRecordModal.tsx +61 -13
  177. package/frontend/src/features/database/components/RecordFormField.tsx +1 -1
  178. package/frontend/src/features/database/components/TableSidebar.tsx +0 -3
  179. package/frontend/src/features/database/components/TablesEmptyState.tsx +1 -1
  180. package/frontend/src/features/database/components/TemplatePreview.tsx +1 -2
  181. package/frontend/src/features/database/constants.ts +16 -28
  182. package/frontend/src/features/database/hooks/useCSVImport.ts +3 -2
  183. package/frontend/src/features/database/hooks/useRawSQL.ts +3 -2
  184. package/frontend/src/features/database/hooks/useTables.ts +5 -7
  185. package/frontend/src/features/database/pages/FunctionsPage.tsx +0 -5
  186. package/frontend/src/features/database/pages/IndexesPage.tsx +0 -5
  187. package/frontend/src/features/database/pages/PoliciesPage.tsx +0 -5
  188. package/frontend/src/features/database/pages/SQLEditorPage.tsx +2 -2
  189. package/frontend/src/features/database/pages/TriggersPage.tsx +0 -5
  190. package/frontend/src/features/database/services/advance.service.ts +1 -15
  191. package/frontend/src/features/database/services/record.service.ts +4 -20
  192. package/frontend/src/features/database/services/table.service.ts +1 -4
  193. package/frontend/src/features/database/templates/ai-chatbot.ts +6 -6
  194. package/frontend/src/features/database/templates/ecommerce-platform.ts +2 -2
  195. package/frontend/src/features/database/templates/instagram-clone.ts +10 -10
  196. package/frontend/src/features/database/templates/notion-clone.ts +8 -8
  197. package/frontend/src/features/database/templates/reddit-clone.ts +10 -10
  198. package/frontend/src/features/deployments/components/DeploymentRow.tsx +93 -0
  199. package/frontend/src/features/deployments/components/DeploymentsEmptyState.tsx +15 -0
  200. package/frontend/src/features/deployments/hooks/useDeployments.ts +157 -0
  201. package/frontend/src/features/deployments/pages/DeploymentsPage.tsx +318 -0
  202. package/frontend/src/features/deployments/services/deployments.service.ts +63 -0
  203. package/frontend/src/features/functions/components/FunctionRow.tsx +72 -72
  204. package/frontend/src/features/functions/components/FunctionsSidebar.tsx +56 -56
  205. package/frontend/src/features/functions/components/SecretRow.tsx +3 -3
  206. package/frontend/src/features/functions/components/index.ts +5 -5
  207. package/frontend/src/features/functions/hooks/useFunctions.ts +5 -4
  208. package/frontend/src/features/functions/hooks/useSecrets.ts +6 -9
  209. package/frontend/src/features/functions/pages/SecretsPage.tsx +118 -118
  210. package/frontend/src/features/functions/services/function.service.ts +8 -25
  211. package/frontend/src/features/functions/services/secret.service.ts +23 -41
  212. package/frontend/src/features/login/pages/CloudLoginPage.tsx +125 -118
  213. package/frontend/src/features/logs/components/LogDetailPanel.tsx +41 -0
  214. package/frontend/src/features/logs/components/LogsDataGrid.tsx +32 -1
  215. package/frontend/src/features/logs/components/index.ts +1 -0
  216. package/frontend/src/features/logs/pages/LogsPage.tsx +36 -6
  217. package/frontend/src/features/onboard/components/ApiCredentialsSection.tsx +59 -0
  218. package/frontend/src/features/onboard/components/ConnectionStringSection.tsx +180 -0
  219. package/frontend/src/features/onboard/components/McpConnectionSection.tsx +159 -0
  220. package/frontend/src/features/onboard/components/OnboardingController.tsx +68 -0
  221. package/frontend/src/features/onboard/components/OnboardingModal.tsx +121 -267
  222. package/frontend/src/features/onboard/components/ShowPasswordButton.tsx +21 -0
  223. package/frontend/src/features/onboard/components/index.ts +9 -4
  224. package/frontend/src/features/onboard/components/mcp/CursorDeeplinkGenerator.tsx +1 -1
  225. package/frontend/src/features/onboard/components/mcp/QoderDeeplinkGenerator.tsx +36 -0
  226. package/frontend/src/features/onboard/components/mcp/helpers.tsx +123 -98
  227. package/frontend/src/features/onboard/components/mcp/index.ts +4 -3
  228. package/frontend/src/features/onboard/index.ts +17 -13
  229. package/frontend/src/features/settings/pages/SettingsPage.tsx +349 -0
  230. package/frontend/src/features/visualizer/components/AuthNode.tsx +4 -4
  231. package/frontend/src/features/visualizer/components/SchemaVisualizer.tsx +21 -8
  232. package/frontend/src/features/visualizer/pages/VisualizerPage.tsx +10 -1
  233. package/frontend/src/index.css +249 -249
  234. package/frontend/src/lib/contexts/ModalContext.tsx +35 -0
  235. package/frontend/src/lib/hooks/useMetadata.ts +45 -1
  236. package/frontend/src/lib/hooks/useModal.tsx +2 -0
  237. package/frontend/src/lib/routing/AppRoutes.tsx +103 -99
  238. package/frontend/src/lib/services/metadata.service.ts +20 -3
  239. package/frontend/src/lib/utils/menuItems.ts +223 -207
  240. package/frontend/src/lib/utils/utils.ts +196 -196
  241. package/functions/server.ts +315 -315
  242. package/functions/worker-template.js +1 -1
  243. package/openapi/ai.yaml +115 -5
  244. package/openapi/auth.yaml +97 -17
  245. package/openapi/logs.yaml +0 -2
  246. package/openapi/metadata.yaml +0 -2
  247. package/openapi/records.yaml +21 -21
  248. package/openapi/tables.yaml +1 -2
  249. package/package.json +1 -1
  250. package/shared-schemas/package.json +1 -1
  251. package/shared-schemas/src/ai-api.schema.ts +251 -143
  252. package/shared-schemas/src/ai.schema.ts +63 -63
  253. package/shared-schemas/src/auth-api.schema.ts +34 -6
  254. package/shared-schemas/src/auth.schema.ts +17 -10
  255. package/shared-schemas/src/cloud-events.schema.ts +26 -0
  256. package/shared-schemas/src/deployments-api.schema.ts +55 -0
  257. package/shared-schemas/src/deployments.schema.ts +30 -0
  258. package/shared-schemas/src/docs.schema.ts +8 -2
  259. package/shared-schemas/src/email-api.schema.ts +30 -30
  260. package/shared-schemas/src/functions-api.schema.ts +13 -4
  261. package/shared-schemas/src/functions.schema.ts +1 -1
  262. package/shared-schemas/src/index.ts +22 -18
  263. package/shared-schemas/src/metadata.schema.ts +30 -4
  264. package/shared-schemas/src/secrets-api.schema.ts +44 -0
  265. package/shared-schemas/src/secrets.schema.ts +15 -0
  266. package/zeabur/README.md +13 -0
  267. package/zeabur/template.yml +20 -51
  268. package/backend/src/types/profile.ts +0 -55
  269. package/frontend/src/components/ProjectInfoModal.tsx +0 -128
@@ -1,119 +1,212 @@
1
1
  ---
2
2
  title: "Changelog"
3
- description: "Latest updates and improvements to InsForge"
3
+ description: "New features, improvements, and fixes shipped to InsForge."
4
4
  ---
5
5
 
6
- ## December 2025
6
+ <Update label="Dec 21, 2025" tags={["Realtime", "Auth", "Payments", "AI"]}>
7
+ ## Realtime Module
7
8
 
8
- <AccordionGroup>
9
- <Accordion title="Dec 12 - Alipay & New AI Models" icon="rocket">
10
- ### Alipay Payment Support
11
- Added **Alipay** as an alternative payment method. Users can now pay for InsForge subscriptions without a credit card.
9
+ We launched a new Realtime module built on WebSockets with a pub/sub architecture. It supports channels for live updates, message history for state syncing, and RLS-based permissions out of the box—making it well suited for real-time apps, games, chat, and collaborative experiences.
12
10
 
13
- <img src="/images/changelog/dec-2025/alipay-payment.webp" alt="Alipay payment method option" style={{maxWidth: '90%'}} />
11
+ <Frame>
12
+ <img src="/images/changelog/dec-2025/realtime2.png" alt="Realtime module with collaborative cursors and messaging" />
13
+ </Frame>
14
14
 
15
- ### New AI Models
16
- Expanded AI model support:
17
- - **GPT 5.2** - OpenAI's latest flagship model with enhanced reasoning, longer context windows, and improved instruction following
18
- - **DeepSeek V3** - Open-weight model offering strong performance at lower cost, ideal for high-volume workloads
15
+ ### Apple OAuth
19
16
 
20
- <img src="/images/changelog/dec-2025/ai-models.webp" alt="AI Integration with new models" style={{maxWidth: '90%'}} />
21
- </Accordion>
22
- <Accordion title="Dec 11 - Apple Login & Realtime Module" icon="rocket">
23
- ### Apple Login
24
- **Sign in with Apple** is now available as an OAuth provider. Enable it in your project settings and let users authenticate with their Apple ID. Like other social providers, InsForge Cloud offers shared credentials for quick testing.
17
+ Apple OAuth is now available in InsForge Auth, as requested by the community. You can enable Sign in with Apple in a few clicks and ship apps with Apple login without manual OAuth setup.
25
18
 
26
- <img src="/images/changelog/dec-2025/apple-login.jpg" alt="Sign in with Apple authentication" style={{maxWidth: '90%'}} />
19
+ <Frame>
20
+ <video autoPlay muted loop playsInline src="/images/changelog/dec-2025/apple-oauth.mp4" />
21
+ </Frame>
27
22
 
28
- ### Realtime Module
29
- Build apps with **realtime pub/sub messaging**. Whether you're creating a chat room, multiplayer game, or collaborative document editor, the new Realtime module handles WebSocket connections, channel subscriptions, and message delivery out of the box.
23
+ ### Alipay Payments
30
24
 
31
- Key features include:
32
- - **Channel patterns** with wildcard support (e.g., `chat:*`, `game:lobby`)
33
- - **Webhook integrations** for server-side event processing
34
- - **Message history** and delivery analytics
35
- - **RLS-based permissions** for secure subscribe and publish operations
25
+ Alipay is now supported for InsForge subscriptions, so you can subscribe without a credit card. This removes a major payment barrier for users in the APAC region.
36
26
 
37
- <img src="/images/changelog/dec-2025/realtime-module.jpg" alt="Realtime multiplayer chess game demo" style={{maxWidth: '90%'}} />
38
- </Accordion>
39
- <Accordion title="Dec 7 - AI Models, MCP Installer & Security Updates" icon="rocket">
40
- ### AI Integration
41
- Expanded model support with smarter defaults for different use cases.
27
+ ### More Models in the Model Gateway
42
28
 
43
- - **Gemini 3 Pro** is now the default image generation model.
44
- - **Grok 4.1 Fast** added to model selection for quicker, lightweight inference.
29
+ We have added more popular and state-of-the-art models to the InsForge Model Gateway so you can choose the right model for each use case:
45
30
 
46
- <img src="/images/changelog/dec-2025/ai-integration.png" alt="AI Integration with new models" style={{maxWidth: '90%'}} />
31
+ - **GPT 5.2** - Stronger reasoning and longer context
32
+ - **DeepSeek V3** - High performance at a lower cost
33
+ - **Gemini 3 Flash** - Low latency real-time inference
47
34
 
48
- ### MCP Installer
49
- Updated installer experience with a new InsForge-branded startup screen and clearer next-step instructions.
35
+ More models are coming soon.
50
36
 
51
- <img src="/images/changelog/dec-2025/mcp-installer.png" alt="MCP Installer with InsForge branding" style={{maxWidth: '90%'}} />
37
+ <Frame>
38
+ <img src="/images/changelog/dec-2025/moreModels.png" alt="AI Integration dashboard with new models" />
39
+ </Frame>
52
40
 
53
- ### Security & Framework Updates
54
- Updated Next.js version in response to a [security incident](https://nextjs.org/blog/CVE-2025-66478).
55
- </Accordion>
56
- </AccordionGroup>
41
+ [View AI SDK documentation →](/core-concepts/ai/sdk)
42
+ </Update>
57
43
 
58
- ## November 2025
44
+ <Update label="Dec 19, 2025" tags={["Multi Region", "Postgres Connection"]}>
45
+ ## Multi-Region Deployments
46
+ Deploy your project to the appropriate region for improved latency and compliance. We currently support `us-east`, `us-west`, `eu-central` and `ap-southeast` regions. More regions will be added based on demand.
59
47
 
60
- <AccordionGroup>
61
- <Accordion title="Nov 30 - QuickStart, Auth Components & Dashboard Tools" icon="rocket">
62
- ### QuickStart Prompts & Templates
63
- Get started faster with our new quickstart prompts and templates for common apps. Builders can now start with one click and get a fullstack app running in **5 minutes**.
48
+ <Frame>
49
+ <img src="/images/changelog/dec-2025/multi-region.webp" alt="Multi-Region Deployments" />
50
+ </Frame>
64
51
 
52
+ ## Postgres Connection
53
+ Connect to your project's Postgres database and query it directly from your database clients. This also allows you to integrate InsForge with external services and tools like n8n.
54
+
55
+ <Frame>
56
+ <img src="/images/changelog/dec-2025/postgres-connection.webp" alt="Postgres Connection" />
57
+ </Frame>
58
+ </Update>
59
+
60
+ <Update label="Dec 16, 2025" tags={["Email"]}>
61
+ ## Custom Emails (Private Preview)
62
+ Send custom transactional emails directly from your app using the SDK. Supports multiple recipients, CC/BCC, custom sender names, and full HTML content.
63
+
64
+ [View Email SDK documentation →](/core-concepts/email/sdk)
65
+ </Update>
66
+
67
+ <Update label="Dec 12, 2025" tags={["Payments", "AI"]}>
68
+ ## Alipay Payment Support
69
+ Added **Alipay** as an alternative payment method. Users can now pay for InsForge subscriptions without a credit card.
70
+
71
+ <Frame>
72
+ <img src="/images/changelog/dec-2025/alipay-payment.webp" alt="Alipay payment method option" />
73
+ </Frame>
74
+
75
+ ## New AI Models
76
+ Expanded AI model support:
77
+ - **GPT-5.2** - OpenAI's latest flagship model with enhanced reasoning, longer context windows, and improved instruction following
78
+ - **DeepSeek V3** - Open-weight model offering strong performance at lower cost, ideal for high-volume workloads
79
+
80
+ [View AI SDK documentation →](/core-concepts/ai/sdk)
81
+
82
+ <Frame>
83
+ <img src="/images/changelog/dec-2025/ai-models.webp" alt="AI Integration with new models" />
84
+ </Frame>
85
+ </Update>
86
+
87
+ <Update label="Dec 11, 2025" tags={["Auth", "Realtime"]}>
88
+ ## Apple Login
89
+ **Sign in with Apple** is now available as an OAuth provider. Enable it in your project settings and let users authenticate with their Apple ID. Like other social providers, InsForge Cloud offers shared credentials for quick testing.
90
+
91
+ [View Authentication docs →](/core-concepts/authentication/sdk)
92
+
93
+ <Frame>
94
+ <img src="/images/changelog/dec-2025/apple-login.jpg" alt="Sign in with Apple authentication" />
95
+ </Frame>
96
+
97
+ ## Realtime Module
98
+ Build apps with **realtime pub/sub messaging**. Whether you're creating a chat room, multiplayer game, or collaborative document editor, the new Realtime module handles WebSocket connections, channel subscriptions, and message delivery out of the box.
99
+
100
+ Key features include:
101
+ - **Channel patterns** with wildcard support (e.g., `chat:*`, `game:lobby`)
102
+ - **Webhook integrations** for server-side event processing
103
+ - **Message history** and delivery analytics
104
+ - **RLS-based permissions** for secure subscribe and publish operations
105
+
106
+ [View Realtime SDK documentation →](/core-concepts/realtime/sdk)
107
+
108
+ <Frame>
109
+ <img src="/images/changelog/dec-2025/realtime-module.jpg" alt="Realtime multiplayer chess game demo" />
110
+ </Frame>
111
+ </Update>
112
+
113
+ <Update label="Dec 7, 2025" tags={["AI", "Security"]}>
114
+ ## AI Integration
115
+ Expanded model support with smarter defaults for different use cases.
116
+
117
+ - **Gemini 3 Pro** is now the default image generation model.
118
+ - **Grok 4.1 Fast** added to model selection for quicker, lightweight inference.
119
+
120
+ [View AI SDK documentation →](/core-concepts/ai/sdk)
121
+
122
+ <Frame>
123
+ <img src="/images/changelog/dec-2025/ai-integration.png" alt="AI Integration with new models" />
124
+ </Frame>
125
+
126
+ ## MCP Installer
127
+ Updated installer experience with a new InsForge-branded startup screen and clearer next-step instructions.
128
+
129
+ <Frame>
130
+ <img src="/images/changelog/dec-2025/mcp-installer.png" alt="MCP Installer with InsForge branding" />
131
+ </Frame>
132
+
133
+ ## Security & Framework Updates
134
+ Updated Next.js and React versions in response to a [security incident](https://nextjs.org/blog/CVE-2025-66478).
135
+ </Update>
136
+
137
+ <Update label="Nov 30, 2025" tags={["Dashboard", "Auth"]}>
138
+ ## QuickStart Prompts & Templates
139
+ Get started faster with our new quickstart prompts and templates for common apps. Builders can now start with one click and get a fullstack app running in **5 minutes**.
140
+
141
+ [Try the quickstart →](/quickstart)
142
+
143
+ <Frame>
65
144
  <img src="/images/changelog/nov-2025/quickstart-prompts.webp" alt="QuickStart Prompts and Templates" />
145
+ </Frame>
146
+
147
+ ## Auth Components
148
+ Drop-in prebuilt React auth components for your app. Get a working auth flow right away with social sign-on support built in by default.
66
149
 
67
- ### Auth Components
68
- Drop-in prebuilt React auth components for your app. Get a working auth flow right away with social sign-on support built in by default.
150
+ [View Auth Components docs →](/core-concepts/authentication/ui-components/react)
69
151
 
152
+ <Frame>
70
153
  <img src="/images/changelog/nov-2025/auth-components.webp" alt="Auth Components with Social Sign-on" />
154
+ </Frame>
71
155
 
72
- ### Database Metadata Dashboard
73
- View your RLS policies, triggers, functions, and indexes all in one place. This makes debugging and understanding your project security much easier.
156
+ ## Database Metadata Dashboard
157
+ View your RLS policies, triggers, functions, and indexes all in one place. This makes debugging and understanding your project security much easier.
74
158
 
159
+ <Frame>
75
160
  <img src="/images/changelog/nov-2025/database-metadata.webp" alt="Database Metadata Dashboard" />
161
+ </Frame>
76
162
 
77
- ### SQL Editor
78
- Run SQL queries directly in the InsForge dashboard. No external tools required.
163
+ ## SQL Editor
164
+ Run SQL queries directly in the InsForge dashboard. No external tools required.
79
165
 
166
+ <Frame>
80
167
  <img src="/images/changelog/nov-2025/sql-editor.webp" alt="SQL Editor in Dashboard" />
168
+ </Frame>
81
169
 
82
- ### Usage Page
83
- A new dashboard section that displays a clear breakdown of your resource usage and what your plan includes.
170
+ ## Usage Page
171
+ A new dashboard section that displays a clear breakdown of your resource usage and what your plan includes.
84
172
 
173
+ <Frame>
85
174
  <img src="/images/changelog/nov-2025/usage-page.webp" alt="Usage Page Dashboard" />
86
- </Accordion>
87
- </AccordionGroup>
175
+ </Frame>
176
+ </Update>
88
177
 
89
- ## October 2025
178
+ <Update label="Oct 30, 2025" tags={["Auth", "SDK"]}>
179
+ ## OAuth: 4 New Third-Party Providers
180
+ You can now enable third-party logins with **LinkedIn, Microsoft, Facebook, and Discord**. On InsForge Cloud, we provide shared credentials for developers who want to quickly test these login flows.
90
181
 
91
- <AccordionGroup>
92
- <Accordion title="Oct 30 - OAuth Providers, SDK & Logs" icon="rocket">
93
- ### OAuth: 4 New Third-Party Providers
94
- You can now enable third-party logins with **LinkedIn, Microsoft, Facebook, and Discord**. On InsForge Cloud, we provide shared credentials for developers who want to quickly test these login flows.
182
+ After enabling, you can implement these logins directly through your agent by sending a simple prompt:
95
183
 
96
- After enabling, you can implement these logins directly through your agent by sending a simple prompt:
184
+ ```text
185
+ implement Discord login
186
+ ```
97
187
 
98
- ```text
99
- implement Discord login
100
- ```
188
+ [View Authentication docs →](/core-concepts/authentication/sdk)
101
189
 
190
+ <Frame>
102
191
  <img src="/images/changelog/october-2025/oauth-providers.webp" alt="OAuth Providers - LinkedIn, Microsoft, Facebook, and Discord" />
192
+ </Frame>
103
193
 
104
- ### Import CSV to Your Table
105
- You can now upload `.csv` files directly into any table from the dashboard. Perfect for bringing in sample data or migrating from other tools.
194
+ ## Import CSV to Your Table
195
+ You can now upload `.csv` files directly into any table from the dashboard. Perfect for bringing in sample data or migrating from other tools.
106
196
 
197
+ <Frame>
107
198
  <img src="/images/changelog/october-2025/csv-upload.webp" alt="CSV Upload to Tables Feature" />
199
+ </Frame>
108
200
 
109
- ### InsForge.js SDK
110
- We've released our **insforge-js SDK** to make it easier for developers to integrate InsForge into their workflows. Manage auth, query databases, and control your backend programmatically with a few lines of code.
201
+ ## InsForge.js SDK
202
+ We've released our **insforge-js SDK** to make it easier for developers to integrate InsForge into their workflows. Manage auth, query databases, and control your backend programmatically with a few lines of code.
111
203
 
112
- **Repository:** [GitHub](https://github.com/InsForge/InsForge-sdk-js)
204
+ [GitHub](https://github.com/InsForge/InsForge-sdk-js) · [Database SDK →](/core-concepts/database/sdk)
113
205
 
114
- ### Logs
115
- The new logs page lets you monitor container logs in real time. You can watch your backend activity directly in the dashboard, or let AI coding agents query logs through the InsForge MCP to automatically debug and search for errors.
206
+ ## Logs
207
+ The new logs page lets you monitor container logs in real time. You can watch your backend activity directly in the dashboard, or let AI coding agents query logs through the InsForge MCP to automatically debug and search for errors.
116
208
 
209
+ <Frame>
117
210
  <img src="/images/changelog/october-2025/logs-feature.webp" alt="Real-time Logs Monitoring Feature" />
118
- </Accordion>
119
- </AccordionGroup>
211
+ </Frame>
212
+ </Update>
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: Architecture
2
+ title: AI Architecture
3
3
  description: OpenRouter integration for chat completions and image generation
4
4
  ---
5
5
 
@@ -78,28 +78,6 @@ sequenceDiagram
78
78
  InsForge-->>Client: Formatted response
79
79
  ```
80
80
 
81
- ## Available Models
82
-
83
- ### Chat Models
84
-
85
- | Provider | Model | ID | Best For |
86
- |----------|-------|----|---------|
87
- | **Anthropic** | Claude Sonnet 4 | `anthropic/claude-sonnet-4` | Complex reasoning |
88
- | **Anthropic** | Claude 3.5 Haiku | `anthropic/claude-3.5-haiku` | Fast responses |
89
- | **Anthropic** | Claude Opus 4.1 | `anthropic/claude-opus-4.1` | Highest quality |
90
- | **OpenAI** | GPT-5 | `openai/gpt-5` | Most advanced |
91
- | **OpenAI** | GPT-5 Mini | `openai/gpt-5-mini` | Fast & efficient |
92
- | **OpenAI** | GPT-4o | `openai/gpt-4o` | General purpose |
93
- | **Google** | Gemini 2.5 Pro | `google/gemini-2.5-pro` | Advanced reasoning |
94
- | **xAI** | Grok 4 | `x-ai/grok-4` | Advanced reasoning |
95
-
96
- ### Image Models
97
-
98
- | Provider | Model | ID | Capabilities |
99
- |----------|-------|----|--------------|
100
- | **Google** | Gemini 2.5 Flash Image | `google/gemini-2.5-flash-image-preview` | Text-to-image generation |
101
- | **Google** | Gemini 3 Pro Image | `google/gemini-3-pro-image-preview` | Advanced text-to-image generation |
102
-
103
81
  ## Chat Completions
104
82
 
105
83
  ### Request Processing
@@ -14,7 +14,7 @@ Create AI chat completions with streaming support.
14
14
  ### Parameters
15
15
 
16
16
  - `model` (string, required) - AI model (e.g., 'anthropic/claude-3.5-haiku', 'openai/gpt-4'), call `mcp__insforge__get-backend-metadata` tool to get available models
17
- - `messages` (array, required) - Array of message objects: `{role: "user"|"system"|"assistant", content: string}`
17
+ - `messages` (array, required) - Array of message objects with text, image, or audio content
18
18
  - `temperature` (number, optional) - Sampling temperature 0-2
19
19
  - `maxTokens` (number, optional) - Max tokens to generate
20
20
  - `topP` (number, optional) - Top-p sampling 0-1
@@ -76,6 +76,31 @@ const completion = await insforge.ai.chat.completions.create({
76
76
  console.log(completion.choices[0].message.content);
77
77
  ```
78
78
 
79
+ ### Example (with audio)
80
+
81
+ ```javascript
82
+ const completion = await insforge.ai.chat.completions.create({
83
+ model: 'openai/gpt-4o-audio-preview',
84
+ messages: [
85
+ {
86
+ role: 'user',
87
+ content: [
88
+ { type: 'text', text: 'Transcribe this audio and summarize it' },
89
+ {
90
+ type: 'input_audio',
91
+ input_audio: {
92
+ data: audioBase64, // base64-encoded audio
93
+ format: 'wav', // wav, mp3, aiff, aac, ogg, flac, m4a
94
+ },
95
+ },
96
+ ],
97
+ },
98
+ ],
99
+ });
100
+
101
+ console.log(completion.choices[0].message.content);
102
+ ```
103
+
79
104
  ### Output (non-streaming)
80
105
 
81
106
  ```json
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: Architecture
2
+ title: Authentication Architecture
3
3
  description: JWT-based authentication with OAuth providers and session management
4
4
  ---
5
5
 
@@ -24,9 +24,8 @@ graph TB
24
24
  JWT --> Secret[Shared Secret]
25
25
  JWT --> Validation[Token Validation]
26
26
 
27
- DB --> Accounts[_accounts Table]
28
- DB --> Users[users Table]
29
- DB --> OAuth[_account_providers]
27
+ DB --> Users[auth.users Table]
28
+ DB --> Providers[auth.user_providers]
30
29
 
31
30
  style Client fill:#1e293b,stroke:#475569,color:#e2e8f0
32
31
  style SDK fill:#1e40af,stroke:#3b82f6,color:#dbeafe
@@ -38,9 +37,8 @@ graph TB
38
37
  style Google fill:#4c1d95,stroke:#8b5cf6,color:#ede9fe
39
38
  style GitHub fill:#1e293b,stroke:#64748b,color:#f1f5f9
40
39
  style Validation fill:#991b1b,stroke:#ef4444,color:#fee2e2
41
- style Accounts fill:#0e7490,stroke:#22d3ee,color:#cffafe
42
40
  style Users fill:#0e7490,stroke:#22d3ee,color:#cffafe
43
- style OAuth fill:#0e7490,stroke:#22d3ee,color:#cffafe
41
+ style Providers fill:#0e7490,stroke:#22d3ee,color:#cffafe
44
42
  ```
45
43
 
46
44
  ## Core Components
@@ -207,7 +205,7 @@ InsForge supports multiple OAuth providers including Google, GitHub, Microsoft,
207
205
  2. **Signature Verification**: Validate with RSA public key
208
206
  3. **Expiry Check**: Ensure token hasn't expired
209
207
  4. **Issuer/Audience**: Verify iss and aud claims
210
- 5. **User Lookup**: Check user exists in _accounts table
208
+ 5. **User Lookup**: Check user exists in auth.users table
211
209
  6. **User Status**: Ensure user account is active
212
210
 
213
211
  ### Middleware Flow
@@ -224,7 +222,7 @@ async function validateToken(token) {
224
222
 
225
223
  // 2. Check user exists (optional)
226
224
  const user = await db.query(
227
- 'SELECT * FROM _accounts WHERE id = $1',
225
+ 'SELECT * FROM auth.users WHERE id = $1',
228
226
  [decoded.sub]
229
227
  );
230
228