flujo-ai 3.20.0 → 3.22.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 +312 -242
- package/.next/app-path-routes-manifest.json +19 -12
- package/.next/build-manifest.json +5 -5
- package/.next/prerender-manifest.json +39 -15
- package/.next/react-loadable-manifest.json +15 -13
- package/.next/routes-manifest.json +14 -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 +5 -3
- 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/bugs/enhance/route.js +14 -0
- package/.next/server/app/api/bugs/enhance/route.js.nft.json +1 -0
- package/.next/server/app/api/bugs/enhance/route_client-reference-manifest.js +1 -0
- 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 +6 -4
- 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/waves/route.js +1 -0
- package/.next/server/app/api/waves/route.js.nft.json +1 -0
- package/.next/server/app/api/waves/route_client-reference-manifest.js +1 -0
- 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 +10 -10
- package/.next/server/app/chat/page.js.nft.json +1 -1
- package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
- package/.next/server/app/chat.html +1 -1
- package/.next/server/app/chat.rsc +6 -4
- package/.next/server/app/docs/page.js +9 -4
- 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 +6 -4
- 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 +6 -4
- package/.next/server/app/flows/page.js +3 -3
- package/.next/server/app/flows/page.js.nft.json +1 -1
- package/.next/server/app/flows/page_client-reference-manifest.js +1 -1
- package/.next/server/app/flows.html +1 -1
- package/.next/server/app/flows.rsc +6 -4
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +6 -4
- 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 +6 -4
- package/.next/server/app/models/page.js +2 -2
- package/.next/server/app/models/page.js.nft.json +1 -1
- package/.next/server/app/models/page_client-reference-manifest.js +1 -1
- package/.next/server/app/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 +14 -4
- 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 +6 -4
- package/.next/server/app/v1/chat/completions/route.js +1 -1
- package/.next/server/app/v1/chat/completions/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/completions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js +2 -2
- package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js +2 -2
- package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js +2 -2
- package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js +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 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/route.js +2 -2
- package/.next/server/app/v1/chat/conversations/[conversationId]/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/route.js +2 -2
- package/.next/server/app/v1/chat/conversations/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/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/waves/page.js +4 -0
- package/.next/server/app/waves/page.js.nft.json +1 -0
- package/.next/server/app/waves/page_client-reference-manifest.js +1 -0
- package/.next/server/app/waves.html +1 -0
- package/.next/server/app/waves.meta +7 -0
- package/.next/server/app/waves.rsc +22 -0
- package/.next/server/app-paths-manifest.json +19 -12
- package/.next/server/chunks/1083.js +1 -1
- package/.next/server/chunks/1152.js +1 -1
- package/.next/server/chunks/1197.js +1 -1
- 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/1439.js +1 -0
- package/.next/server/chunks/1556.js +52 -0
- package/.next/server/chunks/1659.js +1 -0
- package/.next/server/chunks/1910.js +37 -0
- package/.next/server/chunks/{4949.js → 1999.js} +1 -1
- package/.next/server/chunks/264.js +1 -1
- package/.next/server/chunks/2859.js +3 -3
- package/.next/server/chunks/289.js +1 -1
- package/.next/server/chunks/{6772.js → 3030.js} +1 -1
- package/.next/server/chunks/3286.js +6 -0
- package/.next/server/chunks/3489.js +1 -0
- package/.next/server/chunks/3648.js +1 -0
- package/.next/server/chunks/3774.js +6 -0
- package/.next/server/chunks/3823.js +40 -0
- package/.next/server/chunks/{3511.js → 3928.js} +1 -1
- package/.next/server/chunks/4239.js +1 -0
- package/.next/server/chunks/4265.js +1 -1
- package/.next/server/chunks/4372.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 +13 -8
- package/.next/server/chunks/4671.js +1 -1
- package/.next/server/chunks/472.js +1 -0
- package/.next/server/chunks/4771.js +6 -0
- package/.next/server/chunks/5148.js +1 -0
- package/.next/server/chunks/5311.js +1 -0
- package/.next/server/chunks/5662.js +1 -1
- package/.next/server/chunks/5708.js +8 -3
- package/.next/server/chunks/5734.js +4 -4
- package/.next/server/chunks/6537.js +1 -0
- package/.next/server/chunks/6644.js +1 -0
- package/.next/server/chunks/6793.js +1 -0
- package/.next/server/chunks/6908.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 +1 -1
- package/.next/server/chunks/7362.js +18 -18
- package/.next/server/chunks/7427.js +1 -0
- package/.next/server/chunks/7463.js +4 -4
- package/.next/server/chunks/7506.js +1 -1
- package/.next/server/chunks/7821.js +1 -1
- package/.next/server/chunks/8357.js +1 -0
- package/.next/server/chunks/8518.js +2 -0
- package/.next/server/chunks/{3778.js → 8652.js} +2 -2
- package/.next/server/chunks/8739.js +2 -2
- package/.next/server/chunks/8745.js +28 -0
- package/.next/server/chunks/9285.js +1 -0
- package/.next/server/chunks/9343.js +1 -1
- package/.next/server/functions-config-manifest.json +1 -1
- 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/MMmWHUQ3UAJBdRB7G1zGj/_buildManifest.js +1 -0
- package/.next/static/chunks/1871-dd8c10ed9d37100b.js +1 -0
- package/.next/static/chunks/1983-242862b3dc022a26.js +1 -0
- package/.next/static/chunks/2003-460f30484998c05d.js +1 -0
- package/.next/static/chunks/4207-41abb9622eb4b4f8.js +1 -0
- package/.next/static/chunks/4812-4a9aceb49632a973.js +1 -0
- package/.next/static/chunks/5501-f5b093c8dfd74196.js +1 -0
- package/.next/static/chunks/5545-2ab6e5d749e103cd.js +1 -0
- package/.next/static/chunks/6016.a157e5bde2faa652.js +1 -0
- package/.next/static/chunks/6288-a285bbbd701e0dbf.js +1 -0
- package/.next/static/chunks/{3648-733cf7ca4a5d1f19.js → 6730-c330b55cd0fe4f47.js} +1 -1
- package/.next/static/chunks/6731-c230e88cf0032609.js +1 -0
- package/.next/static/chunks/7430-6e78aaeac66988a9.js +1 -0
- package/.next/static/chunks/{7583.26a8c1f6e6823daf.js → 7583.7cb88044a5212b29.js} +1 -1
- package/.next/static/chunks/8083.16fda2c7f6d10d0c.js +1 -0
- package/.next/static/chunks/812-181496bc32cd0cd3.js +1 -0
- package/.next/static/chunks/8480-229fd353b68b570f.js +1 -0
- package/.next/static/chunks/8834-bda798efab40c60a.js +1 -0
- package/.next/static/chunks/{9164-f54d3531ca1df5f7.js → 9164-3d34bf7eab100ac7.js} +1 -1
- package/.next/static/chunks/9181-8d8ecd3f641b7209.js +8 -0
- package/.next/static/chunks/9356-99ba407b60b9dfe9.js +1 -0
- package/.next/static/chunks/9451-680fa09f81f18806.js +1 -0
- package/.next/static/chunks/9659-a279e3aaba407251.js +1 -0
- package/.next/static/chunks/app/api/approvals/[id]/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/approvals/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/backup/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/browse/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/bugs/enhance/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/cwd/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/encryption/secure/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/env/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/flow/[id]/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/flow/compile/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/flow/generate/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/flow/improve/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/flow/prompt-renderer/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/flow/quick-chat/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/flow/repair/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/flow/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/git/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/init/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/local-models/capability/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/local-models/pull/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/local-models/suggest/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/mcp/cancel/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/mcp/test-connection/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/mcp/test-connection/stream/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/mcp-registry/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/mcp-registry/spotlight/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/model/[id]/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/model/provider/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/model/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/model/test/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/oauth/callback/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/oauth/initiate/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/oauth/reset/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/[id]/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/[id]/run/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/reconcile/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/restore/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/runs/active/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/storage/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/update/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/waves/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/api/webhooks/[id]/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/chat/page-3a3efba25b59a747.js +1 -0
- package/.next/static/chunks/app/docs/page-84a92c3d5d8d5e13.js +1 -0
- package/.next/static/chunks/app/executions/page-445afbf37819e3ce.js +1 -0
- package/.next/static/chunks/app/flows/page-74ebca19957cc6db.js +1 -0
- package/.next/static/chunks/app/layout-2ebf01d97702a18a.js +1 -0
- package/.next/static/chunks/app/mcp/page-770a870b3d40766b.js +1 -0
- package/.next/static/chunks/app/mcp-flows/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/mcp-proxy/[server]/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/models/error-a3183f168e8a9b04.js +1 -0
- package/.next/static/chunks/app/models/page-5a13ea6ff5ac1b9c.js +1 -0
- package/.next/static/chunks/app/{page-77e1ba238b0ee1d0.js → page-a859e4dbd180df98.js} +1 -1
- package/.next/static/chunks/app/settings/page-7a68583660508ffd.js +1 -0
- package/.next/static/chunks/app/v1/chat/completions/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/resources/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/v1/models/route-6b442f97c5062f2c.js +1 -0
- package/.next/static/chunks/app/waves/page-ec33cf79f6103a9e.js +1 -0
- package/.next/static/chunks/webpack-dded92b3d7b33173.js +1 -0
- package/.next/static/css/39393a79f7cb0dee.css +1 -0
- package/.next/static/css/599369d853c61df7.css +31 -0
- package/.next/static/css/b496025c9cd768cc.css +1 -0
- package/.next/trace +9 -9
- 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/bugs/enhance/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/api/waves/route.ts +347 -0
- package/.next/types/app/waves/page.ts +84 -0
- package/.next/types/routes.d.ts +9 -2
- package/.next/types/validator.ts +63 -0
- package/README.md +1 -1
- package/package.json +1 -1
- package/.next/server/chunks/1491.js +0 -1
- package/.next/server/chunks/1690.js +0 -1
- package/.next/server/chunks/1746.js +0 -1
- package/.next/server/chunks/1991.js +0 -1
- package/.next/server/chunks/2261.js +0 -1
- package/.next/server/chunks/2350.js +0 -1
- package/.next/server/chunks/2430.js +0 -1
- package/.next/server/chunks/3574.js +0 -6
- package/.next/server/chunks/3953.js +0 -1
- package/.next/server/chunks/4028.js +0 -1
- package/.next/server/chunks/4045.js +0 -1
- package/.next/server/chunks/4322.js +0 -1
- package/.next/server/chunks/4498.js +0 -40
- package/.next/server/chunks/4690.js +0 -38
- package/.next/server/chunks/5625.js +0 -28
- package/.next/server/chunks/6532.js +0 -52
- package/.next/server/chunks/6901.js +0 -6
- package/.next/server/chunks/6981.js +0 -1
- package/.next/server/chunks/7101.js +0 -64
- package/.next/server/chunks/7635.js +0 -6
- package/.next/server/chunks/8298.js +0 -1
- package/.next/server/chunks/9957.js +0 -1
- package/.next/static/chunks/1161-970b105d0ab11425.js +0 -1
- package/.next/static/chunks/1871-14c3e63ca865d85e.js +0 -1
- package/.next/static/chunks/1892-5c1e38d89e0a5a9c.js +0 -1
- package/.next/static/chunks/2003-7710c23acaef11c9.js +0 -1
- package/.next/static/chunks/2720-2a926505ec98a6de.js +0 -1
- package/.next/static/chunks/3381-5fd2417957ca0881.js +0 -1
- package/.next/static/chunks/3930-cc8d73c953811b97.js +0 -1
- package/.next/static/chunks/422-268783d9ad5897e1.js +0 -1
- package/.next/static/chunks/4365-5d0e3d01c1bc0fdc.js +0 -1
- package/.next/static/chunks/5134-e21bd33daaf14ecf.js +0 -1
- package/.next/static/chunks/5501-c400aaeaf57e6297.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/7258-e27017c1b98f43f9.js +0 -1
- package/.next/static/chunks/7539.41f0448cf9783388.js +0 -1
- package/.next/static/chunks/8066-c202a83aef15143a.js +0 -1
- package/.next/static/chunks/8187.fd653767df53db87.js +0 -1
- package/.next/static/chunks/8345.76f420453fc0dee7.js +0 -1
- package/.next/static/chunks/8755-9f375ec8740fecac.js +0 -1
- package/.next/static/chunks/9587-706bfd1a692c4660.js +0 -8
- package/.next/static/chunks/app/api/backup/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/browse/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/cwd/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/encryption/secure/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/env/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/flow/[id]/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/flow/compile/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/flow/generate/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/flow/improve/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/flow/prompt-renderer/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/flow/quick-chat/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/flow/repair/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/flow/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/git/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/init/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/local-models/capability/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/local-models/pull/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/local-models/suggest/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/mcp/cancel/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/mcp/test-connection/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/mcp/test-connection/stream/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/mcp-registry/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/mcp-registry/spotlight/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/model/[id]/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/model/provider/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/model/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/model/test/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/oauth/callback/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/oauth/initiate/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/oauth/reset/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/planned-executions/[id]/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/planned-executions/[id]/run/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/planned-executions/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/restore/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/storage/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/update/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/api/webhooks/[id]/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/chat/page-a67ad3683443e7ad.js +0 -1
- package/.next/static/chunks/app/docs/page-097827ec4dae1d30.js +0 -1
- package/.next/static/chunks/app/executions/page-cb0dcc66d84c9bf8.js +0 -1
- package/.next/static/chunks/app/flows/page-abdd0642e378c5da.js +0 -1
- package/.next/static/chunks/app/layout-64fc0ae7efe81e3c.js +0 -1
- package/.next/static/chunks/app/mcp/page-7d3a269dce68b529.js +0 -1
- package/.next/static/chunks/app/mcp-flows/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/mcp-proxy/[server]/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/models/error-5732fbb053e182c5.js +0 -1
- package/.next/static/chunks/app/models/page-616950f93a1e0027.js +0 -1
- package/.next/static/chunks/app/settings/page-199d0ffae9ec7263.js +0 -1
- package/.next/static/chunks/app/v1/chat/completions/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/resources/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/app/v1/models/route-b296683a5faf800a.js +0 -1
- package/.next/static/chunks/webpack-ef5b2cef70829f42.js +0 -1
- package/.next/static/css/d1484588c616b291.css +0 -31
- package/.next/static/dvSaKx6-EfRNi7Xj-cSv_/_buildManifest.js +0 -1
- /package/.next/static/{dvSaKx6-EfRNi7Xj-cSv_ → MMmWHUQ3UAJBdRB7G1zGj}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=1991,exports.ids=[1991],exports.modules={28055:(a,b,c)=>{c.d(b,{S:()=>g});var d=c(50648);let e=(0,c(19815).h)("frontend/services/mcp/index");class f{async loadServerConfigs(){try{let a=await fetch("/api/mcp/servers"),b=await a.json();if(!a.ok||b&&b.error){let a=b&&b.error||"Failed to load server configs";return e.warn("Failed to load server configs:",a),{error:a}}return b}catch(a){return e.warn("Failed to load server configs:",a),{error:"Failed to load server configs"}}}async listServerTools(a){try{let b=this.toolsCache.get(a),c=Date.now();if(b&&c-b.timestamp<this.CACHE_TTL)return e.debug(`Using cached tools for server ${a}`),{tools:b.tools};let d=await fetch(`/api/mcp/servers/${encodeURIComponent(a)}/tools`),f=await d.json();if(f.error)return e.warn(`Error listing tools for server ${a}:`,f.error),{tools:[],error:f.error};let g=Array.isArray(f.tools)?f.tools:[];return this.toolsCache.set(a,{tools:g,timestamp:c}),{tools:g}}catch(b){return e.warn(`Failed to list tools for server ${a}:`,b),{tools:[],error:`Failed to list tools: ${b instanceof Error?b.message:"Unknown error"}`}}}clearToolsCache(a){a?(this.toolsCache.delete(a),e.debug(`Cleared tools cache for server ${a}`)):(this.toolsCache.clear(),e.debug("Cleared all tools cache"))}async listServerResources(a){try{let b=this.resourcesCache.get(a),c=Date.now();if(b&&c-b.timestamp<this.CACHE_TTL)return e.debug(`Using cached resources for server ${a}`),b.data;let d=await fetch(`/api/mcp/servers/${encodeURIComponent(a)}/resources`),f=await d.json(),g={resources:Array.isArray(f.resources)?f.resources:[],resourceTemplates:Array.isArray(f.resourceTemplates)?f.resourceTemplates:[],error:f.error};return g.error||this.resourcesCache.set(a,{data:g,timestamp:c}),g}catch(b){return e.warn(`Failed to list resources for server ${a}:`,b),{resources:[],resourceTemplates:[],error:`Failed to list resources: ${b instanceof Error?b.message:"Unknown error"}`}}}async readResource(a,b){try{let c=await fetch(`/api/mcp/servers/${encodeURIComponent(a)}/resources/read?uri=${encodeURIComponent(b)}`);return await c.json()}catch(c){return e.warn(`Failed to read resource ${b} on server ${a}:`,c),{success:!1,error:"Failed to read resource"}}}async listServerPrompts(a){try{let b=this.promptsCache.get(a),c=Date.now();if(b&&c-b.timestamp<this.CACHE_TTL)return e.debug(`Using cached prompts for server ${a}`),{prompts:b.prompts};let d=await fetch(`/api/mcp/servers/${encodeURIComponent(a)}/prompts`),f=await d.json();if(f.error)return e.warn(`Error listing prompts for server ${a}:`,f.error),{prompts:[],error:f.error};let g=Array.isArray(f.prompts)?f.prompts:[];return this.promptsCache.set(a,{prompts:g,timestamp:c}),{prompts:g}}catch(b){return e.warn(`Failed to list prompts for server ${a}:`,b),{prompts:[],error:`Failed to list prompts: ${b instanceof Error?b.message:"Unknown error"}`}}}async getPrompt(a,b,c){try{let d=await fetch(`/api/mcp/servers/${encodeURIComponent(a)}/prompts/get`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:b,arguments:c})});return await d.json()}catch(c){return e.warn(`Failed to get prompt ${b} on server ${a}:`,c),{success:!1,error:"Failed to get prompt"}}}clearCapabilitiesCache(a){a?(this.resourcesCache.delete(a),this.promptsCache.delete(a)):(this.resourcesCache.clear(),this.promptsCache.clear())}async callTool(a,b,c,d){try{let e=await fetch(`/api/mcp/servers/${encodeURIComponent(a)}/tools/${encodeURIComponent(b)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({args:c,timeout:d})});return await e.json()}catch(c){return e.warn(`Failed to call tool ${b} on server ${a}:`,c),{error:"Failed to call tool"}}}async updateServerConfig(a,b){try{let c=await fetch(`/api/mcp/servers/${encodeURIComponent(a)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)}),d=await c.json();if(c.ok)return e.info(`Successfully updated server config for ${a}`),{success:!0,data:d};if(void 0!==b.disabled)return e.info(`Config update for ${a} treated as success for toggle operation`),{success:!0,data:{...b,name:a},_originalError:d.error};return e.warn(`Failed to update server config for ${a}:`,d.error),{success:!1,error:d.error}}catch(b){return e.warn(`Failed to update server config for ${a}:`,b),{error:"Failed to update server config"}}}async testConnection(a){try{let b=await fetch("/api/mcp/test-connection",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});return await b.json()}catch(b){return e.warn(`Failed to test connection for ${a.name}:`,b),{success:!1,error:`Failed to reach the FLUJO backend to run the connection test: ${b instanceof Error?b.message:"Unknown error"}`}}}async testConnectionStreaming(a,b){try{let c=await fetch("/api/mcp/test-connection/stream",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!c.ok||!c.body)return e.warn(`Streaming test-connection unavailable (status ${c.status}); falling back`),this.testConnection(a);let f=null;if(await (0,d.z)(c,a=>{b(a),"result"===a.type&&(f={success:a.success,error:a.error,requiresAuthentication:a.requiresAuthentication,data:a.data})}),f)return f;return e.warn("Streaming test-connection ended without a result event"),{success:!1,error:"The connection test stream ended unexpectedly without a result."}}catch(b){return e.warn(`Streaming test connection failed for ${a.name}; falling back to non-streaming:`,b),this.testConnection(a)}}async getServerStatus(a){try{let b=await fetch(`/api/mcp/servers/${encodeURIComponent(a)}/status`,{headers:{Accept:"application/json"}}),c=await b.json();if(c.error)return e.warn(`Error getting status for server ${a}:`,c.error),{status:"error",message:c.error};return c}catch(b){return e.warn(`Failed to get status for server ${a}:`,b),{status:"error",message:`Failed to get server status: ${b instanceof Error?b.message:"Unknown error"}`}}}async deleteServerConfig(a){try{let b=await fetch(`/api/mcp/servers/${encodeURIComponent(a)}`,{method:"DELETE"});return await b.json()}catch(b){return e.warn(`Failed to delete server config for ${a}:`,b),{error:"Failed to delete server config"}}}async retryServer(a){return e.debug(`Retrying server status for: ${a}`),this.getServerStatus(a)}async restartServer(a){e.debug(`Restarting server: ${a}`);try{let b=await this.updateServerConfig(a,{disabled:!0});if(b.error)return e.warn(`Failed to disable server ${a} during restart:`,b.error),{error:`Failed to restart server: ${b.error}`};await new Promise(a=>setTimeout(a,1e3));let c=await this.updateServerConfig(a,{disabled:!1});if(c.error)return e.warn(`Failed to enable server ${a} during restart:`,c.error),{error:`Failed to restart server: ${c.error}`};return e.info(`Successfully restarted server ${a}`),{success:!0}}catch(b){return e.warn(`Failed to restart server ${a}:`,b),{error:`Failed to restart server: ${b instanceof Error?b.message:"Unknown error"}`}}}constructor(){this.toolsCache=new Map,this.resourcesCache=new Map,this.promptsCache=new Map,this.CACHE_TTL=6e4}}let g=new f},50648:(a,b,c)=>{c.d(b,{z:()=>d});async function d(a,b){if(!a.body||"function"!=typeof a.body.getReader)throw Error("Response has no readable body to stream");let c=a.body.getReader(),d=new TextDecoder,e=function(){let a="",b=(a,b)=>{let c=a.trim();if(c)try{b.push(JSON.parse(c))}catch{}};return{push(c){let d;a+=c;let e=[];for(;(d=a.indexOf("\n"))>=0;)b(a.slice(0,d),e),a=a.slice(d+1);return e},flush(){let c=[];return b(a,c),a="",c}}}();try{for(;;){let{value:a,done:f}=await c.read();if(f)break;for(let c of e.push(d.decode(a,{stream:!0})))b(c)}let a=d.decode();if(a)for(let c of e.push(a))b(c);for(let a of e.flush())b(a)}finally{try{c.releaseLock()}catch{}}}},59737:(a,b,c)=>{c.d(b,{A:()=>m});var d=c(21124);c(38301);var e=c(60839),f=c(81637),g=c(44079),h=c(79515),i=c(41893),j=c(99561),k=c(17332),l=c(18467);let m=({label:a,count:b,expanded:c,onToggle:m,showFolderIcon:n=!1,children:o})=>{let p=(0,e.A)();return(0,d.jsxs)(f.default,{sx:{mb:1.5},children:[(0,d.jsxs)(f.default,{role:"button",tabIndex:0,"aria-expanded":c,onClick:m,onKeyDown:a=>{("Enter"===a.key||" "===a.key)&&(a.preventDefault(),m())},sx:{display:"flex",alignItems:"center",gap:1,px:1,py:.75,borderRadius:1,cursor:"pointer",userSelect:"none",backgroundColor:p.palette.background.default,border:`1px solid ${p.palette.divider}`,"&:hover":{backgroundColor:p.palette.action.hover}},children:[(0,d.jsx)(g.A,{size:"small","aria-label":c?"Collapse section":"Expand section",onClick:a=>{a.stopPropagation(),m()},sx:{transition:"transform 0.2s",transform:c?"rotate(0deg)":"rotate(-90deg)"},children:(0,d.jsx)(k.A,{fontSize:"small"})}),n&&(0,d.jsx)(l.A,{fontSize:"small",sx:{color:"text.secondary"}}),(0,d.jsx)(h.default,{variant:"subtitle2",sx:{fontWeight:600},children:a}),(0,d.jsx)(i.A,{label:b,size:"small",sx:{height:20,fontSize:"0.7rem"}})]}),(0,d.jsx)(j.A,{in:c,unmountOnExit:!0,children:(0,d.jsx)(f.default,{sx:{pt:1.5},children:o})})]})}},61615:(a,b,c)=>{c.d(b,{default:()=>g});var d=c(21124);c(38301);var e=c(81637),f=c(8521);let g=({size:a="medium",color:b="primary",className:c="",sx:g={}})=>{let h="white"===b?{color:"#fff",...g}:g;return(0,d.jsxs)(e.default,{component:"span",sx:{display:"inline-block",lineHeight:0,...h},className:c,role:"status",children:[(0,d.jsx)(f.default,{size:{small:16,medium:24,large:36}[a],color:"white"===b?"inherit":b,"aria-hidden":"true"}),(0,d.jsx)(e.default,{component:"span",sx:{position:"absolute",width:"1px",height:"1px",padding:0,margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:0},children:"Loading..."})]})}},78352:(a,b,c)=>{c.d(b,{A:()=>u});var d=c(21124),e=c(38301),f=c(7118),g=c(94367),h=c(50553),i=c(84233),j=c(91059),k=c(40512),l=c(83899),m=c(52327),n=c(37674),o=c(19925),p=c(68730),q=c(36698),r=c(18467),s=c(31973),t=c(354);let u=({anchorEl:a,open:b,currentFolder:c,folders:u,onClose:v,onAssign:w})=>{let[x,y]=(0,e.useState)(!1),[z,A]=(0,e.useState)(""),B=a=>{w(a),v()},C=()=>{let a=z.trim();a&&(y(!1),B(a))};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(f.A,{anchorEl:a,open:b,onClose:v,children:[u.length>0&&u.map(a=>(0,d.jsxs)(g.A,{onClick:()=>B(a),selected:a===c,children:[(0,d.jsx)(h.A,{children:a===c?(0,d.jsx)(q.A,{fontSize:"small"}):(0,d.jsx)(r.A,{fontSize:"small"})}),(0,d.jsx)(i.A,{primary:a})]},a)),u.length>0&&(0,d.jsx)(j.A,{}),(0,d.jsxs)(g.A,{onClick:()=>{A(""),y(!0)},children:[(0,d.jsx)(h.A,{children:(0,d.jsx)(s.A,{fontSize:"small"})}),(0,d.jsx)(i.A,{primary:"New folder…"})]}),c&&(0,d.jsxs)(g.A,{onClick:()=>B(void 0),children:[(0,d.jsx)(h.A,{children:(0,d.jsx)(t.A,{fontSize:"small"})}),(0,d.jsx)(i.A,{primary:"Remove from folder"})]})]}),(0,d.jsxs)(k.A,{open:x,onClose:()=>y(!1),maxWidth:"xs",fullWidth:!0,children:[(0,d.jsx)(l.A,{children:"New folder"}),(0,d.jsx)(m.A,{children:(0,d.jsx)(n.A,{autoFocus:!0,margin:"dense",label:"Folder name",fullWidth:!0,value:z,onChange:a=>A(a.target.value),onKeyDown:a=>{"Enter"===a.key&&(a.preventDefault(),C())}})}),(0,d.jsxs)(o.A,{children:[(0,d.jsx)(p.A,{onClick:()=>y(!1),children:"Cancel"}),(0,d.jsx)(p.A,{variant:"contained",disabled:!z.trim(),onClick:C,children:"Create"})]})]})]})}},83434:(a,b,c)=>{c.d(b,{N:()=>e,X:()=>d}),(0,c(19815).h)("frontend/services/model");let d=()=>{throw Error("ModelService can only be used in browser environment")},e=new Proxy({},{get(a,b){let c=d(),e=c[b];return"function"==typeof e?e.bind(c):e}})}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=2261,exports.ids=[2261,7821],exports.modules={28001:(a,b,c)=>{c.d(b,{internalListResourceTemplates:()=>k,internalListResources:()=>j,internalReadResource:()=>l});var d=c(50846),e=c(2826),f=c(61539),g=c(14214),h=c(81495);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}}}},87821:(a,b,c)=>{c.d(b,{flowService:()=>w});var d=c(32524),e=c(92372),f=c(46480),g=c(50846),h=c(33873),i=c.n(h),j=c(29021),k=c(43326);let l=(0,g.h)("backend/services/flow/flowVersions");function m(a){return(0,e.ln)(a),`flow-versions/${a}`}async function n(a){try{let b=m(a.id),c=Date.now(),d=`${c}-${Math.random().toString(36).slice(2,6)}`,f={versionId:d,flowId:a.id,savedAt:c,flow:a};return await (0,e.Vt)(b,d,f),await o(a.id),d}catch(b){return l.warn(`Could not archive a version of flow ${a.id}`,b),null}}async function o(a){let b=m(a),c=await (0,e.pL)(b);if(!(c.length<=25))for(let d of c.sort((a,b)=>b.savedAt-a.savedAt).slice(25))try{await (0,e.bB)(b,d.versionId)}catch(b){l.warn(`Could not prune version ${d.versionId} of flow ${a}`,b)}}async function p(a){return(await (0,e.pL)(m(a))).sort((a,b)=>b.savedAt-a.savedAt).map(a=>({versionId:a.versionId,savedAt:a.savedAt,name:a.flow?.name??"unknown",nodeCount:a.flow?.nodes?.length??0,edgeCount:a.flow?.edges?.length??0}))}async function q(a,b){try{return await (0,e.EI)(m(a),b,null)}catch(c){return l.debug(`getFlowVersion: could not load ${a}/${b}`,c),null}}async function r(a){try{(0,e.ln)(a),await j.promises.rm(i().join((0,k.ok)(),"db","flow-versions",a),{recursive:!0,force:!0})}catch(b){l.warn(`Could not remove version history of flow ${a}`,b)}}let s=(0,g.h)("backend/services/flow/index"),t=f.Z.FLOWS;async function u(){return global.__flujo_flowsMigration||(global.__flujo_flowsMigration=(async()=>{try{await (0,e.w5)(f.Z.FLOWS,t,a=>a.id)}catch(a){s.error("Flow storage migration failed",a),global.__flujo_flowsMigration=void 0}})()),global.__flujo_flowsMigration}class v{get flowsCache(){return global.__flujo_flowsCache??null}set flowsCache(a){global.__flujo_flowsCache=a}async loadFlows(){try{if(this.flowsCache)return s.debug("Using cached flows"),this.flowsCache;s.debug("Loading flows from storage"),await u();let a=await (0,e.pL)(t);return this.flowsCache=a,s.info("Loaded flows from storage",{count:a.length}),a}catch(a){return s.error("Failed to load flows",a),[]}}async getFlow(a){try{s.debug(`Getting flow by ID: ${a}`);let b=this.flowsCache?.find(b=>b.id===a)||null;if(b)return s.debug(`Flow ${a} found in cache`),b;await u();let c=null;try{c=await (0,e.EI)(t,a,null)}catch(b){s.debug(`getFlow: could not load flow ${a}`,b),c=null}if(c&&this.flowsCache){let a=this.flowsCache,b=a.findIndex(a=>a.id===c.id);b>=0?a[b]=c:a.push(c),this.flowsCache=a}return s.debug(`Flow ${a} ${c?"found":"not found"}`),c}catch(b){return s.error(`Failed to get flow ${a}`,b),null}}async invalidateExecutionCache(a){try{let{FlowExecutor:b}=await Promise.all([c.e(6996),c.e(1223),c.e(5734),c.e(1373),c.e(264),c.e(724),c.e(4498)]).then(c.bind(c,44498));b.clearFlowCache(a),s.debug("Invalidated execution flow cache",{flowId:a??"all"})}catch(a){s.warn("Failed to invalidate execution flow cache",a)}}async saveFlow(a){try{s.debug(`Saving flow: ${a.id}`,{name:a.name}),(0,e.ln)(a.id),await u();let b=null;try{b=await (0,e.EI)(t,a.id,null)}catch(b){s.debug(`saveFlow: could not read previous definition of ${a.id} for versioning`,b)}b&&JSON.stringify(b)!==JSON.stringify(a)&&await n(b),await (0,e.Vt)(t,a.id,a);let c=this.flowsCache;if(c){let b=c.findIndex(b=>b.id===a.id);b>=0?c[b]=a:c.push(a),this.flowsCache=c}return await this.invalidateExecutionCache(a.id),s.info(`Flow ${a.id} saved successfully`),{success:!0}}catch(a){return s.error("Failed to save flow",a),{success:!1,error:a instanceof Error?a.message:"Failed to save flow"}}}async deleteFlow(a){try{s.debug(`Deleting flow: ${a}`),await u(),await (0,e.bB)(t,a);let b=this.flowsCache;return b&&(this.flowsCache=b.filter(b=>b.id!==a)),await this.invalidateExecutionCache(a),await r(a),s.info(`Flow ${a} deleted successfully`),{success:!0}}catch(b){return s.error(`Failed to delete flow: ${a}`,b),{success:!1,error:b instanceof Error?b.message:"Failed to delete flow"}}}async listFlowVersions(a){return p(a)}async getFlowVersion(a,b){return q(a,b)}async revertFlow(a,b){let c=await q(a,b);return c?this.saveFlow({...c.flow,id:a}):{success:!1,error:`No version "${b}" of flow ${a}`}}createNode(a,b){s.debug(`Creating new node of type: ${a}`,{position:b});let c={id:(0,d.A)(),type:a,position:b,data:{label:`${"mcp"===a?"MCP":a.charAt(0).toUpperCase()+a.slice(1)} Node`,type:a,properties:{}}};return s.debug(`Node created with ID: ${c.id}`),c}createNewFlow(a="NewFlow"){s.debug(`Creating new flow: ${a}`);let b={id:(0,d.A)(),type:"start",position:{x:250,y:150},data:{label:"Start Node",type:"start",properties:{promptTemplate:""}}},c={id:(0,d.A)(),name:a,nodes:[b],edges:[]};return s.info(`New flow created with ID: ${c.id}`,{name:a}),c}createHistoryEntry(a,b){return s.debug("Creating history entry",{nodeCount:a.length,edgeCount:b.length}),{nodes:[...a],edges:[...b]}}generateSampleFlow(a="Sample Flow"){s.debug(`Generating sample flow: ${a}`);let b={id:(0,d.A)(),name:a,nodes:[{id:"1",type:"start",position:{x:250,y:50},data:{label:"Start Node",type:"start",properties:{prompt:"Enter your query here",systemMessage:"You are a helpful assistant",temperature:0}}},{id:"2",type:"process",position:{x:250,y:200},data:{label:"Process Node",type:"process",properties:{operation:"transform",enabled:!0}}},{id:"3",type:"finish",position:{x:250,y:350},data:{label:"Finish Node",type:"finish",properties:{format:"json",template:'{ "result": {{data}} }'}}},{id:"4",type:"mcp",position:{x:450,y:200},data:{label:"MCP Node",type:"mcp",properties:{channels:2,mode:"parallel"}}}],edges:[{id:"e1-2",source:"1",target:"2",type:"custom"},{id:"e2-3",source:"2",target:"3",type:"custom"}]};return s.info(`Sample flow generated with ID: ${b.id}`,{name:a}),b}async listFlows(){s.debug("listFlows: Entering method");try{let a=await this.loadFlows();return{success:!0,flows:a}}catch(a){return s.warn("listFlows: Failed to list flows:",a),{success:!1,error:a instanceof Error?a.message:"Failed to list flows"}}}}let w=new v}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=2350,exports.ids=[2350,7821],exports.modules={81226:(a,b,c)=>{c.d(b,{A_:()=>g,FH:()=>u,Zn:()=>v,dM:()=>t,lk:()=>h,pX:()=>s});var d=c(32524),e=c(49181),f=c(45131);let g=3,h=8;function i(a,b,c,d){return"number"!=typeof a||Number.isNaN(a)?d:Math.max(b,Math.min(c,Math.floor(a)))}let j={type:"arrowclosed",width:20,height:20,color:"#1976d2"},k={stroke:"#1976d2",strokeWidth:2},l={type:"arrowclosed",width:20,height:20,color:"#009688"},m={stroke:"#009688",strokeWidth:2},n=new Set(["full-history","latest-message","isolated"]),o=new Set(["steps","final-only"]),p=new Set(["full-conversation","latest-message"]);function q(a){let b=(0,e.A$)(a);if(0===b.length)return{text:a,stripped:!1};let c="",d=0;for(let e of b)c+=a.slice(d,e.index)+e.name,d=e.index+e.fullMatch.length;return{text:c+=a.slice(d),stripped:!0}}function r(a,b){if(b.some(b=>b.id===a))return a;let c=a.toLowerCase(),d=b.find(a=>a.name.toLowerCase()===c);return d?d.id:null}function s(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}}function t(a,b={},c={}){let e=[],u=(a,b,c)=>e.push({severity:"error",code:a,message:b,nodeKey:c}),v=(a,b,c)=>e.push({severity:"warning",code:a,message:b,nodeKey:c}),w=b.models??[],x=new Set((b.servers??[]).map(a=>a.name)),y=b.serverTools??{},z=i(c.maxDepth,0,g,g),A=i(c.maxFlows,1,h,h),B=[],C=[...(b.flows??[]).map(a=>a.name)],D=[],E=0;var F=function a(e,g,h){let t=Array.isArray(e?.nodes)?e.nodes:[],F=Array.isArray(e?.edges)?e.edges:[],G=function(a,b){let c=(a??"").trim().replace(/[^\w-]+/g,"_").replace(/^_+|_+$/g,"");c||(c="generated_flow");let d=new Set(b.map(a=>a.toLowerCase()));if(!d.has(c.toLowerCase()))return c;for(let a=2;;a++){let b=`${c}_${a}`;if(!d.has(b.toLowerCase()))return b}}(e?.name,C);C.push(G),E++;let H=(0,d.A)(),I=[...h,G],K=new Map,L=[],M=[];for(let c of t){let e=c?.key;if(!e||"string"!=typeof e){u("node-missing-key",'A node is missing its "key" — every node needs a unique key.');continue}if(K.has(e)){u("node-duplicate-key",`Duplicate node key "${e}" — keys must be unique; the later node was dropped.`,e);continue}let f=c.type;if("mcp"===f){u("mcp-node-not-allowed",`Node "${e}": do not emit "mcp" nodes — attach servers to a process node via its "servers" list instead.`,e);continue}if("start"!==f&&"process"!==f&&"finish"!==f&&"subflow"!==f&&"resource"!==f){u("unknown-node-type",`Node "${e}" has unknown type "${String(f)}".`,e);continue}let h={},j="string"==typeof c.prompt?c.prompt:void 0;if("start"===f){let{text:a,stripped:b}=q(j??"");b&&v("pill-stripped",`Node "${e}": binding pills are not supported in generated prompts and were replaced with plain names.`,e),h.promptTemplate=a}else if("process"===f){let{text:a,stripped:b}=q(j??"");if(b&&v("pill-stripped",`Node "${e}": binding pills are not supported in generated prompts and were replaced with plain names.`,e),h.promptTemplate=a,c.model){let a=function(a,b){if(b.some(b=>b.id===a))return a;let c=a.toLowerCase(),d=b.find(a=>a.displayName?.toLowerCase()===c);if(d)return d.id;let e=b.find(a=>a.name?.toLowerCase()===c);return e?e.id:null}(c.model,w);a?h.boundModel=a:(h.boundModel=c.model,v("model-unresolved",`Node "${e}": model "${c.model}" does not match any configured model (by id, display name, or name).`,e))}void 0!==c.inputMode&&(n.has(c.inputMode)?(h.inputMode=c.inputMode,"isolated"===c.inputMode&&"string"==typeof c.isolatedPrompt&&(h.isolatedPrompt=c.isolatedPrompt)):v("invalid-input-mode",`Node "${e}": inputMode "${String(c.inputMode)}" is not valid (full-history | latest-message | isolated); omitted.`,e)),void 0!==c.outputMode&&(p.has(c.outputMode)?h.outputMode=c.outputMode:v("invalid-output-mode",`Node "${e}": outputMode "${String(c.outputMode)}" is not valid on a process node (full-conversation | latest-message); omitted.`,e)),void 0!==c.maxTurns&&("number"!=typeof c.maxTurns||Number.isNaN(c.maxTurns)?v("invalid-max-turns",`Node "${e}": maxTurns "${String(c.maxTurns)}" is not a number; omitted.`,e):h.maxTurns=i(c.maxTurns,1,1e3,1)),"boolean"==typeof c.excludeModelPrompt&&(h.excludeModelPrompt=c.excludeModelPrompt),"boolean"==typeof c.excludeStartNodePrompt&&(h.excludeStartNodePrompt=c.excludeStartNodePrompt),"boolean"==typeof c.excludeSystemPrompt&&(h.excludeSystemPrompt=c.excludeSystemPrompt),Array.isArray(c.allowedTools)&&(h.allowedTools=c.allowedTools.filter(a=>"string"==typeof a&&a)),"string"==typeof c.captureVariable&&c.captureVariable.trim()&&(h.captureVariable=c.captureVariable.trim()),"string"==typeof c.captureResource&&c.captureResource.trim()&&(h.captureResource=c.captureResource.trim())}else if("subflow"===f){if(function(c,d,e,f,g){let h=Array.isArray(c.parallelFlows)&&c.parallelFlows.length>0,i=Array.isArray(c.parallelSubflowSpecs)&&c.parallelSubflowSpecs.length>0;if([void 0!==c.flow&&null!==c.flow?"flow":null,void 0!==c.subflowSpec&&null!==c.subflowSpec?"subflowSpec":null,h?"parallelFlows":null,i?"parallelSubflowSpecs":null,void 0!==c.generateSubflow&&null!==c.generateSubflow?"generateSubflow":null].filter(Boolean).length>1&&v("subflow-multiple-sources",`Node "${d}": a subflow node should have only one target source ("flow", "subflowSpec", "parallelFlows", "parallelSubflowSpecs", or "generateSubflow"); applying precedence flow > subflowSpec > parallelFlows > parallelSubflowSpecs > generateSubflow.`,d),!0===c.mapOverList){let a=void 0!==c.flow&&null!==c.flow||void 0!==c.subflowSpec&&null!==c.subflowSpec;(h||i)&&u("subflow-map-and-parallel",`Node "${d}": "mapOverList" runs a SINGLE child once per item and cannot be combined with "parallelFlows"/"parallelSubflowSpecs".`,d),a?(g.mapOverList=!0,void 0!==c.itemSplit&&("json-array"===c.itemSplit||"lines"===c.itemSplit?g.itemSplit=c.itemSplit:v("invalid-item-split",`Node "${d}": itemSplit "${String(c.itemSplit)}" is not valid (json-array | lines); using json-array.`,d)),!0===c.sequential&&(g.sequential=!0),J(c,g)):u("subflow-map-no-child",`Node "${d}": "mapOverList" needs a single child ("flow" or "subflowSpec") to run once per item.`,d)}if(c.flow){if(f.some(a=>a.toLowerCase()===c.flow.toLowerCase()))return u("subflow-cycle",`Node "${d}": flow "${c.flow}" refers to an ancestor flow, which would create a cycle.`,d);let a=r(c.flow,[...b.flows??[],...D]);return a?g.subflowId=a:u("subflow-unresolved",`Node "${d}": flow "${c.flow}" does not match any existing flow (by id or name).`,d)}if(c.subflowSpec){if(e+1>z)return u("subflow-too-deep",`Node "${d}": nested subflows may not go deeper than ${z} level(s); this inline subflow was not compiled.`,d);if(E>=A)return u("subflow-too-many",`Node "${d}": compiling this inline subflow would exceed the maximum of ${A} flows in one bundle; it was not compiled.`,d);let b=a(c.subflowSpec,e+1,f);return b?g.subflowId=b.id:u("subflow-child-empty",`Node "${d}": the inline "subflowSpec" produced no usable flow.`,d)}if(h){let a=[];for(let e of c.parallelFlows){if("string"!=typeof e||!e){u("parallel-flow-invalid",`Node "${d}": a "parallelFlows" entry is missing or not a string.`,d);continue}if(f.some(a=>a.toLowerCase()===e.toLowerCase())){u("subflow-cycle",`Node "${d}": parallel flow "${e}" refers to an ancestor flow, which would create a cycle.`,d);continue}let c=r(e,[...b.flows??[],...D]);c?a.includes(c)||a.push(c):u("parallel-flow-unresolved",`Node "${d}": parallel flow "${e}" does not match any existing flow (by id or name).`,d)}a.length>0?(g.parallelSubflowIds=a,J(c,g)):u("parallel-empty",`Node "${d}": "parallelFlows" resolved to no runnable lanes.`,d);return}if(i){let b=[];for(let g of c.parallelSubflowSpecs){if(!g||"object"!=typeof g){u("parallel-spec-invalid",`Node "${d}": a "parallelSubflowSpecs" entry is not a FlowSpec object.`,d);continue}if(e+1>z){u("subflow-too-deep",`Node "${d}": nested subflows may not go deeper than ${z} level(s); a parallel inline subflow was not compiled.`,d);continue}if(E>=A){u("subflow-too-many",`Node "${d}": compiling a parallel inline subflow would exceed the maximum of ${A} flows in one bundle; it was not compiled.`,d);continue}let c=a(g,e+1,f);c?b.push(c.id):u("subflow-child-empty",`Node "${d}": a "parallelSubflowSpecs" entry produced no usable flow.`,d)}b.length>0?(g.parallelSubflowIds=b,J(c,g)):u("parallel-empty",`Node "${d}": "parallelSubflowSpecs" produced no runnable lanes.`,d);return}if(void 0!==c.generateSubflow&&null!==c.generateSubflow)return u("subflow-generate-unsupported",`Node "${d}": "generateSubflow" is only available through the AI flow generator. Use "subflowSpec" for deterministic nested authoring, or "flow" to reference an existing flow.`,d);u("subflow-missing-flow",`Node "${d}": subflow nodes need a "flow" (existing flow), a "subflowSpec" (inline child), "parallelFlows"/"parallelSubflowSpecs" (concurrent children), or "generateSubflow".`,d)}(c,e,g,I,h),void 0!==c.inputMode&&(n.has(c.inputMode)?h.inputMode=c.inputMode:v("invalid-input-mode",`Node "${e}": inputMode "${String(c.inputMode)}" is not valid (full-history | latest-message | isolated); omitted.`,e)),void 0!==c.outputMode&&(o.has(c.outputMode)?h.outputMode=c.outputMode:v("invalid-output-mode",`Node "${e}": outputMode "${String(c.outputMode)}" is not valid (steps | final-only); omitted.`,e)),void 0!==j){let{text:a,stripped:b}=q(j);b&&v("pill-stripped",`Node "${e}": binding pills are not supported in generated prompts and were replaced with plain names.`,e),h.promptTemplate=a}"boolean"==typeof c.allowCallerPrompt&&(h.allowCallerPrompt=c.allowCallerPrompt),"string"==typeof c.captureVariable&&c.captureVariable.trim()&&(h.captureVariable=c.captureVariable.trim()),"string"==typeof c.captureResource&&c.captureResource.trim()&&(h.captureResource=c.captureResource.trim())}else if("resource"===f){let a="string"==typeof c.runName?c.runName.trim():"",b="string"==typeof c.server?c.server.trim():"",d="string"==typeof c.uri?c.uri.trim():"";a?(h.scope="run",h.runName=a,(b||d)&&v("resource-both-bindings",`Node "${e}": a resource node is EITHER a run artifact ("runName") or a static MCP resource ("server"+"uri"); kept the run artifact.`,e)):(h.scope="mcp",b&&(h.boundServer=b),d&&(h.uri=d),b&&d?x.has(b)||v("server-unknown",`Node "${e}": MCP server "${b}" is not configured in FLUJO.`,e):v("resource-missing-binding",`Node "${e}": a static resource node needs both "server" and "uri" (or a "runName" for a run artifact).`,e))}let k={id:(0,d.A)(),type:f,position:{x:0,y:0},data:{label:c.label||`${f.charAt(0).toUpperCase()}${f.slice(1)} Node`,type:f,...c.description?{description:c.description}:{},properties:h}};if(K.set(e,k),L.push(k),"process"===f&&Array.isArray(c.servers)){let a=new Set;for(let b of c.servers){let c,f=b?.name;if(!f||"string"!=typeof f){v("server-missing-name",`Node "${e}": a server reference is missing its "name"; skipped.`,e);continue}if(a.has(f))continue;a.add(f),x.has(f)||v("server-unknown",`Node "${e}": MCP server "${f}" is not configured in FLUJO.`,e);let g=y[f];if(Array.isArray(b.tools)){if(c=b.tools.filter(a=>"string"==typeof a&&a),g){let a=c.filter(a=>!g.includes(a));a.length>0&&v("tool-unknown",`Node "${e}": server "${f}" does not report tool(s): ${a.join(", ")}.`,e)}}else c=g?[...g]:[];let h={id:(0,d.A)(),type:"mcp",position:{x:0,y:0},data:{label:f,type:"mcp",properties:{boundServer:f,enabledTools:c}}};L.push(h),M.push({processKey:e,mcpNode:h})}}else"process"!==f&&Array.isArray(c.servers)&&c.servers.length>0&&v("servers-on-non-process",`Node "${e}": only process nodes can have "servers"; ignored.`,e)}if(0===K.size)return u("no-usable-nodes","No usable nodes — the spec must contain at least a start node and one step."),null;let N=[],O=new Set;for(let a of F){let b,c=a?.from,d=a?.to,e=c?K.get(c):void 0,g=d?K.get(d):void 0;if(!e||!g){u("edge-unknown-node",`Edge "${String(c)}" -> "${String(d)}" references a node key that does not exist (or was dropped).`);continue}if(e===g){u("edge-self-loop",`Edge "${c}" -> "${d}": a node cannot connect to itself.`);continue}if("resource"===e.type||"resource"===g.type){if(("resource"!==e.type||"process"!==g.type)&&("process"!==e.type||"resource"!==g.type)){u("resource-edge-invalid",`Edge "${c}" -> "${d}": resource nodes connect only to process nodes.`);continue}a.condition&&v("resource-edge-condition",`Edge "${c}" -> "${d}": conditions do not apply to resource wiring; dropped.`),!0===a.bidirectional&&v("resource-edge-bidirectional",`Edge "${c}" -> "${d}": resource wiring is directional (read vs write); "bidirectional" was ignored — add the opposite edge explicitly if the step both reads and writes.`);let b=`${c}->${d}`;if(O.has(b)){v("edge-duplicate",`Edge "${c}" -> "${d}" appears more than once; kept the first.`);continue}O.add(b),N.push(function(a,b){let c="resource"===a.type?"resource-out":"process-right-resource",d="resource"===b.type?"resource-in":"process-left-resource";return{id:`${a.id}:${c}->${b.id}:${d}`,source:a.id,sourceHandle:c,target:b.id,targetHandle:d,type:"resourceEdge",data:{edgeType:"resource"},animated:!1,markerEnd:{...l},style:{...m}}}(e,g));continue}if("start"===g.type){u("edge-into-start",`Edge "${c}" -> "${d}": nothing may connect INTO a start node.`);continue}if("finish"===e.type){u("edge-out-of-finish",`Edge "${c}" -> "${d}": nothing may connect OUT OF a finish node.`);continue}let h=`${c}->${d}`;if(O.has(h)){v("edge-duplicate",`Edge "${c}" -> "${d}" appears more than once; kept the first.`);continue}O.add(h);let i=!0===a.bidirectional;i&&("start"===e.type||"finish"===g.type)&&(v("bidirectional-illegal",`Edge "${c}" -> "${d}" cannot be bidirectional; downgraded to one-way.`),i=!1);let j=a.condition;j&&"object"==typeof j&&("process"!==e.type?v("edge-condition-non-process",`Edge "${c}" -> "${d}" has a condition but leaves a ${e.type} node; conditions only route from process nodes and were dropped.`):(0,f.C)(j.kind)?"string"!=typeof j.value||0===j.value.length?v("edge-condition-value",`Edge "${c}" -> "${d}" has a condition with no "value"; the condition was dropped.`):("regex"!==j.kind||(0,f.wM)(j.value)||v("edge-condition-regex",`Edge "${c}" -> "${d}" has a regex condition that does not compile; it is kept but will never match at runtime.`),b={kind:j.kind,value:j.value,..."last-message"===j.target?{target:"last-message"}:{},...!0===j.ignoreCase?{ignoreCase:!0}:{},...!0===j.negate?{negate:!0}:{}}):v("edge-condition-kind",`Edge "${c}" -> "${d}" has an unknown condition kind "${String(j.kind)}"; the condition was dropped.`)),N.push(s(e,g,i,b))}for(let{processKey:a,mcpNode:b}of M){let c=K.get(a);N.push(function(a,b){let c="process-right-mcp",d="mcp-left";return{id:`${a.id}:${c}->${b.id}:${d}`,source:a.id,sourceHandle:c,target:b.id,targetHandle:d,type:"mcpEdge",data:{edgeType:"mcp"},animated:!1,markerEnd:{...j},markerStart:{...j},style:{...k}}}(c,b))}!function(a,b,c,d,e){let f=new Map;for(let a of c){let b=a.data?.edgeType;"mcp"!==b&&"resource"!==b&&(f.has(a.source)||f.set(a.source,[]),f.get(a.source).push(a.target))}let g=[...b.values()],h=g.filter(a=>"resource"===a.type),i=g.filter(a=>"resource"!==a.type),j=i.filter(a=>"start"===a.type),k=j.length>0?j:i.slice(0,1),l=new Map,m=k.map(a=>({id:a.id,depth:0}));for(let a of m)l.set(a.id,0);for(;m.length;){let{id:a,depth:b}=m.shift();for(let c of f.get(a)??[])l.has(c)||(l.set(c,b+1),m.push({id:c,depth:b+1}))}let n=0;for(let a of l.values())n=Math.max(n,a);for(let a of i)l.has(a.id)||l.set(a.id,n+1);let o=new Map;for(let[a,c]of b)o.set(c.id,a);let p=new Map;for(let a of i){let b=o.get(a.id),c=e&&b?e[b]:void 0;if(c&&"number"==typeof c.x&&"number"==typeof c.y){a.position={x:c.x,y:c.y};continue}let d=l.get(a.id),f=p.get(d)??0;p.set(d,f+1),a.position={x:250+280*f,y:150+170*d}}let q=new Map;for(let{processKey:a,mcpNode:c}of d){let d=b.get(a),e=q.get(a)??0;q.set(a,e+1),c.position={x:d.position.x+320,y:d.position.y+150*e}}let r=new Map(g.map(a=>[a.id,a])),s=new Map,t=0;for(let a of h){let b=o.get(a.id),d=e&&b?e[b]:void 0;if(d&&"number"==typeof d.x&&"number"==typeof d.y){a.position={x:d.x,y:d.y};continue}let f=c.find(b=>b.data?.edgeType==="resource"&&(b.source===a.id||b.target===a.id)),g=f?f.source===a.id?f.target:f.source:void 0,h=g?r.get(g):void 0;if(h){let b=s.get(h.id)??0;s.set(h.id,b+1),a.position={x:h.position.x-320,y:h.position.y+150*b}}else{let b=0;for(let a of i)b=Math.max(b,a.position.y);a.position={x:250+280*t,y:b+170},t++}}}(0,K,N,M,0===g?c.positions:void 0);let P={id:H,name:G,...e?.description?{description:e.description}:{},nodes:L,edges:N};return B.push(P),D.push({id:P.id,name:P.name}),P}(a,0,[]),G=B,H=e;let I=H.filter(a=>"error"===a.severity).length;return{flow:F,flows:G,issues:H,errorCount:I,warningCount:H.length-I};function J(a,b){void 0!==a.concurrencyLimit&&("number"!=typeof a.concurrencyLimit||Number.isNaN(a.concurrencyLimit)?v("invalid-concurrency-limit",`Node "${a.key}": concurrencyLimit "${String(a.concurrencyLimit)}" is not a number; using the runtime default.`,a.key):b.concurrencyLimit=Math.max(1,Math.floor(a.concurrencyLimit))),"string"==typeof a.joinSeparator&&(b.joinSeparator=a.joinSeparator),void 0!==a.errorStrategy&&("fail-fast"===a.errorStrategy||"collect-all"===a.errorStrategy?b.errorStrategy=a.errorStrategy:v("invalid-error-strategy",`Node "${a.key}": errorStrategy "${String(a.errorStrategy)}" is not valid (fail-fast | collect-all); using collect-all.`,a.key))}}function u(a){let b=Array.isArray(a?.nodes)?a.nodes:[],c=Array.isArray(a?.edges)?a.edges:[],d=new Map;for(let a of b)"mcp"===a.type&&d.set(a.id,a);let e=new Map;for(let a of c){if(a.data?.edgeType!=="mcp")continue;let b=d.get(a.target);if(!b)continue;let c=b.data?.properties??{},f="string"==typeof c.boundServer&&c.boundServer?c.boundServer:b.data?.label;if(!f||"string"!=typeof f)continue;let g=Array.isArray(c.enabledTools)?c.enabledTools.filter(a=>"string"==typeof a&&!!a):void 0,h=e.get(a.source)??[];h.push({name:f,...g?{tools:g}:{}}),e.set(a.source,h)}let f=[];for(let a of b){if("mcp"===a.type)continue;let b=a.type;if("start"!==b&&"process"!==b&&"finish"!==b&&"subflow"!==b&&"resource"!==b)continue;let c=a.data?.properties??{},d={key:a.id,type:b,...a.data?.label?{label:a.data.label}:{},...a.data?.description?{description:a.data.description}:{}};if("start"===b)"string"==typeof c.promptTemplate&&c.promptTemplate&&(d.prompt=c.promptTemplate);else if("process"===b){"string"==typeof c.promptTemplate&&c.promptTemplate&&(d.prompt=c.promptTemplate),"string"==typeof c.boundModel&&c.boundModel&&(d.model=c.boundModel),"string"==typeof c.inputMode&&(d.inputMode=c.inputMode),"string"==typeof c.isolatedPrompt&&c.isolatedPrompt&&(d.isolatedPrompt=c.isolatedPrompt),"string"==typeof c.outputMode&&(d.outputMode=c.outputMode),"number"==typeof c.maxTurns&&c.maxTurns>0&&(d.maxTurns=c.maxTurns),!0===c.excludeModelPrompt&&(d.excludeModelPrompt=!0),!0===c.excludeStartNodePrompt&&(d.excludeStartNodePrompt=!0),!0===c.excludeSystemPrompt&&(d.excludeSystemPrompt=!0),Array.isArray(c.allowedTools)&&c.allowedTools.length>0&&(d.allowedTools=c.allowedTools.filter(a=>"string"==typeof a&&!!a)),"string"==typeof c.captureVariable&&c.captureVariable&&(d.captureVariable=c.captureVariable),"string"==typeof c.captureResource&&c.captureResource&&(d.captureResource=c.captureResource);let b=e.get(a.id);b&&b.length>0&&(d.servers=b)}else"subflow"===b?(Array.isArray(c.parallelSubflowIds)&&c.parallelSubflowIds.length>0?(d.parallelFlows=c.parallelSubflowIds.filter(a=>"string"==typeof a&&!!a),"number"==typeof c.concurrencyLimit&&c.concurrencyLimit>0&&(d.concurrencyLimit=c.concurrencyLimit),"string"==typeof c.joinSeparator&&(d.joinSeparator=c.joinSeparator),("fail-fast"===c.errorStrategy||"collect-all"===c.errorStrategy)&&(d.errorStrategy=c.errorStrategy)):"string"==typeof c.subflowId&&c.subflowId&&(d.flow=c.subflowId,!0===c.mapOverList&&(d.mapOverList=!0,("json-array"===c.itemSplit||"lines"===c.itemSplit)&&(d.itemSplit=c.itemSplit),!0===c.sequential&&(d.sequential=!0),"number"==typeof c.concurrencyLimit&&c.concurrencyLimit>0&&(d.concurrencyLimit=c.concurrencyLimit),"string"==typeof c.joinSeparator&&(d.joinSeparator=c.joinSeparator),("fail-fast"===c.errorStrategy||"collect-all"===c.errorStrategy)&&(d.errorStrategy=c.errorStrategy))),"string"==typeof c.inputMode&&(d.inputMode=c.inputMode),"string"==typeof c.outputMode&&(d.outputMode=c.outputMode),"string"==typeof c.promptTemplate&&c.promptTemplate&&(d.prompt=c.promptTemplate),!0===c.allowCallerPrompt&&(d.allowCallerPrompt=!0),"string"==typeof c.captureVariable&&c.captureVariable&&(d.captureVariable=c.captureVariable),"string"==typeof c.captureResource&&c.captureResource&&(d.captureResource=c.captureResource)):"resource"===b&&("run"===c.scope&&"string"==typeof c.runName&&c.runName?d.runName=c.runName:("string"==typeof c.boundServer&&c.boundServer&&(d.server=c.boundServer),"string"==typeof c.uri&&c.uri&&(d.uri=c.uri)));f.push(d)}let g=[];for(let a of c){if(a.data?.edgeType==="mcp"||!a.source||!a.target||d.has(a.source)||d.has(a.target))continue;let b=a.data;g.push({from:a.source,to:a.target,...b?.bidirectional?{bidirectional:!0}:{},...b?.condition?{condition:b.condition}:{}})}return{...a?.name?{name:a.name}:{},...a?.description?{description:a.description}:{},nodes:f,edges:g}}function v(a){for(let b of a.nodes){if("process"!==b.type)continue;let a=b.data.properties??{};void 0===a.inputMode&&(a.inputMode="latest-message"),void 0===a.outputMode&&(a.outputMode="latest-message"),b.data.properties=a}}},87821:(a,b,c)=>{c.d(b,{flowService:()=>w});var d=c(32524),e=c(92372),f=c(46480),g=c(50846),h=c(33873),i=c.n(h),j=c(29021),k=c(43326);let l=(0,g.h)("backend/services/flow/flowVersions");function m(a){return(0,e.ln)(a),`flow-versions/${a}`}async function n(a){try{let b=m(a.id),c=Date.now(),d=`${c}-${Math.random().toString(36).slice(2,6)}`,f={versionId:d,flowId:a.id,savedAt:c,flow:a};return await (0,e.Vt)(b,d,f),await o(a.id),d}catch(b){return l.warn(`Could not archive a version of flow ${a.id}`,b),null}}async function o(a){let b=m(a),c=await (0,e.pL)(b);if(!(c.length<=25))for(let d of c.sort((a,b)=>b.savedAt-a.savedAt).slice(25))try{await (0,e.bB)(b,d.versionId)}catch(b){l.warn(`Could not prune version ${d.versionId} of flow ${a}`,b)}}async function p(a){return(await (0,e.pL)(m(a))).sort((a,b)=>b.savedAt-a.savedAt).map(a=>({versionId:a.versionId,savedAt:a.savedAt,name:a.flow?.name??"unknown",nodeCount:a.flow?.nodes?.length??0,edgeCount:a.flow?.edges?.length??0}))}async function q(a,b){try{return await (0,e.EI)(m(a),b,null)}catch(c){return l.debug(`getFlowVersion: could not load ${a}/${b}`,c),null}}async function r(a){try{(0,e.ln)(a),await j.promises.rm(i().join((0,k.ok)(),"db","flow-versions",a),{recursive:!0,force:!0})}catch(b){l.warn(`Could not remove version history of flow ${a}`,b)}}let s=(0,g.h)("backend/services/flow/index"),t=f.Z.FLOWS;async function u(){return global.__flujo_flowsMigration||(global.__flujo_flowsMigration=(async()=>{try{await (0,e.w5)(f.Z.FLOWS,t,a=>a.id)}catch(a){s.error("Flow storage migration failed",a),global.__flujo_flowsMigration=void 0}})()),global.__flujo_flowsMigration}class v{get flowsCache(){return global.__flujo_flowsCache??null}set flowsCache(a){global.__flujo_flowsCache=a}async loadFlows(){try{if(this.flowsCache)return s.debug("Using cached flows"),this.flowsCache;s.debug("Loading flows from storage"),await u();let a=await (0,e.pL)(t);return this.flowsCache=a,s.info("Loaded flows from storage",{count:a.length}),a}catch(a){return s.error("Failed to load flows",a),[]}}async getFlow(a){try{s.debug(`Getting flow by ID: ${a}`);let b=this.flowsCache?.find(b=>b.id===a)||null;if(b)return s.debug(`Flow ${a} found in cache`),b;await u();let c=null;try{c=await (0,e.EI)(t,a,null)}catch(b){s.debug(`getFlow: could not load flow ${a}`,b),c=null}if(c&&this.flowsCache){let a=this.flowsCache,b=a.findIndex(a=>a.id===c.id);b>=0?a[b]=c:a.push(c),this.flowsCache=a}return s.debug(`Flow ${a} ${c?"found":"not found"}`),c}catch(b){return s.error(`Failed to get flow ${a}`,b),null}}async invalidateExecutionCache(a){try{let{FlowExecutor:b}=await Promise.all([c.e(6996),c.e(1223),c.e(5734),c.e(1373),c.e(264),c.e(724),c.e(4498)]).then(c.bind(c,44498));b.clearFlowCache(a),s.debug("Invalidated execution flow cache",{flowId:a??"all"})}catch(a){s.warn("Failed to invalidate execution flow cache",a)}}async saveFlow(a){try{s.debug(`Saving flow: ${a.id}`,{name:a.name}),(0,e.ln)(a.id),await u();let b=null;try{b=await (0,e.EI)(t,a.id,null)}catch(b){s.debug(`saveFlow: could not read previous definition of ${a.id} for versioning`,b)}b&&JSON.stringify(b)!==JSON.stringify(a)&&await n(b),await (0,e.Vt)(t,a.id,a);let c=this.flowsCache;if(c){let b=c.findIndex(b=>b.id===a.id);b>=0?c[b]=a:c.push(a),this.flowsCache=c}return await this.invalidateExecutionCache(a.id),s.info(`Flow ${a.id} saved successfully`),{success:!0}}catch(a){return s.error("Failed to save flow",a),{success:!1,error:a instanceof Error?a.message:"Failed to save flow"}}}async deleteFlow(a){try{s.debug(`Deleting flow: ${a}`),await u(),await (0,e.bB)(t,a);let b=this.flowsCache;return b&&(this.flowsCache=b.filter(b=>b.id!==a)),await this.invalidateExecutionCache(a),await r(a),s.info(`Flow ${a} deleted successfully`),{success:!0}}catch(b){return s.error(`Failed to delete flow: ${a}`,b),{success:!1,error:b instanceof Error?b.message:"Failed to delete flow"}}}async listFlowVersions(a){return p(a)}async getFlowVersion(a,b){return q(a,b)}async revertFlow(a,b){let c=await q(a,b);return c?this.saveFlow({...c.flow,id:a}):{success:!1,error:`No version "${b}" of flow ${a}`}}createNode(a,b){s.debug(`Creating new node of type: ${a}`,{position:b});let c={id:(0,d.A)(),type:a,position:b,data:{label:`${"mcp"===a?"MCP":a.charAt(0).toUpperCase()+a.slice(1)} Node`,type:a,properties:{}}};return s.debug(`Node created with ID: ${c.id}`),c}createNewFlow(a="NewFlow"){s.debug(`Creating new flow: ${a}`);let b={id:(0,d.A)(),type:"start",position:{x:250,y:150},data:{label:"Start Node",type:"start",properties:{promptTemplate:""}}},c={id:(0,d.A)(),name:a,nodes:[b],edges:[]};return s.info(`New flow created with ID: ${c.id}`,{name:a}),c}createHistoryEntry(a,b){return s.debug("Creating history entry",{nodeCount:a.length,edgeCount:b.length}),{nodes:[...a],edges:[...b]}}generateSampleFlow(a="Sample Flow"){s.debug(`Generating sample flow: ${a}`);let b={id:(0,d.A)(),name:a,nodes:[{id:"1",type:"start",position:{x:250,y:50},data:{label:"Start Node",type:"start",properties:{prompt:"Enter your query here",systemMessage:"You are a helpful assistant",temperature:0}}},{id:"2",type:"process",position:{x:250,y:200},data:{label:"Process Node",type:"process",properties:{operation:"transform",enabled:!0}}},{id:"3",type:"finish",position:{x:250,y:350},data:{label:"Finish Node",type:"finish",properties:{format:"json",template:'{ "result": {{data}} }'}}},{id:"4",type:"mcp",position:{x:450,y:200},data:{label:"MCP Node",type:"mcp",properties:{channels:2,mode:"parallel"}}}],edges:[{id:"e1-2",source:"1",target:"2",type:"custom"},{id:"e2-3",source:"2",target:"3",type:"custom"}]};return s.info(`Sample flow generated with ID: ${b.id}`,{name:a}),b}async listFlows(){s.debug("listFlows: Entering method");try{let a=await this.loadFlows();return{success:!0,flows:a}}catch(a){return s.warn("listFlows: Failed to list flows:",a),{success:!1,error:a instanceof Error?a.message:"Failed to list flows"}}}}let w=new v}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
exports.id=2430,exports.ids=[2430],exports.modules={8188:(a,b,c)=>{"use strict";c.d(b,{A:()=>K});var d=c(21124),e=c(38301),f=c(27114),g=c(79515),h=c(81637),i=c(43312),j=c(41893),k=c(30818),l=c(423),m=c(98463),n=c(44079),o=c(12033),p=c(91034),q=c(56667),r=c(96955),s=c(18467),t=c(76133),u=c(83434),v=c(19815),w=c(40512),x=c(83899),y=c(52327),z=c(8521),A=c(88745),B=c(91059),C=c(19925),D=c(68730),E=c(8165),F=c(65343);let G=({title:a,attempt:b})=>(0,d.jsxs)(h.default,{sx:{mb:2},children:[(0,d.jsxs)(h.default,{sx:{display:"flex",alignItems:"center",gap:1,mb:.5},children:[b.ok?(0,d.jsx)(E.A,{color:"success",fontSize:"small"}):(0,d.jsx)(F.A,{color:"error",fontSize:"small"}),(0,d.jsx)(g.default,{variant:"subtitle2",children:a}),"number"==typeof b.status&&(0,d.jsx)(j.A,{size:"small",label:`HTTP ${b.status}`}),(0,d.jsx)(j.A,{size:"small",variant:"outlined",label:`${b.durationMs} ms`})]}),b.ok?(0,d.jsxs)(g.default,{variant:"body2",color:"text.secondary",sx:{pl:3},children:["Response: ",b.content?`"${b.content}"`:"(empty)"]}):(0,d.jsxs)(h.default,{sx:{pl:3},children:[(0,d.jsx)(g.default,{variant:"body2",color:"error.main",children:b.error?.message}),(b.error?.code||b.error?.type)&&(0,d.jsxs)(g.default,{variant:"caption",color:"text.secondary",display:"block",children:[b.error?.type?`type: ${b.error.type}`:"",b.error?.type&&b.error?.code?" \xb7 ":"",b.error?.code?`code: ${b.error.code}`:""]}),b.error?.retryAfter&&(0,d.jsxs)(g.default,{variant:"caption",color:"text.secondary",display:"block",children:["retry-after: ",b.error.retryAfter,"s"]}),b.error?.body!==void 0&&(0,d.jsx)(h.default,{component:"pre",sx:{mt:.5,p:1,bgcolor:"action.hover",borderRadius:1,fontSize:"0.7rem",overflowX:"auto",maxHeight:160},children:JSON.stringify(b.error.body,null,2)})]})]}),H=({open:a,modelLabel:b,loading:c,result:e,error:f,onClose:i,onRetry:j})=>(0,d.jsxs)(w.A,{open:a,onClose:i,maxWidth:"sm",fullWidth:!0,children:[(0,d.jsxs)(x.A,{children:["Test model: ",b]}),(0,d.jsx)(y.A,{dividers:!0,children:c?(0,d.jsxs)(h.default,{sx:{display:"flex",alignItems:"center",gap:2,py:3},children:[(0,d.jsx)(z.default,{size:24}),(0,d.jsx)(g.default,{variant:"body2",children:"Sending a direct test request (SDK + axios)…"})]}):f?(0,d.jsx)(A.A,{severity:"error",children:f}):e?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(A.A,{severity:e.ok?"success":"warning",sx:{mb:2},children:e.diagnosis}),(0,d.jsxs)(g.default,{variant:"caption",color:"text.secondary",display:"block",sx:{mb:2},children:["model: ",e.model,e.baseUrl?` \xb7 ${e.baseUrl}`:"",e.provider?` \xb7 ${e.provider}`:""]}),(0,d.jsx)(B.A,{sx:{mb:2}}),(0,d.jsx)(G,{title:"OpenAI SDK (used by flows)",attempt:e.sdk}),(0,d.jsx)(G,{title:"axios (independent cross-check)",attempt:e.axios})]}):null}),(0,d.jsxs)(C.A,{children:[(0,d.jsx)(D.A,{onClick:j,disabled:c,children:"Run again"}),(0,d.jsx)(D.A,{onClick:i,variant:"contained",children:"Close"})]})]});var I=c(78352);let J=(0,v.h)("frontend/components/models/list/ModelCard"),K=({model:a,onEdit:b,onDelete:c,folder:v,folders:w=[],onSetFolder:x,selectable:y=!1,selected:z=!1,onSelect:A})=>{let[B,C]=(0,e.useState)(!1),[D,E]=(0,e.useState)(!1),[F,G]=(0,e.useState)(null),[K,L]=(0,e.useState)(null),[M,N]=(0,e.useState)(null),O=async()=>{E(!0),L(null),G(null);try{let b=await (0,u.X)().testModel({modelId:a.id});G(b)}catch(b){J.error("Model test failed",{modelId:a.id,error:b}),L(b instanceof Error?b.message:"Failed to run test")}finally{E(!1)}},P=(0,d.jsx)(d.Fragment,{children:(0,d.jsxs)(f.A,{sx:{flexGrow:1},children:[(0,d.jsx)(g.default,{variant:"h6",gutterBottom:!0,children:a.displayName||a.name}),(0,d.jsx)(g.default,{variant:"body2",color:"text.secondary",sx:{mb:2},style:{display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical",overflow:"hidden",textOverflow:"ellipsis"},children:a.description}),(0,d.jsxs)(h.default,{sx:{mb:1},children:[(0,d.jsxs)(g.default,{variant:"body2",color:"text.secondary",children:["Provider: ",(0,t.T_)(a.provider,a.adapter).label]}),a.displayName&&(0,d.jsxs)(g.default,{variant:"body2",color:"text.secondary",noWrap:!0,children:["Model: ",a.name]}),"number"==typeof a.contextWindow&&(0,d.jsxs)(g.default,{variant:"body2",color:"text.secondary",children:["Context: ",a.contextWindow.toLocaleString()," tokens"]})]}),a.baseUrl&&(0,d.jsx)(i.A,{title:a.baseUrl,arrow:!0,placement:"top",children:(0,d.jsxs)(g.default,{variant:"body2",color:"text.secondary",noWrap:!0,children:["Base URL: ",a.baseUrl]})}),v&&(0,d.jsx)(j.A,{icon:(0,d.jsx)(s.A,{}),label:v,size:"small",variant:"outlined",sx:{mt:1,maxWidth:"100%"}})]})});return y?(0,d.jsx)(k.A,{elevation:z?4:2,role:"radio","aria-checked":z,sx:{height:"100%",display:"flex",flexDirection:"column",border:a=>z?`2px solid ${a.palette.primary.main}`:"2px solid transparent",transition:"border-color 120ms, box-shadow 120ms"},children:(0,d.jsx)(l.A,{onClick:()=>A?.(a.id),sx:{height:"100%",display:"flex",flexDirection:"column",alignItems:"stretch"},children:P})}):(0,d.jsxs)(k.A,{elevation:2,sx:{height:"100%",display:"flex",flexDirection:"column"},children:[P,(0,d.jsxs)(m.A,{disableSpacing:!0,children:[(0,d.jsx)(i.A,{title:"Test model (direct SDK call, no flow)",arrow:!0,children:(0,d.jsx)(n.A,{"aria-label":"test",onClick:()=>{C(!0),O()},children:(0,d.jsx)(q.A,{})})}),(0,d.jsx)(n.A,{"aria-label":"edit",onClick:b,children:(0,d.jsx)(o.A,{})}),(0,d.jsx)(n.A,{"aria-label":"delete",onClick:c,children:(0,d.jsx)(p.A,{})}),x&&(0,d.jsx)(i.A,{title:"Move to folder…",arrow:!0,children:(0,d.jsx)(n.A,{"aria-label":"move to folder",onClick:a=>N(a.currentTarget),sx:{ml:"auto"},children:(0,d.jsx)(r.A,{})})})]}),x&&(0,d.jsx)(I.A,{anchorEl:M,open:!!M,currentFolder:v,folders:w,onClose:()=>N(null),onAssign:x}),(0,d.jsx)(H,{open:B,modelLabel:a.displayName||a.name,loading:D,result:F,error:K,onClose:()=>C(!1),onRetry:O})]})}},32640:(a,b,c)=>{"use strict";c.d(b,{Lg:()=>g,eZ:()=>i,fC:()=>f,h5:()=>j});var d=c(76133),e=c(7329);let f={"name-asc":"Name (A-Z)","name-desc":"Name (Z-A)",provider:"Provider","context-desc":"Context (largest)","context-asc":"Context (smallest)"},g=a=>a.displayName||a.name||"",h=a=>(0,d.T_)(a.provider,a.adapter).label;function i(a,b){switch(b){case"provider":{let b=h(a);return{key:`provider:${b}`,label:b}}case"context-asc":case"context-desc":var c;return"number"!=typeof(c=a.contextWindow)||Number.isNaN(c)?{key:"ctx:unknown",label:"Unknown context"}:c<=8e3?{key:"ctx:<=8k",label:"≤ 8K tokens"}:c<=32e3?{key:"ctx:8k-32k",label:"8K–32K tokens"}:c<=128e3?{key:"ctx:32k-128k",label:"32K–128K tokens"}:c<=1e6?{key:"ctx:128k-1m",label:"128K–1M tokens"}:{key:"ctx:>1m",label:"> 1M tokens"};default:return(0,e.po)(g(a))}}function j(a,b){return[...a].sort((a,c)=>{switch(b){case"name-asc":return g(a).localeCompare(g(c));case"name-desc":return g(c).localeCompare(g(a));case"provider":return h(a).localeCompare(h(c))||g(a).localeCompare(g(c));case"context-desc":case"context-asc":{let d="number"!=typeof a.contextWindow||Number.isNaN(a.contextWindow)?void 0:a.contextWindow,e="number"!=typeof c.contextWindow||Number.isNaN(c.contextWindow)?void 0:c.contextWindow;if(void 0===d&&void 0===e)return g(a).localeCompare(g(c));if(void 0===d)return 1;if(void 0===e)return -1;let f="context-desc"===b?e-d:d-e;return 0!==f?f:g(a).localeCompare(g(c))}default:return 0}})}},43010:()=>{},64535:(a,b,c)=>{"use strict";c.d(b,{A$:()=>j,X8:()=>g,YP:()=>k,js:()=>i});let d="_-_-_",e=/^(tool|resource):(.+)$/,f=/\$\{((?:tool|resource):[^}]+|_-_-_[^}]+)\}/g;function g(a,b,c){return`\${${a}:${b}__${c}}`}function h(a){let b=e.exec(a);if(b){let a=b[1],c=function(a){let b=a.indexOf("__");if(b<=0)return null;let c=a.slice(b+2);return c?{server:a.slice(0,b),name:c}:null}(b[2]);return c?{kind:a,server:c.server,name:c.name}:null}if(a.startsWith(d)){let b=a.split(d);if(3===b.length&&b[1]&&b[2])return{kind:"tool",server:b[1],name:b[2]}}return null}function i(a){return a.startsWith("${")&&a.endsWith("}")?h(a.slice(2,-1)):null}function j(a){let b,c=[];for(f.lastIndex=0;null!==(b=f.exec(a));){let a=h(b[1]);a&&c.push({...a,fullMatch:b[0],index:b.index})}return c}function k(a){var b,c;return"tool"===a.kind&&"handoff"===a.server?`handoff:${a.name}`:`${a.kind}:${b=a.server,c=a.name,`${b}__${c}`}`}},76133:(a,b,c)=>{"use strict";c.d(b,{T_:()=>e,xx:()=>d});let d=[{id:"openai",label:"OpenAI",provider:"openai",adapter:"openai",sdkLabel:"OpenAI SDK",baseUrl:"https://api.openai.com/v1",showBaseUrl:!0},{id:"openrouter",label:"OpenRouter",provider:"openrouter",adapter:"openai",sdkLabel:"OpenAI SDK",baseUrl:"https://openrouter.ai/api/v1",showBaseUrl:!0},{id:"requesty",label:"Requesty",provider:"requesty",adapter:"openai",sdkLabel:"OpenAI SDK",baseUrl:"https://router.requesty.ai/v1",showBaseUrl:!0},{id:"xai",label:"X.ai",provider:"xai",adapter:"openai",sdkLabel:"OpenAI SDK",baseUrl:"https://api.x.ai/v1",showBaseUrl:!0},{id:"ollama",label:"Ollama",provider:"ollama",adapter:"openai",sdkLabel:"OpenAI SDK",baseUrl:"http://localhost:11434/v1",showBaseUrl:!0},{id:"litellm",label:"LiteLLM",provider:"litellm",adapter:"openai",sdkLabel:"OpenAI SDK (via LiteLLM Proxy)",baseUrl:"http://localhost:4000/v1",showBaseUrl:!0},{id:"gemini-openai",label:"Gemini (OpenAI Format)",provider:"gemini",adapter:"openai",sdkLabel:"OpenAI SDK",baseUrl:"https://generativelanguage.googleapis.com/v1beta/openai/",showBaseUrl:!0},{id:"gemini-native",label:"Gemini (Native)",provider:"gemini",adapter:"gemini",sdkLabel:"GenAI SDK",baseUrl:"",showBaseUrl:!1,defaultModels:["gemini-2.5-pro","gemini-2.5-flash","gemini-2.5-flash-lite","gemini-2.0-flash"]},{id:"anthropic-openai",label:"Anthropic (OpenAI Format)",provider:"anthropic",adapter:"openai",sdkLabel:"OpenAI SDK",baseUrl:"https://api.anthropic.com/v1/",showBaseUrl:!0},{id:"anthropic-native",label:"Anthropic (Native)",provider:"anthropic",adapter:"anthropic",sdkLabel:"Anthropic SDK",baseUrl:"",showBaseUrl:!1,defaultModels:["claude-opus-4-8","claude-sonnet-4-6","claude-haiku-4-5-20251001","claude-fable-5"]},{id:"claude-subscription",label:"Claude Subscription",provider:"claude-subscription",adapter:"claude-cli",sdkLabel:"Claude CLI",baseUrl:"",showBaseUrl:!1,defaultModels:["opus","sonnet","haiku","fable"]}];function e(a,b){let c=a||"openai",e=b||"openai";return d.find(a=>a.provider===c&&a.adapter===e)||d.find(a=>a.provider===c)||d[0]}},85838:(a,b,c)=>{"use strict";c.d(b,{A:()=>C});var d=c(21124),e=c(38301),f=c(19815),g=c(90647),h=c(49257),i=c(74576),j=c(81637),k=c(79515),l=c(48317),m=c(7499),n=c(54573),o=c(9604),p=c(22813),q=c(28055);c(43010);var r=c(64535);let s=(0,f.h)("frontend/components/shared/PromptBuilder"),t=a=>{s.debug("Deserializing markdown to Slate value");let b=a.split("\n").map(a=>({type:"paragraph",children:(a=>{let b=(0,r.A$)(a);if(0===b.length)return[{text:a}];let c=[],d=0;for(let e of b)e.index>d&&c.push({text:a.slice(d,e.index)}),c.push({type:"binding-reference",kind:e.kind,server:e.server,name:e.name,children:[{text:""}]}),d=e.index+e.fullMatch.length;return d<a.length&&c.push({text:a.slice(d)}),c})(a)}));return b.length>0?b:[{type:"paragraph",children:[{text:""}]}]},u=a=>{s.debug("Serializing Slate value to markdown");let b=0,c=a.map(a=>a.children?a.children.map(a=>g.EY.isText(a)?a.text:"binding-reference"===a.type?(b++,(0,r.X8)(a.kind,a.server,a.name)):"").join(""):"").join("\n");return b>0&&s.debug(`Serialized ${b} binding references`),c},v=a=>{let{attributes:b,children:c,element:e}=a;return"binding-reference"===e.type?(0,d.jsxs)("span",{...b,className:"tool-reference-wrapper",children:[(0,d.jsx)(()=>{let a=(0,h.Zi)(),b=(a=>"tool"===a.kind&&"handoff"===a.server)(e),c="resource"===e.kind?"resource":b?"handoff":"",f=()=>{let b=h.rL.findPath(a,e);s.debug(`Removing binding reference: ${e.kind}:${e.server}:${e.name}`),g.gB.removeNodes(a,{at:b})};return(0,d.jsxs)("span",{contentEditable:!1,className:`tool-reference-container ${c}`,children:[(0,d.jsx)("span",{className:`tool-reference ${c}`,children:(0,r.YP)(e)}),(0,d.jsx)("span",{className:`tool-reference-delete ${c}`,role:"button",tabIndex:0,onClick:a=>{a.preventDefault(),a.stopPropagation(),f()},onKeyDown:a=>{("Enter"===a.key||" "===a.key)&&(a.preventDefault(),a.stopPropagation(),f())},children:"\xd7"})]})},{}),c," "]}):(0,d.jsx)("p",{...b,children:c})},w=a=>{let{attributes:b,children:c,leaf:e}=a,f=c;return e.bold&&(f=(0,d.jsx)("strong",{children:f})),e.italic&&(f=(0,d.jsx)("em",{children:f})),e.code&&(f=(0,d.jsx)("code",{children:f})),(0,d.jsx)("span",{...b,children:f})},x=({server:a,name:b})=>{let c="handoff"===a,[f,g]=(0,e.useState)(null),[h,i]=(0,e.useState)(!0);return((0,e.useEffect)(()=>{let c=!1;return(async()=>{try{i(!0);let d=await q.S.listServerTools(a),e=d.tools?.find(a=>a.name===b);c||g(e||null)}catch(c){s.error(`Failed to fetch tool info for ${a}:${b}`,c)}finally{c||i(!1)}})(),()=>{c=!0}},[a,b]),h)?(0,d.jsx)("span",{className:`tool-reference-preview loading ${c?"handoff":""}`,children:`tool:${a}__${b}`}):f?(0,d.jsxs)("span",{className:`tool-reference-preview ${c?"handoff":""}`,children:["[The user is referencing a ",c?"handoff":"tool"," `tool:",a,"__",b,"` (",f.description||"No description",")]"]}):(0,d.jsx)("span",{className:`tool-reference-preview not-found ${c?"handoff":""}`,children:`tool:${a}__${b} (Tool not found)`})},y=({server:a,name:b})=>{let[c,f]=(0,e.useState)(null),[g,h]=(0,e.useState)(!0);return((0,e.useEffect)(()=>{let c=!1;return(async()=>{try{h(!0);let d=await q.S.listServerResources(a),e=[...d.resources||[],...d.resourceTemplates||[]].find(a=>a.uri===b||a.uriTemplate===b);c||f(e?.description||e?.name||null)}catch(c){s.error(`Failed to fetch resource info for ${a}:${b}`,c)}finally{c||h(!1)}})(),()=>{c=!0}},[a,b]),g)?(0,d.jsx)("span",{className:"tool-reference-preview loading resource",children:`resource:${a}__${b}`}):(0,d.jsxs)("span",{className:"tool-reference-preview resource",children:["[The contents of resource `",b,"` from `",a,"`",c?` (${c})`:""," will be inserted here]"]})},z=({binding:a})=>"resource"===a.kind?(0,d.jsx)(y,{server:a.server,name:a.name}):(0,d.jsx)(x,{server:a.server,name:a.name}),A=({value:a})=>{s.debug("Rendering preview");let b=[],c=0;for(let d of(0,r.A$)(a))d.index>c&&b.push({type:"text",value:a.slice(c,d.index)}),b.push({type:"binding",binding:d,key:d.index}),c=d.index+d.fullMatch.length;c<a.length&&b.push({type:"text",value:a.slice(c)});let e=[],f=[],g=()=>{e.push((0,d.jsx)("p",{children:f},`p-${e.length}`)),f=[]};for(let a of b)if("text"===a.type){let b=a.value.split("\n");for(let a=0;a<b.length;a++)f.push(b[a]),a<b.length-1&&g()}else f.push((0,d.jsx)(z,{binding:a.binding},`binding-${a.key}`));return f.length>0&&g(),(0,d.jsx)("div",{className:"preview-content",children:e})},B=(0,e.forwardRef)(({value:a,onChange:b,label:c="Prompt Builder",height:f=300,onModeChange:q,customPreviewRenderer:x},y)=>{s.info("PromptBuilder initialized");let z=(0,e.useMemo)(()=>{let a=(0,i.$k)((0,h.o$)((0,g.ie)())),{isInline:b,isVoid:c}=a;return a.isInline=a=>"binding-reference"===a.type||b(a),a.isVoid=a=>"binding-reference"===a.type||c(a),a},[]),[B,C]=(0,e.useState)("raw"),[D,E]=(0,e.useState)(()=>t(a||"")),F=(0,e.useRef)(!1),[,G]=(0,e.useState)(0);(0,e.useImperativeHandle)(y,()=>({insertText:a=>{s.info(`insertText called with text length: ${a.length}`);let c=(0,r.js)(a);if(c){s.info(`Inserting ${c.kind} reference: ${c.server}:${c.name}`);let a={type:"binding-reference",kind:c.kind,server:c.server,name:c.name,children:[{text:""}]};z.selection||g.gB.select(z,g.KE.end(z,[])),g.gB.insertNodes(z,a),g.gB.move(z),G(a=>a+1),E([...z.children])}else z.selection||g.gB.select(z,g.KE.end(z,[])),g.gB.insertText(z,a);b(u(z.children)),s.info("insertText completed successfully")},getMode:()=>B})),(0,e.useEffect)(()=>{u(D)!==u(t(a||""))&&(s.debug("External value change detected"),F.current=!0,E(t(a||"")))},[a,D]);let H=(0,e.useCallback)(a=>{if(F.current){F.current=!1;return}E(a),b(u(a))},[b]);return(0,d.jsxs)(j.default,{sx:{width:"100%",height:"100%",display:"flex",flexDirection:"column"},children:[c&&(0,d.jsx)(k.default,{variant:"subtitle1",gutterBottom:!0,sx:{fontWeight:"medium",mb:1},children:c}),(0,d.jsx)(j.default,{sx:{mb:1},children:(0,d.jsxs)(l.A,{value:B,exclusive:!0,onChange:(a,b)=>{null!==b&&(s.info(`Mode changed from ${B} to ${b}`),C(b),q&&q(b))},size:"small",children:[(0,d.jsxs)(m.A,{value:"raw",children:[(0,d.jsx)(o.A,{fontSize:"small",sx:{mr:.5}}),"Raw"]}),(0,d.jsxs)(m.A,{value:"preview",children:[(0,d.jsx)(p.A,{fontSize:"small",sx:{mr:.5}}),"Preview"]})]})}),(0,d.jsx)(n.A,{elevation:0,sx:{border:"1px solid rgba(0, 0, 0, 0.12)",borderRadius:1,overflow:"hidden",flexGrow:1,display:"flex",flexDirection:"column"},children:"raw"===B?(0,d.jsx)(j.default,{className:"slate-editor-container",sx:{height:"number"==typeof f?f:"100%",overflow:"auto",p:2},children:(0,d.jsx)(h.A,{editor:z,initialValue:D,onChange:H,children:(0,d.jsx)(h.Fo,{className:"slate-editor",renderElement:v,renderLeaf:w,placeholder:"Write your prompt here..."})})}):x?(0,d.jsx)(j.default,{className:"custom-preview-container",sx:{height:"number"==typeof f?f:"100%",overflow:"auto"},children:x()}):(0,d.jsx)(j.default,{className:"preview-container",sx:{height:"number"==typeof f?f:"100%",overflow:"auto",p:2},children:(0,d.jsx)(A,{value:a})})})]})});B.displayName="PromptBuilder";let C=B}};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
exports.id=3574,exports.ids=[3574,3953,7821],exports.modules={3676:(a,b,c)=>{"use strict";c.d(b,{Wj:()=>h,ln:()=>g});var d=c(10641),e=c(58739);let f="encryption_locked";async function g(){return(0,e.isEncryptionLocked)()}async function h(a){return await g()?a?.openai?d.NextResponse.json({error:{message:"Encryption is locked. Unlock FLUJO to continue.",type:f,code:f,param:null}},{status:423}):d.NextResponse.json({error:f},{status:423}):null}},37426:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"40ec842092ea232b6d4aa599a380d422184da5e1ca":()=>d.c,"602ea7ca289a8eaa1000fb321a71e292e6c766b6bb":()=>d.G});var d=c(73456)},48312:(a,b,c)=>{"use strict";c.d(b,{cA:()=>p});var d=c(10641),e=c(50846),f=c(44498),g=c(38291),h=c(99978),i=c(57214),j=c(14214),k=c(20433);let l=(0,e.h)("app/v1/chat/completions/chatCompletionService");function m(a){return Math.ceil((a||"").length/4)}let n=g.n;async function o(a,b,c,e,f,g=!1,j=!1){let k=Date.now();l.info("Processing chat completion request",{model:a.model,messageCount:a.messages?.length||0,stream:a.stream,flujo:b,requireApproval:c,flujodebug:e,conversationId:f});let n=await (0,i.runFlow)({modelName:a.model,messages:a.messages,processNodeId:a.processNodeId,mode:"conversation",conversationId:f,flujo:b,requireApproval:c,debug:e,continueDebug:g,userTurn:j});if(n.flowNotFound)return d.NextResponse.json({error:{message:`Flow not found: ${n.flowNotFound.name}`,type:"invalid_request_error",code:"flow_not_found"}},{status:400});if("paused_debug"===n.status)return l.info(`Returning paused debug state for conv ${n.conversationId}`),d.NextResponse.json({status:"paused_debug",conversation_id:n.conversationId,debugState:n.sharedState});if("error"===n.status){let a=n.error?.message??"Unknown error during execution",b=n.error?.details??{message:a},c=n.error?.statusCode??500;return l.error(`Returning error response for conv ${n.conversationId}`,{errorMessage:a,errorDetails:b,statusCode:c}),d.NextResponse.json({error:{message:a,type:b.type||"api_error",code:b.code||"internal_error",param:b.param,details:b}},{status:c})}let p={role:"assistant",content:n.outputText,tool_calls:n.toolCalls},q="stop";"awaiting_tool_approval"===n.sharedState.status?q="stop":n.finalAction===h.Jp&&p.tool_calls&&p.tool_calls.length>0?q="tool_calls":n.finalAction===h.E5&&(q="length");let r=m(n.messages.map(a=>a.content||"").join("\n")),s=m(n.outputText),t={id:`chatcmpl-${Date.now()}`,object:"chat.completion",created:Math.floor(k/1e3),model:a.model,choices:[{index:0,message:p,finish_reason:q}],usage:{prompt_tokens:r,completion_tokens:s,total_tokens:r+s},messages:n.messages,conversation_id:n.conversationId,status:n.sharedState.status||(n.finalAction===h.g4?"completed":"running"),pendingToolCalls:n.sharedState.pendingToolCalls};return l.info(`Returning success response for conv ${n.conversationId}`,{action:n.finalAction,status:t.status,flujo:b,requireApproval:c,flujodebug:e,finish_reason:q}),l.verbose(`Final response data for conv ${n.conversationId}`,t),d.NextResponse.json(t)}async function p(a,b,c,d,e,g=!1,h=!1){if("string"==typeof a.model&&a.model.startsWith("model-"))return(b||c||d||e)&&l.debug("Ignoring flow-only flags on a direct model completion",{flujo:b,requireApproval:c,flujodebug:d,conversationId:e}),q(a);if(!0!==a.stream)return o(a,b,c,d,e,g,h);{let i=e||crypto.randomUUID();return l.info(`Streaming requested for conversation ${i}. Starting async processing.`),o(a,b,c,d,i,g,h).catch(a=>{l.error(`Error in background processing for conversation ${i}:`,a);let b=f.FlowExecutor.conversationStates.get(i);b&&(b.status="error",b.lastResponse={success:!1,error:a instanceof Error?a.message:String(a)},f.FlowExecutor.conversationStates.set(i,b),n(`conversations/${i}`,b).catch(a=>{l.error(`Failed to save error state for conversation ${i}:`,a)})),j.$.emitterFor(i)({type:"run:done",status:"error"})}),function(a,b){let c=new TextEncoder,d=`chatcmpl-${Date.now()}`,e=Math.floor(Date.now()/1e3);return l.debug("create streaming response (event-bus driven)",{conversationId:b}),new Response(new ReadableStream({start(g){let h=!1,i=null,k=-1,l=a=>{g.enqueue(c.encode(`data: ${JSON.stringify(a)}
|
|
2
|
-
|
|
3
|
-
`))},m=(b,c)=>({id:d,object:"chat.completion.chunk",created:e,model:a,choices:[{index:0,delta:b,finish_reason:c}]}),n=a=>{if(h)return;h=!0;let d="error"===a?"error":"stop";l(m({content:"",conversation:f.FlowExecutor.conversationStates.get(b)},d)),l(m({},d)),g.enqueue(c.encode("data: [DONE]\n\n")),i&&i();try{g.close()}catch{}},o=a=>{if(!h&&!(a.seq<=k))if(k=a.seq,"message"===a.type){let b=a.message;b&&"assistant"===b.role&&"string"==typeof b.content&&b.content.length>0&&l(m({content:b.content},null))}else"run:done"===a.type?n("error"===a.status?"error":"completed"):("run:awaiting_approval"===a.type||"run:paused"===a.type)&&n("stop")};for(let a of(l(m({role:"assistant",content:""},null)),i=j.$.subscribe(b,o),j.$.getBufferedSince(b,0)))o(a);if(!h){let a=f.FlowExecutor.conversationStates.get(b);a&&("completed"===a.status||"error"===a.status)&&n("error"===a.status?"error":"completed")}}}),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}(a.model,i)}}async function q(a){let b=a.model.slice(6);l.info("Processing direct model completion",{model:a.model,messageCount:a.messages?.length||0,stream:a.stream,hasTools:!!(a.tools&&a.tools.length>0)});let c=await k.modelService.generateChatCompletion({modelIdentifier:b,messages:a.messages,temperature:a.temperature,tools:a.tools});return c.success?!0===a.stream?function(a,b){let c=new TextEncoder,d=b.id||`chatcmpl-${Date.now()}`,e=b.created||Math.floor(Date.now()/1e3),f=b.choices?.[0],g=f?.finish_reason??"stop";return new Response(new ReadableStream({start(b){let h=a=>{b.enqueue(c.encode(`data: ${JSON.stringify(a)}
|
|
4
|
-
|
|
5
|
-
`))},i=(b,c)=>({id:d,object:"chat.completion.chunk",created:e,model:a,choices:[{index:0,delta:b,finish_reason:c}]});h(i({role:"assistant",content:""},null));let j="string"==typeof f?.message?.content?f.message.content:"";j.length>0&&h(i({content:j},null));let k=f?.message?.tool_calls;k&&k.length>0&&h(i({tool_calls:k.map((a,b)=>({index:b,...a}))},null)),h(i({},g)),b.enqueue(c.encode("data: [DONE]\n\n")),b.close()}}),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}(a.model,c.completion):d.NextResponse.json(c.completion):(l.warn("Direct model completion failed",{model:a.model,code:c.error.code,statusCode:c.statusCode}),d.NextResponse.json({error:{message:c.error.message,type:c.error.type,code:c.error.code,param:c.error.param??null}},{status:c.statusCode}))}},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}.
|
|
6
|
-
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(b,"D",{enumerable:!0,get:function(){return c}})},68633:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{decryptActionBoundArgs:function(){return s},encryptActionBoundArgs:function(){return r}}),c(77925);let d=c(97954),e=c(27825),f=c(47686),g=c(77533),h=c(63033),i=c(26906),j=function(a){return a&&a.__esModule?a:{default:a}}(c(74515)),k=new TextEncoder,l=new TextDecoder,m=void 0,n=void 0;async function o(a,b){let c=await (0,g.getActionEncryptionKey)();if(void 0===c)throw Object.defineProperty(Error("Missing encryption key for Server Action. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E65",enumerable:!1,configurable:!0});let d=atob(b),e=d.slice(0,16),f=d.slice(16),h=l.decode(await (0,g.decrypt)(c,(0,g.stringToUint8Array)(e),(0,g.stringToUint8Array)(f)));if(!h.startsWith(a))throw Object.defineProperty(Error("Invalid Server Action payload: failed to decrypt."),"__NEXT_ERROR_CODE",{value:"E191",enumerable:!1,configurable:!0});return h.slice(a.length)}async function p(a,b){let c=await (0,g.getActionEncryptionKey)();if(void 0===c)throw Object.defineProperty(Error("Missing encryption key for Server Action. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E65",enumerable:!1,configurable:!0});let d=new Uint8Array(16);h.workUnitAsyncStorage.exit(()=>crypto.getRandomValues(d));let e=(0,g.arrayBufferToString)(d.buffer),f=await (0,g.encrypt)(c,d,k.encode(a+b));return btoa(e+(0,g.arrayBufferToString)(f))}var q=function(a){return a[a.Ready=0]="Ready",a[a.Pending=1]="Pending",a[a.Complete=2]="Complete",a}(q||{});let r=j.default.cache(async function a(b,...c){let e=h.workUnitAsyncStorage.getStore(),j=e?(0,h.getCacheSignal)(e):void 0,{clientModules:k}=(0,g.getClientReferenceManifestForRsc)(),l=Error();Error.captureStackTrace(l,a);let n=!1,o=e?(0,i.createHangingInputAbortSignal)(e):void 0,q=0;function r(){0===q&&(q=1,null==j||j.beginRead())}function s(){1===q&&(null==j||j.endRead()),q=2}o&&j&&o.addEventListener("abort",r,{once:!0});let t=await (0,f.streamToString)((0,d.renderToReadableStream)(c,k,{filterStackFrame:m,signal:o,onError(a){(null==o||!o.aborted)&&(n||(n=!0,l.message=a instanceof Error?a.message:String(a)))}}),o);if(n)throw s(),l;if(!e)return p(b,t);r();let u=(0,h.getPrerenderResumeDataCache)(e),v=(0,h.getRenderResumeDataCache)(e),w=b+t,x=(null==u?void 0:u.encryptedBoundArgs.get(w))??(null==v?void 0:v.encryptedBoundArgs.get(w));if(x)return x;let y=await p(b,t);return s(),null==u||u.encryptedBoundArgs.set(w,y),y});async function s(a,b){let c,d=await b,f=h.workUnitAsyncStorage.getStore();if(f){let b=(0,h.getCacheSignal)(f),e=(0,h.getPrerenderResumeDataCache)(f),g=(0,h.getRenderResumeDataCache)(f);(c=(null==e?void 0:e.decryptedBoundArgs.get(d))??(null==g?void 0:g.decryptedBoundArgs.get(d)))||(null==b||b.beginRead(),c=await o(a,d),null==b||b.endRead(),null==e||e.decryptedBoundArgs.set(d,c))}else c=await o(a,d);let{edgeRscModuleMapping:i,rscModuleMapping:j}=(0,g.getClientReferenceManifestForRsc)();return await (0,e.createFromReadableStream)(new ReadableStream({start(a){switch(a.enqueue(k.encode(c)),null==f?void 0:f.type){case"prerender":case"prerender-runtime":f.renderSignal.aborted?a.close():f.renderSignal.addEventListener("abort",()=>a.close(),{once:!0});break;case"prerender-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":case void 0:return a.close()}}}),{findSourceMapURL:n,serverConsumerManifest:{moduleLoading:null,moduleMap:j,serverModuleMap:(0,g.getServerModuleMap)()}})}},73456:(a,b,c)=>{"use strict";c.d(b,{G:()=>l,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:()=>{},87821:(a,b,c)=>{"use strict";c.d(b,{flowService:()=>w});var d=c(32524),e=c(92372),f=c(46480),g=c(50846),h=c(33873),i=c.n(h),j=c(29021),k=c(43326);let l=(0,g.h)("backend/services/flow/flowVersions");function m(a){return(0,e.ln)(a),`flow-versions/${a}`}async function n(a){try{let b=m(a.id),c=Date.now(),d=`${c}-${Math.random().toString(36).slice(2,6)}`,f={versionId:d,flowId:a.id,savedAt:c,flow:a};return await (0,e.Vt)(b,d,f),await o(a.id),d}catch(b){return l.warn(`Could not archive a version of flow ${a.id}`,b),null}}async function o(a){let b=m(a),c=await (0,e.pL)(b);if(!(c.length<=25))for(let d of c.sort((a,b)=>b.savedAt-a.savedAt).slice(25))try{await (0,e.bB)(b,d.versionId)}catch(b){l.warn(`Could not prune version ${d.versionId} of flow ${a}`,b)}}async function p(a){return(await (0,e.pL)(m(a))).sort((a,b)=>b.savedAt-a.savedAt).map(a=>({versionId:a.versionId,savedAt:a.savedAt,name:a.flow?.name??"unknown",nodeCount:a.flow?.nodes?.length??0,edgeCount:a.flow?.edges?.length??0}))}async function q(a,b){try{return await (0,e.EI)(m(a),b,null)}catch(c){return l.debug(`getFlowVersion: could not load ${a}/${b}`,c),null}}async function r(a){try{(0,e.ln)(a),await j.promises.rm(i().join((0,k.ok)(),"db","flow-versions",a),{recursive:!0,force:!0})}catch(b){l.warn(`Could not remove version history of flow ${a}`,b)}}let s=(0,g.h)("backend/services/flow/index"),t=f.Z.FLOWS;async function u(){return global.__flujo_flowsMigration||(global.__flujo_flowsMigration=(async()=>{try{await (0,e.w5)(f.Z.FLOWS,t,a=>a.id)}catch(a){s.error("Flow storage migration failed",a),global.__flujo_flowsMigration=void 0}})()),global.__flujo_flowsMigration}class v{get flowsCache(){return global.__flujo_flowsCache??null}set flowsCache(a){global.__flujo_flowsCache=a}async loadFlows(){try{if(this.flowsCache)return s.debug("Using cached flows"),this.flowsCache;s.debug("Loading flows from storage"),await u();let a=await (0,e.pL)(t);return this.flowsCache=a,s.info("Loaded flows from storage",{count:a.length}),a}catch(a){return s.error("Failed to load flows",a),[]}}async getFlow(a){try{s.debug(`Getting flow by ID: ${a}`);let b=this.flowsCache?.find(b=>b.id===a)||null;if(b)return s.debug(`Flow ${a} found in cache`),b;await u();let c=null;try{c=await (0,e.EI)(t,a,null)}catch(b){s.debug(`getFlow: could not load flow ${a}`,b),c=null}if(c&&this.flowsCache){let a=this.flowsCache,b=a.findIndex(a=>a.id===c.id);b>=0?a[b]=c:a.push(c),this.flowsCache=a}return s.debug(`Flow ${a} ${c?"found":"not found"}`),c}catch(b){return s.error(`Failed to get flow ${a}`,b),null}}async invalidateExecutionCache(a){try{let{FlowExecutor:b}=await Promise.all([c.e(6996),c.e(1223),c.e(5734),c.e(1373),c.e(264),c.e(724),c.e(4498)]).then(c.bind(c,44498));b.clearFlowCache(a),s.debug("Invalidated execution flow cache",{flowId:a??"all"})}catch(a){s.warn("Failed to invalidate execution flow cache",a)}}async saveFlow(a){try{s.debug(`Saving flow: ${a.id}`,{name:a.name}),(0,e.ln)(a.id),await u();let b=null;try{b=await (0,e.EI)(t,a.id,null)}catch(b){s.debug(`saveFlow: could not read previous definition of ${a.id} for versioning`,b)}b&&JSON.stringify(b)!==JSON.stringify(a)&&await n(b),await (0,e.Vt)(t,a.id,a);let c=this.flowsCache;if(c){let b=c.findIndex(b=>b.id===a.id);b>=0?c[b]=a:c.push(a),this.flowsCache=c}return await this.invalidateExecutionCache(a.id),s.info(`Flow ${a.id} saved successfully`),{success:!0}}catch(a){return s.error("Failed to save flow",a),{success:!1,error:a instanceof Error?a.message:"Failed to save flow"}}}async deleteFlow(a){try{s.debug(`Deleting flow: ${a}`),await u(),await (0,e.bB)(t,a);let b=this.flowsCache;return b&&(this.flowsCache=b.filter(b=>b.id!==a)),await this.invalidateExecutionCache(a),await r(a),s.info(`Flow ${a} deleted successfully`),{success:!0}}catch(b){return s.error(`Failed to delete flow: ${a}`,b),{success:!1,error:b instanceof Error?b.message:"Failed to delete flow"}}}async listFlowVersions(a){return p(a)}async getFlowVersion(a,b){return q(a,b)}async revertFlow(a,b){let c=await q(a,b);return c?this.saveFlow({...c.flow,id:a}):{success:!1,error:`No version "${b}" of flow ${a}`}}createNode(a,b){s.debug(`Creating new node of type: ${a}`,{position:b});let c={id:(0,d.A)(),type:a,position:b,data:{label:`${"mcp"===a?"MCP":a.charAt(0).toUpperCase()+a.slice(1)} Node`,type:a,properties:{}}};return s.debug(`Node created with ID: ${c.id}`),c}createNewFlow(a="NewFlow"){s.debug(`Creating new flow: ${a}`);let b={id:(0,d.A)(),type:"start",position:{x:250,y:150},data:{label:"Start Node",type:"start",properties:{promptTemplate:""}}},c={id:(0,d.A)(),name:a,nodes:[b],edges:[]};return s.info(`New flow created with ID: ${c.id}`,{name:a}),c}createHistoryEntry(a,b){return s.debug("Creating history entry",{nodeCount:a.length,edgeCount:b.length}),{nodes:[...a],edges:[...b]}}generateSampleFlow(a="Sample Flow"){s.debug(`Generating sample flow: ${a}`);let b={id:(0,d.A)(),name:a,nodes:[{id:"1",type:"start",position:{x:250,y:50},data:{label:"Start Node",type:"start",properties:{prompt:"Enter your query here",systemMessage:"You are a helpful assistant",temperature:0}}},{id:"2",type:"process",position:{x:250,y:200},data:{label:"Process Node",type:"process",properties:{operation:"transform",enabled:!0}}},{id:"3",type:"finish",position:{x:250,y:350},data:{label:"Finish Node",type:"finish",properties:{format:"json",template:'{ "result": {{data}} }'}}},{id:"4",type:"mcp",position:{x:450,y:200},data:{label:"MCP Node",type:"mcp",properties:{channels:2,mode:"parallel"}}}],edges:[{id:"e1-2",source:"1",target:"2",type:"custom"},{id:"e2-3",source:"2",target:"3",type:"custom"}]};return s.info(`Sample flow generated with ID: ${b.id}`,{name:a}),b}async listFlows(){s.debug("listFlows: Entering method");try{let a=await this.loadFlows();return{success:!0,flows:a}}catch(a){return s.warn("listFlows: Failed to list flows:",a),{success:!1,error:a instanceof Error?a.message:"Failed to list flows"}}}}let w=new v},96487:()=>{}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
exports.id=3953,exports.ids=[3953,7821],exports.modules={3676:(a,b,c)=>{"use strict";c.d(b,{Wj:()=>h,ln:()=>g});var d=c(10641),e=c(58739);let f="encryption_locked";async function g(){return(0,e.isEncryptionLocked)()}async function h(a){return await g()?a?.openai?d.NextResponse.json({error:{message:"Encryption is locked. Unlock FLUJO to continue.",type:f,code:f,param:null}},{status:423}):d.NextResponse.json({error:f},{status:423}):null}},37426:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"40ec842092ea232b6d4aa599a380d422184da5e1ca":()=>d.c,"602ea7ca289a8eaa1000fb321a71e292e6c766b6bb":()=>d.G});var d=c(73456)},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)},78335:()=>{},87821:(a,b,c)=>{"use strict";c.d(b,{flowService:()=>w});var d=c(32524),e=c(92372),f=c(46480),g=c(50846),h=c(33873),i=c.n(h),j=c(29021),k=c(43326);let l=(0,g.h)("backend/services/flow/flowVersions");function m(a){return(0,e.ln)(a),`flow-versions/${a}`}async function n(a){try{let b=m(a.id),c=Date.now(),d=`${c}-${Math.random().toString(36).slice(2,6)}`,f={versionId:d,flowId:a.id,savedAt:c,flow:a};return await (0,e.Vt)(b,d,f),await o(a.id),d}catch(b){return l.warn(`Could not archive a version of flow ${a.id}`,b),null}}async function o(a){let b=m(a),c=await (0,e.pL)(b);if(!(c.length<=25))for(let d of c.sort((a,b)=>b.savedAt-a.savedAt).slice(25))try{await (0,e.bB)(b,d.versionId)}catch(b){l.warn(`Could not prune version ${d.versionId} of flow ${a}`,b)}}async function p(a){return(await (0,e.pL)(m(a))).sort((a,b)=>b.savedAt-a.savedAt).map(a=>({versionId:a.versionId,savedAt:a.savedAt,name:a.flow?.name??"unknown",nodeCount:a.flow?.nodes?.length??0,edgeCount:a.flow?.edges?.length??0}))}async function q(a,b){try{return await (0,e.EI)(m(a),b,null)}catch(c){return l.debug(`getFlowVersion: could not load ${a}/${b}`,c),null}}async function r(a){try{(0,e.ln)(a),await j.promises.rm(i().join((0,k.ok)(),"db","flow-versions",a),{recursive:!0,force:!0})}catch(b){l.warn(`Could not remove version history of flow ${a}`,b)}}let s=(0,g.h)("backend/services/flow/index"),t=f.Z.FLOWS;async function u(){return global.__flujo_flowsMigration||(global.__flujo_flowsMigration=(async()=>{try{await (0,e.w5)(f.Z.FLOWS,t,a=>a.id)}catch(a){s.error("Flow storage migration failed",a),global.__flujo_flowsMigration=void 0}})()),global.__flujo_flowsMigration}class v{get flowsCache(){return global.__flujo_flowsCache??null}set flowsCache(a){global.__flujo_flowsCache=a}async loadFlows(){try{if(this.flowsCache)return s.debug("Using cached flows"),this.flowsCache;s.debug("Loading flows from storage"),await u();let a=await (0,e.pL)(t);return this.flowsCache=a,s.info("Loaded flows from storage",{count:a.length}),a}catch(a){return s.error("Failed to load flows",a),[]}}async getFlow(a){try{s.debug(`Getting flow by ID: ${a}`);let b=this.flowsCache?.find(b=>b.id===a)||null;if(b)return s.debug(`Flow ${a} found in cache`),b;await u();let c=null;try{c=await (0,e.EI)(t,a,null)}catch(b){s.debug(`getFlow: could not load flow ${a}`,b),c=null}if(c&&this.flowsCache){let a=this.flowsCache,b=a.findIndex(a=>a.id===c.id);b>=0?a[b]=c:a.push(c),this.flowsCache=a}return s.debug(`Flow ${a} ${c?"found":"not found"}`),c}catch(b){return s.error(`Failed to get flow ${a}`,b),null}}async invalidateExecutionCache(a){try{let{FlowExecutor:b}=await Promise.all([c.e(6996),c.e(1223),c.e(5734),c.e(1373),c.e(264),c.e(724),c.e(4498)]).then(c.bind(c,44498));b.clearFlowCache(a),s.debug("Invalidated execution flow cache",{flowId:a??"all"})}catch(a){s.warn("Failed to invalidate execution flow cache",a)}}async saveFlow(a){try{s.debug(`Saving flow: ${a.id}`,{name:a.name}),(0,e.ln)(a.id),await u();let b=null;try{b=await (0,e.EI)(t,a.id,null)}catch(b){s.debug(`saveFlow: could not read previous definition of ${a.id} for versioning`,b)}b&&JSON.stringify(b)!==JSON.stringify(a)&&await n(b),await (0,e.Vt)(t,a.id,a);let c=this.flowsCache;if(c){let b=c.findIndex(b=>b.id===a.id);b>=0?c[b]=a:c.push(a),this.flowsCache=c}return await this.invalidateExecutionCache(a.id),s.info(`Flow ${a.id} saved successfully`),{success:!0}}catch(a){return s.error("Failed to save flow",a),{success:!1,error:a instanceof Error?a.message:"Failed to save flow"}}}async deleteFlow(a){try{s.debug(`Deleting flow: ${a}`),await u(),await (0,e.bB)(t,a);let b=this.flowsCache;return b&&(this.flowsCache=b.filter(b=>b.id!==a)),await this.invalidateExecutionCache(a),await r(a),s.info(`Flow ${a} deleted successfully`),{success:!0}}catch(b){return s.error(`Failed to delete flow: ${a}`,b),{success:!1,error:b instanceof Error?b.message:"Failed to delete flow"}}}async listFlowVersions(a){return p(a)}async getFlowVersion(a,b){return q(a,b)}async revertFlow(a,b){let c=await q(a,b);return c?this.saveFlow({...c.flow,id:a}):{success:!1,error:`No version "${b}" of flow ${a}`}}createNode(a,b){s.debug(`Creating new node of type: ${a}`,{position:b});let c={id:(0,d.A)(),type:a,position:b,data:{label:`${"mcp"===a?"MCP":a.charAt(0).toUpperCase()+a.slice(1)} Node`,type:a,properties:{}}};return s.debug(`Node created with ID: ${c.id}`),c}createNewFlow(a="NewFlow"){s.debug(`Creating new flow: ${a}`);let b={id:(0,d.A)(),type:"start",position:{x:250,y:150},data:{label:"Start Node",type:"start",properties:{promptTemplate:""}}},c={id:(0,d.A)(),name:a,nodes:[b],edges:[]};return s.info(`New flow created with ID: ${c.id}`,{name:a}),c}createHistoryEntry(a,b){return s.debug("Creating history entry",{nodeCount:a.length,edgeCount:b.length}),{nodes:[...a],edges:[...b]}}generateSampleFlow(a="Sample Flow"){s.debug(`Generating sample flow: ${a}`);let b={id:(0,d.A)(),name:a,nodes:[{id:"1",type:"start",position:{x:250,y:50},data:{label:"Start Node",type:"start",properties:{prompt:"Enter your query here",systemMessage:"You are a helpful assistant",temperature:0}}},{id:"2",type:"process",position:{x:250,y:200},data:{label:"Process Node",type:"process",properties:{operation:"transform",enabled:!0}}},{id:"3",type:"finish",position:{x:250,y:350},data:{label:"Finish Node",type:"finish",properties:{format:"json",template:'{ "result": {{data}} }'}}},{id:"4",type:"mcp",position:{x:450,y:200},data:{label:"MCP Node",type:"mcp",properties:{channels:2,mode:"parallel"}}}],edges:[{id:"e1-2",source:"1",target:"2",type:"custom"},{id:"e2-3",source:"2",target:"3",type:"custom"}]};return s.info(`Sample flow generated with ID: ${b.id}`,{name:a}),b}async listFlows(){s.debug("listFlows: Entering method");try{let a=await this.loadFlows();return{success:!0,flows:a}}catch(a){return s.warn("listFlows: Failed to list flows:",a),{success:!1,error:a instanceof Error?a.message:"Failed to list flows"}}}}let w=new v},96487:()=>{}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=4028,exports.ids=[4028],exports.modules={21570:(a,b,c)=>{c.d(b,{A:()=>p});var d=c(21124);c(38301);var e=c(40512),f=c(83899),g=c(81637),h=c(79515),i=c(44079),j=c(91059),k=c(52327),l=c(19925),m=c(68730),n=c(30137),o=c(24330);let p=({open:a,onClose:b,title:c,description:p,maxWidth:q="md",...r})=>(0,d.jsxs)(e.A,{open:a,onClose:b,maxWidth:q,fullWidth:!0,children:[(0,d.jsx)(f.A,{component:"div",children:(0,d.jsxs)(g.default,{display:"flex",alignItems:"center",justifyContent:"space-between",children:[(0,d.jsx)(h.default,{variant:"h6",children:c}),(0,d.jsx)(i.A,{edge:"end",color:"inherit",onClick:b,"aria-label":"close",children:(0,d.jsx)(n.A,{})})]})}),(0,d.jsx)(j.A,{}),(0,d.jsxs)(k.A,{sx:{p:3},children:[p&&(0,d.jsx)(h.default,{variant:"body2",color:"text.secondary",sx:{mb:2},children:p}),(0,d.jsx)(o.A,{...r})]}),(0,d.jsx)(l.A,{children:(0,d.jsx)(m.A,{onClick:b,children:"Cancel"})})]})},24330:(a,b,c)=>{c.d(b,{A:()=>o});var d=c(21124),e=c(38301),f=c(82666),g=c(81637),h=c(37674),i=c(67101),j=c(8521),k=c(79515),l=c(40973),m=c(59737);let n={xs:12,sm:6,md:4},o=({isLoading:a=!1,error:b=null,emptyMessage:c="Nothing to choose from.",loadingMessage:o="Loading…",skeleton:p,skeletonCount:q=4,columns:r=n,items:s,searchable:t=!1,searchPlaceholder:u="Search…",searchTerm:v,onSearchChange:w,groups:x,collapsedKeys:y,onToggleGroup:z})=>{let A={...n,...r},[B,C]=(0,e.useState)(""),D=void 0!==v,E=D?v:B,[F,G]=(0,e.useState)(new Set),H=y??F,I=a=>(0,d.jsx)(f.Ay,{container:!0,spacing:2,alignItems:"stretch",children:a.map(a=>(0,d.jsx)(f.Ay,{item:!0,xs:A.xs,sm:A.sm,md:A.md,lg:A.lg,sx:{display:"flex"},children:(0,d.jsx)(g.default,{sx:{width:"100%"},children:a.content})},a.key))}),J=t?(0,d.jsx)(h.A,{placeholder:u,variant:"outlined",size:"small",fullWidth:!0,value:E,onChange:a=>(a=>{w?.(a),D||C(a)})(a.target.value),sx:{mb:2},InputProps:{startAdornment:(0,d.jsx)(i.A,{position:"start",children:(0,d.jsx)(l.A,{fontSize:"small"})})}}):null,K=a=>(0,d.jsxs)(g.default,{children:[J,a]});if(a)return K(p?(0,d.jsx)(f.Ay,{container:!0,spacing:2,children:Array.from({length:q}).map((a,b)=>(0,d.jsx)(f.Ay,{item:!0,xs:A.xs,sm:A.sm,md:A.md,lg:A.lg,children:p},`skeleton-${b}`))}):(0,d.jsxs)(g.default,{sx:{display:"flex",alignItems:"center",gap:1,py:2},children:[(0,d.jsx)(j.default,{size:20}),(0,d.jsx)(k.default,{variant:"body2",color:"text.secondary",children:o})]}));if(b)return K((0,d.jsx)(k.default,{color:"error",variant:"body2",sx:{py:2},children:b}));let L=D?"":E.trim().toLowerCase(),M=a=>!L||(a.searchText??"").toLowerCase().includes(L),N=(0,d.jsx)(k.default,{variant:"body2",color:"text.secondary",sx:{py:2},children:c});if(x){let a=x.map(a=>({...a,items:a.items.filter(M)})).filter(a=>a.items.length>0);return K(0===a.length?N:(0,d.jsx)(d.Fragment,{children:a.map(a=>(0,d.jsx)(m.A,{label:a.label,count:a.items.length,expanded:!H.has(a.key),onToggle:()=>(a=>{if(z)return void z(a);G(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})})(a.key),children:I(a.items)},a.key))}))}let O=(s??[]).filter(M);return K(0===O.length?N:I(O))}},63281:(a,b,c)=>{c.d(b,{g:()=>g});var d=c(2117);let e=(0,c(19815).h)("frontend/services/flow/index");class f{async loadFlows(){e.debug("loadFlows: Entering method");try{if(this.flowsCache)return e.debug("loadFlows: Using cached flows",{count:this.flowsCache.length}),this.flowsCache;let a=await fetch("/api/flow");if(!a.ok){let b=await a.json();throw Error(b.error||"Failed to load flows")}let b=await a.json();return e.debug("loadFlows: Loaded flows from API",{count:b.length}),this.flowsCache=b,b}catch(a){return e.warn("loadFlows: Failed to load flows:",a),[]}}async getFlow(a){e.debug("getFlow: Entering method",{flowId:a});try{if(this.flowsCache){let b=this.flowsCache.find(b=>b.id===a);if(b)return e.debug("getFlow: Using cached flow",{flowId:a}),b}let b=await fetch(`/api/flow/${encodeURIComponent(a)}`);if(!b.ok){if(404===b.status)return e.debug(`getFlow: Flow ${a} not found`),null;let c=await b.json();throw Error(c.error||`Failed to get flow: ${a}`)}let c=await b.json();return e.debug("getFlow: Retrieved flow from API",{flowId:a}),c}catch(b){return e.warn(`getFlow: Failed to get flow ${a}:`,b),null}}async addFlow(a){e.debug("addFlow: Entering method",{flowId:a.id,flowName:a.name,nodeCount:a.nodes.length,edgeCount:a.edges.length});try{let b=await fetch("/api/flow",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!b.ok){let a=await b.json();return{success:!1,error:a.error||"Failed to add flow"}}let c=await b.json();return this.flowsCache&&this.flowsCache.push(c),e.debug("addFlow: Flow added successfully",{flowId:a.id}),{success:!0}}catch(a){return e.warn("addFlow: Failed to add flow:",a),{success:!1,error:a instanceof Error?a.message:"Failed to add flow"}}}async generateFlow(a,b,c){e.debug("generateFlow: Entering method",{modelId:b,allowInstall:c?.allowInstall,allowSubflows:c?.allowSubflows,maxDepth:c?.maxDepth});try{let d=await fetch("/api/flow/generate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({description:a,modelId:b,allowInstall:c?.allowInstall===!0,allowSubflows:c?.allowSubflows===!0,..."number"==typeof c?.maxDepth?{maxDepth:c.maxDepth}:{}})}),f=await d.json().catch(()=>null);if(!d.ok)return{success:!1,error:f?.error||"Failed to generate flow"};let g=Array.isArray(f.flows)&&f.flows.length>0?f.flows:[{flow:f.flow,validation:f.validation}];return e.debug("generateFlow: Draft generated",{flowId:f.flow?.id,flowCount:g.length,attempts:f.attempts,errorCount:f.validation?.errorCount,installedServers:f.installedServers?.length??0}),{success:!0,flow:f.flow,validation:f.validation,flows:g,rootFlowId:f.rootFlowId??f.flow?.id,attempts:f.attempts,installedServers:f.installedServers??[]}}catch(a){return e.warn("generateFlow: Failed to generate flow:",a),{success:!1,error:a instanceof Error?a.message:"Failed to generate flow"}}}async improveFlow(a,b,c,d){e.debug("improveFlow: Entering method",{flowId:a?.id,modelId:c,allowInstall:d?.allowInstall});try{let f=await fetch("/api/flow/improve",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({flow:a,description:b,modelId:c,allowInstall:d?.allowInstall===!0})}),g=await f.json().catch(()=>null);if(!f.ok)return{success:!1,error:g?.error||"Failed to improve flow"};return e.debug("improveFlow: Draft revised",{flowId:g.flow?.id,attempts:g.attempts,errorCount:g.validation?.errorCount,installedServers:g.installedServers?.length??0}),{success:!0,flow:g.flow,validation:g.validation,attempts:g.attempts,installedServers:g.installedServers??[]}}catch(a){return e.warn("improveFlow: Failed to improve flow:",a),{success:!1,error:a instanceof Error?a.message:"Failed to improve flow"}}}async updateFlow(a){e.debug("updateFlow: Entering method",{flowId:a.id,flowName:a.name,nodeCount:a.nodes.length,edgeCount:a.edges.length});try{let b=await fetch(`/api/flow/${encodeURIComponent(a.id)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!b.ok){let a=await b.json();return{success:!1,error:a.error||"Failed to update flow"}}let c=await b.json();if(this.flowsCache){let b=this.flowsCache.findIndex(b=>b.id===a.id);b>=0?this.flowsCache[b]=c:this.flowsCache.push(c)}return e.debug("updateFlow: Flow updated successfully",{flowId:a.id}),{success:!0}}catch(a){return e.warn("updateFlow: Failed to update flow:",a),{success:!1,error:a instanceof Error?a.message:"Failed to update flow"}}}async deleteFlow(a){e.debug("deleteFlow: Entering method",{flowId:a});try{let b=await fetch(`/api/flow/${encodeURIComponent(a)}`,{method:"DELETE"});if(!b.ok){let a=await b.json();return{success:!1,error:a.error||"Failed to delete flow"}}return this.flowsCache&&(this.flowsCache=this.flowsCache.filter(b=>b.id!==a)),e.debug("deleteFlow: Flow deleted successfully",{flowId:a}),{success:!0}}catch(a){return e.warn("deleteFlow: Failed to delete flow:",a),{success:!1,error:a instanceof Error?a.message:"Failed to delete flow"}}}createNode(a,b){return e.debug("createNode: Entering method",{type:a,position:b}),{id:(0,d.A)(),type:a,position:b,data:{label:`${"mcp"===a?"MCP":a.charAt(0).toUpperCase()+a.slice(1)} Node`,type:a,properties:{}}}}createStartNode(){return{id:(0,d.A)(),type:"start",position:{x:250,y:150},data:{label:"Start Node",type:"start",properties:{promptTemplate:""}}}}createNewFlow(a="NewFlow"){return e.debug("createNewFlow: Entering method",{name:a}),{id:(0,d.A)(),name:a,nodes:[this.createStartNode()],edges:[]}}createHistoryEntry(a,b){return e.debug("createHistoryEntry: Entering method"),{nodes:[...a],edges:[...b]}}generateSampleFlow(a="Sample Flow"){return e.debug("generateSampleFlow: Entering method",{name:a}),{id:(0,d.A)(),name:a,nodes:[{id:"1",type:"start",position:{x:250,y:50},data:{label:"Start Node",type:"start",properties:{prompt:"Enter your query here",systemMessage:"You are a helpful assistant",temperature:0}}},{id:"2",type:"process",position:{x:250,y:200},data:{label:"Process Node",type:"process",properties:{operation:"transform",enabled:!0}}},{id:"3",type:"finish",position:{x:250,y:350},data:{label:"Finish Node",type:"finish",properties:{format:"json",template:'{ "result": {{data}} }'}}},{id:"4",type:"mcp",position:{x:450,y:200},data:{label:"MCP Node",type:"mcp",properties:{channels:2,mode:"parallel"}}}],edges:[{id:"e1-2",source:"1",target:"2",type:"custom"},{id:"e2-3",source:"2",target:"3",type:"custom"}]}}constructor(){this.flowsCache=null}}let g=new f}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=4045,exports.ids=[4045],exports.modules={8070:(a,b,c)=>{c.d(b,{IK:()=>L,M6:()=>D,Uw:()=>K,lA:()=>N,nH:()=>v,v2:()=>M,vm:()=>J,z9:()=>O});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(17332),u=c(63908);let v="#009688",w={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:()=>v,light:()=>"#4DB6AC"}},x=(a,b)=>(w[a]??w.start).main(b),y=(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 ${x(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 ${x(b,a)}, 0 3px 10px rgba(0,0,0,0.1)`}})),z=(0,h.Ay)(k.default,{shouldForwardProp:a=>"nodeType"!==a})(({theme:a,nodeType:b})=>({display:"flex",alignItems:"center",justifyContent:"space-between",borderBottom:`1px solid ${(w[b]??w.start).light(a)}`,marginBottom:a.spacing(1),paddingBottom:a.spacing(.5)})),A=(0,h.Ay)(k.default)({display:"flex",alignItems:"center",gap:"8px"}),B=(0,h.Ay)(k.default)(({theme:a})=>({marginTop:a.spacing(1),fontSize:"0.8rem"})),C=(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)"}`})),D=(a,b)=>x(a,b),E=a=>({backgroundColor:a.palette.info.main,borderColor:"dark"===a.palette.mode?a.palette.background.paper:"white",width:16,height:16,borderRadius:8,borderWidth:2}),F=a=>({backgroundColor:a.palette.secondary.main,borderColor:"dark"===a.palette.mode?a.palette.background.paper:"white",width:16,height:16,borderRadius:8,borderWidth:2}),G=a=>({backgroundColor:a.palette.primary.main,borderColor:"dark"===a.palette.mode?a.palette.background.paper:"white",width:16,height:16,borderRadius:8,borderWidth:2}),H=a=>({backgroundColor:v,borderColor:"dark"===a.palette.mode?a.palette.background.paper:"white",width:16,height:16,borderRadius:8,borderWidth:2}),I=({data:a,nodeType:b,selected:c})=>{let h=(0,i.A)(),[j,k]=(0,e.useState)(!1),w=a||{label:"No Label",properties:{}},x="string"==typeof w.label?w.label:"No Label",D=w.properties||{},I=Object.keys(D).length;return(0,d.jsx)(d.Fragment,{children:(0,d.jsxs)(y,{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:E(h)}),(0,d.jsx)(f.h7,{id:"mcp-right",type:"target",position:g.yX.Right,style:E(h)}),(0,d.jsx)(f.h7,{id:"mcp-bottom",type:"source",position:g.yX.Bottom,style:E(h)}),(0,d.jsx)(f.h7,{id:"mcp-left",type:"target",position:g.yX.Left,style:E(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:F(h)}),(0,d.jsx)(f.h7,{id:"process-bottom",type:"source",position:g.yX.Bottom,style:F(h)}),(0,d.jsx)(f.h7,{id:"process-left-mcp",type:"source",position:g.yX.Left,style:{...G(h),top:"30%"}}),(0,d.jsx)(f.h7,{id:"process-right-mcp",type:"source",position:g.yX.Right,style:{...G(h),top:"30%"}}),(0,d.jsx)(f.h7,{id:"process-left-resource",type:"target",position:g.yX.Left,style:{...H(h),top:"70%"}}),(0,d.jsx)(f.h7,{id:"process-right-resource",type:"source",position:g.yX.Right,style:{...H(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:H(h)}),(0,d.jsx)(f.h7,{id:"resource-out",type:"source",position:g.yX.Right,style:H(h)})]});if("start"===b)return(0,d.jsx)(f.h7,{id:"start-bottom",type:"source",position:g.yX.Bottom,style:F(h)});if("finish"===b)return(0,d.jsx)(f.h7,{id:"finish-top",type:"target",position:g.yX.Top,style:F(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:F(h)}),(0,d.jsx)(f.h7,{id:"subflow-bottom",type:"source",position:g.yX.Bottom,style:F(h)})]});return null})(),(0,d.jsxs)(z,{nodeType:b,children:[(0,d.jsxs)(A,{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:v}})}})(b),(0,d.jsx)(l.default,{variant:"subtitle2",fontWeight:"bold",children:x})]}),I>0&&(0,d.jsx)(m.A,{size:"small",onClick:a=>{a.stopPropagation(),k(!j)},sx:{padding:.5},children:j?(0,d.jsx)(u.A,{fontSize:"small"}):(0,d.jsx)(t.A,{fontSize:"small"})})]}),(0,d.jsx)(n.A,{in:j,children:(0,d.jsx)(B,{children:Object.entries(D).map(([a,b])=>(0,d.jsxs)(C,{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))})}),I>0&&!j&&(0,d.jsx)(l.default,{variant:"caption",color:"text.secondary",children:`${I} properties configured`})]})})},J=(0,e.memo)(function(a){return(0,d.jsx)(I,{...a,nodeType:"start",selected:a.selected})}),K=(0,e.memo)(function(a){return(0,d.jsx)(I,{...a,nodeType:"process",selected:a.selected})}),L=(0,e.memo)(function(a){return(0,d.jsx)(I,{...a,nodeType:"finish",selected:a.selected})}),M=(0,e.memo)(function(a){return(0,d.jsx)(I,{...a,nodeType:"mcp",selected:a.selected})}),N=(0,e.memo)(function(a){return(0,d.jsx)(I,{...a,nodeType:"subflow",selected:a.selected})}),O=(0,e.memo)(function(a){return(0,d.jsx)(I,{...a,nodeType:"resource",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:()=>E,o:()=>D});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(423),n=c(27114),o=c(41893),p=c(98463),q=c(44079),r=c(72197),s=c(91034),t=c(38941),u=c(12033),v=c(1312),w=c(22797),x=c(21358),y=c(8070),z=c(78352);let A=(0,c(19815).h)("components/Flow/FlowDashboard/FlowCard"),B=(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}:{}})),C=(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"})),D=()=>(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)(n.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)(p.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})]})]}),E=({flow:a,selected:b,onSelect:c,onDelete:f,onCopy:g,onEdit:i,onSetFolder:r,folders:D=[],validation:E,pickerMode:F=!1})=>{A.debug("Rendering FlowCard",{flowId:a.id,flowName:a.name});let G=(0,j.A)(),[H,I]=(0,e.useState)(null),J=E?.errorCount??0,K=E?.warningCount??0,L=J>0?"error":K>0?"warning":null,M=E?(0,d.jsxs)(h.default,{children:[(0,d.jsx)(k.default,{variant:"caption",sx:{fontWeight:600,display:"block",mb:.5},children:J>0?`${J} problem${1===J?"":"s"} — won't run`:`${K} warning${1===K?"":"s"}`}),E.issues.slice(0,5).map((a,b)=>(0,d.jsxs)(k.default,{variant:"caption",sx:{display:"block"},children:["• ",a.message]},b)),E.issues.length>5&&(0,d.jsxs)(k.default,{variant:"caption",sx:{display:"block",fontStyle:"italic"},children:["…and ",E.issues.length-5," more"]})]}):null;return(0,d.jsxs)(B,{selected:b,children:[L&&(0,d.jsx)(l.A,{title:M,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"===L?G.palette.error.main:G.palette.warning.main,boxShadow:G.shadows[2],pointerEvents:"auto"},children:["error"===L?(0,d.jsx)(w.A,{sx:{fontSize:16}}):(0,d.jsx)(x.A,{sx:{fontSize:16}}),(0,d.jsx)(k.default,{variant:"caption",sx:{fontWeight:700,lineHeight:1},children:"error"===L?J:K})]})}),(0,d.jsxs)(m.A,{onClick:()=>c(a.id),sx:{display:"flex",flexDirection:"column",alignItems:"stretch",height:"100%",position:"relative"},children:[(0,d.jsx)(C,{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:G.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,y.M6)(e,G);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:G.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)(n.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)(o.A,{size:"small",label:`${a.nodes.length} nodes`,color:"primary",variant:"outlined",sx:{fontSize:"0.7rem",height:20}}),(0,d.jsx)(o.A,{size:"small",label:`${a.edges.length} connections`,color:"secondary",variant:"outlined",sx:{fontSize:"0.7rem",height:20}})]})]})]}),!F&&(0,d.jsxs)(p.A,{sx:{justifyContent:"flex-end",p:1,opacity:.7,"&:hover":{opacity:1}},children:[i&&(0,d.jsx)(l.A,{title:"Edit flow metadata",children:(0,d.jsx)(q.A,{size:"small",onClick:b=>{b.stopPropagation(),i&&i(a.id)},children:(0,d.jsx)(u.A,{fontSize:"small"})})}),g&&(0,d.jsx)(l.A,{title:"Copy flow",children:(0,d.jsx)(q.A,{size:"small",onClick:b=>{b.stopPropagation(),g&&g(a.id)},children:(0,d.jsx)(t.A,{fontSize:"small"})})}),r&&(0,d.jsx)(l.A,{title:a.folder?`Folder: ${a.folder}`:"Move to folder",children:(0,d.jsx)(q.A,{size:"small",onClick:a=>{a.stopPropagation(),I(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)(q.A,{size:"small",onClick:b=>{b.stopPropagation(),f&&f(a.id)},color:"error",children:(0,d.jsx)(s.A,{fontSize:"small"})})})]}),!F&&r&&(0,d.jsx)(z.A,{anchorEl:H,open:!!H,currentFolder:a.folder,folders:D,onClose:()=>I(null),onAssign:b=>r(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 +0,0 @@
|
|
|
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))}};
|