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.
- package/CHANGELOG.md +2 -0
- package/auth/package.json +5 -3
- package/auth/src/lib/broadcastService.ts +115 -117
- package/auth/src/lib/insforge.ts +8 -0
- package/auth/src/main.tsx +2 -4
- package/auth/src/pages/SignInPage.tsx +60 -60
- package/auth/src/pages/SignUpPage.tsx +60 -60
- package/auth/src/pages/VerifyEmailPage.tsx +18 -0
- package/auth/tsconfig.json +2 -1
- package/backend/package.json +10 -6
- package/backend/src/api/middlewares/rate-limiters.ts +127 -127
- package/backend/src/api/routes/ai/index.routes.ts +475 -468
- package/backend/src/api/routes/auth/index.routes.ts +85 -32
- package/backend/src/api/routes/auth/oauth.routes.ts +11 -6
- package/backend/src/api/routes/database/index.routes.ts +2 -0
- package/backend/src/api/routes/database/records.routes.ts +39 -175
- package/backend/src/api/routes/database/rpc.routes.ts +69 -0
- package/backend/src/api/routes/deployments/index.routes.ts +192 -0
- package/backend/src/api/routes/docs/index.routes.ts +3 -2
- package/backend/src/api/routes/email/index.routes.ts +35 -35
- package/backend/src/api/routes/functions/index.routes.ts +3 -3
- package/backend/src/api/routes/metadata/index.routes.ts +26 -0
- package/backend/src/api/routes/webhooks/index.routes.ts +109 -0
- package/backend/src/infra/database/database.manager.ts +0 -10
- package/backend/src/infra/database/migrations/018_schema-rework.sql +441 -0
- package/backend/src/infra/database/migrations/019_create-deployments-table.sql +36 -0
- package/backend/src/infra/database/migrations/020_add-audio-modality.sql +11 -0
- package/backend/src/infra/database/migrations/bootstrap/bootstrap-migrations.js +103 -0
- package/backend/src/infra/security/token.manager.ts +1 -4
- package/backend/src/providers/ai/openrouter.provider.ts +12 -3
- package/backend/src/providers/database/base.provider.ts +39 -0
- package/backend/src/providers/database/cloud.provider.ts +159 -0
- package/backend/src/providers/deployments/vercel.provider.ts +516 -0
- package/backend/src/server.ts +19 -7
- package/backend/src/services/ai/ai-config.service.ts +6 -6
- package/backend/src/services/ai/ai-model.service.ts +60 -60
- package/backend/src/services/ai/ai-usage.service.ts +7 -7
- package/backend/src/services/ai/chat-completion.service.ts +415 -220
- package/backend/src/services/ai/helpers.ts +64 -64
- package/backend/src/services/ai/index.ts +13 -13
- package/backend/src/services/auth/auth-config.service.ts +4 -4
- package/backend/src/services/auth/auth-otp.service.ts +6 -6
- package/backend/src/services/auth/auth.service.ts +134 -74
- package/backend/src/services/auth/index.ts +4 -4
- package/backend/src/services/auth/oauth-config.service.ts +12 -12
- package/backend/src/services/database/database-advance.service.ts +19 -55
- package/backend/src/services/database/database-table.service.ts +38 -85
- package/backend/src/services/database/postgrest-proxy.service.ts +165 -0
- package/backend/src/services/deployments/deployment.service.ts +693 -0
- package/backend/src/services/functions/function.service.ts +61 -41
- package/backend/src/services/logs/audit.service.ts +10 -10
- package/backend/src/services/secrets/secret.service.ts +101 -27
- package/backend/src/services/storage/storage.service.ts +30 -30
- package/backend/src/services/usage/usage.service.ts +6 -6
- package/backend/src/types/ai.ts +8 -0
- package/backend/src/types/auth.ts +5 -1
- package/backend/src/types/database.ts +2 -0
- package/backend/src/types/deployments.ts +33 -0
- package/backend/src/types/storage.ts +1 -1
- package/backend/src/types/webhooks.ts +45 -0
- package/backend/src/utils/cookies.ts +34 -35
- package/backend/src/utils/environment.ts +0 -14
- package/backend/src/utils/s3-config-loader.ts +64 -64
- package/backend/src/utils/seed.ts +334 -301
- package/backend/src/utils/sql-parser.ts +126 -0
- package/backend/src/utils/utils.ts +114 -114
- package/backend/src/utils/validations.ts +10 -10
- package/backend/tests/local/test-rpc.sh +141 -0
- package/backend/tests/local/test-secrets.sh +1 -1
- package/backend/tests/manual/test-ai-model-plugins.sh +258 -0
- package/backend/tests/manual/test-rawsql-modes.sh +24 -24
- package/backend/tests/unit/database-advance.test.ts +326 -0
- package/backend/tests/unit/helpers.test.ts +2 -2
- package/claude-plugin/skills/insforge-schema-patterns/SKILL.md +13 -10
- package/docker-compose.prod.yml +1 -1
- package/docker-compose.yml +1 -1
- package/docs/agent-docs/deployment.md +79 -0
- package/docs/changelog.mdx +165 -72
- package/docs/core-concepts/ai/architecture.mdx +1 -23
- package/docs/core-concepts/ai/sdk.mdx +26 -1
- package/docs/core-concepts/authentication/architecture.mdx +6 -8
- package/docs/core-concepts/authentication/sdk.mdx +387 -91
- package/docs/core-concepts/authentication/ui-components/customization.mdx +460 -256
- package/docs/core-concepts/authentication/ui-components/nextjs.mdx +50 -24
- package/docs/core-concepts/authentication/ui-components/react-router.mdx +18 -19
- package/docs/core-concepts/authentication/ui-components/react.mdx +26 -19
- package/docs/core-concepts/database/architecture.mdx +58 -21
- package/docs/core-concepts/database/pgvector.mdx +138 -0
- package/docs/core-concepts/database/sdk.mdx +17 -17
- package/docs/core-concepts/deployments/architecture.mdx +152 -0
- package/docs/core-concepts/email/architecture.mdx +4 -2
- package/docs/core-concepts/functions/architecture.mdx +1 -1
- package/docs/core-concepts/functions/sdk.mdx +0 -1
- package/docs/core-concepts/realtime/architecture.mdx +1 -1
- package/docs/core-concepts/storage/architecture.mdx +1 -1
- package/docs/core-concepts/storage/sdk.mdx +25 -25
- package/docs/docs.json +14 -6
- package/docs/favicon.png +0 -0
- package/docs/favicon.svg +3 -18
- package/docs/images/changelog/dec-2025/apple-oauth.mp4 +0 -0
- package/docs/images/changelog/dec-2025/moreModels.png +0 -0
- package/docs/images/changelog/dec-2025/multi-region.webp +0 -0
- package/docs/images/changelog/dec-2025/postgres-connection.webp +0 -0
- package/docs/images/changelog/dec-2025/realtime2.png +0 -0
- package/docs/images/mcp-setup/CC-MCP-1.mp4 +0 -0
- package/docs/images/mcp-setup/CC-MCP-2.mp4 +0 -0
- package/docs/images/mcp-setup/Cursor-MCP-1.mp4 +0 -0
- package/docs/images/mcp-setup/Cursor-MCP-2.mp4 +0 -0
- package/docs/images/mcp-setup/Cursor-MCP-3.mp4 +0 -0
- package/docs/images/mcp-setup/claude-code-connect.png +0 -0
- package/docs/images/mcp-setup/cline-1.png +0 -0
- package/docs/images/mcp-setup/cline-2.png +0 -0
- package/docs/images/mcp-setup/cline-3.png +0 -0
- package/docs/images/mcp-setup/connect-project.png +0 -0
- package/docs/images/mcp-setup/copilot-1.png +0 -0
- package/docs/images/mcp-setup/copilot-2.png +0 -0
- package/docs/images/mcp-setup/copilot-3.png +0 -0
- package/docs/images/mcp-setup/mcp-json-1.png +0 -0
- package/docs/images/mcp-setup/mcp-json-2.png +0 -0
- package/docs/images/mcp-setup/qoder-1.png +0 -0
- package/docs/images/mcp-setup/qoder-2.png +0 -0
- package/docs/images/mcp-setup/roocode-1.png +0 -0
- package/docs/images/mcp-setup/roocode-2.png +0 -0
- package/docs/images/mcp-setup/trae-1.png +0 -0
- package/docs/images/mcp-setup/trae-2.png +0 -0
- package/docs/images/mcp-setup/trae-3.png +0 -0
- package/docs/images/mcp-setup/trae-4.png +0 -0
- package/docs/images/mcp-setup/trae-5.png +0 -0
- package/docs/images/mcp-setup/windsurf-1.png +0 -0
- package/docs/images/mcp-setup/windsurf-2.png +0 -0
- package/docs/insforge-instructions-sdk.md +7 -3
- package/docs/introduction.mdx +9 -8
- package/docs/mcp-setup.mdx +332 -0
- package/docs/oauth-server.mdx +563 -0
- package/docs/partnership.mdx +79 -10
- package/docs/quickstart.mdx +1 -1
- package/docs/vscode-extension.mdx +74 -0
- package/eslint.config.js +1 -0
- package/examples/response-examples.md +1 -1
- package/frontend/package.json +1 -1
- package/frontend/src/App.tsx +8 -3
- package/frontend/src/assets/logos/antigravity.svg +1 -0
- package/frontend/src/assets/logos/copilot.svg +10 -0
- package/frontend/src/assets/logos/deepseek.svg +139 -0
- package/frontend/src/assets/logos/kiro.svg +9 -0
- package/frontend/src/assets/logos/qoder.svg +4 -0
- package/frontend/src/assets/logos/qwen.svg +15 -0
- package/frontend/src/components/CodeBlock.tsx +2 -2
- package/frontend/src/components/ConnectCTA.tsx +3 -2
- package/frontend/src/components/datagrid/DataGrid.tsx +90 -62
- package/frontend/src/components/datagrid/datagridTypes.tsx +2 -1
- package/frontend/src/components/datagrid/index.ts +1 -1
- package/frontend/src/components/index.ts +0 -1
- package/frontend/src/components/layout/AppHeader.tsx +4 -27
- package/frontend/src/components/layout/AppSidebar.tsx +85 -100
- package/frontend/src/components/layout/Layout.tsx +34 -32
- package/frontend/src/components/layout/PrimaryMenu.tsx +12 -4
- package/frontend/src/components/radix/Select.tsx +151 -151
- package/frontend/src/features/ai/components/AIConfigCard.tsx +200 -200
- package/frontend/src/features/ai/components/AIEmptyState.tsx +23 -23
- package/frontend/src/features/ai/components/ModalityFilterSidebar.tsx +102 -101
- package/frontend/src/features/ai/components/ModelSelectionDialog.tsx +135 -135
- package/frontend/src/features/ai/components/ModelSelectionGrid.tsx +51 -51
- package/frontend/src/features/ai/components/SystemPromptDialog.tsx +118 -118
- package/frontend/src/features/ai/components/index.ts +6 -6
- package/frontend/src/features/ai/helpers.ts +147 -141
- package/frontend/src/features/ai/pages/AIPage.tsx +166 -166
- package/frontend/src/features/auth/components/AuthPreview.tsx +96 -96
- package/frontend/src/features/auth/components/UsersDataGrid.tsx +55 -31
- package/frontend/src/features/auth/components/index.ts +5 -5
- package/frontend/src/features/auth/pages/AuthMethodsPage.tsx +275 -275
- package/frontend/src/features/dashboard/pages/DashboardPage.tsx +1 -1
- package/frontend/src/features/database/components/DatabaseDataGrid.tsx +0 -2
- package/frontend/src/features/database/components/ForeignKeyCell.tsx +38 -11
- package/frontend/src/features/database/components/ForeignKeyPopover.tsx +18 -8
- package/frontend/src/features/database/components/LinkRecordModal.tsx +61 -13
- package/frontend/src/features/database/components/RecordFormField.tsx +1 -1
- package/frontend/src/features/database/components/TableSidebar.tsx +0 -3
- package/frontend/src/features/database/components/TablesEmptyState.tsx +1 -1
- package/frontend/src/features/database/components/TemplatePreview.tsx +1 -2
- package/frontend/src/features/database/constants.ts +16 -28
- package/frontend/src/features/database/hooks/useCSVImport.ts +3 -2
- package/frontend/src/features/database/hooks/useRawSQL.ts +3 -2
- package/frontend/src/features/database/hooks/useTables.ts +5 -7
- package/frontend/src/features/database/pages/FunctionsPage.tsx +0 -5
- package/frontend/src/features/database/pages/IndexesPage.tsx +0 -5
- package/frontend/src/features/database/pages/PoliciesPage.tsx +0 -5
- package/frontend/src/features/database/pages/SQLEditorPage.tsx +2 -2
- package/frontend/src/features/database/pages/TriggersPage.tsx +0 -5
- package/frontend/src/features/database/services/advance.service.ts +1 -15
- package/frontend/src/features/database/services/record.service.ts +4 -20
- package/frontend/src/features/database/services/table.service.ts +1 -4
- package/frontend/src/features/database/templates/ai-chatbot.ts +6 -6
- package/frontend/src/features/database/templates/ecommerce-platform.ts +2 -2
- package/frontend/src/features/database/templates/instagram-clone.ts +10 -10
- package/frontend/src/features/database/templates/notion-clone.ts +8 -8
- package/frontend/src/features/database/templates/reddit-clone.ts +10 -10
- package/frontend/src/features/deployments/components/DeploymentRow.tsx +93 -0
- package/frontend/src/features/deployments/components/DeploymentsEmptyState.tsx +15 -0
- package/frontend/src/features/deployments/hooks/useDeployments.ts +157 -0
- package/frontend/src/features/deployments/pages/DeploymentsPage.tsx +318 -0
- package/frontend/src/features/deployments/services/deployments.service.ts +63 -0
- package/frontend/src/features/functions/components/FunctionRow.tsx +72 -72
- package/frontend/src/features/functions/components/FunctionsSidebar.tsx +56 -56
- package/frontend/src/features/functions/components/SecretRow.tsx +3 -3
- package/frontend/src/features/functions/components/index.ts +5 -5
- package/frontend/src/features/functions/hooks/useFunctions.ts +5 -4
- package/frontend/src/features/functions/hooks/useSecrets.ts +6 -9
- package/frontend/src/features/functions/pages/SecretsPage.tsx +118 -118
- package/frontend/src/features/functions/services/function.service.ts +8 -25
- package/frontend/src/features/functions/services/secret.service.ts +23 -41
- package/frontend/src/features/login/pages/CloudLoginPage.tsx +125 -118
- package/frontend/src/features/logs/components/LogDetailPanel.tsx +41 -0
- package/frontend/src/features/logs/components/LogsDataGrid.tsx +32 -1
- package/frontend/src/features/logs/components/index.ts +1 -0
- package/frontend/src/features/logs/pages/LogsPage.tsx +36 -6
- package/frontend/src/features/onboard/components/ApiCredentialsSection.tsx +59 -0
- package/frontend/src/features/onboard/components/ConnectionStringSection.tsx +180 -0
- package/frontend/src/features/onboard/components/McpConnectionSection.tsx +159 -0
- package/frontend/src/features/onboard/components/OnboardingController.tsx +68 -0
- package/frontend/src/features/onboard/components/OnboardingModal.tsx +121 -267
- package/frontend/src/features/onboard/components/ShowPasswordButton.tsx +21 -0
- package/frontend/src/features/onboard/components/index.ts +9 -4
- package/frontend/src/features/onboard/components/mcp/CursorDeeplinkGenerator.tsx +1 -1
- package/frontend/src/features/onboard/components/mcp/QoderDeeplinkGenerator.tsx +36 -0
- package/frontend/src/features/onboard/components/mcp/helpers.tsx +123 -98
- package/frontend/src/features/onboard/components/mcp/index.ts +4 -3
- package/frontend/src/features/onboard/index.ts +17 -13
- package/frontend/src/features/settings/pages/SettingsPage.tsx +349 -0
- package/frontend/src/features/visualizer/components/AuthNode.tsx +4 -4
- package/frontend/src/features/visualizer/components/SchemaVisualizer.tsx +21 -8
- package/frontend/src/features/visualizer/pages/VisualizerPage.tsx +10 -1
- package/frontend/src/index.css +249 -249
- package/frontend/src/lib/contexts/ModalContext.tsx +35 -0
- package/frontend/src/lib/hooks/useMetadata.ts +45 -1
- package/frontend/src/lib/hooks/useModal.tsx +2 -0
- package/frontend/src/lib/routing/AppRoutes.tsx +103 -99
- package/frontend/src/lib/services/metadata.service.ts +20 -3
- package/frontend/src/lib/utils/menuItems.ts +223 -207
- package/frontend/src/lib/utils/utils.ts +196 -196
- package/functions/server.ts +315 -315
- package/functions/worker-template.js +1 -1
- package/openapi/ai.yaml +115 -5
- package/openapi/auth.yaml +97 -17
- package/openapi/logs.yaml +0 -2
- package/openapi/metadata.yaml +0 -2
- package/openapi/records.yaml +21 -21
- package/openapi/tables.yaml +1 -2
- package/package.json +1 -1
- package/shared-schemas/package.json +1 -1
- package/shared-schemas/src/ai-api.schema.ts +251 -143
- package/shared-schemas/src/ai.schema.ts +63 -63
- package/shared-schemas/src/auth-api.schema.ts +34 -6
- package/shared-schemas/src/auth.schema.ts +17 -10
- package/shared-schemas/src/cloud-events.schema.ts +26 -0
- package/shared-schemas/src/deployments-api.schema.ts +55 -0
- package/shared-schemas/src/deployments.schema.ts +30 -0
- package/shared-schemas/src/docs.schema.ts +8 -2
- package/shared-schemas/src/email-api.schema.ts +30 -30
- package/shared-schemas/src/functions-api.schema.ts +13 -4
- package/shared-schemas/src/functions.schema.ts +1 -1
- package/shared-schemas/src/index.ts +22 -18
- package/shared-schemas/src/metadata.schema.ts +30 -4
- package/shared-schemas/src/secrets-api.schema.ts +44 -0
- package/shared-schemas/src/secrets.schema.ts +15 -0
- package/zeabur/README.md +13 -0
- package/zeabur/template.yml +20 -51
- package/backend/src/types/profile.ts +0 -55
- package/frontend/src/components/ProjectInfoModal.tsx +0 -128
package/docs/changelog.mdx
CHANGED
|
@@ -1,119 +1,212 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "Changelog"
|
|
3
|
-
description: "
|
|
3
|
+
description: "New features, improvements, and fixes shipped to InsForge."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
<Update label="Dec 21, 2025" tags={["Realtime", "Auth", "Payments", "AI"]}>
|
|
7
|
+
## Realtime Module
|
|
7
8
|
|
|
8
|
-
|
|
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
|
-
|
|
11
|
+
<Frame>
|
|
12
|
+
<img src="/images/changelog/dec-2025/realtime2.png" alt="Realtime module with collaborative cursors and messaging" />
|
|
13
|
+
</Frame>
|
|
14
14
|
|
|
15
|
-
|
|
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
|
-
|
|
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
|
-
|
|
19
|
+
<Frame>
|
|
20
|
+
<video autoPlay muted loop playsInline src="/images/changelog/dec-2025/apple-oauth.mp4" />
|
|
21
|
+
</Frame>
|
|
27
22
|
|
|
28
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
37
|
+
<Frame>
|
|
38
|
+
<img src="/images/changelog/dec-2025/moreModels.png" alt="AI Integration dashboard with new models" />
|
|
39
|
+
</Frame>
|
|
52
40
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
</Accordion>
|
|
56
|
-
</AccordionGroup>
|
|
41
|
+
[View AI SDK documentation →](/core-concepts/ai/sdk)
|
|
42
|
+
</Update>
|
|
57
43
|
|
|
58
|
-
|
|
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
|
-
<
|
|
61
|
-
|
|
62
|
-
|
|
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
|
-
|
|
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
|
-
|
|
73
|
-
|
|
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
|
-
|
|
78
|
-
|
|
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
|
-
|
|
83
|
-
|
|
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
|
-
</
|
|
87
|
-
</
|
|
175
|
+
</Frame>
|
|
176
|
+
</Update>
|
|
88
177
|
|
|
89
|
-
|
|
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
|
-
|
|
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
|
-
|
|
184
|
+
```text
|
|
185
|
+
implement Discord login
|
|
186
|
+
```
|
|
97
187
|
|
|
98
|
-
|
|
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
|
-
|
|
105
|
-
|
|
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
|
-
|
|
110
|
-
|
|
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
|
-
|
|
204
|
+
[GitHub](https://github.com/InsForge/InsForge-sdk-js) · [Database SDK →](/core-concepts/database/sdk)
|
|
113
205
|
|
|
114
|
-
|
|
115
|
-
|
|
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
|
-
</
|
|
119
|
-
</
|
|
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
|
|
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 -->
|
|
28
|
-
DB -->
|
|
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
|
|
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
|
|
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
|
|
225
|
+
'SELECT * FROM auth.users WHERE id = $1',
|
|
228
226
|
[decoded.sub]
|
|
229
227
|
);
|
|
230
228
|
|