flujo-ai 3.19.0 → 3.21.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 +218 -183
- package/.next/app-path-routes-manifest.json +6 -1
- package/.next/build-manifest.json +5 -5
- package/.next/prerender-manifest.json +6 -6
- package/.next/react-loadable-manifest.json +8 -8
- package/.next/routes-manifest.json +16 -0
- package/.next/server/app/_not-found/page.js +2 -2
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +1 -1
- package/.next/server/app/api/approvals/[id]/route.js +1 -0
- package/.next/server/app/api/approvals/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/approvals/[id]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/approvals/route.js +2 -0
- package/.next/server/app/api/approvals/route.js.nft.json +1 -0
- package/.next/server/app/api/approvals/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/backup/route.js +1 -1
- package/.next/server/app/api/backup/route.js.nft.json +1 -1
- package/.next/server/app/api/backup/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/browse/route.js +1 -1
- package/.next/server/app/api/browse/route.js.nft.json +1 -1
- package/.next/server/app/api/browse/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/cwd/route.js +1 -1
- package/.next/server/app/api/cwd/route.js.nft.json +1 -1
- package/.next/server/app/api/cwd/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/encryption/secure/route.js +1 -1
- package/.next/server/app/api/encryption/secure/route.js.nft.json +1 -1
- package/.next/server/app/api/encryption/secure/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/env/route.js +1 -1
- package/.next/server/app/api/env/route.js.nft.json +1 -1
- package/.next/server/app/api/env/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/[id]/route.js +1 -1
- package/.next/server/app/api/flow/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/compile/route.js +1 -1
- package/.next/server/app/api/flow/compile/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/compile/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/generate/route.js +1 -1
- package/.next/server/app/api/flow/generate/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/generate/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/improve/route.js +1 -1
- package/.next/server/app/api/flow/improve/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/improve/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/prompt-renderer/route.js +2 -2
- package/.next/server/app/api/flow/prompt-renderer/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/prompt-renderer/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/quick-chat/route.js +1 -1
- package/.next/server/app/api/flow/quick-chat/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/quick-chat/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/repair/route.js +1 -1
- package/.next/server/app/api/flow/repair/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/repair/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/route.js +1 -1
- package/.next/server/app/api/flow/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/git/route.js +1 -1
- package/.next/server/app/api/git/route.js.nft.json +1 -1
- package/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/init/route.js +1 -1
- package/.next/server/app/api/init/route.js.nft.json +1 -1
- package/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/local-models/capability/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/local-models/pull/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/local-models/suggest/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/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/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 +1 -1
- package/.next/server/app/api/mcp-registry/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp-registry/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp-registry/spotlight/route.js +1 -1
- package/.next/server/app/api/mcp-registry/spotlight/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp-registry/spotlight/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/model/[id]/route.js +1 -1
- package/.next/server/app/api/model/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/model/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/model/provider/route.js +1 -1
- 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 +1 -1
- 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 +1 -1
- 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/planned-executions/[id]/route.js +1 -1
- 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 +1 -1
- 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 +1 -1
- package/.next/server/app/api/planned-executions/[id]/runs/route.js.nft.json +1 -1
- package/.next/server/app/api/planned-executions/[id]/runs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/planned-executions/preview-schedule/route.js +1 -1
- package/.next/server/app/api/planned-executions/preview-schedule/route.js.nft.json +1 -1
- package/.next/server/app/api/planned-executions/preview-schedule/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/planned-executions/reconcile/route.js +1 -0
- package/.next/server/app/api/planned-executions/reconcile/route.js.nft.json +1 -0
- package/.next/server/app/api/planned-executions/reconcile/route_client-reference-manifest.js +1 -0
- 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/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 -0
- package/.next/server/app/api/runs/active/route.js.nft.json +1 -0
- package/.next/server/app/api/runs/active/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/storage/route.js +1 -1
- package/.next/server/app/api/storage/route.js.nft.json +1 -1
- package/.next/server/app/api/storage/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/update/route.js +1 -1
- package/.next/server/app/api/update/route.js.nft.json +1 -1
- package/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/webhooks/[id]/route.js +1 -1
- package/.next/server/app/api/webhooks/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/webhooks/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/chat/page.js +9 -9
- 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 +2 -2
- package/.next/server/app/docs/page.js +12 -2
- 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 +2 -2
- package/.next/server/app/executions/page.js +3 -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 +2 -2
- 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 +2 -2
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +2 -2
- package/.next/server/app/mcp/page.js +5 -5
- 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 +2 -2
- 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/page.js +2 -2
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/page.js +1 -1
- 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 +2 -2
- 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 +2 -2
- package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/events/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route.js +1 -0
- package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route.js.nft.json +1 -0
- package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route_client-reference-manifest.js +1 -0
- 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/models/route.js +1 -1
- 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-paths-manifest.json +6 -1
- package/.next/server/chunks/1083.js +1 -1
- package/.next/server/chunks/1152.js +1 -1
- package/.next/server/chunks/1197.js +2 -2
- package/.next/server/chunks/1226.js +1 -0
- package/.next/server/chunks/1373.js +1 -1
- package/.next/server/chunks/1377.js +1 -0
- package/.next/server/chunks/1659.js +1 -0
- package/.next/server/chunks/1690.js +1 -0
- package/.next/server/chunks/1746.js +1 -1
- package/.next/server/chunks/2859.js +3 -3
- package/.next/server/chunks/289.js +1 -0
- package/.next/server/chunks/{1912.js → 3280.js} +3 -3
- package/.next/server/chunks/3774.js +6 -0
- package/.next/server/chunks/{4028.js → 3802.js} +1 -1
- package/.next/server/chunks/3823.js +40 -0
- package/.next/server/chunks/{3511.js → 3928.js} +1 -1
- package/.next/server/chunks/3984.js +4 -4
- package/.next/server/chunks/4043.js +6 -0
- package/.next/server/chunks/4045.js +1 -0
- package/.next/server/chunks/4265.js +1 -1
- package/.next/server/chunks/4322.js +1 -0
- package/.next/server/chunks/4436.js +1 -0
- package/.next/server/chunks/4456.js +1 -1
- package/.next/server/chunks/4561.js +64 -0
- package/.next/server/chunks/4637.js +16 -6
- package/.next/server/chunks/4671.js +1 -0
- package/.next/server/chunks/5662.js +1 -1
- package/.next/server/chunks/5708.js +11 -1
- package/.next/server/chunks/5734.js +8 -8
- package/.next/server/chunks/6537.js +1 -0
- package/.next/server/chunks/6772.js +1 -1
- package/.next/server/chunks/6793.js +1 -0
- package/.next/server/chunks/6901.js +3 -3
- package/.next/server/chunks/6908.js +12 -0
- package/.next/server/chunks/6996.js +3 -3
- package/.next/server/chunks/701.js +1 -1
- package/.next/server/chunks/7032.js +1 -0
- package/.next/server/chunks/7214.js +4 -4
- package/.next/server/chunks/724.js +4 -4
- package/.next/server/chunks/7362.js +12 -12
- package/.next/server/chunks/7463.js +6 -0
- package/.next/server/chunks/7506.js +1 -1
- package/.next/server/chunks/7821.js +1 -1
- package/.next/server/chunks/7959.js +1 -0
- package/.next/server/chunks/8298.js +1 -0
- package/.next/server/chunks/8652.js +42 -0
- package/.next/server/chunks/8739.js +2 -2
- package/.next/server/chunks/9201.js +17 -0
- package/.next/server/chunks/9285.js +1 -0
- package/.next/server/chunks/9343.js +1 -1
- package/.next/server/chunks/{6088.js → 9432.js} +2 -2
- package/.next/server/chunks/9509.js +2 -2
- package/.next/server/chunks/9957.js +1 -0
- package/.next/server/instrumentation.js.nft.json +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/PgkIffa5DdoRlsKKJyFOk/_buildManifest.js +1 -0
- package/.next/static/chunks/1423-19dafbb953c4992d.js +8 -0
- package/.next/static/chunks/{1892-a0f5ec7152540dc3.js → 1892-5c1e38d89e0a5a9c.js} +1 -1
- package/.next/static/chunks/{3272-ab88dd195ea61b65.js → 3272-fd8d59523f61da96.js} +1 -1
- package/.next/static/chunks/4031-ac736d3645071bb6.js +1 -0
- package/.next/static/chunks/4058-0d7bba578ece1784.js +1 -0
- package/.next/static/chunks/4480-7fb4d36c17264491.js +1 -0
- package/.next/static/chunks/4742-8501334dffd3b129.js +1 -0
- package/.next/static/chunks/{5501-7d6e38c7c8cc3c5a.js → 5501-c400aaeaf57e6297.js} +1 -1
- package/.next/static/chunks/557-dbc9903702465976.js +1 -0
- package/.next/static/chunks/5619-7ed132269b34f9b6.js +1 -0
- package/.next/static/chunks/6731-c230e88cf0032609.js +1 -0
- package/.next/static/chunks/{7583.5355a64005f2b265.js → 7583.7cb88044a5212b29.js} +1 -1
- package/.next/static/chunks/{8187.57929e3f925fe538.js → 8187.204e85fb197ddeb1.js} +1 -1
- package/.next/static/chunks/{1634-d4019c4a5cac2ed0.js → 9114-f8e481157e7d8d16.js} +1 -1
- package/.next/static/chunks/{9164-14dc5889cb7478c0.js → 9164-3d34bf7eab100ac7.js} +1 -1
- package/.next/static/chunks/app/api/approvals/[id]/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/approvals/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/backup/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/browse/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/cwd/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/encryption/secure/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/env/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/flow/[id]/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/flow/compile/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/flow/generate/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/flow/improve/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/flow/prompt-renderer/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/flow/quick-chat/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/flow/repair/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/flow/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/git/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/init/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/local-models/capability/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/local-models/pull/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/local-models/suggest/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/mcp/cancel/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/mcp/test-connection/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/mcp/test-connection/stream/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/mcp-registry/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/mcp-registry/spotlight/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/model/[id]/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/model/provider/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/model/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/model/test/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/oauth/callback/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/oauth/initiate/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/oauth/reset/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/[id]/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/[id]/run/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/reconcile/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/restore/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/runs/active/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/storage/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/update/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/api/webhooks/[id]/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/chat/page-1367f696bc0ade9b.js +1 -0
- package/.next/static/chunks/app/docs/page-10b73b5b2c608484.js +1 -0
- package/.next/static/chunks/app/executions/page-98e51554d7b1df19.js +1 -0
- package/.next/static/chunks/app/flows/page-edee8e5c15219bc6.js +1 -0
- package/.next/static/chunks/app/mcp/page-3cae88bf0236503e.js +1 -0
- package/.next/static/chunks/app/mcp-flows/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/mcp-proxy/[server]/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/models/page-d2dc022339075a6a.js +1 -0
- package/.next/static/chunks/app/v1/chat/completions/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/resources/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/app/v1/models/route-0343078cf7f19a65.js +1 -0
- package/.next/static/chunks/{webpack-3e8560996ac8c1e0.js → webpack-fd64460ba6699c85.js} +1 -1
- package/.next/trace +8 -7
- package/.next/types/app/api/approvals/[id]/route.ts +347 -0
- package/.next/types/app/api/approvals/route.ts +347 -0
- package/.next/types/app/api/planned-executions/reconcile/route.ts +347 -0
- package/.next/types/app/api/runs/active/route.ts +347 -0
- package/.next/types/app/v1/chat/conversations/[conversationId]/resources/route.ts +347 -0
- package/.next/types/routes.d.ts +6 -1
- package/.next/types/validator.ts +45 -0
- package/README.md +1 -1
- package/package.json +1 -1
- package/.next/server/chunks/1991.js +0 -1
- package/.next/server/chunks/2194.js +0 -1
- package/.next/server/chunks/2350.js +0 -1
- package/.next/server/chunks/264.js +0 -17
- package/.next/server/chunks/3310.js +0 -42
- package/.next/server/chunks/3574.js +0 -6
- package/.next/server/chunks/3648.js +0 -1
- package/.next/server/chunks/3953.js +0 -1
- package/.next/server/chunks/4239.js +0 -1
- package/.next/server/chunks/4372.js +0 -1
- package/.next/server/chunks/4681.js +0 -1
- package/.next/server/chunks/5148.js +0 -1
- package/.next/server/chunks/6136.js +0 -12
- package/.next/server/chunks/6465.js +0 -1
- package/.next/server/chunks/7403.js +0 -38
- package/.next/server/chunks/7635.js +0 -6
- package/.next/server/chunks/7865.js +0 -9
- package/.next/static/chunks/1711-ccf5eba61d618a1a.js +0 -1
- package/.next/static/chunks/3625-74c77250d64d1cd3.js +0 -1
- package/.next/static/chunks/5134-e21bd33daaf14ecf.js +0 -1
- package/.next/static/chunks/5619-82fc5c3133837739.js +0 -1
- package/.next/static/chunks/6013-cb423bc438256acb.js +0 -1
- package/.next/static/chunks/7829-b843e80f32a83256.js +0 -1
- package/.next/static/chunks/924-64f908860caf1a35.js +0 -1
- package/.next/static/chunks/9747-ffb8be5e59700c27.js +0 -8
- package/.next/static/chunks/app/api/backup/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/browse/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/cwd/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/encryption/secure/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/env/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/flow/[id]/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/flow/compile/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/flow/generate/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/flow/improve/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/flow/prompt-renderer/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/flow/quick-chat/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/flow/repair/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/flow/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/git/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/init/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/local-models/capability/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/local-models/pull/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/local-models/suggest/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/mcp/cancel/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/mcp/test-connection/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/mcp/test-connection/stream/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/mcp-registry/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/mcp-registry/spotlight/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/model/[id]/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/model/provider/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/model/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/model/test/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/oauth/callback/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/oauth/initiate/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/oauth/reset/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/planned-executions/[id]/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/planned-executions/[id]/run/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/planned-executions/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/restore/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/storage/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/update/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/webhooks/[id]/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/chat/page-1d764d1de5ad5d2f.js +0 -1
- package/.next/static/chunks/app/docs/page-d670c1ec8af5cb54.js +0 -1
- package/.next/static/chunks/app/executions/page-109274291811d467.js +0 -1
- package/.next/static/chunks/app/flows/page-df8eda0e83934fb2.js +0 -1
- package/.next/static/chunks/app/mcp/page-9a612d0be5a3336d.js +0 -1
- package/.next/static/chunks/app/mcp-flows/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/mcp-proxy/[server]/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/models/page-616950f93a1e0027.js +0 -1
- package/.next/static/chunks/app/v1/chat/completions/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/v1/models/route-ff084c1cc278df77.js +0 -1
- package/.next/static/itJEX_uJ7hJ7oF-igwwK9/_buildManifest.js +0 -1
- /package/.next/static/{itJEX_uJ7hJ7oF-igwwK9 → PgkIffa5DdoRlsKKJyFOk}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";exports.id=4043,exports.ids=[4043,6793],exports.modules={51875:(a,b,c)=>{c.d(b,{A1:()=>k,Je:()=>i,Jl:()=>j,qq:()=>f,vV:()=>g});var d=c(55511);function e(a){return JSON.stringify(function a(b){if(Array.isArray(b))return b.map(a);if(null!==b&&"object"==typeof b){let c=Object.entries(b).sort(([a],[b])=>a<b?-1:+(a>b)),d={};for(let[b,e]of c)d[b]=a(e);return d}return b}(a))}function f(a){return(0,d.createHash)("sha256").update(e(a)??"undefined").digest("hex")}async function g(a){let{status:b,pendingState:c,priorFailures:d,saveState:e}=a;if("completed"===b)return await e({...c,...d>0?{pendingFailures:0}:{}}),{giveUpError:null};if("skipped"===b)return{giveUpError:null};let f=d+1;return f>=3?(await e({...c,pendingFailures:0}),{giveUpError:`Detected a change but the flow failed to process it 3\xd7 — skipping it to avoid a loop`}):(await e({pendingFailures:f}),{giveUpError:null})}function h(a,b){if(!b)return a;let c=a;for(let a of b.split(".")){if(null==c||"object"!=typeof c)return;c=c[a]}return c}function i(a){let b=e(a)??"";return b.length<=8192?a:{truncated:!0,note:`Result too large to include fully (${b.length} chars); this is a preview.`,preview:b.slice(0,8192)}}function j(a,b){let c=f(a);return b.lastHash?b.lastHash===c?{fire:!1,newState:{}}:{fire:!0,summary:"Tool result changed",context:{result:i(a)},newState:{},pendingState:{lastHash:c}}:{fire:!1,newState:{lastHash:c}}}function k(a,b,c,d){let e=h(a,b);if(!Array.isArray(e))return{fire:!1,newState:{},error:`"${b||"(root)"}" did not resolve to a list in the tool result`};let g=e.map(a=>{let b=h(a,c);return{id:null==b||"object"==typeof b?`hash:${f(a)}`:String(b),item:a}}),j=d.seenIds,k=a=>{let b=[...a??[]],c=new Set(b);for(let{id:a}of g)c.has(a)||(c.add(a),b.push(a));return b.slice(-1e3)};if(!j)return{fire:!1,newState:{seenIds:k(void 0)}};let l=new Set(j),m=g.filter(({id:a})=>!l.has(a));return 0===m.length?{fire:!1,newState:{}}:{fire:!0,summary:1===m.length?"1 new item":`${m.length} new items`,context:{newItems:i(m.slice(0,50).map(({item:a})=>a)),...m.length>50?{omitted:m.length-50}:{}},newState:{},pendingState:{seenIds:k(j)}}}},52189:(a,b,c)=>{c.d(b,{O9:()=>e,Z9:()=>f,hk:()=>g,wv:()=>h});var d=c(73736);function e(a,b){try{let c=new d.l4(a,{timezone:b,paused:!0});return c.nextRun(),c.stop(),{valid:!0}}catch(a){return{valid:!1,error:a instanceof Error?a.message:"Invalid cron pattern"}}}function f(a,b,c){let e=new d.l4(a,{timezone:b,paused:!0});try{return e.nextRuns(c).map(a=>a.toISOString())}finally{e.stop()}}function g(a,b){let c=new d.l4(a.cron,{timezone:a.timezone,paused:!0});try{let a=c.nextRun(new Date(b));return null!==a&&a.getTime()<=Date.now()}finally{c.stop()}}function h(a,b){let c=new d.l4(a.cron,{timezone:a.timezone,unref:!0},b);return{dispose:()=>c.stop(),nextRun:()=>c.nextRun()?.toISOString()??null}}},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}},59911:(a,b,c)=>{c.d(b,{Hy:()=>i,Sw:()=>h,s1:()=>j,tl:()=>k,xC:()=>l});var d=c(92372);let e=(0,c(50846).h)("backend/services/scheduler/runHistory"),f=a=>`planned-execution-runs/${a}`,g=new Map;async function h(a){try{return await (0,d.YM)(f(a),[])}catch(b){return e.error(`Failed to load run history for ${a}:`,b),[]}}async function i(a,b){let c=(g.get(a)??Promise.resolve()).catch(()=>{}).then(async()=>{let c=await h(a);c.push(b);let e=c.slice(-100);await (0,d.VH)(f(a),e)});g.set(a,c);try{await c}finally{g.get(a)===c&&g.delete(a)}}async function j(a,b,c){let e=g.get(a)??Promise.resolve(),i=null,j=e.catch(()=>{}).then(async()=>{let e=await h(a),g=e.findIndex(a=>a.runId===b);if(g<0){i=null;return}e[g]={...e[g],...c,runId:b},i=e[g],await (0,d.VH)(f(a),e)});g.set(a,j);try{await j}finally{g.get(a)===j&&g.delete(a)}return i}async function k(a){let b=await h(a);return b.length>0?b[b.length-1]:null}async function l(a){await (0,d.N2)(f(a))}},94043:(a,b,c)=>{c.d(b,{z:()=>F});var d=c(32524),e=c(92372),f=c(46480),g=c(50846),h=c(58739),i=c(52189),j=c(33873),k=c.n(j),l=c(29021),m=c(9794);let n=(0,g.h)("backend/services/scheduler/triggers/fileWatch");var o=c(73736);function p(a){let b=Math.max(5,Math.round((a??6e4)/1e3));if(b<60)return`*/${b} * * * * *`;let c=Math.max(1,Math.round(b/60));if(c<60)return`*/${c} * * * *`;let d=Math.max(1,Math.min(23,Math.round(c/60)));return`0 */${d} * * *`}var q=c(51875);let r=(0,g.h)("backend/services/scheduler/triggers/mcpPoll"),s=(0,g.h)("backend/services/scheduler/triggers/urlWatch");var t=c(56793);let u=(0,g.h)("backend/services/scheduler/triggers/flowEvent");function v(a){return a&&a.length>8192?`${a.slice(0,8192)}… (truncated)`:a}var w=c(59911);let x=(0,g.h)("backend/services/scheduler/state"),y=a=>`planned-execution-state/${a}`;async function z(a){try{return await (0,e.YM)(y(a),{})}catch(b){return x.error(`Failed to load trigger state for ${a}:`,b),{}}}async function A(a,b){await (0,e.VH)(y(a),b)}async function B(a){await (0,e.N2)(y(a))}let C=(0,g.h)("backend/services/scheduler/index"),D={version:1,paused:!1,executions:[]};class E{static{this.MAX_QUEUE_DEPTH=50}async start(){this.started||(this.started=!0,C.info("Starting scheduler"),await this.reconcile())}reconcile(){let a=this.reconcileChain.catch(()=>{}).then(()=>this.doReconcile());return this.reconcileChain=a,a}async doReconcile(){for(let[a,b]of this.armed)try{b.dispose()}catch(b){C.warn(`Failed to dispose trigger for ${a}:`,b)}this.armed.clear();let a=await this.loadFile();if(this.pausedCache=a.paused,a.paused)return void C.info("Scheduler is paused — nothing armed");for(let b of a.executions)if(b.enabled)try{await this.armExecution(b)}catch(c){let a=c instanceof Error?c.message:String(c);this.lastTriggerErrors.set(b.id,a),C.error(`Failed to arm "${b.name}" (${b.id}):`,c)}C.info(`Scheduler armed ${this.armed.size} execution(s)`)}async armExecution(a){let b=a.trigger;switch(b.type){case"schedule":{let c=await z(a.id);c.lastScheduledFireAt?b.catchUp&&(0,i.hk)(b,c.lastScheduledFireAt)&&(await A(a.id,{...c,lastScheduledFireAt:new Date().toISOString()}),C.info(`Catch-up run for "${a.name}" (missed while closed)`),this.fire(a,{kind:"schedule-catchup",summary:"Schedule (missed while FLUJO was closed — ran once at startup)"})):await A(a.id,{...c,lastScheduledFireAt:new Date().toISOString()}),this.armed.set(a.id,(0,i.wv)(b,()=>{(async()=>{let b=await z(a.id);await A(a.id,{...b,lastScheduledFireAt:new Date().toISOString()}),await this.fire(a,{kind:"schedule",summary:"Schedule"})})().catch(b=>C.error(`Scheduled fire failed for ${a.id}:`,b))}));break}case"webhook":break;case"file-watch":this.armed.set(a.id,function(a,b,c){let d,e=a.debounceMs??2e3,f=new Set(a.events),g=a.glob?.trim()?function(a){let b=a.replace(/\\/g,"/"),c="";for(let a=0;a<b.length;a++){let d=b[a];"*"===d?"*"===b[a+1]?"/"===b[++a+1]?(a++,c+="(?:.*/)?"):c+=".*":c+="[^/]*":"?"===d?c+="[^/]":c+=d.replace(/[.+^${}()|[\]\\]/g,"\\$&")}return RegExp(`^${c}$`)}(a.glob.trim()):null;try{d=l.realpathSync.native(a.path)}catch(d){let b=d instanceof Error?d.message:String(d);return n.warn(`Cannot watch "${a.path}": ${b}`),c(`Cannot watch "${a.path}": ${b}`),{dispose:()=>void 0}}let h=[],i=!1,j=null,o=!1,p=()=>{if(j=null,o||0===h.length)return;let a=h;i&&n.info("File-watch batch overflowed; reporting first 50 events"),h=[],i=!1,b({events:a})},q=(0,m.wB)(d,{ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:500,pollInterval:100}});return q.on("all",(a,b)=>{if(!o&&("add"===a||"change"===a||"unlink"===a)&&f.has(a)){if(g){let a=k().relative(d,b).replace(/\\/g,"/")||k().basename(b);if(!g.test(a))return}h.length>=50?i=!0:h.push({event:a,path:b}),j&&clearTimeout(j),j=setTimeout(p,e),j.unref?.()}}),q.on("error",a=>{let b=a instanceof Error?a.message:String(a);n.warn(`Watcher error for ${d}: ${b}`),c(b)}),{dispose:()=>{o=!0,j&&(clearTimeout(j),j=null),h=[],q.close().catch(a=>n.warn(`Failed to close watcher for ${d}:`,a))}}}(b,({events:c})=>{this.lastTriggerErrors.delete(a.id),this.fire(a,{kind:"file",summary:1===c.length?`File ${"unlink"===c[0].event?"deleted":"add"===c[0].event?"added":"changed"}`:`${c.length} file changes`,context:{watchedPath:b.path,events:c}})},b=>this.lastTriggerErrors.set(a.id,b)));break;case"mcp-poll":Promise.all([c.e(6996),c.e(1223),c.e(5734),c.e(9201)]).then(c.bind(c,1133)).then(async({mcpService:c})=>{await c.isServerDisabled(b.serverName)&&this.lastTriggerErrors.set(a.id,`MCP server '${b.serverName}' is disabled — enable it on the MCP page or change the trigger`)}).catch(b=>C.warn(`Arm-time disabled-server check failed for ${a.id}:`,b)),this.armed.set(a.id,function(a,b){let c=a.cron||p(a.intervalMs),d=!1,e=!1,f=0,g=0,h=async()=>{if(!e&&!d){if(g>0)return void g--;d=!0;try{let c,d=await b.callTool(a.serverName,a.toolName,a.args);if(!d.success)throw Error(d.error||"Tool call failed");f=0;let g=await b.loadState(),h=a.evaluate;if(c="on-change"===h.mode?(0,q.Jl)(d.data,g):"new-items"===h.mode?(0,q.A1)(d.data,h.itemsPath,h.idField,g):b.evaluateAiGate?await b.evaluateAiGate(d.data,h,g):{fire:!1,newState:{},error:'The "AI decides" condition is not available yet'},e)return;if(Object.keys(c.newState).length>0&&await b.saveState(c.newState),c.error)b.onError(c.error);else if(c.fire){let{status:d}=await b.onFire({summary:`Watched tool: ${c.summary??"condition met"}`,context:{server:a.serverName,tool:a.toolName,..."object"==typeof c.context&&null!==c.context?c.context:{result:c.context}}});if(e)return;if(c.pendingState){let{giveUpError:a}=await (0,q.vV)({status:d,pendingState:c.pendingState,priorFailures:g.pendingFailures??0,saveState:b.saveState});a&&b.onError(a)}}else b.onSuccess?.()}catch(d){f++,g=Math.min(2**(f-1),8);let c=d instanceof Error?d.message:String(d);r.warn(`Poll failed for ${a.serverName}/${a.toolName} (backing off ${g} check(s)): ${c}`),b.onError(c)}finally{d=!1}}},i=new o.l4(c,{timezone:a.timezone,unref:!0},()=>void h());return h(),{dispose:()=>{e=!0,i.stop()},nextRun:()=>i.nextRun()?.toISOString()??null}}(b,{callTool:async(a,b,d)=>{let{mcpService:e}=await Promise.all([c.e(6996),c.e(1223),c.e(5734),c.e(9201)]).then(c.bind(c,1133)),f=await e.callTool(a,b,d);return{success:!0===f.success,data:f.data,error:"string"==typeof f.error?f.error:void 0}},loadState:()=>z(a.id),saveState:async b=>{let c=await z(a.id);await A(a.id,{...c,...b})},onFire:async({summary:b,context:c})=>(this.lastTriggerErrors.delete(a.id),{status:(await this.fire(a,{kind:"mcp-poll",summary:b,context:c})).status}),onError:b=>this.lastTriggerErrors.set(a.id,b),onSuccess:()=>this.lastTriggerErrors.delete(a.id),evaluateAiGate:async(a,b,d)=>{let{evaluateAiGate:e}=await c.e(7506).then(c.bind(c,47506));return e(a,b,d)}}));break;case"url-watch":this.armed.set(a.id,function(a,b){let c=b.fetchImpl??fetch,d=!1,e=!1,f=async()=>{if(!e&&!d){d=!0;try{let d=await c(a.url,{redirect:"follow",headers:{"User-Agent":"FLUJO-url-watch"},signal:AbortSignal.timeout(3e4)});if(!d.ok)return void b.onError(`The URL answered with HTTP ${d.status}`);let f=await d.text(),g=(0,q.qq)(f),h=await b.loadState();if(e)return;if(!h.lastHash){await b.saveState({lastHash:g}),b.onSuccess?.();return}if(h.lastHash===g)return void b.onSuccess?.();let{status:i}=await b.onFire({summary:"Online content changed",context:{url:a.url,status:d.status,contentType:d.headers.get("content-type")??void 0,content:f.length>8192?`${f.slice(0,8192)}… (truncated, ${f.length} chars total)`:f}});if(e)return;let{giveUpError:j}=await (0,q.vV)({status:i,pendingState:{lastHash:g},priorFailures:h.pendingFailures??0,saveState:b.saveState});j&&b.onError(j)}catch(d){let c=d instanceof Error&&"TimeoutError"===d.name?"The URL did not answer within 30s":d instanceof Error?d.message:String(d);s.warn(`URL check failed for ${a.url}: ${c}`),b.onError(c)}finally{d=!1}}},g=new o.l4(a.cron,{timezone:a.timezone,unref:!0},()=>void f());return f(),{dispose:()=>{e=!0,g.stop()},nextRun:()=>g.nextRun()?.toISOString()??null}}(b,{loadState:()=>z(a.id),saveState:async b=>{let c=await z(a.id);await A(a.id,{...c,...b})},onFire:async({summary:b,context:c})=>(this.lastTriggerErrors.delete(a.id),{status:(await this.fire(a,{kind:"url-watch",summary:b,context:c})).status}),onError:b=>this.lastTriggerErrors.set(a.id,b),onSuccess:()=>this.lastTriggerErrors.delete(a.id)}));break;case"flow-event":this.armed.set(a.id,function(a,b){let c=a.maxChainDepth??5,d="string"==typeof a.source.topic?a.source.topic.trim():"",e=d.length>0,f=0,g=null,h=!1;if(a.outputMatch?.regex)try{g=new RegExp(a.outputMatch.regex)}catch(c){h=!0;let a=`Invalid output-match regex: ${c instanceof Error?c.message:String(c)}`;u.warn(a),b.onError(a)}let i=b=>{if(!a.outputMatch)return!0;if(h)return!1;let c=(b??"").slice(0,16384);return(!a.outputMatch.contains||!!c.includes(a.outputMatch.contains))&&(!g||!!g.test(c))},j=(d,e,g)=>{if(d>=c){let a=`Flow-event chain reached the depth limit (${c}); not firing again`;u.info(a),b.onSkip(a);return}let h=Date.now();if(a.minIntervalMs&&h-f<a.minIntervalMs)return void u.debug(`Flow-event cooldown active (${a.minIntervalMs}ms); ignoring event`);f=h,b.onFire({summary:e,context:g,chainDepth:d+1})},k=(0,t.eh)().subscribe(c=>{try{if(e){if(!(0,t.ru)(c)||c.topic!==d||!i(c.payload))return;j(c.chainDepth,`Signal "${c.topic}"`,{topic:c.topic,payload:v(c.payload),emitterFlowId:c.emitterFlowId,flowName:c.flowName,runId:c.runId,conversationId:c.conversationId,firedBy:c.firedBy});return}if((0,t.ru)(c)||!(b=>{let c=a.source;return c.executionId?b.executionId===c.executionId:c.flowId?b.flowId===c.flowId:!!c.flowName&&b.flowName===c.flowName})(c)||!c.status||!(a.on??[]).includes(c.status)||!i(c.outputText))return;let b=c.flowName??c.flowId;j(c.chainDepth,`Flow "${b}" ${c.status}`,{flowId:c.flowId,flowName:c.flowName,executionId:c.executionId,runId:c.runId,conversationId:c.conversationId,status:c.status,firedBy:c.firedBy,outputText:v(c.outputText),error:c.error})}catch(c){let a=c instanceof Error?c.message:String(c);u.warn(`Flow-event handling failed: ${a}`),b.onError(a)}});return{dispose:()=>k(),nextRun:()=>null}}(b,{onFire:({summary:b,context:c,chainDepth:d})=>{this.lastTriggerErrors.delete(a.id),this.fire(a,{kind:"flow-event",summary:b,context:c,chainDepth:d}).catch(b=>C.error(`Flow-event fire failed for ${a.id}:`,b))},onSkip:b=>{let c=new Date().toISOString();(0,w.Hy)(a.id,{runId:(0,d.A)(),conversationId:"",firedAt:c,finishedAt:c,status:"skipped",triggerSummary:"Flow event",error:b}).catch(b=>C.warn(`Failed to record flow-event skip for ${a.id}:`,b))},onError:b=>this.lastTriggerErrors.set(a.id,b)}));break;default:C.warn(`Trigger type "${b.type}" is not implemented — "${a.name}" not armed`)}}async loadFile(){let a=await (0,e.YM)(f.Z.PLANNED_EXECUTIONS,D);return{version:1,paused:!0===a.paused,executions:Array.isArray(a.executions)?a.executions:[]}}async saveFile(a){await (0,e.VH)(f.Z.PLANNED_EXECUTIONS,a)}async isPaused(){return(await this.loadFile()).paused}async setPaused(a){let b=await this.loadFile();if(await this.saveFile({...b,paused:a}),await this.reconcile(),a)for(let a of[...this.queued.keys()])await this.cancelQueued(a,"scheduler paused",!0)}async list(){return Promise.all((await this.loadFile()).executions.map(async a=>({execution:a,status:this.getStatus(a),lastRun:await (0,w.tl)(a.id)})))}async get(a){return(await this.loadFile()).executions.find(b=>b.id===a)??null}async create(a){let b=this.validateInput(a);if(b)return{error:b};if(void 0!==a.id&&!/^[A-Za-z0-9._:-]{1,128}$/.test(a.id))return{error:"The id must be 1-128 characters of letters, digits, dot, underscore, colon or hyphen"};if("."===a.id||".."===a.id)return{error:'The id must be a safe identifier, not "." or ".."'};let c=new Date().toISOString(),e={...a,trigger:this.normalizeTrigger(a.trigger),id:a.id??(0,d.A)(),createdAt:c,updatedAt:c},f=await this.loadFile();return f.executions.some(a=>a.id===e.id)?{error:`A planned execution with id "${e.id}" already exists`,conflict:!0}:(await this.saveFile({...f,executions:[...f.executions,e]}),await this.reconcile(),{execution:e})}async update(a,b){let c=await this.loadFile(),d=c.executions.findIndex(b=>b.id===a);if(d<0)return{error:`No planned execution with id "${a}"`};let e={...c.executions[d],...b,...b.trigger?{trigger:this.normalizeTrigger(b.trigger)}:{},id:a,createdAt:c.executions[d].createdAt,updatedAt:new Date().toISOString()},f=this.validateInput(e);if(f)return{error:f};let g=[...c.executions];return g[d]=e,await this.saveFile({...c,executions:g}),await this.reconcile(),await this.cancelQueued(a,"execution updated",!0),{execution:e}}async delete(a){let b=await this.loadFile();return b.executions.some(b=>b.id===a)?(await this.saveFile({...b,executions:b.executions.filter(b=>b.id!==a)}),await this.reconcile(),this.lastTriggerErrors.delete(a),await this.cancelQueued(a,"execution deleted",!1),await (0,w.xC)(a),await B(a),{success:!0}):{success:!1,error:`No planned execution with id "${a}"`}}normalizeTrigger(a){return a?.type!=="webhook"||a.token?a?.type!=="mcp-poll"||a.cron?a:{...a,cron:p(a.intervalMs)}:{...a,token:(0,d.A)()}}validateInput(a){if(!a.name?.trim())return"A name is required";if(!a.flowId)return"A flow is required";if("string"!=typeof a.prompt)return"A prompt is required (may be empty)";if(void 0!==a.overlapStrategy&&!["skip","queue","parallel","error"].includes(a.overlapStrategy))return"Overlap strategy must be one of: skip, queue, parallel, error";let b=a.trigger;if(!b||"object"!=typeof b)return"A trigger is required";switch(b.type){case"schedule":{let a=(0,i.O9)(b.cron,b.timezone);return a.valid?null:`Invalid schedule: ${a.error}`}case"webhook":return null;case"file-watch":if(!b.path?.trim())return"A folder or file path to watch is required";if(!Array.isArray(b.events)||0===b.events.length)return"At least one file event is required";return null;case"mcp-poll":if(!b.serverName||!b.toolName)return"A server and tool are required";if(b.cron){let a=(0,i.O9)(b.cron,b.timezone);if(!a.valid)return`Invalid schedule: ${a.error}`}if(b.evaluate?.mode==="new-items"&&!b.evaluate.idField?.trim())return"An id field is required to detect new items";if((b.evaluate?.mode==="llm-gate"||b.evaluate?.mode==="flow-gate")&&!b.evaluate.condition?.trim())return"A condition is required for the AI to check";if(b.evaluate?.mode==="llm-gate"&&!b.evaluate.modelId)return"A model is required to check the condition";if(b.evaluate?.mode==="flow-gate"&&!b.evaluate.flowId)return"A flow is required to check the condition";return null;case"url-watch":{try{let a=new URL(b.url??"");if("http:"!==a.protocol&&"https:"!==a.protocol)return"The URL must start with http:// or https://"}catch{return"A valid URL is required"}let a=(0,i.O9)(b.cron,b.timezone);return a.valid?null:`Invalid schedule: ${a.error}`}case"flow-event":{let a=b.source;if(1!==[a?.executionId,a?.flowId,a?.flowName,a?.topic].filter(a=>"string"==typeof a&&a.trim().length>0).length)return"Choose exactly one source: a flow, a planned execution, or a signal topic";if(!("string"==typeof a?.topic&&a.topic.trim().length>0)){if(!Array.isArray(b.on)||0===b.on.length)return"Select at least one outcome to react to (completed or error)";if(b.on.some(a=>"completed"!==a&&"error"!==a))return'Outcomes must be "completed" or "error"'}if(b.outputMatch?.regex)try{new RegExp(b.outputMatch.regex)}catch(a){return`Invalid output-match regex: ${a instanceof Error?a.message:String(a)}`}if(void 0!==b.maxChainDepth&&(!Number.isInteger(b.maxChainDepth)||b.maxChainDepth<1))return"Max chain depth must be a positive whole number";if(void 0!==b.minIntervalMs&&(!Number.isFinite(b.minIntervalMs)||b.minIntervalMs<0))return"Minimum interval must be zero or more milliseconds";return null}default:return"Unknown trigger type"}}isRunning(a){let b=this.running.get(a);return void 0!==b&&b.size>0}addRunning(a,b,c){let d=this.running.get(a);d||(d=new Map,this.running.set(a,d)),d.set(b,c)}removeRunning(a,b){let c=this.running.get(a);c&&(c.delete(b),0===c.size&&this.running.delete(a))}earliestRunningSince(a){let b,c=this.running.get(a);if(c&&0!==c.size){for(let a of c.values())(void 0===b||a<b)&&(b=a);return b}}skippedRecord(a,b){let c=new Date().toISOString();return{runId:a.runId,conversationId:"",firedAt:c,finishedAt:c,status:"skipped",triggerSummary:a.payload.summary,error:b}}async cancelQueued(a,b,c){let d=this.queued.get(a);if(d&&0!==d.length){for(let e of(this.queued.delete(a),d)){let d=this.skippedRecord(e,b);if(c)try{await (0,w.Hy)(a,d)}catch(b){C.warn(`Failed to record cancelled queued fire for ${a}:`,b)}e.resolve(d)}C.info(`Cancelled ${d.length} queued fire(s) for ${a}: ${b}`)}}drainQueue(a){let b=this.queued.get(a);if(!b||0===b.length||this.isRunning(a))return;let c=b.shift();0===b.length&&this.queued.delete(a),c&&(async()=>{let b=await this.get(a);if(!b||!b.enabled||this.pausedCache){let a=b?b.enabled?"scheduler paused":"execution disabled":"execution deleted";c.resolve(this.skippedRecord(c,a));return}let d=await this.fire(b,c.payload,c.runId);c.resolve(d)})().catch(b=>C.error(`Queued fire failed for ${a}:`,b))}getStatus(a){let b=this.armed.get(a.id),c=void 0!==b||a.enabled&&"webhook"===a.trigger.type&&this.started&&!this.pausedCache,d=this.earliestRunningSince(a.id),e=c?void 0:a.enabled?this.pausedCache?"paused":void 0:"disabled";return{armed:c,notArmedReason:e,nextRun:b?.nextRun?b.nextRun():void 0,lastTriggerError:this.lastTriggerErrors.get(a.id),running:void 0!==d,runningSince:d}}async runNow(a){let b=await this.get(a);return b?{record:await this.fire(b,{kind:"manual",summary:"Manual run"},(0,d.A)(),!0)}:{error:`No planned execution with id "${a}"`}}async fire(a,b,e=(0,d.A)(),f=!1){let g,i=new Date().toISOString();if(await (0,h.isEncryptionLocked)()){let c={runId:e,conversationId:"",firedAt:i,finishedAt:i,status:"skipped",triggerSummary:b.summary,error:"encryption locked"};return await (0,w.Hy)(a.id,c),C.info(`Skipped fire for "${a.name}" — encryption locked`),c}let j=a.overlapStrategy??"skip";if(!f&&this.isRunning(a.id)){if("skip"===j){let c={runId:e,conversationId:"",firedAt:i,finishedAt:i,status:"skipped",triggerSummary:b.summary,error:"Previous run still in progress"};return await (0,w.Hy)(a.id,c),C.info(`Skipped overlapping fire for "${a.name}"`),c}if("error"===j){let c={runId:e,conversationId:"",firedAt:i,finishedAt:i,status:"error",triggerSummary:b.summary,error:"Overlapping run rejected (overlapStrategy=error)"};return await (0,w.Hy)(a.id,c),C.info(`Rejected overlapping fire for "${a.name}" (overlapStrategy=error)`),c}if("queue"===j){let c=this.queued.get(a.id)?.length??0;if(c>=E.MAX_QUEUE_DEPTH){let c={runId:e,conversationId:"",firedAt:i,finishedAt:i,status:"skipped",triggerSummary:b.summary,error:`Overlap queue full (cap ${E.MAX_QUEUE_DEPTH}) — fire dropped`};return await (0,w.Hy)(a.id,c),C.warn(`Overlap queue full for "${a.name}" — dropped fire`),c}return C.info(`Queued overlapping fire for "${a.name}" (depth ${c+1})`),new Promise(c=>{let d=this.queued.get(a.id)??[];d.push({execution:a,payload:b,runId:e,resolve:c}),this.queued.set(a.id,d)})}}this.addRunning(a.id,e,i);let k=(0,d.A)();try{C.info(`Firing "${a.name}" (${b.kind})`);let d=await (0,w.Sw)(a.id),f=d.length>0?d[d.length-1]:null,h=[...d].reverse().find(a=>a.outputText),j={executionName:a.name,trigger:b.kind,now:i,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,lastRun:f?{at:f.firedAt,status:f.status}:null,lastOutput:h?{at:h.firedAt,text:h.outputText}:null,nextPlannedRun:this.getStatus(a).nextRun??null},l=a.approvalPolicy??"auto",m=a.saveConversations||"pause"===l?"conversation":"ephemeral",{runFlow:n}=await Promise.all([c.e(6996),c.e(1223),c.e(5734),c.e(1373),c.e(9201),c.e(7821),c.e(724),c.e(3823),c.e(4671),c.e(7214)]).then(c.bind(c,57214)),o=await n({flowId:a.flowId,prompt:this.composePrompt(a.prompt,b,j),mode:m,conversationId:k,source:"schedule",plannedExecutionId:a.id,chainDepth:b.chainDepth??0,requireApproval:"auto"!==l,onApprovalRequired:l,debug:!1,userTurn:!0});g=await this.recordFromResult(a,o,{runId:e,conversationId:k,firedAt:i,payload:b})}catch(c){g={runId:e,conversationId:k,firedAt:i,finishedAt:new Date().toISOString(),status:"error",triggerSummary:b.summary,error:c instanceof Error?c.message:String(c)},C.error(`Run crashed for "${a.name}":`,c)}finally{this.removeRunning(a.id,e),this.drainQueue(a.id)}return await this.get(a.id)===null?C.info(`Dropping run record for deleted execution ${a.id}`):(await (0,w.Hy)(a.id,g),("completed"===g.status||"error"===g.status)&&await this.publishFlowRunEvent(a,g,b)),g}async recordFromResult(a,b,c){let{runId:d,conversationId:e,firedAt:f,payload:g}=c,h=new Date().toISOString(),i="awaiting_tool_approval"===b.status,j="error"===b.status&&b.error?.details?.type==="approval_required";if(i||j){let c=(b.pendingToolCalls??[]).map(a=>({id:a.id,name:"function"===a.type?a.function.name:String(a.type)})),k={runId:d,conversationId:e,firedAt:f,finishedAt:h,status:"needs_approval",triggerSummary:g.summary,outputText:this.truncateOutput(b.outputText),usage:b.usage,error:j?b.error?.message??"Tool approval required":"Awaiting tool approval",pendingApproval:{tool:c[0]?.name??b.error?.details?.name,toolCallId:c[0]?.id,pendingToolCalls:c.length>0?c:void 0}};return i&&await this.registerPendingApproval(a,k,c),k}return{runId:d,conversationId:e,firedAt:f,finishedAt:h,status:"completed"===b.status?"completed":"error",triggerSummary:g.summary,outputText:this.truncateOutput(b.outputText),usage:b.usage,error:"completed"===b.status?void 0:b.error?.message??`Run ended with status "${b.status}"`}}async registerPendingApproval(a,b,d){try{let e;try{let{flowService:b}=await c.e(7821).then(c.bind(c,87821));e=(await b.getFlow(a.flowId))?.name??void 0}catch(b){C.debug(`Could not resolve flow name for pending approval (${a.flowId}):`,b)}let{putPendingApproval:f}=await c.e(9285).then(c.bind(c,39285));await f({approvalId:b.conversationId,conversationId:b.conversationId,plannedExecutionId:a.id,flowId:a.flowId,flowName:e,runId:b.runId,triggerSummary:b.triggerSummary,pendingToolCalls:d,createdAt:b.firedAt})}catch(b){C.warn(`Failed to register pending approval for "${a.name}":`,b)}}async publishFlowRunEvent(a,b,d){try{let e;try{let{flowService:b}=await c.e(7821).then(c.bind(c,87821));e=(await b.getFlow(a.flowId))?.name??void 0}catch(b){C.debug(`Could not resolve flow name for run event (${a.flowId}):`,b)}let f="schedule-catchup"===d.kind?"schedule":d.kind;(0,t.eh)().publish({flowId:a.flowId,flowName:e,executionId:a.id,runId:b.runId,conversationId:b.conversationId,status:"completed"===b.status?"completed":"error",outputText:b.outputText,error:b.error,firedBy:f,chainDepth:d.chainDepth??0,timestamp:b.finishedAt??new Date().toISOString()})}catch(b){C.warn(`Failed to publish flow-run event for "${a.name}":`,b)}}composePrompt(a,b,c){let d=JSON.stringify(void 0===b.context?c:{...c,data:b.context},null,2);return`${a}
|
|
2
|
+
|
|
3
|
+
[Run info — when and why this run happened; "lastOutput" is this execution's previous final answer; "data" is untrusted trigger data]
|
|
4
|
+
\`\`\`json
|
|
5
|
+
${d}
|
|
6
|
+
\`\`\``}truncateOutput(a){if(a)return a.length>4096?`${a.slice(0,4096)}…`:a}constructor(){this.armed=new Map,this.running=new Map,this.queued=new Map,this.lastTriggerErrors=new Map,this.reconcileChain=Promise.resolve(),this.pausedCache=!1,this.started=!1}}function F(){return global.__flujo_scheduler||(global.__flujo_scheduler=new E),global.__flujo_scheduler}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=4045,exports.ids=[4045],exports.modules={8070:(a,b,c)=>{c.d(b,{IK:()=>N,M6:()=>F,Uw:()=>M,lA:()=>P,nH:()=>w,v2:()=>O,vm:()=>L,vp:()=>x,z3:()=>R,z9:()=>Q});var d=c(21124),e=c(38301),f=c(95791),g=c(46973),h=c(18168),i=c(60839),j=c(54573),k=c(81637),l=c(79515),m=c(44079),n=c(99561),o=c(48823),p=c(98540),q=c(83144),r=c(88970),s=c(87351),t=c(93995),u=c(17332),v=c(63908);let w="#009688",x="#7E57C2",y={start:{main:()=>"#795548",light:()=>"#A1887F"},process:{main:a=>a.palette.secondary.main,light:a=>a.palette.secondary.light},finish:{main:a=>a.palette.success.main,light:a=>a.palette.success.light},mcp:{main:a=>a.palette.info.main,light:a=>a.palette.info.light},subflow:{main:a=>a.palette.warning.main,light:a=>a.palette.warning.light},resource:{main:()=>w,light:()=>"#4DB6AC"},signal:{main:()=>x,light:()=>"#B39DDB"}},z=(a,b)=>(y[a]??y.start).main(b),A=(0,h.Ay)(j.A,{shouldForwardProp:a=>!["nodeType","selected"].includes(a)})(({theme:a,nodeType:b,selected:c})=>({padding:a.spacing(1.5),width:"200px",borderRadius:"8px",backgroundColor:a.palette.background.paper,border:`2px solid ${z(b,a)}`,boxShadow:c?`0 0 0 2px ${a.palette.primary.main}, 0 3px 10px rgba(0,0,0,0.2)`:a.shadows[2],transition:"all 0.2s ease","&:hover":{boxShadow:`0 0 0 1px ${z(b,a)}, 0 3px 10px rgba(0,0,0,0.1)`}})),B=(0,h.Ay)(k.default,{shouldForwardProp:a=>"nodeType"!==a})(({theme:a,nodeType:b})=>({display:"flex",alignItems:"center",justifyContent:"space-between",borderBottom:`1px solid ${(y[b]??y.start).light(a)}`,marginBottom:a.spacing(1),paddingBottom:a.spacing(.5)})),C=(0,h.Ay)(k.default)({display:"flex",alignItems:"center",gap:"8px"}),D=(0,h.Ay)(k.default)(({theme:a})=>({marginTop:a.spacing(1),fontSize:"0.8rem"})),E=(0,h.Ay)(k.default)(({theme:a})=>({display:"flex",justifyContent:"space-between",padding:a.spacing(.5,0),borderBottom:`1px dashed ${"dark"===a.palette.mode?"rgba(255,255,255,0.1)":"rgba(0,0,0,0.1)"}`})),F=(a,b)=>z(a,b),G=a=>({backgroundColor:a.palette.info.main,borderColor:"dark"===a.palette.mode?a.palette.background.paper:"white",width:16,height:16,borderRadius:8,borderWidth:2}),H=a=>({backgroundColor:a.palette.secondary.main,borderColor:"dark"===a.palette.mode?a.palette.background.paper:"white",width:16,height:16,borderRadius:8,borderWidth:2}),I=a=>({backgroundColor:a.palette.primary.main,borderColor:"dark"===a.palette.mode?a.palette.background.paper:"white",width:16,height:16,borderRadius:8,borderWidth:2}),J=a=>({backgroundColor:w,borderColor:"dark"===a.palette.mode?a.palette.background.paper:"white",width:16,height:16,borderRadius:8,borderWidth:2}),K=({data:a,nodeType:b,selected:c})=>{let h=(0,i.A)(),[j,k]=(0,e.useState)(!1),y=a||{label:"No Label",properties:{}},z="string"==typeof y.label?y.label:"No Label",F=y.properties||{},K=Object.keys(F).length;return(0,d.jsx)(d.Fragment,{children:(0,d.jsxs)(A,{elevation:2,nodeType:b,selected:c,children:[(()=>{if("mcp"===b)return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(f.h7,{id:"mcp-top",type:"target",position:g.yX.Top,style:G(h)}),(0,d.jsx)(f.h7,{id:"mcp-right",type:"target",position:g.yX.Right,style:G(h)}),(0,d.jsx)(f.h7,{id:"mcp-bottom",type:"source",position:g.yX.Bottom,style:G(h)}),(0,d.jsx)(f.h7,{id:"mcp-left",type:"target",position:g.yX.Left,style:G(h)})]});if("process"===b)return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(f.h7,{id:"process-top",type:"target",position:g.yX.Top,style:H(h)}),(0,d.jsx)(f.h7,{id:"process-bottom",type:"source",position:g.yX.Bottom,style:H(h)}),(0,d.jsx)(f.h7,{id:"process-left-mcp",type:"source",position:g.yX.Left,style:{...I(h),top:"30%"}}),(0,d.jsx)(f.h7,{id:"process-right-mcp",type:"source",position:g.yX.Right,style:{...I(h),top:"30%"}}),(0,d.jsx)(f.h7,{id:"process-left-resource",type:"target",position:g.yX.Left,style:{...J(h),top:"70%"}}),(0,d.jsx)(f.h7,{id:"process-right-resource",type:"source",position:g.yX.Right,style:{...J(h),top:"70%"}})]});if("resource"===b)return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(f.h7,{id:"resource-in",type:"target",position:g.yX.Left,style:J(h)}),(0,d.jsx)(f.h7,{id:"resource-out",type:"source",position:g.yX.Right,style:J(h)})]});if("start"===b)return(0,d.jsx)(f.h7,{id:"start-bottom",type:"source",position:g.yX.Bottom,style:H(h)});if("finish"===b)return(0,d.jsx)(f.h7,{id:"finish-top",type:"target",position:g.yX.Top,style:H(h)});else if("subflow"===b)return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(f.h7,{id:"subflow-top",type:"target",position:g.yX.Top,style:H(h)}),(0,d.jsx)(f.h7,{id:"subflow-bottom",type:"source",position:g.yX.Bottom,style:H(h)})]});else if("signal"===b)return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(f.h7,{id:"signal-top",type:"target",position:g.yX.Top,style:H(h)}),(0,d.jsx)(f.h7,{id:"signal-bottom",type:"source",position:g.yX.Bottom,style:H(h)})]});return null})(),(0,d.jsxs)(B,{nodeType:b,children:[(0,d.jsxs)(C,{children:[(a=>{switch(a){case"start":default:return(0,d.jsx)(o.A,{sx:{color:"#795548"}});case"process":return(0,d.jsx)(p.A,{color:"secondary"});case"finish":return(0,d.jsx)(q.A,{color:"success"});case"mcp":return(0,d.jsx)(p.A,{color:"info"});case"subflow":return(0,d.jsx)(r.A,{sx:{color:"warning.main"}});case"resource":return(0,d.jsx)(s.A,{sx:{color:w}});case"signal":return(0,d.jsx)(t.A,{sx:{color:x}})}})(b),(0,d.jsx)(l.default,{variant:"subtitle2",fontWeight:"bold",children:z})]}),K>0&&(0,d.jsx)(m.A,{size:"small",onClick:a=>{a.stopPropagation(),k(!j)},sx:{padding:.5},children:j?(0,d.jsx)(v.A,{fontSize:"small"}):(0,d.jsx)(u.A,{fontSize:"small"})})]}),(0,d.jsx)(n.A,{in:j,children:(0,d.jsx)(D,{children:Object.entries(F).map(([a,b])=>(0,d.jsxs)(E,{children:[(0,d.jsxs)(l.default,{variant:"caption",sx:{fontWeight:"bold"},children:[a,":"]}),(0,d.jsxs)(l.default,{variant:"caption",children:[String(b).substring(0,30),String(b).length>30?"...":""]})]},a))})}),K>0&&!j&&(0,d.jsx)(l.default,{variant:"caption",color:"text.secondary",children:`${K} properties configured`})]})})},L=(0,e.memo)(function(a){return(0,d.jsx)(K,{...a,nodeType:"start",selected:a.selected})}),M=(0,e.memo)(function(a){return(0,d.jsx)(K,{...a,nodeType:"process",selected:a.selected})}),N=(0,e.memo)(function(a){return(0,d.jsx)(K,{...a,nodeType:"finish",selected:a.selected})}),O=(0,e.memo)(function(a){return(0,d.jsx)(K,{...a,nodeType:"mcp",selected:a.selected})}),P=(0,e.memo)(function(a){return(0,d.jsx)(K,{...a,nodeType:"subflow",selected:a.selected})}),Q=(0,e.memo)(function(a){return(0,d.jsx)(K,{...a,nodeType:"resource",selected:a.selected})}),R=(0,e.memo)(function(a){return(0,d.jsx)(K,{...a,nodeType:"signal",selected:a.selected})})},24856:(a,b,c)=>{c.d(b,{pX:()=>d});function d(a,b,c,d){let e=`${a.type}-bottom`,f=`${b.type}-top`;return{id:`${a.id}:${e}->${b.id}:${f}`,source:a.id,sourceHandle:e,target:b.id,targetHandle:f,type:"custom",data:{edgeType:"standard",...c?{bidirectional:!0}:{},...d?{condition:d}:{}},animated:!0}}},31164:(a,b,c)=>{c.d(b,{jY:()=>f,oY:()=>g,sZ:()=>h});var d=c(21124);c(38301);var e=c(97004);let f=a=>(0,d.jsx)(e.A,{...a,variant:"standard"}),g=a=>(0,d.jsx)(e.A,{...a,variant:"mcp"}),h=a=>(0,d.jsx)(e.A,{...a,variant:"resource"})},39438:(a,b,c)=>{c.d(b,{A:()=>G,o:()=>F});var d=c(21124),e=c(38301),f=c(18168),g=c(30818),h=c(81637),i=c(37489),j=c(60839),k=c(79515),l=c(43312),m=c(44079),n=c(423),o=c(27114),p=c(41893),q=c(98463),r=c(72197),s=c(91034),t=c(38941),u=c(12033),v=c(1312),w=c(5501),x=c(99587),y=c(22797),z=c(21358),A=c(8070),B=c(78352);let C=(0,c(19815).h)("components/Flow/FlowDashboard/FlowCard"),D=(0,f.Ay)(g.A,{shouldForwardProp:a=>"selected"!==a})(({theme:a,selected:b})=>({display:"flex",flexDirection:"column",height:"100%",transition:"all 0.3s cubic-bezier(0.4, 0, 0.2, 1)",position:"relative",border:b?`2px solid ${a.palette.primary.main}`:"none",boxShadow:b?a.shadows[4]:a.shadows[1],"&:hover":{boxShadow:a.shadows[6],transform:"translateY(-4px)"},"&::before":b?{content:'""',position:"absolute",top:0,left:0,width:"100%",height:"4px",backgroundColor:a.palette.primary.main}:{}})),E=(0,f.Ay)(h.default)(({theme:a})=>({height:"140px",backgroundColor:(0,i.X4)(a.palette.background.default,.7),borderRadius:a.shape.borderRadius,display:"flex",alignItems:"center",justifyContent:"center",margin:a.spacing(1),overflow:"hidden",position:"relative"})),F=()=>(0,d.jsxs)(g.A,{sx:{height:"100%",display:"flex",flexDirection:"column"},children:[(0,d.jsx)(h.default,{sx:{p:1},children:(0,d.jsx)(r.A,{variant:"rectangular",height:140})}),(0,d.jsxs)(o.A,{sx:{flexGrow:1},children:[(0,d.jsx)(r.A,{variant:"text",width:"80%",height:30}),(0,d.jsxs)(h.default,{sx:{display:"flex",gap:1,mt:1},children:[(0,d.jsx)(r.A,{variant:"rectangular",width:60,height:20}),(0,d.jsx)(r.A,{variant:"rectangular",width:90,height:20})]})]}),(0,d.jsxs)(q.A,{sx:{justifyContent:"flex-end",p:1},children:[(0,d.jsx)(r.A,{variant:"circular",width:28,height:28}),(0,d.jsx)(r.A,{variant:"circular",width:28,height:28}),(0,d.jsx)(r.A,{variant:"circular",width:28,height:28})]})]}),G=({flow:a,selected:b,onSelect:c,onDelete:f,onCopy:g,onEdit:r,onSetFolder:F,onToggleFavorite:G,folders:H=[],validation:I,pickerMode:J=!1})=>{C.debug("Rendering FlowCard",{flowId:a.id,flowName:a.name});let K=(0,j.A)(),[L,M]=(0,e.useState)(null),N=I?.errorCount??0,O=I?.warningCount??0,P=N>0?"error":O>0?"warning":null,Q=I?(0,d.jsxs)(h.default,{children:[(0,d.jsx)(k.default,{variant:"caption",sx:{fontWeight:600,display:"block",mb:.5},children:N>0?`${N} problem${1===N?"":"s"} — won't run`:`${O} warning${1===O?"":"s"}`}),I.issues.slice(0,5).map((a,b)=>(0,d.jsxs)(k.default,{variant:"caption",sx:{display:"block"},children:["• ",a.message]},b)),I.issues.length>5&&(0,d.jsxs)(k.default,{variant:"caption",sx:{display:"block",fontStyle:"italic"},children:["…and ",I.issues.length-5," more"]})]}):null;return(0,d.jsxs)(D,{selected:b,children:[G&&(0,d.jsx)(l.A,{title:a.favorite?"Remove from favorites":"Add to favorites",arrow:!0,placement:"top",children:(0,d.jsx)(m.A,{size:"small",onClick:b=>{b.stopPropagation(),G&&G(a.id)},sx:{position:"absolute",top:4,left:4,zIndex:2,color:a.favorite?K.palette.warning.main:K.palette.text.secondary,backgroundColor:(0,i.X4)(K.palette.background.paper,.6),"&:hover":{backgroundColor:(0,i.X4)(K.palette.background.paper,.9)}},children:a.favorite?(0,d.jsx)(w.A,{fontSize:"small"}):(0,d.jsx)(x.A,{fontSize:"small"})})}),P&&(0,d.jsx)(l.A,{title:Q,arrow:!0,placement:"top",children:(0,d.jsxs)(h.default,{sx:{position:"absolute",top:8,right:8,zIndex:2,display:"flex",alignItems:"center",gap:.5,px:.75,py:.25,borderRadius:1,color:"#fff",backgroundColor:"error"===P?K.palette.error.main:K.palette.warning.main,boxShadow:K.shadows[2],pointerEvents:"auto"},children:["error"===P?(0,d.jsx)(y.A,{sx:{fontSize:16}}):(0,d.jsx)(z.A,{sx:{fontSize:16}}),(0,d.jsx)(k.default,{variant:"caption",sx:{fontWeight:700,lineHeight:1},children:"error"===P?N:O})]})}),(0,d.jsxs)(n.A,{onClick:()=>c(a.id),sx:{display:"flex",flexDirection:"column",alignItems:"stretch",height:"100%",position:"relative"},children:[(0,d.jsx)(E,{children:(()=>{if(0===a.nodes.length)return(0,d.jsx)(h.default,{sx:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center"},children:(0,d.jsx)(k.default,{color:"textSecondary",align:"center",children:"Empty Flow"})});let b=a.nodes.map(a=>a.position?.x??0),c=a.nodes.map(a=>a.position?.y??0),e=Math.min(...b),f=Math.min(...c),g=Math.max(...b)+180,i=Math.max(...c)+70,j=`${e-40} ${f-40} ${g-e+80} ${i-f+80}`,l=a=>({cx:(a.position?.x??0)+90,cy:(a.position?.y??0)+35});return(0,d.jsx)(h.default,{sx:{width:"100%",height:"100%",p:1},children:(0,d.jsxs)("svg",{width:"100%",height:"100%",viewBox:j,preserveAspectRatio:"xMidYMid meet",style:{display:"block"},children:[a.edges.map((b,c)=>{let e=a.nodes.find(a=>a.id===b.source),f=a.nodes.find(a=>a.id===b.target);if(!e||!f)return null;let g=l(e),h=l(f);return(0,d.jsx)("line",{x1:g.cx,y1:g.cy,x2:h.cx,y2:h.cy,stroke:K.palette.text.secondary,strokeWidth:2,opacity:.5,vectorEffect:"non-scaling-stroke"},b.id||c)}),a.nodes.map(a=>{let b=a.position?.x??0,c=a.position?.y??0,e=a.data?.type??"process",f=(0,A.M6)(e,K);return(0,d.jsxs)("g",{children:[(0,d.jsx)("rect",{x:b,y:c,width:180,height:70,rx:12,fill:f,opacity:.85,stroke:K.palette.background.paper,strokeWidth:2,vectorEffect:"non-scaling-stroke"}),(0,d.jsx)("text",{x:b+90,y:c+35,textAnchor:"middle",dominantBaseline:"central",fill:"#fff",fontSize:35,fontWeight:"bold",children:e.substring(0,1).toUpperCase()})]},a.id)})]})})})()}),(0,d.jsxs)(o.A,{sx:{flexGrow:1,pb:0},children:[(0,d.jsx)(k.default,{variant:"h6",component:"div",noWrap:!0,children:a.name}),a.description&&(0,d.jsx)(l.A,{title:a.description,placement:"bottom-start",children:(0,d.jsx)(k.default,{variant:"body2",color:"text.secondary",sx:{mt:.5,display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden"},children:a.description})}),(0,d.jsxs)(h.default,{sx:{display:"flex",gap:.5,mt:1,flexWrap:"wrap"},children:[(0,d.jsx)(p.A,{size:"small",label:`${a.nodes.length} nodes`,color:"primary",variant:"outlined",sx:{fontSize:"0.7rem",height:20}}),(0,d.jsx)(p.A,{size:"small",label:`${a.edges.length} connections`,color:"secondary",variant:"outlined",sx:{fontSize:"0.7rem",height:20}})]})]})]}),!J&&(0,d.jsxs)(q.A,{sx:{justifyContent:"flex-end",p:1,opacity:.7,"&:hover":{opacity:1}},children:[r&&(0,d.jsx)(l.A,{title:"Edit flow metadata",children:(0,d.jsx)(m.A,{size:"small",onClick:b=>{b.stopPropagation(),r&&r(a.id)},children:(0,d.jsx)(u.A,{fontSize:"small"})})}),g&&(0,d.jsx)(l.A,{title:"Copy flow",children:(0,d.jsx)(m.A,{size:"small",onClick:b=>{b.stopPropagation(),g&&g(a.id)},children:(0,d.jsx)(t.A,{fontSize:"small"})})}),F&&(0,d.jsx)(l.A,{title:a.folder?`Folder: ${a.folder}`:"Move to folder",children:(0,d.jsx)(m.A,{size:"small",onClick:a=>{a.stopPropagation(),M(a.currentTarget)},color:a.folder?"primary":"default",children:(0,d.jsx)(v.A,{fontSize:"small"})})}),f&&(0,d.jsx)(l.A,{title:"Delete flow",children:(0,d.jsx)(m.A,{size:"small",onClick:b=>{b.stopPropagation(),f&&f(a.id)},color:"error",children:(0,d.jsx)(s.A,{fontSize:"small"})})})]}),!J&&F&&(0,d.jsx)(B.A,{anchorEl:L,open:!!L,currentFolder:a.folder,folders:H,onClose:()=>M(null),onAssign:b=>F(a.id,b)})]})}},97004:(a,b,c)=>{c.d(b,{R:()=>k,A:()=>o});var d=c(21124),e=c(38301),f=c(95791),g=c(46973),h=c(18168),i=c(60839);function j(a){return a===g.yX.Left||a===g.yX.Right?"h":"v"}let k="flowEdgeWaypoint",l={x:16,y:-16},m=(0,h.Ay)("button")(({theme:a})=>({background:a.palette.background.paper,border:`1px solid ${a.palette.divider}`,cursor:"pointer",borderRadius:"50%",fontSize:"10px",width:"20px",height:"20px",display:"flex",justifyContent:"center",alignItems:"center",color:a.palette.text.secondary,boxShadow:"dark"===a.palette.mode?"0 2px 4px rgba(0,0,0,0.3)":"0 2px 4px rgba(0,0,0,0.1)","&:hover":{background:a.palette.error.main,borderColor:a.palette.error.main,color:a.palette.error.contrastText}})),n=(0,h.Ay)(f.tE)({"&&.animated":{strokeDasharray:5,animation:"flowPathAnimation 500ms infinite linear"},"&&.animated-both":{strokeDasharray:5,animation:"flowPathAnimation 750ms infinite linear alternate"},"@keyframes flowPathAnimation":{"0%":{strokeDashoffset:10},"100%":{strokeDashoffset:0}}}),o=({variant:a,id:b,sourceX:c,sourceY:h,targetX:o,targetY:p,sourcePosition:q,targetPosition:r,style:s={},markerEnd:t,markerStart:u,data:v,selected:w})=>{let x,y,z=(0,i.A)(),{deleteElements:A,screenToFlowPosition:B}=(0,f.VH)(),[C,D]=(0,e.useState)(!1),[E,F]=(0,e.useState)(null),G=(0,e.useRef)(null),H=(0,e.useRef)(!1),I=v?.waypoints??(v?.waypoint?[v.waypoint]:[]),J=E??I,K="standard"===a&&!!v?.bidirectional,L="mcp"===a||"resource"===a,M=q||(L?g.yX.Left:g.yX.Bottom),N=r||(L?g.yX.Right:g.yX.Top),O=null;if(J.length>0)x=(O=function(a,b,c,d,e,f=8){let g=[a,...e,c],h=[a],i=[],j=b,k=(a,b)=>{let c;c=h[h.length-1],.01>Math.abs(c.x-a.x)&&.01>Math.abs(c.y-a.y)||(h.push(a),i.push(b))};for(let a=1;a<g.length;a++){let b=h[h.length-1],c=g[a],e=a-1;if(a===g.length-1){if("v"===d)if("h"===j)k({x:c.x,y:b.y},e);else{let a=(b.y+c.y)/2;k({x:b.x,y:a},e),k({x:c.x,y:a},e)}else if("v"===j)k({x:b.x,y:c.y},e);else{let a=(b.x+c.x)/2;k({x:a,y:b.y},e),k({x:a,y:c.y},e)}k(c,e)}else k("v"===j?{x:b.x,y:c.y}:{x:c.x,y:b.y},e),k(c,e),j="v"===j?"h":"v"}!function(a,b){for(let c=1;c<a.length-1;c++){let d=a[c-1],e=a[c],f=a[c+1],g=.01>Math.abs(d.x-e.x)&&.01>Math.abs(f.x-e.x)&&(e.y-d.y)*(f.y-e.y)<0,h=.01>Math.abs(d.y-e.y)&&.01>Math.abs(f.y-e.y)&&(e.x-d.x)*(f.x-e.x)<0;if(g||h){if(g){let g=(a[c-2]?.x??e.x-1)<=e.x,h=g?e.x-12:e.x+12,i=g?e.x+12:e.x-12,j=b[c-1];a.splice(c-1,3,{x:h,y:d.y},{x:h,y:e.y},{x:i,y:e.y},{x:i,y:f.y}),b.splice(c-1,2,j,j,j)}else{let g=(a[c-2]?.y??e.y-1)<=e.y,h=g?e.y-12:e.y+12,i=g?e.y+12:e.y-12,j=b[c-1];a.splice(c-1,3,{x:d.x,y:h},{x:e.x,y:h},{x:e.x,y:i},{x:f.x,y:i}),b.splice(c-1,2,j,j,j)}c++}}}(h,i);let l=[];for(let a=0;a<h.length-1;a++)l.push({a:h[a],b:h[a+1],gap:i[a]});return{d:function(a,b){if(0===a.length)return"";let c=`M ${a[0].x},${a[0].y}`;for(let d=1;d<a.length-1;d++){let e=a[d-1],f=a[d],g=a[d+1],h=Math.hypot(f.x-e.x,f.y-e.y),i=Math.hypot(g.x-f.x,g.y-f.y),j=Math.min(b,h/2,i/2);if(j<.5){c+=` L ${f.x},${f.y}`;continue}let k={x:f.x-(f.x-e.x)/h*j,y:f.y-(f.y-e.y)/h*j},l={x:f.x+(g.x-f.x)/i*j,y:f.y+(g.y-f.y)/i*j};c+=` L ${k.x},${k.y} Q ${f.x},${f.y} ${l.x},${l.y}`}let d=a[a.length-1];return c+` L ${d.x},${d.y}`}(h,f),points:h,segments:l,midpoint:function(a,b){let c=0;for(let b=0;b<a.length-1;b++)c+=Math.hypot(a[b+1].x-a[b].x,a[b+1].y-a[b].y);if(0===c)return a[0];let d=.5*c;for(let b=0;b<a.length-1;b++){let c=Math.hypot(a[b+1].x-a[b].x,a[b+1].y-a[b].y);if(d<=c){let e=0===c?0:d/c;return{x:a[b].x+(a[b+1].x-a[b].x)*e,y:a[b].y+(a[b+1].y-a[b].y)*e}}d-=c}return a[a.length-1]}(h,.5)}}({x:c,y:h},j(M),{x:o,y:p},j(N),J,16)).d,y=O.midpoint;else{let[a,b,d]=(0,g.oN)({sourceX:c,sourceY:h,sourcePosition:M,targetX:o,targetY:p,targetPosition:N,borderRadius:16});x=a,y={x:b,y:d}}let P=L?"":K?"animated-both":v?.animated!==!1?"animated":"",Q={...s,strokeWidth:w?3:2,stroke:"mcp"===a?w?z.palette.info.light:z.palette.info.main:"resource"===a?w?"#4DB6AC":"#009688":w?z.palette.primary.main:z.palette.text.secondary,...P?{animationDuration:`${Math.round((K?750:500)*(a=>{let b=0;for(let c=0;c<a.length;c++)b=31*b+a.charCodeAt(c)|0;return .9+Math.abs(b)%1e3/1e3*.2})(b))}ms`}:{}},R=a=>{document.dispatchEvent(new CustomEvent(k,{detail:{edgeId:b,waypoints:a&&a.length>0?a:null}}))},S=a=>{if(0!==a.button)return;let b=B({x:a.clientX,y:a.clientY}),c=O?function(a,b){let c=0,d=1/0;for(let e of b){let b=function(a,b,c){let d=c.x-b.x,e=c.y-b.y,f=d*d+e*e,g=0===f?0:Math.max(0,Math.min(1,((a.x-b.x)*d+(a.y-b.y)*e)/f));return Math.hypot(a.x-(b.x+d*g),a.y-(b.y+e*g))}(a,e.a,e.b);b<d&&(d=b,c=e.gap)}return c}(b,O.segments):0,d=[...J];d.splice(c,0,b),G.current={index:c,pointerId:a.pointerId,startClient:{x:a.clientX,y:a.clientY},base:d,active:!1,fromPath:!0},a.target.setPointerCapture(a.pointerId)},T=a=>{let b=G.current;if(!b||a.pointerId!==b.pointerId)return;if(!b.active){if(4>Math.hypot(a.clientX-b.startClient.x,a.clientY-b.startClient.y))return;b.active=!0}let c=[...b.base];c[b.index]=B({x:a.clientX,y:a.clientY}),F(c)},U=a=>{let b=G.current;if(!b||a.pointerId!==b.pointerId||(G.current=null,a.target.releasePointerCapture(a.pointerId),H.current=b.active,!b.active))return;let c=[...b.base];c[b.index]=B({x:a.clientX,y:a.clientY}),R(c),F(null)},V=null!==E,W=w||C||V;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(n,{path:x,markerEnd:t,markerStart:u,style:Q,id:b,className:P}),(0,d.jsx)("path",{d:x,fill:"none",stroke:"transparent",strokeWidth:20,style:{cursor:V?"grabbing":"grab"},onMouseEnter:()=>D(!0),onMouseLeave:()=>D(!1),onPointerDown:S,onPointerMove:T,onPointerUp:U}),(0,d.jsxs)(f.rV,{children:[W&&J.map((a,b)=>(0,d.jsx)("div",{style:{position:"absolute",transform:`translate(-50%, -50%) translate(${a.x}px,${a.y}px)`,width:12,height:12,borderRadius:"50%",background:z.palette.primary.main,border:`2px solid ${z.palette.background.paper}`,boxShadow:z.shadows[1],cursor:"move",pointerEvents:"all",touchAction:"none",zIndex:1001},className:"nodrag nopan",title:"Drag to move; double-click to remove this bend",onMouseEnter:()=>D(!0),onMouseLeave:()=>D(!1),onPointerDown:a=>{0===a.button&&(a.stopPropagation(),G.current={index:b,pointerId:a.pointerId,startClient:{x:a.clientX,y:a.clientY},base:[...J],active:!1,fromPath:!1},a.target.setPointerCapture(a.pointerId))},onPointerMove:T,onPointerUp:U,onDoubleClick:a=>{a.stopPropagation(),(a=>{let b=J.filter((b,c)=>c!==a);F(null),R(b)})(b)}},b)),(0,d.jsx)("div",{style:{position:"absolute",transform:`translate(-50%, -50%) translate(${y.x+l.x}px,${y.y+l.y}px)`,pointerEvents:W&&!V?"all":"none",opacity:W&&!V?1:0,transition:"opacity 120ms ease",zIndex:1e3},className:"nodrag nopan",onMouseEnter:()=>D(!0),onMouseLeave:()=>D(!1),children:(0,d.jsx)(m,{title:"Delete connection (drag to re-route)",style:{touchAction:"none"},onPointerDown:S,onPointerMove:T,onPointerUp:U,onClick:a=>{if(a.stopPropagation(),H.current){H.current=!1;return}A({edges:[{id:b}]})},children:"\xd7"})})]})]})}},98502:(a,b,c)=>{c.d(b,{E9:()=>f,RN:()=>e,n9:()=>d});let d="handoff_to_";function e(a,b){let c=(a&&a.trim()||b&&b.trim()||"node").toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/_+/g,"_").replace(/^_+|_+$/g,"");return c.length>48&&(c=c.slice(0,48).replace(/_+$/g,"")),c||(c=b&&b.trim().toLowerCase().replace(/[^a-z0-9]+/g,"_")||"node"),c||"node"}function f(a){let b=new Set,c=new Map;for(let f of a){if(c.has(f.id))continue;let a=e(f.label,f.type),g=`${d}${a}`;if(b.has(g)){let c=2;for(;b.has(`${d}${a}_${c}`);)c++;g=`${d}${a}_${c}`}b.add(g),c.set(f.id,g)}return c}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=4265,exports.ids=[4265],exports.modules={14265:(a,b,c)=>{let d;c.d(b,{LG:()=>T,aM:()=>S,a$:()=>Q,e3:()=>O});var e=c(50846),f=c(8665),g=c(25250),h=c(23514),i=c(92372);let j=(0,e.h)("backend/services/mcp/quality/cache"),k="mcp-quality-cache";class l{constructor(a=Date.now()){this.entries={},this.dirty=!1,this.now=a}async load(){try{let a=await (0,i.YM)(k,{entries:{}});this.entries=a?.entries&&"object"==typeof a.entries?a.entries:{}}catch(a){j.warn("Failed to load quality cache; starting empty",a),this.entries={}}}get(a,b){let c=this.entries[`${a}::${b}`];if(c&&!(this.now-c.at>864e5))return c.signal}set(a,b,c){this.entries[`${a}::${b}`]={at:this.now,signal:c},this.dirty=!0}async flush(){let a=!1;for(let[b,c]of Object.entries(this.entries))this.now-c.at>864e5&&(delete this.entries[b],a=!0);if(this.dirty||a)try{await (0,i.VH)(k,{entries:this.entries})}catch(a){j.warn("Failed to persist quality cache",a)}}}function m(a){return!Number.isFinite(a)||a<0?0:a>1?1:a}function n(a,b){return!Number.isFinite(a)||a<=0?0:!Number.isFinite(b)||b<=1?+(a>0):m(Math.log10(a+1)/Math.log10(b+1))}let o=(0,e.h)("backend/services/mcp/quality/providers/githubStars"),p="github",q=new Map;function r(){return d??(process.env.GITHUB_TOKEN||void 0)}function s(a){let b,c=a.server.repository;if(c?.source&&"github"!==c.source.toLowerCase())return null;var d=c?.url;if(!d)return null;try{b=new URL(d.replace(/^git\+/,""))}catch{return null}if(!/(^|\.)github\.com$/i.test(b.hostname))return null;let e=b.pathname.replace(/\.git$/i,"").split("/").filter(Boolean);return e.length<2?null:`${e[0]}/${e[1]}`.toLowerCase()}async function t(a,b){let c=new AbortController,d=()=>c.abort();b.addEventListener("abort",d,{once:!0});let e=setTimeout(()=>c.abort(),6e3);try{return await fetch(`https://api.github.com${a}`,{headers:function(){let a={Accept:"application/vnd.github+json","User-Agent":"FLUJO-mcp-quality","X-GitHub-Api-Version":"2022-11-28"},b=r();return b&&(a.Authorization=`Bearer ${b}`),a}(),signal:c.signal,cache:"no-store"})}catch(b){return o.warn(`GitHub request failed (${a})`,b instanceof Error?b.message:b),null}finally{clearTimeout(e),b.removeEventListener("abort",d)}}function u(a){return(403===a.status||429===a.status)&&"0"===a.headers.get("x-ratelimit-remaining")}let v=(0,e.h)("backend/services/mcp/quality/providers/npmDownloads"),w="npm-downloads",x=new Map;function y(a){for(let b of a.server.packages??[])if("npm"===b.registryType&&b.identifier)return b.identifier;return null}function z(a){return a.startsWith("@")}async function A(a,b){let c=new AbortController,d=()=>c.abort();b.addEventListener("abort",d,{once:!0});let e=setTimeout(()=>c.abort(),6e3);try{return await fetch(`https://api.npmjs.org${a}`,{signal:c.signal,cache:"no-store"})}catch(b){return v.warn(`npm request failed (${a})`,b instanceof Error?b.message:b),null}finally{clearTimeout(e),b.removeEventListener("abort",d)}}let B="registry-status",C=[{id:p,label:"GitHub Stars & Activity",defaultWeight:.5,isApplicable:a=>null!==s(a),cacheKey:a=>s(a),async prefetch(a,b,c){let d=`${a??""} mcp`.trim(),e=`/search/repositories?q=${encodeURIComponent(d)}&sort=stars&order=desc&per_page=50`,f=await t(e,c);if(f&&f.ok)try{for(let a of(await f.json()).items??[])a.full_name&&q.set(a.full_name.toLowerCase(),{stars:"number"==typeof a.stargazers_count?a.stargazers_count:0,pushedAtMs:a.pushed_at?Date.parse(a.pushed_at):null})}catch(a){o.warn("Failed to parse GitHub search response",a)}else if(f&&u(f))return void o.warn("GitHub search rate-limited; ranking will degrade to other providers");if(!r())return;let g=3;for(let a of b){if(g<=0)break;let b=s(a);if(!b||q.has(b))continue;g-=1;let d=await t(`/repos/${b}`,c);if(d){if(u(d))break;if(d.ok)try{let a=await d.json();q.set(b,{stars:"number"==typeof a.stargazers_count?a.stargazers_count:0,pushedAtMs:a.pushed_at?Date.parse(a.pushed_at):null})}catch{}}}},async fetch(a){let b=s(a);if(!b)return null;let c=q.get(b);if(!c)return null;let d=n(c.stars,5e4),e=function(a,b,c=30,d=730){if(!a||!Number.isFinite(a))return 0;let e=(b-a)/864e5;return e<=c?1:e>=d?0:m(1-(e-c)/(d-c))}(c.pushedAtMs,Date.now());return{providerId:p,score:m(.7*d+.3*e),evidence:{repo:b,stars:c.stars,...c.pushedAtMs?{pushedAt:new Date(c.pushedAtMs).toISOString()}:{},starsScore:d,recencyScore:e}}}},{id:w,label:"npm Weekly Downloads",defaultWeight:.35,isApplicable:a=>null!==y(a),cacheKey:a=>y(a),async prefetch(a,b,c){let d=b.map(y).filter(a=>!!a&&!x.has(a)),e=d.filter(a=>!z(a)),f=d.filter(z);for(let a=0;a<e.length;a+=100){let b=e.slice(a,a+100),d=await A(`/downloads/point/last-week/${b.join(",")}`,c);if(d&&d.ok)try{let a=await d.json();if(1===b.length)"number"==typeof a.downloads&&x.set(b[0],a.downloads);else for(let c of b){let b=a[c];x.set(c,b&&"number"==typeof b.downloads?b.downloads:0)}}catch(a){v.warn("Failed to parse npm bulk downloads response",a)}}for(let a of f){let b=await A(`/downloads/point/last-week/${a}`,c);if(b&&b.ok)try{let c=await b.json();"number"==typeof c.downloads&&x.set(a,c.downloads)}catch{}}},async fetch(a){let b=y(a);if(!b)return null;let c=x.get(b);return void 0===c?null:{providerId:w,score:n(c,1e6),evidence:{package:b,weeklyDownloads:c}}}},{id:B,label:"Registry Status",defaultWeight:.15,isApplicable:a=>!0,cacheKey:()=>null,fetch:async a=>({providerId:B,score:+("active"===a.verificationStatus),evidence:{status:a.verificationStatus}})}];var D=c(46480);let E=(0,e.h)("backend/services/mcp/quality/settings");function F(){return{providers:C.map(a=>({id:a.id,enabled:!0,weight:a.defaultWeight})),minScore:0,worksGate:!0}}async function G(){try{let a=await (0,i.YM)(D.Z.MCP_QUALITY_SETTINGS,F());return function(a){var b,c;let d=F(),e=a??{},f=new Map;if(Array.isArray(e.providers))for(let a of e.providers)a&&"string"==typeof a.id&&f.set(a.id,a);return{providers:d.providers.map(a=>{let b=f.get(a.id);return{id:a.id,enabled:"boolean"==typeof b?.enabled?b.enabled:a.enabled,weight:"number"==typeof b?.weight&&Number.isFinite(b.weight)&&b.weight>=0?b.weight:a.weight}}),minScore:(b=e.minScore,c=d.minScore,"number"==typeof b&&Number.isFinite(b)?Math.min(1,Math.max(0,b)):c),worksGate:"boolean"==typeof e.worksGate?e.worksGate:d.worksGate,..."string"==typeof e.githubToken&&e.githubToken.length>0?{githubToken:e.githubToken}:{}}}(a)}catch(a){return E.warn("Failed to load mcpQuality settings; using defaults",a),F()}}let H=(0,e.h)("backend/services/mcp/quality/orchestrator");async function I(a,b){let c=new AbortController,d=setTimeout(()=>c.abort(),b);try{return await a(c.signal)}finally{clearTimeout(d)}}async function J(a,b,c={}){let e=c.topN??10;try{var f;let g=c.settings??await G(),h=C.filter(a=>(function(a,b){let c=a.providers.find(a=>a.id===b);return!!c?.enabled})(g,a.id));if(0===h.length)return b.map(a=>({candidate:a,score:0,signals:[]}));d=(f=g.githubToken)&&f.length>0?f:void 0;let i=b.slice(0,e),j=b.slice(e),k=new l(c.now??Date.now());await k.load();let n=i.map(()=>[]);for(let b of h){let c=i.map((a,b)=>({c:a,i:b})).filter(({c:a})=>b.isApplicable(a)),d=[],e=[];for(let a of c){let c=b.cacheKey(a.c);if(c){let d=k.get(b.id,c);if(d){e.push({i:a.i,signal:d});continue}}d.push(a)}if(b.prefetch&&d.length>0)try{await I(c=>b.prefetch(a,d.map(a=>a.c),c),12e3)}catch(a){H.warn(`Provider "${b.id}" prefetch failed; degrading`,a)}for(let{c:a,i:c}of d)try{let d=await I(c=>b.fetch(a,c),2e3);if(d){n[c].push(d);let e=b.cacheKey(a);e&&k.set(b.id,e,d)}}catch(c){H.warn(`Provider "${b.id}" fetch failed for "${a.registryName}"`,c)}for(let{i:a,signal:b}of e)n[a].push(b)}await k.flush();let o=i.map((a,b)=>{let c=n[b],d=new Map(c.map(a=>[a.providerId,a])),e=h.filter(b=>b.isApplicable(a)).map(a=>({providerId:a.id,weight:function(a,b){let c=a.providers.find(a=>a.id===b);return c&&c.enabled?c.weight:0}(g,a.id),score:d.get(a.id)?.score??0})),{score:f}=function(a){let b=0,c=0;for(let d of a){let a=Number.isFinite(d.weight)&&d.weight>0?d.weight:0,e=m(d.score);b+=a,c+=a*e}return{score:b>0?c/b:0,breakdown:a}}(e);return{candidate:a,score:f,signals:c}}).map((a,b)=>({s:a,idx:b})).sort((a,b)=>b.s.score-a.s.score||a.idx-b.idx).map(a=>a.s),p=j.map(a=>({candidate:a,score:0,signals:[]}));return[...o,...p]}catch(a){return H.warn("enrichAndRank failed; returning unranked candidates",a),b.map(a=>({candidate:a,score:0,signals:[]}))}}let K=(0,e.h)("backend/services/mcp/registryInstall"),L="/v0.1/servers";function M(a){return{registryName:a.server.name,server:a.server,verificationStatus:(0,g.vf)(a)}}function N(a){let b=b=>a.signals.find(a=>a.providerId===b)?.evidence,c=b(p),d=b(w),e=b(B);return{score:a.score,..."number"==typeof c?.stars?{stars:c.stars}:{},..."number"==typeof d?.weeklyDownloads?{weeklyDownloads:d.weeklyDownloads}:{},..."string"==typeof e?.status?{status:e.status}:{}}}async function O(a,b=8){let c=await P(a,b);return(await J(a,c.map(M))).map(a=>(function(a,b){let c=(0,g.AH)(a),d=c[0];return{name:a.name,...a.title?{title:a.title}:{},...a.description?{description:a.description}:{},installable:c.length>0,requiredEnv:d?(0,g.jg)(d):[],...b?{quality:N(b)}:{}}})(a.candidate.server,a))}async function P(a,b){let c=new URL(f.jD+L);c.searchParams.set("version","latest"),c.searchParams.set("limit",String(Math.min(Math.max(b,1),30))),a&&c.searchParams.set("search",a);let d=await (0,f.Ws)(c,15e3);return Array.isArray(d?.servers)?d.servers:[]}async function Q(a,b){try{let c=await J(a,b.map(M)),d=new Map(b.map(a=>[a.server.name,a])),e=[];for(let a of c){let b=d.get(a.candidate.server.name);b&&e.push(a.signals.length>0?{...b,quality:N(a)}:b)}return e.length===b.length?e:b}catch{return b}}async function R(a){let b=new URL(f.jD+L);b.searchParams.set("version","latest"),b.searchParams.set("limit","10"),b.searchParams.set("search",a);let c=await (0,f.Ws)(b,15e3),d=Array.isArray(c?.servers)?c.servers:[];return d.find(b=>b.server?.name===a)??d[0]??null}async function S(a,b,c){let d;if(!a||"string"!=typeof a)return{installed:!1,error:"A registry server name is required"};try{d=await R(a)}catch(a){return{installed:!1,error:`Registry lookup failed: ${a instanceof Error?a.message:String(a)}`}}let e=d?.server??null;if(!e)return{installed:!1,error:`No registry entry found for "${a}"`};let f=(0,g.AH)(e)[0];if(!f)return{installed:!1,error:`"${e.name}" has no install method FLUJO supports (stdio package or HTTP remote)`};let i=(0,g.vf)(d),j=(0,g.O$)(a,e,f,i);if(c?.resolveOnly)return{installed:!1,serverName:j.serverName,plan:j};let k=(0,g.jg)(f,b);if(k.length>0)return{installed:!1,needsEnv:k,plan:j,error:`"${e.name}" requires values for: ${k.join(", ")}`};let l=(0,g.cy)((0,g.Yr)(e,f),b),m=l.name,n=await h.mcpService.loadServerConfigs();if(Array.isArray(n)&&n.some(a=>a.name===m)){K.info(`installRegistryServer: "${m}" already configured; reusing`);let{tools:a,error:b}=await h.mcpService.listServerTools(m);return{installed:!0,alreadyExisted:!0,serverName:m,plan:j,tools:(a??[]).map(a=>({name:a.name,...a.description?{description:a.description}:{}})),...b?{error:b}:{}}}K.info(`installRegistryServer: installing "${e.name}" as "${m}" (${f.kind})`);let o=await h.mcpService.updateServerConfig(m,l);if(!Array.isArray(o)&&o&&"success"in o&&!1===o.success)return{installed:!1,error:`Saving the server failed: ${o.error??"unknown error"}`};let{tools:p,error:q}=await h.mcpService.listServerTools(m),r=(p??[]).map(a=>({name:a.name,...a.description?{description:a.description}:{}}));if((c?.worksGate??(await G()).worksGate)&&0===r.length){K.warn(`installRegistryServer: "${m}" exposed no tools${q?` (${q})`:""}; rolling back (works-gate)`);try{await h.mcpService.deleteServerConfig(m)}catch(a){K.error(`installRegistryServer: rollback of "${m}" failed`,a)}return{installed:!1,worksGateRejected:!0,serverName:m,plan:j,error:q?`"${e.name}" failed to start: ${q}`:`"${e.name}" connected but exposed no tools — rejected by the works-gate. Try a different server.`}}return{installed:!0,serverName:m,plan:j,tools:r,...q?{error:q}:{}}}async function T(a,b,c){let d;if(!a||"string"!=typeof a)return{installed:!1,error:"A capability search query is required"};try{d=await P(a,10)}catch(a){return{installed:!1,error:`Registry lookup failed: ${a instanceof Error?a.message:String(a)}`}}let e=await J(a,d.map(M)),f=await G(),h=c?.minScore??f.minScore,i=c?.maxAttempts??3,j=[],k=0;for(let a of e){let d=a.candidate.registryName;if(a.score<h){j.push({name:d,score:a.score,reason:`below minScore ${h}`});break}if(0===(0,g.AH)(a.candidate.server).length){j.push({name:d,score:a.score,reason:"no supported install method"});continue}if(k>=i)break;k+=1;let e=await S(d,b,{worksGate:!0});if(c?.onAttempt)try{await c.onAttempt(e.plan,e)}catch(a){K.error("installBestForCapability: onAttempt hook failed",a)}if(e.installed)return{...e,attempts:j};let f=e.needsEnv?.length?`needs env: ${e.needsEnv.join(", ")}`:e.worksGateRejected?"works-gate rejected (no tools / failed to start)":e.error??"install failed";j.push({name:d,score:a.score,reason:f})}return{installed:!1,attempts:j,error:`No working server found for "${a}" among the top ${k} installable candidate(s).`}}}};
|
|
1
|
+
"use strict";exports.id=4265,exports.ids=[4265],exports.modules={14265:(a,b,c)=>{let d;c.d(b,{LG:()=>T,aM:()=>S,a$:()=>Q,e3:()=>O});var e=c(50846),f=c(8665),g=c(25250),h=c(1133),i=c(92372);let j=(0,e.h)("backend/services/mcp/quality/cache"),k="mcp-quality-cache";class l{constructor(a=Date.now()){this.entries={},this.dirty=!1,this.now=a}async load(){try{let a=await (0,i.YM)(k,{entries:{}});this.entries=a?.entries&&"object"==typeof a.entries?a.entries:{}}catch(a){j.warn("Failed to load quality cache; starting empty",a),this.entries={}}}get(a,b){let c=this.entries[`${a}::${b}`];if(c&&!(this.now-c.at>864e5))return c.signal}set(a,b,c){this.entries[`${a}::${b}`]={at:this.now,signal:c},this.dirty=!0}async flush(){let a=!1;for(let[b,c]of Object.entries(this.entries))this.now-c.at>864e5&&(delete this.entries[b],a=!0);if(this.dirty||a)try{await (0,i.VH)(k,{entries:this.entries})}catch(a){j.warn("Failed to persist quality cache",a)}}}function m(a){return!Number.isFinite(a)||a<0?0:a>1?1:a}function n(a,b){return!Number.isFinite(a)||a<=0?0:!Number.isFinite(b)||b<=1?+(a>0):m(Math.log10(a+1)/Math.log10(b+1))}let o=(0,e.h)("backend/services/mcp/quality/providers/githubStars"),p="github",q=new Map;function r(){return d??(process.env.GITHUB_TOKEN||void 0)}function s(a){let b,c=a.server.repository;if(c?.source&&"github"!==c.source.toLowerCase())return null;var d=c?.url;if(!d)return null;try{b=new URL(d.replace(/^git\+/,""))}catch{return null}if(!/(^|\.)github\.com$/i.test(b.hostname))return null;let e=b.pathname.replace(/\.git$/i,"").split("/").filter(Boolean);return e.length<2?null:`${e[0]}/${e[1]}`.toLowerCase()}async function t(a,b){let c=new AbortController,d=()=>c.abort();b.addEventListener("abort",d,{once:!0});let e=setTimeout(()=>c.abort(),6e3);try{return await fetch(`https://api.github.com${a}`,{headers:function(){let a={Accept:"application/vnd.github+json","User-Agent":"FLUJO-mcp-quality","X-GitHub-Api-Version":"2022-11-28"},b=r();return b&&(a.Authorization=`Bearer ${b}`),a}(),signal:c.signal,cache:"no-store"})}catch(b){return o.warn(`GitHub request failed (${a})`,b instanceof Error?b.message:b),null}finally{clearTimeout(e),b.removeEventListener("abort",d)}}function u(a){return(403===a.status||429===a.status)&&"0"===a.headers.get("x-ratelimit-remaining")}let v=(0,e.h)("backend/services/mcp/quality/providers/npmDownloads"),w="npm-downloads",x=new Map;function y(a){for(let b of a.server.packages??[])if("npm"===b.registryType&&b.identifier)return b.identifier;return null}function z(a){return a.startsWith("@")}async function A(a,b){let c=new AbortController,d=()=>c.abort();b.addEventListener("abort",d,{once:!0});let e=setTimeout(()=>c.abort(),6e3);try{return await fetch(`https://api.npmjs.org${a}`,{signal:c.signal,cache:"no-store"})}catch(b){return v.warn(`npm request failed (${a})`,b instanceof Error?b.message:b),null}finally{clearTimeout(e),b.removeEventListener("abort",d)}}let B="registry-status",C=[{id:p,label:"GitHub Stars & Activity",defaultWeight:.5,isApplicable:a=>null!==s(a),cacheKey:a=>s(a),async prefetch(a,b,c){let d=`${a??""} mcp`.trim(),e=`/search/repositories?q=${encodeURIComponent(d)}&sort=stars&order=desc&per_page=50`,f=await t(e,c);if(f&&f.ok)try{for(let a of(await f.json()).items??[])a.full_name&&q.set(a.full_name.toLowerCase(),{stars:"number"==typeof a.stargazers_count?a.stargazers_count:0,pushedAtMs:a.pushed_at?Date.parse(a.pushed_at):null})}catch(a){o.warn("Failed to parse GitHub search response",a)}else if(f&&u(f))return void o.warn("GitHub search rate-limited; ranking will degrade to other providers");if(!r())return;let g=3;for(let a of b){if(g<=0)break;let b=s(a);if(!b||q.has(b))continue;g-=1;let d=await t(`/repos/${b}`,c);if(d){if(u(d))break;if(d.ok)try{let a=await d.json();q.set(b,{stars:"number"==typeof a.stargazers_count?a.stargazers_count:0,pushedAtMs:a.pushed_at?Date.parse(a.pushed_at):null})}catch{}}}},async fetch(a){let b=s(a);if(!b)return null;let c=q.get(b);if(!c)return null;let d=n(c.stars,5e4),e=function(a,b,c=30,d=730){if(!a||!Number.isFinite(a))return 0;let e=(b-a)/864e5;return e<=c?1:e>=d?0:m(1-(e-c)/(d-c))}(c.pushedAtMs,Date.now());return{providerId:p,score:m(.7*d+.3*e),evidence:{repo:b,stars:c.stars,...c.pushedAtMs?{pushedAt:new Date(c.pushedAtMs).toISOString()}:{},starsScore:d,recencyScore:e}}}},{id:w,label:"npm Weekly Downloads",defaultWeight:.35,isApplicable:a=>null!==y(a),cacheKey:a=>y(a),async prefetch(a,b,c){let d=b.map(y).filter(a=>!!a&&!x.has(a)),e=d.filter(a=>!z(a)),f=d.filter(z);for(let a=0;a<e.length;a+=100){let b=e.slice(a,a+100),d=await A(`/downloads/point/last-week/${b.join(",")}`,c);if(d&&d.ok)try{let a=await d.json();if(1===b.length)"number"==typeof a.downloads&&x.set(b[0],a.downloads);else for(let c of b){let b=a[c];x.set(c,b&&"number"==typeof b.downloads?b.downloads:0)}}catch(a){v.warn("Failed to parse npm bulk downloads response",a)}}for(let a of f){let b=await A(`/downloads/point/last-week/${a}`,c);if(b&&b.ok)try{let c=await b.json();"number"==typeof c.downloads&&x.set(a,c.downloads)}catch{}}},async fetch(a){let b=y(a);if(!b)return null;let c=x.get(b);return void 0===c?null:{providerId:w,score:n(c,1e6),evidence:{package:b,weeklyDownloads:c}}}},{id:B,label:"Registry Status",defaultWeight:.15,isApplicable:a=>!0,cacheKey:()=>null,fetch:async a=>({providerId:B,score:+("active"===a.verificationStatus),evidence:{status:a.verificationStatus}})}];var D=c(46480);let E=(0,e.h)("backend/services/mcp/quality/settings");function F(){return{providers:C.map(a=>({id:a.id,enabled:!0,weight:a.defaultWeight})),minScore:0,worksGate:!0}}async function G(){try{let a=await (0,i.YM)(D.Z.MCP_QUALITY_SETTINGS,F());return function(a){var b,c;let d=F(),e=a??{},f=new Map;if(Array.isArray(e.providers))for(let a of e.providers)a&&"string"==typeof a.id&&f.set(a.id,a);return{providers:d.providers.map(a=>{let b=f.get(a.id);return{id:a.id,enabled:"boolean"==typeof b?.enabled?b.enabled:a.enabled,weight:"number"==typeof b?.weight&&Number.isFinite(b.weight)&&b.weight>=0?b.weight:a.weight}}),minScore:(b=e.minScore,c=d.minScore,"number"==typeof b&&Number.isFinite(b)?Math.min(1,Math.max(0,b)):c),worksGate:"boolean"==typeof e.worksGate?e.worksGate:d.worksGate,..."string"==typeof e.githubToken&&e.githubToken.length>0?{githubToken:e.githubToken}:{}}}(a)}catch(a){return E.warn("Failed to load mcpQuality settings; using defaults",a),F()}}let H=(0,e.h)("backend/services/mcp/quality/orchestrator");async function I(a,b){let c=new AbortController,d=setTimeout(()=>c.abort(),b);try{return await a(c.signal)}finally{clearTimeout(d)}}async function J(a,b,c={}){let e=c.topN??10;try{var f;let g=c.settings??await G(),h=C.filter(a=>(function(a,b){let c=a.providers.find(a=>a.id===b);return!!c?.enabled})(g,a.id));if(0===h.length)return b.map(a=>({candidate:a,score:0,signals:[]}));d=(f=g.githubToken)&&f.length>0?f:void 0;let i=b.slice(0,e),j=b.slice(e),k=new l(c.now??Date.now());await k.load();let n=i.map(()=>[]);for(let b of h){let c=i.map((a,b)=>({c:a,i:b})).filter(({c:a})=>b.isApplicable(a)),d=[],e=[];for(let a of c){let c=b.cacheKey(a.c);if(c){let d=k.get(b.id,c);if(d){e.push({i:a.i,signal:d});continue}}d.push(a)}if(b.prefetch&&d.length>0)try{await I(c=>b.prefetch(a,d.map(a=>a.c),c),12e3)}catch(a){H.warn(`Provider "${b.id}" prefetch failed; degrading`,a)}for(let{c:a,i:c}of d)try{let d=await I(c=>b.fetch(a,c),2e3);if(d){n[c].push(d);let e=b.cacheKey(a);e&&k.set(b.id,e,d)}}catch(c){H.warn(`Provider "${b.id}" fetch failed for "${a.registryName}"`,c)}for(let{i:a,signal:b}of e)n[a].push(b)}await k.flush();let o=i.map((a,b)=>{let c=n[b],d=new Map(c.map(a=>[a.providerId,a])),e=h.filter(b=>b.isApplicable(a)).map(a=>({providerId:a.id,weight:function(a,b){let c=a.providers.find(a=>a.id===b);return c&&c.enabled?c.weight:0}(g,a.id),score:d.get(a.id)?.score??0})),{score:f}=function(a){let b=0,c=0;for(let d of a){let a=Number.isFinite(d.weight)&&d.weight>0?d.weight:0,e=m(d.score);b+=a,c+=a*e}return{score:b>0?c/b:0,breakdown:a}}(e);return{candidate:a,score:f,signals:c}}).map((a,b)=>({s:a,idx:b})).sort((a,b)=>b.s.score-a.s.score||a.idx-b.idx).map(a=>a.s),p=j.map(a=>({candidate:a,score:0,signals:[]}));return[...o,...p]}catch(a){return H.warn("enrichAndRank failed; returning unranked candidates",a),b.map(a=>({candidate:a,score:0,signals:[]}))}}let K=(0,e.h)("backend/services/mcp/registryInstall"),L="/v0.1/servers";function M(a){return{registryName:a.server.name,server:a.server,verificationStatus:(0,g.vf)(a)}}function N(a){let b=b=>a.signals.find(a=>a.providerId===b)?.evidence,c=b(p),d=b(w),e=b(B);return{score:a.score,..."number"==typeof c?.stars?{stars:c.stars}:{},..."number"==typeof d?.weeklyDownloads?{weeklyDownloads:d.weeklyDownloads}:{},..."string"==typeof e?.status?{status:e.status}:{}}}async function O(a,b=8){let c=await P(a,b);return(await J(a,c.map(M))).map(a=>(function(a,b){let c=(0,g.AH)(a),d=c[0];return{name:a.name,...a.title?{title:a.title}:{},...a.description?{description:a.description}:{},installable:c.length>0,requiredEnv:d?(0,g.jg)(d):[],...b?{quality:N(b)}:{}}})(a.candidate.server,a))}async function P(a,b){let c=new URL(f.jD+L);c.searchParams.set("version","latest"),c.searchParams.set("limit",String(Math.min(Math.max(b,1),30))),a&&c.searchParams.set("search",a);let d=await (0,f.Ws)(c,15e3);return Array.isArray(d?.servers)?d.servers:[]}async function Q(a,b){try{let c=await J(a,b.map(M)),d=new Map(b.map(a=>[a.server.name,a])),e=[];for(let a of c){let b=d.get(a.candidate.server.name);b&&e.push(a.signals.length>0?{...b,quality:N(a)}:b)}return e.length===b.length?e:b}catch{return b}}async function R(a){let b=new URL(f.jD+L);b.searchParams.set("version","latest"),b.searchParams.set("limit","10"),b.searchParams.set("search",a);let c=await (0,f.Ws)(b,15e3),d=Array.isArray(c?.servers)?c.servers:[];return d.find(b=>b.server?.name===a)??d[0]??null}async function S(a,b,c){let d;if(!a||"string"!=typeof a)return{installed:!1,error:"A registry server name is required"};try{d=await R(a)}catch(a){return{installed:!1,error:`Registry lookup failed: ${a instanceof Error?a.message:String(a)}`}}let e=d?.server??null;if(!e)return{installed:!1,error:`No registry entry found for "${a}"`};let f=(0,g.AH)(e)[0];if(!f)return{installed:!1,error:`"${e.name}" has no install method FLUJO supports (stdio package or HTTP remote)`};let i=(0,g.vf)(d),j=(0,g.O$)(a,e,f,i);if(c?.resolveOnly)return{installed:!1,serverName:j.serverName,plan:j};let k=(0,g.jg)(f,b);if(k.length>0)return{installed:!1,needsEnv:k,plan:j,error:`"${e.name}" requires values for: ${k.join(", ")}`};let l=(0,g.cy)((0,g.Yr)(e,f),b),m=l.name,n=await h.mcpService.loadServerConfigs();if(Array.isArray(n)&&n.some(a=>a.name===m)){K.info(`installRegistryServer: "${m}" already configured; reusing`);let{tools:a,error:b}=await h.mcpService.listServerTools(m);return{installed:!0,alreadyExisted:!0,serverName:m,plan:j,tools:(a??[]).map(a=>({name:a.name,...a.description?{description:a.description}:{}})),...b?{error:b}:{}}}K.info(`installRegistryServer: installing "${e.name}" as "${m}" (${f.kind})`);let o=await h.mcpService.updateServerConfig(m,l);if(!Array.isArray(o)&&o&&"success"in o&&!1===o.success)return{installed:!1,error:`Saving the server failed: ${o.error??"unknown error"}`};let{tools:p,error:q}=await h.mcpService.listServerTools(m),r=(p??[]).map(a=>({name:a.name,...a.description?{description:a.description}:{}}));if((c?.worksGate??(await G()).worksGate)&&0===r.length){K.warn(`installRegistryServer: "${m}" exposed no tools${q?` (${q})`:""}; rolling back (works-gate)`);try{await h.mcpService.deleteServerConfig(m)}catch(a){K.error(`installRegistryServer: rollback of "${m}" failed`,a)}return{installed:!1,worksGateRejected:!0,serverName:m,plan:j,error:q?`"${e.name}" failed to start: ${q}`:`"${e.name}" connected but exposed no tools — rejected by the works-gate. Try a different server.`}}return{installed:!0,serverName:m,plan:j,tools:r,...q?{error:q}:{}}}async function T(a,b,c){let d;if(!a||"string"!=typeof a)return{installed:!1,error:"A capability search query is required"};try{d=await P(a,10)}catch(a){return{installed:!1,error:`Registry lookup failed: ${a instanceof Error?a.message:String(a)}`}}let e=await J(a,d.map(M)),f=await G(),h=c?.minScore??f.minScore,i=c?.maxAttempts??3,j=[],k=0;for(let a of e){let d=a.candidate.registryName;if(a.score<h){j.push({name:d,score:a.score,reason:`below minScore ${h}`});break}if(0===(0,g.AH)(a.candidate.server).length){j.push({name:d,score:a.score,reason:"no supported install method"});continue}if(k>=i)break;k+=1;let e=await S(d,b,{worksGate:!0});if(c?.onAttempt)try{await c.onAttempt(e.plan,e)}catch(a){K.error("installBestForCapability: onAttempt hook failed",a)}if(e.installed)return{...e,attempts:j};let f=e.needsEnv?.length?`needs env: ${e.needsEnv.join(", ")}`:e.worksGateRejected?"works-gate rejected (no tools / failed to start)":e.error??"install failed";j.push({name:d,score:a.score,reason:f})}return{installed:!1,attempts:j,error:`No working server found for "${a}" among the top ${k} installable candidate(s).`}}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=4322,exports.ids=[4322],exports.modules={7681:function(a,b,c){var d=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0});let e=c(29021),f=d(c(11223)).default("@kwsites/file-exists");b.exists=function(a,c=b.READABLE){return function(a,b,c){f("checking %s",a);try{let d=e.statSync(a);if(d.isFile()&&b)return f("[OK] path represents a file"),!0;if(d.isDirectory()&&c)return f("[OK] path represents a directory"),!0;return f("[FAIL] path represents something other than a file or directory"),!1}catch(a){if("ENOENT"===a.code)return f("[FAIL] path is not accessible: %o",a),!1;throw f("[FATAL] %o",a),a}}(a,(c&b.FILE)>0,(c&b.FOLDER)>0)},b.FILE=1,b.FOLDER=2,b.READABLE=b.FILE+b.FOLDER},34322:(a,b,c)=>{c.d(b,{Ay:()=>eZ});var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,_,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aI,aJ,aK,aL,aM,aN,aO,aP,aQ,aR,aS,aT,aU,aV,aW,aX,aY=c(80512);let aZ=new WeakMap;function a$(...a){let b=new String(a);return aZ.set(b,a),b}function a_(a){return a instanceof String&&aZ.has(a)}function a0(a){return aZ.get(a)??[]}var a1=c(11223),a2=c(79646),a3=c(49722),a4=c(76760);function*a5(a,b){let c="global"===b;for(let b of a)b.isGlobal===c&&(yield b)}let a6=new Set(["--add","--edit","--remove-section","--rename-section","--replace-all","--unset","--unset-all","-e"]),a7=new Set(["--get","--get-all","--get-color","--get-colorbool","--get-regexp","--get-urlmatch","--list","-l"]),a8=new Set(["edit","remove-section","rename-section","set","unset"]),a9=new Set(["get","get-color","get-colorbool","list"]);function ba(a=!1,b=[]){let c=b.at(0)?.toLowerCase();return void 0===c?null:{isWrite:a,isRead:!a,key:c,value:b.at(1)}}let bb={short:new Map([["c",!0]])},bc={short:new Map([["C",!0],["P",!1],["h",!1],["p",!1],["v",!1],...bb.short.entries()]),long:new Set(["attr-source","config-env","exec-path","git-dir","list-cmds","namespace","super-prefix","work-tree"])},bd={clone:{short:new Map([["b",!0],["j",!0],["l",!1],["n",!1],["o",!0],["q",!1],["s",!1],["u",!0]]),long:new Set(["branch","config","jobs","origin","upload-pack","u","template"])},commit:{short:new Map([["C",!0],["F",!0],["c",!0],["m",!0],["t",!0]]),long:new Set(["file","message","reedit-message","reuse-message","template"])},config:{short:new Map([["e",!1],["f",!0],["l",!1]]),long:new Set(["blob","comment","default","file","type","value"])},fetch:{short:new Map,long:new Set(["upload-pack"])},init:{short:new Map,long:new Set(["template"])},pull:{short:new Map,long:new Set(["upload-pack"])},push:{short:new Map,long:new Set(["exec","receive-pack"])}},be={short:new Map,long:new Set};function bf(a,b=bc){if(a.startsWith("--")){let c=a.indexOf("=");if(c>2)return[{name:a.slice(0,c),value:a.slice(c+1),needsNext:!1}];let d=a.slice(2);return[{name:a,needsNext:b.long.has(d)}]}if(2===a.length){let c=a.charAt(1);return[{name:a,needsNext:!0===b.short.get(c)}]}return function(a,b){let c=a.slice(1).split(""),d=[];for(let e=0;e<c.length;e++){let f=c[e],g=b.get(f);if(void 0===g)return[{name:a,needsNext:!1}];if(g){let a=c.slice(e+1).join("");if(a&&![...a].every(a=>b.has(a)))return d.push({name:`-${f}`,value:a,needsNext:!1}),d}d.push({name:`-${f}`,needsNext:g})}return d}(a,b.short)}function bg(a,b,c=String(a)){let d="string"==typeof a?RegExp(`\\s*${a.toLowerCase()}`):a;return function(a){if(d.test(a))return{category:b,message:`Configuring ${c} is not permitted without enabling ${b}`}}}function bh(a,b){return bg(RegExp(`\\s*${a.toLowerCase().replace(/\./g,"(..+)?.")}`),b,a)}let bi=[bg("alias","allowUnsafeAlias"),bg("core.askPass","allowUnsafeAskPass"),bg("core.editor","allowUnsafeEditor"),bg("core.fsmonitor","allowUnsafeFsMonitor"),bg("core.gitProxy","allowUnsafeGitProxy"),bg("core.hooksPath","allowUnsafeHooksPath"),bg("core.pager","allowUnsafePager"),bg("core.sshCommand","allowUnsafeSshCommand"),bh("credential.helper","allowUnsafeCredentialHelper"),bh("diff.command","allowUnsafeDiffExternal"),bg("diff.external","allowUnsafeDiffExternal"),bh("diff.textconv","allowUnsafeDiffTextConv"),bh("filter.clean","allowUnsafeFilter"),bh("filter.smudge","allowUnsafeFilter"),bh("gpg.program","allowUnsafeGpgProgram"),bg("init.templateDir","allowUnsafeTemplateDir"),bh("merge.driver","allowUnsafeMergeDriver"),bh("mergetool.path","allowUnsafeMergeDriver"),bh("mergetool.cmd","allowUnsafeMergeDriver"),bh("protocol.allow","allowUnsafeProtocolOverride"),bh("remote.receivepack","allowUnsafePack"),bh("remote.uploadpack","allowUnsafePack"),bg("sequence.editor","allowUnsafeEditor")];function bj(a,b,c,d=String(b)){let e="string"==typeof b?RegExp(`\\s*${b.toLowerCase()}`):b,f=`Use of ${a?`${a} with option `:""}${d} is not permitted without enabling ${c}`;return function(b,d){if((!a||b===a)&&e.test(d))return{category:c,message:f}}}let bk=[bj(null,/--(upload|receive)-pack/,"allowUnsafePack","--upload-pack or --receive-pack"),bj("clone",/^-\w*u/,"allowUnsafePack"),bj("clone","--u","allowUnsafePack"),bj("push","--exec","allowUnsafePack"),bj(null,"--template","allowUnsafeTemplateDir")];function bl(a,b,c){return[...function*(a,b){for(let c of b)for(let b of bk){let d=b(a,c.name);d&&(yield d)}}(a,b),...function*({write:a}){for(let b of a)for(let a of bi){let c=a(b.key);c&&(yield c)}}(c)]}function bm({value:a,name:b}){return void 0!==a?{name:b,value:a}:{name:b}}let bn={editor:"allowUnsafeEditor",git_askpass:"allowUnsafeAskPass",git_config_global:"allowUnsafeConfigPaths",git_config_system:"allowUnsafeConfigPaths",git_config_count:"allowUnsafeConfigEnvCount",git_config:"allowUnsafeConfigPaths",git_editor:"allowUnsafeEditor",git_exec_path:"allowUnsafeConfigPaths",git_external_diff:"allowUnsafeDiffExternal",git_pager:"allowUnsafePager",git_proxy_command:"allowUnsafeGitProxy",git_template_dir:"allowUnsafeTemplateDir",git_sequence_editor:"allowUnsafeEditor",git_ssh:"allowUnsafeSshCommand",git_ssh_command:"allowUnsafeSshCommand",pager:"allowUnsafePager",prefix:"allowUnsafeConfigPaths",ssh_askpass:"allowUnsafeAskPass"};function bo(a){return Object.hasOwn(bn,a)}var bp=c(78474),bq=Object.defineProperty,br=Object.getOwnPropertyDescriptor,bs=Object.getOwnPropertyNames,bt=Object.prototype.hasOwnProperty,bu=(a,b)=>function(){return a&&(b=(0,a[bs(a)[0]])(a=0)),b},bv=(a,b)=>{for(var c in b)bq(a,c,{get:b[c],enumerable:!0})},bw=a=>((a,b,c,d)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let e of bs(b))bt.call(a,e)||e===c||bq(a,e,{get:()=>b[e],enumerable:!(d=br(b,e))||d.enumerable});return a})(bq({},"__esModule",{value:!0}),a),bx=bu({"src/lib/errors/git-error.ts"(){d=class extends Error{constructor(a,b){super(b),this.task=a,Object.setPrototypeOf(this,new.target.prototype)}}}}),by=bu({"src/lib/errors/git-response-error.ts"(){bx(),e=class extends d{constructor(a,b){super(void 0,b||String(a)),this.git=a}}}}),bz=bu({"src/lib/errors/task-configuration-error.ts"(){bx(),f=class extends d{constructor(a){super(void 0,a)}}}});function bA(a){return"function"!=typeof a?h:a}function bB(a){return"function"==typeof a&&a!==h}function bC(a,b){let c=a.indexOf(b);return c<=0?[a,""]:[a.substr(0,c),a.substr(c+1)]}function bD(a,b=0){return n(a)&&a.length>b?a[b]:void 0}function bE(a,b=0){if(n(a)&&a.length>b)return a[a.length-1-b]}function bF(a="",b=!0,c="\n"){return a.split(c).reduce((a,c)=>{let d=b?c.trim():c;return d&&a.push(d),a},[])}function bG(a,b){return bF(a,!0).map(a=>b(a))}function bH(a){return(0,aY.exists)(a,aY.FOLDER)}function bI(a,b){return Array.isArray(a)?a.includes(b)||a.push(b):a.add(b),b}function bJ(a,b){return Array.isArray(a)&&!a.includes(b)&&a.push(b),a}function bK(a,b){if(Array.isArray(a)){let c=a.indexOf(b);c>=0&&a.splice(c,1)}else a.delete(b);return b}function bL(a){return Array.isArray(a)?a:[a]}function bM(a){return a.replace(/[\s-]+(.)/g,(a,b)=>b.toUpperCase())}function bN(a){return bL(a).map(a=>a instanceof String?a:String(a))}function bO(a,b=0){if(null==a)return b;let c=parseInt(a,10);return Number.isNaN(c)?b:c}function bP(a,b){let c=[];for(let d=0,e=a.length;d<e;d++)c.push(b,a[d]);return c}function bQ(a){return(Array.isArray(a)?Buffer.concat(a):a).toString("utf-8")}function bR(a,b){let c={};return b.forEach(b=>{void 0!==a[b]&&(c[b]=a[b])}),c}function bS(a=0){return new Promise(b=>setTimeout(b,a))}function bT(a){if(!1!==a)return a}var bU=bu({"src/lib/utils/util.ts"(){bZ(),g="\0",h=()=>{},i=Object.prototype.toString.call.bind(Object.prototype.toString)}});function bV(a,b,c){return b(a)?a:arguments.length>2?c:void 0}function bW(a,b){let c=a_(a)?"string":typeof a;return/number|string|boolean/.test(c)&&(!b||!b.includes(c))}function bX(a){return!!a&&"[object Object]"===i(a)}function bY(a){return"function"==typeof a}var bZ=bu({"src/lib/utils/argument-filters.ts"(){bU(),j=a=>Array.isArray(a),k=a=>"number"==typeof a,l=a=>"string"==typeof a||a_(a),m=a=>l(a)||Array.isArray(a)&&a.every(l),n=a=>!(null==a||"number|boolean|function".includes(typeof a))&&"number"==typeof a.length}}),b$=bu({"src/lib/utils/exit-codes.ts"(){var a;(a=o||{})[a.SUCCESS=0]="SUCCESS",a[a.ERROR=1]="ERROR",a[a.NOT_FOUND=-2]="NOT_FOUND",a[a.UNCLEAN=128]="UNCLEAN",o=a}}),b_=bu({"src/lib/utils/git-output-streams.ts"(){p=class a{constructor(a,b){this.stdOut=a,this.stdErr=b}asStrings(){return new a(this.stdOut.toString("utf8"),this.stdErr.toString("utf8"))}}}});function b0(){throw Error("LineParser:useMatches not implemented")}var b1=bu({"src/lib/utils/line-parser.ts"(){q=class{constructor(a,b){this.matches=[],this.useMatches=b0,this.parse=(a,b)=>(this.resetMatches(),!!this._regExp.every((b,c)=>this.addMatch(b,c,a(c)))&&!1!==this.useMatches(b,this.prepareMatches())),this._regExp=Array.isArray(a)?a:[a],b&&(this.useMatches=b)}resetMatches(){this.matches.length=0}prepareMatches(){return this.matches}addMatch(a,b,c){let d=c&&a.exec(c);return d&&this.pushMatch(b,d),!!d}pushMatch(a,b){this.matches.push(...b.slice(1))}},r=class extends q{addMatch(a,b,c){return/^remote:\s/.test(String(c))&&super.addMatch(a,b,c)}pushMatch(a,b){(a>0||b.length>1)&&super.pushMatch(a,b)}}}});function b2(...a){let b=process.cwd(),c=Object.assign({baseDir:b,...s},...a.filter(a=>"object"==typeof a&&a));return c.baseDir=c.baseDir||b,c.trimmed=!0===c.trimmed,c}var b3=bu({"src/lib/utils/simple-git-options.ts"(){s={binary:"git",maxConcurrentProcesses:5,config:[],trimmed:!1}}});function b4(a,b=[]){return bX(a)?Object.keys(a).reduce((b,c)=>{let d=a[c];if(a_(d))b.push(d);else if(bW(d,["boolean"]))b.push(c+"="+d);else if(Array.isArray(d))for(let a of d)bW(a,["string","number"])||b.push(c+"="+a);else b.push(c);return b},b):b}function b5(a,b=0,c=!1){let d=[];for(let c=0,e=b<0?a.length:b;c<e;c++)"string|number".includes(typeof a[c])&&d.push(String(a[c]));return b4(b6(a),d),c||d.push(...function(a){let b="function"==typeof bE(a);return bN(bV(bE(a,+!!b),j,[]))}(a)),d}function b6(a){let b=bY(bE(a));return bV(bE(a,+!!b),bX)}function b7(a,b=!0){let c=bA(bE(a));return b||bB(c)?c:void 0}var b8=bu({"src/lib/utils/task-options.ts"(){bZ(),bU()}});function b9(a,b){return a(b.stdOut,b.stdErr)}function ca(a,b,c,d=!0){return bL(c).forEach(c=>{for(let e=bF(c,d),f=0,g=e.length;f<g;f++){let c=(a=0)=>{if(!(f+a>=g))return e[f+a]};b.some(({parse:b})=>b(c,a))}}),a}var cb=bu({"src/lib/utils/task-parser.ts"(){bU()}}),cc={};bv(cc,{ExitCodes:()=>o,GitOutputStreams:()=>p,LineParser:()=>q,NOOP:()=>h,NULL:()=>g,RemoteLineParser:()=>r,append:()=>bI,appendTaskOptions:()=>b4,asArray:()=>bL,asCamelCase:()=>bM,asFunction:()=>bA,asNumber:()=>bO,asStringArray:()=>bN,bufferToString:()=>bQ,callTaskParser:()=>b9,createInstanceConfig:()=>b2,delay:()=>bS,filterArray:()=>j,filterFunction:()=>bY,filterHasLength:()=>n,filterNumber:()=>k,filterPlainObject:()=>bX,filterPrimitives:()=>bW,filterString:()=>l,filterStringOrStringArray:()=>m,filterType:()=>bV,first:()=>bD,folderExists:()=>bH,forEachLineWithContent:()=>bG,getTrailingOptions:()=>b5,including:()=>bJ,isUserFunction:()=>bB,last:()=>bE,objectToString:()=>i,orVoid:()=>bT,parseStringResponse:()=>ca,pick:()=>bR,prefixedArray:()=>bP,remove:()=>bK,splitOn:()=>bC,toLinesWithContent:()=>bF,trailingFunctionArgument:()=>b7,trailingOptionsArgument:()=>b6});var cd=bu({"src/lib/utils/index.ts"(){bZ(),b$(),b_(),b1(),b3(),b8(),cb(),bU()}}),ce={};function cf(a){switch(a){case"bare":return ch();case"root":return cg()}return{commands:["rev-parse","--is-inside-work-tree"],format:"utf-8",onError:u,parser:v}}function cg(){return{commands:["rev-parse","--git-dir"],format:"utf-8",onError:u,parser:a=>/^\.(git)?$/.test(a.trim())}}function ch(){return{commands:["rev-parse","--is-bare-repository"],format:"utf-8",onError:u,parser:v}}bv(ce,{CheckRepoActions:()=>t,checkIsBareRepoTask:()=>ch,checkIsRepoRootTask:()=>cg,checkIsRepoTask:()=>cf});var ci=bu({"src/lib/tasks/check-is-repo.ts"(){var a;cd(),(a=t||{}).BARE="bare",a.IN_TREE="tree",a.IS_REPO_ROOT="root",t=a,u=({exitCode:a},b,c,d)=>{if(128===a&&/(Not a git repository|Kein Git-Repository)/i.test(String(b)))return c(Buffer.from("false"));d(b)},v=a=>"true"===a.trim()}}),cj=bu({"src/lib/responses/CleanSummary.ts"(){cd(),w=class{constructor(a){this.dryRun=a,this.paths=[],this.files=[],this.folders=[]}},x=/^[a-z]+\s*/i,y=/^[a-z]+\s+[a-z]+\s*/i,z=/\/$/}}),ck={};function cl(a){return{commands:A,format:"empty",parser:a}}function cm(a){return{commands:A,format:"empty",parser(){throw"string"==typeof a?new f(a):a}}}function cn(a,b=!1){return{commands:a,format:"utf-8",parser:a=>b?String(a).trim():a}}function co(a){return{commands:a,format:"buffer",parser:a=>a}}function cp(a){return"buffer"===a.format}function cq(a){return"empty"===a.format||!a.commands.length}bv(ck,{EMPTY_COMMANDS:()=>A,adhocExecTask:()=>cl,configurationErrorTask:()=>cm,isBufferTask:()=>cp,isEmptyTask:()=>cq,straightThroughBufferTask:()=>co,straightThroughStringTask:()=>cn});var cr=bu({"src/lib/tasks/task.ts"(){bz(),A=[]}}),cs={};function ct(a,b){let c,d,e,{cleanMode:f,options:g,valid:h}=(d=[],e={cleanMode:!1,options:!0},a.replace(/[^a-z]i/g,"").split("").forEach(a=>{var b,f;"f"===(b=a)||"n"===b?(c=a,e.cleanMode=!0):e.options=e.options&&(f=d[d.length]=`-${a}`,/^-[a-z]$/i.test(f)&&F.has(f.charAt(1)))}),{cleanMode:c,options:d,valid:e});return f?h.options?(g.push(...b),g.some(cw))?cm(B):cu(f,g):cm(D+JSON.stringify(a)):cm(C)}function cu(a,b){return{commands:["clean",`-${a}`,...b],format:"utf-8",parser:b=>(function(a,b){let c=new w(a),d=a?y:x;return bF(b).forEach(a=>{let b=a.replace(d,"");c.paths.push(b),(z.test(b)?c.folders:c.files).push(b)}),c})("n"===a,b)}}function cv(a){return Array.isArray(a)&&a.every(a=>F.has(a))}function cw(a){return/^-[^\-]/.test(a)?a.indexOf("i")>0:"--interactive"===a}bv(cs,{CONFIG_ERROR_INTERACTIVE_MODE:()=>B,CONFIG_ERROR_MODE_REQUIRED:()=>C,CONFIG_ERROR_UNKNOWN_OPTION:()=>D,CleanOptions:()=>E,cleanTask:()=>cu,cleanWithOptionsTask:()=>ct,isCleanOptionsArray:()=>cv});var cx=bu({"src/lib/tasks/clean.ts"(){var a;cj(),cd(),cr(),B="Git clean interactive mode is not supported",C='Git clean mode parameter ("n" or "f") is required',D="Git clean unknown option found in: ",(a=E||{}).DRY_RUN="n",a.FORCE="f",a.IGNORED_INCLUDED="x",a.IGNORED_ONLY="X",a.EXCLUDING="e",a.QUIET="q",a.RECURSIVE="d",F=new Set(["i",...bN(Object.values(E=a))])}});function*cy(a,b=null){let c=a.split("\0");for(let a=0,d=c.length-1;a<d;){let d=c[a++].replace(/^(file):/,""),e=c[a++],f=b;if(e.includes("\n")){let a=bC(e,"\n");f=a[0],e=a[1]}yield{file:d,key:f,value:e}}}var cz=bu({"src/lib/responses/ConfigList.ts"(){cd(),G=class{constructor(){this.files=[],this.values=Object.create(null)}get all(){return this._all||(this._all=this.files.reduce((a,b)=>Object.assign(a,this.values[b]),{})),this._all}addFile(a){if(!(a in this.values)){let b=bE(this.files);this.values[a]=b?Object.create(this.values[b]):{},this.files.push(a)}return this.values[a]}addValue(a,b,c){let d=this.addFile(a);Object.hasOwn(d,b)?Array.isArray(d[b])?d[b].push(c):d[b]=[d[b],c]:d[b]=c,this._all=void 0}}}});function cA(a,b){return"string"==typeof a&&Object.hasOwn(H,a)?a:b}var cB=bu({"src/lib/tasks/config.ts"(){var a;cz(),cd(),(a=H||{}).system="system",a.global="global",a.local="local",a.worktree="worktree",H=a}}),cC=bu({"src/lib/tasks/diff-name-status.ts"(){var a;(a=I||{}).ADDED="A",a.COPIED="C",a.DELETED="D",a.MODIFIED="M",a.RENAMED="R",a.CHANGED="T",a.UNMERGED="U",a.UNKNOWN="X",a.BROKEN="B",J=new Set(Object.values(I=a))}}),cD=bu({"src/lib/tasks/grep.ts"(){cd(),cr(),K=["-h"],L=Symbol("grepQuery"),N=class{constructor(){this[M]=[]}*[(M=L,Symbol.iterator)](){for(let a of this[L])yield a}and(...a){return a.length&&this[L].push("--and","(",...bP(a,"-e"),")"),this}param(...a){return this[L].push(...bP(a,"-e")),this}}}}),cE={};function cF(a,b){let c=["reset"];return cH(a)&&c.push(`--${a}`),c.push(...b),cn(c)}function cG(a){if(cH(a))return a;switch(typeof a){case"string":case"undefined":return"soft"}}function cH(a){return"string"==typeof a&&P.includes(a)}bv(cE,{ResetMode:()=>O,getResetMode:()=>cG,resetTask:()=>cF});var cI=bu({"src/lib/tasks/reset.ts"(){var a;cd(),cr(),(a=O||{}).MIXED="mixed",a.SOFT="soft",a.HARD="hard",a.MERGE="merge",a.KEEP="keep",P=bN(Object.values(O=a))}});function cJ(a,b,c){return b&&String(b).replace(/\s*/,"")?(d,...e)=>{a(`%s ${d}`,b,...e),c&&c(d,...e)}:c?(b,...d)=>{a(b,...d),c(b,...d)}:a}function cK(a,b,c,d=a1("simple-git")){let e=a&&`[${a}]`||"",f=[],g="string"==typeof b?d.extend(b):b,i=function(a,b,{namespace:c}){if("string"==typeof a)return a;let d=b&&b.namespace||"";return d.startsWith(c)?d.substr(c.length+1):d||c}(bV(b,l),g,d);return function b(c){let f=c&&`[${c}]`||"",i=g&&cJ(g,f)||h,k=cJ(d,`${e} ${f}`,i);return Object.assign(g?i:k,{label:a,sibling:j,info:k,step:b})}(c);function j(b,c){return bI(f,cK(a,i.replace(/^[^:]+/,b),c,d))}}var cL=bu({"src/lib/git-logger.ts"(){cd(),a1.formatters.L=a=>String(n(a)?a.length:"-"),a1.formatters.B=a=>Buffer.isBuffer(a)?a.toString("utf8"):i(a)}}),cM=bu({"src/lib/runners/tasks-pending-queue.ts"(){bx(),cL(),Q=class a{constructor(a="GitExecutor"){this.logLabel=a,this._queue=new Map}withProgress(a){return this._queue.get(a)}createProgress(b){let c=a.getName(b.commands[0]);return{task:b,logger:cK(this.logLabel,c),name:c}}push(a){let b=this.createProgress(a);return b.logger("Adding task to the queue, commands = %o",a.commands),this._queue.set(a,b),b}fatal(a){for(let[b,{logger:c}]of Array.from(this._queue.entries()))b===a.task?(c.info("Failed %o",a),c("Fatal exception, any as-yet un-started tasks run through this executor will not be attempted")):c.info("A fatal exception occurred in a previous task, the queue has been purged: %o",a.message),this.complete(b);if(0!==this._queue.size)throw Error(`Queue size should be zero after fatal: ${this._queue.size}`)}complete(a){this.withProgress(a)&&this._queue.delete(a)}attempt(a){let b=this.withProgress(a);if(!b)throw new d(void 0,"TasksPendingQueue: attempt called for an unknown task");return b.logger("Starting task"),b}static getName(b="empty"){return`task:${b}:${++a.counter}`}static{this.counter=0}}}});function cN(a,b){return{method:bD(a.commands)||"",commands:b}}function cO(a,b,c,d){return e=>{c("%s received %L bytes",b,e),d("%B",e),a.push(e)}}var cP=bu({"src/lib/runners/git-executor-chain.ts"(){bx(),cr(),cd(),cM(),R=class{constructor(a,b,c){this._executor=a,this._scheduler=b,this._plugins=c,this._chain=Promise.resolve(),this._queue=new Q}get cwd(){return this._cwd||this._executor.cwd}set cwd(a){this._cwd=a}get env(){return this._executor.env}get outputHandler(){return this._executor.outputHandler}chain(){return this}push(a){return this._queue.push(a),this._chain=this._chain.then(()=>this.attemptTask(a))}async attemptTask(a){let b=await this._scheduler.next(),c=()=>this._queue.complete(a);try{let{logger:b}=this._queue.attempt(a);return await (cq(a)?this.attemptEmptyTask(a,b):this.attemptRemoteTask(a,b))}catch(b){throw this.onFatalException(a,b)}finally{c(),b()}}onFatalException(a,b){let c=b instanceof d?Object.assign(b,{task:a}):new d(a,b&&String(b));return this._chain=Promise.resolve(),this._queue.fatal(c),c}async attemptRemoteTask(a,b){let c=this._plugins.exec("spawn.binary","",cN(a,a.commands)),d=this._plugins.exec("spawn.args",[...a.commands],{...cN(a,a.commands),env:{...this.env}}),e=await this.gitResponse(a,c,d,this.outputHandler,b.step("SPAWN")),f=await this.handleTaskData(a,d,e,b.step("HANDLE"));return(b("passing response to task's parser as a %s",a.format),cp(a))?b9(a.parser,f):b9(a.parser,f.asStrings())}async attemptEmptyTask(a,b){return b("empty task bypassing child process to call to task's parser"),a.parser(this)}handleTaskData(a,b,c,d){let{exitCode:e,rejection:f,stdOut:g,stdErr:h}=c;return new Promise((j,k)=>{d("Preparing to handle process response exitCode=%d stdOut=",e);let{error:l}=this._plugins.exec("task.error",{error:f},{...cN(a,b),...c});return l&&a.onError?(d.info("exitCode=%s handling with custom error handler"),a.onError(c,l,a=>{d.info("custom error handler treated as success"),d("custom error returned a %s",i(a)),j(new p(Array.isArray(a)?Buffer.concat(a):a,Buffer.concat(h)))},k)):l?(d.info("handling as error: exitCode=%s stdErr=%s rejection=%o",e,h.length,f),k(l)):void(d.info("retrieving task output complete"),j(new p(Buffer.concat(g),Buffer.concat(h))))})}async gitResponse(a,b,c,d,e){let f=e.sibling("output"),g=this._plugins.exec("spawn.options",{cwd:this.cwd,env:this.env,windowsHide:!0},cN(a,a.commands));return new Promise(h=>{let i=[],j=[];e.info("%s %o",b,c),e("%O",g);let k=this._beforeSpawn(a,c);if(k)return h({stdOut:i,stdErr:j,exitCode:9901,rejection:k});this._plugins.exec("spawn.before",void 0,{...cN(a,c),kill(a){k=a||k}});let l=(0,a2.spawn)(b,c,g);l.stdout.on("data",cO(i,"stdOut",e,f.step("stdOut"))),l.stderr.on("data",cO(j,"stdErr",e,f.step("stdErr"))),l.on("error",a=>{e("[ERROR] child process exception %o",a),j.push(Buffer.from(String(a.stack),"ascii"))}),d&&(e("Passing child process stdOut/stdErr to custom outputHandler"),d(b,l.stdout,l.stderr,[...c])),this._plugins.exec("spawn.after",void 0,{...cN(a,c),spawned:l,close(a,b){h({stdOut:i,stdErr:j,exitCode:a,rejection:k||b})},kill(a){l.killed||(k=a,l.kill("SIGINT"))}})})}_beforeSpawn(a,b){let c;return this._plugins.exec("spawn.before",void 0,{...cN(a,b),kill(a){c=a||c}}),c}}}}),cQ={};bv(cQ,{GitExecutor:()=>S});var cR=bu({"src/lib/runners/git-executor.ts"(){cP(),S=class{constructor(a,b,c){this.cwd=a,this._scheduler=b,this._plugins=c,this._chain=new R(this,this._scheduler,this._plugins)}chain(){return new R(this,this._scheduler,this._plugins)}push(a){return this._chain.push(a)}}}}),cS=bu({"src/lib/task-callback.ts"(){by(),cd()}});function cT(a,b){return cl(c=>{if(!bH(a))throw Error(`Git.cwd: cannot change to non-directory "${a}"`);return(b||c).cwd=a})}var cU=bu({"src/lib/tasks/change-working-directory.ts"(){cd(),cr()}});function cV(a){let b=["checkout",...a];return"-b"===b[1]&&b.includes("-B")&&(b[1]=bK(b,"-B")),cn(b)}var cW=bu({"src/lib/tasks/checkout.ts"(){cd(),cr()}}),cX=bu({"src/lib/tasks/count-objects.ts"(){cd(),T=new q(/([a-z-]+): (\d+)$/,(a,[b,c])=>{let d=bM(b);Object.hasOwn(a,d)&&(a[d]=bO(c))})}});function cY(a){return ca({author:null,branch:"",commit:"",root:!1,summary:{changes:0,insertions:0,deletions:0}},U,a)}var cZ=bu({"src/lib/parsers/parse-commit.ts"(){cd(),U=[new q(/^\[([^\s]+)( \([^)]+\))? ([^\]]+)/,(a,[b,c,d])=>{a.branch=b,a.commit=d,a.root=!!c}),new q(/\s*Author:\s(.+)/i,(a,[b])=>{let c=b.split("<"),d=c.pop();d&&d.includes("@")&&(a.author={email:d.substr(0,d.length-1),name:c.join("<").trim()})}),new q(/(\d+)[^,]*(?:,\s*(\d+)[^,]*)(?:,\s*(\d+))/g,(a,[b,c,d])=>{a.summary.changes=parseInt(b,10)||0,a.summary.insertions=parseInt(c,10)||0,a.summary.deletions=parseInt(d,10)||0}),new q(/^(\d+)[^,]*(?:,\s*(\d+)[^(]+\(([+-]))?/,(a,[b,c,d])=>{a.summary.changes=parseInt(b,10)||0;let e=parseInt(c,10)||0;"-"===d?a.summary.deletions=e:"+"===d&&(a.summary.insertions=e)})]}}),c$=bu({"src/lib/tasks/commit.ts"(){cZ(),cd(),cr()}}),c_=bu({"src/lib/tasks/first-commit.ts"(){cd(),cr()}}),c0=bu({"src/lib/tasks/hash-object.ts"(){cr()}}),c1=bu({"src/lib/responses/InitSummary.ts"(){V=class{constructor(a,b,c,d){this.bare=a,this.path=b,this.existing=c,this.gitDir=d}},W=/^Init.+ repository in (.+)$/,X=/^Rein.+ in (.+)$/}}),c2=bu({"src/lib/tasks/init.ts"(){c1(),Y="--bare"}});function c3(a){for(let b=0;b<a.length;b++){let c=Z.exec(a[b]);if(c)return`--${c[1]}`}return""}function c4(a){return Z.test(a)}var c5=bu({"src/lib/args/log-format.ts"(){Z=/^--(stat|numstat|name-only|name-status)(=|$)/}}),c6=bu({"src/lib/responses/DiffSummary.ts"(){$=class{constructor(){this.changed=0,this.deletions=0,this.insertions=0,this.files=[]}}}});function c7(a=""){let b=ac[a];return a=>ca(new $,b,a,!1)}var c8=bu({"src/lib/parsers/parse-diff-summary.ts"(){c5(),c6(),cC(),cd(),_=[new q(/^(.+)\s+\|\s+(\d+)(\s+[+\-]+)?$/,(a,[b,c,d=""])=>{a.files.push({file:b.trim(),changes:bO(c),insertions:d.replace(/[^+]/g,"").length,deletions:d.replace(/[^-]/g,"").length,binary:!1})}),new q(/^(.+) \|\s+Bin ([0-9.]+) -> ([0-9.]+) ([a-z]+)/,(a,[b,c,d])=>{a.files.push({file:b.trim(),before:bO(c),after:bO(d),binary:!0})}),new q(/(\d+) files? changed\s*((?:, \d+ [^,]+){0,2})/,(a,[b,c])=>{let d=/(\d+) i/.exec(c),e=/(\d+) d/.exec(c);a.changed=bO(b),a.insertions=bO(d?.[1]),a.deletions=bO(e?.[1])})],aa=[new q(/(\d+)\t(\d+)\t(.+)$/,(a,[b,c,d])=>{let e=bO(b),f=bO(c);a.changed++,a.insertions+=e,a.deletions+=f,a.files.push({file:d,changes:e+f,insertions:e,deletions:f,binary:!1})}),new q(/-\t-\t(.+)$/,(a,[b])=>{a.changed++,a.files.push({file:b,after:0,before:0,binary:!0})})],ab=[new q(/(.+)$/,(a,[b])=>{a.changed++,a.files.push({file:b,changes:0,insertions:0,deletions:0,binary:!1})})],ac={"":_,"--stat":_,"--numstat":aa,"--name-status":[new q(/([ACDMRTUXB])([0-9]{0,3})\t(.[^\t]*)(\t(.[^\t]*))?$/,(a,[b,c,d,e,f])=>{a.changed++,a.files.push({file:f??d,changes:0,insertions:0,deletions:0,binary:!1,status:bT(J.has(b)&&b),from:bT(!!f&&d!==f&&d),similarity:bO(c)})})],"--name-only":ab}}});function c9(a=af,b=ag,c=""){let d=c7(c);return function(c){let e=bF(c.trim(),!1,ad).map(function(c){var e;let f=c.split(ae),g=(e=f[0].split(a),b.reduce((a,b,c)=>(a[b]=e[c]||"",a),Object.create({diff:null})));return f.length>1&&f[1].trim()&&(g.diff=d(f[1])),g});return{all:e,latest:e.length&&e[0]||null,total:e.length}}}var da=bu({"src/lib/parsers/parse-list-log-summary.ts"(){cd(),c8(),c5(),ad="\xf2\xf2\xf2\xf2\xf2\xf2 ",ae=" \xf2\xf2",af=" \xf2 ",ag=["hash","date","message","refs","author_name","author_email"]}}),db={};function dc(a){let b=c3(a),c=["diff"];return""===b&&(b="--stat",c.push("--stat=4096")),c.push(...a),dd(c)||{commands:c,format:"utf-8",parser:c7(b)}}function dd(a){let b=a.filter(c4);return b.length>1?cm(`Summary flags are mutually exclusive - pick one of ${b.join(",")}`):b.length&&a.includes("-z")?cm(`Summary flag ${b} parsing is not compatible with null termination option '-z'`):void 0}bv(db,{diffSummaryTask:()=>dc,validateLogFormatConfig:()=>dd});var de=bu({"src/lib/tasks/diff.ts"(){c5(),c8(),cr()}});function df(a={},b=[]){let c=bV(a.splitter,l,af),[d,e]=function(a,b){let c=[],d=[];return Object.keys(a).forEach(b=>{c.push(b),d.push(String(a[b]))}),[c,d.join(b)]}(bX(a.format)?a.format:{hash:"%H",date:!1===a.strictDate?"%ai":"%aI",message:"%s",refs:"%D",body:a.multiLine?"%B":"%b",author_name:!1!==a.mailMap?"%aN":"%an",author_email:!1!==a.mailMap?"%aE":"%ae"},c),f=[],g=[`--pretty=format:${ad}${e}${ae}`,...b],h=a.n||a["max-count"]||a.maxCount;if(h&&g.push(`--max-count=${h}`),a.from||a.to){let b=!1!==a.symmetric?"...":"..";f.push(`${a.from||""}${b}${a.to||""}`)}return l(a.file)&&g.push("--follow",a$(a.file)),b4(Object.keys(a).reduce((b,c)=>(c in ah||(b[c]=a[c]),b),{}),g),{fields:d,splitter:c,commands:[...g,...f]}}var dg=bu({"src/lib/tasks/log.ts"(){var a;c5(),da(),cd(),cr(),de(),(a=ah||{})[a["--pretty"]=0]="--pretty",a[a["max-count"]=1]="max-count",a[a.maxCount=2]="maxCount",a[a.n=3]="n",a[a.file=4]="file",a[a.format=5]="format",a[a.from=6]="from",a[a.to=7]="to",a[a.splitter=8]="splitter",a[a.symmetric=9]="symmetric",a[a.mailMap=10]="mailMap",a[a.multiLine=11]="multiLine",a[a.strictDate=12]="strictDate",ah=a}}),dh=bu({"src/lib/responses/MergeSummary.ts"(){ai=class{constructor(a,b=null,c){this.reason=a,this.file=b,this.meta=c}toString(){return`${this.file}:${this.reason}`}},aj=class{constructor(){this.conflicts=[],this.merges=[],this.result="success"}get failed(){return this.conflicts.length>0}get reason(){return this.result}toString(){return this.conflicts.length?`CONFLICTS: ${this.conflicts.join(", ")}`:"OK"}}}}),di=bu({"src/lib/responses/PullSummary.ts"(){ak=class{constructor(){this.remoteMessages={all:[]},this.created=[],this.deleted=[],this.files=[],this.deletions={},this.insertions={},this.summary={changes:0,deletions:0,insertions:0}}},al=class{constructor(){this.remote="",this.hash={local:"",remote:""},this.branch={local:"",remote:""},this.message=""}toString(){return this.message}}}});function dj(a){return a.objects=a.objects||{compressing:0,counting:0,enumerating:0,packReused:0,reused:{count:0,delta:0},total:{count:0,delta:0}}}function dk(a){let b=/^\s*(\d+)/.exec(a),c=/delta (\d+)/i.exec(a);return{count:bO(b&&b[1]||"0"),delta:bO(c&&c[1]||"0")}}var dl=bu({"src/lib/parsers/parse-remote-objects.ts"(){cd(),am=[new r(/^remote:\s*(enumerating|counting|compressing) objects: (\d+),/i,(a,[b,c])=>{let d=b.toLowerCase();Object.assign(dj(a.remoteMessages),{[d]:bO(c)})}),new r(/^remote:\s*(enumerating|counting|compressing) objects: \d+% \(\d+\/(\d+)\),/i,(a,[b,c])=>{let d=b.toLowerCase();Object.assign(dj(a.remoteMessages),{[d]:bO(c)})}),new r(/total ([^,]+), reused ([^,]+), pack-reused (\d+)/i,(a,[b,c,d])=>{let e=dj(a.remoteMessages);e.total=dk(b),e.reused=dk(c),e.packReused=bO(d)})]}});function dm(a,b){return ca({remoteMessages:new ao},an,b)}var dn=bu({"src/lib/parsers/parse-remote-messages.ts"(){cd(),dl(),an=[new r(/^remote:\s*(.+)$/,(a,[b])=>(a.remoteMessages.all.push(b.trim()),!1)),...am,new r([/create a (?:pull|merge) request/i,/\s(https?:\/\/\S+)$/],(a,[b])=>{a.remoteMessages.pullRequestUrl=b}),new r([/found (\d+) vulnerabilities.+\(([^)]+)\)/i,/\s(https?:\/\/\S+)$/],(a,[b,c,d])=>{a.remoteMessages.vulnerabilities={count:bO(b),summary:c,url:d}})],ao=class{constructor(){this.all=[]}}}}),dp=bu({"src/lib/parsers/parse-pull.ts"(){di(),cd(),dn(),ap=/(\d+)\D+((\d+)\D+\(\+\))?(\D+(\d+)\D+\(-\))?/,aq=/^(create|delete) mode \d+ (.+)/,ar=[new q(/^\s*(.+?)\s+\|\s+\d+\s*(\+*)(-*)/,(a,[b,c,d])=>{a.files.push(b),c&&(a.insertions[b]=c.length),d&&(a.deletions[b]=d.length)}),new q(ap,(a,[b,,c,,d])=>(void 0!==c||void 0!==d)&&(a.summary.changes=+b||0,a.summary.insertions=+c||0,a.summary.deletions=+d||0,!0)),new q(aq,(a,[b,c])=>{bI(a.files,c),bI("create"===b?a.created:a.deleted,c)})],as=[new q(/^from\s(.+)$/i,(a,[b])=>void(a.remote=b)),new q(/^fatal:\s(.+)$/,(a,[b])=>void(a.message=b)),new q(/([a-z0-9]+)\.\.([a-z0-9]+)\s+(\S+)\s+->\s+(\S+)$/,(a,[b,c,d,e])=>{a.branch.local=d,a.hash.local=b,a.branch.remote=e,a.hash.remote=c})],at=(a,b)=>Object.assign(new ak,ca(new ak,ar,[a,b]),dm(a,b))}}),dq=bu({"src/lib/parsers/parse-merge.ts"(){dh(),cd(),dp(),au=[new q(/^Auto-merging\s+(.+)$/,(a,[b])=>{a.merges.push(b)}),new q(/^CONFLICT\s+\((.+)\): Merge conflict in (.+)$/,(a,[b,c])=>{a.conflicts.push(new ai(b,c))}),new q(/^CONFLICT\s+\((.+\/delete)\): (.+) deleted in (.+) and/,(a,[b,c,d])=>{a.conflicts.push(new ai(b,c,{deleteRef:d}))}),new q(/^CONFLICT\s+\((.+)\):/,(a,[b])=>{a.conflicts.push(new ai(b,null))}),new q(/^Automatic merge failed;\s+(.+)$/,(a,[b])=>{a.result=b})],av=(a,b)=>Object.assign(aw(a,b),at(a,b)),aw=a=>ca(new aj,au,a)}});function dr(a){return a.length?{commands:["merge",...a],format:"utf-8",parser(a,b){let c=av(a,b);if(c.failed)throw new e(c);return c}}:cm("Git.merge requires at least one option")}var ds=bu({"src/lib/tasks/merge.ts"(){by(),dq(),cr()}}),dt=bu({"src/lib/parsers/parse-push.ts"(){cd(),dn(),ax=[new q(/^Pushing to (.+)$/,(a,[b])=>{a.repo=b}),new q(/^updating local tracking ref '(.+)'/,(a,[b])=>{a.ref={...a.ref||{},local:b}}),new q(/^[=*-]\s+([^:]+):(\S+)\s+\[(.+)]$/,(a,[b,c,d])=>{a.pushed.push(function(a,b,c){let d=c.includes("deleted"),e=c.includes("tag")||/^refs\/tags/.test(a),f=!c.includes("new");return{deleted:d,tag:e,branch:!e,new:!f,alreadyUpdated:f,local:a,remote:b}}(b,c,d))}),new q(/^Branch '([^']+)' set up to track remote branch '([^']+)' from '([^']+)'/,(a,[b,c,d])=>{a.branch={...a.branch||{},local:b,remote:c,remoteName:d}}),new q(/^([^:]+):(\S+)\s+([a-z0-9]+)\.\.([a-z0-9]+)$/,(a,[b,c,d,e])=>{a.update={head:{local:b,remote:c},hash:{from:d,to:e}}})],ay=(a,b)=>{let c=az(a,b),d=dm(a,b);return{...c,...d}},az=(a,b)=>ca({pushed:[]},ax,[a,b])}}),du={};function dv(a={},b){return bI(b,"--tags"),dw(a,b)}function dw(a={},b){let c=["push",...b];return a.branch&&c.splice(1,0,a.branch),a.remote&&c.splice(1,0,a.remote),bK(c,"-v"),bI(c,"--verbose"),bI(c,"--porcelain"),{commands:c,format:"utf-8",parser:ay}}bv(du,{pushTagsTask:()=>dv,pushTask:()=>dw});var dx=bu({"src/lib/tasks/push.ts"(){dt(),cd()}}),dy=bu({"src/lib/tasks/show.ts"(){cd(),cr()}}),dz=bu({"src/lib/responses/FileStatusSummary.ts"(){aA=/^(.+)\0(.+)$/,aB=class{constructor(a,b,c){if(this.path=a,this.index=b,this.working_dir=c,"R"===b||"R"===c){let b=aA.exec(a)||[null,a,a];this.from=b[2]||"",this.path=b[1]||""}}}}});function dA(a){let[b,c]=a.split(g);return{from:c||b,to:b}}function dB(a,b,c){return[`${a}${b}`,c]}function dC(a,...b){return b.map(b=>dB(a,b,(a,b)=>a.conflicted.push(b)))}var dD=bu({"src/lib/responses/StatusSummary.ts"(){cd(),dz(),aC=class{constructor(){this.not_added=[],this.conflicted=[],this.created=[],this.deleted=[],this.ignored=void 0,this.modified=[],this.renamed=[],this.files=[],this.staged=[],this.ahead=0,this.behind=0,this.current=null,this.tracking=null,this.detached=!1,this.isClean=()=>!this.files.length}},aD=new Map([dB(" ","A",(a,b)=>a.created.push(b)),dB(" ","D",(a,b)=>a.deleted.push(b)),dB(" ","M",(a,b)=>a.modified.push(b)),dB("A"," ",(a,b)=>{a.created.push(b),a.staged.push(b)}),dB("A","M",(a,b)=>{a.created.push(b),a.staged.push(b),a.modified.push(b)}),dB("D"," ",(a,b)=>{a.deleted.push(b),a.staged.push(b)}),dB("M"," ",(a,b)=>{a.modified.push(b),a.staged.push(b)}),dB("M","M",(a,b)=>{a.modified.push(b),a.staged.push(b)}),dB("R"," ",(a,b)=>{a.renamed.push(dA(b))}),dB("R","M",(a,b)=>{let c=dA(b);a.renamed.push(c),a.modified.push(c.to)}),dB("!","!",(a,b)=>{(a.ignored=a.ignored||[]).push(b)}),dB("?","?",(a,b)=>a.not_added.push(b)),...dC("A","A","U"),...dC("D","D","U"),...dC("U","A","D","U"),["##",(a,b)=>{let c=/ahead (\d+)/.exec(b);a.ahead=c&&+c[1]||0,a.behind=(c=/behind (\d+)/.exec(b))&&+c[1]||0,c=/^(.+?(?=(?:\.{3}|\s|$)))/.exec(b),a.current=bV(c?.[1],l,null),c=/\.{3}(\S*)/.exec(b),a.tracking=bV(c?.[1],l,null),(c=/\son\s(\S+?)(?=\.{3}|$)/.exec(b))&&(a.current=bV(c?.[1],l,a.current)),a.detached=/\(no branch\)/.test(b)}]]),aE=function(a){let b=a.split(g),c=new aC;for(let a=0,d=b.length;a<d;){let d=b[a++].trim();d&&("R"===d.charAt(0)&&(d+=g+(b[a++]||"")),function(a,b){let c=b.trim();switch(" "){case c.charAt(2):return d(c.charAt(0),c.charAt(1),c.slice(3));case c.charAt(1):return d(" ",c.charAt(0),c.slice(2));default:return}function d(b,c,d){let e=`${b}${c}`,f=aD.get(e);f&&f(a,d),"##"!==e&&"!!"!==e&&a.files.push(new aB(d,b,c))}}(c,d))}return c}}}),dE=bu({"src/lib/tasks/status.ts"(){dD(),aF=["--null","-z"]}});function dF(a=0,b=0,c=0,d="",e=!0){return Object.defineProperty({major:a,minor:b,patch:c,agent:d,installed:e},"toString",{value(){return`${this.major}.${this.minor}.${this.patch}`},configurable:!1,enumerable:!1})}function dG(a){return a===aG?dF(0,0,0,"",!1):ca(dF(0,0,0,a),aH,a)}var dH=bu({"src/lib/tasks/version.ts"(){cd(),aG="installed=false",aH=[new q(/version (\d+)\.(\d+)\.(\d+)(?:\s*\((.+)\))?/,(a,[b,c,d,e=""])=>{Object.assign(a,dF(bO(b),bO(c),bO(d),e))}),new q(/version (\d+)\.(\d+)\.(\D+)(.+)?$/,(a,[b,c,d,e=""])=>{Object.assign(a,dF(bO(b),bO(c),d,e))})]}});function dI(a,b,c,...d){return l(c)?b(c,bV(d[0],l),b5(arguments)):cm(`git.${a}() requires a string 'repoPath'`)}var dJ=bu({"src/lib/tasks/clone.ts"(){cr(),cd(),aI=(a,b,c)=>{let d=["clone",...c];return l(a)&&d.push(a$(a)),l(b)&&d.push(a$(b)),cn(d)},aJ=(a,b,c)=>(bI(c,"--mirror"),aI(a,b,c))}}),dK={};bv(dK,{SimpleGitApi:()=>aK});var dL=bu({"src/lib/simple-git-api.ts"(){cS(),cU(),cW(),cX(),c$(),cB(),c_(),cD(),c0(),c2(),dg(),ds(),dx(),dy(),dE(),cr(),dH(),cd(),dJ(),Object.assign((aK=class{constructor(a){this._executor=a}_runTask(a,b){let c=this._executor.chain(),d=c.push(a);return b&&function(a,b,c=h){b.then(a=>{c(null,a)},b=>{var d;let f;b?.task===a&&c(b instanceof e?(d=b,f=a=>{console.warn(`simple-git deprecation notice: accessing GitResponseError.${a} should be GitResponseError.git.${a}, this will no longer be available in version 3`),f=h},Object.create(d,Object.getOwnPropertyNames(d.git).reduce(function(a,b){return b in d||(a[b]={enumerable:!1,configurable:!1,get:()=>(f(b),d.git[b])}),a},{}))):b,void 0)})}(a,d,b),Object.create(this,{then:{value:d.then.bind(d)},catch:{value:d.catch.bind(d)},_executor:{value:c}})}add(a){return this._runTask(cn(["add",...bL(a)]),b7(arguments))}cwd(a){let b=b7(arguments);return"string"==typeof a?this._runTask(cT(a,this._executor),b):"string"==typeof a?.path?this._runTask(cT(a.path,a.root&&this._executor||void 0),b):this._runTask(cm("Git.cwd: workingDirectory must be supplied as a string"),b)}hashObject(a,b){return this._runTask(function(a,b){let c=["hash-object",a];return b&&c.push("-w"),cn(c,!0)}(a,!0===b),b7(arguments))}init(a){return this._runTask(function(a=!1,b,c){let d=["init",...c];return a&&!d.includes(Y)&&d.splice(1,0,Y),{commands:d,format:"utf-8",parser:a=>(function(a,b,c){let d,e=String(c).trim();if(d=W.exec(e))return new V(a,b,!1,d[1]);if(d=X.exec(e))return new V(a,b,!0,d[1]);let f="",g=e.split(" ");for(;g.length;)if("in"===g.shift()){f=g.join(" ");break}return new V(a,b,/^re/i.test(e),f)})(d.includes("--bare"),b,a)}}(!0===a,this._executor.cwd,b5(arguments)),b7(arguments))}merge(){return this._runTask(dr(b5(arguments)),b7(arguments))}mergeFromTo(a,b){return l(a)&&l(b)?this._runTask(dr([a,b,...b5(arguments)]),b7(arguments,!1)):this._runTask(cm("Git.mergeFromTo requires that the 'remote' and 'branch' arguments are supplied as strings"))}outputHandler(a){return this._executor.outputHandler=a,this}push(){let a=dw({remote:bV(arguments[0],l),branch:bV(arguments[1],l)},b5(arguments));return this._runTask(a,b7(arguments))}stash(){return this._runTask(cn(["stash",...b5(arguments)]),b7(arguments))}status(){var a;return this._runTask((a=b5(arguments),{format:"utf-8",commands:["status","--porcelain","-b","-u","--null",...a.filter(a=>!aF.includes(a))],parser:a=>aE(a)}),b7(arguments))}}).prototype,{checkout(){return this._runTask(cV(b5(arguments,1)),b7(arguments))},checkoutBranch(a,b){return this._runTask(cV(["-b",a,b,...b5(arguments)]),b7(arguments))},checkoutLocalBranch(a){return this._runTask(cV(["-b",a,...b5(arguments)]),b7(arguments))}},{clone(a,...b){return this._runTask(dI("clone",aI,bV(a,l),...b),b7(arguments))},mirror(a,...b){return this._runTask(dI("mirror",aJ,bV(a,l),...b),b7(arguments))}},{commit(a,...b){var c,d,e;let f=b7(arguments),g=!m(a)&&cm("git.commit: requires the commit message to be supplied as a string/string[]")||(c=bL(a),d=bL(bV(b[0],m,[])),e=[...bN(bV(b[1],j,[])),...b5(arguments,0,!0)],{commands:["-c","core.abbrev=40","commit",...bP(c,"-m"),...d,...e],format:"utf-8",parser:cY});return this._runTask(g,f)}},{addConfig(a,b,...c){return this._runTask(function(a,b,c,d){let e=["config",`--${d}`];return c&&e.push("--add"),e.push(a,b),{commands:e,format:"utf-8",parser:a=>a}}(a,b,!0===c[0],cA(c[1],"local")),b7(arguments))},getConfig(a,b){return this._runTask(function(a,b){let c=["config","--null","--show-origin","--get-all",a];return b&&c.splice(1,0,`--${b}`),{commands:c,format:"utf-8",parser:b=>(function(a,b){let c=null,d=[],e=new Map;for(let f of cy(a,b))f.key===b&&(d.push(c=f.value),e.has(f.file)||e.set(f.file,[]),e.get(f.file).push(c));return{key:b,paths:Array.from(e.keys()),scopes:e,value:c,values:d}})(b,a)}}(a,cA(b,void 0)),b7(arguments))},listConfig(...a){return this._runTask(function(a){let b=["config","--list","--show-origin","--null"];return a&&b.push(`--${a}`),{commands:b,format:"utf-8",parser:a=>(function(a){let b=new G;for(let c of cy(a))b.addValue(c.file,String(c.key),c.value);return b})(a)}}(cA(a[0],void 0)),b7(arguments))}},{countObjects(){return this._runTask({commands:["count-objects","--verbose"],format:"utf-8",parser:a=>ca({count:0,garbage:0,inPack:0,packs:0,prunePackable:0,size:0,sizeGarbage:0,sizePack:0},[T],a)})}},{firstCommit(){return this._runTask(cn(["rev-list","--max-parents=0","HEAD"],!0),b7(arguments))}},{grep(a){let b=b7(arguments),c=b5(arguments);for(let a of K)if(c.includes(a))return this._runTask(cm(`git.grep: use of "${a}" is not supported.`),b);"string"==typeof a&&(a=(function(...a){return new N().param(...a)})().param(a));let d=["grep","--null","-n","--full-name",...c,...a];return this._runTask({commands:d,format:"utf-8",parser:a=>(function(a){let b=new Set,c={};return bG(a,a=>{let[d,e,f]=a.split(g);b.add(d),(c[d]=c[d]||[]).push({line:bO(e),path:d,preview:f})}),{paths:b,results:c}})(a)},b)}},{log(...a){var b;let c=b7(arguments),d=df(b6(arguments),bN(bV(arguments[0],j,[]))),e=function(a,b){return l(a)&&l(b)&&cm("git.log(string, string) should be replaced with git.log({ from: string, to: string })")}(...a)||dd(d.commands)||function(a,b,c){let d=c9(a,b,c3(c));return{commands:["log",...c],format:"utf-8",parser:d}}((b=d).splitter,b.fields,b.commands);return this._runTask(e,c)}},{showBuffer(){let a=["show",...b5(arguments,1)];return a.includes("--binary")||a.splice(1,0,"--binary"),this._runTask(co(a),b7(arguments))},show(){let a=["show",...b5(arguments,1)];return this._runTask(cn(a),b7(arguments))}},{version(){return this._runTask({commands:["--version"],format:"utf-8",parser:dG,onError(a,b,c,d){if(-2===a.exitCode)return c(Buffer.from(aG));d(b)}})}})}}),dM={};bv(dM,{Scheduler:()=>aL});var dN=bu({"src/lib/runners/scheduler.ts"(){let a;cd(),cL(),a=0,aL=class{constructor(a=2){this.concurrency=a,this.logger=cK("","scheduler"),this.pending=[],this.running=[],this.logger("Constructed, concurrency=%s",a)}schedule(){if(!this.pending.length||this.running.length>=this.concurrency)return void this.logger("Schedule attempt ignored, pending=%s running=%s concurrency=%s",this.pending.length,this.running.length,this.concurrency);let a=bI(this.running,this.pending.shift());this.logger("Attempting id=%s",a.id),a.done(()=>{this.logger("Completing id=",a.id),bK(this.running,a),this.schedule()})}next(){let{promise:b,id:c}=bI(this.pending,(()=>{a++;let{promise:b,done:c}=(0,a3.ud)();return{promise:b,done:c,id:a}})());return this.logger("Scheduling id=%s",c),this.schedule(),b}}}}),dO={};function dP(a,b){return cn(["apply",...b,...a])}bv(dO,{applyPatchTask:()=>dP});var dQ=bu({"src/lib/tasks/apply-patch.ts"(){cr()}}),dR=bu({"src/lib/responses/BranchDeleteSummary.ts"(){aM=class{constructor(){this.all=[],this.branches={},this.errors=[]}get success(){return!this.errors.length}}}});function dS(a,b){return 1===b&&aN.test(a)}var dT=bu({"src/lib/parsers/parse-branch-delete.ts"(){dR(),cd(),aN=/^error[^']+'([^']+)'/m,aO=[new q(/(\S+)\s+\(\S+\s([^)]+)\)/,(a,[b,c])=>{let d={branch:b,hash:c,success:!0};a.all.push(d),a.branches[b]=d}),new q(aN,(a,[b])=>{let c={branch:b,hash:null,success:!1};a.errors.push(c),a.all.push(c),a.branches[b]=c})],aP=(a,b)=>ca(new aM,aO,[a,b])}}),dU=bu({"src/lib/responses/BranchSummary.ts"(){aQ=class{constructor(){this.all=[],this.branches={},this.current="",this.detached=!1}push(a,b,c,d,e){"*"===a&&(this.detached=b,this.current=c),this.all.push(c),this.branches[c]={current:"*"===a,linkedWorkTree:"+"===a,name:c,commit:d,label:e}}}}});function dV(a){return a?a.charAt(0):""}function dW(a,b=!1){return ca(new aQ,b?[aS]:aR,a)}var dX=bu({"src/lib/parsers/parse-branch.ts"(){dU(),cd(),aR=[new q(/^([*+]\s)?\((?:HEAD )?detached (?:from|at) (\S+)\)\s+([a-z0-9]+)\s(.*)$/,(a,[b,c,d,e])=>{a.push(dV(b),!0,c,d,e)}),new q(/^([*+]\s)?(\S+)\s+([a-z0-9]+)\s?(.*)$/s,(a,[b,c,d,e])=>{a.push(dV(b),!1,c,d,e)})],aS=new q(/^(\S+)$/s,(a,[b])=>{a.push("*",!1,b,"","")})}}),dY={};function dZ(a){let b=["-d","-D","--delete"];return a.some(a=>b.includes(a))}function d$(a){let b=dZ(a),c=a.includes("--show-current"),d=["branch",...a];return 1===d.length&&d.push("-a"),d.includes("-v")||d.splice(1,0,"-v"),{format:"utf-8",commands:d,parser:(a,d)=>b?aP(a,d).all[0]:dW(a,c)}}function d_(){return{format:"utf-8",commands:["branch","-v"],parser:a=>dW(a)}}function d0(a,b=!1){return{format:"utf-8",commands:["branch","-v",b?"-D":"-d",...a],parser:(a,b)=>aP(a,b),onError({exitCode:a,stdOut:b},c,d,e){if(!dS(String(c),a))return e(c);d(b)}}}function d1(a,b=!1){let c={format:"utf-8",commands:["branch","-v",b?"-D":"-d",a],parser:(b,c)=>aP(b,c).branches[a],onError({exitCode:a,stdErr:b,stdOut:d},f,g,h){if(!dS(String(f),a))return h(f);throw new e(c.parser(bQ(d),bQ(b)),String(f))}};return c}bv(dY,{branchLocalTask:()=>d_,branchTask:()=>d$,containsDeleteBranchCommand:()=>dZ,deleteBranchTask:()=>d1,deleteBranchesTask:()=>d0});var d2=bu({"src/lib/tasks/branch.ts"(){by(),dT(),dX(),cd()}});function d3(a){let b=a.trim().replace(/^["']|["']$/g,"");return b&&(0,a4.normalize)(b)}var d4=bu({"src/lib/responses/CheckIgnore.ts"(){aT=a=>a.split(/\n/g).map(d3).filter(Boolean)}}),d5={};function d6(a){return{commands:["check-ignore",...a],format:"utf-8",parser:aT}}bv(d5,{checkIgnoreTask:()=>d6});var d7=bu({"src/lib/tasks/check-ignore.ts"(){d4()}});function d8(a,b){return ca({raw:a,remote:null,branches:[],tags:[],updated:[],deleted:[]},aU,[a,b])}var d9=bu({"src/lib/parsers/parse-fetch.ts"(){cd(),aU=[new q(/From (.+)$/,(a,[b])=>{a.remote=b}),new q(/\* \[new branch]\s+(\S+)\s*-> (.+)$/,(a,[b,c])=>{a.branches.push({name:b,tracking:c})}),new q(/\* \[new tag]\s+(\S+)\s*-> (.+)$/,(a,[b,c])=>{a.tags.push({name:b,tracking:c})}),new q(/- \[deleted]\s+\S+\s*-> (.+)$/,(a,[b])=>{a.deleted.push({tracking:b})}),new q(/\s*([^.]+)\.\.(\S+)\s+(\S+)\s*-> (.+)$/,(a,[b,c,d,e])=>{a.updated.push({name:d,tracking:e,to:c,from:b})})]}}),ea={};function eb(a){return/^--upload-pack(=|$)/.test(a)}function ec(a,b,c){let d=["fetch",...c];return(a&&b&&d.push(a,b),d.find(eb))?cm("git.fetch: potential exploit argument blocked."):{commands:d,format:"utf-8",parser:d8}}bv(ea,{fetchTask:()=>ec});var ed=bu({"src/lib/tasks/fetch.ts"(){d9(),cr()}});function ee(a){return ca({moves:[]},aV,a)}var ef=bu({"src/lib/parsers/parse-move.ts"(){cd(),aV=[new q(/^Renaming (.+) to (.+)$/,(a,[b,c])=>{a.moves.push({from:b,to:c})})]}}),eg={};function eh(a,b){return{commands:["mv","-v",...bL(a),b],format:"utf-8",parser:ee}}bv(eg,{moveTask:()=>eh});var ei=bu({"src/lib/tasks/move.ts"(){ef(),cd()}}),ej={};function ek(a,b,c){let d=["pull",...c];return a&&b&&d.splice(1,0,a,b),{commands:d,format:"utf-8",parser:(a,b)=>at(a,b),onError(a,b,c,d){let f=function(a,b){let c=ca(new al,as,[a,b]);return c.message&&c}(bQ(a.stdOut),bQ(a.stdErr));if(f)return d(new e(f));d(b)}}}bv(ej,{pullTask:()=>ek});var el=bu({"src/lib/tasks/pull.ts"(){by(),dp(),cd()}});function em(a){let b={};return eo(a,([a])=>b[a]={name:a}),Object.values(b)}function en(a){let b={};return eo(a,([a,c,d])=>{Object.hasOwn(b,a)||(b[a]={name:a,refs:{fetch:"",push:""}}),d&&c&&(b[a].refs[d.replace(/[^a-z]/g,"")]=c)}),Object.values(b)}function eo(a,b){bG(a,a=>b(a.split(/\s+/)))}var ep=bu({"src/lib/responses/GetRemoteSummary.ts"(){cd()}}),eq={};function er(a,b,c){return cn(["remote","add",...c,a,b])}function es(a){let b=["remote"];return a&&b.push("-v"),{commands:b,format:"utf-8",parser:a?en:em}}function et(a){let b=[...a];return"ls-remote"!==b[0]&&b.unshift("ls-remote"),cn(b)}function eu(a){let b=[...a];return"remote"!==b[0]&&b.unshift("remote"),cn(b)}function ev(a){return cn(["remote","remove",a])}bv(eq,{addRemoteTask:()=>er,getRemotesTask:()=>es,listRemotesTask:()=>et,remoteTask:()=>eu,removeRemoteTask:()=>ev});var ew=bu({"src/lib/tasks/remote.ts"(){ep(),cr()}}),ex={};function ey(a={},b){let c=df(a),d=["stash","list",...c.commands,...b],e=c9(c.splitter,c.fields,c3(d));return dd(d)||{commands:d,format:"utf-8",parser:e}}bv(ex,{stashListTask:()=>ey});var ez=bu({"src/lib/tasks/stash-list.ts"(){c5(),da(),de(),dg()}}),eA={};function eB(a,b){return eD(["add",a,b])}function eC(a){return eD(["init",...a])}function eD(a){let b=[...a];return"submodule"!==b[0]&&b.unshift("submodule"),cn(b)}function eE(a){return eD(["update",...a])}bv(eA,{addSubModuleTask:()=>eB,initSubModuleTask:()=>eC,subModuleTask:()=>eD,updateSubModuleTask:()=>eE});var eF=bu({"src/lib/tasks/sub-module.ts"(){cr()}});function eG(a,b){return a===b?0:a>b?1:-1}function eH(a){return a.trim()}function eI(a){return"string"==typeof a&&parseInt(a.replace(/^\D+/g,""),10)||0}var eJ=bu({"src/lib/responses/TagList.ts"(){aW=class{constructor(a,b){this.all=a,this.latest=b}},aX=function(a,b=!1){let c=a.split("\n").map(eH).filter(Boolean);b||c.sort(function(a,b){let c=a.split("."),d=b.split(".");if(1===c.length||1===d.length)return function(a,b){let c=Number.isNaN(a);return c!==Number.isNaN(b)?c?1:-1:c?eG(a,b):0}(eI(c[0]),eI(d[0]));for(let a=0,b=Math.max(c.length,d.length);a<b;a++){let b=eG(eI(c[a]),eI(d[a]));if(b)return b}return 0});let d=b?c[0]:[...c].reverse().find(a=>a.indexOf(".")>=0);return new aW(c,d)}}}),eK={};function eL(a=[]){let b=a.some(a=>/^--sort=/.test(a));return{format:"utf-8",commands:["tag","-l",...a],parser:a=>aX(a,b)}}function eM(a){return{format:"utf-8",commands:["tag",a],parser:()=>({name:a})}}function eN(a,b){return{format:"utf-8",commands:["tag","-a","-m",b,a],parser:()=>({name:a})}}bv(eK,{addAnnotatedTagTask:()=>eN,addTagTask:()=>eM,tagListTask:()=>eL});var eO=bu({"src/lib/tasks/tag.ts"(){eJ()}}),eP=((a,b)=>function(){return b||(0,a[bs(a)[0]])((b={exports:{}}).exports,b),b.exports})({"src/git.js"(a,b){var{GitExecutor:c}=(cR(),bw(cQ)),{SimpleGitApi:d}=(dL(),bw(dK)),{Scheduler:e}=(dN(),bw(dM)),{adhocExecTask:f,configurationErrorTask:g}=(cr(),bw(ck)),{asArray:h,filterArray:i,filterPrimitives:j,filterString:k,filterStringOrStringArray:l,filterType:m,getTrailingOptions:n,trailingFunctionArgument:o,trailingOptionsArgument:p}=(cd(),bw(cc)),{applyPatchTask:q}=(dQ(),bw(dO)),{branchTask:r,branchLocalTask:s,deleteBranchesTask:t,deleteBranchTask:u}=(d2(),bw(dY)),{checkIgnoreTask:v}=(d7(),bw(d5)),{checkIsRepoTask:w}=(ci(),bw(ce)),{cleanWithOptionsTask:x,isCleanOptionsArray:y}=(cx(),bw(cs)),{diffSummaryTask:z}=(de(),bw(db)),{fetchTask:A}=(ed(),bw(ea)),{moveTask:B}=(ei(),bw(eg)),{pullTask:C}=(el(),bw(ej)),{pushTagsTask:D}=(dx(),bw(du)),{addRemoteTask:E,getRemotesTask:F,listRemotesTask:G,remoteTask:H,removeRemoteTask:I}=(ew(),bw(eq)),{getResetMode:J,resetTask:K}=(cI(),bw(cE)),{stashListTask:L}=(ez(),bw(ex)),{addSubModuleTask:M,initSubModuleTask:N,subModuleTask:O,updateSubModuleTask:P}=(eF(),bw(eA)),{addAnnotatedTagTask:Q,addTagTask:R,tagListTask:S}=(eO(),bw(eK)),{straightThroughBufferTask:T,straightThroughStringTask:U}=(cr(),bw(ck));function V(a,b){this._plugins=b,this._executor=new c(a.baseDir,new e(a.maxConcurrentProcesses),b),this._trimmed=a.trimmed}(V.prototype=Object.create(d.prototype)).constructor=V,V.prototype.customBinary=function(a){return this._plugins.reconfigure("binary",a),this},V.prototype.env=function(a,b){return 1==arguments.length&&"object"==typeof a?this._executor.env=a:(this._executor.env=this._executor.env||{})[a]=b,this},V.prototype.stashList=function(a){return this._runTask(L(p(arguments)||{},i(a)&&a||[]),o(arguments))},V.prototype.mv=function(a,b){return this._runTask(B(a,b),o(arguments))},V.prototype.checkoutLatestTag=function(a){var b=this;return this.pull(function(){b.tags(function(c,d){b.checkout(d.latest,a)})})},V.prototype.pull=function(a,b,c,d){return this._runTask(C(m(a,k),m(b,k),n(arguments)),o(arguments))},V.prototype.fetch=function(a,b){return this._runTask(A(m(a,k),m(b,k),n(arguments)),o(arguments))},V.prototype.silent=function(a){return this._runTask(f(()=>console.warn("simple-git deprecation notice: git.silent: logging should be configured using the `debug` library / `DEBUG` environment variable, this method will be removed.")))},V.prototype.tags=function(a,b){return this._runTask(S(n(arguments)),o(arguments))},V.prototype.rebase=function(){return this._runTask(U(["rebase",...n(arguments)]),o(arguments))},V.prototype.reset=function(a){return this._runTask(K(J(a),n(arguments)),o(arguments))},V.prototype.revert=function(a){let b=o(arguments);return"string"!=typeof a?this._runTask(g("Commit must be a string"),b):this._runTask(U(["revert",...n(arguments,0,!0),a]),b)},V.prototype.addTag=function(a){let b="string"==typeof a?R(a):g("Git.addTag requires a tag name");return this._runTask(b,o(arguments))},V.prototype.addAnnotatedTag=function(a,b){return this._runTask(Q(a,b),o(arguments))},V.prototype.deleteLocalBranch=function(a,b,c){return this._runTask(u(a,"boolean"==typeof b&&b),o(arguments))},V.prototype.deleteLocalBranches=function(a,b,c){return this._runTask(t(a,"boolean"==typeof b&&b),o(arguments))},V.prototype.branch=function(a,b){return this._runTask(r(n(arguments)),o(arguments))},V.prototype.branchLocal=function(a){return this._runTask(s(),o(arguments))},V.prototype.raw=function(a){let b=!Array.isArray(a),c=[].slice.call(b?arguments:a,0);for(let a=0;a<c.length&&b;a++)if(!j(c[a])){c.splice(a,c.length-a);break}c.push(...n(arguments,0,!0));var d=o(arguments);return c.length?this._runTask(U(c,this._trimmed),d):this._runTask(g("Raw: must supply one or more command to execute"),d)},V.prototype.submoduleAdd=function(a,b,c){return this._runTask(M(a,b),o(arguments))},V.prototype.submoduleUpdate=function(a,b){return this._runTask(P(n(arguments,!0)),o(arguments))},V.prototype.submoduleInit=function(a,b){return this._runTask(N(n(arguments,!0)),o(arguments))},V.prototype.subModule=function(a,b){return this._runTask(O(n(arguments)),o(arguments))},V.prototype.listRemote=function(){return this._runTask(G(n(arguments)),o(arguments))},V.prototype.addRemote=function(a,b,c){return this._runTask(E(a,b,n(arguments)),o(arguments))},V.prototype.removeRemote=function(a,b){return this._runTask(I(a),o(arguments))},V.prototype.getRemotes=function(a,b){return this._runTask(F(!0===a),o(arguments))},V.prototype.remote=function(a,b){return this._runTask(H(n(arguments)),o(arguments))},V.prototype.tag=function(a,b){let c=n(arguments);return"tag"!==c[0]&&c.unshift("tag"),this._runTask(U(c),o(arguments))},V.prototype.updateServerInfo=function(a){return this._runTask(U(["update-server-info"]),o(arguments))},V.prototype.pushTags=function(a,b){let c=D({remote:m(a,k)},n(arguments));return this._runTask(c,o(arguments))},V.prototype.rm=function(a){return this._runTask(U(["rm","-f",...h(a)]),o(arguments))},V.prototype.rmKeepLocal=function(a){return this._runTask(U(["rm","--cached",...h(a)]),o(arguments))},V.prototype.catFile=function(a,b){return this._catFile("utf-8",arguments)},V.prototype.binaryCatFile=function(){return this._catFile("buffer",arguments)},V.prototype._catFile=function(a,b){var c=o(b),d=["cat-file"],e=b[0];if("string"==typeof e)return this._runTask(g("Git.catFile: options must be supplied as an array of strings"),c);Array.isArray(e)&&d.push.apply(d,e);let f="buffer"===a?T(d):U(d);return this._runTask(f,c)},V.prototype.diff=function(a,b){let c=k(a)?g("git.diff: supplying options as a single string is no longer supported, switch to an array of strings"):U(["diff",...n(arguments)]);return this._runTask(c,o(arguments))},V.prototype.diffSummary=function(){return this._runTask(z(n(arguments,1)),o(arguments))},V.prototype.applyPatch=function(a){let b=l(a)?q(h(a),n([].slice.call(arguments,1))):g("git.applyPatch requires one or more string patches as the first argument");return this._runTask(b,o(arguments))},V.prototype.revparse=function(){let a=["rev-parse",...n(arguments,!0)];return this._runTask(U(a,!0),o(arguments))},V.prototype.clean=function(a,b,c){let d=y(a),e=d&&a.join("")||m(a,k)||"",f=n([].slice.call(arguments,+!!d));return this._runTask(x(e,f),o(arguments))},V.prototype.exec=function(a){return this._runTask({commands:[],format:"utf-8",parser(){"function"==typeof a&&a()}})},V.prototype.clearQueue=function(){return this._runTask(f(()=>console.warn("simple-git deprecation notice: clearQueue() is deprecated and will be removed, switch to using the abortPlugin instead.")))},V.prototype.checkIgnore=function(a,b){return this._runTask(v(h(m(a,l,[]))),o(arguments))},V.prototype.checkIsRepo=function(a,b){return this._runTask(w(m(a,k)),o(arguments))},b.exports=V}});bx();var eQ=class extends d{constructor(a,b){super(void 0,b),this.config=a}};bx(),bx();var eR=class extends d{constructor(a,b,c){super(a,c),this.task=a,this.plugin=b,Object.setPrototypeOf(this,new.target.prototype)}};by(),bz(),ci(),cx(),cB(),cC(),cD(),cI(),cd(),cd();var eS=(0,a3.yX)().promise;cd();var eT="Invalid value supplied for custom binary, restricted characters must be removed or supply the unsafe.allowUnsafeCustomBinary option";function eU(a){return!a||!/^([a-z]:)?([a-z0-9/.\\_~-]+)$/i.test(a)}function eV(a,b){if(a.length<1||a.length>2)throw new eR(void 0,"binary","Invalid value supplied for custom binary, requires a single string or an array containing either one or two strings");if(a.some(eU))if(b)console.warn(eT);else throw new eR(void 0,"binary",eT);let[c,d]=a;return{binary:c,prefix:d}}function eW(a){return{type:"task.error",action(b,c){let e=a(b.error,{stdErr:c.stdErr,stdOut:c.stdOut,exitCode:c.exitCode});return Buffer.isBuffer(e)?{error:new d(void 0,e.toString("utf-8"))}:{error:e}}}}bx(),cd();var eX=class{constructor(){this.plugins=new Set,this.events=new bp.EventEmitter}on(a,b){this.events.on(a,b)}reconfigure(a,b){this.events.emit(a,b)}append(a,b){let c=bI(this.plugins,{type:a,action:b});return()=>this.plugins.delete(c)}add(a){let b=[];return bL(a).forEach(a=>a&&this.plugins.add(bI(b,a))),()=>{b.forEach(a=>this.plugins.delete(a))}}exec(a,b,c){let d=b,e=Object.freeze(Object.create(c));for(let b of this.plugins)b.type===a&&(d=b.action(d,e));return d}};cd(),cd(),cd();var eY=eP();by();var eZ=function(a,b){let c=new eX,d=b2(a&&("string"==typeof a?{baseDir:a}:a)||{},b);if(!bH(d.baseDir))throw new eQ(d,"Cannot use simple-git on a directory that does not exist");return Array.isArray(d.config)&&c.add(function(a){let b=bP(a,"-c");return{type:"spawn.args",action:a=>[...b,...a]}}(d.config)),c.add(function(a={}){return{type:"spawn.args",action(b,{env:c}){for(let d of[...function(...a){var b;let{flags:c,taskIndex:d}=function(a,b=[]){let c=0;for(;c<a.length;){let d=String(a[c]);if(!d.startsWith("-")||d.length<2)break;let e=bf(d),f=c+1;for(let c of e){let d={name:c.name,value:c.value,absorbedNext:!1,isGlobal:!0};c.needsNext&&void 0===d.value&&f<a.length&&(d.value=String(a[f]),d.absorbedNext=!0,f++),b.push(d)}c=f}return{flags:b,taskIndex:c}}(a),e=d<a.length?String(a[d]).toLowerCase():null,{positionals:f,pathspecs:g}=function(a,b,c=[]){let d=function(a){let b=bd[a??""]??be;return{short:new Map([...bb.short.entries(),...b.short.entries()]),long:b.long}}(b),e=[],f=[],g=0;for(;g<a.length;){let b=a[g];if(a_(b)){f.push(...a0(b)),g++;continue}let h=String(b);if("--"===h){for(let b=g+1;b<a.length;b++){let c=a[b];a_(c)?f.push(...a0(c)):f.push(String(c))}break}if(!h.startsWith("-")||h.length<2){e.push(h),g++;continue}let i=bf(h,d),j=g+1;for(let b of i){let d={name:b.name,value:b.value,absorbedNext:!1,isGlobal:!1};b.needsNext&&void 0===d.value&&j<a.length&&!a_(a[j])&&(d.value=String(a[j]),d.absorbedNext=!0,j++),c.push(d)}g=j}return{flags:c,positionals:e,pathspecs:f}}(null!==e?a.slice(d+1):[],e,c),h=function(a,b,c){let d={read:[],write:[...function*(a){for(let b of a){let a=function({name:a}){return"-c"===a||"--config"===a?"inline":"--config-env"===a?"env":void 0}(b),c=a&&function(a){let b=a?.indexOf("=")||-1;return!a||b<0?null:{key:a.slice(0,b).trim().toLowerCase(),value:a.slice(b+1)}}(b.value);c&&(yield{...c,scope:a})}}(b)]};return"config"===a&&function(a,b,c){if(null===c)return;let d=c.isWrite&&void 0!==c.value?{key:c.key,value:c.value,scope:b}:{key:c.key,scope:b};c.isWrite?a.write.push(d):a.read.push(d)}(d,function(a){for(let{name:b}of a5(a,"task"))switch(b){case"--global":return"global";case"--system":return"system";case"--worktree":return"worktree";case"--local":return"local";case"--file":case"-f":return"file"}return"local"}(b),function(a,b){for(let{name:c}of a5(a,"task")){if(a6.has(c))return ba(!0,b);if(a7.has(c))return ba(!1,b)}let c=b.at(0)?.toLowerCase();return void 0===c?null:a8.has(c)?ba(!0,b.slice(1)):a9.has(c)?ba(!1,b.slice(1)):1===b.length?ba(!1,b):ba(!0,b)}(b,c)),d}(e,c,f);return{task:e,flags:c.map(bm),paths:g,config:h,vulnerabilities:Object.defineProperty(b=bl(e,c,h),"vulnerabilities",{value:b})}}(...b).vulnerabilities,...function(a){let b=function(a){let b={};for(let[c,d]of Object.entries(a)){let a=c.toLowerCase().trim();(bo(a)||a.startsWith("git"))&&(b[a]=String(d))}return b}(a),c={read:[],write:[...function*(a){let b=parseInt(a.git_config_count??"0",10);for(let c=0;c<b;c++){let b=a[`git_config_key_${c}`],d=a[`git_config_value_${c}`];void 0!==b&&(yield{key:b.toLowerCase().trim(),value:d,scope:"env"})}}(b)]},d=[...function*(a){for(let b of Object.keys(a))if(bo(b)){let a=bn[b];yield{category:a,message:`Use of "${b.toUpperCase()}" is not permitted without enabling ${a}`}}}(b),...bl(null,[],c)];return{config:c,vulnerabilities:d}}(c).vulnerabilities])if(!0!==a[d.category])throw new eR(void 0,"unsafe",d.message);return b}}}(d.unsafe)),c.add(function({onClose:a=!0,onExit:b=50}={}){function c(a,b,c){!1!==a&&(!0===a?b.promise:b.promise.then(()=>bS(a))).then(c.done)}return{type:"spawn.after",async action(d,{spawned:e,close:f}){let g=function(){let d=-1,e={close:(0,a3.yX)(),closeTimeout:(0,a3.yX)(),exit:(0,a3.yX)(),exitTimeout:(0,a3.yX)()},f=Promise.race([!1===a?eS:e.closeTimeout.promise,!1===b?eS:e.exitTimeout.promise]);return c(a,e.close,e.closeTimeout),c(b,e.exit,e.exitTimeout),{close(a){d=a,e.close.done()},exit(a){d=a,e.exit.done()},get exitCode(){return d},result:f}}(),h=!0,i=()=>void(h=!1);e.stdout?.on("data",i),e.stderr?.on("data",i),e.on("error",i),e.on("close",a=>g.close(a)),e.on("exit",a=>g.exit(a));try{await g.result,h&&await bS(50),f(g.exitCode)}catch(a){f(g.exitCode,a)}}}}(d.completion)),d.abort&&c.add(function(a){if(a)return[{type:"spawn.before",action(b,c){a.aborted&&c.kill(new eR(void 0,"abort","Abort already signaled"))}},{type:"spawn.after",action(b,c){function d(){c.kill(new eR(void 0,"abort","Abort signal received"))}a.addEventListener("abort",d),c.spawned.on("close",()=>a.removeEventListener("abort",d))}}]}(d.abort)),d.progress&&c.add(function(a){let b="--progress",c=["checkout","clone","fetch","pull","push"];return[{type:"spawn.args",action:(a,d)=>c.includes(d.method)?bJ(a,b):a},{type:"spawn.after",action(c,d){d.commands.includes(b)&&d.spawned.stderr?.on("data",b=>{let c=/^([\s\S]+?):\s*(\d+)% \((\d+)\/(\d+)\)/.exec(b.toString("utf8"));c&&a({method:d.method,stage:String(c[1].toLowerCase().split(" ",1))||"unknown",progress:bO(c[2]),processed:bO(c[3]),total:bO(c[4])})})}}]}(d.progress)),d.timeout&&c.add(function({block:a,stdErr:b=!0,stdOut:c=!0}){if(a>0)return{type:"spawn.after",action(d,e){let f;function g(){f&&clearTimeout(f),f=setTimeout(i,a)}function h(){e.spawned.stdout?.off("data",g),e.spawned.stderr?.off("data",g),e.spawned.off("exit",h),e.spawned.off("close",h),f&&clearTimeout(f)}function i(){h(),e.kill(new eR(void 0,"timeout","block timeout reached"))}c&&e.spawned.stdout?.on("data",g),b&&e.spawned.stderr?.on("data",g),e.spawned.on("exit",h),e.spawned.on("close",h),g()}}}(d.timeout)),d.spawnOptions&&c.add(function(a){let b=bR(a,["uid","gid"]);return{type:"spawn.options",action:a=>({...b,...a})}}(d.spawnOptions)),c.add({type:"spawn.args",action(a){let b,c=[];function d(a){(b=b||[]).push(...a)}for(let b=0;b<a.length;b++){let e=a[b];if(a_(e)){d(a0(e));continue}if("--"===e){d(a.slice(b+1).flatMap(a=>a_(a)&&a0(a)||a));break}c.push(e)}return b?[...c,"--",...b.map(String)]:c}}),c.add(eW(function(a=!1,b=function(a){return!!(a.exitCode&&a.stdErr.length)},c=function(a){return Buffer.concat([...a.stdOut,...a.stdErr])}){return(d,e)=>(a||!d)&&b(e)?c(e):d}(!0))),d.errors&&c.add(eW(d.errors)),!function(a,b=["git"],c=!1){let d=eV(bL(b),c);a.on("binary",a=>{d=eV(bL(a),c)}),a.append("spawn.binary",()=>d.binary),a.append("spawn.args",a=>d.prefix?[d.prefix,...a]:a)}(c,d.binary,d.unsafe?.allowUnsafeCustomBinary),new eY(d,c)}},49722:(a,b)=>{function c(){let a,b,c="pending";return{promise:new Promise((c,d)=>{a=c,b=d}),done(b){"pending"===c&&(c="resolved",a(b))},fail(a){"pending"===c&&(c="rejected",b(a))},get fulfilled(){return"pending"!==c},get status(){return c}}}b.ud=b.yX=void 0,b.yX=c,b.ud=c},80512:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),function(a){for(var c in a)b.hasOwnProperty(c)||(b[c]=a[c])}(c(7681))}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=4436,exports.ids=[4436],exports.modules={94436:(a,b,c)=>{c.d(b,{internalListResourceTemplates:()=>k,internalListResources:()=>j,internalReadResource:()=>l});var d=c(18230),e=c(22861),f=c(71966),g=c(96249),h=c(92018);let i=(0,d.h)("backend/services/mcp/internalResources");async function j(){try{return{resources:(await (0,f.yP)(200)).map(a=>({uri:a.uri,name:a.name??`${a.kind}-${a.id.slice(0,8)}`,mimeType:a.mimeType,description:function(a){let b=a.producedBy;switch(b.source){case"tool-result":return`Tool result of ${b.server??"?"}/${b.toolName??"?"}${b.nodeId?` (node ${b.nodeId})`:""}`;case"capture":return`Captured output of node ${b.nodeName??b.nodeId??"?"}`;case"mcp-link":return`Resource link from ${b.server??"?"}/${b.toolName??"?"}`;default:return"Run resource"}}(a),size:a.size}))}}catch(a){return i.error("internalListResources failed",a),{resources:[],error:a instanceof Error?a.message:String(a)}}}function k(){return{resourceTemplates:[{uriTemplate:`${e.j}{conversationId}/{resourceId}`,name:"Run-scoped resource",description:"A data artifact captured during a flow run (tool result, node output). List concrete URIs via resources/list."}]}}async function l(a){let b=(0,f.Ns)(a);if(!b)return{success:!1,error:`Not a run-resource URI: ${a}`,statusCode:400};try{let c=await (0,f.gy)(a,{at:Date.now(),source:"mcp-read"});if(!c)return{success:!1,error:`Run resource not found: ${a}`,statusCode:404};try{g.$.emitterFor(b.conversationId)({type:"resource:read",server:h._,uri:a,name:c.entry.name,mimeType:c.entry.mimeType,size:c.entry.size,source:"mcp-read"})}catch{}return{success:!0,data:c.contents}}catch(b){return i.error(`internalReadResource failed for ${a}`,b),{success:!1,error:b instanceof Error?b.message:String(b),statusCode:500}}}}};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
exports.id=4456,exports.ids=[4456],exports.modules={37426:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"40ec842092ea232b6d4aa599a380d422184da5e1ca":()=>d.c,"602ea7ca289a8eaa1000fb321a71e292e6c766b6bb":()=>d.G});var d=c(73456)},51669:(a,b)=>{"use strict";function c(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
|
|
2
|
-
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(b,"D",{enumerable:!0,get:function(){return c}})},53119:(a,b,c)=>{"use strict";c.d(b,{x:()=>k,m:()=>l});let d=["https://registry.modelcontextprotocol.io/?q=ai.keenable%2Fweb-search","https://registry.modelcontextprotocol.io/v0.1/servers/io.github.mario-andreschak%2Fmcp-abap-adt/versions",{url:"https://registry.modelcontextprotocol.io/v0.1/servers/io.github.microsoft%2Fplaywright-mcp/versions",env:{PLAYWRIGHT_MCP_BROWSER:"msedge"}}];function e(a){return"string"==typeof a?{url:a}:a}var f=c(46480),g=c(92372),h=c(25250),i=c(8665);let j=(0,c(50846).h)("backend/services/spotlight");async function k(){return(0,g.YM)(f.Z.SPOTLIGHT_SERVERS,null)}function l(){return global.__flujo_spotlight_refresh||(global.__flujo_spotlight_refresh=m().finally(()=>{global.__flujo_spotlight_refresh=void 0})),global.__flujo_spotlight_refresh}async function m(){let a=d.map(e);j.info(`Refreshing spotlight servers (${a.length} entries)`);let b=[];for(let c of a){let{url:a,env:d}=c,e=(0,h.XQ)(a);if(!e){j.warn(`Unrecognized spotlight URL format: ${a}`),b.push({url:a,env:d,error:"Unrecognized spotlight URL format"});continue}try{let c=await (0,i.Ws)(new URL(i.jD+e),15e3),f=(0,h.zz)(c);f?b.push({url:a,env:d,result:f}):(j.warn(`Spotlight URL resolved to no server: ${a}`),b.push({url:a,env:d,error:"No matching server found in the registry"}))}catch(e){let c=e instanceof Error?e.message:"Unknown error";j.warn(`Failed to resolve spotlight URL ${a}: ${c}`),b.push({url:a,env:d,error:c})}await new Promise(a=>setTimeout(a,250))}let c={updatedAt:new Date().toISOString(),entries:b},l=await k();if(l){for(let a of c.entries)if(!a.result){let b=l.entries.find(b=>b.url===a.url&&b.result);b?.result&&(a.result=b.result)}}await (0,g.VH)(f.Z.SPOTLIGHT_SERVERS,c);let m=c.entries.filter(a=>a.result).length;return j.info(`Spotlight refresh complete: ${m}/${c.entries.length} entries resolved`),c}},68633:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{decryptActionBoundArgs:function(){return s},encryptActionBoundArgs:function(){return r}}),c(77925);let d=c(97954),e=c(27825),f=c(47686),g=c(77533),h=c(63033),i=c(26906),j=function(a){return a&&a.__esModule?a:{default:a}}(c(74515)),k=new TextEncoder,l=new TextDecoder,m=void 0,n=void 0;async function o(a,b){let c=await (0,g.getActionEncryptionKey)();if(void 0===c)throw Object.defineProperty(Error("Missing encryption key for Server Action. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E65",enumerable:!1,configurable:!0});let d=atob(b),e=d.slice(0,16),f=d.slice(16),h=l.decode(await (0,g.decrypt)(c,(0,g.stringToUint8Array)(e),(0,g.stringToUint8Array)(f)));if(!h.startsWith(a))throw Object.defineProperty(Error("Invalid Server Action payload: failed to decrypt."),"__NEXT_ERROR_CODE",{value:"E191",enumerable:!1,configurable:!0});return h.slice(a.length)}async function p(a,b){let c=await (0,g.getActionEncryptionKey)();if(void 0===c)throw Object.defineProperty(Error("Missing encryption key for Server Action. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E65",enumerable:!1,configurable:!0});let d=new Uint8Array(16);h.workUnitAsyncStorage.exit(()=>crypto.getRandomValues(d));let e=(0,g.arrayBufferToString)(d.buffer),f=await (0,g.encrypt)(c,d,k.encode(a+b));return btoa(e+(0,g.arrayBufferToString)(f))}var q=function(a){return a[a.Ready=0]="Ready",a[a.Pending=1]="Pending",a[a.Complete=2]="Complete",a}(q||{});let r=j.default.cache(async function a(b,...c){let e=h.workUnitAsyncStorage.getStore(),j=e?(0,h.getCacheSignal)(e):void 0,{clientModules:k}=(0,g.getClientReferenceManifestForRsc)(),l=Error();Error.captureStackTrace(l,a);let n=!1,o=e?(0,i.createHangingInputAbortSignal)(e):void 0,q=0;function r(){0===q&&(q=1,null==j||j.beginRead())}function s(){1===q&&(null==j||j.endRead()),q=2}o&&j&&o.addEventListener("abort",r,{once:!0});let t=await (0,f.streamToString)((0,d.renderToReadableStream)(c,k,{filterStackFrame:m,signal:o,onError(a){(null==o||!o.aborted)&&(n||(n=!0,l.message=a instanceof Error?a.message:String(a)))}}),o);if(n)throw s(),l;if(!e)return p(b,t);r();let u=(0,h.getPrerenderResumeDataCache)(e),v=(0,h.getRenderResumeDataCache)(e),w=b+t,x=(null==u?void 0:u.encryptedBoundArgs.get(w))??(null==v?void 0:v.encryptedBoundArgs.get(w));if(x)return x;let y=await p(b,t);return s(),null==u||u.encryptedBoundArgs.set(w,y),y});async function s(a,b){let c,d=await b,f=h.workUnitAsyncStorage.getStore();if(f){let b=(0,h.getCacheSignal)(f),e=(0,h.getPrerenderResumeDataCache)(f),g=(0,h.getRenderResumeDataCache)(f);(c=(null==e?void 0:e.decryptedBoundArgs.get(d))??(null==g?void 0:g.decryptedBoundArgs.get(d)))||(null==b||b.beginRead(),c=await o(a,d),null==b||b.endRead(),null==e||e.decryptedBoundArgs.set(d,c))}else c=await o(a,d);let{edgeRscModuleMapping:i,rscModuleMapping:j}=(0,g.getClientReferenceManifestForRsc)();return await (0,e.createFromReadableStream)(new ReadableStream({start(a){switch(a.enqueue(k.encode(c)),null==f?void 0:f.type){case"prerender":case"prerender-runtime":f.renderSignal.aborted?a.close():f.renderSignal.addEventListener("abort",()=>a.close(),{once:!0});break;case"prerender-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":case void 0:return a.close()}}}),{findSourceMapURL:n,serverConsumerManifest:{moduleLoading:null,moduleMap:j,serverModuleMap:(0,g.getServerModuleMap)()}})}},72937:(a,b,c)=>{"use strict";c.d(b,{H:()=>j,t:()=>m});var d=c(92372),e=c(
|
|
2
|
+
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(b,"D",{enumerable:!0,get:function(){return c}})},53119:(a,b,c)=>{"use strict";c.d(b,{x:()=>k,m:()=>l});let d=["https://registry.modelcontextprotocol.io/?q=ai.keenable%2Fweb-search","https://registry.modelcontextprotocol.io/v0.1/servers/io.github.mario-andreschak%2Fmcp-abap-adt/versions",{url:"https://registry.modelcontextprotocol.io/v0.1/servers/io.github.microsoft%2Fplaywright-mcp/versions",env:{PLAYWRIGHT_MCP_BROWSER:"msedge"}}];function e(a){return"string"==typeof a?{url:a}:a}var f=c(46480),g=c(92372),h=c(25250),i=c(8665);let j=(0,c(50846).h)("backend/services/spotlight");async function k(){return(0,g.YM)(f.Z.SPOTLIGHT_SERVERS,null)}function l(){return global.__flujo_spotlight_refresh||(global.__flujo_spotlight_refresh=m().finally(()=>{global.__flujo_spotlight_refresh=void 0})),global.__flujo_spotlight_refresh}async function m(){let a=d.map(e);j.info(`Refreshing spotlight servers (${a.length} entries)`);let b=[];for(let c of a){let{url:a,env:d}=c,e=(0,h.XQ)(a);if(!e){j.warn(`Unrecognized spotlight URL format: ${a}`),b.push({url:a,env:d,error:"Unrecognized spotlight URL format"});continue}try{let c=await (0,i.Ws)(new URL(i.jD+e),15e3),f=(0,h.zz)(c);f?b.push({url:a,env:d,result:f}):(j.warn(`Spotlight URL resolved to no server: ${a}`),b.push({url:a,env:d,error:"No matching server found in the registry"}))}catch(e){let c=e instanceof Error?e.message:"Unknown error";j.warn(`Failed to resolve spotlight URL ${a}: ${c}`),b.push({url:a,env:d,error:c})}await new Promise(a=>setTimeout(a,250))}let c={updatedAt:new Date().toISOString(),entries:b},l=await k();if(l){for(let a of c.entries)if(!a.result){let b=l.entries.find(b=>b.url===a.url&&b.result);b?.result&&(a.result=b.result)}}await (0,g.VH)(f.Z.SPOTLIGHT_SERVERS,c);let m=c.entries.filter(a=>a.result).length;return j.info(`Spotlight refresh complete: ${m}/${c.entries.length} entries resolved`),c}},68633:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{decryptActionBoundArgs:function(){return s},encryptActionBoundArgs:function(){return r}}),c(77925);let d=c(97954),e=c(27825),f=c(47686),g=c(77533),h=c(63033),i=c(26906),j=function(a){return a&&a.__esModule?a:{default:a}}(c(74515)),k=new TextEncoder,l=new TextDecoder,m=void 0,n=void 0;async function o(a,b){let c=await (0,g.getActionEncryptionKey)();if(void 0===c)throw Object.defineProperty(Error("Missing encryption key for Server Action. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E65",enumerable:!1,configurable:!0});let d=atob(b),e=d.slice(0,16),f=d.slice(16),h=l.decode(await (0,g.decrypt)(c,(0,g.stringToUint8Array)(e),(0,g.stringToUint8Array)(f)));if(!h.startsWith(a))throw Object.defineProperty(Error("Invalid Server Action payload: failed to decrypt."),"__NEXT_ERROR_CODE",{value:"E191",enumerable:!1,configurable:!0});return h.slice(a.length)}async function p(a,b){let c=await (0,g.getActionEncryptionKey)();if(void 0===c)throw Object.defineProperty(Error("Missing encryption key for Server Action. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E65",enumerable:!1,configurable:!0});let d=new Uint8Array(16);h.workUnitAsyncStorage.exit(()=>crypto.getRandomValues(d));let e=(0,g.arrayBufferToString)(d.buffer),f=await (0,g.encrypt)(c,d,k.encode(a+b));return btoa(e+(0,g.arrayBufferToString)(f))}var q=function(a){return a[a.Ready=0]="Ready",a[a.Pending=1]="Pending",a[a.Complete=2]="Complete",a}(q||{});let r=j.default.cache(async function a(b,...c){let e=h.workUnitAsyncStorage.getStore(),j=e?(0,h.getCacheSignal)(e):void 0,{clientModules:k}=(0,g.getClientReferenceManifestForRsc)(),l=Error();Error.captureStackTrace(l,a);let n=!1,o=e?(0,i.createHangingInputAbortSignal)(e):void 0,q=0;function r(){0===q&&(q=1,null==j||j.beginRead())}function s(){1===q&&(null==j||j.endRead()),q=2}o&&j&&o.addEventListener("abort",r,{once:!0});let t=await (0,f.streamToString)((0,d.renderToReadableStream)(c,k,{filterStackFrame:m,signal:o,onError(a){(null==o||!o.aborted)&&(n||(n=!0,l.message=a instanceof Error?a.message:String(a)))}}),o);if(n)throw s(),l;if(!e)return p(b,t);r();let u=(0,h.getPrerenderResumeDataCache)(e),v=(0,h.getRenderResumeDataCache)(e),w=b+t,x=(null==u?void 0:u.encryptedBoundArgs.get(w))??(null==v?void 0:v.encryptedBoundArgs.get(w));if(x)return x;let y=await p(b,t);return s(),null==u||u.encryptedBoundArgs.set(w,y),y});async function s(a,b){let c,d=await b,f=h.workUnitAsyncStorage.getStore();if(f){let b=(0,h.getCacheSignal)(f),e=(0,h.getPrerenderResumeDataCache)(f),g=(0,h.getRenderResumeDataCache)(f);(c=(null==e?void 0:e.decryptedBoundArgs.get(d))??(null==g?void 0:g.decryptedBoundArgs.get(d)))||(null==b||b.beginRead(),c=await o(a,d),null==b||b.endRead(),null==e||e.decryptedBoundArgs.set(d,c))}else c=await o(a,d);let{edgeRscModuleMapping:i,rscModuleMapping:j}=(0,g.getClientReferenceManifestForRsc)();return await (0,e.createFromReadableStream)(new ReadableStream({start(a){switch(a.enqueue(k.encode(c)),null==f?void 0:f.type){case"prerender":case"prerender-runtime":f.renderSignal.aborted?a.close():f.renderSignal.addEventListener("abort",()=>a.close(),{once:!0});break;case"prerender-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":case void 0:return a.close()}}}),{findSourceMapURL:n,serverConsumerManifest:{moduleLoading:null,moduleMap:j,serverModuleMap:(0,g.getServerModuleMap)()}})}},72937:(a,b,c)=>{"use strict";c.d(b,{H:()=>j,t:()=>m});var d=c(92372),e=c(1133),f=c(53119),g=c(94043),h=c(58739);let i=(0,c(50846).h)("backend/init");function j(){return global.__flujo_init_promise||(global.__flujo_init_promise=k().catch(a=>{throw global.__flujo_init_promise=void 0,a})),global.__flujo_init_promise}async function k(){if(await (0,d.Pv)(),(0,f.m)().catch(a=>i.warn("Spotlight refresh failed at startup:",a)),await (0,h.isEncryptionLocked)())return void i.info("Encryption locked — deferring MCP/scheduler startup until unlock");await l()}function l(){return global.__flujo_secret_services_promise||(global.__flujo_secret_services_promise=(async()=>{i.info("Initializing MCP servers"),await e.mcpService.startEnabledServers().catch(a=>{i.error("Failed to start enabled servers:",a)}),await (0,g.z)().start().catch(a=>i.error("Failed to start scheduler:",a))})()),global.__flujo_secret_services_promise}async function m(){await (0,h.isUserEncryptionEnabled)()&&(i.info("Encryption unlocked — starting deferred MCP/scheduler startup"),await l())}},73456:(a,b,c)=>{"use strict";c.d(b,{G:()=>l,c:()=>k});var d=c(75879);c(68633);var e=c(50846),f=c(92372),g=c(46480),h=c(58739),i=c(51669);let j=(0,e.h)("backend/utils/resolveGlobalVars");async function k(a){j.debug("Entering resolveGlobalVars method");let b=await (0,f.YM)(g.Z.GLOBAL_ENV_VARS,{}),c=function(a){if(!a||"object"!=typeof a)return!1;let b=Object.keys(a);if(0===b.length)return!0;let c=a[b[0]];return c&&"object"==typeof c&&"value"in c&&"metadata"in c&&"object"==typeof c.metadata&&"isSecret"in c.metadata}(b);j.debug(`Loaded ${Object.keys(b).length} global environment variables (${c?"new":"old"} format)`);let d={};if(c)for(let[a,c]of Object.entries(b))d[a]=c.value;else d={...b};let e=async a=>{let b=a.match(/\$\{global:([^}]+)\}/g);if(!b)return a;let c=a;for(let a of b){let b=a.substring(9,a.length-1);if(void 0!==d[b]){let e=d[b];if(e.startsWith("encrypted:")){j.debug(`Decrypting encrypted global variable: ${b}`);try{let a=e.substring(10),c=await (0,h.decryptWithPassword)(a);if(c)e=c,j.debug(`Successfully decrypted global variable: ${b}`);else{j.warn(`Failed to decrypt global variable: ${b}`);continue}}catch(a){j.error(`Error decrypting global variable: ${b}`,a);continue}}else if(e.startsWith("encrypted_failed:")){j.warn(`Skipping failed encrypted global variable: ${b}`);continue}j.debug(`Resolved global variable: ${b}`),c=c.replace(a,e)}else j.warn(`Global variable not found: ${b}`)}return c},i=async a=>{if("string"==typeof a)return await e(a);if(Array.isArray(a))return await Promise.all(a.map(a=>i(a)));if(null!==a&&"object"==typeof a){let b={};for(let[c,d]of Object.entries(a))b[c]=await i(d);return b}return a},k=await i(a);return"object"==typeof a&&null!==a&&j.debug("Resolved global variables result:",JSON.stringify(k,null,2)),j.debug("Completed global variable resolution"),k}async function l(a,b=0){if(j.debug(`Entering resolveAndDecryptApiKey method (depth: ${b})`),!a)return j.warn("Empty value provided"),null;if(b>=10)return j.warn(`Maximum resolution depth reached (10) for value: ${a}`),a;let c=a;if(c.startsWith("encrypted:")){j.debug(`Decrypting encrypted value at depth ${b}`);try{let a=c.substring(10),d=await (0,h.decryptWithPassword)(a);if(!d)return j.warn(`Failed to decrypt value at depth ${b}`),null;j.debug(`Successfully decrypted value at depth ${b}`),j.verbose(d),c=d}catch(a){return j.error(`Error decrypting value at depth ${b}:`,a),null}}else c.startsWith("encrypted_failed:")&&(j.warn(`Skipping failed encrypted value at depth ${b}`),c=c.substring(17));if(c.includes("${global:")){j.debug(`Resolving global variables at depth ${b}`);try{let a=await k(c);if(j.verbose(a),a!==c)return j.debug(`Value changed after resolving globals at depth ${b}, processing recursively`),l(a,b+1);c=a}catch(a){return j.error(`Error resolving global variables at depth ${b}:`,a),null}}return j.debug(`Completed resolveAndDecryptApiKey at depth ${b}`),c}(0,i.D)([k,l]),(0,d.A)(k,"40ec842092ea232b6d4aa599a380d422184da5e1ca",null),(0,d.A)(l,"602ea7ca289a8eaa1000fb321a71e292e6c766b6bb",null)},75879:(a,b,c)=>{"use strict";Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(97954)},78335:()=>{},96487:()=>{}};
|