flujo-ai 3.26.0 → 3.28.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 +470 -306
- package/.next/app-path-routes-manifest.json +28 -8
- package/.next/build-manifest.json +5 -5
- package/.next/prerender-manifest.json +24 -0
- package/.next/react-loadable-manifest.json +31 -18
- package/.next/routes-manifest.json +29 -0
- 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_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_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_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 -0
- package/.next/server/app/api/flow/[id]/versions/[versionId]/route.js.nft.json +1 -0
- package/.next/server/app/api/flow/[id]/versions/[versionId]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/flow/[id]/versions/route.js +1 -0
- package/.next/server/app/api/flow/[id]/versions/route.js.nft.json +1 -0
- package/.next/server/app/api/flow/[id]/versions/route_client-reference-manifest.js +1 -0
- 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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/local-models/pull/route_client-reference-manifest.js +1 -1
- 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 -0
- package/.next/server/app/api/mcp/app-sandbox/route.js.nft.json +1 -0
- package/.next/server/app/api/mcp/app-sandbox/route_client-reference-manifest.js +1 -0
- 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 -0
- package/.next/server/app/api/mcp/oauth-capability/route.js.nft.json +1 -0
- package/.next/server/app/api/mcp/oauth-capability/route_client-reference-manifest.js +1 -0
- 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_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 -0
- package/.next/server/app/api/packages/build/route.js.nft.json +1 -0
- package/.next/server/app/api/packages/build/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/packages/derive-secrets/route.js +1 -0
- package/.next/server/app/api/packages/derive-secrets/route.js.nft.json +1 -0
- package/.next/server/app/api/packages/derive-secrets/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/packages/install/route.js +1 -0
- package/.next/server/app/api/packages/install/route.js.nft.json +1 -0
- package/.next/server/app/api/packages/install/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/packages/install/status/route.js +1 -0
- package/.next/server/app/api/packages/install/status/route.js.nft.json +1 -0
- package/.next/server/app/api/packages/install/status/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/packages/installed/route.js +1 -0
- package/.next/server/app/api/packages/installed/route.js.nft.json +1 -0
- package/.next/server/app/api/packages/installed/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/packages/resolve/route.js +1 -0
- package/.next/server/app/api/packages/resolve/route.js.nft.json +1 -0
- package/.next/server/app/api/packages/resolve/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/packages/uninstall/route.js +1 -0
- package/.next/server/app/api/packages/uninstall/route.js.nft.json +1 -0
- package/.next/server/app/api/packages/uninstall/route_client-reference-manifest.js +1 -0
- 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_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 -0
- package/.next/server/app/api/registry/auth/resend/route.js.nft.json +1 -0
- package/.next/server/app/api/registry/auth/resend/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/registry/auth/reset/route.js +1 -0
- package/.next/server/app/api/registry/auth/reset/route.js.nft.json +1 -0
- package/.next/server/app/api/registry/auth/reset/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/registry/auth/route.js +1 -0
- package/.next/server/app/api/registry/auth/route.js.nft.json +1 -0
- package/.next/server/app/api/registry/auth/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/registry/oauth/callback/route.js +1 -0
- package/.next/server/app/api/registry/oauth/callback/route.js.nft.json +1 -0
- package/.next/server/app/api/registry/oauth/callback/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/registry/oauth/initiate/route.js +1 -0
- package/.next/server/app/api/registry/oauth/initiate/route.js.nft.json +1 -0
- package/.next/server/app/api/registry/oauth/initiate/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/registry/publish/route.js +1 -0
- package/.next/server/app/api/registry/publish/route.js.nft.json +1 -0
- package/.next/server/app/api/registry/publish/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/registry/settings/route.js +1 -0
- package/.next/server/app/api/registry/settings/route.js.nft.json +1 -0
- package/.next/server/app/api/registry/settings/route_client-reference-manifest.js +1 -0
- 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_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 +9 -10
- 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 +7 -6
- 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 +39 -3
- 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 +3 -3
- 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 +4 -4
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +3 -3
- package/.next/server/app/mcp/page.js +14 -14
- 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 -0
- package/.next/server/app/packages/page.js.nft.json +1 -0
- package/.next/server/app/packages/page_client-reference-manifest.js +1 -0
- package/.next/server/app/packages.html +1 -0
- package/.next/server/app/packages.meta +7 -0
- package/.next/server/app/packages.rsc +22 -0
- package/.next/server/app/page.js +1 -1
- 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]/resources/route.js +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 +11 -0
- package/.next/server/app/v1/chat/events/route.js.nft.json +1 -0
- package/.next/server/app/v1/chat/events/route_client-reference-manifest.js +1 -0
- 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 +28 -8
- package/.next/server/chunks/1083.js +1 -1
- package/.next/server/chunks/1114.js +1 -1
- package/.next/server/chunks/1197.js +1 -1
- package/.next/server/chunks/1226.js +1 -1
- package/.next/server/chunks/1314.js +1 -0
- package/.next/server/chunks/1604.js +70 -0
- package/.next/server/chunks/1615.js +1 -0
- package/.next/server/chunks/1659.js +1 -1
- package/.next/server/chunks/166.js +5 -5
- package/.next/server/chunks/1805.js +1 -0
- package/.next/server/chunks/1819.js +2 -0
- package/.next/server/chunks/1925.js +1 -0
- package/.next/server/chunks/2388.js +1 -0
- package/.next/server/chunks/2434.js +2 -0
- package/.next/server/chunks/2666.js +1 -0
- package/.next/server/chunks/2859.js +1 -1
- package/.next/server/chunks/2940.js +46 -0
- package/.next/server/chunks/2985.js +1 -0
- package/.next/server/chunks/3128.js +62 -0
- package/.next/server/chunks/3273.js +1 -0
- package/.next/server/chunks/3298.js +1 -1
- package/.next/server/chunks/{8445.js → 3392.js} +2 -2
- package/.next/server/chunks/346.js +1 -0
- package/.next/server/chunks/3570.js +249 -0
- package/.next/server/chunks/3629.js +1 -0
- package/.next/server/chunks/38.js +2 -2
- package/.next/server/chunks/3951.js +151 -0
- package/.next/server/chunks/4042.js +1 -0
- package/.next/server/chunks/4265.js +1 -1
- package/.next/server/chunks/4306.js +1 -0
- package/.next/server/chunks/4322.js +1 -0
- package/.next/server/chunks/4426.js +6 -0
- package/.next/server/chunks/{6745.js → 4661.js} +1 -1
- package/.next/server/chunks/4671.js +1 -1
- package/.next/server/chunks/4681.js +1 -0
- package/.next/server/chunks/4765.js +1 -0
- package/.next/server/chunks/4771.js +2 -2
- package/.next/server/chunks/5067.js +1 -0
- package/.next/server/chunks/5096.js +1 -0
- package/.next/server/chunks/510.js +1 -0
- package/.next/server/chunks/5148.js +1 -1
- package/.next/server/chunks/{4578.js → 5150.js} +1 -1
- package/.next/server/chunks/5200.js +1 -0
- package/.next/server/chunks/5463.js +1 -1
- package/.next/server/chunks/5471.js +1 -0
- package/.next/server/chunks/5544.js +5 -5
- package/.next/server/chunks/5708.js +6 -5
- package/.next/server/chunks/5880.js +1 -0
- package/.next/server/chunks/5958.js +2 -0
- package/.next/server/chunks/6005.js +1 -0
- package/.next/server/chunks/6126.js +53 -0
- package/.next/server/chunks/6529.js +5 -0
- package/.next/server/chunks/6537.js +1 -1
- package/.next/server/chunks/6826.js +1 -1
- package/.next/server/chunks/6849.js +66 -0
- package/.next/server/chunks/688.js +3 -0
- package/.next/server/chunks/701.js +1 -1
- package/.next/server/chunks/7032.js +1 -1
- package/.next/server/chunks/7214.js +4 -4
- package/.next/server/chunks/724.js +1 -1
- package/.next/server/chunks/7463.js +4 -4
- package/.next/server/chunks/7506.js +1 -1
- package/.next/server/chunks/7538.js +21 -0
- package/.next/server/chunks/7579.js +8 -7
- package/.next/server/chunks/{3030.js → 7674.js} +1 -1
- package/.next/server/chunks/7821.js +1 -1
- package/.next/server/chunks/793.js +393 -0
- package/.next/server/chunks/8037.js +1 -0
- package/.next/server/chunks/8165.js +3 -0
- package/.next/server/chunks/8339.js +1 -0
- package/.next/server/chunks/8387.js +1 -1
- package/.next/server/chunks/8522.js +2 -0
- package/.next/server/chunks/8568.js +12 -0
- package/.next/server/chunks/8667.js +1 -0
- package/.next/server/chunks/869.js +2 -0
- package/.next/server/chunks/{3489.js → 8730.js} +1 -1
- package/.next/server/chunks/8739.js +2 -2
- package/.next/server/chunks/8745.js +1 -1
- package/.next/server/chunks/8979.js +37 -0
- package/.next/server/chunks/8994.js +1 -1
- package/.next/server/chunks/9165.js +1 -1
- package/.next/server/chunks/9285.js +1 -1
- package/.next/server/chunks/94.js +1 -1
- package/.next/server/chunks/9400.js +2 -0
- package/.next/server/chunks/{4456.js → 9472.js} +2 -2
- package/.next/server/chunks/9583.js +1 -0
- package/.next/server/chunks/9671.js +1 -0
- package/.next/server/chunks/9724.js +393 -0
- package/.next/server/chunks/991.js +2 -0
- package/.next/server/functions-config-manifest.json +1 -0
- package/.next/server/instrumentation.js +1 -1
- package/.next/server/instrumentation.js.nft.json +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-manifest.json +1 -1
- 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/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/server/src/middleware.js +1 -1
- package/.next/server/src/middleware.js.map +1 -1
- package/.next/static/Q6ITx_bZyoEOnKdZu_C7j/_buildManifest.js +1 -0
- package/.next/static/chunks/1594-309fa6363f215d76.js +1 -0
- package/.next/static/chunks/1809-e56cf3c476261e34.js +1 -0
- package/.next/static/chunks/1937-6bbdcdc660db562c.js +1 -0
- package/.next/static/chunks/1988-1b651d581fc44a36.js +1 -0
- package/.next/static/chunks/{2003-7710c23acaef11c9.js → 2003-f826c607d609d1fa.js} +1 -1
- package/.next/static/chunks/2164-7d6451e88a447de7.js +1 -0
- package/.next/static/chunks/218-6cbe09820faa3272.js +1 -0
- package/.next/static/chunks/2566-60acd5838abd9f3f.js +1 -0
- package/.next/static/chunks/{2403-5c26e0abd76095b1.js → 2800-4fa29a3eeb693593.js} +1 -1
- package/.next/static/chunks/289-98f50bfcf833d661.js +1 -0
- package/.next/static/chunks/3089.9e15df4ffd0fe4e8.js +1 -0
- package/.next/static/chunks/{3217.f728df99ab5da33c.js → 3217.260785c2198d1e9d.js} +1 -1
- package/.next/static/chunks/3392-6dd9ad3be66a7ce9.js +1 -0
- package/.next/static/chunks/3418-a2f5d0c4f29ee2fb.js +1 -0
- package/.next/static/chunks/{3556-3b6f7c99b015b752.js → 3556-b9855146c7506696.js} +1 -1
- package/.next/static/chunks/3827-9e9a6e11ef808d90.js +1 -0
- package/.next/static/chunks/3910.5c6885d7a5bd753e.js +1 -0
- package/.next/static/chunks/3948-1cb8fc7a64805254.js +1 -0
- package/.next/static/chunks/3958-5641a828b320f2fe.js +100 -0
- package/.next/static/chunks/{488-623d07c3fbc21e28.js → 488-7ab54d8ae2b4b550.js} +1 -1
- package/.next/static/chunks/5328-4e556503b70e72b4.js +1 -0
- package/.next/static/chunks/{5512.d01d565f73109a1a.js → 5512.682bef7fd3a7c286.js} +1 -1
- package/.next/static/chunks/6195-8c4c57628e9013d5.js +1 -0
- package/.next/static/chunks/6669-a949326b30ea1d39.js +1 -0
- package/.next/static/chunks/6777-4b0d05731a089de4.js +1 -0
- package/.next/static/chunks/6947-0ff3545efb53e959.js +1 -0
- package/.next/static/chunks/7111-44538f8a64241b74.js +1 -0
- package/.next/static/chunks/7304-e7cd725083617b81.js +8 -0
- package/.next/static/chunks/7445-2802e158c9093556.js +1 -0
- package/.next/static/chunks/795-704a0e742ecc2ef6.js +1 -0
- package/.next/static/chunks/812-3ceea0da38ad2891.js +1 -0
- package/.next/static/chunks/{8345.fbc0af16acce7256.js → 8345.bc5534ec13abc9ee.js} +1 -1
- package/.next/static/chunks/8401-0f39d91810180a88.js +1 -0
- package/.next/static/chunks/{8405.e728bc83a7c9fed6.js → 8405.73e8be2c8e5b55c5.js} +1 -1
- package/.next/static/chunks/8551-a28272acfda62ac9.js +1 -0
- package/.next/static/chunks/8855-02889c9ab4bf0bcf.js +1 -0
- package/.next/static/chunks/{8989-401559d9f3bc80a0.js → 8989-5fa9c7c670eb9a1a.js} +1 -1
- package/.next/static/chunks/{9164-829ab5b085ec06d6.js → 9164-840f056a0e11d979.js} +1 -1
- package/.next/static/chunks/9562-ef0ddd4e6b9023cf.js +1 -0
- package/.next/static/chunks/app/api/approvals/[id]/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/approvals/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/backup/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/browse/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/bugs/enhance/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/cwd/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/encryption/secure/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/env/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/flow/[id]/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/flow/[id]/versions/[versionId]/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/flow/[id]/versions/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/flow/compile/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/flow/generate/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/flow/improve/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/flow/prompt-renderer/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/flow/quick-chat/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/flow/repair/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/flow/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/git/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/init/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/local-models/capability/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/local-models/pull/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/local-models/suggest/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/mcp/app-sandbox/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/mcp/cancel/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/mcp/oauth-capability/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/mcp/test-connection/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/mcp/test-connection/stream/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/mcp-registry/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/mcp-registry/spotlight/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/model/[id]/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/model/provider/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/model/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/model/test/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/oauth/callback/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/oauth/initiate/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/oauth/reset/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/packages/build/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/packages/derive-secrets/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/packages/install/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/packages/install/status/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/packages/installed/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/packages/resolve/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/packages/uninstall/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/[id]/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/[id]/run/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/reconcile/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/registry/auth/resend/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/registry/auth/reset/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/registry/auth/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/registry/oauth/callback/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/registry/oauth/initiate/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/registry/publish/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/registry/settings/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/restore/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/runs/active/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/storage/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/update/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/waves/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/api/webhooks/[id]/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/chat/page-c39160ddf90bbae9.js +1 -0
- package/.next/static/chunks/app/docs/page-250523af44e96120.js +1 -0
- package/.next/static/chunks/app/executions/page-10d09f36de30939f.js +1 -0
- package/.next/static/chunks/app/flows/page-0d8fb471adfc2981.js +1 -0
- package/.next/static/chunks/app/layout-eea7078d7553c21a.js +1 -0
- package/.next/static/chunks/app/mcp/page-8ad71bf5801bfe5f.js +1 -0
- package/.next/static/chunks/app/mcp-flows/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/mcp-proxy/[server]/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/models/page-17e8e6668f92f58d.js +1 -0
- package/.next/static/chunks/app/packages/page-9f61751e98134f3d.js +1 -0
- package/.next/static/chunks/app/{page-0a95c40a65dbd2eb.js → page-d3ea90b065b95d1e.js} +1 -1
- package/.next/static/chunks/app/settings/page-afbf8790e99fecaf.js +1 -0
- package/.next/static/chunks/app/v1/chat/completions/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/resources/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/v1/chat/events/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/v1/models/route-c745e5b53b81491a.js +1 -0
- package/.next/static/chunks/app/waves/page-97ad6b51c9cae4b3.js +1 -0
- package/.next/static/chunks/webpack-0d4a4e773990ac44.js +1 -0
- package/.next/static/css/{64cb1f185b52a623.css → 69ab44eb350e0b6c.css} +1 -1
- package/.next/trace +10 -10
- package/.next/types/app/api/flow/[id]/versions/[versionId]/route.ts +347 -0
- package/.next/types/app/api/flow/[id]/versions/route.ts +347 -0
- package/.next/types/app/api/mcp/app-sandbox/route.ts +347 -0
- package/.next/types/app/api/mcp/oauth-capability/route.ts +347 -0
- package/.next/types/app/api/packages/build/route.ts +347 -0
- package/.next/types/app/api/packages/derive-secrets/route.ts +347 -0
- package/.next/types/app/api/packages/install/route.ts +347 -0
- package/.next/types/app/api/packages/install/status/route.ts +347 -0
- package/.next/types/app/api/packages/installed/route.ts +347 -0
- package/.next/types/app/api/packages/resolve/route.ts +347 -0
- package/.next/types/app/api/packages/uninstall/route.ts +347 -0
- package/.next/types/app/api/registry/auth/resend/route.ts +347 -0
- package/.next/types/app/api/registry/auth/reset/route.ts +347 -0
- package/.next/types/app/api/registry/auth/route.ts +347 -0
- package/.next/types/app/api/registry/oauth/callback/route.ts +347 -0
- package/.next/types/app/api/registry/oauth/initiate/route.ts +347 -0
- package/.next/types/app/api/registry/publish/route.ts +347 -0
- package/.next/types/app/api/registry/settings/route.ts +347 -0
- package/.next/types/app/packages/page.ts +84 -0
- package/.next/types/app/v1/chat/events/route.ts +347 -0
- package/.next/types/routes.d.ts +22 -2
- package/.next/types/validator.ts +180 -0
- package/README.md +1 -1
- package/package.json +97 -90
- package/.next/server/chunks/1152.js +0 -2
- package/.next/server/chunks/1223.js +0 -1
- package/.next/server/chunks/1377.js +0 -1
- package/.next/server/chunks/2373.js +0 -1
- package/.next/server/chunks/289.js +0 -1
- package/.next/server/chunks/3774.js +0 -6
- package/.next/server/chunks/3823.js +0 -41
- package/.next/server/chunks/3855.js +0 -1
- package/.next/server/chunks/3924.js +0 -52
- package/.next/server/chunks/4372.js +0 -1
- package/.next/server/chunks/4545.js +0 -21
- package/.next/server/chunks/4561.js +0 -65
- package/.next/server/chunks/4677.js +0 -37
- package/.next/server/chunks/472.js +0 -1
- package/.next/server/chunks/4793.js +0 -2
- package/.next/server/chunks/4836.js +0 -1
- package/.next/server/chunks/5311.js +0 -1
- package/.next/server/chunks/5662.js +0 -2
- package/.next/server/chunks/5734.js +0 -60
- package/.next/server/chunks/584.js +0 -1
- package/.next/server/chunks/62.js +0 -1
- package/.next/server/chunks/6240.js +0 -1
- package/.next/server/chunks/6306.js +0 -1
- package/.next/server/chunks/6793.js +0 -1
- package/.next/server/chunks/6908.js +0 -12
- package/.next/server/chunks/6996.js +0 -62
- package/.next/server/chunks/7362.js +0 -158
- package/.next/server/chunks/8216.js +0 -1
- package/.next/server/chunks/856.js +0 -5
- package/.next/server/chunks/8652.js +0 -42
- package/.next/server/chunks/9427.js +0 -1
- package/.next/static/Il6IDWxf3CN0dv-P6QQrp/_buildManifest.js +0 -1
- package/.next/static/chunks/1675-773454288de4309d.js +0 -1
- package/.next/static/chunks/1731-6e45fb529f9044a3.js +0 -1
- package/.next/static/chunks/2318-76fcb6c769b1a569.js +0 -1
- package/.next/static/chunks/2566-6e2b9d9349814789.js +0 -1
- package/.next/static/chunks/2734-59fbe2f62a59df86.js +0 -1
- package/.next/static/chunks/3089.6b4e21e1faa304e2.js +0 -1
- package/.next/static/chunks/3109-11bdec9bdfd996c3.js +0 -1
- package/.next/static/chunks/333-5f3c5be57c80c48c.js +0 -1
- package/.next/static/chunks/3333-b7b3e5758a568013.js +0 -1
- package/.next/static/chunks/4003-3b3768446ae333df.js +0 -1
- package/.next/static/chunks/4635-0fe310d3be64e71e.js +0 -1
- package/.next/static/chunks/4690-ec7d397cfacedac3.js +0 -1
- package/.next/static/chunks/4775-cb9c0be621363a08.js +0 -8
- package/.next/static/chunks/5336-81da1080de29ebfc.js +0 -1
- package/.next/static/chunks/6691-117567b2b40cd9f4.js +0 -1
- package/.next/static/chunks/7274-1184563607f2b5f5.js +0 -1
- package/.next/static/chunks/812-624e93f4c0f671c7.js +0 -1
- package/.next/static/chunks/8166-e75acdc559b34fcd.js +0 -1
- package/.next/static/chunks/8607-5787e42775fc3acb.js +0 -1
- package/.next/static/chunks/8610-660d5088bc1dd7a7.js +0 -1
- package/.next/static/chunks/9240-d0a51f4d504f34b1.js +0 -1
- package/.next/static/chunks/9562-b7922ceb400ec536.js +0 -1
- package/.next/static/chunks/9704-6b7415964d7c042a.js +0 -1
- package/.next/static/chunks/app/api/approvals/[id]/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/approvals/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/backup/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/browse/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/bugs/enhance/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/cwd/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/encryption/secure/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/env/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/flow/[id]/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/flow/compile/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/flow/generate/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/flow/improve/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/flow/prompt-renderer/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/flow/quick-chat/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/flow/repair/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/flow/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/git/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/init/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/local-models/capability/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/local-models/pull/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/local-models/suggest/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/mcp/cancel/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/mcp/test-connection/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/mcp/test-connection/stream/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/mcp-registry/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/mcp-registry/spotlight/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/model/[id]/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/model/provider/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/model/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/model/test/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/oauth/callback/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/oauth/initiate/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/oauth/reset/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/planned-executions/[id]/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/planned-executions/[id]/run/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/planned-executions/reconcile/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/planned-executions/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/restore/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/runs/active/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/storage/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/update/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/waves/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/api/webhooks/[id]/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/chat/page-04ad1fad78048afb.js +0 -1
- package/.next/static/chunks/app/docs/page-5475c616764dbb18.js +0 -1
- package/.next/static/chunks/app/executions/page-c18708ed96d228ec.js +0 -1
- package/.next/static/chunks/app/flows/page-f7e44aa545bcc56e.js +0 -1
- package/.next/static/chunks/app/layout-e6fbae80e0f456a6.js +0 -1
- package/.next/static/chunks/app/mcp/page-3638fbee04a3a6ea.js +0 -1
- package/.next/static/chunks/app/mcp-flows/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/mcp-proxy/[server]/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/models/page-e690a986047b1e62.js +0 -1
- package/.next/static/chunks/app/settings/page-3ef9b95187e18a5a.js +0 -1
- package/.next/static/chunks/app/v1/chat/completions/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/resources/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/v1/models/route-6b442f97c5062f2c.js +0 -1
- package/.next/static/chunks/app/waves/page-c9a307e2236423a4.js +0 -1
- package/.next/static/chunks/webpack-a6844e1074885c2f.js +0 -1
- /package/.next/static/{Il6IDWxf3CN0dv-P6QQrp → Q6ITx_bZyoEOnKdZu_C7j}/_ssgManifest.js +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
exports.id=
|
|
2
|
-
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(b,"D",{enumerable:!0,get:function(){return c}})},53119:(a,b,c)=>{"use strict";c.d(b,{x:()=>k,m:()=>l});let d=["https://registry.modelcontextprotocol.io/?q=ai.keenable%2Fweb-search","https://registry.modelcontextprotocol.io/v0.1/servers/io.github.mario-andreschak%2Fmcp-abap-adt/versions",{url:"https://registry.modelcontextprotocol.io/v0.1/servers/io.github.microsoft%2Fplaywright-mcp/versions",env:{PLAYWRIGHT_MCP_BROWSER:"msedge"}}];function e(a){return"string"==typeof a?{url:a}:a}var f=c(
|
|
1
|
+
exports.id=9472,exports.ids=[1925,4306,9472],exports.modules={1925:(a,b,c)=>{"use strict";c.d(b,{Hm:()=>f,xc:()=>e});let d=["key","secret","token","password"],e=a=>d.some(b=>a.toLowerCase().includes(b)),f=a=>e(a)||"authorization"===a.trim().toLowerCase()},37426:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"40ec842092ea232b6d4aa599a380d422184da5e1ca":()=>d.resolveGlobalVars,"602ea7ca289a8eaa1000fb321a71e292e6c766b6bb":()=>d.G});var d=c(73456)},51669:(a,b)=>{"use strict";function c(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
|
|
2
|
+
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(b,"D",{enumerable:!0,get:function(){return c}})},53119:(a,b,c)=>{"use strict";c.d(b,{x:()=>k,m:()=>l});let d=["https://registry.modelcontextprotocol.io/?q=ai.keenable%2Fweb-search","https://registry.modelcontextprotocol.io/v0.1/servers/io.github.mario-andreschak%2Fmcp-abap-adt/versions",{url:"https://registry.modelcontextprotocol.io/v0.1/servers/io.github.microsoft%2Fplaywright-mcp/versions",env:{PLAYWRIGHT_MCP_BROWSER:"msedge"}}];function e(a){return"string"==typeof a?{url:a}:a}var f=c(38844),g=c(92372),h=c(25250),i=c(8665);let j=(0,c(50846).h)("backend/services/spotlight");async function k(){return(0,g.YM)(f.Z.SPOTLIGHT_SERVERS,null)}function l(){return global.__flujo_spotlight_refresh||(global.__flujo_spotlight_refresh=m().finally(()=>{global.__flujo_spotlight_refresh=void 0})),global.__flujo_spotlight_refresh}async function m(){let a=d.map(e);j.info(`Refreshing spotlight servers (${a.length} entries)`);let b=[];for(let c of a){let{url:a,env:d}=c,e=(0,h.XQ)(a);if(!e){j.warn(`Unrecognized spotlight URL format: ${a}`),b.push({url:a,env:d,error:"Unrecognized spotlight URL format"});continue}try{let c=await (0,i.Ws)(new URL(i.jD+e),15e3),f=(0,h.zz)(c);f?b.push({url:a,env:d,result:f}):(j.warn(`Spotlight URL resolved to no server: ${a}`),b.push({url:a,env:d,error:"No matching server found in the registry"}))}catch(e){let c=e instanceof Error?e.message:"Unknown error";j.warn(`Failed to resolve spotlight URL ${a}: ${c}`),b.push({url:a,env:d,error:c})}await new Promise(a=>setTimeout(a,250))}let c={updatedAt:new Date().toISOString(),entries:b},l=await k();if(l){for(let a of c.entries)if(!a.result){let b=l.entries.find(b=>b.url===a.url&&b.result);b?.result&&(a.result=b.result)}}await (0,g.VH)(f.Z.SPOTLIGHT_SERVERS,c);let m=c.entries.filter(a=>a.result).length;return j.info(`Spotlight refresh complete: ${m}/${c.entries.length} entries resolved`),c}},68633:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{decryptActionBoundArgs:function(){return s},encryptActionBoundArgs:function(){return r}}),c(77925);let d=c(97954),e=c(27825),f=c(47686),g=c(77533),h=c(63033),i=c(26906),j=function(a){return a&&a.__esModule?a:{default:a}}(c(74515)),k=new TextEncoder,l=new TextDecoder,m=void 0,n=void 0;async function o(a,b){let c=await (0,g.getActionEncryptionKey)();if(void 0===c)throw Object.defineProperty(Error("Missing encryption key for Server Action. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E65",enumerable:!1,configurable:!0});let d=atob(b),e=d.slice(0,16),f=d.slice(16),h=l.decode(await (0,g.decrypt)(c,(0,g.stringToUint8Array)(e),(0,g.stringToUint8Array)(f)));if(!h.startsWith(a))throw Object.defineProperty(Error("Invalid Server Action payload: failed to decrypt."),"__NEXT_ERROR_CODE",{value:"E191",enumerable:!1,configurable:!0});return h.slice(a.length)}async function p(a,b){let c=await (0,g.getActionEncryptionKey)();if(void 0===c)throw Object.defineProperty(Error("Missing encryption key for Server Action. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E65",enumerable:!1,configurable:!0});let d=new Uint8Array(16);h.workUnitAsyncStorage.exit(()=>crypto.getRandomValues(d));let e=(0,g.arrayBufferToString)(d.buffer),f=await (0,g.encrypt)(c,d,k.encode(a+b));return btoa(e+(0,g.arrayBufferToString)(f))}var q=function(a){return a[a.Ready=0]="Ready",a[a.Pending=1]="Pending",a[a.Complete=2]="Complete",a}(q||{});let r=j.default.cache(async function a(b,...c){let e=h.workUnitAsyncStorage.getStore(),j=e?(0,h.getCacheSignal)(e):void 0,{clientModules:k}=(0,g.getClientReferenceManifestForRsc)(),l=Error();Error.captureStackTrace(l,a);let n=!1,o=e?(0,i.createHangingInputAbortSignal)(e):void 0,q=0;function r(){0===q&&(q=1,null==j||j.beginRead())}function s(){1===q&&(null==j||j.endRead()),q=2}o&&j&&o.addEventListener("abort",r,{once:!0});let t=await (0,f.streamToString)((0,d.renderToReadableStream)(c,k,{filterStackFrame:m,signal:o,onError(a){(null==o||!o.aborted)&&(n||(n=!0,l.message=a instanceof Error?a.message:String(a)))}}),o);if(n)throw s(),l;if(!e)return p(b,t);r();let u=(0,h.getPrerenderResumeDataCache)(e),v=(0,h.getRenderResumeDataCache)(e),w=b+t,x=(null==u?void 0:u.encryptedBoundArgs.get(w))??(null==v?void 0:v.encryptedBoundArgs.get(w));if(x)return x;let y=await p(b,t);return s(),null==u||u.encryptedBoundArgs.set(w,y),y});async function s(a,b){let c,d=await b,f=h.workUnitAsyncStorage.getStore();if(f){let b=(0,h.getCacheSignal)(f),e=(0,h.getPrerenderResumeDataCache)(f),g=(0,h.getRenderResumeDataCache)(f);(c=(null==e?void 0:e.decryptedBoundArgs.get(d))??(null==g?void 0:g.decryptedBoundArgs.get(d)))||(null==b||b.beginRead(),c=await o(a,d),null==b||b.endRead(),null==e||e.decryptedBoundArgs.set(d,c))}else c=await o(a,d);let{edgeRscModuleMapping:i,rscModuleMapping:j}=(0,g.getClientReferenceManifestForRsc)();return await (0,e.createFromReadableStream)(new ReadableStream({start(a){switch(a.enqueue(k.encode(c)),null==f?void 0:f.type){case"prerender":case"prerender-runtime":f.renderSignal.aborted?a.close():f.renderSignal.addEventListener("abort",()=>a.close(),{once:!0});break;case"prerender-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":case void 0:return a.close()}}}),{findSourceMapURL:n,serverConsumerManifest:{moduleLoading:null,moduleMap:j,serverModuleMap:(0,g.getServerModuleMap)()}})}},72937:(a,b,c)=>{"use strict";c.d(b,{H:()=>j,t:()=>m});var d=c(92372),e=c(24463),f=c(53119),g=c(4771),h=c(58739);let i=(0,c(50846).h)("backend/init");function j(){return global.__flujo_init_promise||(global.__flujo_init_promise=k().catch(a=>{throw global.__flujo_init_promise=void 0,a})),global.__flujo_init_promise}async function k(){if(await (0,d.Pv)(),(0,f.m)().catch(a=>i.warn("Spotlight refresh failed at startup:",a)),await (0,h.isEncryptionLocked)())return void i.info("Encryption locked — deferring MCP/scheduler startup until unlock");await l()}function l(){return global.__flujo_secret_services_promise||(global.__flujo_secret_services_promise=(async()=>{i.info("Initializing MCP servers"),await e.mcpService.startEnabledServers().catch(a=>{i.error("Failed to start enabled servers:",a)}),await (0,g.getSchedulerService)().start().catch(a=>i.error("Failed to start scheduler:",a))})()),global.__flujo_secret_services_promise}async function m(){await (0,h.isUserEncryptionEnabled)()&&(i.info("Encryption unlocked — starting deferred MCP/scheduler startup"),await l())}},73456:(a,b,c)=>{"use strict";c.d(b,{G:()=>l,resolveGlobalVars:()=>k});var d=c(75879);c(68633);var e=c(50846),f=c(92372),g=c(38844),h=c(58739),i=c(51669);let j=(0,e.h)("backend/utils/resolveGlobalVars");async function k(a){j.debug("Entering resolveGlobalVars method");let b=await (0,f.YM)(g.Z.GLOBAL_ENV_VARS,{}),c=function(a){if(!a||"object"!=typeof a)return!1;let b=Object.keys(a);if(0===b.length)return!0;let c=a[b[0]];return c&&"object"==typeof c&&"value"in c&&"metadata"in c&&"object"==typeof c.metadata&&"isSecret"in c.metadata}(b);j.debug(`Loaded ${Object.keys(b).length} global environment variables (${c?"new":"old"} format)`);let d={};if(c)for(let[a,c]of Object.entries(b))d[a]=c.value;else d={...b};let e=async a=>{let b=a.match(/\$\{global:([^}]+)\}/g);if(!b)return a;let c=a;for(let a of b){let b=a.substring(9,a.length-1);if(void 0!==d[b]){let e=d[b];if(e.startsWith("encrypted:")){j.debug(`Decrypting encrypted global variable: ${b}`);try{let a=e.substring(10),c=await (0,h.decryptWithPassword)(a);if(c)e=c,j.debug(`Successfully decrypted global variable: ${b}`);else{j.warn(`Failed to decrypt global variable: ${b}`);continue}}catch(a){j.error(`Error decrypting global variable: ${b}`,a);continue}}else if(e.startsWith("encrypted_failed:")){j.warn(`Skipping failed encrypted global variable: ${b}`);continue}j.debug(`Resolved global variable: ${b}`),c=c.replace(a,e)}else j.warn(`Global variable not found: ${b}`)}return c},i=async a=>{if("string"==typeof a)return await e(a);if(Array.isArray(a))return await Promise.all(a.map(a=>i(a)));if(null!==a&&"object"==typeof a){let b={};for(let[c,d]of Object.entries(a))b[c]=await i(d);return b}return a},k=await i(a);return"object"==typeof a&&null!==a&&j.debug("Resolved global variables result:",JSON.stringify(k,null,2)),j.debug("Completed global variable resolution"),k}async function l(a,b=0){if(j.debug(`Entering resolveAndDecryptApiKey method (depth: ${b})`),!a)return j.warn("Empty value provided"),null;if(b>=10)return j.warn(`Maximum resolution depth reached (10) for value: ${a}`),a;let c=a;if(c.startsWith("encrypted:")){j.debug(`Decrypting encrypted value at depth ${b}`);try{let a=c.substring(10),d=await (0,h.decryptWithPassword)(a);if(!d)return j.warn(`Failed to decrypt value at depth ${b}`),null;j.debug(`Successfully decrypted value at depth ${b}`),j.verbose(d),c=d}catch(a){return j.error(`Error decrypting value at depth ${b}:`,a),null}}else c.startsWith("encrypted_failed:")&&(j.warn(`Skipping failed encrypted value at depth ${b}`),c=c.substring(17));if(c.includes("${global:")){j.debug(`Resolving global variables at depth ${b}`);try{let a=await k(c);if(j.verbose(a),a!==c)return j.debug(`Value changed after resolving globals at depth ${b}, processing recursively`),l(a,b+1);c=a}catch(a){return j.error(`Error resolving global variables at depth ${b}:`,a),null}}return j.debug(`Completed resolveAndDecryptApiKey at depth ${b}`),c}(0,i.D)([k,l]),(0,d.A)(k,"40ec842092ea232b6d4aa599a380d422184da5e1ca",null),(0,d.A)(l,"602ea7ca289a8eaa1000fb321a71e292e6c766b6bb",null)},75879:(a,b,c)=>{"use strict";Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(97954)},78335:()=>{},96487:()=>{}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=9583,exports.ids=[9583],exports.modules={38313:(a,b,c)=>{c.d(b,{A:()=>g,f:()=>f});var d=c(29565),e=c(33105);function f(a){return(0,e.Ay)("MuiListItemIcon",a)}let g=(0,d.A)("MuiListItemIcon",["root","alignItemsFlexStart"])},50553:(a,b,c)=>{c.d(b,{A:()=>n});var d=c(38301),e=c(43249),f=c(2783),g=c(18168),h=c(68333),i=c(6636),j=c(38313),k=c(55470),l=c(21124);let m=(0,g.Ay)("div",{name:"MuiListItemIcon",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.root,"flex-start"===c.alignItems&&b.alignItemsFlexStart]}})((0,h.A)(({theme:a})=>({minWidth:56,color:(a.vars||a).palette.action.active,flexShrink:0,display:"inline-flex",variants:[{props:{alignItems:"flex-start"},style:{marginTop:8}}]}))),n=d.forwardRef(function(a,b){let c=(0,i.b)({props:a,name:"MuiListItemIcon"}),{className:g,...h}=c,n=d.useContext(k.A),o={...c,alignItems:n.alignItems},p=(a=>{let{alignItems:b,classes:c}=a;return(0,f.A)({root:["root","flex-start"===b&&"alignItemsFlexStart"]},j.f,c)})(o);return(0,l.jsx)(m,{className:(0,e.A)(p.root,g),ownerState:o,ref:b,...h})})},76345:(a,b,c)=>{c.d(b,{A:()=>g,b:()=>f});var d=c(29565),e=c(33105);function f(a){return(0,e.Ay)("MuiListItemText",a)}let g=(0,d.A)("MuiListItemText",["root","multiline","dense","inset","primary","secondary"])},84233:(a,b,c)=>{c.d(b,{A:()=>p});var d=c(38301),e=c(43249),f=c(2783),g=c(29071),h=c(79515),i=c(55470),j=c(18168),k=c(6636),l=c(76345),m=c(20385),n=c(21124);let o=(0,j.Ay)("div",{name:"MuiListItemText",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[{[`& .${l.A.primary}`]:b.primary},{[`& .${l.A.secondary}`]:b.secondary},b.root,c.inset&&b.inset,c.primary&&c.secondary&&b.multiline,c.dense&&b.dense]}})({flex:"1 1 auto",minWidth:0,marginTop:4,marginBottom:4,[`.${g.A.root}:where(& .${l.A.primary})`]:{display:"block"},[`.${g.A.root}:where(& .${l.A.secondary})`]:{display:"block"},variants:[{props:({ownerState:a})=>a.primary&&a.secondary,style:{marginTop:6,marginBottom:6}},{props:({ownerState:a})=>a.inset,style:{paddingLeft:56}}]}),p=d.forwardRef(function(a,b){let c=(0,k.b)({props:a,name:"MuiListItemText"}),{children:g,className:j,disableTypography:p=!1,inset:q=!1,primary:r,primaryTypographyProps:s,secondary:t,secondaryTypographyProps:u,slots:v={},slotProps:w={},...x}=c,{dense:y}=d.useContext(i.A),z=null!=r?r:g,A=t,B={...c,disableTypography:p,inset:q,primary:!!z,secondary:!!A,dense:y},C=(a=>{let{classes:b,inset:c,primary:d,secondary:e,dense:g}=a;return(0,f.A)({root:["root",c&&"inset",g&&"dense",d&&e&&"multiline"],primary:["primary"],secondary:["secondary"]},l.b,b)})(B),D={slots:v,slotProps:{primary:s,secondary:u,...w}},[E,F]=(0,m.A)("root",{className:(0,e.A)(C.root,j),elementType:o,externalForwardedProps:{...D,...x},ownerState:B,ref:b}),[G,H]=(0,m.A)("primary",{className:C.primary,elementType:h.default,externalForwardedProps:D,ownerState:B}),[I,J]=(0,m.A)("secondary",{className:C.secondary,elementType:h.default,externalForwardedProps:D,ownerState:B});return null==z||z.type===h.default||p||(z=(0,n.jsx)(G,{variant:y?"body2":"body1",component:H?.variant?void 0:"span",...H,children:z})),null==A||A.type===h.default||p||(A=(0,n.jsx)(I,{variant:"body2",color:"textSecondary",...J,children:A})),(0,n.jsxs)(E,{...F,children:[z,A]})})},94367:(a,b,c)=>{c.d(b,{A:()=>y});var d=c(38301),e=c(43249),f=c(2783),g=c(37489),h=c(41126),i=c(18168),j=c(68333),k=c(6636),l=c(55470),m=c(14328),n=c(14758),o=c(26636),p=c(93895),q=c(38313),r=c(76345),s=c(29565),t=c(33105);function u(a){return(0,t.Ay)("MuiMenuItem",a)}let v=(0,s.A)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]);var w=c(21124);let x=(0,i.Ay)(m.A,{shouldForwardProp:a=>(0,h.A)(a)||"classes"===a,name:"MuiMenuItem",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.root,c.dense&&b.dense,c.divider&&b.divider,!c.disableGutters&&b.gutters]}})((0,j.A)(({theme:a})=>({...a.typography.body1,display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap","&:hover":{textDecoration:"none",backgroundColor:(a.vars||a).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${v.selected}`]:{backgroundColor:a.vars?`rgba(${a.vars.palette.primary.mainChannel} / ${a.vars.palette.action.selectedOpacity})`:(0,g.X4)(a.palette.primary.main,a.palette.action.selectedOpacity),[`&.${v.focusVisible}`]:{backgroundColor:a.vars?`rgba(${a.vars.palette.primary.mainChannel} / calc(${a.vars.palette.action.selectedOpacity} + ${a.vars.palette.action.focusOpacity}))`:(0,g.X4)(a.palette.primary.main,a.palette.action.selectedOpacity+a.palette.action.focusOpacity)}},[`&.${v.selected}:hover`]:{backgroundColor:a.vars?`rgba(${a.vars.palette.primary.mainChannel} / calc(${a.vars.palette.action.selectedOpacity} + ${a.vars.palette.action.hoverOpacity}))`:(0,g.X4)(a.palette.primary.main,a.palette.action.selectedOpacity+a.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:a.vars?`rgba(${a.vars.palette.primary.mainChannel} / ${a.vars.palette.action.selectedOpacity})`:(0,g.X4)(a.palette.primary.main,a.palette.action.selectedOpacity)}},[`&.${v.focusVisible}`]:{backgroundColor:(a.vars||a).palette.action.focus},[`&.${v.disabled}`]:{opacity:(a.vars||a).palette.action.disabledOpacity},[`& + .${p.A.root}`]:{marginTop:a.spacing(1),marginBottom:a.spacing(1)},[`& + .${p.A.inset}`]:{marginLeft:52},[`& .${r.A.root}`]:{marginTop:0,marginBottom:0},[`& .${r.A.inset}`]:{paddingLeft:36},[`& .${q.A.root}`]:{minWidth:36},variants:[{props:({ownerState:a})=>!a.disableGutters,style:{paddingLeft:16,paddingRight:16}},{props:({ownerState:a})=>a.divider,style:{borderBottom:`1px solid ${(a.vars||a).palette.divider}`,backgroundClip:"padding-box"}},{props:({ownerState:a})=>!a.dense,style:{[a.breakpoints.up("sm")]:{minHeight:"auto"}}},{props:({ownerState:a})=>a.dense,style:{minHeight:32,paddingTop:4,paddingBottom:4,...a.typography.body2,[`& .${q.A.root} svg`]:{fontSize:"1.25rem"}}}]}))),y=d.forwardRef(function(a,b){let c,g=(0,k.b)({props:a,name:"MuiMenuItem"}),{autoFocus:h=!1,component:i="li",dense:j=!1,divider:m=!1,disableGutters:p=!1,focusVisibleClassName:q,role:r="menuitem",tabIndex:s,className:t,...v}=g,y=d.useContext(l.A),z=d.useMemo(()=>({dense:j||y.dense||!1,disableGutters:p}),[y.dense,j,p]),A=d.useRef(null);(0,n.A)(()=>{h&&A.current&&A.current.focus()},[h]);let B={...g,dense:z.dense,divider:m,disableGutters:p},C=(a=>{let{disabled:b,dense:c,divider:d,disableGutters:e,selected:g,classes:h}=a,i=(0,f.A)({root:["root",c&&"dense",b&&"disabled",!e&&"gutters",d&&"divider",g&&"selected"]},u,h);return{...h,...i}})(g),D=(0,o.A)(A,b);return g.disabled||(c=void 0!==s?s:-1),(0,w.jsx)(l.A.Provider,{value:z,children:(0,w.jsx)(x,{ref:D,role:r,tabIndex:c,component:i,focusVisibleClassName:(0,e.A)(C.focusVisible,q),className:(0,e.A)(C.root,t),...v,ownerState:B,classes:C})})})}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=9671,exports.ids=[9671],exports.modules={24856:(a,b,c)=>{c.d(b,{pX:()=>d});function d(a,b,c,d){let e=`${a.type}-bottom`,f=`${b.type}-top`;return{id:`${a.id}:${e}->${b.id}:${f}`,source:a.id,sourceHandle:e,target:b.id,targetHandle:f,type:"custom",data:{edgeType:"standard",...c?{bidirectional:!0}:{},...d?{condition:d}:{}},animated:!0}}},29237:(a,b,c)=>{c.d(b,{C:()=>f,L2:()=>e,P2:()=>h,w4:()=>d,wM:()=>g});let d=["contains","regex","equals","always"],e=["last-assistant","last-message"];function f(a){return"string"==typeof a&&d.includes(a)}function g(a){try{return new RegExp(a),!0}catch{return!1}}function h(a){if(!a||!f(a.kind))return"";let b=a.negate?"!":"";if("always"===a.kind)return`${b}always`;let c=a.ignoreCase?" i":"",d="string"==typeof a.value?a.value:"",e=d.length>8?`${d.slice(0,8)}…`:d,g="regex"===a.kind?`/${e}/`:`"${e}"`;return`${b}${a.kind}:${g}${c}`}},31164:(a,b,c)=>{c.d(b,{jY:()=>f,oY:()=>g,sZ:()=>h});var d=c(21124);c(38301);var e=c(97004);let f=a=>(0,d.jsx)(e.A,{...a,variant:"standard"}),g=a=>(0,d.jsx)(e.A,{...a,variant:"mcp"}),h=a=>(0,d.jsx)(e.A,{...a,variant:"resource"})},36627:(a,b,c)=>{function d(a){return!!a&&a.includes("mcp")}function e(a){return!!a&&a.includes("resource")}function f(a){let b=a?.data?.edgeType;return"mcp"===b||"resource"===b}function g(a,b,c,f){if("start"===c)return"Start nodes cannot have incoming connections";if("finish"===a)return"Finish nodes cannot have outgoing connections";if("mcp"===a||"mcp"===c||d(b)||d(f))return("mcp"!==a||"process"!==c)&&("process"!==a||"mcp"!==c)?"MCP connections must link an MCP node to a Process node via MCP handles":"process"!==a||d(b)?null:"Connect MCP nodes from the Process node's left/right MCP handles";if("resource"===a||"resource"===c||e(b)||e(f)){if(("resource"!==a||"process"!==c)&&("process"!==a||"resource"!==c))return"Resource connections must link a Resource node to a Process node via resource handles";if("process"===a&&!e(b))return"Connect Resource nodes from the Process node's left/right resource handles"}return null}function h(a,b){return"resource"===a?"resource-in":"process"===a&&e(b)?"process-left-resource":"process"===a&&d(b)?"process-left-mcp":`${a}-top`}function i(a,b){let c=["process","finish","mcp","subflow","resource","signal"];return a&&b?c.filter(c=>null===g(a,b,c,h(c,b))):c}c.d(b,{BY:()=>f,CW:()=>h,_w:()=>i,vC:()=>g,vM:()=>e,z5:()=>d})},57361:(a,b,c)=>{c.d(b,{Ay:()=>Y,nd:()=>U,c_:()=>T});var d=c(21124),e=c(38301),f=c(6537),g=c(81637),h=c(79515),i=c(95791),j=c(46973),k=c(60839),l=c(18168),m=c(2117),n=c(63281),o=c(8070),p=c(94367),q=c(50553),r=c(84233),s=c(91059),t=c(7118),u=c(91034),v=c(38941),w=c(95345),x=c(12033),y=c(1010);let z=({open:a,position:b,onClose:c,onDelete:e,onEditProperties:f,onToggleBidirectional:g,onCopy:h,onPaste:i,canPaste:j,canCopy:k,nodeId:l,selection:m,edgeId:n})=>{let o=()=>{f&&f(),c()},z=[];return l&&!m&&z.push((0,d.jsxs)(p.A,{onClick:o,children:[(0,d.jsx)(q.A,{children:(0,d.jsx)(x.A,{fontSize:"small"})}),(0,d.jsx)(r.A,{children:"Edit Properties"})]},"edit")),n&&!l&&!m&&(f&&z.push((0,d.jsxs)(p.A,{onClick:o,children:[(0,d.jsx)(q.A,{children:(0,d.jsx)(x.A,{fontSize:"small"})}),(0,d.jsx)(r.A,{children:"Edit Properties"})]},"edge-edit")),g&&z.push((0,d.jsxs)(p.A,{onClick:()=>{g&&g(),c()},children:[(0,d.jsx)(q.A,{children:(0,d.jsx)(y.A,{fontSize:"small"})}),(0,d.jsx)(r.A,{children:"Toggle Bidirectional"})]},"edge-bidirectional"))),h&&(l||m)&&z.push((0,d.jsxs)(p.A,{onClick:()=>{h&&h(),c()},disabled:!k,children:[(0,d.jsx)(q.A,{children:(0,d.jsx)(v.A,{fontSize:"small"})}),(0,d.jsx)(r.A,{children:"Copy"})]},"copy")),i&&z.push((0,d.jsxs)(p.A,{onClick:()=>{i&&i(),c()},disabled:!j,children:[(0,d.jsx)(q.A,{children:(0,d.jsx)(w.A,{fontSize:"small"})}),(0,d.jsx)(r.A,{children:"Paste"})]},"paste")),(l||n||m)&&z.push((0,d.jsx)(s.A,{},"delete-divider"),(0,d.jsxs)(p.A,{onClick:()=>{e(),c()},sx:{color:"error.main"},children:[(0,d.jsx)(q.A,{sx:{color:"error.main"},children:(0,d.jsx)(u.A,{fontSize:"small"})}),(0,d.jsx)(r.A,{children:"Delete"})]},"delete")),(0,d.jsx)(t.A,{open:a,onClose:c,anchorReference:"anchorPosition",anchorPosition:null!==b.y&&null!==b.x?{top:b.y,left:b.x}:void 0,children:z})};var A=c(31164),B=c(97004);function C(a,b){return b.find(b=>b.id===a)}var D=c(19815);let E=(0,D.h)("components/flow/FlowBuilder/Canvas/hooks/useCanvasEvents.ts");var F=c(90430),G=c(36627),H=c(68730),I=c(43312),J=c(34229),K=c(48440),L=c(1618);let M=(0,l.Ay)(H.A)(({theme:a})=>({minWidth:"36px",padding:"6px",margin:"0 4px",backgroundColor:"dark"===a.palette.mode?"rgba(255, 255, 255, 0.05)":"rgba(0, 0, 0, 0.02)","&:hover":{backgroundColor:"dark"===a.palette.mode?"rgba(255, 255, 255, 0.1)":"rgba(0, 0, 0, 0.05)"}})),N=()=>{let{zoomIn:a,zoomOut:b,fitView:c}=(0,i.VH)();return(0,d.jsx)(i.Zk,{position:"top-right",style:{margin:"10px"},children:(0,d.jsxs)("div",{style:{display:"flex",gap:"5px"},children:[(0,d.jsx)(I.A,{title:"Zoom In",children:(0,d.jsx)(M,{variant:"outlined",size:"small",onClick:()=>a(),children:(0,d.jsx)(J.A,{fontSize:"small"})})}),(0,d.jsx)(I.A,{title:"Zoom Out",children:(0,d.jsx)(M,{variant:"outlined",size:"small",onClick:()=>b(),children:(0,d.jsx)(K.A,{fontSize:"small"})})}),(0,d.jsx)(I.A,{title:"Fit View",children:(0,d.jsx)(M,{variant:"outlined",size:"small",onClick:()=>c(),children:(0,d.jsx)(L.A,{fontSize:"small"})})})]})})},O=({showMiniMap:a=!0,showControls:b=!0,showBackground:c=!0})=>{let e=(0,k.A)(),f="dark"===e.palette.mode;return(0,d.jsxs)(d.Fragment,{children:[c&&(0,d.jsx)(i.VS,{color:f?e.palette.text.disabled:e.palette.divider,gap:20,size:1}),b&&(0,d.jsx)(i.H2,{}),a&&(0,d.jsx)(i.of,{nodeColor:f?e.palette.primary.dark:e.palette.primary.light,maskColor:f?"rgba(0, 0, 0, 0.4)":"rgba(255, 255, 255, 0.6)"})]})},P=(0,D.h)("components/flow/FlowBuilder/Canvas/Canvas.tsx"),Q="flujo:flowClipboard",R=null;function S(a){R=a;try{localStorage.setItem(Q,JSON.stringify(a))}catch(a){P.warn("Could not persist flow clipboard to localStorage",a)}}let T={start:o.vm,process:o.Uw,finish:o.IK,mcp:o.v2,subflow:o.lA,resource:o.z9,signal:o.z3},U={custom:A.jY,mcpEdge:A.oY,resourceEdge:A.sZ},V=({open:a,position:b,onClose:c,onSelectNodeType:e,sourceNodeType:i,sourceHandleId:j})=>{let l=(0,k.A)(),m=(0,G._w)(i,j);P.debug(`NodeSelectionModal: Source node type: ${i}, Source handle ID: ${j}`),P.debug(`NodeSelectionModal: Valid node types: ${m.join(", ")}`);let n=[{type:"process",label:"Process Node",description:"Let a LLM do your work"},{type:"finish",label:"Finish Node",description:"End your flow here"},{type:"mcp",label:"MCP Node",description:"Add functionality"},{type:"subflow",label:"Subflow Node",description:"Run another flow"},{type:"resource",label:"Resource Node",description:"A data artifact steps read or write"},{type:"signal",label:"Signal Node",description:"Emit an event to trigger another flow"}].filter(a=>m.includes(a.type));return b?(0,d.jsx)(f.A,{open:a,onClose:c,"aria-labelledby":"node-selection-modal",children:(0,d.jsxs)(g.default,{sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:300,bgcolor:"background.paper",borderRadius:2,boxShadow:24,p:4},children:[(0,d.jsx)(h.default,{variant:"h6",component:"h2",gutterBottom:!0,children:"Select Node Type"}),(0,d.jsx)(g.default,{display:"flex",flexDirection:"column",gap:2,children:n.map(a=>(0,d.jsxs)(g.default,{sx:{padding:2,borderRadius:1,border:`2px solid ${"process"===a.type?l.palette.secondary.main:"finish"===a.type?l.palette.success.main:"subflow"===a.type?l.palette.warning.main:"resource"===a.type?o.nH:l.palette.info.main}`,cursor:"pointer","&:hover":{boxShadow:3}},onClick:()=>e(a.type,b),children:[(0,d.jsxs)(g.default,{display:"flex",alignItems:"center",gap:1,mb:1,children:[(a=>{switch(a){case"process":default:return(0,d.jsx)("div",{style:{width:24,height:24,backgroundColor:l.palette.secondary.main,borderRadius:"50%"}});case"finish":return(0,d.jsx)("div",{style:{width:24,height:24,backgroundColor:l.palette.success.main,borderRadius:"50%"}});case"mcp":return(0,d.jsx)("div",{style:{width:24,height:24,backgroundColor:l.palette.info.main,borderRadius:"50%"}});case"subflow":return(0,d.jsx)("div",{style:{width:24,height:24,backgroundColor:l.palette.warning.main,borderRadius:"50%"}});case"resource":return(0,d.jsx)("div",{style:{width:24,height:24,backgroundColor:o.nH,borderRadius:"50%"}});case"signal":return(0,d.jsx)("div",{style:{width:24,height:24,backgroundColor:o.vp,borderRadius:"50%"}})}})(a.type),(0,d.jsx)(h.default,{variant:"subtitle1",fontWeight:"bold",children:a.label})]}),(0,d.jsx)(h.default,{variant:"body2",color:"text.secondary",children:a.description})]},a.type))})]})}):null},W=(0,l.Ay)("div")(({theme:a})=>({width:"100%",height:"80vh",border:`1px solid ${a.palette.divider}`,borderRadius:"4px",background:a.palette.background.paper,position:"relative"})),X=(0,e.forwardRef)((a,b)=>{let c=(0,k.A)(),{nodes:f,edges:g,onNodesChange:h,onEdgesChange:l,onDrop:o,onDragOver:p,onInit:q,reactFlowWrapper:r,onEditNode:s,onEditEdge:t}=a,{contextMenu:u,selectedElements:v,closeContextMenu:w,handleDelete:x,onNodeContextMenu:y,onEdgeContextMenu:A,onPaneContextMenu:D,onSelectionContextMenu:H}=function(a){let{deleteElements:b}=(0,i.VH)(),[c,d]=(0,e.useState)({open:!1,position:{x:0,y:0}}),[f,g]=(0,e.useState)({nodes:[],edges:[]});(0,i.p4)({onChange:({nodes:a,edges:b})=>{let c=a.map(a=>a.id),d=b.map(a=>a.id);E.debug(`Selection changed: ${c.length} nodes, ${d.length} edges selected`),g({nodes:c,edges:d})}});let h=(0,e.useCallback)((a,b,c,e)=>{a.preventDefault(),b?E.debug(`Context menu opened for node: ${b}`):c?E.debug(`Context menu opened for edge: ${c}`):e?E.debug("Context menu opened for the current selection"):E.debug(`Context menu opened on canvas at (${a.clientX}, ${a.clientY})`),d({open:!0,position:{x:a.clientX,y:a.clientY},nodeId:b,edgeId:c,selection:e})},[]),j=(0,e.useCallback)(()=>{E.debug("Context menu closed"),d(a=>({...a,open:!1}))},[]),k=(0,e.useCallback)(()=>{if(c.selection)E.debug("handleDelete: Deleting the current selection"),b({nodes:f.nodes.map(a=>({id:a})),edges:f.edges.map(a=>({id:a}))});else if(c.nodeId){if(E.debug(`handleDelete: Attempting to delete node ${c.nodeId}`),!function(a,b){let c=C(a,b);return!!c&&"start"!==c.type}(c.nodeId,a)){E.warn(`Cannot delete Start node: ${c.nodeId}`),alert("Start nodes cannot be deleted");return}b({nodes:[{id:c.nodeId}]})}else c.edgeId&&(E.debug(`handleDelete: Deleting edge ${c.edgeId}`),b({edges:[{id:c.edgeId}]}))},[c,b,a,f]),l=(0,e.useCallback)((a,b)=>{h(a,b.id)},[h]),m=(0,e.useCallback)((a,b)=>{h(a,void 0,b.id)},[h]),n=(0,e.useCallback)(a=>{h(a)},[h]),o=(0,e.useCallback)(a=>{h(a,void 0,void 0,!0)},[h]);return{contextMenu:c,selectedElements:f,onContextMenu:h,closeContextMenu:j,handleDelete:k,onNodeContextMenu:l,onEdgeContextMenu:m,onPaneContextMenu:n,onSelectionContextMenu:o}}(f),{deleteElements:I}=(0,i.VH)(),J=(0,i.PI)(),K=(0,e.useRef)(null),[L,M]=(0,e.useState)(null),[X,Y]=(0,e.useState)({open:!1,position:null}),Z=(0,e.useCallback)(a=>[...f.filter(a=>a.selected).map(a=>({type:"select",id:a.id,selected:!1})),{type:"add",item:{...a,selected:!0}}],[f]);(0,e.useEffect)(()=>{if(!s)return;let a=a=>{if(a.detail&&a.detail.nodeId){let b=C(a.detail.nodeId,f);b&&s(b)}};return document.addEventListener("editNode",a),()=>{document.removeEventListener("editNode",a)}},[f,s]);let $=(0,e.useCallback)(a=>{if(!a.sourceHandle||!a.targetHandle)return void P.error("Invalid connection: Missing source or target handle",a);let b=J.getState().connection.fromHandle?.type==="target";if(!(0,F.JL)(a,f,g))return;let d=(0,F.wn)(a,f);if(d.data?.edgeType==="standard"){let d=a=>a.data?.edgeType!=="mcp",e=a=>!!a.data?.bidirectional,h=g.find(b=>d(b)&&b.source===a.source&&b.target===a.target),i=g.find(b=>d(b)&&b.source===a.target&&b.target===a.source),k=a=>{P.info(`Merging reverse connection into bidirectional edge ${a.id}`),l([{type:"replace",id:a.id,item:{...a,data:{...a.data,bidirectional:!0},markerStart:{type:j.TG.ArrowClosed,width:20,height:20,color:c.palette.text.secondary}}}])};if(b){let a=h??i;return a?void(!e(a)&&(0,F.y2)(a,f,g)&&k(a)):void P.info("Connection drawn from a top handle is only allowed to convert an existing edge to bidirectional")}if(h&&e(h))return;if(i){!e(i)&&(0,F.y2)(i,f,g)&&k(i);return}}l([...(0,F.Cm)(d,g).map(a=>({type:"remove",id:a})),{type:"add",item:d}])},[f,g,l,J,c.palette.text.secondary]),_=(0,e.useCallback)(a=>(0,F.p9)(a,f,g),[f,g]);(0,e.useEffect)(()=>{let a=a=>{let{edgeId:b,waypoints:c}=a.detail,d=g.find(a=>a.id===b);if(!d)return;let{waypoint:e,...f}=d.data??{};l([{type:"replace",id:b,item:{...d,data:{...f,waypoints:c??void 0}}}])};return document.addEventListener(B.R,a),()=>document.removeEventListener(B.R,a)},[g,l]);let aa=(0,e.useCallback)(async({nodes:a,edges:b})=>{let c=a.filter(a=>"start"!==a.type),d=new Set(c.map(a=>a.id)),e=new Set(a.map(a=>a.id)),f=b.filter(a=>!!(a.selected||d.has(a.source)||d.has(a.target))||!(e.has(a.source)||e.has(a.target)));return(0!==c.length||0!==f.length)&&{nodes:c,edges:f}},[]),ab=(0,e.useCallback)(a=>{M(a),q&&q(a)},[q]);(0,e.useEffect)(()=>{let a=a=>{if(!a.detail||!L)return;let{nodeType:b,position:c}=a.detail,d=n.g.createNode(b,c);h(Z(d)),s&&s(d)};return document.addEventListener("addNodeFromPalette",a),()=>{document.removeEventListener("addNodeFromPalette",a)}},[L,h,Z,s]);let ac=(0,e.useCallback)(()=>{if(u.nodeId&&s){let a=C(u.nodeId,f);a&&s(a)}else if(u.edgeId&&t){let a=g.find(a=>a.id===u.edgeId);a&&t(a)}},[u.nodeId,u.edgeId,f,g,s,t]),ad=(0,e.useCallback)(()=>{let a;if(!u.edgeId)return;let b=g.find(a=>a.id===u.edgeId);if(!b)return;if(b.data?.edgeType!=="standard")return void P.debug(`Toggle bidirectional ignored for non-standard edge ${b.id}`);let d=!!b.data?.bidirectional;if(!d&&!(0,F.y2)(b,f,g))return void P.info(`Edge ${b.id} cannot be made bidirectional (reverse direction is not a legal connection)`);let e={...b.data??{},bidirectional:!d};if(d){let{markerStart:c,...d}=b;a={...d,data:e}}else a={...b,data:e,markerStart:{type:j.TG.ArrowClosed,width:20,height:20,color:c.palette.text.secondary}};l([{type:"replace",id:b.id,item:a}])},[u.edgeId,g,f,l,c.palette.text.secondary]),ae=(0,e.useCallback)((a,b)=>{a.preventDefault(),s&&s(b)},[s]),af=(0,e.useCallback)((a,b)=>{let{fromNode:c,fromHandle:d,toHandle:e}=b;if(!c||!d?.id||!L)return void P.debug("onConnectEnd: No valid connection start data");P.debug(`onConnectEnd: Connection ended from node ${c.id}, handle ${d.id}`);let f="subflow"===c.type&&g.some(a=>{let b=a.data;return b?.edgeType!=="mcp"&&b?.edgeType!=="resource"&&(a.source===c.id||a.target===c.id&&!!b?.bidirectional)}),h=!!a.target?.closest?.(".react-flow__pane");if(!function(a){let{fromNodeType:b,fromHandleType:c,fromHandleId:d,landedOnHandle:e,droppedOnPane:f,subflowHasOutgoing:g}=a;return!e&&!!f&&!!d&&("target"!==c||!!(0,G.z5)(d))&&("subflow"!==b||"source"!==c||!g)}({fromNodeType:c.type,fromHandleType:d.type,fromHandleId:d.id,landedOnHandle:!!e,droppedOnPane:h,subflowHasOutgoing:f}))return;let i=a instanceof MouseEvent?a:a.changedTouches[0],j=L.screenToFlowPosition({x:i.clientX,y:i.clientY});P.debug(`onConnectEnd: Connection dropped on pane at position (${j.x}, ${j.y})`),Y({open:!0,position:j,sourceNodeId:c.id,sourceNodeType:c.type,sourceHandleId:d.id})},[L,g]),ag=(0,e.useCallback)((a,b)=>{P.debug(`handleNodeTypeSelection: Selected node type ${a} at position (${b.x}, ${b.y})`);let c=n.g.createNode(a,b);h(Z(c));let{sourceNodeId:d,sourceHandleId:e}=X,i=d?C(d,f):void 0;if(i&&e){let b=(0,G.CW)(a,e),d={source:i.id,sourceHandle:e,target:c.id,targetHandle:b};if(P.debug(`handleNodeTypeSelection: Creating connection from ${d.source} to ${d.target}`),(0,F.JL)(d,[...f,c],g)){let a=(0,F.wn)(d,[...f,c]);l([...(0,F.Cm)(a,g).map(a=>({type:"remove",id:a})),{type:"add",item:a}]),P.debug(`handleNodeTypeSelection: Edge created with id ${a.id}`)}}Y({open:!1,position:null}),s&&s(c)},[X,f,g,Z,h,l,s]),ah=(0,e.useCallback)(()=>{P.debug("handleCloseNodeSelectionModal: Closing node selection modal"),Y({open:!1,position:null})},[]),ai=(0,e.useCallback)(()=>{let a=new Set(v.nodes),b=f.filter(b=>a.has(b.id)&&"start"!==b.type);if(0===b.length)return!1;let c=new Set(b.map(a=>a.id)),d=g.filter(a=>c.has(a.source)&&c.has(a.target));return S({nodes:JSON.parse(JSON.stringify(b)),edges:JSON.parse(JSON.stringify(d))}),P.debug(`Copied ${b.length} node(s) and ${d.length} edge(s)`),!0},[v,f,g]),aj=(0,e.useCallback)(()=>{let a=R;if(!a)try{let b=localStorage.getItem(Q);b&&(a=JSON.parse(b))}catch(a){P.warn("Could not read flow clipboard from localStorage",a)}if(!a||!a.nodes||0===a.nodes.length)return void P.debug("Paste requested but clipboard is empty");let b=new Map;a.nodes.forEach(a=>b.set(a.id,(0,m.A)()));let c=a.nodes.map(a=>({...a,id:b.get(a.id),position:{x:(a.position?.x??0)+40,y:(a.position?.y??0)+40},selected:!0,data:{...a.data}})),d=(a.edges||[]).filter(a=>b.has(a.source)&&b.has(a.target)).map(a=>({...a,id:(0,m.A)(),source:b.get(a.source),target:b.get(a.target),selected:!1}));h([...f.filter(a=>a.selected).map(a=>({type:"select",id:a.id,selected:!1})),...c.map(a=>({type:"add",item:a}))]),d.length>0&&l(d.map(a=>({type:"add",item:a}))),P.info(`Pasted ${c.length} node(s) and ${d.length} edge(s)`)},[f,h,l]),ak=(0,e.useCallback)(a=>{let b=a.ctrlKey||a.metaKey,c=a.key.toLowerCase();if(b&&"c"===c){ai()&&a.preventDefault();return}if(b&&"x"===c){ai()&&(a.preventDefault(),I({nodes:v.nodes.map(a=>({id:a})),edges:v.edges.map(a=>({id:a}))}));return}if(b&&"v"===c){a.preventDefault(),aj();return}},[ai,aj,I,v]),al=(0,e.useCallback)(()=>{if(u.nodeId&&!v.nodes.includes(u.nodeId)){let a=f.find(a=>a.id===u.nodeId);a&&"start"!==a.type&&(S({nodes:JSON.parse(JSON.stringify([a])),edges:[]}),P.debug("Copied right-clicked node to clipboard"));return}ai()},[u.nodeId,v,f,ai]),am=(0,e.useMemo)(()=>{if(R)return!0;try{return!!localStorage.getItem(Q)}catch{return!1}},[u.open]),an=(0,e.useMemo)(()=>{if(u.selection){let a=new Set(v.nodes);return f.some(b=>a.has(b.id)&&"start"!==b.type)}if(u.nodeId){let a=f.find(a=>a.id===u.nodeId);return!!a&&"start"!==a.type}return!1},[u.selection,u.nodeId,v,f]);return(0,d.jsxs)(W,{ref:a=>{b&&("function"==typeof b?b(a):b.current=a),r&&(r.current=a),K.current=a},children:[(0,d.jsxs)(i.Gc,{nodes:f,edges:g,nodeTypes:T,edgeTypes:U,defaultEdgeOptions:(0,e.useMemo)(()=>({type:"custom",animated:!0,style:{stroke:c.palette.text.secondary,strokeWidth:2},markerEnd:{type:j.TG.ArrowClosed,width:20,height:20,color:c.palette.text.secondary}}),[c.palette.text.secondary]),connectionLineType:j.Do.SmoothStep,connectionMode:j.WZ.Loose,isValidConnection:_,onNodesChange:h,onEdgesChange:l,onConnect:$,onBeforeDelete:aa,deleteKeyCode:["Backspace","Delete"],onDrop:o,onDragOver:p,onInit:ab,onNodeContextMenu:y,onEdgeContextMenu:A,onPaneContextMenu:D,onSelectionContextMenu:H,onKeyDown:ak,onNodeDoubleClick:ae,onConnectEnd:af,tabIndex:0,fitView:!0,attributionPosition:"bottom-right",minZoom:.1,maxZoom:2,snapToGrid:!0,snapGrid:[15,15],connectOnClick:!1,children:[(0,d.jsx)(N,{}),(0,d.jsx)(O,{})]}),(0,d.jsx)(z,{open:u.open,position:u.position,onClose:w,onDelete:x,onEditProperties:ac,onToggleBidirectional:ad,onCopy:al,onPaste:aj,canPaste:am,canCopy:an,nodeId:u.nodeId,selection:u.selection,edgeId:u.edgeId}),(0,d.jsx)(V,{open:X.open,position:X.position,onClose:ah,onSelectNodeType:ag,sourceNodeType:X.sourceNodeType,sourceHandleId:X.sourceHandleId})]})});X.displayName="Canvas";let Y=X},74855:(a,b,c)=>{c.d(b,{MG:()=>e,Ud:()=>f});var d=c(46973);d.TG.ArrowClosed;let e={type:"resourceEdge",animated:!1,style:{stroke:"#009688",strokeWidth:2},markerEnd:{type:d.TG.ArrowClosed,width:20,height:20,color:"#009688"}},f={type:"mcpEdge",animated:!1,style:{stroke:"#1976d2",strokeWidth:2},markerEnd:{type:d.TG.ArrowClosed,width:20,height:20,color:"#1976d2"},markerStart:{type:d.TG.ArrowClosed,width:20,height:20,color:"#1976d2"}}},90430:(a,b,c)=>{c.d(b,{Cm:()=>l,JL:()=>i,p9:()=>h,wn:()=>j,y2:()=>k});var d=c(74855),e=c(36627);function f(a,b,c){return b.filter(b=>!(0,e.BY)(b)&&(b.source===a?b.target!==c:!!(b.target===a&&b.data?.bidirectional)&&b.source!==c))}function g(a,b,c=[]){if(!a.source||!a.target||!a.sourceHandle||!a.targetHandle)return"Missing source, target, or handles";let d=b.find(b=>b.id===a.source),h=b.find(b=>b.id===a.target);if(!d||!h)return"Source or target node not found";let i=(0,e.vC)(d.type,a.sourceHandle,h.type,a.targetHandle);return i||("subflow"===d.type&&f(d.id,c,a.target).length>0?"Subflow nodes can only have one outgoing connection":null)}function h(a,b,c=[]){return null===g(a,b,c)}function i(a,b,c=[]){let d=g(a,b,c);return!d||(console.error(`Invalid connection: ${d}`,a),!1)}function j(a,b,c){let f=b.find(b=>b.id===a.source),g=b.find(b=>b.id===a.target),h=a.sourceHandle,i=a.targetHandle,j=f?.type==="mcp"||g?.type==="mcp"||(0,e.z5)(h)||(0,e.z5)(i),k=!j&&(f?.type==="resource"||g?.type==="resource"||(0,e.vM)(h)||(0,e.vM)(i)),l=`${a.source}:${h}->${a.target}:${i}`;return j?{id:l,...a,type:"mcpEdge",data:{edgeType:"mcp"},animated:!1,markerEnd:d.Ud.markerEnd,markerStart:d.Ud.markerStart,style:d.Ud.style}:k?{id:l,...a,type:"resourceEdge",data:{edgeType:"resource"},animated:!1,markerEnd:d.MG.markerEnd,style:d.MG.style}:{id:l,...a,type:"custom",data:{edgeType:"standard",...c?{condition:c}:{}},animated:!0}}function k(a,b,c=[]){let d=b.find(b=>b.id===a.source),g=b.find(b=>b.id===a.target);return!!d&&!!g&&("subflow"!==g.type||!(f(g.id,c,a.source).length>0))&&null===(0,e.vC)(g.type,null,d.type,null)}function l(a,b){let c=a=>a.data?.edgeType,d=a=>"mcp"===c(a),e=a=>"resource"===c(a);return b.filter(b=>b.id===a.id||(d(a)?d(b)&&(b.source===a.source&&b.target===a.target||b.source===a.target&&b.target===a.source):e(a)?e(b)&&b.source===a.source&&b.target===a.target:!d(b)&&!e(b)&&b.source===a.source&&b.target===a.target)).map(a=>a.id)}},97004:(a,b,c)=>{c.d(b,{R:()=>l,A:()=>r});var d=c(21124),e=c(38301),f=c(95791),g=c(46973),h=c(18168),i=c(60839);function j(a){return a===g.yX.Left||a===g.yX.Right?"h":"v"}var k=c(29237);let l="flowEdgeWaypoint",m={x:16,y:-16},n=(0,h.Ay)("button")(({theme:a})=>({background:a.palette.background.paper,border:`1px solid ${a.palette.divider}`,cursor:"pointer",borderRadius:"50%",fontSize:"10px",width:"20px",height:"20px",display:"flex",justifyContent:"center",alignItems:"center",color:a.palette.text.secondary,boxShadow:"dark"===a.palette.mode?"0 2px 4px rgba(0,0,0,0.3)":"0 2px 4px rgba(0,0,0,0.1)","&:hover":{background:a.palette.error.main,borderColor:a.palette.error.main,color:a.palette.error.contrastText}})),o=(0,h.Ay)(f.tE)({"&&.animated":{strokeDasharray:5,animation:"flowPathAnimation 500ms infinite linear"},"&&.animated-both":{strokeDasharray:5,animation:"flowPathAnimation 750ms infinite linear alternate"},"@keyframes flowPathAnimation":{"0%":{strokeDashoffset:10},"100%":{strokeDashoffset:0}}}),p="#009688",q="#4DB6AC",r=({variant:a,id:b,source:c,target:h,sourceHandleId:r,targetHandleId:s,sourceX:t,sourceY:u,targetX:v,targetY:w,sourcePosition:x,targetPosition:y,style:z={},markerEnd:A,markerStart:B,data:C,selected:D})=>{let E,F,G=(0,i.A)(),{deleteElements:H,screenToFlowPosition:I,getNode:J}=(0,f.VH)(),[K,L]=(0,e.useState)(!1),[M,N]=(0,e.useState)(null),O=(0,e.useRef)(null),P=(0,e.useRef)(!1),Q="standard"===a&&C?.condition?(0,k.P2)(C.condition):"",R=a=>!!a&&a.includes("process")&&a.includes("resource"),S="";if("resource"===a){let a=J(c)?.type,b=J(h)?.type;"resource"===a&&"process"===b?S="consume":"process"===a&&"resource"===b||R(r)?S="produce":R(s)&&(S="consume")}let T=C?.waypoints??(C?.waypoint?[C.waypoint]:[]),U=M??T,V="standard"===a&&!!C?.bidirectional,W="mcp"===a||"resource"===a,X=x||(W?g.yX.Left:g.yX.Bottom),Y=y||(W?g.yX.Right:g.yX.Top),Z=null;if(U.length>0)E=(Z=function(a,b,c,d,e,f=8){let g=[a,...e,c],h=[a],i=[],j=b,k=(a,b)=>{let c;c=h[h.length-1],.01>Math.abs(c.x-a.x)&&.01>Math.abs(c.y-a.y)||(h.push(a),i.push(b))};for(let a=1;a<g.length;a++){let b=h[h.length-1],c=g[a],e=a-1;if(a===g.length-1){if("v"===d)if("h"===j)k({x:c.x,y:b.y},e);else{let a=(b.y+c.y)/2;k({x:b.x,y:a},e),k({x:c.x,y:a},e)}else if("v"===j)k({x:b.x,y:c.y},e);else{let a=(b.x+c.x)/2;k({x:a,y:b.y},e),k({x:a,y:c.y},e)}k(c,e)}else k("v"===j?{x:b.x,y:c.y}:{x:c.x,y:b.y},e),k(c,e),j="v"===j?"h":"v"}!function(a,b){for(let c=1;c<a.length-1;c++){let d=a[c-1],e=a[c],f=a[c+1],g=.01>Math.abs(d.x-e.x)&&.01>Math.abs(f.x-e.x)&&(e.y-d.y)*(f.y-e.y)<0,h=.01>Math.abs(d.y-e.y)&&.01>Math.abs(f.y-e.y)&&(e.x-d.x)*(f.x-e.x)<0;if(g||h){if(g){let g=(a[c-2]?.x??e.x-1)<=e.x,h=g?e.x-12:e.x+12,i=g?e.x+12:e.x-12,j=b[c-1];a.splice(c-1,3,{x:h,y:d.y},{x:h,y:e.y},{x:i,y:e.y},{x:i,y:f.y}),b.splice(c-1,2,j,j,j)}else{let g=(a[c-2]?.y??e.y-1)<=e.y,h=g?e.y-12:e.y+12,i=g?e.y+12:e.y-12,j=b[c-1];a.splice(c-1,3,{x:d.x,y:h},{x:e.x,y:h},{x:e.x,y:i},{x:f.x,y:i}),b.splice(c-1,2,j,j,j)}c++}}}(h,i);let l=[];for(let a=0;a<h.length-1;a++)l.push({a:h[a],b:h[a+1],gap:i[a]});return{d:function(a,b){if(0===a.length)return"";let c=`M ${a[0].x},${a[0].y}`;for(let d=1;d<a.length-1;d++){let e=a[d-1],f=a[d],g=a[d+1],h=Math.hypot(f.x-e.x,f.y-e.y),i=Math.hypot(g.x-f.x,g.y-f.y),j=Math.min(b,h/2,i/2);if(j<.5){c+=` L ${f.x},${f.y}`;continue}let k={x:f.x-(f.x-e.x)/h*j,y:f.y-(f.y-e.y)/h*j},l={x:f.x+(g.x-f.x)/i*j,y:f.y+(g.y-f.y)/i*j};c+=` L ${k.x},${k.y} Q ${f.x},${f.y} ${l.x},${l.y}`}let d=a[a.length-1];return c+` L ${d.x},${d.y}`}(h,f),points:h,segments:l,midpoint:function(a,b){let c=0;for(let b=0;b<a.length-1;b++)c+=Math.hypot(a[b+1].x-a[b].x,a[b+1].y-a[b].y);if(0===c)return a[0];let d=.5*c;for(let b=0;b<a.length-1;b++){let c=Math.hypot(a[b+1].x-a[b].x,a[b+1].y-a[b].y);if(d<=c){let e=0===c?0:d/c;return{x:a[b].x+(a[b+1].x-a[b].x)*e,y:a[b].y+(a[b+1].y-a[b].y)*e}}d-=c}return a[a.length-1]}(h,.5)}}({x:t,y:u},j(X),{x:v,y:w},j(Y),U,16)).d,F=Z.midpoint;else{let[a,b,c]=(0,g.oN)({sourceX:t,sourceY:u,sourcePosition:X,targetX:v,targetY:w,targetPosition:Y,borderRadius:16});E=a,F={x:b,y:c}}let $=W?"":V?"animated-both":C?.animated!==!1?"animated":"",_={...z,strokeWidth:D?3:2,stroke:"mcp"===a?D?G.palette.info.light:G.palette.info.main:"resource"===a?D?q:p:D?G.palette.primary.main:G.palette.text.secondary,..."resource"===a?{strokeDasharray:"6 4"}:{},...$?{animationDuration:`${Math.round((V?750:500)*(a=>{let b=0;for(let c=0;c<a.length;c++)b=31*b+a.charCodeAt(c)|0;return .9+Math.abs(b)%1e3/1e3*.2})(b))}ms`}:{}},aa=a=>{document.dispatchEvent(new CustomEvent(l,{detail:{edgeId:b,waypoints:a&&a.length>0?a:null}}))},ab=a=>{if(0!==a.button)return;let b=I({x:a.clientX,y:a.clientY}),c=Z?function(a,b){let c=0,d=1/0;for(let e of b){let b=function(a,b,c){let d=c.x-b.x,e=c.y-b.y,f=d*d+e*e,g=0===f?0:Math.max(0,Math.min(1,((a.x-b.x)*d+(a.y-b.y)*e)/f));return Math.hypot(a.x-(b.x+d*g),a.y-(b.y+e*g))}(a,e.a,e.b);b<d&&(d=b,c=e.gap)}return c}(b,Z.segments):0,d=[...U];d.splice(c,0,b),O.current={index:c,pointerId:a.pointerId,startClient:{x:a.clientX,y:a.clientY},base:d,active:!1,fromPath:!0},a.target.setPointerCapture(a.pointerId)},ac=a=>{let b=O.current;if(!b||a.pointerId!==b.pointerId)return;if(!b.active){if(4>Math.hypot(a.clientX-b.startClient.x,a.clientY-b.startClient.y))return;b.active=!0}let c=[...b.base];c[b.index]=I({x:a.clientX,y:a.clientY}),N(c)},ad=a=>{let b=O.current;if(!b||a.pointerId!==b.pointerId||(O.current=null,a.target.releasePointerCapture(a.pointerId),P.current=b.active,!b.active))return;let c=[...b.base];c[b.index]=I({x:a.clientX,y:a.clientY}),aa(c),N(null)},ae=null!==M,af=D||K||ae;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(o,{path:E,markerEnd:A,markerStart:B,style:_,id:b,className:$}),(0,d.jsx)("path",{d:E,fill:"none",stroke:"transparent",strokeWidth:20,style:{cursor:ae?"grabbing":"grab"},onMouseEnter:()=>L(!0),onMouseLeave:()=>L(!1),onPointerDown:ab,onPointerMove:ac,onPointerUp:ad}),(0,d.jsxs)(f.rV,{children:[Q&&(0,d.jsx)("div",{style:{position:"absolute",transform:`translate(-50%, -50%) translate(${F.x}px,${F.y-18}px)`,pointerEvents:"none",background:G.palette.info.main,color:G.palette.info.contrastText,borderRadius:4,padding:"1px 6px",fontSize:10,fontWeight:600,whiteSpace:"nowrap",boxShadow:G.shadows[1],zIndex:1002},className:"nodrag nopan",title:`Routing condition: ${Q}`,children:Q}),S&&(0,d.jsx)("div",{style:{position:"absolute",transform:`translate(-50%, -50%) translate(${F.x}px,${F.y-18}px)`,pointerEvents:"none",background:D?q:p,color:"#ffffff",borderRadius:4,padding:"1px 6px",fontSize:10,fontWeight:600,whiteSpace:"nowrap",boxShadow:G.shadows[1],zIndex:1002},className:"nodrag nopan",title:"consume"===S?"This step consumes (reads) the resource":"This step produces (writes) the resource",children:S}),af&&U.map((a,b)=>(0,d.jsx)("div",{style:{position:"absolute",transform:`translate(-50%, -50%) translate(${a.x}px,${a.y}px)`,width:12,height:12,borderRadius:"50%",background:G.palette.primary.main,border:`2px solid ${G.palette.background.paper}`,boxShadow:G.shadows[1],cursor:"move",pointerEvents:"all",touchAction:"none",zIndex:1001},className:"nodrag nopan",title:"Drag to move; double-click to remove this bend",onMouseEnter:()=>L(!0),onMouseLeave:()=>L(!1),onPointerDown:a=>{0===a.button&&(a.stopPropagation(),O.current={index:b,pointerId:a.pointerId,startClient:{x:a.clientX,y:a.clientY},base:[...U],active:!1,fromPath:!1},a.target.setPointerCapture(a.pointerId))},onPointerMove:ac,onPointerUp:ad,onDoubleClick:a=>{a.stopPropagation(),(a=>{let b=U.filter((b,c)=>c!==a);N(null),aa(b)})(b)}},b)),(0,d.jsx)("div",{style:{position:"absolute",transform:`translate(-50%, -50%) translate(${F.x+m.x}px,${F.y+m.y}px)`,pointerEvents:af&&!ae?"all":"none",opacity:af&&!ae?1:0,transition:"opacity 120ms ease",zIndex:1e3},className:"nodrag nopan",onMouseEnter:()=>L(!0),onMouseLeave:()=>L(!1),children:(0,d.jsx)(n,{title:"Delete connection (drag to re-route)",style:{touchAction:"none"},onPointerDown:ab,onPointerMove:ac,onPointerUp:ad,onClick:a=>{if(a.stopPropagation(),P.current){P.current=!1;return}H({edges:[{id:b}]})},children:"\xd7"})})]})]})}},98502:(a,b,c)=>{c.d(b,{E9:()=>f,RN:()=>e,n9:()=>d});let d="handoff_to_";function e(a,b){let c=(a&&a.trim()||b&&b.trim()||"node").toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/_+/g,"_").replace(/^_+|_+$/g,"");return c.length>48&&(c=c.slice(0,48).replace(/_+$/g,"")),c||(c=b&&b.trim().toLowerCase().replace(/[^a-z0-9]+/g,"_")||"node"),c||"node"}function f(a){let b=new Set,c=new Map;for(let f of a){if(c.has(f.id))continue;let a=e(f.label,f.type),g=`${d}${a}`;if(b.has(g)){let c=2;for(;b.has(`${d}${a}_${c}`);)c++;g=`${d}${a}_${c}`}b.add(g),c.set(f.id,g)}return c}}};
|
|
@@ -0,0 +1,393 @@
|
|
|
1
|
+
"use strict";exports.id=9724,exports.ids=[9724],exports.modules={19724:(a,b,c)=>{c.d(b,{filesystemListResources:()=>g,filesystemReadResource:()=>i,isFilesystemAppUri:()=>h});let d="ui://filesystem/browser",e="ui://devcanvas/diff",f="text/html;profile=mcp-app";function g(){return{resources:[{uri:d,name:"filesystem_browser",mimeType:f,description:"Interactive file browser (navigate, preview, upload, download) for the filesystem server."},{uri:e,name:"devcanvas_diff",mimeType:f,description:"Docked diff canvas that shows file writes/edits live as they happen (pip display mode)."}]}}function h(a){return a===d||a===e}function i(a){if(!h(a))return{success:!1,error:`Not a filesystem app URI: ${a}`,statusCode:404};let b=a===e?k:j;return{success:!0,data:{contents:[{uri:a,mimeType:f,text:b,_meta:{ui:{csp:{},permissions:{}}}}]}}}let j=`<!doctype html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<style>
|
|
6
|
+
:root { --bg:#fff; --fg:#1a1a1a; --muted:#666; --border:#e0e0e0; --accent:#1565c0; --hover:#f5f5f5; }
|
|
7
|
+
[data-theme="dark"] { --bg:#1e1e1e; --fg:#e8e8e8; --muted:#9e9e9e; --border:#3a3a3a; --accent:#64b5f6; --hover:#2a2a2a; }
|
|
8
|
+
* { box-sizing: border-box; }
|
|
9
|
+
html,body { margin:0; padding:0; }
|
|
10
|
+
body { font: 13px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; background:var(--bg); color:var(--fg); }
|
|
11
|
+
#wrap { padding:10px; }
|
|
12
|
+
.bar { display:flex; align-items:center; gap:6px; margin-bottom:8px; flex-wrap:wrap; }
|
|
13
|
+
.bar button, .bar label { font:inherit; cursor:pointer; border:1px solid var(--border); background:var(--bg); color:var(--fg); border-radius:5px; padding:3px 9px; }
|
|
14
|
+
.bar button:hover, .bar label:hover { background:var(--hover); }
|
|
15
|
+
.path { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; color:var(--muted); word-break:break-all; flex:1 1 200px; }
|
|
16
|
+
ul { list-style:none; margin:0; padding:0; border:1px solid var(--border); border-radius:6px; overflow:hidden; }
|
|
17
|
+
li { display:flex; align-items:center; gap:8px; padding:5px 10px; cursor:pointer; border-bottom:1px solid var(--border); }
|
|
18
|
+
li:last-child { border-bottom:none; }
|
|
19
|
+
li:hover { background:var(--hover); }
|
|
20
|
+
.ico { width:16px; text-align:center; }
|
|
21
|
+
.nm { flex:1; word-break:break-all; }
|
|
22
|
+
.sz { color:var(--muted); font-size:11px; }
|
|
23
|
+
.dl { border:1px solid var(--border); background:var(--bg); color:var(--fg); border-radius:4px; padding:1px 7px; font-size:11px; cursor:pointer; }
|
|
24
|
+
.sel { border-color:var(--accent); color:var(--accent); font-weight:600; }
|
|
25
|
+
.msg { color:var(--muted); padding:8px 2px; }
|
|
26
|
+
.err { color:#d32f2f; }
|
|
27
|
+
pre { background:var(--hover); border:1px solid var(--border); border-radius:6px; padding:10px; max-height:320px; overflow:auto; white-space:pre-wrap; word-break:break-word; margin:8px 0 0; }
|
|
28
|
+
h4 { margin:10px 0 4px; }
|
|
29
|
+
</style>
|
|
30
|
+
</head>
|
|
31
|
+
<body>
|
|
32
|
+
<div id="wrap">
|
|
33
|
+
<div class="bar">
|
|
34
|
+
<button id="up" title="Parent directory">↑ Up</button>
|
|
35
|
+
<button id="refresh" title="Refresh">↻</button>
|
|
36
|
+
<label>↑ Upload<input id="upload" type="file" style="display:none" /></label>
|
|
37
|
+
<span class="path" id="path"></span>
|
|
38
|
+
</div>
|
|
39
|
+
<div id="list"></div>
|
|
40
|
+
<div id="preview"></div>
|
|
41
|
+
</div>
|
|
42
|
+
<script>
|
|
43
|
+
(function () {
|
|
44
|
+
var parentWin = window.parent;
|
|
45
|
+
var idc = 1;
|
|
46
|
+
var pending = {};
|
|
47
|
+
var cwd = ".";
|
|
48
|
+
|
|
49
|
+
function post(msg) { parentWin.postMessage(msg, "*"); }
|
|
50
|
+
function rpc(method, params) {
|
|
51
|
+
return new Promise(function (resolve, reject) {
|
|
52
|
+
var id = idc++;
|
|
53
|
+
pending[id] = { resolve: resolve, reject: reject };
|
|
54
|
+
post({ jsonrpc: "2.0", id: id, method: method, params: params || {} });
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
function notify(method, params) { post({ jsonrpc: "2.0", method: method, params: params || {} }); }
|
|
58
|
+
|
|
59
|
+
function applyTheme(ctx) {
|
|
60
|
+
var theme = ctx && ctx.theme ? ctx.theme : "light";
|
|
61
|
+
document.documentElement.setAttribute("data-theme", theme === "dark" ? "dark" : "light");
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function sendSize() {
|
|
65
|
+
try {
|
|
66
|
+
var h = Math.ceil(document.documentElement.getBoundingClientRect().height);
|
|
67
|
+
notify("ui/notifications/size-changed", { width: 0, height: h });
|
|
68
|
+
} catch (e) {}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
function payloadOf(result) {
|
|
72
|
+
if (!result) return null;
|
|
73
|
+
if (result.structuredContent) return result.structuredContent;
|
|
74
|
+
try {
|
|
75
|
+
var t = result.content && result.content[0] && result.content[0].text;
|
|
76
|
+
return t ? JSON.parse(t) : null;
|
|
77
|
+
} catch (e) { return null; }
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
function parentPath(p) {
|
|
81
|
+
var norm = p.replace(/[\\\\]+/g, "/").replace(/\\/+$/, "");
|
|
82
|
+
var i = norm.lastIndexOf("/");
|
|
83
|
+
if (i <= 0) return norm;
|
|
84
|
+
return norm.slice(0, i);
|
|
85
|
+
}
|
|
86
|
+
function joinPath(base, name) {
|
|
87
|
+
var norm = base.replace(/[\\\\]+/g, "/").replace(/\\/+$/, "");
|
|
88
|
+
return norm + "/" + name;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
var listEl = document.getElementById("list");
|
|
92
|
+
var pathEl = document.getElementById("path");
|
|
93
|
+
var previewEl = document.getElementById("preview");
|
|
94
|
+
|
|
95
|
+
function setMsg(el, text, isErr) {
|
|
96
|
+
el.innerHTML = "";
|
|
97
|
+
var d = document.createElement("div");
|
|
98
|
+
d.className = "msg" + (isErr ? " err" : "");
|
|
99
|
+
d.textContent = text;
|
|
100
|
+
el.appendChild(d);
|
|
101
|
+
sendSize();
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
async function navigate(path) {
|
|
105
|
+
previewEl.innerHTML = "";
|
|
106
|
+
setMsg(listEl, "Loading " + path + " ...");
|
|
107
|
+
try {
|
|
108
|
+
var res = await rpc("tools/call", { name: "list_dir", arguments: { path: path } });
|
|
109
|
+
if (res && res.isError) throw new Error((payloadOf(res) || {}).error || "list_dir failed");
|
|
110
|
+
var data = payloadOf(res) || {};
|
|
111
|
+
cwd = data.path || path;
|
|
112
|
+
pathEl.textContent = cwd;
|
|
113
|
+
renderEntries(data.entries || []);
|
|
114
|
+
} catch (e) {
|
|
115
|
+
setMsg(listEl, "Error: " + (e && e.message ? e.message : e), true);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
function renderEntries(entries) {
|
|
120
|
+
entries.sort(function (a, b) {
|
|
121
|
+
var ad = a.type === "directory" ? 0 : 1, bd = b.type === "directory" ? 0 : 1;
|
|
122
|
+
if (ad !== bd) return ad - bd;
|
|
123
|
+
return String(a.name).localeCompare(String(b.name));
|
|
124
|
+
});
|
|
125
|
+
listEl.innerHTML = "";
|
|
126
|
+
if (!entries.length) { setMsg(listEl, "(empty directory)"); return; }
|
|
127
|
+
var ul = document.createElement("ul");
|
|
128
|
+
entries.forEach(function (ent) {
|
|
129
|
+
var li = document.createElement("li");
|
|
130
|
+
var isDir = ent.type === "directory";
|
|
131
|
+
var ico = document.createElement("span"); ico.className = "ico"; ico.textContent = isDir ? "\\uD83D\\uDCC1" : "\\uD83D\\uDCC4";
|
|
132
|
+
var nm = document.createElement("span"); nm.className = "nm"; nm.textContent = ent.name;
|
|
133
|
+
li.appendChild(ico); li.appendChild(nm);
|
|
134
|
+
if (!isDir) {
|
|
135
|
+
var sz = document.createElement("span"); sz.className = "sz"; sz.textContent = fmtSize(ent.size); li.appendChild(sz);
|
|
136
|
+
var sel = document.createElement("button"); sel.className = "dl sel"; sel.textContent = "Select";
|
|
137
|
+
sel.onclick = function (e) { e.stopPropagation(); selectFile(joinPath(cwd, ent.name)); };
|
|
138
|
+
li.appendChild(sel);
|
|
139
|
+
var dl = document.createElement("button"); dl.className = "dl"; dl.textContent = "Download";
|
|
140
|
+
dl.onclick = function (e) { e.stopPropagation(); downloadFile(joinPath(cwd, ent.name), ent.name); };
|
|
141
|
+
li.appendChild(dl);
|
|
142
|
+
li.onclick = function () { preview(joinPath(cwd, ent.name), ent.name); };
|
|
143
|
+
} else {
|
|
144
|
+
li.onclick = function () { navigate(joinPath(cwd, ent.name)); };
|
|
145
|
+
}
|
|
146
|
+
ul.appendChild(li);
|
|
147
|
+
});
|
|
148
|
+
listEl.appendChild(ul);
|
|
149
|
+
sendSize();
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
function fmtSize(n) {
|
|
153
|
+
if (typeof n !== "number") return "";
|
|
154
|
+
if (n < 1024) return n + " B";
|
|
155
|
+
if (n < 1048576) return (n / 1024).toFixed(1) + " KB";
|
|
156
|
+
return (n / 1048576).toFixed(1) + " MB";
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
async function preview(path, name) {
|
|
160
|
+
previewEl.innerHTML = "";
|
|
161
|
+
var h = document.createElement("h4"); h.textContent = name; previewEl.appendChild(h);
|
|
162
|
+
var pre = document.createElement("pre"); pre.textContent = "Loading..."; previewEl.appendChild(pre);
|
|
163
|
+
sendSize();
|
|
164
|
+
try {
|
|
165
|
+
var res = await rpc("tools/call", { name: "read_file", arguments: { path: path } });
|
|
166
|
+
if (res && res.isError) throw new Error((payloadOf(res) || {}).error || "read_file failed");
|
|
167
|
+
var data = payloadOf(res) || {};
|
|
168
|
+
pre.textContent = typeof data.content === "string" ? data.content : "(no text content)";
|
|
169
|
+
} catch (e) {
|
|
170
|
+
pre.textContent = "Error: " + (e && e.message ? e.message : e);
|
|
171
|
+
pre.className = "err";
|
|
172
|
+
}
|
|
173
|
+
sendSize();
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
function selectFile(path) {
|
|
177
|
+
// The picker action: hand the chosen path back to the assistant as a user
|
|
178
|
+
// message (ui/message). The host injects it into the conversation, which
|
|
179
|
+
// resumes the waiting model.
|
|
180
|
+
rpc("ui/message", { role: "user", content: [{ type: "text", text: "Selected file: " + path }] })
|
|
181
|
+
.then(function () { setMsg(previewEl, "Selected " + path + " — sent to the assistant."); })
|
|
182
|
+
.catch(function (e) { setMsg(previewEl, "Select failed: " + (e && e.message ? e.message : e), true); });
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
async function downloadFile(path, name) {
|
|
186
|
+
try {
|
|
187
|
+
var res = await rpc("tools/call", { name: "read_file", arguments: { path: path } });
|
|
188
|
+
if (res && res.isError) throw new Error((payloadOf(res) || {}).error || "read_file failed");
|
|
189
|
+
var data = payloadOf(res) || {};
|
|
190
|
+
await rpc("ui/download-file", {
|
|
191
|
+
contents: [{ type: "resource", resource: { uri: "file:///" + name, mimeType: "text/plain", text: String(data.content == null ? "" : data.content) } }]
|
|
192
|
+
});
|
|
193
|
+
} catch (e) {
|
|
194
|
+
setMsg(previewEl, "Download failed: " + (e && e.message ? e.message : e), true);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
document.getElementById("upload").onchange = function (ev) {
|
|
199
|
+
var file = ev.target.files && ev.target.files[0];
|
|
200
|
+
if (!file) return;
|
|
201
|
+
var reader = new FileReader();
|
|
202
|
+
reader.onload = async function () {
|
|
203
|
+
try {
|
|
204
|
+
await rpc("tools/call", { name: "write_file", arguments: { path: joinPath(cwd, file.name), content: String(reader.result) } });
|
|
205
|
+
navigate(cwd);
|
|
206
|
+
} catch (e) {
|
|
207
|
+
setMsg(previewEl, "Upload failed: " + (e && e.message ? e.message : e), true);
|
|
208
|
+
}
|
|
209
|
+
};
|
|
210
|
+
reader.readAsText(file);
|
|
211
|
+
ev.target.value = "";
|
|
212
|
+
};
|
|
213
|
+
document.getElementById("up").onclick = function () { navigate(parentPath(cwd)); };
|
|
214
|
+
document.getElementById("refresh").onclick = function () { navigate(cwd); };
|
|
215
|
+
|
|
216
|
+
// --- MCP Apps message handling ---
|
|
217
|
+
window.addEventListener("message", function (event) {
|
|
218
|
+
var m = event.data;
|
|
219
|
+
if (!m || m.jsonrpc !== "2.0") return;
|
|
220
|
+
if (m.id !== undefined && (m.result !== undefined || m.error !== undefined)) {
|
|
221
|
+
var p = pending[m.id];
|
|
222
|
+
if (!p) return;
|
|
223
|
+
delete pending[m.id];
|
|
224
|
+
if (m.error) p.reject(new Error(m.error.message || "RPC error"));
|
|
225
|
+
else p.resolve(m.result);
|
|
226
|
+
return;
|
|
227
|
+
}
|
|
228
|
+
// Host-initiated requests/notifications.
|
|
229
|
+
if (m.method === "ui/notifications/host-context-changed") { applyTheme(m.params); return; }
|
|
230
|
+
if (m.method === "ui/notifications/tool-input") {
|
|
231
|
+
var args = m.params && m.params.arguments;
|
|
232
|
+
if (args && typeof args.path === "string" && !started) { started = true; navigate(args.path); }
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
if (m.method === "ping" && m.id !== undefined) { post({ jsonrpc: "2.0", id: m.id, result: {} }); return; }
|
|
236
|
+
if (m.method === "ui/resource-teardown" && m.id !== undefined) { post({ jsonrpc: "2.0", id: m.id, result: {} }); return; }
|
|
237
|
+
});
|
|
238
|
+
|
|
239
|
+
var started = false;
|
|
240
|
+
|
|
241
|
+
// Handshake: initialize -> initialized -> initial navigation.
|
|
242
|
+
rpc("ui/initialize", {
|
|
243
|
+
appInfo: { name: "filesystem-browser", version: "1.0.0" },
|
|
244
|
+
appCapabilities: { availableDisplayModes: ["inline", "fullscreen"] },
|
|
245
|
+
protocolVersion: "2026-01-26"
|
|
246
|
+
}).then(function (result) {
|
|
247
|
+
applyTheme(result && result.hostContext);
|
|
248
|
+
notify("ui/notifications/initialized", {});
|
|
249
|
+
// If no tool-input arrives shortly, start at the data directory (".").
|
|
250
|
+
setTimeout(function () { if (!started) { started = true; navigate("."); } }, 400);
|
|
251
|
+
}).catch(function (e) {
|
|
252
|
+
setMsg(listEl, "Failed to initialize app: " + (e && e.message ? e.message : e), true);
|
|
253
|
+
});
|
|
254
|
+
})();
|
|
255
|
+
</script>
|
|
256
|
+
</body>
|
|
257
|
+
</html>`,k=`<!doctype html>
|
|
258
|
+
<html>
|
|
259
|
+
<head>
|
|
260
|
+
<meta charset="utf-8" />
|
|
261
|
+
<style>
|
|
262
|
+
:root { --bg:#fff; --fg:#1a1a1a; --muted:#666; --border:#e0e0e0; --accent:#1565c0; --add:#e6ffed; --addln:#22863a; --hover:#f5f5f5; }
|
|
263
|
+
[data-theme="dark"] { --bg:#1e1e1e; --fg:#e8e8e8; --muted:#9e9e9e; --border:#3a3a3a; --accent:#64b5f6; --add:#0f2f18; --addln:#7bd88f; --hover:#2a2a2a; }
|
|
264
|
+
* { box-sizing: border-box; }
|
|
265
|
+
html,body { margin:0; padding:0; height:100%; }
|
|
266
|
+
body { font: 13px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; background:var(--bg); color:var(--fg); }
|
|
267
|
+
#wrap { padding:10px; }
|
|
268
|
+
h3 { margin:0 0 8px; font-size:14px; }
|
|
269
|
+
.empty { color:var(--muted); padding:10px 2px; }
|
|
270
|
+
.card { border:1px solid var(--border); border-radius:6px; margin-bottom:8px; overflow:hidden; }
|
|
271
|
+
.card h4 { margin:0; padding:6px 10px; background:var(--hover); font-size:12px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; word-break:break-all; display:flex; gap:8px; align-items:center; }
|
|
272
|
+
.badge { font-size:11px; padding:1px 6px; border-radius:10px; border:1px solid var(--border); color:var(--muted); }
|
|
273
|
+
.stat { font-size:11px; color:var(--addln); }
|
|
274
|
+
pre { margin:0; padding:8px 10px; max-height:220px; overflow:auto; white-space:pre-wrap; word-break:break-word; background:var(--bg); }
|
|
275
|
+
.del { color:#d32f2f; }
|
|
276
|
+
</style>
|
|
277
|
+
</head>
|
|
278
|
+
<body>
|
|
279
|
+
<div id="wrap">
|
|
280
|
+
<h3>Diff canvas</h3>
|
|
281
|
+
<div id="log"><div class="empty">Waiting for file writes / edits...</div></div>
|
|
282
|
+
</div>
|
|
283
|
+
<script>
|
|
284
|
+
(function () {
|
|
285
|
+
var parentWin = window.parent;
|
|
286
|
+
var logEl = document.getElementById("log");
|
|
287
|
+
var changes = [];
|
|
288
|
+
var seen = 0;
|
|
289
|
+
|
|
290
|
+
function post(msg) { parentWin.postMessage(msg, "*"); }
|
|
291
|
+
function notify(method, params) { post({ jsonrpc: "2.0", method: method, params: params || {} }); }
|
|
292
|
+
|
|
293
|
+
function applyTheme(ctx) {
|
|
294
|
+
var theme = ctx && ctx.theme ? ctx.theme : "light";
|
|
295
|
+
document.documentElement.setAttribute("data-theme", theme === "dark" ? "dark" : "light");
|
|
296
|
+
}
|
|
297
|
+
function sendSize() {
|
|
298
|
+
try {
|
|
299
|
+
var h = Math.ceil(document.documentElement.getBoundingClientRect().height);
|
|
300
|
+
notify("ui/notifications/size-changed", { width: 0, height: h });
|
|
301
|
+
} catch (e) {}
|
|
302
|
+
}
|
|
303
|
+
function payloadOf(result) {
|
|
304
|
+
if (!result) return null;
|
|
305
|
+
if (result.structuredContent) return result.structuredContent;
|
|
306
|
+
try {
|
|
307
|
+
var t = result.content && result.content[0] && result.content[0].text;
|
|
308
|
+
return t ? JSON.parse(t) : null;
|
|
309
|
+
} catch (e) { return null; }
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
function render() {
|
|
313
|
+
if (!changes.length) { logEl.innerHTML = '<div class="empty">Waiting for file writes / edits...</div>'; sendSize(); return; }
|
|
314
|
+
logEl.innerHTML = "";
|
|
315
|
+
for (var i = changes.length - 1; i >= 0; i--) {
|
|
316
|
+
var c = changes[i];
|
|
317
|
+
var card = document.createElement("div"); card.className = "card";
|
|
318
|
+
var h = document.createElement("h4");
|
|
319
|
+
var nm = document.createElement("span"); nm.textContent = c.path || "(unknown path)"; nm.style.flex = "1";
|
|
320
|
+
h.appendChild(nm);
|
|
321
|
+
if (c.mode) { var b = document.createElement("span"); b.className = "badge"; b.textContent = c.mode; h.appendChild(b); }
|
|
322
|
+
if (c.stat) { var s = document.createElement("span"); s.className = "stat"; s.textContent = c.stat; h.appendChild(s); }
|
|
323
|
+
card.appendChild(h);
|
|
324
|
+
if (c.body) { var pre = document.createElement("pre"); pre.textContent = c.body; card.appendChild(pre); }
|
|
325
|
+
logEl.appendChild(card);
|
|
326
|
+
}
|
|
327
|
+
sendSize();
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
function addFromResult(payload, args) {
|
|
331
|
+
if (!payload && !args) return;
|
|
332
|
+
var p = payload || {};
|
|
333
|
+
var a = args || {};
|
|
334
|
+
var change = { path: p.path || a.path || "", mode: p.mode || (a.edits ? "edit" : (a.diff ? "diff" : undefined)), stat: "", body: "" };
|
|
335
|
+
if (p.diff && (typeof p.diff.added === "number" || typeof p.diff.removed === "number")) {
|
|
336
|
+
change.stat = "+" + (p.diff.added || 0) + " -" + (p.diff.removed || 0);
|
|
337
|
+
} else if (typeof p.bytesWritten === "number") {
|
|
338
|
+
change.stat = p.bytesWritten + " B";
|
|
339
|
+
} else if (typeof p.editsApplied === "number") {
|
|
340
|
+
change.stat = p.editsApplied + " edit(s)";
|
|
341
|
+
} else if (typeof p.applied === "number") {
|
|
342
|
+
change.stat = p.applied + " edit(s)";
|
|
343
|
+
}
|
|
344
|
+
if (typeof a.content === "string") change.body = a.content.slice(0, 4000);
|
|
345
|
+
else if (typeof a.diff === "string") change.body = a.diff.slice(0, 4000);
|
|
346
|
+
changes.push(change);
|
|
347
|
+
render();
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
var lastArgs = null;
|
|
351
|
+
window.addEventListener("message", function (event) {
|
|
352
|
+
var m = event.data;
|
|
353
|
+
if (!m || m.jsonrpc !== "2.0") return;
|
|
354
|
+
if (m.method === "ui/notifications/host-context-changed") { applyTheme(m.params); return; }
|
|
355
|
+
if (m.method === "ui/notifications/tool-input") { lastArgs = m.params && m.params.arguments; return; }
|
|
356
|
+
if (m.method === "ui/notifications/tool-result") {
|
|
357
|
+
addFromResult(payloadOf(m.params && m.params.result ? m.params.result : m.params), lastArgs);
|
|
358
|
+
lastArgs = null;
|
|
359
|
+
return;
|
|
360
|
+
}
|
|
361
|
+
if (m.method === "ping" && m.id !== undefined) { post({ jsonrpc: "2.0", id: m.id, result: {} }); return; }
|
|
362
|
+
if (m.method === "ui/resource-teardown" && m.id !== undefined) { post({ jsonrpc: "2.0", id: m.id, result: {} }); return; }
|
|
363
|
+
});
|
|
364
|
+
|
|
365
|
+
// Handshake: advertise pip so the host can dock this app.
|
|
366
|
+
var idc = 1; var pending = {};
|
|
367
|
+
function rpc(method, params) {
|
|
368
|
+
return new Promise(function (resolve, reject) {
|
|
369
|
+
var id = idc++; pending[id] = { resolve: resolve, reject: reject };
|
|
370
|
+
post({ jsonrpc: "2.0", id: id, method: method, params: params || {} });
|
|
371
|
+
});
|
|
372
|
+
}
|
|
373
|
+
window.addEventListener("message", function (event) {
|
|
374
|
+
var m = event.data;
|
|
375
|
+
if (!m || m.jsonrpc !== "2.0") return;
|
|
376
|
+
if (m.id !== undefined && (m.result !== undefined || m.error !== undefined)) {
|
|
377
|
+
var pr = pending[m.id]; if (!pr) return; delete pending[m.id];
|
|
378
|
+
if (m.error) pr.reject(new Error(m.error.message || "RPC error")); else pr.resolve(m.result);
|
|
379
|
+
}
|
|
380
|
+
});
|
|
381
|
+
rpc("ui/initialize", {
|
|
382
|
+
appInfo: { name: "devcanvas-diff", version: "1.0.0" },
|
|
383
|
+
appCapabilities: { availableDisplayModes: ["inline", "fullscreen", "pip"] },
|
|
384
|
+
protocolVersion: "2026-01-26"
|
|
385
|
+
}).then(function (result) {
|
|
386
|
+
applyTheme(result && result.hostContext);
|
|
387
|
+
notify("ui/notifications/initialized", {});
|
|
388
|
+
sendSize();
|
|
389
|
+
}).catch(function () { sendSize(); });
|
|
390
|
+
})();
|
|
391
|
+
</script>
|
|
392
|
+
</body>
|
|
393
|
+
</html>`}};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
exports.id=991,exports.ids=[991],exports.modules={3676:(a,b,c)=>{"use strict";c.d(b,{Wj:()=>h,ln:()=>g});var d=c(10641),e=c(58739);let f="encryption_locked";async function g(){return(0,e.isEncryptionLocked)()}async function h(a){return await g()?a?.openai?d.NextResponse.json({error:{message:"Encryption is locked. Unlock FLUJO to continue.",type:f,code:f,param:null}},{status:423}):d.NextResponse.json({error:f},{status:423}):null}},21351:(a,b,c)=>{"use strict";c.d(b,{QF:()=>w,$Z:()=>A,pE:()=>B,WU:()=>v,mt:()=>H,ri:()=>x,mk:()=>G,w2:()=>D,Nb:()=>C,DZ:()=>I});var d=c(50846),e=c(92372),f=c(38844),g=c(40829),h=c(49680),i=c(21508);let j=(0,d.h)("backend/utils/packageRegistryClient");function k(a){return a.trim().replace(/\/+$/,"")}async function l(){let a=process.env.FLUJO_REGISTRY_BASE_URL?.trim();if(a)return k(a);let b=await (0,e.YM)(f.Z.REGISTRY_SETTINGS,{});return b?.baseUrl&&b.baseUrl.trim()?k(b.baseUrl):k(i.Qs)}async function m(a,b,c){let d=await l(),e=`${d}${a}`,f=new AbortController,g=setTimeout(()=>f.abort(),2e4);try{let d={"Content-Type":"application/json",Accept:"application/json"};c&&(d.Authorization=`Bearer ${c}`),j.info(`POST ${a}`);let g=await fetch(e,{method:"POST",headers:d,body:JSON.stringify(b??{}),signal:f.signal,cache:"no-store"}),h=await g.text(),i=null;if(h)try{i=JSON.parse(h)}catch{i={message:h}}return{status:g.status,body:i}}catch(b){return j.warn(`POST ${a} failed at transport level`,b instanceof Error?b.message:b),{status:0,body:{message:"Could not reach the package registry."}}}finally{clearTimeout(g)}}async function n(a){let b=await l(),c=new URL(`${b}/v1/auth/oauth/${a.provider}/authorize`);return c.searchParams.set("redirect_uri",a.redirectUri),c.searchParams.set("state",a.state),c.searchParams.set("code_challenge",a.codeChallenge),c.searchParams.set("code_challenge_method","S256"),c.toString()}var o=c(55511);let p=(0,d.h)("backend/services/registry"),q={email:"",publisherHandle:null,isConfirmed:!1,expiresAt:null,accessToken:"",refreshToken:""};async function r(){return(0,e.YM)(f.Z.REGISTRY_ACCOUNT,q)}async function s(a){await (0,e.VH)(f.Z.REGISTRY_ACCOUNT,a)}async function t(a,b,c){let d=await r(),e=new Set(d.linkedProviders??[]);c?.linkedProvider&&e.add(c.linkedProvider);let f={email:b.email||a,publisherHandle:b.publisher_handle??null,isConfirmed:b.is_confirmed??!0,expiresAt:"number"==typeof b.expires_at?b.expires_at<1e12?1e3*b.expires_at:b.expires_at:"number"==typeof b.expires_in?Date.now()+1e3*b.expires_in:null,accessToken:b.access_token?await (0,g.Rs)(b.access_token):"",refreshToken:b.refresh_token?await (0,g.Rs)(b.refresh_token):"",authMethod:c?.authMethod??d.authMethod??"password",...e.size?{linkedProviders:Array.from(e)}:{}};return await s(f),f}function u(a){let b=!!a.accessToken;return{signedIn:b,email:a.email||null,publisherHandle:a.publisherHandle,isConfirmed:a.isConfirmed,hasToken:b,token:b?h.RJ:"",...a.linkedProviders&&a.linkedProviders.length?{linkedProviders:a.linkedProviders}:{}}}async function v(){return u(await r())}async function w(a,b,c){let{status:d,body:e}=await ("signup"===c?function(a,b){return m("/v1/auth/signup",{email:a,password:b})}:function(a,b){return m("/v1/auth/login",{email:a,password:b})})(a,b);if(0===d)return{status:"error",message:"Could not reach the package registry."};let f=e?.needs_confirmation===!0||e?.is_confirmed===!1||403===d&&/confirm/i.test(e?.error||e?.message||"")||"signup"===c&&!e?.access_token&&d>=200&&d<300;return d>=200&&d<300&&e?.access_token?{status:"authenticated",account:u(await t(a,e,{authMethod:"password"}))}:f?(await s({...q,email:e?.email||a,isConfirmed:!1}),{status:"confirmation_required",account:u(await r()),message:"Check your inbox to confirm your email before publishing."}):{status:"error",message:e?.error||e?.message||`Registry responded with status ${d}.`}}async function x(){await s({...q})}let y=new Map;function z(){let a=Date.now();for(let[b,c]of y)a-c.createdAt>6e5&&y.delete(b)}async function A(a,b){z();let c=(0,o.randomBytes)(24).toString("base64url"),{verifier:d,challenge:e}=function(){let a=(0,o.randomBytes)(32).toString("base64url"),b=(0,o.createHash)("sha256").update(a).digest("base64url");return{verifier:a,challenge:b}}();return y.set(c,{provider:a,codeVerifier:d,redirectUri:b,createdAt:Date.now()}),{authorizationUrl:await n({provider:a,redirectUri:b,state:c,codeChallenge:e}),state:c}}async function B(a,b){var c;z();let d=b?y.get(b):void 0;if(b&&y.delete(b),!a||!d)return{status:"error",message:"Your sign-in session expired or was invalid. Please try again."};let{status:e,body:f}=await m("/v1/auth/oauth/token",{code:(c={code:a,codeVerifier:d.codeVerifier,redirectUri:d.redirectUri,provider:d.provider}).code,code_verifier:c.codeVerifier,redirect_uri:c.redirectUri,provider:c.provider});if(0===e)return{status:"error",message:"Could not reach the package registry."};if(e>=200&&e<300&&f?.access_token){let a=await t(f.email||"",f,{authMethod:"oauth",linkedProvider:d.provider});return p.info("Completed registry OAuth sign-in."),{status:"authenticated",account:u(a)}}return{status:"error",message:f?.error||f?.message||`Registry responded with status ${e}.`}}async function C(a){let b=(a||(await r()).email||"").trim();if(!b)return{success:!1,message:"No email address on file to resend confirmation to."};let{status:c,body:d}=await m("/v1/auth/resend-confirmation",{email:b});return c>=200&&c<300?{success:!0}:{success:!1,message:d?.error||d?.message||`Registry responded with status ${c}.`}}async function D(a){let b=(a||"").trim();if(!b)return{success:!1,message:"Enter the email address for your registry account."};let{status:c,body:d}=await m("/v1/auth/forgot-password",{email:b});return c>=200&&c<300?(p.info("Requested password reset for registry account."),{success:!0}):(p.info(`Password reset request returned status ${c}.`),{success:!1,message:d?.error||d?.message||`Registry responded with status ${c}.`})}class E extends Error{constructor(){super("Not signed in to the package registry."),this.name="NotAuthenticatedError"}}async function F(a){let b=await r();if(!b.accessToken)throw new E;let c=await (0,g.Tt)(b.accessToken);if(!c)throw new E;let d=await a(c);if(401!==d.status)return d;if(b.refreshToken){let c=await (0,g.Tt)(b.refreshToken);if(c){let d=await m("/v1/auth/refresh",{refresh_token:c});if(d.status>=200&&d.status<300&&d.body?.access_token){let c=await t(b.email,{...d.body,email:d.body.email||b.email,publisher_handle:d.body.publisher_handle??b.publisherHandle??void 0,is_confirmed:d.body.is_confirmed??b.isConfirmed}),e=await (0,g.Tt)(c.accessToken);if(e)return await a(e)}}}return p.warn("Registry access token rejected and refresh failed; clearing stored session."),await x(),d}async function G(a){try{var b;let{status:c,body:d}=await F(b=>m("/v1/packages",a,b));if(c>=200&&c<300)return{ok:!0,id:d?.id,name:d?.name,version:d?.version,url:d?.url};return b=d?.error||d?.message||"",401===c?{ok:!1,code:"unauthorized",error:"Your registry session expired. Please log in again."}:403===c?{ok:!1,code:"unconfirmed",error:"Confirm your email address before publishing."}:409===c?{ok:!1,code:"name_collision",error:b||"A package with this name/version already exists."}:400===c||422===c?{ok:!1,code:"validation",error:b||"The package manifest was rejected by the registry."}:0===c?{ok:!1,code:"error",error:"Could not reach the package registry."}:{ok:!1,code:"error",error:b||`Registry responded with status ${c}.`}}catch(a){if(a instanceof E)return{ok:!1,code:"not_authenticated",error:"Sign in to the package registry before publishing."};return p.error("Unexpected error publishing package",a instanceof Error?a.message:a),{ok:!1,code:"error",error:"Unexpected error publishing package."}}}async function H(){let a=await (0,e.YM)(f.Z.REGISTRY_SETTINGS,{}),b=a?.baseUrl?.trim()||"";return{baseUrl:b||i.Qs,usingDefault:0===b.length,defaultUrl:i.Qs}}async function I(a){let b=(a||"").trim();if(b)try{let a=new URL(b);if("http:"!==a.protocol&&"https:"!==a.protocol)return{success:!1,message:"Registry URL must use http(s)."}}catch{return{success:!1,message:"Registry URL is not a valid URL."}}return await (0,e.VH)(f.Z.REGISTRY_SETTINGS,{baseUrl:b}),{success:!0}}},21508:(a,b,c)=>{"use strict";c.d(b,{Qs:()=>d,oT:()=>f});let d="https://registry.flujo.app",e=["github","google"];function f(a){return"string"==typeof a&&e.includes(a)}},37426:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"40ec842092ea232b6d4aa599a380d422184da5e1ca":()=>d.resolveGlobalVars,"602ea7ca289a8eaa1000fb321a71e292e6c766b6bb":()=>d.G});var d=c(73456)},40829:(a,b,c)=>{"use strict";c.d(b,{GN:()=>l,Rs:()=>j,Tt:()=>k,eS:()=>n,hO:()=>i,nB:()=>h,yg:()=>m});var d=c(50846),e=c(73456),f=c(58739);let g=(0,d.h)("backend/services/model/encryption");async function h(a){g.debug("setEncryptionKey: Entering method"),g.warn("setEncryptionKey: This function is deprecated. Use initializeDefaultEncryption or initializeEncryption from secure.ts instead.");try{return{success:await (0,f.initializeDefaultEncryption)()}}catch(a){return g.warn("setEncryptionKey: Failed to set encryption key:",a),{success:!1,error:a instanceof Error?a.message:"Failed to set encryption key"}}}async function i(){g.debug("initializeDefaultEncryption: Entering method");try{let a=await (0,f.initializeDefaultEncryption)();return a?g.info("initializeDefaultEncryption: Default encryption initialized successfully"):g.error("initializeDefaultEncryption: Failed to initialize default encryption"),a}catch(a){return g.error("initializeDefaultEncryption: Failed to initialize default encryption:",a),!1}}async function j(a){g.debug("encryptApiKey: Entering method");try{if(!a||""===a.trim())return g.warn("encryptApiKey: Empty API key provided"),"";if(!await m()&&(g.warn("encryptApiKey: Encryption is not configured, initializing default encryption"),!await i()))return g.error("encryptApiKey: Failed to initialize default encryption"),`encrypted_failed:${a}`;let b=await (0,f.encryptWithPassword)(a);if(!b)return g.error("encryptApiKey: encryptWithPassword returned null"),`encrypted_failed:${a}`;return`encrypted:${b}`}catch(b){return g.error("encryptApiKey: Failed to encrypt API key:",b),`encrypted_failed:${a}`}}async function k(a){g.debug("decryptApiKey: Entering method");try{if(a&&a.startsWith("${global:"))return(await (0,e.resolveGlobalVars)({key:a})).key;if(a&&a.startsWith("encrypted_failed:"))return a.substring(17);return await (0,f.decryptWithPassword)(a)}catch(a){return g.warn("decryptApiKey: Failed to decrypt API key:",a),null}}async function l(a){g.debug("resolveAndDecryptApiKey: Entering method");try{return await (0,e.G)(a)}catch(a){return g.warn("resolveAndDecryptApiKey: Failed to resolve or decrypt API key:",a),null}}async function m(){g.debug("isEncryptionConfigured: Entering method");try{return await (0,f.isEncryptionInitialized)()}catch(a){return g.warn("isEncryptionConfigured: Failed to check encryption status:",a),!1}}async function n(){g.debug("isUserEncryptionEnabled: Entering method");try{return await (0,f.isUserEncryptionEnabled)()}catch(a){return g.warn("isUserEncryptionEnabled: Failed to check user encryption status:",a),!1}}},49680:(a,b,c)=>{"use strict";c.d(b,{RJ:()=>e,gF:()=>d});let d="masked:********",e="********"},51669:(a,b)=>{"use strict";function c(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
|
|
2
|
+
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(b,"D",{enumerable:!0,get:function(){return c}})},68633:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{decryptActionBoundArgs:function(){return s},encryptActionBoundArgs:function(){return r}}),c(77925);let d=c(97954),e=c(27825),f=c(47686),g=c(77533),h=c(63033),i=c(26906),j=function(a){return a&&a.__esModule?a:{default:a}}(c(74515)),k=new TextEncoder,l=new TextDecoder,m=void 0,n=void 0;async function o(a,b){let c=await (0,g.getActionEncryptionKey)();if(void 0===c)throw Object.defineProperty(Error("Missing encryption key for Server Action. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E65",enumerable:!1,configurable:!0});let d=atob(b),e=d.slice(0,16),f=d.slice(16),h=l.decode(await (0,g.decrypt)(c,(0,g.stringToUint8Array)(e),(0,g.stringToUint8Array)(f)));if(!h.startsWith(a))throw Object.defineProperty(Error("Invalid Server Action payload: failed to decrypt."),"__NEXT_ERROR_CODE",{value:"E191",enumerable:!1,configurable:!0});return h.slice(a.length)}async function p(a,b){let c=await (0,g.getActionEncryptionKey)();if(void 0===c)throw Object.defineProperty(Error("Missing encryption key for Server Action. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E65",enumerable:!1,configurable:!0});let d=new Uint8Array(16);h.workUnitAsyncStorage.exit(()=>crypto.getRandomValues(d));let e=(0,g.arrayBufferToString)(d.buffer),f=await (0,g.encrypt)(c,d,k.encode(a+b));return btoa(e+(0,g.arrayBufferToString)(f))}var q=function(a){return a[a.Ready=0]="Ready",a[a.Pending=1]="Pending",a[a.Complete=2]="Complete",a}(q||{});let r=j.default.cache(async function a(b,...c){let e=h.workUnitAsyncStorage.getStore(),j=e?(0,h.getCacheSignal)(e):void 0,{clientModules:k}=(0,g.getClientReferenceManifestForRsc)(),l=Error();Error.captureStackTrace(l,a);let n=!1,o=e?(0,i.createHangingInputAbortSignal)(e):void 0,q=0;function r(){0===q&&(q=1,null==j||j.beginRead())}function s(){1===q&&(null==j||j.endRead()),q=2}o&&j&&o.addEventListener("abort",r,{once:!0});let t=await (0,f.streamToString)((0,d.renderToReadableStream)(c,k,{filterStackFrame:m,signal:o,onError(a){(null==o||!o.aborted)&&(n||(n=!0,l.message=a instanceof Error?a.message:String(a)))}}),o);if(n)throw s(),l;if(!e)return p(b,t);r();let u=(0,h.getPrerenderResumeDataCache)(e),v=(0,h.getRenderResumeDataCache)(e),w=b+t,x=(null==u?void 0:u.encryptedBoundArgs.get(w))??(null==v?void 0:v.encryptedBoundArgs.get(w));if(x)return x;let y=await p(b,t);return s(),null==u||u.encryptedBoundArgs.set(w,y),y});async function s(a,b){let c,d=await b,f=h.workUnitAsyncStorage.getStore();if(f){let b=(0,h.getCacheSignal)(f),e=(0,h.getPrerenderResumeDataCache)(f),g=(0,h.getRenderResumeDataCache)(f);(c=(null==e?void 0:e.decryptedBoundArgs.get(d))??(null==g?void 0:g.decryptedBoundArgs.get(d)))||(null==b||b.beginRead(),c=await o(a,d),null==b||b.endRead(),null==e||e.decryptedBoundArgs.set(d,c))}else c=await o(a,d);let{edgeRscModuleMapping:i,rscModuleMapping:j}=(0,g.getClientReferenceManifestForRsc)();return await (0,e.createFromReadableStream)(new ReadableStream({start(a){switch(a.enqueue(k.encode(c)),null==f?void 0:f.type){case"prerender":case"prerender-runtime":f.renderSignal.aborted?a.close():f.renderSignal.addEventListener("abort",()=>a.close(),{once:!0});break;case"prerender-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":case void 0:return a.close()}}}),{findSourceMapURL:n,serverConsumerManifest:{moduleLoading:null,moduleMap:j,serverModuleMap:(0,g.getServerModuleMap)()}})}},73456:(a,b,c)=>{"use strict";c.d(b,{G:()=>l,resolveGlobalVars:()=>k});var d=c(75879);c(68633);var e=c(50846),f=c(92372),g=c(38844),h=c(58739),i=c(51669);let j=(0,e.h)("backend/utils/resolveGlobalVars");async function k(a){j.debug("Entering resolveGlobalVars method");let b=await (0,f.YM)(g.Z.GLOBAL_ENV_VARS,{}),c=function(a){if(!a||"object"!=typeof a)return!1;let b=Object.keys(a);if(0===b.length)return!0;let c=a[b[0]];return c&&"object"==typeof c&&"value"in c&&"metadata"in c&&"object"==typeof c.metadata&&"isSecret"in c.metadata}(b);j.debug(`Loaded ${Object.keys(b).length} global environment variables (${c?"new":"old"} format)`);let d={};if(c)for(let[a,c]of Object.entries(b))d[a]=c.value;else d={...b};let e=async a=>{let b=a.match(/\$\{global:([^}]+)\}/g);if(!b)return a;let c=a;for(let a of b){let b=a.substring(9,a.length-1);if(void 0!==d[b]){let e=d[b];if(e.startsWith("encrypted:")){j.debug(`Decrypting encrypted global variable: ${b}`);try{let a=e.substring(10),c=await (0,h.decryptWithPassword)(a);if(c)e=c,j.debug(`Successfully decrypted global variable: ${b}`);else{j.warn(`Failed to decrypt global variable: ${b}`);continue}}catch(a){j.error(`Error decrypting global variable: ${b}`,a);continue}}else if(e.startsWith("encrypted_failed:")){j.warn(`Skipping failed encrypted global variable: ${b}`);continue}j.debug(`Resolved global variable: ${b}`),c=c.replace(a,e)}else j.warn(`Global variable not found: ${b}`)}return c},i=async a=>{if("string"==typeof a)return await e(a);if(Array.isArray(a))return await Promise.all(a.map(a=>i(a)));if(null!==a&&"object"==typeof a){let b={};for(let[c,d]of Object.entries(a))b[c]=await i(d);return b}return a},k=await i(a);return"object"==typeof a&&null!==a&&j.debug("Resolved global variables result:",JSON.stringify(k,null,2)),j.debug("Completed global variable resolution"),k}async function l(a,b=0){if(j.debug(`Entering resolveAndDecryptApiKey method (depth: ${b})`),!a)return j.warn("Empty value provided"),null;if(b>=10)return j.warn(`Maximum resolution depth reached (10) for value: ${a}`),a;let c=a;if(c.startsWith("encrypted:")){j.debug(`Decrypting encrypted value at depth ${b}`);try{let a=c.substring(10),d=await (0,h.decryptWithPassword)(a);if(!d)return j.warn(`Failed to decrypt value at depth ${b}`),null;j.debug(`Successfully decrypted value at depth ${b}`),j.verbose(d),c=d}catch(a){return j.error(`Error decrypting value at depth ${b}:`,a),null}}else c.startsWith("encrypted_failed:")&&(j.warn(`Skipping failed encrypted value at depth ${b}`),c=c.substring(17));if(c.includes("${global:")){j.debug(`Resolving global variables at depth ${b}`);try{let a=await k(c);if(j.verbose(a),a!==c)return j.debug(`Value changed after resolving globals at depth ${b}, processing recursively`),l(a,b+1);c=a}catch(a){return j.error(`Error resolving global variables at depth ${b}:`,a),null}}return j.debug(`Completed resolveAndDecryptApiKey at depth ${b}`),c}(0,i.D)([k,l]),(0,d.A)(k,"40ec842092ea232b6d4aa599a380d422184da5e1ca",null),(0,d.A)(l,"602ea7ca289a8eaa1000fb321a71e292e6c766b6bb",null)},75879:(a,b,c)=>{"use strict";Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(97954)},78335:()=>{},96487:()=>{}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=6183,a.ids=[6183],a.modules={1708:a=>{a.exports=require("node:process")},4573:a=>{a.exports=require("node:buffer")},4984:a=>{a.exports=require("readline")},8086:a=>{a.exports=require("module")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11723:a=>{a.exports=require("querystring")},11997:a=>{a.exports=require("punycode")},12412:a=>{a.exports=require("assert")},19771:a=>{a.exports=require("process")},21820:a=>{a.exports=require("os")},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},34631:a=>{a.exports=require("tls")},37067:a=>{a.exports=require("node:http")},37830:a=>{a.exports=require("node:stream/web")},38522:a=>{a.exports=require("node:zlib")},44708:a=>{a.exports=require("node:https")},45957:(a,b,c)=>{async function d(){await c.e(
|
|
1
|
+
"use strict";(()=>{var a={};a.id=6183,a.ids=[6183],a.modules={1708:a=>{a.exports=require("node:process")},4573:a=>{a.exports=require("node:buffer")},4984:a=>{a.exports=require("readline")},8086:a=>{a.exports=require("module")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11723:a=>{a.exports=require("querystring")},11997:a=>{a.exports=require("punycode")},12412:a=>{a.exports=require("assert")},19771:a=>{a.exports=require("process")},21820:a=>{a.exports=require("os")},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},34631:a=>{a.exports=require("tls")},37067:a=>{a.exports=require("node:http")},37830:a=>{a.exports=require("node:stream/web")},38522:a=>{a.exports=require("node:zlib")},44708:a=>{a.exports=require("node:https")},45957:(a,b,c)=>{async function d(){await c.e(3570).then(c.bind(c,83570))}c.r(b),c.d(b,{register:()=>d})},46466:a=>{a.exports=require("node:stream/promises")},48161:a=>{a.exports=require("node:os")},51455:a=>{a.exports=require("node:fs/promises")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},57075:a=>{a.exports=require("node:stream")},57975:a=>{a.exports=require("node:util")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73496:a=>{a.exports=require("http2")},73566:a=>{a.exports=require("worker_threads")},74075:a=>{a.exports=require("zlib")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},78474:a=>{a.exports=require("node:events")},79428:a=>{a.exports=require("buffer")},79551:a=>{a.exports=require("url")},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},80481:a=>{a.exports=require("node:readline")},81630:a=>{a.exports=require("http")},83997:a=>{a.exports=require("tty")},84297:a=>{a.exports=require("async_hooks")},91645:a=>{a.exports=require("net")},94735:a=>{a.exports=require("events")},98995:a=>{a.exports=require("node:module")}};var b=require("./webpack-runtime.js");b.C(a);var c=b(b.s=45957);module.exports=c})();
|