flujo-ai 3.19.0 → 3.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-build-manifest.json +213 -206
- package/.next/app-path-routes-manifest.json +9 -8
- package/.next/build-manifest.json +5 -5
- package/.next/prerender-manifest.json +18 -18
- package/.next/react-loadable-manifest.json +8 -8
- package/.next/routes-manifest.json +8 -0
- package/.next/server/app/_not-found/page.js +2 -2
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +1 -1
- package/.next/server/app/api/backup/route.js +1 -1
- package/.next/server/app/api/backup/route.js.nft.json +1 -1
- package/.next/server/app/api/backup/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/browse/route.js +1 -1
- package/.next/server/app/api/browse/route.js.nft.json +1 -1
- package/.next/server/app/api/browse/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/cwd/route.js +1 -1
- package/.next/server/app/api/cwd/route.js.nft.json +1 -1
- package/.next/server/app/api/cwd/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/encryption/secure/route.js +1 -1
- package/.next/server/app/api/encryption/secure/route.js.nft.json +1 -1
- package/.next/server/app/api/encryption/secure/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/env/route.js +1 -1
- package/.next/server/app/api/env/route.js.nft.json +1 -1
- package/.next/server/app/api/env/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/[id]/route.js +1 -1
- package/.next/server/app/api/flow/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/compile/route.js +1 -1
- package/.next/server/app/api/flow/compile/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/compile/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/generate/route.js +1 -1
- package/.next/server/app/api/flow/generate/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/generate/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/improve/route.js +1 -1
- package/.next/server/app/api/flow/improve/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/improve/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/prompt-renderer/route.js +1 -1
- package/.next/server/app/api/flow/prompt-renderer/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/prompt-renderer/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/quick-chat/route.js +1 -1
- package/.next/server/app/api/flow/quick-chat/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/quick-chat/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/repair/route.js +1 -1
- package/.next/server/app/api/flow/repair/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/repair/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/route.js +1 -1
- package/.next/server/app/api/flow/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/git/route.js +1 -1
- package/.next/server/app/api/git/route.js.nft.json +1 -1
- package/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/init/route.js +1 -1
- package/.next/server/app/api/init/route.js.nft.json +1 -1
- package/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/local-models/capability/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/local-models/pull/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/local-models/suggest/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/cancel/route.js +1 -1
- package/.next/server/app/api/mcp/cancel/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/[name]/prompts/get/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/prompts/route.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/prompts/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/[name]/prompts/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/[name]/resources/read/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/resources/route.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/resources/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/[name]/resources/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/route.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/[name]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/status/route.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/status/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/[name]/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/tools/route.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/tools/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/[name]/tools/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/servers/route.js +1 -1
- package/.next/server/app/api/mcp/servers/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/test-connection/route.js +1 -1
- package/.next/server/app/api/mcp/test-connection/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/test-connection/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/test-connection/stream/route.js +1 -1
- package/.next/server/app/api/mcp/test-connection/stream/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/test-connection/stream/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp-registry/route.js +1 -1
- package/.next/server/app/api/mcp-registry/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp-registry/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp-registry/spotlight/route.js +1 -1
- package/.next/server/app/api/mcp-registry/spotlight/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp-registry/spotlight/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/model/[id]/route.js +1 -1
- package/.next/server/app/api/model/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/model/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/model/provider/route.js +1 -1
- package/.next/server/app/api/model/provider/route.js.nft.json +1 -1
- package/.next/server/app/api/model/provider/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/model/route.js +1 -1
- package/.next/server/app/api/model/route.js.nft.json +1 -1
- package/.next/server/app/api/model/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/model/test/route.js +1 -1
- package/.next/server/app/api/model/test/route.js.nft.json +1 -1
- package/.next/server/app/api/model/test/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/oauth/callback/route.js +1 -1
- package/.next/server/app/api/oauth/callback/route.js.nft.json +1 -1
- package/.next/server/app/api/oauth/callback/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/oauth/initiate/route.js +1 -1
- package/.next/server/app/api/oauth/initiate/route.js.nft.json +1 -1
- package/.next/server/app/api/oauth/initiate/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/oauth/reset/route.js +1 -1
- package/.next/server/app/api/oauth/reset/route.js.nft.json +1 -1
- package/.next/server/app/api/oauth/reset/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/planned-executions/[id]/route.js +1 -1
- package/.next/server/app/api/planned-executions/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/planned-executions/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/planned-executions/[id]/run/route.js +1 -1
- package/.next/server/app/api/planned-executions/[id]/run/route.js.nft.json +1 -1
- package/.next/server/app/api/planned-executions/[id]/run/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/planned-executions/[id]/runs/route.js +1 -1
- package/.next/server/app/api/planned-executions/[id]/runs/route.js.nft.json +1 -1
- package/.next/server/app/api/planned-executions/[id]/runs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/planned-executions/preview-schedule/route.js +1 -1
- package/.next/server/app/api/planned-executions/preview-schedule/route.js.nft.json +1 -1
- package/.next/server/app/api/planned-executions/preview-schedule/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/planned-executions/route.js +1 -1
- package/.next/server/app/api/planned-executions/route.js.nft.json +1 -1
- package/.next/server/app/api/planned-executions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/restore/route.js +1 -1
- package/.next/server/app/api/restore/route.js.nft.json +1 -1
- package/.next/server/app/api/restore/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/storage/route.js +1 -1
- package/.next/server/app/api/storage/route.js.nft.json +1 -1
- package/.next/server/app/api/storage/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/update/route.js +1 -1
- package/.next/server/app/api/update/route.js.nft.json +1 -1
- package/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/webhooks/[id]/route.js +1 -1
- package/.next/server/app/api/webhooks/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/webhooks/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/chat/page.js +7 -7
- package/.next/server/app/chat/page.js.nft.json +1 -1
- package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
- package/.next/server/app/chat.html +1 -1
- package/.next/server/app/chat.rsc +2 -2
- package/.next/server/app/docs/page.js +9 -2
- package/.next/server/app/docs/page.js.nft.json +1 -1
- package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/docs.html +1 -1
- package/.next/server/app/docs.rsc +2 -2
- package/.next/server/app/executions/page.js +1 -1
- package/.next/server/app/executions/page.js.nft.json +1 -1
- package/.next/server/app/executions/page_client-reference-manifest.js +1 -1
- package/.next/server/app/executions.html +1 -1
- package/.next/server/app/executions.rsc +2 -2
- package/.next/server/app/flows/page.js +3 -3
- package/.next/server/app/flows/page.js.nft.json +1 -1
- package/.next/server/app/flows/page_client-reference-manifest.js +1 -1
- package/.next/server/app/flows.html +1 -1
- package/.next/server/app/flows.rsc +2 -2
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +2 -2
- package/.next/server/app/mcp/page.js +2 -2
- package/.next/server/app/mcp/page.js.nft.json +1 -1
- package/.next/server/app/mcp/page_client-reference-manifest.js +1 -1
- package/.next/server/app/mcp-flows/route.js +1 -1
- package/.next/server/app/mcp-flows/route.js.nft.json +1 -1
- package/.next/server/app/mcp-flows/route_client-reference-manifest.js +1 -1
- package/.next/server/app/mcp-proxy/[server]/route.js +1 -1
- package/.next/server/app/mcp-proxy/[server]/route.js.nft.json +1 -1
- package/.next/server/app/mcp-proxy/[server]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/mcp.html +1 -1
- package/.next/server/app/mcp.rsc +2 -2
- package/.next/server/app/models/page.js +1 -1
- package/.next/server/app/models/page.js.nft.json +1 -1
- package/.next/server/app/models/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page.js +2 -2
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/page.js +1 -1
- package/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings.html +1 -1
- package/.next/server/app/settings.rsc +2 -2
- package/.next/server/app/v1/chat/completions/route.js +1 -1
- package/.next/server/app/v1/chat/completions/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/completions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js +2 -2
- package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js +2 -2
- package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/events/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route.js +1 -0
- package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route.js.nft.json +1 -0
- package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route_client-reference-manifest.js +1 -0
- package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/route.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/route.js +1 -1
- package/.next/server/app/v1/chat/conversations/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/models/route.js +1 -1
- package/.next/server/app/v1/models/route.js.nft.json +1 -1
- package/.next/server/app/v1/models/route_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +9 -8
- package/.next/server/chunks/1083.js +1 -1
- package/.next/server/chunks/1197.js +2 -2
- package/.next/server/chunks/1373.js +1 -1
- package/.next/server/chunks/1690.js +1 -0
- package/.next/server/chunks/1746.js +1 -1
- package/.next/server/chunks/2261.js +1 -0
- package/.next/server/chunks/2350.js +1 -1
- package/.next/server/chunks/264.js +1 -1
- package/.next/server/chunks/2859.js +1 -1
- package/.next/server/chunks/289.js +1 -0
- package/.next/server/chunks/3574.js +2 -2
- package/.next/server/chunks/{3310.js → 3778.js} +2 -2
- package/.next/server/chunks/3953.js +1 -1
- package/.next/server/chunks/3984.js +4 -4
- package/.next/server/chunks/4045.js +1 -0
- package/.next/server/chunks/4322.js +1 -0
- package/.next/server/chunks/4436.js +1 -0
- package/.next/server/chunks/4498.js +40 -0
- package/.next/server/chunks/4637.js +13 -6
- package/.next/server/chunks/4671.js +1 -0
- package/.next/server/chunks/{1912.js → 4690.js} +2 -2
- package/.next/server/chunks/5708.js +7 -0
- package/.next/server/chunks/5734.js +4 -4
- package/.next/server/chunks/{6088.js → 6532.js} +2 -2
- package/.next/server/chunks/6772.js +1 -1
- package/.next/server/chunks/{6136.js → 6908.js} +2 -2
- package/.next/server/chunks/6981.js +1 -0
- package/.next/server/chunks/6996.js +3 -3
- package/.next/server/chunks/701.js +1 -1
- package/.next/server/chunks/7101.js +64 -0
- package/.next/server/chunks/7214.js +2 -2
- package/.next/server/chunks/724.js +3 -3
- package/.next/server/chunks/7362.js +4 -4
- package/.next/server/chunks/7463.js +6 -0
- package/.next/server/chunks/7506.js +1 -1
- package/.next/server/chunks/7635.js +1 -1
- package/.next/server/chunks/7821.js +1 -1
- package/.next/server/chunks/8298.js +1 -0
- package/.next/server/chunks/8739.js +2 -2
- package/.next/server/chunks/9509.js +2 -2
- package/.next/server/chunks/9957.js +1 -0
- package/.next/server/functions-config-manifest.json +3 -3
- package/.next/server/instrumentation.js.nft.json +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/{1892-a0f5ec7152540dc3.js → 1892-5c1e38d89e0a5a9c.js} +1 -1
- package/.next/static/chunks/{3272-ab88dd195ea61b65.js → 3272-fd8d59523f61da96.js} +1 -1
- package/.next/static/chunks/3381-5fd2417957ca0881.js +1 -0
- package/.next/static/chunks/{1634-d4019c4a5cac2ed0.js → 3648-733cf7ca4a5d1f19.js} +1 -1
- package/.next/static/chunks/422-268783d9ad5897e1.js +1 -0
- package/.next/static/chunks/{5501-7d6e38c7c8cc3c5a.js → 5501-c400aaeaf57e6297.js} +1 -1
- package/.next/static/chunks/7258-e27017c1b98f43f9.js +1 -0
- package/.next/static/chunks/{7583.5355a64005f2b265.js → 7583.26a8c1f6e6823daf.js} +1 -1
- package/.next/static/chunks/{8187.57929e3f925fe538.js → 8187.fd653767df53db87.js} +1 -1
- package/.next/static/chunks/{7829-b843e80f32a83256.js → 8755-9f375ec8740fecac.js} +1 -1
- package/.next/static/chunks/{9164-14dc5889cb7478c0.js → 9164-f54d3531ca1df5f7.js} +1 -1
- package/.next/static/chunks/{9747-ffb8be5e59700c27.js → 9587-706bfd1a692c4660.js} +3 -3
- package/.next/static/chunks/app/api/backup/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/browse/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/cwd/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/encryption/secure/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/env/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/flow/[id]/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/flow/compile/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/flow/generate/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/flow/improve/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/flow/prompt-renderer/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/flow/quick-chat/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/flow/repair/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/flow/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/git/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/init/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/local-models/capability/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/local-models/pull/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/local-models/suggest/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/mcp/cancel/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/mcp/servers/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/mcp/test-connection/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/mcp/test-connection/stream/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/mcp-registry/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/mcp-registry/spotlight/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/model/[id]/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/model/provider/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/model/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/model/test/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/oauth/callback/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/oauth/initiate/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/oauth/reset/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/[id]/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/[id]/run/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/planned-executions/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/restore/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/storage/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/update/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/api/webhooks/[id]/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/chat/page-a67ad3683443e7ad.js +1 -0
- package/.next/static/chunks/app/docs/page-097827ec4dae1d30.js +1 -0
- package/.next/static/chunks/app/executions/page-cb0dcc66d84c9bf8.js +1 -0
- package/.next/static/chunks/app/flows/page-abdd0642e378c5da.js +1 -0
- package/.next/static/chunks/app/mcp/{page-9a612d0be5a3336d.js → page-7d3a269dce68b529.js} +1 -1
- package/.next/static/chunks/app/mcp-flows/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/mcp-proxy/[server]/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/v1/chat/completions/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/resources/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/v1/chat/conversations/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/app/v1/models/route-b296683a5faf800a.js +1 -0
- package/.next/static/chunks/webpack-ef5b2cef70829f42.js +1 -0
- package/.next/trace +9 -7
- package/.next/types/app/v1/chat/conversations/[conversationId]/resources/route.ts +347 -0
- package/.next/types/routes.d.ts +2 -1
- package/.next/types/validator.ts +9 -0
- package/README.md +1 -1
- package/package.json +1 -1
- package/.next/server/chunks/2194.js +0 -1
- package/.next/server/chunks/3648.js +0 -1
- package/.next/server/chunks/4239.js +0 -1
- package/.next/server/chunks/4372.js +0 -1
- package/.next/server/chunks/4681.js +0 -1
- package/.next/server/chunks/5148.js +0 -1
- package/.next/server/chunks/6465.js +0 -1
- package/.next/server/chunks/7403.js +0 -38
- package/.next/server/chunks/7865.js +0 -9
- package/.next/static/chunks/1711-ccf5eba61d618a1a.js +0 -1
- package/.next/static/chunks/3625-74c77250d64d1cd3.js +0 -1
- package/.next/static/chunks/924-64f908860caf1a35.js +0 -1
- package/.next/static/chunks/app/api/backup/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/browse/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/cwd/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/encryption/secure/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/env/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/flow/[id]/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/flow/compile/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/flow/generate/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/flow/improve/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/flow/prompt-renderer/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/flow/quick-chat/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/flow/repair/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/flow/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/git/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/init/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/local-models/capability/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/local-models/pull/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/local-models/suggest/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/mcp/cancel/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/mcp/servers/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/mcp/test-connection/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/mcp/test-connection/stream/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/mcp-registry/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/mcp-registry/spotlight/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/model/[id]/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/model/provider/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/model/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/model/test/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/oauth/callback/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/oauth/initiate/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/oauth/reset/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/planned-executions/[id]/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/planned-executions/[id]/run/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/planned-executions/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/restore/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/storage/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/update/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/api/webhooks/[id]/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/chat/page-1d764d1de5ad5d2f.js +0 -1
- package/.next/static/chunks/app/docs/page-d670c1ec8af5cb54.js +0 -1
- package/.next/static/chunks/app/executions/page-109274291811d467.js +0 -1
- package/.next/static/chunks/app/flows/page-df8eda0e83934fb2.js +0 -1
- package/.next/static/chunks/app/mcp-flows/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/mcp-proxy/[server]/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/v1/chat/completions/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/v1/chat/conversations/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/app/v1/models/route-ff084c1cc278df77.js +0 -1
- package/.next/static/chunks/webpack-3e8560996ac8c1e0.js +0 -1
- /package/.next/static/{itJEX_uJ7hJ7oF-igwwK9 → dvSaKx6-EfRNi7Xj-cSv_}/_buildManifest.js +0 -0
- /package/.next/static/{itJEX_uJ7hJ7oF-igwwK9 → dvSaKx6-EfRNi7Xj-cSv_}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-b296683a5faf800a.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-b296683a5faf800a.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-b296683a5faf800a.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,397,405,624,761,846,1144,1189,1288,1337,1426,1677,1797,2047,2348,2437,2483,2567,3292,3371,3551,3587,3623,3691,4063,4216,4233,4267,4524,4825,5617,5618,5644,5817,6078,6600,6744,7002,7144,7221,7591,7822,7824,8046,8068,8140,8201,8350,8467,8479,8510,8563,9128,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8457],{45960:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>tW});var o=n(95155),r=n(12115),l=n(97322),a=n(94049),s=n(78470),i=n(41983),d=n(22003),c=n(28548),u=n(91871),p=n(25635),h=n(3339),f=n(67895),g=n(2778),x=n(52363),m=n(65036),v=n(50001),b=n(75912),y=n(22719),j=n(11096),w=n(76530),A=n(36741),S=n(60691),I=n(78410),C=n(29692),k=n(21067),N=n(41602),E=n(23820),T=n(17681),R=n(73707),z=n(4484),D=n(86946),P=n(19219);let F=e=>{let{conversations:t,currentConversationId:n,onSelectConversation:r,onDeleteConversation:l,onNewConversation:d,onQuickChat:c,onCollapse:h}=e;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(a.default,{sx:{p:2,display:"flex",justifyContent:"space-between",alignItems:"center",gap:1},children:[h&&(0,o.jsx)(s.A,{title:"Hide sidebar",children:(0,o.jsx)(i.A,{size:"small",onClick:h,"aria-label":"Hide conversation sidebar",children:(0,o.jsx)(P.A,{})})}),(0,o.jsx)(p.default,{variant:"h6",sx:{flex:1},noWrap:!0,children:"Conversations"}),c&&(0,o.jsx)(s.A,{title:"Quick Chat: a model + optional MCP servers, no saved flow",children:(0,o.jsx)(u.A,{variant:"outlined",color:"primary",startIcon:(0,o.jsx)(j.A,{}),onClick:c,size:"small",children:"Quick"})}),(0,o.jsx)(u.A,{variant:"contained",color:"primary",startIcon:(0,o.jsx)(D.A,{}),onClick:d,size:"small",children:"New"})]}),(0,o.jsx)(k.A,{}),(0,o.jsx)(N.A,{sx:{overflow:"auto",flex:1},children:0===t.length?(0,o.jsx)(E.Ay,{children:(0,o.jsx)(T.A,{primary:"No conversations yet",secondary:"Start a new conversation",primaryTypographyProps:{align:"center"},secondaryTypographyProps:{align:"center"}})}):t.sort((e,t)=>t.updatedAt-e.updatedAt).map(e=>(0,o.jsx)(E.Ay,{disablePadding:!0,secondaryAction:(0,o.jsx)(i.A,{edge:"end","aria-label":"delete",onClick:t=>{t.stopPropagation(),l(e.id)},children:(0,o.jsx)(z.A,{})}),sx:{opacity:e.id===n?1:.7},children:(0,o.jsx)(R.A,{selected:e.id===n,onClick:()=>r(e.id),sx:{pr:7},children:(0,o.jsx)(T.A,{primary:(0,o.jsxs)(a.default,{sx:{display:"flex",alignItems:"center",gap:1},children:[e.status&&(0,o.jsx)(s.A,{title:(e=>{switch(e){case"running":return"Processing";case"awaiting_tool_approval":return"Waiting for tool approval";case"paused_debug":return"Paused in debug mode";case"completed":return"Completed";case"error":return"Error";default:return""}})(e.status),children:(0,o.jsx)(a.default,{component:"span",sx:{width:8,height:8,borderRadius:"50%",bgcolor:(e=>{switch(e){case"running":return"primary.main";case"awaiting_tool_approval":return"warning.main";case"paused_debug":return"secondary.main";case"completed":return"success.main";case"error":return"error.main";default:return"transparent"}})(e.status),display:"inline-block",flexShrink:0}})}),(0,o.jsx)(p.default,{component:"span",noWrap:!0,fontWeight:e.id===n?"bold":"normal",children:e.title})]}),secondary:new Date(e.updatedAt).toLocaleDateString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})})})},e.id))})]})};var M=n(4474),O=n(50430),_=n(99944),W=n(9957),L=n(2300),B=n(52641),H=n(51221),q=n(55606),U=n(86973),J=n(98267),Y=n(20537),Q=n(37960),G=n(36314),V=n(49501),K=n(6504),X=n(22133),$=n(11665),Z=n(97516),ee=n(91861),et=n(53612),en=n(3014),eo=n(63186),er=n(70863),el=n(67891),ea=n(12121),es=n(14915),ei=n(63992),ed=n(59637),ec=n(30949),eu=n(1877),ep=n(18466),eh=n(26188),ef=n(38952),eg=n(62962),ex=n(17897),em=n(81029).hp,ev=n(87021);let eb=(0,ev.h)("frontend/components/Chat/McpAppFrame"),ey=e=>{let{serverName:t,uri:n}=e,[l,i]=(0,r.useState)(!1),[c,h]=(0,r.useState)(!1),[f,g]=(0,r.useState)(null),[x,m]=(0,r.useState)(null),v=(0,r.useCallback)(async()=>{h(!0),g(null);try{let e=await ex.S.readResource(t,n);if(!e||!1===e.success)return void g((null==e?void 0:e.error)||"Failed to read the UI resource.");let o=function(e){var t;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2097152,o=null==e?void 0:e.contents;if(!Array.isArray(o)||0===o.length)return{error:"Resource has no contents"};let r=o.find(e=>(function(e){if("string"!=typeof e)return!1;let t=e.toLowerCase().replace(/\s+/g,"");return t.startsWith("text/html")&&t.includes("profile=mcp-app")})(e.mimeType)&&"string"==typeof e.text)||o.find(e=>"string"==typeof e.text);if(!r||"string"!=typeof r.text)return{error:"Resource has no HTML text body"};if((void 0!==em?em.byteLength(r.text,"utf8"):new TextEncoder().encode(r.text).length)>n)return{error:"Resource exceeds the ".concat(Math.round(n/1024)," KiB size cap")};let l=null==(t=r._meta)?void 0:t.ui;return{html:r.text,meta:l}}(e.data);if("error"in o)return void g(o.error);m(function(e,t){let n='<meta http-equiv="Content-Security-Policy" content="'.concat(function(e){let t=e=>(e||[]).map(e=>"string"==typeof e?e.trim():"").filter(e=>""!==e&&"string"==typeof e&&("'self'"===e||"'none'"===e||!(/[^\x21-\x7e]/.test(e)||/[;,'"`$<>\\()]/.test(e))&&/^(?:https|wss):\/\/(?:\*\.)?(?:[a-z0-9-]+\.)*[a-z0-9-]+(?::\d{1,5})?$/i.test(e))).join(" "),n=t(null==e?void 0:e.connectDomains),o=t(null==e?void 0:e.resourceDomains),r=t(null==e?void 0:e.frameDomains),l=t(null==e?void 0:e.baseUriDomains);return["default-src 'none'","script-src 'unsafe-inline'".concat(o?" ".concat(o):""),"style-src 'unsafe-inline'".concat(o?" ".concat(o):""),"img-src data: blob:".concat(o?" ".concat(o):""),"font-src".concat(o?" ".concat(o):" 'none'"),"media-src data: blob:".concat(o?" ".concat(o):""),"connect-src".concat(n?" ".concat(n):" 'none'"),"frame-src".concat(r?" ".concat(r):" 'none'"),"base-uri".concat(l?" ".concat(l):" 'none'"),"form-action 'none'"].join("; ")}(t),'">');return/<head[\s>]/i.test(e)?e.replace(/<head([^>]*)>/i,(e,t)=>"<head".concat(t,">").concat(n)):'<!DOCTYPE html><html><head><meta charset="utf-8">'.concat(n,"</head><body>").concat(e,"</body></html>")}(o.html,o.meta))}catch(e){eb.warn("Failed to load MCP App resource ".concat(n," from ").concat(t),e),g(e instanceof Error?e.message:"Failed to load the UI resource.")}finally{h(!1)}},[t,n]),b=(0,r.useCallback)(()=>{let e=!l;i(e),e&&null===x&&!c&&v()},[l,x,c,v]);return(0,o.jsxs)(a.default,{sx:{mt:1,border:"1px solid",borderColor:"divider",borderRadius:1,overflow:"hidden"},children:[(0,o.jsxs)(a.default,{sx:{display:"flex",alignItems:"center",gap:1,px:1,py:.5,bgcolor:"action.hover"},children:[(0,o.jsx)(eh.A,{fontSize:"small",color:"primary"}),(0,o.jsxs)(p.default,{variant:"body2",sx:{fontWeight:500},children:["Interactive app from ",t]}),(0,o.jsx)(s.A,{title:"Rendered read-only in a strict sandbox (no same-origin access, no network unless the app declares it). The app cannot call tools in this view.",children:(0,o.jsx)(ef.A,{fontSize:"small",color:"action"})}),(0,o.jsx)(u.A,{size:"small",onClick:b,startIcon:l?(0,o.jsx)(eg.A,{}):(0,o.jsx)(eo.A,{}),sx:{ml:"auto"},children:l?"Hide":"Open app"})]}),(0,o.jsx)(O.A,{in:l,unmountOnExit:!0,children:(0,o.jsxs)(a.default,{sx:{p:1},children:[c&&(0,o.jsxs)(a.default,{sx:{display:"flex",alignItems:"center",gap:1,py:2,justifyContent:"center"},children:[(0,o.jsx)(M.default,{size:16,thickness:6}),(0,o.jsx)(p.default,{variant:"body2",color:"text.secondary",children:"Loading the app…"})]}),f&&(0,o.jsx)(d.A,{severity:"error",sx:{my:1},children:f}),!c&&!f&&null!==x&&(0,o.jsx)(a.default,{component:"iframe",title:"MCP App: ".concat(n),srcDoc:x,sandbox:"allow-scripts",referrerPolicy:"no-referrer",sx:{width:"100%",height:420,border:"none",borderRadius:1,bgcolor:"#fff"}})]})})]})},ej=(0,ev.h)("frontend/components/Chat/ChatMessages");function ew(e){return"assistant"===e.role&&"tool_calls"in e&&Array.isArray(e.tool_calls)}function eA(e){if("tool"!==e.role||"string"!=typeof e.content)return!1;try{var t;return(null==(t=JSON.parse(e.content))?void 0:t.handoff)===!0}catch(e){return!1}}let eS={p:e=>(0,o.jsx)(p.default,{variant:"body1",sx:{mb:.5,whiteSpace:"pre-line"},children:e.children}),h1:e=>(0,o.jsx)(p.default,{variant:"h5",sx:{mt:2,mb:.5},children:e.children}),h2:e=>(0,o.jsx)(p.default,{variant:"h6",sx:{mt:2,mb:.5},children:e.children}),h3:e=>(0,o.jsx)(p.default,{variant:"subtitle1",sx:{mt:1.5,mb:.5},children:e.children}),h4:e=>(0,o.jsx)(p.default,{variant:"subtitle2",sx:{mt:1.5,mb:.5},children:e.children}),h5:e=>(0,o.jsx)(p.default,{variant:"body1",sx:{mt:1,mb:.5,fontWeight:"bold"},children:e.children}),h6:e=>(0,o.jsx)(p.default,{variant:"body2",sx:{mt:1,mb:.5,fontWeight:"bold"},children:e.children}),ul:e=>(0,o.jsx)(a.default,{component:"ul",sx:{pl:2,mb:1},children:e.children}),ol:e=>(0,o.jsx)(a.default,{component:"ol",sx:{pl:2,mb:1},children:e.children}),li:e=>(0,o.jsx)(a.default,{component:"li",sx:{mb:.5,whiteSpace:"pre-line"},children:e.children}),a:e=>(0,o.jsx)(p.default,{component:"a",sx:{color:"primary.main"},href:e.href,children:e.children}),blockquote:e=>(0,o.jsx)(a.default,{component:"blockquote",sx:{borderLeft:"4px solid",borderColor:"divider",pl:2,py:.5,my:1,bgcolor:"action.hover",borderRadius:"4px"},children:e.children}),code:e=>{let{node:t,className:n,children:r,...l}=e;return/language-(\w+)/.exec(n||"")||n?(0,o.jsx)(a.default,{component:"pre",sx:{bgcolor:"action.hover",p:1.5,borderRadius:"4px",overflowX:"auto",fontFamily:"monospace",fontSize:"0.875rem",my:1,whiteSpace:"pre-wrap",wordBreak:"break-word"},children:r}):(0,o.jsx)(p.default,{component:"code",sx:{bgcolor:"action.hover",px:.5,py:.25,borderRadius:"4px",fontFamily:"monospace",wordBreak:"break-all"},children:r})}},eI=e=>{let{content:t,showRaw:n}=e;return n?(0,o.jsx)(a.default,{component:"pre",sx:{whiteSpace:"pre-wrap",wordBreak:"break-all",fontSize:"0.8rem",p:1,borderRadius:1,border:1,borderColor:e=>"dark"===e.palette.mode?"#3a3a3a":"#e5e7eb",bgcolor:"action.hover",color:e=>e.palette.text.primary,overflow:"auto",maxHeight:"300px"},children:"string"==typeof t?t:"[Invalid tool content]"}):"string"!=typeof t?(0,o.jsx)(p.default,{variant:"body2",fontStyle:"italic",color:"text.secondary",children:"[Invalid tool content]"}):(0,o.jsx)(a.default,{sx:{width:"100%",minWidth:0},children:(()=>{try{let e=JSON.parse(t);if(e&&Array.isArray(e.content))return(0,o.jsx)(a.default,{sx:{display:"flex",flexDirection:"column",gap:1},children:e.content.map((e,t)=>"text"===e.type?(0,o.jsx)(K.oz,{remarkPlugins:[X.A],children:e.text},t):"image"===e.type&&e.data&&e.mimeType?(0,o.jsx)("img",{src:"data:".concat(e.mimeType,";base64,").concat(e.data),alt:"Tool Result Image ".concat(t+1),style:{maxWidth:"100%",height:"auto",borderRadius:"4px",marginTop:"8px"}},t):"audio"===e.type&&e.data&&e.mimeType?(0,o.jsx)("audio",{controls:!0,src:"data:".concat(e.mimeType,";base64,").concat(e.data),style:{width:"100%",marginTop:"8px"},children:"Your browser does not support the audio element."},t):(0,o.jsx)(a.default,{component:"pre",sx:{whiteSpace:"pre-wrap",wordBreak:"break-all",fontSize:"0.8rem",p:1,borderRadius:1,border:1,borderColor:e=>"dark"===e.palette.mode?"#3a3a3a":"#e5e7eb",bgcolor:"action.hover",color:e=>e.palette.text.primary,overflow:"auto",mt:1},children:"Unsupported content type: ".concat(e.type,"\n").concat(JSON.stringify(e,null,2))},t))});return(0,o.jsx)(K.oz,{remarkPlugins:[X.A],children:"```json\n".concat(JSON.stringify(e,null,2),"\n```")})}catch(e){return(0,o.jsx)(K.oz,{remarkPlugins:[X.A],children:t})}})()})},eC=e=>{let{pairs:t,messageId:n}=e,[l,i]=(0,r.useState)(null),[d,u]=(0,r.useState)({}),h=(e,t)=>e.toolCall.id||"tc-".concat(n,"-").concat(t);return(0,o.jsxs)(a.default,{sx:{mt:1,pt:1,borderTop:"1px solid",borderColor:"divider"},children:[(0,o.jsxs)(a.default,{sx:{display:"flex",alignItems:"center",color:"primary.main",mb:1},children:[(0,o.jsx)(er.A,{fontSize:"small",sx:{mr:1}}),(0,o.jsx)(p.default,{variant:"body2",children:1===t.length?"The assistant used a tool":"The assistant used ".concat(t.length," tools")})]}),(0,o.jsx)(a.default,{sx:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:.5},children:t.map((e,t)=>{let n=h(e,t),d=function(e){if(!e)return"pending";if("string"==typeof e.content)try{let t=JSON.parse(e.content);if(t&&(!0===t.isError||null!=t.error))return"error"}catch(e){}return"done"}(e.result),u=l===n;return(0,o.jsxs)(r.Fragment,{children:[t>0&&(0,o.jsx)(a.default,{sx:{width:14,height:"2px",bgcolor:"divider",flexShrink:0}}),(0,o.jsx)(s.A,{title:u?"Hide call & result":"Show call & result",children:(0,o.jsx)(c.A,{icon:function(e){return"pending"===e?(0,o.jsx)(M.default,{size:14,thickness:6}):"error"===e?(0,o.jsx)(S.A,{fontSize:"small"}):(0,o.jsx)(ea.A,{fontSize:"small"})}(d),label:(0,eu.yo)(e.toolCall.function.name),size:"small",clickable:!0,variant:u?"filled":"outlined",color:"error"===d?"error":"pending"===d?"default":"primary",onClick:()=>i(u?null:n),sx:{maxWidth:"100%"}})})]},n)})}),t.map((e,t)=>{var n,r;let s=h(e,t),i=e.toolCall.function.arguments;try{i=JSON.stringify(JSON.parse(e.toolCall.function.arguments),null,2)}catch(e){}let f=!!d[s];return(0,o.jsx)(O.A,{in:l===s,unmountOnExit:!0,children:(0,o.jsxs)(a.default,{sx:{mt:1,p:1,borderRadius:1,bgcolor:"rgba(0, 0, 0, 0.03)"},children:[(0,o.jsxs)(a.default,{sx:{display:"flex",alignItems:"center",mb:.5},children:[(0,o.jsx)(er.A,{fontSize:"small",sx:{mr:.5,color:"primary.main"}}),(0,o.jsx)(p.default,{variant:"caption",sx:{fontWeight:"bold"},children:"Parameters"}),(0,o.jsx)(c.A,{label:"ID: ".concat(e.toolCall.id?e.toolCall.id.substring(0,8):"N/A","..."),size:"small",color:"default",variant:"outlined",sx:{ml:1,height:20,fontSize:"0.7rem"}})]}),(0,o.jsx)(a.default,{component:"pre",sx:{bgcolor:"action.hover",p:1,borderRadius:"4px",overflowX:"auto",fontFamily:"monospace",fontSize:"0.75rem",my:.5,maxHeight:"150px",whiteSpace:"pre-wrap",wordBreak:"break-word"},children:i}),(0,o.jsxs)(a.default,{sx:{display:"flex",alignItems:"center",mt:1,mb:.5},children:[(0,o.jsx)(el.A,{fontSize:"small",sx:{mr:.5,color:"text.secondary"}}),(0,o.jsx)(p.default,{variant:"caption",sx:{fontWeight:"bold"},children:"Result"}),e.result&&(0,o.jsx)(_.A,{control:(0,o.jsx)(W.A,{size:"small",checked:f,onChange:e=>u(t=>({...t,[s]:e.target.checked}))}),label:"Raw",sx:{ml:"auto",mr:0,"& .MuiTypography-root":{fontSize:"0.75rem"}}})]}),e.result?(0,o.jsx)(eI,{content:e.result.content,showRaw:f}):(0,o.jsxs)(p.default,{variant:"body2",fontStyle:"italic",color:"text.secondary",sx:{display:"flex",alignItems:"center",gap:1},children:[(0,o.jsx)(M.default,{size:14,thickness:6})," Waiting for the tool to respond…"]}),(null==(r=e.result)||null==(n=r.ui)?void 0:n.uri)&&e.result.ui.serverName&&(0,o.jsx)(ey,{serverName:e.result.ui.serverName,uri:e.result.ui.uri})]})},s)})]})},ek=r.memo(function(e){var t,n;let r,{message:l,nodeLabel:d,availableNodes:h,showRaw:f,toolCallPairs:g,hoistedHandoffs:x,edit:m,onMenuOpen:v,onToggleRaw:b,onEditContentChange:y,onEditNodeChange:j,onSaveEdit:w,onCancelEdit:A}=e,S=null!=(t=l.depth)?t:0;return(0,o.jsxs)(a.default,{sx:{display:"flex",flexDirection:"column",alignItems:"user"===l.role?"flex-end":"flex-start",opacity:l.disabled?.5:1,...S>0&&{pl:3*S,borderLeft:"2px solid",borderColor:"divider",ml:1}},children:[(0,o.jsxs)(a.default,{sx:{display:"flex",alignItems:"center",mb:.5},children:[(0,o.jsxs)(p.default,{variant:"caption",color:"text.secondary",sx:{mr:1},children:["user"===l.role?"You":"assistant"===l.role?"Assistant":"tool"===l.role?"Tool":"System"," • ","number"!=typeof(n=l.timestamp)||isNaN(n)?(ej.warn("formatTime received invalid timestamp:",n),"Invalid Date"):new Date(n).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit"})]}),l.processNodeId&&(0,o.jsx)(s.A,{title:"".concat(d?"".concat(d," — "):"","Process Node ID: ").concat(l.processNodeId),children:(0,o.jsx)(c.A,{label:"Node: ".concat(d||"".concat(l.processNodeId.substring(0,6),"...")),size:"small",color:"primary",variant:"outlined",sx:{height:20,fontSize:"0.7rem",mr:1}})}),S>0&&(0,o.jsx)(s.A,{title:"Nested subflow step (depth ".concat(S,")"),children:(0,o.jsx)(c.A,{label:"Subflow step",size:"small",color:"secondary",variant:"outlined",sx:{height:20,fontSize:"0.7rem",mr:1}})}),l.disabled&&(0,o.jsx)(c.A,{label:"Disabled",size:"small",color:"default",variant:"outlined",sx:{height:20,fontSize:"0.7rem"}}),l.usage&&(0,o.jsx)(s.A,{title:"".concat(l.usage.promptTokens.toLocaleString()," prompt + ").concat(l.usage.completionTokens.toLocaleString()," completion tokens (provider-reported)"),children:(0,o.jsx)(c.A,{label:"".concat((r=l.usage.totalTokens)>=1e3?"".concat((r/1e3).toFixed(r>=1e5?0:1),"k"):"".concat(r)," tok"),size:"small",color:"default",variant:"outlined",sx:{height:20,fontSize:"0.7rem",mr:1}})}),(0,o.jsx)(i.A,{size:"small",onClick:e=>v(e,l.id),sx:{ml:1},children:(0,o.jsx)($.A,{fontSize:"small"})})]}),(0,o.jsxs)(L.A,{elevation:1,sx:{p:2,maxWidth:"75vw",borderRadius:2,bgcolor:"user"===l.role?"primary.light":"assistant"===l.role||"tool"===l.role?"background.paper":"info.light",color:"user"===l.role?"primary.contrastText":"assistant"===l.role||"tool"===l.role?"text.primary":"info.contrastText",position:"relative",borderLeft:"tool"===l.role?"4px solid":"none",borderColor:"tool"===l.role?"grey.400":"transparent",overflowWrap:"break-word",wordBreak:"break-word",overflow:"hidden"},children:[m?(0,o.jsxs)(a.default,{sx:{display:"flex",flexDirection:"column",gap:1},children:[(0,o.jsx)("textarea",{value:m.content,onChange:e=>y(e.target.value),style:{width:"100%",minHeight:"100px",padding:"8px",borderRadius:"4px",border:"1px solid #ccc",fontFamily:"inherit",fontSize:"inherit",backgroundColor:"white",color:"black"}}),(0,o.jsxs)(B.A,{fullWidth:!0,size:"small",sx:{mt:1},children:[(0,o.jsx)(H.A,{id:"node-id-select-label",children:"Process Node"}),(0,o.jsx)(q.A,{labelId:"node-id-select-label",id:"node-id-select",value:m.nodeId||(h.length>0?h[0].id:""),label:"Process Node",onChange:e=>j(e.target.value),children:h.map(e=>(0,o.jsx)(U.A,{value:e.id,children:e.label||e.id.substring(0,8)},e.id))})]}),(0,o.jsxs)(a.default,{sx:{display:"flex",justifyContent:"flex-end",gap:1,mt:1},children:[(0,o.jsx)(u.A,{variant:"outlined",size:"small",onClick:A,children:"Cancel"}),(0,o.jsx)(u.A,{variant:"contained",size:"small",onClick:w,children:"Save"})]})]}):(0,o.jsxs)(o.Fragment,{children:["tool"!==l.role&&"string"==typeof l.content&&(0,o.jsx)(K.oz,{remarkPlugins:[X.A],components:eS,children:l.content}),"tool"!==l.role&&Array.isArray(l.content)&&(0,o.jsx)(a.default,{sx:{display:"flex",flexDirection:"column",gap:1},children:l.content.map((e,t)=>{var n;return(null==e?void 0:e.type)==="text"?(0,o.jsx)(K.oz,{remarkPlugins:[X.A],children:e.text},t):(null==e?void 0:e.type)==="image_url"&&(null==(n=e.image_url)?void 0:n.url)?(0,o.jsx)("img",{src:e.image_url.url,alt:"Image ".concat(t+1),style:{maxWidth:"100%",height:"auto",borderRadius:"4px"}},t):null})}),"tool"!==l.role&&"string"!=typeof l.content&&!Array.isArray(l.content)&&!ew(l)&&(0,o.jsx)(p.default,{variant:"body2",fontStyle:"italic",color:"text.secondary",children:"[No text content]"})]}),[...ew(l)?l.tool_calls.filter(e=>{var t;return!!(t=e.function.name)&&(t.startsWith(ep.n9)||"handoff"===t)}):[],...null!=x?x:[]].map((e,t)=>(0,o.jsxs)(a.default,{sx:{mt:1,display:"flex",alignItems:"center",gap:.5,color:"secondary.main",fontStyle:"italic"},children:[(0,o.jsx)(ec.A,{fontSize:"small"}),(0,o.jsxs)(p.default,{variant:"body2",sx:{display:"flex",alignItems:"center",gap:.5},children:["Handoff to",(0,o.jsx)(a.default,{component:"span",sx:{fontWeight:"bold",fontStyle:"normal"},children:function(e,t){let n=e.startsWith(ep.n9)?e.slice(ep.n9.length):e,o=n.replace(/_\d+$/,""),r=t.find(e=>{let t=(0,ep.RN)(e.label);return t===n||t===o});return(null==r?void 0:r.label)?r.label:o.split("_").filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ")||"target node"}(e.function.name,h)})]})]},e.id||"handoff-".concat(l.id,"-").concat(t))),g&&g.length>0&&(0,o.jsx)(eC,{pairs:g,messageId:l.id}),"tool"===l.role&&l.tool_call_id&&!eA(l)&&(0,o.jsxs)(a.default,{children:[(0,o.jsxs)(p.default,{variant:"body2",sx:{display:"flex",alignItems:"center",color:"text.secondary",mb:1},children:[(0,o.jsx)(el.A,{fontSize:"small",sx:{mr:1}}),"The tool responded to the assistant"]}),(0,o.jsxs)(J.A,{defaultExpanded:!1,sx:{mb:.5,"&:before":{display:"none"},boxShadow:"none",bgcolor:"rgba(0, 0, 0, 0.02)"},children:[(0,o.jsx)(Y.A,{expandIcon:(0,o.jsx)(eo.A,{}),children:(0,o.jsxs)(a.default,{sx:{display:"flex",alignItems:"center"},children:[(0,o.jsx)(el.A,{fontSize:"small",sx:{mr:1,color:"text.secondary"}}),(0,o.jsx)(p.default,{variant:"subtitle2",children:"Tool Result"}),(0,o.jsx)(c.A,{label:"ID: ".concat(l.tool_call_id.substring(0,8),"..."),size:"small",color:"default",variant:"outlined",sx:{ml:1,height:20,fontSize:"0.7rem"}}),(0,o.jsx)(_.A,{control:(0,o.jsx)(W.A,{size:"small",checked:f,onChange:e=>b(l.id,e.target.checked),onClick:e=>e.stopPropagation()}),label:"Raw",sx:{mr:1,ml:"auto","& .MuiTypography-root":{fontSize:"0.75rem"}},onClick:e=>e.stopPropagation()})]})}),(0,o.jsx)(Q.A,{sx:{pt:0,pb:1,overflow:"hidden"},children:(0,o.jsx)(eI,{content:l.content,showRaw:f})})]})]}),l.attachments&&l.attachments.length>0&&(0,o.jsxs)(a.default,{sx:{mt:1,pt:1,borderTop:"1px solid",borderColor:"divider"},children:[(0,o.jsx)(p.default,{variant:"caption",color:"text.secondary",sx:{display:"block",mb:.5},children:"Attachments:"}),l.attachments.map(e=>"image"===e.type?(0,o.jsx)(a.default,{sx:{mb:.5},children:(0,o.jsx)("img",{src:e.content,alt:e.originalName||"image attachment",style:{maxWidth:"100%",height:"auto",borderRadius:"4px"}})},e.id):(0,o.jsxs)(a.default,{sx:{display:"flex",alignItems:"center",p:1,borderRadius:1,bgcolor:"rgba(0, 0, 0, 0.04)",mb:.5},children:["document"===e.type?(0,o.jsx)(et.A,{fontSize:"small",sx:{mr:1}}):(0,o.jsx)(en.A,{fontSize:"small",sx:{mr:1}}),(0,o.jsx)(p.default,{variant:"caption",sx:{wordBreak:"break-all"},children:e.originalName||"".concat(e.type," attachment")})]},e.id))]})]})]})}),eN=e=>{let{messages:t,pendingToolCalls:n,availableNodes:l=[],conversationId:s,onToggleDisabled:i,onSplitConversation:d,onEditMessage:h,onApproveToolCall:f,onRejectToolCall:g}=e,[x,m]=(0,r.useState)(50);(0,r.useEffect)(()=>{m(50)},[s]);let v=Math.max(0,(Array.isArray(t)?t.length:0)-x),b=(0,r.useMemo)(()=>Array.isArray(t)?v>0?t.slice(v):t:[],[t,v]),{pairsByAnchorId:y,handoffsByAnchorId:j,consumedToolCallIds:w,groups:A}=(0,r.useMemo)(()=>(function(e){let t=new Map,n=new Map,o=new Set,r=new Set,l=new Map,a=[];if(!Array.isArray(e))return{pairsByAnchorId:t,handoffsByAnchorId:n,hoistedAssistantIds:o,consumedToolCallIds:r,groups:a};let s=new Map;for(let t of e)"tool"===t.role&&"string"==typeof t.tool_call_id&&t.tool_call_id&&!s.has(t.tool_call_id)&&s.set(t.tool_call_id,t);let i=e=>{let o=l.get(e);return o||(o={anchorId:e,memberIds:[e],hoistedIds:[]},l.set(e,o),a.push(o),t.set(e,[]),n.set(e,[])),o},d=null;for(let l of e){if("user"===l.role||"system"===l.role){d=null;continue}if("assistant"!==l.role)continue;let e=Array.isArray(l.tool_calls)?l.tool_calls:[],a=[],p=[];for(let t of e){var c,u;if("function"!==t.type)continue;if((u=null==(c=t.function)?void 0:c.name)&&(u.startsWith(ep.n9)||"handoff"===u)){p.push(t);continue}let e=t.id,n=e?s.get(e):void 0;e&&r.add(e),a.push({toolCall:t,result:n})}let h=function(e){let t=e.content;return"string"==typeof t?t.trim().length>0:!!Array.isArray(t)&&t.some(e=>{var t,n;return!!e&&"object"==typeof e&&("text"===e.type?"string"==typeof e.text&&e.text.trim().length>0:"image_url"===e.type?!!(null==(t=e.image_url)?void 0:t.url):"input_audio"===e.type&&!!(null==(n=e.input_audio)?void 0:n.data))})}(l),f=a.length>0||p.length>0;if(h){d=l.id,f&&(i(l.id),t.get(l.id).push(...a),n.get(l.id).push(...p));continue}if(f)if(d){let e=i(d);t.get(d).push(...a),n.get(d).push(...p),e.memberIds.push(l.id),e.hoistedIds.push(l.id),o.add(l.id)}else d=l.id,i(l.id),t.get(l.id).push(...a),n.get(l.id).push(...p)}return{pairsByAnchorId:t,handoffsByAnchorId:n,hoistedAssistantIds:o,consumedToolCallIds:r,groups:a}})(t),[t]),S=(0,r.useMemo)(()=>new Set(b.map(e=>e.id)),[b]),{renderPairsById:I,renderHandoffsById:C,suppressedIds:k}=(0,r.useMemo)(()=>{let e=new Map,t=new Map,n=new Set;for(let a of A){var o,r,l;let s=null!=(o=y.get(a.anchorId))?o:[],i=null!=(r=j.get(a.anchorId))?r:[],d=null!=(l=a.memberIds.find(e=>S.has(e)))?l:a.anchorId;for(let o of(s.length>0&&e.set(d,s),i.length>0&&t.set(d,i),a.hoistedIds))o!==d&&n.add(o)}return{renderPairsById:e,renderHandoffsById:t,suppressedIds:n}},[A,y,j,S]),[N,E]=r.useState(null),[R,z]=r.useState(null),[D,P]=r.useState(null),[F,M]=r.useState(!1),[O,_]=r.useState(""),[W,B]=r.useState(null),[H,q]=r.useState({}),K=(0,r.useCallback)((e,t)=>{ej.debug("handleMenuOpen called with messageId: ".concat(t)),E(e.currentTarget),z(t)},[]),X=(0,r.useCallback)((e,t)=>{q(n=>({...n,[e]:t}))},[]),$=(0,r.useCallback)(e=>{_(e)},[]),et=(0,r.useCallback)(e=>{B(e)},[]),en=()=>{E(null),z(null)},el=()=>{if(R){let e=t.find(e=>e.id===R);e&&"user"===e.role&&"string"==typeof e.content&&(_(e.content),B(e.processNodeId||(l.length>0?l[0].id:"")),P(R),M(!0)),en()}},ea=()=>{D&&h&&(h(D,O,W||""),M(!1),P(null),B(null))},ec=()=>{M(!1),P(null),B(null)},eh=(0,r.useMemo)(()=>{let e=new Map;for(let t of l)e.set(t.id,t.label);return e},[l]),ef=(0,r.useMemo)(()=>R&&t.find(e=>e.id===R)||null,[R,t]);return(0,o.jsxs)(a.default,{sx:{display:"flex",flexDirection:"column",gap:2},children:[v>0&&(0,o.jsx)(a.default,{sx:{display:"flex",justifyContent:"center"},children:(0,o.jsxs)(u.A,{size:"small",variant:"outlined",onClick:()=>m(e=>e+200),children:["Show earlier messages (",v," more)"]})}),b.map((e,t)=>{if(eA(e)||"tool"===e.role&&"string"==typeof e.tool_call_id&&w.has(e.tool_call_id)||k.has(e.id))return null;let n=F&&e.id===D;return(0,o.jsx)(ek,{message:e,nodeLabel:e.processNodeId?eh.get(e.processNodeId):void 0,availableNodes:l,showRaw:!!H[e.id],toolCallPairs:I.get(e.id),hoistedHandoffs:C.get(e.id),edit:n?{content:O,nodeId:W}:null,onMenuOpen:K,onToggleRaw:X,onEditContentChange:$,onEditNodeChange:et,onSaveEdit:n?ea:void 0,onCancelEdit:n?ec:void 0},e.id||"msg-".concat(v+t))}),(0,o.jsxs)(G.A,{anchorEl:N,open:!!N,onClose:en,children:[ef&&(()=>{ej.debug("Entering menu item rendering logic",{activeMessageId:R}),ej.debug("Active message object for menu:",ef),ej.debug("Active message role for menu:",null==ef?void 0:ef.role);try{let e=!!h,t="user"===ef.role&&e;if(ej.debug("Rendering Edit Message menu item check",{activeMessageId:ef.id,messageRole:ef.role,onEditMessagePropType:typeof h,hasOnEditMessageProp:e,shouldShowEdit:t}),t)return(0,o.jsxs)(U.A,{onClick:el,children:[(0,o.jsx)(V.A,{children:(0,o.jsx)(es.A,{fontSize:"small"})}),(0,o.jsx)(T.A,{children:"Edit Message"})]});return null}catch(e){return ej.error("Error rendering Edit Message menu item",{error:e}),null}})(),(0,o.jsxs)(U.A,{onClick:()=>{R&&(i(R),en())},children:[(0,o.jsx)(V.A,{children:(0,o.jsx)(Z.A,{fontSize:"small"})}),(0,o.jsx)(T.A,{children:(null==ef?void 0:ef.disabled)?"Enable Message":"Disable Message"})]}),(0,o.jsxs)(U.A,{onClick:()=>{R&&(d(R),en())},children:[(0,o.jsx)(V.A,{children:(0,o.jsx)(ee.A,{fontSize:"small"})}),(0,o.jsx)(T.A,{children:"Split Conversation Here"})]})]}),n&&n.length>0&&(0,o.jsxs)(L.A,{elevation:2,sx:{p:2,mt:2,bgcolor:"warning.light",border:"1px solid",borderColor:"warning.main",borderRadius:2},children:[(0,o.jsxs)(p.default,{variant:"h6",sx:{mb:1,display:"flex",alignItems:"center"},children:[(0,o.jsx)(er.A,{sx:{mr:1}})," Tool Approval Required"]}),(0,o.jsx)(p.default,{variant:"body2",sx:{mb:2},children:"The assistant wants to use the following tool(s). Please approve or reject each request."}),n.map((e,t)=>{let n=(0,eu.yo)(e.function.name),r=e.function.arguments;try{let t=JSON.parse(e.function.arguments);r=JSON.stringify(t,null,2)}catch(e){}return(0,o.jsxs)(J.A,{defaultExpanded:!0,sx:{mb:1,"&:before":{display:"none"},boxShadow:1},children:[(0,o.jsx)(Y.A,{expandIcon:(0,o.jsx)(eo.A,{}),children:(0,o.jsxs)(a.default,{sx:{display:"flex",alignItems:"center",width:"100%"},children:[(0,o.jsx)(er.A,{fontSize:"small",sx:{mr:1,color:"primary.main"}}),(0,o.jsx)(p.default,{variant:"subtitle2",sx:{fontWeight:"bold",flexGrow:1},children:n}),(0,o.jsx)(c.A,{label:"ID: ".concat(e.id?e.id.substring(0,8):"N/A","..."),size:"small",variant:"outlined",sx:{ml:1,height:20,fontSize:"0.7rem"}})]})}),(0,o.jsxs)(Q.A,{sx:{pt:0},children:[(0,o.jsx)(a.default,{component:"pre",sx:{bgcolor:"action.hover",p:1,borderRadius:"4px",overflowX:"auto",fontFamily:"monospace",fontSize:"0.75rem",my:.5,maxHeight:"150px",whiteSpace:"pre-wrap",wordBreak:"break-word"},children:r}),(0,o.jsxs)(a.default,{sx:{display:"flex",justifyContent:"flex-end",gap:1,mt:1},children:[(0,o.jsx)(u.A,{variant:"outlined",color:"error",size:"small",startIcon:(0,o.jsx)(ed.A,{}),onClick:()=>g&&g(e.id),disabled:!g,children:"Reject"}),(0,o.jsx)(u.A,{variant:"contained",color:"success",size:"small",startIcon:(0,o.jsx)(ei.A,{}),onClick:()=>f&&f(e.id),disabled:!f,children:"Approve"})]})]})]},e.id||"ptc-".concat(t))})]})]})};var eE=n(84869);let eT=(0,ev.h)("frontend/services/transcription");async function eR(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{onProgress:n,onStatusChange:o,language:r}=t;try{if(eT.debug("Starting transcription service"),o&&o("Initializing transcription..."),!(0,eE.G)().supported)throw Error("Web Speech API is not supported in this browser");o&&o("Using browser speech recognition...");let t=await (0,eE.S)(e,{language:r,onInterimResult:e=>{o&&o("Transcribing: ".concat(e)),n&&n(50)}});return o&&o("Transcription completed"),eT.debug("Web Speech API transcription completed successfully",{textLength:t.length}),{text:t,success:!0,engine:"webspeech"}}catch(e){return eT.error("Transcription failed",{error:e}),o&&o("Transcription failed"),{text:"Transcription failed. Please check if your browser supports speech recognition.",success:!1,error:e instanceof Error?e.message:String(e)}}}var ez=n(9164),eD=n(9562),eP=n(22822),eF=n(35205),eM=n(77073),eO=n(55930),e_=n(9693),eW=n(4823),eL=n(74879);let eB=(0,ev.h)("frontend/components/Chat/ChatInput"),eH=e=>{var t;let{onSendMessage:n,disabled:l=!1,requireApproval:d=!1,onRequireApprovalChange:h,executeInDebugger:f=!1,onExecuteInDebuggerChange:v,availableNodes:y=[],currentNodeId:j=null,nodeOverrideActive:w=!1,onSelectNode:A}=e,{settings:S}=(0,ez.useStorage)(),[I,C]=(0,r.useState)(""),[N,E]=(0,r.useState)([]),[R,z]=(0,r.useState)(!1),[D,P]=(0,r.useState)(0),[F,O]=(0,r.useState)(null),W=(0,r.useRef)(null),B=(0,r.useRef)(null),H=(0,r.useRef)([]),[q,J]=(0,r.useState)(null),Y=(null==(t=y.find(e=>e.id===j))?void 0:t.label)||(j?"".concat(j.substring(0,6),"..."):"Start"),[Q,K]=(0,r.useState)(!1),[X,$]=(0,r.useState)(""),[Z,ee]=(0,r.useState)(""),[eo,er]=(0,r.useState)("document"),[el,ea]=(0,r.useState)(!1),[es,ei]=(0,r.useState)(0),[ed,ec]=(0,r.useState)(""),eu=()=>{(I.trim()||N.length>0)&&(eB.debug("Sending message",{messageLength:I.length,attachmentsCount:N.length}),n(I,N),C(""),E([]))},ep=async e=>{let t=e.target.files;if(!t||0===t.length)return;let n=t[0];eB.debug("File selected",{fileName:n.name,fileSize:n.size,fileType:n.type}),ee("Processing ".concat(n.name)),er("document"),$(""),ea(!0),K(!0);try{let e=await eh(n);eB.debug("File read successfully",{contentLength:e.length}),$(e),ea(!1)}catch(e){eB.error("Error reading file:",e),$("Error reading file. Please try again with a text file."),ea(!1)}W.current&&(W.current.value="")},eh=e=>new Promise((t,n)=>{let o=new FileReader;o.onload=e=>{var o;(null==(o=e.target)?void 0:o.result)?t(e.target.result):n(Error("Failed to read file"))},o.onerror=()=>{n(Error("Error reading file"))},o.readAsText(e)}),ef=async()=>{eB.debug("Starting audio recording");try{let e=await navigator.mediaDevices.getUserMedia({audio:!0});eB.debug("Audio stream obtained successfully"),H.current=[];let t=new MediaRecorder(e);B.current=t,t.ondataavailable=e=>{e.data.size>0&&H.current.push(e.data)},t.onstop=async()=>{let t=new Blob(H.current,{type:"audio/wav"});ee("Audio Recording"),er("audio"),$(""),ea(!0),K(!0);try{if(((null==S?void 0:S.speech)||{enabled:!0,modelSize:"base",autoDownload:!1}).enabled){ec("Initializing transcription..."),ei(0);let e=await eR(t,{onProgress:ei,onStatusChange:ec,language:navigator.language});if(e.success){let t=e.text;$(t),eB.debug("Transcription successful",{textLength:e.text.length,engine:e.engine})}else $("Error transcribing audio: ".concat(e.error,".")),eB.error("Transcription failed",{error:e.error})}else $("Speech recognition is disabled in settings. Enable it to get automatic transcriptions.")}catch(e){eB.error("Error handling audio recording",{error:e}),$("Failed to process audio: ".concat(e))}finally{ea(!1),e.getTracks().forEach(e=>e.stop())}},t.start(),z(!0);let n=setInterval(()=>{P(e=>e+1)},1e3);O(n)}catch(e){eB.error("Error starting recording:",e),alert("Could not access microphone. Please check permissions.")}};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(L.A,{elevation:3,sx:{p:2,display:"flex",flexDirection:"column",borderRadius:2},children:[N.length>0&&(0,o.jsx)(a.default,{sx:{mb:2,display:"flex",flexWrap:"wrap",gap:1},children:N.map(e=>(0,o.jsxs)(L.A,{variant:"outlined",sx:{p:1,display:"flex",alignItems:"center",borderRadius:1,bgcolor:"background.default"},children:["image"===e.type?(0,o.jsx)(a.default,{component:"img",src:e.content,alt:e.originalName||"pasted image",sx:{width:40,height:40,objectFit:"cover",borderRadius:1,mr:1}}):"document"===e.type?(0,o.jsx)(et.A,{fontSize:"small",sx:{mr:1}}):(0,o.jsx)(en.A,{fontSize:"small",sx:{mr:1}}),(0,o.jsx)(p.default,{variant:"body2",noWrap:!0,sx:{maxWidth:150},children:e.originalName||"".concat(e.type," attachment")}),(0,o.jsx)(i.A,{size:"small",onClick:()=>(e=>{eB.debug("Removing attachment",{id:e}),E(N.filter(t=>t.id!==e))})(e.id),sx:{ml:1},children:(0,o.jsx)(eM.A,{fontSize:"small"})})]},e.id))}),(0,o.jsxs)(a.default,{sx:{display:"flex",alignItems:"flex-end"},children:[(0,o.jsx)(eD.A,{fullWidth:!0,multiline:!0,maxRows:4,"data-tour":"chat-input",placeholder:"Type a message...",value:I,onChange:e=>{C(e.target.value)},onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(eB.debug("Enter key pressed, sending message"),e.preventDefault(),eu())},onPaste:e=>{var t;let n=null==(t=e.clipboardData)?void 0:t.items;if(!n)return;let o=[];for(let e=0;e<n.length;e++){let t=n[e];if("file"===t.kind&&t.type.startsWith("image/")){let e=t.getAsFile();e&&o.push(e)}}0!==o.length&&(e.preventDefault(),eB.debug("Pasting image attachment(s)",{count:o.length}),o.forEach(e=>{let t=new FileReader;t.onload=t=>{var n;let o=null==(n=t.target)?void 0:n.result;if("string"!=typeof o)return;let r=(e.type.split("/")[1]||"png").split("+")[0];E(t=>[...t,{id:(0,eL.A)(),type:"image",content:o,originalName:e.name&&!/^image\.\w+$/i.test(e.name)?e.name:"Pasted image.".concat(r)}])},t.onerror=()=>eB.error("Failed to read pasted image"),t.readAsDataURL(e)}))},disabled:l,variant:"outlined",sx:{mr:1},InputProps:{sx:{borderRadius:2}}}),(0,o.jsx)(s.A,{title:"Attach document",children:(0,o.jsx)(i.A,{color:"primary",onClick:()=>{var e;eB.debug("File selection triggered"),null==(e=W.current)||e.click()},disabled:l||R,children:(0,o.jsx)(et.A,{})})}),(0,o.jsx)("input",{type:"file",ref:W,onChange:ep,style:{display:"none"},accept:".txt,.md,.json,.csv,.html,.xml,.js,.ts,.jsx,.tsx,.css,.scss"}),(0,o.jsx)(s.A,{title:R?"Stop recording":"Record audio",children:(0,o.jsxs)(i.A,{color:R?"error":"primary",onClick:R?()=>{eB.debug("Stopping audio recording"),B.current&&"inactive"!==B.current.state&&(B.current.stop(),z(!1),F&&(clearInterval(F),O(null)),P(0))}:ef,disabled:l,children:[(0,o.jsx)(en.A,{}),R&&(0,o.jsx)(p.default,{variant:"caption",sx:{position:"absolute",bottom:-15,fontSize:"0.7rem",color:"error.main"},children:(e=>{let t=Math.floor(e/60);return"".concat(t.toString().padStart(2,"0"),":").concat((e%60).toString().padStart(2,"0"))})(D)})]})}),(0,o.jsx)(s.A,{title:"Send message",children:(0,o.jsx)(i.A,{color:"primary",onClick:eu,disabled:l||!I.trim()&&0===N.length,children:(0,o.jsx)(eF.A,{})})})]})," ",(h||A&&y.length>0)&&(0,o.jsxs)(a.default,{sx:{mt:1,display:"flex",justifyContent:"flex-start",alignItems:"center",flexWrap:"wrap",gap:1},children:[A&&y.length>0&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.A,{title:w?"Next message will run on this manually picked node — click to change":"Node the next message will run on — click to pick a different one",children:(0,o.jsx)(c.A,{icon:(0,o.jsx)(eO.A,{}),label:Y,size:"small",color:w?"primary":"default",variant:w?"filled":"outlined",onClick:e=>J(e.currentTarget),disabled:l})}),(0,o.jsxs)(G.A,{anchorEl:q,open:!!q,onClose:()=>J(null),children:[(0,o.jsxs)(U.A,{selected:!w,onClick:()=>{A(null),J(null)},children:[(0,o.jsx)(V.A,{children:(0,o.jsx)(eW.A,{fontSize:"small"})}),(0,o.jsx)(T.A,{primary:"Automatic",secondary:"Follow the conversation",secondaryTypographyProps:{variant:"caption"}})]}),(0,o.jsx)(k.A,{}),y.map(e=>(0,o.jsxs)(U.A,{selected:w&&e.id===j,onClick:()=>{A(e.id),J(null)},children:[(0,o.jsx)(V.A,{children:e.id===j?(0,o.jsx)(e_.A,{fontSize:"small"}):null}),(0,o.jsx)(T.A,{primary:e.label})]},e.id))]})]}),h&&(0,o.jsx)(_.A,{control:(0,o.jsx)(eP.A,{checked:d,onChange:e=>h(e.target.checked),size:"small",disabled:l}),label:(0,o.jsx)(p.default,{variant:"caption",children:"Require Tool Approvals"}),sx:{mr:"auto"}}),v&&(0,o.jsx)(_.A,{control:(0,o.jsx)(eP.A,{checked:f,onChange:e=>v(e.target.checked),size:"small",disabled:l}),label:(0,o.jsx)(p.default,{variant:"caption",children:"Execute in Debugger"}),sx:{ml:2}})]})," "]})," ",(0,o.jsxs)(g.A,{open:Q,onClose:()=>!el&&K(!1),maxWidth:"md",fullWidth:!0,children:[(0,o.jsxs)(x.A,{children:[Z,!el&&(0,o.jsx)(i.A,{"aria-label":"close",onClick:()=>K(!1),sx:{position:"absolute",right:8,top:8},children:(0,o.jsx)(eM.A,{})})]}),(0,o.jsx)(m.A,{dividers:!0,children:el?(0,o.jsxs)(a.default,{sx:{display:"flex",justifyContent:"center",flexDirection:"column",alignItems:"center",p:4},children:[(0,o.jsx)(M.default,{value:"audio"===eo&&es?es:void 0,variant:"audio"===eo&&es>0?"determinate":"indeterminate"}),"audio"===eo&&(0,o.jsxs)(a.default,{sx:{mt:2,textAlign:"center"},children:[(0,o.jsx)(p.default,{variant:"body2",children:ed||"Processing audio..."}),es>0&&(0,o.jsxs)(p.default,{variant:"body2",color:"text.secondary",sx:{mt:1},children:[Math.round(es),"%"]})]})]}):(0,o.jsx)(eD.A,{multiline:!0,fullWidth:!0,minRows:10,maxRows:20,value:X,onChange:e=>$(e.target.value),variant:"outlined",placeholder:"document"===eo?"Document content":"Audio transcription"})}),(0,o.jsxs)(b.A,{children:[(0,o.jsx)(u.A,{onClick:()=>K(!1),disabled:el,children:"Cancel"}),(0,o.jsx)(u.A,{onClick:()=>{eB.debug("Adding attachment",{type:eo,titleLength:Z.length}),E([...N,{id:(0,eL.A)(),type:eo,content:X,originalName:Z}]),K(!1)},variant:"contained",disabled:el||!X.trim(),children:"Add to Message"})]})]})]})},eq=e=>{var t;let{liveStats:n,onStop:l,stopDisabled:s}=e,[i,d]=(0,r.useState)(()=>Date.now());(0,r.useEffect)(()=>{let e=setInterval(()=>d(Date.now()),1e3);return()=>clearInterval(e)},[]);let c=n?Math.max(0,Math.round((i-n.startedAt)/1e3)):0,h=n?Math.round((i-n.lastEventAt)/1e3):0,f=!!n&&h>=60;return(0,o.jsxs)(a.default,{sx:{display:"flex",flexDirection:"column",alignItems:"center",my:2,gap:.5},children:[(0,o.jsxs)(a.default,{sx:{display:"flex",alignItems:"center",gap:2},children:[(0,o.jsx)(M.default,{size:20,color:f?"warning":"primary"}),(0,o.jsx)(p.default,{variant:"body2",color:"textSecondary",children:(null==n?void 0:n.activeNode)?"Running: ".concat(n.activeNode):"Working…"}),(0,o.jsx)(u.A,{variant:"outlined",color:"secondary",size:"small",onClick:l,disabled:s,children:"Stop"})]}),(0,o.jsxs)(p.default,{variant:"caption",color:f?"warning.main":"textSecondary",children:[(null!=(t=null==n?void 0:n.totalTokens)?t:0).toLocaleString()," tokens \xb7 ",c,"s elapsed",f?" \xb7 no activity for ".concat(h,"s — may be stuck"):""]})]})};var eU=n(88538),eJ=n(16963),eY=n(2456),eQ=n(64792),eG=n(71356),eV=n(45202),eK=n(52005),eX=n(77998);let e$=e=>e>=1e3?"".concat((e/1e3).toFixed(e>=1e5?0:1),"k"):"".concat(e),eZ=e=>{var t;let{usage:n,contextInfo:l,availableNodes:i}=e,[d,u]=(0,r.useState)(null);if(!n&&!l)return null;let h=(null==n?void 0:n.byNode)?Object.entries(n.byNode):[],f=null!=(t=null==n?void 0:n.cacheReadTokens)?t:0,g=n?Math.max(0,n.promptTokens-f):0,x=n?Math.max(0,n.totalTokens-f):0,m=(null==l?void 0:l.contextWindow)&&l.contextWindow>0?Math.min(100,Math.round(l.promptTokens/l.contextWindow*100)):void 0;return(0,o.jsxs)(a.default,{sx:{display:"flex",alignItems:"center",gap:1.5,flexShrink:0},children:[n&&x>0&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.A,{title:"Tokens this conversation — ".concat(g.toLocaleString()," prompt / ").concat(n.completionTokens.toLocaleString()," completion").concat(f>0?" (+".concat(f.toLocaleString()," cached reads, not counted)"):"",". Click for the per-node breakdown."),children:(0,o.jsx)(c.A,{icon:(0,o.jsx)(eX.A,{}),label:"".concat(e$(x)," tokens"),size:"small",variant:"outlined",onClick:e=>u(e.currentTarget),sx:{cursor:"pointer"}})}),(0,o.jsx)(eU.Ay,{open:!!d,anchorEl:d,onClose:()=>u(null),anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},children:(0,o.jsxs)(a.default,{sx:{p:2,maxWidth:420},children:[(0,o.jsx)(p.default,{variant:"subtitle2",sx:{mb:1},children:"Token usage by node"}),(0,o.jsxs)(eJ.A,{size:"small",children:[(0,o.jsx)(eY.A,{children:(0,o.jsxs)(eQ.A,{children:[(0,o.jsx)(eG.A,{children:"Node"}),(0,o.jsx)(eG.A,{align:"right",children:"Prompt"}),(0,o.jsx)(eG.A,{align:"right",children:"Completion"}),(0,o.jsx)(eG.A,{align:"right",children:"Total"})]})}),(0,o.jsxs)(eV.A,{children:[h.map(e=>{let[t,n]=e;return(0,o.jsxs)(eQ.A,{children:[(0,o.jsx)(eG.A,{children:(0,o.jsx)(s.A,{title:t,children:(0,o.jsx)("span",{children:(e=>{var t;return(null==(t=i.find(t=>t.id===e))?void 0:t.label)||"".concat(e.substring(0,8),"…")})(t)})})}),(0,o.jsx)(eG.A,{align:"right",children:n.promptTokens.toLocaleString()}),(0,o.jsx)(eG.A,{align:"right",children:n.completionTokens.toLocaleString()}),(0,o.jsx)(eG.A,{align:"right",children:n.totalTokens.toLocaleString()})]},t)}),(0,o.jsxs)(eQ.A,{children:[(0,o.jsx)(eG.A,{sx:{fontWeight:"bold"},children:"Total"}),(0,o.jsx)(eG.A,{align:"right",sx:{fontWeight:"bold"},children:n.promptTokens.toLocaleString()}),(0,o.jsx)(eG.A,{align:"right",sx:{fontWeight:"bold"},children:n.completionTokens.toLocaleString()}),(0,o.jsx)(eG.A,{align:"right",sx:{fontWeight:"bold"},children:n.totalTokens.toLocaleString()})]})]})]}),f>0&&(0,o.jsxs)(p.default,{variant:"caption",color:"text.secondary",sx:{display:"block",mt:1},children:["Prompt totals include ",f.toLocaleString()," tokens re-read from the prompt cache. The header chip shows the fresh figure (",x.toLocaleString(),") with those cached reads excluded."]})]})})]}),l&&void 0!==m&&(0,o.jsx)(s.A,{title:"Context of the latest call".concat(l.modelDisplayName?" (".concat(l.modelDisplayName,")"):"",": ").concat(l.promptTokens.toLocaleString()," of ").concat(l.contextWindow.toLocaleString()," tokens"),children:(0,o.jsxs)(a.default,{sx:{display:"flex",alignItems:"center",gap:1,minWidth:140},children:[(0,o.jsx)(eK.A,{variant:"determinate",value:m,color:m>=90?"error":m>=70?"warning":"primary",sx:{flex:1,height:6,borderRadius:3}}),(0,o.jsxs)(p.default,{variant:"caption",color:"text.secondary",sx:{whiteSpace:"nowrap"},children:[e$(l.promptTokens),"/",e$(l.contextWindow)," (",m,"%)"]})]})}),l&&void 0===m&&(0,o.jsx)(s.A,{title:"Prompt size of the latest call".concat(l.modelDisplayName?" (".concat(l.modelDisplayName,")"):"",". Set the model's Context Window in its settings to see a usage meter."),children:(0,o.jsxs)(p.default,{variant:"caption",color:"text.secondary",sx:{whiteSpace:"nowrap"},children:["ctx ",e$(l.promptTokens)]})})]})};var e0=n(56900),e1=n(90057),e2=n(96362),e5=n(9226);let e6=e=>{let{selectedFlowId:t,onSelectFlow:n,disabled:l=!1}=e,[s,i]=(0,r.useState)([]),[d,c]=(0,r.useState)(!0),[h,f]=(0,r.useState)(null),[g,x]=(0,r.useState)(!1);(0,r.useEffect)(()=>{(async()=>{c(!0),f(null);try{let e=await e1.g.loadFlows();i(e)}catch(e){console.error("Error loading flows:",e),f("Failed to load flows")}finally{c(!1)}})()},[]);let m=e=>{n(e),x(!1)},v=(()=>{if(!t)return"";let e=s.find(e=>e.id===t);return e?e.name:""})();return(0,o.jsxs)(a.default,{children:[(0,o.jsx)(p.default,{variant:"subtitle1",gutterBottom:!0,children:"Select Flow"}),d?(0,o.jsxs)(a.default,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,o.jsx)(M.default,{size:20}),(0,o.jsx)(p.default,{variant:"body2",color:"text.secondary",children:"Loading flows..."})]}):h?(0,o.jsx)(p.default,{color:"error",variant:"body2",children:h}):0===s.length?(0,o.jsx)(p.default,{variant:"body2",color:"text.secondary",children:"No flows available. Create some flows in the Flow Builder first."}):(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(u.A,{variant:"outlined",startIcon:(0,o.jsx)(e0.A,{}),onClick:()=>x(!0),disabled:l,sx:{textTransform:"none",maxWidth:"100%"},children:(0,o.jsx)(a.default,{component:"span",sx:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:t&&v||"Select a flow"})}),(0,o.jsx)(p.default,{variant:"caption",color:"text.secondary",display:"block",sx:{mt:.5},children:t?'Using "'.concat(v,'" flow for this conversation'):"Select a flow to use for this conversation"}),(0,o.jsx)(e2.A,{open:g,onClose:()=>x(!1),title:"Select a flow",description:"Pick the flow this conversation will run.",skeleton:(0,o.jsx)(e5.o,{}),emptyMessage:"No flows available. Create some flows in the Flow Builder first.",items:s.map(e=>({key:e.id,content:(0,o.jsx)(e5.A,{flow:e,selected:e.id===t,onSelect:m,pickerMode:!0})}))})]})]})};var e4=n(43076);let e3=(0,ev.h)("frontend/components/Chat/QuickChatDialog"),e8=e=>{let{open:t,onClose:n,onStart:l}=e,[s,h]=(0,r.useState)([]),[f,v]=(0,r.useState)([]),[y,j]=(0,r.useState)(!1),[w,A]=(0,r.useState)(null),[S,I]=(0,r.useState)(""),[C,N]=(0,r.useState)(""),[E,T]=(0,r.useState)({}),[R,z]=(0,r.useState)(!1),[D,P]=(0,r.useState)(null);(0,r.useEffect)(()=>{if(!t)return;let e=!1;return j(!0),A(null),(async()=>{try{let[t,n]=await Promise.all([e4.N.loadModels(),ex.S.loadServerConfigs()]);if(e)return;h(t);let o=Array.isArray(n)?n.filter(e=>!e.disabled).map(e=>e.name):[];v(o),I(e=>{var n;return e||(null==(n=t[0])?void 0:n.id)||""})}catch(t){e||(e3.warn("Failed to load models/servers for quick chat",t),A("Could not load models or servers."))}finally{e||j(!1)}})(),()=>{e=!0}},[t]),(0,r.useEffect)(()=>{t||(N(""),T({}),P(null),z(!1))},[t]);let F=(0,r.useCallback)(e=>{T(t=>{let n=t[e];return(null==n?void 0:n.selected)?{...t,[e]:{...n,selected:!1}}:{...t,[e]:{...null!=n?n:{tools:null,expanded:!1},selected:!0}}})},[]),W=(0,r.useCallback)(async e=>{T(t=>{var n;let o=null!=(n=t[e])?n:{selected:!1,tools:null,expanded:!1};return{...t,[e]:{...o,expanded:!o.expanded}}});let t=E[e];if(!(null==t?void 0:t.available)&&!(null==t?void 0:t.loading)){T(t=>{var n;return{...t,[e]:{...null!=(n=t[e])?n:{selected:!1,tools:null,expanded:!0},loading:!0}}});try{let{tools:t}=await ex.S.listServerTools(e),n=Array.isArray(t)?t.map(e=>e.name).filter(Boolean):[];T(t=>{var o;return{...t,[e]:{...null!=(o=t[e])?o:{selected:!1,tools:null,expanded:!0},available:n,loading:!1}}})}catch(t){e3.warn("Failed to load tools for ".concat(e),t),T(t=>{var n;return{...t,[e]:{...null!=(n=t[e])?n:{selected:!1,tools:null,expanded:!0},available:[],loading:!1}}})}}},[E]),L=(0,r.useCallback)((e,t,n)=>{T(o=>{var r,l;let a=null!=(r=o[e])?r:{selected:!0,tools:null,expanded:!0},s=new Set(null!=(l=a.tools)?l:new Set(n));return s.has(t)?s.delete(t):s.add(t),{...o,[e]:{...a,selected:!0,tools:s}}})},[]),J=!!S&&!R&&!y,Y=async()=>{if(!S)return void P("Pick a model to chat with.");z(!0),P(null);let e=f.filter(e=>{var t;return null==(t=E[e])?void 0:t.selected}).map(e=>{let t=E[e];return!t.tools||t.available&&t.tools.size===t.available.length?{name:e}:{name:e,enabledTools:[...t.tools]}});try{await l({modelId:S,servers:e,systemPrompt:C.trim()||void 0})}catch(e){e3.warn("Quick chat failed to start",e),P(e instanceof Error?e.message:"Could not start the quick chat."),z(!1)}};return(0,o.jsxs)(g.A,{open:t,onClose:R?void 0:n,maxWidth:"sm",fullWidth:!0,children:[(0,o.jsx)(x.A,{children:"Quick Chat"}),(0,o.jsxs)(m.A,{children:[(0,o.jsx)(p.default,{variant:"body2",color:"text.secondary",sx:{mb:2},children:"Chat with a model and, optionally, some MCP servers — no need to build and save a flow."}),w&&(0,o.jsx)(d.A,{severity:"error",sx:{mb:2},children:w}),(0,o.jsxs)(B.A,{fullWidth:!0,size:"small",sx:{mb:2},disabled:y,children:[(0,o.jsx)(H.A,{id:"quick-chat-model-label",children:"Model"}),(0,o.jsxs)(q.A,{labelId:"quick-chat-model-label",label:"Model",value:S,onChange:e=>I(e.target.value),children:[0===s.length&&(0,o.jsx)(U.A,{value:"",disabled:!0,children:y?"Loading…":"No models configured"}),s.map(e=>(0,o.jsx)(U.A,{value:e.id,children:e.displayName||e.name},e.id))]})]}),(0,o.jsx)(eD.A,{fullWidth:!0,size:"small",multiline:!0,minRows:2,maxRows:6,label:"System prompt (optional)",placeholder:"e.g. You are a concise coding assistant.",value:C,onChange:e=>N(e.target.value),sx:{mb:2}}),(0,o.jsx)(k.A,{sx:{mb:1}}),(0,o.jsx)(p.default,{variant:"subtitle2",gutterBottom:!0,children:"MCP servers (optional)"}),y?(0,o.jsx)(a.default,{sx:{display:"flex",justifyContent:"center",my:2},children:(0,o.jsx)(M.default,{size:22})}):0===f.length?(0,o.jsx)(p.default,{variant:"body2",color:"text.secondary",children:"No connected MCP servers. You can still chat with the model alone."}):f.map(e=>{let t=E[e],n=!!(null==t?void 0:t.selected),r=null==t?void 0:t.available,l=null==t?void 0:t.tools;return(0,o.jsxs)(a.default,{sx:{mb:.5},children:[(0,o.jsxs)(a.default,{sx:{display:"flex",alignItems:"center"},children:[(0,o.jsx)(_.A,{sx:{flexGrow:1,mr:0},control:(0,o.jsx)(eP.A,{size:"small",checked:n,onChange:()=>F(e)}),label:(0,o.jsxs)(a.default,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,o.jsx)(p.default,{variant:"body2",children:e}),n&&(0,o.jsx)(c.A,{size:"small",variant:"outlined",label:l?"".concat(l.size," tool").concat(1===l.size?"":"s"):"all tools"})]})}),(0,o.jsx)(i.A,{size:"small",onClick:()=>W(e),"aria-label":"customize ".concat(e," tools"),children:(null==t?void 0:t.expanded)?(0,o.jsx)(eg.A,{fontSize:"small"}):(0,o.jsx)(eo.A,{fontSize:"small"})})]}),(0,o.jsx)(O.A,{in:!!(null==t?void 0:t.expanded),unmountOnExit:!0,children:(0,o.jsx)(a.default,{sx:{pl:4,pb:1},children:(null==t?void 0:t.loading)?(0,o.jsx)(M.default,{size:16}):r&&r.length>0?r.map(t=>{let n=!l||l.has(t);return(0,o.jsx)(_.A,{sx:{display:"flex"},control:(0,o.jsx)(eP.A,{size:"small",checked:n,onChange:()=>L(e,t,r)}),label:(0,o.jsx)(p.default,{variant:"caption",children:t})},t)}):(0,o.jsx)(p.default,{variant:"caption",color:"text.secondary",children:r?"No tools reported (server may be offline).":""})})})]},e)}),D&&(0,o.jsx)(d.A,{severity:"error",sx:{mt:2},children:D})]}),(0,o.jsxs)(b.A,{children:[(0,o.jsx)(u.A,{onClick:n,disabled:R,children:"Cancel"}),(0,o.jsx)(u.A,{variant:"contained",onClick:Y,disabled:!J,startIcon:R?(0,o.jsx)(M.default,{size:16,color:"inherit"}):void 0,children:R?"Starting…":"Start chat"})]})]})};var e7=n(53940),e9=n(48116),te=n(33567),tt=n(22539),tn=n(33420),to=n(53911);let tr={byNode:{},byResource:{},byResourceName:{},resourceVersion:0};function tl(e,t){return"".concat(e," ").concat(t)}var ta=n(59323),ts=n(72308),ti=n(6422),td=n(48363);let tc=(0,ev.h)("frontend/components/Chat/RunResourcesPanel"),tu=e=>{let{conversationId:t,refreshToken:n}=e,[l,s]=(0,r.useState)(null),[i,d]=(0,r.useState)(null);return((0,r.useEffect)(()=>{if(!t)return;let e=!1;return fetch("/v1/chat/conversations/".concat(encodeURIComponent(t),"/resources")).then(async e=>{if(!e.ok)throw Error("HTTP ".concat(e.status));return e.json()}).then(t=>{e||(s(Array.isArray(t.resources)?t.resources:[]),d(null))}).catch(t=>{e||(tc.warn("Failed to load run resources",t),d(t instanceof Error?t.message:String(t)))}),()=>{e=!0}},[t,n]),i)?(0,o.jsxs)(p.default,{variant:"caption",color:"text.secondary",children:["Run data unavailable (",i,")"]}):null===l?(0,o.jsx)(a.default,{sx:{display:"flex",justifyContent:"center",p:1},children:(0,o.jsx)(M.default,{size:16})}):0===l.length?(0,o.jsx)(p.default,{variant:"caption",color:"text.secondary",children:"No data artifacts captured in this run yet."}):(0,o.jsx)(N.A,{dense:!0,disablePadding:!0,children:[...l].sort((e,t)=>t.createdAt-e.createdAt).map(e=>{var t;return(0,o.jsxs)(E.Ay,{disableGutters:!0,sx:{alignItems:"flex-start"},children:[(0,o.jsx)(V.A,{sx:{minWidth:30,mt:.5},children:function(e){switch(e){case"image":return(0,o.jsx)(ts.A,{fontSize:"small",sx:{color:"#009688"}});case"audio":return(0,o.jsx)(ti.A,{fontSize:"small",sx:{color:"#009688"}});case"link":return(0,o.jsx)(td.A,{fontSize:"small",sx:{color:"#009688"}});default:return(0,o.jsx)(ta.A,{fontSize:"small",sx:{color:"#009688"}})}}(e.kind)}),(0,o.jsx)(T.A,{primary:(0,o.jsxs)(a.default,{sx:{display:"flex",alignItems:"center",gap:.5,flexWrap:"wrap"},children:[(0,o.jsx)(p.default,{variant:"body2",sx:{fontWeight:500},children:null!=(t=e.name)?t:"".concat(e.kind,"-").concat(e.id.slice(0,8))}),e.mimeType&&(0,o.jsx)(c.A,{label:e.mimeType,size:"small",variant:"outlined",sx:{height:18,fontSize:"0.65rem"}}),(0,o.jsx)(p.default,{variant:"caption",color:"text.secondary",children:function(e){return e<1024?"".concat(e," B"):e<1048576?"".concat(Math.round(e/1024)," KB"):"".concat((e/1048576).toFixed(1)," MB")}(e.size)})]}),secondary:(0,o.jsxs)(p.default,{variant:"caption",color:"text.secondary",component:"span",sx:{wordBreak:"break-all"},children:["by ",function(e){var t,n,o,r,l;let a=e.producedBy;switch(a.source){case"tool-result":return"tool ".concat(null!=(t=a.server)?t:"?","/").concat(null!=(n=a.toolName)?n:"?");case"capture":return"step ".concat(null!=(r=null!=(o=a.nodeName)?o:a.nodeId)?r:"?");case"mcp-link":return"link from ".concat(null!=(l=a.server)?l:"?");default:return"run"}}(e),e.readBy.length>0?" \xb7 read ".concat(e.readBy.length,"\xd7"):""," \xb7 ",e.uri]})})]},e.id)})})},tp=(0,ev.h)("frontend/components/Chat/DebuggerCanvas"),th={start:tn.vm,process:tn.Uw,finish:tn.IK,mcp:tn.v2,subflow:tn.lA,resource:tn.z9},tf={custom:to.jY,mcpEdge:to.oY,resourceEdge:to.sZ},tg=(0,e9.Ay)(L.A)(e=>{let{theme:t}=e;return{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden",padding:t.spacing(1)}}),tx=(0,e9.Ay)(a.default)(e=>{let{theme:t}=e;return{padding:t.spacing(1,2),borderBottom:"1px solid ".concat(t.palette.divider)}}),tm=(0,e9.Ay)(a.default)({flexGrow:1,display:"flex",overflow:"hidden"}),tv=(0,e9.Ay)(a.default)(e=>{let{theme:t}=e;return{width:"200px",borderRight:"1px solid ".concat(t.palette.divider),overflowY:"auto",padding:t.spacing(1)}}),tb=(0,e9.Ay)(a.default)({flexGrow:1,position:"relative",height:"100%"}),ty=(0,e9.Ay)(a.default)(e=>{let{theme:t}=e;return{width:"300px",borderLeft:"1px solid ".concat(t.palette.divider),overflowY:"auto",padding:t.spacing(2)}}),tj=(0,e9.Ay)(a.default)(e=>{let{theme:t}=e;return{padding:t.spacing(1,2),borderTop:"1px solid ".concat(t.palette.divider),display:"flex",gap:t.spacing(1),justifyContent:"center"}}),tw=e=>{var t,n,l,c;let{debugState:h,conversationId:f,onStep:g,onStepOver:x,onContinue:m,onCancel:v,isLoading:b,breakpoints:y,onToggleBreakpoint:j,onClose:w,liveActivity:A}=e,S=(0,te.A)(),[I,C]=(0,r.useState)(h.executionTrace&&h.executionTrace.length>0?h.executionTrace.length-1:-1),[k,z]=(0,r.useState)(!0),[D,P]=(0,r.useState)(!0),[F,O]=(0,r.useState)(null),[_,W]=(0,r.useState)(!0),[L,B]=(0,r.useState)(null),[H,q,U]=(0,tt.ck)([]),[G,V,K]=(0,tt.fM)([]);(0,r.useEffect)(()=>{var e;let t=(null==(e=h.executionTrace)?void 0:e.length)||0;t>0?(C(e=>Math.min(e,t-1)),I<t-1&&C(t-1)):C(-1)},[h.executionTrace]),(0,r.useEffect)(()=>{(async()=>{if(!h.flowId){B("Flow ID is missing in debug state."),W(!1);return}W(!0),B(null);try{tp.debug("Loading flow definition for ID: ".concat(h.flowId));let e=await e1.g.getFlow(h.flowId);if(!e)throw Error("Flow with ID ".concat(h.flowId," not found."));O(e),tp.info("Flow definition loaded: ".concat(e.name))}catch(e){tp.error("Error loading flow definition:",e),B(e instanceof Error?e.message:"Failed to load flow definition."),O(null)}finally{W(!1)}})()},[h.flowId]),(0,r.useEffect)(()=>{if(F){tp.debug("Setting nodes and edges from flow definition");let e=F.nodes.map(e=>({...e,draggable:!1,selectable:!1,connectable:!1})),t=F.edges.map(e=>({...e,selectable:!1}));q(e),V(t)}},[F,q,V]);let X=(0,r.useCallback)(()=>{if(tp.debug("Previous button clicked. Current index: ".concat(I)),I>0){let e=I-1;tp.debug("Setting current step index to: ".concat(e)),C(e)}else tp.debug("Already at the first step, cannot go previous.")},[I]),$=(0,r.useCallback)(()=>{var e;if(tp.debug("Next button clicked. Current index: ".concat(I,", Trace length: ").concat(null==(e=h.executionTrace)?void 0:e.length)),h.executionTrace&&I<h.executionTrace.length-1){let e=I+1;tp.debug("Navigating to next trace step: ".concat(e)),C(e)}else tp.info("At end of trace, triggering API call for next step."),g()},[I,h.executionTrace,g]),Z=(0,r.useMemo)(()=>{if(h.executionTrace&&I>=0&&I<h.executionTrace.length)return h.executionTrace[I]},[h.executionTrace,I]),[ee,et]=(0,r.useState)(()=>Date.now());(0,r.useEffect)(()=>{if(!A)return;let e=()=>{let e=Date.now();return[...Object.values(A.byNode),...Object.values(A.byResource),...Object.values(A.byResourceName)].some(t=>e-t.ts<4e3)};if(!e())return;let t=setInterval(()=>{et(Date.now()),e()||clearInterval(t)},350);return()=>clearInterval(t)},[A]);let en=(0,r.useCallback)(e=>{var t,n;if(!A)return null;let o=A.byNode[e.id];if(o&&ee-o.ts<4e3)return o;let r=e.data;if((null!=(t=null==r?void 0:r.type)?t:e.type)!=="resource")return null;let l=null!=(n=null==r?void 0:r.properties)?n:{},a="run"===l.scope?"string"==typeof l.runName?A.byResourceName[l.runName]:void 0:"string"==typeof l.boundServer&&"string"==typeof l.uri?A.byResource[tl(l.boundServer,l.uri)]:void 0;return a&&ee-a.ts<4e3?{kind:"read"===a.kind?"resource-read":"resource-write",ts:a.ts}:null},[A,ee]),er=(0,r.useMemo)(()=>{let e=null==Z?void 0:Z.nodeId;return H.map(t=>{var n;let o=t.id===e,r=null==y?void 0:y.includes(t.id),l=o?null:en(t),a=l?Math.max(.25,1-(ee-l.ts)/4e3):0,s=(null==l?void 0:l.kind)==="active"?S.palette.primary.main:"#009688";return{...t,style:{...t.style,border:o?"2px solid ".concat(S.palette.warning.main):l?"2px solid ".concat(s):r?"2px dashed ".concat(S.palette.error.main):null==(n=t.style)?void 0:n.border,boxShadow:o?"0 0 10px ".concat(S.palette.warning.light):l?"0 0 ".concat("resource-write"===l.kind?14:10,"px ").concat(s).concat(Math.round(255*a).toString(16).padStart(2,"0")):void 0}}})},[H,Z,y,S,en,ee]);return(0,o.jsxs)(tg,{elevation:2,children:[(0,o.jsxs)(tx,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"space-between"},children:[(0,o.jsxs)(a.default,{children:[(0,o.jsx)(p.default,{variant:"h6",children:"Flow Debugger"}),(0,o.jsxs)(p.default,{variant:"caption",color:"textSecondary",display:"block",children:["Click a node to toggle a breakpoint",y&&y.length>0?" \xb7 ".concat(y.length," active"):""]})]}),(0,o.jsxs)(a.default,{sx:{display:"flex",alignItems:"center",gap:.5},children:[(0,o.jsx)(s.A,{title:k?"Hide execution trace":"Show execution trace",children:(0,o.jsx)(i.A,{size:"small",onClick:()=>z(e=>!e),color:k?"primary":"default","aria-label":k?"Hide execution trace":"Show execution trace",children:(0,o.jsx)(e7.A,{fontSize:"small",sx:{transform:"scaleX(-1)"}})})}),(0,o.jsx)(s.A,{title:D?"Hide step inspector":"Show step inspector",children:(0,o.jsx)(i.A,{size:"small",onClick:()=>P(e=>!e),color:D?"primary":"default","aria-label":D?"Hide step inspector":"Show step inspector",children:(0,o.jsx)(e7.A,{fontSize:"small"})})}),w&&(0,o.jsx)(s.A,{title:"Close debugger",children:(0,o.jsx)(i.A,{size:"small",onClick:w,"aria-label":"Close debugger",children:(0,o.jsx)(eM.A,{fontSize:"small"})})})]})]}),(0,o.jsxs)(tm,{children:[k&&(0,o.jsxs)(tv,{children:[(0,o.jsx)(p.default,{variant:"subtitle2",gutterBottom:!0,children:"Execution Trace"}),(0,o.jsxs)(N.A,{dense:!0,disablePadding:!0,children:[null==(t=h.executionTrace)?void 0:t.map((e,t)=>(0,o.jsx)(E.Ay,{disablePadding:!0,children:(0,o.jsx)(R.A,{selected:t===I,onClick:()=>(e=>{h.executionTrace&&e>=0&&e<h.executionTrace.length?(tp.debug("Trace step selected: ".concat(e)),C(e)):tp.warn("Invalid step index selected: ".concat(e)),C(e),C(e)})(t),children:(0,o.jsx)(T.A,{primary:"".concat(e.stepIndex,": ").concat(e.nodeName||e.nodeId),secondary:e.nodeType})})},e.stepIndex)),b&&(0,o.jsx)(E.Ay,{children:(0,o.jsx)(M.default,{size:20,sx:{margin:"auto"}})})]})]}),(0,o.jsx)(tb,{children:_?(0,o.jsx)(a.default,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"100%"},children:(0,o.jsx)(M.default,{})}):L?(0,o.jsx)(d.A,{severity:"error",sx:{margin:2},children:L}):(0,o.jsxs)(tt.Ln,{children:[" ",(0,o.jsx)(tt.Gc,{nodes:er,edges:G,onNodesChange:U,onEdgesChange:K,nodeTypes:th,edgeTypes:tf,fitView:!0,attributionPosition:"bottom-right",nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!1,panOnDrag:!0,zoomOnScroll:!0,zoomOnPinch:!0,zoomOnDoubleClick:!1,onNodeClick:(e,t)=>{e.preventDefault(),j&&j(t.id)},onEdgeClick:e=>e.preventDefault(),onPaneClick:()=>{},children:" "})]})}),D&&(0,o.jsxs)(ty,{children:[(0,o.jsx)(p.default,{variant:"subtitle2",gutterBottom:!0,children:"Step Inspector"}),Z?(0,o.jsxs)(a.default,{children:[(0,o.jsxs)(p.default,{variant:"body2",children:[(0,o.jsx)("b",{children:"Node:"})," ",Z.nodeName," (",Z.nodeId,")"]}),(0,o.jsxs)(p.default,{variant:"body2",children:[(0,o.jsx)("b",{children:"Type:"})," ",Z.nodeType]}),(0,o.jsxs)(p.default,{variant:"body2",children:[(0,o.jsx)("b",{children:"Timestamp:"})," ",new Date(Z.timestamp).toLocaleString()]}),(0,o.jsxs)(p.default,{variant:"body2",children:[(0,o.jsx)("b",{children:"Action Taken:"})," ",Z.actionTaken]}),(0,o.jsxs)(J.A,{sx:{mt:2,boxShadow:"none","&:before":{display:"none"}},children:[(0,o.jsx)(Y.A,{expandIcon:(0,o.jsx)(eo.A,{}),sx:{minHeight:"36px","& .MuiAccordionSummary-content":{margin:"8px 0"}},children:(0,o.jsx)(p.default,{variant:"caption",children:"Prep Result"})}),(0,o.jsx)(Q.A,{sx:{p:0},children:(0,o.jsx)("pre",{style:{whiteSpace:"pre-wrap",wordBreak:"break-all",maxHeight:"200px",overflowY:"auto",background:"#f5f5f5",padding:"8px",borderRadius:"4px",fontSize:"0.75rem",margin:0},children:JSON.stringify(Z.prepResultSnapshot,null,2)})})]}),(0,o.jsxs)(J.A,{sx:{boxShadow:"none","&:before":{display:"none"}},children:[(0,o.jsx)(Y.A,{expandIcon:(0,o.jsx)(eo.A,{}),sx:{minHeight:"36px","& .MuiAccordionSummary-content":{margin:"8px 0"}},children:(0,o.jsxs)(p.default,{variant:"caption",color:(null==(n=Z.execResultSnapshot)?void 0:n.success)===!1?"error":"inherit",children:["Exec Result ",(null==(l=Z.execResultSnapshot)?void 0:l.success)===!1?"(Error)":""]})}),(0,o.jsx)(Q.A,{sx:{p:0},children:(null==(c=Z.execResultSnapshot)?void 0:c.success)===!1?(0,o.jsxs)(a.default,{sx:{p:1,background:S.palette.error.light,borderRadius:1},children:[" ",(0,o.jsxs)(p.default,{variant:"body2",color:"error",gutterBottom:!0,children:[(0,o.jsx)("b",{children:"Error:"})," ",Z.execResultSnapshot.error||"Unknown error"]}),Z.execResultSnapshot.errorDetails&&(0,o.jsx)("pre",{style:{whiteSpace:"pre-wrap",wordBreak:"break-all",maxHeight:"150px",overflowY:"auto",background:"#f5f5f5",padding:"4px",borderRadius:"4px",fontSize:"0.75rem",margin:0},children:JSON.stringify(Z.execResultSnapshot.errorDetails,null,2)})]}):(0,o.jsx)("pre",{style:{whiteSpace:"pre-wrap",wordBreak:"break-all",maxHeight:"200px",overflowY:"auto",background:"#f5f5f5",padding:"8px",borderRadius:"4px",fontSize:"0.75rem",margin:0},children:JSON.stringify(Z.execResultSnapshot,null,2)})})]}),(0,o.jsxs)(J.A,{sx:{boxShadow:"none","&:before":{display:"none"}},children:[(0,o.jsx)(Y.A,{expandIcon:(0,o.jsx)(eo.A,{}),sx:{minHeight:"36px","& .MuiAccordionSummary-content":{margin:"8px 0"}},children:(0,o.jsx)(p.default,{variant:"caption",children:"State Before"})}),(0,o.jsx)(Q.A,{sx:{p:0},children:(0,o.jsx)("pre",{style:{whiteSpace:"pre-wrap",wordBreak:"break-all",maxHeight:"200px",overflowY:"auto",background:"#f5f5f5",padding:"8px",borderRadius:"4px",fontSize:"0.75rem",margin:0},children:JSON.stringify(Z.stateBefore,null,2)})})]}),(0,o.jsxs)(J.A,{sx:{boxShadow:"none","&:before":{display:"none"}},children:[(0,o.jsx)(Y.A,{expandIcon:(0,o.jsx)(eo.A,{}),sx:{minHeight:"36px","& .MuiAccordionSummary-content":{margin:"8px 0"}},children:(0,o.jsx)(p.default,{variant:"caption",children:"State After"})}),(0,o.jsx)(Q.A,{sx:{p:0},children:(0,o.jsx)("pre",{style:{whiteSpace:"pre-wrap",wordBreak:"break-all",maxHeight:"200px",overflowY:"auto",background:"#f5f5f5",padding:"8px",borderRadius:"4px",fontSize:"0.75rem",margin:0},children:JSON.stringify(Z.stateAfter,null,2)})})]})]}):(0,o.jsx)(p.default,{variant:"body2",color:"textSecondary",children:"Select a step from the trace."}),(0,o.jsxs)(J.A,{defaultExpanded:!0,sx:{mt:2,boxShadow:"none","&:before":{display:"none"}},children:[(0,o.jsx)(Y.A,{expandIcon:(0,o.jsx)(eo.A,{}),sx:{minHeight:"36px","& .MuiAccordionSummary-content":{margin:"8px 0"}},children:(0,o.jsx)(p.default,{variant:"caption",children:"Run Data"})}),(0,o.jsx)(Q.A,{sx:{p:0},children:(0,o.jsx)(tu,{conversationId:f,refreshToken:null==A?void 0:A.resourceVersion})})]})]})]}),(0,o.jsxs)(tj,{children:[(0,o.jsx)(u.A,{variant:"outlined",size:"small",onClick:X,disabled:b||I<=0,children:"Previous"}),(0,o.jsx)(u.A,{variant:"contained",size:"small",onClick:$,disabled:b||-1===I,children:h.executionTrace&&I<h.executionTrace.length-1?"Next Trace Step":"Step Next"}),x&&(0,o.jsx)(u.A,{variant:"outlined",size:"small",onClick:x,disabled:b,children:"Step Over"}),(0,o.jsx)(u.A,{variant:"contained",color:"secondary",size:"small",onClick:m,disabled:b,children:"Continue"}),(0,o.jsx)(u.A,{variant:"outlined",color:"error",size:"small",onClick:v,disabled:b,children:"Stop"})]})]})};function tA(e){return"string"==typeof e&&e.startsWith("quickchat-")}n(77890);var tS=n(94929),tI=n(29155),tC=n(63650);let tk=(0,ev.h)("frontend/services/chat/index");class tN extends Error{constructor(e,t,n){super(e),this.name="ChatApiError",this.status=t,this.body=n}}let tE="/v1/chat/conversations";async function tT(e){let t;if(204===e.status)return;let n=await e.text();if(n)try{t=JSON.parse(n)}catch(e){t=n}if(!e.ok)throw new tN(t&&"object"==typeof t&&(t.error||t.message)||"Request failed with status ".concat(e.status),e.status,t);return t}class tR{async listConversations(){return tk.debug("listConversations: Entering method"),tT(await fetch(tE))}async getConversation(e){return tk.debug("getConversation: Entering method",{conversationId:e}),tT(await fetch("".concat(tE,"/").concat(encodeURIComponent(e))))}async createConversation(e){return tk.debug("createConversation: Entering method",{conversationId:e.id}),tT(await fetch(tE,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}))}async updateConversationFlow(e,t){return tk.debug("updateConversationFlow: Entering method",{conversationId:e,flowId:t}),tT(await fetch("".concat(tE,"/").concat(encodeURIComponent(e)),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({flowId:t})}))}async updateConversationApproval(e,t){return tk.debug("updateConversationApproval: Entering method",{conversationId:e,requireApproval:t}),tT(await fetch("".concat(tE,"/").concat(encodeURIComponent(e)),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({requireApproval:t})}))}async deleteConversation(e){tk.debug("deleteConversation: Entering method",{conversationId:e});let t=await fetch("".concat(tE,"/").concat(encodeURIComponent(e)),{method:"DELETE"});await tT(t)}async respondToToolCall(e,t,n){return tk.debug("respondToToolCall: Entering method",{conversationId:e,action:t,toolCallId:n}),tT(await fetch("".concat(tE,"/").concat(encodeURIComponent(e),"/respond"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:t,toolCallId:n})}))}async debugStep(e){return tk.debug("debugStep: Entering method",{conversationId:e}),tT(await fetch("".concat(tE,"/").concat(encodeURIComponent(e),"/debug/step"),{method:"POST"}))}async debugContinue(e){return tk.debug("debugContinue: Entering method",{conversationId:e}),tT(await fetch("".concat(tE,"/").concat(encodeURIComponent(e),"/debug/continue"),{method:"POST"}))}async setBreakpoints(e,t){tk.debug("setBreakpoints: Entering method",{conversationId:e,count:t.length});let n=await fetch("".concat(tE,"/").concat(encodeURIComponent(e),"/breakpoints"),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({breakpoints:t})});await tT(n)}async synthesizeQuickChat(e){return tk.debug("synthesizeQuickChat: Entering method",{conversationId:e.conversationId}),tT(await fetch("/api/flow/quick-chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}))}async cancel(e){tk.debug("cancel: Entering method",{conversationId:e});let t=await fetch("".concat(tE,"/").concat(encodeURIComponent(e),"/cancel"),{method:"POST"});await tT(t)}subscribeToEvents(e,t,n){let o=new EventSource(void 0!==n?"".concat(tE,"/").concat(encodeURIComponent(e),"/events?fromSeq=").concat(n):"".concat(tE,"/").concat(encodeURIComponent(e),"/events"));return o.onopen=()=>{var n;tk.debug("Execution event stream open",{conversationId:e}),null==(n=t.onOpen)||n.call(t)},o.onmessage=e=>{try{t.onEvent(JSON.parse(e.data))}catch(e){tk.warn("Failed to parse SSE event",{err:e})}},o.onerror=e=>{var n;tk.debug("SSE stream error (browser will retry if still open)"),null==(n=t.onError)||n.call(t,e)},o}}let tz=new tR,tD=(0,ev.h)("frontend/components/Chat/index");function tP(e){var t;if(Array.isArray(e.content))return e.content;let n="string"==typeof e.content?e.content:"",o=null!=(t=e.attachments)?t:[],r=o.filter(e=>"image"!==e.type),l=o.filter(e=>"image"===e.type);if(r.length>0&&(n+="\n\n"+r.map(e=>"[".concat(e.type.toUpperCase(),"]: ").concat(e.content)).join("\n\n")),0===l.length)return n;let a=[];for(let e of(n.trim()&&a.push({type:"text",text:n}),l))a.push({type:"image_url",image_url:{url:e.content}});return a}let tF=()=>{var e;let[t,n]=(0,r.useState)([]),[l,k]=(0,r.useState)(!0),[N,E]=(0,r.useState)(null),[T,R]=(0,r.useState)(null),[z,D]=(0,r.useState)(!1),[P,M]=(0,r.useState)(null),[O,_]=(0,C.Mj)(C.Zg.CURRENT_CONVERSATION_ID,null),[W,L]=(0,r.useState)(!1),[B,H]=(0,r.useState)(new Set),q=(0,r.useCallback)((e,t)=>{e&&H(n=>{if(t===n.has(e))return n;let o=new Set(n);return t?o.add(e):o.delete(e),o})},[]),[U,J]=(0,r.useState)(null),[Y,Q]=(0,r.useState)([]),[G,V]=(0,r.useState)(!1),[K,X]=(0,r.useState)(!1),[$,Z]=(0,r.useState)(null),[ee,et]=(0,r.useState)(null),[en,eo]=(0,r.useState)(null),[er,el]=(0,r.useState)(!1),[ea,es]=(0,r.useState)(null),[ei,ed]=(0,r.useState)(!1),[ec,eu]=(0,r.useState)(()=>{let e=Number(window.localStorage.getItem("flujo-debugger-width"));return Number.isFinite(e)&&e>0?e:0}),ep=(0,r.useCallback)(e=>{e.preventDefault();let t=document.body.style.userSelect,n=document.body.style.cursor;document.body.style.userSelect="none",document.body.style.cursor="col-resize";let o=e=>{eu(Math.min(Math.max(window.innerWidth-e.clientX,360),Math.round(.85*window.innerWidth)))},r=()=>{window.removeEventListener("pointermove",o),window.removeEventListener("pointerup",r),document.body.style.userSelect=t,document.body.style.cursor=n,eu(e=>(e>0&&window.localStorage.setItem("flujo-debugger-width",String(Math.round(e))),e))};window.addEventListener("pointermove",o),window.addEventListener("pointerup",r)},[]),[eh,ef]=(0,r.useState)(()=>{let e=Number(window.localStorage.getItem("flujo-chat-sidebar-width"));return Number.isFinite(e)&&e>0?e:300}),[eg,ex]=(0,r.useState)(()=>"1"===window.localStorage.getItem("flujo-chat-sidebar-collapsed")),em=(0,r.useCallback)(()=>{ex(e=>{let t=!e;return window.localStorage.setItem("flujo-chat-sidebar-collapsed",t?"1":"0"),t})},[]),ev=(0,r.useCallback)(e=>{e.preventDefault();let t=document.body.style.userSelect,n=document.body.style.cursor;document.body.style.userSelect="none",document.body.style.cursor="col-resize";let o=e=>{ef(Math.min(Math.max(e.clientX,220),560))},r=()=>{window.removeEventListener("pointermove",o),window.removeEventListener("pointerup",r),document.body.style.userSelect=t,document.body.style.cursor=n,ef(e=>(e>0&&window.localStorage.setItem("flujo-chat-sidebar-width",String(Math.round(e))),e))};window.addEventListener("pointermove",o),window.addEventListener("pointerup",r)},[]),[eb,ey]=(0,r.useState)(null),[ej,ew]=(0,r.useState)(tr),[eA,eS]=(0,r.useState)([]),[eI,eC]=(0,r.useState)(null),ek=(0,r.useRef)(null),eE=(0,r.useRef)(null),eT=(0,r.useRef)(null),eR=(0,r.useRef)(-1),ez=(0,r.useRef)(O);(0,r.useEffect)(()=>{ez.current=O},[O]);let eD=(0,r.useRef)(null),eP=(0,r.useRef)(!0),[eF,eM]=(0,r.useState)(!1),eO=(0,r.useCallback)(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"auto",t=eD.current;t&&t.scrollTo({top:t.scrollHeight,behavior:e})},[]),e_=(0,r.useCallback)(()=>{let e=eD.current;if(!e)return;let t=e.scrollHeight-e.scrollTop-e.clientHeight<80;eP.current=t,eM(!t)},[]),eW=(0,r.useCallback)(()=>{eP.current=!0,eM(!1),eO("smooth")},[eO]);(0,r.useEffect)(()=>{eP.current=!0,eM(!1)},[O]),(0,r.useEffect)(()=>{eP.current&&eO("auto")},[null==T?void 0:T.messages,eO]);let eB=(0,r.useRef)(null);(0,r.useEffect)(()=>{eB.current=eI},[eI]),(0,r.useEffect)(()=>{let e=window.location.origin+"/v1";ek.current=new tI.Ay({baseURL:e,apiKey:"FLUJO",dangerouslyAllowBrowser:!0,maxRetries:0,timeout:18e6})},[]),(0,r.useEffect)(()=>{(async()=>{tD.debug("Loading flows");try{let e=await e1.g.loadFlows();Q(e)}catch(e){tD.error("Error loading flows:",e)}})()},[]);let eU=(0,r.useCallback)(async(e,t)=>{var o;let r=null!=(o=null==t?void 0:t.silent)&&o;tD.debug("Fetching conversation list from backend",{silent:r}),r||(k(!0),E(null));let l=[],a=!1;try{l=(await tz.listConversations()).sort((e,t)=>t.updatedAt-e.updatedAt),n(l),tD.info("Fetched ".concat(l.length," conversations for the list"))}catch(e){a=!0,tD.error("Error fetching conversation list:",e),r||(E("Failed to load conversation history."),n([]))}finally{if(r||k(!1),r||a)return;let t=void 0!==e?e:ez.current,n=ez.current;if(t&&l.some(e=>e.id===t))t!==n&&(tD.debug("Setting currentConversationId to ".concat(t," after fetch/operation.")),_(t));else if(l.length>0){let e=l[0].id;e!==n&&(tD.debug("Selecting most recent conversation ".concat(e," after fetch/operation.")),_(e))}else null!==n&&(tD.debug("No conversations available after fetch/operation, clearing selection."),_(null))}},[_]);(0,r.useEffect)(()=>{eU()},[]);let eJ=(0,r.useCallback)(async e=>{tD.debug("Fetching detailed conversation",{conversationId:e}),D(!0),M(null),R(null);try{let t=await tz.getConversation(e);if(ez.current!==e)return void tD.debug("Discarding stale detailed conversation response",{fetchedId:e,currentId:ez.current});R(t),n(n=>n.map(n=>n.id===e?{...n,title:t.title,flowId:t.flowId,updatedAt:t.updatedAt}:n).sort((e,t)=>t.updatedAt-e.updatedAt)),tD.info("Fetched detailed conversation successfully",{conversationId:e})}catch(t){if(tD.error("Error fetching detailed conversation:",{conversationId:e,err:t}),ez.current!==e)return;t instanceof tN&&404===t.status?(M("Conversation ".concat(e," not found.")),_(null),eU()):M("Failed to load details for conversation ".concat(e,".")),R(null)}finally{ez.current===e&&D(!1)}},[eU,_]);(0,r.useEffect)(()=>{Z(null),eo(null),O?eJ(O):(R(null),D(!1),M(null))},[O,eJ]),(0,r.useEffect)(()=>{if(T){var e;V(null!=(e=T.requireApproval)&&e)}},[null==T?void 0:T.id]);let eY=(0,r.useCallback)(async e=>{if(V(e),O)try{await tz.updateConversationApproval(O,e)}catch(e){tD.warn("Failed to persist requireApproval setting",{conversationId:O,err:e})}},[O]),eQ=t.find(e=>e.id===O)||null,eG=(0,r.useMemo)(()=>{var e,t;return(null==(t=Y.find(e=>e.id===(null==T?void 0:T.flowId)))||null==(e=t.nodes)?void 0:e.map(e=>({id:e.id,label:e.data.label||e.id})))||[]},[Y,null==T?void 0:T.flowId]),eV=(0,r.useMemo)(()=>{var e,t,n;let o=e=>!!e&&eG.some(t=>t.id===e);if(o(en))return en;if(o(null==T?void 0:T.currentNodeId))return T.currentNodeId;let r=null!=(t=null==T?void 0:T.messages)?t:[];for(let e=r.length-1;e>=0;e--){let t=r[e];if("assistant"===t.role&&o(t.processNodeId))return t.processNodeId}return null!=(n=null==(e=eG[0])?void 0:e.id)?n:null},[en,T,eG]),eK=async()=>{var e,t;tD.debug("Attempting to create new conversation"),J(null);let o=(null==(e=Y[0])?void 0:e.id)||null;if(!o){tD.error("Cannot create conversation: No flows available or first flow has no ID."),J("Cannot create a new conversation: No flows available.");return}let r=(0,eL.A)(),l=Date.now(),a={id:r,title:"New Conversation",flowId:o,createdAt:l,updatedAt:l};try{tD.info("Sending request to create conversation on backend",{payload:JSON.stringify(a)});let e=await tz.createConversation(a);tD.info("Successfully created conversation on backend",{conversationId:e.id}),n(t=>[e,...t].sort((e,t)=>t.updatedAt-e.updatedAt)),_(e.id),R({id:e.id,title:e.title,flowId:e.flowId,createdAt:e.createdAt,updatedAt:e.updatedAt,messages:[]}),D(!1),M(null)}catch(n){tD.error("Error creating conversation on backend:",n);let e="Failed to create conversation on the server.";n instanceof tN?e+=" Error: ".concat((null==(t=n.body)?void 0:t.error)||n.message):n instanceof Error&&(e+=" Error: ".concat(n.message)),J(e)}},[eX,e$]=(0,r.useState)(!1),e0=async e=>{J(null);let t=(0,eL.A)(),{flow:o}=await tz.synthesizeQuickChat({conversationId:t,modelId:e.modelId,servers:e.servers,systemPrompt:e.systemPrompt}),r=Date.now(),l=await tz.createConversation({id:t,title:"Quick Chat",flowId:o.id,flowSnapshot:o,createdAt:r,updatedAt:r});n(e=>[l,...e].sort((e,t)=>t.updatedAt-e.updatedAt)),_(l.id),R({id:l.id,title:l.title,flowId:l.flowId,createdAt:l.createdAt,updatedAt:l.updatedAt,messages:[]}),D(!1),M(null),e$(!1)},e2=(0,r.useCallback)(e=>{tD.debug("Updating detailed conversation state locally",{conversationId:e.id});let t={...e,updatedAt:Date.now()};R(t),n(e=>e.map(e=>e.id===t.id?{...e,title:t.title,updatedAt:t.updatedAt}:e).sort((e,t)=>t.updatedAt-e.updatedAt))},[]),e5=(0,r.useCallback)(()=>{eT.current&&(tD.debug("Closing execution event stream"),eT.current.close(),eT.current=null)},[]),e4=(0,r.useCallback)(e=>{if("number"==typeof e.seq){if(e.seq<=eR.current)return;eR.current=e.seq}let t=e=>ey(t=>{var n,o,r,l;return{totalTokens:null!=(o=null!=(n=e.totalTokens)?n:null==t?void 0:t.totalTokens)?o:0,activeNode:void 0!==e.activeNode?e.activeNode:null!=(r=null==t?void 0:t.activeNode)?r:null,startedAt:null!=(l=null==t?void 0:t.startedAt)?l:Date.now(),lastEventAt:Date.now()}}),n=e=>ew(t=>{let n=Date.now(),o={byNode:{...t.byNode},byResource:{...t.byResource},byResourceName:{...t.byResourceName},resourceVersion:t.resourceVersion};return e(o),function(e,t){let n=e=>{let n={};for(let[o,r]of Object.entries(e))t-r.ts<4e3&&(n[o]=r);return n};return{byNode:n(e.byNode),byResource:n(e.byResource),byResourceName:n(e.byResourceName),resourceVersion:e.resourceVersion}}(o,n)});switch(e.type){case"run:start":ey({totalTokens:0,activeNode:null,startedAt:Date.now(),lastEventAt:Date.now()}),ew(tr);break;case"message":{let n=e.message;t({}),R(t=>{let o;if(!t||t.id!==e.conversationId)return t;let r=t.messages.findIndex(e=>e.id===n.id);return r>=0?(o=[...t.messages])[r]={...o[r],...n}:o=[...t.messages,n],{...t,messages:o}});break}case"usage":ey(t=>{var n,o,r;return{totalTokens:(null!=(n=null==t?void 0:t.totalTokens)?n:0)+(e.totalTokens||0),activeNode:null!=(o=null==t?void 0:t.activeNode)?o:null,startedAt:null!=(r=null==t?void 0:t.startedAt)?r:Date.now(),lastEventAt:Date.now()}});break;case"node:enter":var o,r,l;if(t({activeNode:(null==(o=e.node)?void 0:o.nodeName)||(null==(r=e.node)?void 0:r.nodeId)||null}),null==(l=e.node)?void 0:l.nodeId){let t=e.node.nodeId;n(e=>{e.byNode[t]={kind:"active",ts:Date.now()}})}break;case"resource:read":case"resource:write":{let o="resource:read"===e.type?"read":"write";n(t=>{var n;let r=Date.now();(null==(n=e.node)?void 0:n.nodeId)&&(t.byNode[e.node.nodeId]={kind:"read"===o?"resource-read":"resource-write",ts:r}),e.server&&e.uri&&(t.byResource[tl(e.server,e.uri)]={kind:o,ts:r}),e.name&&(t.byResourceName[e.name]={kind:o,ts:r}),"write"===o&&(t.resourceVersion=t.resourceVersion+1)}),t({});break}case"tool:call":t({activeNode:e.name});break;case"tool:progress":t({activeNode:e.message?"".concat(e.name," — ").concat(e.message):e.name});break;case"subflow:start":t({activeNode:"↳ ".concat(e.subflowName||e.subflowId)});break;case"handoff":t({activeNode:"→ ".concat(e.toNodeId)});break;case"run:awaiting_approval":e.conversationId&&e.conversationId===ez.current&&Z(e.pendingToolCalls||[]);break;case"breakpoint:hit":case"run:paused":L(!1),e.conversationId&&q(e.conversationId,!1),el(!0);break;case"run:done":ey(null),ew(tr),L(!1),eC(null),e.conversationId&&q(e.conversationId,!1),e5(),e.conversationId&&e.conversationId===ez.current?eJ(e.conversationId):eU(void 0,{silent:!0});break;case"error":J(e.message||"Execution error");break;default:t({})}},[e5,eJ,eU,q]),e3=(0,r.useCallback)((e,t)=>(e5(),eR.current=void 0!==t?t-1:-1,new Promise(n=>{let o=!1,r=()=>{o||(o=!0,n())};try{eT.current=tz.subscribeToEvents(e,{onEvent:e4,onOpen:r},t),setTimeout(r,1500)}catch(t){tD.error("Failed to open execution event stream",{conversationId:e,err:t}),r()}})),[e4,e5]);(0,r.useEffect)(()=>{O&&(null==eQ?void 0:eQ.status)==="running"&&eB.current!==O&&(tD.info("Re-attaching to in-progress run",{conversationId:O}),eB.current=O,L(!0),eC(O),q(O,!0),ey(e=>null!=e?e:{totalTokens:0,activeNode:null,startedAt:Date.now(),lastEventAt:Date.now()}),e3(O,0))},[O,null==eQ?void 0:eQ.status,e3]);let e7=async e=>{tD.debug("Attempting to delete conversation",{conversationId:e}),J(null);let o=t.filter(t=>t.id!==e);n(o);let r=O;O===e&&(o.length>0?(r=o[0].id,tD.debug("Deleted current conversation, selecting next most recent",{nextSelectionId:r})):(r=null,tD.debug("Deleted last conversation, clearing selection")),_(r));try{await tz.deleteConversation(e),tD.info("Successfully deleted conversation on backend",{conversationId:e})}catch(o){tD.error("Error deleting conversation:",{conversationId:e,err:o}),J("Failed to delete conversation ".concat(e,". Please try again.")),n(t),_(O)}},e9=async e=>{if(tD.debug("Flow selected, attempting to update",{flowId:e,currentConversationId:O}),J(null),!O){tD.warn("Cannot update flow: No conversation selected."),J("Please select a conversation first.");return}T&&T.id===O&&R({...T,flowId:e,updatedAt:Date.now()}),n(t=>t.map(t=>t.id===O?{...t,flowId:e,updatedAt:Date.now()}:t).sort((e,t)=>t.updatedAt-e.updatedAt));try{let t=await tz.updateConversationFlow(O,e);tD.info("Successfully updated flowId on backend",{conversationId:O,flowId:e}),R(e=>e&&e.id===O?(tD.debug("Confirming detailedConversation update from server response",{conversationId:O,flowId:t.flowId}),{...e,flowId:t.flowId,updatedAt:t.updatedAt}):(tD.debug("Skipping detailedConversation update, ID mismatch or null state",{currentDetailedId:null==e?void 0:e.id,targetId:O}),e)),n(e=>e.map(e=>e.id===O?t:e).sort((e,t)=>t.updatedAt-e.updatedAt))}catch(l){tD.error("Error updating flowId on backend:",{conversationId:O,flowId:e,err:l});let r="Failed to update the selected flow.";if(l instanceof tN){var o;r+=" Error: ".concat((null==(o=l.body)?void 0:o.error)||l.message)}else l instanceof Error&&(r+=" Error: ".concat(l.message));J(r),R(T),n(t)}},te=async function(e){var t,n;let o,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!e.trim()&&0===r.length)return;if(!T){tD.error("Cannot send message, detailed conversation not loaded."),J("Cannot send message: conversation details not loaded.");return}tD.debug("Sending message",{conversationId:T.id,contentLength:e.length,attachmentsCount:r.length});let l=T.messages,a=!l.some(e=>"user"===e.role),s=T.flowId;if(en)o=en,eo(null),tD.debug("Assigning manually picked node ID to user message: ".concat(o));else if(a){let e=Y.find(e=>e.id===s),n=null==e||null==(t=e.nodes)?void 0:t[0];n?(o=n.id,tD.debug("Assigning start node ID to first user message: ".concat(o))):tD.warn("Could not find start node for flow ".concat(s,". User message will not have a processNodeId."))}else{for(let e=l.length-1;e>=0;e--){let t=l[e];if("assistant"===t.role&&t.processNodeId){o=t.processNodeId,tD.debug("Assigning last assistant node ID to user message: ".concat(o));break}}if(!o){let e=Y.find(e=>e.id===s),t=null==e||null==(n=e.nodes)?void 0:n[0];t?(o=t.id,tD.debug("No prior assistant node ID found, falling back to start node ID: ".concat(o))):tD.warn("Could not find start node for fallback in flow ".concat(s,". User message will not have a processNodeId."))}}let i={id:(0,eL.A)(),role:"user",content:e,timestamp:Date.now(),attachments:r.length>0?r:void 0,processNodeId:o},d={...T,messages:[...T.messages,i]};e2(d),d.flowId?await to(d):(J("Please select a flow for this conversation before sending messages"),R(T))},tt=(0,r.useCallback)((e,t)=>{if(tD.verbose("Handling API response data",JSON.stringify(e)),q(t,"running"===e.status),"paused_debug"===e.status&&e.debugState)return tD.info("API Response: Paused for debugging",{conversationId:t}),es(e.debugState),el(!0),ed(!0),L(!1),eC(null),e5(),tn(),R(n=>(null==n?void 0:n.id)===t&&e.debugState.messages&&JSON.stringify(n.messages)!==JSON.stringify(e.debugState.messages)?(tD.debug("Updating detailed conversation messages from debug state"),{...n,messages:e.debugState.messages,updatedAt:e.debugState.updatedAt}):n),n(n=>n.map(n=>{var o,r;return n.id===t?{...n,title:null!=(o=e.debugState.title)?o:n.title,flowId:null!=(r=e.debugState.flowId)?r:n.flowId,status:"paused_debug",updatedAt:e.debugState.updatedAt}:n}).sort((e,t)=>t.updatedAt-e.updatedAt)),!0;if("completed"===e.status||"error"===e.status?(tD.info("API Response: Execution completed or errored (Status: ".concat(e.status,"). Hiding debugger panel."),{conversationId:t}),el(!1),es(null),ed(!1)):tD.debug("API Response: Status is '".concat(e.status,"'. Debugger panel visibility unchanged (currently ").concat(er?"visible":"hidden",")."),{conversationId:t}),e.messages&&e.conversation_id===t){let n=e.messages.map((e,n)=>"number"!=typeof e.timestamp||isNaN(e.timestamp)?(tD.warn("Invalid timestamp found in message index ".concat(n," from API response. Defaulting to Date.now()."),{conversationId:t,messageId:e.id,invalidTimestamp:e.timestamp}),{...e,timestamp:Date.now()}):e);R(o=>{var r,l;let a=o;return(null==o?void 0:o.id)===t&&JSON.stringify(o.messages)!==JSON.stringify(n)&&(tD.info("API Response/Polling: Updating detailed conversation messages",{conversationId:t,newMessageCount:n.length}),a={...o,messages:n,updatedAt:e.updatedAt||o.updatedAt}),tD.debug("Polling: setDetailedConversation callback executed.",{conversationId:t,messagesChanged:a!==o,newMessageCount:null!=(l=null==a||null==(r=a.messages)?void 0:r.length)?l:"N/A"}),a})}if("awaiting_tool_approval"===e.status)tD.info("API Response/Polling: Pausing for tool approval",{conversationId:t}),Z(e.pendingToolCalls||[]),L(!1),eC(null),e5(),tn();else if("completed"===e.status||"error"===e.status){if(tD.info("API Response/Polling: Stopping due to final status",{conversationId:t,status:e.status}),tn(),L(!1),eC(null),e5(),"error"===e.status){var o,r;J((null==(o=e.error)?void 0:o.message)||(null==(r=e.lastResponse)?void 0:r.error)||"Unknown error during execution"),tD.error("API Response/Polling: Execution resulted in error",{conversationId:t,error:e.error||e.lastResponse})}eJ(t)}else"running"!==e.status||er?Z(null):(Z(null),eE.current||L(!0));return e.conversation_id===t&&n(n=>n.map(n=>{var o,r,l;return n.id===t?{...n,title:null!=(o=e.title)?o:n.title,flowId:null!=(r=e.flowId)?r:n.flowId,status:null!=(l=e.status)?l:n.status,updatedAt:e.updatedAt||n.updatedAt}:n}).sort((e,t)=>t.updatedAt-e.updatedAt)),!1},[R,Z,L,J,el,es,n,eJ,e5,q]),tn=()=>{eE.current&&(tD.debug("Stopping polling interval"),clearInterval(eE.current),eE.current=null)};(0,r.useEffect)(()=>()=>{e5()},[e5]);let to=async e=>{if(!(null==e?void 0:e.id)||!e.flowId||!ek.current)return tD.error("Cannot send to completions: Missing conversation ID or flow ID.",{id:null==e?void 0:e.id,flowId:null==e?void 0:e.flowId}),J("Cannot send message: Missing conversation ID or flow ID."),!1;Z(null),J(null),L(!0),eC(e.id),q(e.id,!0),ey({totalTokens:0,activeNode:null,startedAt:Date.now(),lastEventAt:Date.now()}),await e3(e.id);let t=!1;try{let n;if(tA(e.flowId))n="flow-Quick Chat",tD.debug("Sending quick chat to completions",{flowId:e.flowId,conversationId:e.id});else{let t=await e1.g.getFlow(e.flowId);if(!t)throw Error("Flow with ID ".concat(e.flowId," not found"));n="flow-".concat(t.name),tD.debug("Sending to chat completions",{flowId:e.flowId,flowName:t.name,conversationId:e.id})}let o=e.messages.filter(e=>{var t;return!e.disabled&&!((null!=(t=e.depth)?t:0)>0)}).map(e=>{let t=tP(e),n=e.processNodeId,o={id:e.id,timestamp:e.timestamp};return"user"===e.role?{role:"user",content:t,...o,processNodeId:n}:"assistant"===e.role?{role:"assistant",content:t,tool_calls:e.tool_calls,...o,processNodeId:n}:"system"===e.role?{role:"system",content:t,...o,processNodeId:n}:"tool"===e.role?e.tool_call_id?{role:"tool",content:t,tool_call_id:e.tool_call_id,...o,processNodeId:n}:{role:"user",content:"string"==typeof t?"Tool result: ".concat(t):t,...o,processNodeId:n}:{role:"user",content:t,...o,processNodeId:n}}),r=await ek.current.chat.completions.create({model:n,messages:o,stream:!1,metadata:(()=>{let t={flujo:"true",requireApproval:G?"true":void 0,flujodebug:K?"true":void 0,conversationId:e.id},n={};return t.flujo&&(n.flujo=t.flujo),t.requireApproval&&(n.requireApproval=t.requireApproval),t.flujodebug&&(n.flujodebug=t.flujodebug),t.conversationId&&(n.conversationId=t.conversationId),n})()});tD.debug("Chat completion initial response received",{completionId:r.id}),t=!0;let l={...r,status:r.status||"completed",conversation_id:e.id,messages:r.messages||e.messages,pendingToolCalls:r.pendingToolCalls,debugState:r.debugState,error:r.error,lastResponse:r.lastResponse,updatedAt:r.updatedAt||Date.now()},a=tt(l,e.id);a||eE.current?a&&tD.debug("Debug state handled, polling remains stopped."):tD.debug("Starting polling after initial non-debug response.")}catch(r){tD.error("Error calling chat completions API:",r),t=!1;let o="An error occurred while sending the message.";if(r instanceof tC.LG)o="API Error: ".concat(r.message," (Status: ").concat(r.status,")"),r.code&&(o+=" (Code: ".concat(r.code,")")),r.type&&(o+=" [Type: ".concat(r.type,"]")),tD.verbose("APIError details",JSON.stringify(r));else if(r instanceof tC.vc){o="OpenAI Error: ".concat(r.message);let e=r.error;e&&"object"==typeof e&&(e.code&&(o+=" (Code: ".concat(e.code,")")),e.type&&(o+=" [Type: ".concat(e.type,"]"))),tD.verbose("OpenAIError details",JSON.stringify(r))}else if(r instanceof tN){var n;o="Error: ".concat((null==(n=r.body)?void 0:n.error)||r.message),r.status&&(o+=" (Status: ".concat(r.status,")")),tD.verbose("ChatApiError details",JSON.stringify(r.body))}else r instanceof Error&&(o=r.message);J(o),tn(),L(!1),eC(null),q(e.id,!1),e5()}finally{}return t},ta=async(e,t,n)=>{if(!T)return;tD.debug("Editing message",{messageId:e,contentLength:t.length,processNodeId:n});let o=T.messages.findIndex(t=>t.id===e);if(-1===o)return;let r={...T.messages[o],content:t,timestamp:Date.now(),processNodeId:n||void 0},l=[...T.messages.slice(0,o),r],a={...T,messages:l};if(e2(a),a.flowId){let e={flujo:"true",requireApproval:G?"true":void 0,flujodebug:K?"true":void 0,conversationId:a.id,processNodeId:n||void 0};if(!ek.current)return;J(null),L(!0),eC(a.id),q(a.id,!0),ey({totalTokens:0,activeNode:null,startedAt:Date.now(),lastEventAt:Date.now()}),await e3(a.id);try{let t=await e1.g.getFlow(a.flowId);if(!t)throw Error("Flow with ID ".concat(a.flowId," not found"));let n=a.messages.filter(e=>{var t;return!e.disabled&&!((null!=(t=e.depth)?t:0)>0)}).map(e=>{let t=tP(e),n={id:e.id,timestamp:e.timestamp,processNodeId:e.processNodeId};return"user"===e.role?{role:"user",content:t,...n}:"assistant"===e.role?{role:"assistant",content:t,tool_calls:e.tool_calls,...n}:"system"===e.role?{role:"system",content:t,...n}:"tool"===e.role?e.tool_call_id?{role:"tool",content:t,tool_call_id:e.tool_call_id,...n}:{role:"user",content:"string"==typeof t?"Tool result: ".concat(t):t,...n}:{role:"user",content:t,...n}}),o=await ek.current.chat.completions.create({model:"flow-".concat(t.name),messages:n,stream:!1,metadata:(()=>{let t={};return e.flujo&&(t.flujo=e.flujo),e.requireApproval&&(t.requireApproval=e.requireApproval),e.flujodebug&&(t.flujodebug=e.flujodebug),e.conversationId&&(t.conversationId=e.conversationId),e.processNodeId&&(t.processNodeId=e.processNodeId),t})()}),r={...o,status:o.status||"completed",conversation_id:a.id,messages:o.messages||a.messages,pendingToolCalls:o.pendingToolCalls,debugState:o.debugState,error:o.error,updatedAt:o.updatedAt||Date.now()};tt(r,a.id)}catch(e){tD.error("Error sending edited message:",e),J(e instanceof Error?e.message:"Failed to send edited message"),L(!1),eC(null),q(a.id,!1),e5()}}},ts=async(e,t)=>{if(O){tD.info("Handling tool response: ".concat(e),{conversationId:O,toolCallId:t}),Z(null),L(!0),eC(O),q(O,!0),J(null),await e3(O);try{let n=await tz.respondToToolCall(O,e,t);tD.debug("Tool response successful",{conversationId:O,action:e,toolCallId:t}),tt(n,O)}catch(r){tD.error("Error sending tool response (".concat(e,")"),{conversationId:O,toolCallId:t,err:r});let o="Failed to ".concat(e," tool call.");if(r instanceof tN){var n;o+=" Error: ".concat((null==(n=r.body)?void 0:n.error)||r.message)}else r instanceof Error&&(o+=" Error: ".concat(r.message));J(o),L(!1),q(O,!1)}}},ti=async()=>{if(O&&er){tD.info("Handling debug step request",{conversationId:O}),L(!0),eC(O),q(O,!0),J(null),await e3(O);try{let e=await tz.debugStep(O);tt(e,O)}catch(e){tD.error("Error during debug step API call",{conversationId:O,err:e}),J(e instanceof Error?e.message:"Failed to execute debug step."),L(!1),q(O,!1),el(!1),es(null)}finally{}}},td=async()=>{if(O&&er){tD.info("Handling debug continue request",{conversationId:O}),L(!0),eC(O),q(O,!0),J(null),el(!1),await e3(O);try{let e=await tz.debugContinue(O);tt(e,O)}catch(e){tD.error("Error during debug continue API call",{conversationId:O,err:e}),J(e instanceof Error?e.message:"Failed to continue execution."),L(!1),q(O,!1)}finally{}}};(0,r.useEffect)(()=>{if(ea){var e;eS(null!=(e=ea.breakpoints)?e:[])}},[ea]);let tc=(0,r.useCallback)(async e=>{if(!O)return;let t=eA.includes(e)?eA.filter(t=>t!==e):[...eA,e];eS(t);try{await tz.setBreakpoints(O,t)}catch(e){tD.error("Failed to update breakpoints",{conversationId:O,err:e}),eS(eA)}},[eA,O]),tu=async()=>{if(!O||!er)return;let e=null==ea?void 0:ea.currentNodeId;L(!0),eC(O),q(O,!0),J(null),await e3(O);try{for(let r=0;r<50;r++){var t,n,o;let r=await tz.debugStep(O),l=null!=(o=null==r?void 0:r.status)?o:null==r||null==(t=r.debugState)?void 0:t.status,a=null==r||null==(n=r.debugState)?void 0:n.currentNodeId;if("paused_debug"!==l||a&&a!==e)return void tt(r,O)}tD.warn("Step Over hit iteration cap",{conversationId:O}),L(!1),q(O,!1)}catch(e){tD.error("Error during step over",{conversationId:O,err:e}),J(e instanceof Error?e.message:"Failed to step over."),L(!1),q(O,!1)}},tp=async()=>{if(O){tD.info("Cancelling request",{conversationId:O}),tn(),L(!1),eC(null),q(O,!1),ed(!1),e5(),Z(null);try{await tz.cancel(O),tD.debug("Cancel request sent successfully",{conversationId:O}),await eJ(O)}catch(e){tD.error("Error sending cancel request",{conversationId:O,err:e}),J("Failed to send cancel request to the server.")}}},th=async()=>{tD.info("Closing debugger panel",{conversationId:O}),el(!1),es(null),ed(!1),await tp()};tD.debug("Rendering Chat component",{currentConversationId:O,isHandleEditMessageDefined:!0});let tf=(ei||er)&&!!ea&&!!O;return(0,o.jsxs)(a.default,{sx:{display:"flex",height:"calc(100vh - 64px)"},children:[eg&&(0,o.jsx)(a.default,{sx:{width:40,flexShrink:0,borderRight:1,borderColor:"divider",display:"flex",justifyContent:"center",pt:1},children:(0,o.jsx)(s.A,{title:"Show conversation sidebar",children:(0,o.jsx)(i.A,{size:"small",onClick:em,"aria-label":"Show conversation sidebar",children:(0,o.jsx)(I.A,{fontSize:"small"})})})}),!eg&&(0,o.jsx)(a.default,{sx:{width:eh,flexShrink:0,borderRight:1,borderColor:"divider",display:"flex",flexDirection:"column"},children:l?(0,o.jsx)(a.default,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"100%",p:2},children:(0,o.jsx)(tS.default,{size:"medium",color:"primary"})}):N?(0,o.jsx)(d.A,{severity:"error",sx:{m:2},children:N}):(0,o.jsx)(F,{conversations:t,currentConversationId:O,onSelectConversation:_,onDeleteConversation:e7,onNewConversation:eK,onQuickChat:()=>e$(!0),onCollapse:em})}),!eg&&(0,o.jsx)(a.default,{onPointerDown:ev,sx:{width:"6px",flexShrink:0,cursor:"col-resize",bgcolor:"divider",transition:"background-color 120ms","&:hover":{bgcolor:"primary.main"},touchAction:"none"},"aria-label":"Resize conversation sidebar"}),(0,o.jsxs)(a.default,{sx:{flex:1,height:"100%",display:"flex",minWidth:0,minHeight:0},children:[(0,o.jsxs)(a.default,{sx:{flex:1,minWidth:0,display:"flex",flexDirection:"column",height:"100%"},children:[O&&(0,o.jsxs)(a.default,{sx:{p:2,borderBottom:1,borderColor:"divider",display:"flex",alignItems:"center",gap:2},children:[(0,o.jsx)(a.default,{sx:{flex:1,minWidth:0},children:tA((null==eQ?void 0:eQ.flowId)||(null==T?void 0:T.flowId))?(0,o.jsx)(c.A,{color:"primary",variant:"outlined",icon:(0,o.jsx)(j.A,{}),label:"Quick Chat"}):(0,o.jsx)(e6,{selectedFlowId:(null==eQ?void 0:eQ.flowId)||(null==T?void 0:T.flowId)||null,onSelectFlow:e=>{var t,n,o,r;if(!O){tD.warn("Cannot update flow: No conversation selected."),J("Please select a conversation first.");return}let l=null!=(o=null!=(n=null==T?void 0:T.flowId)?n:null==eQ?void 0:eQ.flowId)?o:null;if((null!=(r=null==T||null==(t=T.messages)?void 0:t.length)?r:0)>0&&l&&e!==l){tD.debug("Flow switch on executed conversation — asking for confirmation",{flowId:e,currentFlowId:l}),et(e);return}e9(e)},disabled:er})}),(0,o.jsx)(eZ,{usage:null==T?void 0:T.usage,contextInfo:null==T?void 0:T.contextInfo,availableNodes:eG})]}),(0,o.jsxs)(a.default,{sx:{flex:1,minHeight:0,position:"relative",display:"flex",flexDirection:"column"},children:[(0,o.jsx)(a.default,{ref:eD,onScroll:e_,sx:{flex:1,overflow:"auto",p:2},children:z?(0,o.jsx)(a.default,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"100%"},children:(0,o.jsx)(tS.default,{size:"medium",color:"primary"})}):P?(0,o.jsx)(d.A,{severity:"error",sx:{m:2},children:P}):T?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(eN,{messages:T.messages,pendingToolCalls:$,availableNodes:eG,conversationId:T.id,onToggleDisabled:e=>{if(!T)return;tD.debug("Toggling message disabled state",{messageId:e});let t=T.messages.map(t=>t.id===e?{...t,disabled:!t.disabled}:t);e2({...T,messages:t})},onSplitConversation:e=>{if(!T)return;tD.debug("Splitting conversation at message",{messageId:e});let t=T.messages.findIndex(t=>t.id===e);if(-1===t)return;let o=T.messages.slice(0,t+1),r=(0,eL.A)(),l={id:r,title:"Split from ".concat(T.title),messages:o,flowId:T.flowId,createdAt:Date.now(),updatedAt:Date.now()},a={id:r,title:l.title,flowId:l.flowId,createdAt:l.createdAt,updatedAt:l.updatedAt};n(e=>[a,...e].sort((e,t)=>t.updatedAt-e.updatedAt)),_(r),R(l),D(!1),M(null)},onEditMessage:ta,onApproveToolCall:e=>{ts("approve",e)},onRejectToolCall:e=>{ts("reject",e)}}),!W&&!er&&T.messages.length>0&&(null==eQ?void 0:eQ.status)==="completed"&&(0,o.jsx)(a.default,{sx:{display:"flex",justifyContent:"center",my:2},children:(0,o.jsx)(d.A,{icon:(0,o.jsx)(A.A,{fontSize:"inherit"}),severity:"success",variant:"filled",sx:{borderRadius:2,py:.5},children:"Conversation completed"})}),!W&&!er&&!U&&(null==eQ?void 0:eQ.status)==="error"&&(0,o.jsx)(a.default,{sx:{display:"flex",justifyContent:"center",my:2},children:(0,o.jsx)(d.A,{icon:(0,o.jsx)(S.A,{fontSize:"inherit"}),severity:"error",variant:"filled",sx:{borderRadius:2,py:.5,alignItems:"center"},action:(0,o.jsx)(u.A,{color:"inherit",size:"small",startIcon:(0,o.jsx)(w.A,{}),onClick:()=>{to(T)},children:"Retry"}),children:"Conversation ended with an error"})}),W&&eI===O&&(0,o.jsx)(eq,{liveStats:eb,onStop:tp,stopDisabled:!O}),U&&(0,o.jsx)(d.A,{severity:"error",sx:{mt:2},action:(0,o.jsx)(u.A,{color:"inherit",size:"small",startIcon:(0,o.jsx)(w.A,{}),onClick:()=>{T&&to(T)},children:"Retry"}),children:U})]}):(0,o.jsx)(p.default,{variant:"body1",color:"textSecondary",align:"center",sx:{mt:4},children:t.length>0?"Select a conversation or create a new one.":"Create a new conversation to start chatting."})}),(0,o.jsx)(h.A,{in:eF,unmountOnExit:!0,children:(0,o.jsx)(f.A,{size:"small",color:"primary","aria-label":"Scroll to latest messages",onClick:eW,sx:{position:"absolute",bottom:16,right:24,zIndex:2},children:(0,o.jsx)(y.A,{})})})]}),(0,o.jsx)(a.default,{sx:{p:2,borderTop:1,borderColor:"divider"},children:(0,o.jsx)(eH,{onSendMessage:te,disabled:z||!!O&&B.has(O)||!((null==T?void 0:T.flowId)||(null==eQ?void 0:eQ.flowId))||!!$||er,requireApproval:G,onRequireApprovalChange:eY,executeInDebugger:K,onExecuteInDebuggerChange:X,availableNodes:eG,currentNodeId:eV,nodeOverrideActive:!!en,onSelectNode:eo})})]})," ",tf&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(a.default,{onPointerDown:ep,sx:{width:"6px",flexShrink:0,cursor:"col-resize",bgcolor:"divider",transition:"background-color 120ms","&:hover":{bgcolor:"primary.main"},touchAction:"none"},"aria-label":"Resize debugger panel"}),(0,o.jsx)(a.default,{sx:{width:ec?"".concat(ec,"px"):"50%",minWidth:360,maxWidth:"85vw",flexShrink:0,display:"flex",flexDirection:"column",height:"100%"},children:(0,o.jsx)(tw,{debugState:ea,conversationId:O,liveActivity:ej,onStep:ti,onStepOver:tu,onContinue:td,onCancel:tp,isLoading:W,breakpoints:eA,onToggleBreakpoint:tc,onClose:th})})]})]})," ",(0,o.jsxs)(g.A,{open:!!ee,onClose:()=>et(null),children:[(0,o.jsx)(x.A,{children:"Switch flow?"}),(0,o.jsx)(m.A,{children:(0,o.jsxs)(v.A,{children:["This conversation has already been processed with its current flow."," ","If you switch to"," ",(0,o.jsx)("strong",{children:(null==(e=Y.find(e=>e.id===ee))?void 0:e.name)||"the selected flow"}),","," ","the conversation will continue processing from that flow's Start node again."]})}),(0,o.jsxs)(b.A,{children:[(0,o.jsx)(u.A,{onClick:()=>et(null),children:"Cancel"}),(0,o.jsx)(u.A,{variant:"contained",onClick:()=>{et(null),ee&&e9(ee)},children:"Switch Flow"})]})]}),(0,o.jsx)(e8,{open:eX,onClose:()=>e$(!1),onStart:e0})]})},tM=(0,ev.h)("frontend/components/ClientOnly");function tO(e){let{children:t}=e,[n,l]=(0,r.useState)(!1);return((0,r.useEffect)(()=>(tM.debug("ClientOnly component mounted"),l(!0),()=>{tM.debug("ClientOnly component unmounted")}),[]),n)?(tM.debug("ClientOnly component rendering children"),(0,o.jsx)(o.Fragment,{children:t})):(tM.debug("ClientOnly component rendering null (not yet mounted)"),null)}let t_=(0,ev.h)("app/chat/page");function tW(){return t_.debug("Rendering ChatPage"),(0,o.jsx)(l.A,{maxWidth:!1,disableGutters:!0,children:(0,o.jsx)(tO,{children:(0,o.jsx)(tF,{})})})}},84869:(e,t,n)=>{"use strict";n.d(t,{G:()=>a,S:()=>l});let o=(0,n(87021).h)("frontend/services/transcription/webSpeech"),r=()=>"webkitSpeechRecognition"in window||"SpeechRecognition"in window;async function l(e,t){if(!r())throw Error("Web Speech API is not supported in this browser");o.debug("Starting Web Speech API transcription");try{let n=URL.createObjectURL(e),r=new Audio(n),l=new(window.SpeechRecognition||window.webkitSpeechRecognition);return l.continuous=!0,l.interimResults=!0,(null==t?void 0:t.language)&&(l.lang=t.language),new Promise((e,n)=>{let a="";l.onresult=e=>{let n="";for(let t=e.resultIndex;t<e.results.length;t++){let o=e.results[t][0].transcript;e.results[t].isFinal?a+=o+" ":n+=o}(null==t?void 0:t.onInterimResult)&&t.onInterimResult(a+n),o.debug("Recognition interim result",{finalLength:a.length,interimLength:n.length})},l.onend=()=>{o.debug("Recognition ended",{transcriptLength:a.length}),e(a.trim())},l.onerror=e=>{o.error("Recognition error",{error:e.error}),n(Error("Speech recognition error: ".concat(e.error)))},r.onplay=()=>{l.start(),o.debug("Recognition started")},r.onended=()=>{l.stop(),o.debug("Audio playback ended")},r.onerror=e=>{o.error("Audio playback error",{error:e}),l.stop(),n(Error("Error playing audio"))},r.play().catch(e=>{o.error("Error starting audio playback",{error:e}),n(e)})})}catch(e){throw o.error("Error in Web Speech API transcription",{error:e}),e}}function a(){return{supported:r(),message:r()?"Web Speech API is supported":"Web Speech API is not supported in this browser"}}},97206:(e,t,n)=>{Promise.resolve().then(n.bind(n,45960))}},e=>{e.O(0,[3862,2678,4754,9244,8548,1871,5501,2003,488,3272,3077,4365,2403,7687,9554,2005,3648,422,9587,9164,6013,3381,8441,1255,7358],()=>e(e.s=97206)),_N_E=e.O()}]);
|