flujo-ai 3.27.0 → 3.29.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 +410 -329
- package/.next/app-path-routes-manifest.json +32 -20
- package/.next/build-manifest.json +5 -5
- package/.next/react-loadable-manifest.json +17 -4
- package/.next/routes-manifest.json +31 -0
- package/.next/server/app/_not-found/page.js +2 -2
- 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 +3 -3
- 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.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.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 +1 -1
- package/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/init/route.js +1 -1
- package/.next/server/app/api/init/route.js.nft.json +1 -1
- package/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/local-models/capability/route.js +2 -1
- package/.next/server/app/api/local-models/capability/route.js.nft.json +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.js +2 -1
- package/.next/server/app/api/local-models/pull/route.js.nft.json +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 -1
- package/.next/server/app/api/packages/build/route.js.nft.json +1 -1
- package/.next/server/app/api/packages/build/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/packages/derive-secrets/route.js +1 -1
- package/.next/server/app/api/packages/derive-secrets/route.js.nft.json +1 -1
- package/.next/server/app/api/packages/derive-secrets/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/packages/install/route.js +1 -1
- package/.next/server/app/api/packages/install/route.js.nft.json +1 -1
- package/.next/server/app/api/packages/install/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/packages/install/status/route.js +1 -1
- package/.next/server/app/api/packages/install/status/route.js.nft.json +1 -1
- package/.next/server/app/api/packages/install/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/packages/installed/route.js +1 -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 -1
- package/.next/server/app/api/packages/resolve/route.js.nft.json +1 -1
- package/.next/server/app/api/packages/resolve/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/packages/scan-targets/route.js +1 -0
- package/.next/server/app/api/packages/scan-targets/route.js.nft.json +1 -0
- package/.next/server/app/api/packages/scan-targets/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.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 -1
- package/.next/server/app/api/registry/auth/resend/route.js.nft.json +1 -1
- package/.next/server/app/api/registry/auth/resend/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/registry/auth/reset/route.js +1 -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 -1
- package/.next/server/app/api/registry/auth/route.js.nft.json +1 -1
- package/.next/server/app/api/registry/auth/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/registry/oauth/callback/route.js +1 -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 -1
- package/.next/server/app/api/registry/publish/route.js.nft.json +1 -1
- package/.next/server/app/api/registry/publish/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/registry/settings/route.js +1 -1
- package/.next/server/app/api/registry/settings/route.js.nft.json +1 -1
- package/.next/server/app/api/registry/settings/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/restore/route.js +1 -1
- package/.next/server/app/api/restore/route.js.nft.json +1 -1
- package/.next/server/app/api/restore/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/runs/active/route.js +2 -2
- package/.next/server/app/api/runs/active/route.js.nft.json +1 -1
- package/.next/server/app/api/runs/active/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/storage/route.js +1 -1
- package/.next/server/app/api/storage/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/update/route.js +1 -1
- package/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/waves/route.js +1 -1
- package/.next/server/app/api/waves/route.js.nft.json +1 -1
- package/.next/server/app/api/waves/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/webhooks/[id]/route.js +1 -1
- package/.next/server/app/api/webhooks/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/webhooks/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/chat/page.js +8 -8
- package/.next/server/app/chat/page.js.nft.json +1 -1
- package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
- package/.next/server/app/chat.html +1 -1
- package/.next/server/app/chat.rsc +4 -4
- 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 +4 -4
- package/.next/server/app/executions/page.js +2 -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 +4 -4
- 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 +4 -4
- 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 -3
- package/.next/server/app/packages/page.js.nft.json +1 -1
- package/.next/server/app/packages/page_client-reference-manifest.js +1 -1
- package/.next/server/app/packages.html +1 -1
- package/.next/server/app/packages.rsc +4 -4
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/page.js +2 -3
- 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 +4 -4
- 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 +4 -4
- package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/events/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route.js +2 -0
- package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route.js.nft.json +1 -0
- package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route_client-reference-manifest.js +1 -0
- 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 +3 -3
- 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 +4 -4
- package/.next/server/app-paths-manifest.json +32 -20
- package/.next/server/chunks/1083.js +1 -1
- package/.next/server/chunks/1114.js +1 -1
- package/.next/server/chunks/1226.js +1 -1
- package/.next/server/chunks/1314.js +1 -1
- package/.next/server/chunks/{6529.js → 1578.js} +2 -2
- package/.next/server/chunks/1615.js +1 -0
- package/.next/server/chunks/1634.js +1 -0
- package/.next/server/chunks/166.js +5 -5
- package/.next/server/chunks/1805.js +1 -1
- package/.next/server/chunks/1819.js +1 -1
- package/.next/server/chunks/2180.js +1 -0
- package/.next/server/chunks/227.js +2 -2
- package/.next/server/chunks/2368.js +2 -0
- package/.next/server/chunks/2859.js +1 -1
- package/.next/server/chunks/{7674.js → 3030.js} +1 -1
- package/.next/server/chunks/3101.js +1 -0
- package/.next/server/chunks/3128.js +62 -0
- package/.next/server/chunks/3273.js +1 -0
- package/.next/server/chunks/3570.js +372 -0
- package/.next/server/chunks/3629.js +1 -1
- package/.next/server/chunks/38.js +2 -2
- package/.next/server/chunks/3951.js +151 -0
- package/.next/server/chunks/3984.js +4 -4
- package/.next/server/chunks/4239.js +1 -1
- package/.next/server/chunks/4265.js +1 -1
- package/.next/server/chunks/4366.js +2 -0
- package/.next/server/chunks/4426.js +2 -2
- package/.next/server/chunks/4551.js +6 -0
- package/.next/server/chunks/4663.js +1 -0
- package/.next/server/chunks/4671.js +1 -1
- package/.next/server/chunks/4681.js +1 -1
- package/.next/server/chunks/4685.js +1 -0
- package/.next/server/chunks/4771.js +2 -2
- package/.next/server/chunks/4961.js +2 -0
- package/.next/server/chunks/5040.js +53 -0
- package/.next/server/chunks/5067.js +1 -0
- package/.next/server/chunks/5096.js +1 -1
- package/.next/server/chunks/5148.js +1 -0
- package/.next/server/chunks/5200.js +1 -0
- package/.next/server/chunks/544.js +135 -0
- package/.next/server/chunks/5463.js +1 -1
- package/.next/server/chunks/5544.js +5 -5
- package/.next/server/chunks/5561.js +1 -0
- package/.next/server/chunks/5708.js +5 -4
- package/.next/server/chunks/5786.js +2 -0
- package/.next/server/chunks/5829.js +1 -0
- package/.next/server/chunks/5863.js +37 -0
- package/.next/server/chunks/5880.js +1 -1
- package/.next/server/chunks/6034.js +77 -0
- package/.next/server/chunks/{1089.js → 6219.js} +1 -1
- package/.next/server/chunks/6226.js +6 -0
- package/.next/server/chunks/6432.js +1 -0
- package/.next/server/chunks/6496.js +1 -0
- package/.next/server/chunks/6518.js +2 -0
- package/.next/server/chunks/6588.js +2 -0
- package/.next/server/chunks/6793.js +1 -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/7506.js +1 -1
- package/.next/server/chunks/7579.js +8 -7
- package/.next/server/chunks/7634.js +4 -0
- package/.next/server/chunks/7821.js +1 -1
- package/.next/server/chunks/793.js +403 -0
- package/.next/server/chunks/7969.js +1 -0
- package/.next/server/chunks/{6537.js → 8001.js} +1 -1
- package/.next/server/chunks/8092.js +1 -0
- package/.next/server/chunks/8165.js +3 -0
- package/.next/server/chunks/8321.js +1 -0
- package/.next/server/chunks/8339.js +1 -0
- package/.next/server/chunks/8356.js +1 -0
- package/.next/server/chunks/8387.js +1 -1
- package/.next/server/chunks/848.js +39 -0
- package/.next/server/chunks/{8192.js → 8568.js} +1 -1
- package/.next/server/chunks/8667.js +1 -1
- package/.next/server/chunks/8739.js +2 -2
- package/.next/server/chunks/9174.js +1 -0
- package/.next/server/chunks/9251.js +1 -0
- package/.next/server/chunks/9253.js +3 -0
- package/.next/server/chunks/9285.js +1 -1
- package/.next/server/chunks/94.js +1 -1
- package/.next/server/chunks/9537.js +39 -0
- package/.next/server/chunks/9671.js +1 -0
- package/.next/server/chunks/9724.js +403 -0
- package/.next/server/chunks/9857.js +1 -0
- package/.next/server/chunks/{3298.js → 9868.js} +2 -2
- 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/pages-manifest.json +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/server/src/middleware.js +1 -1
- package/.next/server/src/middleware.js.map +1 -1
- package/.next/static/JGMk-MwwdpQ94asqw-mUR/_buildManifest.js +1 -0
- package/.next/static/chunks/1572-b663a83bba28a0a1.js +8 -0
- package/.next/static/chunks/1988-bd73f26184e930c1.js +1 -0
- package/.next/static/chunks/2233-1139c1d3ef356980.js +1 -0
- package/.next/static/chunks/2266-d812473724cc6643.js +1 -0
- package/.next/static/chunks/2988-0b197a9b468a2df9.js +1 -0
- package/.next/static/chunks/3089.a0856f8093b90939.js +1 -0
- package/.next/static/chunks/3418-a2f5d0c4f29ee2fb.js +1 -0
- package/.next/static/chunks/3659-0ab9580d5ee5deea.js +1 -0
- package/.next/static/chunks/3672-cd86ace43288da79.js +1 -0
- package/.next/static/chunks/{8041-05830e887c133085.js → 3827-9e9a6e11ef808d90.js} +1 -1
- package/.next/static/chunks/3910.5c6885d7a5bd753e.js +1 -0
- package/.next/static/chunks/3958-5641a828b320f2fe.js +100 -0
- package/.next/static/chunks/435-17c79f3b9f8dd38d.js +1 -0
- package/.next/static/chunks/454.5fc2f8eef98483e3.js +1 -0
- package/.next/static/chunks/4740-62814d07b2b7f760.js +1 -0
- package/.next/static/chunks/5418-45aa7e646ad024be.js +1 -0
- package/.next/static/chunks/5661-1b976072cc3d2fed.js +1 -0
- package/.next/static/chunks/6404-86615a5f5ce5c00f.js +1 -0
- package/.next/static/chunks/6947-0ff3545efb53e959.js +1 -0
- package/.next/static/chunks/7445-d8a8be6e451c522e.js +1 -0
- package/.next/static/chunks/8054-f33d06ecea5d36e4.js +1 -0
- package/.next/static/chunks/812-dfe7ba07ddb7a565.js +1 -0
- package/.next/static/chunks/8404-14ef0345dc401ac5.js +1 -0
- package/.next/static/chunks/8855-02889c9ab4bf0bcf.js +1 -0
- package/.next/static/chunks/8863-c140a742178a4a87.js +1 -0
- package/.next/static/chunks/9562-5494feecd8c6f7a3.js +1 -0
- package/.next/static/chunks/9581-6d2523fd68a5e3c4.js +1 -0
- package/.next/static/chunks/app/api/approvals/[id]/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/approvals/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/backup/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/browse/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/bugs/enhance/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/cwd/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/encryption/secure/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/env/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/flow/[id]/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/flow/[id]/versions/[versionId]/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/flow/[id]/versions/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/flow/compile/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/flow/generate/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/flow/improve/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/flow/prompt-renderer/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/flow/quick-chat/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/flow/repair/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/flow/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/git/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/init/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/local-models/capability/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/local-models/pull/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/local-models/suggest/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/mcp/app-sandbox/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/mcp/cancel/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/mcp/oauth-capability/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/mcp/test-connection/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/mcp/test-connection/stream/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/mcp-registry/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/mcp-registry/spotlight/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/model/[id]/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/model/provider/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/model/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/model/test/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/oauth/callback/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/oauth/initiate/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/oauth/reset/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/packages/build/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/packages/derive-secrets/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/packages/install/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/packages/install/status/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/packages/installed/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/packages/resolve/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/packages/scan-targets/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/packages/uninstall/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/[id]/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/[id]/run/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/reconcile/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/registry/auth/resend/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/registry/auth/reset/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/registry/auth/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/registry/oauth/callback/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/registry/oauth/initiate/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/registry/publish/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/registry/settings/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/restore/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/runs/active/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/storage/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/update/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/waves/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/api/webhooks/[id]/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/chat/page-2b69c5e35164f553.js +1 -0
- package/.next/static/chunks/app/docs/page-250523af44e96120.js +1 -0
- package/.next/static/chunks/app/executions/page-1d8557a642114697.js +1 -0
- package/.next/static/chunks/app/flows/page-3f0d7cca2edff792.js +1 -0
- package/.next/static/chunks/app/layout-81f91fb3b894951a.js +1 -0
- package/.next/static/chunks/app/mcp/page-0e90177062130679.js +1 -0
- package/.next/static/chunks/app/mcp-flows/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/mcp-proxy/[server]/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/models/page-c69e10b83c06535d.js +1 -0
- package/.next/static/chunks/app/packages/page-bf8aad441c664433.js +1 -0
- package/.next/static/chunks/app/settings/page-4a9952c514f284e0.js +1 -0
- package/.next/static/chunks/app/v1/chat/completions/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/inject/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/resources/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/v1/chat/events/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/v1/models/route-7d60cffa598f4779.js +1 -0
- package/.next/static/chunks/app/waves/page-3ca939f0f7e817b1.js +1 -0
- package/.next/static/chunks/webpack-08eb993682e1fb1a.js +1 -0
- package/.next/static/css/30253fcfa8035221.css +1 -0
- package/.next/trace +10 -9
- 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/installed/route.ts +347 -0
- package/.next/types/app/api/packages/scan-targets/route.ts +347 -0
- package/.next/types/app/api/packages/uninstall/route.ts +347 -0
- package/.next/types/app/api/registry/auth/reset/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/v1/chat/conversations/[conversationId]/inject/route.ts +347 -0
- package/.next/types/app/v1/chat/events/route.ts +347 -0
- package/.next/types/routes.d.ts +13 -1
- package/.next/types/validator.ts +108 -0
- package/README.md +6 -1
- package/package.json +98 -95
- package/.next/server/chunks/1197.js +0 -2
- package/.next/server/chunks/1373.js +0 -1
- package/.next/server/chunks/1604.js +0 -65
- package/.next/server/chunks/1659.js +0 -1
- package/.next/server/chunks/237.js +0 -1
- package/.next/server/chunks/2373.js +0 -1
- package/.next/server/chunks/2434.js +0 -2
- package/.next/server/chunks/2940.js +0 -41
- package/.next/server/chunks/3304.js +0 -1
- package/.next/server/chunks/346.js +0 -1
- package/.next/server/chunks/3569.js +0 -1
- package/.next/server/chunks/4042.js +0 -1
- package/.next/server/chunks/4545.js +0 -21
- package/.next/server/chunks/4661.js +0 -1
- package/.next/server/chunks/4765.js +0 -1
- package/.next/server/chunks/5094.js +0 -2
- package/.next/server/chunks/5734.js +0 -60
- package/.next/server/chunks/6005.js +0 -1
- package/.next/server/chunks/6996.js +0 -1
- package/.next/server/chunks/7028.js +0 -1
- package/.next/server/chunks/7214.js +0 -6
- package/.next/server/chunks/724.js +0 -27
- package/.next/server/chunks/7362.js +0 -158
- package/.next/server/chunks/7463.js +0 -6
- package/.next/server/chunks/7485.js +0 -1
- package/.next/server/chunks/7498.js +0 -42
- package/.next/server/chunks/7764.js +0 -37
- package/.next/server/chunks/826.js +0 -52
- package/.next/server/chunks/8522.js +0 -2
- package/.next/server/chunks/8572.js +0 -1
- package/.next/server/chunks/869.js +0 -2
- package/.next/server/chunks/8732.js +0 -62
- package/.next/server/chunks/8851.js +0 -1
- package/.next/server/chunks/8994.js +0 -2
- package/.next/server/chunks/9387.js +0 -15
- package/.next/server/chunks/9400.js +0 -2
- package/.next/server/chunks/9472.js +0 -2
- package/.next/server/chunks/9583.js +0 -1
- package/.next/static/O-elWbT5rs6ci1CrCqez1/_buildManifest.js +0 -1
- package/.next/static/chunks/2019-f22580cb726c5dca.js +0 -1
- package/.next/static/chunks/256-a13a59247ac6cc68.js +0 -1
- package/.next/static/chunks/2566-60acd5838abd9f3f.js +0 -1
- package/.next/static/chunks/2822-8168e3bb8443a1ec.js +0 -1
- package/.next/static/chunks/2981-10313d395eb99645.js +0 -1
- package/.next/static/chunks/3028-fc1f04241ed578ff.js +0 -1
- package/.next/static/chunks/3089.9e15df4ffd0fe4e8.js +0 -1
- package/.next/static/chunks/3556-b9855146c7506696.js +0 -1
- package/.next/static/chunks/3560-5bdceef09b50e1c3.js +0 -1
- package/.next/static/chunks/3574-94e9f20550550a58.js +0 -1
- package/.next/static/chunks/4483-463f8bfc6f3dd5fa.js +0 -1
- package/.next/static/chunks/5512.682bef7fd3a7c286.js +0 -1
- package/.next/static/chunks/5578-49bc150686c13b6f.js +0 -1
- package/.next/static/chunks/5766-dbd21cb8435605aa.js +0 -1
- package/.next/static/chunks/5866-6834cbc4ab02d86f.js +0 -1
- package/.next/static/chunks/6669-012c73587a6628fc.js +0 -1
- package/.next/static/chunks/6691-117567b2b40cd9f4.js +0 -1
- package/.next/static/chunks/6961-a40e97c06e616300.js +0 -1
- package/.next/static/chunks/7445-2802e158c9093556.js +0 -1
- package/.next/static/chunks/7554-db290baed5782cab.js +0 -8
- package/.next/static/chunks/795-704a0e742ecc2ef6.js +0 -1
- package/.next/static/chunks/812-8b3d4e0f6546d6f9.js +0 -1
- package/.next/static/chunks/9554-cb5bd72cb40e8dbe.js +0 -1
- package/.next/static/chunks/9562-ef0ddd4e6b9023cf.js +0 -1
- package/.next/static/chunks/9720-5ecb48f1a28808fe.js +0 -1
- package/.next/static/chunks/app/api/approvals/[id]/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/approvals/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/backup/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/browse/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/bugs/enhance/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/cwd/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/encryption/secure/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/env/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/flow/[id]/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/flow/compile/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/flow/generate/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/flow/improve/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/flow/prompt-renderer/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/flow/quick-chat/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/flow/repair/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/flow/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/git/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/init/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/local-models/capability/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/local-models/pull/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/local-models/suggest/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/mcp/cancel/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/mcp/test-connection/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/mcp/test-connection/stream/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/mcp-registry/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/mcp-registry/spotlight/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/model/[id]/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/model/provider/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/model/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/model/test/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/oauth/callback/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/oauth/initiate/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/oauth/reset/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/packages/build/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/packages/derive-secrets/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/packages/install/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/packages/install/status/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/packages/resolve/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/planned-executions/[id]/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/planned-executions/[id]/run/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/planned-executions/reconcile/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/planned-executions/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/registry/auth/resend/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/registry/auth/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/registry/publish/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/registry/settings/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/restore/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/runs/active/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/storage/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/update/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/waves/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/api/webhooks/[id]/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/chat/page-93403b0e520ba8d3.js +0 -1
- package/.next/static/chunks/app/docs/page-2c972a639cd9a41c.js +0 -1
- package/.next/static/chunks/app/executions/page-bb2fef60b2240f69.js +0 -1
- package/.next/static/chunks/app/flows/page-d60c5b47c923564a.js +0 -1
- package/.next/static/chunks/app/layout-eea7078d7553c21a.js +0 -1
- package/.next/static/chunks/app/mcp/page-92c03186d566a4f5.js +0 -1
- package/.next/static/chunks/app/mcp-flows/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/mcp-proxy/[server]/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/models/page-d71e5606a8e29479.js +0 -1
- package/.next/static/chunks/app/packages/page-e64480d78312edd0.js +0 -1
- package/.next/static/chunks/app/settings/page-d067a3a624ec2fa0.js +0 -1
- package/.next/static/chunks/app/v1/chat/completions/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/resources/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/v1/models/route-3e3cc52436d34625.js +0 -1
- package/.next/static/chunks/app/waves/page-ff15db2f75fb5d62.js +0 -1
- package/.next/static/chunks/webpack-2b2d7505a2ac6538.js +0 -1
- package/.next/static/css/40f9bef305b11bf5.css +0 -1
- /package/.next/static/{O-elWbT5rs6ci1CrCqez1 → JGMk-MwwdpQ94asqw-mUR}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";exports.id=5040,exports.ids=[1925,3629,4306,5040,6793,9174],exports.modules={1925:(a,b,c)=>{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()},5248:(a,b,c)=>{c.d(b,{P:()=>m,p:()=>k});var d=c(32524),e=c(81226);function f(a){return!!a&&a.includes("mcp")}function g(a){return!!a&&a.includes("resource")}let h=a=>({source:`${a}-bottom`,target:`${a}-top`});function i(a,b){let c=a.filter(a=>"mcp"!==a.type&&"resource"!==a.type&&"string"==typeof a.id),d=new Map(c.map(a=>[a.id,a])),e=new Map,i=new Map,j=new Set;for(let a of c)e.set(a.id,0),i.set(a.id,0);let k=(a,b)=>{j.add(`${a}->${b}`),i.set(a,(i.get(a)??0)+1),e.set(b,(e.get(b)??0)+1)};for(let a of b)d.has(a.from)&&d.has(a.to)&&a.from!==a.to&&(k(a.from,a.to),a.bidirectional&&k(a.to,a.from));let l=[];for(let a of[...c].sort((a,b)=>a.y-b.y||a.x-b.x)){let b=l[l.length-1];b&&70>=Math.abs(a.y-b[0].y)?b.push(a):l.push([a])}let m=new Map;l.forEach((a,b)=>a.forEach(a=>m.set(a.id,b)));let n=new Map;for(let a=1;a<l.length;a++){let b=l[a],c=b.filter(a=>"subflow"===a.type);if(c.length>=2&&c.length===b.length){let b=l[a-1];if(1===b.length&&"process"===b[0].type)for(let a of c)n.set(a.id,b[0].id)}}let o=[],p=(a,b)=>{if(a===b||j.has(`${a}->${b}`))return!1;let c=d.get(a),e=d.get(b);return!(!c||!e||null!==function(a,b,c,d){if("trigger"===a&&"start"===c)return b&&"trigger-bottom"!==b?"Trigger nodes must connect via their bottom handle":d&&"start-top"!==d?"Trigger nodes must connect to the top handle of the Start node":null;if("trigger"===c)return"Trigger nodes cannot have incoming connections";if("trigger"===a&&"start"!==c)return"Trigger nodes can only connect to the Start node";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||f(b)||f(d))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||f(b)?null:"Connect MCP nodes from the Process node's left/right MCP handles";if("resource"===a||"resource"===c||g(b)||g(d)){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&&!g(b))return"Connect Resource nodes from the Process node's left/right resource handles"}return null}(c.type,h(c.type).source,e.type,h(e.type).target)||"subflow"===c.type&&(i.get(a)??0)>=1)},q=(a,b,c,d)=>{o.push({from:a,to:b,bidirectional:c,reason:d}),k(a,b),c&&k(b,a)},r=a=>{let b=m.get(a.id)??0;for(let c=b-1;c>=0;c--){let b=l[c].filter(b=>b.id!==a.id&&"finish"!==b.type&&!n.has(b.id));if(0!==b.length){if(1===b.length)return b[0];return b.reduce((b,c)=>Math.abs(c.x-a.x)<Math.abs(b.x-a.x)?c:b)}}return null};for(let a of l)for(let b of a){if("start"===b.type||(e.get(b.id)??0)>0)continue;let a=n.get(b.id);if(a){p(a,b.id)&&q(a,b.id,!0,"auto-bidirectional-subflow");continue}let c=r(b);c&&p(c.id,b.id)&&q(c.id,b.id,!1,"auto-connected")}let s=c.filter(a=>"start"===a.type),t=()=>c.filter(a=>"start"!==a.type&&"finish"!==a.type&&!n.has(a.id)&&(e.get(a.id)??0)===0),u=null;if(0===s.length){let a=t();if(a.length>0)u={targets:a.map(a=>a.id)};else{let a=c.filter(a=>"finish"!==a.type).sort((a,b)=>a.y-b.y)[0];a&&(u={targets:[a.id]})}}else{let a=s[0];for(let b of t())p(a.id,b.id)&&q(a.id,b.id,!1,"auto-connected")}let v=c.filter(a=>"finish"===a.type),w=()=>c.filter(a=>"start"!==a.type&&"finish"!==a.type&&!n.has(a.id)&&(i.get(a.id)??0)===0),x=null;if(0===v.length){let a=w();a.length>0&&(x={sources:a.map(a=>a.id)})}else{let a=v[0];for(let b of w())p(b.id,a.id)&&q(b.id,a.id,!1,"auto-connected")}return{addEdges:o,addStart:u,addFinish:x}}function j(a,b){if(!b.has(a))return a;for(let c=2;;c++){let d=`${a}_${c}`;if(!b.has(d))return d}}function k(a){let b=[];return{spec:function a(b,c){let d=Array.isArray(b?.nodes)?b.nodes.map(a=>({...a})):[],e=Array.isArray(b?.edges)?b.edges.map(a=>({...a})):[];for(let b of d)b?.type==="subflow"&&b.subflowSpec&&(b.subflowSpec=a(b.subflowSpec,c));let f=d.filter(a=>a&&"string"==typeof a.key&&!!a.key&&"mcp"!==a.type);if(0===f.length)return{...b,nodes:d,edges:e};let g=i(f.map((a,b)=>({id:a.key,type:a.type,x:0,y:1e3*b})),e.filter(a=>a&&"string"==typeof a.from&&"string"==typeof a.to).map(a=>({from:a.from,to:a.to,bidirectional:!0===a.bidirectional})));for(let a of g.addEdges)e.push({from:a.from,to:a.to,...a.bidirectional?{bidirectional:!0}:{}}),c.push({code:a.reason,message:n(a.reason),nodeId:a.to});let h=new Set(d.map(a=>a.key).filter(Boolean));if(g.addStart){let a=j("start",h);for(let b of(h.add(a),d.unshift({key:a,type:"start"}),g.addStart.targets))e.push({from:a,to:b});c.push({code:"auto-added-start",message:`Added a Start node connected to ${g.addStart.targets.length} entry step(s).`})}if(g.addFinish){let a=j("finish",h);for(let b of(h.add(a),d.push({key:a,type:"finish"}),g.addFinish.sources))e.push({from:b,to:a});c.push({code:"auto-added-finish",message:`Added a Finish node connected from ${g.addFinish.sources.length} final step(s).`})}return{...b,nodes:d,edges:e}}(a,b),changes:b}}function l(a){return a.data?.type??a.type??"unknown"}function m(a){var b,c;let f=(a?.nodes??[]).map(a=>({...a,position:{...a.position??{x:0,y:0}},data:{...a.data}})),g=[...a?.edges??[]],h={...a,nodes:f,edges:g},j=[],k=i(f.filter(a=>"mcp"!==l(a)&&"resource"!==l(a)).map(a=>({id:a.id,type:l(a),x:a.position?.x??0,y:a.position?.y??0})),g.filter(a=>!function(a){let b=a.data?.edgeType;return"mcp"===b||"resource"===b}(a)).map(a=>({from:a.source,to:a.target,bidirectional:a.data?.bidirectional===!0}))),m=new Map(f.map(a=>[a.id,a])),o=(a,b,c)=>{let d=m.get(a),f=m.get(b);d&&f&&g.push((0,e.pX)(d,f,c))};for(let a of k.addEdges)o(a.from,a.to,a.bidirectional),j.push({code:a.reason,message:n(a.reason),nodeId:a.to});if(k.addStart){let a=k.addStart.targets.map(a=>m.get(a)).filter(Boolean).reduce((a,b)=>!a||b.position.y<a.position.y?b:a,null),c=(b={x:a?.position.x??250,y:(a?.position.y??150)-150},{id:(0,d.A)(),type:"start",position:b,data:{label:"Start Node",type:"start",properties:{promptTemplate:""}}});for(let a of(f.unshift(c),m.set(c.id,c),k.addStart.targets))o(c.id,a,!1);j.push({code:"auto-added-start",message:`Added a Start node connected to ${k.addStart.targets.length} entry step(s).`,nodeId:c.id})}if(k.addFinish){let a=k.addFinish.sources.map(a=>m.get(a)).filter(Boolean).reduce((a,b)=>!a||b.position.y>a.position.y?b:a,null),b=(c={x:a?.position.x??250,y:(a?.position.y??0)+150},{id:(0,d.A)(),type:"finish",position:c,data:{label:"Finish Node",type:"finish",properties:{}}});for(let a of(f.push(b),m.set(b.id,b),k.addFinish.sources))o(a,b.id,!1);j.push({code:"auto-added-finish",message:`Added a Finish node connected from ${k.addFinish.sources.length} final step(s).`,nodeId:b.id})}return{flow:h,changes:j}}function n(a){switch(a){case"auto-connected":return"Connected a disconnected step into the flow.";case"auto-bidirectional-subflow":return"Wired a parallel subflow with a two-way handoff to its orchestrator.";case"auto-added-start":return"Added a Start node.";case"auto-added-finish":return"Added a Finish node."}}},56793:(a,b,c)=>{c.d(b,{eh:()=>g,ru:()=>e});let d=(0,c(50846).h)("backend/services/scheduler/flowRunEventBus");function e(a){return"signal"===a.kind}class f{publish(a){if(0===this.listeners.size)return;let b=e(a)?`signal topic=${a.topic} emitter=${a.emitterFlowId}`:`flow=${a.flowId} status=${a.status}`;for(let c of(d.debug(`Publishing flow event: ${b} firedBy=${a.firedBy} depth=${a.chainDepth} listeners=${this.listeners.size}`),[...this.listeners]))try{c(a)}catch(a){d.warn("A flow-run event listener threw:",a)}}subscribe(a){return this.listeners.add(a),()=>{this.listeners.delete(a)}}get listenerCount(){return this.listeners.size}constructor(){this.listeners=new Set}}function g(){return global.__flujo_flow_run_event_bus||(global.__flujo_flow_run_event_bus=new f),global.__flujo_flow_run_event_bus}},71994:(a,b,c)=>{c.d(b,{GN:()=>B,Xg:()=>C,UC:()=>D});var d=c(50846),e=c(20433),f=c(75512),g=c(46496),h=c(81226),i=c(84671),j=c(5248),k=c(88185),l=c(14265),m=c(1905),n=c(33233),o=c(9312),p=c(41527);let q=["prompt","isolatedPrompt","payloadTemplate"];function r(a){return RegExp("\\$\\{var:\\s*"+a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"\\s*\\}","g")}function s(a,b){for(let c of q){let d=a[c];"string"==typeof d&&(a[c]=b(d))}Array.isArray(a.spawnBriefs)&&(a.spawnBriefs=a.spawnBriefs.map(a=>"string"==typeof a?b(a):a))}function t(a){return a.replace(/[ \t]{2,}/g," ").replace(/[ \t]+([.,;:!?])/g,"$1").replace(/[ \t]+\n/g,"\n")}let u=(0,d.h)("backend/services/flow/generateFlow");function v(a,b,c,d){let e=c?`MULTI-LEVEL FLOWS — you MAY design subflows that are themselves brand-new flows:
|
|
2
|
+
- A subflow node normally references an EXISTING flow via "flow". To instead create a NEW child flow, use ONE of these on the subflow node (not "flow"):
|
|
3
|
+
- "subflowSpec": an inline nested FlowSpec (you author the whole child now), or
|
|
4
|
+
- "generateSubflow": a short natural-language description of the child — FLUJO will generate that child flow for you.
|
|
5
|
+
- Nest only when a self-contained sub-task genuinely deserves its own flow. Nesting is bounded: at most ${d} level(s) deep and ${h.lk} flows total. Keep it minimal.`:`SUBFLOWS: a subflow node's "flow" must reference an EXISTING flow (by name or id). Do NOT use "subflowSpec" or "generateSubflow" — multi-level generation is off for this run.`,f=b?`CAPABILITY ACQUISITION — you are allowed to EXPAND this FLUJO instance:
|
|
6
|
+
- If the task needs a capability none of the configured servers provides (voice, vision, browsing, email, code execution, …), use search_mcp_marketplace to find a server for it, then install_mcp_server to install the best match. Prefer servers that need no API keys (empty requiredEnv); if the best option needs keys, install a keyless alternative or note the requirement in the flow description.
|
|
7
|
+
- After a successful install, reference the returned server name in a process node's "servers" list and enable the tools it reported.
|
|
8
|
+
- Be ambitious: an actual capability (real audio, real browsing, real files) beats a text approximation. Search with several short terms ("voice", "tts", "speech") — the registry matches server NAMES only.`:`CAPABILITY DISCOVERY — you may search but NOT install:
|
|
9
|
+
- If the task needs a capability none of the configured servers provides, you may use search_mcp_marketplace to see what exists. Do NOT reference unconfigured servers in the spec; instead mention the recommended server (its registry name) in the flow "description" so the user can install it.`;return`You design workflows for FLUJO, an MCP-first workflow builder. The user describes what they want; you emit a flow specification as JSON.
|
|
10
|
+
|
|
11
|
+
OUTPUT FORMAT — when you are done (after any tool use), respond with ONLY one JSON object, no prose, no code fences.
|
|
12
|
+
|
|
13
|
+
${k.R}
|
|
14
|
+
|
|
15
|
+
GENERATED-FLOW DEFAULTS (context saving): process nodes you leave without an explicit inputMode/outputMode are compiled with inputMode "latest-message" and outputMode "latest-message" — each step sees only the current task and later steps see only its final response, not its tool calls/results. When a step genuinely needs the whole conversation or later steps need its intermediate work, set "full-history" / "full-conversation" explicitly.
|
|
16
|
+
|
|
17
|
+
GENERATED-FLOW DATA-FLOW POLICY (IMPORTANT — carry data through the conversation, NOT scratchpad variables):
|
|
18
|
+
1. PREFER CONVERSATION HISTORY. For a later step to use an earlier step's output, keep that output in the thread: give the earlier (producer) step outputMode "full-conversation" (or leave "latest-message" when only its final text matters) and give the later (consumer) step inputMode "full-history" so it actually sees the producer's turn. This is the default, robust way to move data forward.
|
|
19
|
+
2. DO NOT emit \${var:NAME} in generated prompts. The scratchpad variable feature (captureVariable + \${var:NAME}) is a valid HAND-AUTHORING tool, but for AUTO-GENERATED flows it is a footgun: a missing/late capture silently bakes an EMPTY string into the reading step's prompt and breaks the run. Do not use \${var:NAME} just to shuttle ordinary text one step forward — use history (rule 1).
|
|
20
|
+
3. WHEN HISTORY IS INSUFFICIENT (the consumer is "isolated"/"latest-message" and still needs an earlier step's data, or the artifact is large/structured/binary), use a RUN RESOURCE instead of a scratchpad variable: the producer step sets "captureResource": "NAME" and the consumer step injects \${res:NAME} in its prompt. A run resource survives isolated/latest-message scoping and is tracked with lineage. Example:
|
|
21
|
+
{ "key": "writer", "type": "process", "model": "...", "prompt": "Draft the full report.", "captureResource": "report" }
|
|
22
|
+
{ "key": "critic", "type": "process", "model": "...", "inputMode": "isolated", "isolatedPrompt": "Critique this report:
|
|
23
|
+
|
|
24
|
+
\${res:report}" }
|
|
25
|
+
(edge writer -> critic). Use \${res:NAME}, never \${var:NAME}, in generated flows.
|
|
26
|
+
4. Any \${var:NAME} you emit anyway will be automatically rewritten to history or a run resource (or removed if nothing captures it), so emit history/\${res:...} directly to keep control of the design.
|
|
27
|
+
|
|
28
|
+
${f}
|
|
29
|
+
|
|
30
|
+
${e}
|
|
31
|
+
|
|
32
|
+
${a}`}function w(a){return a.map(a=>`- [${a.severity}] ${a.message}`).join("\n")}function x(a){let b=[{type:"function",function:{name:"search_mcp_marketplace",description:'Search the public MCP server registry. The registry matches the query against server NAMES only (substring), so use short single terms ("voice", "tts", "browser") and try several. Returns name, description, whether FLUJO can install it, and which env vars/keys it requires.',parameters:{type:"object",properties:{query:{type:"string",description:"Short search term matched against server names."}},required:["query"]}}}];return a&&b.push({type:"function",function:{name:"install_mcp_server",description:"Install an MCP server from the registry (by the exact name returned by search) and connect it. Returns the server name to reference in the spec and the tools it provides — or needsEnv when required keys are missing (then pick an alternative or note it for the user). Installing can take a while (package download).",parameters:{type:"object",properties:{name:{type:"string",description:'Exact registry name from search results, e.g. "ai.keenable/web-search".'}},required:["name"]}}}),b}async function y(a,b,c,d){if("search_mcp_marketplace"===a){let a="string"==typeof b.query?b.query:"";try{return await (0,l.e3)(a)}catch(a){return{error:`Registry search failed: ${a instanceof Error?a.message:String(a)}`}}}if("install_mcp_server"===a){if(!c)return{error:"Installing is not allowed in this generation (allowInstall is off)."};let a="string"==typeof b.name?b.name:"",e=await (0,l.aM)(a,void 0,{resolveOnly:!0}),f=await (0,m.Ej)(),g=(0,n.e5)({caller:"generator",settings:f,registryName:a,allowInstall:c});e.plan&&await (0,m.NB)((0,n.UM)(e.plan,"generator",g,!1));let h=await (0,l.aM)(a);return h.plan&&await (0,m.NB)((0,n.UM)(h.plan,"generator",g,h.installed,h.error)),h.installed&&h.serverName&&(d.contextDirty=!0,d.installedServers.push({name:h.serverName,tools:(h.tools??[]).map(a=>a.name),...h.alreadyExisted?{alreadyExisted:!0}:{},...h.plan?.command?{command:h.plan.command}:{},...h.plan?.args?{args:h.plan.args}:{},...h.plan?.verificationStatus?{verificationStatus:h.plan.verificationStatus}:{}})),h}return{error:`Unknown tool: ${a}`}}async function z(a,b,c,d,e,f,h){let i={};for(let a of e){if("function"!==a.type)continue;let b=a.function.name;i[b]=a=>y(b,a,f,h)}for(let j=0;j<=8;j++){let k=e.length>0&&j<8,{completion:l}=await a.createCompletion({model:b,apiKey:c,messages:d,temperature:0,maxTokens:(0,g.normalizeMaxTokens)(b.maxTokens),...k?{tools:e,localToolExecutors:i}:{}}),m=l.choices?.[0]?.message,n=m?.tool_calls??[];if(0===n.length)return"string"==typeof m?.content?m.content:"";for(let a of(d.push({role:"assistant",content:m?.content??null,tool_calls:n}),n)){if("function"!==a.type)continue;let b={};try{b=JSON.parse(a.function.arguments||"{}")}catch{}u.info(`Generator tool call: ${a.function.name}(${a.function.arguments})`);let c=await y(a.function.name,b,f,h);d.push({role:"tool",tool_call_id:a.id,content:JSON.stringify(c)})}7===j&&d.push({role:"user",content:"Tool budget exhausted. Emit the COMPLETE flow specification now as a single JSON object using what you have."})}return""}function A(a){let b=a.indexOf("{");if(-1===b)return null;let c=0,d=!1,e=!1;for(let f=b;f<a.length;f++){let g=a[f];if(d){e?e=!1:"\\"===g?e=!0:'"'===g&&(d=!1);continue}if('"'===g)d=!0;else if("{"===g)c++;else if("}"===g&&0==--c)try{return JSON.parse(a.slice(b,f+1))}catch{break}}return null}async function B(a){var b;let c="string"==typeof a?.description?a.description.trim():"";if(!c)return{success:!1,error:"A flow description is required",statusCode:400};if(!a?.modelId||"string"!=typeof a.modelId)return{success:!1,error:"A generator model id is required",statusCode:400};let d=!0===a.allowInstall,g=!0===a.allowSubflows,k=g?"number"!=typeof(b=a.maxDepth)||Number.isNaN(b)?2:Math.max(0,Math.min(h.A_,Math.floor(b))):0,l=await e.modelService.getModel(a.modelId);if(!l)return{success:!1,error:`Generator model not found: ${a.modelId}`,statusCode:404};let m=await e.modelService.resolveAndDecryptApiKey(l.ApiKey)||("codex-cli"!==l.adapter||l.ApiKey?.trim()?null:"");if(null===m)return{success:!1,error:"Could not resolve the generator model API key",statusCode:500};let n=await (0,o.jY)(),y=(0,f.getCompletionAdapter)(l),B=x(d),C={installedServers:[],contextDirty:!1},D=Math.min("number"==typeof a.maxRepairs&&a.maxRepairs>=0?a.maxRepairs:1,2),E=1;async function F(a,b){let c,e=[{role:"system",content:v(n.catalog,d,g&&b<k,k)},{role:"user",content:a}];try{c=await z(y,l,m,e,B,d,C)}catch(a){return u.warn("A child subflow generation call failed; leaving the subflow unresolved",a),null}let f=A(c);return f&&"object"==typeof f?f:null}async function G(a,b){if(a&&Array.isArray(a.nodes))for(let c of a.nodes){if(c?.type!=="subflow"||c.flow)continue;if(c.subflowSpec){await G(c.subflowSpec,b+1);continue}let a="string"==typeof c.generateSubflow?c.generateSubflow.trim():"";if(!a)continue;if(b+1>k||E>=h.lk){u.info(`Not expanding generateSubflow (depth ${b+1}, ${E} flows so far): budget/depth reached`);continue}let d=await F(a,b+1);d?(E++,c.subflowSpec=d,delete c.generateSubflow,await G(d,b+1)):delete c.generateSubflow}}let H=[{role:"system",content:v(n.catalog,d,g,k)},{role:"user",content:c}],I=null,J=0;for(let a=0;a<=D;a++){let b;J++,E=1;try{b=await z(y,l,m,H,B,d,C)}catch(a){if(u.error("Generator model call failed",a),I)break;return{success:!1,error:`The generator model call failed: ${a instanceof Error?a.message:String(a)}`,statusCode:502}}let c=A(b);if(!c){if(u.warn(`Attempt ${J}: model output contained no parseable JSON object`),C.contextDirty){try{n=await (0,o.jY)()}catch(a){u.warn("Re-gathering context after install failed; keeping the stale catalog",a)}C.contextDirty=!1}H.push({role:"assistant",content:b},{role:"user",content:"Your reply contained no parseable JSON object. Re-emit the COMPLETE flow specification as a single JSON object and nothing else."});continue}if(g)try{await G(c,0)}catch(a){u.warn("Subflow expansion failed; compiling the root spec as-is",a)}if(C.contextDirty){try{n=await (0,o.jY)()}catch(a){u.warn("Re-gathering context after install failed; validating with the stale catalog",a)}C.contextDirty=!1}let e=[];try{let a=function(a){let b=[];try{!function a(b,c){if(b&&Array.isArray(b.nodes)){for(let d of(!function(a,b){let c=Array.isArray(a?.nodes)?a.nodes.filter(a=>a&&"string"==typeof a.key):[];if(0===c.length)return;let d=Array.isArray(a?.edges)?a.edges:[],e=new Map;for(let a of c)e.set(a.key,new Set);for(let a of d)a&&"string"==typeof a.from&&"string"==typeof a.to&&(e.has(a.to)&&e.get(a.to).add(a.from),a.bidirectional&&e.has(a.from)&&e.get(a.from).add(a.to));let f=a=>{let b=new Set,c=[...e.get(a)??[]];for(;c.length;){let d=c.pop();if(!b.has(d)&&d!==a)for(let a of(b.add(d),e.get(d)??[]))c.push(a)}return b},g=new Set;for(let a of c)"string"==typeof a.parallelFlowsVariable&&a.parallelFlowsVariable.trim()&&g.add(a.parallelFlowsVariable.trim());let h=new Map;for(let a of c){let b="string"==typeof a.captureVariable?a.captureVariable.trim():"";b&&(h.has(b)||h.set(b,[]),h.get(b).push(a))}let i=new Map;for(let a of c)for(let b of function(a){let b=new Set;for(let c of q){let d=a[c];if("string"==typeof d)for(let a of(0,p.T9)(d))b.add(a)}if(Array.isArray(a.spawnBriefs)){for(let c of a.spawnBriefs)if("string"==typeof c)for(let a of(0,p.T9)(c))b.add(a)}return[...b]}(a))i.has(b)||i.set(b,[]),i.get(b).push(a);for(let[a,d]of i){if(g.has(a))continue;let e=h.get(a)??[],i=d.filter(a=>{let b=f(a.key);return e.some(c=>c.key!==a.key&&b.has(c.key))});if(0===i.length){let d=r(a);for(let a of c)s(a,a=>t(a.replace(d,"")));b.push({code:"var-dangling",message:`Removed \${var:${a}} — no earlier step captures it (it would resolve to an empty string at run time).`});continue}if(i.some(a=>"isolated"===a.inputMode)){if(e.some(b=>"string"==typeof b.captureResource&&b.captureResource.trim()&&b.captureResource.trim()!==a))continue;for(let b of e)b.captureResource=a,delete b.captureVariable;let d=r(a);for(let b of c)s(b,b=>b.replace(d,"${res:"+a+"}"));b.push({code:"var-resource",message:`Converted scratchpad \${var:${a}} to a tracked run resource \${res:${a}} (a consumer is isolated, so conversation history cannot carry it).`});continue}let j=r(a);for(let a of c)s(a,a=>t(a.replace(j,"")));for(let a of i)a.inputMode="full-history";for(let b of e)b.captureVariable===a&&delete b.captureVariable;b.push({code:"var-history",message:`Removed scratchpad \${var:${a}} and set the reading step(s) to full-history so the value flows through the conversation instead.`})}}(b,c),b.nodes))if(d&&(d.subflowSpec&&a(d.subflowSpec,c),Array.isArray(d.parallelSubflowSpecs)))for(let b of d.parallelSubflowSpecs)a(b,c)}}(a,b)}catch{}return{spec:a,changes:b}}(c);a.changes.length>0&&(u.info(`Attempt ${J}: scratchpad-var guard rewrote ${a.changes.length} reference(s)`),e=a.changes.map(a=>({severity:"warning",code:a.code,message:a.message})))}catch(a){u.warn("Scratchpad-var guard failed; compiling the spec as-is",a)}let f=c,v=[];try{let a=(0,j.p)(c);a.changes.length>0&&(f=a.spec,v=a.changes,u.info(`Attempt ${J}: auto-repair adjusted the spec (${v.length} change(s))`))}catch(a){u.warn("Auto-repair of the generated spec failed; compiling the spec as-is",a)}let x=v.map(a=>({severity:"warning",code:a.code,message:a.message})),F=(0,h.dM)(f,n.compile,{maxDepth:k,maxFlows:h.lk});if(!F.flow){H.push({role:"assistant",content:b},{role:"user",content:`The specification could not be compiled:
|
|
33
|
+
${w(F.issues)}
|
|
34
|
+
Fix these problems and re-emit the COMPLETE corrected JSON (only the JSON).`});continue}for(let a of F.flows)(0,h.Zn)(a);let K=F.flows.map(a=>({flow:a,validation:(0,i.nC)(a,{models:n.compile.models,servers:n.validatorServers,serverTools:n.compile.serverTools})})),L=(0,o.RB)([...e,...x,...F.issues],{issues:K.flatMap(a=>a.validation.issues),errorCount:0,warningCount:0,isRunnable:!0});if(I={flows:K,rootFlow:F.flow,validation:L},0===L.errorCount)break;u.info(`Attempt ${J}: bundle has ${L.errorCount} error(s)`+(a<D?"; asking the model to repair":"; repair budget exhausted")),a<D&&H.push({role:"assistant",content:b},{role:"user",content:`The flow you specified has these problems:
|
|
35
|
+
${w(L.issues)}
|
|
36
|
+
Fix the errors (warnings are advisory) and re-emit the COMPLETE corrected JSON (only the JSON).`})}return I?(u.info(`Generated draft bundle rooted at "${I.rootFlow.name}" (${I.flows.length} flow(s)) in ${J} attempt(s): ${I.validation.errorCount} error(s), ${I.validation.warningCount} warning(s), ${C.installedServers.length} server(s) installed`),{success:!0,flow:I.rootFlow,validation:I.validation,flows:I.flows,rootFlowId:I.rootFlow.id,attempts:J,installedServers:C.installedServers}):{success:!1,error:"The model did not produce a usable flow specification. Try rephrasing the description or a different generator model.",statusCode:422}}async function C(a){let b="string"==typeof a?.description?a.description.trim():"";if(!b)return{success:!1,error:"A change description is required",statusCode:400};if(!a?.modelId||"string"!=typeof a.modelId)return{success:!1,error:"A generator model id is required",statusCode:400};let c=a?.flow;if(!c||"object"!=typeof c||!Array.isArray(c.nodes)||!Array.isArray(c.edges))return{success:!1,error:"A valid flow to improve is required",statusCode:400};let d=await e.modelService.getModel(a.modelId);if(!d)return{success:!1,error:`Generator model not found: ${a.modelId}`,statusCode:404};let g=await e.modelService.resolveAndDecryptApiKey(d.ApiKey)||("codex-cli"!==d.adapter||d.ApiKey?.trim()?null:"");if(null===g)return{success:!1,error:"Could not resolve the generator model API key",statusCode:500};let j=!0===a.allowInstall,k=await (0,o.jY)(),l=(0,f.getCompletionAdapter)(d),m=x(j),n={installedServers:[],contextDirty:!1},p=Math.min("number"==typeof a.maxRepairs&&a.maxRepairs>=0?a.maxRepairs:1,2),q=(0,h.FH)(c),r={};for(let a of c.nodes)a?.id&&a.position&&"number"==typeof a.position.x&&"number"==typeof a.position.y&&(r[a.id]={x:a.position.x,y:a.position.y});let s=a=>({models:a.compile.models,servers:a.compile.servers,serverTools:a.compile.serverTools,flows:(a.compile.flows??[]).filter(a=>a.id!==c.id)}),t=`EXISTING FLOW (modify this — keep unchanged parts intact, and KEEP each node's "key" for any node you do NOT restructure so its canvas position is preserved):
|
|
37
|
+
${JSON.stringify(q)}
|
|
38
|
+
|
|
39
|
+
CHANGE REQUEST:
|
|
40
|
+
${b}
|
|
41
|
+
|
|
42
|
+
Re-emit the COMPLETE flow specification as a single JSON object (only the JSON), including the nodes you did not change.`,y=[{role:"system",content:v(k.catalog,j,!1,0)},{role:"user",content:t}],B=null,C=0;for(let a=0;a<=p;a++){let b;C++;try{b=await z(l,d,g,y,m,j,n)}catch(a){if(u.error("Improver model call failed",a),B)break;return{success:!1,error:`The generator model call failed: ${a instanceof Error?a.message:String(a)}`,statusCode:502}}if(n.contextDirty){try{k=await (0,o.jY)()}catch(a){u.warn("Re-gathering context after install failed; using the stale catalog",a)}n.contextDirty=!1}let e=A(b);if(!e){u.warn(`Improve attempt ${C}: model output contained no parseable JSON object`),y.push({role:"assistant",content:b},{role:"user",content:"Your reply contained no parseable JSON object. Re-emit the COMPLETE flow specification as a single JSON object and nothing else."});continue}let f=(0,h.dM)(e,s(k),{maxDepth:0,maxFlows:1,positions:r});if(!f.flow){y.push({role:"assistant",content:b},{role:"user",content:`The specification could not be compiled:
|
|
43
|
+
${w(f.issues)}
|
|
44
|
+
Fix these problems and re-emit the COMPLETE corrected JSON (only the JSON).`});continue}f.flow.id=c.id,"string"==typeof e.name&&e.name.trim()||(f.flow.name=c.name),(0,h.Zn)(f.flow);let q=(0,i.nC)(f.flow,{models:k.compile.models,servers:k.validatorServers,serverTools:k.compile.serverTools}),t=(0,o.RB)(f.issues,q);if(B={flows:[{flow:f.flow,validation:q}],rootFlow:f.flow,validation:t},0===t.errorCount)break;u.info(`Improve attempt ${C}: flow has ${t.errorCount} error(s)`+(a<p?"; asking the model to repair":"; repair budget exhausted")),a<p&&y.push({role:"assistant",content:b},{role:"user",content:`The flow you specified has these problems:
|
|
45
|
+
${w(t.issues)}
|
|
46
|
+
Fix the errors (warnings are advisory) and re-emit the COMPLETE corrected JSON (only the JSON).`})}return B?(u.info(`Improved draft "${B.rootFlow.name}" in ${C} attempt(s): ${B.validation.errorCount} error(s), ${B.validation.warningCount} warning(s), ${n.installedServers.length} server(s) installed`),{success:!0,flow:B.rootFlow,validation:B.validation,flows:B.flows,rootFlowId:B.rootFlow.id,attempts:C,installedServers:n.installedServers}):{success:!1,error:"The model did not produce a usable flow specification. Try rephrasing the change request or a different generator model.",statusCode:422}}async function D(a){let b=a?.flow;if(!b||"object"!=typeof b||!Array.isArray(b.nodes)||!Array.isArray(b.edges))return{success:!1,error:"A valid flow to repair is required",statusCode:400};if(!a?.modelId||"string"!=typeof a.modelId)return{success:!1,error:"A repair model id is required",statusCode:400};let c=(0,i.nC)(b),d=c.issues.length>0?`
|
|
47
|
+
|
|
48
|
+
Known problems to fix:
|
|
49
|
+
${w(c.issues)}`:"";return C({flow:b,description:`Repair this flow's wiring so it is runnable, WITHOUT changing any node's prompt, model, or servers:
|
|
50
|
+
- add a Start node if one is missing, connected to the first step;
|
|
51
|
+
- add a Finish node if one is missing, connected from the last step;
|
|
52
|
+
- connect any disconnected process/subflow nodes.
|
|
53
|
+
Read node placement as intent: nodes stacked top-to-bottom are sequential steps, and nodes on the same horizontal line are parallel branches under a shared parent above them.${d}`,modelId:a.modelId,...void 0!==a.allowInstall?{allowInstall:a.allowInstall}:{},...void 0!==a.maxRepairs?{maxRepairs:a.maxRepairs}:{}})}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=5067,exports.ids=[5067],exports.modules={26961:(a,b,c)=>{c.r(b),c.d(b,{bigint:()=>i,boolean:()=>h,date:()=>j,number:()=>g,string:()=>f});var d=c(89901),e=c(10522);function f(a){return d.K_(e.ZodString,a)}function g(a){return d.qG(e.ZodNumber,a)}function h(a){return d.dN(e.ZodBoolean,a)}function i(a){return d.St(e.ZodBigInt,a)}function j(a){return d.B4(e.ZodDate,a)}},68780:(a,b,c)=>{c.d(b,{$9:()=>bE,Cs:()=>bP,Dn:()=>a1,EV:()=>j,FP:()=>a9,FT:()=>a6,GU:()=>bM,HM:()=>aZ,Iu:()=>i,K1:()=>bn,LW:()=>F,Mg:()=>ah,Nh:()=>bR,O$:()=>aC,O4:()=>d,OI:()=>az,OR:()=>G,PC:()=>h,Ql:()=>ak,R6:()=>aE,Rk:()=>X,Sc:()=>al,Sq:()=>J,TF:()=>a4,TI:()=>bo,UJ:()=>x,WK:()=>aX,WQ:()=>bO,WT:()=>a3,Yu:()=>aO,ZC:()=>Y,_r:()=>ab,a5:()=>ao,a8:()=>N,aE:()=>g,bZ:()=>s,b_:()=>bb,br:()=>a$,cL:()=>aK,cv:()=>aA,eK:()=>V,fH:()=>a7,gH:()=>aq,gW:()=>a2,gd:()=>ap,hh:()=>aG,ig:()=>D,ki:()=>aj,lg:()=>B,n_:()=>bH,oQ:()=>am,rk:()=>U,s:()=>aB,tC:()=>$,u$:()=>aW,u9:()=>bm,ve:()=>aF,vo:()=>z,w9:()=>aV,wR:()=>H,wU:()=>Z,xI:()=>a8,zR:()=>an});var d,e=c(10522),f=c(92139);let g="2025-11-25",h="2025-03-26",i=[g,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],j="io.modelcontextprotocol/related-task",k=e.custom(a=>null!==a&&("object"==typeof a||"function"==typeof a)),l=e.union([e.string(),e.number().int()]),m=e.string();e.looseObject({ttl:e.number().optional(),pollInterval:e.number().optional()});let n=e.object({ttl:e.number().optional()}),o=e.object({taskId:e.string()}),p=e.looseObject({progressToken:l.optional(),[j]:o.optional()}),q=e.object({_meta:p.optional()}),r=q.extend({task:n.optional()}),s=a=>r.safeParse(a).success,t=e.object({method:e.string(),params:q.loose().optional()}),u=e.object({_meta:p.optional()}),v=e.object({method:e.string(),params:u.loose().optional()}),w=e.looseObject({_meta:p.optional()}),x=e.union([e.string(),e.number().int()]),y=e.object({jsonrpc:e.literal("2.0"),id:x,...t.shape}).strict(),z=a=>y.safeParse(a).success,A=e.object({jsonrpc:e.literal("2.0"),...v.shape}).strict(),B=a=>A.safeParse(a).success,C=e.object({jsonrpc:e.literal("2.0"),id:x,result:w}).strict(),D=a=>C.safeParse(a).success;!function(a){a[a.ConnectionClosed=-32e3]="ConnectionClosed",a[a.RequestTimeout=-32001]="RequestTimeout",a[a.ParseError=-32700]="ParseError",a[a.InvalidRequest=-32600]="InvalidRequest",a[a.MethodNotFound=-32601]="MethodNotFound",a[a.InvalidParams=-32602]="InvalidParams",a[a.InternalError=-32603]="InternalError",a[a.UrlElicitationRequired=-32042]="UrlElicitationRequired"}(d||(d={}));let E=e.object({jsonrpc:e.literal("2.0"),id:x.optional(),error:e.object({code:e.number().int(),message:e.string(),data:e.unknown().optional()})}).strict(),F=a=>E.safeParse(a).success,G=e.union([y,A,C,E]);e.union([C,E]);let H=w.strict(),I=u.extend({requestId:x.optional(),reason:e.string().optional()}),J=v.extend({method:e.literal("notifications/cancelled"),params:I}),K=e.object({src:e.string(),mimeType:e.string().optional(),sizes:e.array(e.string()).optional(),theme:e.enum(["light","dark"]).optional()}),L=e.object({icons:e.array(K).optional()}),M=e.object({name:e.string(),title:e.string().optional()}),N=M.extend({...M.shape,...L.shape,version:e.string(),websiteUrl:e.string().optional(),description:e.string().optional()}),O=e.intersection(e.object({applyDefaults:e.boolean().optional()}),e.record(e.string(),e.unknown())),P=e.preprocess(a=>a&&"object"==typeof a&&!Array.isArray(a)&&0===Object.keys(a).length?{form:{}}:a,e.intersection(e.object({form:O.optional(),url:k.optional()}),e.record(e.string(),e.unknown()).optional())),Q=e.looseObject({list:k.optional(),cancel:k.optional(),requests:e.looseObject({sampling:e.looseObject({createMessage:k.optional()}).optional(),elicitation:e.looseObject({create:k.optional()}).optional()}).optional()}),R=e.looseObject({list:k.optional(),cancel:k.optional(),requests:e.looseObject({tools:e.looseObject({call:k.optional()}).optional()}).optional()}),S=e.object({experimental:e.record(e.string(),k).optional(),sampling:e.object({context:k.optional(),tools:k.optional()}).optional(),elicitation:P.optional(),roots:e.object({listChanged:e.boolean().optional()}).optional(),tasks:Q.optional(),extensions:e.record(e.string(),k).optional()}),T=q.extend({protocolVersion:e.string(),capabilities:S,clientInfo:N}),U=t.extend({method:e.literal("initialize"),params:T}),V=a=>U.safeParse(a).success,W=e.object({experimental:e.record(e.string(),k).optional(),logging:k.optional(),completions:k.optional(),prompts:e.object({listChanged:e.boolean().optional()}).optional(),resources:e.object({subscribe:e.boolean().optional(),listChanged:e.boolean().optional()}).optional(),tools:e.object({listChanged:e.boolean().optional()}).optional(),tasks:R.optional(),extensions:e.record(e.string(),k).optional()}),X=w.extend({protocolVersion:e.string(),capabilities:W,serverInfo:N,instructions:e.string().optional()}),Y=v.extend({method:e.literal("notifications/initialized"),params:u.optional()}),Z=a=>Y.safeParse(a).success,$=t.extend({method:e.literal("ping"),params:q.optional()}),_=e.object({progress:e.number(),total:e.optional(e.number()),message:e.optional(e.string())}),aa=e.object({...u.shape,..._.shape,progressToken:l}),ab=v.extend({method:e.literal("notifications/progress"),params:aa}),ac=q.extend({cursor:m.optional()}),ad=t.extend({params:ac.optional()}),ae=w.extend({nextCursor:m.optional()}),af=e.enum(["working","input_required","completed","failed","cancelled"]),ag=e.object({taskId:e.string(),status:af,ttl:e.union([e.number(),e.null()]),createdAt:e.string(),lastUpdatedAt:e.string(),pollInterval:e.optional(e.number()),statusMessage:e.optional(e.string())}),ah=w.extend({task:ag}),ai=u.merge(ag),aj=v.extend({method:e.literal("notifications/tasks/status"),params:ai}),ak=t.extend({method:e.literal("tasks/get"),params:q.extend({taskId:e.string()})}),al=w.merge(ag),am=t.extend({method:e.literal("tasks/result"),params:q.extend({taskId:e.string()})});w.loose();let an=ad.extend({method:e.literal("tasks/list")}),ao=ae.extend({tasks:e.array(ag)}),ap=t.extend({method:e.literal("tasks/cancel"),params:q.extend({taskId:e.string()})}),aq=w.merge(ag),ar=e.object({uri:e.string(),mimeType:e.optional(e.string()),_meta:e.record(e.string(),e.unknown()).optional()}),as=ar.extend({text:e.string()}),at=e.string().refine(a=>{try{return atob(a),!0}catch{return!1}},{message:"Invalid Base64 string"}),au=ar.extend({blob:at}),av=e.enum(["user","assistant"]),aw=e.object({audience:e.array(av).optional(),priority:e.number().min(0).max(1).optional(),lastModified:f.datetime({offset:!0}).optional()}),ax=e.object({...M.shape,...L.shape,uri:e.string(),description:e.optional(e.string()),mimeType:e.optional(e.string()),size:e.optional(e.number()),annotations:aw.optional(),_meta:e.optional(e.looseObject({}))}),ay=e.object({...M.shape,...L.shape,uriTemplate:e.string(),description:e.optional(e.string()),mimeType:e.optional(e.string()),annotations:aw.optional(),_meta:e.optional(e.looseObject({}))}),az=ad.extend({method:e.literal("resources/list")}),aA=ae.extend({resources:e.array(ax)}),aB=ad.extend({method:e.literal("resources/templates/list")}),aC=ae.extend({resourceTemplates:e.array(ay)}),aD=q.extend({uri:e.string()}),aE=t.extend({method:e.literal("resources/read"),params:aD}),aF=w.extend({contents:e.array(e.union([as,au]))}),aG=v.extend({method:e.literal("notifications/resources/list_changed"),params:u.optional()}),aH=t.extend({method:e.literal("resources/subscribe"),params:aD}),aI=t.extend({method:e.literal("resources/unsubscribe"),params:aD}),aJ=u.extend({uri:e.string()}),aK=v.extend({method:e.literal("notifications/resources/updated"),params:aJ}),aL=e.object({name:e.string(),description:e.optional(e.string()),required:e.optional(e.boolean())}),aM=e.object({...M.shape,...L.shape,description:e.optional(e.string()),arguments:e.optional(e.array(aL)),_meta:e.optional(e.looseObject({}))}),aN=ad.extend({method:e.literal("prompts/list")}),aO=ae.extend({prompts:e.array(aM)}),aP=q.extend({name:e.string(),arguments:e.record(e.string(),e.string()).optional()}),aQ=t.extend({method:e.literal("prompts/get"),params:aP}),aR=e.object({type:e.literal("text"),text:e.string(),annotations:aw.optional(),_meta:e.record(e.string(),e.unknown()).optional()}),aS=e.object({type:e.literal("image"),data:at,mimeType:e.string(),annotations:aw.optional(),_meta:e.record(e.string(),e.unknown()).optional()}),aT=e.object({type:e.literal("audio"),data:at,mimeType:e.string(),annotations:aw.optional(),_meta:e.record(e.string(),e.unknown()).optional()}),aU=e.object({type:e.literal("tool_use"),name:e.string(),id:e.string(),input:e.record(e.string(),e.unknown()),_meta:e.record(e.string(),e.unknown()).optional()}),aV=e.object({type:e.literal("resource"),resource:e.union([as,au]),annotations:aw.optional(),_meta:e.record(e.string(),e.unknown()).optional()}),aW=ax.extend({type:e.literal("resource_link")}),aX=e.union([aR,aS,aT,aW,aV]),aY=e.object({role:av,content:aX}),aZ=w.extend({description:e.string().optional(),messages:e.array(aY)}),a$=v.extend({method:e.literal("notifications/prompts/list_changed"),params:u.optional()}),a_=e.object({title:e.string().optional(),readOnlyHint:e.boolean().optional(),destructiveHint:e.boolean().optional(),idempotentHint:e.boolean().optional(),openWorldHint:e.boolean().optional()}),a0=e.object({taskSupport:e.enum(["required","optional","forbidden"]).optional()}),a1=e.object({...M.shape,...L.shape,description:e.string().optional(),inputSchema:e.object({type:e.literal("object"),properties:e.record(e.string(),k).optional(),required:e.array(e.string()).optional()}).catchall(e.unknown()),outputSchema:e.object({type:e.literal("object"),properties:e.record(e.string(),k).optional(),required:e.array(e.string()).optional()}).catchall(e.unknown()).optional(),annotations:a_.optional(),execution:a0.optional(),_meta:e.record(e.string(),e.unknown()).optional()}),a2=ad.extend({method:e.literal("tools/list")}),a3=ae.extend({tools:e.array(a1)}),a4=w.extend({content:e.array(aX).default([]),structuredContent:e.record(e.string(),e.unknown()).optional(),isError:e.boolean().optional()});a4.or(w.extend({toolResult:e.unknown()}));let a5=r.extend({name:e.string(),arguments:e.record(e.string(),e.unknown()).optional()}),a6=t.extend({method:e.literal("tools/call"),params:a5}),a7=v.extend({method:e.literal("notifications/tools/list_changed"),params:u.optional()}),a8=e.object({autoRefresh:e.boolean().default(!0),debounceMs:e.number().int().nonnegative().default(300)}),a9=e.enum(["debug","info","notice","warning","error","critical","alert","emergency"]),ba=q.extend({level:a9}),bb=t.extend({method:e.literal("logging/setLevel"),params:ba}),bc=u.extend({level:a9,logger:e.string().optional(),data:e.unknown()}),bd=v.extend({method:e.literal("notifications/message"),params:bc}),be=e.object({name:e.string().optional()}),bf=e.object({hints:e.array(be).optional(),costPriority:e.number().min(0).max(1).optional(),speedPriority:e.number().min(0).max(1).optional(),intelligencePriority:e.number().min(0).max(1).optional()}),bg=e.object({mode:e.enum(["auto","required","none"]).optional()}),bh=e.object({type:e.literal("tool_result"),toolUseId:e.string().describe("The unique identifier for the corresponding tool call."),content:e.array(aX).default([]),structuredContent:e.object({}).loose().optional(),isError:e.boolean().optional(),_meta:e.record(e.string(),e.unknown()).optional()}),bi=e.discriminatedUnion("type",[aR,aS,aT]),bj=e.discriminatedUnion("type",[aR,aS,aT,aU,bh]),bk=e.object({role:av,content:e.union([bj,e.array(bj)]),_meta:e.record(e.string(),e.unknown()).optional()}),bl=r.extend({messages:e.array(bk),modelPreferences:bf.optional(),systemPrompt:e.string().optional(),includeContext:e.enum(["none","thisServer","allServers"]).optional(),temperature:e.number().optional(),maxTokens:e.number().int(),stopSequences:e.array(e.string()).optional(),metadata:k.optional(),tools:e.array(a1).optional(),toolChoice:bg.optional()}),bm=t.extend({method:e.literal("sampling/createMessage"),params:bl}),bn=w.extend({model:e.string(),stopReason:e.optional(e.enum(["endTurn","stopSequence","maxTokens"]).or(e.string())),role:av,content:bi}),bo=w.extend({model:e.string(),stopReason:e.optional(e.enum(["endTurn","stopSequence","maxTokens","toolUse"]).or(e.string())),role:av,content:e.union([bj,e.array(bj)])}),bp=e.object({type:e.literal("boolean"),title:e.string().optional(),description:e.string().optional(),default:e.boolean().optional()}),bq=e.object({type:e.literal("string"),title:e.string().optional(),description:e.string().optional(),minLength:e.number().optional(),maxLength:e.number().optional(),format:e.enum(["email","uri","date","date-time"]).optional(),default:e.string().optional()}),br=e.object({type:e.enum(["number","integer"]),title:e.string().optional(),description:e.string().optional(),minimum:e.number().optional(),maximum:e.number().optional(),default:e.number().optional()}),bs=e.object({type:e.literal("string"),title:e.string().optional(),description:e.string().optional(),enum:e.array(e.string()),default:e.string().optional()}),bt=e.object({type:e.literal("string"),title:e.string().optional(),description:e.string().optional(),oneOf:e.array(e.object({const:e.string(),title:e.string()})),default:e.string().optional()}),bu=e.object({type:e.literal("string"),title:e.string().optional(),description:e.string().optional(),enum:e.array(e.string()),enumNames:e.array(e.string()).optional(),default:e.string().optional()}),bv=e.union([bs,bt]),bw=e.object({type:e.literal("array"),title:e.string().optional(),description:e.string().optional(),minItems:e.number().optional(),maxItems:e.number().optional(),items:e.object({type:e.literal("string"),enum:e.array(e.string())}),default:e.array(e.string()).optional()}),bx=e.object({type:e.literal("array"),title:e.string().optional(),description:e.string().optional(),minItems:e.number().optional(),maxItems:e.number().optional(),items:e.object({anyOf:e.array(e.object({const:e.string(),title:e.string()}))}),default:e.array(e.string()).optional()}),by=e.union([bw,bx]),bz=e.union([bu,bv,by]),bA=e.union([bz,bp,bq,br]),bB=r.extend({mode:e.literal("form").optional(),message:e.string(),requestedSchema:e.object({type:e.literal("object"),properties:e.record(e.string(),bA),required:e.array(e.string()).optional()})}),bC=r.extend({mode:e.literal("url"),message:e.string(),elicitationId:e.string(),url:e.string().url()}),bD=e.union([bB,bC]),bE=t.extend({method:e.literal("elicitation/create"),params:bD}),bF=u.extend({elicitationId:e.string()}),bG=v.extend({method:e.literal("notifications/elicitation/complete"),params:bF}),bH=w.extend({action:e.enum(["accept","decline","cancel"]),content:e.preprocess(a=>null===a?void 0:a,e.record(e.string(),e.union([e.string(),e.number(),e.boolean(),e.array(e.string())])).optional())}),bI=e.object({type:e.literal("ref/resource"),uri:e.string()}),bJ=e.object({type:e.literal("ref/prompt"),name:e.string()}),bK=q.extend({ref:e.union([bJ,bI]),argument:e.object({name:e.string(),value:e.string()}),context:e.object({arguments:e.record(e.string(),e.string()).optional()}).optional()}),bL=t.extend({method:e.literal("completion/complete"),params:bK}),bM=w.extend({completion:e.looseObject({values:e.array(e.string()).max(100),total:e.optional(e.number().int()),hasMore:e.optional(e.boolean())})}),bN=e.object({uri:e.string().startsWith("file://"),name:e.string().optional(),_meta:e.record(e.string(),e.unknown()).optional()}),bO=t.extend({method:e.literal("roots/list"),params:q.optional()}),bP=w.extend({roots:e.array(bN)}),bQ=v.extend({method:e.literal("notifications/roots/list_changed"),params:u.optional()});e.union([$,U,bL,bb,aQ,aN,az,aB,aE,aH,aI,a6,a2,ak,am,an,ap]),e.union([J,ab,Y,bQ,aj]),e.union([H,bn,bo,bH,bP,al,ao,ah]),e.union([$,bm,bE,bO,ak,am,an,ap]),e.union([J,ab,bd,aK,aG,a7,a$,aj,bG]),e.union([H,X,bM,aZ,aO,aA,aC,aF,a4,a3,al,ao,ah]);class bR extends Error{constructor(a,b,c){super(`MCP error ${a}: ${b}`),this.code=a,this.data=c,this.name="McpError"}static fromError(a,b,c){return a===d.UrlElicitationRequired&&c&&c.elicitations?new bS(c.elicitations,b):new bR(a,b,c)}}class bS extends bR{constructor(a,b=`URL elicitation${a.length>1?"s":""} required`){super(d.UrlElicitationRequired,b,{elicitations:a})}get elicitations(){return this.data?.elicitations??[]}}},83578:(a,b,c)=>{c.d(b,{eq:()=>f,kY:()=>d,pJ:()=>g,si:()=>h});var d,e=c(30902);let f={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};function g(a){e.$W({customError:a})}function h(){return e.$W().customError}d||(d={})},95067:(a,b,c)=>{c.d(b,{D_:()=>N,j2:()=>R,eH:()=>U});var d=c(96271),e=c(68780),f=c(10522),g=c(83578),h=c(30902),i=c(26961);let j=f.url().superRefine((a,b)=>{if(!URL.canParse(a))return b.addIssue({code:g.eq.custom,message:"URL must be parseable",fatal:!0}),h.tm}).refine(a=>{let b=new URL(a);return"javascript:"!==b.protocol&&"data:"!==b.protocol&&"vbscript:"!==b.protocol},{message:"URL cannot use javascript:, data:, or vbscript: scheme"}),k=f.looseObject({resource:f.string().url(),authorization_servers:f.array(j).optional(),jwks_uri:f.string().url().optional(),scopes_supported:f.array(f.string()).optional(),bearer_methods_supported:f.array(f.string()).optional(),resource_signing_alg_values_supported:f.array(f.string()).optional(),resource_name:f.string().optional(),resource_documentation:f.string().optional(),resource_policy_uri:f.string().url().optional(),resource_tos_uri:f.string().url().optional(),tls_client_certificate_bound_access_tokens:f.boolean().optional(),authorization_details_types_supported:f.array(f.string()).optional(),dpop_signing_alg_values_supported:f.array(f.string()).optional(),dpop_bound_access_tokens_required:f.boolean().optional()}),l=f.looseObject({issuer:f.string(),authorization_endpoint:j,token_endpoint:j,registration_endpoint:j.optional(),scopes_supported:f.array(f.string()).optional(),response_types_supported:f.array(f.string()),response_modes_supported:f.array(f.string()).optional(),grant_types_supported:f.array(f.string()).optional(),token_endpoint_auth_methods_supported:f.array(f.string()).optional(),token_endpoint_auth_signing_alg_values_supported:f.array(f.string()).optional(),service_documentation:j.optional(),revocation_endpoint:j.optional(),revocation_endpoint_auth_methods_supported:f.array(f.string()).optional(),revocation_endpoint_auth_signing_alg_values_supported:f.array(f.string()).optional(),introspection_endpoint:f.string().optional(),introspection_endpoint_auth_methods_supported:f.array(f.string()).optional(),introspection_endpoint_auth_signing_alg_values_supported:f.array(f.string()).optional(),code_challenge_methods_supported:f.array(f.string()).optional(),client_id_metadata_document_supported:f.boolean().optional()}),m=f.looseObject({issuer:f.string(),authorization_endpoint:j,token_endpoint:j,userinfo_endpoint:j.optional(),jwks_uri:j,registration_endpoint:j.optional(),scopes_supported:f.array(f.string()).optional(),response_types_supported:f.array(f.string()),response_modes_supported:f.array(f.string()).optional(),grant_types_supported:f.array(f.string()).optional(),acr_values_supported:f.array(f.string()).optional(),subject_types_supported:f.array(f.string()),id_token_signing_alg_values_supported:f.array(f.string()),id_token_encryption_alg_values_supported:f.array(f.string()).optional(),id_token_encryption_enc_values_supported:f.array(f.string()).optional(),userinfo_signing_alg_values_supported:f.array(f.string()).optional(),userinfo_encryption_alg_values_supported:f.array(f.string()).optional(),userinfo_encryption_enc_values_supported:f.array(f.string()).optional(),request_object_signing_alg_values_supported:f.array(f.string()).optional(),request_object_encryption_alg_values_supported:f.array(f.string()).optional(),request_object_encryption_enc_values_supported:f.array(f.string()).optional(),token_endpoint_auth_methods_supported:f.array(f.string()).optional(),token_endpoint_auth_signing_alg_values_supported:f.array(f.string()).optional(),display_values_supported:f.array(f.string()).optional(),claim_types_supported:f.array(f.string()).optional(),claims_supported:f.array(f.string()).optional(),service_documentation:f.string().optional(),claims_locales_supported:f.array(f.string()).optional(),ui_locales_supported:f.array(f.string()).optional(),claims_parameter_supported:f.boolean().optional(),request_parameter_supported:f.boolean().optional(),request_uri_parameter_supported:f.boolean().optional(),require_request_uri_registration:f.boolean().optional(),op_policy_uri:j.optional(),op_tos_uri:j.optional(),client_id_metadata_document_supported:f.boolean().optional()}),n=f.object({...m.shape,...l.pick({code_challenge_methods_supported:!0}).shape}),o=f.object({access_token:f.string(),id_token:f.string().optional(),token_type:f.string(),expires_in:i.number().optional(),scope:f.string().optional(),refresh_token:f.string().optional()}).strip(),p=f.object({error:f.string(),error_description:f.string().optional(),error_uri:f.string().optional()}),q=j.optional().or(f.literal("").transform(()=>void 0)),r=f.object({redirect_uris:f.array(j),token_endpoint_auth_method:f.string().optional(),grant_types:f.array(f.string()).optional(),response_types:f.array(f.string()).optional(),client_name:f.string().optional(),client_uri:j.optional(),logo_uri:q,scope:f.string().optional(),contacts:f.array(f.string()).optional(),tos_uri:q,policy_uri:f.string().optional(),jwks_uri:j.optional(),jwks:f.any().optional(),software_id:f.string().optional(),software_version:f.string().optional(),software_statement:f.string().optional()}).strip(),s=f.object({client_id:f.string(),client_secret:f.string().optional(),client_id_issued_at:f.number().optional(),client_secret_expires_at:f.number().optional()}).strip(),t=r.merge(s);f.object({error:f.string(),error_description:f.string().optional()}).strip(),f.object({token:f.string(),token_type_hint:f.string().optional()}).strip();class u extends Error{constructor(a,b){super(a),this.errorUri=b,this.name=this.constructor.name}toResponseObject(){let a={error:this.errorCode,error_description:this.message};return this.errorUri&&(a.error_uri=this.errorUri),a}get errorCode(){return this.constructor.errorCode}}class v extends u{}v.errorCode="invalid_request";class w extends u{}w.errorCode="invalid_client";class x extends u{}x.errorCode="invalid_grant";class y extends u{}y.errorCode="unauthorized_client";class z extends u{}z.errorCode="unsupported_grant_type";class A extends u{}A.errorCode="invalid_scope";class B extends u{}B.errorCode="access_denied";class C extends u{}C.errorCode="server_error";class D extends u{}D.errorCode="temporarily_unavailable";class E extends u{}E.errorCode="unsupported_response_type";class F extends u{}F.errorCode="unsupported_token_type";class G extends u{}G.errorCode="invalid_token";class H extends u{}H.errorCode="method_not_allowed";class I extends u{}I.errorCode="too_many_requests";class J extends u{}J.errorCode="invalid_client_metadata";class K extends u{}K.errorCode="insufficient_scope";class L extends u{}L.errorCode="invalid_target";let M={[v.errorCode]:v,[w.errorCode]:w,[x.errorCode]:x,[y.errorCode]:y,[z.errorCode]:z,[A.errorCode]:A,[B.errorCode]:B,[C.errorCode]:C,[D.errorCode]:D,[E.errorCode]:E,[F.errorCode]:F,[G.errorCode]:G,[H.errorCode]:H,[I.errorCode]:I,[J.errorCode]:J,[K.errorCode]:K,[L.errorCode]:L};class N extends Error{constructor(a){super(a??"Unauthorized")}}let O="code",P="S256";async function Q(a){let b=a instanceof Response?a.status:void 0,c=a instanceof Response?await a.text():a;try{let{error:a,error_description:b,error_uri:d}=p.parse(JSON.parse(c));return new(M[a]||C)(b||"",d)}catch(a){return new C(`${b?`HTTP ${b}: `:""}Invalid OAuth error response: ${a}. Raw body: ${c}`)}}async function R(a,b){try{return await S(a,b)}catch(c){if(c instanceof w||c instanceof y)return await a.invalidateCredentials?.("all"),await S(a,b);if(c instanceof x)return await a.invalidateCredentials?.("tokens"),await S(a,b);throw c}}async function S(a,{serverUrl:b,authorizationCode:c,scope:d,resourceMetadataUrl:e,fetchFn:f}){let g,h,i,j=await a.discoveryState?.(),k=e;if(!k&&j?.resourceMetadataUrl&&(k=new URL(j.resourceMetadataUrl)),j?.authorizationServerUrl){if(h=j.authorizationServerUrl,g=j.resourceMetadata,i=j.authorizationServerMetadata??await $(h,{fetchFn:f}),!g)try{g=await W(b,{resourceMetadataUrl:k},f)}catch{}(i!==j.authorizationServerMetadata||g!==j.resourceMetadata)&&await a.saveDiscoveryState?.({authorizationServerUrl:String(h),resourceMetadataUrl:k?.toString(),resourceMetadata:g,authorizationServerMetadata:i})}else{let c=await _(b,{resourceMetadataUrl:k,fetchFn:f});h=c.authorizationServerUrl,i=c.authorizationServerMetadata,g=c.resourceMetadata,await a.saveDiscoveryState?.({authorizationServerUrl:String(h),resourceMetadataUrl:k?.toString(),resourceMetadata:g,authorizationServerMetadata:i})}let l=await T(b,a,g),m=d||g?.scopes_supported?.join(" ")||a.clientMetadata.scope,n=await Promise.resolve(a.clientInformation());if(!n){if(void 0!==c)throw Error("Existing OAuth client information is required when exchanging an authorization code");let b=i?.client_id_metadata_document_supported===!0,d=a.clientMetadataUrl;if(d&&!function(a){if(!a)return!1;try{let b=new URL(a);return"https:"===b.protocol&&"/"!==b.pathname}catch{return!1}}(d))throw new J(`clientMetadataUrl must be a valid HTTPS URL with a non-root pathname, got: ${d}`);if(b&&d)n={client_id:d},await a.saveClientInformation?.(n);else{if(!a.saveClientInformation)throw Error("OAuth client information must be saveable for dynamic registration");let b=await ae(h,{metadata:i,clientMetadata:a.clientMetadata,scope:m,fetchFn:f});await a.saveClientInformation(b),n=b}}let o=!a.redirectUrl;if(void 0!==c||o){let b=await ad(a,h,{metadata:i,resource:l,authorizationCode:c,fetchFn:f});return await a.saveTokens(b),"AUTHORIZED"}let p=await a.tokens();if(p?.refresh_token)try{let b=await ac(h,{metadata:i,clientInformation:n,refreshToken:p.refresh_token,resource:l,addClientAuthentication:a.addClientAuthentication,fetchFn:f});return await a.saveTokens(b),"AUTHORIZED"}catch(a){if(!(a instanceof u)||a instanceof C);else throw a}let q=a.state?await a.state():void 0,{authorizationUrl:r,codeVerifier:s}=await aa(h,{metadata:i,clientInformation:n,state:q,redirectUrl:a.redirectUrl,scope:m,resource:l});return await a.saveCodeVerifier(s),await a.redirectToAuthorization(r),"REDIRECT"}async function T(a,b,c){let d=function(a){let b=new URL("string"==typeof a?a:a.href);return b.hash="",b}(a);if(b.validateResourceURL)return await b.validateResourceURL(d,c?.resource);if(c){if(!function({requestedResource:a,configuredResource:b}){let c=new URL("string"==typeof a?a:a.href),d=new URL("string"==typeof b?b:b.href);if(c.origin!==d.origin||c.pathname.length<d.pathname.length)return!1;let e=c.pathname.endsWith("/")?c.pathname:c.pathname+"/",f=d.pathname.endsWith("/")?d.pathname:d.pathname+"/";return e.startsWith(f)}({requestedResource:d,configuredResource:c.resource}))throw Error(`Protected resource ${c.resource} does not match expected ${d} (or origin)`);return new URL(c.resource)}}function U(a){let b,c=a.headers.get("WWW-Authenticate");if(!c)return{};let[d,e]=c.split(" ");if("bearer"!==d.toLowerCase()||!e)return{};let f=V(a,"resource_metadata")||void 0;if(f)try{b=new URL(f)}catch{}return{resourceMetadataUrl:b,scope:V(a,"scope")||void 0,error:V(a,"error")||void 0}}function V(a,b){let c=a.headers.get("WWW-Authenticate");if(!c)return null;let d=RegExp(`${b}=(?:"([^"]+)"|([^\\s,]+))`),e=c.match(d);return e?e[1]||e[2]:null}async function W(a,b,c=fetch){let d=await Z(a,"oauth-protected-resource",c,{protocolVersion:b?.protocolVersion,metadataUrl:b?.resourceMetadataUrl});if(!d||404===d.status)throw await d?.body?.cancel(),Error("Resource server does not implement OAuth 2.0 Protected Resource Metadata.");if(!d.ok)throw await d.body?.cancel(),Error(`HTTP ${d.status} trying to load well-known OAuth protected resource metadata.`);return k.parse(await d.json())}async function X(a,b,c=fetch){try{return await c(a,{headers:b})}catch(d){if(d instanceof TypeError)if(b)return X(a,void 0,c);else return;throw d}}async function Y(a,b,c=fetch){return await X(a,{"MCP-Protocol-Version":b},c)}async function Z(a,b,c,d){var f,g;let h,i=new URL(a),j=d?.protocolVersion??e.aE;d?.metadataUrl?h=new URL(d.metadataUrl):(h=new URL(function(a,b="",c={}){return b.endsWith("/")&&(b=b.slice(0,-1)),c.prependPathname?`${b}/.well-known/${a}`:`/.well-known/${a}${b}`}(b,i.pathname),d?.metadataServerUrl??i)).search=i.search;let k=await Y(h,j,c);if(!d?.metadataUrl&&(f=k,g=i.pathname,!f||f.status>=400&&f.status<500&&"/"!==g)){let a=new URL(`/.well-known/${b}`,i);k=await Y(a,j,c)}return k}async function $(a,{fetchFn:b=fetch,protocolVersion:c=e.aE}={}){let d={"MCP-Protocol-Version":c,Accept:"application/json"};for(let{url:c,type:e}of function(a){let b="string"==typeof a?new URL(a):a,c="/"!==b.pathname,d=[];if(!c)return d.push({url:new URL("/.well-known/oauth-authorization-server",b.origin),type:"oauth"}),d.push({url:new URL("/.well-known/openid-configuration",b.origin),type:"oidc"}),d;let e=b.pathname;return e.endsWith("/")&&(e=e.slice(0,-1)),d.push({url:new URL(`/.well-known/oauth-authorization-server${e}`,b.origin),type:"oauth"}),d.push({url:new URL(`/.well-known/openid-configuration${e}`,b.origin),type:"oidc"}),d.push({url:new URL(`${e}/.well-known/openid-configuration`,b.origin),type:"oidc"}),d}(a)){let a=await X(c,d,b);if(a){if(!a.ok){if(await a.body?.cancel(),a.status>=400&&a.status<500)continue;throw Error(`HTTP ${a.status} trying to load ${"oauth"===e?"OAuth":"OpenID provider"} metadata from ${c}`)}if("oauth"===e)return l.parse(await a.json());return n.parse(await a.json())}}}async function _(a,b){let c,d;try{(c=await W(a,{resourceMetadataUrl:b?.resourceMetadataUrl},b?.fetchFn)).authorization_servers&&c.authorization_servers.length>0&&(d=c.authorization_servers[0])}catch{}d||(d=String(new URL("/",a)));let e=await $(d,{fetchFn:b?.fetchFn});return{authorizationServerUrl:d,authorizationServerMetadata:e,resourceMetadata:c}}async function aa(a,{metadata:b,clientInformation:c,redirectUrl:e,scope:f,state:g,resource:h}){let i;if(b){if(i=new URL(b.authorization_endpoint),!b.response_types_supported.includes(O))throw Error(`Incompatible auth server: does not support response type ${O}`);if(b.code_challenge_methods_supported&&!b.code_challenge_methods_supported.includes(P))throw Error(`Incompatible auth server: does not support code challenge method ${P}`)}else i=new URL("/authorize",a);let j=await (0,d.Ay)(),k=j.code_verifier,l=j.code_challenge;return i.searchParams.set("response_type",O),i.searchParams.set("client_id",c.client_id),i.searchParams.set("code_challenge",l),i.searchParams.set("code_challenge_method",P),i.searchParams.set("redirect_uri",String(e)),g&&i.searchParams.set("state",g),f&&i.searchParams.set("scope",f),f?.includes("offline_access")&&i.searchParams.append("prompt","consent"),h&&i.searchParams.set("resource",h.href),{authorizationUrl:i,codeVerifier:k}}async function ab(a,{metadata:b,tokenRequestParams:c,clientInformation:d,addClientAuthentication:e,resource:f,fetchFn:g}){let h=b?.token_endpoint?new URL(b.token_endpoint):new URL("/token",a),i=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"});f&&c.set("resource",f.href),e?await e(i,c,h,b):d&&function(a,b,c,d){let{client_id:e,client_secret:f}=b;switch(a){case"client_secret_basic":var g,h,i,j,k=e,l=f,m=c;if(!l)throw Error("client_secret_basic authentication requires a client_secret");let n=btoa(`${k}:${l}`);m.set("Authorization",`Basic ${n}`);return;case"client_secret_post":g=e,h=f,(i=d).set("client_id",g),h&&i.set("client_secret",h);return;case"none":j=e,d.set("client_id",j);return;default:throw Error(`Unsupported client authentication method: ${a}`)}}(function(a,b){let c=void 0!==a.client_secret;return"token_endpoint_auth_method"in a&&a.token_endpoint_auth_method&&["client_secret_basic","client_secret_post","none"].includes(a.token_endpoint_auth_method)&&(0===b.length||b.includes(a.token_endpoint_auth_method))?a.token_endpoint_auth_method:0===b.length?c?"client_secret_basic":"none":c&&b.includes("client_secret_basic")?"client_secret_basic":c&&b.includes("client_secret_post")?"client_secret_post":b.includes("none")?"none":c?"client_secret_post":"none"}(d,b?.token_endpoint_auth_methods_supported??[]),d,i,c);let j=await (g??fetch)(h,{method:"POST",headers:i,body:c});if(!j.ok)throw await Q(j);return o.parse(await j.json())}async function ac(a,{metadata:b,clientInformation:c,refreshToken:d,resource:e,addClientAuthentication:f,fetchFn:g}){let h=new URLSearchParams({grant_type:"refresh_token",refresh_token:d});return{refresh_token:d,...await ab(a,{metadata:b,tokenRequestParams:h,clientInformation:c,addClientAuthentication:f,resource:e,fetchFn:g})}}async function ad(a,b,{metadata:c,resource:d,authorizationCode:e,fetchFn:f}={}){let g,h=a.clientMetadata.scope;if(a.prepareTokenRequest&&(g=await a.prepareTokenRequest(h)),!g){if(!e)throw Error("Either provider.prepareTokenRequest() or authorizationCode is required");if(!a.redirectUrl)throw Error("redirectUrl is required for authorization_code flow");g=new URLSearchParams({grant_type:"authorization_code",code:e,code_verifier:await a.codeVerifier(),redirect_uri:String(a.redirectUrl)})}return ab(b,{metadata:c,tokenRequestParams:g,clientInformation:await a.clientInformation()??void 0,addClientAuthentication:a.addClientAuthentication,resource:d,fetchFn:f})}async function ae(a,{metadata:b,clientMetadata:c,scope:d,fetchFn:e}){let f;if(b){if(!b.registration_endpoint)throw Error("Incompatible auth server: does not support dynamic client registration");f=new URL(b.registration_endpoint)}else f=new URL("/register",a);let g=await (e??fetch)(f,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...c,...void 0!==d?{scope:d}:{}})});if(!g.ok)throw await Q(g);return t.parse(await g.json())}},96271:(a,b,c)=>{let d;async function e(a){return(await d).getRandomValues(new Uint8Array(a))}async function f(a){let b="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~",c="",d=await e(a);for(let e=0;e<a;e++){let a=d[e]%b.length;c+=b[a]}return c}async function g(a){return await f(a)}async function h(a){return btoa(String.fromCharCode(...new Uint8Array(await (await d).subtle.digest("SHA-256",new TextEncoder().encode(a))))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}async function i(a){if(a||(a=43),a<43||a>128)throw`Expected a length between 43 and 128. Received ${a}.`;let b=await g(a),c=await h(b);return{code_verifier:b,code_challenge:c}}c.d(b,{Ay:()=>i}),d=globalThis.crypto?.webcrypto??globalThis.crypto??Promise.resolve().then(c.t.bind(c,77598,19)).then(a=>a.webcrypto)}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=5096,exports.ids=[1805,5096],exports.modules={25096:(a,b,c)=>{c.d(b,{C:()=>i});var d=c(50846),e=c(74186),f=c(73456);let g=(0,d.h)("backend/services/mcp/oauth");class h{constructor(a,b){this.config=a,this._redirectUrl=b,this._clientMetadata={redirect_uris:[b],client_name:`FLUJO MCP Client - ${a.name}`,client_uri:"https://github.com/mario-andreschak/FLUJO",grant_types:["authorization_code","refresh_token"],response_types:["code"],token_endpoint_auth_method:"client_secret_post",scope:a.oauthScopes?.join(" ")||"read"},g.info(`Created OAuth client provider for ${a.name}`),g.verbose("OAuth client metadata",JSON.stringify(this._clientMetadata))}get redirectUrl(){return this._redirectUrl}get clientMetadata(){return this._clientMetadata}state(){return encodeURIComponent(JSON.stringify({serverName:this.config.name}))}async clientInformation(){if(this.config.oauthClientInformation)return g.debug(`Returning stored client information for ${this.config.name}`),this.config.oauthClientInformation;if(this.config.oauthClientId){let a=this.config.oauthClientSecret?await (0,f.G)(this.config.oauthClientSecret)??void 0:void 0;return g.debug(`Created client information from config for ${this.config.name}`),{client_id:this.config.oauthClientId,client_secret:a}}g.debug(`No client information available for ${this.config.name}`)}async persist(){let a=await (0,e.loadServerConfigs)();if(!Array.isArray(a))return void g.warn(`persist: failed to load server configs for ${this.config.name}, cannot persist OAuth state`);let b=new Map(a.map(a=>[a.name,a]));b.set(this.config.name,this.config);let c=await (0,e.q)(b);c.success||g.warn(`persist: failed to save OAuth state for ${this.config.name}: ${c.error}`)}async invalidateCredentials(a){g.info(`Invalidating OAuth credentials for ${this.config.name} (scope: ${a})`),("all"===a||"tokens"===a)&&(this.config.oauthTokens=void 0),("all"===a||"client"===a)&&(this.config.oauthClientInformation=void 0,this.config.oauthClientMetadata=void 0),("all"===a||"verifier"===a)&&(this.config.oauthCodeVerifier=void 0),await this.persist()}async saveClientInformation(a){g.info(`Saving client information for ${this.config.name}`),g.verbose("Client information to save",JSON.stringify(a)),this.config.oauthClientInformation={client_id:a.client_id,client_secret:a.client_secret,client_id_issued_at:a.client_id_issued_at,client_secret_expires_at:a.client_secret_expires_at},this.config.oauthClientMetadata={redirect_uris:a.redirect_uris,client_name:a.client_name,client_uri:a.client_uri,grant_types:a.grant_types,response_types:a.response_types,token_endpoint_auth_method:a.token_endpoint_auth_method,scope:a.scope,contacts:a.contacts,tos_uri:a.tos_uri,policy_uri:a.policy_uri,jwks_uri:a.jwks_uri,jwks:a.jwks,software_id:a.software_id,software_version:a.software_version},await this.persist(),g.info(`Client information saved for ${this.config.name}`)}async tokens(){if(this.config.oauthTokens){if(g.debug(`Returning stored tokens for ${this.config.name}`),this.config.oauthTokens.expires_in&&this.config.oauthTokens.issued_at){let a=this.config.oauthTokens.issued_at,b=this.config.oauthTokens.expires_in,c=Math.floor(Date.now()/1e3),d=a+b;c>=d?g.info(`Access token for ${this.config.name} has expired (issued: ${a}, expires: ${d}, current: ${c}); SDK will refresh via refresh_token`):g.debug(`Tokens for ${this.config.name} are valid (expires in ${d-c} seconds)`)}return this.config.oauthTokens}g.debug(`No tokens available for ${this.config.name}`)}async saveTokens(a){g.info(`Saving OAuth tokens for ${this.config.name}`),g.verbose("Tokens to save",JSON.stringify({...a,access_token:a.access_token?"[REDACTED]":void 0,refresh_token:a.refresh_token?"[REDACTED]":void 0}));let b={...a,issued_at:Math.floor(Date.now()/1e3)};this.config.oauthTokens=b,await this.persist(),g.info(`OAuth tokens saved for ${this.config.name}`)}async redirectToAuthorization(a){g.info(`Authorization required for ${this.config.name}`),g.info(`Authorization URL: ${a.toString()}`),this.config.authorizationUrl=a.toString();let b=Error(`OAuth authentication required for ${this.config.name}. Please complete the OAuth flow.`);throw b.name="OAuthAuthenticationRequired",b}async saveCodeVerifier(a){g.debug(`Saving code verifier for ${this.config.name}`),this.config.oauthCodeVerifier=a,await this.persist(),g.debug(`Code verifier saved for ${this.config.name}`)}async codeVerifier(){if(!this.config.oauthCodeVerifier){let a=`No code verifier found for ${this.config.name}`;throw g.error(a),Error(a)}return g.debug(`Returning code verifier for ${this.config.name}`),this.config.oauthCodeVerifier}}function i(a,b="http://localhost:4200/api/oauth/callback"){return new h(a,b)}},74186:(a,b,c)=>{c.d(b,{loadServerConfigs:()=>q,q:()=>r});var d=c(33873),e=c.n(d),f=c(34322),g=c(92372),h=c(
|
|
1
|
+
"use strict";exports.id=5096,exports.ids=[1805,5096],exports.modules={25096:(a,b,c)=>{c.d(b,{C:()=>i});var d=c(50846),e=c(74186),f=c(73456);let g=(0,d.h)("backend/services/mcp/oauth");class h{constructor(a,b){this.config=a,this._redirectUrl=b,this._clientMetadata={redirect_uris:[b],client_name:`FLUJO MCP Client - ${a.name}`,client_uri:"https://github.com/mario-andreschak/FLUJO",grant_types:["authorization_code","refresh_token"],response_types:["code"],token_endpoint_auth_method:"client_secret_post",scope:a.oauthScopes?.join(" ")||"read"},g.info(`Created OAuth client provider for ${a.name}`),g.verbose("OAuth client metadata",JSON.stringify(this._clientMetadata))}get redirectUrl(){return this._redirectUrl}get clientMetadata(){return this._clientMetadata}state(){return encodeURIComponent(JSON.stringify({serverName:this.config.name}))}async clientInformation(){if(this.config.oauthClientInformation)return g.debug(`Returning stored client information for ${this.config.name}`),this.config.oauthClientInformation;if(this.config.oauthClientId){let a=this.config.oauthClientSecret?await (0,f.G)(this.config.oauthClientSecret)??void 0:void 0;return g.debug(`Created client information from config for ${this.config.name}`),{client_id:this.config.oauthClientId,client_secret:a}}g.debug(`No client information available for ${this.config.name}`)}async persist(){let a=await (0,e.loadServerConfigs)();if(!Array.isArray(a))return void g.warn(`persist: failed to load server configs for ${this.config.name}, cannot persist OAuth state`);let b=new Map(a.map(a=>[a.name,a]));b.set(this.config.name,this.config);let c=await (0,e.q)(b);c.success||g.warn(`persist: failed to save OAuth state for ${this.config.name}: ${c.error}`)}async invalidateCredentials(a){g.info(`Invalidating OAuth credentials for ${this.config.name} (scope: ${a})`),("all"===a||"tokens"===a)&&(this.config.oauthTokens=void 0),("all"===a||"client"===a)&&(this.config.oauthClientInformation=void 0,this.config.oauthClientMetadata=void 0),("all"===a||"verifier"===a)&&(this.config.oauthCodeVerifier=void 0),await this.persist()}async saveClientInformation(a){g.info(`Saving client information for ${this.config.name}`),g.verbose("Client information to save",JSON.stringify(a)),this.config.oauthClientInformation={client_id:a.client_id,client_secret:a.client_secret,client_id_issued_at:a.client_id_issued_at,client_secret_expires_at:a.client_secret_expires_at},this.config.oauthClientMetadata={redirect_uris:a.redirect_uris,client_name:a.client_name,client_uri:a.client_uri,grant_types:a.grant_types,response_types:a.response_types,token_endpoint_auth_method:a.token_endpoint_auth_method,scope:a.scope,contacts:a.contacts,tos_uri:a.tos_uri,policy_uri:a.policy_uri,jwks_uri:a.jwks_uri,jwks:a.jwks,software_id:a.software_id,software_version:a.software_version},await this.persist(),g.info(`Client information saved for ${this.config.name}`)}async tokens(){if(this.config.oauthTokens){if(g.debug(`Returning stored tokens for ${this.config.name}`),this.config.oauthTokens.expires_in&&this.config.oauthTokens.issued_at){let a=this.config.oauthTokens.issued_at,b=this.config.oauthTokens.expires_in,c=Math.floor(Date.now()/1e3),d=a+b;c>=d?g.info(`Access token for ${this.config.name} has expired (issued: ${a}, expires: ${d}, current: ${c}); SDK will refresh via refresh_token`):g.debug(`Tokens for ${this.config.name} are valid (expires in ${d-c} seconds)`)}return this.config.oauthTokens}g.debug(`No tokens available for ${this.config.name}`)}async saveTokens(a){g.info(`Saving OAuth tokens for ${this.config.name}`),g.verbose("Tokens to save",JSON.stringify({...a,access_token:a.access_token?"[REDACTED]":void 0,refresh_token:a.refresh_token?"[REDACTED]":void 0}));let b={...a,issued_at:Math.floor(Date.now()/1e3)};this.config.oauthTokens=b,await this.persist(),g.info(`OAuth tokens saved for ${this.config.name}`)}async redirectToAuthorization(a){g.info(`Authorization required for ${this.config.name}`),g.info(`Authorization URL: ${a.toString()}`),this.config.authorizationUrl=a.toString();let b=Error(`OAuth authentication required for ${this.config.name}. Please complete the OAuth flow.`);throw b.name="OAuthAuthenticationRequired",b}async saveCodeVerifier(a){g.debug(`Saving code verifier for ${this.config.name}`),this.config.oauthCodeVerifier=a,await this.persist(),g.debug(`Code verifier saved for ${this.config.name}`)}async codeVerifier(){if(!this.config.oauthCodeVerifier){let a=`No code verifier found for ${this.config.name}`;throw g.error(a),Error(a)}return g.debug(`Returning code verifier for ${this.config.name}`),this.config.oauthCodeVerifier}}function i(a,b="http://localhost:4200/api/oauth/callback"){return new h(a,b)}},74186:(a,b,c)=>{c.d(b,{loadServerConfigs:()=>q,q:()=>r});var d=c(33873),e=c.n(d),f=c(34322),g=c(92372),h=c(38844),i=c(50846),j=c(43326);let k=(0,i.h)("backend/services/mcp/config"),l=new Set(["streamable","sse","websocket"]),m=e().join((0,j.getDataDir)(),"mcp-servers"),n=new Map;async function o(a){if(n.has(a))return n.get(a);let b=null;try{let c=(0,f.Ay)({baseDir:a,timeout:{block:5e3}});b=(await c.remote(["get-url","origin"])||"").trim()||null}catch{b=null}return n.set(a,b),b}async function p(a){var b;if(l.has(a.transport))return{type:"remote"};let c="string"!=typeof(b=a.rootPath)||""===b.trim()?null:e().isAbsolute(b)?b:e().resolve((0,j.getDataDir)(),b);if(c&&function(a){let b=e().relative(m,a);return""!==b&&!b.startsWith("..")&&!e().isAbsolute(b)}(c)){let a=await o(c);if(a)return{type:"github",repositoryUrl:a}}return{type:"local"}}async function q(){k.debug("Entering loadServerConfigs method");try{let a=await (0,g.YM)(h.Z.MCP_SERVERS,{}),b=Object.entries(a).map(([a,b])=>{let c=b.transport||"stdio";l.has(c)&&function(a){if("string"!=typeof a)return!1;let b=a.trim();return"/"===b||"\\"===b||/^[A-Za-z]:[\\/]?$/.test(b)}(b.rootPath)&&(k.info(`Normalizing filesystem-root rootPath "${b.rootPath}" of remote server ${a} to mcp-servers/${a}`),b={...b,rootPath:`mcp-servers/${a}`});let d={name:a,disabled:!1,autoApprove:[],rootPath:"",env:{},_buildCommand:"",_installCommand:""};return"streamable"===c?{...d,...b,name:a,requestInit:b.requestInit&&"object"==typeof b.requestInit?b.requestInit:void 0,reconnectionOptions:b.reconnectionOptions&&"object"==typeof b.reconnectionOptions?b.reconnectionOptions:void 0,sessionId:b.sessionId||void 0,oauthClientId:b.oauthClientId||"",oauthClientSecret:b.oauthClientSecret||"",oauthScopes:b.oauthScopes||(b.oauthClientId||b.oauthClientInformation?["read"]:void 0),oauthClientMetadata:b.oauthClientMetadata,oauthClientInformation:b.oauthClientInformation,oauthTokens:b.oauthTokens,oauthCodeVerifier:b.oauthCodeVerifier}:"sse"===c?{...d,...b,name:a,eventSourceInit:b.eventSourceInit&&"object"==typeof b.eventSourceInit?b.eventSourceInit:void 0,requestInit:b.requestInit&&"object"==typeof b.requestInit?b.requestInit:void 0}:"websocket"===c?{...d,...b,name:a,websocketUrl:b.websocketUrl||""}:{...d,...b,name:a,command:b.command||"",args:b.args||[],stderr:b.stderr||"pipe"}});return await Promise.all(b.map(async a=>{a.source||(a.source=await p(a))})),b}catch(a){return k.warn("Failed to load server configs",a),{success:!1,error:`Failed to load server configs: ${a instanceof Error?a.message:"Unknown error"}`}}}async function r(a){k.debug("Entering saveConfig method");try{let b=Object.fromEntries(Array.from(a.entries()).filter(([,a])=>!0!==a.builtIn).map(([a,b])=>{let{name:c,...d}=b;return[a,d]}));return await (0,g.VH)(h.Z.MCP_SERVERS,b),{success:!0}}catch(a){return k.warn("Failed to save config",a),{success:!1,error:`Failed to save config: ${a instanceof Error?a.message:"Unknown error"}`}}}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=5148,exports.ids=[5148],exports.modules={67191:(a,b,c)=>{c.d(b,{A:()=>x});var d=c(38301),e=c(43249),f=c(2783),g=c(37489),h=c(6638),i=c(54716),j=c(99515),k=c(18168),l=c(68333),m=c(6636),n=c(29565),o=c(33105);function p(a){return(0,o.Ay)("MuiSwitch",a)}let q=(0,n.A)("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]);var r=c(20385),s=c(21124);let t=(0,k.Ay)("span",{name:"MuiSwitch",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.root,c.edge&&b[`edge${(0,h.A)(c.edge)}`],b[`size${(0,h.A)(c.size)}`]]}})({display:"inline-flex",width:58,height:38,overflow:"hidden",padding:12,boxSizing:"border-box",position:"relative",flexShrink:0,zIndex:0,verticalAlign:"middle","@media print":{colorAdjust:"exact"},variants:[{props:{edge:"start"},style:{marginLeft:-8}},{props:{edge:"end"},style:{marginRight:-8}},{props:{size:"small"},style:{width:40,height:24,padding:7,[`& .${q.thumb}`]:{width:16,height:16},[`& .${q.switchBase}`]:{padding:4,[`&.${q.checked}`]:{transform:"translateX(16px)"}}}}]}),u=(0,k.Ay)(j.A,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.switchBase,{[`& .${q.input}`]:b.input},"default"!==c.color&&b[`color${(0,h.A)(c.color)}`]]}})((0,l.A)(({theme:a})=>({position:"absolute",top:0,left:0,zIndex:1,color:a.vars?a.vars.palette.Switch.defaultColor:`${"light"===a.palette.mode?a.palette.common.white:a.palette.grey[300]}`,transition:a.transitions.create(["left","transform"],{duration:a.transitions.duration.shortest}),[`&.${q.checked}`]:{transform:"translateX(20px)"},[`&.${q.disabled}`]:{color:a.vars?a.vars.palette.Switch.defaultDisabledColor:`${"light"===a.palette.mode?a.palette.grey[100]:a.palette.grey[600]}`},[`&.${q.checked} + .${q.track}`]:{opacity:.5},[`&.${q.disabled} + .${q.track}`]:{opacity:a.vars?a.vars.opacity.switchTrackDisabled:`${"light"===a.palette.mode?.12:.2}`},[`& .${q.input}`]:{left:"-100%",width:"300%"}})),(0,l.A)(({theme:a})=>({"&:hover":{backgroundColor:a.vars?`rgba(${a.vars.palette.action.activeChannel} / ${a.vars.palette.action.hoverOpacity})`:(0,g.X4)(a.palette.action.active,a.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},variants:[...Object.entries(a.palette).filter((0,i.A)(["light"])).map(([b])=>({props:{color:b},style:{[`&.${q.checked}`]:{color:(a.vars||a).palette[b].main,"&:hover":{backgroundColor:a.vars?`rgba(${a.vars.palette[b].mainChannel} / ${a.vars.palette.action.hoverOpacity})`:(0,g.X4)(a.palette[b].main,a.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${q.disabled}`]:{color:a.vars?a.vars.palette.Switch[`${b}DisabledColor`]:`${"light"===a.palette.mode?(0,g.a)(a.palette[b].main,.62):(0,g.e$)(a.palette[b].main,.55)}`}},[`&.${q.checked} + .${q.track}`]:{backgroundColor:(a.vars||a).palette[b].main}}}))]}))),v=(0,k.Ay)("span",{name:"MuiSwitch",slot:"Track",overridesResolver:(a,b)=>b.track})((0,l.A)(({theme:a})=>({height:"100%",width:"100%",borderRadius:7,zIndex:-1,transition:a.transitions.create(["opacity","background-color"],{duration:a.transitions.duration.shortest}),backgroundColor:a.vars?a.vars.palette.common.onBackground:`${"light"===a.palette.mode?a.palette.common.black:a.palette.common.white}`,opacity:a.vars?a.vars.opacity.switchTrack:`${"light"===a.palette.mode?.38:.3}`}))),w=(0,k.Ay)("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:(a,b)=>b.thumb})((0,l.A)(({theme:a})=>({boxShadow:(a.vars||a).shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"}))),x=d.forwardRef(function(a,b){let c=(0,m.b)({props:a,name:"MuiSwitch"}),{className:d,color:g="primary",edge:i=!1,size:j="medium",sx:k,slots:l={},slotProps:n={},...o}=c,q={...c,color:g,edge:i,size:j},x=(a=>{let{classes:b,edge:c,size:d,color:e,checked:g,disabled:i}=a,j={root:["root",c&&`edge${(0,h.A)(c)}`,`size${(0,h.A)(d)}`],switchBase:["switchBase",`color${(0,h.A)(e)}`,g&&"checked",i&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},k=(0,f.A)(j,p,b);return{...b,...k}})(q),y={slots:l,slotProps:n},[z,A]=(0,r.A)("root",{className:(0,e.A)(x.root,d),elementType:t,externalForwardedProps:y,ownerState:q,additionalProps:{sx:k}}),[B,C]=(0,r.A)("thumb",{className:x.thumb,elementType:w,externalForwardedProps:y,ownerState:q}),D=(0,s.jsx)(B,{...C}),[E,F]=(0,r.A)("track",{className:x.track,elementType:v,externalForwardedProps:y,ownerState:q});return(0,s.jsxs)(z,{...A,children:[(0,s.jsx)(u,{type:"checkbox",icon:D,checkedIcon:D,ref:b,ownerState:q,...o,classes:{...x,root:x.switchBase},slots:{...l.switchBase&&{root:l.switchBase},...l.input&&{input:l.input}},slotProps:{...n.switchBase&&{root:"function"==typeof n.switchBase?n.switchBase(q):n.switchBase},...n.input&&{input:"function"==typeof n.input?n.input(q):n.input}}}),(0,s.jsx)(E,{...F})]})})},77028:(a,b,c)=>{c.d(b,{A:()=>D});var d=c(38301),e=c(43249),f=c(2783),g=c(37489),h=c(99515),i=c(11801),j=c(21124);let k=(0,i.A)((0,j.jsx)("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),"CheckBoxOutlineBlank"),l=(0,i.A)((0,j.jsx)("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckBox"),m=(0,i.A)((0,j.jsx)("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox");var n=c(6638),o=c(41126),p=c(29565),q=c(33105);function r(a){return(0,q.Ay)("MuiCheckbox",a)}let s=(0,p.A)("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary","sizeSmall","sizeMedium"]);var t=c(18168),u=c(68333),v=c(54716),w=c(6636),x=c(19902),y=c(20385);let z=(0,t.Ay)(h.A,{shouldForwardProp:a=>(0,o.A)(a)||"classes"===a,name:"MuiCheckbox",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.root,c.indeterminate&&b.indeterminate,b[`size${(0,n.A)(c.size)}`],"default"!==c.color&&b[`color${(0,n.A)(c.color)}`]]}})((0,u.A)(({theme:a})=>({color:(a.vars||a).palette.text.secondary,variants:[{props:{color:"default",disableRipple:!1},style:{"&:hover":{backgroundColor:a.vars?`rgba(${a.vars.palette.action.activeChannel} / ${a.vars.palette.action.hoverOpacity})`:(0,g.X4)(a.palette.action.active,a.palette.action.hoverOpacity)}}},...Object.entries(a.palette).filter((0,v.A)()).map(([b])=>({props:{color:b,disableRipple:!1},style:{"&:hover":{backgroundColor:a.vars?`rgba(${a.vars.palette[b].mainChannel} / ${a.vars.palette.action.hoverOpacity})`:(0,g.X4)(a.palette[b].main,a.palette.action.hoverOpacity)}}})),...Object.entries(a.palette).filter((0,v.A)()).map(([b])=>({props:{color:b},style:{[`&.${s.checked}, &.${s.indeterminate}`]:{color:(a.vars||a).palette[b].main},[`&.${s.disabled}`]:{color:(a.vars||a).palette.action.disabled}}})),{props:{disableRipple:!1},style:{"&:hover":{"@media (hover: none)":{backgroundColor:"transparent"}}}}]}))),A=(0,j.jsx)(l,{}),B=(0,j.jsx)(k,{}),C=(0,j.jsx)(m,{}),D=d.forwardRef(function(a,b){let c=(0,w.b)({props:a,name:"MuiCheckbox"}),{checkedIcon:g=A,color:h="primary",icon:i=B,indeterminate:k=!1,indeterminateIcon:l=C,inputProps:m,size:o="medium",disableRipple:p=!1,className:q,slots:s={},slotProps:t={},...u}=c,v=k?l:i,D=k?l:g,E={...c,disableRipple:p,color:h,indeterminate:k,size:o},F=(a=>{let{classes:b,indeterminate:c,color:d,size:e}=a,g={root:["root",c&&"indeterminate",`color${(0,n.A)(d)}`,`size${(0,n.A)(e)}`]},h=(0,f.A)(g,r,b);return{...b,...h}})(E),G=t.input??m,[H,I]=(0,y.A)("root",{ref:b,elementType:z,className:(0,e.A)(F.root,q),shouldForwardComponentProp:!0,externalForwardedProps:{slots:s,slotProps:t,...u},ownerState:E,additionalProps:{type:"checkbox",icon:d.cloneElement(v,{fontSize:v.props.fontSize??o}),checkedIcon:d.cloneElement(D,{fontSize:D.props.fontSize??o}),disableRipple:p,slots:s,slotProps:{input:(0,x.A)("function"==typeof G?G(E):G,{"data-indeterminate":k})}}});return(0,j.jsx)(H,{...I,classes:F})})},95587:(a,b,c)=>{c.d(b,{A:()=>v});var d=c(38301),e=c(43249),f=c(2783),g=c(49628),h=c(18168),i=c(68333),j=c(6636),k=c(79515),l=c(6638),m=c(29565),n=c(33105);function o(a){return(0,n.Ay)("MuiFormControlLabel",a)}let p=(0,m.A)("MuiFormControlLabel",["root","labelPlacementStart","labelPlacementTop","labelPlacementBottom","disabled","label","error","required","asterisk"]);var q=c(83738),r=c(20385),s=c(21124);let t=(0,h.Ay)("label",{name:"MuiFormControlLabel",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[{[`& .${p.label}`]:b.label},b.root,b[`labelPlacement${(0,l.A)(c.labelPlacement)}`]]}})((0,i.A)(({theme:a})=>({display:"inline-flex",alignItems:"center",cursor:"pointer",verticalAlign:"middle",WebkitTapHighlightColor:"transparent",marginLeft:-11,marginRight:16,[`&.${p.disabled}`]:{cursor:"default"},[`& .${p.label}`]:{[`&.${p.disabled}`]:{color:(a.vars||a).palette.text.disabled}},variants:[{props:{labelPlacement:"start"},style:{flexDirection:"row-reverse",marginRight:-11}},{props:{labelPlacement:"top"},style:{flexDirection:"column-reverse"}},{props:{labelPlacement:"bottom"},style:{flexDirection:"column"}},{props:({labelPlacement:a})=>"start"===a||"top"===a||"bottom"===a,style:{marginLeft:16}}]}))),u=(0,h.Ay)("span",{name:"MuiFormControlLabel",slot:"Asterisk",overridesResolver:(a,b)=>b.asterisk})((0,i.A)(({theme:a})=>({[`&.${p.error}`]:{color:(a.vars||a).palette.error.main}}))),v=d.forwardRef(function(a,b){let c=(0,j.b)({props:a,name:"MuiFormControlLabel"}),{checked:h,className:i,componentsProps:m={},control:n,disabled:p,disableTypography:v,inputRef:w,label:x,labelPlacement:y="end",name:z,onChange:A,required:B,slots:C={},slotProps:D={},value:E,...F}=c,G=(0,g.A)(),H=p??n.props.disabled??G?.disabled,I=B??n.props.required,J={disabled:H,required:I};["checked","name","onChange","value","inputRef"].forEach(a=>{void 0===n.props[a]&&void 0!==c[a]&&(J[a]=c[a])});let K=(0,q.A)({props:c,muiFormControl:G,states:["error"]}),L={...c,disabled:H,labelPlacement:y,required:I,error:K.error},M=(a=>{let{classes:b,disabled:c,labelPlacement:d,error:e,required:g}=a,h={root:["root",c&&"disabled",`labelPlacement${(0,l.A)(d)}`,e&&"error",g&&"required"],label:["label",c&&"disabled"],asterisk:["asterisk",e&&"error"]};return(0,f.A)(h,o,b)})(L),N={slots:C,slotProps:{...m,...D}},[O,P]=(0,r.A)("typography",{elementType:k.default,externalForwardedProps:N,ownerState:L}),Q=x;return null==Q||Q.type===k.default||v||(Q=(0,s.jsx)(O,{component:"span",...P,className:(0,e.A)(M.label,P?.className),children:Q})),(0,s.jsxs)(t,{className:(0,e.A)(M.root,i),ownerState:L,ref:b,...F,children:[d.cloneElement(n,J),I?(0,s.jsxs)("div",{children:[Q,(0,s.jsxs)(u,{ownerState:L,"aria-hidden":!0,className:M.asterisk,children:[" ","*"]})]}):Q]})})},99515:(a,b,c)=>{c.d(b,{A:()=>s});var d=c(38301),e=c(2783),f=c(6638),g=c(41126),h=c(18168),i=c(65603),j=c(49628),k=c(14328),l=c(29565),m=c(33105);function n(a){return(0,m.Ay)("PrivateSwitchBase",a)}(0,l.A)("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);var o=c(20385),p=c(21124);let q=(0,h.Ay)(k.A,{name:"MuiSwitchBase"})({padding:9,borderRadius:"50%",variants:[{props:{edge:"start",size:"small"},style:{marginLeft:-3}},{props:({edge:a,ownerState:b})=>"start"===a&&"small"!==b.size,style:{marginLeft:-12}},{props:{edge:"end",size:"small"},style:{marginRight:-3}},{props:({edge:a,ownerState:b})=>"end"===a&&"small"!==b.size,style:{marginRight:-12}}]}),r=(0,h.Ay)("input",{name:"MuiSwitchBase",shouldForwardProp:g.A})({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),s=d.forwardRef(function(a,b){let{autoFocus:c,checked:d,checkedIcon:g,defaultChecked:h,disabled:k,disableFocusRipple:l=!1,edge:m=!1,icon:s,id:t,inputProps:u,inputRef:v,name:w,onBlur:x,onChange:y,onFocus:z,readOnly:A,required:B=!1,tabIndex:C,type:D,value:E,slots:F={},slotProps:G={},...H}=a,[I,J]=(0,i.A)({controlled:d,default:!!h,name:"SwitchBase",state:"checked"}),K=(0,j.A)(),L=k;K&&void 0===L&&(L=K.disabled);let M="checkbox"===D||"radio"===D,N={...a,checked:I,disabled:L,disableFocusRipple:l,edge:m},O=(a=>{let{classes:b,checked:c,disabled:d,edge:g}=a,h={root:["root",c&&"checked",d&&"disabled",g&&`edge${(0,f.A)(g)}`],input:["input"]};return(0,e.A)(h,n,b)})(N),P={slots:F,slotProps:{input:u,...G}},[Q,R]=(0,o.A)("root",{ref:b,elementType:q,className:O.root,shouldForwardComponentProp:!0,externalForwardedProps:{...P,component:"span",...H},getSlotProps:a=>({...a,onFocus:b=>{a.onFocus?.(b),z&&z(b),K&&K.onFocus&&K.onFocus(b)},onBlur:b=>{a.onBlur?.(b),x&&x(b),K&&K.onBlur&&K.onBlur(b)}}),ownerState:N,additionalProps:{centerRipple:!0,focusRipple:!l,disabled:L,role:void 0,tabIndex:null}}),[S,T]=(0,o.A)("input",{ref:v,elementType:r,className:O.input,externalForwardedProps:P,getSlotProps:a=>({onChange:b=>{a.onChange?.(b),(a=>{if(a.nativeEvent.defaultPrevented)return;let b=a.target.checked;J(b),y&&y(a,b)})(b)}}),ownerState:N,additionalProps:{autoFocus:c,checked:d,defaultChecked:h,disabled:L,id:M?t:void 0,name:w,readOnly:A,required:B,tabIndex:C,type:D,..."checkbox"===D&&void 0===E?{}:{value:E}}});return(0,p.jsxs)(Q,{...R,children:[(0,p.jsx)(S,{...T}),I?g:s]})})}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=5200,exports.ids=[5200],exports.modules={40443:(a,b,c)=>{c.d(b,{A:()=>g,Y:()=>f});var d=c(29565),e=c(33105);function f(a){return(0,e.Ay)("MuiListItemButton",a)}let g=(0,d.A)("MuiListItemButton",["root","focusVisible","dense","alignItemsFlexStart","disabled","divider","gutters","selected"])},53222:(a,b,c)=>{c.d(b,{A:()=>f});var d=c(11801),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z"}),"Refresh")},71439:(a,b,c)=>{c.d(b,{Ay:()=>x});var d=c(38301),e=c(43249),f=c(2783),g=c(7103),h=c(18168),i=c(68333),j=c(6636),k=c(67934),l=c(26636),m=c(55470),n=c(29565),o=c(33105);function p(a){return(0,o.Ay)("MuiListItem",a)}(0,n.A)("MuiListItem",["root","container","dense","alignItemsFlexStart","divider","gutters","padding","secondaryAction"]);var q=c(40443);function r(a){return(0,o.Ay)("MuiListItemSecondaryAction",a)}(0,n.A)("MuiListItemSecondaryAction",["root","disableGutters"]);var s=c(21124);let t=(0,h.Ay)("div",{name:"MuiListItemSecondaryAction",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.root,c.disableGutters&&b.disableGutters]}})({position:"absolute",right:16,top:"50%",transform:"translateY(-50%)",variants:[{props:({ownerState:a})=>a.disableGutters,style:{right:0}}]}),u=d.forwardRef(function(a,b){let c=(0,j.b)({props:a,name:"MuiListItemSecondaryAction"}),{className:g,...h}=c,i=d.useContext(m.A),k={...c,disableGutters:i.disableGutters},l=(a=>{let{disableGutters:b,classes:c}=a;return(0,f.A)({root:["root",b&&"disableGutters"]},r,c)})(k);return(0,s.jsx)(t,{className:(0,e.A)(l.root,g),ownerState:k,ref:b,...h})});u.muiName="ListItemSecondaryAction";let v=(0,h.Ay)("div",{name:"MuiListItem",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.root,c.dense&&b.dense,"flex-start"===c.alignItems&&b.alignItemsFlexStart,c.divider&&b.divider,!c.disableGutters&&b.gutters,!c.disablePadding&&b.padding,c.hasSecondaryAction&&b.secondaryAction]}})((0,i.A)(({theme:a})=>({display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",width:"100%",boxSizing:"border-box",textAlign:"left",variants:[{props:({ownerState:a})=>!a.disablePadding,style:{paddingTop:8,paddingBottom:8}},{props:({ownerState:a})=>!a.disablePadding&&a.dense,style:{paddingTop:4,paddingBottom:4}},{props:({ownerState:a})=>!a.disablePadding&&!a.disableGutters,style:{paddingLeft:16,paddingRight:16}},{props:({ownerState:a})=>!a.disablePadding&&!!a.secondaryAction,style:{paddingRight:48}},{props:({ownerState:a})=>!!a.secondaryAction,style:{[`& > .${q.A.root}`]:{paddingRight:48}}},{props:{alignItems:"flex-start"},style:{alignItems:"flex-start"}},{props:({ownerState:a})=>a.divider,style:{borderBottom:`1px solid ${(a.vars||a).palette.divider}`,backgroundClip:"padding-box"}},{props:({ownerState:a})=>a.button,style:{transition:a.transitions.create("background-color",{duration:a.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:(a.vars||a).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}}},{props:({ownerState:a})=>a.hasSecondaryAction,style:{paddingRight:48}}]}))),w=(0,h.Ay)("li",{name:"MuiListItem",slot:"Container",overridesResolver:(a,b)=>b.container})({position:"relative"}),x=d.forwardRef(function(a,b){let c=(0,j.b)({props:a,name:"MuiListItem"}),{alignItems:h="center",children:i,className:n,component:o,components:q={},componentsProps:r={},ContainerComponent:t="li",ContainerProps:{className:x,...y}={},dense:z=!1,disableGutters:A=!1,disablePadding:B=!1,divider:C=!1,secondaryAction:D,slotProps:E={},slots:F={},...G}=c,H=d.useContext(m.A),I=d.useMemo(()=>({dense:z||H.dense||!1,alignItems:h,disableGutters:A}),[h,H.dense,z,A]),J=d.useRef(null),K=d.Children.toArray(i),L=K.length&&(0,k.A)(K[K.length-1],["ListItemSecondaryAction"]),M={...c,alignItems:h,dense:I.dense,disableGutters:A,disablePadding:B,divider:C,hasSecondaryAction:L},N=(a=>{let{alignItems:b,classes:c,dense:d,disableGutters:e,disablePadding:g,divider:h,hasSecondaryAction:i}=a;return(0,f.A)({root:["root",d&&"dense",!e&&"gutters",!g&&"padding",h&&"divider","flex-start"===b&&"alignItemsFlexStart",i&&"secondaryAction"],container:["container"]},p,c)})(M),O=(0,l.A)(J,b),P=F.root||q.Root||v,Q=E.root||r.root||{},R={className:(0,e.A)(N.root,Q.className,n),...G},S=o||"li";return L?(S=R.component||o?S:"div","li"===t&&("li"===S?S="div":"li"===R.component&&(R.component="div")),(0,s.jsx)(m.A.Provider,{value:I,children:(0,s.jsxs)(w,{as:t,className:(0,e.A)(N.container,x),ref:O,ownerState:M,...y,children:[(0,s.jsx)(P,{...Q,...!(0,g.A)(P)&&{as:S,ownerState:{...M,...Q.ownerState}},...R,children:K}),K.pop()]})})):(0,s.jsx)(m.A.Provider,{value:I,children:(0,s.jsxs)(P,{...Q,as:S,ref:O,...!(0,g.A)(P)&&{ownerState:{...M,...Q.ownerState}},...R,children:[K,D&&(0,s.jsx)(u,{children:D})]})})})},75983:(a,b,c)=>{c.d(b,{A:()=>s});var d=c(38301),e=c(43249),f=c(2783),g=c(37489),h=c(18168),i=c(68333),j=c(6636),k=c(41126),l=c(14328),m=c(14758),n=c(26636),o=c(55470),p=c(40443),q=c(21124);let r=(0,h.Ay)(l.A,{shouldForwardProp:a=>(0,k.A)(a)||"classes"===a,name:"MuiListItemButton",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.root,c.dense&&b.dense,"flex-start"===c.alignItems&&b.alignItemsFlexStart,c.divider&&b.divider,!c.disableGutters&&b.gutters]}})((0,i.A)(({theme:a})=>({display:"flex",flexGrow:1,justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minWidth:0,boxSizing:"border-box",textAlign:"left",paddingTop:8,paddingBottom:8,transition:a.transitions.create("background-color",{duration:a.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:(a.vars||a).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${p.A.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),[`&.${p.A.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)}},[`&.${p.A.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)}},[`&.${p.A.focusVisible}`]:{backgroundColor:(a.vars||a).palette.action.focus},[`&.${p.A.disabled}`]:{opacity:(a.vars||a).palette.action.disabledOpacity},variants:[{props:({ownerState:a})=>a.divider,style:{borderBottom:`1px solid ${(a.vars||a).palette.divider}`,backgroundClip:"padding-box"}},{props:{alignItems:"flex-start"},style:{alignItems:"flex-start"}},{props:({ownerState:a})=>!a.disableGutters,style:{paddingLeft:16,paddingRight:16}},{props:({ownerState:a})=>a.dense,style:{paddingTop:4,paddingBottom:4}}]}))),s=d.forwardRef(function(a,b){let c=(0,j.b)({props:a,name:"MuiListItemButton"}),{alignItems:g="center",autoFocus:h=!1,component:i="div",children:k,dense:l=!1,disableGutters:s=!1,divider:t=!1,focusVisibleClassName:u,selected:v=!1,className:w,...x}=c,y=d.useContext(o.A),z=d.useMemo(()=>({dense:l||y.dense||!1,alignItems:g,disableGutters:s}),[g,y.dense,l,s]),A=d.useRef(null);(0,m.A)(()=>{h&&A.current&&A.current.focus()},[h]);let B={...c,alignItems:g,dense:z.dense,disableGutters:s,divider:t,selected:v},C=(a=>{let{alignItems:b,classes:c,dense:d,disabled:e,disableGutters:g,divider:h,selected:i}=a,j=(0,f.A)({root:["root",d&&"dense",!g&&"gutters",h&&"divider",e&&"disabled","flex-start"===b&&"alignItemsFlexStart",i&&"selected"]},p.Y,c);return{...c,...j}})(B),D=(0,n.A)(A,b);return(0,q.jsx)(o.A.Provider,{value:z,children:(0,q.jsx)(r,{ref:D,href:x.href||x.to,component:(x.href||x.to)&&"div"===i?"button":i,focusVisibleClassName:(0,e.A)(C.focusVisible,u),ownerState:B,className:(0,e.A)(C.root,w),...x,classes:C,children:k})})})}};
|