insforge 0.3.2 → 1.2.10
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/.claude-plugin/marketplace.json +20 -0
- package/.cursor/rules/cursor-rules.mdc +94 -0
- package/.dockerignore +3 -0
- package/.env.example +33 -4
- package/.github/ISSUE_TEMPLATE/bug_report.yml +13 -60
- package/.github/ISSUE_TEMPLATE/config.yml +2 -2
- package/.github/ISSUE_TEMPLATE/feature_request.yml +10 -63
- package/.github/PULL_REQUEST_TEMPLATE.md +7 -0
- package/.github/workflows/build-image.yml +2 -1
- package/.github/workflows/e2e.yml +63 -0
- package/CHANGELOG.md +41 -0
- package/CLAUDE_PLUGIN.md +104 -0
- package/CODE_OF_CONDUCT.md +128 -0
- package/CONTRIBUTING.md +1 -1
- package/Dockerfile +4 -1
- package/README.md +66 -18
- package/assets/mcpInstallv2.png +0 -0
- package/assets/sampleResponse.png +0 -0
- package/auth/index.html +13 -0
- package/auth/package.json +28 -0
- package/auth/public/favicon.ico +0 -0
- package/auth/src/App.tsx +33 -0
- package/auth/src/components/ErrorCard.tsx +37 -0
- package/auth/src/components/Layout.tsx +13 -0
- package/auth/src/index.css +19 -0
- package/auth/src/lib/broadcastService.ts +115 -0
- package/auth/src/lib/utils.ts +11 -0
- package/auth/src/main.tsx +22 -0
- package/auth/src/pages/ForgotPasswordPage.tsx +11 -0
- package/auth/src/pages/ResetPasswordPage.tsx +11 -0
- package/auth/src/pages/SignInPage.tsx +57 -0
- package/auth/src/pages/SignUpPage.tsx +57 -0
- package/auth/src/pages/VerifyEmailPage.tsx +20 -0
- package/auth/src/vite-env.d.ts +10 -0
- package/auth/tsconfig.json +32 -0
- package/auth/tsconfig.node.json +11 -0
- package/auth/vite.config.ts +25 -0
- package/backend/package.json +9 -9
- package/backend/src/api/{middleware → middlewares}/auth.ts +8 -9
- package/backend/src/api/middlewares/rate-limiters.ts +127 -0
- package/backend/src/api/routes/{ai.ts → ai/index.routes.ts} +20 -24
- package/backend/src/api/routes/auth/index.routes.ts +570 -0
- package/backend/src/api/routes/auth/oauth.routes.ts +448 -0
- package/backend/src/api/routes/{database.advance.ts → database/advance.routes.ts} +107 -65
- package/backend/src/api/routes/database/index.routes.ts +13 -0
- package/backend/src/api/routes/{database.records.ts → database/records.routes.ts} +22 -8
- package/backend/src/api/routes/{database.tables.ts → database/tables.routes.ts} +20 -23
- package/backend/src/api/routes/docs/index.routes.ts +76 -0
- package/backend/src/api/routes/functions/index.routes.ts +188 -0
- package/backend/src/api/routes/{logs.ts → logs/index.routes.ts} +25 -30
- package/backend/src/api/routes/{metadata.ts → metadata/index.routes.ts} +21 -31
- package/backend/src/api/routes/{secrets.ts → secrets/index.routes.ts} +27 -22
- package/backend/src/api/routes/{storage.ts → storage/index.routes.ts} +34 -53
- package/backend/src/api/routes/usage/index.routes.ts +89 -0
- package/backend/src/infra/config/app.config.ts +51 -0
- package/backend/src/{core/database/manager.ts → infra/database/database.manager.ts} +76 -85
- package/backend/src/infra/database/migrations/013_create-auth-schema-functions.sql +44 -0
- package/backend/src/infra/database/migrations/014_add-updated-at-trigger-user-table.sql +8 -0
- package/backend/src/infra/database/migrations/015_create-auth-config-and-email-otp-tables.sql +60 -0
- package/backend/src/infra/database/migrations/016_update-auth-config-and-email-otp.sql +24 -0
- package/backend/src/{core/secrets/encryption.ts → infra/security/encryption.manager.ts} +3 -2
- package/backend/src/infra/security/token.manager.ts +125 -0
- package/backend/src/{core/socket/socket.ts → infra/socket/socket.manager.ts} +15 -15
- package/backend/src/providers/ai/openrouter.provider.ts +377 -0
- package/backend/src/providers/email/base.provider.ts +41 -0
- package/backend/src/providers/email/cloud.provider.ts +187 -0
- package/backend/src/{core/logs/providers → providers/logs}/base.provider.ts +11 -11
- package/backend/src/{core/logs/providers → providers/logs}/cloudwatch.provider.ts +61 -38
- package/backend/src/providers/logs/local.provider.ts +185 -0
- package/backend/src/providers/oauth/base.provider.ts +29 -0
- package/backend/src/providers/oauth/discord.provider.ts +195 -0
- package/backend/src/providers/oauth/facebook.provider.ts +194 -0
- package/backend/src/providers/oauth/github.provider.ts +208 -0
- package/backend/src/providers/oauth/google.provider.ts +249 -0
- package/backend/src/providers/oauth/index.ts +7 -0
- package/backend/src/providers/oauth/linkedin.provider.ts +240 -0
- package/backend/src/providers/oauth/microsoft.provider.ts +169 -0
- package/backend/src/providers/oauth/x.provider.ts +202 -0
- package/backend/src/providers/storage/base.provider.ts +29 -0
- package/backend/src/providers/storage/local.provider.ts +103 -0
- package/backend/src/providers/storage/s3.provider.ts +313 -0
- package/backend/src/server.ts +70 -74
- package/backend/src/{core/ai/config.ts → services/ai/ai-config.service.ts} +19 -24
- package/backend/src/services/ai/ai-model.service.ts +60 -0
- package/backend/src/{core/ai/usage.ts → services/ai/ai-usage.service.ts} +28 -35
- package/backend/src/{core/ai/chat.ts → services/ai/chat-completion.service.ts} +37 -24
- package/backend/src/services/ai/helpers.ts +64 -0
- package/backend/src/{core/ai/image.ts → services/ai/image-generation.service.ts} +17 -19
- package/backend/src/services/ai/index.ts +13 -0
- package/backend/src/services/auth/auth-config.service.ts +250 -0
- package/backend/src/services/auth/auth-otp.service.ts +424 -0
- package/backend/src/services/auth/auth.service.ts +1136 -0
- package/backend/src/services/auth/index.ts +4 -0
- package/backend/src/{core/auth/oauth.ts → services/auth/oauth-config.service.ts} +106 -52
- package/backend/src/{core/database/advance.ts → services/database/database-advance.service.ts} +97 -131
- package/backend/src/services/database/database-table.service.ts +811 -0
- package/backend/src/services/email/email.service.ts +75 -0
- package/backend/src/{core/functions/functions.ts → services/functions/function.service.ts} +95 -88
- package/backend/src/{core/logs/audit.ts → services/logs/audit.service.ts} +92 -75
- package/backend/src/services/logs/log.service.ts +73 -0
- package/backend/src/{core/secrets/secrets.ts → services/secrets/secret.service.ts} +48 -66
- package/backend/src/services/storage/storage.service.ts +617 -0
- package/backend/src/services/usage/usage.service.ts +149 -0
- package/backend/src/types/auth.ts +66 -2
- package/backend/src/types/email.ts +8 -0
- package/backend/src/types/error-constants.ts +4 -0
- package/backend/src/types/logs.ts +0 -29
- package/backend/src/{core/socket/types.ts → types/socket.ts} +5 -6
- package/backend/src/utils/environment.ts +9 -3
- package/backend/src/utils/logger.ts +20 -2
- package/backend/src/utils/seed.ts +150 -57
- package/backend/src/utils/sql-parser.ts +1 -1
- package/backend/src/utils/utils.ts +114 -0
- package/backend/src/utils/validations.ts +40 -4
- package/backend/tests/local/test-ai-config.sh +129 -0
- package/backend/tests/local/test-ai-usage.sh +80 -0
- package/backend/tests/local/test-auth-router.sh +1 -1
- package/backend/tests/local/test-e2e.sh +1 -1
- package/backend/tests/local/test-functions.sh +123 -0
- package/backend/tests/local/test-logs.sh +132 -0
- package/backend/tests/local/test-public-bucket.sh +3 -3
- package/backend/tests/local/test-secrets.sh +14 -12
- package/backend/tests/local/test-traditional-rest.sh +2 -2
- package/backend/tests/manual/test-rawsql-modes.sh +244 -0
- package/backend/tests/test-config.sh +37 -1
- package/backend/tests/unit/cloud-token.test.ts +48 -0
- package/backend/tests/unit/constant.test.ts +8 -0
- package/backend/tests/unit/email.test.ts +372 -0
- package/backend/tests/unit/environment.test.ts +59 -0
- package/backend/tests/unit/helpers.test.ts +63 -0
- package/backend/tests/unit/logger.test.ts +22 -0
- package/backend/tests/unit/rate-limit.test.ts +154 -0
- package/backend/tests/unit/response.test.ts +58 -0
- package/backend/tests/unit/sql-parser.test.ts +74 -0
- package/backend/tests/unit/uuid.test.ts +21 -0
- package/backend/tests/unit/validations.test.ts +80 -0
- package/backend/tsconfig.json +1 -1
- package/backend/vitest.config.ts +11 -0
- package/claude-plugin/.claude-plugin/plugin.json +24 -0
- package/claude-plugin/README.md +133 -0
- package/claude-plugin/skills/insforge-schema-patterns/SKILL.md +270 -0
- package/docker-compose.prod.yml +60 -4
- package/docker-compose.yml +65 -4
- package/docker-init/db/db-init.sql +6 -34
- package/docker-init/logs/vector.yml +236 -0
- package/docs/README.md +44 -0
- package/docs/changelog.mdx +67 -0
- package/docs/core-concepts/ai/architecture.mdx +373 -0
- package/docs/core-concepts/ai/sdk.mdx +213 -0
- package/docs/core-concepts/authentication/architecture.mdx +278 -0
- package/docs/core-concepts/authentication/sdk.mdx +414 -0
- package/docs/core-concepts/authentication/ui-components/customization.mdx +529 -0
- package/docs/core-concepts/authentication/ui-components/nextjs.mdx +221 -0
- package/docs/core-concepts/authentication/ui-components/react-router.mdx +184 -0
- package/docs/core-concepts/authentication/ui-components/react.mdx +129 -0
- package/docs/core-concepts/database/architecture.mdx +256 -0
- package/docs/core-concepts/database/sdk.mdx +382 -0
- package/docs/core-concepts/functions/architecture.mdx +105 -0
- package/docs/core-concepts/functions/sdk.mdx +184 -0
- package/docs/core-concepts/storage/architecture.mdx +243 -0
- package/docs/core-concepts/storage/sdk.mdx +253 -0
- package/docs/deployment/README.md +94 -0
- package/docs/deployment/deploy-to-aws-ec2.md +565 -0
- package/docs/deployment/deploy-to-azure-virtual-machines.md +313 -0
- package/docs/deployment/deploy-to-google-cloud-compute-engine.md +613 -0
- package/docs/deployment/deploy-to-render.md +441 -0
- package/docs/docs.json +210 -0
- package/docs/examples/framework-guides/nextjs.mdx +131 -0
- package/docs/examples/framework-guides/nuxt.mdx +165 -0
- package/docs/examples/framework-guides/react.mdx +165 -0
- package/docs/examples/framework-guides/svelte.mdx +153 -0
- package/docs/examples/framework-guides/vue.mdx +159 -0
- package/docs/examples/overview.mdx +67 -0
- package/docs/favicon.svg +19 -0
- package/docs/images/changelog/nov-2025/auth-components.webp +0 -0
- package/docs/images/changelog/nov-2025/database-metadata.webp +0 -0
- package/docs/images/changelog/nov-2025/quickstart-prompts.webp +0 -0
- package/docs/images/changelog/nov-2025/sql-editor.webp +0 -0
- package/docs/images/changelog/nov-2025/usage-page.webp +0 -0
- package/docs/images/changelog/october-2025/csv-upload.webp +0 -0
- package/docs/images/changelog/october-2025/logs-feature.webp +0 -0
- package/docs/images/changelog/october-2025/oauth-providers.webp +0 -0
- package/docs/images/checks-passed.png +0 -0
- package/docs/images/dashboard-connect-expanded.png +0 -0
- package/docs/images/dashboard-connect.png +0 -0
- package/docs/images/hero-dark.png +0 -0
- package/docs/images/hero-light.png +0 -0
- package/docs/images/icons/ai.svg +4 -0
- package/docs/images/icons/auth.svg +1 -0
- package/docs/images/icons/database.svg +1 -0
- package/docs/images/icons/function.svg +1 -0
- package/docs/images/icons/storage.svg +1 -0
- package/docs/images/logos/nextjs.svg +4 -0
- package/docs/images/logos/nuxt.svg +4 -0
- package/docs/images/logos/react.svg +5 -0
- package/docs/images/logos/svelte.svg +4 -0
- package/docs/images/logos/vue.svg +5 -0
- package/docs/images/mcp-install.png +0 -0
- package/docs/images/onboarding-mcp.png +0 -0
- package/docs/insforge-instructions-sdk.md +55 -374
- package/docs/introduction.mdx +45 -0
- package/docs/logo/dark.svg +22 -0
- package/docs/logo/light.svg +20 -0
- package/docs/partnership.mdx +647 -0
- package/docs/quickstart.mdx +83 -0
- package/docs/showcase/2048-arena.png +0 -0
- package/docs/showcase/framegen-cloud.png +0 -0
- package/docs/showcase/line-connect-race.png +0 -0
- package/docs/showcase/moment-vibe.png +0 -0
- package/docs/showcase/national-flags.png +0 -0
- package/docs/showcase/pokemon-vibe.png +0 -0
- package/docs/showcase/pure-browse-buy.png +0 -0
- package/docs/showcase.mdx +52 -0
- package/docs/snippets/sdk-installation.mdx +22 -0
- package/docs/snippets/service-icons.mdx +27 -0
- package/eslint.config.js +10 -3
- package/frontend/package.json +10 -4
- package/frontend/src/App.tsx +13 -82
- package/frontend/src/assets/icons/connected.svg +3 -0
- package/frontend/src/assets/icons/loader.svg +9 -0
- package/frontend/src/assets/logos/apple.svg +4 -0
- package/frontend/src/assets/logos/discord.svg +1 -1
- package/frontend/src/assets/logos/facebook.svg +3 -0
- package/frontend/src/assets/logos/instagram.svg +2 -0
- package/frontend/src/assets/logos/linkedin.svg +3 -0
- package/frontend/src/assets/logos/microsoft.svg +1 -0
- package/frontend/src/assets/logos/spotify.svg +17 -0
- package/frontend/src/assets/logos/tiktok.svg +6 -0
- package/frontend/src/assets/logos/x.svg +3 -0
- package/frontend/src/components/Checkbox.tsx +27 -29
- package/frontend/src/components/CodeBlock.tsx +55 -2
- package/frontend/src/components/CodeEditor.tsx +92 -0
- package/frontend/src/components/ConfirmDialog.tsx +1 -1
- package/frontend/src/components/ConnectCTA.tsx +38 -0
- package/frontend/src/components/CopyButton.tsx +52 -15
- package/frontend/src/components/ErrorState.tsx +1 -2
- package/frontend/src/components/FeatureSidebar.tsx +6 -6
- package/frontend/src/components/FeatureSidebarItem.tsx +2 -2
- package/frontend/src/components/JsonHighlight.tsx +21 -9
- package/frontend/src/components/ProjectInfoModal.tsx +128 -0
- package/frontend/src/components/PromptDialog.tsx +1 -4
- package/frontend/src/components/SearchInput.tsx +1 -2
- package/frontend/src/components/Stepper.tsx +53 -0
- package/frontend/src/components/ThemeToggle.tsx +3 -3
- package/frontend/src/components/datagrid/DataGrid.tsx +25 -32
- package/frontend/src/components/datagrid/cell-editors/DateCellEditor.tsx +1 -2
- package/frontend/src/components/datagrid/cell-editors/JsonCellEditor.tsx +2 -4
- package/frontend/src/components/datagrid/index.ts +23 -0
- package/frontend/src/components/index.ts +23 -30
- package/frontend/src/components/layout/AppHeader.tsx +133 -92
- package/frontend/src/components/layout/AppSidebar.tsx +80 -170
- package/frontend/src/components/layout/Layout.tsx +12 -23
- package/frontend/src/components/layout/PrimaryMenu.tsx +187 -0
- package/frontend/src/components/layout/SecondaryMenu.tsx +70 -0
- package/frontend/src/components/layout/index.ts +5 -0
- package/frontend/src/components/radix/Tooltip.tsx +24 -13
- package/frontend/src/components/radix/index.ts +22 -0
- package/frontend/src/features/ai/components/AIConfigCard.tsx +129 -83
- package/frontend/src/features/ai/components/AIEmptyState.tsx +12 -7
- package/frontend/src/features/ai/components/ModalityFilterSidebar.tsx +101 -0
- package/frontend/src/features/ai/components/ModelSelectionDialog.tsx +135 -0
- package/frontend/src/features/ai/components/ModelSelectionGrid.tsx +51 -0
- package/frontend/src/features/ai/components/SystemPromptDialog.tsx +118 -0
- package/frontend/src/features/ai/components/index.ts +6 -0
- package/frontend/src/features/ai/helpers.ts +57 -71
- package/frontend/src/features/ai/hooks/useAIConfigs.ts +39 -113
- package/frontend/src/features/ai/hooks/useAIUsage.ts +0 -2
- package/frontend/src/features/ai/page/AIPage.tsx +67 -79
- package/frontend/src/features/ai/services/ai.service.ts +5 -5
- package/frontend/src/features/auth/components/AuthPreview.tsx +96 -0
- package/frontend/src/features/auth/components/OAuthConfigDialog.tsx +53 -30
- package/frontend/src/features/auth/components/UserFormDialog.tsx +13 -6
- package/frontend/src/features/auth/components/UsersDataGrid.tsx +44 -14
- package/frontend/src/features/auth/components/index.ts +5 -0
- package/frontend/src/features/auth/helpers.tsx +200 -0
- package/frontend/src/features/auth/hooks/useAnonToken.ts +30 -0
- package/frontend/src/features/auth/hooks/useAuthConfig.ts +48 -0
- package/frontend/src/features/auth/hooks/useOAuthConfig.ts +14 -10
- package/frontend/src/features/auth/hooks/useUsers.ts +43 -5
- package/frontend/src/features/auth/index.ts +3 -2
- package/frontend/src/features/auth/page/AuthMethodsPage.tsx +275 -0
- package/frontend/src/features/auth/page/ConfigurationPage.tsx +395 -0
- package/frontend/src/features/auth/page/UsersPage.tsx +285 -0
- package/frontend/src/features/auth/services/anonToken.service.ts +11 -0
- package/frontend/src/features/auth/services/config.service.ts +19 -0
- package/frontend/src/features/auth/services/{oauth.service.ts → oauth-config.service.ts} +4 -4
- package/frontend/src/features/auth/services/{auth.service.ts → user.service.ts} +7 -53
- package/frontend/src/features/dashboard/components/ConnectionSuccessBanner.tsx +35 -0
- package/frontend/src/features/dashboard/components/PromptCard.tsx +21 -0
- package/frontend/src/features/dashboard/components/PromptDialog.tsx +103 -0
- package/frontend/src/features/dashboard/components/StatsCard.tsx +50 -0
- package/frontend/src/features/dashboard/components/index.ts +4 -0
- package/frontend/src/features/dashboard/page/DashboardPage.tsx +187 -169
- package/frontend/src/features/dashboard/prompts/ai-chatbot.ts +13 -0
- package/frontend/src/features/dashboard/prompts/crm-system.ts +13 -0
- package/frontend/src/features/dashboard/prompts/ecommerce-platform.ts +12 -0
- package/frontend/src/features/dashboard/prompts/index.ts +31 -0
- package/frontend/src/features/dashboard/prompts/instagram-clone.ts +11 -0
- package/frontend/src/features/dashboard/prompts/notion-clone.ts +14 -0
- package/frontend/src/features/dashboard/prompts/reddit-clone.ts +12 -0
- package/frontend/src/features/database/components/DatabaseDataGrid.tsx +48 -17
- package/frontend/src/features/database/components/ForeignKeyCell.tsx +15 -34
- package/frontend/src/features/database/components/ForeignKeyPopover.tsx +19 -20
- package/frontend/src/features/database/components/LinkRecordModal.tsx +120 -125
- package/frontend/src/features/database/components/RecordFormDialog.tsx +22 -33
- package/frontend/src/features/database/components/RecordFormField.tsx +45 -47
- package/frontend/src/features/database/components/TableEmptyState.tsx +6 -5
- package/frontend/src/features/database/components/TableForm.tsx +28 -15
- package/frontend/src/features/database/components/TableFormColumn.tsx +2 -3
- package/frontend/src/features/database/components/TableSidebar.tsx +1 -1
- package/frontend/src/features/database/components/TablesEmptyState.tsx +48 -0
- package/frontend/src/features/database/components/TemplateCard.tsx +37 -0
- package/frontend/src/features/database/components/TemplatePreview.tsx +92 -0
- package/frontend/src/features/database/components/index.ts +19 -0
- package/frontend/src/features/database/constants.ts +28 -2
- package/frontend/src/features/database/contexts/SQLEditorContext.tsx +188 -0
- package/frontend/src/features/database/helpers.ts +2 -2
- package/frontend/src/features/database/hooks/useCSVImport.ts +29 -0
- package/frontend/src/features/database/hooks/useFullMetadata.ts +18 -0
- package/frontend/src/features/database/hooks/useRawSQL.ts +55 -0
- package/frontend/src/features/database/hooks/useRecords.ts +139 -0
- package/frontend/src/features/database/hooks/useTables.ts +131 -0
- package/frontend/src/features/database/index.ts +6 -1
- package/frontend/src/features/database/page/FunctionsPage.tsx +211 -0
- package/frontend/src/features/database/page/IndexesPage.tsx +240 -0
- package/frontend/src/features/database/page/PoliciesPage.tsx +248 -0
- package/frontend/src/features/database/page/SQLEditorPage.tsx +382 -0
- package/frontend/src/features/database/page/{DatabasePage.tsx → TablesPage.tsx} +186 -185
- package/frontend/src/features/database/page/TemplatesPage.tsx +39 -0
- package/frontend/src/features/database/page/TriggersPage.tsx +242 -0
- package/frontend/src/features/database/services/advance.service.ts +66 -0
- package/frontend/src/features/database/services/{database.service.ts → record.service.ts} +67 -64
- package/frontend/src/features/database/services/table.service.ts +64 -0
- package/frontend/src/features/database/templates/ai-chatbot.ts +402 -0
- package/frontend/src/features/database/templates/crm-system.ts +528 -0
- package/frontend/src/features/database/templates/ecommerce-platform.ts +553 -0
- package/frontend/src/features/database/templates/index.ts +34 -0
- package/frontend/src/features/database/templates/instagram-clone.ts +222 -0
- package/frontend/src/features/database/templates/notion-clone.ts +483 -0
- package/frontend/src/features/database/templates/reddit-clone.ts +526 -0
- package/frontend/src/features/functions/components/FunctionRow.tsx +2 -1
- package/frontend/src/features/functions/components/FunctionsSidebar.tsx +1 -1
- package/frontend/src/features/functions/components/SecretRow.tsx +1 -1
- package/frontend/src/features/functions/components/index.ts +5 -0
- package/frontend/src/features/functions/hooks/useFunctions.ts +4 -4
- package/frontend/src/features/{secrets → functions}/hooks/useSecrets.ts +5 -5
- package/frontend/src/features/functions/page/FunctionsPage.tsx +160 -17
- package/frontend/src/features/functions/{components/SecretsContent.tsx → page/SecretsPage.tsx} +8 -12
- package/frontend/src/features/functions/services/{functions.service.ts → function.service.ts} +2 -2
- package/frontend/src/features/{secrets/services/secrets.service.ts → functions/services/secret.service.ts} +2 -2
- package/frontend/src/features/login/hooks/usePartnerOrigin.ts +27 -0
- package/frontend/src/features/login/page/CloudLoginPage.tsx +79 -54
- package/frontend/src/features/login/page/LoginPage.tsx +16 -23
- package/frontend/src/features/login/services/partnership.service.ts +65 -0
- package/frontend/src/features/logs/components/LogsDataGrid.tsx +89 -0
- package/frontend/src/features/logs/components/SeverityBadge.tsx +18 -0
- package/frontend/src/features/logs/components/index.ts +2 -0
- package/frontend/src/features/logs/helpers.ts +24 -0
- package/frontend/src/features/logs/hooks/useAuditLogs.ts +4 -4
- package/frontend/src/features/logs/hooks/useLogSources.ts +137 -0
- package/frontend/src/features/logs/hooks/useLogs.ts +163 -0
- package/frontend/src/features/logs/hooks/useMcpUsage.ts +181 -0
- package/frontend/src/features/logs/index.ts +8 -2
- package/frontend/src/features/logs/page/AuditsPage.tsx +91 -38
- package/frontend/src/features/logs/page/LogsPage.tsx +152 -0
- package/frontend/src/features/logs/page/MCPLogsPage.tsx +84 -0
- package/frontend/src/features/logs/services/audit.service.ts +63 -0
- package/frontend/src/features/logs/services/log.service.ts +15 -110
- package/frontend/src/features/logs/services/usage.service.ts +31 -0
- package/frontend/src/features/onboard/components/McpConnectionStatus.tsx +68 -0
- package/frontend/src/features/onboard/components/OnboardingModal.tsx +267 -0
- package/frontend/src/features/onboard/components/VideoDemoModal.tsx +38 -0
- package/frontend/src/features/onboard/components/index.ts +4 -0
- package/frontend/src/features/onboard/components/mcp/CursorDeeplinkGenerator.tsx +2 -2
- package/frontend/src/features/onboard/components/mcp/{mcp-helper.tsx → helpers.tsx} +8 -8
- package/frontend/src/features/onboard/components/mcp/index.ts +2 -3
- package/frontend/src/features/onboard/index.ts +13 -3
- package/frontend/src/features/storage/components/BucketEmptyState.tsx +9 -6
- package/frontend/src/features/storage/components/BucketFormDialog.tsx +25 -41
- package/frontend/src/features/storage/components/FilePreviewDialog.tsx +20 -8
- package/frontend/src/features/storage/components/StorageDataGrid.tsx +4 -3
- package/frontend/src/features/storage/components/StorageManager.tsx +23 -34
- package/frontend/src/features/storage/components/index.ts +12 -0
- package/frontend/src/features/storage/hooks/useStorage.ts +208 -0
- package/frontend/src/features/storage/page/StoragePage.tsx +41 -115
- package/frontend/src/features/storage/services/storage.service.ts +22 -1
- package/frontend/src/features/visualizer/components/AuthNode.tsx +72 -56
- package/frontend/src/features/visualizer/components/BucketNode.tsx +4 -4
- package/frontend/src/features/visualizer/components/SchemaVisualizer.tsx +108 -80
- package/frontend/src/features/visualizer/components/TableNode.tsx +34 -41
- package/frontend/src/features/visualizer/components/VisualizerSkeleton.tsx +12 -4
- package/frontend/src/features/visualizer/page/VisualizerPage.tsx +33 -29
- package/frontend/src/index.css +1 -0
- package/frontend/src/lib/analytics/posthog.tsx +27 -0
- package/frontend/src/lib/contexts/AuthContext.tsx +38 -31
- package/frontend/src/lib/contexts/SocketContext.tsx +5 -6
- package/frontend/src/{features/metadata → lib}/hooks/useMetadata.ts +1 -1
- package/frontend/src/lib/hooks/useToast.tsx +6 -2
- package/frontend/src/lib/routing/AppRoutes.tsx +84 -0
- package/frontend/src/lib/routing/RequireAuth.tsx +27 -0
- package/frontend/src/lib/utils/cloudMessaging.ts +20 -0
- package/frontend/src/lib/utils/menuItems.ts +183 -0
- package/frontend/src/lib/utils/{validation-schemas.ts → schemaValidations.ts} +10 -5
- package/frontend/src/lib/utils/utils.ts +19 -1
- package/frontend/src/vite-env.d.ts +1 -0
- package/frontend/vite.config.ts +5 -3
- package/functions/server.ts +28 -3
- package/functions/worker-template.js +15 -4
- package/i18n/README.ar.md +130 -0
- package/i18n/README.de.md +130 -0
- package/i18n/README.es.md +154 -0
- package/i18n/README.fr.md +134 -0
- package/i18n/README.hi.md +129 -0
- package/i18n/README.ja.md +174 -0
- package/i18n/README.ko.md +137 -0
- package/i18n/README.pt-BR.md +131 -0
- package/i18n/README.ru.md +129 -0
- package/i18n/README.zh-CN.md +133 -0
- package/openapi/ai.yaml +31 -4
- package/openapi/auth.yaml +827 -146
- package/package.json +16 -7
- package/shared-schemas/package.json +1 -1
- package/shared-schemas/src/ai-api.schema.ts +34 -58
- package/shared-schemas/src/ai.schema.ts +5 -0
- package/shared-schemas/src/auth-api.schema.ts +154 -8
- package/shared-schemas/src/auth.schema.ts +42 -6
- package/shared-schemas/src/cloud-events.schema.ts +57 -0
- package/shared-schemas/src/database-api.schema.ts +3 -3
- package/shared-schemas/src/database.schema.ts +1 -1
- package/shared-schemas/src/index.ts +1 -0
- package/shared-schemas/src/logs-api.schema.ts +7 -1
- package/shared-schemas/src/logs.schema.ts +26 -0
- package/shared-schemas/src/metadata.schema.ts +9 -4
- package/test-gemini.sh +35 -0
- package/test-usage-admin.sh +57 -0
- package/test-usage.sh +50 -0
- package/zeabur/README.md +13 -0
- package/zeabur/template.yml +1032 -0
- package/.github/workflows/deploy-aws.yml +0 -130
- package/backend/src/api/routes/agent.ts +0 -29
- package/backend/src/api/routes/auth.oauth.ts +0 -482
- package/backend/src/api/routes/auth.ts +0 -386
- package/backend/src/api/routes/docs.ts +0 -66
- package/backend/src/api/routes/functions.ts +0 -183
- package/backend/src/api/routes/openapi.ts +0 -82
- package/backend/src/api/routes/usage.ts +0 -96
- package/backend/src/core/ai/client.ts +0 -242
- package/backend/src/core/ai/model.ts +0 -117
- package/backend/src/core/auth/auth.ts +0 -781
- package/backend/src/core/database/table.ts +0 -772
- package/backend/src/core/documentation/agent.ts +0 -689
- package/backend/src/core/documentation/openapi.ts +0 -856
- package/backend/src/core/logs/analytics.ts +0 -76
- package/backend/src/core/logs/providers/localdb.provider.ts +0 -246
- package/backend/src/core/storage/storage.ts +0 -923
- package/backend/src/utils/cloud-token.ts +0 -39
- package/backend/src/utils/helpers.ts +0 -49
- package/backend/src/utils/uuid.ts +0 -9
- package/backend/tests/manual/test-better-auth.sh +0 -303
- package/docker-init/db/logs.sql +0 -9
- package/frontend/README.md +0 -112
- package/frontend/src/components/datagrid/index.tsx +0 -20
- package/frontend/src/components/layout/CloudLayout.tsx +0 -95
- package/frontend/src/features/ai/components/AIConfigDialog.tsx +0 -76
- package/frontend/src/features/ai/components/AIConfigForm.tsx +0 -222
- package/frontend/src/features/ai/components/fields/ModalityField.tsx +0 -87
- package/frontend/src/features/ai/components/fields/ModelSelectionField.tsx +0 -134
- package/frontend/src/features/ai/components/fields/SystemPromptField.tsx +0 -33
- package/frontend/src/features/auth/components/AddOAuthDialog.tsx +0 -106
- package/frontend/src/features/auth/components/AuthMethodTab.tsx +0 -238
- package/frontend/src/features/auth/components/UsersTab.tsx +0 -114
- package/frontend/src/features/auth/page/AuthenticationPage.tsx +0 -169
- package/frontend/src/features/database/hooks/UseLinkModal.tsx +0 -78
- package/frontend/src/features/functions/components/FunctionViewer.tsx +0 -46
- package/frontend/src/features/functions/components/FunctionsContent.tsx +0 -88
- package/frontend/src/features/login/components/AuthErrorBoundary.tsx +0 -87
- package/frontend/src/features/login/components/PrivateRoute.tsx +0 -24
- package/frontend/src/features/logs/components/AnalyticsLogsTable.tsx +0 -313
- package/frontend/src/features/logs/components/LogsTable.tsx +0 -199
- package/frontend/src/features/logs/page/AnalyticsLogsPage.tsx +0 -530
- package/frontend/src/features/metadata/index.ts +0 -0
- package/frontend/src/features/metadata/page/MetadataPage.tsx +0 -136
- package/frontend/src/features/onboard/components/CompletionCard.tsx +0 -41
- package/frontend/src/features/onboard/components/OnboardButton.tsx +0 -84
- package/frontend/src/features/onboard/components/StepContent.tsx +0 -91
- package/frontend/src/features/onboard/components/TestConnectionStep.tsx +0 -53
- package/frontend/src/features/onboard/components/mcp/McpInstallation.tsx +0 -144
- package/frontend/src/features/onboard/page/OnBoardPage.tsx +0 -104
- package/frontend/src/features/onboard/types.ts +0 -8
- package/frontend/src/lib/contexts/OnboardStepContext.tsx +0 -68
- package/frontend/src/lib/hooks/useOnboardingCompletion.ts +0 -29
- /package/backend/src/api/{middleware → middlewares}/error.ts +0 -0
- /package/backend/src/api/{middleware → middlewares}/upload.ts +0 -0
- /package/backend/{migrations → src/infra/database/migrations}/000_create-base-tables.sql +0 -0
- /package/backend/{migrations → src/infra/database/migrations}/001_create-helper-functions.sql +0 -0
- /package/backend/{migrations → src/infra/database/migrations}/002_rename-auth-tables.sql +0 -0
- /package/backend/{migrations → src/infra/database/migrations}/003_create-users-table.sql +0 -0
- /package/backend/{migrations → src/infra/database/migrations}/004_add-reload-postgrest-func.sql +0 -0
- /package/backend/{migrations → src/infra/database/migrations}/005_enable-project-admin-modify-users.sql +0 -0
- /package/backend/{migrations → src/infra/database/migrations}/006_modify-ai-usage-table.sql +0 -0
- /package/backend/{migrations → src/infra/database/migrations}/007_drop-metadata-table.sql +0 -0
- /package/backend/{migrations → src/infra/database/migrations}/008_add-system-tables.sql +0 -0
- /package/backend/{migrations → src/infra/database/migrations}/009_add-function-secrets.sql +0 -0
- /package/backend/{migrations → src/infra/database/migrations}/010_modify-ai-config-modalities.sql +0 -0
- /package/backend/{migrations → src/infra/database/migrations}/011_refactor-secrets-table.sql +0 -0
- /package/backend/{migrations → src/infra/database/migrations}/012_add-storage-uploaded-by.sql +0 -0
- /package/frontend/src/{features/metadata → lib}/services/metadata.service.ts +0 -0
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
<a href="https://insforge.dev">
|
|
3
|
+
<img src="../assets/banner.png" alt="Insforge Logo">
|
|
4
|
+
</a>
|
|
5
|
+
</div>
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
<a href="#quickstart-tldr">Começar</a> ·
|
|
9
|
+
<a href="https://docs.insforge.dev/introduction">Documentação</a> ·
|
|
10
|
+
<a href="https://discord.com/invite/MPxwj5xVvW">Discord</a>
|
|
11
|
+
</p>
|
|
12
|
+
|
|
13
|
+
<p align="center">
|
|
14
|
+
<a href="https://opensource.org/licenses/Apache-2.0"><img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg" alt="Licença"></a>
|
|
15
|
+
<a href="https://discord.com/invite/MPxwj5xVvW"><img src="https://img.shields.io/badge/Discord-Entre%20na%20Comunidade-7289DA?logo=discord&logoColor=white" alt="Discord"></a>
|
|
16
|
+
<a href="https://github.com/InsForge/insforge/stargazers"><img src="https://img.shields.io/github/stars/InsForge/insforge?style=social" alt="GitHub Stars"></a>
|
|
17
|
+
</p>
|
|
18
|
+
|
|
19
|
+
# InsForge
|
|
20
|
+
|
|
21
|
+
**InsForge é a Alternativa Supabase Nativa para Agentes.**
|
|
22
|
+
Estamos construindo os recursos do Supabase de forma nativa para IA, permitindo que agentes de IA criem e gerenciem aplicações full-stack de forma autônoma.
|
|
23
|
+
|
|
24
|
+
## Principais Recursos e Casos de Uso
|
|
25
|
+
|
|
26
|
+
### Recursos Principais:
|
|
27
|
+
- **Autenticação** - Sistema completo de gerenciamento de usuários
|
|
28
|
+
- **Banco de Dados** - Armazenamento e recuperação de dados flexível
|
|
29
|
+
- **Armazenamento** - Gerenciamento e organização de arquivos
|
|
30
|
+
- **Funções Serverless** - Poder computacional escalável
|
|
31
|
+
- **Implantação de Sites** *(em breve)* - Implantação fácil de aplicações
|
|
32
|
+
|
|
33
|
+
### Casos de Uso:
|
|
34
|
+
Criação de aplicações full-stack usando linguagem natural
|
|
35
|
+
- **Conecte agentes de IA ao InsForge**
|
|
36
|
+
- Permita que Claude, GPT ou outros agentes de IA gerenciem seu backend
|
|
37
|
+
- **Adicione backend a projetos no estilo Lovable ou Bolt**
|
|
38
|
+
- Backend instantâneo para frontends gerados por IA
|
|
39
|
+
|
|
40
|
+
## Exemplos de Prompt:
|
|
41
|
+
|
|
42
|
+
<td align="center">
|
|
43
|
+
<img src="../assets/userflow.png" alt="userFlow">
|
|
44
|
+
<br>
|
|
45
|
+
</td>
|
|
46
|
+
|
|
47
|
+
## Início Rápido (TLDR)
|
|
48
|
+
|
|
49
|
+
### 1. Instalar e executar o InsForge
|
|
50
|
+
|
|
51
|
+
**Usar Docker (Recomendado)**
|
|
52
|
+
Pré-requisitos: [Docker](https://www.docker.com/) + [Node.js](https://nodejs.org/)
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
# Executar com Docker
|
|
56
|
+
git clone https://github.com/insforge/insforge.git
|
|
57
|
+
cd insforge
|
|
58
|
+
cp .env.example .env
|
|
59
|
+
docker compose up
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### 2. Conectar um Agente de IA
|
|
63
|
+
|
|
64
|
+
Visite o painel do InsForge (padrão: http://localhost:7131), faça login e siga o guia “Connect”, configurando seu MCP.
|
|
65
|
+
|
|
66
|
+
<div align="center">
|
|
67
|
+
<table>
|
|
68
|
+
<tr>
|
|
69
|
+
<td align="center">
|
|
70
|
+
<img src="../assets/signin.png" alt="Sign In">
|
|
71
|
+
<br>
|
|
72
|
+
<em>Entrar no InsForge</em>
|
|
73
|
+
</td>
|
|
74
|
+
<td align="center">
|
|
75
|
+
<img src="../assets/mcpInstallv2.png" alt="MCP Configuration">
|
|
76
|
+
<br>
|
|
77
|
+
<em>Configurar conexão MCP</em>
|
|
78
|
+
</td>
|
|
79
|
+
</tr>
|
|
80
|
+
</table>
|
|
81
|
+
</div>
|
|
82
|
+
|
|
83
|
+
### 3. Testar a Conexão
|
|
84
|
+
|
|
85
|
+
No seu agente, envie:
|
|
86
|
+
> InsForge é minha plataforma de backend, qual é a estrutura atual do meu backend?
|
|
87
|
+
|
|
88
|
+
<div align="center">
|
|
89
|
+
<img src="../assets/sampleResponse.png" alt="Successful Connection Response" width="600">
|
|
90
|
+
<br>
|
|
91
|
+
<em>Exemplo de resposta bem-sucedida chamando ferramentas MCP do InsForge</em>
|
|
92
|
+
</div>
|
|
93
|
+
|
|
94
|
+
### 4. Começar a Usar o InsForge
|
|
95
|
+
|
|
96
|
+
Comece a construir seu projeto em um novo diretório!
|
|
97
|
+
Crie seu próximo aplicativo de tarefas, clone do Instagram ou plataforma online em segundos!
|
|
98
|
+
|
|
99
|
+
**Exemplos de Prompts de Projeto:**
|
|
100
|
+
- "Crie um app de tarefas com autenticação de usuários"
|
|
101
|
+
- "Crie um Instagram com upload de imagens"
|
|
102
|
+
|
|
103
|
+
## Arquitetura
|
|
104
|
+
|
|
105
|
+
<div align="center">
|
|
106
|
+
<img src="../assets/archDiagram.png" alt="Architecture Diagram">
|
|
107
|
+
<br>
|
|
108
|
+
</div>
|
|
109
|
+
|
|
110
|
+
## Contribuindo
|
|
111
|
+
|
|
112
|
+
**Contribuições**: Se você tiver interesse em contribuir, confira nosso guia [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
113
|
+
Agradecemos muito pull requests — todo tipo de ajuda é bem-vinda!
|
|
114
|
+
|
|
115
|
+
**Suporte**: Se precisar de ajuda, estamos disponíveis no nosso [canal do Discord](https://discord.com/invite/MPxwj5xVvW) ou envie um e-mail para [info@insforge.dev](mailto:info@insforge.dev)!
|
|
116
|
+
|
|
117
|
+
## Documentação e Suporte
|
|
118
|
+
|
|
119
|
+
### Documentação
|
|
120
|
+
- **[Documentação Oficial](https://docs.insforge.dev/introduction)** - Guias abrangentes e referências de API
|
|
121
|
+
|
|
122
|
+
### Comunidade
|
|
123
|
+
- **[Discord](https://discord.com/invite/MPxwj5xVvW)** - Junte-se à nossa comunidade vibrante
|
|
124
|
+
- **[Twitter](https://x.com/InsForge_dev)** - Siga para atualizações e dicas
|
|
125
|
+
|
|
126
|
+
### Contato
|
|
127
|
+
- **E-mail**: info@insforge.dev
|
|
128
|
+
|
|
129
|
+
## Licença
|
|
130
|
+
|
|
131
|
+
Este projeto está licenciado sob a Licença Apache 2.0 — veja o arquivo [LICENSE](LICENSE) para mais detalhes.
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
<a href="https://insforge.dev">
|
|
3
|
+
<img src="../assets/banner.png" alt="Insforge Logo">
|
|
4
|
+
</a>
|
|
5
|
+
</div>
|
|
6
|
+
<p align="center">
|
|
7
|
+
<a href="#quickstart-tldr">Начать работу</a> ·
|
|
8
|
+
<a href="https://docs.insforge.dev/introduction">Документация</a> ·
|
|
9
|
+
<a href="https://discord.gg/MPxwj5xVvW">Discord</a>
|
|
10
|
+
</p>
|
|
11
|
+
<p align="center">
|
|
12
|
+
<a href="https://opensource.org/licenses/Apache-2.0"><img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg" alt="License"></a>
|
|
13
|
+
<a href="https://discord.gg/MPxwj5xVvW"><img src="https://img.shields.io/badge/Discord-Join%20Community-7289DA?logo=discord&logoColor=white" alt="Discord"></a>
|
|
14
|
+
<a href="https://github.com/InsForge/insforge/stargazers"><img src="https://img.shields.io/github/stars/InsForge/insforge?style=social" alt="GitHub Stars"></a>
|
|
15
|
+
</p>
|
|
16
|
+
|
|
17
|
+
# InsForge
|
|
18
|
+
|
|
19
|
+
**InsForge — это агентно-ориентированная альтернатива Supabase.** Мы создаём функциональность Supabase с использованием AI-нативного подхода, позволяя AI-агентам автономно создавать и управлять полнофункциональными приложениями.
|
|
20
|
+
|
|
21
|
+
## Ключевые возможности и варианты использования
|
|
22
|
+
|
|
23
|
+
### Основные возможности:
|
|
24
|
+
- **Аутентификация** — полная система управления пользователями
|
|
25
|
+
- **База данных** — гибкое хранение и получение данных
|
|
26
|
+
- **Хранилище** — управление и организация файлов
|
|
27
|
+
- **Бессерверные функции** — масштабируемые вычислительные мощности
|
|
28
|
+
- **Развёртывание сайтов** *(скоро)* — простое развёртывание приложений
|
|
29
|
+
|
|
30
|
+
### Варианты использования: создание полнофункциональных приложений с помощью естественного языка
|
|
31
|
+
- **Подключайте AI-агентов к InsForge** — позвольте Claude, GPT или другим AI-агентам управлять вашим бэкендом
|
|
32
|
+
- **Добавляйте бэкенд в проекты в стиле Lovable или Bolt** — мгновенный бэкенд для фронтендов, сгенерированных AI
|
|
33
|
+
|
|
34
|
+
## Примеры промптов:
|
|
35
|
+
|
|
36
|
+
<td align="center">
|
|
37
|
+
<img src="../assets/userflow.png" alt="userFlow">
|
|
38
|
+
<br>
|
|
39
|
+
</td>
|
|
40
|
+
|
|
41
|
+
## Быстрый старт TLDR;
|
|
42
|
+
|
|
43
|
+
### 1. Установите и запустите InsForge
|
|
44
|
+
|
|
45
|
+
**Используйте Docker (рекомендуется)**
|
|
46
|
+
Требования: [Docker](https://www.docker.com/) + [Node.js](https://nodejs.org/)
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
# Запуск с Docker
|
|
50
|
+
git clone https://github.com/insforge/insforge.git
|
|
51
|
+
cd insforge
|
|
52
|
+
cp .env.example .env
|
|
53
|
+
docker compose up
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### 2. Подключите AI-агента
|
|
57
|
+
|
|
58
|
+
Перейдите на панель управления InsForge (по умолчанию: http://localhost:7131), войдите в систему, следуйте руководству «Подключение» и настройте свой MCP.
|
|
59
|
+
|
|
60
|
+
<div align="center">
|
|
61
|
+
<table>
|
|
62
|
+
<tr>
|
|
63
|
+
<td align="center">
|
|
64
|
+
<img src="../assets/signin.png" alt="Sign In">
|
|
65
|
+
<br>
|
|
66
|
+
<em>Войдите в InsForge</em>
|
|
67
|
+
</td>
|
|
68
|
+
<td align="center">
|
|
69
|
+
<img src="../assets/mcpInstallv2.png" alt="MCP Configuration">
|
|
70
|
+
<br>
|
|
71
|
+
<em>Настройте подключение MCP</em>
|
|
72
|
+
</td>
|
|
73
|
+
</tr>
|
|
74
|
+
</table>
|
|
75
|
+
</div>
|
|
76
|
+
|
|
77
|
+
### 3. Проверьте подключение
|
|
78
|
+
|
|
79
|
+
В вашем агенте отправьте:
|
|
80
|
+
```
|
|
81
|
+
InsForge — моя бэкенд-платформа, какова моя текущая структура бэкенда?
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
<div align="center">
|
|
85
|
+
<img src="../assets/sampleResponse.png" alt="Successful Connection Response" width="600">
|
|
86
|
+
<br>
|
|
87
|
+
<em>Пример успешного ответа при вызове инструментов InsForge MCP</em>
|
|
88
|
+
</div>
|
|
89
|
+
|
|
90
|
+
### 4. Начните использовать InsForge
|
|
91
|
+
|
|
92
|
+
Начните создавать свой проект в новой директории! Создайте своё следующее приложение для задач, клон Instagram или онлайн-платформу за считанные секунды!
|
|
93
|
+
|
|
94
|
+
**Примеры промптов для проектов:**
|
|
95
|
+
- "Создай приложение для задач с аутентификацией пользователей"
|
|
96
|
+
- "Создай Instagram с загрузкой изображений"
|
|
97
|
+
|
|
98
|
+
## Архитектура
|
|
99
|
+
|
|
100
|
+
<div align="center">
|
|
101
|
+
<img src="../assets/archDiagram.png" alt="Architecture Diagram">
|
|
102
|
+
<br>
|
|
103
|
+
</div>
|
|
104
|
+
|
|
105
|
+
## Участие в проекте
|
|
106
|
+
|
|
107
|
+
**Участие**: Если вы заинтересованы во вкладе в проект, вы можете ознакомиться с нашим руководством здесь [CONTRIBUTING.md](CONTRIBUTING.md). Мы искренне ценим pull request'ы, любая помощь приветствуется!
|
|
108
|
+
|
|
109
|
+
**Поддержка**: Если вам нужна помощь или поддержка, мы отвечаем на нашем [Discord канале](https://discord.gg/MPxwj5xVvW), а также не стесняйтесь писать нам на [info@insforge.dev](mailto:info@insforge.dev)!
|
|
110
|
+
|
|
111
|
+
## Документация и поддержка
|
|
112
|
+
|
|
113
|
+
### Документация
|
|
114
|
+
- **[Официальная документация](https://docs.insforge.dev/introduction)** — исчерпывающие руководства и справочник по API
|
|
115
|
+
|
|
116
|
+
### Сообщество
|
|
117
|
+
- **[Discord](https://discord.gg/MPxwj5xVvW)** — присоединяйтесь к нашему активному сообществу
|
|
118
|
+
- **[Twitter](https://x.com/InsForge_dev)** — подписывайтесь для получения новостей и советов
|
|
119
|
+
|
|
120
|
+
### Контакты
|
|
121
|
+
- **Email**: [info@insforge.dev](mailto:info@insforge.dev)
|
|
122
|
+
|
|
123
|
+
## Лицензия
|
|
124
|
+
|
|
125
|
+
Этот проект лицензирован под Apache License 2.0 — подробности смотрите в файле [LICENSE](LICENSE).
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
[](https://www.star-history.com/#InsForge/insforge&Date)
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
<a href="https://insforge.dev">
|
|
3
|
+
<img src="../assets/banner.png" alt="Insforge Logo">
|
|
4
|
+
</a>
|
|
5
|
+
</div>
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
<a href="#快速开始">开始</a> ·
|
|
9
|
+
<a href="https://docs.insforge.dev/introduction">文档</a> ·
|
|
10
|
+
<a href="https://discord.com/invite/MPxwj5xVvW">Discord</a>
|
|
11
|
+
</p>
|
|
12
|
+
<p align="center">
|
|
13
|
+
<a href="https://opensource.org/licenses/Apache-2.0"><img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg" alt="License"></a>
|
|
14
|
+
<a href="https://discord.com/invite/MPxwj5xVvW"><img src="https://img.shields.io/badge/Discord-Join%20Community-7289DA?logo=discord&logoColor=white" alt="Discord"></a>
|
|
15
|
+
<a href="https://github.com/InsForge/insforge/stargazers"><img src="https://img.shields.io/github/stars/InsForge/insforge?style=social" alt="GitHub Stars"></a>
|
|
16
|
+
</p>
|
|
17
|
+
|
|
18
|
+
# InsForge
|
|
19
|
+
|
|
20
|
+
**InsForge 是专为 AI 编程环境构建的(Agent-Native) Supabase 替代方案。** 我们以专为 AI 设计的架构实现 Supabase 的功能,使 AI 编程环境能够自主构建和管理全栈应用程序。
|
|
21
|
+
## 主要功能与用例
|
|
22
|
+
|
|
23
|
+
### 核心功能:
|
|
24
|
+
- **身份验证** - 完整的用户管理系统
|
|
25
|
+
- **数据库** - 灵活的数据存储和检索
|
|
26
|
+
- **存储** - 文件管理和组织
|
|
27
|
+
- **无服务器函数** - 可扩展的计算能力
|
|
28
|
+
- **站点部署** *(即将推出)* - 轻松部署应用程序
|
|
29
|
+
|
|
30
|
+
### 用例: 使用自然语言部署全栈应用程序
|
|
31
|
+
- **将 AI 编程环境接入 InsForge** - 启用 Claude、GPT或其他 AI 编程环境管理您的后端
|
|
32
|
+
- **为 Lovable 或 Bolt 风格的“氛围编程”项目添加后端** - 为 AI 生成的前端提供即时后端支持
|
|
33
|
+
|
|
34
|
+
## 提示词示例:
|
|
35
|
+
|
|
36
|
+
<td align="center">
|
|
37
|
+
<img src="../assets/userflow.png" alt="userFlow">
|
|
38
|
+
<br>
|
|
39
|
+
</td>
|
|
40
|
+
|
|
41
|
+
## 快速开始
|
|
42
|
+
|
|
43
|
+
### 1. 安装并运行 InsForge
|
|
44
|
+
|
|
45
|
+
**使用 Docker (推荐)**
|
|
46
|
+
先决条件:[Docker](https://www.docker.com/) + [Node.js](https://nodejs.org/)
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
# Run with Docker
|
|
50
|
+
git clone https://github.com/insforge/insforge.git
|
|
51
|
+
cd insforge
|
|
52
|
+
cp .env.example .env
|
|
53
|
+
docker compose up
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### 2. 接入 AI 编程助手
|
|
57
|
+
|
|
58
|
+
访问 InsForge 控制面板 (默认: http://localhost:7131),登录,并按照"Connect"指南设置您的 MCP。
|
|
59
|
+
|
|
60
|
+
<div align="center">
|
|
61
|
+
<table>
|
|
62
|
+
<tr>
|
|
63
|
+
<td align="center">
|
|
64
|
+
<img src="../assets/signin.png" alt="Sign In">
|
|
65
|
+
<br>
|
|
66
|
+
<em>登录 InsForge</em>
|
|
67
|
+
</td>
|
|
68
|
+
<td align="center">
|
|
69
|
+
<img src="../assets/mcpInstallv2.png" alt="MCP Configuration">
|
|
70
|
+
<br>
|
|
71
|
+
<em>配置 MCP 连接</em>
|
|
72
|
+
</td>
|
|
73
|
+
</tr>
|
|
74
|
+
</table>
|
|
75
|
+
</div>
|
|
76
|
+
|
|
77
|
+
### 3. 测试连接
|
|
78
|
+
|
|
79
|
+
在您的编程助手中,发送:
|
|
80
|
+
```
|
|
81
|
+
InsForge is my backend platform, what is my current backend structure?
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
<div align="center">
|
|
85
|
+
<img src="../assets/sampleResponse.png" alt="Successful Connection Response" width="600">
|
|
86
|
+
<br>
|
|
87
|
+
<em>调用 insforge MCP 工具的成功响应示例</em>
|
|
88
|
+
</div>
|
|
89
|
+
|
|
90
|
+
### 4. 开始使用 InsForge
|
|
91
|
+
|
|
92
|
+
在新目录中开始构建你的项目!只需几秒钟,即可构建你的下一个待办事项应用、Instagram 克隆版或在线平台!
|
|
93
|
+
|
|
94
|
+
**示例项目提示:**
|
|
95
|
+
- "Build a todo app with user authentication"
|
|
96
|
+
- "Create an Instagram with image upload"
|
|
97
|
+
|
|
98
|
+
## 系统架构
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
<div align="center">
|
|
102
|
+
<img src="../assets/archDiagram.png" alt="Architecture Diagram">
|
|
103
|
+
<br>
|
|
104
|
+
</div>
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
## 贡献
|
|
109
|
+
|
|
110
|
+
**贡献**:如果您有兴趣参与贡献,可以查看我们的贡献指南 [CONTRIBUTING.md](../CONTRIBUTING.md)。我们非常欢迎 pull requests(PR),衷心感谢任何形式的帮助!
|
|
111
|
+
|
|
112
|
+
**支持**:如果您需要任何帮助,欢迎通过我们的 [Discord channel](https://discord.com/invite/MPxwj5xVvW) 联系我们,我们会及时回复;也欢迎随时给我们发送邮件至 [info@insforge.dev](mailto:info@insforge.dev) !
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
## 文档与支持
|
|
116
|
+
|
|
117
|
+
### 文档
|
|
118
|
+
- **[Official Docs](https://docs.insforge.dev/introduction)** - 全面的指南与 API 参考
|
|
119
|
+
|
|
120
|
+
### 社区
|
|
121
|
+
- **[Discord](https://discord.com/invite/MPxwj5xVvW)** - 加入我们充满活力的社区
|
|
122
|
+
- **[Twitter](https://x.com/InsForge_dev)** - 关注更新与提示
|
|
123
|
+
|
|
124
|
+
### 联系我们
|
|
125
|
+
- **邮箱**: info@insforge.dev
|
|
126
|
+
|
|
127
|
+
## 许可证
|
|
128
|
+
|
|
129
|
+
该项目使用 Apache License 2.0 许可证 - 完整细节见 [LICENSE](../LICENSE) 文件.
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
[](https://www.star-history.com/#InsForge/insforge&Date)
|
package/openapi/ai.yaml
CHANGED
|
@@ -583,13 +583,22 @@ components:
|
|
|
583
583
|
CreateAIConfigurationRequest:
|
|
584
584
|
type: object
|
|
585
585
|
required:
|
|
586
|
-
-
|
|
586
|
+
- inputModality
|
|
587
|
+
- outputModality
|
|
587
588
|
- provider
|
|
588
589
|
- modelId
|
|
590
|
+
|
|
589
591
|
properties:
|
|
590
|
-
|
|
591
|
-
type:
|
|
592
|
-
|
|
592
|
+
inputModality:
|
|
593
|
+
type: array
|
|
594
|
+
items:
|
|
595
|
+
type: string
|
|
596
|
+
enum: [text, image]
|
|
597
|
+
outputModality:
|
|
598
|
+
type: array
|
|
599
|
+
items:
|
|
600
|
+
type: string
|
|
601
|
+
enum: [text, image]
|
|
593
602
|
provider:
|
|
594
603
|
type: string
|
|
595
604
|
example: openrouter
|
|
@@ -672,6 +681,24 @@ components:
|
|
|
672
681
|
createdAt:
|
|
673
682
|
type: string
|
|
674
683
|
format: date-time
|
|
684
|
+
provider:
|
|
685
|
+
type: string
|
|
686
|
+
nullable: true
|
|
687
|
+
model:
|
|
688
|
+
type: string
|
|
689
|
+
nullable: true
|
|
690
|
+
inputModality:
|
|
691
|
+
type: array
|
|
692
|
+
nullable: true
|
|
693
|
+
items:
|
|
694
|
+
type: string
|
|
695
|
+
enum: [text, image]
|
|
696
|
+
outputModality:
|
|
697
|
+
type: array
|
|
698
|
+
nullable: true
|
|
699
|
+
items:
|
|
700
|
+
type: string
|
|
701
|
+
enum: [text, image]
|
|
675
702
|
|
|
676
703
|
ErrorResponse:
|
|
677
704
|
type: object
|