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 @@
|
|
|
1
|
+
"use strict";exports.id=6760,exports.ids=[6760],exports.modules={1509:(a,b,c)=>{c.d(b,{A:()=>j});var d=c(38301),e=c(23312),f=c(67943),g=c(51939),h=c(75249),i=c(10005);let j=d.forwardRef(function(a,b){let{children:c,container:j,disablePortal:k=!1}=a,[l,m]=d.useState(null),n=(0,f.A)(d.isValidElement(c)?(0,g.A)(c):null,b);return((0,h.A)(()=>{k||m(("function"==typeof j?j():j)||document.body)},[j,k]),(0,h.A)(()=>{if(l&&!k)return(0,i.A)(b,l),()=>{(0,i.A)(b,null)}},[b,l,k]),k)?d.isValidElement(c)?d.cloneElement(c,{ref:n}):c:l?e.createPortal(c,l):l})},2153:(a,b,c)=>{c.d(b,{A:()=>d});function d(...a){return a.reduce((a,b)=>null==b?a:function(...c){a.apply(this,c),b.apply(this,c)},()=>{})}},4927:(a,b,c)=>{c.d(b,{A:()=>p});var d=c(38301),e=c(74846),f=c(51939),g=c(65823),h=c(60839),i=c(28366),j=c(26636),k=c(21124);function l(a){return`scale(${a}, ${a**2})`}let m={entering:{opacity:1,transform:l(1)},entered:{opacity:1,transform:"none"}},n="undefined"!=typeof navigator&&/^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent)&&/(os |version\/)15(.|_)4/i.test(navigator.userAgent),o=d.forwardRef(function(a,b){let{addEndListener:c,appear:o=!0,children:p,easing:q,in:r,onEnter:s,onEntered:t,onEntering:u,onExit:v,onExited:w,onExiting:x,style:y,timeout:z="auto",TransitionComponent:A=g.Ay,...B}=a,C=(0,e.A)(),D=d.useRef(),E=(0,h.A)(),F=d.useRef(null),G=(0,j.A)(F,(0,f.A)(p),b),H=a=>b=>{if(a){let c=F.current;void 0===b?a(c):a(c,b)}},I=H(u),J=H((a,b)=>{let c;(0,i.q)(a);let{duration:d,delay:e,easing:f}=(0,i.c)({style:y,timeout:z,easing:q},{mode:"enter"});"auto"===z?D.current=c=E.transitions.getAutoHeightDuration(a.clientHeight):c=d,a.style.transition=[E.transitions.create("opacity",{duration:c,delay:e}),E.transitions.create("transform",{duration:n?c:.666*c,delay:e,easing:f})].join(","),s&&s(a,b)}),K=H(t),L=H(x),M=H(a=>{let b,{duration:c,delay:d,easing:e}=(0,i.c)({style:y,timeout:z,easing:q},{mode:"exit"});"auto"===z?D.current=b=E.transitions.getAutoHeightDuration(a.clientHeight):b=c,a.style.transition=[E.transitions.create("opacity",{duration:b,delay:d}),E.transitions.create("transform",{duration:n?b:.666*b,delay:n?d:d||.333*b,easing:e})].join(","),a.style.opacity=0,a.style.transform=l(.75),v&&v(a)}),N=H(w);return(0,k.jsx)(A,{appear:o,in:r,nodeRef:F,onEnter:J,onEntered:K,onEntering:I,onExit:M,onExited:N,onExiting:L,addEndListener:a=>{"auto"===z&&C.start(D.current||0,a),c&&c(F.current,a)},timeout:"auto"===z?null:z,...B,children:(a,{ownerState:b,...c})=>d.cloneElement(p,{style:{opacity:0,transform:l(.75),visibility:"exited"!==a||r?void 0:"hidden",...m[a],...y,...p.props.style},ref:G,...c})})});o&&(o.muiSupportAuto=!0);let p=o},5141:(a,b,c)=>{c.d(b,{A:()=>d});let d=c(24029).A},6537:(a,b,c)=>{c.d(b,{A:()=>L});var d=c(38301),e=c(43249),f=c(2783),g=c(67943),h=c(51939),i=c(46757),j=c(21124);function k(a){let b=[],c=[];return Array.from(a.querySelectorAll('input,select,textarea,a[href],button,[tabindex],audio[controls],video[controls],[contenteditable]:not([contenteditable="false"])')).forEach((a,d)=>{let e=function(a){let b=parseInt(a.getAttribute("tabindex")||"",10);return Number.isNaN(b)?"true"===a.contentEditable||("AUDIO"===a.nodeName||"VIDEO"===a.nodeName||"DETAILS"===a.nodeName)&&null===a.getAttribute("tabindex")?0:a.tabIndex:b}(a);-1===e||a.disabled||"INPUT"===a.tagName&&"hidden"===a.type||function(a){if("INPUT"!==a.tagName||"radio"!==a.type||!a.name)return!1;let b=b=>a.ownerDocument.querySelector(`input[type="radio"]${b}`),c=b(`[name="${a.name}"]:checked`);return c||(c=b(`[name="${a.name}"]`)),c!==a}(a)||(0===e?b.push(a):c.push({documentOrder:d,tabIndex:e,node:a}))}),c.sort((a,b)=>a.tabIndex===b.tabIndex?a.documentOrder-b.documentOrder:a.tabIndex-b.tabIndex).map(a=>a.node).concat(b)}function l(){return!0}let m=function(a){let{children:b,disableAutoFocus:c=!1,disableEnforceFocus:e=!1,disableRestoreFocus:f=!1,getTabbable:m=k,isEnabled:n=l,open:o}=a,p=d.useRef(!1),q=d.useRef(null),r=d.useRef(null),s=d.useRef(null),t=d.useRef(null),u=d.useRef(!1),v=d.useRef(null),w=(0,g.A)((0,h.A)(b),v),x=d.useRef(null);d.useEffect(()=>{o&&v.current&&(u.current=!c)},[c,o]),d.useEffect(()=>{if(!o||!v.current)return;let a=(0,i.A)(v.current);return!v.current.contains(a.activeElement)&&(v.current.hasAttribute("tabIndex")||v.current.setAttribute("tabIndex","-1"),u.current&&v.current.focus()),()=>{f||(s.current&&s.current.focus&&(p.current=!0,s.current.focus()),s.current=null)}},[o]),d.useEffect(()=>{if(!o||!v.current)return;let a=(0,i.A)(v.current),b=b=>{x.current=b,!e&&n()&&"Tab"===b.key&&a.activeElement===v.current&&b.shiftKey&&(p.current=!0,r.current&&r.current.focus())},c=()=>{let b=v.current;if(null===b)return;if(!a.hasFocus()||!n()||p.current){p.current=!1;return}if(b.contains(a.activeElement)||e&&a.activeElement!==q.current&&a.activeElement!==r.current)return;if(a.activeElement!==t.current)t.current=null;else if(null!==t.current)return;if(!u.current)return;let c=[];if((a.activeElement===q.current||a.activeElement===r.current)&&(c=m(v.current)),c.length>0){let a=!!(x.current?.shiftKey&&x.current?.key==="Tab"),b=c[0],d=c[c.length-1];"string"!=typeof b&&"string"!=typeof d&&(a?d.focus():b.focus())}else b.focus()};a.addEventListener("focusin",c),a.addEventListener("keydown",b,!0);let d=setInterval(()=>{a.activeElement&&"BODY"===a.activeElement.tagName&&c()},50);return()=>{clearInterval(d),a.removeEventListener("focusin",c),a.removeEventListener("keydown",b,!0)}},[c,e,f,n,o,m]);let y=a=>{null===s.current&&(s.current=a.relatedTarget),u.current=!0};return(0,j.jsxs)(d.Fragment,{children:[(0,j.jsx)("div",{tabIndex:o?0:-1,onFocus:y,ref:q,"data-testid":"sentinelStart"}),d.cloneElement(b,{ref:w,onFocus:a=>{null===s.current&&(s.current=a.relatedTarget),u.current=!0,t.current=a.target;let c=b.props.onFocus;c&&c(a)}}),(0,j.jsx)("div",{tabIndex:o?0:-1,onFocus:y,ref:r,"data-testid":"sentinelEnd"})]})};var n=c(1509),o=c(18168),p=c(68333),q=c(6636),r=c(65012),s=c(62383),t=c(2153),u=c(69979),v=c(24029),w=c(32437);function x(a,b){b?a.setAttribute("aria-hidden","true"):a.removeAttribute("aria-hidden")}function y(a){return parseInt((0,v.A)(a).getComputedStyle(a).paddingRight,10)||0}function z(a,b,c,d,e){let f=[b,c,...d];[].forEach.call(a.children,a=>{let b=!f.includes(a),c=!function(a){let b=["TEMPLATE","SCRIPT","STYLE","LINK","MAP","META","NOSCRIPT","PICTURE","COL","COLGROUP","PARAM","SLOT","SOURCE","TRACK"].includes(a.tagName),c="INPUT"===a.tagName&&"hidden"===a.getAttribute("type");return b||c}(a);b&&c&&x(a,e)})}function A(a,b){let c=-1;return a.some((a,d)=>!!b(a)&&(c=d,!0)),c}class B{constructor(){this.modals=[],this.containers=[]}add(a,b){let c=this.modals.indexOf(a);if(-1!==c)return c;c=this.modals.length,this.modals.push(a),a.modalRef&&x(a.modalRef,!1);let d=function(a){let b=[];return[].forEach.call(a.children,a=>{"true"===a.getAttribute("aria-hidden")&&b.push(a)}),b}(b);z(b,a.mount,a.modalRef,d,!0);let e=A(this.containers,a=>a.container===b);return -1!==e?this.containers[e].modals.push(a):this.containers.push({modals:[a],container:b,restore:null,hiddenSiblings:d}),c}mount(a,b){let c=A(this.containers,b=>b.modals.includes(a)),d=this.containers[c];d.restore||(d.restore=function(a,b){let c=[],d=a.container;if(!b.disableScrollLock){let a;if(function(a){let b=(0,i.A)(a);return b.body===a?(0,v.A)(a).innerWidth>b.documentElement.clientWidth:a.scrollHeight>a.clientHeight}(d)){let a=(0,w.A)((0,v.A)(d));c.push({value:d.style.paddingRight,property:"padding-right",el:d}),d.style.paddingRight=`${y(d)+a}px`;let b=(0,i.A)(d).querySelectorAll(".mui-fixed");[].forEach.call(b,b=>{c.push({value:b.style.paddingRight,property:"padding-right",el:b}),b.style.paddingRight=`${y(b)+a}px`})}if(d.parentNode instanceof DocumentFragment)a=(0,i.A)(d).body;else{let b=d.parentElement,c=(0,v.A)(d);a=b?.nodeName==="HTML"&&"scroll"===c.getComputedStyle(b).overflowY?b:d}c.push({value:a.style.overflow,property:"overflow",el:a},{value:a.style.overflowX,property:"overflow-x",el:a},{value:a.style.overflowY,property:"overflow-y",el:a}),a.style.overflow="hidden"}return()=>{c.forEach(({value:a,el:b,property:c})=>{a?b.style.setProperty(c,a):b.style.removeProperty(c)})}}(d,b))}remove(a,b=!0){let c=this.modals.indexOf(a);if(-1===c)return c;let d=A(this.containers,b=>b.modals.includes(a)),e=this.containers[d];if(e.modals.splice(e.modals.indexOf(a),1),this.modals.splice(c,1),0===e.modals.length)e.restore&&e.restore(),a.modalRef&&x(a.modalRef,b),z(e.container,a.mount,a.modalRef,e.hiddenSiblings,!1),this.containers.splice(d,1);else{let a=e.modals[e.modals.length-1];a.modalRef&&x(a.modalRef,!1)}return c}isTopModal(a){return this.modals.length>0&&this.modals[this.modals.length-1]===a}}let C=()=>{},D=new B,E=function(a){let{container:b,disableEscapeKeyDown:c=!1,disableScrollLock:e=!1,closeAfterTransition:f=!1,onTransitionEnter:h,onTransitionExited:j,children:k,onClose:l,open:m,rootRef:n}=a,o=d.useRef({}),p=d.useRef(null),q=d.useRef(null),r=(0,g.A)(q,n),[v,w]=d.useState(!m),y=!!k&&k.props.hasOwnProperty("in"),z=!0;("false"===a["aria-hidden"]||!1===a["aria-hidden"])&&(z=!1);let A=()=>(o.current.modalRef=q.current,o.current.mount=p.current,o.current),B=()=>{D.mount(A(),{disableScrollLock:e}),q.current&&(q.current.scrollTop=0)},E=(0,s.A)(()=>{let a=("function"==typeof b?b():b)||(0,i.A)(p.current).body;D.add(A(),a),q.current&&B()}),F=()=>D.isTopModal(A()),G=(0,s.A)(a=>{p.current=a,a&&(m&&F()?B():q.current&&x(q.current,z))}),H=d.useCallback(()=>{D.remove(A(),z)},[z]);return d.useEffect(()=>()=>{H()},[H]),d.useEffect(()=>{m?E():y&&f||H()},[m,H,y,f,E]),{getRootProps:(b={})=>{let d=(0,u.A)(a);delete d.onTransitionEnter,delete d.onTransitionExited;let e={...d,...b};return{role:"presentation",...e,onKeyDown:a=>{e.onKeyDown?.(a),"Escape"===a.key&&229!==a.which&&F()&&!c&&(a.stopPropagation(),l&&l(a,"escapeKeyDown"))},ref:r}},getBackdropProps:(a={})=>({"aria-hidden":!0,...a,onClick:b=>{a.onClick?.(b),b.target===b.currentTarget&&l&&l(b,"backdropClick")},open:m}),getTransitionProps:()=>({onEnter:(0,t.A)(()=>{w(!1),h&&h()},k?.props.onEnter??C),onExited:(0,t.A)(()=>{w(!0),j&&j(),f&&H()},k?.props.onExited??C)}),rootRef:r,portalRef:G,isTopModal:F,exited:v,hasTransition:y}};var F=c(29565),G=c(33105);function H(a){return(0,G.Ay)("MuiModal",a)}(0,F.A)("MuiModal",["root","hidden","backdrop"]);var I=c(20385);let J=(0,o.Ay)("div",{name:"MuiModal",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.root,!c.open&&c.exited&&b.hidden]}})((0,p.A)(({theme:a})=>({position:"fixed",zIndex:(a.vars||a).zIndex.modal,right:0,bottom:0,top:0,left:0,variants:[{props:({ownerState:a})=>!a.open&&a.exited,style:{visibility:"hidden"}}]}))),K=(0,o.Ay)(r.A,{name:"MuiModal",slot:"Backdrop",overridesResolver:(a,b)=>b.backdrop})({zIndex:-1}),L=d.forwardRef(function(a,b){let c=(0,q.b)({name:"MuiModal",props:a}),{BackdropComponent:g=K,BackdropProps:h,classes:i,className:k,closeAfterTransition:l=!1,children:o,container:p,component:r,components:s={},componentsProps:t={},disableAutoFocus:u=!1,disableEnforceFocus:v=!1,disableEscapeKeyDown:w=!1,disablePortal:x=!1,disableRestoreFocus:y=!1,disableScrollLock:z=!1,hideBackdrop:A=!1,keepMounted:B=!1,onBackdropClick:C,onClose:D,onTransitionEnter:F,onTransitionExited:G,open:L,slotProps:M={},slots:N={},theme:O,...P}=c,Q={...c,closeAfterTransition:l,disableAutoFocus:u,disableEnforceFocus:v,disableEscapeKeyDown:w,disablePortal:x,disableRestoreFocus:y,disableScrollLock:z,hideBackdrop:A,keepMounted:B},{getRootProps:R,getBackdropProps:S,getTransitionProps:T,portalRef:U,isTopModal:V,exited:W,hasTransition:X}=E({...Q,rootRef:b}),Y={...Q,exited:W},Z=(a=>{let{open:b,exited:c,classes:d}=a;return(0,f.A)({root:["root",!b&&c&&"hidden"],backdrop:["backdrop"]},H,d)})(Y),$={};if(void 0===o.props.tabIndex&&($.tabIndex="-1"),X){let{onEnter:a,onExited:b}=T();$.onEnter=a,$.onExited=b}let _={slots:{root:s.Root,backdrop:s.Backdrop,...N},slotProps:{...t,...M}},[aa,ab]=(0,I.A)("root",{ref:b,elementType:J,externalForwardedProps:{..._,...P,component:r},getSlotProps:R,ownerState:Y,className:(0,e.A)(k,Z?.root,!Y.open&&Y.exited&&Z?.hidden)}),[ac,ad]=(0,I.A)("backdrop",{ref:h?.ref,elementType:g,externalForwardedProps:_,shouldForwardComponentProp:!0,additionalProps:h,getSlotProps:a=>S({...a,onClick:b=>{C&&C(b),a?.onClick&&a.onClick(b)}}),className:(0,e.A)(h?.className,Z?.backdrop),ownerState:Y});return B||L||X&&!W?(0,j.jsx)(n.A,{ref:U,container:p,disablePortal:x,children:(0,j.jsxs)(aa,{...ab,children:[!A&&g?(0,j.jsx)(ac,{...ad}):null,(0,j.jsx)(m,{disableEnforceFocus:v,disableAutoFocus:u,disableRestoreFocus:y,isEnabled:V,open:L,children:d.cloneElement(o,$)})]})}):null})},7103:(a,b,c)=>{c.d(b,{A:()=>d});let d=function(a){return"string"==typeof a}},7118:(a,b,c)=>{c.d(b,{A:()=>H});var d=c(38301),e=c(43249),f=c(2783),g=c(38404),h=c(94633),i=c(97896),j=c(89490);let k=c(32437).A;var l=c(26636),m=c(14758),n=c(5141),o=c(21124);function p(a,b,c){return a===b?a.firstChild:b&&b.nextElementSibling?b.nextElementSibling:c?null:a.firstChild}function q(a,b,c){return a===b?c?a.firstChild:a.lastChild:b&&b.previousElementSibling?b.previousElementSibling:c?null:a.lastChild}function r(a,b){if(void 0===b)return!0;let c=a.innerText;return void 0===c&&(c=a.textContent),0!==(c=c.trim().toLowerCase()).length&&(b.repeating?c[0]===b.keys[0]:c.startsWith(b.keys.join("")))}function s(a,b,c,d,e,f){let g=!1,h=e(a,b,!!b&&c);for(;h;){if(h===a.firstChild){if(g)return!1;g=!0}let b=!d&&(h.disabled||"true"===h.getAttribute("aria-disabled"));if(h.hasAttribute("tabindex")&&r(h,f)&&!b)return h.focus(),!0;h=e(a,h,c)}return!1}let t=d.forwardRef(function(a,b){let{actions:c,autoFocus:e=!1,autoFocusItem:f=!1,children:g,className:h,disabledItemsFocusable:t=!1,disableListWrap:u=!1,onKeyDown:v,variant:w="selectedMenu",...x}=a,y=d.useRef(null),z=d.useRef({keys:[],repeating:!0,previousKeyMatched:!0,lastTime:null});(0,m.A)(()=>{e&&y.current.focus()},[e]),d.useImperativeHandle(c,()=>({adjustStyleForScrollbar:(a,{direction:b})=>{let c=!y.current.style.width;if(a.clientHeight<y.current.clientHeight&&c){let c=`${k((0,n.A)(a))}px`;y.current.style["rtl"===b?"paddingLeft":"paddingRight"]=c,y.current.style.width=`calc(100% + ${c})`}return y.current}}),[]);let A=(0,l.A)(y,b),B=-1;d.Children.forEach(g,(a,b)=>{if(!d.isValidElement(a)){B===b&&(B+=1)>=g.length&&(B=-1);return}a.props.disabled||("selectedMenu"===w&&a.props.selected?B=b:-1===B&&(B=b)),B===b&&(a.props.disabled||a.props.muiSkipListHighlight||a.type.muiSkipListHighlight)&&(B+=1)>=g.length&&(B=-1)});let C=d.Children.map(g,(a,b)=>{if(b===B){let b={};return f&&(b.autoFocus=!0),void 0===a.props.tabIndex&&"selectedMenu"===w&&(b.tabIndex=0),d.cloneElement(a,b)}return a});return(0,o.jsx)(j.A,{role:"menu",ref:A,className:h,onKeyDown:a=>{let b=y.current,c=a.key;if(a.ctrlKey||a.metaKey||a.altKey){v&&v(a);return}let d=(0,i.A)(b).activeElement;if("ArrowDown"===c)a.preventDefault(),s(b,d,u,t,p);else if("ArrowUp"===c)a.preventDefault(),s(b,d,u,t,q);else if("Home"===c)a.preventDefault(),s(b,null,u,t,p);else if("End"===c)a.preventDefault(),s(b,null,u,t,q);else if(1===c.length){let e=z.current,f=c.toLowerCase(),g=performance.now();e.keys.length>0&&(g-e.lastTime>500?(e.keys=[],e.repeating=!0,e.previousKeyMatched=!0):e.repeating&&f!==e.keys[0]&&(e.repeating=!1)),e.lastTime=g,e.keys.push(f);let h=d&&!e.repeating&&r(d,e);e.previousKeyMatched&&(h||s(b,d,!1,t,p,e))?a.preventDefault():e.previousKeyMatched=!1}v&&v(a)},tabIndex:e?0:-1,...x,children:C})});var u=c(53151),v=c(41126),w=c(18168),x=c(6636),y=c(29565),z=c(33105);function A(a){return(0,z.Ay)("MuiMenu",a)}(0,y.A)("MuiMenu",["root","paper","list"]);var B=c(20385);let C={vertical:"top",horizontal:"right"},D={vertical:"top",horizontal:"left"},E=(0,w.Ay)(u.Ay,{shouldForwardProp:a=>(0,v.A)(a)||"classes"===a,name:"MuiMenu",slot:"Root",overridesResolver:(a,b)=>b.root})({}),F=(0,w.Ay)(u.IJ,{name:"MuiMenu",slot:"Paper",overridesResolver:(a,b)=>b.paper})({maxHeight:"calc(100% - 96px)",WebkitOverflowScrolling:"touch"}),G=(0,w.Ay)(t,{name:"MuiMenu",slot:"List",overridesResolver:(a,b)=>b.list})({outline:0}),H=d.forwardRef(function(a,b){let c=(0,x.b)({props:a,name:"MuiMenu"}),{autoFocus:i=!0,children:j,className:k,disableAutoFocusItem:l=!1,MenuListProps:m={},onClose:n,open:p,PaperProps:q={},PopoverClasses:r,transitionDuration:s="auto",TransitionProps:{onEntering:t,...u}={},variant:v="selectedMenu",slots:w={},slotProps:y={},...z}=c,H=(0,g.I)(),I={...c,autoFocus:i,disableAutoFocusItem:l,MenuListProps:m,onEntering:t,PaperProps:q,transitionDuration:s,TransitionProps:u,variant:v},J=(a=>{let{classes:b}=a;return(0,f.A)({root:["root"],paper:["paper"],list:["list"]},A,b)})(I),K=i&&!l&&p,L=d.useRef(null),M=-1;d.Children.map(j,(a,b)=>{d.isValidElement(a)&&(a.props.disabled||("selectedMenu"===v&&a.props.selected?M=b:-1===M&&(M=b)))});let N={slots:w,slotProps:{list:m,transition:u,paper:q,...y}},O=(0,h.A)({elementType:w.root,externalSlotProps:y.root,ownerState:I,className:[J.root,k]}),[P,Q]=(0,B.A)("paper",{className:J.paper,elementType:F,externalForwardedProps:N,shouldForwardComponentProp:!0,ownerState:I}),[R,S]=(0,B.A)("list",{className:(0,e.A)(J.list,m.className),elementType:G,shouldForwardComponentProp:!0,externalForwardedProps:N,getSlotProps:a=>({...a,onKeyDown:b=>{"Tab"===b.key&&(b.preventDefault(),n&&n(b,"tabKeyDown")),a.onKeyDown?.(b)}}),ownerState:I}),T="function"==typeof N.slotProps.transition?N.slotProps.transition(I):N.slotProps.transition;return(0,o.jsx)(E,{onClose:n,anchorOrigin:{vertical:"bottom",horizontal:H?"right":"left"},transformOrigin:H?C:D,slots:{root:w.root,paper:P,backdrop:w.backdrop,...w.transition&&{transition:w.transition}},slotProps:{root:O,paper:Q,backdrop:"function"==typeof y.backdrop?y.backdrop(I):y.backdrop,transition:{...T,onEntering:(...a)=>{((a,b)=>{L.current&&L.current.adjustStyleForScrollbar(a,{direction:H?"rtl":"ltr"}),t&&t(a,b)})(...a),T?.onEntering?.(...a)}}},open:p,ref:b,transitionDuration:s,ownerState:I,...z,classes:r,children:(0,o.jsx)(R,{actions:L,autoFocus:i&&(-1===M||l),autoFocusItem:K,variant:v,...S,children:j})})})},7675:(a,b,c)=>{c.d(b,{A:()=>X});var d,e=c(38301),f=c(43249),g=c(3253),h=c(2783),i=c(51939),j=c(33757),k=c(92869),l=c(97896),m=c(6638),n=c(7118),o=c(29565),p=c(33105);function q(a){return(0,p.Ay)("MuiNativeSelect",a)}let r=(0,o.A)("MuiNativeSelect",["root","select","multiple","filled","outlined","standard","disabled","icon","iconOpen","iconFilled","iconOutlined","iconStandard","nativeInput","error"]);var s=c(18168),t=c(41126),u=c(21124);let v=(0,s.Ay)("select",{name:"MuiNativeSelect"})(({theme:a})=>({MozAppearance:"none",WebkitAppearance:"none",userSelect:"none",borderRadius:0,cursor:"pointer","&:focus":{borderRadius:0},[`&.${r.disabled}`]:{cursor:"default"},"&[multiple]":{height:"auto"},"&:not([multiple]) option, &:not([multiple]) optgroup":{backgroundColor:(a.vars||a).palette.background.paper},variants:[{props:({ownerState:a})=>"filled"!==a.variant&&"outlined"!==a.variant,style:{"&&&":{paddingRight:24,minWidth:16}}},{props:{variant:"filled"},style:{"&&&":{paddingRight:32}}},{props:{variant:"outlined"},style:{borderRadius:(a.vars||a).shape.borderRadius,"&:focus":{borderRadius:(a.vars||a).shape.borderRadius},"&&&":{paddingRight:32}}}]})),w=(0,s.Ay)(v,{name:"MuiNativeSelect",slot:"Select",shouldForwardProp:t.A,overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.select,b[c.variant],c.error&&b.error,{[`&.${r.multiple}`]:b.multiple}]}})({}),x=(0,s.Ay)("svg",{name:"MuiNativeSelect"})(({theme:a})=>({position:"absolute",right:0,top:"calc(50% - .5em)",pointerEvents:"none",color:(a.vars||a).palette.action.active,[`&.${r.disabled}`]:{color:(a.vars||a).palette.action.disabled},variants:[{props:({ownerState:a})=>a.open,style:{transform:"rotate(180deg)"}},{props:{variant:"filled"},style:{right:7}},{props:{variant:"outlined"},style:{right:7}}]})),y=(0,s.Ay)(x,{name:"MuiNativeSelect",slot:"Icon",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.icon,c.variant&&b[`icon${(0,m.A)(c.variant)}`],c.open&&b.iconOpen]}})({}),z=e.forwardRef(function(a,b){let{className:c,disabled:d,error:g,IconComponent:i,inputRef:j,variant:k="standard",...l}=a,n={...a,disabled:d,variant:k,error:g},o=(a=>{let{classes:b,variant:c,disabled:d,multiple:e,open:f,error:g}=a,i={select:["select",c,d&&"disabled",e&&"multiple",g&&"error"],icon:["icon",`icon${(0,m.A)(c)}`,f&&"iconOpen",d&&"disabled"]};return(0,h.A)(i,q,b)})(n);return(0,u.jsxs)(e.Fragment,{children:[(0,u.jsx)(w,{ownerState:n,className:(0,f.A)(o.select,c),disabled:d,ref:j||b,...l}),a.multiple?null:(0,u.jsx)(y,{as:i,ownerState:n,className:o.icon})]})});var A=c(49055),B=c(12330),C=c(26636),D=c(65603);function E(a){return(0,p.Ay)("MuiSelect",a)}let F=(0,o.A)("MuiSelect",["root","select","multiple","filled","outlined","standard","disabled","focused","icon","iconOpen","iconFilled","iconOutlined","iconStandard","nativeInput","error"]),G=(0,s.Ay)(v,{name:"MuiSelect",slot:"Select",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[{[`&.${F.select}`]:b.select},{[`&.${F.select}`]:b[c.variant]},{[`&.${F.error}`]:b.error},{[`&.${F.multiple}`]:b.multiple}]}})({[`&.${F.select}`]:{height:"auto",minHeight:"1.4375em",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"}}),H=(0,s.Ay)(x,{name:"MuiSelect",slot:"Icon",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.icon,c.variant&&b[`icon${(0,m.A)(c.variant)}`],c.open&&b.iconOpen]}})({}),I=(0,s.Ay)("input",{shouldForwardProp:a=>(0,B.A)(a)&&"classes"!==a,name:"MuiSelect",slot:"NativeInput",overridesResolver:(a,b)=>b.nativeInput})({bottom:0,left:0,position:"absolute",opacity:0,pointerEvents:"none",width:"100%",boxSizing:"border-box"});function J(a,b){return"object"==typeof b&&null!==b?a===b:String(a)===String(b)}let K=e.forwardRef(function(a,b){var c;let g,i,{"aria-describedby":o,"aria-label":p,autoFocus:q,autoWidth:r,children:s,className:t,defaultOpen:v,defaultValue:w,disabled:x,displayEmpty:y,error:z=!1,IconComponent:B,inputRef:F,labelId:K,MenuProps:L={},multiple:M,name:N,onBlur:O,onChange:P,onClose:Q,onFocus:R,onOpen:S,open:T,readOnly:U,renderValue:V,required:W,SelectDisplayProps:X={},tabIndex:Y,type:Z,value:$,variant:_="standard",...aa}=a,[ab,ac]=(0,D.A)({controlled:$,default:w,name:"Select"}),[ad,ae]=(0,D.A)({controlled:T,default:v,name:"Select"}),af=e.useRef(null),ag=e.useRef(null),[ah,ai]=e.useState(null),{current:aj}=e.useRef(null!=T),[ak,al]=e.useState(),am=(0,C.A)(b,F),an=e.useCallback(a=>{ag.current=a,a&&ai(a)},[]),ao=ah?.parentNode;e.useImperativeHandle(am,()=>({focus:()=>{ag.current.focus()},node:af.current,value:ab}),[ab]),e.useEffect(()=>{v&&ad&&ah&&!aj&&(al(r?null:ao.clientWidth),ag.current.focus())},[ah,r]),e.useEffect(()=>{q&&ag.current.focus()},[q]),e.useEffect(()=>{if(!K)return;let a=(0,l.A)(ag.current).getElementById(K);if(a){let b=()=>{getSelection().isCollapsed&&ag.current.focus()};return a.addEventListener("click",b),()=>{a.removeEventListener("click",b)}}},[K]);let ap=(a,b)=>{a?S&&S(b):Q&&Q(b),aj||(al(r?null:ao.clientWidth),ae(a))},aq=e.Children.toArray(s),ar=null!==ah&&ad;delete aa["aria-invalid"];let as=[],at=!1;((0,A.lq)({value:ab})||y)&&(V?g=V(ab):at=!0);let au=aq.map(a=>{let b;if(!e.isValidElement(a))return null;if(M){if(!Array.isArray(ab))throw Error((0,j.A)(2));(b=ab.some(b=>J(b,a.props.value)))&&at&&as.push(a.props.children)}else(b=J(ab,a.props.value))&&at&&(i=a.props.children);return e.cloneElement(a,{"aria-selected":b?"true":"false",onClick:b=>{let c;if(b.currentTarget.hasAttribute("tabindex")){if(M){c=Array.isArray(ab)?ab.slice():[];let b=ab.indexOf(a.props.value);-1===b?c.push(a.props.value):c.splice(b,1)}else c=a.props.value;if(a.props.onClick&&a.props.onClick(b),ab!==c&&(ac(c),P)){let d=b.nativeEvent||b,e=new d.constructor(d.type,d);Object.defineProperty(e,"target",{writable:!0,value:{value:c,name:N}}),P(e,a)}M||ap(!1,b)}},onKeyUp:b=>{" "===b.key&&b.preventDefault(),a.props.onKeyUp&&a.props.onKeyUp(b)},role:"option",selected:b,value:void 0,"data-value":a.props.value})});at&&(g=M?0===as.length?null:as.reduce((a,b,c)=>(a.push(b),c<as.length-1&&a.push(", "),a),[]):i);let av=ak;!r&&aj&&ah&&(av=ao.clientWidth);let aw=X.id||(N?`mui-component-select-${N}`:void 0),ax={...a,variant:_,value:ab,open:ar,error:z},ay=(a=>{let{classes:b,variant:c,disabled:d,multiple:e,open:f,error:g}=a,i={select:["select",c,d&&"disabled",e&&"multiple",g&&"error"],icon:["icon",`icon${(0,m.A)(c)}`,f&&"iconOpen",d&&"disabled"],nativeInput:["nativeInput"]};return(0,h.A)(i,E,b)})(ax),az={...L.PaperProps,...L.slotProps?.paper},aA=(0,k.A)();return(0,u.jsxs)(e.Fragment,{children:[(0,u.jsx)(G,{as:"div",ref:an,tabIndex:void 0!==Y?Y:x?null:0,role:"combobox","aria-controls":ar?aA:void 0,"aria-disabled":x?"true":void 0,"aria-expanded":ar?"true":"false","aria-haspopup":"listbox","aria-label":p,"aria-labelledby":[K,aw].filter(Boolean).join(" ")||void 0,"aria-describedby":o,"aria-required":W?"true":void 0,"aria-invalid":z?"true":void 0,onKeyDown:a=>{!U&&[" ","ArrowUp","ArrowDown","Enter"].includes(a.key)&&(a.preventDefault(),ap(!0,a))},onMouseDown:x||U?null:a=>{0===a.button&&(a.preventDefault(),ag.current.focus(),ap(!0,a))},onBlur:a=>{!ar&&O&&(Object.defineProperty(a,"target",{writable:!0,value:{value:ab,name:N}}),O(a))},onFocus:R,...X,ownerState:ax,className:(0,f.A)(X.className,ay.select,t),id:aw,children:null!=(c=g)&&("string"!=typeof c||c.trim())?g:d||(d=(0,u.jsx)("span",{className:"notranslate","aria-hidden":!0,children:""}))}),(0,u.jsx)(I,{"aria-invalid":z,value:Array.isArray(ab)?ab.join(","):ab,name:N,ref:af,"aria-hidden":!0,onChange:a=>{let b=aq.find(b=>b.props.value===a.target.value);void 0!==b&&(ac(b.props.value),P&&P(a,b))},tabIndex:-1,disabled:x,className:ay.nativeInput,autoFocus:q,required:W,...aa,ownerState:ax}),(0,u.jsx)(H,{as:B,className:ay.icon,ownerState:ax}),(0,u.jsx)(n.A,{id:`menu-${N||""}`,anchorEl:ao,open:ar,onClose:a=>{ap(!1,a)},anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"},...L,slotProps:{...L.slotProps,list:{"aria-labelledby":K,role:"listbox","aria-multiselectable":M?"true":void 0,disableListWrap:!0,id:aA,...L.MenuListProps},paper:{...az,style:{minWidth:av,...null!=az?az.style:null}}},children:au})]})});var L=c(83738),M=c(49628),N=c(41606),O=c(27923),P=c(36335),Q=c(58563),R=c(6636);let S={name:"MuiSelect",overridesResolver:(a,b)=>b.root,shouldForwardProp:a=>(0,t.A)(a)&&"variant"!==a,slot:"Root"},T=(0,s.Ay)(O.A,S)(""),U=(0,s.Ay)(Q.A,S)(""),V=(0,s.Ay)(P.A,S)(""),W=e.forwardRef(function(a,b){let c=(0,R.b)({name:"MuiSelect",props:a}),{autoWidth:d=!1,children:j,classes:k={},className:l,defaultOpen:m=!1,displayEmpty:n=!1,IconComponent:o=N.A,id:p,input:q,inputProps:r,label:s,labelId:t,MenuProps:v,multiple:w=!1,native:x=!1,onClose:y,onOpen:A,open:B,renderValue:D,SelectDisplayProps:F,variant:G="outlined",...H}=c,I=(0,M.A)(),J=(0,L.A)({props:c,muiFormControl:I,states:["variant","error"]}),O=J.variant||G,P={...c,variant:O,classes:k},Q=(a=>{let{classes:b}=a,c=(0,h.A)({root:["root"]},E,b);return{...b,...c}})(P),{root:S,...W}=Q,X=q||({standard:(0,u.jsx)(T,{ownerState:P}),outlined:(0,u.jsx)(U,{label:s,ownerState:P}),filled:(0,u.jsx)(V,{ownerState:P})})[O],Y=(0,C.A)(b,(0,i.A)(X));return(0,u.jsx)(e.Fragment,{children:e.cloneElement(X,{inputComponent:x?z:K,inputProps:{children:j,error:J.error,IconComponent:o,variant:O,type:void 0,multiple:w,...x?{id:p}:{autoWidth:d,defaultOpen:m,displayEmpty:n,labelId:t,MenuProps:v,onClose:y,onOpen:A,open:B,renderValue:D,SelectDisplayProps:{id:p,...F}},...r,classes:r?(0,g.A)(W,r.classes):W,...q?q.props.inputProps:{}},...(w&&x||n)&&"outlined"===O?{notched:!0}:{},ref:Y,className:(0,f.A)(X.props.className,l,Q.root),...!q&&{variant:O},...H})})});W.muiName="Select";let X=W},10005:(a,b,c)=>{c.d(b,{A:()=>d});function d(a,b){"function"==typeof a?a(b):a&&(a.current=b)}},13763:(a,b,c)=>{c.d(b,{A:()=>g,g:()=>f});var d=c(29565),e=c(33105);function f(a){return(0,e.Ay)("MuiInputBase",a)}let g=(0,d.A)("MuiInputBase",["root","formControl","focused","disabled","adornedStart","adornedEnd","error","sizeSmall","multiline","colorSecondary","fullWidth","hiddenLabel","readOnly","input","inputSizeSmall","inputMultiline","inputTypeSearch","inputAdornedStart","inputAdornedEnd","inputHiddenLabel"])},14758:(a,b,c)=>{c.d(b,{A:()=>d});let d=c(75249).A},14992:(a,b,c)=>{c.d(b,{ck:()=>I,Sh:()=>H,Ay:()=>K,Oj:()=>G,WC:()=>F});var d,e=c(33757),f=c(38301),g=c(43249),h=c(2783),i=c(67943),j=c(24029),k=c(62383),l=c(75249),m=c(79257),n=c(21124);function o(a){return parseInt(a,10)||0}let p={shadow:{visibility:"hidden",position:"absolute",overflow:"hidden",height:0,top:0,left:0,transform:"translateZ(0)"}};function q(a){return function(a){for(let b in a)return!1;return!0}(a)||0===a.outerHeightStyle&&!a.overflowing}let r=f.forwardRef(function(a,b){let{onChange:c,maxRows:d,minRows:e=1,style:g,value:h,...r}=a,{current:s}=f.useRef(null!=h),t=f.useRef(null),u=(0,i.A)(b,t),v=f.useRef(null),w=f.useRef(null),x=f.useCallback(()=>{let b=t.current,c=w.current;if(!b||!c)return;let f=(0,j.A)(b).getComputedStyle(b);if("0px"===f.width)return{outerHeightStyle:0,overflowing:!1};c.style.width=f.width,c.value=b.value||a.placeholder||"x","\n"===c.value.slice(-1)&&(c.value+=" ");let g=f.boxSizing,h=o(f.paddingBottom)+o(f.paddingTop),i=o(f.borderBottomWidth)+o(f.borderTopWidth),k=c.scrollHeight;c.value="x";let l=c.scrollHeight,m=k;return e&&(m=Math.max(Number(e)*l,m)),d&&(m=Math.min(Number(d)*l,m)),{outerHeightStyle:(m=Math.max(m,l))+("border-box"===g?h+i:0),overflowing:1>=Math.abs(m-k)}},[d,e,a.placeholder]),y=(0,k.A)(()=>{let a=t.current,b=x();if(!a||!b||q(b))return!1;let c=b.outerHeightStyle;return null!=v.current&&v.current!==c}),z=f.useCallback(()=>{let a=t.current,b=x();if(!a||!b||q(b))return;let c=b.outerHeightStyle;v.current!==c&&(v.current=c,a.style.height=`${c}px`),a.style.overflow=b.overflowing?"hidden":""},[x]),A=f.useRef(-1);return(0,l.A)(()=>{let a,b=(0,m.A)(z),c=t?.current;if(!c)return;let d=(0,j.A)(c);return d.addEventListener("resize",b),"undefined"!=typeof ResizeObserver&&(a=new ResizeObserver(()=>{y()&&(a.unobserve(c),cancelAnimationFrame(A.current),z(),A.current=requestAnimationFrame(()=>{a.observe(c)}))})).observe(c),()=>{b.clear(),cancelAnimationFrame(A.current),d.removeEventListener("resize",b),a&&a.disconnect()}},[x,z,y]),(0,l.A)(()=>{z()}),(0,n.jsxs)(f.Fragment,{children:[(0,n.jsx)("textarea",{value:h,onChange:a=>{s||z(),c&&c(a)},ref:u,rows:e,style:g,...r}),(0,n.jsx)("textarea",{"aria-hidden":!0,className:a.className,readOnly:!0,ref:w,tabIndex:-1,style:{...p.shadow,...g,paddingTop:0,paddingBottom:0}})]})});var s=c(7103),t=c(83738),u=c(78104),v=c(49628),w=c(18168),x=c(91873),y=c(68333),z=c(6636),A=c(6638),B=c(26636),C=c(14758),D=c(49055),E=c(13763);let F=(a,b)=>{let{ownerState:c}=a;return[b.root,c.formControl&&b.formControl,c.startAdornment&&b.adornedStart,c.endAdornment&&b.adornedEnd,c.error&&b.error,"small"===c.size&&b.sizeSmall,c.multiline&&b.multiline,c.color&&b[`color${(0,A.A)(c.color)}`],c.fullWidth&&b.fullWidth,c.hiddenLabel&&b.hiddenLabel]},G=(a,b)=>{let{ownerState:c}=a;return[b.input,"small"===c.size&&b.inputSizeSmall,c.multiline&&b.inputMultiline,"search"===c.type&&b.inputTypeSearch,c.startAdornment&&b.inputAdornedStart,c.endAdornment&&b.inputAdornedEnd,c.hiddenLabel&&b.inputHiddenLabel]},H=(0,w.Ay)("div",{name:"MuiInputBase",slot:"Root",overridesResolver:F})((0,y.A)(({theme:a})=>({...a.typography.body1,color:(a.vars||a).palette.text.primary,lineHeight:"1.4375em",boxSizing:"border-box",position:"relative",cursor:"text",display:"inline-flex",alignItems:"center",[`&.${E.A.disabled}`]:{color:(a.vars||a).palette.text.disabled,cursor:"default"},variants:[{props:({ownerState:a})=>a.multiline,style:{padding:"4px 0 5px"}},{props:({ownerState:a,size:b})=>a.multiline&&"small"===b,style:{paddingTop:1}},{props:({ownerState:a})=>a.fullWidth,style:{width:"100%"}}]}))),I=(0,w.Ay)("input",{name:"MuiInputBase",slot:"Input",overridesResolver:G})((0,y.A)(({theme:a})=>{let b="light"===a.palette.mode,c={color:"currentColor",...a.vars?{opacity:a.vars.opacity.inputPlaceholder}:{opacity:b?.42:.5},transition:a.transitions.create("opacity",{duration:a.transitions.duration.shorter})},d={opacity:"0 !important"},e=a.vars?{opacity:a.vars.opacity.inputPlaceholder}:{opacity:b?.42:.5};return{font:"inherit",letterSpacing:"inherit",color:"currentColor",padding:"4px 0 5px",border:0,boxSizing:"content-box",background:"none",height:"1.4375em",margin:0,WebkitTapHighlightColor:"transparent",display:"block",minWidth:0,width:"100%","&::-webkit-input-placeholder":c,"&::-moz-placeholder":c,"&::-ms-input-placeholder":c,"&:focus":{outline:0},"&:invalid":{boxShadow:"none"},"&::-webkit-search-decoration":{WebkitAppearance:"none"},[`label[data-shrink=false] + .${E.A.formControl} &`]:{"&::-webkit-input-placeholder":d,"&::-moz-placeholder":d,"&::-ms-input-placeholder":d,"&:focus::-webkit-input-placeholder":e,"&:focus::-moz-placeholder":e,"&:focus::-ms-input-placeholder":e},[`&.${E.A.disabled}`]:{opacity:1,WebkitTextFillColor:(a.vars||a).palette.text.disabled},variants:[{props:({ownerState:a})=>!a.disableInjectingGlobalStyles,style:{animationName:"mui-auto-fill-cancel",animationDuration:"10ms","&:-webkit-autofill":{animationDuration:"5000s",animationName:"mui-auto-fill"}}},{props:{size:"small"},style:{paddingTop:1}},{props:({ownerState:a})=>a.multiline,style:{height:"auto",resize:"none",padding:0,paddingTop:0}},{props:{type:"search"},style:{MozAppearance:"textfield"}}]}})),J=(0,x.Dp)({"@keyframes mui-auto-fill":{from:{display:"block"}},"@keyframes mui-auto-fill-cancel":{from:{display:"block"}}}),K=f.forwardRef(function(a,b){let c=(0,z.b)({props:a,name:"MuiInputBase"}),{"aria-describedby":i,autoComplete:j,autoFocus:k,className:l,color:m,components:o={},componentsProps:p={},defaultValue:q,disabled:w,disableInjectingGlobalStyles:x,endAdornment:y,error:F,fullWidth:G=!1,id:K,inputComponent:L="input",inputProps:M={},inputRef:N,margin:O,maxRows:P,minRows:Q,multiline:R=!1,name:S,onBlur:T,onChange:U,onClick:V,onFocus:W,onKeyDown:X,onKeyUp:Y,placeholder:Z,readOnly:$,renderSuffix:_,rows:aa,size:ab,slotProps:ac={},slots:ad={},startAdornment:ae,type:af="text",value:ag,...ah}=c,ai=null!=M.value?M.value:ag,{current:aj}=f.useRef(null!=ai),ak=f.useRef(),al=f.useCallback(a=>{},[]),am=(0,B.A)(ak,N,M.ref,al),[an,ao]=f.useState(!1),ap=(0,v.A)(),aq=(0,t.A)({props:c,muiFormControl:ap,states:["color","disabled","error","hiddenLabel","size","required","filled"]});aq.focused=ap?ap.focused:an,f.useEffect(()=>{!ap&&w&&an&&(ao(!1),T&&T())},[ap,w,an,T]);let ar=ap&&ap.onFilled,as=ap&&ap.onEmpty,at=f.useCallback(a=>{(0,D.lq)(a)?ar&&ar():as&&as()},[ar,as]);(0,C.A)(()=>{aj&&at({value:ai})},[ai,at,aj]),f.useEffect(()=>{at(ak.current)},[]);let au=L,av=M;R&&"input"===au&&(av=aa?{type:void 0,minRows:aa,maxRows:aa,...av}:{type:void 0,maxRows:P,minRows:Q,...av},au=r),f.useEffect(()=>{ap&&ap.setAdornedStart(!!ae)},[ap,ae]);let aw={...c,color:aq.color||"primary",disabled:aq.disabled,endAdornment:y,error:aq.error,focused:aq.focused,formControl:ap,fullWidth:G,hiddenLabel:aq.hiddenLabel,multiline:R,size:aq.size,startAdornment:ae,type:af},ax=(a=>{let{classes:b,color:c,disabled:d,error:e,endAdornment:f,focused:g,formControl:i,fullWidth:j,hiddenLabel:k,multiline:l,readOnly:m,size:n,startAdornment:o,type:p}=a,q={root:["root",`color${(0,A.A)(c)}`,d&&"disabled",e&&"error",j&&"fullWidth",g&&"focused",i&&"formControl",n&&"medium"!==n&&`size${(0,A.A)(n)}`,l&&"multiline",o&&"adornedStart",f&&"adornedEnd",k&&"hiddenLabel",m&&"readOnly"],input:["input",d&&"disabled","search"===p&&"inputTypeSearch",l&&"inputMultiline","small"===n&&"inputSizeSmall",k&&"inputHiddenLabel",o&&"inputAdornedStart",f&&"inputAdornedEnd",m&&"readOnly"]};return(0,h.A)(q,E.g,b)})(aw),ay=ad.root||o.Root||H,az=ac.root||p.root||{},aA=ad.input||o.Input||I;return av={...av,...ac.input??p.input},(0,n.jsxs)(f.Fragment,{children:[!x&&"function"==typeof J&&(d||(d=(0,n.jsx)(J,{}))),(0,n.jsxs)(ay,{...az,ref:b,onClick:a=>{ak.current&&a.currentTarget===a.target&&ak.current.focus(),V&&V(a)},...ah,...!(0,s.A)(ay)&&{ownerState:{...aw,...az.ownerState}},className:(0,g.A)(ax.root,az.className,l,$&&"MuiInputBase-readOnly"),children:[ae,(0,n.jsx)(u.A.Provider,{value:null,children:(0,n.jsx)(aA,{"aria-invalid":aq.error,"aria-describedby":i,autoComplete:j,autoFocus:k,defaultValue:q,disabled:aq.disabled,id:K,onAnimationStart:a=>{at("mui-auto-fill-cancel"===a.animationName?ak.current:{value:"x"})},name:S,placeholder:Z,readOnly:$,required:aq.required,rows:aa,value:ai,onKeyDown:X,onKeyUp:Y,type:af,...av,...!(0,s.A)(aA)&&{as:au,ownerState:{...aw,...av.ownerState}},ref:am,className:(0,g.A)(ax.input,av.className,$&&"MuiInputBase-readOnly"),onBlur:a=>{T&&T(a),M.onBlur&&M.onBlur(a),ap&&ap.onBlur?ap.onBlur(a):ao(!1)},onChange:(a,...b)=>{if(!aj){let b=a.target||ak.current;if(null==b)throw Error((0,e.A)(1));at({value:b.value})}M.onChange&&M.onChange(a,...b),U&&U(a,...b)},onFocus:a=>{W&&W(a),M.onFocus&&M.onFocus(a),ap&&ap.onFocus?ap.onFocus(a):ao(!0)}})}),y,_?_({...aq,startAdornment:ae}):null]})]})})},19902:(a,b,c)=>{c.d(b,{A:()=>e});var d=c(43249);function e(a,b){if(!a)return b;if("function"==typeof a||"function"==typeof b)return c=>{let e="function"==typeof b?b(c):b,f="function"==typeof a?a({...c,...e}):a,g=(0,d.A)(c?.className,e?.className,f?.className);return{...e,...f,...!!g&&{className:g},...e?.style&&f?.style&&{style:{...e.style,...f.style}},...e?.sx&&f?.sx&&{sx:[...Array.isArray(e.sx)?e.sx:[e.sx],...Array.isArray(f.sx)?f.sx:[f.sx]]}}};let c=(0,d.A)(b?.className,a?.className);return{...b,...a,...!!c&&{className:c},...b?.style&&a?.style&&{style:{...b.style,...a.style}},...b?.sx&&a?.sx&&{sx:[...Array.isArray(b.sx)?b.sx:[b.sx],...Array.isArray(a.sx)?a.sx:[a.sx]]}}}},24029:(a,b,c)=>{c.d(b,{A:()=>e});var d=c(46757);function e(a){return(0,d.A)(a).defaultView||window}},27923:(a,b,c)=>{c.d(b,{A:()=>r});var d=c(38301),e=c(2783),f=c(3253),g=c(14992),h=c(41126),i=c(18168),j=c(68333),k=c(54716),l=c(6636),m=c(88679),n=c(21124);let o=(0,i.Ay)(g.Sh,{shouldForwardProp:a=>(0,h.A)(a)||"classes"===a,name:"MuiInput",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[...(0,g.WC)(a,b),!c.disableUnderline&&b.underline]}})((0,j.A)(({theme:a})=>{let b="light"===a.palette.mode?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)";return a.vars&&(b=`rgba(${a.vars.palette.common.onBackgroundChannel} / ${a.vars.opacity.inputUnderline})`),{position:"relative",variants:[{props:({ownerState:a})=>a.formControl,style:{"label + &":{marginTop:16}}},{props:({ownerState:a})=>!a.disableUnderline,style:{"&::after":{left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:a.transitions.create("transform",{duration:a.transitions.duration.shorter,easing:a.transitions.easing.easeOut}),pointerEvents:"none"},[`&.${m.A.focused}:after`]:{transform:"scaleX(1) translateX(0)"},[`&.${m.A.error}`]:{"&::before, &::after":{borderBottomColor:(a.vars||a).palette.error.main}},"&::before":{borderBottom:`1px solid ${b}`,left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:a.transitions.create("border-bottom-color",{duration:a.transitions.duration.shorter}),pointerEvents:"none"},[`&:hover:not(.${m.A.disabled}, .${m.A.error}):before`]:{borderBottom:`2px solid ${(a.vars||a).palette.text.primary}`,"@media (hover: none)":{borderBottom:`1px solid ${b}`}},[`&.${m.A.disabled}:before`]:{borderBottomStyle:"dotted"}}},...Object.entries(a.palette).filter((0,k.A)()).map(([b])=>({props:{color:b,disableUnderline:!1},style:{"&::after":{borderBottom:`2px solid ${(a.vars||a).palette[b].main}`}}}))]}})),p=(0,i.Ay)(g.ck,{name:"MuiInput",slot:"Input",overridesResolver:g.Oj})({}),q=d.forwardRef(function(a,b){let c=(0,l.b)({props:a,name:"MuiInput"}),{disableUnderline:d=!1,components:h={},componentsProps:i,fullWidth:j=!1,inputComponent:k="input",multiline:q=!1,slotProps:r,slots:s={},type:t="text",...u}=c,v=(a=>{let{classes:b,disableUnderline:c}=a,d=(0,e.A)({root:["root",!c&&"underline"],input:["input"]},m.B,b);return{...b,...d}})(c),w={root:{ownerState:{disableUnderline:d}}},x=r??i?(0,f.A)(r??i,w):w,y=s.root??h.Root??o,z=s.input??h.Input??p;return(0,n.jsx)(g.Ay,{slots:{root:y,input:z},slotProps:x,fullWidth:j,inputComponent:k,multiline:q,ref:b,type:t,...u,classes:v})});q.muiName="Input";let r=q},28366:(a,b,c)=>{c.d(b,{c:()=>e,q:()=>d});let d=a=>a.scrollTop;function e(a,b){let{timeout:c,easing:d,style:e={}}=a;return{duration:e.transitionDuration??("number"==typeof c?c:c[b.mode]||0),easing:e.transitionTimingFunction??("object"==typeof d?d[b.mode]:d),delay:e.transitionDelay}}},32437:(a,b,c)=>{c.d(b,{A:()=>d});function d(a=window){let b=a.document.documentElement.clientWidth;return a.innerWidth-b}},36335:(a,b,c)=>{c.d(b,{A:()=>s});var d=c(38301),e=c(3253),f=c(2783),g=c(14992),h=c(41126),i=c(18168),j=c(68333),k=c(54716),l=c(6636),m=c(37659),n=c(6638),o=c(21124);let p=(0,i.Ay)(g.Sh,{shouldForwardProp:a=>(0,h.A)(a)||"classes"===a,name:"MuiFilledInput",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[...(0,g.WC)(a,b),!c.disableUnderline&&b.underline]}})((0,j.A)(({theme:a})=>{let b="light"===a.palette.mode,c=b?"rgba(0, 0, 0, 0.06)":"rgba(255, 255, 255, 0.09)";return{position:"relative",backgroundColor:a.vars?a.vars.palette.FilledInput.bg:c,borderTopLeftRadius:(a.vars||a).shape.borderRadius,borderTopRightRadius:(a.vars||a).shape.borderRadius,transition:a.transitions.create("background-color",{duration:a.transitions.duration.shorter,easing:a.transitions.easing.easeOut}),"&:hover":{backgroundColor:a.vars?a.vars.palette.FilledInput.hoverBg:b?"rgba(0, 0, 0, 0.09)":"rgba(255, 255, 255, 0.13)","@media (hover: none)":{backgroundColor:a.vars?a.vars.palette.FilledInput.bg:c}},[`&.${m.A.focused}`]:{backgroundColor:a.vars?a.vars.palette.FilledInput.bg:c},[`&.${m.A.disabled}`]:{backgroundColor:a.vars?a.vars.palette.FilledInput.disabledBg:b?"rgba(0, 0, 0, 0.12)":"rgba(255, 255, 255, 0.12)"},variants:[{props:({ownerState:a})=>!a.disableUnderline,style:{"&::after":{left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:a.transitions.create("transform",{duration:a.transitions.duration.shorter,easing:a.transitions.easing.easeOut}),pointerEvents:"none"},[`&.${m.A.focused}:after`]:{transform:"scaleX(1) translateX(0)"},[`&.${m.A.error}`]:{"&::before, &::after":{borderBottomColor:(a.vars||a).palette.error.main}},"&::before":{borderBottom:`1px solid ${a.vars?`rgba(${a.vars.palette.common.onBackgroundChannel} / ${a.vars.opacity.inputUnderline})`:b?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)"}`,left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:a.transitions.create("border-bottom-color",{duration:a.transitions.duration.shorter}),pointerEvents:"none"},[`&:hover:not(.${m.A.disabled}, .${m.A.error}):before`]:{borderBottom:`1px solid ${(a.vars||a).palette.text.primary}`},[`&.${m.A.disabled}:before`]:{borderBottomStyle:"dotted"}}},...Object.entries(a.palette).filter((0,k.A)()).map(([b])=>({props:{disableUnderline:!1,color:b},style:{"&::after":{borderBottom:`2px solid ${(a.vars||a).palette[b]?.main}`}}})),{props:({ownerState:a})=>a.startAdornment,style:{paddingLeft:12}},{props:({ownerState:a})=>a.endAdornment,style:{paddingRight:12}},{props:({ownerState:a})=>a.multiline,style:{padding:"25px 12px 8px"}},{props:({ownerState:a,size:b})=>a.multiline&&"small"===b,style:{paddingTop:21,paddingBottom:4}},{props:({ownerState:a})=>a.multiline&&a.hiddenLabel,style:{paddingTop:16,paddingBottom:17}},{props:({ownerState:a})=>a.multiline&&a.hiddenLabel&&"small"===a.size,style:{paddingTop:8,paddingBottom:9}}]}})),q=(0,i.Ay)(g.ck,{name:"MuiFilledInput",slot:"Input",overridesResolver:g.Oj})((0,j.A)(({theme:a})=>({paddingTop:25,paddingRight:12,paddingBottom:8,paddingLeft:12,...!a.vars&&{"&:-webkit-autofill":{WebkitBoxShadow:"light"===a.palette.mode?null:"0 0 0 100px #266798 inset",WebkitTextFillColor:"light"===a.palette.mode?null:"#fff",caretColor:"light"===a.palette.mode?null:"#fff",borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit"}},...a.vars&&{"&:-webkit-autofill":{borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit"},[a.getColorSchemeSelector("dark")]:{"&:-webkit-autofill":{WebkitBoxShadow:"0 0 0 100px #266798 inset",WebkitTextFillColor:"#fff",caretColor:"#fff"}}},variants:[{props:{size:"small"},style:{paddingTop:21,paddingBottom:4}},{props:({ownerState:a})=>a.hiddenLabel,style:{paddingTop:16,paddingBottom:17}},{props:({ownerState:a})=>a.startAdornment,style:{paddingLeft:0}},{props:({ownerState:a})=>a.endAdornment,style:{paddingRight:0}},{props:({ownerState:a})=>a.hiddenLabel&&"small"===a.size,style:{paddingTop:8,paddingBottom:9}},{props:({ownerState:a})=>a.multiline,style:{paddingTop:0,paddingBottom:0,paddingLeft:0,paddingRight:0}}]}))),r=d.forwardRef(function(a,b){let c=(0,l.b)({props:a,name:"MuiFilledInput"}),{disableUnderline:d=!1,components:h={},componentsProps:i,fullWidth:j=!1,hiddenLabel:k,inputComponent:r="input",multiline:s=!1,slotProps:t,slots:u={},type:v="text",...w}=c,x={...c,disableUnderline:d,fullWidth:j,inputComponent:r,multiline:s,type:v},y=(a=>{let{classes:b,disableUnderline:c,startAdornment:d,endAdornment:e,size:g,hiddenLabel:h,multiline:i}=a,j={root:["root",!c&&"underline",d&&"adornedStart",e&&"adornedEnd","small"===g&&`size${(0,n.A)(g)}`,h&&"hiddenLabel",i&&"multiline"],input:["input"]},k=(0,f.A)(j,m.N,b);return{...b,...k}})(c),z={root:{ownerState:x},input:{ownerState:x}},A=t??i?(0,e.A)(z,t??i):z,B=u.root??h.Root??p,C=u.input??h.Input??q;return(0,o.jsx)(g.Ay,{slots:{root:B,input:C},slotProps:A,fullWidth:j,inputComponent:r,multiline:s,ref:b,type:v,...w,classes:y})});r.muiName="Input";let s=r},37659:(a,b,c)=>{c.d(b,{A:()=>g,N:()=>f});var d=c(29565),e=c(33105);function f(a){return(0,e.Ay)("MuiFilledInput",a)}let g={...c(13763).A,...(0,d.A)("MuiFilledInput",["root","underline","input","adornedStart","adornedEnd","sizeSmall","multiline","hiddenLabel"])}},37674:(a,b,c)=>{c.d(b,{A:()=>x});var d=c(38301),e=c(43249),f=c(2783),g=c(92869),h=c(18168),i=c(6636),j=c(27923),k=c(36335),l=c(58563),m=c(98256),n=c(82605),o=c(38233),p=c(7675),q=c(29565),r=c(33105);function s(a){return(0,r.Ay)("MuiTextField",a)}(0,q.A)("MuiTextField",["root"]);var t=c(20385),u=c(21124);let v={standard:j.A,filled:k.A,outlined:l.A},w=(0,h.Ay)(n.A,{name:"MuiTextField",slot:"Root",overridesResolver:(a,b)=>b.root})({}),x=d.forwardRef(function(a,b){let c=(0,i.b)({props:a,name:"MuiTextField"}),{autoComplete:d,autoFocus:h=!1,children:j,className:k,color:l="primary",defaultValue:n,disabled:q=!1,error:r=!1,FormHelperTextProps:x,fullWidth:y=!1,helperText:z,id:A,InputLabelProps:B,inputProps:C,InputProps:D,inputRef:E,label:F,maxRows:G,minRows:H,multiline:I=!1,name:J,onBlur:K,onChange:L,onFocus:M,placeholder:N,required:O=!1,rows:P,select:Q=!1,SelectProps:R,slots:S={},slotProps:T={},type:U,value:V,variant:W="outlined",...X}=c,Y={...c,autoFocus:h,color:l,disabled:q,error:r,fullWidth:y,multiline:I,required:O,select:Q,variant:W},Z=(a=>{let{classes:b}=a;return(0,f.A)({root:["root"]},s,b)})(Y),$=(0,g.A)(A),_=z&&$?`${$}-helper-text`:void 0,aa=F&&$?`${$}-label`:void 0,ab=v[W],ac={slots:S,slotProps:{input:D,inputLabel:B,htmlInput:C,formHelperText:x,select:R,...T}},ad={},ae=ac.slotProps.inputLabel;"outlined"===W&&(ae&&void 0!==ae.shrink&&(ad.notched=ae.shrink),ad.label=F),Q&&(R&&R.native||(ad.id=void 0),ad["aria-describedby"]=void 0);let[af,ag]=(0,t.A)("root",{elementType:w,shouldForwardComponentProp:!0,externalForwardedProps:{...ac,...X},ownerState:Y,className:(0,e.A)(Z.root,k),ref:b,additionalProps:{disabled:q,error:r,fullWidth:y,required:O,color:l,variant:W}}),[ah,ai]=(0,t.A)("input",{elementType:ab,externalForwardedProps:ac,additionalProps:ad,ownerState:Y}),[aj,ak]=(0,t.A)("inputLabel",{elementType:m.A,externalForwardedProps:ac,ownerState:Y}),[al,am]=(0,t.A)("htmlInput",{elementType:"input",externalForwardedProps:ac,ownerState:Y}),[an,ao]=(0,t.A)("formHelperText",{elementType:o.A,externalForwardedProps:ac,ownerState:Y}),[ap,aq]=(0,t.A)("select",{elementType:p.A,externalForwardedProps:ac,ownerState:Y}),ar=(0,u.jsx)(ah,{"aria-describedby":_,autoComplete:d,autoFocus:h,defaultValue:n,fullWidth:y,multiline:I,name:J,rows:P,maxRows:G,minRows:H,type:U,value:V,id:$,inputRef:E,onBlur:K,onChange:L,onFocus:M,placeholder:N,inputProps:am,slots:{input:S.htmlInput?al:void 0},...ai});return(0,u.jsxs)(af,{...ag,children:[null!=F&&""!==F&&(0,u.jsx)(aj,{htmlFor:$,id:aa,...ak,children:F}),Q?(0,u.jsx)(ap,{"aria-describedby":_,id:$,labelId:aa,value:V,input:ar,...aq,children:j}):ar,z&&(0,u.jsx)(an,{id:_,...ao,children:z})]})})},38233:(a,b,c)=>{c.d(b,{A:()=>t});var d,e=c(38301),f=c(43249),g=c(2783),h=c(83738),i=c(49628),j=c(18168),k=c(68333),l=c(6636),m=c(6638),n=c(29565),o=c(33105);function p(a){return(0,o.Ay)("MuiFormHelperText",a)}let q=(0,n.A)("MuiFormHelperText",["root","error","disabled","sizeSmall","sizeMedium","contained","focused","filled","required"]);var r=c(21124);let s=(0,j.Ay)("p",{name:"MuiFormHelperText",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.root,c.size&&b[`size${(0,m.A)(c.size)}`],c.contained&&b.contained,c.filled&&b.filled]}})((0,k.A)(({theme:a})=>({color:(a.vars||a).palette.text.secondary,...a.typography.caption,textAlign:"left",marginTop:3,marginRight:0,marginBottom:0,marginLeft:0,[`&.${q.disabled}`]:{color:(a.vars||a).palette.text.disabled},[`&.${q.error}`]:{color:(a.vars||a).palette.error.main},variants:[{props:{size:"small"},style:{marginTop:4}},{props:({ownerState:a})=>a.contained,style:{marginLeft:14,marginRight:14}}]}))),t=e.forwardRef(function(a,b){let c=(0,l.b)({props:a,name:"MuiFormHelperText"}),{children:e,className:j,component:k="p",disabled:n,error:o,filled:q,focused:t,margin:u,required:v,variant:w,...x}=c,y=(0,i.A)(),z=(0,h.A)({props:c,muiFormControl:y,states:["variant","size","disabled","error","filled","focused","required"]}),A={...c,component:k,contained:"filled"===z.variant||"outlined"===z.variant,variant:z.variant,size:z.size,disabled:z.disabled,error:z.error,filled:z.filled,focused:z.focused,required:z.required};delete A.ownerState;let B=(a=>{let{classes:b,contained:c,size:d,disabled:e,error:f,filled:h,focused:i,required:j}=a,k={root:["root",e&&"disabled",f&&"error",d&&`size${(0,m.A)(d)}`,c&&"contained",i&&"focused",h&&"filled",j&&"required"]};return(0,g.A)(k,p,b)})(A);return(0,r.jsx)(s,{as:k,className:(0,f.A)(B.root,j),ref:b,...x,ownerState:A,children:" "===e?d||(d=(0,r.jsx)("span",{className:"notranslate","aria-hidden":!0,children:""})):e})})},38404:(a,b,c)=>{c.d(b,{I:()=>f});var d=c(38301);c(21124);let e=d.createContext(),f=()=>d.useContext(e)??!1},41606:(a,b,c)=>{c.d(b,{A:()=>f}),c(38301);var d=c(27080),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M7 10l5 5 5-5z"}),"ArrowDropDown")},41893:(a,b,c)=>{c.d(b,{A:()=>y});var d=c(38301),e=c(43249),f=c(2783),g=c(37489),h=c(27080),i=c(21124);let j=(0,h.A)((0,i.jsx)("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"}),"Cancel");var k=c(26636),l=c(6638),m=c(14328),n=c(18168),o=c(68333),p=c(54716),q=c(6636),r=c(29565),s=c(33105);function t(a){return(0,s.Ay)("MuiChip",a)}let u=(0,r.A)("MuiChip",["root","sizeSmall","sizeMedium","colorDefault","colorError","colorInfo","colorPrimary","colorSecondary","colorSuccess","colorWarning","disabled","clickable","clickableColorPrimary","clickableColorSecondary","deletable","deletableColorPrimary","deletableColorSecondary","outlined","filled","outlinedPrimary","outlinedSecondary","filledPrimary","filledSecondary","avatar","avatarSmall","avatarMedium","avatarColorPrimary","avatarColorSecondary","icon","iconSmall","iconMedium","iconColorPrimary","iconColorSecondary","label","labelSmall","labelMedium","deleteIcon","deleteIconSmall","deleteIconMedium","deleteIconColorPrimary","deleteIconColorSecondary","deleteIconOutlinedColorPrimary","deleteIconOutlinedColorSecondary","deleteIconFilledColorPrimary","deleteIconFilledColorSecondary","focusVisible"]),v=(0,n.Ay)("div",{name:"MuiChip",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a,{color:d,iconColor:e,clickable:f,onDelete:g,size:h,variant:i}=c;return[{[`& .${u.avatar}`]:b.avatar},{[`& .${u.avatar}`]:b[`avatar${(0,l.A)(h)}`]},{[`& .${u.avatar}`]:b[`avatarColor${(0,l.A)(d)}`]},{[`& .${u.icon}`]:b.icon},{[`& .${u.icon}`]:b[`icon${(0,l.A)(h)}`]},{[`& .${u.icon}`]:b[`iconColor${(0,l.A)(e)}`]},{[`& .${u.deleteIcon}`]:b.deleteIcon},{[`& .${u.deleteIcon}`]:b[`deleteIcon${(0,l.A)(h)}`]},{[`& .${u.deleteIcon}`]:b[`deleteIconColor${(0,l.A)(d)}`]},{[`& .${u.deleteIcon}`]:b[`deleteIcon${(0,l.A)(i)}Color${(0,l.A)(d)}`]},b.root,b[`size${(0,l.A)(h)}`],b[`color${(0,l.A)(d)}`],f&&b.clickable,f&&"default"!==d&&b[`clickableColor${(0,l.A)(d)})`],g&&b.deletable,g&&"default"!==d&&b[`deletableColor${(0,l.A)(d)}`],b[i],b[`${i}${(0,l.A)(d)}`]]}})((0,o.A)(({theme:a})=>{let b="light"===a.palette.mode?a.palette.grey[700]:a.palette.grey[300];return{maxWidth:"100%",fontFamily:a.typography.fontFamily,fontSize:a.typography.pxToRem(13),display:"inline-flex",alignItems:"center",justifyContent:"center",height:32,color:(a.vars||a).palette.text.primary,backgroundColor:(a.vars||a).palette.action.selected,borderRadius:16,whiteSpace:"nowrap",transition:a.transitions.create(["background-color","box-shadow"]),cursor:"unset",outline:0,textDecoration:"none",border:0,padding:0,verticalAlign:"middle",boxSizing:"border-box",[`&.${u.disabled}`]:{opacity:(a.vars||a).palette.action.disabledOpacity,pointerEvents:"none"},[`& .${u.avatar}`]:{marginLeft:5,marginRight:-6,width:24,height:24,color:a.vars?a.vars.palette.Chip.defaultAvatarColor:b,fontSize:a.typography.pxToRem(12)},[`& .${u.avatarColorPrimary}`]:{color:(a.vars||a).palette.primary.contrastText,backgroundColor:(a.vars||a).palette.primary.dark},[`& .${u.avatarColorSecondary}`]:{color:(a.vars||a).palette.secondary.contrastText,backgroundColor:(a.vars||a).palette.secondary.dark},[`& .${u.avatarSmall}`]:{marginLeft:4,marginRight:-4,width:18,height:18,fontSize:a.typography.pxToRem(10)},[`& .${u.icon}`]:{marginLeft:5,marginRight:-6},[`& .${u.deleteIcon}`]:{WebkitTapHighlightColor:"transparent",color:a.vars?`rgba(${a.vars.palette.text.primaryChannel} / 0.26)`:(0,g.X4)(a.palette.text.primary,.26),fontSize:22,cursor:"pointer",margin:"0 5px 0 -6px","&:hover":{color:a.vars?`rgba(${a.vars.palette.text.primaryChannel} / 0.4)`:(0,g.X4)(a.palette.text.primary,.4)}},variants:[{props:{size:"small"},style:{height:24,[`& .${u.icon}`]:{fontSize:18,marginLeft:4,marginRight:-4},[`& .${u.deleteIcon}`]:{fontSize:16,marginRight:4,marginLeft:-4}}},...Object.entries(a.palette).filter((0,p.A)(["contrastText"])).map(([b])=>({props:{color:b},style:{backgroundColor:(a.vars||a).palette[b].main,color:(a.vars||a).palette[b].contrastText,[`& .${u.deleteIcon}`]:{color:a.vars?`rgba(${a.vars.palette[b].contrastTextChannel} / 0.7)`:(0,g.X4)(a.palette[b].contrastText,.7),"&:hover, &:active":{color:(a.vars||a).palette[b].contrastText}}}})),{props:a=>a.iconColor===a.color,style:{[`& .${u.icon}`]:{color:a.vars?a.vars.palette.Chip.defaultIconColor:b}}},{props:a=>a.iconColor===a.color&&"default"!==a.color,style:{[`& .${u.icon}`]:{color:"inherit"}}},{props:{onDelete:!0},style:{[`&.${u.focusVisible}`]:{backgroundColor:a.vars?`rgba(${a.vars.palette.action.selectedChannel} / calc(${a.vars.palette.action.selectedOpacity} + ${a.vars.palette.action.focusOpacity}))`:(0,g.X4)(a.palette.action.selected,a.palette.action.selectedOpacity+a.palette.action.focusOpacity)}}},...Object.entries(a.palette).filter((0,p.A)(["dark"])).map(([b])=>({props:{color:b,onDelete:!0},style:{[`&.${u.focusVisible}`]:{background:(a.vars||a).palette[b].dark}}})),{props:{clickable:!0},style:{userSelect:"none",WebkitTapHighlightColor:"transparent",cursor:"pointer","&:hover":{backgroundColor:a.vars?`rgba(${a.vars.palette.action.selectedChannel} / calc(${a.vars.palette.action.selectedOpacity} + ${a.vars.palette.action.hoverOpacity}))`:(0,g.X4)(a.palette.action.selected,a.palette.action.selectedOpacity+a.palette.action.hoverOpacity)},[`&.${u.focusVisible}`]:{backgroundColor:a.vars?`rgba(${a.vars.palette.action.selectedChannel} / calc(${a.vars.palette.action.selectedOpacity} + ${a.vars.palette.action.focusOpacity}))`:(0,g.X4)(a.palette.action.selected,a.palette.action.selectedOpacity+a.palette.action.focusOpacity)},"&:active":{boxShadow:(a.vars||a).shadows[1]}}},...Object.entries(a.palette).filter((0,p.A)(["dark"])).map(([b])=>({props:{color:b,clickable:!0},style:{[`&:hover, &.${u.focusVisible}`]:{backgroundColor:(a.vars||a).palette[b].dark}}})),{props:{variant:"outlined"},style:{backgroundColor:"transparent",border:a.vars?`1px solid ${a.vars.palette.Chip.defaultBorder}`:`1px solid ${"light"===a.palette.mode?a.palette.grey[400]:a.palette.grey[700]}`,[`&.${u.clickable}:hover`]:{backgroundColor:(a.vars||a).palette.action.hover},[`&.${u.focusVisible}`]:{backgroundColor:(a.vars||a).palette.action.focus},[`& .${u.avatar}`]:{marginLeft:4},[`& .${u.avatarSmall}`]:{marginLeft:2},[`& .${u.icon}`]:{marginLeft:4},[`& .${u.iconSmall}`]:{marginLeft:2},[`& .${u.deleteIcon}`]:{marginRight:5},[`& .${u.deleteIconSmall}`]:{marginRight:3}}},...Object.entries(a.palette).filter((0,p.A)()).map(([b])=>({props:{variant:"outlined",color:b},style:{color:(a.vars||a).palette[b].main,border:`1px solid ${a.vars?`rgba(${a.vars.palette[b].mainChannel} / 0.7)`:(0,g.X4)(a.palette[b].main,.7)}`,[`&.${u.clickable}:hover`]:{backgroundColor:a.vars?`rgba(${a.vars.palette[b].mainChannel} / ${a.vars.palette.action.hoverOpacity})`:(0,g.X4)(a.palette[b].main,a.palette.action.hoverOpacity)},[`&.${u.focusVisible}`]:{backgroundColor:a.vars?`rgba(${a.vars.palette[b].mainChannel} / ${a.vars.palette.action.focusOpacity})`:(0,g.X4)(a.palette[b].main,a.palette.action.focusOpacity)},[`& .${u.deleteIcon}`]:{color:a.vars?`rgba(${a.vars.palette[b].mainChannel} / 0.7)`:(0,g.X4)(a.palette[b].main,.7),"&:hover, &:active":{color:(a.vars||a).palette[b].main}}}}))]}})),w=(0,n.Ay)("span",{name:"MuiChip",slot:"Label",overridesResolver:(a,b)=>{let{ownerState:c}=a,{size:d}=c;return[b.label,b[`label${(0,l.A)(d)}`]]}})({overflow:"hidden",textOverflow:"ellipsis",paddingLeft:12,paddingRight:12,whiteSpace:"nowrap",variants:[{props:{variant:"outlined"},style:{paddingLeft:11,paddingRight:11}},{props:{size:"small"},style:{paddingLeft:8,paddingRight:8}},{props:{size:"small",variant:"outlined"},style:{paddingLeft:7,paddingRight:7}}]});function x(a){return"Backspace"===a.key||"Delete"===a.key}let y=d.forwardRef(function(a,b){let c=(0,q.b)({props:a,name:"MuiChip"}),{avatar:g,className:h,clickable:n,color:o="default",component:p,deleteIcon:r,disabled:s=!1,icon:u,label:y,onClick:z,onDelete:A,onKeyDown:B,onKeyUp:C,size:D="medium",variant:E="filled",tabIndex:F,skipFocusWhenDisabled:G=!1,...H}=c,I=d.useRef(null),J=(0,k.A)(I,b),K=a=>{a.stopPropagation(),A&&A(a)},L=!1!==n&&!!z||n,M=L||A?m.A:p||"div",N={...c,component:M,disabled:s,size:D,color:o,iconColor:d.isValidElement(u)&&u.props.color||o,onDelete:!!A,clickable:L,variant:E},O=(a=>{let{classes:b,disabled:c,size:d,color:e,iconColor:g,onDelete:h,clickable:i,variant:j}=a,k={root:["root",j,c&&"disabled",`size${(0,l.A)(d)}`,`color${(0,l.A)(e)}`,i&&"clickable",i&&`clickableColor${(0,l.A)(e)}`,h&&"deletable",h&&`deletableColor${(0,l.A)(e)}`,`${j}${(0,l.A)(e)}`],label:["label",`label${(0,l.A)(d)}`],avatar:["avatar",`avatar${(0,l.A)(d)}`,`avatarColor${(0,l.A)(e)}`],icon:["icon",`icon${(0,l.A)(d)}`,`iconColor${(0,l.A)(g)}`],deleteIcon:["deleteIcon",`deleteIcon${(0,l.A)(d)}`,`deleteIconColor${(0,l.A)(e)}`,`deleteIcon${(0,l.A)(j)}Color${(0,l.A)(e)}`]};return(0,f.A)(k,t,b)})(N),P=M===m.A?{component:p||"div",focusVisibleClassName:O.focusVisible,...A&&{disableRipple:!0}}:{},Q=null;A&&(Q=r&&d.isValidElement(r)?d.cloneElement(r,{className:(0,e.A)(r.props.className,O.deleteIcon),onClick:K}):(0,i.jsx)(j,{className:(0,e.A)(O.deleteIcon),onClick:K}));let R=null;g&&d.isValidElement(g)&&(R=d.cloneElement(g,{className:(0,e.A)(O.avatar,g.props.className)}));let S=null;return u&&d.isValidElement(u)&&(S=d.cloneElement(u,{className:(0,e.A)(O.icon,u.props.className)})),(0,i.jsxs)(v,{as:M,className:(0,e.A)(O.root,h),disabled:!!L&&!!s||void 0,onClick:z,onKeyDown:a=>{a.currentTarget===a.target&&x(a)&&a.preventDefault(),B&&B(a)},onKeyUp:a=>{a.currentTarget===a.target&&A&&x(a)&&A(a),C&&C(a)},ref:J,tabIndex:G&&s?-1:F,ownerState:N,...P,...H,children:[R||S,(0,i.jsx)(w,{className:(0,e.A)(O.label),ownerState:N,children:y}),Q]})})},46757:(a,b,c)=>{c.d(b,{A:()=>d});function d(a){return a&&a.ownerDocument||document}},49055:(a,b,c)=>{function d(a){return null!=a&&!(Array.isArray(a)&&0===a.length)}function e(a,b=!1){return a&&(d(a.value)&&""!==a.value||b&&d(a.defaultValue)&&""!==a.defaultValue)}function f(a){return a.startAdornment}c.d(b,{gr:()=>f,lq:()=>e})},49565:(a,b,c)=>{c.d(b,{A:()=>l});var d=c(38301),e=c(65823),f=c(51939),g=c(60839),h=c(28366),i=c(26636),j=c(21124);let k={entering:{opacity:1},entered:{opacity:1}},l=d.forwardRef(function(a,b){let c=(0,g.A)(),l={enter:c.transitions.duration.enteringScreen,exit:c.transitions.duration.leavingScreen},{addEndListener:m,appear:n=!0,children:o,easing:p,in:q,onEnter:r,onEntered:s,onEntering:t,onExit:u,onExited:v,onExiting:w,style:x,timeout:y=l,TransitionComponent:z=e.Ay,...A}=a,B=d.useRef(null),C=(0,i.A)(B,(0,f.A)(o),b),D=a=>b=>{if(a){let c=B.current;void 0===b?a(c):a(c,b)}},E=D(t),F=D((a,b)=>{(0,h.q)(a);let d=(0,h.c)({style:x,timeout:y,easing:p},{mode:"enter"});a.style.webkitTransition=c.transitions.create("opacity",d),a.style.transition=c.transitions.create("opacity",d),r&&r(a,b)}),G=D(s),H=D(w),I=D(a=>{let b=(0,h.c)({style:x,timeout:y,easing:p},{mode:"exit"});a.style.webkitTransition=c.transitions.create("opacity",b),a.style.transition=c.transitions.create("opacity",b),u&&u(a)}),J=D(v);return(0,j.jsx)(z,{appear:n,in:q,nodeRef:B,onEnter:F,onEntered:G,onEntering:E,onExit:I,onExited:J,onExiting:H,addEndListener:a=>{m&&m(B.current,a)},timeout:y,...A,children:(a,{ownerState:b,...c})=>d.cloneElement(o,{style:{opacity:0,visibility:"exited"!==a||q?void 0:"hidden",...k[a],...x,...o.props.style},ref:C,...c})})})},49628:(a,b,c)=>{c.d(b,{A:()=>f});var d=c(38301),e=c(78104);function f(){return d.useContext(e.A)}},51939:(a,b,c)=>{c.d(b,{A:()=>e});var d=c(38301);function e(a){return parseInt(d.version,10)>=19?a?.props?.ref||null:a?.ref||null}},53151:(a,b,c)=>{c.d(b,{IJ:()=>A,Ay:()=>B});var d=c(38301),e=c(43249),f=c(2783),g=c(7103),h=c(18168),i=c(6636),j=c(74907),k=c(97896),l=c(5141),m=c(4927),n=c(6537),o=c(54573),p=c(29565),q=c(33105);function r(a){return(0,q.Ay)("MuiPopover",a)}(0,p.A)("MuiPopover",["root","paper"]);var s=c(20385),t=c(19902),u=c(21124);function v(a,b){let c=0;return"number"==typeof b?c=b:"center"===b?c=a.height/2:"bottom"===b&&(c=a.height),c}function w(a,b){let c=0;return"number"==typeof b?c=b:"center"===b?c=a.width/2:"right"===b&&(c=a.width),c}function x(a){return[a.horizontal,a.vertical].map(a=>"number"==typeof a?`${a}px`:a).join(" ")}function y(a){return"function"==typeof a?a():a}let z=(0,h.Ay)(n.A,{name:"MuiPopover",slot:"Root",overridesResolver:(a,b)=>b.root})({}),A=(0,h.Ay)(o.A,{name:"MuiPopover",slot:"Paper",overridesResolver:(a,b)=>b.paper})({position:"absolute",overflowY:"auto",overflowX:"hidden",minWidth:16,minHeight:16,maxWidth:"calc(100% - 32px)",maxHeight:"calc(100% - 32px)",outline:0}),B=d.forwardRef(function(a,b){let c=(0,i.b)({props:a,name:"MuiPopover"}),{action:h,anchorEl:n,anchorOrigin:o={vertical:"top",horizontal:"left"},anchorPosition:p,anchorReference:q="anchorEl",children:B,className:C,container:D,elevation:E=8,marginThreshold:F=16,open:G,PaperProps:H={},slots:I={},slotProps:J={},transformOrigin:K={vertical:"top",horizontal:"left"},TransitionComponent:L,transitionDuration:M="auto",TransitionProps:N={},disableScrollLock:O=!1,...P}=c,Q=d.useRef(),R={...c,anchorOrigin:o,anchorReference:q,elevation:E,marginThreshold:F,transformOrigin:K,TransitionComponent:L,transitionDuration:M,TransitionProps:N},S=(a=>{let{classes:b}=a;return(0,f.A)({root:["root"],paper:["paper"]},r,b)})(R),T=d.useCallback(()=>{if("anchorPosition"===q)return p;let a=y(n),b=(a&&1===a.nodeType?a:(0,k.A)(Q.current).body).getBoundingClientRect();return{top:b.top+v(b,o.vertical),left:b.left+w(b,o.horizontal)}},[n,o.horizontal,o.vertical,p,q]),U=d.useCallback(a=>({vertical:v(a,K.vertical),horizontal:w(a,K.horizontal)}),[K.horizontal,K.vertical]),V=d.useCallback(a=>{let b={width:a.offsetWidth,height:a.offsetHeight},c=U(b);if("none"===q)return{top:null,left:null,transformOrigin:x(c)};let d=T(),e=d.top-c.vertical,f=d.left-c.horizontal,g=e+b.height,h=f+b.width,i=(0,l.A)(y(n)),j=i.innerHeight-F,k=i.innerWidth-F;if(null!==F&&e<F){let a=e-F;e-=a,c.vertical+=a}else if(null!==F&&g>j){let a=g-j;e-=a,c.vertical+=a}if(null!==F&&f<F){let a=f-F;f-=a,c.horizontal+=a}else if(h>k){let a=h-k;f-=a,c.horizontal+=a}return{top:`${Math.round(e)}px`,left:`${Math.round(f)}px`,transformOrigin:x(c)}},[n,q,T,U,F]),[W,X]=d.useState(G),Y=d.useCallback(()=>{let a=Q.current;if(!a)return;let b=V(a);null!==b.top&&a.style.setProperty("top",b.top),null!==b.left&&(a.style.left=b.left),a.style.transformOrigin=b.transformOrigin,X(!0)},[V]);d.useEffect(()=>(O&&window.addEventListener("scroll",Y),()=>window.removeEventListener("scroll",Y)),[n,O,Y]),d.useEffect(()=>{G&&Y()}),d.useImperativeHandle(h,()=>G?{updatePosition:()=>{Y()}}:null,[G,Y]),d.useEffect(()=>{if(!G)return;let a=(0,j.A)(()=>{Y()}),b=(0,l.A)(y(n));return b.addEventListener("resize",a),()=>{a.clear(),b.removeEventListener("resize",a)}},[n,G,Y]);let Z=M,$={slots:{transition:L,...I},slotProps:{transition:N,paper:H,...J}},[_,aa]=(0,s.A)("transition",{elementType:m.A,externalForwardedProps:$,ownerState:R,getSlotProps:a=>({...a,onEntering:(b,c)=>{a.onEntering?.(b,c),Y()},onExited:b=>{a.onExited?.(b),X(!1)}}),additionalProps:{appear:!0,in:G}});"auto"!==M||_.muiSupportAuto||(Z=void 0);let ab=D||(n?(0,k.A)(y(n)).body:void 0),[ac,{slots:ad,slotProps:ae,...af}]=(0,s.A)("root",{ref:b,elementType:z,externalForwardedProps:{...$,...P},shouldForwardComponentProp:!0,additionalProps:{slots:{backdrop:I.backdrop},slotProps:{backdrop:(0,t.A)("function"==typeof J.backdrop?J.backdrop(R):J.backdrop,{invisible:!0})},container:ab,open:G},ownerState:R,className:(0,e.A)(S.root,C)}),[ag,ah]=(0,s.A)("paper",{ref:Q,className:S.paper,elementType:A,externalForwardedProps:$,shouldForwardComponentProp:!0,additionalProps:{elevation:E,style:W?void 0:{opacity:0}},ownerState:R});return(0,u.jsx)(ac,{...af,...!(0,g.A)(ac)&&{slots:ad,slotProps:ae,disableScrollLock:O},children:(0,u.jsx)(_,{...aa,timeout:Z,children:(0,u.jsx)(ag,{...ah,children:B})})})})},55470:(a,b,c)=>{c.d(b,{A:()=>d});let d=c(38301).createContext({})},55973:(a,b,c)=>{c.d(b,{A:()=>e});var d=c(38301);function e({controlled:a,default:b,name:c,state:e="value"}){let{current:f}=d.useRef(void 0!==a),[g,h]=d.useState(b),i=d.useCallback(a=>{f||h(a)},[]);return[f?a:g,i]}},58563:(a,b,c)=>{c.d(b,{A:()=>x});var d,e=c(38301),f=c(2783),g=c(41126),h=c(18168),i=c(68333),j=c(21124);let k=(0,h.Ay)("fieldset",{name:"MuiNotchedOutlined",shouldForwardProp:g.A})({textAlign:"left",position:"absolute",bottom:0,right:0,top:-5,left:0,margin:0,padding:"0 8px",pointerEvents:"none",borderRadius:"inherit",borderStyle:"solid",borderWidth:1,overflow:"hidden",minWidth:"0%"}),l=(0,h.Ay)("legend",{name:"MuiNotchedOutlined",shouldForwardProp:g.A})((0,i.A)(({theme:a})=>({float:"unset",width:"auto",overflow:"hidden",variants:[{props:({ownerState:a})=>!a.withLabel,style:{padding:0,lineHeight:"11px",transition:a.transitions.create("width",{duration:150,easing:a.transitions.easing.easeOut})}},{props:({ownerState:a})=>a.withLabel,style:{display:"block",padding:0,height:11,fontSize:"0.75em",visibility:"hidden",maxWidth:.01,transition:a.transitions.create("max-width",{duration:50,easing:a.transitions.easing.easeOut}),whiteSpace:"nowrap","& > span":{paddingLeft:5,paddingRight:5,display:"inline-block",opacity:0,visibility:"visible"}}},{props:({ownerState:a})=>a.withLabel&&a.notched,style:{maxWidth:"100%",transition:a.transitions.create("max-width",{duration:100,easing:a.transitions.easing.easeOut,delay:50})}}]})));var m=c(49628),n=c(83738),o=c(54716),p=c(6636),q=c(91003),r=c(14992),s=c(20385);let t=(0,h.Ay)(r.Sh,{shouldForwardProp:a=>(0,g.A)(a)||"classes"===a,name:"MuiOutlinedInput",slot:"Root",overridesResolver:r.WC})((0,i.A)(({theme:a})=>{let b="light"===a.palette.mode?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)";return{position:"relative",borderRadius:(a.vars||a).shape.borderRadius,[`&:hover .${q.A.notchedOutline}`]:{borderColor:(a.vars||a).palette.text.primary},"@media (hover: none)":{[`&:hover .${q.A.notchedOutline}`]:{borderColor:a.vars?`rgba(${a.vars.palette.common.onBackgroundChannel} / 0.23)`:b}},[`&.${q.A.focused} .${q.A.notchedOutline}`]:{borderWidth:2},variants:[...Object.entries(a.palette).filter((0,o.A)()).map(([b])=>({props:{color:b},style:{[`&.${q.A.focused} .${q.A.notchedOutline}`]:{borderColor:(a.vars||a).palette[b].main}}})),{props:{},style:{[`&.${q.A.error} .${q.A.notchedOutline}`]:{borderColor:(a.vars||a).palette.error.main},[`&.${q.A.disabled} .${q.A.notchedOutline}`]:{borderColor:(a.vars||a).palette.action.disabled}}},{props:({ownerState:a})=>a.startAdornment,style:{paddingLeft:14}},{props:({ownerState:a})=>a.endAdornment,style:{paddingRight:14}},{props:({ownerState:a})=>a.multiline,style:{padding:"16.5px 14px"}},{props:({ownerState:a,size:b})=>a.multiline&&"small"===b,style:{padding:"8.5px 14px"}}]}})),u=(0,h.Ay)(function(a){let{children:b,classes:c,className:e,label:f,notched:g,...h}=a,i=null!=f&&""!==f,m={...a,notched:g,withLabel:i};return(0,j.jsx)(k,{"aria-hidden":!0,className:e,ownerState:m,...h,children:(0,j.jsx)(l,{ownerState:m,children:i?(0,j.jsx)("span",{children:f}):d||(d=(0,j.jsx)("span",{className:"notranslate","aria-hidden":!0,children:""}))})})},{name:"MuiOutlinedInput",slot:"NotchedOutline",overridesResolver:(a,b)=>b.notchedOutline})((0,i.A)(({theme:a})=>{let b="light"===a.palette.mode?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)";return{borderColor:a.vars?`rgba(${a.vars.palette.common.onBackgroundChannel} / 0.23)`:b}})),v=(0,h.Ay)(r.ck,{name:"MuiOutlinedInput",slot:"Input",overridesResolver:r.Oj})((0,i.A)(({theme:a})=>({padding:"16.5px 14px",...!a.vars&&{"&:-webkit-autofill":{WebkitBoxShadow:"light"===a.palette.mode?null:"0 0 0 100px #266798 inset",WebkitTextFillColor:"light"===a.palette.mode?null:"#fff",caretColor:"light"===a.palette.mode?null:"#fff",borderRadius:"inherit"}},...a.vars&&{"&:-webkit-autofill":{borderRadius:"inherit"},[a.getColorSchemeSelector("dark")]:{"&:-webkit-autofill":{WebkitBoxShadow:"0 0 0 100px #266798 inset",WebkitTextFillColor:"#fff",caretColor:"#fff"}}},variants:[{props:{size:"small"},style:{padding:"8.5px 14px"}},{props:({ownerState:a})=>a.multiline,style:{padding:0}},{props:({ownerState:a})=>a.startAdornment,style:{paddingLeft:0}},{props:({ownerState:a})=>a.endAdornment,style:{paddingRight:0}}]}))),w=e.forwardRef(function(a,b){let c=(0,p.b)({props:a,name:"MuiOutlinedInput"}),{components:d={},fullWidth:g=!1,inputComponent:h="input",label:i,multiline:k=!1,notched:l,slots:o={},slotProps:w={},type:x="text",...y}=c,z=(a=>{let{classes:b}=a,c=(0,f.A)({root:["root"],notchedOutline:["notchedOutline"],input:["input"]},q.v,b);return{...b,...c}})(c),A=(0,m.A)(),B=(0,n.A)({props:c,muiFormControl:A,states:["color","disabled","error","focused","hiddenLabel","size","required"]}),C={...c,color:B.color||"primary",disabled:B.disabled,error:B.error,focused:B.focused,formControl:A,fullWidth:g,hiddenLabel:B.hiddenLabel,multiline:k,size:B.size,type:x},D=o.root??d.Root??t,E=o.input??d.Input??v,[F,G]=(0,s.A)("notchedOutline",{elementType:u,className:z.notchedOutline,shouldForwardComponentProp:!0,ownerState:C,externalForwardedProps:{slots:o,slotProps:w},additionalProps:{label:null!=i&&""!==i&&B.required?(0,j.jsxs)(e.Fragment,{children:[i," ","*"]}):i}});return(0,j.jsx)(r.Ay,{slots:{root:D,input:E},slotProps:w,renderSuffix:a=>(0,j.jsx)(F,{...G,notched:void 0!==l?l:!!(a.startAdornment||a.filled||a.focused)}),fullWidth:g,inputComponent:h,multiline:k,ref:b,type:x,...y,classes:{...z,notchedOutline:null}})});w.muiName="Input";let x=w},65012:(a,b,c)=>{c.d(b,{A:()=>p});var d=c(38301),e=c(43249),f=c(2783),g=c(18168),h=c(6636),i=c(20385),j=c(49565),k=c(29565),l=c(33105);function m(a){return(0,l.Ay)("MuiBackdrop",a)}(0,k.A)("MuiBackdrop",["root","invisible"]);var n=c(21124);let o=(0,g.Ay)("div",{name:"MuiBackdrop",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.root,c.invisible&&b.invisible]}})({position:"fixed",display:"flex",alignItems:"center",justifyContent:"center",right:0,bottom:0,top:0,left:0,backgroundColor:"rgba(0, 0, 0, 0.5)",WebkitTapHighlightColor:"transparent",variants:[{props:{invisible:!0},style:{backgroundColor:"transparent"}}]}),p=d.forwardRef(function(a,b){let c=(0,h.b)({props:a,name:"MuiBackdrop"}),{children:d,className:g,component:k="div",invisible:l=!1,open:p,components:q={},componentsProps:r={},slotProps:s={},slots:t={},TransitionComponent:u,transitionDuration:v,...w}=c,x={...c,component:k,invisible:l},y=(a=>{let{classes:b,invisible:c}=a;return(0,f.A)({root:["root",c&&"invisible"]},m,b)})(x),z={slots:{transition:u,root:q.Root,...t},slotProps:{...r,...s}},[A,B]=(0,i.A)("root",{elementType:o,externalForwardedProps:z,className:(0,e.A)(y.root,g),ownerState:x}),[C,D]=(0,i.A)("transition",{elementType:j.A,externalForwardedProps:z,ownerState:x});return(0,n.jsx)(C,{in:p,timeout:v,...w,...D,children:(0,n.jsx)(A,{"aria-hidden":!0,...B,classes:y,ref:b,children:d})})})},65603:(a,b,c)=>{c.d(b,{A:()=>d});let d=c(55973).A},65823:(a,b,c)=>{c.d(b,{Ay:()=>s});var d=c(45430),e=c(57188),f=c(38301),g=c.n(f),h=c(23312),i=c.n(h);let j={disabled:!1};var k=c(35153),l="unmounted",m="exited",n="entering",o="entered",p="exiting",q=function(a){function b(b,c){var d,e=a.call(this,b,c)||this,f=c&&!c.isMounting?b.enter:b.appear;return e.appearStatus=null,b.in?f?(d=m,e.appearStatus=n):d=o:d=b.unmountOnExit||b.mountOnEnter?l:m,e.state={status:d},e.nextCallback=null,e}(0,e.A)(b,a),b.getDerivedStateFromProps=function(a,b){return a.in&&b.status===l?{status:m}:null};var c=b.prototype;return c.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},c.componentDidUpdate=function(a){var b=null;if(a!==this.props){var c=this.state.status;this.props.in?c!==n&&c!==o&&(b=n):(c===n||c===o)&&(b=p)}this.updateStatus(!1,b)},c.componentWillUnmount=function(){this.cancelNextCallback()},c.getTimeouts=function(){var a,b,c,d=this.props.timeout;return a=b=c=d,null!=d&&"number"!=typeof d&&(a=d.exit,b=d.enter,c=void 0!==d.appear?d.appear:b),{exit:a,enter:b,appear:c}},c.updateStatus=function(a,b){if(void 0===a&&(a=!1),null!==b)if(this.cancelNextCallback(),b===n){if(this.props.unmountOnExit||this.props.mountOnEnter){var c=this.props.nodeRef?this.props.nodeRef.current:i().findDOMNode(this);c&&c.scrollTop}this.performEnter(a)}else this.performExit();else this.props.unmountOnExit&&this.state.status===m&&this.setState({status:l})},c.performEnter=function(a){var b=this,c=this.props.enter,d=this.context?this.context.isMounting:a,e=this.props.nodeRef?[d]:[i().findDOMNode(this),d],f=e[0],g=e[1],h=this.getTimeouts(),k=d?h.appear:h.enter;if(!a&&!c||j.disabled)return void this.safeSetState({status:o},function(){b.props.onEntered(f)});this.props.onEnter(f,g),this.safeSetState({status:n},function(){b.props.onEntering(f,g),b.onTransitionEnd(k,function(){b.safeSetState({status:o},function(){b.props.onEntered(f,g)})})})},c.performExit=function(){var a=this,b=this.props.exit,c=this.getTimeouts(),d=this.props.nodeRef?void 0:i().findDOMNode(this);if(!b||j.disabled)return void this.safeSetState({status:m},function(){a.props.onExited(d)});this.props.onExit(d),this.safeSetState({status:p},function(){a.props.onExiting(d),a.onTransitionEnd(c.exit,function(){a.safeSetState({status:m},function(){a.props.onExited(d)})})})},c.cancelNextCallback=function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)},c.safeSetState=function(a,b){b=this.setNextCallback(b),this.setState(a,b)},c.setNextCallback=function(a){var b=this,c=!0;return this.nextCallback=function(d){c&&(c=!1,b.nextCallback=null,a(d))},this.nextCallback.cancel=function(){c=!1},this.nextCallback},c.onTransitionEnd=function(a,b){this.setNextCallback(b);var c=this.props.nodeRef?this.props.nodeRef.current:i().findDOMNode(this),d=null==a&&!this.props.addEndListener;if(!c||d)return void setTimeout(this.nextCallback,0);if(this.props.addEndListener){var e=this.props.nodeRef?[this.nextCallback]:[c,this.nextCallback],f=e[0],g=e[1];this.props.addEndListener(f,g)}null!=a&&setTimeout(this.nextCallback,a)},c.render=function(){var a=this.state.status;if(a===l)return null;var b=this.props,c=b.children,e=(b.in,b.mountOnEnter,b.unmountOnExit,b.appear,b.enter,b.exit,b.timeout,b.addEndListener,b.onEnter,b.onEntering,b.onEntered,b.onExit,b.onExiting,b.onExited,b.nodeRef,(0,d.A)(b,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]));return g().createElement(k.A.Provider,{value:null},"function"==typeof c?c(a,e):g().cloneElement(g().Children.only(c),e))},b}(g().Component);function r(){}q.contextType=k.A,q.propTypes={},q.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:r,onEntering:r,onEntered:r,onExit:r,onExiting:r,onExited:r},q.UNMOUNTED=l,q.EXITED=m,q.ENTERING=n,q.ENTERED=o,q.EXITING=p;let s=q},67934:(a,b,c)=>{c.d(b,{A:()=>e});var d=c(38301);let e=function(a,b){return d.isValidElement(a)&&-1!==b.indexOf(a.type.muiName??a.type?._payload?.value?.muiName)}},74907:(a,b,c)=>{c.d(b,{A:()=>d});let d=c(79257).A},78104:(a,b,c)=>{c.d(b,{A:()=>d});let d=c(38301).createContext(void 0)},79257:(a,b,c)=>{c.d(b,{A:()=>d});function d(a,b=166){let c;function e(...d){let f=()=>{a.apply(this,d)};clearTimeout(c),c=setTimeout(f,b)}return e.clear=()=>{clearTimeout(c)},e}},82605:(a,b,c)=>{c.d(b,{A:()=>r});var d=c(38301),e=c(43249),f=c(2783),g=c(18168),h=c(6636),i=c(49055),j=c(6638),k=c(67934),l=c(78104),m=c(29565),n=c(33105);function o(a){return(0,n.Ay)("MuiFormControl",a)}(0,m.A)("MuiFormControl",["root","marginNone","marginNormal","marginDense","fullWidth","disabled"]);var p=c(21124);let q=(0,g.Ay)("div",{name:"MuiFormControl",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.root,b[`margin${(0,j.A)(c.margin)}`],c.fullWidth&&b.fullWidth]}})({display:"inline-flex",flexDirection:"column",position:"relative",minWidth:0,padding:0,margin:0,border:0,verticalAlign:"top",variants:[{props:{margin:"normal"},style:{marginTop:16,marginBottom:8}},{props:{margin:"dense"},style:{marginTop:8,marginBottom:4}},{props:{fullWidth:!0},style:{width:"100%"}}]}),r=d.forwardRef(function(a,b){let c,g=(0,h.b)({props:a,name:"MuiFormControl"}),{children:m,className:n,color:r="primary",component:s="div",disabled:t=!1,error:u=!1,focused:v,fullWidth:w=!1,hiddenLabel:x=!1,margin:y="none",required:z=!1,size:A="medium",variant:B="outlined",...C}=g,D={...g,color:r,component:s,disabled:t,error:u,fullWidth:w,hiddenLabel:x,margin:y,required:z,size:A,variant:B},E=(a=>{let{classes:b,margin:c,fullWidth:d}=a,e={root:["root","none"!==c&&`margin${(0,j.A)(c)}`,d&&"fullWidth"]};return(0,f.A)(e,o,b)})(D),[F,G]=d.useState(()=>{let a=!1;return m&&d.Children.forEach(m,b=>{if(!(0,k.A)(b,["Input","Select"]))return;let c=(0,k.A)(b,["Select"])?b.props.input:b;c&&(0,i.gr)(c.props)&&(a=!0)}),a}),[H,I]=d.useState(()=>{let a=!1;return m&&d.Children.forEach(m,b=>{(0,k.A)(b,["Input","Select"])&&((0,i.lq)(b.props,!0)||(0,i.lq)(b.props.inputProps,!0))&&(a=!0)}),a}),[J,K]=d.useState(!1);t&&J&&K(!1);let L=void 0===v||t?J:v;d.useRef(!1);let M=d.useCallback(()=>{I(!0)},[]),N=d.useCallback(()=>{I(!1)},[]),O=d.useMemo(()=>({adornedStart:F,setAdornedStart:G,color:r,disabled:t,error:u,filled:H,focused:L,fullWidth:w,hiddenLabel:x,size:A,onBlur:()=>{K(!1)},onFocus:()=>{K(!0)},onEmpty:N,onFilled:M,registerEffect:c,required:z,variant:B}),[F,r,t,u,H,L,w,x,c,N,M,z,A,B]);return(0,p.jsx)(l.A.Provider,{value:O,children:(0,p.jsx)(q,{as:s,ownerState:D,className:(0,e.A)(E.root,n),ref:b,...C,children:m})})})},83738:(a,b,c)=>{c.d(b,{A:()=>d});function d({props:a,states:b,muiFormControl:c}){return b.reduce((b,d)=>(b[d]=a[d],c&&void 0===a[d]&&(b[d]=c[d]),b),{})}},88679:(a,b,c)=>{c.d(b,{A:()=>g,B:()=>f});var d=c(29565),e=c(33105);function f(a){return(0,e.Ay)("MuiInput",a)}let g={...c(13763).A,...(0,d.A)("MuiInput",["root","underline","input"])}},89490:(a,b,c)=>{c.d(b,{A:()=>o});var d=c(38301),e=c(43249),f=c(2783),g=c(18168),h=c(6636),i=c(55470),j=c(29565),k=c(33105);function l(a){return(0,k.Ay)("MuiList",a)}(0,j.A)("MuiList",["root","padding","dense","subheader"]);var m=c(21124);let n=(0,g.Ay)("ul",{name:"MuiList",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.root,!c.disablePadding&&b.padding,c.dense&&b.dense,c.subheader&&b.subheader]}})({listStyle:"none",margin:0,padding:0,position:"relative",variants:[{props:({ownerState:a})=>!a.disablePadding,style:{paddingTop:8,paddingBottom:8}},{props:({ownerState:a})=>a.subheader,style:{paddingTop:0}}]}),o=d.forwardRef(function(a,b){let c=(0,h.b)({props:a,name:"MuiList"}),{children:g,className:j,component:k="ul",dense:o=!1,disablePadding:p=!1,subheader:q,...r}=c,s=d.useMemo(()=>({dense:o}),[o]),t={...c,component:k,dense:o,disablePadding:p},u=(a=>{let{classes:b,disablePadding:c,dense:d,subheader:e}=a;return(0,f.A)({root:["root",!c&&"padding",d&&"dense",e&&"subheader"]},l,b)})(t);return(0,m.jsx)(i.A.Provider,{value:s,children:(0,m.jsxs)(n,{as:k,className:(0,e.A)(u.root,j),ref:b,ownerState:t,...r,children:[q,g]})})})},91003:(a,b,c)=>{c.d(b,{A:()=>g,v:()=>f});var d=c(29565),e=c(33105);function f(a){return(0,e.Ay)("MuiOutlinedInput",a)}let g={...c(13763).A,...(0,d.A)("MuiOutlinedInput",["root","notchedOutline","input"])}},91059:(a,b,c)=>{c.d(b,{A:()=>p});var d=c(38301),e=c(43249),f=c(2783),g=c(37489),h=c(18168),i=c(68333),j=c(6636),k=c(93895),l=c(21124);let m=(0,h.Ay)("div",{name:"MuiDivider",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.root,c.absolute&&b.absolute,b[c.variant],c.light&&b.light,"vertical"===c.orientation&&b.vertical,c.flexItem&&b.flexItem,c.children&&b.withChildren,c.children&&"vertical"===c.orientation&&b.withChildrenVertical,"right"===c.textAlign&&"vertical"!==c.orientation&&b.textAlignRight,"left"===c.textAlign&&"vertical"!==c.orientation&&b.textAlignLeft]}})((0,i.A)(({theme:a})=>({margin:0,flexShrink:0,borderWidth:0,borderStyle:"solid",borderColor:(a.vars||a).palette.divider,borderBottomWidth:"thin",variants:[{props:{absolute:!0},style:{position:"absolute",bottom:0,left:0,width:"100%"}},{props:{light:!0},style:{borderColor:a.vars?`rgba(${a.vars.palette.dividerChannel} / 0.08)`:(0,g.X4)(a.palette.divider,.08)}},{props:{variant:"inset"},style:{marginLeft:72}},{props:{variant:"middle",orientation:"horizontal"},style:{marginLeft:a.spacing(2),marginRight:a.spacing(2)}},{props:{variant:"middle",orientation:"vertical"},style:{marginTop:a.spacing(1),marginBottom:a.spacing(1)}},{props:{orientation:"vertical"},style:{height:"100%",borderBottomWidth:0,borderRightWidth:"thin"}},{props:{flexItem:!0},style:{alignSelf:"stretch",height:"auto"}},{props:({ownerState:a})=>!!a.children,style:{display:"flex",textAlign:"center",border:0,borderTopStyle:"solid",borderLeftStyle:"solid","&::before, &::after":{content:'""',alignSelf:"center"}}},{props:({ownerState:a})=>a.children&&"vertical"!==a.orientation,style:{"&::before, &::after":{width:"100%",borderTop:`thin solid ${(a.vars||a).palette.divider}`,borderTopStyle:"inherit"}}},{props:({ownerState:a})=>"vertical"===a.orientation&&a.children,style:{flexDirection:"column","&::before, &::after":{height:"100%",borderLeft:`thin solid ${(a.vars||a).palette.divider}`,borderLeftStyle:"inherit"}}},{props:({ownerState:a})=>"right"===a.textAlign&&"vertical"!==a.orientation,style:{"&::before":{width:"90%"},"&::after":{width:"10%"}}},{props:({ownerState:a})=>"left"===a.textAlign&&"vertical"!==a.orientation,style:{"&::before":{width:"10%"},"&::after":{width:"90%"}}}]}))),n=(0,h.Ay)("span",{name:"MuiDivider",slot:"Wrapper",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.wrapper,"vertical"===c.orientation&&b.wrapperVertical]}})((0,i.A)(({theme:a})=>({display:"inline-block",paddingLeft:`calc(${a.spacing(1)} * 1.2)`,paddingRight:`calc(${a.spacing(1)} * 1.2)`,whiteSpace:"nowrap",variants:[{props:{orientation:"vertical"},style:{paddingTop:`calc(${a.spacing(1)} * 1.2)`,paddingBottom:`calc(${a.spacing(1)} * 1.2)`}}]}))),o=d.forwardRef(function(a,b){let c=(0,j.b)({props:a,name:"MuiDivider"}),{absolute:d=!1,children:g,className:h,orientation:i="horizontal",component:o=g||"vertical"===i?"div":"hr",flexItem:p=!1,light:q=!1,role:r="hr"!==o?"separator":void 0,textAlign:s="center",variant:t="fullWidth",...u}=c,v={...c,absolute:d,component:o,flexItem:p,light:q,orientation:i,role:r,textAlign:s,variant:t},w=(a=>{let{absolute:b,children:c,classes:d,flexItem:e,light:g,orientation:h,textAlign:i,variant:j}=a;return(0,f.A)({root:["root",b&&"absolute",j,g&&"light","vertical"===h&&"vertical",e&&"flexItem",c&&"withChildren",c&&"vertical"===h&&"withChildrenVertical","right"===i&&"vertical"!==h&&"textAlignRight","left"===i&&"vertical"!==h&&"textAlignLeft"],wrapper:["wrapper","vertical"===h&&"wrapperVertical"]},k.K,d)})(v);return(0,l.jsx)(m,{as:o,className:(0,e.A)(w.root,h),role:r,ref:b,ownerState:v,"aria-orientation":"separator"===r&&("hr"!==o||"vertical"===i)?i:void 0,...u,children:g?(0,l.jsx)(n,{className:w.wrapper,ownerState:v,children:g}):null})});o&&(o.muiSkipListHighlight=!0);let p=o},93895:(a,b,c)=>{c.d(b,{A:()=>g,K:()=>f});var d=c(29565),e=c(33105);function f(a){return(0,e.Ay)("MuiDivider",a)}let g=(0,d.A)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"])},94633:(a,b,c)=>{c.d(b,{A:()=>h});var d=c(67943),e=c(99829),f=c(76240),g=c(66469);let h=function(a){let{elementType:b,externalSlotProps:c,ownerState:h,skipResolvingSlotProps:i=!1,...j}=a,k=i?{}:(0,g.A)(c,h),{props:l,internalRef:m}=(0,f.A)({...j,externalSlotProps:k}),n=(0,d.A)(m,k?.ref,a.additionalProps?.ref);return(0,e.A)(b,{...l,ref:n},h)}},97896:(a,b,c)=>{c.d(b,{A:()=>d});let d=c(46757).A},98256:(a,b,c)=>{c.d(b,{A:()=>y});var d=c(38301),e=c(2783),f=c(43249),g=c(83738),h=c(49628),i=c(6638),j=c(18168),k=c(68333),l=c(54716),m=c(6636),n=c(29565),o=c(33105);function p(a){return(0,o.Ay)("MuiFormLabel",a)}let q=(0,n.A)("MuiFormLabel",["root","colorSecondary","focused","disabled","error","filled","required","asterisk"]);var r=c(21124);let s=(0,j.Ay)("label",{name:"MuiFormLabel",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.root,"secondary"===c.color&&b.colorSecondary,c.filled&&b.filled]}})((0,k.A)(({theme:a})=>({color:(a.vars||a).palette.text.secondary,...a.typography.body1,lineHeight:"1.4375em",padding:0,position:"relative",variants:[...Object.entries(a.palette).filter((0,l.A)()).map(([b])=>({props:{color:b},style:{[`&.${q.focused}`]:{color:(a.vars||a).palette[b].main}}})),{props:{},style:{[`&.${q.disabled}`]:{color:(a.vars||a).palette.text.disabled},[`&.${q.error}`]:{color:(a.vars||a).palette.error.main}}}]}))),t=(0,j.Ay)("span",{name:"MuiFormLabel",slot:"Asterisk",overridesResolver:(a,b)=>b.asterisk})((0,k.A)(({theme:a})=>({[`&.${q.error}`]:{color:(a.vars||a).palette.error.main}}))),u=d.forwardRef(function(a,b){let c=(0,m.b)({props:a,name:"MuiFormLabel"}),{children:d,className:j,color:k,component:l="label",disabled:n,error:o,filled:q,focused:u,required:v,...w}=c,x=(0,h.A)(),y=(0,g.A)({props:c,muiFormControl:x,states:["color","required","focused","disabled","error","filled"]}),z={...c,color:y.color||"primary",component:l,disabled:y.disabled,error:y.error,filled:y.filled,focused:y.focused,required:y.required},A=(a=>{let{classes:b,color:c,focused:d,disabled:f,error:g,filled:h,required:j}=a,k={root:["root",`color${(0,i.A)(c)}`,f&&"disabled",g&&"error",h&&"filled",d&&"focused",j&&"required"],asterisk:["asterisk",g&&"error"]};return(0,e.A)(k,p,b)})(z);return(0,r.jsxs)(s,{as:l,ownerState:z,className:(0,f.A)(A.root,j),ref:b,...w,children:[d,y.required&&(0,r.jsxs)(t,{ownerState:z,"aria-hidden":!0,className:A.asterisk,children:[" ","*"]})]})});var v=c(41126);function w(a){return(0,o.Ay)("MuiInputLabel",a)}(0,n.A)("MuiInputLabel",["root","focused","disabled","error","required","asterisk","formControl","sizeSmall","shrink","animated","standard","filled","outlined"]);let x=(0,j.Ay)(u,{shouldForwardProp:a=>(0,v.A)(a)||"classes"===a,name:"MuiInputLabel",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[{[`& .${q.asterisk}`]:b.asterisk},b.root,c.formControl&&b.formControl,"small"===c.size&&b.sizeSmall,c.shrink&&b.shrink,!c.disableAnimation&&b.animated,c.focused&&b.focused,b[c.variant]]}})((0,k.A)(({theme:a})=>({display:"block",transformOrigin:"top left",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:"100%",variants:[{props:({ownerState:a})=>a.formControl,style:{position:"absolute",left:0,top:0,transform:"translate(0, 20px) scale(1)"}},{props:{size:"small"},style:{transform:"translate(0, 17px) scale(1)"}},{props:({ownerState:a})=>a.shrink,style:{transform:"translate(0, -1.5px) scale(0.75)",transformOrigin:"top left",maxWidth:"133%"}},{props:({ownerState:a})=>!a.disableAnimation,style:{transition:a.transitions.create(["color","transform","max-width"],{duration:a.transitions.duration.shorter,easing:a.transitions.easing.easeOut})}},{props:{variant:"filled"},style:{zIndex:1,pointerEvents:"none",transform:"translate(12px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"}},{props:{variant:"filled",size:"small"},style:{transform:"translate(12px, 13px) scale(1)"}},{props:({variant:a,ownerState:b})=>"filled"===a&&b.shrink,style:{userSelect:"none",pointerEvents:"auto",transform:"translate(12px, 7px) scale(0.75)",maxWidth:"calc(133% - 24px)"}},{props:({variant:a,ownerState:b,size:c})=>"filled"===a&&b.shrink&&"small"===c,style:{transform:"translate(12px, 4px) scale(0.75)"}},{props:{variant:"outlined"},style:{zIndex:1,pointerEvents:"none",transform:"translate(14px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"}},{props:{variant:"outlined",size:"small"},style:{transform:"translate(14px, 9px) scale(1)"}},{props:({variant:a,ownerState:b})=>"outlined"===a&&b.shrink,style:{userSelect:"none",pointerEvents:"auto",maxWidth:"calc(133% - 32px)",transform:"translate(14px, -9px) scale(0.75)"}}]}))),y=d.forwardRef(function(a,b){let c=(0,m.b)({name:"MuiInputLabel",props:a}),{disableAnimation:d=!1,margin:j,shrink:k,variant:l,className:n,...o}=c,p=(0,h.A)(),q=k;void 0===q&&p&&(q=p.filled||p.focused||p.adornedStart);let s=(0,g.A)({props:c,muiFormControl:p,states:["size","variant","required","focused"]}),t={...c,disableAnimation:d,formControl:p,shrink:q,size:s.size,variant:s.variant,required:s.required,focused:s.focused},u=(a=>{let{classes:b,formControl:c,size:d,shrink:f,disableAnimation:g,variant:h,required:j}=a,k={root:["root",c&&"formControl",!g&&"animated",f&&"shrink",d&&"normal"!==d&&`size${(0,i.A)(d)}`,h],asterisk:[j&&"asterisk"]},l=(0,e.A)(k,w,b);return{...b,...l}})(t);return(0,r.jsx)(x,{"data-shrink":q,ref:b,className:(0,f.A)(u.root,n),...o,ownerState:t,classes:u})})}};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
exports.id=6936,exports.ids=[6936],exports.modules={231:(a,b,c)=>{var d=c(2269),e=c(76787);a.exports=function(a){return e(a)&&"[object Arguments]"==d(a)}},595:a=>{var b=Object.prototype.toString;a.exports=function(a){return b.call(a)}},598:(a,b,c)=>{var d=c(32390);a.exports=function(a,b){var c=b?d(a.buffer):a.buffer;return new a.constructor(c,a.byteOffset,a.length)}},1291:a=>{a.exports=function(a){var b=typeof a;return"string"==b||"number"==b||"symbol"==b||"boolean"==b?"__proto__"!==a:null===a}},2269:(a,b,c)=>{var d=c(97922),e=c(60112),f=c(595),g=d?d.toStringTag:void 0;a.exports=function(a){return null==a?void 0===a?"[object Undefined]":"[object Null]":g&&g in Object(a)?e(a):f(a)}},2560:(a,b,c)=>{var d=c(21211),e=c(56705),f=c(36774),g=c(53346),h=/^\[object .+?Constructor\]$/,i=Object.prototype,j=Function.prototype.toString,k=i.hasOwnProperty,l=RegExp("^"+j.call(k).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");a.exports=function(a){return!(!f(a)||e(a))&&(d(a)?l:h).test(g(a))}},5113:(a,b,c)=>{var d=c(97922),e=d?d.prototype:void 0,f=e?e.valueOf:void 0;a.exports=function(a){return f?Object(f.call(a)):{}}},6616:(a,b,c)=>{var d=c(95158),e=c(34846),f=c(18388),g=c(71226),h=c(12875),i=c(79035),j=c(89108),k=c(55092),l=c(45905),m=c(62127),n=c(20413),o=c(78178),p=c(92642),q=c(96016),r=c(28418),s=c(34022),t=c(39545),u=c(38443),v=c(36774),w=c(68369),x=c(89095),y=c(37794),z="[object Arguments]",A="[object Function]",B="[object Object]",C={};C[z]=C["[object Array]"]=C["[object ArrayBuffer]"]=C["[object DataView]"]=C["[object Boolean]"]=C["[object Date]"]=C["[object Float32Array]"]=C["[object Float64Array]"]=C["[object Int8Array]"]=C["[object Int16Array]"]=C["[object Int32Array]"]=C["[object Map]"]=C["[object Number]"]=C[B]=C["[object RegExp]"]=C["[object Set]"]=C["[object String]"]=C["[object Symbol]"]=C["[object Uint8Array]"]=C["[object Uint8ClampedArray]"]=C["[object Uint16Array]"]=C["[object Uint32Array]"]=!0,C["[object Error]"]=C[A]=C["[object WeakMap]"]=!1,a.exports=function a(b,c,D,E,F,G){var H,I=1&c,J=2&c,K=4&c;if(D&&(H=F?D(b,E,F,G):D(b)),void 0!==H)return H;if(!v(b))return b;var L=s(b);if(L){if(H=p(b),!I)return j(b,H)}else{var M=o(b),N=M==A||"[object GeneratorFunction]"==M;if(t(b))return i(b,I);if(M==B||M==z||N&&!F){if(H=J||N?{}:r(b),!I)return J?l(b,h(H,b)):k(b,g(H,b))}else{if(!C[M])return F?b:{};H=q(b,M,I)}}G||(G=new d);var O=G.get(b);if(O)return O;G.set(b,H),w(b)?b.forEach(function(d){H.add(a(d,c,D,d,b,G))}):u(b)&&b.forEach(function(d,e){H.set(e,a(d,c,D,e,b,G))});var P=K?J?n:m:J?y:x,Q=L?void 0:P(b);return e(Q||b,function(d,e){Q&&(d=b[e=d]),f(H,e,a(d,c,D,e,b,G))}),H}},7898:(a,b,c)=>{a.exports=c(96918)["__core-js_shared__"]},8100:a=>{var b=Object.prototype;a.exports=function(a){var c=a&&a.constructor;return a===("function"==typeof c&&c.prototype||b)}},8336:(a,b,c)=>{"use strict";c.d(b,{A$:()=>g});let d="_-_-_",e=/^(tool|resource):(.+)$/,f=/\$\{((?:tool|resource):[^}]+|_-_-_[^}]+)\}/g;function g(a){let b,c=[];for(f.lastIndex=0;null!==(b=f.exec(a));){let a=function(a){let b=e.exec(a);if(b){let a=b[1],c=function(a){let b=a.indexOf("__");if(b<=0)return null;let c=a.slice(b+2);return c?{server:a.slice(0,b),name:c}:null}(b[2]);return c?{kind:a,server:c.server,name:c.name}:null}if(a.startsWith(d)){let b=a.split(d);if(3===b.length&&b[1]&&b[2])return{kind:"tool",server:b[1],name:b[2]}}return null}(b[1]);a&&c.push({...a,fullMatch:b[0],index:b.index})}return c}},8918:(a,b,c)=>{"use strict";c.d(b,{Fp:()=>f,M5:()=>d,Po:()=>e});let d=(a,b,c,d,e)=>({type:"model",code:a,message:b,modelId:c,requestId:d,details:e}),e=(a,b,c,d,e)=>({type:"tool",code:a,message:b,toolName:c,toolArgs:d,details:e}),f=(a,b,c,d,e)=>({type:"mcp",code:a,message:b,serverName:c,operation:d,details:e})},10110:(a,b,c)=>{a.exports=c(22271)(c(96918),"Set")},11045:(a,b,c)=>{a.exports=c(96918).Uint8Array},11782:(a,b,c)=>{var d=c(55e3),e=c(13356),f=c(62242);a.exports=function(a,b){var c=this.__data__;if(c instanceof d){var g=c.__data__;if(!e||g.length<199)return g.push([a,b]),this.size=++c.size,this;c=this.__data__=new f(g)}return c.set(a,b),this.size=c.size,this}},11956:(a,b,c)=>{var d=c(23966),e=c(16478),f=c(38798),g=f&&f.isTypedArray;a.exports=g?e(g):d},12875:(a,b,c)=>{var d=c(18376),e=c(37794);a.exports=function(a,b){return a&&d(b,e(b),a)}},13356:(a,b,c)=>{a.exports=c(22271)(c(96918),"Map")},13396:(a,b,c)=>{var d=c(43882);a.exports=function(a){var b=this.__data__,c=d(b,a);return c<0?void 0:b[c][1]}},15144:(a,b,c)=>{var d=c(96101),e=c(15385),f=c(34022),g=c(39545),h=c(51234),i=c(11956),j=Object.prototype.hasOwnProperty;a.exports=function(a,b){var c=f(a),k=!c&&e(a),l=!c&&!k&&g(a),m=!c&&!k&&!l&&i(a),n=c||k||l||m,o=n?d(a.length,String):[],p=o.length;for(var q in a)(b||j.call(a,q))&&!(n&&("length"==q||l&&("offset"==q||"parent"==q)||m&&("buffer"==q||"byteLength"==q||"byteOffset"==q)||h(q,p)))&&o.push(q);return o}},15385:(a,b,c)=>{var d=c(231),e=c(76787),f=Object.prototype,g=f.hasOwnProperty,h=f.propertyIsEnumerable;a.exports=d(function(){return arguments}())?d:function(a){return e(a)&&g.call(a,"callee")&&!h.call(a,"callee")}},16478:a=>{a.exports=function(a){return function(b){return a(b)}}},18117:(a,b,c)=>{var d=c(91704);a.exports=function(a,b,c){"__proto__"==b&&d?d(a,b,{configurable:!0,enumerable:!0,value:c,writable:!0}):a[b]=c}},18313:(a,b,c)=>{a.exports=c(22271)(c(96918),"DataView")},18376:(a,b,c)=>{var d=c(18388),e=c(18117);a.exports=function(a,b,c,f){var g=!c;c||(c={});for(var h=-1,i=b.length;++h<i;){var j=b[h],k=f?f(c[j],a[j],j,c,a):void 0;void 0===k&&(k=a[j]),g?e(c,j,k):d(c,j,k)}return c}},18388:(a,b,c)=>{var d=c(18117),e=c(38093),f=Object.prototype.hasOwnProperty;a.exports=function(a,b,c){var g=a[b];f.call(a,b)&&e(g,c)&&(void 0!==c||b in a)||d(a,b,c)}},18975:(a,b,c)=>{"use strict";function d(a){return"handoff"===a||a.startsWith("handoff_to_")}function e(a,b){return[b,...a.filter(a=>"system"!==a.role)]}function f(a){let b=new Set;for(let c of a)if("assistant"===c.role&&Array.isArray(c.tool_calls))for(let a of c.tool_calls)"function"===a.type&&d(a.function.name)&&b.add(a.id);let c=[];for(let e of a)if(("user"!==e.role||"string"!=typeof e.content||"The handoff was successful. Continue"!==e.content.trim())&&!("tool"===e.role&&e.tool_call_id&&b.has(e.tool_call_id))){if("assistant"===e.role&&Array.isArray(e.tool_calls)&&e.tool_calls.some(a=>"function"===a.type&&d(a.function.name))){let a=e.tool_calls.filter(a=>!("function"===a.type&&d(a.function.name)));if(a.length>0)c.push({...e,tool_calls:a});else if("string"==typeof e.content?e.content.trim().length>0:!!Array.isArray(e.content)&&e.content.length>0){let{tool_calls:a,...b}=e;c.push(b)}continue}c.push(e)}return c}c.d(b,{P:()=>f,U:()=>e})},20413:(a,b,c)=>{var d=c(70996),e=c(23400),f=c(37794);a.exports=function(a){return d(a,f,e)}},21211:(a,b,c)=>{var d=c(2269),e=c(36774);a.exports=function(a){if(!e(a))return!1;var b=d(a);return"[object Function]"==b||"[object GeneratorFunction]"==b||"[object AsyncFunction]"==b||"[object Proxy]"==b}},21432:(a,b,c)=>{a.exports=c(81008)(Object.getPrototypeOf,Object)},22271:(a,b,c)=>{var d=c(2560),e=c(78853);a.exports=function(a,b){var c=e(a,b);return d(c)?c:void 0}},23400:(a,b,c)=>{var d=c(25589),e=c(21432),f=c(71009),g=c(56338);a.exports=Object.getOwnPropertySymbols?function(a){for(var b=[];a;)d(b,f(a)),a=e(a);return b}:g},23854:(a,b,c)=>{var d=c(32390);a.exports=function(a,b){var c=b?d(a.buffer):a.buffer;return new a.constructor(c,a.byteOffset,a.byteLength)}},23966:(a,b,c)=>{var d=c(2269),e=c(68627),f=c(76787),g={};g["[object Float32Array]"]=g["[object Float64Array]"]=g["[object Int8Array]"]=g["[object Int16Array]"]=g["[object Int32Array]"]=g["[object Uint8Array]"]=g["[object Uint8ClampedArray]"]=g["[object Uint16Array]"]=g["[object Uint32Array]"]=!0,g["[object Arguments]"]=g["[object Array]"]=g["[object ArrayBuffer]"]=g["[object Boolean]"]=g["[object DataView]"]=g["[object Date]"]=g["[object Error]"]=g["[object Function]"]=g["[object Map]"]=g["[object Number]"]=g["[object Object]"]=g["[object RegExp]"]=g["[object Set]"]=g["[object String]"]=g["[object WeakMap]"]=!1,a.exports=function(a){return f(a)&&e(a.length)&&!!g[d(a)]}},24363:(a,b,c)=>{a.exports=c(81008)(Object.keys,Object)},25589:a=>{a.exports=function(a,b){for(var c=-1,d=b.length,e=a.length;++c<d;)a[e+c]=b[c];return a}},26331:(a,b,c)=>{"use strict";c.d(b,{runFlow:()=>A});var d=c(18230),e=c(96936),f=c(79111);let g=(0,d.h)("backend/execution/flow/persistConversationState");var h=c(34115),i=c(96249),j=c(26485),k=c(50564),l=c(59448),m=c(72440),n=c(86028),o=c(12763),p=c(86349),q=c(8336);function r(a){return a.data?.type??a.type??"unknown"}function s(a){return a.data?.label||a.id}function t(a){return a.data?.edgeType==="mcp"}let u=(0,d.h)("backend/execution/flow/validateFlowForRun");async function v(a){let b,c,d=await m.flowService.getFlow(a);if(!d)return u.warn(`validateFlowForRun: flow ${a} could not be loaded; skipping pre-run checks`),{issues:[],errorCount:0,warningCount:0,isRunnable:!0};try{b=await o.modelService.loadModels()}catch(a){u.warn("validateFlowForRun: could not load models; skipping model checks",a)}try{let a=await p.mcpService.loadServerConfigs();Array.isArray(a)&&(c=a.map(a=>({name:a.name,status:a.disabled?"disabled":void 0})))}catch(a){u.warn("validateFlowForRun: could not load servers; skipping server checks",a)}return function(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?s(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"===r(a)),l=d.filter(a=>"finish"===r(a)),m=d.filter(a=>"process"===r(a)),n=d.filter(a=>"mcp"===r(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 "${s(a)}" is bound to a model that no longer exists${c}.`,a)}}else f("error","process-missing-model",`Process node "${s(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 "${s(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 "${s(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 "${s(a)}" is not bound to a server.`,a);e.some(b=>t(b)&&(b.source===a.id||b.target===a.id))||f("warning","mcp-node-unconnected",`MCP node "${s(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)!t(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"===r(a)?"Finish":"Process"} node "${s(a)}" is not reachable from the Start node.`,a)}for(let a of d.filter(a=>"subflow"===r(a))){let b=e.filter(b=>!t(b)&&(b.source===a.id||b.target===a.id&&!!b.data?.bidirectional));b.length>1&&f("error","subflow-multiple-outgoing",`Subflow node "${s(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(!t(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"!==r(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,q.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 "${s(a)}" references tool "${d.name}" which server "${d.server}" no longer provides.`,a):f("error","tool-pill-disconnected",`Process node "${s(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}}(d,{models:b,servers:c})}var w=c(85701);let x=(0,d.h)("backend/execution/flow/runFlow");m.flowService.getFlowByName||(m.flowService.getFlowByName=async a=>(await m.flowService.loadFlows()).find(b=>b.name===a)||null,x.info("Added getFlowByName method directly to flowService instance."));let y=m.flowService,z=function(a,b){return b.ephemeral?(g.debug(`Refusing to persist ephemeral state (key ${a}); ephemeral runs never reach the conversations store.`),Promise.resolve()):(0,f.VH)(a,{...b,executionTrace:void 0,emit:void 0})};async function A(a){let b,c,d,g=Date.now(),m=a.flujo??!0,o=a.requireApproval??!1,p=a.debug??!1,q=a.continueDebug??!1,r=a.userTurn??!1,s="ephemeral"===a.mode,t=a.messages??(void 0!==a.prompt?[{role:"user",content:a.prompt}]:[]),u={model:a.modelName,messages:t,processNodeId:a.processNodeId};x.info("runFlow invoked",{flowId:a.flowId,model:a.modelName,messageCount:t.length,mode:s?"ephemeral":"conversation",flujo:m,requireApproval:o,flujodebug:p,conversationId:a.conversationId});let A=a.conversationId||crypto.randomUUID(),B=`conversations/${A}`,C="new";if(x.info(`Effective Conversation ID for this run: ${A}`,{providedId:a.conversationId}),e.FlowExecutor.conversationStates.has(A))c=e.FlowExecutor.conversationStates.get(A),x.info(`Resuming conversation ${A} from memory`,{currentNodeId:c.currentNodeId}),C="memory";else if(!s)try{(c=await (0,f.YM)(B,void 0))?(x.info(`Loaded conversation state from storage: ${A}`),C="storage",await (0,h.jM)(c),e.FlowExecutor.conversationStates.set(A,c)):x.info(`No state found in storage for conversation: ${A}. Will create new state.`)}catch(a){x.warn(`Error loading conversation state from storage for ${A}:`,a)}if(c?((b=c).conversationId!==A&&(x.warn(`Loaded state's internal conversationId (${b.conversationId}) differs from effectiveConvId (${A}). Using effectiveConvId.`),b.conversationId=A),"new"!==C&&("completed"===b.status||"error"===b.status)&&(x.info(`Resuming completed/errored conversation ${A}. Resetting status to 'running'.`),b.status="running",b.lastResponse=void 0,b.isCancelled=!1,"storage"===C&&e.FlowExecutor.conversationStates.set(A,b)),u.processNodeId&&"new"!==C&&(x.info(`Edit detected: Resetting currentNodeId for conversation ${A} to provided processNodeId: ${u.processNodeId}`),b.currentNodeId=u.processNodeId,b.status="running",b.lastResponse=void 0,b.pendingToolCalls=void 0,b.handoffRequested=void 0,b.isCancelled=!1,b.trackingInfo={executionId:crypto.randomUUID(),startTime:Date.now(),nodeExecutionTracker:[]},n.G.ENABLE_EXECUTION_TRACKER&&b.executionTrace&&(b.executionTrace=[]),e.FlowExecutor.conversationStates.set(A,b),x.verbose(`State updated in memory with reset currentNodeId: ${b.currentNodeId}`))):(x.info(`Creating new conversation state object for ID: ${A}`),b={trackingInfo:{executionId:crypto.randomUUID(),startTime:Date.now(),nodeExecutionTracker:(n.G.ENABLE_EXECUTION_TRACKER,[])},messages:[],flowId:"",conversationId:A,currentNodeId:void 0,status:"running",title:"New Conversation",createdAt:Date.now(),updatedAt:Date.now(),debugMode:p,executionTrace:p&&n.G.ENABLE_EXECUTION_TRACKER?[]:void 0}),b.requireApproval=o,s&&(b.ephemeral=!0),b.runDepth=a.depth??b.runDepth??0,b.runDepth>w.A)return x.error(`runFlow aborted: subflow depth ${b.runDepth} exceeds max ${w.A}`),b.status="error",{status:"error",conversationId:A,outputText:"",messages:b.messages,error:{message:`Subflow recursion limit (${w.A}) exceeded`,statusCode:500},finalAction:j.O,sharedState:b};let D=[...b.messages??[]];if("new"===C){let c=a.flowId;if(!c&&u.model){let a=u.model.substring(5),d=await y.getFlowByName(a);if(!d)return x.error(`Flow not found: ${a}`),{status:"error",conversationId:A,outputText:"",messages:b.messages,flowNotFound:{name:a},error:{message:`Flow not found: ${a}`,statusCode:400},finalAction:j.O,sharedState:b};c=d.id}if(!c)return x.error("No flow specified for run (neither flowId nor model provided)."),{status:"error",conversationId:A,outputText:"",messages:b.messages,error:{message:"No flow specified (provide flowId or model).",statusCode:400},finalAction:j.O,sharedState:b};b.flowId=c;let d=(u.messages||[]).filter(a=>!(a.depth>0)).map(a=>({...a,id:a.id||crypto.randomUUID(),timestamp:a.timestamp||Date.now(),processNodeId:a.processNodeId||void 0}));b.messages=d;try{if(b.updatedAt=Date.now(),"New Conversation"===b.title&&b.messages.length>0){let a=b.messages.find(a=>"user"===a.role);a&&"string"==typeof a.content&&(b.title=a.content.split(" ").slice(0,5).join(" ")+"...",x.verbose(`Updated conversation title for ${A} during init to: ${b.title}`))}await z(B,b),x.debug(`Saved initial state for new conversation ${A}.`)}catch(a){x.error(`Failed to save initial state for new conversation ${A}:`,a)}e.FlowExecutor.conversationStates.set(A,b)}else u.messages&&u.messages.length>0&&(b.messages=u.messages.filter(a=>!(a.depth>0)).map(a=>({...a,id:a.id||crypto.randomUUID(),timestamp:a.timestamp||Date.now(),processNodeId:a.processNodeId||void 0})),x.info(`Updated conversation ${b.conversationId} with ${b.messages.length} messages from request`)),(r||void 0===b.debugMode)&&(b.debugMode=p),r&&(b.debugPendingToolCalls=void 0),b.debugMode&&n.G.ENABLE_EXECUTION_TRACKER&&!b.executionTrace&&(b.executionTrace=[]);try{await (0,h.UG)(b,D)}catch(a){x.warn(`Conversation-log reconcile failed for ${A}; continuing`,a)}if(r&&"new"!==C&&!u.processNodeId){let a=b.messages.length>0?b.messages[b.messages.length-1]:void 0;a?.role==="user"&&a.processNodeId&&a.processNodeId!==b.currentNodeId&&(x.info(`New user turn for ${A}: directing execution to node ${a.processNodeId} (was ${b.currentNodeId}).`),b.currentNodeId=a.processNodeId,e.FlowExecutor.conversationStates.set(A,b))}r&&b.flowId&&(e.FlowExecutor.clearFlowCache(b.flowId),x.debug(`Cleared compiled-flow cache for ${b.flowId} at start of user turn ${A}.`));let E=!1,F=0,G=a.emit??i.$.emitterFor(A),H=new Set(b.messages.map(a=>a.id).filter(a=>!!a)),I=a=>{if(!a.usage)return;let c=b.usage??{promptTokens:0,completionTokens:0,totalTokens:0,costUsd:0,byNode:{}};c.promptTokens+=a.usage.promptTokens,c.completionTokens+=a.usage.completionTokens,c.totalTokens+=a.usage.totalTokens;let d=a.processNodeId||"unknown",e=c.byNode[d]??{promptTokens:0,completionTokens:0,totalTokens:0,costUsd:0};e.promptTokens+=a.usage.promptTokens,e.completionTokens+=a.usage.completionTokens,e.totalTokens+=a.usage.totalTokens,c.byNode[d]=e,b.usage=c,G({type:"usage",node:a.processNodeId?{nodeId:a.processNodeId}:void 0,promptTokens:a.usage.promptTokens,completionTokens:a.usage.completionTokens,totalTokens:a.usage.totalTokens,costUsd:0})},J=()=>{for(let a of b.messages)a.id||(a.id=crypto.randomUUID()),H.has(a.id)||(H.add(a.id),"system"!==a.role&&(G({type:"message",message:a,node:a.processNodeId?{nodeId:a.processNodeId}:void 0}),I(a)))};if(G({type:"run:start",flowId:b.flowId}),(r||"new"===C)&&b.flowId)try{let a=await v(b.flowId);if(!a.isRunnable){let c=a.issues.filter(a=>"error"===a.severity),e=`This flow can't run yet — please fix the following before running:
|
|
2
|
+
`+c.map(a=>`• ${a.message}`).join("\n");x.warn(`Pre-run validation blocked flow ${b.flowId} for conv ${A}`,{errorCount:c.length,codes:c.map(a=>a.code)}),b.lastResponse={success:!1,error:e,errorDetails:{message:e,type:"invalid_request_error",code:"flow_invalid",status:400}},d=j.O,E=!0}}catch(a){x.warn(`Pre-run validation could not complete for ${b.flowId}; proceeding`,a)}let K=!!b.debugMode&&!q,L=()=>{b.status="paused_debug",G({type:"run:paused",reason:"debug",node:b.currentNodeId?{nodeId:b.currentNodeId}:void 0})};try{if(!E)for(;;){if(F++,x.debug(`--- Starting Execution Step ${F} for Conv ${A} ---`),F>150){x.warn(`Max internal iterations (150) reached for conv ${A}. Breaking loop.`),d!==j.O&&(b.lastResponse={success:!1,error:"Maximum internal iterations (150) reached."},d=j.O);break}if(b.isCancelled){x.info(`Cancellation flag detected for conv ${A}. Terminating execution.`),b.status="error",b.lastResponse={success:!1,error:"Execution cancelled by user."},d=j.O;break}if(b.debugPendingToolCalls&&b.debugPendingToolCalls.length>0){let a=b.debugPendingToolCalls;b.debugPendingToolCalls=void 0,x.info(`[Debug Step] Executing ${a.length} pending tool call(s) for conv ${A}.`);let c=await k.s.processToolCalls({toolCalls:a,toolNameMap:b.toolNameMap,emit:G});if(!c.success){x.error(`Debug tool processing failed for conv ${A}`,{error:c.error}),b.lastResponse={success:!1,error:"Tool processing failed",errorDetails:c.error},d=j.O;break}let f=c.value.toolCallMessages.map(a=>({...a,id:crypto.randomUUID(),timestamp:Date.now(),processNodeId:b.currentNodeId}));b.messages.push(...f),e.FlowExecutor.conversationStates.set(A,b),J();try{b.updatedAt=Date.now(),await z(B,b)}catch(a){x.error(`Failed to save state after debug tool execution for conv ${A}:`,a)}if(K){x.info(`[Debug Step] Paused after tool execution for conv ${A}.`),L();break}continue}if(!K&&b.breakpoints&&b.breakpoints.length>0){let a=await e.FlowExecutor.peekNextNodeId(b);if(a&&b.breakpoints.includes(a)&&b.lastBreakNodeId!==a){x.info(`Breakpoint hit at node ${a} for conv ${A}. Pausing.`),b.status="paused_debug",b.debugMode=!0,b.lastBreakNodeId=a,G({type:"breakpoint:hit",node:{nodeId:a}}),G({type:"run:paused",reason:"breakpoint",node:{nodeId:a}});try{b.updatedAt=Date.now(),await z(B,b)}catch(a){x.error(`Failed to save state on breakpoint for conv ${A}:`,a)}break}a&&b.lastBreakNodeId&&a!==b.lastBreakNodeId&&(b.lastBreakNodeId=void 0)}if(b.messages.length>0){let a=b.messages.slice(-3);x.verbose(`Message history before step ${F}`,a)}else x.verbose(`No messages in history before step ${F}`);let a=await e.FlowExecutor.executeStep(b,G);if(b=a.sharedState,d=a.action,J(),b.updatedAt=Date.now(),"New Conversation"===b.title&&b.messages.length>0){let a=b.messages.find(a=>"user"===a.role);a&&"string"==typeof a.content&&(b.title=a.content.split(" ").slice(0,5).join(" ")+"...",x.verbose(`Updated conversation title for ${A} after step ${F} to: ${b.title}`))}if(x.info(`Step ${F} completed for conv ${A}. Action: ${d}`,{currentNodeId:b.currentNodeId}),x.verbose(`Shared state after step ${F}`,b),x.debug(`[Action Handling] Step ${F}: Received action "${d}" for conv ${A}`),d===j.O){x.info(`[Action Handling] Step ${F}: Handling ERROR_ACTION for conv ${A}`),x.error(`Error action received during step ${F} for conv ${A}`,{error:b.lastResponse});break}if(d===j.g4){x.info(`[Action Handling] Step ${F}: Handling FINAL_RESPONSE_ACTION for conv ${A}`),x.info(`Final response action received at step ${F} for conv ${A}`),b.status="completed",x.info(`Setting conversation status to 'completed' for conv ${A}`);break}if(d===j.Jp){x.info(`[Action Handling] Step ${F}: Handling TOOL_CALL_ACTION for conv ${A}`),x.info(`Tool call action received at step ${F} for conv ${A}`);let a=b.messages.length>0?b.messages[b.messages.length-1]:null;if(a?.role==="assistant"&&a.tool_calls)if(m)if(o){x.info(`[flujo=true, requireApproval=true] Pausing execution for tool approval for conv ${A}`),b.status="awaiting_tool_approval",b.pendingToolCalls=a.tool_calls,b.lastResponse=void 0,e.FlowExecutor.conversationStates.set(A,b);try{if(b.updatedAt=Date.now(),"New Conversation"===b.title&&b.messages.length>0){let a=b.messages.find(a=>"user"===a.role);a&&"string"==typeof a.content&&(b.title=a.content.split(" ").slice(0,5).join(" ")+"...",x.verbose(`Updated conversation title for ${A} before pausing to: ${b.title}`))}await z(B,b),x.verbose(`Saved state before pausing for approval for conv ${A}`)}catch(a){x.error(`Failed to save state before pausing for approval for conv ${A}:`,a)}G({type:"run:awaiting_approval",pendingToolCalls:a.tool_calls});break}else if(K){x.info(`[Debug Step] Paused before executing ${a.tool_calls.length} tool call(s) for conv ${A}.`),b.debugPendingToolCalls=a.tool_calls,e.FlowExecutor.conversationStates.set(A,b);try{b.updatedAt=Date.now(),await z(B,b)}catch(a){x.error(`Failed to save state before debug tool pause for conv ${A}:`,a)}L();break}else{x.info(`[flujo=true, requireApproval=false] Processing ${a.tool_calls.length} tools internally for conv ${A}`);let c=await k.s.processToolCalls({toolCalls:a.tool_calls,toolNameMap:b.toolNameMap,emit:G});if(!c.success){x.error(`Internal tool processing failed for conv ${A}`,{error:c.error}),b.lastResponse={success:!1,error:"Tool processing failed",errorDetails:c.error},d=j.O;break}x.info(`Adding ${c.value.toolCallMessages.length} tool result messages for conv ${A}`);let f=c.value.toolCallMessages.map(a=>({...a,id:crypto.randomUUID(),timestamp:Date.now(),processNodeId:b.currentNodeId}));b.messages.push(...f),e.FlowExecutor.conversationStates.set(A,b),J(),x.info(`Continuing loop for conv ${A} after internal tool processing (no approval needed).`);continue}else{x.info(`[flujo=false] Tool call action received for conv ${A}. Checking tool types.`);let c=a.tool_calls||[],f=[],g=[];if(c.forEach(a=>{"function"===a.type&&(0,l.$9)(a.function.name,b.toolNameMap)?(x.verbose("tool is internal:",a.function.name),f.push(a)):(x.verbose("tool is external:",a.function.name),g.push(a))}),f.length>0){x.info(`[flujo=false] Processing ${f.length} internal tools for conv ${A}. External tools (${g.length}) will be ignored this step.`);let a=await k.s.processToolCalls({toolCalls:f,toolNameMap:b.toolNameMap,emit:G});if(!a.success){x.error(`[flujo=false] Internal tool processing failed for conv ${A}`,{error:a.error}),b.lastResponse={success:!1,error:"Internal tool processing failed",errorDetails:a.error},d=j.O;break}x.info(`Adding ${a.value.toolCallMessages.length} internal tool result messages for conv ${A}`);let c=a.value.toolCallMessages.map(a=>({...a,id:crypto.randomUUID(),timestamp:Date.now(),processNodeId:b.currentNodeId}));b.messages.push(...c),e.FlowExecutor.conversationStates.set(A,b),x.info(`Continuing loop for conv ${A} after internal tool processing (flujo=false).`);continue}if(g.length>0){x.info(`[flujo=false] Found ${g.length} external tools for conv ${A}. Wrapping in XML and returning.`);let a=[];for(let b of g)if("function"===b.type)try{let c=JSON.parse(b.function.arguments||"{}"),d="";for(let a in c){let b=String(c[a]).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'");d+=`
|
|
3
|
+
<${a}>${b}</${a}>`}a.push(`<${b.function.name}>${d}
|
|
4
|
+
</${b.function.name}>`)}catch(c){x.error(`[flujo=false] Failed to parse arguments for external tool ${b.function.name}`,{args:b.function.arguments,error:c,convId:A}),a.push(`<${b.function.name}>
|
|
5
|
+
<error>Failed to parse arguments: ${c instanceof Error?c.message:String(c)}</error>
|
|
6
|
+
</${b.function.name}>`)}b.lastResponse={_flujo_xml_tools:a.join("\n\n")},d=j.g4,x.info(`[flujo=false] Prepared XML for external tools. Exiting loop for conv ${A}.`);break}x.warn(`[flujo=false] TOOL_CALL_ACTION received for conv ${A} but no tools found after classification. Treating as final.`),d=j.g4;break}x.warn(`TOOL_CALL_ACTION received for conv ${A} but no tool_calls found in last message. Treating as final.`),d=j.g4;break}let c=await e.FlowExecutor.resolveHandoff(b,d);if(c.isSuccessorEdge){x.info(`[Action Handling] Step ${F}: Handling Handoff Action (Edge ID) for conv ${A}`),x.info(`Handoff action received for conv ${A}. Edge: ${d}`);let a=c.targetNodeId;if("string"==typeof a&&a.length>0){let c,f=b.messages.length>0?b.messages[b.messages.length-1]:null;if(f?.role==="assistant"&&f.tool_calls){let e=f.tool_calls.find(a=>"function"===a.type&&("handoff"===a.function.name||a.function.name.startsWith("handoff_to_")));if(e){c=e.id,x.debug(`Found handoff tool call ID: ${c} for edge ${d}`);let f={id:crypto.randomUUID(),role:"tool",tool_call_id:c,content:JSON.stringify({status:"Handoff processed",targetNodeId:a}),timestamp:Date.now(),processNodeId:b.currentNodeId};b.messages.push(f),x.info(`Appended tool result message for handoff tool call ${c}`)}else x.warn(`Handoff action received for edge ${d}, but could not find corresponding handoff tool call in last assistant message.`)}else x.warn(`Handoff action received for edge ${d}, but the last message was not an assistant message with tool calls.`);J();let g=b.currentNodeId;if(b.currentNodeId=a,b.handoffRequested=void 0,G({type:"handoff",from:g?{nodeId:g}:void 0,toNodeId:a,edgeId:d}),x.info(`Transitioning conv ${A} to node ${b.currentNodeId}`),e.FlowExecutor.conversationStates.set(A,b),K){x.info(`[Debug Step] Paused after handoff to node ${b.currentNodeId} for conv ${A}.`),L();break}x.info(`Continuing loop for conv ${A} after handoff.`);continue}x.error(`Handoff failed for conv ${A}: Successor node for edge ${d} has invalid ID.`),b.lastResponse={success:!1,error:`Handoff failed: Target node for edge ${d} has invalid ID.`},d=j.O;break}if(d===j.E5){x.info(`[Action Handling] Step ${F}: Handling STAY_ON_NODE_ACTION for conv ${A}`),x.info(`Stay on node action received for conv ${A} at step ${F}`);break}x.warn(`Unrecognized action '${d}' received at step ${F} for conv ${A}. Treating as final response.`),d=j.g4;break}}catch(a){if(x.error(`Unhandled error during execution loop for conv ${A}`,{loopError:a}),d!==j.O){let c=a?.details;b.lastResponse={success:!1,error:a instanceof Error?a.message:String(a),errorDetails:a instanceof Error?{name:a.name,message:a.message,stack:a.stack,...c&&"object"==typeof c?c:{}}:void 0},d=j.O}}d===j.O&&"error"!==b.status&&(b.status="error");let M=Date.now()-g,N=b.status||(d===j.g4?"completed":d===j.O?"error":"running");x.info(`Execution finished for conv ${A}. Final Action: ${d}, Final Status: ${N}`,{duration:`${M}ms`}),J(),("completed"===N||"error"===N)&&G({type:"run:done",status:N});try{if(b.updatedAt=Date.now(),"New Conversation"===b.title&&b.messages.length>0){let a=b.messages.find(a=>"user"===a.role);a&&"string"==typeof a.content&&(b.title=a.content.split(" ").slice(0,5).join(" ")+"...",x.verbose(`Updated conversation title for ${A} before final return to: ${b.title}`))}await z(B,b),x.debug(`Saved final state for conversation ${A} before returning.`)}catch(a){x.error(`Failed to save final state for conversation ${A}:`,a)}e.FlowExecutor.conversationStates.set(A,b);let O=()=>{s&&("completed"===b.status||"error"===b.status)&&e.FlowExecutor.conversationStates.delete(A)},P={conversationId:b.conversationId||A,messages:b.messages,usage:b.usage,finalAction:d,sharedState:b};if("paused_debug"===b.status)return x.info(`Returning paused debug state for conv ${A}`),{...P,status:"paused_debug",outputText:"",pendingToolCalls:b.pendingToolCalls};if("error"===b.status||d===j.O){let a,c="Unknown error during execution",d=500;if("object"==typeof b.lastResponse&&null!==b.lastResponse)if("success"in b.lastResponse&&!1===b.lastResponse.success&&"error"in b.lastResponse&&"string"==typeof b.lastResponse.error){if(c=b.lastResponse.error,"errorDetails"in b.lastResponse&&"object"==typeof b.lastResponse.errorDetails&&null!==b.lastResponse.errorDetails){let e=b.lastResponse.errorDetails;(a={message:"string"==typeof e.message?e.message:c,type:"string"==typeof e.type?e.type:void 0,code:"string"==typeof e.code?e.code:void 0,param:"string"==typeof e.param?e.param:void 0,status:"number"==typeof e.status?e.status:void 0,stack:"string"==typeof e.stack?e.stack:void 0,name:"string"==typeof e.name?e.name:void 0}).status&&(d=a.status)}}else try{c=`Unexpected error state object: ${JSON.stringify(b.lastResponse)}`}catch{c="Unexpected error state object (unserializable)"}else"string"==typeof b.lastResponse&&(c=b.lastResponse);return a?a.message=a.message||c:a={message:c},x.error(`Returning error result for conv ${A}`,{errorMessage:c,errorDetails:a,statusCode:d}),"error"!==b.status&&(b.status="error"),O(),{...P,status:"error",outputText:"",error:{message:c,details:a,statusCode:d}}}let Q=b.messages.length>0?b.messages[b.messages.length-1]:null,R="",S="";"object"==typeof b.lastResponse&&null!==b.lastResponse&&"_flujo_xml_tools"in b.lastResponse?(S=b.lastResponse._flujo_xml_tools,R=Q?.role==="assistant"&&"string"==typeof Q.content?Q.content:"",R+=(R?"\n\n":"")+S,b.lastResponse=R):R="string"==typeof b.lastResponse?b.lastResponse:Q?.role==="assistant"&&"string"==typeof Q.content?Q.content:d!==j.Jp||m?"Processing complete.":"";let T=S?void 0:Q?.role==="assistant"?Q.tool_calls:void 0;return x.info(`Returning success result for conv ${A}`,{action:d,status:b.status,flujo:m,requireApproval:o,flujodebug:p}),O(),{...P,status:b.status||(d===j.g4?"completed":"running"),outputText:R,toolCalls:T,pendingToolCalls:b.pendingToolCalls}}},26485:(a,b,c)=>{"use strict";c.d(b,{E5:()=>g,Jp:()=>d,O:()=>f,g4:()=>e});let d="TOOL_CALL",e="FINAL_RESPONSE",f="ERROR",g="STAY_ON_NODE"},27907:a=>{a.exports=function(a){var b=this.has(a)&&delete this.__data__[a];return this.size-=!!b,b}},27950:a=>{a.exports=function(a){return this.__data__.has(a)}},28315:a=>{a.exports=function(a){var b=this.__data__,c=b.delete(a);return this.size=b.size,c}},28418:(a,b,c)=>{var d=c(55229),e=c(21432),f=c(8100);a.exports=function(a){return"function"!=typeof a.constructor||f(a)?{}:d(e(a))}},29584:(a,b,c)=>{var d=c(43882);a.exports=function(a){return d(this.__data__,a)>-1}},32390:(a,b,c)=>{var d=c(11045);a.exports=function(a){var b=new a.constructor(a.byteLength);return new d(b).set(new d(a)),b}},32444:(a,b,c)=>{var d=c(36774),e=c(8100),f=c(97198),g=Object.prototype.hasOwnProperty;a.exports=function(a){if(!d(a))return f(a);var b=e(a),c=[];for(var h in a)"constructor"==h&&(b||!g.call(a,h))||c.push(h);return c}},34022:a=>{a.exports=Array.isArray},34115:(a,b,c)=>{"use strict";c.d(b,{LB:()=>q,UG:()=>u,jM:()=>v});var d=c(29021),e=c(33873),f=c.n(e),g=c(18230),h=c(63129);let i=(0,g.h)("backend/execution/flow/conversationLog"),j=new Set(["run:start","run:done","node:enter","node:exit","handoff","message","message:removed","tool:call","tool:result","usage","subflow:start","subflow:done","error"]),k=/^[A-Za-z0-9_-]+$/,l=f().join((0,h.ok)(),"db","conversation-logs");function m(a){return f().join(l,`${a}.jsonl`)}let n=new Map;function o(a,b){let c=(n.get(a)??Promise.resolve()).catch(()=>{}).then(async()=>{await d.promises.mkdir(l,{recursive:!0}),await d.promises.appendFile(m(a),b)});return n.set(a,c),c.finally(()=>{n.get(a)===c&&n.delete(a)})}function p(a){return`${JSON.stringify(a)}
|
|
7
|
+
`}function q(a){if(j.has(a.type)){if(!k.test(a.conversationId))return void i.warn("Refusing to log event for unsafe conversation id",{conversationId:a.conversationId});(function(a){try{let{FlowExecutor:b}=c(96936),d=b.conversationStates.get(a);if(!d)return!1;return!d.ephemeral}catch(b){return i.warn(`Could not resolve persistence policy for ${a}; not persisting.`,{err:b}),!1}})(a.conversationId)&&o(a.conversationId,p(a)).catch(b=>i.warn(`Failed to append event to conversation log ${a.conversationId}`,{err:b}))}}async function r(a,b){if(0===b.length||a.ephemeral)return;let c=a.conversationId;if(!c||!k.test(c))return;let d=b.map(a=>p({...a,conversationId:c,seq:-1,timestamp:Date.now()})).join("");try{await o(c,d)}catch(a){i.warn(`Failed to append ${b.length} event(s) to conversation log ${c}`,{err:a})}}async function s(a){let b;if(!k.test(a))return;try{b=await d.promises.readFile(m(a),"utf-8")}catch(b){if("ENOENT"===b.code)return;i.error(`Error reading conversation log ${a}:`,b);return}let c=[],e=0;for(let a of b.split("\n"))if(0!==a.trim().length)try{c.push(JSON.parse(a))}catch{e++}return e>0&&i.warn(`Skipped ${e} unparseable line(s) in conversation log ${a} (truncated append?)`),c}function t(a){return JSON.stringify([a.role,a.content,a.tool_calls??null,a.disabled??!1,a.processNodeId??null])}async function u(a,b){if(a.ephemeral)return;let c=a.conversationId;if(!c||!k.test(c))return;let d=(a.messages??[]).filter(a=>"system"!==a.role&&!!a.id),e=await w(c)?b.filter(a=>"system"!==a.role&&!!a.id):[],f=new Map(e.map(a=>[a.id,a])),g=new Set(d.map(a=>a.id)),h=[];for(let a of d){let b=f.get(a.id);b&&t(b)===t(a)||h.push({type:"message",message:a})}for(let a of e)g.has(a.id)||h.push({type:"message:removed",messageId:a.id});await r(a,h)}async function v(a){if(a.ephemeral)return!1;let b=a.conversationId;if(!b||!k.test(b))return!1;let c=await s(b);if(!c)return!1;let d=(function(a){let b=[],c=new Map;for(let d of a)if("message"===d.type){let a=d.message;if(!a||!a.id||"system"===a.role)continue;let e=d.depth??0,f=e>0?{...a,depth:e}:{...a},g=c.get(a.id);void 0!==g?b[g]=f:(c.set(a.id,b.length),b.push(f))}else if("message:removed"===d.type){let a=c.get(d.messageId);if(void 0===a)continue;for(let[e,f]of(b.splice(a,1),c.delete(d.messageId),c))f>a&&c.set(e,f-1)}return b})(c).filter(a=>!((a.depth??0)>0)),e=(a.messages??[]).filter(a=>"system"!==a.role&&!!a.id).map(a=>a.id);if(d.length<=e.length)return!1;let f=new Set(d.map(a=>a.id));return!!e.every(a=>f.has(a))&&(i.info(`Recovered ${d.length-e.length} message(s) from the conversation log for ${b} (snapshot was behind).`),a.messages=d,!0)}async function w(a){if(!k.test(a))return!1;try{return await d.promises.access(m(a)),!0}catch{return!1}}},34693:(a,b,c)=>{var d=c(55e3);a.exports=function(){this.__data__=new d,this.size=0}},34846:a=>{a.exports=function(a,b){for(var c=-1,d=null==a?0:a.length;++c<d&&!1!==b(a[c],c,a););return a}},36774:a=>{a.exports=function(a){var b=typeof a;return null!=a&&("object"==b||"function"==b)}},37624:(a,b,c)=>{var d=c(43882);a.exports=function(a,b){var c=this.__data__,e=d(c,a);return e<0?(++this.size,c.push([a,b])):c[e][1]=b,this}},37794:(a,b,c)=>{var d=c(15144),e=c(32444),f=c(56947);a.exports=function(a){return f(a)?d(a,!0):e(a)}},38093:a=>{a.exports=function(a,b){return a===b||a!=a&&b!=b}},38443:(a,b,c)=>{var d=c(46945),e=c(16478),f=c(38798),g=f&&f.isMap;a.exports=g?e(g):d},38798:(a,b,c)=>{a=c.nmd(a);var d=c(58009),e=b&&!b.nodeType&&b,f=e&&a&&!a.nodeType&&a,g=f&&f.exports===e&&d.process,h=function(){try{var a=f&&f.require&&f.require("util").types;if(a)return a;return g&&g.binding&&g.binding("util")}catch(a){}}();a.exports=h},39545:(a,b,c)=>{a=c.nmd(a);var d=c(96918),e=c(61852),f=b&&!b.nodeType&&b,g=f&&a&&!a.nodeType&&a,h=g&&g.exports===f?d.Buffer:void 0,i=h?h.isBuffer:void 0;a.exports=i||e},42082:a=>{a.exports=function(a){return this.__data__.get(a)}},42995:(a,b,c)=>{a.exports=c(22271)(Object,"create")},43304:(a,b,c)=>{var d=c(6616);a.exports=function(a){return d(a,5)}},43882:(a,b,c)=>{var d=c(38093);a.exports=function(a,b){for(var c=a.length;c--;)if(d(a[c][0],b))return c;return -1}},45905:(a,b,c)=>{var d=c(18376),e=c(23400);a.exports=function(a,b){return d(a,e(a),b)}},46945:(a,b,c)=>{var d=c(78178),e=c(76787);a.exports=function(a){return e(a)&&"[object Map]"==d(a)}},48173:(a,b,c)=>{var d=c(43882),e=Array.prototype.splice;a.exports=function(a){var b=this.__data__,c=d(b,a);return!(c<0)&&(c==b.length-1?b.pop():e.call(b,c,1),--this.size,!0)}},50564:(a,b,c)=>{"use strict";c.d(b,{s:()=>s});var d=c(18230),e=c(8918),f=c(59448),g=c(18975),h=c(1191),i=c(12763),j=c(22124),k=c(31351),l=c(86349),m=c(69088),n=c(96249);let o=globalThis,p=o.__flujoToolApprovals??(o.__flujoToolApprovals=new Map);var q=c(89850);let r=(0,d.h)("backend/flow/execution/handlers/ModelHandler");class s{static extractProviderErrorDetails(a,b){let c=b||a?.message||"Provider returned an unspecified error in the response body.";b&&"string"==typeof a?.message&&a.message&&a.message!==b&&(c=`${b} - ${a.message}`);let d=a?.metadata;if(d){let a;if("string"==typeof d.raw)try{let b=JSON.parse(d.raw);a=b?.error?.message||b?.message||d.raw}catch{a=d.raw}else d.raw&&"object"==typeof d.raw&&(a=d.raw.error?.message||d.raw.message);let b=[];d.provider_name&&b.push(String(d.provider_name)),a&&b.push(a),b.length>0&&(c=`${c} (upstream: ${b.join(": ")})`)}return{message:c,code:a?.code,type:a?.type,param:a?.param,retryAfter:d?.retry_after_seconds!=null?String(d.retry_after_seconds):void 0,providerError:a}}static persistStreamedMessage(a,b){try{let{FlowExecutor:d}=c(96936),e=d.conversationStates.get(a);if(!e||!Array.isArray(e.messages))return;!function(a,b){let c=a.findIndex(a=>a.id===b.id);c>=0?a[c]=b:a.push(b)}(e.messages,b),e.updatedAt=Date.now()}catch(b){r.warn(`Failed to fold streamed message into conversation ${a}`,{err:b})}}static async callModel(a){let b,{modelId:c,prompt:d,messages:e,tools:f,nodeName:g,nodeId:h,toolNameMap:k,maxTurns:l,conversationId:m,requireToolApproval:o}=a;try{let a=await i.modelService.getModel(c);a&&(a.displayName||a.name,a.name,b=a.maxTurns)}catch(a){r.warn(`Failed to fetch model information for prefix: ${a instanceof Error?a.message:String(a)}`)}let t=function(a,b,c=j.m){return"number"==typeof a&&Number.isFinite(a)&&a>0?a:"number"==typeof b&&Number.isFinite(b)&&b>0?b:c}(l,b);r.info("callModel - Single execution",{modelId:c,messagesCount:e.length,toolsCount:f?.length||0,nodeName:g,nodeId:h}),r.verbose("callModel input",a);let u=m?n.$.emitterFor(m):void 0,v=o&&u&&m?async a=>{let b={id:a.id,type:"function",function:{name:a.name,arguments:JSON.stringify(a.args??{})}};return new Promise(a=>{let c;(c=p.get(m))||(c=new Map,p.set(m,c)),c.set(b.id,{toolCall:b,resolve:a}),u({type:"run:awaiting_approval",pendingToolCalls:function(a){let b=p.get(a);return b?Array.from(b.values(),a=>a.toolCall):[]}(m)})})}:void 0,w=u?a=>{let b=h?{...a,processNodeId:h}:a;u({type:"message",message:b,node:h?{nodeId:h}:void 0}),m&&s.persistStreamedMessage(m,b)}:void 0,x=await this.generateCompletion(c,d,e,f,{toolNameMap:k,maxTurns:t,requestToolApproval:v,onTranscriptMessage:w});if(!x.success)return r.verbose("callModel error response",x),{success:!1,error:x.error};let y=x.value,z=y.content||"",A=[...e],B=y.fullResponse?.usage,C=B?{promptTokens:B.prompt_tokens??0,completionTokens:B.completion_tokens??0,totalTokens:B.total_tokens??0}:void 0;if(y.transcript&&y.transcript.length>0){let a=Date.now(),b=y.transcript;b.forEach((c,d)=>{let e=d===b.length-1;A.push({...c,id:c.id??(0,q.A)(),timestamp:c.timestamp??a+d,processNodeId:h,...e&&C?{usage:C}:{}})})}else{let a={id:(0,q.A)(),role:"assistant",content:z,tool_calls:y.fullResponse?.choices?.[0]?.message?.tool_calls,timestamp:Date.now(),processNodeId:h,...C?{usage:C}:{}};A.push(a)}let D=y.fullResponse?.choices?.[0]?.message?.tool_calls?.map(a=>{try{return{name:a.function.name,args:JSON.parse(a.function.arguments),id:a.id,result:""}}catch(b){return r.warn(`Failed to parse tool arguments for call ${a.id}`,{args:a.function.arguments,error:b}),{name:a.function.name,args:{},id:a.id,result:""}}}).filter(Boolean),E={success:!0,value:{content:z,messages:A,fullResponse:y.fullResponse,toolCalls:D}};return r.verbose("callModel single step result",E),E}static async generateCompletion(a,b,d,f,j){r.verbose("generateCompletion input",{modelId:a,prompt:b,messages:d,tools:f});try{let b,h=await i.modelService.getModel(a);if(!h)return{success:!1,error:(0,e.M5)("model_not_found",`Model not found: ${a}`,a)};let l=h.temperature?parseFloat(h.temperature):0,m=await i.modelService.resolveAndDecryptApiKey(h.ApiKey);if(!m)return{success:!1,error:(0,e.M5)("api_key_error","Failed to resolve or decrypt API key",a)};r.verbose(`decrypted api key ${m}`),r.verbose(` baseurl ${h.baseUrl}`);let n=(0,g.P)(d).map(({timestamp:a,...b})=>b);if(f&&f.length>0){let{ToolHandler:a}=c(70834);b=f.map(b=>"function"===b.type&&b.function.parameters?{...b,function:{...b.function,parameters:a.sanitizeSchema(b.function.parameters)}}:b)}let o=(0,k.getCompletionAdapter)(h);r.debug("calling chatcompletion"),r.verbose("calling chatcompletion now with ADAPTER",h.adapter||"openai"),r.verbose("calling chatcompletion now with MODEL",h.name),r.verbose("calling chatcompletion now with TEMP",l),r.verbose("calling chatcompletion now with MESSAGES",n),r.verbose("calling chatcompletion now with TOOLS",b),r.debug("[ModelHandler.generateCompletion] Sending request via adapter",{adapter:h.adapter||"openai",model:h.name});let{completion:p,transcript:q}=await o.createCompletion({model:h,apiKey:m,messages:n,tools:b,temperature:l,toolNameMap:j?.toolNameMap,maxTurns:j?.maxTurns,requestToolApproval:j?.requestToolApproval,onTranscriptMessage:j?.onTranscriptMessage});if(r.debug("[ModelHandler.generateCompletion] Received raw response from OpenAI API",{response:p}),r.verbose("chatcompletion returned"),r.verbose("chatcompletion returned",p),p&&"object"==typeof p&&"error"in p&&p.error){r.warn("API call returned successfully but contained an error object:",JSON.stringify(p.error));let b=p.error,c=s.extractProviderErrorDetails(b),d={success:!1,error:(0,e.M5)("api_error",c.message,a,void 0,{code:c.code,type:c.type,param:c.param,retryAfter:c.retryAfter,providerError:c.providerError})};return r.verbose("generateCompletion returning error from response body",d),d}let t=p?.choices?.[0];if(!t)return r.error("API response missing choices array or first choice.",{response:p}),{success:!1,error:(0,e.M5)("api_error","Invalid response structure from API: Missing choices.",a,void 0,{rawResponse:p})};let u={success:!0,value:{content:t.message?.content||"",messages:[...d],fullResponse:p,transcript:q}};return r.verbose("generateCompletion success result",u),u}catch(c){if(r.error("[ModelHandler.generateCompletion] Caught error during OpenAI API call",{rawError:c}),r.error("--- Error during openai.chat.completions.create ---"),c instanceof Error?(r.error(`Error Name: ${c.name}`),r.error(`Error Message: ${c.message}`),r.error(`Error Stack: ${c.stack}`)):r.error("Caught non-Error object:",c),c instanceof h.Ay.APIError&&(r.error(`API Error Status: ${c.status}`),r.error(`API Error Type: ${c.type}`),r.error(`API Error Code: ${c.code}`),r.error(`API Error Param: ${c.param}`),r.error(`API Error Headers: ${JSON.stringify(c.headers)}`)),r.error("--- End Error Details ---"),c instanceof h.Ay.APIError){let b=c.error,d=s.extractProviderErrorDetails(b,c.message),f=c.headers||{},g=f["retry-after"]??f["Retry-After"],h=void 0!==g?String(g):d.retryAfter,i=f["x-ratelimit-reset"]??f["x-ratelimit-reset-requests"],j={success:!1,error:(0,e.M5)("api_error",d.message,a,void 0,{status:c.status,type:d.type??c.type,code:d.code??c.code,param:d.param??c.param,retryAfter:h,rateLimitReset:void 0!==i?String(i):void 0,providerError:d.providerError,stack:c.stack})};return r.verbose("generateCompletion API error",j),j}let b={success:!1,error:(0,e.M5)("unknown_error",c instanceof Error?c.message:String(c),a,void 0,{stack:c instanceof Error?c.stack:void 0})};return r.verbose("generateCompletion unknown error",b),b}}static async processToolCalls(a){let{toolCalls:b,toolNameMap:c,emit:d}=a;if(r.verbose("processToolCalls input",a),!b||0===b.length){let a={success:!0,value:{toolCallMessages:[],processedToolCalls:[]}};return r.verbose("processToolCalls empty result",a),a}try{let a=[],e=[];for(let g of b){let{id:b,function:{name:h,arguments:i}}=g;try{let g=JSON.parse(i);if(r.info("trying to call tool",h),h.startsWith("handoff_to_")||"handoff"===h){r.info(`Processing handoff tool: ${h}`);let c={handoff:!0,args:g},d=JSON.stringify(c);a.push({id:(0,q.A)(),role:"tool",tool_call_id:b,content:d,timestamp:Date.now()}),e.push({name:h,args:g,id:b,result:d});continue}let j=(0,f.ud)(h,c);if(!j)throw r.error("invalid tool format",h),Error(`Invalid tool name format: ${h}`);let k=j.server,n=j.tool;d?.({type:"tool:call",toolCallId:b,name:h,args:i});let o=j.timeout??m.aI,p=await l.mcpService.callTool(k,n,g,o,a=>d?.({type:"tool:progress",toolCallId:b,name:h,progress:a.progress,total:a.total,message:a.message})),s=p.success?JSON.stringify(p.data):`Error: ${p.error}`;d?.({type:"tool:result",toolCallId:b,name:h,result:s.length>500?`${s.slice(0,500)}…`:s,isError:!p.success}),a.push({id:(0,q.A)(),role:"tool",tool_call_id:b,content:s,timestamp:Date.now()}),e.push({name:h,args:g,id:b,result:s})}catch(f){let c=`Error: ${f instanceof Error?f.message:"Unknown error"}`;d?.({type:"tool:result",toolCallId:b,name:h,result:c,isError:!0}),a.push({id:(0,q.A)(),role:"tool",tool_call_id:b,content:c,timestamp:Date.now()}),e.push({name:h,args:{},id:b,result:c})}}let g={success:!0,value:{toolCallMessages:a,processedToolCalls:e}};return r.verbose("processToolCalls success result",g),g}catch(b){let a={success:!1,error:(0,e.Po)("tool_processing_failed",b instanceof Error?b.message:String(b),"unknown")};return r.verbose("processToolCalls error result",a),a}}static hasToolCalls(a){return!!(a.fullResponse?.choices?.[0]?.message?.tool_calls&&a.fullResponse.choices[0].message.tool_calls.length>0)}}},51234:a=>{var b=/^(?:0|[1-9]\d*)$/;a.exports=function(a,c){var d=typeof a;return!!(c=null==c?0x1fffffffffffff:c)&&("number"==d||"symbol"!=d&&b.test(a))&&a>-1&&a%1==0&&a<c}},51507:a=>{a.exports=function(){this.__data__=[],this.size=0}},51674:(a,b,c)=>{var d=c(61048);a.exports=function(a,b){var c=d(this,a),e=c.size;return c.set(a,b),this.size+=+(c.size!=e),this}},53346:a=>{var b=Function.prototype.toString;a.exports=function(a){if(null!=a){try{return b.call(a)}catch(a){}try{return a+""}catch(a){}}return""}},55e3:(a,b,c)=>{var d=c(51507),e=c(48173),f=c(13396),g=c(29584),h=c(37624);function i(a){var b=-1,c=null==a?0:a.length;for(this.clear();++b<c;){var d=a[b];this.set(d[0],d[1])}}i.prototype.clear=d,i.prototype.delete=e,i.prototype.get=f,i.prototype.has=g,i.prototype.set=h,a.exports=i},55092:(a,b,c)=>{var d=c(18376),e=c(71009);a.exports=function(a,b){return d(a,e(a),b)}},55229:(a,b,c)=>{var d=c(36774),e=Object.create;a.exports=function(){function a(){}return function(b){if(!d(b))return{};if(e)return e(b);a.prototype=b;var c=new a;return a.prototype=void 0,c}}()},56338:a=>{a.exports=function(){return[]}},56705:(a,b,c)=>{var d=c(7898),e=function(){var a=/[^.]+$/.exec(d&&d.keys&&d.keys.IE_PROTO||"");return a?"Symbol(src)_1."+a:""}();a.exports=function(a){return!!e&&e in a}},56947:(a,b,c)=>{var d=c(21211),e=c(68627);a.exports=function(a){return null!=a&&e(a.length)&&!d(a)}},58009:a=>{a.exports="object"==typeof global&&global&&global.Object===Object&&global},58279:a=>{a.exports=function(a,b){for(var c=-1,d=null==a?0:a.length,e=0,f=[];++c<d;){var g=a[c];b(g,c,a)&&(f[e++]=g)}return f}},59448:(a,b,c)=>{"use strict";c.d(b,{$9:()=>g,Y6:()=>e,ud:()=>f});let d="_-_-_";function e(a,b){let c=function(a){let b=0x811c9dc5;for(let c=0;c<a.length;c++)b^=a.charCodeAt(c),b=Math.imul(b,0x1000193);return(b>>>0).toString(36)}(`${a}\0${b}`),d=64-(5+c.length),e=b.replace(/[^a-zA-Z0-9_-]/g,"_").slice(0,Math.max(0,d));return`mcp_${e}_${c}`}function f(a,b){if(b&&b[a])return b[a];if(a.includes(d)){let b=a.split(d);if(3===b.length)return{server:b[1],tool:b[2]}}return null}function g(a,b){return!!b&&!!b[a]||a.includes(d)}},60112:(a,b,c)=>{var d=c(97922),e=Object.prototype,f=e.hasOwnProperty,g=e.toString,h=d?d.toStringTag:void 0;a.exports=function(a){var b=f.call(a,h),c=a[h];try{a[h]=void 0;var d=!0}catch(a){}var e=g.call(a);return d&&(b?a[h]=c:delete a[h]),e}},61048:(a,b,c)=>{var d=c(1291);a.exports=function(a,b){var c=a.__data__;return d(b)?c["string"==typeof b?"string":"hash"]:c.map}},61852:a=>{a.exports=function(){return!1}},62127:(a,b,c)=>{var d=c(70996),e=c(71009),f=c(89095);a.exports=function(a){return d(a,f,e)}},62242:(a,b,c)=>{var d=c(93113),e=c(99303),f=c(98142),g=c(91362),h=c(51674);function i(a){var b=-1,c=null==a?0:a.length;for(this.clear();++b<c;){var d=a[b];this.set(d[0],d[1])}}i.prototype.clear=d,i.prototype.delete=e,i.prototype.get=f,i.prototype.has=g,i.prototype.set=h,a.exports=i},68369:(a,b,c)=>{var d=c(85787),e=c(16478),f=c(38798),g=f&&f.isSet;a.exports=g?e(g):d},68627:a=>{a.exports=function(a){return"number"==typeof a&&a>-1&&a%1==0&&a<=0x1fffffffffffff}},70318:(a,b,c)=>{var d=c(42995);a.exports=function(a,b){var c=this.__data__;return this.size+=+!this.has(a),c[a]=d&&void 0===b?"__lodash_hash_undefined__":b,this}},70834:(a,b,c)=>{"use strict";c.r(b),c.d(b,{ToolHandler:()=>i});var d=c(18230),e=c(8918),f=c(86349),g=c(59448);let h=(0,d.h)("backend/flow/execution/handlers/ToolHandler");class i{static sanitizeSchema(a){if(!a||"object"!=typeof a)return a;let b=JSON.parse(JSON.stringify(a));return"string"===b.type&&b.format&&"enum"!==b.format&&"date-time"!==b.format&&(b.description||(b.description=""),b.description+=` (format: ${b.format})`,delete b.format),b.properties&&Object.keys(b.properties).forEach(a=>{b.properties[a]=i.sanitizeSchema(b.properties[a])}),b.items&&(b.items=i.sanitizeSchema(b.items)),["oneOf","anyOf","allOf"].forEach(a=>{Array.isArray(b[a])&&(b[a]=b[a].map(a=>i.sanitizeSchema(a)))}),b}static prepareTools(a){let{availableTools:b}=a;if(h.verbose("prepareTools input",JSON.stringify(a)),!b||0===b.length){let a={success:!0,value:{tools:[]}};return h.verbose("prepareTools empty result",JSON.stringify(a)),a}try{for(let a of b){if(!a.name)return{success:!1,error:(0,e.Po)("invalid_tool","Tool missing required 'name' property","unknown")};if(!a.inputSchema)return{success:!1,error:(0,e.Po)("invalid_tool",`Tool '${a.name}' missing required 'inputSchema' property`,a.name)}}let a=b.map(a=>({type:"function",function:{name:a.name,description:a.description||`Tool: ${a.name}`,parameters:i.sanitizeSchema(a.inputSchema)}})),c={success:!0,value:{tools:a}};return h.verbose("prepareTools success result",JSON.stringify(c)),c}catch(b){let a={success:!1,error:(0,e.Po)("tool_preparation_failed",b instanceof Error?b.message:String(b),"unknown")};return h.verbose("prepareTools error result",JSON.stringify(a)),a}}static async processMCPNodes(a){let{mcpNodes:b}=a;if(h.verbose("processMCPNodes input",JSON.stringify(a)),!b||0===b.length){let a={success:!0,value:{availableTools:[]}};return h.verbose("processMCPNodes empty result",JSON.stringify(a)),a}try{let a=[];for(let c of b){let b=c.properties;if(b&&b.boundServer){let d=b.boundServer,h=b.enabledTools||[],i=b.toolTimeout;f.mcpService.setNodeRoots(d,c.id,b.roots);let j=await f.mcpService.connectServer(d);if(!j.success)return{success:!1,error:(0,e.Fp)("server_connection_failed",`Failed to connect to MCP server '${d}': ${j.error}`,d,"connect")};let k=await f.mcpService.listServerTools(d);if(k.error)return{success:!1,error:(0,e.Fp)("list_tools_failed",`Failed to list tools for MCP server '${d}': ${k.error}`,d,"listTools")};for(let b of(k.tools||[]).filter(a=>h.includes(a.name)).map(a=>({originalName:a.name,server:d,name:(0,g.Y6)(d,a.name),timeout:i,description:a.description,inputSchema:a.inputSchema})))a.some(a=>a.name===b.name)||a.push(b)}}let c={success:!0,value:{availableTools:a}};return h.verbose("processMCPNodes success result",JSON.stringify(c)),c}catch(b){let a={success:!1,error:(0,e.Fp)("mcp_processing_failed",b instanceof Error?b.message:String(b),"unknown","processMCPNodes")};return h.verbose("processMCPNodes error result",JSON.stringify(a)),a}}}},70996:(a,b,c)=>{var d=c(25589),e=c(34022);a.exports=function(a,b,c){var f=b(a);return e(a)?f:d(f,c(a))}},71009:(a,b,c)=>{var d=c(58279),e=c(56338),f=Object.prototype.propertyIsEnumerable,g=Object.getOwnPropertySymbols;a.exports=g?function(a){return null==a?[]:d(g(a=Object(a)),function(b){return f.call(a,b)})}:e},71226:(a,b,c)=>{var d=c(18376),e=c(89095);a.exports=function(a,b){return a&&d(b,e(b),a)}},72440:(a,b,c)=>{"use strict";c.d(b,{flowService:()=>i});var d=c(89850),e=c(79111),f=c(89392);let g=(0,c(18230).h)("backend/services/flow/index");class h{get flowsCache(){return global.__flujo_flowsCache??null}set flowsCache(a){global.__flujo_flowsCache=a}async loadFlows(){try{if(this.flowsCache)return g.debug("Using cached flows"),this.flowsCache;g.debug("Loading flows from storage");let a=await (0,e.YM)(f.Z.FLOWS,[]);return this.flowsCache=a,g.info("Loaded flows from storage",{count:a.length}),a}catch(a){return g.error("Failed to load flows",a),[]}}async getFlow(a){try{g.debug(`Getting flow by ID: ${a}`);let b=await this.loadFlows(),c=b.find(b=>b.id===a)||null;return c||(g.debug(`Flow ${a} not in cache; reloading from storage before giving up`),b=await (0,e.YM)(f.Z.FLOWS,[]),this.flowsCache=b,c=b.find(b=>b.id===a)||null),g.debug(`Flow ${a} ${c?"found":"not found"}`),c}catch(b){return g.error(`Failed to get flow ${a}`,b),null}}async invalidateExecutionCache(a){try{let{FlowExecutor:b}=await Promise.resolve().then(c.bind(c,96936));b.clearFlowCache(a),g.debug("Invalidated execution flow cache",{flowId:a??"all"})}catch(a){g.warn("Failed to invalidate execution flow cache",a)}}async saveFlow(a){try{let b;g.debug(`Saving flow: ${a.id}`,{name:a.name});let c=await this.loadFlows(),d=c.findIndex(b=>b.id===a.id);return d>=0?(g.debug(`Updating existing flow: ${a.id}`),(b=[...c])[d]=a):(g.debug(`Adding new flow: ${a.id}`),b=[...c,a]),await (0,e.VH)(f.Z.FLOWS,b),this.flowsCache=b,await this.invalidateExecutionCache(a.id),g.info(`Flow ${a.id} saved successfully`),{success:!0}}catch(a){return g.error("Failed to save flow",a),{success:!1,error:a instanceof Error?a.message:"Failed to save flow"}}}async deleteFlow(a){try{g.debug(`Deleting flow: ${a}`);let b=(await this.loadFlows()).filter(b=>b.id!==a);return await (0,e.VH)(f.Z.FLOWS,b),this.flowsCache=b,await this.invalidateExecutionCache(a),g.info(`Flow ${a} deleted successfully`),{success:!0}}catch(b){return g.error(`Failed to delete flow: ${a}`,b),{success:!1,error:b instanceof Error?b.message:"Failed to delete flow"}}}createNode(a,b){g.debug(`Creating new node of type: ${a}`,{position:b});let c={id:(0,d.A)(),type:a,position:b,data:{label:`${"mcp"===a?"MCP":a.charAt(0).toUpperCase()+a.slice(1)} Node`,type:a,properties:{}}};return g.debug(`Node created with ID: ${c.id}`),c}createNewFlow(a="NewFlow"){g.debug(`Creating new flow: ${a}`);let b={id:(0,d.A)(),type:"start",position:{x:250,y:150},data:{label:"Start Node",type:"start",properties:{promptTemplate:""}}},c={id:(0,d.A)(),name:a,nodes:[b],edges:[]};return g.info(`New flow created with ID: ${c.id}`,{name:a}),c}createHistoryEntry(a,b){return g.debug("Creating history entry",{nodeCount:a.length,edgeCount:b.length}),{nodes:[...a],edges:[...b]}}generateSampleFlow(a="Sample Flow"){g.debug(`Generating sample flow: ${a}`);let b={id:(0,d.A)(),name:a,nodes:[{id:"1",type:"start",position:{x:250,y:50},data:{label:"Start Node",type:"start",properties:{prompt:"Enter your query here",systemMessage:"You are a helpful assistant",temperature:0}}},{id:"2",type:"process",position:{x:250,y:200},data:{label:"Process Node",type:"process",properties:{operation:"transform",enabled:!0}}},{id:"3",type:"finish",position:{x:250,y:350},data:{label:"Finish Node",type:"finish",properties:{format:"json",template:'{ "result": {{data}} }'}}},{id:"4",type:"mcp",position:{x:450,y:200},data:{label:"MCP Node",type:"mcp",properties:{channels:2,mode:"parallel"}}}],edges:[{id:"e1-2",source:"1",target:"2",type:"custom"},{id:"e2-3",source:"2",target:"3",type:"custom"}]};return g.info(`Sample flow generated with ID: ${b.id}`,{name:a}),b}async listFlows(){g.debug("listFlows: Entering method");try{let a=await this.loadFlows();return{success:!0,flows:a}}catch(a){return g.warn("listFlows: Failed to list flows:",a),{success:!1,error:a instanceof Error?a.message:"Failed to list flows"}}}}let i=new h},74026:(a,b,c)=>{var d=c(42995),e=Object.prototype.hasOwnProperty;a.exports=function(a){var b=this.__data__;if(d){var c=b[a];return"__lodash_hash_undefined__"===c?void 0:c}return e.call(b,a)?b[a]:void 0}},74502:(a,b,c)=>{var d=c(42995),e=Object.prototype.hasOwnProperty;a.exports=function(a){var b=this.__data__;return d?void 0!==b[a]:e.call(b,a)}},74772:(a,b,c)=>{a.exports=c(22271)(c(96918),"WeakMap")},76787:a=>{a.exports=function(a){return null!=a&&"object"==typeof a}},78178:(a,b,c)=>{var d=c(18313),e=c(13356),f=c(86233),g=c(10110),h=c(74772),i=c(2269),j=c(53346),k="[object Map]",l="[object Promise]",m="[object Set]",n="[object WeakMap]",o="[object DataView]",p=j(d),q=j(e),r=j(f),s=j(g),t=j(h),u=i;(d&&u(new d(new ArrayBuffer(1)))!=o||e&&u(new e)!=k||f&&u(f.resolve())!=l||g&&u(new g)!=m||h&&u(new h)!=n)&&(u=function(a){var b=i(a),c="[object Object]"==b?a.constructor:void 0,d=c?j(c):"";if(d)switch(d){case p:return o;case q:return k;case r:return l;case s:return m;case t:return n}return b}),a.exports=u},78853:a=>{a.exports=function(a,b){return null==a?void 0:a[b]}},79035:(a,b,c)=>{a=c.nmd(a);var d=c(96918),e=b&&!b.nodeType&&b,f=e&&a&&!a.nodeType&&a,g=f&&f.exports===e?d.Buffer:void 0,h=g?g.allocUnsafe:void 0;a.exports=function(a,b){if(b)return a.slice();var c=a.length,d=h?h(c):new a.constructor(c);return a.copy(d),d}},80782:(a,b,c)=>{var d=c(92349),e=c(27907),f=c(74026),g=c(74502),h=c(70318);function i(a){var b=-1,c=null==a?0:a.length;for(this.clear();++b<c;){var d=a[b];this.set(d[0],d[1])}}i.prototype.clear=d,i.prototype.delete=e,i.prototype.get=f,i.prototype.has=g,i.prototype.set=h,a.exports=i},81008:a=>{a.exports=function(a,b){return function(c){return a(b(c))}}},83246:a=>{var b=/\w*$/;a.exports=function(a){var c=new a.constructor(a.source,b.exec(a));return c.lastIndex=a.lastIndex,c}},85701:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=8},85787:(a,b,c)=>{var d=c(78178),e=c(76787);a.exports=function(a){return e(a)&&"[object Set]"==d(a)}},86233:(a,b,c)=>{a.exports=c(22271)(c(96918),"Promise")},89095:(a,b,c)=>{var d=c(15144),e=c(90637),f=c(56947);a.exports=function(a){return f(a)?d(a):e(a)}},89108:a=>{a.exports=function(a,b){var c=-1,d=a.length;for(b||(b=Array(d));++c<d;)b[c]=a[c];return b}},90637:(a,b,c)=>{var d=c(8100),e=c(24363),f=Object.prototype.hasOwnProperty;a.exports=function(a){if(!d(a))return e(a);var b=[];for(var c in Object(a))f.call(a,c)&&"constructor"!=c&&b.push(c);return b}},91362:(a,b,c)=>{var d=c(61048);a.exports=function(a){return d(this,a).has(a)}},91704:(a,b,c)=>{var d=c(22271);a.exports=function(){try{var a=d(Object,"defineProperty");return a({},"",{}),a}catch(a){}}()},92349:(a,b,c)=>{var d=c(42995);a.exports=function(){this.__data__=d?d(null):{},this.size=0}},92642:a=>{var b=Object.prototype.hasOwnProperty;a.exports=function(a){var c=a.length,d=new a.constructor(c);return c&&"string"==typeof a[0]&&b.call(a,"index")&&(d.index=a.index,d.input=a.input),d}},93113:(a,b,c)=>{var d=c(80782),e=c(55e3),f=c(13356);a.exports=function(){this.size=0,this.__data__={hash:new d,map:new(f||e),string:new d}}},95158:(a,b,c)=>{var d=c(55e3),e=c(34693),f=c(28315),g=c(42082),h=c(27950),i=c(11782);function j(a){var b=this.__data__=new d(a);this.size=b.size}j.prototype.clear=e,j.prototype.delete=f,j.prototype.get=g,j.prototype.has=h,j.prototype.set=i,a.exports=j},96016:(a,b,c)=>{var d=c(32390),e=c(23854),f=c(83246),g=c(5113),h=c(598);a.exports=function(a,b,c){var i=a.constructor;switch(b){case"[object ArrayBuffer]":return d(a);case"[object Boolean]":case"[object Date]":return new i(+a);case"[object DataView]":return e(a,c);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return h(a,c);case"[object Map]":case"[object Set]":return new i;case"[object Number]":case"[object String]":return new i(a);case"[object RegExp]":return f(a);case"[object Symbol]":return g(a)}}},96101:a=>{a.exports=function(a,b){for(var c=-1,d=Array(a);++c<a;)d[c]=b(c);return d}},96249:(a,b,c)=>{"use strict";c.d(b,{$:()=>i});var d=c(94735),e=c(34115);let f=(0,c(18230).h)("backend/execution/flow/engine/ExecutionEventBus");class g{getChannel(a){let b=this.channels.get(a);if(!b){let c=new d.EventEmitter;c.setMaxListeners(0),b={emitter:c,seq:0,buffer:[]},this.channels.set(a,b)}return b}cancelCleanup(a){let b=this.cleanupTimers.get(a);b&&(clearTimeout(b),this.cleanupTimers.delete(a))}scheduleCleanup(a,b){this.cancelCleanup(a);let c=setTimeout(()=>{this.cleanupTimers.delete(a);let c=this.channels.get(a);c&&c.seq===b&&(c.emitter.listenerCount("event")>0||this.channels.delete(a))},3e5);"function"==typeof c.unref&&c.unref(),this.cleanupTimers.set(a,c)}emit(a,b){let c=this.getChannel(a),d={...b,conversationId:a,seq:c.seq++,timestamp:Date.now()};return c.buffer.push(d),c.buffer.length>1e3&&c.buffer.shift(),c.emitter.emit("event",d),(0,e.LB)(d),"run:done"===d.type?this.scheduleCleanup(a,c.seq):this.cancelCleanup(a),d}emitterFor(a){return b=>{try{this.emit(a,b)}catch(b){f.warn(`Failed to emit execution event for ${a}`,{err:b})}}}getBufferedSince(a,b){let c=this.channels.get(a);return c?c.buffer.filter(a=>a.seq>=b):[]}currentSeq(a){return this.channels.get(a)?.seq??0}subscribe(a,b){let c=this.getChannel(a);return c.emitter.on("event",b),()=>{c.emitter.off("event",b)}}constructor(){this.channels=new Map,this.cleanupTimers=new Map}}let h=globalThis,i=h.__flujoExecutionEventBus??(h.__flujoExecutionEventBus=new g)},96918:(a,b,c)=>{var d=c(58009),e="object"==typeof self&&self&&self.Object===Object&&self;a.exports=d||e||Function("return this")()},96936:(a,b,c)=>{"use strict";c.r(b),c.d(b,{FlowExecutor:()=>ab});var d=c(18230),e=c(26485),f=c(43304),g=c.n(f),h=c(86028),i=c(72440);let j=(0,d.h)("backend/execution/flow/temp_pocket"),k="default";class l{constructor(){j.debug("BaseNode constructor called"),this.flow_params={},this.node_params={},this.successors=new Map}setParams(a,b){j.debug("setParams called with params",{params:a}),j.verbose("setParams input",JSON.stringify({params:a,node_params:b})),this.flow_params=a,b&&(this.node_params=b),j.debug("setParams finished. flow_params count",{flow_params:this.flow_params?.length,node_params:this.node_params?.length}),j.verbose("setParams result",JSON.stringify({flow_params:this.flow_params,node_params:this.node_params}))}clone(){j.debug("clone called");let a=this._clone();return j.verbose("_clone result",{newNode:a}),a.flow_params=g()(this.flow_params),j.verbose("Cloned flow_params",{flow_params:a.flow_params}),a.node_params=g()(this.node_params),j.verbose("Cloned node_params",{node_params:a.node_params}),a.successors=new Map(this.successors),j.verbose("Cloned successors",{successors:a.successors}),j.verbose("clone finished"),a}addSuccessor(a,b=k){if(j.verbose(`addSuccessor called with action: ${b}`),this.successors.has(b))throw j.error(`Action ${b} already exists`),Error(`Action ${b} already exists`);this.successors.set(b,a),j.debug("addSuccessor finished. Successors",{successors:this.successors})}getSuccessor(a){if(j.debug(`getSuccessor called with name: ${a}`),!this.successors.has(a))return void j.error(`Successor ${a} not found`);let b=this.successors.get(a).clone();return j.debug("getSuccessor finished. Returning successor",{successor:b}),b}async execWrapper(a,b){j.debug("execWrapper called with prepResult",{prepResult:a}),j.verbose("execWrapper input",{prepResult:a,node_params:b});let c=await this.execCore(a,b);return j.debug("execWrapper finished. Result",{result:c}),j.verbose("execWrapper result",c),c}async run(a){j.debug("run called with sharedState",{sharedState:a}),j.debug("Current flow_params at start of run",{flow_params:this.flow_params}),j.verbose("run input",{sharedState:a,flow_params:this.flow_params,node_params:this.node_params});let b=await this.prep(a,this.node_params);j.verbose("run prepResult",b);let c=await this.execWrapper(b,this.node_params);j.verbose("run execResult",c);let d=await this.post(b,c,a,this.node_params);return j.debug("action",{action:d}),j.debug(`run finished. Returning action: ${d}`),j.verbose("run action result",{action:d,prepResult:b,execResult:c}),{action:d,prepResult:b,execResult:c}}}class m extends l{constructor(a){j.debug("Flow constructor called with start",{start:a}),super(),this.start=a}_clone(){j.debug("Flow _clone called");let a=new m(this.start);return j.debug("Flow _clone finished. Returning",{newFlow:a}),a}async getStartNode(){j.debug("getStartNode called");let a=this.start.clone();return j.debug("getStartNode finished. Returning",{clonedStart:a}),a}async execCore(a){throw j.error("Flow node does not support direct execution"),j.verbose("Flow execCore error",JSON.stringify({error:"Flow node does not support direct execution"})),Error("Flow node does not support direct execution")}async prep(a,b){return j.debug("Flow prep called with sharedState",{sharedState:a}),j.verbose("Flow prep input",JSON.stringify({sharedState:a,node_params:b})),j.debug("Flow prep finished. Returning empty object"),j.verbose("Flow prep result",JSON.stringify({})),{}}async post(a,b,c,d){return j.debug("Flow post called with prepResult, execResult, and sharedState",{prepResult:a,execResult:b,sharedState:c}),j.verbose("Flow post input",JSON.stringify({prepResult:a,execResult:b,node_params:d})),j.debug("Flow post finished. Returning DEFAULT_ACTION"),j.verbose("Flow post result",JSON.stringify({action:k})),k}}let n=(0,d.h)("execution/nodes/StartNode.ts");class o extends l{async prep(a,b){n.info("prep() started");let c=b?.properties?.promptTemplate||"";n.info("Extracted promptTemplate",{promptTemplateLength:c.length,promptTemplatePreview:c.length>100?c.substring(0,100)+"...":c});let d={nodeId:b?.id||"",nodeType:"start",systemPrompt:c};return n.info("prep() completed"),d}async execCore(a,b){n.info("execCore() started"),n.verbose("execCore() prepResult",JSON.stringify(a));let c={success:!0};return n.verbose("execCore() execResult",JSON.stringify(c)),n.info("execCore() completed"),c}async post(a,b,c,d){if(n.info("post() started"),n.verbose("post() inputs",JSON.stringify({prepResult:a,execResult:b,nodeParams:d})),h.G.ENABLE_EXECUTION_TRACKER&&Array.isArray(c.trackingInfo.nodeExecutionTracker)&&(c.trackingInfo.nodeExecutionTracker.push({nodeType:"StartNode",nodeId:d?.id||"unknown",nodeName:d?.properties?.name||"Start Node",timestamp:new Date().toISOString()}),n.info("Added StartNode tracking information")),a.systemPrompt){let b={role:"system",content:a.systemPrompt,id:crypto.randomUUID(),timestamp:Date.now()};c.messages.some(a=>"system"===a.role)||(c.messages.push(b),n.debug("Added system message",{contentLength:"string"==typeof b.content?b.content.length:"non-string content",contentPreview:"string"==typeof b.content&&b.content.length>50?b.content.substring(0,50)+"...":b.content}))}n.info("Successors object:",{hasSuccessors:!!this.successors,isMap:this.successors instanceof Map,type:typeof this.successors});let e=this.successors instanceof Map?Array.from(this.successors.keys()):Object.keys(this.successors||{});if(n.info("Actions:",{actionsCount:e.length,actions:e}),e.length>0){let a=e[0];return n.info(`post() completed, returning action: ${a}`),a}return n.info("post() completed, returning default action"),"default"}_clone(){return new o}}var p=c(12763),q=c(86349),r=c(8336);c(87507);let s=(0,d.h)("backend/utils/PromptRenderer");class t{async renderPrompt(a,b,c){let d=c?.renderMode||"rendered",e=c?.includeConversationHistory||!1;s.info(`Rendering prompt for node ${b} in flow ${a}`,{renderMode:d,includeConversationHistory:e});let{prompt:f,excludeModelPrompt:g,excludeStartNodePrompt:h}=await this.findNodePrompt(b,a),i=c?.excludeModelPrompt!==void 0?c?.excludeModelPrompt:g,j=c?.excludeStartNodePrompt!==void 0?c?.excludeStartNodePrompt:h;s.debug("Exclusion settings",{excludeModelPrompt:i,excludeStartNodePrompt:j,fromOptions:{excludeModelPrompt:c?.excludeModelPrompt!==void 0,excludeStartNodePrompt:c?.excludeStartNodePrompt!==void 0}});let k="",l=null;if(!j){let b=await this.findStartNodePrompt(a);b&&(s.debug("Adding start node prompt",{length:b.length}),k+=b+"\n\n")}if(!i){let c=await this.findModelPrompt(b,a);c.prompt&&(s.debug("Adding model prompt",{modelId:c.modelId,length:c.prompt.length}),k+=c.prompt+"\n\n"),l=c.functionCallingSchema,c.reasoningSchema&&(k+=`Please use the following pattern to mark your reasoning: ${c.reasoningSchema}
|
|
8
|
+
|
|
9
|
+
`),l&&(k+=`Please use the following pattern to use a tool: ${l}
|
|
10
|
+
|
|
11
|
+
`),k+=`# GENERAL INFORMATION:
|
|
12
|
+
`,k+=`You are operating in a workflow with other agents, each with it's own responsibilities.
|
|
13
|
+
`,k+=`You will receive a message from the user which may contain tasks that are outside of your scope.
|
|
14
|
+
`,k+=`Focus on the part of the user-message that can be accomplished using the tools provided to you.
|
|
15
|
+
|
|
16
|
+
`,k+=`You may do multiple tool calls.
|
|
17
|
+
|
|
18
|
+
`,k+=`After you completed the user's request to the best of your ability, you can use the 'handoff_to_xxxx' tool.
|
|
19
|
+
|
|
20
|
+
`,k+=`The processing may be handed back to you as part of a loop. In this case repeat processing your instructions as if you were executing them for the first time.
|
|
21
|
+
|
|
22
|
+
`}return f&&(k+=`# YOUR OPERATIONAL INSTRUCTION:
|
|
23
|
+
`,s.debug("Adding node prompt",{length:f.length}),k+=f+`
|
|
24
|
+
`),k=await this.resolveBindings(k,d,l),e&&(s.debug("Adding conversation history placeholder"),k+="\n\n[Conversation History will be included here]"),s.info("Prompt rendering completed",{totalLength:k.length,hasStartNodePrompt:!j,hasModelPrompt:!i,hasNodePrompt:!!f,includesConversationHistory:e}),k}async findStartNodePrompt(a){s.debug(`Finding start node prompt for flow ${a}`);let b=await i.flowService.getFlow(a);if(!b)return s.warn(`Flow not found: ${a}`),"";let c=b.nodes.find(a=>"start"===a.type);if(!c)return s.warn(`Start node not found in flow: ${a}`),"";let d=c.data.properties?.promptTemplate||"";return s.debug("Found start node prompt",{nodeId:c.id,length:d.length}),d}async findModelPrompt(a,b){s.debug(`Finding model prompt for node ${a} in flow ${b}`);let c=await i.flowService.getFlow(b);if(!c)return s.warn(`Flow not found: ${b}`),{prompt:"",modelId:null,reasoningSchema:null,functionCallingSchema:null};let d=c.nodes.find(b=>b.id===a);if(!d)return s.warn(`Node not found: ${a} in flow: ${b}`),{prompt:"",modelId:null,reasoningSchema:null,functionCallingSchema:null};let e=d.data.properties?.boundModel;if(!e)return s.debug(`No model bound to node ${a}`),{prompt:"",modelId:null,reasoningSchema:null,functionCallingSchema:null};let f=await p.modelService.getModel(e);if(!f)return s.warn(`Model not found: ${e}`),{prompt:"",modelId:null,reasoningSchema:null,functionCallingSchema:null};let g=f.promptTemplate||"",h=f.reasoningSchema||null,j=f.functionCallingSchema||null;return s.debug("Found model prompt",{modelId:e,modelName:f.name,length:g.length}),{prompt:g,modelId:e,reasoningSchema:h,functionCallingSchema:j}}async findNodePrompt(a,b){s.debug(`Finding node prompt for node ${a} in flow ${b}`);let c=await i.flowService.getFlow(b);if(!c)return s.warn(`Flow not found: ${b}`),{prompt:"",excludeModelPrompt:!1,excludeStartNodePrompt:!1};let d=c.nodes.find(b=>b.id===a);if(!d)return s.warn(`Node not found: ${a} in flow: ${b}`),{prompt:"",excludeModelPrompt:!1,excludeStartNodePrompt:!1};let e=d.data.properties?.promptTemplate||"",f=d.data.properties?.excludeModelPrompt||!1,g=d.data.properties?.excludeStartNodePrompt||!1;return s.debug("Found node prompt and settings",{length:e.length,excludeModelPrompt:f,excludeStartNodePrompt:g}),{prompt:e,excludeModelPrompt:f,excludeStartNodePrompt:g}}async resolveBindings(a,b,c){b="raw";let d=(0,r.A$)(a);if(0===d.length)return a;s.debug(`Resolving ${d.length} binding pills`,{renderMode:b});let e=this.resolveFormatType(c),f="",g=0;for(let c of d)f+=a.slice(g,c.index),g=c.index+c.fullMatch.length,"resource"===c.kind?f+=await this.renderResourceBinding(c.server,c.name):"raw"===b?f+=c.fullMatch:f+=await this.renderToolBinding(c.server,c.name,e,c.fullMatch);return f+=a.slice(g),s.debug("Resolved binding pills"),f}resolveFormatType(a){return a?a.includes('"tool"')&&a.includes('"parameters"')?"json":a.includes("<")&&a.includes("</")?"xml":"text":"text"}async ensureConnected(a){let b=await q.mcpService.getServerStatus(a);return"connected"!==b.status&&(s.debug(`force connect ${a}`),await q.mcpService.connectServer(a),b=await q.mcpService.getServerStatus(a)),"connected"===b.status}async renderToolBinding(a,b,c,d){for(let e=0;e<3;e++){try{if(await this.ensureConnected(a)){let d=await q.mcpService.listServerTools(a),e=d.tools?.find(a=>a.name===b);if(e)switch(c){case"json":return this.formatToolDescriptionJSON(a,b,e);case"xml":return this.formatToolDescriptionXML(a,b,e);default:{let c=this.formatToolParameters(e);return`[The user is referencing a tool \`tool:${a}__${b}\` (${e.description||"No description"})${c}]`}}s.warn(`Tool not found: ${b} in server ${a}`)}else s.warn(`Server not connected: ${a}`)}catch(a){s.warn(`Error resolving tool pill (attempt ${e+1}): ${d}`,a)}await this.delay(100*Math.pow(2,e+1))}return s.error(`Failed to resolve tool pill after multiple retries: ${d}`),d}async renderResourceBinding(a,b){for(let c=0;c<3;c++){try{if(await this.ensureConnected(a)){let c=await q.mcpService.readResource(a,b);if(c.success&&c.data){let d=this.formatResourceContents(c.data);return`
|
|
25
|
+
[Resource ${b} (from ${a})]:
|
|
26
|
+
${d}
|
|
27
|
+
`}return s.warn(`Failed to read resource ${b} from ${a}: ${c.error}`),`[Resource ${b} from ${a} could not be read: ${c.error||"unknown error"}]`}s.warn(`Server not connected for resource read: ${a}`)}catch(a){s.warn(`Error resolving resource pill (attempt ${c+1}): ${b}`,a)}await this.delay(100*Math.pow(2,c+1))}return`[Resource ${b} from ${a} is currently unavailable]`}formatResourceContents(a){let b=a?.contents;return Array.isArray(b)&&0!==b.length?b.map(a=>"string"==typeof a.text?a.text:"string"==typeof a.blob?`[binary ${a.mimeType||"data"} omitted]`:JSON.stringify(a)).join("\n\n"):"(empty resource)"}formatToolDescriptionJSON(a,b,c){let d={tool:`${b}`,parameters:{}};if(c.inputSchema?.properties)for(let a in c.inputSchema.properties){let b=c.inputSchema.properties[a];d.parameters[a]=b.description||a}return`[Tool: \`tool:${a}__${b}\` (${c.description||"No description"})
|
|
28
|
+
Example usage:
|
|
29
|
+
${JSON.stringify(d,null,2)}]`}formatToolDescriptionXML(a,b,c){let d=`<${b}>
|
|
30
|
+
`;if(c.inputSchema?.properties)for(let a in c.inputSchema.properties){let b=c.inputSchema.properties[a];d+=` <${a}>${b.description||a}</${a}>
|
|
31
|
+
`}return d+=`</${b}>`,`[Tool: \`tool:${a}__${b}\` (${c.description||"No description"})
|
|
32
|
+
Example usage:
|
|
33
|
+
${d}]`}formatToolParameters(a){if(!a.inputSchema||!a.inputSchema.properties)return"";let b=[];for(let c in a.inputSchema.properties){let d=a.inputSchema.properties[c],e=d.description?`(${d.description})`:"";b.push(`\`${c}\` ${e}`)}return b.length>0?` with parameters ${b.join(", ")}`:""}delay(a){return new Promise(b=>setTimeout(b,a))}}let u=new t;var v=c(70834),w=c(50564),x=c(18975),y=c(85701);function z(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 A=(0,d.h)("backend/execution/flow/buildHandoffDescription");async function B(a,b){if(!a)return;if(b.modelNames.has(a))return b.modelNames.get(a);let c=a;try{let b=await p.modelService.getModel(a);b&&(c=b.displayName&&b.displayName.trim()||b.name||a)}catch(b){A.debug("resolveModelName failed; using raw id",{modelId:a,err:b})}return b.modelNames.set(a,c),c}async function C(a,b){if(b.serverConnected.has(a))return b.serverConnected.get(a);let c=!1;try{let b=await q.mcpService.getServerStatus(a);c=b?.status==="connected"}catch(b){A.debug("getServerStatus failed; treating server as offline",{server:a,err:b})}return b.serverConnected.set(a,c),c}async function D(a,b){if(b.flows.has(a))return b.flows.get(a);let c=null;try{c=await i.flowService.getFlow(a)}catch(b){A.debug("getFlow failed while summarising subflow",{flowId:a,err:b})}return b.flows.set(a,c),c}async function E(a,b){let c=Array.isArray(a.mcpNodes)?a.mcpNodes:[],d=[],e=new Set;for(let a of c){let c=a?.properties?.boundServer;if(!c||e.has(c))continue;e.add(c);let f=await C(c,b),g=Array.isArray(a?.properties?.enabledTools)?a.properties.enabledTools:[];d.push({name:c,connected:f,tools:f?g:void 0})}return d}async function F(a,b,c,d){let e=a.data?.type||a.type||"unknown",f=a.data?.label||"Unknown Node",g=a.data?.properties||{},h=a.data?.description,i={label:f,type:e,userDescription:h};if(h&&h.trim())return i;if("subflow"===e){let a=g.subflowId;if(!a)return i.subflowMissing=!0,i;if(b+1>y.A||d.has(a)){i.depthCapReached=!0;let b=await D(a,c);return i.subflowName=b?.name,i}let e=await D(a,c);if(!e)return i.subflowMissing=!0,i;i.subflowName=e.name;let f=new Set(d);f.add(a);let h=(e.nodes||[]).filter(a=>a.data?.type==="process"||a.data?.type==="subflow"||"process"===a.type||"subflow"===a.type);for(let a of(i.children=[],h))i.children.push(await F(a,b+1,c,f));return i}i.modelName=await B(g.boundModel,c);let j=g.promptTemplate;return"string"==typeof j&&j.trim()&&(i.promptSummary=j),i.servers=await E(g,c),i}async function G(a){try{let b=await F(a,0,{modelNames:new Map,serverConnected:new Map,flows:new Map},new Set);return function(a){if(a.userDescription&&a.userDescription.trim())return z(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}${z(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: ${z(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}
|
|
34
|
+
${d}`:b;if(e.length<=1500)return e;let f=1500-b.length-2;return f<=0?b:`${b}
|
|
35
|
+
${z(d,f)}`}(b)}catch(d){let b=a.data?.label||"Unknown Node",c=a.data?.type||a.type||"unknown";return A.warn("buildHandoffDescription failed; falling back to basic description",{label:b,type:c,err:d}),`Hand off execution to ${b} (${c})`}}let H="handoff_to_";var I=c(89850);let J=(0,d.h)("backend/flow/execution/nodes/ProcessNode");class K extends l{async generateHandoffTools(a){J.info("Generating handoff tools");let b=(this.successors instanceof Map?Array.from(this.successors.keys()):Object.keys(this.successors||{})).filter(a=>!a.includes("-mcpEdge")&&!a.endsWith("mcpEdge")&&!a.includes("-mcp"));J.debug("Found standard actions for handoff tools",{actionsCount:b.length,actions:b});let c=[],d=new Set;for(let a of b){let b=this.successors instanceof Map?this.successors.get(a):this.successors[a];if(!b){J.warn(`Target node not found for edge ${a}`);continue}let e=b.node_params?.id||"unknown";d.has(e)||(d.add(e),c.push({id:e,label:b.node_params?.label||"Unknown Node",type:b.node_params?.type||"unknown"}))}let e=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=`${H}${a}`;if(b.has(e)){let c=2;for(;b.has(`${H}${a}_${c}`);)c++;e=`${H}${a}_${c}`}b.add(e),c.set(d.id,e)}return c}(c);a.handoffNameMap=a.handoffNameMap||{};let f=null;try{let b=await i.flowService.getFlow(a.flowId);b&&(f=new Map(b.nodes.map(a=>[a.id,a])))}catch(a){J.warn("Could not load flow for handoff descriptions; using basic descriptions",{err:a})}let g=[];for(let b of c){let c=e.get(b.id)||`handoff_to_${b.id}`;a.handoffNameMap[c]=b.id;let d=f?.get(b.id),h=d?await G(d):`Hand off execution to ${b.label} (${b.type})`;g.push({name:c,description:h,inputSchema:{type:"object",properties:{},required:[]}}),J.debug("Created handoff tool",{toolName:c,targetNodeId:b.id,targetNodeLabel:b.label})}return J.info("Generated handoff tools",{toolsCount:g.length}),g}async prep(a,b){J.info("prep() started");let c=b?.id,d=a.flowId,e=b?.properties?.boundModel,f=b?.properties?.excludeModelPrompt||!1,g=b?.properties?.excludeStartNodePrompt||!1;if(J.debug("Extracted properties",{nodeId:c,flowId:d,boundModel:e,excludeModelPrompt:f,excludeStartNodePrompt:g}),!c||!d)throw J.error("Missing required node or flow ID",{nodeId:c,flowId:d}),Error("Process node requires node ID and flow ID");if(!e)throw J.error("Missing bound model"),Error("Process node requires a bound model");J.info("Using promptRenderer to build the complete prompt");let h=await u.renderPrompt(d,c,{renderMode:"rendered",includeConversationHistory:!1,excludeModelPrompt:f,excludeStartNodePrompt:g});J.debug("Prompt rendered successfully",{completePromptLength:h.length,completePromptPreview:h.length>100?h.substring(0,100)+"...":h}),a.currentNodeId=c;let i=[];if(a.mcpContext&&a.mcpContext.availableTools&&a.mcpContext.availableTools.length>0)J.info("Using MCP tools from shared state",{toolsCount:a.mcpContext.availableTools.length}),i=a.mcpContext.availableTools;else{let a=b?.properties?.mcpNodes||[];if(a.length>0){J.info("No MCP tools found in shared state, processing MCP nodes",{mcpNodesCount:a.length});let b=await v.ToolHandler.processMCPNodes({mcpNodes:a});if(!b.success)throw J.error("Failed to process MCP nodes",{error:b.error}),Error(`Failed to process MCP nodes: ${b.error.message}`);i=b.value.availableTools}}for(let b of(i=[...i,...await this.generateHandoffTools(a)],a.toolNameMap=a.toolNameMap||{},i))b.server&&b.originalName&&(a.toolNameMap[b.name]={server:b.server,tool:b.originalName,timeout:b.timeout});let j={nodeId:c,nodeType:"process",currentPrompt:h,boundModel:e,availableTools:i,messages:[],conversationId:a.conversationId,requireToolApproval:a.requireApproval??!1},k={id:(0,I.A)(),role:"system",content:h,timestamp:Date.now()};return J.info("Added system message from prompt template",{contentLength:h.length,contentPreview:h.length>100?h.substring(0,100)+"...":h}),j.messages=(0,x.U)(a.messages,k),J.info("Assembled node context",{systemMessageCount:1,totalMessageCount:j.messages.length}),J.info("prep() completed",{completePromptLength:h.length,boundModel:e,hasTools:!!j.availableTools?.length,toolsCount:j.availableTools?.length||0,messagesCount:j.messages.length}),j}async execCore(a,b){J.info("execCore() started",{boundModel:a.boundModel,promptLength:a.currentPrompt?.length,messagesCount:a.messages?.length||0}),J.debug("execCore() prepResult",a);try{let c,d;if(a.availableTools&&a.availableTools.length>0){let b=v.ToolHandler.prepareTools({availableTools:a.availableTools});if(!b.success)throw J.error("Failed to prepare tools",{error:b.error}),Error(`Failed to prepare tools: ${b.error.message}`);d=b.value.tools}let e={};for(let b of a.availableTools??[])b.server&&b.originalName&&(e[b.name]={server:b.server,tool:b.originalName,timeout:b.timeout});let f=b?.label||b?.properties?.name||"Process Node",g=a.messages&&a.messages.length>0?a.messages[a.messages.length-1]:null;J.debug(`[ProcessNode ${a.nodeId}] Calling ModelHandler.callModel`,{modelId:a.boundModel,messageCount:a.messages?.length||0,toolCount:d?.length||0,lastMessageType:g?.role,lastMessageToolCallId:g?.role==="tool"?g.tool_call_id:void 0,lastMessageContentPreview:"string"==typeof g?.content?g.content.substring(0,100)+"...":"(non-string content)"});try{(c=await w.s.callModel({modelId:a.boundModel,prompt:a.currentPrompt,messages:a.messages,tools:d,iteration:1,maxIterations:1,maxTurns:b?.properties?.maxTurns,nodeName:f,nodeId:a.nodeId,toolNameMap:e,conversationId:a.conversationId,requireToolApproval:a.requireToolApproval})).success?J.debug(`[ProcessNode ${a.nodeId}] ModelHandler.callModel returned successfully`,{success:!0,hasContent:!!c.value?.content,contentLength:c.value?.content?.length||0,toolCallsCount:c.value?.toolCalls?.length||0}):J.warn(`[ProcessNode ${a.nodeId}] ModelHandler.callModel returned failure state unexpectedly here`,{success:!1,error:c.error})}catch(b){throw J.error(`[ProcessNode ${a.nodeId}] Error calling ModelHandler.callModel`,{error:b}),b}finally{J.debug(`[ProcessNode ${a.nodeId}] Finished attempt to call ModelHandler.callModel`)}if(!c||!c.success){let a=c?.error||{message:"Unknown model execution error after call attempt."};J.error("Model execution error after call attempt",{error:a});let b=Error(`Model execution failed: ${c.error.message}`);throw b.isModelError=!0,b.details={message:c.error.message,type:c.error.type,code:c.error.code,..."model"===c.error.type?{modelId:c.error.modelId}:{},param:"string"==typeof c.error.details?.param?c.error.details.param:void 0,status:"number"==typeof c.error.details?.status?c.error.details.status:void 0,...c.error.details},J.error("Throwing critical model error to abort flow execution",{error:c.error.message,type:c.error.type,code:c.error.code}),b}let h=c.value,i={success:!0,content:h.content||"",messages:h.messages,fullResponse:h.fullResponse,toolCalls:h.toolCalls};return h.toolCalls&&h.toolCalls.length>0&&J.info("Tool calls found in model response",{toolCallsCount:h.toolCalls.length,toolNames:h.toolCalls.map(a=>a.name).join(", ")}),J.info("execCore() completed",{responseLength:i.content?.length||0,messagesCount:i.messages?.length||0,hasToolCalls:!!i.toolCalls?.length}),J.verbose("execCore() execResult",i),i}catch(b){if(b&&"object"==typeof b&&("isCriticalToolError"in b||"isModelError"in b)){let a=b instanceof Error?b.message:String(b);throw J.error("Critical error detected - propagating to abort flow:",{error:a,isModelError:"isModelError"in b,isCriticalToolError:"isCriticalToolError"in b}),b}let a={success:!1,error:b instanceof Error?b.message:String(b),errorDetails:b instanceof Error?{message:b.message,name:b.name,stack:b.stack}:{message:String(b)}};return J.error("execCore() failed",{error:a.error,errorDetails:a.errorDetails}),J.verbose("execCore() errorResult",a),a}}processHandoffToolCalls(a,b){if(!a||0===a.length)return!1;J.info("Processing tool calls for handoff requests",{toolCallsCount:a.length});let c=(this.successors instanceof Map?Array.from(this.successors.keys()):Object.keys(this.successors||{})).filter(a=>!a.includes("-mcpEdge")&&!a.endsWith("mcpEdge")&&!a.includes("-mcp"));for(let d of a){let{name:a}=d;if(a.startsWith("handoff_to_")){let d=b.handoffNameMap?.[a]||a.replace("handoff_to_","");for(let e of c){let c=this.successors instanceof Map?this.successors.get(e):this.successors[e];if(c&&c.node_params?.id===d)return b.handoffRequested={edgeId:e,targetNodeId:d},J.info(`Handoff requested to node ${d}`,{edgeId:e,toolName:a}),!0}}}return!1}async post(a,b,c,d){if(J.debug(`[ProcessNode ${d?.id}] post() method started.`),J.info("post() started",{execResultSuccess:b.success,execResultContentLength:b.content?.length||0,messagesCount:b.messages?.length||0,toolCallsCount:b.toolCalls?.length||0}),!b.success)return c.lastResponse={success:!1,error:b.error,errorDetails:b.errorDetails},Array.isArray(c.trackingInfo.nodeExecutionTracker),J.warn(`Execution failed for node ${d?.id}. Returning ERROR_ACTION.`),e.O;if(c.lastResponse=b.content||"",b.messages&&b.messages.length>0&&(c.messages=b.messages.filter(a=>"system"!==a.role),J.info("Updated messages in sharedState (system prompt excluded)",{messagesCount:c.messages.length})),h.G.ENABLE_EXECUTION_TRACKER&&Array.isArray(c.trackingInfo.nodeExecutionTracker)&&(c.trackingInfo.nodeExecutionTracker.push({nodeType:"ProcessNode",nodeId:d?.id||"unknown",nodeName:d?.properties?.name||"Process Node",modelDisplayName:a.modelDisplayName||"Unknown Model",modelTechnicalName:a.boundModel||"unknown",allowedTools:d?.properties?.allowedTools?.join(", "),timestamp:new Date().toISOString()}),J.info("Added ProcessNode tracking information",{modelDisplayName:a.modelDisplayName,modelTechnicalName:a.boundModel})),this.processHandoffToolCalls(b.toolCalls,c)&&c.handoffRequested){let a=c.handoffRequested.edgeId;return J.info(`Handoff requested via tool call, returning edge ID: ${a}`),a}let f=b.toolCalls?.filter(a=>!a.name.startsWith("handoff_to_"));return f&&f.length>0?(J.info("Non-handoff tool calls detected, returning TOOL_CALL_ACTION"),e.Jp):(J.info("No tool calls or handoff requested, returning FINAL_RESPONSE_ACTION"),e.g4)}_clone(){return new K}}var L=c(8918);let M=(0,d.h)("backend/flow/execution/handlers/MCPHandler");class N{static async executeMCP(a){let{mcpServer:b,enabledTools:c,nodeId:d,nodeRoots:e}=a;M.verbose("executeMCP input",JSON.stringify(a));try{d&&q.mcpService.setNodeRoots(b,d,e);let a=await q.mcpService.getServerStatus(b);if("connected"!==a.status){let a=await q.mcpService.connectServer(b);if(!a.success){let c={success:!1,error:(0,L.Fp)("server_connection_failed",`Failed to connect to MCP server: ${a.error}`,b,"connect")};return M.verbose("executeMCP connection error",JSON.stringify(c)),c}}let f=await q.mcpService.listServerTools(b);if(f.error){let a={success:!1,error:(0,L.Fp)("list_tools_failed",`Failed to list tools for server: ${f.error}`,b,"listTools")};return M.verbose("executeMCP list tools error",JSON.stringify(a)),a}let g={success:!0,value:{server:b,tools:f.tools||[],enabledTools:c}};return M.verbose("executeMCP success result",JSON.stringify(g)),g}catch(c){let a={success:!1,error:(0,L.Fp)("mcp_execution_failed",c instanceof Error?c.message:String(c),b,"executeMCP")};return M.verbose("executeMCP execution error",JSON.stringify(a)),a}}}var O=c(59448);let P=(0,d.h)("backend/flow/execution/nodes/MCPNode");class Q extends l{async prep(a,b){P.info("prep() started");let c=b?.id||"",d=b?.properties?.boundServer,e=b?.properties?.enabledTools||[],f=b?.properties?.roots||[];if(!d)throw P.error("Missing bound server"),Error("MCP node requires a bound server");return P.info("prep() completed",{mcpServer:d,enabledToolsCount:e.length,nodeRootsCount:f.length}),{nodeId:c,nodeType:"mcp",mcpServer:d,enabledTools:e,nodeRoots:f}}async execCore(a,b){P.info("execCore() started",{mcpServer:a.mcpServer}),P.verbose("execCore() prepResult",JSON.stringify(a));try{let b=await N.executeMCP({mcpServer:a.mcpServer,enabledTools:a.enabledTools,nodeId:a.nodeId,nodeRoots:a.nodeRoots});if(!b.success)throw P.error("MCP execution failed",{error:b.error}),Error(`MCP execution failed: ${b.error.message}`);let c={success:!0,server:b.value.server,tools:b.value.tools,enabledTools:b.value.enabledTools};return P.info("execCore() completed",{server:c.server,toolsCount:c.tools?.length||0,enabledToolsCount:c.enabledTools?.length||0}),P.verbose("execCore() execResult",JSON.stringify(c)),c}catch(b){let a={success:!1,error:b instanceof Error?b.message:String(b)};return P.error("execCore() failed",{error:a.error}),P.verbose("execCore() errorResult",JSON.stringify(a)),a}}async post(a,b,c,d){if(P.info("post() started",{server:b.server,toolsCount:b.tools?.length||0,enabledToolsCount:b.enabledTools?.length||0}),P.verbose("post() inputs",JSON.stringify({prepResult:a,execResult:b,nodeParams:d})),h.G.ENABLE_EXECUTION_TRACKER&&Array.isArray(c.trackingInfo.nodeExecutionTracker)&&(c.trackingInfo.nodeExecutionTracker.push({nodeType:"MCPNode",nodeId:d?.id||"unknown",nodeName:d?.properties?.name||"MCP Node",timestamp:new Date().toISOString()}),P.info("Added MCPNode tracking information")),b.success&&b.server&&b.tools){let a=d?.properties?.toolTimeout,e=b.tools.filter(a=>b.enabledTools?.includes(a.name)).map(c=>({...c,originalName:c.name,server:b.server,name:(0,O.Y6)(b.server,c.name),timeout:a}));if(c.mcpContext){let a=[...c.mcpContext.availableTools||[]];for(let b of e)a.some(a=>a.name===b.name)||a.push(b);c.mcpContext.availableTools=a}else c.mcpContext={server:b.server,availableTools:e};for(let a of(c.toolNameMap=c.toolNameMap||{},e))c.toolNameMap[a.name]={server:b.server,tool:a.originalName,timeout:a.timeout};let f=e.map(a=>a.name);P.info("Stored MCP context in shared state",{server:b.server,availableToolsCount:e.length,availableToolNames:f.length>10?f.slice(0,10).join(", ")+"...":f.join(", "),totalToolsCount:c.mcpContext.availableTools.length})}P.info("post() completed"),P.info("Successors object:",{hasSuccessors:!!this.successors,isMap:this.successors instanceof Map,type:typeof this.successors});let e=this.successors instanceof Map?Array.from(this.successors.keys()):Object.keys(this.successors||{});if(P.info("Actions:",{actionsCount:e.length,actions:e}),e.length>0){let a=e[0];return P.info(`Returning action: ${a}`),a}return"default"}_clone(){return new Q}}let R=(0,d.h)("backend/flow/execution/nodes/FinishNode");class S extends l{async prep(a,b){R.debug("prep() started");let c={nodeId:b?.id||"",nodeType:"finish",messages:a.messages};return R.debug("prep() completed",{messagesCount:c.messages.length,hasSystemPrompt:c.messages.some(a=>"system"===a.role)}),c}async execCore(a,b){R.debug("execCore() started",{messagesCount:a.messages.length}),R.verbose("execCore() prepResult",JSON.stringify(a));let c={success:!0};return R.verbose("execCore() execResult",JSON.stringify(c)),R.info("execCore() completed"),c}async post(a,b,c,d){R.info("post() started",{messagesCount:a.messages.length}),R.verbose("post() inputs",JSON.stringify({prepResult:a,execResult:b,nodeParams:d})),h.G.ENABLE_EXECUTION_TRACKER&&Array.isArray(c.trackingInfo.nodeExecutionTracker)&&(c.trackingInfo.nodeExecutionTracker.push({nodeType:"FinishNode",nodeId:d?.id||"unknown",nodeName:d?.properties?.name||"Finish Node",timestamp:new Date().toISOString()}),R.info("Added FinishNode tracking information"));let f=a.messages[a.messages.length-1];f&&"assistant"===f.role&&f.content&&("string"==typeof f.content?c.lastResponse=f.content:c.lastResponse={content:f.content,role:f.role}),R.info("Successors object:",{hasSuccessors:!!this.successors,isMap:this.successors instanceof Map,type:typeof this.successors});let g=this.successors instanceof Map?Array.from(this.successors.keys()):Object.keys(this.successors||{});if(R.info("Actions:",{actionsCount:g.length,actions:g}),g.length>0){let a=g[0];return R.info(`post() completed, returning action: ${a}`),a}return R.info("post() completed, returning FINAL_RESPONSE_ACTION"),e.g4}_clone(){return new S}}let T=(0,d.h)("backend/execution/flow/nodes/SubflowNode");class U extends l{async prep(a,b){let d=b?.properties?.subflowId,e=b?.properties?.promptTemplate?.trim(),f=b?.properties?.outputMode!=="final-only",g={nodeId:b?.id||"",nodeType:"subflow",subflowId:d,depth:(a.runDepth??0)+1,parentRunId:a.conversationId,showSteps:f,emit:a.emit,nodeName:b?.properties?.name};if(e?g.inputText=e:g.messages=function(a){let b=[];for(let d of a){var c;if("system"===d.role||"tool"===d.role||"user"===d.role&&"string"==typeof d.content&&"The handoff was successful. Continue"===d.content.trim()||"assistant"===d.role&&Array.isArray(d.tool_calls)&&d.tool_calls.length>0||!("string"==typeof(c=d.content)?c.trim().length>0:!!Array.isArray(c)&&c.length>0))continue;let{processNodeId:a,...e}=d;b.push({...e})}return b}(a.messages),d)try{let{flowService:a}=await Promise.resolve().then(c.bind(c,72440)),b=await a.getFlow(d);b?.name&&(g.subflowName=b.name)}catch{}return T.info("prep() completed",{subflowId:d,depth:g.depth,mode:e?"promptTemplate":"history",historyCount:g.messages?.length,showSteps:f}),g}async execCore(a,b){if(!a.subflowId)return{success:!1,error:"Subflow node has no flow selected (subflowId is empty)."};let{runFlow:d}=await Promise.resolve().then(c.bind(c,26331)),e=a.emit,f={nodeId:a.nodeId,nodeName:a.nodeName,nodeType:"subflow"},g=a.subflowId,h=e&&a.showSteps?b=>{let c=(b.depth??0)+1;return"run:start"===b.type?void e({type:"subflow:start",node:f,subflowId:g,subflowName:a.subflowName,depth:c}):"run:done"===b.type?void e({type:"subflow:done",node:f,subflowId:g,status:b.status,depth:c}):"message"===b.type?void e({...b,depth:c,message:{...b.message,depth:c}}):void e({...b,depth:c})}:void 0;T.info("execCore() running subflow",{subflowId:a.subflowId,depth:a.depth,showSteps:a.showSteps,foldingEvents:!!h});let i=await d({flowId:a.subflowId,...a.messages?{messages:a.messages}:{prompt:a.inputText??""},mode:"ephemeral",flujo:!0,requireApproval:!1,debug:!1,depth:a.depth,parentRunId:a.parentRunId,...h?{emit:h}:{}});return"error"===i.status?{success:!1,error:i.error?.message||"Subflow execution failed",errorDetails:i.error?.details,subStatus:i.status}:{success:!0,outputText:i.outputText,subStatus:i.status}}async post(a,b,c,d){if(h.G.ENABLE_EXECUTION_TRACKER&&Array.isArray(c.trackingInfo.nodeExecutionTracker)&&c.trackingInfo.nodeExecutionTracker.push({nodeType:"SubflowNode",nodeId:d?.id||"unknown",nodeName:d?.properties?.name||"Subflow Node",timestamp:new Date().toISOString()}),!b.success)return T.error("Subflow failed",{subflowId:a.subflowId,error:b.error}),c.lastResponse={success:!1,error:b.error||"Subflow execution failed",errorDetails:b.errorDetails},e.O;let f=b.outputText??"",g={role:"assistant",content:f,id:crypto.randomUUID(),timestamp:Date.now(),processNodeId:d?.id};c.messages.push(g),c.lastResponse=f;let i=this.successors instanceof Map?Array.from(this.successors.keys()):Object.keys(this.successors||{});if(i.length>0){let a=i[0];return T.info(`post() completed, handing off via action: ${a}`),a}return T.info("post() completed, no successor → FINAL_RESPONSE_ACTION"),e.g4}_clone(){return new U}}let V=(0,d.h)("backend/flow/execution/FlowConverter");class W{static convert(a){V.info("Converting React Flow to Pocket Flow",{flowName:a.name,nodeCount:a.nodes.length,edgeCount:a.edges.length}),V.verbose("convert input",JSON.stringify({flowName:a.name,nodeCount:a.nodes.length,edgeCount:a.edges.length}));let b=new Map;for(let c of a.nodes){V.debug(`Creating node: ${c.id} (${c.type})`);let a=this.createNode(c);b.set(c.id,a)}for(let c of a.edges){V.debug(`Connecting edge: ${c.id} (${c.source} -> ${c.target})`);let a=b.get(c.source),d=b.get(c.target);if(a&&d)if(c.data?.edgeType==="mcp"){let b,e;V.info(`Handling MCP connection: ${c.id} (${c.source} -> ${c.target})`),a instanceof K?(b=a,e=d):d instanceof K&&(b=d,e=a),b&&e?(b.node_params.properties||(b.node_params.properties={}),b.node_params.properties.mcpNodes||(b.node_params.properties.mcpNodes=[]),b.node_params.properties.mcpNodes.push({id:e.node_params.id,properties:e.node_params.properties}),V.info("Stored MCP node in Process node properties",{processNodeId:b.node_params.id,mcpNodeId:e.node_params.id})):V.warn(`Invalid MCP connection: ${c.id}. Could not find Process and MCP nodes.`,{sourceNodeType:a.constructor.name,targetNodeType:d.constructor.name})}else{let b=c.id||"default";a.addSuccessor(d,b),c.data?.bidirectional&&(d.addSuccessor(a,`${b}__reverse`),V.info(`Connected nodes (bidirectional): ${c.target} -> ${c.source} with action: ${b}__reverse`)),V.info(`Connected nodes: ${c.source} -> ${c.target} with action: ${b}`),a.successors instanceof Map?V.debug("Source node successors after connection:",{sourceNodeId:c.source,successorsCount:a.successors.size,successorsKeys:Array.from(a.successors.keys()),hasTargetNode:a.successors.has(b)}):V.warn("Source node successors is not a Map:",{sourceNodeId:c.source,successorsType:typeof a.successors})}else V.warn(`Failed to connect edge: ${c.id}`,{sourceExists:!!a,targetExists:!!d})}let c=a.nodes.find(a=>"start"===a.type);if(!c)throw V.error("No start node found in flow"),Error("Flow must have a start node");V.debug(`Found start node: ${c.id}`);let d=b.get(c.id);if(!d)throw V.error(`Failed to retrieve start node from map: ${c.id}`),Error("Failed to create start node");let e=new m(d);return V.debug("Created Pocket Flow with start node"),V.info("Flow conversion completed successfully",{nodeCount:b.size}),V.verbose("convert result",JSON.stringify({flowStartNodeId:e.node_params?.id||"unknown",nodesCount:b.size})),e}static createNode(a){let b,c;switch(V.debug(`Creating node of type: ${a.type}`,{nodeId:a.id,label:a.data.label}),V.verbose("createNode input",JSON.stringify({nodeId:a.id,nodeType:a.type,label:a.data.label,properties:a.data.properties})),a.type){case"start":b=new o,c={id:a.id,label:a.data.label,type:"start",properties:a.data.properties||{name:a.data.label}};break;case"process":b=new K,c={id:a.id,label:a.data.label,type:"process",properties:a.data.properties||{name:a.data.label}};break;case"mcp":b=new Q,c={id:a.id,label:a.data.label,type:"mcp",properties:a.data.properties||{name:a.data.label}};break;case"finish":b=new S,c={id:a.id,label:a.data.label,type:"finish",properties:a.data.properties||{name:a.data.label}};break;case"subflow":b=new U,c={id:a.id,label:a.data.label,type:"subflow",properties:a.data.properties||{name:a.data.label}};break;default:throw V.error(`Unknown node type: ${a.type}`,{nodeId:a.id}),Error(`Unknown node type: ${a.type}`)}return b.setParams({},c),V.debug("Node created and parameters set",{nodeId:a.id,type:a.type,propertiesKeys:Object.keys(c.properties||{})}),V.verbose("createNode result",JSON.stringify({nodeId:a.id,nodeType:a.type,nodeParams:c})),b}}let X=(0,d.h)("backend/execution/flow/engine/PocketflowEngine");class Y{clearCache(a){a?this.pocketFlowCache.delete(a):this.pocketFlowCache.clear()}async loadAndConvertFlow(a){if(this.pocketFlowCache.has(a))return X.debug(`Using cached Pocket Flow for flowId: ${a}`),this.pocketFlowCache.get(a).clone();X.verbose(`Loading and converting flow for flowId: ${a}`);let b=await i.flowService.getFlow(a);if(!b)throw X.error(`Flow not found for flowId: ${a}`),Error(`Flow not found: ${a}`);X.info(`Found flow: ${b.name}`,{flowId:b.id,nodeCount:b.nodes.length,edgeCount:b.edges.length});let c=W.convert(b);return this.pocketFlowCache.set(a,c),X.verbose(`Flow ${a} converted and cached.`),c.clone()}async findNodeById(a,b){X.verbose(`Searching for node ${b} in flow ${a.node_params?.id}`);let c=await a.getStartNode(),d=[c],e=new Set,f=c.node_params?.id;for(f?e.add(f):X.warn("Start node is missing an ID in its parameters.");d.length>0;){let a=d.shift();if(a.node_params?.id===b)return X.verbose(`Found node ${b}`),a;if(a.successors instanceof Map)for(let b of a.successors.values()){let a=b.node_params?.id;"string"==typeof a&&a.length>0&&!e.has(a)&&(e.add(a),d.push(b.clone()))}}X.warn(`Node ${b} not found in flow.`)}async resolveNode(a){let b,{conversationId:c,flowId:d,currentNodeId:e}=a,f=await this.loadAndConvertFlow(d);if(e)(b=await this.findNodeById(f,e))?X.info(`Resuming conversation ${c} at node ${e}`):(X.warn(`Resuming conversation ${c}, but node ${e} not found. Starting from beginning.`),b=await f.getStartNode());else{let d=a.messages.length>0?a.messages[a.messages.length-1]:null;d?.processNodeId?(X.info(`Found processNodeId ${d.processNodeId} in last message. Attempting to resume from this node.`),(b=await this.findNodeById(f,d.processNodeId))?X.info(`Resuming conversation ${c} from node ${d.processNodeId} based on last message.`):(X.warn(`Could not find node ${d.processNodeId} from last message. Starting from beginning.`),b=await f.getStartNode())):(b=await f.getStartNode(),X.info(`Starting conversation ${c} from the beginning.`))}if(!b)throw Error("Execution error: Cannot find starting node.");let g=b.node_params?.id;if("string"!=typeof g||0===g.length)throw Error(`Execution error: Node ${b.constructor.name} is missing an ID.`);return{handle:b,id:g,type:b.node_params?.type||"unknown",name:b.node_params?.label||"Unknown Node"}}async resolveHandoff(a,b){let{flowId:c,currentNodeId:d}=a;if(!d||!b)return{isSuccessorEdge:!1,targetNodeId:null};let e=await this.loadAndConvertFlow(c),f=await this.findNodeById(e,d);if(!f||!f.successors.has(b))return{isSuccessorEdge:!1,targetNodeId:null};let g=f.getSuccessor(b),h=g?.node_params?.id,i=g?.node_params?.type;return{isSuccessorEdge:!0,targetNodeId:"string"==typeof h&&h.length>0?h:null,targetNodeType:"string"==typeof i?i:null}}async runNode(a,b,c){let d=a.handle;c&&(b.emit=c);try{X.debug(`[PocketflowEngine] Calling run() on node ${a.id} (${a.type})`);let c=await d.run(b);return X.debug(`[PocketflowEngine] Node ${a.id} returned action: "${c.action}"`),{action:c.action,prepResult:c.prepResult,execResult:c.execResult}}finally{delete b.emit}}constructor(){this.pocketFlowCache=new Map}}let Z=(0,d.h)("backend/execution/flow/FlowExecutor"),$=["messages","availableTools","fullResponse","emit"];function _(a){let{messages:b,executionTrace:c,emit:d,mcpContext:e,...f}=a,h=g()(f);return h.messageCount=b?.length??0,e&&(h.mcpContext={server:e.server,availableTools:[]}),h}function aa(a){if(!a||"object"!=typeof a)return a;let b=g()(a);for(let a of $)a in b&&delete b[a];return b}class ab{static get conversationStates(){return global.__flujo_conversation_states||(global.__flujo_conversation_states=new Map),global.__flujo_conversation_states}static get engine(){return global.__flujo_flow_engine||(global.__flujo_flow_engine=new Y),global.__flujo_flow_engine}static set engine(a){global.__flujo_flow_engine=a}static clearFlowCache(a){this.engine.clearCache(a)}static resolveHandoff(a,b){return this.engine.resolveHandoff(a,b)}static async peekNextNodeId(a){try{return(await this.engine.resolveNode(a)).id}catch{return null}}static async executeStep(a,b){let c,d,f,{conversationId:g,flowId:i,currentNodeId:j}=a;if("string"!=typeof g||0===g.length)return Z.error("executeStep called without a valid conversationId in sharedState."),a.lastResponse={success:!1,error:"Internal error: Missing conversationId."},{sharedState:a,action:e.O};Z.debug(`executeStep called for conversation ${g}`,{flowId:i,currentNodeId:j});let k=h.G.ENABLE_EXECUTION_TRACKER||!!a.debugMode,l=j;try{let e=await this.engine.resolveNode(a);l=e.id,a.currentNodeId=e.id,Z.info(`Executing step for node ${e.id} (${e.type}) in conversation ${g}`),k&&!a.executionTrace&&(a.executionTrace=[]),c=_(a),b?.({type:"node:enter",node:{nodeId:e.id,nodeName:e.name,nodeType:e.type}});let h=await this.engine.runNode(e,a,b),i=h.action;d=h.prepResult,f=h.execResult,b?.({type:"node:exit",node:{nodeId:e.id,nodeName:e.name,nodeType:e.type},action:i}),Z.debug(`Node ${e.id} finished with action: ${i} for conversation ${g}`);let j=_(a);if(k&&a.executionTrace){let b=a.executionTrace.length,h={stepIndex:b,nodeId:e.id,nodeType:e.type,nodeName:e.name,timestamp:new Date().toISOString(),actionTaken:i,stateBefore:c,stateAfter:j,prepResultSnapshot:aa(d),execResultSnapshot:aa(f)};a.executionTrace.push(h),Z.verbose(`Appended step ${b} to execution trace for conversation ${g}`)}return this.conversationStates.set(g,a),Z.debug(`[FlowExecutor] Returning from executeStep for node ${e.id} with action: "${i}"`),{sharedState:a,action:i}}catch(i){let f=l||"unknown node";Z.error(`Error during node execution step for ${f} in conversation ${g}`,{error:i});let h=i?.details;if(a.lastResponse={success:!1,error:i instanceof Error?i.message:String(i),errorDetails:i instanceof Error?{name:i.name,message:i.message,stack:i.stack,...h&&"object"==typeof h?h:{}}:{message:String(i)}},a.currentNodeId=l,b?.({type:"error",node:l?{nodeId:l}:void 0,message:i instanceof Error?i.message:String(i)}),k&&a.executionTrace){let b=a.executionTrace.length,h={stepIndex:b,nodeId:f,nodeType:"unknown",nodeName:"Unknown Node",timestamp:new Date().toISOString(),actionTaken:e.O,stateBefore:c??_(a),stateAfter:_(a),prepResultSnapshot:d?aa(d):null,execResultSnapshot:{success:!1,error:a.lastResponse}};a.executionTrace.push(h),Z.verbose(`Appended ERROR step ${b} to execution trace for conversation ${g}`)}return this.conversationStates.set(g,a),{sharedState:a,action:e.O}}}}},97198:a=>{a.exports=function(a){var b=[];if(null!=a)for(var c in Object(a))b.push(c);return b}},97922:(a,b,c)=>{a.exports=c(96918).Symbol},98142:(a,b,c)=>{var d=c(61048);a.exports=function(a){return d(this,a).get(a)}},99303:(a,b,c)=>{var d=c(61048);a.exports=function(a){var b=d(this,a).delete(a);return this.size-=!!b,b}}};
|