flujo-ai 3.9.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 -0
- package/.next/app-build-manifest.json +592 -0
- package/.next/app-path-routes-manifest.json +63 -0
- package/.next/build-manifest.json +33 -0
- package/.next/diagnostics/build-diagnostics.json +6 -0
- package/.next/diagnostics/framework.json +1 -0
- package/.next/export-marker.json +6 -0
- package/.next/images-manifest.json +58 -0
- package/.next/next-minimal-server.js.nft.json +1 -0
- package/.next/next-server.js.nft.json +1 -0
- package/.next/package.json +1 -0
- package/.next/prerender-manifest.json +205 -0
- package/.next/react-loadable-manifest.json +83 -0
- package/.next/required-server-files.json +328 -0
- package/.next/routes-manifest.json +305 -0
- package/.next/server/app/_not-found/page.js +4 -0
- package/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
- package/.next/server/app/_not-found.html +1 -0
- package/.next/server/app/_not-found.meta +8 -0
- package/.next/server/app/_not-found.rsc +16 -0
- package/.next/server/app/api/backup/route.js +2 -0
- package/.next/server/app/api/backup/route.js.nft.json +1 -0
- package/.next/server/app/api/backup/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/browse/route.js +2 -0
- package/.next/server/app/api/browse/route.js.nft.json +1 -0
- package/.next/server/app/api/browse/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/cwd/route.js +2 -0
- package/.next/server/app/api/cwd/route.js.nft.json +1 -0
- package/.next/server/app/api/cwd/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/encryption/secure/route.js +1 -0
- package/.next/server/app/api/encryption/secure/route.js.nft.json +1 -0
- package/.next/server/app/api/encryption/secure/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/env/route.js +2 -0
- package/.next/server/app/api/env/route.js.nft.json +1 -0
- package/.next/server/app/api/env/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/flow/[id]/route.js +1 -0
- package/.next/server/app/api/flow/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/flow/[id]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/flow/prompt-renderer/route.js +2 -0
- package/.next/server/app/api/flow/prompt-renderer/route.js.nft.json +1 -0
- package/.next/server/app/api/flow/prompt-renderer/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/flow/route.js +1 -0
- package/.next/server/app/api/flow/route.js.nft.json +1 -0
- package/.next/server/app/api/flow/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/git/route.js +3 -0
- package/.next/server/app/api/git/route.js.nft.json +1 -0
- package/.next/server/app/api/git/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/init/route.js +1 -0
- package/.next/server/app/api/init/route.js.nft.json +1 -0
- package/.next/server/app/api/init/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/mcp/cancel/route.js +2 -0
- package/.next/server/app/api/mcp/cancel/route.js.nft.json +1 -0
- package/.next/server/app/api/mcp/cancel/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js +1 -0
- package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js.nft.json +1 -0
- package/.next/server/app/api/mcp/servers/[name]/prompts/get/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/mcp/servers/[name]/prompts/route.js +1 -0
- package/.next/server/app/api/mcp/servers/[name]/prompts/route.js.nft.json +1 -0
- package/.next/server/app/api/mcp/servers/[name]/prompts/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js +1 -0
- package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js.nft.json +1 -0
- package/.next/server/app/api/mcp/servers/[name]/resources/read/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/mcp/servers/[name]/resources/route.js +1 -0
- package/.next/server/app/api/mcp/servers/[name]/resources/route.js.nft.json +1 -0
- package/.next/server/app/api/mcp/servers/[name]/resources/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/mcp/servers/[name]/route.js +1 -0
- package/.next/server/app/api/mcp/servers/[name]/route.js.nft.json +1 -0
- package/.next/server/app/api/mcp/servers/[name]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/mcp/servers/[name]/status/route.js +1 -0
- package/.next/server/app/api/mcp/servers/[name]/status/route.js.nft.json +1 -0
- package/.next/server/app/api/mcp/servers/[name]/status/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js +1 -0
- package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js.nft.json +1 -0
- package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/mcp/servers/[name]/tools/route.js +1 -0
- package/.next/server/app/api/mcp/servers/[name]/tools/route.js.nft.json +1 -0
- package/.next/server/app/api/mcp/servers/[name]/tools/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/mcp/servers/route.js +1 -0
- package/.next/server/app/api/mcp/servers/route.js.nft.json +1 -0
- package/.next/server/app/api/mcp/servers/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/mcp/test-connection/route.js +1 -0
- package/.next/server/app/api/mcp/test-connection/route.js.nft.json +1 -0
- package/.next/server/app/api/mcp/test-connection/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/mcp-registry/route.js +2 -0
- package/.next/server/app/api/mcp-registry/route.js.nft.json +1 -0
- package/.next/server/app/api/mcp-registry/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/mcp-registry/spotlight/route.js +2 -0
- package/.next/server/app/api/mcp-registry/spotlight/route.js.nft.json +1 -0
- package/.next/server/app/api/mcp-registry/spotlight/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/model/[id]/route.js +1 -0
- package/.next/server/app/api/model/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/model/[id]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/model/provider/route.js +2 -0
- package/.next/server/app/api/model/provider/route.js.nft.json +1 -0
- package/.next/server/app/api/model/provider/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/model/route.js +1 -0
- package/.next/server/app/api/model/route.js.nft.json +1 -0
- package/.next/server/app/api/model/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/model/test/route.js +2 -0
- package/.next/server/app/api/model/test/route.js.nft.json +1 -0
- package/.next/server/app/api/model/test/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/oauth/callback/route.js +2 -0
- package/.next/server/app/api/oauth/callback/route.js.nft.json +1 -0
- package/.next/server/app/api/oauth/callback/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/oauth/initiate/route.js +2 -0
- package/.next/server/app/api/oauth/initiate/route.js.nft.json +1 -0
- package/.next/server/app/api/oauth/initiate/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/oauth/reset/route.js +2 -0
- package/.next/server/app/api/oauth/reset/route.js.nft.json +1 -0
- package/.next/server/app/api/oauth/reset/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/planned-executions/[id]/route.js +1 -0
- package/.next/server/app/api/planned-executions/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/planned-executions/[id]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/planned-executions/[id]/run/route.js +1 -0
- package/.next/server/app/api/planned-executions/[id]/run/route.js.nft.json +1 -0
- package/.next/server/app/api/planned-executions/[id]/run/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/planned-executions/[id]/runs/route.js +1 -0
- package/.next/server/app/api/planned-executions/[id]/runs/route.js.nft.json +1 -0
- package/.next/server/app/api/planned-executions/[id]/runs/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/planned-executions/preview-schedule/route.js +2 -0
- package/.next/server/app/api/planned-executions/preview-schedule/route.js.nft.json +1 -0
- package/.next/server/app/api/planned-executions/preview-schedule/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/planned-executions/route.js +1 -0
- package/.next/server/app/api/planned-executions/route.js.nft.json +1 -0
- package/.next/server/app/api/planned-executions/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/restore/route.js +2 -0
- package/.next/server/app/api/restore/route.js.nft.json +1 -0
- package/.next/server/app/api/restore/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/storage/route.js +2 -0
- package/.next/server/app/api/storage/route.js.nft.json +1 -0
- package/.next/server/app/api/storage/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/update/route.js +2 -0
- package/.next/server/app/api/update/route.js.nft.json +1 -0
- package/.next/server/app/api/update/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/webhooks/[id]/route.js +1 -0
- package/.next/server/app/api/webhooks/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/webhooks/[id]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/chat/page.js +10 -0
- package/.next/server/app/chat/page.js.nft.json +1 -0
- package/.next/server/app/chat/page_client-reference-manifest.js +1 -0
- package/.next/server/app/chat.html +1 -0
- package/.next/server/app/chat.meta +7 -0
- package/.next/server/app/chat.rsc +20 -0
- package/.next/server/app/docs/page.js +2 -0
- package/.next/server/app/docs/page.js.nft.json +1 -0
- package/.next/server/app/docs/page_client-reference-manifest.js +1 -0
- package/.next/server/app/docs.html +1 -0
- package/.next/server/app/docs.meta +7 -0
- package/.next/server/app/docs.rsc +20 -0
- package/.next/server/app/executions/page.js +5 -0
- package/.next/server/app/executions/page.js.nft.json +1 -0
- package/.next/server/app/executions/page_client-reference-manifest.js +1 -0
- package/.next/server/app/executions.html +1 -0
- package/.next/server/app/executions.meta +7 -0
- package/.next/server/app/executions.rsc +20 -0
- package/.next/server/app/flows/page.js +40 -0
- package/.next/server/app/flows/page.js.nft.json +1 -0
- package/.next/server/app/flows/page_client-reference-manifest.js +1 -0
- package/.next/server/app/flows.html +1 -0
- package/.next/server/app/flows.meta +7 -0
- package/.next/server/app/flows.rsc +21 -0
- package/.next/server/app/index.html +1 -0
- package/.next/server/app/index.meta +7 -0
- package/.next/server/app/index.rsc +20 -0
- package/.next/server/app/mcp/page.js +50 -0
- package/.next/server/app/mcp/page.js.nft.json +1 -0
- package/.next/server/app/mcp/page_client-reference-manifest.js +1 -0
- package/.next/server/app/mcp-flows/route.js +1 -0
- package/.next/server/app/mcp-flows/route.js.nft.json +1 -0
- package/.next/server/app/mcp-flows/route_client-reference-manifest.js +1 -0
- package/.next/server/app/mcp-proxy/[server]/route.js +1 -0
- package/.next/server/app/mcp-proxy/[server]/route.js.nft.json +1 -0
- package/.next/server/app/mcp-proxy/[server]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/mcp.html +1 -0
- package/.next/server/app/mcp.meta +7 -0
- package/.next/server/app/mcp.rsc +20 -0
- package/.next/server/app/models/page.js +3 -0
- package/.next/server/app/models/page.js.nft.json +1 -0
- package/.next/server/app/models/page_client-reference-manifest.js +1 -0
- package/.next/server/app/page.js +2 -0
- package/.next/server/app/page.js.nft.json +1 -0
- package/.next/server/app/page_client-reference-manifest.js +1 -0
- package/.next/server/app/settings/page.js +46 -0
- package/.next/server/app/settings/page.js.nft.json +1 -0
- package/.next/server/app/settings/page_client-reference-manifest.js +1 -0
- package/.next/server/app/settings.html +1 -0
- package/.next/server/app/settings.meta +7 -0
- package/.next/server/app/settings.rsc +20 -0
- package/.next/server/app/v1/chat/completions/route.js +2 -0
- package/.next/server/app/v1/chat/completions/route.js.nft.json +1 -0
- package/.next/server/app/v1/chat/completions/route_client-reference-manifest.js +1 -0
- package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js +1 -0
- package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js.nft.json +1 -0
- package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route_client-reference-manifest.js +1 -0
- package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js +2 -0
- package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js.nft.json +1 -0
- package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route_client-reference-manifest.js +1 -0
- package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js +1 -0
- package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js.nft.json +1 -0
- package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route_client-reference-manifest.js +1 -0
- package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js +1 -0
- package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js.nft.json +1 -0
- package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route_client-reference-manifest.js +1 -0
- package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js +1 -0
- package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js.nft.json +1 -0
- package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route_client-reference-manifest.js +1 -0
- package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js +11 -0
- package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js.nft.json +1 -0
- package/.next/server/app/v1/chat/conversations/[conversationId]/events/route_client-reference-manifest.js +1 -0
- package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js +1 -0
- package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js.nft.json +1 -0
- package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route_client-reference-manifest.js +1 -0
- package/.next/server/app/v1/chat/conversations/[conversationId]/route.js +2 -0
- package/.next/server/app/v1/chat/conversations/[conversationId]/route.js.nft.json +1 -0
- package/.next/server/app/v1/chat/conversations/[conversationId]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/v1/chat/conversations/route.js +2 -0
- package/.next/server/app/v1/chat/conversations/route.js.nft.json +1 -0
- package/.next/server/app/v1/chat/conversations/route_client-reference-manifest.js +1 -0
- package/.next/server/app/v1/models/route.js +2 -0
- package/.next/server/app/v1/models/route.js.nft.json +1 -0
- package/.next/server/app/v1/models/route_client-reference-manifest.js +1 -0
- package/.next/server/app-paths-manifest.json +63 -0
- package/.next/server/chunks/120.js +15 -0
- package/.next/server/chunks/1223.js +1 -0
- package/.next/server/chunks/1373.js +1 -0
- package/.next/server/chunks/1381.js +1 -0
- package/.next/server/chunks/1403.js +6 -0
- package/.next/server/chunks/1555.js +1 -0
- package/.next/server/chunks/1692.js +1 -0
- package/.next/server/chunks/1870.js +1 -0
- package/.next/server/chunks/1905.js +2 -0
- package/.next/server/chunks/1986.js +1 -0
- package/.next/server/chunks/2181.js +17 -0
- package/.next/server/chunks/22.js +4 -0
- package/.next/server/chunks/2253.js +1 -0
- package/.next/server/chunks/232.js +1 -0
- package/.next/server/chunks/2471.js +1 -0
- package/.next/server/chunks/2666.js +1 -0
- package/.next/server/chunks/2695.js +95 -0
- package/.next/server/chunks/2776.js +3 -0
- package/.next/server/chunks/3736.js +1 -0
- package/.next/server/chunks/3984.js +9 -0
- package/.next/server/chunks/4239.js +1 -0
- package/.next/server/chunks/4322.js +1 -0
- package/.next/server/chunks/4706.js +1 -0
- package/.next/server/chunks/4729.js +6 -0
- package/.next/server/chunks/473.js +2 -0
- package/.next/server/chunks/4753.js +8 -0
- package/.next/server/chunks/4989.js +1 -0
- package/.next/server/chunks/5389.js +154 -0
- package/.next/server/chunks/5443.js +1 -0
- package/.next/server/chunks/5486.js +1 -0
- package/.next/server/chunks/5547.js +2 -0
- package/.next/server/chunks/558.js +1 -0
- package/.next/server/chunks/5611.js +6 -0
- package/.next/server/chunks/5734.js +60 -0
- package/.next/server/chunks/5838.js +1 -0
- package/.next/server/chunks/5873.js +22 -0
- package/.next/server/chunks/598.js +1 -0
- package/.next/server/chunks/6064.js +1 -0
- package/.next/server/chunks/62.js +1 -0
- package/.next/server/chunks/6283.js +2 -0
- package/.next/server/chunks/6390.js +28 -0
- package/.next/server/chunks/6542.js +1 -0
- package/.next/server/chunks/6637.js +2 -0
- package/.next/server/chunks/6760.js +1 -0
- package/.next/server/chunks/6936.js +35 -0
- package/.next/server/chunks/6996.js +62 -0
- package/.next/server/chunks/701.js +10 -0
- package/.next/server/chunks/7214.js +6 -0
- package/.next/server/chunks/724.js +27 -0
- package/.next/server/chunks/7412.js +5 -0
- package/.next/server/chunks/7506.js +10 -0
- package/.next/server/chunks/7531.js +52 -0
- package/.next/server/chunks/805.js +2 -0
- package/.next/server/chunks/812.js +2 -0
- package/.next/server/chunks/8298.js +1 -0
- package/.next/server/chunks/8312.js +5 -0
- package/.next/server/chunks/8445.js +82 -0
- package/.next/server/chunks/8460.js +1 -0
- package/.next/server/chunks/8693.js +1 -0
- package/.next/server/chunks/8739.js +2 -0
- package/.next/server/chunks/8938.js +8 -0
- package/.next/server/chunks/9042.js +1 -0
- package/.next/server/chunks/9188.js +1 -0
- package/.next/server/chunks/9273.js +4 -0
- package/.next/server/chunks/9314.js +12 -0
- package/.next/server/chunks/9343.js +5 -0
- package/.next/server/chunks/9406.js +95 -0
- package/.next/server/chunks/9938.js +1 -0
- package/.next/server/chunks/9989.js +1 -0
- package/.next/server/functions-config-manifest.json +10 -0
- package/.next/server/instrumentation.js +1 -0
- package/.next/server/instrumentation.js.nft.json +1 -0
- package/.next/server/interception-route-rewrite-manifest.js +1 -0
- package/.next/server/middleware-build-manifest.js +1 -0
- package/.next/server/middleware-manifest.json +6 -0
- package/.next/server/middleware-react-loadable-manifest.js +1 -0
- package/.next/server/next-font-manifest.js +1 -0
- package/.next/server/next-font-manifest.json +1 -0
- package/.next/server/pages/404.html +1 -0
- package/.next/server/pages/500.html +1 -0
- package/.next/server/pages/_app.js +1 -0
- package/.next/server/pages/_app.js.nft.json +1 -0
- package/.next/server/pages/_document.js +1 -0
- package/.next/server/pages/_document.js.nft.json +1 -0
- package/.next/server/pages/_error.js +19 -0
- package/.next/server/pages/_error.js.nft.json +1 -0
- package/.next/server/pages-manifest.json +6 -0
- package/.next/server/server-reference-manifest.js +1 -0
- package/.next/server/server-reference-manifest.json +1 -0
- package/.next/server/webpack-runtime.js +1 -0
- package/.next/static/GbXXL_8DLT2oVwT-JdpbM/_buildManifest.js +1 -0
- package/.next/static/GbXXL_8DLT2oVwT-JdpbM/_ssgManifest.js +1 -0
- package/.next/static/chunks/1255-13d973e0759ea6d6.js +1 -0
- package/.next/static/chunks/1374-e084b3c40554288a.js +1 -0
- package/.next/static/chunks/1424-01898260211a09d0.js +1 -0
- package/.next/static/chunks/1646.a93085a0445ba909.js +1 -0
- package/.next/static/chunks/1a258343-bcffff1604e3797c.js +1 -0
- package/.next/static/chunks/2003-7710c23acaef11c9.js +1 -0
- package/.next/static/chunks/2005-f9d38c39f10c321f.js +1 -0
- package/.next/static/chunks/2160-4d9f132965bc2a89.js +1 -0
- package/.next/static/chunks/2380-2a7acfa037ec8e80.js +1 -0
- package/.next/static/chunks/2619-04bc32f026a0d946.js +1 -0
- package/.next/static/chunks/2624-b985ab3eac1139c3.js +1 -0
- package/.next/static/chunks/2678-c88052addfb0478a.js +1 -0
- package/.next/static/chunks/2720-2a926505ec98a6de.js +1 -0
- package/.next/static/chunks/3077-565833c67440a7fa.js +1 -0
- package/.next/static/chunks/3217.79ca74c918fc772c.js +1 -0
- package/.next/static/chunks/3235-dfcb73b8d483f8cd.js +1 -0
- package/.next/static/chunks/3272-fd8d59523f61da96.js +1 -0
- package/.next/static/chunks/3403-7c5037145e384171.js +1 -0
- package/.next/static/chunks/3545.c3fbe14528517a75.js +1 -0
- package/.next/static/chunks/3750-38474d67566af4c3.js +1 -0
- package/.next/static/chunks/3810-cee95063d5535307.js +1 -0
- package/.next/static/chunks/39-1732a0b689c7b641.js +1 -0
- package/.next/static/chunks/4754-5c62bb61142f82d1.js +1 -0
- package/.next/static/chunks/488-623d07c3fbc21e28.js +1 -0
- package/.next/static/chunks/4bd1b696-182b6b13bdad92e3.js +1 -0
- package/.next/static/chunks/5139.e4ff9cc3669129ed.js +1 -0
- package/.next/static/chunks/5648-2c6caf3d55f95e11.js +1 -0
- package/.next/static/chunks/5961-828f4f7efc3e1381.js +1 -0
- package/.next/static/chunks/6134-758747aabd77289d.js +8 -0
- package/.next/static/chunks/690-391bc0f482a9f67c.js +1 -0
- package/.next/static/chunks/7126-2bafddf1b09cacac.js +1 -0
- package/.next/static/chunks/7329-78f54f68ea2d37e2.js +1 -0
- package/.next/static/chunks/7396-807a034f58b57712.js +1 -0
- package/.next/static/chunks/7488-b58bc701d0deda00.js +1 -0
- package/.next/static/chunks/7539.41f0448cf9783388.js +1 -0
- package/.next/static/chunks/7583.8a518353bd072db9.js +1 -0
- package/.next/static/chunks/8187.5d6523f30e705998.js +1 -0
- package/.next/static/chunks/8198.cd0d3f8429c02862.js +1 -0
- package/.next/static/chunks/8345.76f420453fc0dee7.js +1 -0
- package/.next/static/chunks/8548-8e4a95334064e8b2.js +1 -0
- package/.next/static/chunks/8598-1b627b3d682b364a.js +1 -0
- package/.next/static/chunks/8862-1314a13b011c4817.js +1 -0
- package/.next/static/chunks/9164-81ca1a1bccdc5ed2.js +1 -0
- package/.next/static/chunks/9195.01a57af6d6cdf1a5.js +1 -0
- package/.next/static/chunks/9244-3281f7fd02003a2c.js +1 -0
- package/.next/static/chunks/9562-93cc45aef3630781.js +1 -0
- package/.next/static/chunks/9718-12d33c1a26bb002d.js +1 -0
- package/.next/static/chunks/app/_not-found/page-81dc485d60f94046.js +1 -0
- package/.next/static/chunks/app/api/backup/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/browse/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/cwd/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/encryption/secure/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/env/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/flow/[id]/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/flow/prompt-renderer/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/flow/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/git/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/init/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/mcp/cancel/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/mcp/test-connection/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/mcp-registry/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/mcp-registry/spotlight/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/model/[id]/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/model/provider/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/model/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/model/test/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/oauth/callback/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/oauth/initiate/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/oauth/reset/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/[id]/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/[id]/run/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/restore/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/storage/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/update/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/api/webhooks/[id]/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/chat/page-019d2b836f34f40d.js +1 -0
- package/.next/static/chunks/app/docs/page-2a4cff7c40706a48.js +1 -0
- package/.next/static/chunks/app/executions/page-b46744c507a6e810.js +1 -0
- package/.next/static/chunks/app/flows/page-7b5c0e06951398ac.js +1 -0
- package/.next/static/chunks/app/layout-2878f13d7e253503.js +1 -0
- package/.next/static/chunks/app/mcp/page-1ca55f88a3045b5d.js +1 -0
- package/.next/static/chunks/app/mcp-flows/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/mcp-proxy/[server]/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/models/error-2b00c98abf1e02cf.js +1 -0
- package/.next/static/chunks/app/models/loading-57d1c02d0817fc47.js +1 -0
- package/.next/static/chunks/app/models/page-a20e6c4e1a5a0c9a.js +1 -0
- package/.next/static/chunks/app/page-471879d3918aeeb6.js +1 -0
- package/.next/static/chunks/app/settings/page-88f7e1b65a6681ec.js +1 -0
- package/.next/static/chunks/app/v1/chat/completions/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/app/v1/models/route-acd5b6e731d45f1a.js +1 -0
- package/.next/static/chunks/ccd63cfe-4a75b90fa4cb53ad.js +1 -0
- package/.next/static/chunks/framework-1548034a53843b9f.js +1 -0
- package/.next/static/chunks/main-app-faff38c77cb00119.js +1 -0
- package/.next/static/chunks/main-be8e823624954fab.js +1 -0
- package/.next/static/chunks/pages/_app-e8b861c87f6f033c.js +1 -0
- package/.next/static/chunks/pages/_error-c8f84f7bd11d43d4.js +1 -0
- package/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
- package/.next/static/chunks/webpack-6f17a022ac16e8bd.js +1 -0
- package/.next/static/css/64cb1f185b52a623.css +1 -0
- package/.next/static/css/d1484588c616b291.css +31 -0
- package/.next/static/media/013b72fa676f92e0-s.woff2 +0 -0
- package/.next/static/media/22a5144ee8d83bca-s.p.woff2 +0 -0
- package/.next/static/media/2b5b02fc7e511755-s.woff2 +0 -0
- package/.next/static/media/65f03d54ccadf4a8-s.woff2 +0 -0
- package/.next/static/media/7d4881bb7e1bf84d-s.p.woff2 +0 -0
- package/.next/static/media/9766a7e9e2e0ad5a-s.woff2 +0 -0
- package/.next/static/media/aa016aab0e6d1295-s.woff2 +0 -0
- package/.next/static/media/b66cf8e69499582a-s.woff2 +0 -0
- package/.next/static/media/b9408752a0c24fb9-s.woff2 +0 -0
- package/.next/static/media/e038a29029a234f2-s.woff2 +0 -0
- package/.next/static/media/f639721981034f88-s.woff2 +0 -0
- package/.next/trace +7 -0
- package/.next/types/app/api/backup/route.ts +347 -0
- package/.next/types/app/api/browse/route.ts +347 -0
- package/.next/types/app/api/cwd/route.ts +347 -0
- package/.next/types/app/api/encryption/secure/route.ts +347 -0
- package/.next/types/app/api/env/route.ts +347 -0
- package/.next/types/app/api/flow/[id]/route.ts +347 -0
- package/.next/types/app/api/flow/prompt-renderer/route.ts +347 -0
- package/.next/types/app/api/flow/route.ts +347 -0
- package/.next/types/app/api/git/route.ts +347 -0
- package/.next/types/app/api/init/route.ts +347 -0
- package/.next/types/app/api/mcp/cancel/route.ts +347 -0
- package/.next/types/app/api/mcp/servers/[name]/prompts/get/route.ts +347 -0
- package/.next/types/app/api/mcp/servers/[name]/prompts/route.ts +347 -0
- package/.next/types/app/api/mcp/servers/[name]/resources/read/route.ts +347 -0
- package/.next/types/app/api/mcp/servers/[name]/resources/route.ts +347 -0
- package/.next/types/app/api/mcp/servers/[name]/route.ts +347 -0
- package/.next/types/app/api/mcp/servers/[name]/status/route.ts +347 -0
- package/.next/types/app/api/mcp/servers/[name]/tools/[toolName]/route.ts +347 -0
- package/.next/types/app/api/mcp/servers/[name]/tools/route.ts +347 -0
- package/.next/types/app/api/mcp/servers/route.ts +347 -0
- package/.next/types/app/api/mcp/test-connection/route.ts +347 -0
- package/.next/types/app/api/mcp-registry/route.ts +347 -0
- package/.next/types/app/api/mcp-registry/spotlight/route.ts +347 -0
- package/.next/types/app/api/model/[id]/route.ts +347 -0
- package/.next/types/app/api/model/provider/route.ts +347 -0
- package/.next/types/app/api/model/route.ts +347 -0
- package/.next/types/app/api/model/test/route.ts +347 -0
- package/.next/types/app/api/oauth/callback/route.ts +347 -0
- package/.next/types/app/api/oauth/initiate/route.ts +347 -0
- package/.next/types/app/api/oauth/reset/route.ts +347 -0
- package/.next/types/app/api/planned-executions/[id]/route.ts +347 -0
- package/.next/types/app/api/planned-executions/[id]/run/route.ts +347 -0
- package/.next/types/app/api/planned-executions/[id]/runs/route.ts +347 -0
- package/.next/types/app/api/planned-executions/preview-schedule/route.ts +347 -0
- package/.next/types/app/api/planned-executions/route.ts +347 -0
- package/.next/types/app/api/restore/route.ts +347 -0
- package/.next/types/app/api/storage/route.ts +347 -0
- package/.next/types/app/api/update/route.ts +347 -0
- package/.next/types/app/api/webhooks/[id]/route.ts +347 -0
- package/.next/types/app/chat/page.ts +84 -0
- package/.next/types/app/docs/page.ts +84 -0
- package/.next/types/app/executions/page.ts +84 -0
- package/.next/types/app/flows/page.ts +84 -0
- package/.next/types/app/layout.ts +84 -0
- package/.next/types/app/mcp/page.ts +84 -0
- package/.next/types/app/mcp-flows/route.ts +347 -0
- package/.next/types/app/mcp-proxy/[server]/route.ts +347 -0
- package/.next/types/app/models/page.ts +84 -0
- package/.next/types/app/page.ts +84 -0
- package/.next/types/app/settings/page.ts +84 -0
- package/.next/types/app/v1/chat/completions/route.ts +347 -0
- package/.next/types/app/v1/chat/conversations/[conversationId]/breakpoints/route.ts +347 -0
- package/.next/types/app/v1/chat/conversations/[conversationId]/cancel/route.ts +347 -0
- package/.next/types/app/v1/chat/conversations/[conversationId]/debug/continue/route.ts +347 -0
- package/.next/types/app/v1/chat/conversations/[conversationId]/debug/step/route.ts +347 -0
- package/.next/types/app/v1/chat/conversations/[conversationId]/edit-state/route.ts +347 -0
- package/.next/types/app/v1/chat/conversations/[conversationId]/events/route.ts +347 -0
- package/.next/types/app/v1/chat/conversations/[conversationId]/respond/route.ts +347 -0
- package/.next/types/app/v1/chat/conversations/[conversationId]/route.ts +347 -0
- package/.next/types/app/v1/chat/conversations/route.ts +347 -0
- package/.next/types/app/v1/models/route.ts +347 -0
- package/.next/types/cache-life.d.ts +141 -0
- package/.next/types/package.json +1 -0
- package/.next/types/routes.d.ts +131 -0
- package/.next/types/validator.ts +601 -0
- package/LICENSE +21 -0
- package/README.md +372 -0
- package/bin/flujo.mjs +120 -0
- package/next.config.ts +99 -0
- package/package.json +91 -0
- package/public/favicon.ico +0 -0
- package/public/file.svg +1 -0
- package/public/globe.svg +1 -0
- package/public/next.svg +1 -0
- package/public/vercel.svg +1 -0
- package/public/window.svg +1 -0
- package/scripts/launch-next.mjs +98 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
(()=>{var a={};a.id=3080,a.ids=[3080],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10057:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\MarioAndreschak\\\\Documents\\\\GitHub\\\\FLUJO\\\\src\\\\app\\\\flows\\\\page.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\flows\\page.tsx","default")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},25525:(a,b,c)=>{Promise.resolve().then(c.bind(c,37310))},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28354:a=>{"use strict";a.exports=require("util")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},37310:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>cY});var d=c(21124),e=c(38301),f=c.n(e),g=c(60839),h=c(81637),i=c(79515),j=c(20830),k=c(49565),l=c(44079),m=c(43312),n=c(99561),o=c(88745),p=c(40512),q=c(83899),r=c(52327),s=c(7503),t=c(37674),u=c(19925),v=c(27080);let w=(0,v.A)((0,d.jsx)("path",{d:"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20z"}),"ArrowBack");var x=c(47902),y=c(18168),z=c(54573),A=c(91059),B=c(19815),C=c(95791),D=c(2117),E=c(63281),F=c(28055),G=c(46973);G.TG.ArrowClosed;let H={type:"mcpEdge",animated:!1,style:{stroke:"#1976d2",strokeWidth:2},markerEnd:{type:G.TG.ArrowClosed,width:20,height:20,color:"#1976d2"},markerStart:{type:G.TG.ArrowClosed,width:20,height:20,color:"#1976d2"}};function I(a){return!!a&&a.includes("mcp")}function J(a,b,c,d){if("start"===c)return"Start nodes cannot have incoming connections";if("finish"===a)return"Finish nodes cannot have outgoing connections";if("mcp"===a||"mcp"===c||I(b)||I(d)){if(("mcp"!==a||"process"!==c)&&("process"!==a||"mcp"!==c))return"MCP connections must link an MCP node to a Process node via MCP handles";if("process"===a&&!I(b))return"Connect MCP nodes from the Process node's left/right MCP handles"}return null}function K(a,b,c){return b.filter(b=>b.data?.edgeType!=="mcp"&&(b.source===a?b.target!==c:!!(b.target===a&&b.data?.bidirectional)&&b.source!==c))}function L(a,b,c=[]){if(!a.source||!a.target||!a.sourceHandle||!a.targetHandle)return console.error("Invalid connection: Missing source, target, or handles",a),!1;let d=b.find(b=>b.id===a.source),e=b.find(b=>b.id===a.target);if(!d||!e)return console.error("Invalid connection: Source or target node not found",a),!1;let f=J(d.type,a.sourceHandle,e.type,a.targetHandle);return f?(console.error(`Invalid connection: ${f}`),!1):"subflow"!==d.type||!(K(d.id,c,a.target).length>0)||(console.error("Invalid connection: Subflow nodes can only have one outgoing connection"),!1)}function M(a,b){let c=b.find(b=>b.id===a.source),d=b.find(b=>b.id===a.target),e=a.sourceHandle,f=a.targetHandle,g=c?.type==="mcp"||d?.type==="mcp"||I(e)||I(f),h=`${a.source}:${e}->${a.target}:${f}`;return g?{id:h,...a,type:"mcpEdge",data:{edgeType:"mcp"},animated:!1,markerEnd:H.markerEnd,markerStart:H.markerStart,style:H.style}:{id:h,...a,type:"custom",data:{edgeType:"standard"},animated:!0}}function N(a,b,c=[]){let d=b.find(b=>b.id===a.source),e=b.find(b=>b.id===a.target);return!!d&&!!e&&("subflow"!==e.type||!(K(e.id,c,a.source).length>0))&&null===J(e.type,null,d.type,null)}function O(a,b){let c=a=>a.data?.edgeType==="mcp";return b.filter(b=>b.id===a.id||(c(a)?c(b)&&(b.source===a.source&&b.target===a.target||b.source===a.target&&b.target===a.source):!c(b)&&b.source===a.source&&b.target===a.target)).map(a=>a.id)}var P=c(6537),Q=c(8070),R=c(94367),S=c(50553),T=c(84233),U=c(7118),V=c(91034),W=c(38941),X=c(95345),Y=c(12033);let Z=({open:a,position:b,onClose:c,onDelete:e,onEditProperties:f,onCopy:g,onPaste:h,canPaste:i,canCopy:j,nodeId:k,selection:l,edgeId:m})=>{let n=[];return k&&!l&&n.push((0,d.jsxs)(R.A,{onClick:()=>{f&&f(),c()},children:[(0,d.jsx)(S.A,{children:(0,d.jsx)(Y.A,{fontSize:"small"})}),(0,d.jsx)(T.A,{children:"Edit Properties"})]},"edit")),g&&(k||l)&&n.push((0,d.jsxs)(R.A,{onClick:()=>{g&&g(),c()},disabled:!j,children:[(0,d.jsx)(S.A,{children:(0,d.jsx)(W.A,{fontSize:"small"})}),(0,d.jsx)(T.A,{children:"Copy"})]},"copy")),h&&n.push((0,d.jsxs)(R.A,{onClick:()=>{h&&h(),c()},disabled:!i,children:[(0,d.jsx)(S.A,{children:(0,d.jsx)(X.A,{fontSize:"small"})}),(0,d.jsx)(T.A,{children:"Paste"})]},"paste")),(k||m||l)&&n.push((0,d.jsx)(A.A,{},"delete-divider"),(0,d.jsxs)(R.A,{onClick:()=>{e(),c()},sx:{color:"error.main"},children:[(0,d.jsx)(S.A,{sx:{color:"error.main"},children:(0,d.jsx)(V.A,{fontSize:"small"})}),(0,d.jsx)(T.A,{children:"Delete"})]},"delete")),(0,d.jsx)(U.A,{open:a,onClose:c,anchorReference:"anchorPosition",anchorPosition:null!==b.y&&null!==b.x?{top:b.y,left:b.x}:void 0,children:n})};var $=c(90837),_=c(80076);function aa(a,b){return b.find(b=>b.id===a)}let ab=(0,B.h)("components/flow/FlowBuilder/Canvas/hooks/useCanvasEvents.ts"),ac=(0,v.A)([(0,d.jsx)("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14"},"0"),(0,d.jsx)("path",{d:"M12 10h-2v2H9v-2H7V9h2V7h1v2h2z"},"1")],"ZoomIn"),ad=(0,v.A)((0,d.jsx)("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14M7 9h5v1H7z"}),"ZoomOut"),ae=(0,v.A)((0,d.jsx)("path",{d:"M17 4h3c1.1 0 2 .9 2 2v2h-2V6h-3zM4 8V6h3V4H4c-1.1 0-2 .9-2 2v2zm16 8v2h-3v2h3c1.1 0 2-.9 2-2v-2zM7 18H4v-2H2v2c0 1.1.9 2 2 2h3zM18 8H6v8h12z"}),"FitScreen"),af=(0,y.Ay)(j.A)(({theme:a})=>({minWidth:"36px",padding:"6px",margin:"0 4px",backgroundColor:"dark"===a.palette.mode?"rgba(255, 255, 255, 0.05)":"rgba(0, 0, 0, 0.02)","&:hover":{backgroundColor:"dark"===a.palette.mode?"rgba(255, 255, 255, 0.1)":"rgba(0, 0, 0, 0.05)"}})),ag=()=>{let{zoomIn:a,zoomOut:b,fitView:c}=(0,C.VH)();return(0,d.jsx)(C.Zk,{position:"top-right",style:{margin:"10px"},children:(0,d.jsxs)("div",{style:{display:"flex",gap:"5px"},children:[(0,d.jsx)(m.A,{title:"Zoom In",children:(0,d.jsx)(af,{variant:"outlined",size:"small",onClick:()=>a(),children:(0,d.jsx)(ac,{fontSize:"small"})})}),(0,d.jsx)(m.A,{title:"Zoom Out",children:(0,d.jsx)(af,{variant:"outlined",size:"small",onClick:()=>b(),children:(0,d.jsx)(ad,{fontSize:"small"})})}),(0,d.jsx)(m.A,{title:"Fit View",children:(0,d.jsx)(af,{variant:"outlined",size:"small",onClick:()=>c(),children:(0,d.jsx)(ae,{fontSize:"small"})})})]})})},ah=({showMiniMap:a=!0,showControls:b=!0,showBackground:c=!0})=>{let e=(0,g.A)(),f="dark"===e.palette.mode;return(0,d.jsxs)(d.Fragment,{children:[c&&(0,d.jsx)(C.VS,{color:f?e.palette.text.disabled:e.palette.divider,gap:20,size:1}),b&&(0,d.jsx)(C.H2,{}),a&&(0,d.jsx)(C.of,{nodeColor:f?e.palette.primary.dark:e.palette.primary.light,maskColor:f?"rgba(0, 0, 0, 0.4)":"rgba(255, 255, 255, 0.6)"})]})},ai=(0,B.h)("components/flow/FlowBuilder/Canvas/Canvas.tsx"),aj="flujo:flowClipboard",ak=null;function al(a){ak=a;try{localStorage.setItem(aj,JSON.stringify(a))}catch(a){ai.warn("Could not persist flow clipboard to localStorage",a)}}let am={start:Q.vm,process:Q.Uw,finish:Q.IK,mcp:Q.v2,subflow:Q.lA},an={custom:$.jY,mcpEdge:$.oY},ao=({open:a,position:b,onClose:c,onSelectNodeType:e,sourceNodeType:f,sourceHandleId:j})=>{let k=(0,g.A)(),l=function(a,b){let c=["process","finish","mcp","subflow"];return a&&b?c.filter(c=>null===J(a,b,c,`${c}-top`)):c}(f,j);ai.debug(`NodeSelectionModal: Source node type: ${f}, Source handle ID: ${j}`),ai.debug(`NodeSelectionModal: Valid node types: ${l.join(", ")}`);let m=[{type:"process",label:"Process Node",description:"Let a LLM do your work"},{type:"finish",label:"Finish Node",description:"End your flow here"},{type:"mcp",label:"MCP Node",description:"Add functionality"},{type:"subflow",label:"Subflow Node",description:"Run another flow"}].filter(a=>l.includes(a.type));return b?(0,d.jsx)(P.A,{open:a,onClose:c,"aria-labelledby":"node-selection-modal",children:(0,d.jsxs)(h.default,{sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:300,bgcolor:"background.paper",borderRadius:2,boxShadow:24,p:4},children:[(0,d.jsx)(i.default,{variant:"h6",component:"h2",gutterBottom:!0,children:"Select Node Type"}),(0,d.jsx)(h.default,{display:"flex",flexDirection:"column",gap:2,children:m.map(a=>(0,d.jsxs)(h.default,{sx:{padding:2,borderRadius:1,border:`2px solid ${"process"===a.type?k.palette.secondary.main:"finish"===a.type?k.palette.success.main:"subflow"===a.type?k.palette.warning.main:k.palette.info.main}`,cursor:"pointer","&:hover":{boxShadow:3}},onClick:()=>e(a.type,b),children:[(0,d.jsxs)(h.default,{display:"flex",alignItems:"center",gap:1,mb:1,children:[(a=>{switch(a){case"process":default:return(0,d.jsx)("div",{style:{width:24,height:24,backgroundColor:k.palette.secondary.main,borderRadius:"50%"}});case"finish":return(0,d.jsx)("div",{style:{width:24,height:24,backgroundColor:k.palette.success.main,borderRadius:"50%"}});case"mcp":return(0,d.jsx)("div",{style:{width:24,height:24,backgroundColor:k.palette.info.main,borderRadius:"50%"}});case"subflow":return(0,d.jsx)("div",{style:{width:24,height:24,backgroundColor:k.palette.warning.main,borderRadius:"50%"}})}})(a.type),(0,d.jsx)(i.default,{variant:"subtitle1",fontWeight:"bold",children:a.label})]}),(0,d.jsx)(i.default,{variant:"body2",color:"text.secondary",children:a.description})]},a.type))})]})}):null},ap=(0,y.Ay)("div")(({theme:a})=>({width:"100%",height:"80vh",border:`1px solid ${a.palette.divider}`,borderRadius:"4px",background:a.palette.background.paper,position:"relative"})),aq=(0,e.forwardRef)((a,b)=>{let c=(0,g.A)(),{nodes:f,edges:h,onNodesChange:i,onEdgesChange:j,onDrop:k,onDragOver:l,onInit:m,reactFlowWrapper:n,onEditNode:o}=a,{contextMenu:p,selectedElements:q,closeContextMenu:r,handleDelete:s,onNodeContextMenu:t,onEdgeContextMenu:u,onPaneContextMenu:v,onSelectionContextMenu:w}=function(a){let{deleteElements:b}=(0,C.VH)(),[c,d]=(0,e.useState)({open:!1,position:{x:0,y:0}}),[f,g]=(0,e.useState)({nodes:[],edges:[]});(0,C.p4)({onChange:({nodes:a,edges:b})=>{let c=a.map(a=>a.id),d=b.map(a=>a.id);ab.debug(`Selection changed: ${c.length} nodes, ${d.length} edges selected`),g({nodes:c,edges:d})}});let h=(0,e.useCallback)((a,b,c,e)=>{a.preventDefault(),b?ab.debug(`Context menu opened for node: ${b}`):c?ab.debug(`Context menu opened for edge: ${c}`):e?ab.debug("Context menu opened for the current selection"):ab.debug(`Context menu opened on canvas at (${a.clientX}, ${a.clientY})`),d({open:!0,position:{x:a.clientX,y:a.clientY},nodeId:b,edgeId:c,selection:e})},[]),i=(0,e.useCallback)(()=>{ab.debug("Context menu closed"),d(a=>({...a,open:!1}))},[]),j=(0,e.useCallback)(()=>{if(c.selection)ab.debug("handleDelete: Deleting the current selection"),b({nodes:f.nodes.map(a=>({id:a})),edges:f.edges.map(a=>({id:a}))});else if(c.nodeId){if(ab.debug(`handleDelete: Attempting to delete node ${c.nodeId}`),!function(a,b){let c=aa(a,b);return!!c&&"start"!==c.type}(c.nodeId,a)){ab.warn(`Cannot delete Start node: ${c.nodeId}`),alert("Start nodes cannot be deleted");return}b({nodes:[{id:c.nodeId}]})}else c.edgeId&&(ab.debug(`handleDelete: Deleting edge ${c.edgeId}`),b({edges:[{id:c.edgeId}]}))},[c,b,a,f]),k=(0,e.useCallback)((a,b)=>{h(a,b.id)},[h]),l=(0,e.useCallback)((a,b)=>{h(a,void 0,b.id)},[h]),m=(0,e.useCallback)(a=>{h(a)},[h]),n=(0,e.useCallback)(a=>{h(a,void 0,void 0,!0)},[h]);return{contextMenu:c,selectedElements:f,onContextMenu:h,closeContextMenu:i,handleDelete:j,onNodeContextMenu:k,onEdgeContextMenu:l,onPaneContextMenu:m,onSelectionContextMenu:n}}(f),{deleteElements:x}=(0,C.VH)(),y=(0,C.PI)(),z=(0,e.useRef)(null),[A,B]=(0,e.useState)(null),[F,H]=(0,e.useState)({open:!1,position:null}),J=(0,e.useCallback)(a=>[...f.filter(a=>a.selected).map(a=>({type:"select",id:a.id,selected:!1})),{type:"add",item:{...a,selected:!0}}],[f]);(0,e.useEffect)(()=>{if(!o)return;let a=a=>{if(a.detail&&a.detail.nodeId){let b=aa(a.detail.nodeId,f);b&&o(b)}};return document.addEventListener("editNode",a),()=>{document.removeEventListener("editNode",a)}},[f,o]);let K=(0,e.useCallback)(a=>{if(!a.sourceHandle||!a.targetHandle)return void ai.error("Invalid connection: Missing source or target handle",a);let b=y.getState().connection.fromHandle?.type==="target";if(!L(a,f,h))return;let d=M(a,f);if(d.data?.edgeType==="standard"){let d=a=>a.data?.edgeType!=="mcp",e=a=>!!a.data?.bidirectional,g=h.find(b=>d(b)&&b.source===a.source&&b.target===a.target),i=h.find(b=>d(b)&&b.source===a.target&&b.target===a.source),k=a=>{ai.info(`Merging reverse connection into bidirectional edge ${a.id}`),j([{type:"replace",id:a.id,item:{...a,data:{...a.data,bidirectional:!0},markerStart:{type:G.TG.ArrowClosed,width:20,height:20,color:c.palette.text.secondary}}}])};if(b){let a=g??i;return a?void(!e(a)&&N(a,f,h)&&k(a)):void ai.info("Connection drawn from a top handle is only allowed to convert an existing edge to bidirectional")}if(g&&e(g))return;if(i){!e(i)&&N(i,f,h)&&k(i);return}}j([...O(d,h).map(a=>({type:"remove",id:a})),{type:"add",item:d}])},[f,h,j,y,c.palette.text.secondary]);(0,e.useEffect)(()=>{let a=a=>{let{edgeId:b,waypoints:c}=a.detail,d=h.find(a=>a.id===b);if(!d)return;let{waypoint:e,...f}=d.data??{};j([{type:"replace",id:b,item:{...d,data:{...f,waypoints:c??void 0}}}])};return document.addEventListener(_.R,a),()=>document.removeEventListener(_.R,a)},[h,j]);let P=(0,e.useCallback)(async({nodes:a,edges:b})=>{let c=a.filter(a=>"start"!==a.type),d=new Set(c.map(a=>a.id)),e=new Set(a.map(a=>a.id)),f=b.filter(a=>!!(a.selected||d.has(a.source)||d.has(a.target))||!(e.has(a.source)||e.has(a.target)));return(0!==c.length||0!==f.length)&&{nodes:c,edges:f}},[]),Q=(0,e.useCallback)(a=>{B(a),m&&m(a)},[m]);(0,e.useEffect)(()=>{let a=a=>{if(!a.detail||!A)return;let{nodeType:b,position:c}=a.detail,d=E.g.createNode(b,c);i(J(d)),o&&o(d)};return document.addEventListener("addNodeFromPalette",a),()=>{document.removeEventListener("addNodeFromPalette",a)}},[A,i,J,o]);let R=(0,e.useCallback)(()=>{if(p.nodeId&&o){let a=aa(p.nodeId,f);a&&o(a)}},[p.nodeId,f,o]),S=(0,e.useCallback)((a,b)=>{a.preventDefault(),o&&o(b)},[o]),T=(0,e.useCallback)((a,b)=>{let{fromNode:c,fromHandle:d}=b;if(!c||!d?.id||!A)return void ai.debug("onConnectEnd: No valid connection start data");if(ai.debug(`onConnectEnd: Connection ended from node ${c.id}, handle ${d.id}`),"target"===d.type&&!I(d.id))return void ai.debug("onConnectEnd: Drag from a target handle cannot create a new node");if("subflow"===c.type&&"source"===d.type&&h.some(a=>{let b=a.data;return b?.edgeType!=="mcp"&&(a.source===c.id||a.target===c.id&&!!b?.bidirectional)}))return void ai.debug("onConnectEnd: Subflow already has an outgoing connection; not offering a new node");if(!a.target.classList.contains("react-flow__pane"))return;let e=a instanceof MouseEvent?a:a.changedTouches[0],f=A.screenToFlowPosition({x:e.clientX,y:e.clientY});ai.debug(`onConnectEnd: Connection dropped on pane at position (${f.x}, ${f.y})`),H({open:!0,position:f,sourceNodeId:c.id,sourceNodeType:c.type,sourceHandleId:d.id})},[A,h]),U=(0,e.useCallback)((a,b)=>{ai.debug(`handleNodeTypeSelection: Selected node type ${a} at position (${b.x}, ${b.y})`);let c=E.g.createNode(a,b);i(J(c));let{sourceNodeId:d,sourceHandleId:e}=F,g=d?aa(d,f):void 0;if(g&&e){let b=`${a}-top`,d={source:g.id,sourceHandle:e,target:c.id,targetHandle:b};if(ai.debug(`handleNodeTypeSelection: Creating connection from ${d.source} to ${d.target}`),L(d,[...f,c],h)){let a=M(d,[...f,c]);j([...O(a,h).map(a=>({type:"remove",id:a})),{type:"add",item:a}]),ai.debug(`handleNodeTypeSelection: Edge created with id ${a.id}`)}}H({open:!1,position:null}),o&&o(c)},[F,f,h,J,i,j,o]),V=(0,e.useCallback)(()=>{ai.debug("handleCloseNodeSelectionModal: Closing node selection modal"),H({open:!1,position:null})},[]),W=(0,e.useCallback)(()=>{let a=new Set(q.nodes),b=f.filter(b=>a.has(b.id)&&"start"!==b.type);if(0===b.length)return!1;let c=new Set(b.map(a=>a.id)),d=h.filter(a=>c.has(a.source)&&c.has(a.target));return al({nodes:JSON.parse(JSON.stringify(b)),edges:JSON.parse(JSON.stringify(d))}),ai.debug(`Copied ${b.length} node(s) and ${d.length} edge(s)`),!0},[q,f,h]),X=(0,e.useCallback)(()=>{let a=ak;if(!a)try{let b=localStorage.getItem(aj);b&&(a=JSON.parse(b))}catch(a){ai.warn("Could not read flow clipboard from localStorage",a)}if(!a||!a.nodes||0===a.nodes.length)return void ai.debug("Paste requested but clipboard is empty");let b=new Map;a.nodes.forEach(a=>b.set(a.id,(0,D.A)()));let c=a.nodes.map(a=>({...a,id:b.get(a.id),position:{x:(a.position?.x??0)+40,y:(a.position?.y??0)+40},selected:!0,data:{...a.data}})),d=(a.edges||[]).filter(a=>b.has(a.source)&&b.has(a.target)).map(a=>({...a,id:(0,D.A)(),source:b.get(a.source),target:b.get(a.target),selected:!1}));i([...f.filter(a=>a.selected).map(a=>({type:"select",id:a.id,selected:!1})),...c.map(a=>({type:"add",item:a}))]),d.length>0&&j(d.map(a=>({type:"add",item:a}))),ai.info(`Pasted ${c.length} node(s) and ${d.length} edge(s)`)},[f,i,j]),Y=(0,e.useCallback)(a=>{let b=a.ctrlKey||a.metaKey,c=a.key.toLowerCase();if(b&&"c"===c){W()&&a.preventDefault();return}if(b&&"x"===c){W()&&(a.preventDefault(),x({nodes:q.nodes.map(a=>({id:a})),edges:q.edges.map(a=>({id:a}))}));return}if(b&&"v"===c){a.preventDefault(),X();return}},[W,X,x,q]),$=(0,e.useCallback)(()=>{if(p.nodeId&&!q.nodes.includes(p.nodeId)){let a=f.find(a=>a.id===p.nodeId);a&&"start"!==a.type&&(al({nodes:JSON.parse(JSON.stringify([a])),edges:[]}),ai.debug("Copied right-clicked node to clipboard"));return}W()},[p.nodeId,q,f,W]),ac=(0,e.useMemo)(()=>{if(ak)return!0;try{return!!localStorage.getItem(aj)}catch{return!1}},[p.open]),ad=(0,e.useMemo)(()=>{if(p.selection){let a=new Set(q.nodes);return f.some(b=>a.has(b.id)&&"start"!==b.type)}if(p.nodeId){let a=f.find(a=>a.id===p.nodeId);return!!a&&"start"!==a.type}return!1},[p.selection,p.nodeId,q,f]);return(0,d.jsxs)(ap,{ref:a=>{b&&("function"==typeof b?b(a):b.current=a),n&&(n.current=a),z.current=a},children:[(0,d.jsxs)(C.Gc,{nodes:f,edges:h,nodeTypes:am,edgeTypes:an,defaultEdgeOptions:(0,e.useMemo)(()=>({type:"custom",animated:!0,style:{stroke:c.palette.text.secondary,strokeWidth:2},markerEnd:{type:G.TG.ArrowClosed,width:20,height:20,color:c.palette.text.secondary}}),[c.palette.text.secondary]),connectionLineType:G.Do.SmoothStep,onNodesChange:i,onEdgesChange:j,onConnect:K,onBeforeDelete:P,deleteKeyCode:["Backspace","Delete"],onDrop:k,onDragOver:l,onInit:Q,onNodeContextMenu:t,onEdgeContextMenu:u,onPaneContextMenu:v,onSelectionContextMenu:w,onKeyDown:Y,onNodeDoubleClick:S,onConnectEnd:T,tabIndex:0,fitView:!0,attributionPosition:"bottom-right",minZoom:.1,maxZoom:2,snapToGrid:!0,snapGrid:[15,15],connectOnClick:!1,children:[(0,d.jsx)(ag,{}),(0,d.jsx)(ah,{})]}),(0,d.jsx)(Z,{open:p.open,position:p.position,onClose:r,onDelete:s,onEditProperties:R,onCopy:$,onPaste:X,canPaste:ac,canCopy:ad,nodeId:p.nodeId,selection:p.selection,edgeId:p.edgeId}),(0,d.jsx)(ao,{open:F.open,position:F.position,onClose:V,onSelectNodeType:U,sourceNodeType:F.sourceNodeType,sourceHandleId:F.sourceHandleId})]})});aq.displayName="Canvas";var ar=c(98540),as=c(83144),at=c(88970);let au=(0,B.h)("components/flow/FlowBuilder/NodePalette.tsx"),av="NodePalette",aw=(0,y.Ay)(z.A)(({theme:a})=>({padding:a.spacing(2),width:"200px",height:"80vh",display:"flex",flexDirection:"column",gap:a.spacing(2)})),ax=(0,y.Ay)(z.A,{shouldForwardProp:a=>"nodeType"!==a})(({theme:a,nodeType:b})=>({padding:a.spacing(1.5),minWidth:"180px",borderRadius:"8px",backgroundColor:a.palette.background.paper,border:`2px solid ${"process"===b?a.palette.secondary.main:"finish"===b?a.palette.success.main:"subflow"===b?a.palette.warning.main:a.palette.info.main}`,boxShadow:a.shadows[2],transition:"all 0.2s ease",cursor:"grab","&:hover":{boxShadow:`0 0 0 1px ${"process"===b?a.palette.secondary.main:"finish"===b?a.palette.success.main:"subflow"===b?a.palette.warning.main:a.palette.info.main}, 0 3px 10px rgba(0,0,0,0.1)`},"&:active":{cursor:"grabbing"}})),ay=(0,y.Ay)(h.default,{shouldForwardProp:a=>"nodeType"!==a})(({theme:a,nodeType:b})=>({display:"flex",alignItems:"center",justifyContent:"space-between",borderBottom:`1px solid ${"process"===b?a.palette.secondary.light:"finish"===b?a.palette.success.light:"subflow"===b?a.palette.warning.light:a.palette.info.light}`,marginBottom:a.spacing(1),paddingBottom:a.spacing(.5)})),az=(0,y.Ay)(h.default)({display:"flex",alignItems:"center",gap:"8px"}),aA=[{type:"process",label:"Process Node",description:"Let a LLM do your work"},{type:"finish",label:"Finish Node",description:"End your flow here"},{type:"mcp",label:"MCP Node",description:"Add functionality"},{type:"subflow",label:"Subflow Node",description:"Run another flow as a step"}],aB=()=>{au.debug(`${av}: Entering component`),(0,g.A)();let a=(0,e.useCallback)(a=>{au.debug(`${av}.onNodeDoubleClick: Double-clicked on ${a} node`);let b=new CustomEvent("addNodeFromPalette",{detail:{nodeType:a,position:{x:250,y:150}}});document.dispatchEvent(b),au.info(`${av}.onNodeDoubleClick: Dispatched addNodeFromPalette event for ${a} node`)},[]);return au.debug(`${av}: Rendering component`),(0,d.jsxs)(aw,{elevation:2,children:[(0,d.jsx)(i.default,{variant:"h6",gutterBottom:!0,children:"Node Types"}),(0,d.jsx)(h.default,{display:"flex",flexDirection:"column",gap:2,children:aA.map(b=>(0,d.jsxs)(ax,{nodeType:b.type,elevation:1,draggable:!0,onDragStart:a=>((a,b)=>{au.debug(`${av}.onDragStart: Entering method with nodeType=${b}`),a.dataTransfer.setData("application/reactflow",b),a.dataTransfer.effectAllowed="move";let c=document.createElement("div");c.innerHTML=`<div style="padding: 10px; background: white; border: 1px solid #ccc; border-radius: 4px;">${b} Node</div>`,document.body.appendChild(c),au.debug(`${av}.onDragStart: Created drag preview element`);try{a.dataTransfer.setDragImage(c,75,25),au.debug(`${av}.onDragStart: Set drag image with offset (75, 25)`)}catch(a){au.error(`${av}.onDragStart: Error setting drag image:`,a)}setTimeout(()=>{document.body.removeChild(c),au.debug(`${av}.onDragStart: Removed drag preview element`)},0),au.debug(`${av}.onDragStart: Drag operation initialized`)})(a,b.type),onDragEnd:a=>{var c;return c=b.type,void au.debug(`${av}.onDragEnd: Drag operation ended for nodeType=${c}`)},onDoubleClick:()=>a(b.type),children:[(0,d.jsx)(ay,{nodeType:b.type,children:(0,d.jsxs)(az,{children:[(a=>{switch(a){case"process":default:return(0,d.jsx)(ar.A,{color:"secondary"});case"finish":return(0,d.jsx)(as.A,{color:"success"});case"mcp":return(0,d.jsx)(ar.A,{color:"info"});case"subflow":return(0,d.jsx)(at.A,{color:"warning"})}})(b.type),(0,d.jsx)(i.default,{variant:"subtitle2",fontWeight:"bold",children:b.label})]})}),(0,d.jsx)(i.default,{variant:"caption",color:"text.secondary",children:b.description})]},b.type))})]})};var aC=c(41893),aD=c(8521),aE=c(89490),aF=c(75983),aG=c(71439);let aH=(0,v.A)((0,d.jsx)("path",{fillRule:"evenodd",d:"M20 3H4c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2M10 17H5v-2h5zm0-4H5v-2h5zm0-4H5V7h5zm4.82 6L12 12.16l1.41-1.41 1.41 1.42L17.99 9l1.42 1.42z"}),"FactCheck");var aI=c(22797);let aJ=(0,v.A)([(0,d.jsx)("path",{d:"M12 5.99 19.53 19H4.47zM12 2 1 21h22z"},"0"),(0,d.jsx)("path",{d:"M13 16h-2v2h2zm0-6h-2v5h2z"},"1")],"WarningAmber");var aK=c(8165),aL=c(64535);function aM(a){return a.data?.type??a.type??"unknown"}function aN(a){return a.data?.label||a.id}function aO(a){return a.data?.edgeType==="mcp"}function aP(a,b={}){let c=[],d=Array.isArray(a?.nodes)?a.nodes:[],e=Array.isArray(a?.edges)?a.edges:[],f=(a,b,d,e)=>c.push({severity:a,code:b,message:d,nodeId:e?.id,nodeLabel:e?aN(e):void 0}),g=new Map((b.models??[]).map(a=>[a.id,a])),h=new Map((b.servers??[]).map(a=>[a.name,a])),i=!!b.models,j=!!b.servers,k=d.filter(a=>"start"===aM(a)),l=d.filter(a=>"finish"===aM(a)),m=d.filter(a=>"process"===aM(a)),n=d.filter(a=>"mcp"===aM(a));if(0===k.length)f("error","no-start-node","The flow has no Start node, so it has no entry point.");else if(k.length>1)for(let a of k.slice(1))f("error","multiple-start-nodes","The flow has more than one Start node; only one is allowed.",a);for(let a of(0===l.length&&f("warning","no-finish-node","The flow has no Finish node; it will run but never reaches a defined end."),m)){let b=a.data?.properties??{},c=b.boundModel;if(c){if(i&&!g.has(c)){let c="string"==typeof b.modelName&&b.modelName?` (was "${b.modelName}")`:"";f("error","process-model-missing",`Process node "${aN(a)}" is bound to a model that no longer exists${c}.`,a)}}else f("error","process-missing-model",`Process node "${aN(a)}" has no model bound.`,a)}for(let a of n){let b=(a.data?.properties??{}).boundServer;if(b){if(j&&!h.has(b))f("warning","mcp-server-missing",`MCP node "${aN(a)}" is bound to server "${b}", which isn't in your current MCP server list. It may be offline (e.g. not connected), renamed, or removed — if it was renamed or removed, rebind this node.`,a);else if(j){let c=h.get(b);if(c.status&&"connected"!==c.status){let d="disabled"===c.status?"disabled":`not connected (${c.status})`;f("warning","mcp-server-disconnected",`MCP node "${aN(a)}" is bound to server "${b}", which is currently ${d}. It will provide tools again once it reconnects.`,a)}}}else f("warning","mcp-missing-server",`MCP node "${aN(a)}" is not bound to a server.`,a);e.some(b=>aO(b)&&(b.source===a.id||b.target===a.id))||f("warning","mcp-node-unconnected",`MCP node "${aN(a)}" is not connected to any Process node.`,a)}if(k.length>0){let a=function(a){let b=new Map,c=(a,c)=>{b.has(a)||b.set(a,[]),b.get(a).push(c)};for(let b of a)!aO(b)&&(c(b.source,b.target),b.data?.bidirectional&&c(b.target,b.source));return b}(e);for(let b of k)a.get(b.id)?.length||f("error","start-no-outgoing","The Start node is not connected to anything; the flow cannot run.",b);let b=function(a,b){let c=new Set(a),d=[...a];for(;d.length;){let a=d.shift();for(let e of b.get(a)??[])c.has(e)||(c.add(e),d.push(e))}return c}(k.map(a=>a.id),a);for(let a of[...m,...l])b.has(a.id)||f("warning","unreachable-node",`${"finish"===aM(a)?"Finish":"Process"} node "${aN(a)}" is not reachable from the Start node.`,a)}for(let a of d.filter(a=>"subflow"===aM(a))){let b=e.filter(b=>!aO(b)&&(b.source===a.id||b.target===a.id&&!!b.data?.bidirectional));b.length>1&&f("error","subflow-multiple-outgoing",`Subflow node "${aN(a)}" has ${b.length} outgoing connections; a subflow can only have one (either A > B > C or a bidirectional A <> B).`,a)}for(let a of m){let c=a.data?.properties?.promptTemplate;if("string"!=typeof c||!c)continue;let g=function(a,b,c){let d=new Map(b.map(a=>[a.id,a])),e=new Set;for(let b of c){if(!aO(b))continue;let c=null;if(b.source===a?c=b.target:b.target===a&&(c=b.source),!c)continue;let f=d.get(c);if(!f||"mcp"!==aM(f))continue;let g=f.data?.properties?.boundServer;"string"==typeof g&&g&&e.add(g)}return e}(a.id,d,e),h=new Set;for(let d of(0,aL.A$)(c)){if("handoff"===d.server)continue;let c=`${d.kind}:${d.server}:${d.name}`;!h.has(c)&&(h.add(c),g.has(d.server)?"tool"===d.kind&&b.serverTools&&b.serverTools[d.server]&&!b.serverTools[d.server].includes(d.name)&&f("warning","tool-unavailable",`Process node "${aN(a)}" references tool "${d.name}" which server "${d.server}" no longer provides.`,a):f("error","tool-pill-disconnected",`Process node "${aN(a)}" references ${d.kind} "${d.name}" from server "${d.server}", but it is not connected to that server (the MCP node was removed or the server was renamed).`,a))}}let o=c.filter(a=>"error"===a.severity).length,p=c.length-o;return{issues:c,errorCount:o,warningCount:p,isRunnable:0===o}}var aQ=c(83434);let aR=(0,B.h)("components/flow/FlowBuilder/FlowValidationButton"),aS=({nodes:a,edges:b})=>{let[c,f]=(0,e.useState)(!1),[g,k]=(0,e.useState)(!1),[l,m]=(0,e.useState)(null),n=(0,e.useCallback)(async()=>{k(!0);try{let c=await aQ.N.tryLoadModels()??void 0,d=await F.S.loadServerConfigs(),e=Array.isArray(d)?d.map(a=>({name:a.name,status:a.disabled?"disabled":void 0})):void 0,f=aP({nodes:a,edges:b},{models:c,servers:e});m(f.issues)}catch(a){aR.warn("Flow validation failed to run",a),m([])}finally{k(!1)}},[a,b]),o=(0,e.useCallback)(()=>{f(!0),m(null),n()},[n]),s=(0,e.useCallback)(a=>{a&&(f(!1),document.dispatchEvent(new CustomEvent("editNode",{detail:{nodeId:a}})))},[]),t=l?.filter(a=>"error"===a.severity).length??0,v=(l?.length??0)-t;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(j.A,{variant:"outlined",color:"primary",onClick:o,startIcon:(0,d.jsx)(aH,{}),sx:{textTransform:"none"},children:"Check Flow"}),(0,d.jsxs)(p.A,{open:c,onClose:()=>f(!1),maxWidth:"sm",fullWidth:!0,children:[(0,d.jsxs)(q.A,{component:"div",sx:{display:"flex",alignItems:"center",gap:1},children:[(0,d.jsx)("span",{children:"Flow Check"}),l&&(0,d.jsxs)(h.default,{sx:{display:"flex",gap:1,ml:1},children:[t>0&&(0,d.jsx)(aC.A,{size:"small",color:"error",label:`${t} error${1===t?"":"s"}`}),v>0&&(0,d.jsx)(aC.A,{size:"small",color:"warning",label:`${v} warning${1===v?"":"s"}`})]})]}),(0,d.jsx)(r.A,{dividers:!0,children:g?(0,d.jsxs)(h.default,{sx:{display:"flex",alignItems:"center",gap:2,py:3,justifyContent:"center"},children:[(0,d.jsx)(aD.default,{size:22}),(0,d.jsx)(i.default,{color:"text.secondary",children:"Checking flow…"})]}):l&&0===l.length?(0,d.jsxs)(h.default,{sx:{display:"flex",alignItems:"center",gap:1.5,py:3,justifyContent:"center"},children:[(0,d.jsx)(aK.A,{color:"success"}),(0,d.jsx)(i.default,{children:"No problems found — this flow looks runnable."})]}):(0,d.jsx)(aE.A,{dense:!0,disablePadding:!0,children:(l??[]).map((a,b)=>{let c=!!a.nodeId,e=(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(S.A,{sx:{minWidth:36},children:"error"===a.severity?(0,d.jsx)(aI.A,{color:"error",fontSize:"small"}):(0,d.jsx)(aJ,{color:"warning",fontSize:"small"})}),(0,d.jsx)(T.A,{primary:a.message,secondary:c?`Node: ${a.nodeLabel??a.nodeId} — click to open`:void 0})]});return c?(0,d.jsx)(aF.A,{onClick:()=>s(a.nodeId),alignItems:"flex-start",children:e},b):(0,d.jsx)(aG.Ay,{alignItems:"flex-start",children:e},b)})})}),(0,d.jsxs)(u.A,{children:[(0,d.jsx)(j.A,{onClick:n,disabled:g,children:"Re-check"}),(0,d.jsx)(j.A,{onClick:()=>f(!1),variant:"contained",children:"Close"})]})]})]})};var aT=c(82666),aU=c(22042),aV=c(34304),aW=c(30137);function aX({currentLabel:a,nameIsCustom:b,defaultLabel:c,previousAutoLabel:d,nextAutoLabel:e}){return!0===b?a&&a.length>0?a:e:!a||0===a.length||a===c||void 0!==d&&d.length>0&&a===d?e:a}let aY=(0,B.h)("components/flow/FlowBuilder/Modals/ProcessNodePropertiesModal/hooks/useModelManagement.ts");var aZ=c(63650);let a$=(0,B.h)("frontend/components/flow/FlowBuilder/Modals/ProcessNodePropertiesModal/hooks/useServerConnection"),a_="handoff_to_";function a0(a,b){let c=a.replace(/\s+/g," ").trim();if(c.length<=b)return c;let d=c.slice(0,b),e=d.lastIndexOf(" ");return`${(e>.6*b?d.slice(0,e):d).trimEnd()}…`}let a1=(0,B.h)("frontend/components/flow/FlowBuilder/Modals/ProcessNodePropertiesModal/hooks/useHandoffTools"),a2=({nodeData:a,setNodeData:b})=>a?(0,d.jsxs)(h.default,{sx:{display:"flex",flexDirection:"column",height:"100%",pr:2},children:[(0,d.jsx)(i.default,{variant:"h6",gutterBottom:!0,children:"Node Configuration"}),(0,d.jsx)(t.A,{fullWidth:!0,label:"Node Label",value:a.label||"",onChange:a=>b(b=>({...b,label:a.target.value,properties:{...b?.properties,nameIsCustom:!0}})),margin:"normal"}),(0,d.jsx)(t.A,{fullWidth:!0,label:"Description",value:a.description||"",onChange:c=>b({...a,description:c.target.value}),margin:"normal",multiline:!0,rows:2,helperText:"This description will be displayed on the node"})]}):null;var a3=c(82605),a4=c(43249),a5=c(2783),a6=c(73520),a7=c(29565),a8=c(33105);function a9(a){return(0,a8.Ay)("MuiRadioGroup",a)}(0,a7.A)("MuiRadioGroup",["root","row","error"]);var ba=c(26636),bb=c(65603);let bc=e.createContext(void 0);var bd=c(70300);let be=e.forwardRef(function(a,b){let{actions:c,children:f,className:g,defaultValue:h,name:i,onChange:j,value:k,...l}=a,m=e.useRef(null),n=(a=>{let{classes:b,row:c,error:d}=a;return(0,a5.A)({root:["root",c&&"row",d&&"error"]},a9,b)})(a),[o,p]=(0,bb.A)({controlled:k,default:h,name:"RadioGroup"});e.useImperativeHandle(c,()=>({focus:()=>{let a=m.current.querySelector("input:not(:disabled):checked");a||(a=m.current.querySelector("input:not(:disabled)")),a&&a.focus()}}),[]);let q=(0,ba.A)(b,m),r=(0,bd.A)(i),s=e.useMemo(()=>({name:r,onChange(a){p(a.target.value),j&&j(a,a.target.value)},value:o}),[r,j,p,o]);return(0,d.jsx)(bc.Provider,{value:s,children:(0,d.jsx)(a6.A,{role:"radiogroup",ref:q,className:(0,a4.A)(n.root,g),...l,children:f})})});var bf=c(95587),bg=c(37489),bh=c(99515);let bi=(0,v.A)((0,d.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),"RadioButtonUnchecked"),bj=(0,v.A)((0,d.jsx)("path",{d:"M8.465 8.465C9.37 7.56 10.62 7 12 7C14.76 7 17 9.24 17 12C17 13.38 16.44 14.63 15.535 15.535C14.63 16.44 13.38 17 12 17C9.24 17 7 14.76 7 12C7 10.62 7.56 9.37 8.465 8.465Z"}),"RadioButtonChecked");var bk=c(41126),bl=c(68333);let bm=(0,y.Ay)("span",{name:"MuiRadioButtonIcon",shouldForwardProp:bk.A})({position:"relative",display:"flex"}),bn=(0,y.Ay)(bi,{name:"MuiRadioButtonIcon"})({transform:"scale(1)"}),bo=(0,y.Ay)(bj,{name:"MuiRadioButtonIcon"})((0,bl.A)(({theme:a})=>({left:0,position:"absolute",transform:"scale(0)",transition:a.transitions.create("transform",{easing:a.transitions.easing.easeIn,duration:a.transitions.duration.shortest}),variants:[{props:{checked:!0},style:{transform:"scale(1)",transition:a.transitions.create("transform",{easing:a.transitions.easing.easeOut,duration:a.transitions.duration.shortest})}}]}))),bp=function(a){let{checked:b=!1,classes:c={},fontSize:e}=a,f={...a,checked:b};return(0,d.jsxs)(bm,{className:c.root,ownerState:f,children:[(0,d.jsx)(bn,{fontSize:e,className:c.background,ownerState:f}),(0,d.jsx)(bo,{fontSize:e,className:c.dot,ownerState:f})]})};var bq=c(6638);let br=c(2153).A;var bs=c(49628);function bt(a){return(0,a8.Ay)("MuiRadio",a)}let bu=(0,a7.A)("MuiRadio",["root","checked","disabled","colorPrimary","colorSecondary","sizeSmall"]);var bv=c(54716),bw=c(20385),bx=c(6636);let by=(0,y.Ay)(bh.A,{shouldForwardProp:a=>(0,bk.A)(a)||"classes"===a,name:"MuiRadio",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.root,"medium"!==c.size&&b[`size${(0,bq.A)(c.size)}`],b[`color${(0,bq.A)(c.color)}`]]}})((0,bl.A)(({theme:a})=>({color:(a.vars||a).palette.text.secondary,[`&.${bu.disabled}`]:{color:(a.vars||a).palette.action.disabled},variants:[{props:{color:"default",disabled:!1,disableRipple:!1},style:{"&:hover":{backgroundColor:a.vars?`rgba(${a.vars.palette.action.activeChannel} / ${a.vars.palette.action.hoverOpacity})`:(0,bg.X4)(a.palette.action.active,a.palette.action.hoverOpacity)}}},...Object.entries(a.palette).filter((0,bv.A)()).map(([b])=>({props:{color:b,disabled:!1,disableRipple:!1},style:{"&:hover":{backgroundColor:a.vars?`rgba(${a.vars.palette[b].mainChannel} / ${a.vars.palette.action.hoverOpacity})`:(0,bg.X4)(a.palette[b].main,a.palette.action.hoverOpacity)}}})),...Object.entries(a.palette).filter((0,bv.A)()).map(([b])=>({props:{color:b,disabled:!1},style:{[`&.${bu.checked}`]:{color:(a.vars||a).palette[b].main}}})),{props:{disableRipple:!1},style:{"&:hover":{"@media (hover: none)":{backgroundColor:"transparent"}}}}]}))),bz=(0,d.jsx)(bp,{checked:!0}),bA=(0,d.jsx)(bp,{}),bB=e.forwardRef(function(a,b){let c=(0,bx.b)({props:a,name:"MuiRadio"}),{checked:f,checkedIcon:g=bz,color:h="primary",icon:i=bA,name:j,onChange:k,size:l="medium",className:m,disabled:n,disableRipple:o=!1,slots:p={},slotProps:q={},inputProps:r,...s}=c,t=(0,bs.A)(),u=n;t&&void 0===u&&(u=t.disabled),u??=!1;let v={...c,disabled:u,disableRipple:o,color:h,size:l},w=(a=>{let{classes:b,color:c,size:d}=a,e={root:["root",`color${(0,bq.A)(c)}`,"medium"!==d&&`size${(0,bq.A)(d)}`]};return{...b,...(0,a5.A)(e,bt,b)}})(v),x=e.useContext(bc),y=f,z=br(k,x&&x.onChange),A=j;if(x){var B,C;void 0===y&&(B=x.value,y="object"==typeof(C=c.value)&&null!==C?B===C:String(B)===String(C)),void 0===A&&(A=x.name)}let D=q.input??r,[E,F]=(0,bw.A)("root",{ref:b,elementType:by,className:(0,a4.A)(w.root,m),shouldForwardComponentProp:!0,externalForwardedProps:{slots:p,slotProps:q,...s},getSlotProps:a=>({...a,onChange:(b,...c)=>{a.onChange?.(b,...c),z(b,...c)}}),ownerState:v,additionalProps:{type:"radio",icon:e.cloneElement(i,{fontSize:i.props.fontSize??l}),checkedIcon:e.cloneElement(g,{fontSize:g.props.fontSize??l}),disabled:u,name:A,checked:y,slots:p,slotProps:{input:"function"==typeof D?D(v):D}}});return(0,d.jsx)(E,{...F,classes:w})});var bC=c(38233),bD=c(93083);let bE=({isLoadingModels:a,loadError:b,models:c,selectedModelId:e,handleModelSelect:f,isModelBound:g,handleUnbindModel:k})=>(0,d.jsxs)(h.default,{sx:{mt:4},children:[(0,d.jsx)(i.default,{variant:"subtitle1",gutterBottom:!0,children:"Bind to Model"}),a?(0,d.jsx)(i.default,{color:"text.secondary",children:"Loading models..."}):b?(0,d.jsx)(i.default,{color:"error",children:b}):0===c.length?(0,d.jsx)(i.default,{color:"text.secondary",children:"No models available. Add some in the Model Manager."}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(a3.A,{component:"fieldset",fullWidth:!0,children:[(0,d.jsx)(be,{value:e,onChange:a=>f(a.target.value),children:(0,d.jsx)(aT.Ay,{container:!0,spacing:2,children:c.map(a=>(0,d.jsx)(aT.Ay,{item:!0,xs:12,sm:6,children:(0,d.jsx)(z.A,{elevation:1,sx:{p:2,border:2*(e===a.id),borderColor:"primary.main"},children:(0,d.jsx)(bf.A,{value:a.id,control:(0,d.jsx)(bB,{}),label:(0,d.jsxs)(h.default,{children:[(0,d.jsx)(i.default,{variant:"subtitle2",children:a.displayName||a.name}),a.description&&(0,d.jsx)(i.default,{variant:"caption",color:"text.secondary",display:"block",children:a.description}),a.baseUrl&&(0,d.jsx)(i.default,{variant:"caption",color:"text.secondary",children:a.baseUrl})]}),sx:{width:"100%",m:0}})})},a.id))})}),(0,d.jsx)(bC.A,{children:e?"This node will use the selected model for processing.":"Select a model to bind this node to."})]}),g&&(0,d.jsx)(h.default,{sx:{mt:2,display:"flex",justifyContent:"flex-end"},children:(0,d.jsx)(j.A,{startIcon:(0,d.jsx)(bD.A,{}),onClick:k,color:"primary",variant:"outlined",size:"small",children:"Unbind Model"})})]})]});var bF=c(66335);let bG=function(a){let{badgeContent:b,invisible:c=!1,max:d=99,showZero:e=!1}=a,f=(0,bF.A)({badgeContent:b,max:d}),g=c;!1!==c||0!==b||e||(g=!0);let{badgeContent:h,max:i=d}=g?f:a,j=h&&Number(h)>i?`${i}+`:h;return{badgeContent:h,invisible:g,max:i,displayValue:j}};function bH(a){return(0,a8.Ay)("MuiBadge",a)}let bI=(0,a7.A)("MuiBadge",["root","badge","dot","standard","anchorOriginTopRight","anchorOriginBottomRight","anchorOriginTopLeft","anchorOriginBottomLeft","invisible","colorError","colorInfo","colorPrimary","colorSecondary","colorSuccess","colorWarning","overlapRectangular","overlapCircular","anchorOriginTopLeftCircular","anchorOriginTopLeftRectangular","anchorOriginTopRightCircular","anchorOriginTopRightRectangular","anchorOriginBottomLeftCircular","anchorOriginBottomLeftRectangular","anchorOriginBottomRightCircular","anchorOriginBottomRightRectangular"]),bJ=(0,y.Ay)("span",{name:"MuiBadge",slot:"Root",overridesResolver:(a,b)=>b.root})({position:"relative",display:"inline-flex",verticalAlign:"middle",flexShrink:0}),bK=(0,y.Ay)("span",{name:"MuiBadge",slot:"Badge",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.badge,b[c.variant],b[`anchorOrigin${(0,bq.A)(c.anchorOrigin.vertical)}${(0,bq.A)(c.anchorOrigin.horizontal)}${(0,bq.A)(c.overlap)}`],"default"!==c.color&&b[`color${(0,bq.A)(c.color)}`],c.invisible&&b.invisible]}})((0,bl.A)(({theme:a})=>({display:"flex",flexDirection:"row",flexWrap:"wrap",justifyContent:"center",alignContent:"center",alignItems:"center",position:"absolute",boxSizing:"border-box",fontFamily:a.typography.fontFamily,fontWeight:a.typography.fontWeightMedium,fontSize:a.typography.pxToRem(12),minWidth:20,lineHeight:1,padding:"0 6px",height:20,borderRadius:10,zIndex:1,transition:a.transitions.create("transform",{easing:a.transitions.easing.easeInOut,duration:a.transitions.duration.enteringScreen}),variants:[...Object.entries(a.palette).filter((0,bv.A)(["contrastText"])).map(([b])=>({props:{color:b},style:{backgroundColor:(a.vars||a).palette[b].main,color:(a.vars||a).palette[b].contrastText}})),{props:{variant:"dot"},style:{borderRadius:4,height:8,minWidth:8,padding:0}},{props:({ownerState:a})=>"top"===a.anchorOrigin.vertical&&"right"===a.anchorOrigin.horizontal&&"rectangular"===a.overlap,style:{top:0,right:0,transform:"scale(1) translate(50%, -50%)",transformOrigin:"100% 0%",[`&.${bI.invisible}`]:{transform:"scale(0) translate(50%, -50%)"}}},{props:({ownerState:a})=>"bottom"===a.anchorOrigin.vertical&&"right"===a.anchorOrigin.horizontal&&"rectangular"===a.overlap,style:{bottom:0,right:0,transform:"scale(1) translate(50%, 50%)",transformOrigin:"100% 100%",[`&.${bI.invisible}`]:{transform:"scale(0) translate(50%, 50%)"}}},{props:({ownerState:a})=>"top"===a.anchorOrigin.vertical&&"left"===a.anchorOrigin.horizontal&&"rectangular"===a.overlap,style:{top:0,left:0,transform:"scale(1) translate(-50%, -50%)",transformOrigin:"0% 0%",[`&.${bI.invisible}`]:{transform:"scale(0) translate(-50%, -50%)"}}},{props:({ownerState:a})=>"bottom"===a.anchorOrigin.vertical&&"left"===a.anchorOrigin.horizontal&&"rectangular"===a.overlap,style:{bottom:0,left:0,transform:"scale(1) translate(-50%, 50%)",transformOrigin:"0% 100%",[`&.${bI.invisible}`]:{transform:"scale(0) translate(-50%, 50%)"}}},{props:({ownerState:a})=>"top"===a.anchorOrigin.vertical&&"right"===a.anchorOrigin.horizontal&&"circular"===a.overlap,style:{top:"14%",right:"14%",transform:"scale(1) translate(50%, -50%)",transformOrigin:"100% 0%",[`&.${bI.invisible}`]:{transform:"scale(0) translate(50%, -50%)"}}},{props:({ownerState:a})=>"bottom"===a.anchorOrigin.vertical&&"right"===a.anchorOrigin.horizontal&&"circular"===a.overlap,style:{bottom:"14%",right:"14%",transform:"scale(1) translate(50%, 50%)",transformOrigin:"100% 100%",[`&.${bI.invisible}`]:{transform:"scale(0) translate(50%, 50%)"}}},{props:({ownerState:a})=>"top"===a.anchorOrigin.vertical&&"left"===a.anchorOrigin.horizontal&&"circular"===a.overlap,style:{top:"14%",left:"14%",transform:"scale(1) translate(-50%, -50%)",transformOrigin:"0% 0%",[`&.${bI.invisible}`]:{transform:"scale(0) translate(-50%, -50%)"}}},{props:({ownerState:a})=>"bottom"===a.anchorOrigin.vertical&&"left"===a.anchorOrigin.horizontal&&"circular"===a.overlap,style:{bottom:"14%",left:"14%",transform:"scale(1) translate(-50%, 50%)",transformOrigin:"0% 100%",[`&.${bI.invisible}`]:{transform:"scale(0) translate(-50%, 50%)"}}},{props:{invisible:!0},style:{transition:a.transitions.create("transform",{easing:a.transitions.easing.easeInOut,duration:a.transitions.duration.leavingScreen})}}]})));function bL(a){return{vertical:a?.vertical??"top",horizontal:a?.horizontal??"right"}}let bM=e.forwardRef(function(a,b){let c=(0,bx.b)({props:a,name:"MuiBadge"}),{anchorOrigin:e,className:f,classes:g,component:h,components:i={},componentsProps:j={},children:k,overlap:l="rectangular",color:m="default",invisible:n=!1,max:o=99,badgeContent:p,slots:q,slotProps:r,showZero:s=!1,variant:t="standard",...u}=c,{badgeContent:v,invisible:w,max:x,displayValue:y}=bG({max:o,invisible:n,badgeContent:p,showZero:s}),z=(0,bF.A)({anchorOrigin:bL(e),color:m,overlap:l,variant:t,badgeContent:p}),A=w||null==v&&"dot"!==t,{color:B=m,overlap:C=l,anchorOrigin:D,variant:E=t}=A?z:c,F=bL(D),G="dot"!==E?y:void 0,H={...c,badgeContent:v,invisible:A,max:x,displayValue:G,showZero:s,anchorOrigin:F,color:B,overlap:C,variant:E},I=(a=>{let{color:b,anchorOrigin:c,invisible:d,overlap:e,variant:f,classes:g={}}=a,h={root:["root"],badge:["badge",f,d&&"invisible",`anchorOrigin${(0,bq.A)(c.vertical)}${(0,bq.A)(c.horizontal)}`,`anchorOrigin${(0,bq.A)(c.vertical)}${(0,bq.A)(c.horizontal)}${(0,bq.A)(e)}`,`overlap${(0,bq.A)(e)}`,"default"!==b&&`color${(0,bq.A)(b)}`]};return(0,a5.A)(h,bH,g)})(H),J={slots:{root:q?.root??i.Root,badge:q?.badge??i.Badge},slotProps:{root:r?.root??j.root,badge:r?.badge??j.badge}},[K,L]=(0,bw.A)("root",{elementType:bJ,externalForwardedProps:{...J,...u},ownerState:H,className:(0,a4.A)(I.root,f),ref:b,additionalProps:{as:h}}),[M,N]=(0,bw.A)("badge",{elementType:bK,externalForwardedProps:J,ownerState:H,className:I.badge});return(0,d.jsxs)(K,{...L,children:[k,(0,d.jsx)(M,{...N,children:G})]})});var bN=c(67101),bO=c(30818),bP=c(27114),bQ=c(53222);let bR=(0,v.A)((0,d.jsx)("path",{d:"M12 5V2L8 6l4 4V7c3.31 0 6 2.69 6 6 0 2.97-2.17 5.43-5 5.91v2.02c3.95-.49 7-3.85 7-7.93 0-4.42-3.58-8-8-8m-6 8c0-1.65.67-3.15 1.76-4.24L6.34 7.34C4.9 8.79 4 10.79 4 13c0 4.08 3.05 7.44 7 7.93v-2.02c-2.83-.48-5-2.94-5-5.91"}),"RestartAlt");var bS=c(40973),bT=c(9604);let bU=(0,B.h)("frontend/components/flow/FlowBuilder/Modals/ProcessNodePropertiesModal/ServerTools"),bV=({isLoadingServers:a,connectedMcpNodes:b,availableServers:c,onConnectMcpServer:f,serverToolsMap:g,serverStatuses:k,isLoadingTools:n,handleSelectToolServer:o,handleInsertToolBinding:p,selectedToolServerNodeId:q,selectedNodeId:r,isLoadingSelectedServerTools:s,promptBuilderRef:u,handleRetryServer:v,handleRestartServer:w})=>{let y=q??b[0]?.nodeId??null,[A,B]=(0,e.useState)({}),[C,D]=(0,e.useState)(null),E=(c??[]).filter(a=>!b.some(b=>b.serverName===a.name)),F=!!f&&E.length>0,G=(0,d.jsx)(U.A,{open:!!C,anchorEl:C,onClose:()=>D(null),children:E.map(a=>(0,d.jsxs)(R.A,{onClick:()=>{var b;return b=a.name,void(D(null),f?.(b))},children:[(0,d.jsx)(h.default,{sx:{width:8,height:8,borderRadius:"50%",mr:1,bgcolor:"connected"===a.status?"success.main":"text.disabled"}}),a.name]},a.name))}),[H,I]=(0,e.useState)(""),J=a=>{try{let c=b.find(b=>b.nodeId===a);if(!c)return bU.warn(`Could not find connected MCP node with ID ${a}`),[];let d=c.enabledTools||[];return bU.debug(`Enabled tools for node ${a}: ${JSON.stringify(d)}`),Array.isArray(d)?d:[]}catch(b){return bU.error(`Error getting enabled tools for node ${a}:`,b),[]}},K=(a,b,c)=>{try{if(!c||!Array.isArray(c))return bU.warn(`Tools array is not available or not an array for server ${b}`),[];let d=J(a),e=c;if(d.length>0?e=c.filter(a=>a&&a.name&&d.includes(a.name)):(bU.debug(`No tools explicitly enabled for node ${a}, showing none.`),e=[]),H.trim()){let a=H.toLowerCase().trim();e=e.filter(b=>b.name&&b.name.toLowerCase().includes(a)||b.description&&b.description.toLowerCase().includes(a)||b.inputSchema&&JSON.stringify(b.inputSchema).toLowerCase().includes(a))}return e}catch(d){return bU.error(`Error filtering tools for node ${a} (server ${b}):`,d),c||[]}},L=a=>{o(a)},M=async(a,b)=>{b.stopPropagation(),bU.debug(`Retry button clicked for server: ${a}`),B(b=>({...b,[a]:!0}));try{v&&await v(a)}finally{setTimeout(()=>{B(b=>({...b,[a]:!1}))},500)}},N=async(a,b)=>{b.stopPropagation(),bU.debug(`Restart button clicked for server: ${a}`),B(b=>({...b,[a]:!0}));try{w&&await w(a)}finally{setTimeout(()=>{B(b=>({...b,[a]:!1}))},500)}};(0,e.useEffect)(()=>{b.length>0&&!q&&o(b[0].nodeId)},[b,q,o]);let O=b.find(a=>a.nodeId===y),P=O?.serverName;return(0,d.jsxs)(h.default,{sx:{mt:4,display:"flex",flexDirection:"column",height:"100%"},children:[(0,d.jsx)(i.default,{variant:"subtitle1",gutterBottom:!0,children:"Connected MCP Servers and Tools"}),a?(0,d.jsxs)(h.default,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,d.jsx)(aD.default,{size:20}),(0,d.jsx)(i.default,{color:"text.secondary",children:"Loading connected MCP nodes..."})]}):0===b.length?(0,d.jsxs)(h.default,{sx:{p:2,border:"1px dashed rgba(0, 0, 0, 0.12)",borderRadius:1},children:[(0,d.jsx)(i.default,{color:"text.secondary",align:"center",children:"No MCP nodes connected to this Process node."}),(0,d.jsx)(i.default,{variant:"caption",color:"text.secondary",align:"center",display:"block",sx:{mt:1},children:F?"Pick a server below — the MCP node is added to the flow and wired up for you.":"Connect MCP nodes to this Process node using the side handles to access their tools."}),F&&(0,d.jsx)(h.default,{sx:{display:"flex",justifyContent:"center",mt:2},children:(0,d.jsx)(j.A,{variant:"contained",size:"small",startIcon:(0,d.jsx)(x.A,{}),onClick:a=>D(a.currentTarget),children:"Connect MCP Server"})}),G]}):(0,d.jsxs)(h.default,{sx:{display:"flex",flexDirection:"column",flexGrow:1,height:"calc(100% - 40px)"},children:[(0,d.jsxs)(h.default,{sx:{display:"flex",alignItems:"center",mb:2,borderBottom:1,borderColor:"divider"},children:[(0,d.jsx)(aU.A,{value:y||b[0]?.nodeId||"",onChange:(a,b)=>L(b),variant:"scrollable",scrollButtons:"auto",sx:{flexGrow:1},children:b.map(a=>{if(!a||!a.nodeId||!a.serverName)return bU.warn("Skipping invalid MCP node in tabs:",a),null;let b=a.serverName,c=a.nodeId,e=a.status;A[b],n[b];let f=g[b]||[],j=J(c);return K(c,b,f).length,(0,d.jsx)(aV.A,{value:c,label:(0,d.jsxs)(h.default,{sx:{display:"flex",alignItems:"center"},children:[(0,d.jsx)(i.default,{variant:"body2",sx:{color:"connected"===e?"success.main":"error"===e?"error.main":"text.secondary"},children:b}),j.length>0&&(0,d.jsx)(bM,{badgeContent:j.length,color:"primary",sx:{ml:1}})]}),sx:{textTransform:"none",minHeight:"48px",opacity:"connected"!==e?.7:1}},c)})}),F&&(0,d.jsx)(m.A,{title:"Connect another MCP server",children:(0,d.jsx)(l.A,{size:"small",onClick:a=>D(a.currentTarget),sx:{ml:1},children:(0,d.jsx)(x.A,{fontSize:"small"})})}),G]}),O&&P&&(0,d.jsxs)(h.default,{sx:{display:"flex",justifyContent:"flex-end",mb:2},children:[(0,d.jsx)(m.A,{title:`Retry connection for ${P}`,children:(0,d.jsx)("span",{children:(0,d.jsx)(l.A,{size:"small",onClick:a=>M(P,a),disabled:A[P]||n[P],children:A[P]?(0,d.jsx)(aD.default,{size:16}):(0,d.jsx)(bQ.A,{fontSize:"small"})})})}),"connected"===O.status&&w&&(0,d.jsx)(m.A,{title:`Restart server ${P}`,children:(0,d.jsx)("span",{children:(0,d.jsx)(l.A,{size:"small",onClick:a=>N(P,a),disabled:A[P],sx:{ml:1},children:(0,d.jsx)(bR,{fontSize:"small"})})})})]}),(0,d.jsx)(t.A,{placeholder:"Search enabled tools...",variant:"outlined",size:"small",fullWidth:!0,value:H,onChange:a=>I(a.target.value),sx:{mb:2},InputProps:{startAdornment:(0,d.jsx)(bN.A,{position:"start",children:(0,d.jsx)(bS.A,{fontSize:"small"})})}}),(0,d.jsx)(z.A,{variant:"outlined",sx:{flexGrow:1,overflow:"auto",p:0,height:"calc(100% - 140px)"},children:O&&P&&(()=>{let a=O.nodeId,b=O.serverName;if("connected"!==O.status)return(0,d.jsx)(h.default,{sx:{p:2,textAlign:"center"},children:(0,d.jsxs)(i.default,{color:"text.secondary",children:["Server '",b,"' is not connected. Connect to view tools."]})},a);if(n[b])return(0,d.jsx)(h.default,{sx:{display:"flex",justifyContent:"center",p:2},children:(0,d.jsx)(aD.default,{size:24})},a);let c=g[b]||[],e=K(a,b,c);if(0===e.length){let b=J(a).length;return(0,d.jsx)(h.default,{sx:{p:2,textAlign:"center"},children:(0,d.jsx)(i.default,{color:"text.secondary",children:H.trim()?`No enabled tools match "${H}" for this node.`:0===b?"No tools are enabled for this node instance. Enable tools in the MCP Node properties.":"No tools available or enabled for this node instance."})},a)}return(0,d.jsx)(aE.A,{disablePadding:!0,children:e.map(c=>(0,d.jsxs)(bO.A,{variant:"outlined",onClick:()=>{a!==y?(bU.debug("Node tab not selected, selecting node first",{selectedNodeId:a,serverName:b,toolName:c.name}),L(a)):b&&c.name?(bU.debug("Inserting tool binding",{serverName:b,toolName:c.name}),p(b,c.name)):bU.warn("Cannot insert tool binding, server or tool name is undefined",{serverName:b,toolName:c.name})},sx:{mb:1,mx:1,mt:1,cursor:"pointer",position:"relative","&:hover":{boxShadow:1,bgcolor:"action.hover"}},children:[(0,d.jsx)(bP.A,{sx:{p:2,"&:last-child":{pb:2}},children:(0,d.jsx)(h.default,{sx:{display:"flex",justifyContent:"space-between",alignItems:"flex-start"},children:(0,d.jsxs)(h.default,{sx:{width:"100%"},children:[(0,d.jsxs)(i.default,{variant:"subtitle2",component:"div",sx:{display:"flex",alignItems:"center"},children:[(0,d.jsx)(bT.A,{fontSize:"small",sx:{mr:1,color:"primary.main"}}),c.name]}),(0,d.jsx)(i.default,{variant:"body2",color:"text.secondary",sx:{mt:.5},children:c.description||"No description available"}),c.inputSchema&&(a=>a&&a.properties?(0,d.jsxs)(h.default,{sx:{mt:1},children:[(0,d.jsx)(i.default,{variant:"caption",color:"text.secondary",sx:{fontWeight:"medium"},children:"Parameters:"}),(0,d.jsx)(h.default,{sx:{pl:1,mt:.5},children:Object.entries(a.properties).map(([b,c])=>(0,d.jsxs)(h.default,{sx:{mb:.5},children:[(0,d.jsxs)(i.default,{variant:"caption",component:"span",sx:{fontWeight:"medium"},children:[b,a.required?.includes(b)&&(0,d.jsx)(i.default,{variant:"caption",component:"span",color:"error.main",children:" *"}),": "]}),(0,d.jsx)(i.default,{variant:"caption",component:"span",color:"text.secondary",children:c.description||c.type||"No description"})]},b))})]}):null)(c.inputSchema)]})})}),(0,d.jsx)(m.A,{title:`Add ${c.name} from ${b} to prompt`,children:(0,d.jsx)(h.default,{sx:{position:"absolute",top:0,left:0,right:0,bottom:0}})})]},c.name))},a)})()})]})]})},bW=(0,v.A)((0,d.jsx)("path",{d:"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8zm2 16H8v-2h8zm0-4H8v-2h8zm-3-5V3.5L18.5 9z"}),"Description"),bX=(0,B.h)("frontend/components/flow/FlowBuilder/Modals/ProcessNodePropertiesModal/ServerResources"),bY=({primary:a,secondary:b,chip:c,onClick:e})=>(0,d.jsx)(bO.A,{variant:"outlined",onClick:e,sx:{mb:1,mx:1,mt:1,cursor:"pointer","&:hover":{boxShadow:1,bgcolor:"action.hover"}},children:(0,d.jsx)(bP.A,{sx:{p:2,"&:last-child":{pb:2}},children:(0,d.jsxs)(h.default,{sx:{display:"flex",justifyContent:"space-between",alignItems:"flex-start"},children:[(0,d.jsxs)(h.default,{sx:{width:"100%"},children:[(0,d.jsxs)(i.default,{variant:"subtitle2",component:"div",sx:{display:"flex",alignItems:"center"},children:[(0,d.jsx)(bW,{fontSize:"small",sx:{mr:1,color:"primary.main"}}),a]}),(0,d.jsx)(i.default,{variant:"body2",color:"text.secondary",sx:{mt:.5,wordBreak:"break-all"},children:b})]}),c&&(0,d.jsx)(aC.A,{size:"small",label:c,sx:{ml:1,flexShrink:0}})]})})}),bZ=({connectedMcpNodes:a,handleInsertResourceBinding:b,promptBuilderRef:c})=>{let[f,g]=(0,e.useState)(null),[j,k]=(0,e.useState)([]),[l,m]=(0,e.useState)([]),[n,p]=(0,e.useState)(!1),[q,r]=(0,e.useState)(),[s,u]=(0,e.useState)(""),v=a.find(a=>a.nodeId===f),w=v?.serverName;(0,e.useEffect)(()=>{a.length>0&&!f&&g(a[0].nodeId)},[a,f]);let x=(0,e.useCallback)(async a=>{p(!0),r(void 0);try{let b=await F.S.listServerResources(a);k(b.resources||[]),m(b.resourceTemplates||[]),r(b.error)}catch(b){bX.warn(`Failed to load resources for ${a}`,b),r(b instanceof Error?b.message:"Failed to load resources")}finally{p(!1)}},[]);(0,e.useEffect)(()=>{w?x(w):(k([]),m([]))},[w,x]);let y=a=>a.toLowerCase().includes(s.toLowerCase().trim()),A=s.trim()?j.filter(a=>y(a.name||"")||y(a.uri)||y(a.description||"")):j,B=s.trim()?l.filter(a=>y(a.name||"")||y(a.uriTemplate)||y(a.description||"")):l,C=a=>{w&&a&&b(w,a)};return(0,d.jsxs)(h.default,{sx:{mt:4,display:"flex",flexDirection:"column",height:"100%"},children:[(0,d.jsx)(i.default,{variant:"subtitle1",gutterBottom:!0,children:"Give this step access to…"}),(0,d.jsx)(i.default,{variant:"caption",color:"text.secondary",sx:{mb:1},children:"Pick a resource to insert. Its contents are read and placed into the prompt each time the step runs."}),0===a.length?(0,d.jsxs)(h.default,{sx:{p:2,border:"1px dashed rgba(0, 0, 0, 0.12)",borderRadius:1},children:[(0,d.jsx)(i.default,{color:"text.secondary",align:"center",children:"No MCP nodes connected to this Process node."}),(0,d.jsx)(i.default,{variant:"caption",color:"text.secondary",align:"center",display:"block",sx:{mt:1},children:"Connect MCP nodes using the side handles to access their resources."})]}):(0,d.jsxs)(h.default,{sx:{display:"flex",flexDirection:"column",flexGrow:1,height:"calc(100% - 40px)"},children:[(0,d.jsx)(aU.A,{value:f||a[0]?.nodeId||"",onChange:(a,b)=>g(b),variant:"scrollable",scrollButtons:"auto",sx:{mb:2,borderBottom:1,borderColor:"divider"},children:a.map(a=>(0,d.jsx)(aV.A,{value:a.nodeId,label:(0,d.jsx)(i.default,{variant:"body2",sx:{color:"connected"===a.status?"success.main":"error"===a.status?"error.main":"text.secondary"},children:a.serverName}),sx:{textTransform:"none",minHeight:48,opacity:"connected"!==a.status?.7:1}},a.nodeId))}),(0,d.jsx)(t.A,{placeholder:"Search resources…",variant:"outlined",size:"small",fullWidth:!0,value:s,onChange:a=>u(a.target.value),sx:{mb:2},InputProps:{startAdornment:(0,d.jsx)(bN.A,{position:"start",children:(0,d.jsx)(bS.A,{fontSize:"small"})})}}),q&&(0,d.jsx)(o.A,{severity:"warning",sx:{mb:2},children:q}),(0,d.jsx)(z.A,{variant:"outlined",sx:{flexGrow:1,overflow:"auto",p:0,height:"calc(100% - 140px)"},children:v&&"connected"!==v.status?(0,d.jsx)(h.default,{sx:{p:2,textAlign:"center"},children:(0,d.jsxs)(i.default,{color:"text.secondary",children:["Server '",w,"' is not connected. Connect to view resources."]})}):n?(0,d.jsx)(h.default,{sx:{display:"flex",justifyContent:"center",p:2},children:(0,d.jsx)(aD.default,{size:24})}):0===A.length&&0===B.length?(0,d.jsx)(h.default,{sx:{p:2,textAlign:"center"},children:(0,d.jsx)(i.default,{color:"text.secondary",children:s.trim()?`No resources match "${s}".`:"This server does not publish any resources."})}):(0,d.jsxs)(aE.A,{disablePadding:!0,children:[A.map(a=>(0,d.jsx)(bY,{primary:a.name||a.uri,secondary:a.description||a.uri,chip:a.mimeType,tooltip:`Add ${a.name||a.uri} to prompt`,onClick:()=>C(a.uri)},a.uri)),B.map(a=>(0,d.jsx)(bY,{primary:a.name||a.uriTemplate,secondary:a.description||a.uriTemplate,chip:"template",tooltip:`Add template ${a.uriTemplate} to prompt (fill in variables, e.g. with \${global:VAR})`,onClick:()=>C(a.uriTemplate)},a.uriTemplate))]})})]})]})},b$=(0,B.h)("frontend/components/flow/FlowBuilder/Modals/ProcessNodePropertiesModal/ServerTools/AgentTools"),b_=({handoffTools:a,isLoadingHandoffTools:b,handleInsertToolBinding:c,promptBuilderRef:f})=>{let[g,j]=(0,e.useState)(""),k=a.filter(a=>{if(!g.trim())return!0;let b=g.toLowerCase().trim();return a.name&&a.name.toLowerCase().includes(b)||a.description&&a.description.toLowerCase().includes(b)});return(0,d.jsxs)(h.default,{sx:{mt:4,display:"flex",flexDirection:"column",height:"100%"},children:[(0,d.jsx)(i.default,{variant:"subtitle1",gutterBottom:!0,children:"Agent Handoff Tools"}),b?(0,d.jsxs)(h.default,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,d.jsx)(aD.default,{size:20}),(0,d.jsx)(i.default,{color:"text.secondary",children:"Loading handoff tools..."})]}):0===a.length?(0,d.jsxs)(h.default,{sx:{p:2,border:"1px dashed rgba(0, 0, 0, 0.12)",borderRadius:1},children:[(0,d.jsx)(i.default,{color:"text.secondary",align:"center",children:"No handoff tools available for this node."}),(0,d.jsx)(i.default,{variant:"caption",color:"text.secondary",align:"center",display:"block",sx:{mt:1},children:"Connect this Process node to other nodes to enable handoff tools."})]}):(0,d.jsxs)(h.default,{sx:{display:"flex",flexDirection:"column",flexGrow:1,height:"calc(100% - 40px)"},children:[(0,d.jsx)(t.A,{placeholder:"Search handoff tools...",variant:"outlined",size:"small",fullWidth:!0,value:g,onChange:a=>j(a.target.value),sx:{mb:2},InputProps:{startAdornment:(0,d.jsx)(bN.A,{position:"start",children:(0,d.jsx)(bS.A,{fontSize:"small"})})}}),(0,d.jsx)(z.A,{variant:"outlined",sx:{flexGrow:1,overflow:"auto",p:0,height:"calc(100% - 56px)"},children:0===k.length?(0,d.jsx)(h.default,{sx:{p:2,textAlign:"center"},children:(0,d.jsx)(i.default,{color:"text.secondary",children:g.trim()?`No handoff tools match "${g}".`:"No handoff tools available."})}):(0,d.jsx)(aE.A,{disablePadding:!0,children:k.map(a=>(0,d.jsxs)(bO.A,{variant:"outlined",onClick:()=>{a.name?(b$.debug("Inserting handoff tool binding",{toolType:"handoff",toolName:a.name}),c("handoff",a.name)):b$.warn("Cannot insert handoff tool binding, tool name is undefined",{toolName:a.name})},sx:{mb:1,mx:1,mt:1,cursor:"pointer",position:"relative",bgcolor:"rgba(0, 0, 0, 0.04)","&:hover":{boxShadow:1,bgcolor:"rgba(0, 0, 0, 0.08)"}},children:[(0,d.jsx)(bP.A,{sx:{p:2,"&:last-child":{pb:2}},children:(0,d.jsx)(h.default,{sx:{display:"flex",justifyContent:"space-between",alignItems:"flex-start"},children:(0,d.jsxs)(h.default,{sx:{width:"100%"},children:[(0,d.jsxs)(i.default,{variant:"subtitle2",component:"div",sx:{display:"flex",alignItems:"center"},children:[(0,d.jsx)(bT.A,{fontSize:"small",sx:{mr:1,color:"text.secondary"}}),a.name]}),(0,d.jsx)(i.default,{variant:"body2",color:"text.secondary",sx:{mt:.5},children:a.description||"No description available"}),a.inputSchema&&(a=>a&&a.properties&&0!==Object.keys(a.properties).length?(0,d.jsxs)(h.default,{sx:{mt:1},children:[(0,d.jsx)(i.default,{variant:"caption",color:"text.secondary",sx:{fontWeight:"medium"},children:"Parameters:"}),(0,d.jsx)(h.default,{sx:{pl:1,mt:.5},children:Object.entries(a.properties).map(([b,c])=>(0,d.jsxs)(h.default,{sx:{mb:.5},children:[(0,d.jsxs)(i.default,{variant:"caption",component:"span",sx:{fontWeight:"medium"},children:[b,a.required?.includes(b)&&(0,d.jsx)(i.default,{variant:"caption",component:"span",color:"error.main",children:" *"}),": "]}),(0,d.jsx)(i.default,{variant:"caption",component:"span",color:"text.secondary",children:c.description||c.type||"No description"}),c.enum&&(0,d.jsx)(h.default,{sx:{pl:2,mt:.5},children:(0,d.jsxs)(i.default,{variant:"caption",color:"text.secondary",children:["Options: ",c.enum.join(", ")]})})]},b))})]}):(0,d.jsx)(h.default,{sx:{mt:1},children:(0,d.jsx)(i.default,{variant:"caption",color:"text.secondary",sx:{fontStyle:"italic"},children:"No parameters required."})}))(a.inputSchema)]})})}),(0,d.jsx)(m.A,{title:`Add ${a.name} handoff tool to prompt`,children:(0,d.jsx)(h.default,{sx:{position:"absolute",top:0,left:0,right:0,bottom:0}})})]},a.name))})})]})]})};var b0=c(67191),b1=c(85838);let b2=(0,B.h)("frontend/components/Flow/FlowManager/FlowBuilder/Modals/ProcessNodePropertiesModal/PromptTemplateEditor"),b3=(0,e.forwardRef)((a,b)=>{let{promptTemplate:c,handlePromptChange:f,excludeModelPrompt:g,setExcludeModelPrompt:k,excludeStartNodePrompt:l,setExcludeStartNodePrompt:m,isModelBound:n,models:p,nodeData:q,flowId:r}=a,[s,t]=(0,e.useState)(""),[u,v]=(0,e.useState)(!1),[w,x]=(0,e.useState)(null),y=(0,e.useRef)(null);(0,e.useImperativeHandle)(b,()=>({insertText:a=>{y.current&&y.current.insertText(a)},getMode:()=>y.current?y.current.getMode():"raw"}));let A=async()=>{if(b2.debug("fetchRenderedPrompt called with:",{flowId:r,nodeId:q?.id}),!r||!q||!q.id)return void x("Flow ID or Node ID is missing");v(!0),x(null);try{let a=await fetch("/api/flow/prompt-renderer",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({flowId:r,nodeId:q.id,options:{renderMode:"rendered",includeConversationHistory:!1,excludeModelPrompt:g,excludeStartNodePrompt:l}})}),b=await a.json();if(!a.ok)throw Error(b.error||"Failed to render prompt");b2.debug("Rendered prompt received",{promptLength:b.prompt?.length}),t(b.prompt+"\n\n [Messages sent by User]")}catch(a){b2.error("Error fetching rendered prompt",a),x(a instanceof Error?a.message:"An unknown error occurred")}finally{v(!1)}};return(0,e.useEffect)(()=>{y.current&&"preview"===y.current.getMode()&&A()},[c,g,l,r,q?.id]),(0,d.jsxs)(h.default,{sx:{display:"flex",flexDirection:"column",height:"100%",pl:2},children:[(0,d.jsxs)(h.default,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2},children:[(0,d.jsx)(i.default,{variant:"h6",children:"Prompt Template"}),(0,d.jsxs)(h.default,{sx:{display:"flex",gap:2},children:[(0,d.jsx)(bf.A,{control:(0,d.jsx)(b0.A,{checked:g,onChange:a=>k(a.target.checked),color:"primary",size:"small"}),label:"Exclude Model Prompt"}),(0,d.jsx)(bf.A,{control:(0,d.jsx)(b0.A,{checked:l,onChange:a=>m(a.target.checked),color:"primary",size:"small"}),label:"Exclude Start Node Prompt"})]})]}),(0,d.jsxs)(h.default,{sx:{mb:2,p:2,bgcolor:"rgba(0, 0, 0, 0.03)",borderRadius:1,fontSize:"0.85rem"},children:[(0,d.jsx)(i.default,{variant:"caption",sx:{display:"block",mb:1,fontWeight:"bold"},children:"Prompt Rendering Order:"}),(0,d.jsxs)(h.default,{sx:{display:"flex",flexDirection:"column",gap:.5},children:[!l&&(0,d.jsxs)(h.default,{sx:{display:"flex",alignItems:"center"},children:[(0,d.jsx)(i.default,{variant:"caption",sx:{color:"primary.main",fontWeight:"medium"},children:"1. Start Node Prompt"}),(0,d.jsx)(i.default,{variant:"caption",sx:{ml:1,color:"text.secondary"},children:"(from the Start node in this flow)"})]}),!g&&n&&(0,d.jsxs)(h.default,{sx:{display:"flex",alignItems:"center"},children:[(0,d.jsxs)(i.default,{variant:"caption",sx:{color:"secondary.main",fontWeight:"medium"},children:[l?"1.":"2."," Model Prompt"]}),(0,d.jsxs)(i.default,{variant:"caption",sx:{ml:1,color:"text.secondary"},children:["(from the selected model: ",(()=>{let a=q.properties?.boundModel;if(!a)return"None";let b=p.find(b=>b.id===a);return b?b.displayName||b.name:q.properties?.modelName||"None"})(),")"]})]}),(0,d.jsxs)(h.default,{sx:{display:"flex",alignItems:"center"},children:[(0,d.jsxs)(i.default,{variant:"caption",sx:{fontWeight:"medium"},children:[l||g||!n?l&&(g||!n)?"1.":"2.":"3."," This Node's Prompt"]}),(0,d.jsx)(i.default,{variant:"caption",sx:{ml:1,color:"text.secondary"},children:"(defined below)"})]}),(0,d.jsxs)(h.default,{sx:{display:"flex",alignItems:"center"},children:[(0,d.jsxs)(i.default,{variant:"caption",sx:{fontWeight:"medium"},children:[l||g||!n?l&&(g||!n)?"2.":"3.":"4."," Conversation History"]}),(0,d.jsx)(i.default,{variant:"caption",sx:{ml:1,color:"text.secondary"},children:"(coming from ChatCompletion endpoint)"})]})]})]}),(0,d.jsx)(h.default,{sx:{flexGrow:1,display:"flex",flexDirection:"column",height:"calc(100% - 120px)"},children:(0,d.jsx)(b1.A,{ref:y,value:c,onChange:f,label:"",height:"100%",onModeChange:a=>{"preview"===a&&A()},customPreviewRenderer:()=>u?(0,d.jsx)(h.default,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"100%"},children:(0,d.jsx)(aD.default,{size:40})}):w?(0,d.jsxs)(h.default,{sx:{display:"flex",flexDirection:"column",p:2},children:[(0,d.jsx)(o.A,{severity:"error",sx:{mb:2},action:(0,d.jsx)(j.A,{color:"inherit",size:"small",onClick:A,children:"Retry"}),children:w}),(0,d.jsx)(i.default,{variant:"body2",color:"text.secondary",sx:{mb:2,textAlign:"center"},children:r?"Check that the flow and node IDs are valid and try again.":"This flow hasn't been saved yet. Save the flow first to enable complete preview."})]}):(0,d.jsxs)(h.default,{sx:{p:2},children:[(0,d.jsx)(i.default,{variant:"subtitle1",gutterBottom:!0,sx:{fontWeight:"medium"},children:"Complete Rendered Prompt"}),(0,d.jsx)(z.A,{elevation:0,sx:{p:2,overflow:"auto",bgcolor:"rgba(0, 0, 0, 0.02)",border:"1px solid rgba(0, 0, 0, 0.1)",borderRadius:1},children:(0,d.jsx)(h.default,{component:"pre",sx:{whiteSpace:"pre-wrap",wordBreak:"break-word",fontFamily:"monospace",fontSize:"0.875rem",m:0},children:s||"No rendered prompt available. Please check your flow configuration."})})]})})})]})});b3.displayName="PromptTemplateEditor";var b4=c(98256),b5=c(7675);let b6=({nodeData:a,handlePropertyChange:b,properties:c})=>(0,d.jsx)(d.Fragment,{children:c.length>0&&(0,d.jsxs)(h.default,{sx:{mt:3},children:[(0,d.jsx)(i.default,{variant:"subtitle1",gutterBottom:!0,children:"Node Properties"}),c.map(c=>(c=>{if(!a)return null;let e=a.properties?.[c.key]??"";switch(c.type){case"text":return(0,d.jsx)(t.A,{fullWidth:!0,label:c.label,multiline:c.multiline,rows:c.multiline?4:1,value:e,onChange:a=>b(c.key,a.target.value),margin:"normal",helperText:c.helperText},c.key);case"number":return(0,d.jsx)(t.A,{fullWidth:!0,type:"number",label:c.label,value:e,inputProps:{min:c.min,max:c.max,step:c.step},onChange:a=>{let d=a.target.value;b(c.key,""===d?void 0:Number(d))},margin:"normal",helperText:c.helperText},c.key);case"select":return(0,d.jsxs)(a3.A,{fullWidth:!0,margin:"normal",children:[(0,d.jsx)(b4.A,{children:c.label}),(0,d.jsx)(b5.A,{value:e||"",label:c.label,onChange:a=>b(c.key,a.target.value),children:c.options?.map(a=>(0,d.jsx)(R.A,{value:a,children:a},a))})]},c.key);case"boolean":return(0,d.jsx)(bf.A,{control:(0,d.jsx)(b0.A,{checked:e||!1,onChange:a=>b(c.key,a.target.checked)}),label:c.label,sx:{my:1}},c.key);default:return null}})(c))]})}),b7=(0,B.h)("frontend/components/Flow/FlowManager/FlowBuilder/Modals/ProcessNodePropertiesModal"),b8=({open:a,node:b,onClose:c,onSave:f,flowEdges:g=[],flowNodes:k=[],flowId:m,onConnectMcpServer:n})=>{b7.debug("ProcessNodePropertiesModal rendered with:",{node:b,flowId:m});let{nodeData:o,setNodeData:s,handlePropertyChange:t}=(a=>{let[b,c]=(0,e.useState)(null);(0,e.useEffect)(()=>{a&&c({id:a.id,...a.data,properties:{...a.data.properties}})},[a]);let d=(0,e.useCallback)((a,b)=>{c(c=>c?{...c,properties:{...c.properties,[a]:b}}:null)},[]);return{nodeData:b,setNodeData:c,handlePropertyChange:d}})(b),[v,w]=(0,e.useState)(""),[x,y]=(0,e.useState)(!1),[z,B]=(0,e.useState)(!1),[C,D]=(0,e.useState)(!1),[E,G]=(0,e.useState)("server"),{models:H,isLoadingModels:I,loadError:J,handleModelSelect:K,handleUnbindModel:L}=((a,b,c,d,f)=>{aY.debug("useModelManagement: Entering hook");let[g,h]=(0,e.useState)([]),[i,j]=(0,e.useState)(!1),[k,l]=(0,e.useState)(null);(0,e.useEffect)(()=>{aY.debug("useModelManagement useEffect: Checking if modal is open",{open:a}),a&&m()},[a]),(0,e.useEffect)(()=>{if(0===g.length)return;let a=b?.properties?.boundModel;if(!a)return;let d=g.find(b=>b.id===a);d&&d.name&&b?.properties?.modelName!==d.name&&c(a=>a&&a.properties?.modelName!==d.name?{...a,properties:{...a.properties,modelName:d.name}}:a)},[g,b?.properties?.boundModel,b?.properties?.modelName,c]);let m=async()=>{aY.debug("loadModels: Entering method"),j(!0),l(null);try{let a=await aQ.N.loadModels();h(a)}catch(a){aY.warn("loadModels: Failed to load models:",a),l("Failed to load models")}j(!1)},n=(0,e.useCallback)(a=>{aY.debug("handleModelSelect: Entering method",{modelId:a});let b=g.find(b=>b.id===a);b&&(c(c=>{if(!c)return null;let d=g.find(a=>a.id===c.properties?.boundModel),e=aX({currentLabel:c.label,nameIsCustom:c.properties?.nameIsCustom,defaultLabel:"Process Node",previousAutoLabel:d?d.displayName||d.name:void 0,nextAutoLabel:b.displayName||b.name});return{...c,label:e,properties:{...c.properties,boundModel:a,modelName:b.name}}}),f(!0))},[g,c,d,f]);return{models:g,isLoadingModels:i,loadError:k,handleModelSelect:n,handleUnbindModel:(0,e.useCallback)(()=>{aY.debug("handleUnbindModel: Entering method"),c(a=>{if(!a)return null;let{boundModel:b,modelName:c,...d}=a.properties;return{...a,properties:{...d,promptTemplate:d.promptTemplate||""}}}),f(!1)},[c,f])}})(a,o,s,w,y),{connectedMcpNodes:M,allServers:N,isLoadingServers:O,selectedToolServerNodeId:P,serverToolsMap:Q,serverStatuses:R,isLoadingTools:S,handleSelectToolServer:T,isLoadingSelectedServerTools:U,handleRetryServer:V,handleRestartServer:W}=((a,b,c,d)=>{let f=(0,aZ.v)(),g=f.servers||[],h=f.isLoading||!1,[i,j]=(0,e.useState)({}),[k,l]=(0,e.useState)({}),[m,n]=(0,e.useState)({}),[o,p]=(0,e.useState)(null),[q,r]=(0,e.useState)(!1),s=(0,e.useMemo)(()=>b?((a,b)=>[...new Set(b.filter(b=>b.source===a&&b.data?.edgeType==="mcp"||b.target===a&&b.data?.edgeType==="mcp").map(b=>b.source===a?b.target:b.source))])(b.id,c):[],[b,c]),t=(0,e.useMemo)(()=>{if(!b||0===s.length)return[];if(!d||!Array.isArray(d))return a$.warn("flowNodes is not available or not an array when filtering connected servers"),[];try{let a=[],b=new Set;return s.forEach(c=>{if(b.has(c))return;let e=d.find(a=>a&&a.id===c);if(!e||!e.data||!e.data.properties)return void a$.warn(`Could not find valid MCP node data for ID ${c}`);let f=e.data.properties.boundServer;if(!f)return void a$.warn(`MCP node ${c} is not bound to any server.`);let h=g.find(a=>a.name===f),i=h?.status||"unknown",j=e.data.properties.enabledTools||[];a.push({nodeId:c,serverName:f,status:i,enabledTools:Array.isArray(j)?j:[]}),b.add(c)}),a$.debug("Generated connectedMcpNodes:",JSON.stringify(a)),a}catch(a){return a$.error("Error preparing connected MCP nodes:",a),[]}},[b,s,g,d]);(0,e.useEffect)(()=>{if(t&&t.length>0){let a={};t.forEach(b=>{let c=g.find(a=>a.name===b.serverName);a[b.serverName]=c?.status||b.status||"unknown"}),j(a)}},[t,g]),(0,e.useEffect)(()=>{if(a&&t.length>0){let a=Array.from(new Set(t.map(a=>a.serverName)));(async()=>{let b={},c={...k},d=a.filter(a=>{let b=g.find(b=>b.name===a);return b?.status==="connected"&&!k[a]&&!m[a]});0!==d.length&&(d.forEach(a=>{b[a]=!0}),n(a=>({...a,...b})),await Promise.all(d.map(async a=>{try{a$.debug(`Loading tools for server: ${a}`);let b=await F.S.listServerTools(a);if(b.error)a$.warn(`Error loading tools for ${a}:`,b.error),c[a]=[];else{let d=b.tools||[];a$.debug(`Loaded ${d.length} tools for ${a}`),c[a]=d}}catch(b){a$.warn(`Failed to load tools for server ${a}:`,b),c[a]=[]}finally{n(b=>({...b,[a]:!1}))}})),l(c))})()}},[a,t,g]);let u=(0,e.useRef)(k);(0,e.useEffect)(()=>{u.current=k},[k]);let v=(0,e.useCallback)(a=>{a$.debug(`Selected MCP Node ID: ${a}`),p(a);let b=t.find(b=>b.nodeId===a),c=b?.serverName;!c||u.current[c]||m[c]?r(m[c||""]||!1):(a$.debug(`Tools not loaded for server ${c}, loading now.`),r(!0),n(a=>({...a,[c]:!0})),F.S.listServerTools(c).then(a=>{let b=a.tools||[];a.error?a$.warn(`Error loading tools for ${c}:`,a.error):a$.debug(`Loaded ${b.length} tools for ${c}`),l(a=>({...a,[c]:b}))}).catch(a=>{a$.warn(`Failed to load tools for server ${c}:`,a),l(a=>({...a,[c]:[]}))}).finally(()=>{r(!1),n(a=>({...a,[c]:!1}))}))},[t,m]),w=(0,e.useRef)(f);return(0,e.useEffect)(()=>{w.current=f},[f]),{connectedMcpNodes:t,allServers:g,isLoadingServers:h,selectedToolServerNodeId:o,serverToolsMap:k,serverStatuses:i,isLoadingTools:m,handleSelectToolServer:v,isLoadingSelectedServerTools:q,handleRetryServer:(0,e.useCallback)(async a=>{a$.debug(`Retrying server: ${a}`),n(b=>({...b,[a]:!0}));try{await w.current.retryServer(a);let b=await F.S.listServerTools(a);if(b.error)return a$.warn(`Error loading tools for ${a} after retry:`,b.error),!1;{let c=b.tools||[];return a$.debug(`Loaded ${c.length} tools for ${a} after retry`),l(b=>({...b,[a]:c})),!0}}catch(b){return a$.warn(`Failed to retry or load tools for server ${a}:`,b),!1}finally{n(b=>({...b,[a]:!1}))}},[]),handleRestartServer:(0,e.useCallback)(async a=>{a$.debug(`Restarting server: ${a}`),n(b=>({...b,[a]:!0}));try{await F.S.restartServer(a),await new Promise(a=>setTimeout(a,1e3));let b=await F.S.listServerTools(a);if(b.error)return a$.warn(`Error loading tools for ${a} after restart:`,b.error),!1;{let c=b.tools||[];return a$.debug(`Loaded ${c.length} tools for ${a} after restart`),l(b=>({...b,[a]:c})),!0}}catch(b){return a$.warn(`Failed to restart or load tools for server ${a}:`,b),!1}finally{n(b=>({...b,[a]:!1}))}},[])}})(a,b,g,k),X=((a,b,c,d)=>{let[f,g]=(0,e.useState)([]),[h,i]=(0,e.useState)(!1),j=(0,e.useMemo)(()=>b?function(a,b){let c=[];for(let d of b)!("string"==typeof d.data?.edgeType&&d.data.edgeType.includes("mcp"))&&(d.source===a?c.push(d.target):d.target===a&&d.data?.bidirectional&&c.push(d.source));return[...new Set(c)]}(b.id,c):[],[b,c]);return(0,e.useEffect)(()=>{if(a&&b){i(!0);try{let a=j.map(a=>d.find(b=>b.id===a)).filter(a=>!!a),b=function(a){let b=new Set,c=new Map;for(let d of a){if(c.has(d.id))continue;let a=function(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"}(d.label,d.type),e=`${a_}${a}`;if(b.has(e)){let c=2;for(;b.has(`${a_}${a}_${c}`);)c++;e=`${a_}${a}_${c}`}b.add(e),c.set(d.id,e)}return c}(a.map(a=>({id:a.id,label:a.data.label,type:a.type||a.data.type}))),c=a.map(a=>({name:b.get(a.id)||`handoff_to_${a.id}`,description:function(a){if(a.userDescription&&a.userDescription.trim())return a0(a.userDescription,1500);let b=`Hand off execution to ${a.label} (${a.type}).`,c=[];!function a(b,c,d){let e=" ".repeat(c);if(b.userDescription&&b.userDescription.trim())return void d.push(`${e}${a0(b.userDescription,200)}`);if("subflow"===b.type){if(b.subflowMissing)return void d.push(`${e}Runs a subflow (referenced flow not found).`);if(b.subflowDetailsUnavailable){let a=b.subflowName?` "${b.subflowName}"`:"";d.push(`${e}Runs a subflow${a} (contents summarised when the flow runs).`);return}if(d.push(`${e}Runs the subflow "${b.subflowName??"unknown"}", which contains:`),b.depthCapReached)return void d.push(`${e} (nested subflows omitted — recursion depth limit reached)`);let f=b.children??[];if(0===f.length)return void d.push(`${e} (no process or subflow steps)`);for(let b of f.slice(0,10))d.push(`${e} - ${b.label}:`),a(b,c+2,d);return void(f.length>10&&d.push(`${e} - …and ${f.length-10} more step(s)`))}if(b.modelName&&d.push(`${e}Model: ${b.modelName}`),b.promptSummary&&d.push(`${e}Role: ${a0(b.promptSummary,200)}`),b.servers&&b.servers.length>0)for(let a of b.servers)if(a.connected&&a.tools&&a.tools.length>0){let b=a.tools.slice(0,10),c=a.tools.length-b.length,f=c>0?`, +${c} more`:"";d.push(`${e}Tools (${a.name}): ${b.join(", ")}${f}`)}else d.push(`${e}Tools (${a.name}): server not connected`)}(a,0,c);let d=c.join("\n").trim(),e=d?`${b}
|
|
2
|
+
${d}`:b;if(e.length<=1500)return e;let f=1500-b.length-2;return f<=0?b:`${b}
|
|
3
|
+
${a0(d,f)}`}(function(a){let b=a.type||a.data.type||"unknown",c=a.data.label||"Unknown Node",d=a.data.description,e=a.data.properties||{},f={label:c,type:b,userDescription:d};if(d&&d.trim())return f;if("subflow"===b)return f.subflowDetailsUnavailable=!0,f;"string"==typeof e.boundModel&&e.boundModel&&(f.modelName=e.boundModel),"string"==typeof e.promptTemplate&&e.promptTemplate.trim()&&(f.promptSummary=e.promptTemplate);let g=Array.isArray(e.mcpNodes)?e.mcpNodes:[],h=[],i=new Set;for(let a of g){let b=a?.properties?.boundServer;if(!b||i.has(b))continue;i.add(b);let c=Array.isArray(a?.properties?.enabledTools)?a.properties.enabledTools:[];h.push({name:b,connected:!0,tools:c})}return h.length>0&&(f.servers=h),f}(a)),inputSchema:{type:"object",properties:{},required:[]}}));g(c),a1.debug("Generated handoff tools",{toolsCount:c.length})}catch(a){a1.error("Error generating handoff tools",a),g([])}finally{i(!1)}}else g([])},[a,b,j,c,d]),{handoffTools:f,isLoadingHandoffTools:h}})(a,b,g,k),Y=X?.handoffTools||[],Z=X?.isLoadingHandoffTools||!1;(0,e.useEffect)(()=>{a&&b&&b7.debug("Handoff tools:",{count:Y.length,tools:Y.map(a=>a.name)})},[a,b,Y]),(0,e.useEffect)(()=>{b&&(w(b.data.properties?.promptTemplate||""),b.data.properties?.boundModel?y(!0):y(!1),B(b.data.properties?.excludeModelPrompt||!1),D(b.data.properties?.excludeStartNodePrompt||!1))},[b,a]);let $=(0,e.useRef)(null),_=(a,b,c="server")=>{if(b7.debug("handleInsertToolBinding called with:",JSON.stringify({serverName:a,toolName:b})),!a||!b)return void b7.warn("Invalid parameters for handleInsertToolBinding:",{serverName:a,toolName:b});let d=(Q[a]||[]).find(a=>a.name===b);d?.description;let e="handoff"===c?(0,aL.X8)("tool","handoff",b):(0,aL.X8)("tool",a,b),f=(!(v.length>0)||v.endsWith(" ")||v.endsWith("\n")?"":" ")+e;$.current?(b7.debug("Inserting text into PromptBuilder:",JSON.stringify({textToInsert:f})),$.current.insertText(f),b7.debug("Tool binding inserted successfully")):b7.warn("promptBuilderRef.current is null, cannot insert text")};if(!b||!o)return null;let aa=o.properties?.boundModel||"";return(0,d.jsxs)(p.A,{open:a,onClose:c,maxWidth:"xl",fullWidth:!0,PaperProps:{sx:{borderTop:5,borderColor:"secondary.main",width:"95vw",height:"90vh",maxWidth:"95vw",maxHeight:"90vh"}},children:[(0,d.jsx)(q.A,{component:"div",children:(0,d.jsxs)(h.default,{display:"flex",alignItems:"center",justifyContent:"space-between",children:[(0,d.jsxs)(i.default,{variant:"h6",children:[o.label||"Process Node"," Properties"]}),(0,d.jsx)(l.A,{edge:"end",color:"inherit",onClick:c,"aria-label":"close",children:(0,d.jsx)(aW.A,{})})]})}),(0,d.jsx)(A.A,{}),(0,d.jsx)(r.A,{sx:{display:"flex",flexDirection:"column",p:3,overflow:"auto",height:"calc(90vh - 130px)"},children:(0,d.jsxs)(aT.Ay,{container:!0,spacing:2,sx:{flexGrow:1,height:"100%"},children:[(0,d.jsxs)(aT.Ay,{item:!0,xs:6,sx:{display:"flex",flexDirection:"column",height:"100%",overflow:"auto"},children:[(0,d.jsx)(h.default,{sx:{mb:3},children:(0,d.jsx)(a2,{nodeData:o,setNodeData:s})}),(0,d.jsx)(h.default,{sx:{mb:3},children:(0,d.jsx)(bE,{isLoadingModels:I,loadError:J,models:H,selectedModelId:aa,handleModelSelect:K,isModelBound:x,handleUnbindModel:L})}),(0,d.jsxs)(h.default,{sx:{mb:3},children:[(0,d.jsx)(h.default,{sx:{borderBottom:1,borderColor:"divider",mb:2},children:(0,d.jsxs)(aU.A,{value:E,onChange:(a,b)=>G(b),children:[(0,d.jsx)(aV.A,{label:"Server Tools",value:"server"}),(0,d.jsx)(aV.A,{label:"Resources",value:"resources"}),(0,d.jsx)(aV.A,{label:"Agent Tools",value:"agent"})]})}),"server"===E&&(0,d.jsx)(bV,{isLoadingServers:O,connectedMcpNodes:M,availableServers:N,onConnectMcpServer:n,serverStatuses:R,serverToolsMap:Q,isLoadingTools:S,handleInsertToolBinding:_,selectedToolServerNodeId:P,selectedNodeId:b?.id||null,handleSelectToolServer:T,isLoadingSelectedServerTools:U,promptBuilderRef:$,handleRetryServer:V,handleRestartServer:W}),"resources"===E&&(0,d.jsx)(bZ,{connectedMcpNodes:M,handleInsertResourceBinding:(a,b)=>{if(!a||!b)return void b7.warn("Invalid parameters for handleInsertResourceBinding:",{serverName:a,uri:b});let c=(0,aL.X8)("resource",a,b),d=v.length>0&&!v.endsWith(" ")&&!v.endsWith("\n");$.current?$.current.insertText((d?" ":"")+c):b7.warn("promptBuilderRef.current is null, cannot insert resource binding")},promptBuilderRef:$}),"agent"===E&&(0,d.jsx)(b_,{handoffTools:Y,isLoadingHandoffTools:Z,handleInsertToolBinding:(a,b)=>_(a,b,"handoff"),promptBuilderRef:$})]}),(0,d.jsx)(h.default,{children:(0,d.jsx)(b6,{nodeData:o,handlePropertyChange:t,properties:[{key:"maxTurns",label:"Max Turns (override)",type:"number",min:1,helperText:"Optional. Overrides the bound model's Max Turns for this node. Leave empty to inherit the model setting (default 50)."}]})})]}),(0,d.jsx)(aT.Ay,{item:!0,xs:6,sx:{height:"100%",display:"flex",flexDirection:"column"},children:(0,d.jsx)(b3,{ref:$,promptTemplate:v,handlePromptChange:a=>{w(a),s(b=>b?{...b,properties:{...b.properties,promptTemplate:a}}:null)},excludeModelPrompt:z,setExcludeModelPrompt:B,excludeStartNodePrompt:C,setExcludeStartNodePrompt:D,isModelBound:x,models:H,nodeData:o,flowId:m})})]})}),(0,d.jsxs)(u.A,{children:[(0,d.jsx)(j.A,{onClick:c,children:"Cancel"}),(0,d.jsx)(j.A,{onClick:()=>{if(b&&o){let a={...o,properties:{...o.properties,promptTemplate:v,excludeModelPrompt:z,excludeStartNodePrompt:C}};f(b.id,a),c()}},variant:"contained",color:"primary",children:"Save Changes"})]})]})};var b9=c(2173),ca=c(88117);let cb=(0,B.h)("frontend/components/Flow/FlowManager/FlowBuilder/Modals/MCPNodePropertiesModal"),cc=({open:a,node:b,onClose:c,onSave:f})=>{let[g,k]=(0,e.useState)(null),{servers:n,isLoading:o,loadError:s,retryServer:v}=(0,aZ.v)(),[w,x]=(0,e.useState)({}),{tools:y,isLoading:B,error:C,loadTools:D}=(0,ca.O)(g?.properties?.boundServer||"");(0,e.useEffect)(()=>{b&&k({...b.data,properties:{...b.data.properties}})},[b,a]);let E=g?.properties?.boundServer||"";(0,e.useEffect)(()=>{y&&y.length>0&&(a=>{g&&0===(g.properties.enabledTools||[]).length&&a.length>0&&(cb.debug("Enabling all tools by default"),k(b=>b?{...b,properties:{...b.properties,enabledTools:a.map(a=>a.name)}}:null))})(y)},[y]);let F=(a,b)=>{k(c=>c?{...c,properties:{...c.properties,[a]:b}}:null)},G=async(a,b)=>{b&&b.stopPropagation(),cb.debug(`Retrying server: ${a}`),x(b=>({...b,[a]:!0}));try{return await v(a),a===E&&D(!0),!0}catch(b){return cb.warn(`Failed to retry server ${a}: ${b}`),!1}finally{setTimeout(()=>{x(b=>({...b,[a]:!1}))},500)}};if(!b||!g)return null;let H=g.properties?.boundServer||"",I=g.properties?.enabledTools||[],J=g.properties?.toolTimeout,K=-1===J;return(0,d.jsxs)(p.A,{open:a,onClose:c,maxWidth:"md",fullWidth:!0,PaperProps:{sx:{borderTop:5,borderColor:"info.main",height:"80vh",maxHeight:"80vh"}},children:[(0,d.jsx)(q.A,{component:"div",children:(0,d.jsxs)(h.default,{display:"flex",alignItems:"center",justifyContent:"space-between",children:[(0,d.jsxs)(i.default,{variant:"h6",children:[g.label||"MCP Node"," Properties"]}),(0,d.jsx)(l.A,{edge:"end",color:"inherit",onClick:c,"aria-label":"close",children:(0,d.jsx)(aW.A,{})})]})}),(0,d.jsx)(A.A,{}),(0,d.jsxs)(r.A,{sx:{display:"flex",flexDirection:"column",p:3,overflow:"auto"},children:[(0,d.jsx)(t.A,{fullWidth:!0,label:"Node Label",value:g.label||"",onChange:a=>{k(b=>b?{...b,label:a.target.value,properties:{...b.properties,nameIsCustom:!0}}:null)},margin:"normal",helperText:"The display name for this node on the canvas",sx:{mb:2}}),(0,d.jsxs)(h.default,{sx:{mb:4},children:[(0,d.jsx)(i.default,{variant:"subtitle1",gutterBottom:!0,children:"Bind to MCP Server"}),o?(0,d.jsxs)(h.default,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,d.jsx)(aD.default,{size:20}),(0,d.jsx)(i.default,{color:"text.secondary",children:"Loading MCP servers..."})]}):s?(0,d.jsx)(i.default,{color:"error",children:s}):0===n.length?(0,d.jsx)(i.default,{color:"text.secondary",children:"No MCP servers available. Add some in the MCP Manager."}):(0,d.jsx)(d.Fragment,{children:(0,d.jsxs)(a3.A,{component:"fieldset",fullWidth:!0,children:[(0,d.jsx)(be,{value:H,onChange:a=>(a=>{cb.debug(`Server selected: ${a}`),cb.debug(`Server selected: ${a}`),k(b=>{if(!b)return null;let c=aX({currentLabel:b.label,nameIsCustom:b.properties?.nameIsCustom,defaultLabel:"MCP Node",previousAutoLabel:b.properties?.boundServer||void 0,nextAutoLabel:a});return{...b,label:c,properties:{...b.properties,boundServer:a}}})})(a.target.value),children:(0,d.jsx)(aT.Ay,{container:!0,spacing:2,children:n.map(a=>(0,d.jsx)(aT.Ay,{item:!0,xs:12,sm:6,children:(0,d.jsx)(z.A,{elevation:1,sx:{p:2,border:2*(H===a.name),borderColor:"primary.main",opacity:"connected"===a.status?1:.6},children:(0,d.jsxs)(h.default,{sx:{display:"flex",width:"100%",alignItems:"flex-start"},children:[(0,d.jsx)(bf.A,{value:a.name,control:(0,d.jsx)(bB,{}),label:(0,d.jsxs)(h.default,{children:[(0,d.jsx)(i.default,{variant:"subtitle2",children:a.name}),(0,d.jsx)(i.default,{variant:"caption",color:"text.secondary",display:"block",children:a.path}),(0,d.jsxs)(i.default,{variant:"caption",color:"connected"===a.status?"success.main":"error"===a.status?"error.main":"text.secondary",children:["Status: ",a.status]})]}),sx:{width:"calc(100% - 40px)",m:0}}),(0,d.jsx)(m.A,{title:"Retry connection",children:(0,d.jsx)(l.A,{size:"small",onClick:b=>G(a.name,b),disabled:w[a.name],sx:{mt:1},children:w[a.name]?(0,d.jsx)(aD.default,{size:16}):(0,d.jsx)(bQ.A,{fontSize:"small"})})})]})})},a.name))})}),(0,d.jsx)(bC.A,{children:H?`This node will use the "${H}" MCP server for processing.`:"Select an MCP server to bind this node to."})]})})]}),(0,d.jsx)(t.A,{fullWidth:!0,label:"Description",value:g.description||"",onChange:a=>k({...g,description:a.target.value}),margin:"normal",multiline:!0,rows:2,helperText:"This description will be displayed on the node"}),H&&(0,d.jsxs)(h.default,{sx:{mt:4},children:[(0,d.jsx)(i.default,{variant:"subtitle1",gutterBottom:!0,children:"Tool Call Timeout"}),(0,d.jsx)(i.default,{variant:"body2",color:"text.secondary",sx:{mb:1},children:"How long a single tool call on this server may run before it is aborted. Tools that report progress keep the timeout alive while they work."}),(0,d.jsxs)(h.default,{sx:{display:"flex",alignItems:"center",gap:2},children:[(0,d.jsx)(t.A,{label:"Timeout (seconds)",type:"number",size:"small",sx:{width:200},value:K?"":J??"",placeholder:String(300),disabled:K,inputProps:{min:1},onChange:a=>{let b=a.target.value;if(""===b)return void F("toolTimeout",void 0);let c=parseInt(b,10);!isNaN(c)&&c>0&&F("toolTimeout",c)},helperText:K?"No timeout — tool calls run until they finish.":"Empty = default (300 seconds / 5 minutes)."}),(0,d.jsx)(bf.A,{control:(0,d.jsx)(b0.A,{checked:K,onChange:a=>F("toolTimeout",a.target.checked?-1:void 0)}),label:"No timeout (infinite)"})]})]}),H&&(0,d.jsxs)(h.default,{sx:{mt:4},children:[(0,d.jsx)(i.default,{variant:"subtitle1",gutterBottom:!0,children:"Allowed Tools"}),n.find(a=>a.name===H)?.status!=="connected"&&(0,d.jsxs)(h.default,{sx:{mb:2,p:2,bgcolor:"error.light",borderRadius:1},children:[(0,d.jsx)(i.default,{color:"error.dark",children:"Server is disconnected. Tools cannot be fetched. Please retry the connection."}),(0,d.jsx)(j.A,{variant:"outlined",size:"small",color:"primary",startIcon:w[H]?(0,d.jsx)(aD.default,{size:16}):(0,d.jsx)(bQ.A,{}),onClick:()=>G(H),disabled:w[H],sx:{mt:1},children:"Retry Connection"})]}),B?(0,d.jsxs)(h.default,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,d.jsx)(aD.default,{size:20}),(0,d.jsx)(i.default,{color:"text.secondary",children:"Loading tools..."})]}):C?(0,d.jsx)(i.default,{color:"error",children:C}):y&&0!==y.length?(0,d.jsxs)(h.default,{sx:{mt:2},children:[(0,d.jsx)(i.default,{variant:"body2",color:"text.secondary",sx:{mb:2},children:"Select which tools this node will have access to. This helps limit the tools available to connected process nodes."}),(0,d.jsx)(aE.A,{children:y.map(a=>(0,d.jsxs)(aG.Ay,{sx:{py:0},children:[(0,d.jsx)(S.A,{sx:{minWidth:42},children:(0,d.jsx)(b0.A,{edge:"start",checked:I.includes(a.name),onChange:()=>(a=>{cb.debug(`Tool toggled: ${a}`),k(b=>{let c;if(!b)return null;let d=b.properties.enabledTools||[];return c=d.includes(a)?d.filter(b=>b!==a):[...d,a],{...b,properties:{...b.properties,enabledTools:c}}})})(a.name)})}),(0,d.jsx)(T.A,{primary:a.name,secondary:a.description,primaryTypographyProps:{fontWeight:"medium"}})]},a.name))})]}):(0,d.jsx)(i.default,{color:"text.secondary",children:n.find(a=>a.name===H)?.status==="connected"?"No tools available for this MCP server.":"Connect to the server to view available tools."})]}),H&&(0,d.jsxs)(h.default,{sx:{mt:4},children:[(0,d.jsx)(b9.A,{roots:g.properties?.roots||[],onChange:a=>F("roots",a)}),(0,d.jsxs)(i.default,{variant:"caption",color:"text.secondary",sx:{display:"block",mt:1},children:["These folders apply to this node only and are ",(0,d.jsx)("strong",{children:"added to"}),' the workspace folders configured on the "',H,'" server itself. When neither is set, the server sees its own root dir as its workspace folder.']})]})]}),(0,d.jsxs)(u.A,{children:[(0,d.jsx)(j.A,{onClick:c,children:"Cancel"}),(0,d.jsx)(j.A,{onClick:()=>{b&&g&&(f(b.id,g),c())},variant:"contained",color:"primary",children:"Save Changes"})]})]})},cd=({open:a,node:b,onClose:c,onSave:f})=>{let[g,k]=(0,e.useState)(null),[m,n]=(0,e.useState)("");return((0,e.useEffect)(()=>{b&&(k({...b.data,properties:{...b.data.properties}}),n(b.data.properties?.promptTemplate||""))},[b,a]),b&&g)?(0,d.jsxs)(p.A,{open:a,onClose:c,maxWidth:"xl",fullWidth:!0,PaperProps:{sx:{borderTop:5,borderColor:"primary.main",width:"95vw",height:"90vh",maxWidth:"95vw",maxHeight:"90vh"}},children:[(0,d.jsx)(q.A,{component:"div",children:(0,d.jsxs)(h.default,{display:"flex",alignItems:"center",justifyContent:"space-between",children:[(0,d.jsxs)(i.default,{variant:"h6",children:[g.label||"Start Node"," Properties"]}),(0,d.jsx)(l.A,{edge:"end",color:"inherit",onClick:c,"aria-label":"close",children:(0,d.jsx)(aW.A,{})})]})}),(0,d.jsx)(A.A,{}),(0,d.jsx)(r.A,{sx:{display:"flex",flexDirection:"column",p:3,overflow:"auto",height:"calc(90vh - 130px)"},children:(0,d.jsxs)(h.default,{sx:{display:"flex",flexDirection:"column",height:"100%"},children:[(0,d.jsx)(i.default,{variant:"h6",gutterBottom:!0,children:"Prompt Template"}),(0,d.jsx)(h.default,{sx:{flexGrow:1,display:"flex",flexDirection:"column",height:"calc(100% - 40px)"},children:(0,d.jsx)(b1.A,{value:m,onChange:a=>{n(a),k(b=>b?{...b,properties:{...b.properties,promptTemplate:a}}:null)},label:"",height:"100%"})})]})}),(0,d.jsxs)(u.A,{children:[(0,d.jsx)(j.A,{onClick:c,children:"Cancel"}),(0,d.jsx)(j.A,{onClick:()=>{if(b&&g){let a={...g,properties:{...g.properties,promptTemplate:m}};f(b.id,a),c()}},variant:"contained",color:"primary",children:"Save Changes"})]})]}):null},ce=({open:a,node:b,onClose:c,onSave:f})=>{let[g,k]=(0,e.useState)(null);return((0,e.useEffect)(()=>{b&&k({...b.data,properties:{...b.data.properties}})},[b,a]),b&&g)?(0,d.jsxs)(p.A,{open:a,onClose:c,maxWidth:"md",fullWidth:!0,PaperProps:{sx:{borderTop:5,borderColor:"success.main",width:"600px",height:"400px",maxWidth:"95vw",maxHeight:"90vh"}},children:[(0,d.jsx)(q.A,{component:"div",children:(0,d.jsxs)(h.default,{display:"flex",alignItems:"center",justifyContent:"space-between",children:[(0,d.jsxs)(i.default,{variant:"h6",children:[g.label||"Finish Node"," Properties"]}),(0,d.jsx)(l.A,{edge:"end",color:"inherit",onClick:c,"aria-label":"close",children:(0,d.jsx)(aW.A,{})})]})}),(0,d.jsx)(A.A,{}),(0,d.jsx)(r.A,{sx:{display:"flex",flexDirection:"column",p:3,overflow:"auto"},children:(0,d.jsx)(h.default,{sx:{display:"flex",flexDirection:"column",height:"100%",justifyContent:"center",alignItems:"center",py:4},children:(0,d.jsxs)(z.A,{elevation:0,sx:{p:4,textAlign:"center",backgroundColor:"rgba(76, 175, 80, 0.08)",borderRadius:2,width:"100%"},children:[(0,d.jsx)(i.default,{variant:"h6",color:"success.main",gutterBottom:!0,children:"Finish Node"}),(0,d.jsx)(i.default,{variant:"body1",color:"text.secondary",children:"This is the end point of your flow. No additional configuration is needed."}),(0,d.jsx)(i.default,{variant:"body2",color:"text.secondary",sx:{mt:2,fontStyle:"italic"},children:"Future versions will support output formatting options."})]})})}),(0,d.jsxs)(u.A,{children:[(0,d.jsx)(j.A,{onClick:c,children:"Cancel"}),(0,d.jsx)(j.A,{onClick:()=>{b&&g&&(f(b.id,g),c())},variant:"contained",color:"primary",children:"Save"})]})]}):null},cf=(0,v.A)((0,d.jsx)("path",{d:"M15 4v7H5.17L4 12.17V4zm1-2H3c-.55 0-1 .45-1 1v14l4-4h10c.55 0 1-.45 1-1V3c0-.55-.45-1-1-1m5 4h-2v9H6v2c0 .55.45 1 1 1h11l4 4V7c0-.55-.45-1-1-1"}),"ForumOutlined"),cg=(0,v.A)((0,d.jsx)("path",{d:"M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m0 14H6l-2 2V4h16z"}),"ChatBubbleOutline"),ch=(0,B.h)("frontend/components/Flow/FlowManager/FlowBuilder/Modals/SubflowNodePropertiesModal"),ci=({selected:a,icon:b,title:c,description:e,onClick:f})=>(0,d.jsxs)(h.default,{role:"radio","aria-checked":a,tabIndex:0,onClick:f,onKeyDown:a=>{("Enter"===a.key||" "===a.key)&&(a.preventDefault(),f())},sx:{flex:1,position:"relative",p:2,borderRadius:2,border:2,borderColor:a?"primary.main":"divider",bgcolor:a?"action.selected":"background.paper",cursor:"pointer",transition:"border-color 120ms, background-color 120ms","&:hover":{borderColor:a?"primary.main":"text.disabled"},outline:"none","&:focus-visible":{boxShadow:a=>`0 0 0 3px ${a.palette.primary.light}`}},children:[a&&(0,d.jsx)(aK.A,{color:"primary",fontSize:"small",sx:{position:"absolute",top:8,right:8}}),(0,d.jsxs)(h.default,{sx:{display:"flex",alignItems:"center",gap:1,mb:.5,color:a?"primary.main":"text.secondary"},children:[b,(0,d.jsx)(i.default,{variant:"subtitle1",sx:{fontWeight:600,color:"text.primary"},children:c})]}),(0,d.jsx)(i.default,{variant:"body2",color:"text.secondary",children:e})]}),cj=({open:a,node:b,onClose:c,onSave:f,flowId:g})=>{let[k,m]=(0,e.useState)(null),[n,s]=(0,e.useState)([]),[v,w]=(0,e.useState)(!1);(0,e.useEffect)(()=>{b&&m({...b.data,properties:{...b.data.properties}})},[b,a]),(0,e.useEffect)(()=>{if(!a)return;let b=!1;return w(!0),E.g.loadFlows().then(a=>{b||s(a||[])}).catch(a=>{ch.warn("Failed to load flows for subflow picker",a),b||s([])}).finally(()=>{b||w(!1)}),()=>{b=!0}},[a]);let x=(a,b)=>{m(c=>c?{...c,properties:{...c.properties,[a]:b}}:null)};if(!b||!k)return null;let y=n.filter(a=>a.id!==g),z=k.properties?.subflowId||"",B=!!z&&!n.some(a=>a.id===z);return(0,d.jsxs)(p.A,{open:a,onClose:c,maxWidth:"md",fullWidth:!0,PaperProps:{sx:{borderTop:5,borderColor:"warning.main",maxWidth:"95vw",maxHeight:"90vh"}},children:[(0,d.jsx)(q.A,{component:"div",children:(0,d.jsxs)(h.default,{display:"flex",alignItems:"center",justifyContent:"space-between",children:[(0,d.jsxs)(i.default,{variant:"h6",children:[k.label||"Subflow Node"," Properties"]}),(0,d.jsx)(l.A,{edge:"end",color:"inherit",onClick:c,"aria-label":"close",children:(0,d.jsx)(aW.A,{})})]})}),(0,d.jsx)(A.A,{}),(0,d.jsxs)(r.A,{sx:{p:3},children:[(0,d.jsx)(i.default,{variant:"body2",color:"text.secondary",sx:{mb:2},children:"This step runs another flow inside this one — like calling a helper. When it finishes, its answer becomes part of this conversation and the flow continues to the next node."}),(0,d.jsx)(t.A,{fullWidth:!0,label:"Node Label",value:k.label||"",onChange:a=>m({...k,label:a.target.value}),margin:"normal"}),(0,d.jsxs)(a3.A,{fullWidth:!0,margin:"normal",children:[(0,d.jsx)(b4.A,{id:"subflow-select-label",children:"Flow to run"}),(0,d.jsxs)(b5.A,{labelId:"subflow-select-label",label:"Flow to run",value:B?"":z,onChange:a=>x("subflowId",a.target.value),displayEmpty:!0,children:[0===y.length&&(0,d.jsx)(R.A,{value:"",disabled:!0,children:v?"Loading flows…":"No other flows available"}),y.map(a=>(0,d.jsx)(R.A,{value:a.id,children:a.name},a.id))]})]}),B&&(0,d.jsx)(o.A,{severity:"warning",sx:{mt:1},children:"The previously selected flow no longer exists. Please choose another."}),(0,d.jsx)(t.A,{fullWidth:!0,label:"Input (optional)",value:k.properties?.promptTemplate||"",onChange:a=>x("promptTemplate",a.target.value),margin:"normal",multiline:!0,rows:3,helperText:"What to send to the subflow. Leave empty to pass this conversation's latest message."}),(0,d.jsx)(i.default,{variant:"subtitle2",sx:{mt:3,mb:1},children:"What do you see in the chat while the subflow runs?"}),(0,d.jsxs)(h.default,{role:"radiogroup","aria-label":"Subflow output",sx:{display:"flex",gap:2,flexWrap:"wrap"},children:[(0,d.jsx)(ci,{selected:"final-only"!==(k.properties?.outputMode||"steps"),onClick:()=>x("outputMode","steps"),icon:(0,d.jsx)(cf,{}),title:"Full",description:"You see all of the subflow's messages in the chat, indented under this step — like watching it work."}),(0,d.jsx)(ci,{selected:k.properties?.outputMode==="final-only",onClick:()=>x("outputMode","final-only"),icon:(0,d.jsx)(cg,{}),title:"Condensed",description:"You only see the subflow's final answer as a single message. Its inner steps stay hidden."})]})]}),(0,d.jsxs)(u.A,{children:[(0,d.jsx)(j.A,{onClick:c,children:"Cancel"}),(0,d.jsx)(j.A,{onClick:()=>{b&&k&&(f(b.id,k),c())},variant:"contained",color:"primary",children:"Save"})]})]})},ck=(0,v.A)((0,d.jsx)("path",{d:"M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3m3-10H5V5h10z"}),"Save"),cl=(0,v.A)((0,d.jsx)("path",{d:"M12.5 8c-2.65 0-5.05.99-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8"}),"Undo"),cm=(0,v.A)((0,d.jsx)("path",{d:"M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16c1.05-3.19 4.05-5.5 7.6-5.5 1.95 0 3.73.72 5.12 1.88L13 16h9V7z"}),"Redo"),cn=(0,B.h)("components/flow/FlowBuilder/index.tsx"),co=(0,y.Ay)(h.default)(({theme:a})=>({display:"flex",height:"calc(100vh - 64px)",gap:"16px",padding:"16px",backgroundColor:a.palette.background.default})),cp=(0,y.Ay)(z.A)(({theme:a})=>({padding:a.spacing(1),display:"flex",gap:a.spacing(1),borderBottom:"1px solid",borderColor:a.palette.divider,alignItems:"center",marginBottom:a.spacing(1),backgroundColor:a.palette.background.paper,boxShadow:a.shadows[1]})),cq=(0,y.Ay)(h.default)({flex:1,display:"flex",flexDirection:"column",position:"relative",overflow:"hidden"}),cr=f().forwardRef(({initialFlow:a,onSave:b,onDelete:c,allFlows:g},i)=>{cn.debug("FlowBuilder rendered with initialFlow:",a);let[k,m]=(0,e.useState)(a?.nodes||[]),[n,o]=(0,e.useState)(a?.edges||[]),[v,w]=(0,e.useState)(a?.name||"NewFlow"),[x,y]=(0,e.useState)(null),[z,B]=(0,e.useState)(!1),[G,H]=(0,e.useState)("none"),[I,J]=(0,e.useState)(""),[K,L]=(0,e.useState)(null),[N,O]=(0,e.useState)(!1),[P,Q]=(0,e.useState)(!1),[R,S]=(0,e.useState)(!1),[T,U]=(0,e.useState)(!1),[V,W]=(0,e.useState)(!1),[X,Y]=(0,e.useState)(null),[Z,$]=(0,e.useState)([]),[_,aa]=(0,e.useState)(-1),[ab,ac]=(0,e.useState)(!1),[ad,ae]=(0,e.useState)(!1),af=(0,e.useRef)(null),ag=(0,e.useRef)(!1),ah=(0,e.useCallback)(a=>a.filter(a=>a.source&&a.target&&a.sourceHandle&&a.targetHandle),[]);(0,e.useEffect)(()=>{if(a){m(a.nodes||[]);let b=ah(a.edges||[]);b.length!==a.edges.length&&console.warn(`Filtered out ${a.edges.length-b.length} invalid edges`),o(b),w(a.name),$([{nodes:a.nodes||[],edges:b}]),aa(0)}else{let a=E.g.createStartNode();m([a]),o([]),w("NewFlow"),$([{nodes:[a],edges:[]}]),aa(0)}},[a]);let ai=a=>JSON.stringify(a,(a,b)=>"selected"===a||"dragging"===a||"measured"===a||"width"===a||"height"===a||"positionAbsolute"===a||"resizing"===a?void 0:b);(0,e.useEffect)(()=>{if(ab)return void ac(!1);if(ag.current)return;let a={nodes:[...k],edges:[...n]},b=Z.slice(0,_+1);(_<0||ai(a)!==ai(b[_]))&&($([...b,a]),aa(_+1),ae(!0))},[k,n]),(0,e.useEffect)(()=>{let a=a=>{if(ad)return a.preventDefault(),a.returnValue="",""};return window.addEventListener("beforeunload",a),()=>{window.removeEventListener("beforeunload",a)}},[ad]);let aj=b=>b.trim()?/^[\w-]+$/.test(b)?(!a||a&&a.name!==b)&&g.some(c=>c.id!==(a?.id||"")&&c.name.toLowerCase()===b.toLowerCase())?"A flow with this name already exists":null:"Flow name can only contain letters, numbers, underscores, and dashes":"Flow name cannot be empty",ak=(0,e.useCallback)(()=>{cn.debug(`handleSave: Attempting to save flow "${v}"`);let c=aj(v);if(c)return cn.warn(`handleSave: Invalid flow name - ${c}`),y(c),"invalid-name";let d=[...k];if(0===d.length&&(cn.debug("handleSave: No nodes found, adding a default Start node"),m(d=[E.g.createStartNode()])),a&&a.name!==v)return cn.debug(`handleSave: Flow name changed from "${a.name}" to "${v}", opening rename dialog`),H("rename"),J(v),B(!0),"rename-dialog";let e={id:a?.id||(0,D.A)(),name:v,nodes:d,edges:n};return cn.info(`handleSave: Saving flow "${v}" with ${d.length} nodes and ${n.length} edges`),b(e),ae(!1),"saved"},[v,k,n,a,b,g]);f().useImperativeHandle(i,()=>({requestNavigation:a=>{ad?(af.current=a,H("unsaved"),B(!0)):a()}}),[ad]);let al=(0,e.useCallback)(()=>{a?(cn.info(`handleDelete: Deleting flow "${a.name}" (ID: ${a.id})`),c(a.id)):cn.warn("handleDelete: Attempted to delete flow but no initialFlow is available")},[a,c]),am=(0,e.useCallback)((a,c)=>{cn.debug(`handleCopyFlow: Copying flow "${a.name}" to "${c}"`);let d={id:(0,D.A)(),name:c,nodes:a.nodes,edges:a.edges};cn.info(`handleCopyFlow: Created copy of flow "${a.name}" with new name "${c}" (${a.nodes.length} nodes, ${a.edges.length} edges)`),b(d)},[b]),an=()=>{let a=af.current;af.current=null,a&&a()},ao=()=>{af.current=null,B(!1),H("none"),J(""),L(null)},ap=()=>{let c=aj(I);if(c)return void L(c);"duplicate"===G?a&&am(a,I):"rename"===G&&(b({id:a?.id||(0,D.A)(),name:I,nodes:k,edges:n}),ae(!1),an()),ao()},ar=_>0,as=_<Z.length-1,at=(0,e.useCallback)(()=>{if(ar){cn.debug(`handleUndo: Performing undo operation, moving from history index ${_} to ${_-1}`),ac(!0);let a=_-1,b=Z[a];m(b.nodes),o(b.edges),aa(a),cn.info(`handleUndo: Restored flow state to previous version (${b.nodes.length} nodes, ${b.edges.length} edges)`)}},[Z,_,ar]),au=(0,e.useCallback)(()=>{if(as){cn.debug(`handleRedo: Performing redo operation, moving from history index ${_} to ${_+1}`),ac(!0);let a=_+1,b=Z[a];m(b.nodes),o(b.edges),aa(a),cn.info(`handleRedo: Restored flow state to next version (${b.nodes.length} nodes, ${b.edges.length} edges)`)}},[Z,_,as]),av=(0,e.useCallback)(a=>{for(let b of a)"position"===b.type&&(ag.current=!0===b.dragging);m(b=>(0,C._0)(a,b))},[]),aw=(0,e.useCallback)(a=>{cn.debug(`onEdgesChange: Processing ${a.length} edge changes`),a.forEach(a=>{"remove"===a.type?cn.info(`onEdgesChange: Edge ${a.id} removed`):"select"===a.type&&cn.debug(`onEdgesChange: Edge ${a.id} selection changed to ${a.selected}`)}),o(b=>(0,C.zW)(a,b))},[]),ax=(0,e.useRef)(null),[ay,az]=(0,e.useState)(null),aA=(0,e.useCallback)((a,b)=>{cn.debug(`handleNodeUpdate: Updating node ${a} properties`),m(c=>c.map(c=>c.id===a?(cn.info(`handleNodeUpdate: Node ${a} properties updated`),{...c,data:b}):c)),O(!1),Q(!1),S(!1),U(!1),W(!1),Y(null),cn.debug("handleNodeUpdate: Closed property modals")},[]),aC=(0,e.useCallback)(async(a,b)=>{let c=k.find(b=>b.id===a);if(!c)return void cn.warn(`handleConnectMcpServer: process node ${a} not found`);let d=[];try{let a=await F.S.listServerTools(b);!a.error&&Array.isArray(a.tools)&&(d=a.tools.map(a=>a.name))}catch(a){cn.warn(`handleConnectMcpServer: could not load tools for ${b}`,a)}let e=n.filter(b=>b.data?.edgeType==="mcp"&&(b.source===a||b.target===a)).length,f=E.g.createNode("mcp",{x:c.position.x+350,y:c.position.y+120*e});f.data.label=b,f.data.properties={...f.data.properties??{},boundServer:b,enabledTools:d};let g=M({source:a,sourceHandle:"process-right-mcp",target:f.id,targetHandle:"mcp-left"},[...k,f]);m(a=>[...a,f]),o(a=>[...a,g]),cn.info(`Connected MCP server "${b}" to process node ${a}`)},[k,n]),aD=(0,e.useCallback)(a=>{cn.debug("Opening properties for node:",a),Y(a),"mcp"===a.data.type?Q(!0):"start"===a.data.type?S(!0):"finish"===a.data.type?U(!0):"subflow"===a.data.type?W(!0):O(!0)},[]),aE=(0,e.useCallback)(a=>{cn.debug("onDrop: Node dropped on canvas"),a.preventDefault();let b=a.dataTransfer.getData("application/reactflow");if(cn.debug(`onDrop: Node type from data transfer: ${b}`),!b||!ay)return void cn.debug(`onDrop: Missing required data - type: ${!!b}, reactFlowInstance: ${!!ay}`);let c=ay.screenToFlowPosition({x:a.clientX,y:a.clientY});cn.debug(`onDrop: Calculated position: (${c.x}, ${c.y})`);let d=E.g.createNode(b,c);cn.info(`onDrop: Created new ${b} node with ID: ${d.id}`),m(a=>[...a.map(a=>({...a,selected:!1})),{...d,selected:!0}]),aD(d),cn.debug(`onDrop: Opened properties modal for new node: ${d.id}`)},[ay,aD]),aF=(0,e.useCallback)(a=>{a.preventDefault(),a.dataTransfer.dropEffect="move"},[]),aG=(0,e.useCallback)(a=>{cn.debug("onInit: ReactFlow instance initialized"),az(a)},[]);return(0,d.jsxs)(co,{children:[(0,d.jsx)(aB,{}),(0,d.jsx)(C.Ln,{children:(0,d.jsxs)(cq,{children:[(0,d.jsxs)(cp,{elevation:1,children:[(0,d.jsx)(t.A,{size:"small",label:"Flow Name",value:v,onChange:a=>{let b=a.target.value;w(b),y(aj(b))},sx:{minWidth:500},error:!!x,helperText:x}),(0,d.jsx)(j.A,{variant:"contained",color:"primary",onClick:ak,startIcon:(0,d.jsx)(ck,{}),disabled:!!x,children:"Save Flow"}),(0,d.jsx)(aS,{nodes:k,edges:n}),a&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(j.A,{variant:"outlined",color:"primary",onClick:()=>{H("duplicate"),J(`${a.name}_copy`),B(!0)},children:"Copy Flow"}),(0,d.jsx)(j.A,{variant:"outlined",color:"error",onClick:al,children:"Delete Flow"})]}),(0,d.jsx)(A.A,{orientation:"vertical",flexItem:!0}),(0,d.jsx)(l.A,{onClick:at,disabled:!ar,color:"primary",size:"small",children:(0,d.jsx)(cl,{})}),(0,d.jsx)(l.A,{onClick:au,disabled:!as,color:"primary",size:"small",children:(0,d.jsx)(cm,{})}),(0,d.jsx)(h.default,{sx:{flex:1}})]}),(0,d.jsx)(h.default,{sx:{flex:1,position:"relative"},children:(0,d.jsx)(aq,{ref:ax,nodes:k,edges:n,onNodesChange:av,onEdgesChange:aw,onDrop:aE,onDragOver:aF,onInit:aG,reactFlowWrapper:ax,onEditNode:aD})})]})}),(0,d.jsx)(b8,{open:N,node:X,onClose:()=>O(!1),onSave:aA,flowEdges:n,flowNodes:k,flowId:a?.id,onConnectMcpServer:a=>{X&&aC(X.id,a)}}),(0,d.jsx)(cc,{open:P,node:X,onClose:()=>Q(!1),onSave:aA}),(0,d.jsx)(cd,{open:R,node:X,onClose:()=>S(!1),onSave:aA}),(0,d.jsx)(ce,{open:T,node:X,onClose:()=>U(!1),onSave:aA}),(0,d.jsx)(cj,{open:V,node:X,onClose:()=>W(!1),onSave:aA,flowId:a?.id}),(0,d.jsxs)(p.A,{open:z,onClose:ao,children:[(0,d.jsx)(q.A,{children:"duplicate"===G?"Copy Flow":"rename"===G?"Rename Flow":"Unsaved Changes"}),(0,d.jsx)(r.A,{children:"unsaved"===G?(0,d.jsx)(s.A,{children:"You have unsaved changes in the current flow. What would you like to do?"}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(s.A,{children:"duplicate"===G?"Enter a name for the copied flow:":"You are changing the name of this flow. Do you want to rename it or create a copy with the new name?"}),(0,d.jsx)(t.A,{autoFocus:!0,margin:"dense",label:"Flow Name",type:"text",fullWidth:!0,value:I,onChange:a=>{let b=a.target.value;J(b),L(aj(b))},error:!!K,helperText:K,sx:{mt:2}})]})}),(0,d.jsxs)(u.A,{children:[(0,d.jsx)(j.A,{onClick:ao,children:"Cancel"}),"unsaved"===G&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(j.A,{onClick:()=>{ae(!1),an(),ao()},color:"error",children:"Discard Changes"}),(0,d.jsx)(j.A,{onClick:()=>{let a=ak();"saved"===a?(an(),ao()):"invalid-name"===a&&ao()},variant:"contained",color:"primary",children:"Save Changes"})]}),"rename"===G&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(j.A,{onClick:()=>{let b=aj(I);if(b)return void L(b);a&&am(a,I),ao()},children:"Copy"}),(0,d.jsx)(j.A,{onClick:ap,variant:"contained",color:"primary",disabled:!!K,children:"Rename"})]}),"duplicate"===G&&(0,d.jsx)(j.A,{onClick:ap,variant:"contained",color:"primary",disabled:!!K,children:"Copy"})]})]})]})});cr.displayName="FlowBuilder";let cs=null;var ct=c(75249),cu=c(44548),cv=c(33427);let cw={...e}.useSyncExternalStore;function cx(a={}){let{themeId:b}=a;return function(a,c={}){let d=(0,cv.A)();d&&b&&(d=d[b]||d);let{defaultMatches:f=!1,matchMedia:g=null,ssrMatchMedia:h=null,noSsr:i=!1}=(0,cu.A)({name:"MuiUseMediaQuery",props:c,theme:d}),j="function"==typeof a?a(d):a;return(j=j.replace(/^@media( ?)/m,"")).includes("print")&&console.warn("MUI: You have provided a `print` query to the `useMediaQuery` hook.\nUsing the print media query to modify print styles can lead to unexpected results.\nConsider using the `displayPrint` field in the `sx` prop instead.\nMore information about `displayPrint` on our docs: https://mui.com/system/display/#display-in-print."),(void 0!==cw?function(a,b,c,d,f){let g=e.useCallback(()=>b,[b]),h=e.useMemo(()=>{if(f&&c)return()=>c(a).matches;if(null!==d){let{matches:b}=d(a);return()=>b}return g},[g,a,d,f,c]),[i,j]=e.useMemo(()=>{if(null===c)return[g,()=>()=>{}];let b=c(a);return[()=>b.matches,a=>(b.addEventListener("change",a),()=>{b.removeEventListener("change",a)})]},[g,c,a]);return cw(j,i,h)}:function(a,b,c,d,f){let[g,h]=e.useState(()=>f&&c?c(a).matches:d?d(a).matches:b);return(0,ct.A)(()=>{if(!c)return;let b=c(a),d=()=>{h(b.matches)};return d(),b.addEventListener("change",d),()=>{b.removeEventListener("change",d)}},[a,c]),g})(j,f,g,h,i)}}cx();let cy=cx({themeId:c(35864).A});var cz=c(63757);let cA=(0,v.A)((0,d.jsx)("path",{d:"M10 18h4v-2h-4zM3 6v2h18V6zm3 7h12v-2H6z"}),"FilterList"),cB=(0,v.A)((0,d.jsx)("path",{d:"M3 14h4v-4H3zm0 5h4v-4H3zM3 9h4V5H3zm5 5h13v-4H8zm0 5h13v-4H8zM8 5v4h13V5z"}),"ViewList"),cC=(0,v.A)((0,d.jsx)("path",{d:"M14.67 5v6.5H9.33V5zm1 6.5H21V5h-5.33zm-1 7.5v-6.5H9.33V19zm1-6.5V19H21v-6.5zm-7.34 0H3V19h5.33zm0-1V5H3v6.5z"}),"ViewModule");var cD=c(11402);let cE=(0,v.A)((0,d.jsx)("path",{d:"M21 10.12h-6.78l2.74-2.82c-2.73-2.7-7.15-2.8-9.88-.1-2.73 2.71-2.73 7.08 0 9.79s7.15 2.71 9.88 0C18.32 15.65 19 14.08 19 12.1h2c0 1.98-.88 4.55-2.64 6.29-3.51 3.48-9.21 3.48-12.72 0-3.5-3.47-3.53-9.11-.02-12.58s9.14-3.47 12.65 0L21 3zM12.5 8v4.25l3.5 2.08-.72 1.21L11 13V8z"}),"Update");var cF=c(423),cG=c(98463),cH=c(78871);function cI(a){return(0,a8.Ay)("MuiSkeleton",a)}(0,a7.A)("MuiSkeleton",["root","text","rectangular","rounded","circular","pulse","wave","withChildren","fitContent","heightAuto"]);let cJ=(0,cH.i7)`
|
|
4
|
+
0% {
|
|
5
|
+
opacity: 1;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
50% {
|
|
9
|
+
opacity: 0.4;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
100% {
|
|
13
|
+
opacity: 1;
|
|
14
|
+
}
|
|
15
|
+
`,cK=(0,cH.i7)`
|
|
16
|
+
0% {
|
|
17
|
+
transform: translateX(-100%);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
50% {
|
|
21
|
+
/* +0.5s of delay between each loop */
|
|
22
|
+
transform: translateX(100%);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
100% {
|
|
26
|
+
transform: translateX(100%);
|
|
27
|
+
}
|
|
28
|
+
`,cL="string"!=typeof cJ?(0,cH.AH)`
|
|
29
|
+
animation: ${cJ} 2s ease-in-out 0.5s infinite;
|
|
30
|
+
`:null,cM="string"!=typeof cK?(0,cH.AH)`
|
|
31
|
+
&::after {
|
|
32
|
+
animation: ${cK} 2s linear 0.5s infinite;
|
|
33
|
+
}
|
|
34
|
+
`:null,cN=(0,y.Ay)("span",{name:"MuiSkeleton",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.root,b[c.variant],!1!==c.animation&&b[c.animation],c.hasChildren&&b.withChildren,c.hasChildren&&!c.width&&b.fitContent,c.hasChildren&&!c.height&&b.heightAuto]}})((0,bl.A)(({theme:a})=>{let b=String(a.shape.borderRadius).match(/[\d.\-+]*\s*(.*)/)[1]||"px",c=parseFloat(a.shape.borderRadius);return{display:"block",backgroundColor:a.vars?a.vars.palette.Skeleton.bg:(0,bg.X4)(a.palette.text.primary,"light"===a.palette.mode?.11:.13),height:"1.2em",variants:[{props:{variant:"text"},style:{marginTop:0,marginBottom:0,height:"auto",transformOrigin:"0 55%",transform:"scale(1, 0.60)",borderRadius:`${c}${b}/${Math.round(c/.6*10)/10}${b}`,"&:empty:before":{content:'"\\00a0"'}}},{props:{variant:"circular"},style:{borderRadius:"50%"}},{props:{variant:"rounded"},style:{borderRadius:(a.vars||a).shape.borderRadius}},{props:({ownerState:a})=>a.hasChildren,style:{"& > *":{visibility:"hidden"}}},{props:({ownerState:a})=>a.hasChildren&&!a.width,style:{maxWidth:"fit-content"}},{props:({ownerState:a})=>a.hasChildren&&!a.height,style:{height:"auto"}},{props:{animation:"pulse"},style:cL||{animation:`${cJ} 2s ease-in-out 0.5s infinite`}},{props:{animation:"wave"},style:{position:"relative",overflow:"hidden",WebkitMaskImage:"-webkit-radial-gradient(white, black)","&::after":{background:`linear-gradient(
|
|
35
|
+
90deg,
|
|
36
|
+
transparent,
|
|
37
|
+
${(a.vars||a).palette.action.hover},
|
|
38
|
+
transparent
|
|
39
|
+
)`,content:'""',position:"absolute",transform:"translateX(-100%)",bottom:0,left:0,right:0,top:0}}},{props:{animation:"wave"},style:cM||{"&::after":{animation:`${cK} 2s linear 0.5s infinite`}}}]}})),cO=e.forwardRef(function(a,b){let c=(0,bx.b)({props:a,name:"MuiSkeleton"}),{animation:e="pulse",className:f,component:g="span",height:h,style:i,variant:j="text",width:k,...l}=c,m={...c,animation:e,component:g,variant:j,hasChildren:!!l.children},n=(a=>{let{classes:b,variant:c,animation:d,hasChildren:e,width:f,height:g}=a;return(0,a5.A)({root:["root",c,d,e&&"withChildren",e&&!f&&"fitContent",e&&!g&&"heightAuto"]},cI,b)})(m);return(0,d.jsx)(cN,{as:g,ref:b,className:(0,a4.A)(n.root,f),ownerState:m,...l,style:{width:k,height:h,...i}})}),cP=(0,B.h)("components/Flow/FlowDashboard/FlowCard"),cQ=(0,y.Ay)(bO.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}:{}})),cR=(0,y.Ay)(h.default)(({theme:a})=>({height:"140px",backgroundColor:(0,bg.X4)(a.palette.background.default,.7),borderRadius:a.shape.borderRadius,display:"flex",alignItems:"center",justifyContent:"center",margin:a.spacing(1),overflow:"hidden",position:"relative"})),cS=()=>(0,d.jsxs)(bO.A,{sx:{height:"100%",display:"flex",flexDirection:"column"},children:[(0,d.jsx)(h.default,{sx:{p:1},children:(0,d.jsx)(cO,{variant:"rectangular",height:140})}),(0,d.jsxs)(bP.A,{sx:{flexGrow:1},children:[(0,d.jsx)(cO,{variant:"text",width:"80%",height:30}),(0,d.jsxs)(h.default,{sx:{display:"flex",gap:1,mt:1},children:[(0,d.jsx)(cO,{variant:"rectangular",width:60,height:20}),(0,d.jsx)(cO,{variant:"rectangular",width:90,height:20})]})]}),(0,d.jsxs)(cG.A,{sx:{justifyContent:"flex-end",p:1},children:[(0,d.jsx)(cO,{variant:"circular",width:28,height:28}),(0,d.jsx)(cO,{variant:"circular",width:28,height:28}),(0,d.jsx)(cO,{variant:"circular",width:28,height:28})]})]}),cT=({flow:a,selected:b,onSelect:c,onDelete:e,onCopy:f,onEdit:j,validation:k})=>{cP.debug("Rendering FlowCard",{flowId:a.id,flowName:a.name});let n=(0,g.A)(),o=k?.errorCount??0,p=k?.warningCount??0,q=o>0?"error":p>0?"warning":null,r=k?(0,d.jsxs)(h.default,{children:[(0,d.jsx)(i.default,{variant:"caption",sx:{fontWeight:600,display:"block",mb:.5},children:o>0?`${o} problem${1===o?"":"s"} — won't run`:`${p} warning${1===p?"":"s"}`}),k.issues.slice(0,5).map((a,b)=>(0,d.jsxs)(i.default,{variant:"caption",sx:{display:"block"},children:["• ",a.message]},b)),k.issues.length>5&&(0,d.jsxs)(i.default,{variant:"caption",sx:{display:"block",fontStyle:"italic"},children:["…and ",k.issues.length-5," more"]})]}):null;return(0,d.jsxs)(cQ,{selected:b,children:[q&&(0,d.jsx)(m.A,{title:r,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"===q?n.palette.error.main:n.palette.warning.main,boxShadow:n.shadows[2],pointerEvents:"auto"},children:["error"===q?(0,d.jsx)(aI.A,{sx:{fontSize:16}}):(0,d.jsx)(aJ,{sx:{fontSize:16}}),(0,d.jsx)(i.default,{variant:"caption",sx:{fontWeight:700,lineHeight:1},children:"error"===q?o:p})]})}),(0,d.jsxs)(cF.A,{onClick:()=>c(a.id),sx:{display:"flex",flexDirection:"column",alignItems:"stretch",height:"100%",position:"relative"},children:[(0,d.jsx)(cR,{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)(i.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,j=Math.max(...c)+70,k=`${e-40} ${f-40} ${g-e+80} ${j-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:k,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:n.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,Q.M6)(e,n);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:n.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)(bP.A,{sx:{flexGrow:1,pb:0},children:[(0,d.jsx)(i.default,{variant:"h6",component:"div",noWrap:!0,children:a.name}),(0,d.jsxs)(h.default,{sx:{display:"flex",gap:.5,mt:1,flexWrap:"wrap"},children:[(0,d.jsx)(aC.A,{size:"small",label:`${a.nodes.length} nodes`,color:"primary",variant:"outlined",sx:{fontSize:"0.7rem",height:20}}),(0,d.jsx)(aC.A,{size:"small",label:`${a.edges.length} connections`,color:"secondary",variant:"outlined",sx:{fontSize:"0.7rem",height:20}})]})]})]}),(0,d.jsxs)(cG.A,{sx:{justifyContent:"flex-end",p:1,opacity:.7,"&:hover":{opacity:1}},children:[j&&(0,d.jsx)(m.A,{title:"Edit flow metadata",children:(0,d.jsx)(l.A,{size:"small",onClick:b=>{b.stopPropagation(),j&&j(a.id)},children:(0,d.jsx)(Y.A,{fontSize:"small"})})}),f&&(0,d.jsx)(m.A,{title:"Copy flow",children:(0,d.jsx)(l.A,{size:"small",onClick:b=>{b.stopPropagation(),f&&f(a.id)},children:(0,d.jsx)(W.A,{fontSize:"small"})})}),(0,d.jsx)(m.A,{title:"Delete flow",children:(0,d.jsx)(l.A,{size:"small",onClick:b=>{b.stopPropagation(),e(a.id)},color:"error",children:(0,d.jsx)(V.A,{fontSize:"small"})})})]})]})},cU=(0,B.h)("components/Flow/FlowDashboard/FlowDashboard");function cV(a,b){return a+Math.round(255*b).toString(16).padStart(2,"0")}let cW=({flows:a,selectedFlow:b,onSelectFlow:c,onDeleteFlow:f,onCopyFlow:k,onEditFlow:m,onCreateFlow:n,isLoading:o=!1})=>{let[p,q]=(0,e.useState)(""),[r,s]=(0,e.useState)("name-asc"),[u,v]=(0,e.useState)("grid"),[w,y]=(0,e.useState)(null),[B,C]=(0,e.useState)({});(0,e.useEffect)(()=>{let a=!1;return(async()=>{let b={};try{let a=await fetch("/api/model");if(a.ok){let c=await a.json();Array.isArray(c)&&(b.models=c)}}catch(a){cU.warn("Could not load models for flow badges",a)}try{let a=await fetch("/api/mcp/servers");if(a.ok){let c=await a.json();Array.isArray(c)&&(b.servers=c.map(a=>({name:a.name,status:a.disabled?"disabled":void 0})))}}catch(a){cU.warn("Could not load servers for flow badges",a)}a||C(b)})(),()=>{a=!0}},[]);let D=(0,e.useMemo)(()=>{let b={};for(let c of a)try{b[c.id]=aP(c,B)}catch(a){cU.warn("Failed to validate flow for badge",{flowId:c.id,error:a})}return b},[a,B]),E=(0,g.A)(),F=cy(E.breakpoints.down("sm")),G=cy(E.breakpoints.down("md")),H=()=>{y(null)},I=a=>{s(a),H()},J=(0,e.useMemo)(()=>{cU.debug("Filtering and sorting flows",{searchTerm:p,sortOption:r});let b=a;if(""!==p.trim()){let c=p.toLowerCase();b=a.filter(a=>a.name.toLowerCase().includes(c))}return[...b].sort((a,b)=>{switch(r){case"name-asc":return a.name.localeCompare(b.name);case"name-desc":return b.name.localeCompare(a.name);case"most-nodes":return b.nodes.length-a.nodes.length;case"least-nodes":return a.nodes.length-b.nodes.length;case"newest":return b.id.localeCompare(a.id);case"oldest":return a.id.localeCompare(b.id);default:return 0}})},[a,p,r]);return(0,d.jsxs)(h.default,{sx:{height:"100%",display:"flex",flexDirection:"column",overflow:"hidden"},children:[(0,d.jsx)(z.A,{elevation:1,sx:{mb:2,p:1},children:(0,d.jsxs)(h.default,{sx:{display:"flex",flexDirection:{xs:"column",sm:"row"},gap:1,alignItems:{xs:"stretch",sm:"center"},justifyContent:"space-between"},children:[(0,d.jsx)(t.A,{placeholder:"Search flows...",variant:"outlined",size:"small",fullWidth:!0,value:p,onChange:a=>{q(a.target.value)},InputProps:{startAdornment:(0,d.jsx)(bN.A,{position:"start",children:(0,d.jsx)(bS.A,{fontSize:"small"})})},sx:{maxWidth:{sm:300}}}),(0,d.jsxs)(h.default,{sx:{display:"flex",gap:1,alignItems:"center"},children:[(0,d.jsxs)(h.default,{sx:{display:"flex",backgroundColor:E.palette.background.default,borderRadius:1,border:`1px solid ${E.palette.divider}`,overflow:"hidden"},children:[(0,d.jsx)(l.A,{size:"small",onClick:()=>v("grid"),color:"grid"===u?"primary":"default",sx:{borderRadius:0,backgroundColor:"grid"===u?cV(E.palette.primary.main,.1):"transparent"},children:(0,d.jsx)(cC,{fontSize:"small"})}),(0,d.jsx)(l.A,{size:"small",onClick:()=>v("compact"),color:"compact"===u?"primary":"default",sx:{borderRadius:0,backgroundColor:"compact"===u?cV(E.palette.primary.main,.1):"transparent"},children:(0,d.jsx)(cB,{fontSize:"small"})})]}),(0,d.jsx)(l.A,{size:"small",onClick:a=>{y(a.currentTarget)},sx:{border:`1px solid ${E.palette.divider}`,backgroundColor:E.palette.background.default},children:(0,d.jsx)(cz.A,{fontSize:"small"})})]})]})}),(0,d.jsxs)(h.default,{sx:{display:"flex",justifyContent:"space-between",mb:2,px:1},children:[(0,d.jsxs)(i.default,{variant:"body2",color:"textSecondary",children:[J.length," of ",a.length," flows",p&&` matching "${p}"`]}),(0,d.jsxs)(i.default,{variant:"body2",color:"textSecondary",children:["Sorted by: ","name-asc"===r?"Name (A-Z)":"name-desc"===r?"Name (Z-A)":"newest"===r?"Newest first":"oldest"===r?"Oldest first":"most-nodes"===r?"Most nodes":"Least nodes"]})]}),(0,d.jsx)(h.default,{sx:{flex:1,overflow:"auto",px:1,pb:2},children:o?(0,d.jsx)(aT.Ay,{container:!0,spacing:2,children:Array(6).fill(0).map((a,b)=>(0,d.jsx)(aT.Ay,{item:!0,xs:12,sm:"compact"===u?12:6,md:"compact"===u?12:4,children:(0,d.jsx)(cS,{})},`skeleton-${b}`))}):J.length>0?(0,d.jsx)(aT.Ay,{container:!0,spacing:2,children:J.map(a=>(0,d.jsx)(aT.Ay,{item:!0,xs:12,sm:"compact"===u?12:6,md:"compact"===u?12:3==("compact"===u||F?1:G?2:3)?4:6,children:(0,d.jsx)(cT,{flow:a,selected:b===a.id,onSelect:c,onDelete:f,onCopy:k,onEdit:m,validation:D[a.id]})},a.id))}):(0,d.jsxs)(h.default,{sx:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",p:4,backgroundColor:E.palette.background.paper,borderRadius:1,border:`1px dashed ${E.palette.divider}`,height:"100%",minHeight:200},children:[(0,d.jsx)(i.default,{variant:"h6",gutterBottom:!0,color:"textSecondary",children:"No flows found"}),p?(0,d.jsxs)(i.default,{variant:"body2",color:"textSecondary",align:"center",children:["No flows match your search criteria.",(0,d.jsxs)(h.default,{component:"span",display:"block",mt:1,children:["Try a different search term or ",(0,d.jsx)(j.A,{size:"small",onClick:()=>q(""),children:"clear the search"})]})]}):(0,d.jsxs)(i.default,{variant:"body2",color:"textSecondary",align:"center",children:["Get started by creating your first flow.",n&&(0,d.jsx)(h.default,{component:"span",display:"block",mt:2,children:(0,d.jsx)(j.A,{variant:"contained",color:"primary",startIcon:(0,d.jsx)(x.A,{}),onClick:n,children:"Create New Flow"})})]})]})}),(0,d.jsxs)(U.A,{anchorEl:w,open:!!w,onClose:H,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},children:[(0,d.jsxs)(R.A,{onClick:()=>I("name-asc"),children:[(0,d.jsx)(S.A,{children:(0,d.jsx)(cD.A,{fontSize:"small"})}),(0,d.jsx)(T.A,{primary:"Name (A-Z)"})]}),(0,d.jsxs)(R.A,{onClick:()=>I("name-desc"),children:[(0,d.jsx)(S.A,{children:(0,d.jsx)(cD.A,{fontSize:"small",sx:{transform:"scaleX(-1)"}})}),(0,d.jsx)(T.A,{primary:"Name (Z-A)"})]}),(0,d.jsx)(A.A,{}),(0,d.jsxs)(R.A,{onClick:()=>I("newest"),children:[(0,d.jsx)(S.A,{children:(0,d.jsx)(cE,{fontSize:"small"})}),(0,d.jsx)(T.A,{primary:"Newest first"})]}),(0,d.jsxs)(R.A,{onClick:()=>I("oldest"),children:[(0,d.jsx)(S.A,{children:(0,d.jsx)(cE,{fontSize:"small",sx:{transform:"scaleX(-1)"}})}),(0,d.jsx)(T.A,{primary:"Oldest first"})]}),(0,d.jsx)(A.A,{}),(0,d.jsxs)(R.A,{onClick:()=>I("most-nodes"),children:[(0,d.jsx)(S.A,{children:(0,d.jsx)(cA,{fontSize:"small"})}),(0,d.jsx)(T.A,{primary:"Most nodes"})]}),(0,d.jsxs)(R.A,{onClick:()=>I("least-nodes"),children:[(0,d.jsx)(S.A,{children:(0,d.jsx)(cA,{fontSize:"small",sx:{transform:"scaleY(-1)"}})}),(0,d.jsx)(T.A,{primary:"Least nodes"})]})]})]})},cX=(0,B.h)("app/flows/page"),cY=()=>{cX.debug("Rendering FlowsPage"),(0,g.A)();let[a,b]=(0,e.useState)([]),[c,f]=(0,e.useState)(null),[v,y]=(0,e.useState)(!0),[z,A]=(0,e.useState)(!1),B=(0,e.useRef)(null),[C,F]=(0,e.useState)(!1),[G,H]=(0,e.useState)(null),[I,J]=(0,e.useState)(""),[K,L]=(0,e.useState)(null),[M,N]=(0,e.useState)({open:!1,message:"",severity:"info"});(0,e.useEffect)(()=>{cX.info("Loading flows"),(async()=>{y(!0);try{let a=await E.g.loadFlows();cX.debug("Flows loaded successfully",{count:a.length}),b(a),c&&(a.some(a=>a.id===c)||(cX.warn("Previously selected flow no longer exists",{flowId:c}),f(null),A(!1),Q("The previously selected flow is no longer available","warning")))}catch(a){cX.error("Error loading flows",a),Q("Failed to load flows","error")}finally{y(!1)}})()},[c]);let O=(0,e.useCallback)(a=>{cX.debug("Flow selected",{flowId:a}),f(a),A(!0)},[]);(0,e.useEffect)(()=>{if(!(z&&c))return;let a=a=>{B.current?B.current.requestNavigation(a):a()};return cs=a,()=>{cs===a&&(cs=null)}},[z,c]);let P=(0,e.useCallback)(()=>{cX.debug("Returning to dashboard");let a=()=>A(!1);B.current?B.current.requestNavigation(a):a()},[]),Q=(0,e.useCallback)((a,b="info")=>{cX.debug("Showing snackbar",{message:a,severity:b}),N({open:!0,message:a,severity:b})},[]),R=(0,e.useCallback)(()=>{N(a=>({...a,open:!1}))},[]);(0,e.useEffect)(()=>{if(!M.open||"error"===M.severity)return;let a=setTimeout(()=>{N(a=>({...a,open:!1}))},6e3);return()=>clearTimeout(a)},[M.open,M.message,M.severity]);let S=(0,e.useCallback)(b=>(cX.debug("Validating flow name",{name:b}),b.trim())?/^[\w-]+$/.test(b)?a.some(a=>a.name.toLowerCase()===b.toLowerCase())?(cX.debug("Flow name validation failed: duplicate name"),"A flow with this name already exists"):(cX.debug("Flow name validation passed"),null):(cX.debug("Flow name validation failed: invalid characters"),"Flow name can only contain letters, numbers, underscores, and dashes"):(cX.debug("Flow name validation failed: empty name"),"Flow name cannot be empty"),[a]),T=async c=>{cX.info("Saving flow",{flowId:c.id,flowName:c.name});try{let d=a.some(a=>a.id===c.id)?await E.g.updateFlow(c):await E.g.addFlow(c);if(!d.success){cX.error("Failed to save flow",{error:d.error}),Q(d.error||"Failed to save flow","error");return}cX.debug("Flow saved successfully"),b(a=>{let b=a.findIndex(a=>a.id===c.id);if(!(b>=0))return cX.debug("Adding new flow to state"),[...a,c];{cX.debug("Updating existing flow in state");let d=[...a];return d[b]=c,d}}),f(c.id),Q("Flow saved successfully","success")}catch(a){cX.error("Error saving flow",a),Q("Failed to save flow","error")}},U=async a=>{cX.info("Deleting flow",{flowId:a});try{await E.g.deleteFlow(a),cX.debug("Flow deleted successfully"),b(b=>b.filter(b=>b.id!==a)),c===a&&(cX.debug("Clearing selected flow as it was deleted"),f(null),A(!1)),Q("Flow deleted","success")}catch(a){cX.error("Error deleting flow",a),Q("Failed to delete flow","error")}},V=b=>{cX.info("Copying flow",{flowId:b});let c=a.find(a=>a.id===b);c?(cX.debug("Found flow to copy",{flowName:c.name}),H(c),J(`${c.name}_copy`),F(!0)):(cX.warn("Flow to copy not found",{flowId:b}),Q("Flow not found","error"))},W=()=>{cX.debug("Closing copy flow dialog"),F(!1),H(null),J(""),L(null)},X=async()=>{if(cX.info("Confirming flow copy"),!G){cX.warn("No flow to copy"),Q("No flow selected to copy","error");return}let a=S(I);if(a){cX.debug("Flow name validation failed",{error:a}),L(a);return}let b=(0,D.A)();cX.debug("Creating new flow from copy",{newId:b,newName:I});let c={id:b,name:I,nodes:G.nodes,edges:G.edges};await T(c),W(),cX.debug("Selecting newly copied flow"),f(c.id),A(!0),Q(`Created a copy named "${I}"`,"success")},Y=async()=>{cX.info("Creating new flow");let b="NewFlow",c=b,d=1;for(;a.some(a=>a.name===c);)c=`${b}${d}`,d++;let e=E.g.createNewFlow(c);await T(e),A(!0),Q("New flow created","success")};return(0,d.jsxs)(h.default,{sx:{height:"100%",display:"flex",flexDirection:"column"},children:[(0,d.jsxs)(h.default,{sx:{p:2,display:"flex",justifyContent:"space-between",alignItems:"center",borderBottom:1,borderColor:"divider"},children:[(0,d.jsxs)(h.default,{sx:{display:"flex",alignItems:"center"},children:[z&&c&&(0,d.jsx)(l.A,{color:"primary",onClick:P,sx:{mr:1},children:(0,d.jsx)(w,{})}),(0,d.jsx)(h.default,{children:(0,d.jsx)(i.default,{variant:"h5",children:z&&c?`Editing: ${a.find(a=>a.id===c)?.name||"Flow"}`:"Flow Dashboard"})})]}),!z&&(0,d.jsx)(h.default,{sx:{display:"flex",gap:1},children:(0,d.jsx)(m.A,{title:"Create a new flow with a starter template",children:(0,d.jsx)(j.A,{variant:"contained",color:"primary",startIcon:(0,d.jsx)(x.A,{}),onClick:Y,"data-tour":"new-flow",children:"New Flow"})})})]}),(0,d.jsx)(n.A,{in:M.open,unmountOnExit:!0,children:(0,d.jsx)(o.A,{severity:M.severity,onClose:R,sx:{borderRadius:0},children:M.message})}),(0,d.jsx)(h.default,{sx:{flex:1,overflow:"hidden"},children:(()=>{if(z&&c){let b=a.find(a=>a.id===c);return b?(0,d.jsx)(k.A,{in:!0,timeout:300,children:(0,d.jsx)(h.default,{sx:{height:"100%"},children:(0,d.jsx)(cr,{ref:B,initialFlow:b,onSave:T,onDelete:U,allFlows:a},c)})}):(0,d.jsxs)(h.default,{sx:{p:4,textAlign:"center"},children:[(0,d.jsx)(i.default,{variant:"h6",color:"error",children:"Selected flow not found"}),(0,d.jsx)(j.A,{variant:"contained",onClick:P,sx:{mt:2},children:"Back to Dashboard"})]})}return(0,d.jsx)(k.A,{in:!0,timeout:300,children:(0,d.jsx)(h.default,{sx:{height:"100%"},children:(0,d.jsx)(cW,{flows:a,selectedFlow:c,onSelectFlow:O,onDeleteFlow:U,onCopyFlow:V,onCreateFlow:Y,isLoading:v})})})})()}),(0,d.jsxs)(p.A,{open:C,onClose:W,children:[(0,d.jsx)(q.A,{children:"Copy Flow"}),(0,d.jsxs)(r.A,{children:[(0,d.jsx)(s.A,{children:"Enter a name for the copied flow:"}),(0,d.jsx)(t.A,{autoFocus:!0,margin:"dense",label:"Flow Name",type:"text",fullWidth:!0,value:I,onChange:a=>{let b=a.target.value;cX.debug("Flow name changed",{name:b}),J(b),L(S(b))},error:!!K,helperText:K})]}),(0,d.jsxs)(u.A,{children:[(0,d.jsx)(j.A,{onClick:W,children:"Cancel"}),(0,d.jsx)(j.A,{onClick:X,variant:"contained",color:"primary",disabled:!!K,children:"Copy"})]})]})]})}},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},53773:(a,b,c)=>{"use strict";c.d(b,{A:()=>v});var d=c(38301),e=c(43249),f=c(3253),g=c(33105),h=c(2783),i=c(38435),j=c(30583),k=c(69467),l=c(49103),m=c(80751),n=c(49939),o=c(21124);let p=(0,l.A)(),q=(0,i.A)("div",{name:"MuiStack",slot:"Root",overridesResolver:(a,b)=>b.root});function r(a){return(0,j.A)({props:a,name:"MuiStack",defaultTheme:p})}let s=({ownerState:a,theme:b})=>{let c={display:"flex",flexDirection:"column",...(0,m.NI)({theme:b},(0,m.kW)({values:a.direction,breakpoints:b.breakpoints.values}),a=>({flexDirection:a}))};if(a.spacing){let d=(0,n.LX)(b),e=Object.keys(b.breakpoints.values).reduce((b,c)=>(("object"==typeof a.spacing&&null!=a.spacing[c]||"object"==typeof a.direction&&null!=a.direction[c])&&(b[c]=!0),b),{}),g=(0,m.kW)({values:a.direction,base:e}),h=(0,m.kW)({values:a.spacing,base:e});"object"==typeof g&&Object.keys(g).forEach((a,b,c)=>{if(!g[a]){let d=b>0?g[c[b-1]]:"column";g[a]=d}}),c=(0,f.A)(c,(0,m.NI)({theme:b},h,(b,c)=>a.useFlexGap?{gap:(0,n._W)(d,b)}:{"& > :not(style):not(style)":{margin:0},"& > :not(style) ~ :not(style)":{[`margin${({row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"})[c?g[c]:a.direction]}`]:(0,n._W)(d,b)}}))}return(0,m.iZ)(b.breakpoints,c)};var t=c(18168),u=c(6636);let v=function(a={}){let{createStyledComponent:b=q,useThemeProps:c=r,componentName:f="MuiStack"}=a,i=b(s);return d.forwardRef(function(a,b){let j=c(a),{component:l="div",direction:m="column",spacing:n=0,divider:p,children:q,className:r,useFlexGap:s=!1,...t}=(0,k.A)(j),u=(0,h.A)({root:["root"]},a=>(0,g.Ay)(f,a),{});return(0,o.jsx)(i,{as:l,ownerState:{direction:m,spacing:n,useFlexGap:s},ref:b,className:(0,e.A)(u.root,r),...t,children:p?function(a,b){let c=d.Children.toArray(a).filter(Boolean);return c.reduce((a,e,f)=>(a.push(e),f<c.length-1&&a.push(d.cloneElement(b,{key:`separator-${f}`})),a),[])}(q,p):q})})}({createStyledComponent:(0,t.Ay)("div",{name:"MuiStack",slot:"Root",overridesResolver:(a,b)=>b.root}),useThemeProps:a=>(0,u.b)({props:a,name:"MuiStack"})})},55511:a=>{"use strict";a.exports=require("crypto")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},67317:(a,b,c)=>{Promise.resolve().then(c.bind(c,10057))},73520:(a,b,c)=>{"use strict";c.d(b,{A:()=>p});var d=c(38301),e=c(43249),f=c(2783),g=c(18168),h=c(6636),i=c(29565),j=c(33105);function k(a){return(0,j.Ay)("MuiFormGroup",a)}(0,i.A)("MuiFormGroup",["root","row","error"]);var l=c(49628),m=c(83738),n=c(21124);let o=(0,g.Ay)("div",{name:"MuiFormGroup",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.root,c.row&&b.row]}})({display:"flex",flexDirection:"column",flexWrap:"wrap",variants:[{props:{row:!0},style:{flexDirection:"row"}}]}),p=d.forwardRef(function(a,b){let c=(0,h.b)({props:a,name:"MuiFormGroup"}),{className:d,row:g=!1,...i}=c,j=(0,l.A)(),p=(0,m.A)({props:c,muiFormControl:j,states:["error"]}),q={...c,row:g,error:p.error},r=(a=>{let{classes:b,row:c,error:d}=a;return(0,f.A)({root:["root",c&&"row",d&&"error"]},k,b)})(q);return(0,n.jsx)(o,{className:(0,e.A)(r.root,d),ownerState:q,ref:b,...i})})},76052:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GlobalError:()=>E.a,__next_app__:()=>K,handler:()=>M,pages:()=>J,routeModule:()=>L,tree:()=>I});var d=c(49754),e=c(9117),f=c(46595),g=c(32324),h=c(39326),i=c(38928),j=c(20175),k=c(12),l=c(54290),m=c(12696),n=c(52574),o=c(82802),p=c(77533),q=c(45229),r=c(32822),s=c(261),t=c(26453),u=c(52474),v=c(26713),w=c(51356),x=c(62685),y=c(36225),z=c(63446),A=c(2762),B=c(45742),C=c(86439),D=c(81170),E=c.n(D),F=c(62506),G=c(91203),H={};for(let a in F)0>["default","tree","pages","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(H[a]=()=>F[a]);c.d(b,H);let I={children:["",{children:["flows",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,10057)),"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\flows\\page.tsx"]}]},{}]},{layout:[()=>Promise.resolve().then(c.bind(c,51472)),"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\layout.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,81170,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,87028,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,90461,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,32768,23)),"next/dist/client/components/builtin/unauthorized.js"]}]}.children,J=["C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\flows\\page.tsx"],K={require:c,loadChunk:()=>Promise.resolve()},L=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/flows/page",pathname:"/flows",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:I},distDir:".next",relativeProjectDir:""});async function M(a,b,d){var D;let H="/flows/page";"/index"===H&&(H="/");let N=(0,h.getRequestMeta)(a,"postponed"),O=(0,h.getRequestMeta)(a,"minimalMode"),P=await L.prepare(a,b,{srcPage:H,multiZoneDraftMode:!1});if(!P)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Q,query:R,params:S,parsedUrl:T,pageIsDynamic:U,buildManifest:V,nextFontManifest:W,reactLoadableManifest:X,serverActionsManifest:Y,clientReferenceManifest:Z,subresourceIntegrityManifest:$,prerenderManifest:_,isDraftMode:aa,resolvedPathname:ab,revalidateOnlyGenerated:ac,routerServerContext:ad,nextConfig:ae,interceptionRoutePatterns:af}=P,ag=T.pathname||"/",ah=(0,s.normalizeAppPath)(H),{isOnDemandRevalidate:ai}=P,aj=L.match(ag,_),ak=!!_.routes[ab],al=!!(aj||ak||_.routes[ah]),am=a.headers["user-agent"]||"",an=(0,v.getBotType)(am),ao=(0,q.isHtmlBotRequest)(a),ap=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[u.NEXT_ROUTER_PREFETCH_HEADER],aq=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[u.RSC_HEADER]),ar=(0,t.getIsPossibleServerAction)(a),as=(0,m.checkIsAppPPREnabled)(ae.experimental.ppr)&&(null==(D=_.routes[ah]??_.dynamicRoutes[ah])?void 0:D.renderingMode)==="PARTIALLY_STATIC",at=!1,au=!1,av=as?N:void 0,aw=as&&aq&&!ap,ax=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ay=!am||(0,q.shouldServeStreamingMetadata)(am,ae.htmlLimitedBots);ao&&as&&(al=!1,ay=!1);let az=!0===L.isDev||!al||"string"==typeof N||aw,aA=ao&&as,aB=null;aa||!al||az||ar||av||aw||(aB=ab);let aC=aB;!aC&&L.isDev&&(aC=ab),L.isDev||aa||!al||!aq||aw||(0,k.d)(a.headers);let aD={...F,tree:I,pages:J,GlobalError:E(),handler:M,routeModule:L,__next_app__:K};Y&&Z&&(0,p.setReferenceManifestsSingleton)({page:H,clientReferenceManifest:Z,serverActionsManifest:Y,serverModuleMap:(0,r.createServerModuleMap)({serverActionsManifest:Y})});let aE=a.method||"GET",aF=(0,g.getTracer)(),aG=aF.getActiveScopeSpan();try{let f=L.getVaryHeader(ab,af);b.setHeader("Vary",f);let k=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return L.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=aF.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${aE} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aE} ${a.url}`)})},m=async({span:e,postponed:f,fallbackRouteParams:g})=>{let i={query:R,params:S,page:ah,sharedContext:{buildId:Q},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aD,Component:(0,j.T)(aD),params:S,routeModule:L,page:H,postponed:f,shouldWaitOnAllReady:aA,serveStreamingMetadata:ay,supportsDynamicResponse:"string"==typeof f||az,buildManifest:V,nextFontManifest:W,reactLoadableManifest:X,subresourceIntegrityManifest:$,serverActionsManifest:Y,clientReferenceManifest:Z,setIsrStatus:null==ad?void 0:ad.setIsrStatus,dir:c(33873).join(process.cwd(),L.relativeProjectDir),isDraftMode:aa,isRevalidate:al&&!f&&!aw,botType:an,isOnDemandRevalidate:ai,isPossibleServerAction:ar,assetPrefix:ae.assetPrefix,nextConfigOutput:ae.output,crossOrigin:ae.crossOrigin,trailingSlash:ae.trailingSlash,previewProps:_.preview,deploymentId:ae.deploymentId,enableTainting:ae.experimental.taint,htmlLimitedBots:ae.htmlLimitedBots,devtoolSegmentExplorer:ae.experimental.devtoolSegmentExplorer,reactMaxHeadersLength:ae.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:ae.experimental.cacheLife,basePath:ae.basePath,serverActions:ae.experimental.serverActions,...at?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isRevalidate:!0,isDebugDynamicAccesses:at}:{},experimental:{isRoutePPREnabled:as,expireTime:ae.expireTime,staleTimes:ae.experimental.staleTimes,cacheComponents:!!ae.experimental.cacheComponents,clientSegmentCache:!!ae.experimental.clientSegmentCache,clientParamParsing:!!ae.experimental.clientParamParsing,dynamicOnHover:!!ae.experimental.dynamicOnHover,inlineCss:!!ae.experimental.inlineCss,authInterrupts:!!ae.experimental.authInterrupts,clientTraceMetadata:ae.experimental.clientTraceMetadata||[]},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d)=>L.onRequestError(a,b,d,ad),err:(0,h.getRequestMeta)(a,"invokeError"),dev:L.isDev}},l=await k(e,i),{metadata:m}=l,{cacheControl:n,headers:o={},fetchTags:p}=m;if(p&&(o[z.NEXT_CACHE_TAGS_HEADER]=p),a.fetchMetrics=m.fetchMetrics,al&&(null==n?void 0:n.revalidate)===0&&!L.isDev&&!as){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ab}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
|
|
40
|
+
see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:w.CachedRouteKind.APP_PAGE,html:l,headers:o,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:n}},n=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i})=>{let j,k=!1===L.isDev,l=c||b.writableEnded;if(ai&&ac&&!f&&!O)return(null==ad?void 0:ad.render404)?await ad.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(aj&&(j=(0,x.parseFallbackField)(aj.fallback)),j===x.FallbackMode.PRERENDER&&(0,v.isBot)(am)&&(!as||ao)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ai=!0),ai&&(j!==x.FallbackMode.NOT_FOUND||f)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),!O&&j!==x.FallbackMode.BLOCKING_STATIC_RENDER&&aC&&!l&&!aa&&U&&(k||!ak)){let b;if((k||aj)&&j===x.FallbackMode.NOT_FOUND)throw new C.NoFallbackError;if(as&&!aq){let c="string"==typeof(null==aj?void 0:aj.fallback)?aj.fallback:k?ah:null;if(b=await L.handleResponse({cacheKey:c,req:a,nextConfig:ae,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:_,isRoutePPREnabled:as,responseGenerator:async()=>m({span:i,postponed:void 0,fallbackRouteParams:k||au?(0,o.u)(ah):null}),waitUntil:d.waitUntil}),null===b)return null;if(b)return delete b.cacheControl,b}}let n=ai||g||!av?void 0:av;if(at&&void 0!==n)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:w.CachedRouteKind.PAGES,html:y.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let p=U&&as&&((0,h.getRequestMeta)(a,"renderFallbackShell")||au)?(0,o.u)(ag):null;return m({span:i,postponed:n,fallbackRouteParams:p})},p=async c=>{var f,g,i,j,k;let l,o=await L.handleResponse({cacheKey:aB,responseGenerator:a=>n({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ai,isRoutePPREnabled:as,req:a,nextConfig:ae,prerenderManifest:_,waitUntil:d.waitUntil});if(aa&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),L.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!o){if(aB)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=o.value)?void 0:f.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=o.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let p="string"==typeof o.value.postponed;al&&!aw&&(!p||ap)&&(O||b.setHeader("x-nextjs-cache",ai?"REVALIDATED":o.isMiss?"MISS":o.isStale?"STALE":"HIT"),b.setHeader(u.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=o;if(av)l={revalidate:0,expire:void 0};else if(O&&aq&&!ap&&as)l={revalidate:0,expire:void 0};else if(!L.isDev)if(aa)l={revalidate:0,expire:void 0};else if(al){if(o.cacheControl)if("number"==typeof o.cacheControl.revalidate){if(o.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${o.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:o.cacheControl.revalidate,expire:(null==(j=o.cacheControl)?void 0:j.expire)??ae.expireTime}}else l={revalidate:z.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(o.cacheControl=l,"string"==typeof ax&&(null==q?void 0:q.kind)===w.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[z.NEXT_CACHE_TAGS_HEADER];O&&al&&c&&"string"==typeof c&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(ax);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(d,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.EMPTY,cacheControl:o.cacheControl}))}let r=(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r({...o,value:{...o.value,kind:"PAGE"}},{url:(0,h.getRequestMeta)(a,"initURL")}))return null;if(p&&av)throw Object.defineProperty(Error("Invariant: postponed state should not be present on a resume request"),"__NEXT_ERROR_CODE",{value:"E396",enumerable:!1,configurable:!0});if(q.headers){let a={...q.headers};for(let[c,d]of(O&&al||delete a[z.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let s=null==(g=q.headers)?void 0:g[z.NEXT_CACHE_TAGS_HEADER];if(O&&al&&s&&"string"==typeof s&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,s),!q.status||aq&&as||(b.statusCode=q.status),!O&&q.status&&G.RedirectStatusCode[q.status]&&aq&&(b.statusCode=200),p&&b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"1"),aq&&!aa){if(void 0===q.rscData){if(q.postponed)throw Object.defineProperty(Error("Invariant: Expected postponed to be undefined"),"__NEXT_ERROR_CODE",{value:"E372",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:q.html,cacheControl:aw?{revalidate:0,expire:void 0}:o.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(q.rscData,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl})}let t=q.html;if(!p||O||aq)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:o.cacheControl});if(at)return t.push(new ReadableStream({start(a){a.enqueue(A.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}});let v=new TransformStream;return t.push(v.readable),m({span:c,postponed:q.postponed,fallbackRouteParams:null}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(v.writable)}).catch(a=>{v.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}})};if(!aG)return await aF.withPropagatedContext(a.headers,()=>aF.trace(i.BaseServerSpan.handleRequest,{spanName:`${aE} ${a.url}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aE,"http.target":a.url}},p));await p(aG)}catch(b){throw b instanceof C.NoFallbackError||await L.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"render",revalidateReason:(0,f.c)({isRevalidate:al,isOnDemandRevalidate:ai})},ad),b}}},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[5873,8298,3984,8445,6760,6390,1381,598,6064,2666,5486,4989,1555,6283,1986,2776,8460,9188,62,5838],()=>b(b.s=76052));module.exports=c})();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":1,"files":["../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../node_modules/next/dist/lib/constants.js","../../../../node_modules/next/dist/lib/interop-default.js","../../../../node_modules/next/dist/lib/is-error.js","../../../../node_modules/next/dist/lib/semver-noop.js","../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../node_modules/next/dist/server/lib/cache-handlers/default.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../node_modules/next/dist/server/response-cache/types.js","../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../node_modules/next/dist/shared/lib/router/utils/html-bots.js","../../../../node_modules/next/dist/shared/lib/router/utils/is-bot.js","../../../../node_modules/next/dist/shared/lib/segment.js","../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../node_modules/next/package.json","../../../package.json","../../chunks/1381.js","../../chunks/1555.js","../../chunks/1986.js","../../chunks/2666.js","../../chunks/2776.js","../../chunks/3984.js","../../chunks/4989.js","../../chunks/5486.js","../../chunks/5838.js","../../chunks/5873.js","../../chunks/598.js","../../chunks/6064.js","../../chunks/62.js","../../chunks/6283.js","../../chunks/6390.js","../../chunks/6760.js","../../chunks/8298.js","../../chunks/8445.js","../../chunks/8460.js","../../chunks/9188.js","../../webpack-runtime.js","page_client-reference-manifest.js"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/flows/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"4474":{"*":{"id":"8521","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"55145","name":"*","chunks":[],"async":false}},"13975":{"*":{"id":"78763","name":"*","chunks":[],"async":false}},"15278":{"*":{"id":"78922","name":"*","chunks":[],"async":false}},"17989":{"*":{"id":"68495","name":"*","chunks":[],"async":false}},"24431":{"*":{"id":"34644","name":"*","chunks":[],"async":false}},"24437":{"*":{"id":"24207","name":"*","chunks":[],"async":false}},"25635":{"*":{"id":"79515","name":"*","chunks":[],"async":false}},"27127":{"*":{"id":"85906","name":"*","chunks":[],"async":false}},"27879":{"*":{"id":"92093","name":"*","chunks":[],"async":false}},"31742":{"*":{"id":"77048","name":"*","chunks":[],"async":false}},"36552":{"*":{"id":"52402","name":"*","chunks":[],"async":false}},"45993":{"*":{"id":"37310","name":"*","chunks":[],"async":false}},"46487":{"*":{"id":"56146","name":"*","chunks":[],"async":false}},"57150":{"*":{"id":"54160","name":"*","chunks":[],"async":false}},"63886":{"*":{"id":"75170","name":"*","chunks":[],"async":false}},"67421":{"*":{"id":"29872","name":"*","chunks":[],"async":false}},"72403":{"*":{"id":"49428","name":"*","chunks":[],"async":false}},"80622":{"*":{"id":"82146","name":"*","chunks":[],"async":false}},"81959":{"*":{"id":"31603","name":"*","chunks":[],"async":false}},"89547":{"*":{"id":"71779","name":"*","chunks":[],"async":false}},"94049":{"*":{"id":"81637","name":"*","chunks":[],"async":false}},"94929":{"*":{"id":"61615","name":"*","chunks":[],"async":false}},"95271":{"*":{"id":"19830","name":"*","chunks":[],"async":false}},"98924":{"*":{"id":"29234","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\client\\components\\builtin\\global-error.js":{"id":57150,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\client\\components\\builtin\\global-error.js":{"id":57150,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":81959,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":81959,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\client\\components\\client-segment.js":{"id":17989,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\client\\components\\client-segment.js":{"id":17989,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\client\\components\\http-access-fallback\\error-boundary.js":{"id":63886,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\client\\components\\http-access-fallback\\error-boundary.js":{"id":63886,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\client\\components\\metadata\\async-metadata.js":{"id":15278,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\client\\components\\metadata\\async-metadata.js":{"id":15278,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":98924,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":98924,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\lib\\framework\\boundary-components.js":{"id":24431,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\lib\\framework\\boundary-components.js":{"id":24431,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\lib\\metadata\\generate\\icon-mark.js":{"id":80622,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\lib\\metadata\\generate\\icon-mark.js":{"id":80622,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\font\\google\\target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Geist\",\"arguments\":[{\"variable\":\"--font-geist-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistSans\"}":{"id":59742,"name":"*","chunks":["7177","static/chunks/app/layout-2878f13d7e253503.js"],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\font\\google\\target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Geist_Mono\",\"arguments\":[{\"variable\":\"--font-geist-mono\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistMono\"}":{"id":3946,"name":"*","chunks":["7177","static/chunks/app/layout-2878f13d7e253503.js"],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\globals.css":{"id":13673,"name":"*","chunks":["7177","static/chunks/app/layout-2878f13d7e253503.js"],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\frontend\\components\\AppWrapper.tsx":{"id":72403,"name":"*","chunks":["7177","static/chunks/app/layout-2878f13d7e253503.js"],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\chat\\page.tsx":{"id":67421,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\docs\\page.tsx":{"id":27127,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\executions\\page.tsx":{"id":95271,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\flows\\page.tsx":{"id":45993,"name":"*","chunks":["3862","static/chunks/1a258343-bcffff1604e3797c.js","7926","static/chunks/ccd63cfe-4a75b90fa4cb53ad.js","2678","static/chunks/2678-c88052addfb0478a.js","4754","static/chunks/4754-5c62bb61142f82d1.js","9244","static/chunks/9244-3281f7fd02003a2c.js","8548","static/chunks/8548-8e4a95334064e8b2.js","690","static/chunks/690-391bc0f482a9f67c.js","9562","static/chunks/9562-93cc45aef3630781.js","2003","static/chunks/2003-7710c23acaef11c9.js","488","static/chunks/488-623d07c3fbc21e28.js","3272","static/chunks/3272-fd8d59523f61da96.js","5648","static/chunks/5648-2c6caf3d55f95e11.js","7396","static/chunks/7396-807a034f58b57712.js","3077","static/chunks/3077-565833c67440a7fa.js","3750","static/chunks/3750-38474d67566af4c3.js","1424","static/chunks/1424-01898260211a09d0.js","2624","static/chunks/2624-b985ab3eac1139c3.js","5961","static/chunks/5961-828f4f7efc3e1381.js","7488","static/chunks/7488-b58bc701d0deda00.js","39","static/chunks/39-1732a0b689c7b641.js","2380","static/chunks/2380-2a7acfa037ec8e80.js","8862","static/chunks/8862-1314a13b011c4817.js","3810","static/chunks/3810-cee95063d5535307.js","3080","static/chunks/app/flows/page-7b5c0e06951398ac.js"],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\mcp\\page.tsx":{"id":31742,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\page.tsx":{"id":89547,"name":"*","chunks":["2678","static/chunks/2678-c88052addfb0478a.js","4754","static/chunks/4754-5c62bb61142f82d1.js","9244","static/chunks/9244-3281f7fd02003a2c.js","8548","static/chunks/8548-8e4a95334064e8b2.js","690","static/chunks/690-391bc0f482a9f67c.js","2003","static/chunks/2003-7710c23acaef11c9.js","3077","static/chunks/3077-565833c67440a7fa.js","2619","static/chunks/2619-04bc32f026a0d946.js","2720","static/chunks/2720-2a926505ec98a6de.js","9164","static/chunks/9164-81ca1a1bccdc5ed2.js","8974","static/chunks/app/page-471879d3918aeeb6.js"],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\settings\\page.tsx":{"id":46487,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\models\\error.tsx":{"id":27879,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\@mui\\material\\Box\\Box.js":{"id":94049,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\@mui\\material\\CircularProgress\\CircularProgress.js":{"id":4474,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\@mui\\material\\Typography\\Typography.js":{"id":25635,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\shared\\lib\\lazy-dynamic\\dynamic-bailout-to-csr.js":{"id":24437,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\shared\\lib\\lazy-dynamic\\dynamic-bailout-to-csr.js":{"id":24437,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\shared\\lib\\lazy-dynamic\\preload-chunks.js":{"id":36552,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\shared\\lib\\lazy-dynamic\\preload-chunks.js":{"id":36552,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\models\\ModelClient.tsx":{"id":13975,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\frontend\\components\\shared\\Spinner.tsx":{"id":94929,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\":[],"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\layout":[{"inlined":false,"path":"static/css/d1484588c616b291.css"}],"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\page":[],"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\flows\\page":[{"inlined":false,"path":"static/css/64cb1f185b52a623.css"}]},"rscModuleMapping":{"4474":{"*":{"id":"65251","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"6060","name":"*","chunks":[],"async":false}},"13673":{"*":{"id":"61135","name":"*","chunks":[],"async":false}},"13975":{"*":{"id":"2671","name":"*","chunks":[],"async":false}},"15278":{"*":{"id":"7184","name":"*","chunks":[],"async":false}},"17989":{"*":{"id":"36893","name":"*","chunks":[],"async":false}},"24431":{"*":{"id":"73041","name":"*","chunks":[],"async":false}},"24437":{"*":{"id":"69389","name":"*","chunks":[],"async":false}},"25635":{"*":{"id":"16825","name":"*","chunks":[],"async":false}},"27127":{"*":{"id":"65793","name":"*","chunks":[],"async":false}},"27879":{"*":{"id":"14867","name":"*","chunks":[],"async":false}},"31742":{"*":{"id":"51016","name":"*","chunks":[],"async":false}},"36552":{"*":{"id":"63112","name":"*","chunks":[],"async":false}},"45993":{"*":{"id":"10057","name":"*","chunks":[],"async":false}},"46487":{"*":{"id":"85431","name":"*","chunks":[],"async":false}},"57150":{"*":{"id":"81170","name":"*","chunks":[],"async":false}},"63886":{"*":{"id":"89748","name":"*","chunks":[],"async":false}},"67421":{"*":{"id":"22516","name":"*","chunks":[],"async":false}},"72403":{"*":{"id":"41306","name":"*","chunks":[],"async":false}},"80622":{"*":{"id":"51384","name":"*","chunks":[],"async":false}},"81959":{"*":{"id":"23597","name":"*","chunks":[],"async":false}},"89547":{"*":{"id":"60967","name":"*","chunks":[],"async":false}},"94049":{"*":{"id":"73737","name":"*","chunks":[],"async":false}},"94929":{"*":{"id":"37997","name":"*","chunks":[],"async":false}},"95271":{"*":{"id":"42389","name":"*","chunks":[],"async":false}},"98924":{"*":{"id":"69576","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<!DOCTYPE html><!--GbXXL_8DLT2oVwT_JdpbM--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/d1484588c616b291.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-6f17a022ac16e8bd.js"/><script src="/_next/static/chunks/4bd1b696-182b6b13bdad92e3.js" async=""></script><script src="/_next/static/chunks/1255-13d973e0759ea6d6.js" async=""></script><script src="/_next/static/chunks/main-app-faff38c77cb00119.js" async=""></script><script src="/_next/static/chunks/app/layout-2878f13d7e253503.js" async=""></script><script src="/_next/static/chunks/1a258343-bcffff1604e3797c.js" async=""></script><script src="/_next/static/chunks/ccd63cfe-4a75b90fa4cb53ad.js" async=""></script><script src="/_next/static/chunks/2678-c88052addfb0478a.js" async=""></script><script src="/_next/static/chunks/4754-5c62bb61142f82d1.js" async=""></script><script src="/_next/static/chunks/9244-3281f7fd02003a2c.js" async=""></script><script src="/_next/static/chunks/8548-8e4a95334064e8b2.js" async=""></script><script src="/_next/static/chunks/690-391bc0f482a9f67c.js" async=""></script><script src="/_next/static/chunks/9562-93cc45aef3630781.js" async=""></script><script src="/_next/static/chunks/2003-7710c23acaef11c9.js" async=""></script><script src="/_next/static/chunks/488-623d07c3fbc21e28.js" async=""></script><script src="/_next/static/chunks/3272-fd8d59523f61da96.js" async=""></script><script src="/_next/static/chunks/5648-2c6caf3d55f95e11.js" async=""></script><script src="/_next/static/chunks/7396-807a034f58b57712.js" async=""></script><script src="/_next/static/chunks/3077-565833c67440a7fa.js" async=""></script><script src="/_next/static/chunks/3750-38474d67566af4c3.js" async=""></script><script src="/_next/static/chunks/1424-01898260211a09d0.js" async=""></script><script src="/_next/static/chunks/2624-b985ab3eac1139c3.js" async=""></script><script src="/_next/static/chunks/5961-828f4f7efc3e1381.js" async=""></script><script src="/_next/static/chunks/7488-b58bc701d0deda00.js" async=""></script><script src="/_next/static/chunks/39-1732a0b689c7b641.js" async=""></script><script src="/_next/static/chunks/2380-2a7acfa037ec8e80.js" async=""></script><script src="/_next/static/chunks/8862-1314a13b011c4817.js" async=""></script><script src="/_next/static/chunks/3810-cee95063d5535307.js" async=""></script><script src="/_next/static/chunks/app/flows/page-7b5c0e06951398ac.js" async=""></script><link rel="preload" href="/_next/static/css/64cb1f185b52a623.css" as="style"/><title>FLUJO</title><meta name="description" content="A browser-based application for managing models, MCP servers, flows and chat interactions"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_246ccd __variable_c29908 antialiased"><div hidden=""><!--$--><!--/$--></div><!--$--><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><div>Loading theme...</div><!--/$--><!--/$--><script src="/_next/static/chunks/webpack-6f17a022ac16e8bd.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[72403,[\"7177\",\"static/chunks/app/layout-2878f13d7e253503.js\"],\"default\"]\n3:I[9766,[],\"\"]\n4:I[98924,[],\"\"]\n5:I[81959,[],\"ClientPageRoot\"]\n"])</script><script>self.__next_f.push([1,"6:I[45993,[\"3862\",\"static/chunks/1a258343-bcffff1604e3797c.js\",\"7926\",\"static/chunks/ccd63cfe-4a75b90fa4cb53ad.js\",\"2678\",\"static/chunks/2678-c88052addfb0478a.js\",\"4754\",\"static/chunks/4754-5c62bb61142f82d1.js\",\"9244\",\"static/chunks/9244-3281f7fd02003a2c.js\",\"8548\",\"static/chunks/8548-8e4a95334064e8b2.js\",\"690\",\"static/chunks/690-391bc0f482a9f67c.js\",\"9562\",\"static/chunks/9562-93cc45aef3630781.js\",\"2003\",\"static/chunks/2003-7710c23acaef11c9.js\",\"488\",\"static/chunks/488-623d07c3fbc21e28.js\",\"3272\",\"static/chunks/3272-fd8d59523f61da96.js\",\"5648\",\"static/chunks/5648-2c6caf3d55f95e11.js\",\"7396\",\"static/chunks/7396-807a034f58b57712.js\",\"3077\",\"static/chunks/3077-565833c67440a7fa.js\",\"3750\",\"static/chunks/3750-38474d67566af4c3.js\",\"1424\",\"static/chunks/1424-01898260211a09d0.js\",\"2624\",\"static/chunks/2624-b985ab3eac1139c3.js\",\"5961\",\"static/chunks/5961-828f4f7efc3e1381.js\",\"7488\",\"static/chunks/7488-b58bc701d0deda00.js\",\"39\",\"static/chunks/39-1732a0b689c7b641.js\",\"2380\",\"static/chunks/2380-2a7acfa037ec8e80.js\",\"8862\",\"static/chunks/8862-1314a13b011c4817.js\",\"3810\",\"static/chunks/3810-cee95063d5535307.js\",\"3080\",\"static/chunks/app/flows/page-7b5c0e06951398ac.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"9:I[24431,[],\"OutletBoundary\"]\nb:I[15278,[],\"AsyncMetadataOutlet\"]\nd:I[24431,[],\"ViewportBoundary\"]\nf:I[24431,[],\"MetadataBoundary\"]\n10:\"$Sreact.suspense\"\n12:I[57150,[],\"\"]\n:HL[\"/_next/static/css/d1484588c616b291.css\",\"style\"]\n:HL[\"/_next/static/css/64cb1f185b52a623.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"GbXXL_8DLT2oVwT-JdpbM\",\"p\":\"\",\"c\":[\"\",\"flows\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"flows\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/d1484588c616b291.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"className\":\"__variable_246ccd __variable_c29908 antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]]}],{\"children\":[\"flows\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L5\",null,{\"Component\":\"$6\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@7\",\"$@8\"]}],[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/64cb1f185b52a623.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"$L9\",null,{\"children\":[\"$La\",[\"$\",\"$Lb\",null,{\"promise\":\"$@c\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$Ld\",null,{\"children\":\"$Le\"}],null],[\"$\",\"$Lf\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$10\",null,{\"fallback\":null,\"children\":\"$L11\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$12\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"7:{}\n8:\"$0:f:0:1:2:children:2:children:1:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"e:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\na:null\n"])</script><script>self.__next_f.push([1,"c:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"FLUJO\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"A browser-based application for managing models, MCP servers, flows and chat interactions\"}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"11:\"$c:metadata\"\n"])</script></body></html>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
1:"$Sreact.fragment"
|
|
2
|
+
2:I[72403,["7177","static/chunks/app/layout-2878f13d7e253503.js"],"default"]
|
|
3
|
+
3:I[9766,[],""]
|
|
4
|
+
4:I[98924,[],""]
|
|
5
|
+
5:I[81959,[],"ClientPageRoot"]
|
|
6
|
+
6:I[45993,["3862","static/chunks/1a258343-bcffff1604e3797c.js","7926","static/chunks/ccd63cfe-4a75b90fa4cb53ad.js","2678","static/chunks/2678-c88052addfb0478a.js","4754","static/chunks/4754-5c62bb61142f82d1.js","9244","static/chunks/9244-3281f7fd02003a2c.js","8548","static/chunks/8548-8e4a95334064e8b2.js","690","static/chunks/690-391bc0f482a9f67c.js","9562","static/chunks/9562-93cc45aef3630781.js","2003","static/chunks/2003-7710c23acaef11c9.js","488","static/chunks/488-623d07c3fbc21e28.js","3272","static/chunks/3272-fd8d59523f61da96.js","5648","static/chunks/5648-2c6caf3d55f95e11.js","7396","static/chunks/7396-807a034f58b57712.js","3077","static/chunks/3077-565833c67440a7fa.js","3750","static/chunks/3750-38474d67566af4c3.js","1424","static/chunks/1424-01898260211a09d0.js","2624","static/chunks/2624-b985ab3eac1139c3.js","5961","static/chunks/5961-828f4f7efc3e1381.js","7488","static/chunks/7488-b58bc701d0deda00.js","39","static/chunks/39-1732a0b689c7b641.js","2380","static/chunks/2380-2a7acfa037ec8e80.js","8862","static/chunks/8862-1314a13b011c4817.js","3810","static/chunks/3810-cee95063d5535307.js","3080","static/chunks/app/flows/page-7b5c0e06951398ac.js"],"default"]
|
|
7
|
+
9:I[24431,[],"OutletBoundary"]
|
|
8
|
+
b:I[15278,[],"AsyncMetadataOutlet"]
|
|
9
|
+
d:I[24431,[],"ViewportBoundary"]
|
|
10
|
+
f:I[24431,[],"MetadataBoundary"]
|
|
11
|
+
10:"$Sreact.suspense"
|
|
12
|
+
12:I[57150,[],""]
|
|
13
|
+
:HL["/_next/static/css/d1484588c616b291.css","style"]
|
|
14
|
+
:HL["/_next/static/css/64cb1f185b52a623.css","style"]
|
|
15
|
+
0:{"P":null,"b":"GbXXL_8DLT2oVwT-JdpbM","p":"","c":["","flows"],"i":false,"f":[[["",{"children":["flows",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/d1484588c616b291.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__variable_246ccd __variable_c29908 antialiased","children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]]}],{"children":["flows",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L5",null,{"Component":"$6","searchParams":{},"params":{},"promises":["$@7","$@8"]}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/64cb1f185b52a623.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$L9",null,{"children":["$La",["$","$Lb",null,{"promise":"$@c"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Ld",null,{"children":"$Le"}],null],["$","$Lf",null,{"children":["$","div",null,{"hidden":true,"children":["$","$10",null,{"fallback":null,"children":"$L11"}]}]}]]}],false]],"m":"$undefined","G":["$12",[]],"s":false,"S":true}
|
|
16
|
+
7:{}
|
|
17
|
+
8:"$0:f:0:1:2:children:2:children:1:props:children:0:props:params"
|
|
18
|
+
e:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
19
|
+
a:null
|
|
20
|
+
c:{"metadata":[["$","title","0",{"children":"FLUJO"}],["$","meta","1",{"name":"description","content":"A browser-based application for managing models, MCP servers, flows and chat interactions"}]],"error":null,"digest":"$undefined"}
|
|
21
|
+
11:"$c:metadata"
|