flujo-ai 3.29.0 → 3.31.0
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/.next/BUILD_ID +1 -1
- package/.next/app-build-manifest.json +440 -433
- package/.next/app-path-routes-manifest.json +30 -29
- package/.next/build-manifest.json +6 -6
- package/.next/prerender-manifest.json +27 -27
- package/.next/react-loadable-manifest.json +2 -2
- package/.next/required-server-files.json +4 -4
- package/.next/server/app/_not-found/page.js +4 -4
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +2 -2
- package/.next/server/app/api/approvals/[id]/route.js +1 -1
- package/.next/server/app/api/approvals/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/approvals/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/approvals/route.js +2 -2
- package/.next/server/app/api/approvals/route.js.nft.json +1 -1
- package/.next/server/app/api/approvals/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/backup/route.js +1 -1
- package/.next/server/app/api/backup/route.js.nft.json +1 -1
- package/.next/server/app/api/backup/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/browse/route.js +1 -1
- package/.next/server/app/api/browse/route.js.nft.json +1 -1
- package/.next/server/app/api/browse/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/bugs/enhance/route.js +3 -3
- package/.next/server/app/api/bugs/enhance/route.js.nft.json +1 -1
- package/.next/server/app/api/bugs/enhance/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/cwd/route.js +1 -1
- package/.next/server/app/api/cwd/route.js.nft.json +1 -1
- package/.next/server/app/api/cwd/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/encryption/secure/route.js +1 -1
- package/.next/server/app/api/encryption/secure/route.js.nft.json +1 -1
- package/.next/server/app/api/encryption/secure/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/env/route.js +2 -2
- package/.next/server/app/api/env/route.js.nft.json +1 -1
- package/.next/server/app/api/env/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/[id]/route.js +1 -1
- package/.next/server/app/api/flow/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/[id]/versions/[versionId]/route.js +1 -1
- package/.next/server/app/api/flow/[id]/versions/[versionId]/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/[id]/versions/[versionId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/[id]/versions/route.js +1 -1
- package/.next/server/app/api/flow/[id]/versions/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/[id]/versions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/compile/route.js +1 -1
- package/.next/server/app/api/flow/compile/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/compile/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/generate/route.js +1 -1
- package/.next/server/app/api/flow/generate/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/generate/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/improve/route.js +1 -1
- package/.next/server/app/api/flow/improve/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/improve/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/prompt-renderer/route.js +2 -2
- package/.next/server/app/api/flow/prompt-renderer/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/prompt-renderer/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/quick-chat/route.js +1 -1
- package/.next/server/app/api/flow/quick-chat/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/quick-chat/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/repair/route.js +1 -1
- package/.next/server/app/api/flow/repair/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/repair/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/route.js +1 -1
- package/.next/server/app/api/flow/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/git/route.js +2 -2
- package/.next/server/app/api/git/route.js.nft.json +1 -1
- package/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/init/route.js +1 -1
- package/.next/server/app/api/init/route.js.nft.json +1 -1
- package/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/local-models/capability/route.js +2 -2
- package/.next/server/app/api/local-models/capability/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/local-models/pull/route.js +2 -2
- package/.next/server/app/api/local-models/pull/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/local-models/suggest/route.js +2 -2
- package/.next/server/app/api/local-models/suggest/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/app-sandbox/route.js +1 -1
- package/.next/server/app/api/mcp/app-sandbox/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/app-sandbox/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/cancel/route.js +2 -2
- package/.next/server/app/api/mcp/cancel/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/oauth-capability/route.js +1 -1
- package/.next/server/app/api/mcp/oauth-capability/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/oauth-capability/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/[name]/prompts/get/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/prompts/route.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/prompts/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/[name]/prompts/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/[name]/resources/read/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/resources/route.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/resources/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/[name]/resources/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/route.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/[name]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/status/route.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/status/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/[name]/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/tools/route.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/tools/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/[name]/tools/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/servers/route.js +1 -1
- package/.next/server/app/api/mcp/servers/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/test-connection/route.js +1 -1
- package/.next/server/app/api/mcp/test-connection/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/test-connection/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/test-connection/stream/route.js +1 -1
- package/.next/server/app/api/mcp/test-connection/stream/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/test-connection/stream/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp-registry/route.js +2 -2
- package/.next/server/app/api/mcp-registry/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp-registry/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp-registry/spotlight/route.js +1 -1
- package/.next/server/app/api/mcp-registry/spotlight/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp-registry/spotlight/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/model/[id]/route.js +1 -1
- package/.next/server/app/api/model/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/model/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/model/provider/route.js +2 -2
- package/.next/server/app/api/model/provider/route.js.nft.json +1 -1
- package/.next/server/app/api/model/provider/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/model/route.js +1 -1
- package/.next/server/app/api/model/route.js.nft.json +1 -1
- package/.next/server/app/api/model/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/model/test/route.js +2 -2
- package/.next/server/app/api/model/test/route.js.nft.json +1 -1
- package/.next/server/app/api/model/test/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/oauth/callback/route.js +2 -2
- package/.next/server/app/api/oauth/callback/route.js.nft.json +1 -1
- package/.next/server/app/api/oauth/callback/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/oauth/initiate/route.js +2 -2
- package/.next/server/app/api/oauth/initiate/route.js.nft.json +1 -1
- package/.next/server/app/api/oauth/initiate/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/oauth/reset/route.js +2 -2
- package/.next/server/app/api/oauth/reset/route.js.nft.json +1 -1
- package/.next/server/app/api/oauth/reset/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/packages/build/route.js +1 -1
- package/.next/server/app/api/packages/build/route.js.nft.json +1 -1
- package/.next/server/app/api/packages/build/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/packages/derive-secrets/route.js +1 -1
- package/.next/server/app/api/packages/derive-secrets/route.js.nft.json +1 -1
- package/.next/server/app/api/packages/derive-secrets/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/packages/install/route.js +1 -1
- package/.next/server/app/api/packages/install/route.js.nft.json +1 -1
- package/.next/server/app/api/packages/install/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/packages/install/status/route.js +1 -1
- package/.next/server/app/api/packages/install/status/route.js.nft.json +1 -1
- package/.next/server/app/api/packages/install/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/packages/installed/route.js +1 -1
- package/.next/server/app/api/packages/installed/route.js.nft.json +1 -1
- package/.next/server/app/api/packages/installed/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/packages/resolve/route.js +1 -1
- package/.next/server/app/api/packages/resolve/route.js.nft.json +1 -1
- package/.next/server/app/api/packages/resolve/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/packages/scan-targets/route.js +1 -1
- package/.next/server/app/api/packages/scan-targets/route.js.nft.json +1 -1
- package/.next/server/app/api/packages/scan-targets/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/packages/search/route.js +1 -0
- package/.next/server/app/api/packages/search/route.js.nft.json +1 -0
- package/.next/server/app/api/packages/search/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/packages/uninstall/route.js +1 -1
- package/.next/server/app/api/packages/uninstall/route.js.nft.json +1 -1
- package/.next/server/app/api/packages/uninstall/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/planned-executions/[id]/route.js +2 -2
- package/.next/server/app/api/planned-executions/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/planned-executions/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/planned-executions/[id]/run/route.js +2 -2
- package/.next/server/app/api/planned-executions/[id]/run/route.js.nft.json +1 -1
- package/.next/server/app/api/planned-executions/[id]/run/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/planned-executions/[id]/runs/route.js +2 -2
- package/.next/server/app/api/planned-executions/[id]/runs/route.js.nft.json +1 -1
- package/.next/server/app/api/planned-executions/[id]/runs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/planned-executions/preview-schedule/route.js +1 -1
- package/.next/server/app/api/planned-executions/preview-schedule/route.js.nft.json +1 -1
- package/.next/server/app/api/planned-executions/preview-schedule/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/planned-executions/reconcile/route.js +1 -1
- package/.next/server/app/api/planned-executions/reconcile/route.js.nft.json +1 -1
- package/.next/server/app/api/planned-executions/reconcile/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/planned-executions/route.js +1 -1
- package/.next/server/app/api/planned-executions/route.js.nft.json +1 -1
- package/.next/server/app/api/planned-executions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/registry/auth/resend/route.js +1 -1
- package/.next/server/app/api/registry/auth/resend/route.js.nft.json +1 -1
- package/.next/server/app/api/registry/auth/resend/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/registry/auth/reset/route.js +1 -1
- package/.next/server/app/api/registry/auth/reset/route.js.nft.json +1 -1
- package/.next/server/app/api/registry/auth/reset/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/registry/auth/route.js +1 -1
- package/.next/server/app/api/registry/auth/route.js.nft.json +1 -1
- package/.next/server/app/api/registry/auth/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/registry/oauth/callback/route.js +1 -1
- package/.next/server/app/api/registry/oauth/callback/route.js.nft.json +1 -1
- package/.next/server/app/api/registry/oauth/callback/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/registry/oauth/initiate/route.js +1 -1
- package/.next/server/app/api/registry/oauth/initiate/route.js.nft.json +1 -1
- package/.next/server/app/api/registry/oauth/initiate/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/registry/publish/route.js +1 -1
- package/.next/server/app/api/registry/publish/route.js.nft.json +1 -1
- package/.next/server/app/api/registry/publish/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/registry/settings/route.js +1 -1
- package/.next/server/app/api/registry/settings/route.js.nft.json +1 -1
- package/.next/server/app/api/registry/settings/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/restore/route.js +1 -1
- package/.next/server/app/api/restore/route.js.nft.json +1 -1
- package/.next/server/app/api/restore/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/runs/active/route.js +2 -2
- package/.next/server/app/api/runs/active/route.js.nft.json +1 -1
- package/.next/server/app/api/runs/active/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/storage/route.js +1 -1
- package/.next/server/app/api/storage/route.js.nft.json +1 -1
- package/.next/server/app/api/storage/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/update/route.js +1 -1
- package/.next/server/app/api/update/route.js.nft.json +1 -1
- package/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/waves/route.js +1 -1
- package/.next/server/app/api/waves/route.js.nft.json +1 -1
- package/.next/server/app/api/waves/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/webhooks/[id]/route.js +1 -1
- package/.next/server/app/api/webhooks/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/webhooks/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/chat/page.js +8 -8
- package/.next/server/app/chat/page.js.nft.json +1 -1
- package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
- package/.next/server/app/chat.html +1 -1
- package/.next/server/app/chat.rsc +3 -3
- package/.next/server/app/docs/page.js +5 -5
- package/.next/server/app/docs/page.js.nft.json +1 -1
- package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/docs.html +1 -1
- package/.next/server/app/docs.rsc +3 -3
- package/.next/server/app/executions/page.js +2 -2
- package/.next/server/app/executions/page.js.nft.json +1 -1
- package/.next/server/app/executions/page_client-reference-manifest.js +1 -1
- package/.next/server/app/executions.html +1 -1
- package/.next/server/app/executions.rsc +3 -3
- package/.next/server/app/flows/page.js +2 -2
- package/.next/server/app/flows/page.js.nft.json +1 -1
- package/.next/server/app/flows/page_client-reference-manifest.js +1 -1
- package/.next/server/app/flows.html +1 -1
- package/.next/server/app/flows.rsc +3 -3
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +3 -3
- package/.next/server/app/mcp/page.js +4 -4
- package/.next/server/app/mcp/page.js.nft.json +1 -1
- package/.next/server/app/mcp/page_client-reference-manifest.js +1 -1
- package/.next/server/app/mcp-flows/route.js +1 -1
- package/.next/server/app/mcp-flows/route.js.nft.json +1 -1
- package/.next/server/app/mcp-flows/route_client-reference-manifest.js +1 -1
- package/.next/server/app/mcp-proxy/[server]/route.js +1 -1
- package/.next/server/app/mcp-proxy/[server]/route.js.nft.json +1 -1
- package/.next/server/app/mcp-proxy/[server]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/mcp.html +1 -1
- package/.next/server/app/mcp.rsc +3 -3
- package/.next/server/app/models/page.js +2 -2
- package/.next/server/app/models/page.js.nft.json +1 -1
- package/.next/server/app/models/page_client-reference-manifest.js +1 -1
- package/.next/server/app/packages/page.js +2 -2
- package/.next/server/app/packages/page.js.nft.json +1 -1
- package/.next/server/app/packages/page_client-reference-manifest.js +1 -1
- package/.next/server/app/packages.html +1 -1
- package/.next/server/app/packages.rsc +3 -3
- package/.next/server/app/page.js +3 -3
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/page.js +2 -2
- package/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings.html +1 -1
- package/.next/server/app/settings.rsc +3 -3
- package/.next/server/app/v1/chat/completions/route.js +1 -1
- package/.next/server/app/v1/chat/completions/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/completions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js +2 -2
- package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js +2 -2
- package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js +2 -2
- package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js +3 -3
- package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/events/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route.js +2 -2
- package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/route.js +2 -2
- package/.next/server/app/v1/chat/conversations/[conversationId]/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/route.js +2 -2
- package/.next/server/app/v1/chat/conversations/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/events/route.js +3 -3
- package/.next/server/app/v1/chat/events/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/events/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/models/route.js +2 -2
- package/.next/server/app/v1/models/route.js.nft.json +1 -1
- package/.next/server/app/v1/models/route_client-reference-manifest.js +1 -1
- package/.next/server/app/waves/page.js +4 -4
- package/.next/server/app/waves/page.js.nft.json +1 -1
- package/.next/server/app/waves/page_client-reference-manifest.js +1 -1
- package/.next/server/app/waves.html +1 -1
- package/.next/server/app/waves.rsc +3 -3
- package/.next/server/app-paths-manifest.json +30 -29
- package/.next/server/chunks/166.js +4 -4
- package/.next/server/chunks/1690.js +1 -0
- package/.next/server/chunks/2273.js +2 -0
- package/.next/server/chunks/237.js +1 -0
- package/.next/server/chunks/2695.js +2 -2
- package/.next/server/chunks/2866.js +2 -0
- package/.next/server/chunks/{8730.js → 3489.js} +1 -1
- package/.next/server/chunks/3570.js +60 -60
- package/.next/server/chunks/3912.js +2 -0
- package/.next/server/chunks/3984.js +4 -4
- package/.next/server/chunks/4566.js +6 -0
- package/.next/server/chunks/5040.js +1 -1
- package/.next/server/chunks/544.js +31 -31
- package/.next/server/chunks/5544.js +3 -3
- package/.next/server/chunks/5548.js +62 -0
- package/.next/server/chunks/5561.js +1 -1
- package/.next/server/chunks/5705.js +1 -0
- package/.next/server/chunks/6404.js +2 -0
- package/.next/server/chunks/6432.js +1 -1
- package/.next/server/chunks/694.js +3 -0
- package/.next/server/chunks/701.js +1 -1
- package/.next/server/chunks/7506.js +1 -1
- package/.next/server/chunks/7579.js +1 -1
- package/.next/server/chunks/7724.js +1 -0
- package/.next/server/chunks/7821.js +1 -1
- package/.next/server/chunks/8034.js +1 -0
- package/.next/server/chunks/8037.js +1 -0
- package/.next/server/chunks/8092.js +1 -1
- package/.next/server/chunks/{8568.js → 8192.js} +1 -1
- package/.next/server/chunks/{6518.js → 826.js} +2 -2
- package/.next/server/chunks/8298.js +1 -0
- package/.next/server/chunks/8321.js +1 -1
- package/.next/server/chunks/8366.js +90 -0
- package/.next/server/chunks/8387.js +1 -1
- package/.next/server/chunks/8615.js +1 -0
- package/.next/server/chunks/8645.js +2 -0
- package/.next/server/chunks/8851.js +1 -0
- package/.next/server/chunks/9313.js +1 -0
- package/.next/server/chunks/94.js +1 -1
- package/.next/server/chunks/9406.js +2 -2
- package/.next/server/chunks/9509.js +2 -2
- package/.next/server/chunks/9576.js +2 -0
- package/.next/server/chunks/9724.js +1 -1
- package/.next/server/chunks/9957.js +1 -0
- package/.next/server/chunks/9983.js +2 -0
- package/.next/server/edge-instrumentation.js.map +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-manifest.json +5 -5
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/pages-manifest.json +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/server/src/middleware.js +2 -2
- package/.next/server/src/middleware.js.map +1 -1
- package/.next/static/chunks/1496-d478bce7d7c85080.js +1 -0
- package/.next/static/chunks/1641-e5ff8f112da0a335.js +1 -0
- package/.next/static/chunks/{8345.bc5534ec13abc9ee.js → 2969.eb9ff8cd2a5034b0.js} +1 -1
- package/.next/static/chunks/{2005-f9d38c39f10c321f.js → 3189-fa8ec6d719d5e72b.js} +1 -1
- package/.next/static/chunks/3452-a639f121f2953f50.js +62 -0
- package/.next/static/chunks/3560-5bdceef09b50e1c3.js +1 -0
- package/.next/static/chunks/3711-0050bb4d345c2c9c.js +1 -0
- package/.next/static/chunks/4147-20897d83b3cd3978.js +39 -0
- package/.next/static/chunks/469-1f043fe082d9f475.js +1 -0
- package/.next/static/chunks/5441-cb0c31de8bce65c3.js +1 -0
- package/.next/static/chunks/{3827-9e9a6e11ef808d90.js → 8041-05830e887c133085.js} +1 -1
- package/.next/static/chunks/8678-c6c6be2672f337f6.js +1 -0
- package/.next/static/chunks/8855-f802599c4af81cca.js +1 -0
- package/.next/static/chunks/app/_not-found/page-26055690a2426e22.js +1 -0
- package/.next/static/chunks/app/api/approvals/[id]/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/approvals/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/backup/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/browse/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/bugs/enhance/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/cwd/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/encryption/secure/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/env/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/flow/[id]/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/flow/[id]/versions/[versionId]/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/flow/[id]/versions/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/flow/compile/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/flow/generate/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/flow/improve/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/flow/prompt-renderer/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/flow/quick-chat/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/flow/repair/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/flow/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/git/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/init/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/local-models/capability/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/local-models/pull/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/local-models/suggest/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/mcp/app-sandbox/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/mcp/cancel/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/mcp/oauth-capability/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/mcp/test-connection/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/mcp/test-connection/stream/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/mcp-registry/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/mcp-registry/spotlight/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/model/[id]/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/model/provider/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/model/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/model/test/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/oauth/callback/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/oauth/initiate/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/oauth/reset/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/packages/build/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/packages/derive-secrets/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/packages/install/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/packages/install/status/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/packages/installed/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/packages/resolve/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/packages/scan-targets/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/packages/search/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/packages/uninstall/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/[id]/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/[id]/run/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/reconcile/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/registry/auth/resend/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/registry/auth/reset/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/registry/auth/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/registry/oauth/callback/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/registry/oauth/initiate/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/registry/publish/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/registry/settings/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/restore/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/runs/active/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/storage/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/update/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/waves/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/api/webhooks/[id]/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/chat/page-558edb21321a32d0.js +1 -0
- package/.next/static/chunks/app/docs/{page-250523af44e96120.js → page-fc30f613607b8a26.js} +1 -1
- package/.next/static/chunks/app/executions/{page-1d8557a642114697.js → page-e71689c7256af1e8.js} +1 -1
- package/.next/static/chunks/app/flows/page-e90e8d7b4c1bd1c8.js +1 -0
- package/.next/static/chunks/app/layout-038b35b382eef11d.js +1 -0
- package/.next/static/chunks/app/mcp/page-6041156fc67ef361.js +1 -0
- package/.next/static/chunks/app/mcp-flows/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/mcp-proxy/[server]/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/models/{error-5732fbb053e182c5.js → error-1718b538d6967e56.js} +1 -1
- package/.next/static/chunks/app/models/{loading-57d1c02d0817fc47.js → loading-1687ae86584f5b1b.js} +1 -1
- package/.next/static/chunks/app/models/page-d16f2721e7a93b43.js +1 -0
- package/.next/static/chunks/app/packages/page-c6b0e7aa95bc1064.js +1 -0
- package/.next/static/chunks/app/page-5c7fccd019942d46.js +1 -0
- package/.next/static/chunks/app/settings/page-e3d9ffd69d16873a.js +1 -0
- package/.next/static/chunks/app/v1/chat/completions/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/inject/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/resources/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/v1/chat/events/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/v1/models/route-1a4c9e7a416ccbcf.js +1 -0
- package/.next/static/chunks/app/waves/page-3cf4b47b12662196.js +1 -0
- package/.next/static/chunks/{main-app-faff38c77cb00119.js → main-app-2de821d2899bb841.js} +1 -1
- package/.next/static/chunks/{webpack-08eb993682e1fb1a.js → webpack-2d8e0c13c0b865fe.js} +1 -1
- package/.next/static/eaxwKaaFHlA1_FLDIyFGi/_buildManifest.js +1 -0
- package/.next/trace +10 -10
- package/.next/types/app/api/approvals/[id]/route.ts +1 -1
- package/.next/types/app/api/approvals/route.ts +1 -1
- package/.next/types/app/api/backup/route.ts +1 -1
- package/.next/types/app/api/browse/route.ts +1 -1
- package/.next/types/app/api/bugs/enhance/route.ts +1 -1
- package/.next/types/app/api/cwd/route.ts +1 -1
- package/.next/types/app/api/encryption/secure/route.ts +1 -1
- package/.next/types/app/api/env/route.ts +1 -1
- package/.next/types/app/api/flow/[id]/route.ts +1 -1
- package/.next/types/app/api/flow/[id]/versions/[versionId]/route.ts +1 -1
- package/.next/types/app/api/flow/[id]/versions/route.ts +1 -1
- package/.next/types/app/api/flow/compile/route.ts +1 -1
- package/.next/types/app/api/flow/generate/route.ts +1 -1
- package/.next/types/app/api/flow/improve/route.ts +1 -1
- package/.next/types/app/api/flow/prompt-renderer/route.ts +1 -1
- package/.next/types/app/api/flow/quick-chat/route.ts +1 -1
- package/.next/types/app/api/flow/repair/route.ts +1 -1
- package/.next/types/app/api/flow/route.ts +1 -1
- package/.next/types/app/api/git/route.ts +1 -1
- package/.next/types/app/api/init/route.ts +1 -1
- package/.next/types/app/api/local-models/capability/route.ts +1 -1
- package/.next/types/app/api/local-models/pull/route.ts +1 -1
- package/.next/types/app/api/local-models/suggest/route.ts +1 -1
- package/.next/types/app/api/mcp/app-sandbox/route.ts +1 -1
- package/.next/types/app/api/mcp/cancel/route.ts +1 -1
- package/.next/types/app/api/mcp/oauth-capability/route.ts +1 -1
- package/.next/types/app/api/mcp/servers/[name]/prompts/get/route.ts +1 -1
- package/.next/types/app/api/mcp/servers/[name]/prompts/route.ts +1 -1
- package/.next/types/app/api/mcp/servers/[name]/resources/read/route.ts +1 -1
- package/.next/types/app/api/mcp/servers/[name]/resources/route.ts +1 -1
- package/.next/types/app/api/mcp/servers/[name]/route.ts +1 -1
- package/.next/types/app/api/mcp/servers/[name]/status/route.ts +1 -1
- package/.next/types/app/api/mcp/servers/[name]/tools/[toolName]/route.ts +1 -1
- package/.next/types/app/api/mcp/servers/[name]/tools/route.ts +1 -1
- package/.next/types/app/api/mcp/servers/route.ts +1 -1
- package/.next/types/app/api/mcp/test-connection/route.ts +1 -1
- package/.next/types/app/api/mcp/test-connection/stream/route.ts +1 -1
- package/.next/types/app/api/mcp-registry/route.ts +1 -1
- package/.next/types/app/api/mcp-registry/spotlight/route.ts +1 -1
- package/.next/types/app/api/model/[id]/route.ts +1 -1
- package/.next/types/app/api/model/provider/route.ts +1 -1
- package/.next/types/app/api/model/route.ts +1 -1
- package/.next/types/app/api/model/test/route.ts +1 -1
- package/.next/types/app/api/oauth/callback/route.ts +1 -1
- package/.next/types/app/api/oauth/initiate/route.ts +1 -1
- package/.next/types/app/api/oauth/reset/route.ts +1 -1
- package/.next/types/app/api/packages/build/route.ts +1 -1
- package/.next/types/app/api/packages/derive-secrets/route.ts +1 -1
- package/.next/types/app/api/packages/install/route.ts +1 -1
- package/.next/types/app/api/packages/install/status/route.ts +1 -1
- package/.next/types/app/api/packages/installed/route.ts +1 -1
- package/.next/types/app/api/packages/resolve/route.ts +1 -1
- package/.next/types/app/api/packages/scan-targets/route.ts +1 -1
- package/.next/types/app/api/packages/search/route.ts +347 -0
- package/.next/types/app/api/packages/uninstall/route.ts +1 -1
- package/.next/types/app/api/planned-executions/[id]/route.ts +1 -1
- package/.next/types/app/api/planned-executions/[id]/run/route.ts +1 -1
- package/.next/types/app/api/planned-executions/[id]/runs/route.ts +1 -1
- package/.next/types/app/api/planned-executions/preview-schedule/route.ts +1 -1
- package/.next/types/app/api/planned-executions/reconcile/route.ts +1 -1
- package/.next/types/app/api/planned-executions/route.ts +1 -1
- package/.next/types/app/api/registry/auth/resend/route.ts +1 -1
- package/.next/types/app/api/registry/auth/reset/route.ts +1 -1
- package/.next/types/app/api/registry/auth/route.ts +1 -1
- package/.next/types/app/api/registry/oauth/callback/route.ts +1 -1
- package/.next/types/app/api/registry/oauth/initiate/route.ts +1 -1
- package/.next/types/app/api/registry/publish/route.ts +1 -1
- package/.next/types/app/api/registry/settings/route.ts +1 -1
- package/.next/types/app/api/restore/route.ts +1 -1
- package/.next/types/app/api/runs/active/route.ts +1 -1
- package/.next/types/app/api/storage/route.ts +1 -1
- package/.next/types/app/api/update/route.ts +1 -1
- package/.next/types/app/api/waves/route.ts +1 -1
- package/.next/types/app/api/webhooks/[id]/route.ts +1 -1
- package/.next/types/app/chat/page.ts +1 -1
- package/.next/types/app/docs/page.ts +1 -1
- package/.next/types/app/executions/page.ts +1 -1
- package/.next/types/app/flows/page.ts +1 -1
- package/.next/types/app/layout.ts +1 -1
- package/.next/types/app/mcp/page.ts +1 -1
- package/.next/types/app/mcp-flows/route.ts +1 -1
- package/.next/types/app/mcp-proxy/[server]/route.ts +1 -1
- package/.next/types/app/models/page.ts +1 -1
- package/.next/types/app/packages/page.ts +1 -1
- package/.next/types/app/page.ts +1 -1
- package/.next/types/app/settings/page.ts +1 -1
- package/.next/types/app/v1/chat/completions/route.ts +1 -1
- package/.next/types/app/v1/chat/conversations/[conversationId]/breakpoints/route.ts +1 -1
- package/.next/types/app/v1/chat/conversations/[conversationId]/cancel/route.ts +1 -1
- package/.next/types/app/v1/chat/conversations/[conversationId]/debug/continue/route.ts +1 -1
- package/.next/types/app/v1/chat/conversations/[conversationId]/debug/step/route.ts +1 -1
- package/.next/types/app/v1/chat/conversations/[conversationId]/edit-state/route.ts +1 -1
- package/.next/types/app/v1/chat/conversations/[conversationId]/events/route.ts +1 -1
- package/.next/types/app/v1/chat/conversations/[conversationId]/inject/route.ts +1 -1
- package/.next/types/app/v1/chat/conversations/[conversationId]/resources/route.ts +1 -1
- package/.next/types/app/v1/chat/conversations/[conversationId]/respond/route.ts +1 -1
- package/.next/types/app/v1/chat/conversations/[conversationId]/route.ts +1 -1
- package/.next/types/app/v1/chat/conversations/route.ts +1 -1
- package/.next/types/app/v1/chat/events/route.ts +1 -1
- package/.next/types/app/v1/models/route.ts +1 -1
- package/.next/types/app/waves/page.ts +1 -1
- package/.next/types/routes.d.ts +2 -1
- package/.next/types/validator.ts +9 -0
- package/README.md +1 -1
- package/bin/flujo.mjs +120 -120
- package/next.config.mjs +139 -139
- package/package.json +1 -1
- package/scripts/launch-next.mjs +112 -112
- package/.next/server/chunks/1083.js +0 -2
- package/.next/server/chunks/1819.js +0 -2
- package/.next/server/chunks/2368.js +0 -2
- package/.next/server/chunks/2666.js +0 -1
- package/.next/server/chunks/2985.js +0 -1
- package/.next/server/chunks/3101.js +0 -1
- package/.next/server/chunks/3273.js +0 -1
- package/.next/server/chunks/3648.js +0 -1
- package/.next/server/chunks/38.js +0 -2
- package/.next/server/chunks/3951.js +0 -151
- package/.next/server/chunks/4239.js +0 -1
- package/.next/server/chunks/4426.js +0 -6
- package/.next/server/chunks/4663.js +0 -1
- package/.next/server/chunks/5148.js +0 -1
- package/.next/server/chunks/5786.js +0 -2
- package/.next/server/chunks/6219.js +0 -1
- package/.next/server/chunks/6588.js +0 -2
- package/.next/server/chunks/8339.js +0 -1
- package/.next/server/chunks/8667.js +0 -1
- package/.next/server/chunks/9251.js +0 -1
- package/.next/server/chunks/9253.js +0 -3
- package/.next/server/chunks/991.js +0 -2
- package/.next/static/JGMk-MwwdpQ94asqw-mUR/_buildManifest.js +0 -1
- package/.next/static/chunks/2233-1139c1d3ef356980.js +0 -1
- package/.next/static/chunks/289-98f50bfcf833d661.js +0 -1
- package/.next/static/chunks/2988-0b197a9b468a2df9.js +0 -1
- package/.next/static/chunks/3418-a2f5d0c4f29ee2fb.js +0 -1
- package/.next/static/chunks/3958-5641a828b320f2fe.js +0 -100
- package/.next/static/chunks/5661-1b976072cc3d2fed.js +0 -1
- package/.next/static/chunks/6947-0ff3545efb53e959.js +0 -1
- package/.next/static/chunks/8054-f33d06ecea5d36e4.js +0 -1
- package/.next/static/chunks/8855-02889c9ab4bf0bcf.js +0 -1
- package/.next/static/chunks/8863-c140a742178a4a87.js +0 -1
- package/.next/static/chunks/app/_not-found/page-81dc485d60f94046.js +0 -1
- package/.next/static/chunks/app/api/approvals/[id]/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/approvals/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/backup/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/browse/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/bugs/enhance/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/cwd/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/encryption/secure/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/env/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/flow/[id]/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/flow/[id]/versions/[versionId]/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/flow/[id]/versions/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/flow/compile/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/flow/generate/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/flow/improve/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/flow/prompt-renderer/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/flow/quick-chat/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/flow/repair/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/flow/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/git/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/init/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/local-models/capability/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/local-models/pull/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/local-models/suggest/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/mcp/app-sandbox/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/mcp/cancel/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/mcp/oauth-capability/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/mcp/test-connection/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/mcp/test-connection/stream/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/mcp-registry/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/mcp-registry/spotlight/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/model/[id]/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/model/provider/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/model/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/model/test/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/oauth/callback/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/oauth/initiate/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/oauth/reset/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/packages/build/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/packages/derive-secrets/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/packages/install/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/packages/install/status/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/packages/installed/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/packages/resolve/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/packages/scan-targets/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/packages/uninstall/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/planned-executions/[id]/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/planned-executions/[id]/run/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/planned-executions/reconcile/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/planned-executions/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/registry/auth/resend/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/registry/auth/reset/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/registry/auth/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/registry/oauth/callback/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/registry/oauth/initiate/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/registry/publish/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/registry/settings/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/restore/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/runs/active/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/storage/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/update/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/waves/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/api/webhooks/[id]/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/chat/page-2b69c5e35164f553.js +0 -1
- package/.next/static/chunks/app/flows/page-3f0d7cca2edff792.js +0 -1
- package/.next/static/chunks/app/layout-81f91fb3b894951a.js +0 -1
- package/.next/static/chunks/app/mcp/page-0e90177062130679.js +0 -1
- package/.next/static/chunks/app/mcp-flows/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/mcp-proxy/[server]/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/models/page-c69e10b83c06535d.js +0 -1
- package/.next/static/chunks/app/packages/page-bf8aad441c664433.js +0 -1
- package/.next/static/chunks/app/page-d3ea90b065b95d1e.js +0 -1
- package/.next/static/chunks/app/settings/page-4a9952c514f284e0.js +0 -1
- package/.next/static/chunks/app/v1/chat/completions/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/inject/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/resources/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/v1/chat/events/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/v1/models/route-7d60cffa598f4779.js +0 -1
- package/.next/static/chunks/app/waves/page-3ca939f0f7e817b1.js +0 -1
- /package/.next/static/{JGMk-MwwdpQ94asqw-mUR → eaxwKaaFHlA1_FLDIyFGi}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: C:\Users\
|
|
1
|
+
// File: C:\Users\Moe\Documents\GitHub\FLUJO\src\app\v1\chat\conversations\[conversationId]\resources\route.ts
|
|
2
2
|
import * as entry from '../../../../../../../../src/app/v1/chat/conversations/[conversationId]/resources/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: C:\Users\
|
|
1
|
+
// File: C:\Users\Moe\Documents\GitHub\FLUJO\src\app\v1\chat\conversations\[conversationId]\respond\route.ts
|
|
2
2
|
import * as entry from '../../../../../../../../src/app/v1/chat/conversations/[conversationId]/respond/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: C:\Users\
|
|
1
|
+
// File: C:\Users\Moe\Documents\GitHub\FLUJO\src\app\v1\chat\conversations\[conversationId]\route.ts
|
|
2
2
|
import * as entry from '../../../../../../../src/app/v1/chat/conversations/[conversationId]/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: C:\Users\
|
|
1
|
+
// File: C:\Users\Moe\Documents\GitHub\FLUJO\src\app\v1\chat\conversations\route.ts
|
|
2
2
|
import * as entry from '../../../../../../src/app/v1/chat/conversations/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: C:\Users\
|
|
1
|
+
// File: C:\Users\Moe\Documents\GitHub\FLUJO\src\app\v1\chat\events\route.ts
|
|
2
2
|
import * as entry from '../../../../../../src/app/v1/chat/events/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: C:\Users\
|
|
1
|
+
// File: C:\Users\Moe\Documents\GitHub\FLUJO\src\app\v1\models\route.ts
|
|
2
2
|
import * as entry from '../../../../../src/app/v1/models/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: C:\Users\
|
|
1
|
+
// File: C:\Users\Moe\Documents\GitHub\FLUJO\src\app\waves\page.tsx
|
|
2
2
|
import * as entry from '../../../../src/app/waves/page.js'
|
|
3
3
|
import type { ResolvingMetadata, ResolvingViewport } from 'next/dist/lib/metadata/types/metadata-interface.js'
|
|
4
4
|
|
package/.next/types/routes.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Do not edit this file manually
|
|
3
3
|
|
|
4
4
|
type AppRoutes = "/" | "/chat" | "/docs" | "/executions" | "/flows" | "/mcp" | "/models" | "/packages" | "/settings" | "/waves"
|
|
5
|
-
type AppRouteHandlerRoutes = "/api/approvals" | "/api/approvals/[id]" | "/api/backup" | "/api/browse" | "/api/bugs/enhance" | "/api/cwd" | "/api/encryption/secure" | "/api/env" | "/api/flow" | "/api/flow/[id]" | "/api/flow/[id]/versions" | "/api/flow/[id]/versions/[versionId]" | "/api/flow/compile" | "/api/flow/generate" | "/api/flow/improve" | "/api/flow/prompt-renderer" | "/api/flow/quick-chat" | "/api/flow/repair" | "/api/git" | "/api/init" | "/api/local-models/capability" | "/api/local-models/pull" | "/api/local-models/suggest" | "/api/mcp-registry" | "/api/mcp-registry/spotlight" | "/api/mcp/app-sandbox" | "/api/mcp/cancel" | "/api/mcp/oauth-capability" | "/api/mcp/servers" | "/api/mcp/servers/[name]" | "/api/mcp/servers/[name]/prompts" | "/api/mcp/servers/[name]/prompts/get" | "/api/mcp/servers/[name]/resources" | "/api/mcp/servers/[name]/resources/read" | "/api/mcp/servers/[name]/status" | "/api/mcp/servers/[name]/tools" | "/api/mcp/servers/[name]/tools/[toolName]" | "/api/mcp/test-connection" | "/api/mcp/test-connection/stream" | "/api/model" | "/api/model/[id]" | "/api/model/provider" | "/api/model/test" | "/api/oauth/callback" | "/api/oauth/initiate" | "/api/oauth/reset" | "/api/packages/build" | "/api/packages/derive-secrets" | "/api/packages/install" | "/api/packages/install/status" | "/api/packages/installed" | "/api/packages/resolve" | "/api/packages/scan-targets" | "/api/packages/uninstall" | "/api/planned-executions" | "/api/planned-executions/[id]" | "/api/planned-executions/[id]/run" | "/api/planned-executions/[id]/runs" | "/api/planned-executions/preview-schedule" | "/api/planned-executions/reconcile" | "/api/registry/auth" | "/api/registry/auth/resend" | "/api/registry/auth/reset" | "/api/registry/oauth/callback" | "/api/registry/oauth/initiate" | "/api/registry/publish" | "/api/registry/settings" | "/api/restore" | "/api/runs/active" | "/api/storage" | "/api/update" | "/api/waves" | "/api/webhooks/[id]" | "/mcp-flows" | "/mcp-proxy/[server]" | "/v1/chat/completions" | "/v1/chat/conversations" | "/v1/chat/conversations/[conversationId]" | "/v1/chat/conversations/[conversationId]/breakpoints" | "/v1/chat/conversations/[conversationId]/cancel" | "/v1/chat/conversations/[conversationId]/debug/continue" | "/v1/chat/conversations/[conversationId]/debug/step" | "/v1/chat/conversations/[conversationId]/edit-state" | "/v1/chat/conversations/[conversationId]/events" | "/v1/chat/conversations/[conversationId]/inject" | "/v1/chat/conversations/[conversationId]/resources" | "/v1/chat/conversations/[conversationId]/respond" | "/v1/chat/events" | "/v1/models"
|
|
5
|
+
type AppRouteHandlerRoutes = "/api/approvals" | "/api/approvals/[id]" | "/api/backup" | "/api/browse" | "/api/bugs/enhance" | "/api/cwd" | "/api/encryption/secure" | "/api/env" | "/api/flow" | "/api/flow/[id]" | "/api/flow/[id]/versions" | "/api/flow/[id]/versions/[versionId]" | "/api/flow/compile" | "/api/flow/generate" | "/api/flow/improve" | "/api/flow/prompt-renderer" | "/api/flow/quick-chat" | "/api/flow/repair" | "/api/git" | "/api/init" | "/api/local-models/capability" | "/api/local-models/pull" | "/api/local-models/suggest" | "/api/mcp-registry" | "/api/mcp-registry/spotlight" | "/api/mcp/app-sandbox" | "/api/mcp/cancel" | "/api/mcp/oauth-capability" | "/api/mcp/servers" | "/api/mcp/servers/[name]" | "/api/mcp/servers/[name]/prompts" | "/api/mcp/servers/[name]/prompts/get" | "/api/mcp/servers/[name]/resources" | "/api/mcp/servers/[name]/resources/read" | "/api/mcp/servers/[name]/status" | "/api/mcp/servers/[name]/tools" | "/api/mcp/servers/[name]/tools/[toolName]" | "/api/mcp/test-connection" | "/api/mcp/test-connection/stream" | "/api/model" | "/api/model/[id]" | "/api/model/provider" | "/api/model/test" | "/api/oauth/callback" | "/api/oauth/initiate" | "/api/oauth/reset" | "/api/packages/build" | "/api/packages/derive-secrets" | "/api/packages/install" | "/api/packages/install/status" | "/api/packages/installed" | "/api/packages/resolve" | "/api/packages/scan-targets" | "/api/packages/search" | "/api/packages/uninstall" | "/api/planned-executions" | "/api/planned-executions/[id]" | "/api/planned-executions/[id]/run" | "/api/planned-executions/[id]/runs" | "/api/planned-executions/preview-schedule" | "/api/planned-executions/reconcile" | "/api/registry/auth" | "/api/registry/auth/resend" | "/api/registry/auth/reset" | "/api/registry/oauth/callback" | "/api/registry/oauth/initiate" | "/api/registry/publish" | "/api/registry/settings" | "/api/restore" | "/api/runs/active" | "/api/storage" | "/api/update" | "/api/waves" | "/api/webhooks/[id]" | "/mcp-flows" | "/mcp-proxy/[server]" | "/v1/chat/completions" | "/v1/chat/conversations" | "/v1/chat/conversations/[conversationId]" | "/v1/chat/conversations/[conversationId]/breakpoints" | "/v1/chat/conversations/[conversationId]/cancel" | "/v1/chat/conversations/[conversationId]/debug/continue" | "/v1/chat/conversations/[conversationId]/debug/step" | "/v1/chat/conversations/[conversationId]/edit-state" | "/v1/chat/conversations/[conversationId]/events" | "/v1/chat/conversations/[conversationId]/inject" | "/v1/chat/conversations/[conversationId]/resources" | "/v1/chat/conversations/[conversationId]/respond" | "/v1/chat/events" | "/v1/models"
|
|
6
6
|
type PageRoutes = never
|
|
7
7
|
type LayoutRoutes = "/"
|
|
8
8
|
type RedirectRoutes = never
|
|
@@ -65,6 +65,7 @@ interface ParamMap {
|
|
|
65
65
|
"/api/packages/installed": {}
|
|
66
66
|
"/api/packages/resolve": {}
|
|
67
67
|
"/api/packages/scan-targets": {}
|
|
68
|
+
"/api/packages/search": {}
|
|
68
69
|
"/api/packages/uninstall": {}
|
|
69
70
|
"/api/planned-executions": {}
|
|
70
71
|
"/api/planned-executions/[id]": { "id": string; }
|
package/.next/types/validator.ts
CHANGED
|
@@ -614,6 +614,15 @@ type RouteHandlerConfig<Route extends AppRouteHandlerRoutes = AppRouteHandlerRou
|
|
|
614
614
|
type __Unused = __Check
|
|
615
615
|
}
|
|
616
616
|
|
|
617
|
+
// Validate ../../src/app/api/packages/search/route.ts
|
|
618
|
+
{
|
|
619
|
+
type __IsExpected<Specific extends RouteHandlerConfig<"/api/packages/search">> = Specific
|
|
620
|
+
const handler = {} as typeof import("../../src/app/api/packages/search/route.js")
|
|
621
|
+
type __Check = __IsExpected<typeof handler>
|
|
622
|
+
// @ts-ignore
|
|
623
|
+
type __Unused = __Check
|
|
624
|
+
}
|
|
625
|
+
|
|
617
626
|
// Validate ../../src/app/api/packages/uninstall/route.ts
|
|
618
627
|
{
|
|
619
628
|
type __IsExpected<Specific extends RouteHandlerConfig<"/api/packages/uninstall">> = Specific
|
package/README.md
CHANGED
|
@@ -42,7 +42,7 @@ For *anything* that you struggle with (MCP Installation, Application Issues, Usa
|
|
|
42
42
|
# FLUJO
|
|
43
43
|
|
|
44
44
|
[](LICENSE)
|
|
45
|
-
[](package.json)
|
|
46
46
|
|
|
47
47
|
FLUJO is an open-source, local-first platform for building **MCP-powered AI workflows**. It brings together model management, Model-Context-Protocol (MCP) servers, a visual flow builder, and a chat interface in one app — so you can wire models and tools together, run them headlessly on triggers, and expose the result to other apps, without giving up control of your keys and data.
|
|
48
48
|
|
package/bin/flujo.mjs
CHANGED
|
@@ -1,120 +1,120 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* `flujo` / `npx flujo-ai` entry point (issue #59).
|
|
4
|
-
*
|
|
5
|
-
* Runs a *prebuilt* FLUJO out of the installed npm package — no git clone, no
|
|
6
|
-
* local `next build`. It:
|
|
7
|
-
* 1. Puts user data in ~/.flujo by default (FLUJO_DATA_DIR override honored),
|
|
8
|
-
* so nothing is written into the read-only package install dir.
|
|
9
|
-
* 2. Marks the install mode as 'npm' (FLUJO_NPM=1) so the update route/UI show
|
|
10
|
-
* "reinstall the package" instead of a broken git-pull button.
|
|
11
|
-
* 3. Applies the exact same TLS/CA env handling as `npm start` by reusing
|
|
12
|
-
* buildLaunchEnv() from scripts/launch-next.mjs (single source of truth).
|
|
13
|
-
* 4. Starts Next's own `next start` from the package's bundled node_modules,
|
|
14
|
-
* with cwd = package root so the packaged `.next` build is found.
|
|
15
|
-
*
|
|
16
|
-
* Flags: --port <n> / FLUJO_PORT (default 4200); --no-open to suppress the
|
|
17
|
-
* browser auto-open.
|
|
18
|
-
*/
|
|
19
|
-
import process from 'node:process';
|
|
20
|
-
import path from 'node:path';
|
|
21
|
-
import os from 'node:os';
|
|
22
|
-
import fs from 'node:fs';
|
|
23
|
-
import { spawn } from 'node:child_process';
|
|
24
|
-
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
25
|
-
import { createRequire } from 'node:module';
|
|
26
|
-
|
|
27
|
-
const require = createRequire(import.meta.url);
|
|
28
|
-
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
29
|
-
// Package root is the parent of bin/ — where package.json and the built .next live.
|
|
30
|
-
const packageRoot = path.resolve(__dirname, '..');
|
|
31
|
-
|
|
32
|
-
// --- args -----------------------------------------------------------------
|
|
33
|
-
const argv = process.argv.slice(2);
|
|
34
|
-
const noOpen = argv.includes('--no-open');
|
|
35
|
-
|
|
36
|
-
function readPort() {
|
|
37
|
-
const idx = argv.findIndex((a) => a === '--port' || a === '-p');
|
|
38
|
-
if (idx !== -1 && argv[idx + 1]) {
|
|
39
|
-
return argv[idx + 1];
|
|
40
|
-
}
|
|
41
|
-
const eq = argv.find((a) => a.startsWith('--port='));
|
|
42
|
-
if (eq) {
|
|
43
|
-
return eq.slice('--port='.length);
|
|
44
|
-
}
|
|
45
|
-
return process.env.FLUJO_PORT || '4200';
|
|
46
|
-
}
|
|
47
|
-
const port = readPort();
|
|
48
|
-
|
|
49
|
-
// --- data dir --------------------------------------------------------------
|
|
50
|
-
// Default writable data location for a packaged install. A git checkout keeps
|
|
51
|
-
// data in the repo; the npm package keeps it in the user's home so upgrades
|
|
52
|
-
// (reinstalls) never touch it.
|
|
53
|
-
if (!process.env.FLUJO_DATA_DIR || process.env.FLUJO_DATA_DIR.trim().length === 0) {
|
|
54
|
-
process.env.FLUJO_DATA_DIR = path.join(os.homedir(), '.flujo');
|
|
55
|
-
}
|
|
56
|
-
try {
|
|
57
|
-
fs.mkdirSync(process.env.FLUJO_DATA_DIR, { recursive: true });
|
|
58
|
-
} catch (error) {
|
|
59
|
-
console.error(`[FLUJO] Could not create data directory ${process.env.FLUJO_DATA_DIR}:`, error);
|
|
60
|
-
process.exit(1);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
// Tell the running server it was installed via npm so it reports the right update mode.
|
|
64
|
-
process.env.FLUJO_NPM = '1';
|
|
65
|
-
|
|
66
|
-
// --- build env (TLS/CA), reusing the launcher's single source of truth ------
|
|
67
|
-
const { buildLaunchEnv } = await import(pathToFileURL(path.join(packageRoot, 'scripts', 'launch-next.mjs')).href);
|
|
68
|
-
const env = buildLaunchEnv(process.env);
|
|
69
|
-
|
|
70
|
-
// --- resolve Next's own CLI from the package's bundled node_modules ---------
|
|
71
|
-
// Never rely on a `next` on the user's PATH — run the exact version this package
|
|
72
|
-
// was built against.
|
|
73
|
-
let nextBin;
|
|
74
|
-
try {
|
|
75
|
-
nextBin = require.resolve('next/dist/bin/next');
|
|
76
|
-
} catch (error) {
|
|
77
|
-
console.error('[FLUJO] Could not locate the bundled Next.js binary. The package install may be corrupt.', error);
|
|
78
|
-
process.exit(1);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
const url = `http://localhost:${port}`;
|
|
82
|
-
console.log(`[FLUJO] Starting on ${url}`);
|
|
83
|
-
console.log(`[FLUJO] Data directory: ${process.env.FLUJO_DATA_DIR}`);
|
|
84
|
-
|
|
85
|
-
const child = spawn(process.execPath, [nextBin, 'start', '-p', String(port)], {
|
|
86
|
-
stdio: 'inherit',
|
|
87
|
-
cwd: packageRoot,
|
|
88
|
-
env,
|
|
89
|
-
});
|
|
90
|
-
|
|
91
|
-
child.on('error', (error) => {
|
|
92
|
-
console.error('[FLUJO] Failed to launch:', error);
|
|
93
|
-
process.exit(1);
|
|
94
|
-
});
|
|
95
|
-
|
|
96
|
-
child.on('exit', (code, signal) => {
|
|
97
|
-
if (signal) {
|
|
98
|
-
process.kill(process.pid, signal);
|
|
99
|
-
} else {
|
|
100
|
-
process.exit(code ?? 0);
|
|
101
|
-
}
|
|
102
|
-
});
|
|
103
|
-
|
|
104
|
-
// --- browser auto-open (best-effort) ---------------------------------------
|
|
105
|
-
if (!noOpen) {
|
|
106
|
-
const openCommand =
|
|
107
|
-
process.platform === 'win32' ? { cmd: 'cmd', args: ['/c', 'start', '""', url] }
|
|
108
|
-
: process.platform === 'darwin' ? { cmd: 'open', args: [url] }
|
|
109
|
-
: { cmd: 'xdg-open', args: [url] };
|
|
110
|
-
// Give `next start` a moment to bind the port before opening the browser.
|
|
111
|
-
setTimeout(() => {
|
|
112
|
-
try {
|
|
113
|
-
const opener = spawn(openCommand.cmd, openCommand.args, { stdio: 'ignore', detached: true });
|
|
114
|
-
opener.on('error', () => { /* no browser / headless — ignore */ });
|
|
115
|
-
opener.unref();
|
|
116
|
-
} catch {
|
|
117
|
-
/* best-effort only */
|
|
118
|
-
}
|
|
119
|
-
}, 2000);
|
|
120
|
-
}
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* `flujo` / `npx flujo-ai` entry point (issue #59).
|
|
4
|
+
*
|
|
5
|
+
* Runs a *prebuilt* FLUJO out of the installed npm package — no git clone, no
|
|
6
|
+
* local `next build`. It:
|
|
7
|
+
* 1. Puts user data in ~/.flujo by default (FLUJO_DATA_DIR override honored),
|
|
8
|
+
* so nothing is written into the read-only package install dir.
|
|
9
|
+
* 2. Marks the install mode as 'npm' (FLUJO_NPM=1) so the update route/UI show
|
|
10
|
+
* "reinstall the package" instead of a broken git-pull button.
|
|
11
|
+
* 3. Applies the exact same TLS/CA env handling as `npm start` by reusing
|
|
12
|
+
* buildLaunchEnv() from scripts/launch-next.mjs (single source of truth).
|
|
13
|
+
* 4. Starts Next's own `next start` from the package's bundled node_modules,
|
|
14
|
+
* with cwd = package root so the packaged `.next` build is found.
|
|
15
|
+
*
|
|
16
|
+
* Flags: --port <n> / FLUJO_PORT (default 4200); --no-open to suppress the
|
|
17
|
+
* browser auto-open.
|
|
18
|
+
*/
|
|
19
|
+
import process from 'node:process';
|
|
20
|
+
import path from 'node:path';
|
|
21
|
+
import os from 'node:os';
|
|
22
|
+
import fs from 'node:fs';
|
|
23
|
+
import { spawn } from 'node:child_process';
|
|
24
|
+
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
25
|
+
import { createRequire } from 'node:module';
|
|
26
|
+
|
|
27
|
+
const require = createRequire(import.meta.url);
|
|
28
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
29
|
+
// Package root is the parent of bin/ — where package.json and the built .next live.
|
|
30
|
+
const packageRoot = path.resolve(__dirname, '..');
|
|
31
|
+
|
|
32
|
+
// --- args -----------------------------------------------------------------
|
|
33
|
+
const argv = process.argv.slice(2);
|
|
34
|
+
const noOpen = argv.includes('--no-open');
|
|
35
|
+
|
|
36
|
+
function readPort() {
|
|
37
|
+
const idx = argv.findIndex((a) => a === '--port' || a === '-p');
|
|
38
|
+
if (idx !== -1 && argv[idx + 1]) {
|
|
39
|
+
return argv[idx + 1];
|
|
40
|
+
}
|
|
41
|
+
const eq = argv.find((a) => a.startsWith('--port='));
|
|
42
|
+
if (eq) {
|
|
43
|
+
return eq.slice('--port='.length);
|
|
44
|
+
}
|
|
45
|
+
return process.env.FLUJO_PORT || '4200';
|
|
46
|
+
}
|
|
47
|
+
const port = readPort();
|
|
48
|
+
|
|
49
|
+
// --- data dir --------------------------------------------------------------
|
|
50
|
+
// Default writable data location for a packaged install. A git checkout keeps
|
|
51
|
+
// data in the repo; the npm package keeps it in the user's home so upgrades
|
|
52
|
+
// (reinstalls) never touch it.
|
|
53
|
+
if (!process.env.FLUJO_DATA_DIR || process.env.FLUJO_DATA_DIR.trim().length === 0) {
|
|
54
|
+
process.env.FLUJO_DATA_DIR = path.join(os.homedir(), '.flujo');
|
|
55
|
+
}
|
|
56
|
+
try {
|
|
57
|
+
fs.mkdirSync(process.env.FLUJO_DATA_DIR, { recursive: true });
|
|
58
|
+
} catch (error) {
|
|
59
|
+
console.error(`[FLUJO] Could not create data directory ${process.env.FLUJO_DATA_DIR}:`, error);
|
|
60
|
+
process.exit(1);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// Tell the running server it was installed via npm so it reports the right update mode.
|
|
64
|
+
process.env.FLUJO_NPM = '1';
|
|
65
|
+
|
|
66
|
+
// --- build env (TLS/CA), reusing the launcher's single source of truth ------
|
|
67
|
+
const { buildLaunchEnv } = await import(pathToFileURL(path.join(packageRoot, 'scripts', 'launch-next.mjs')).href);
|
|
68
|
+
const env = buildLaunchEnv(process.env);
|
|
69
|
+
|
|
70
|
+
// --- resolve Next's own CLI from the package's bundled node_modules ---------
|
|
71
|
+
// Never rely on a `next` on the user's PATH — run the exact version this package
|
|
72
|
+
// was built against.
|
|
73
|
+
let nextBin;
|
|
74
|
+
try {
|
|
75
|
+
nextBin = require.resolve('next/dist/bin/next');
|
|
76
|
+
} catch (error) {
|
|
77
|
+
console.error('[FLUJO] Could not locate the bundled Next.js binary. The package install may be corrupt.', error);
|
|
78
|
+
process.exit(1);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
const url = `http://localhost:${port}`;
|
|
82
|
+
console.log(`[FLUJO] Starting on ${url}`);
|
|
83
|
+
console.log(`[FLUJO] Data directory: ${process.env.FLUJO_DATA_DIR}`);
|
|
84
|
+
|
|
85
|
+
const child = spawn(process.execPath, [nextBin, 'start', '-p', String(port)], {
|
|
86
|
+
stdio: 'inherit',
|
|
87
|
+
cwd: packageRoot,
|
|
88
|
+
env,
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
child.on('error', (error) => {
|
|
92
|
+
console.error('[FLUJO] Failed to launch:', error);
|
|
93
|
+
process.exit(1);
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
child.on('exit', (code, signal) => {
|
|
97
|
+
if (signal) {
|
|
98
|
+
process.kill(process.pid, signal);
|
|
99
|
+
} else {
|
|
100
|
+
process.exit(code ?? 0);
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
// --- browser auto-open (best-effort) ---------------------------------------
|
|
105
|
+
if (!noOpen) {
|
|
106
|
+
const openCommand =
|
|
107
|
+
process.platform === 'win32' ? { cmd: 'cmd', args: ['/c', 'start', '""', url] }
|
|
108
|
+
: process.platform === 'darwin' ? { cmd: 'open', args: [url] }
|
|
109
|
+
: { cmd: 'xdg-open', args: [url] };
|
|
110
|
+
// Give `next start` a moment to bind the port before opening the browser.
|
|
111
|
+
setTimeout(() => {
|
|
112
|
+
try {
|
|
113
|
+
const opener = spawn(openCommand.cmd, openCommand.args, { stdio: 'ignore', detached: true });
|
|
114
|
+
opener.on('error', () => { /* no browser / headless — ignore */ });
|
|
115
|
+
opener.unref();
|
|
116
|
+
} catch {
|
|
117
|
+
/* best-effort only */
|
|
118
|
+
}
|
|
119
|
+
}, 2000);
|
|
120
|
+
}
|
package/next.config.mjs
CHANGED
|
@@ -1,139 +1,139 @@
|
|
|
1
|
-
// Plain-JS config on purpose: the npm package (`npx flujo-ai`) runs `next start`
|
|
2
|
-
// on end-user machines without TypeScript installed, and a next.config.ts would
|
|
3
|
-
// make Next try to npm-install typescript there at runtime (which fails).
|
|
4
|
-
import path from 'path';
|
|
5
|
-
import { fileURLToPath } from 'url';
|
|
6
|
-
|
|
7
|
-
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
8
|
-
|
|
9
|
-
/** @type {import('next').NextConfig} */
|
|
10
|
-
const nextConfig = {
|
|
11
|
-
/* config options here */
|
|
12
|
-
// Pin the workspace root to this project. Without this, a stray
|
|
13
|
-
// package-lock.json in a parent dir (e.g. the user's home folder) makes
|
|
14
|
-
// Next infer the wrong root and install/resolve deps like typescript in the
|
|
15
|
-
// wrong place, breaking `next build`.
|
|
16
|
-
outputFileTracingRoot: __dirname,
|
|
17
|
-
// CORS for `/api/*` is defense-in-depth secondary to the fail-closed origin
|
|
18
|
-
// guard in `src/middleware.ts` (#142). We do NOT advertise a wildcard
|
|
19
|
-
// `Access-Control-Allow-Origin: *` for the blanket `/api` surface: even if the
|
|
20
|
-
// guard were ever bypassed, a cross-origin page must not be told it may read
|
|
21
|
-
// `/api` responses. The value is narrowed to the local dev origin, consistent
|
|
22
|
-
// with the `/api/env` override (#141). The public OpenAI-compatible `/v1/*`
|
|
23
|
-
// API sets its own permissive CORS in-handler and is not matched here.
|
|
24
|
-
async headers() {
|
|
25
|
-
return [
|
|
26
|
-
{
|
|
27
|
-
source: '/api/:path*',
|
|
28
|
-
headers: [
|
|
29
|
-
{ key: 'Access-Control-Allow-Origin', value: 'http://localhost:4200' },
|
|
30
|
-
{ key: 'Access-Control-Allow-Methods', value: 'GET, OPTIONS' },
|
|
31
|
-
{ key: 'Access-Control-Allow-Headers', value: '*' },
|
|
32
|
-
{ key: 'Vary', value: 'Origin' },
|
|
33
|
-
],
|
|
34
|
-
},
|
|
35
|
-
// Defense-in-depth for /api/env (#141): this route can return DECRYPTED
|
|
36
|
-
// secrets (`?includeSecrets=true`). Even though `assertLocalRequest` already
|
|
37
|
-
// rejects cross-origin callers, do NOT advertise a wildcard ACAO here so the
|
|
38
|
-
// response is never cross-origin readable if the guard were ever bypassed.
|
|
39
|
-
// This block is more specific and comes after the wildcard, so its
|
|
40
|
-
// Access-Control-Allow-Origin value overrides the '*' above for /api/env.
|
|
41
|
-
// (In-app calls are same-origin and don't rely on CORS.)
|
|
42
|
-
{
|
|
43
|
-
source: '/api/env',
|
|
44
|
-
headers: [
|
|
45
|
-
{ key: 'Access-Control-Allow-Origin', value: 'http://localhost:4200' },
|
|
46
|
-
{ key: 'Vary', value: 'Origin' },
|
|
47
|
-
],
|
|
48
|
-
},
|
|
49
|
-
];
|
|
50
|
-
},
|
|
51
|
-
typescript: {
|
|
52
|
-
// Ignore all TypeScript errors during build
|
|
53
|
-
ignoreBuildErrors: true,
|
|
54
|
-
},
|
|
55
|
-
eslint: {
|
|
56
|
-
// Ignore all ESLint errors during build
|
|
57
|
-
ignoreDuringBuilds: true,
|
|
58
|
-
},
|
|
59
|
-
transpilePackages: [
|
|
60
|
-
'@mui/material',
|
|
61
|
-
'@mui/icons-material',
|
|
62
|
-
'@mui/system',
|
|
63
|
-
'@mui/utils',
|
|
64
|
-
'@emotion/react',
|
|
65
|
-
'@emotion/styled'
|
|
66
|
-
],
|
|
67
|
-
// Increase the webpack chunk loading timeout and configure other performance settings
|
|
68
|
-
webpack: (config, { dev, isServer }) => {
|
|
69
|
-
// Only apply these settings in development mode
|
|
70
|
-
if (dev && !isServer) {
|
|
71
|
-
// Increase chunk loading timeout to 60 seconds (60000ms)
|
|
72
|
-
config.output = {
|
|
73
|
-
...config.output,
|
|
74
|
-
chunkLoadTimeout: 60000,
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
// Optimize for development performance
|
|
78
|
-
config.optimization = {
|
|
79
|
-
...config.optimization,
|
|
80
|
-
runtimeChunk: 'single',
|
|
81
|
-
splitChunks: {
|
|
82
|
-
chunks: 'all',
|
|
83
|
-
cacheGroups: {
|
|
84
|
-
vendors: {
|
|
85
|
-
test: /[\\/]node_modules[\\/](?!.*\.css$)/, // Exclude CSS files from vendors chunk
|
|
86
|
-
name: 'vendors',
|
|
87
|
-
priority: -10,
|
|
88
|
-
reuseExistingChunk: true,
|
|
89
|
-
},
|
|
90
|
-
styles: {
|
|
91
|
-
name: 'styles',
|
|
92
|
-
test: /\.css$/,
|
|
93
|
-
chunks: 'all',
|
|
94
|
-
enforce: true,
|
|
95
|
-
priority: 20,
|
|
96
|
-
},
|
|
97
|
-
},
|
|
98
|
-
},
|
|
99
|
-
};
|
|
100
|
-
|
|
101
|
-
// Configure watchOptions for better file watching
|
|
102
|
-
config.watchOptions = {
|
|
103
|
-
...config.watchOptions,
|
|
104
|
-
poll: 1000, // Check for changes every second
|
|
105
|
-
aggregateTimeout: 300, // Delay before rebuilding
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
// Exclude node binary files from being processed by webpack
|
|
110
|
-
config.externals = [...(config.externals || []),
|
|
111
|
-
{
|
|
112
|
-
sharp: 'commonjs sharp',
|
|
113
|
-
'node-gyp-build': 'commonjs node-gyp-build'
|
|
114
|
-
}
|
|
115
|
-
];
|
|
116
|
-
|
|
117
|
-
// Handle binary modules properly
|
|
118
|
-
config.module = {
|
|
119
|
-
...config.module,
|
|
120
|
-
rules: [
|
|
121
|
-
...(config.module?.rules || []),
|
|
122
|
-
{
|
|
123
|
-
test: /\.node$/,
|
|
124
|
-
use: 'node-loader',
|
|
125
|
-
},
|
|
126
|
-
],
|
|
127
|
-
};
|
|
128
|
-
|
|
129
|
-
// Enable WebAssembly
|
|
130
|
-
config.experiments = {
|
|
131
|
-
...config.experiments,
|
|
132
|
-
asyncWebAssembly: true,
|
|
133
|
-
};
|
|
134
|
-
|
|
135
|
-
return config;
|
|
136
|
-
},
|
|
137
|
-
};
|
|
138
|
-
|
|
139
|
-
export default nextConfig;
|
|
1
|
+
// Plain-JS config on purpose: the npm package (`npx flujo-ai`) runs `next start`
|
|
2
|
+
// on end-user machines without TypeScript installed, and a next.config.ts would
|
|
3
|
+
// make Next try to npm-install typescript there at runtime (which fails).
|
|
4
|
+
import path from 'path';
|
|
5
|
+
import { fileURLToPath } from 'url';
|
|
6
|
+
|
|
7
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
8
|
+
|
|
9
|
+
/** @type {import('next').NextConfig} */
|
|
10
|
+
const nextConfig = {
|
|
11
|
+
/* config options here */
|
|
12
|
+
// Pin the workspace root to this project. Without this, a stray
|
|
13
|
+
// package-lock.json in a parent dir (e.g. the user's home folder) makes
|
|
14
|
+
// Next infer the wrong root and install/resolve deps like typescript in the
|
|
15
|
+
// wrong place, breaking `next build`.
|
|
16
|
+
outputFileTracingRoot: __dirname,
|
|
17
|
+
// CORS for `/api/*` is defense-in-depth secondary to the fail-closed origin
|
|
18
|
+
// guard in `src/middleware.ts` (#142). We do NOT advertise a wildcard
|
|
19
|
+
// `Access-Control-Allow-Origin: *` for the blanket `/api` surface: even if the
|
|
20
|
+
// guard were ever bypassed, a cross-origin page must not be told it may read
|
|
21
|
+
// `/api` responses. The value is narrowed to the local dev origin, consistent
|
|
22
|
+
// with the `/api/env` override (#141). The public OpenAI-compatible `/v1/*`
|
|
23
|
+
// API sets its own permissive CORS in-handler and is not matched here.
|
|
24
|
+
async headers() {
|
|
25
|
+
return [
|
|
26
|
+
{
|
|
27
|
+
source: '/api/:path*',
|
|
28
|
+
headers: [
|
|
29
|
+
{ key: 'Access-Control-Allow-Origin', value: 'http://localhost:4200' },
|
|
30
|
+
{ key: 'Access-Control-Allow-Methods', value: 'GET, OPTIONS' },
|
|
31
|
+
{ key: 'Access-Control-Allow-Headers', value: '*' },
|
|
32
|
+
{ key: 'Vary', value: 'Origin' },
|
|
33
|
+
],
|
|
34
|
+
},
|
|
35
|
+
// Defense-in-depth for /api/env (#141): this route can return DECRYPTED
|
|
36
|
+
// secrets (`?includeSecrets=true`). Even though `assertLocalRequest` already
|
|
37
|
+
// rejects cross-origin callers, do NOT advertise a wildcard ACAO here so the
|
|
38
|
+
// response is never cross-origin readable if the guard were ever bypassed.
|
|
39
|
+
// This block is more specific and comes after the wildcard, so its
|
|
40
|
+
// Access-Control-Allow-Origin value overrides the '*' above for /api/env.
|
|
41
|
+
// (In-app calls are same-origin and don't rely on CORS.)
|
|
42
|
+
{
|
|
43
|
+
source: '/api/env',
|
|
44
|
+
headers: [
|
|
45
|
+
{ key: 'Access-Control-Allow-Origin', value: 'http://localhost:4200' },
|
|
46
|
+
{ key: 'Vary', value: 'Origin' },
|
|
47
|
+
],
|
|
48
|
+
},
|
|
49
|
+
];
|
|
50
|
+
},
|
|
51
|
+
typescript: {
|
|
52
|
+
// Ignore all TypeScript errors during build
|
|
53
|
+
ignoreBuildErrors: true,
|
|
54
|
+
},
|
|
55
|
+
eslint: {
|
|
56
|
+
// Ignore all ESLint errors during build
|
|
57
|
+
ignoreDuringBuilds: true,
|
|
58
|
+
},
|
|
59
|
+
transpilePackages: [
|
|
60
|
+
'@mui/material',
|
|
61
|
+
'@mui/icons-material',
|
|
62
|
+
'@mui/system',
|
|
63
|
+
'@mui/utils',
|
|
64
|
+
'@emotion/react',
|
|
65
|
+
'@emotion/styled'
|
|
66
|
+
],
|
|
67
|
+
// Increase the webpack chunk loading timeout and configure other performance settings
|
|
68
|
+
webpack: (config, { dev, isServer }) => {
|
|
69
|
+
// Only apply these settings in development mode
|
|
70
|
+
if (dev && !isServer) {
|
|
71
|
+
// Increase chunk loading timeout to 60 seconds (60000ms)
|
|
72
|
+
config.output = {
|
|
73
|
+
...config.output,
|
|
74
|
+
chunkLoadTimeout: 60000,
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
// Optimize for development performance
|
|
78
|
+
config.optimization = {
|
|
79
|
+
...config.optimization,
|
|
80
|
+
runtimeChunk: 'single',
|
|
81
|
+
splitChunks: {
|
|
82
|
+
chunks: 'all',
|
|
83
|
+
cacheGroups: {
|
|
84
|
+
vendors: {
|
|
85
|
+
test: /[\\/]node_modules[\\/](?!.*\.css$)/, // Exclude CSS files from vendors chunk
|
|
86
|
+
name: 'vendors',
|
|
87
|
+
priority: -10,
|
|
88
|
+
reuseExistingChunk: true,
|
|
89
|
+
},
|
|
90
|
+
styles: {
|
|
91
|
+
name: 'styles',
|
|
92
|
+
test: /\.css$/,
|
|
93
|
+
chunks: 'all',
|
|
94
|
+
enforce: true,
|
|
95
|
+
priority: 20,
|
|
96
|
+
},
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
// Configure watchOptions for better file watching
|
|
102
|
+
config.watchOptions = {
|
|
103
|
+
...config.watchOptions,
|
|
104
|
+
poll: 1000, // Check for changes every second
|
|
105
|
+
aggregateTimeout: 300, // Delay before rebuilding
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// Exclude node binary files from being processed by webpack
|
|
110
|
+
config.externals = [...(config.externals || []),
|
|
111
|
+
{
|
|
112
|
+
sharp: 'commonjs sharp',
|
|
113
|
+
'node-gyp-build': 'commonjs node-gyp-build'
|
|
114
|
+
}
|
|
115
|
+
];
|
|
116
|
+
|
|
117
|
+
// Handle binary modules properly
|
|
118
|
+
config.module = {
|
|
119
|
+
...config.module,
|
|
120
|
+
rules: [
|
|
121
|
+
...(config.module?.rules || []),
|
|
122
|
+
{
|
|
123
|
+
test: /\.node$/,
|
|
124
|
+
use: 'node-loader',
|
|
125
|
+
},
|
|
126
|
+
],
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
// Enable WebAssembly
|
|
130
|
+
config.experiments = {
|
|
131
|
+
...config.experiments,
|
|
132
|
+
asyncWebAssembly: true,
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
return config;
|
|
136
|
+
},
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
export default nextConfig;
|