flujo-ai 3.40.0 → 3.41.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 +400 -384
- package/.next/app-path-routes-manifest.json +53 -53
- package/.next/build-manifest.json +5 -5
- package/.next/prerender-manifest.json +33 -33
- package/.next/react-loadable-manifest.json +9 -9
- 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 +3 -3
- package/.next/server/app/api/approvals/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/approvals/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/backup/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/browse/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/bugs/enhance/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/cwd/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/encryption/secure/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/env/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/[id]/convert-process-to-subflow/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/[id]/versions/[versionId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/[id]/versions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/assist/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/compile/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/generate/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/generator/route_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/flow/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/git/route_client-reference-manifest.js +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/app-sandbox/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/flujo/authoring/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/flujo/automation/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/flujo/flows/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/flujo/resources/read/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/flujo/resources/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/flujo/servers/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/flujo/state/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/flujo/tools/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/oauth-capability/route_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/model/provider/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/model/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/model/test/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/oauth/callback/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/oauth/initiate/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/oauth/reset/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/packages/build/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/packages/derive-secrets/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/packages/install/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/packages/install/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/packages/installed/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/packages/resolve/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/packages/scan-targets/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/packages/search/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/packages/uninstall/route_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/planned-executions/reconcile/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/planned-executions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/registry/auth/resend/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/registry/auth/reset/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/registry/auth/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/registry/feedback/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/registry/oauth/callback/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/registry/oauth/initiate/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/registry/packages/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/registry/publish/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/registry/settings/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/restore/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/runs/active/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/setup/ai-cli/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/statistics/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/storage/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/telemetry/daily-active/route.js +1 -1
- package/.next/server/app/api/telemetry/daily-active/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/waves/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/webhooks/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/automation/triggers/page.js +1 -1
- package/.next/server/app/automation/triggers/page.js.nft.json +1 -1
- package/.next/server/app/automation/triggers/page_client-reference-manifest.js +1 -1
- package/.next/server/app/automation/triggers.html +1 -1
- package/.next/server/app/automation/triggers.rsc +4 -4
- package/.next/server/app/automation/waves/page_client-reference-manifest.js +1 -1
- package/.next/server/app/automation/waves.html +1 -1
- package/.next/server/app/automation/waves.rsc +4 -4
- package/.next/server/app/chat/page.js +2 -2
- 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 +4 -4
- package/.next/server/app/docs/page.js +3 -3
- 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 +4 -4
- 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 +4 -4
- package/.next/server/app/flows/page.js +5 -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 +4 -4
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +4 -4
- package/.next/server/app/mcp/page.js +73 -44
- 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_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_client-reference-manifest.js +1 -1
- package/.next/server/app/mcp.html +1 -1
- package/.next/server/app/mcp.rsc +4 -4
- package/.next/server/app/models/page.js +7 -7
- package/.next/server/app/models/page_client-reference-manifest.js +1 -1
- package/.next/server/app/packages/page.js +1 -1
- package/.next/server/app/packages/page_client-reference-manifest.js +1 -1
- package/.next/server/app/packages.html +1 -1
- package/.next/server/app/packages.rsc +4 -4
- package/.next/server/app/page.js +2 -2
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/page.js +2 -2
- 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 +4 -4
- package/.next/server/app/statistics/page.js +2 -2
- package/.next/server/app/statistics/page_client-reference-manifest.js +1 -1
- package/.next/server/app/statistics.html +1 -1
- package/.next/server/app/statistics.rsc +4 -4
- package/.next/server/app/v1/chat/completions/route_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/resources/[resourceId]/content/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/revert/route_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/chat/events/route_client-reference-manifest.js +1 -1
- package/.next/server/app/v1/models/route_client-reference-manifest.js +1 -1
- package/.next/server/app/waves/page_client-reference-manifest.js +1 -1
- package/.next/server/app/waves.html +1 -1
- package/.next/server/app/waves.rsc +4 -4
- package/.next/server/app-paths-manifest.json +53 -53
- package/.next/server/chunks/1227.js +1 -1
- package/.next/server/chunks/1403.js +2 -2
- package/.next/server/chunks/1539.js +1 -1
- package/.next/server/chunks/2069.js +1 -1
- package/.next/server/chunks/2372.js +1 -1
- package/.next/server/chunks/2828.js +2 -2
- package/.next/server/chunks/3422.js +1 -0
- package/.next/server/chunks/3945.js +3 -3
- package/.next/server/chunks/519.js +2 -2
- package/.next/server/chunks/5444.js +2 -2
- package/.next/server/chunks/5750.js +1 -1
- package/.next/server/chunks/5918.js +10 -10
- package/.next/server/chunks/6226.js +2 -2
- package/.next/server/chunks/9088.js +2 -2
- package/.next/server/chunks/9490.js +5 -0
- package/.next/server/chunks/9543.js +3 -3
- package/.next/server/chunks/9624.js +8 -8
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-manifest.json +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/{1161-19176c3e7c655121.js → 1161-563a8028f59f00de.js} +1 -1
- package/.next/static/chunks/1521-9ad145dcb8e3abfc.js +1 -0
- package/.next/static/chunks/1576.06797b29a19fa26c.js +1 -0
- package/.next/static/chunks/{4386-e9621d3c94969a68.js → 2005-f9d38c39f10c321f.js} +1 -1
- package/.next/static/chunks/2493-da85c47ef972c066.js +1 -0
- package/.next/static/chunks/361.c88d43436e974006.js +1 -0
- package/.next/static/chunks/3731-c18f48522b159d7f.js +1 -0
- package/.next/static/chunks/3781.5086bce03aa281f7.js +1 -0
- package/.next/static/chunks/3969-15a32253b112652c.js +1 -0
- package/.next/static/chunks/4167.2ce97ca450815df1.js +1 -0
- package/.next/static/chunks/4814-52b7254ab573a455.js +1 -0
- package/.next/static/chunks/4965.d401547984d71b7a.js +1 -0
- package/.next/static/chunks/5148-9174ba300221fd1b.js +1 -0
- package/.next/static/chunks/5417-fb7d3760cc288ab1.js +1 -0
- package/.next/static/chunks/5967-34735763d1b03ccc.js +1 -0
- package/.next/static/chunks/7260-743e4b0cc4211dcb.js +1 -0
- package/.next/static/chunks/7711-7323dabe7dc02311.js +1 -0
- package/.next/static/chunks/8124-f99060fe1dfc119e.js +1 -0
- package/.next/static/chunks/8135-7fe07a34a8c49967.js +1 -0
- package/.next/static/chunks/8529.6187e01de8e9a692.js +1 -0
- package/.next/static/chunks/9136-e9ee57cc581ddd50.js +1 -0
- package/.next/static/chunks/9140.9180b569c4b26168.js +1 -0
- package/.next/static/chunks/9195-6a18a5867bb76c64.js +1 -0
- package/.next/static/chunks/app/automation/triggers/{page-594a6294c58344bf.js → page-34b9a8a2e6f28c2f.js} +1 -1
- package/.next/static/chunks/app/automation/waves/{page-ce2fef4996cad8e6.js → page-fd4929ea308183b2.js} +1 -1
- package/.next/static/chunks/app/chat/page-fb8a33db7628ecd0.js +1 -0
- package/.next/static/chunks/app/docs/page-3e21583b1cd5d7ca.js +1 -0
- package/.next/static/chunks/app/executions/{page-fcc848de86714386.js → page-56ecca56c17c05d7.js} +1 -1
- package/.next/static/chunks/app/flows/page-8c1a656197b15894.js +1 -0
- package/.next/static/chunks/app/layout-6e2756704ddc9f39.js +1 -0
- package/.next/static/chunks/app/mcp/page-4c4390354fdd94c8.js +1 -0
- package/.next/static/chunks/app/models/error-ea477f0ad52f4dcb.js +1 -0
- package/.next/static/chunks/app/models/page-e237ac64a0f62c3d.js +1 -0
- package/.next/static/chunks/app/packages/page-8680e4bea6b7ea45.js +1 -0
- package/.next/static/chunks/app/page-6dca06b6b7667181.js +1 -0
- package/.next/static/chunks/app/settings/page-a5f7fedcbf9e3a7f.js +1 -0
- package/.next/static/chunks/app/statistics/page-f9f9627d1c1ff963.js +1 -0
- package/.next/static/chunks/app/waves/{page-5b53af3eb9409414.js → page-7529febc48eb473d.js} +1 -1
- package/.next/static/chunks/{webpack-9fbd3587b9ef4dca.js → webpack-f3df493faa0bd612.js} +1 -1
- package/.next/static/css/{400b1b927c3ffaf6.css → 9f9b7f1374ac2d01.css} +1 -1
- package/.next/trace +11 -11
- package/README.md +1 -1
- package/mcp-servers/bash/package.json +1 -1
- package/mcp-servers/browser/package.json +1 -1
- package/mcp-servers/filesystem/package.json +1 -1
- package/mcp-servers/flujo/package.json +1 -1
- package/package.json +5 -5
- package/.next/server/chunks/7508.js +0 -5
- package/.next/server/chunks/8598.js +0 -1
- package/.next/static/chunks/1521-1c98c9a56726e053.js +0 -1
- package/.next/static/chunks/1576.bc6ae6c9e6d939d8.js +0 -1
- package/.next/static/chunks/2005.300528b5119c2d38.js +0 -1
- package/.next/static/chunks/2499-92cd97ce4993999f.js +0 -1
- package/.next/static/chunks/361.51d642c530c84295.js +0 -1
- package/.next/static/chunks/3731-64070760ae44448f.js +0 -1
- package/.next/static/chunks/4814-31eb5f3b10c651c1.js +0 -1
- package/.next/static/chunks/4965.39e24b54c3c6ca58.js +0 -1
- package/.next/static/chunks/5967-59fde8c214c9ca9f.js +0 -1
- package/.next/static/chunks/6417.70056fe81ca21682.js +0 -1
- package/.next/static/chunks/7711-4b017720ec49c96d.js +0 -1
- package/.next/static/chunks/8124-94140ee1dd8ed87c.js +0 -1
- package/.next/static/chunks/8135-5b975b9014f8920b.js +0 -1
- package/.next/static/chunks/8529.b5a43e728bb5bb8a.js +0 -1
- package/.next/static/chunks/9001-4c27a608feddb878.js +0 -1
- package/.next/static/chunks/9136-9c415453ec02519c.js +0 -1
- package/.next/static/chunks/9140.6502327a2c098d33.js +0 -1
- package/.next/static/chunks/9195-3c9c4300e7505d9e.js +0 -1
- package/.next/static/chunks/9524-b9d2c7e4426edd07.js +0 -1
- package/.next/static/chunks/app/chat/page-203cb7bf21638ada.js +0 -1
- package/.next/static/chunks/app/docs/page-c466a58caf5e3336.js +0 -1
- package/.next/static/chunks/app/flows/page-172c759ca81ba02f.js +0 -1
- package/.next/static/chunks/app/layout-a6ca531683a518a7.js +0 -1
- package/.next/static/chunks/app/mcp/page-0a96e6b30e45b1e6.js +0 -1
- package/.next/static/chunks/app/models/error-1964203c5c6e7d0e.js +0 -1
- package/.next/static/chunks/app/models/page-ad1cbea6d3324966.js +0 -1
- package/.next/static/chunks/app/packages/page-dda48425be9fc137.js +0 -1
- package/.next/static/chunks/app/page-04189aa1b1318c2d.js +0 -1
- package/.next/static/chunks/app/settings/page-906c229c87011ead.js +0 -1
- package/.next/static/chunks/app/statistics/page-9b13a95549f438c0.js +0 -1
- /package/.next/static/{b1aMk0634gkkiunttd1SQ → utOrEUSzguWncIosxgCeR}/_buildManifest.js +0 -0
- /package/.next/static/{b1aMk0634gkkiunttd1SQ → utOrEUSzguWncIosxgCeR}/_ssgManifest.js +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";exports.id=519,exports.ids=[519],exports.modules={3391:(a,b,c)=>{c.d(b,{A:()=>w});var d=c(21124),e=c(38301),f=c(81637),g=c(37674),h=c(67101),i=c(43312),j=c(44079),k=c(79515),l=c(73520),m=c(95587),n=c(77028),o=c(88745),p=c(61628),q=c(19787),r=c(95803),s=c(17332),t=c(30717),u=c(32720);let v=[{value:"add",label:"A file appears"},{value:"change",label:"A file changes"},{value:"unlink",label:"A file is deleted"}],w=({config:a,onChange:b})=>{let[c,w]=(0,e.useState)(!1);return(0,d.jsxs)(f.default,{sx:{mt:1},children:[(0,d.jsx)(g.A,{fullWidth:!0,label:"Folder (or file) to watch",value:a.path,onChange:c=>b({...a,path:c.target.value}),placeholder:"e.g. C:\\Users\\me\\Documents\\inbox",margin:"normal",InputProps:{endAdornment:(0,d.jsx)(h.A,{position:"end",children:(0,d.jsx)(i.A,{title:"Browse folders (on the FLUJO machine)",children:(0,d.jsx)(j.A,{edge:"end",onClick:()=>w(!0),children:(0,d.jsx)(t.A,{})})})})}}),(0,d.jsx)(u.A,{open:c,title:"Choose what to watch",selectFiles:!0,initialPath:a.path||void 0,onClose:()=>w(!1),onSelect:c=>b({...a,path:c})}),(0,d.jsx)(g.A,{fullWidth:!0,label:"Only files matching (optional)",value:a.glob||"",onChange:c=>b({...a,glob:c.target.value||void 0}),placeholder:"e.g. *.pdf or reports/**/*.csv",helperText:"Simple patterns: * matches within a folder, ** across folders, ? one character.",margin:"normal"}),(0,d.jsx)(k.A,{variant:"subtitle2",sx:{mt:1},children:"Run when…"}),(0,d.jsx)(l.A,{row:!0,children:v.map(c=>(0,d.jsx)(m.A,{control:(0,d.jsx)(n.A,{checked:a.events.includes(c.value),onChange:d=>((c,d)=>{let e=d?[...a.events,c]:a.events.filter(a=>a!==c);b({...a,events:e})})(c.value,d.target.checked)}),label:c.label},c.value))}),(0,d.jsx)(o.A,{severity:"info",sx:{mt:1},children:"Bursts are batched: many files changing at once produce one run with all changes listed. If this flow writes into the watched folder, it will trigger itself in a loop — point its output somewhere else."}),(0,d.jsxs)(p.A,{disableGutters:!0,elevation:0,sx:{mt:1,"&:before":{display:"none"}},children:[(0,d.jsx)(q.A,{expandIcon:(0,d.jsx)(s.A,{}),sx:{px:0},children:(0,d.jsx)(k.A,{variant:"body2",color:"text.secondary",children:"Advanced"})}),(0,d.jsx)(r.A,{sx:{px:0},children:(0,d.jsx)(g.A,{label:"Quiet window (ms)",type:"number",value:a.debounceMs??2e3,onChange:c=>b({...a,debounceMs:Math.max(0,Number(c.target.value)||0)}),helperText:"How long to wait after the last change before running.",inputProps:{min:0,step:500},sx:{width:220}})})]})]})}},17128:(a,b,c)=>{c.d(b,{A:()=>f});var d=c(11801),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M21 10.12h-6.78l2.74-2.82c-2.73-2.7-7.15-2.8-9.88-.1-2.73 2.71-2.73 7.08 0 9.79s7.15 2.71 9.88 0C18.32 15.65 19 14.08 19 12.1h2c0 1.98-.88 4.55-2.64 6.29-3.51 3.48-9.21 3.48-12.72 0-3.5-3.47-3.53-9.11-.02-12.58s9.14-3.47 12.65 0L21 3zM12.5 8v4.25l3.5 2.08-.72 1.21L11 13V8z"}),"Update")},21704:(a,b,c)=>{c.d(b,{A:()=>f});var d=c(11801),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M10 15h5.88c.27-.31.67-.5 1.12-.5.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5c-.44 0-.84-.19-1.12-.5H11.9c-.46 2.28-2.48 4-4.9 4-2.76 0-5-2.24-5-5 0-2.42 1.72-4.44 4-4.9v2.07c-1.16.41-2 1.53-2 2.83 0 1.65 1.35 3 3 3s3-1.35 3-3zm2.5-11c1.65 0 3 1.35 3 3h2c0-2.76-2.24-5-5-5s-5 2.24-5 5c0 1.43.6 2.71 1.55 3.62l-2.35 3.9c-.68.14-1.2.75-1.2 1.48 0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5c0-.16-.02-.31-.07-.45l3.38-5.63C10.49 9.61 9.5 8.42 9.5 7c0-1.65 1.35-3 3-3m4.5 9c-.64 0-1.23.2-1.72.54l-3.05-5.07C11.53 8.35 11 7.74 11 7c0-.83.67-1.5 1.5-1.5S14 6.17 14 7c0 .15-.02.29-.06.43l2.19 3.65c.28-.05.57-.08.87-.08 2.76 0 5 2.24 5 5s-2.24 5-5 5c-1.85 0-3.47-1.01-4.33-2.5h2.67c.48.32 1.05.5 1.66.5 1.65 0 3-1.35 3-3s-1.35-3-3-3"}),"Webhook")},34413:(a,b,c)=>{c.d(b,{A:()=>f});var d=c(11801),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"m9.78 11.16-1.42 1.42c-.68-.69-1.34-1.58-1.79-2.94l1.94-.49c.32.89.77 1.5 1.27 2.01M11 6 7 2 3 6h3.02c.02.81.08 1.54.19 2.17l1.94-.49C8.08 7.2 8.03 6.63 8.02 6zm10 0-4-4-4 4h2.99c-.1 3.68-1.28 4.75-2.54 5.88-.5.44-1.01.92-1.45 1.55-.34-.49-.73-.88-1.13-1.24L9.46 13.6c.93.85 1.54 1.54 1.54 3.4v5h2v-5c0-2.02.71-2.66 1.79-3.63 1.38-1.24 3.08-2.78 3.2-7.37z"}),"AltRoute")},62185:(a,b,c)=>{c.d(b,{A:()=>v});var d=c(21124),e=c(38301),f=c(81637),g=c(82605),h=c(50062),i=c(7675),j=c(94367),k=c(37674),l=c(88745),m=c(79515),n=c(95587),o=c(77028),p=c(61628),q=c(19787),r=c(95803),s=c(17332),t=c(63654);let u=a=>String(a).padStart(2,"0"),v=({cron:a,timezone:b,onChange:c,verb:v="Runs",catchUp:w,onCatchUpChange:x})=>{let y=(0,e.useMemo)(()=>(function(a){let b=/^\*\/(\d+) \* \* \* \* \*$/.exec(a);return b?{mode:"seconds",n:Number(b[1]),time:"09:00"}:(b=/^\*\/(\d+) \* \* \* \*$/.exec(a))?{mode:"minutes",n:Number(b[1]),time:"09:00"}:(b=/^0 \*\/(\d+) \* \* \*$/.exec(a))?{mode:"hours",n:Number(b[1]),time:"09:00"}:(b=/^(\d+) (\d+) \* \* \*$/.exec(a))?{mode:"daily",n:1,time:`${u(Number(b[2]))}:${u(Number(b[1]))}`}:(b=/^(\d+) (\d+) \* \* 1-5$/.exec(a))?{mode:"weekdays",n:1,time:`${u(Number(b[2]))}:${u(Number(b[1]))}`}:{mode:"custom",n:15,time:"09:00"}})(a),[]),[z,A]=(0,e.useState)(y.mode),[B,C]=(0,e.useState)(y.n),[D,E]=(0,e.useState)(y.time),[F,G]=(0,e.useState)(a),[H,I]=(0,e.useState)(null),J=function(a,b,c,d){let[e,f]=c.split(":").map(Number);switch(a){case"seconds":return`*/${Math.max(1,Math.min(59,Math.floor(b)||1))} * * * * *`;case"minutes":return`*/${Math.max(1,Math.min(59,Math.floor(b)||1))} * * * *`;case"hours":return`0 */${Math.max(1,Math.min(23,Math.floor(b)||1))} * * *`;case"daily":return`${f||0} ${e||0} * * *`;case"weekdays":return`${f||0} ${e||0} * * 1-5`;default:return d}}(z,B,D,F);return(0,e.useEffect)(()=>{J!==a&&c({cron:J,timezone:b})},[J]),(0,e.useEffect)(()=>{let a=!1,c=setTimeout(()=>{t.P.previewSchedule(J,b).then(b=>{a||I(b)})},300);return()=>{a=!0,clearTimeout(c)}},[J,b]),(0,d.jsxs)(f.default,{children:[(0,d.jsxs)(f.default,{sx:{display:"flex",gap:2,flexWrap:"wrap",alignItems:"center",mt:1},children:[(0,d.jsxs)(g.A,{sx:{minWidth:180},children:[(0,d.jsx)(h.A,{id:"schedule-preset-label",children:v}),(0,d.jsxs)(i.A,{labelId:"schedule-preset-label",label:v,value:z,onChange:a=>A(a.target.value),children:[(0,d.jsx)(j.A,{value:"seconds",children:"Every N seconds"}),(0,d.jsx)(j.A,{value:"minutes",children:"Every N minutes"}),(0,d.jsx)(j.A,{value:"hours",children:"Every N hours"}),(0,d.jsx)(j.A,{value:"daily",children:"Daily at a time"}),(0,d.jsx)(j.A,{value:"weekdays",children:"Weekdays at a time"}),(0,d.jsx)(j.A,{value:"custom",children:"Custom (cron)"})]})]}),("seconds"===z||"minutes"===z||"hours"===z)&&(0,d.jsx)(k.A,{label:"seconds"===z?"Seconds":"minutes"===z?"Minutes":"Hours",type:"number",value:B,onChange:a=>C(Number(a.target.value)),inputProps:{min:1,max:"hours"===z?23:59},sx:{width:120}}),("daily"===z||"weekdays"===z)&&(0,d.jsx)(k.A,{label:"Time",type:"time",value:D,onChange:a=>E(a.target.value),sx:{width:150},InputLabelProps:{shrink:!0}}),"custom"===z&&(0,d.jsx)(k.A,{label:"Cron pattern",value:F,onChange:a=>G(a.target.value),sx:{minWidth:220},placeholder:"*/15 * * * *"})]}),H&&!H.valid&&(0,d.jsx)(l.A,{severity:"error",sx:{mt:2},children:H.error||"This schedule is not valid."}),H&&H.valid&&H.nextRuns.length>0&&(0,d.jsxs)(m.A,{variant:"body2",color:"text.secondary",sx:{mt:2},children:["Next: ",H.nextRuns.map(a=>new Date(a).toLocaleString()).join(" \xb7 ")]}),x&&(0,d.jsx)(n.A,{sx:{mt:1,display:"flex"},control:(0,d.jsx)(o.A,{checked:!0===w,onChange:a=>x(a.target.checked)}),label:"If FLUJO was closed when this trigger was scheduled, run it once on startup"}),(0,d.jsxs)(p.A,{disableGutters:!0,elevation:0,sx:{mt:1,"&:before":{display:"none"}},children:[(0,d.jsx)(q.A,{expandIcon:(0,d.jsx)(s.A,{}),sx:{px:0},children:(0,d.jsx)(m.A,{variant:"body2",color:"text.secondary",children:"Advanced"})}),(0,d.jsx)(r.A,{sx:{px:0},children:(0,d.jsxs)(f.default,{sx:{display:"flex",gap:2,flexWrap:"wrap"},children:[(0,d.jsx)(k.A,{label:"Timezone (optional)",value:b||"",onChange:a=>c({cron:J,timezone:a.target.value||void 0}),placeholder:"e.g. Europe/Berlin",helperText:"IANA timezone name. Empty = this computer's timezone.",sx:{minWidth:260}}),(0,d.jsx)(k.A,{label:"Generated cron pattern",value:J,InputProps:{readOnly:"custom"!==z},onChange:a=>{A("custom"),G(a.target.value)},helperText:"Editing switches to Custom mode.",sx:{minWidth:220}})]})})]})]})}},62350:(a,b,c)=>{c.d(b,{A:()=>f});var d=c(11801),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M19.3 16.9c.4-.7.7-1.5.7-2.4 0-2.5-2-4.5-4.5-4.5S11 12 11 14.5s2 4.5 4.5 4.5c.9 0 1.7-.3 2.4-.7l3.2 3.2 1.4-1.4zm-3.8.1c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5-1.1 2.5-2.5 2.5M12 20v2C6.48 22 2 17.52 2 12S6.48 2 12 2c4.84 0 8.87 3.44 9.8 8h-2.07c-.64-2.46-2.4-4.47-4.73-5.41V5c0 1.1-.9 2-2 2h-2v2c0 .55-.45 1-1 1H8v2h2v3H9l-4.79-4.79C4.08 10.79 4 11.38 4 12c0 4.41 3.59 8 8 8"}),"TravelExplore")},72535:(a,b,c)=>{c.d(b,{A:()=>v});var d=c(21124),e=c(38301),f=c(81637),g=c(79515),h=c(82605),i=c(50062),j=c(7675),k=c(94367),l=c(15426),m=c(37674),n=c(73520),o=c(95587),p=c(77028),q=c(91059),r=c(88745),s=c(63654);function t(a){if(!a||!Array.isArray(a.nodes))return[];let b=[];for(let c of a.nodes){if(c?.data?.type!=="signal")continue;let a=c.data.properties?.topic;"string"==typeof a&&a.trim()&&b.push(a.trim())}return b}let u=(0,c(42819).h)("frontend/components/PlannedExecutions/FlowEventPanel"),v=({config:a,onChange:b,flows:c,currentExecutionId:v})=>{let[w,x]=(0,e.useState)([]),[y,z]=(0,e.useState)(void 0!==a.maxChainDepth||void 0!==a.minIntervalMs),A=a.source?.topic!==void 0?"topic":a.source?.executionId!==void 0?"execution":"flow",B="topic"===A,C=(0,e.useMemo)(()=>(function(a,b=10){let c=new Map;for(let b of a)b&&"string"==typeof b.id&&c.set(b.id,b);let d=new Map,e=(a,b)=>{d.has(a)||d.set(a,[]),d.get(a).push(b)};for(let d of a){if(!d||"string"!=typeof d.id)continue;let a=new Map;for(let b of t(d))a.set(b,(a.get(b)??0)+1);for(let[b,c]of a)e(b,{flowId:d.id,flowName:d.name,signalNodeCount:c,viaSubflow:!1});for(let f of function(a,b,c=10){let d=new Set,e=new Set,f=(a,g)=>{if(e.has(a)||g>c)return;e.add(a);let h=b.get(a);for(let a of t(h))d.add(a);for(let a of function(a){if(!a||!Array.isArray(a.nodes))return[];let b=[];for(let c of a.nodes){if(c?.data?.type!=="subflow")continue;let a=c.data.properties??{};if("string"==typeof a.subflowId&&a.subflowId.trim()&&b.push(a.subflowId.trim()),Array.isArray(a.parallelSubflowIds))for(let c of a.parallelSubflowIds)"string"==typeof c&&c.trim()&&b.push(c.trim())}return Array.from(new Set(b))}(h))f(a,g+1)};return f(a,0),d}(d.id,c,b))a.has(f)||e(f,{flowId:d.id,flowName:d.name,signalNodeCount:0,viaSubflow:!0})}return d})(c),[c]),D=(0,e.useMemo)(()=>{let a=new Map;for(let b of c)b?.id&&a.set(b.id,b.name);return a},[c]),E=(0,e.useMemo)(()=>{let a=new Map;for(let b of w){let c=b.execution;if(c.id===v||c.trigger?.type!=="flow-event")continue;let d=c.trigger.source?.topic;if("string"!=typeof d||!d.trim())continue;let e=d.trim();a.has(e)||a.set(e,[]),a.get(e).push({executionId:c.id,executionName:c.name,flowId:c.flowId,flowName:D.get(c.flowId)})}return a},[w,v,D]),F=(0,e.useMemo)(()=>Array.from(new Set([...C.keys(),...E.keys()])).sort((a,b)=>a.localeCompare(b)),[C,E]),G=a=>{let b=C.get(a);if(!b||0===b.length)return null;let c=Array.from(new Set(b.map(a=>(a.flowName||a.flowId)+(a.viaSubflow?" (via subflow)":""))));return`Emitted in: ${c.join(", ")}`},H=(a.source?.topic??"").trim(),I=!H||C.has(H);(0,e.useEffect)(()=>{let a=!1;return s.P.list().then(b=>{a||x(b.executions||[])}).catch(b=>{u.warn("Failed to load planned executions for source picker",b),a||x([])}),()=>{a=!0}},[]);let J=(c,d)=>{let e=new Set(a.on??[]);d?e.add(c):e.delete(c),b({...a,on:Array.from(e)})};return(0,d.jsxs)(f.default,{sx:{mt:1},children:[(0,d.jsx)(g.A,{variant:"subtitle2",sx:{mt:1},children:"React to"}),(0,d.jsxs)(f.default,{sx:{display:"flex",gap:2,mt:1},children:[(0,d.jsxs)(h.A,{sx:{minWidth:180},children:[(0,d.jsx)(i.A,{id:"flow-event-source-kind",children:"Source"}),(0,d.jsxs)(j.A,{labelId:"flow-event-source-kind",label:"Source",value:A,onChange:c=>(c=>{b({...a,source:"flow"===c?{flowId:""}:"execution"===c?{executionId:""}:{topic:""}})})(c.target.value),children:[(0,d.jsx)(k.A,{value:"flow",children:"A flow (any run)"}),(0,d.jsx)(k.A,{value:"execution",children:"A planned execution"}),(0,d.jsx)(k.A,{value:"topic",children:"A signal topic"})]})]}),"topic"===A?(0,d.jsx)(h.A,{fullWidth:!0,children:(0,d.jsx)(l.A,{freeSolo:!0,autoHighlight:!0,options:F,value:a.source?.topic??"",inputValue:a.source?.topic??"",onInputChange:(c,d)=>b({...a,source:{topic:d}}),renderOption:(a,b)=>{let c=G(b),h=(a=>{let b=E.get(a);if(!b||0===b.length)return null;let c=Array.from(new Set(b.map(a=>a.flowName||a.flowId)));return`Used by ${b.length} trigger${1===b.length?"":"s"} → starts ${c.join(", ")}`})(b);return(0,e.createElement)(f.default,{component:"li",...a,key:b},(0,d.jsxs)(f.default,{sx:{display:"flex",flexDirection:"column",py:.25},children:[(0,d.jsx)(g.A,{variant:"body2",sx:{fontWeight:600},children:b}),c&&(0,d.jsx)(g.A,{variant:"caption",color:"text.secondary",children:c}),h&&(0,d.jsx)(g.A,{variant:"caption",color:"text.secondary",children:h}),!c&&(0,d.jsx)(g.A,{variant:"caption",color:"warning.main",children:"No flow currently emits this signal"})]}))},renderInput:a=>(0,d.jsx)(m.A,{...a,label:"Signal topic",placeholder:"e.g. review-blocked",helperText:H?I?G(H)??"React when this signal is emitted.":"No flow currently emits this signal — the trigger will stay idle until one does.":"React when a signal node in any flow emits this topic. Suggestions come from your existing flows."})})}):"flow"===A?(0,d.jsxs)(h.A,{fullWidth:!0,children:[(0,d.jsx)(i.A,{id:"flow-event-flow",children:"Flow to watch"}),(0,d.jsxs)(j.A,{labelId:"flow-event-flow",label:"Flow to watch",value:a.source?.flowId??"",onChange:c=>b({...a,source:{flowId:c.target.value}}),displayEmpty:!0,children:[0===c.length&&(0,d.jsx)(k.A,{value:"",disabled:!0,children:"No flows available"}),c.map(a=>(0,d.jsx)(k.A,{value:a.id,children:a.name},a.id))]})]}):(0,d.jsxs)(h.A,{fullWidth:!0,children:[(0,d.jsx)(i.A,{id:"flow-event-execution",children:"Planned execution to watch"}),(0,d.jsxs)(j.A,{labelId:"flow-event-execution",label:"Planned execution to watch",value:a.source?.executionId??"",onChange:c=>b({...a,source:{executionId:c.target.value}}),displayEmpty:!0,children:[0===w.filter(a=>a.execution.id!==v).length&&(0,d.jsx)(k.A,{value:"",disabled:!0,children:"No other planned executions"}),w.filter(a=>a.execution.id!==v).map(a=>(0,d.jsx)(k.A,{value:a.execution.id,children:a.execution.name},a.execution.id))]})]})]}),!B&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g.A,{variant:"subtitle2",sx:{mt:2},children:"When it…"}),(0,d.jsxs)(n.A,{row:!0,children:[(0,d.jsx)(o.A,{control:(0,d.jsx)(p.A,{checked:(a.on??[]).includes("completed"),onChange:a=>J("completed",a.target.checked)}),label:"completes"}),(0,d.jsx)(o.A,{control:(0,d.jsx)(p.A,{checked:(a.on??[]).includes("error"),onChange:a=>J("error",a.target.checked)}),label:"errors"})]})]}),(0,d.jsx)(m.A,{fullWidth:!0,label:B?"Only when the payload contains (optional)":"Only when the output contains (optional)",value:a.outputMatch?.contains??"",onChange:c=>{let d=c.target.value,e={...a.outputMatch,contains:d||void 0},f=e.contains||e.regex?e:void 0;b({...a,outputMatch:f})},margin:"normal",placeholder:"e.g. FAILED, or leave empty to react to every matching run"}),(0,d.jsx)(o.A,{sx:{mt:1},control:(0,d.jsx)(p.A,{checked:y,onChange:a=>z(a.target.checked)}),label:"Advanced (loop safety)"}),y&&(0,d.jsxs)(f.default,{sx:{display:"flex",gap:2,mt:1},children:[(0,d.jsx)(m.A,{label:"Max chain depth",type:"number",value:a.maxChainDepth??"",onChange:c=>b({...a,maxChainDepth:""===c.target.value?void 0:Number(c.target.value)}),helperText:"Stop after this many hops (default 100)",inputProps:{min:1}}),(0,d.jsx)(m.A,{label:"Cooldown (ms)",type:"number",value:a.minIntervalMs??"",onChange:c=>b({...a,minIntervalMs:""===c.target.value?void 0:Number(c.target.value)}),helperText:"Minimum gap between fires",inputProps:{min:0}})]}),(0,d.jsx)(q.A,{sx:{mt:2}}),(0,d.jsx)(r.A,{severity:"info",sx:{mt:2},children:B?"The signal’s payload is handed to this flow. Emit a signal from a signal node in any flow to fire this one — fire-and-forget. To avoid runaway loops, a chain of fires stops at the max depth above, and the overlap-skip prevents a single execution from re-triggering itself while it’s still running.":"The upstream run’s output is handed to this flow, so it can build on what the other flow produced. To avoid runaway loops, a chain of flow-event fires stops at the max depth above, and the existing overlap-skip prevents a single execution from re-triggering itself while it’s still running."})]})}},72748:(a,b,c)=>{c.d(b,{A:()=>j});var d=c(21124);c(38301);var e=c(81637),f=c(37674),g=c(79515),h=c(88745),i=c(62185);let j=({config:a,onChange:b})=>(0,d.jsxs)(e.default,{sx:{mt:1},children:[(0,d.jsx)(f.A,{fullWidth:!0,label:"URL to watch",value:a.url,onChange:c=>b({...a,url:c.target.value}),placeholder:"https://example.com/status or an API/feed URL",margin:"normal",type:"url"}),(0,d.jsx)(g.A,{variant:"subtitle2",sx:{mt:1},children:"How often to check"}),(0,d.jsx)(i.A,{verb:"Check",cron:a.cron,timezone:a.timezone,onChange:({cron:c,timezone:d})=>b({...a,cron:c,timezone:d})}),(0,d.jsx)(h.A,{severity:"info",sx:{mt:1},children:"The first check only takes a snapshot; the flow runs when a later check finds different content, and the fetched content is handed to the flow. Pages that embed ever-changing bits (timestamps, session tokens) look “changed” on every check — plain APIs, feeds, and raw files work best."})]})},87113:(a,b,c)=>{c.d(b,{A:()=>h});var d=c(21124);c(38301);var e=c(81637),f=c(79515),g=c(8165);let h=({selected:a,icon:b,title:c,description:h,onClick:i})=>(0,d.jsxs)(e.default,{role:"radio","aria-checked":a,tabIndex:0,onClick:i,onKeyDown:a=>{("Enter"===a.key||" "===a.key)&&(a.preventDefault(),i())},sx:{flex:1,minWidth:200,position:"relative",p:2,borderRadius:2,border:2,borderColor:a?"primary.main":"divider",bgcolor:a?"action.selected":"background.paper",cursor:"pointer",transition:"border-color 120ms, background-color 120ms","&:hover":{borderColor:a?"primary.main":"text.disabled"},outline:"none","&:focus-visible":{boxShadow:a=>`0 0 0 3px ${a.palette.primary.light}`}},children:[a&&(0,d.jsx)(g.A,{color:"primary",fontSize:"small",sx:{position:"absolute",top:8,right:8}}),(0,d.jsxs)(e.default,{sx:{display:"flex",alignItems:"center",gap:1,mb:.5,color:a?"primary.main":"text.secondary"},children:[b,(0,d.jsx)(f.A,{variant:"subtitle1",sx:{fontWeight:600,color:"text.primary"},children:c})]}),(0,d.jsx)(f.A,{variant:"body2",color:"text.secondary",children:h})]})},88839:(a,b,c)=>{c.d(b,{A:()=>D});var d=c(21124),e=c(38301),f=c(81637),g=c(79515),h=c(68730),i=c(82605),j=c(50062),k=c(7675),l=c(94367),m=c(37674),n=c(8521),o=c(88745),p=c(11801);let q=(0,p.A)((0,d.jsx)("path",{d:"M18 23H4c-1.1 0-2-.9-2-2V7h2v14h14zM15 1H8c-1.1 0-1.99.9-1.99 2L6 17c0 1.1.89 2 1.99 2H19c1.1 0 2-.9 2-2V7zm1.5 14h-6v-2h6zm0-6h-2v2h-2V9h-2V7h2V5h2v2h2z"}),"Difference"),r=(0,p.A)([(0,d.jsx)("path",{d:"M13 8.57c-.79 0-1.43.64-1.43 1.43s.64 1.43 1.43 1.43 1.43-.64 1.43-1.43-.64-1.43-1.43-1.43"},"0"),(0,d.jsx)("path",{d:"M13 3C9.25 3 6.2 5.94 6.02 9.64L4.1 12.2c-.25.33-.01.8.4.8H6v3c0 1.1.9 2 2 2h1v3h7v-4.68c2.36-1.12 4-3.53 4-6.32 0-3.87-3.13-7-7-7m3 7c0 .13-.01.26-.02.39l.83.66c.08.06.1.16.05.25l-.8 1.39c-.05.09-.16.12-.24.09l-.99-.4c-.21.16-.43.29-.67.39L14 13.83c-.01.1-.1.17-.2.17h-1.6c-.1 0-.18-.07-.2-.17l-.15-1.06c-.25-.1-.47-.23-.68-.39l-.99.4c-.09.03-.2 0-.25-.09l-.8-1.39c-.05-.08-.03-.19.05-.25l.84-.66c-.01-.13-.02-.26-.02-.39s.02-.27.04-.39l-.85-.66c-.08-.06-.1-.16-.05-.26l.8-1.38c.05-.09.15-.12.24-.09l1 .4c.2-.15.43-.29.67-.39L12 6.17c.02-.1.1-.17.2-.17h1.6c.1 0 .18.07.2.17l.15 1.06c.24.1.46.23.67.39l1-.4c.09-.03.2 0 .24.09l.8 1.38c.05.09.03.2-.05.26l-.85.66c.03.12.04.25.04.39"},"1")],"Psychology");var s=c(28055),t=c(83434),u=c(63281),v=c(42819),w=c(87113),x=c(62185),y=c(31411),z=c(21570),A=c(68774),B=c(45231);let C=(0,v.h)("frontend/components/PlannedExecutions/WatchToolPanel"),D=({config:a,onChange:b})=>{let[c,p]=(0,e.useState)([]),[v,D]=(0,e.useState)(!1),[E,F]=(0,e.useState)([]),[G,H]=(0,e.useState)(!1),[I,J]=(0,e.useState)(Object.keys(a.args||{}).length>0?JSON.stringify(a.args,null,2):""),[K,L]=(0,e.useState)(null),[M,N]=(0,e.useState)(!1),[O,P]=(0,e.useState)(null),[Q,R]=(0,e.useState)(null),[S,T]=(0,e.useState)([]),[U,V]=(0,e.useState)([]);(0,e.useEffect)(()=>{let a=!1;return s.S.loadServerConfigs().then(b=>{a||(Array.isArray(b)?p(b.filter(a=>!a.disabled)):(C.warn("Failed to load MCP servers for watch-tool panel",b),p([])))}),()=>{a=!0}},[]),(0,e.useEffect)(()=>{if(!a.serverName)return void F([]);let b=!1;return H(!0),s.S.listServerTools(a.serverName).then(({tools:a})=>{b||F(a||[])}).finally(()=>{b||H(!1)}),()=>{b=!0}},[a.serverName]),(0,e.useEffect)(()=>{let a=!1;return t.N.loadModels().then(b=>{a||T(Array.isArray(b)?b:[])}).catch(()=>{a||T([])}),u.g.loadFlows().then(b=>{a||V(b||[])}).catch(()=>{a||V([])}),()=>{a=!0}},[]);let W=async()=>{N(!0),P(null),R(null);try{let b=await s.S.callTool(a.serverName,a.toolName,a.args||{});if(b?.error)R("string"==typeof b.error?b.error:"Tool call failed");else{let a=b?.data??b,c=JSON.stringify(a,null,2)??"";P(c.length>6e3?`${c.slice(0,6e3)}
|
|
2
|
-
… (truncated)`:
|
|
1
|
+
"use strict";exports.id=519,exports.ids=[519],exports.modules={3391:(a,b,c)=>{c.d(b,{A:()=>x});var d=c(21124),e=c(38301),f=c(81637),g=c(37674),h=c(67101),i=c(43312),j=c(44079),k=c(79515),l=c(73520),m=c(95587),n=c(77028),o=c(88745),p=c(61628),q=c(19787),r=c(95803),s=c(17332),t=c(30717),u=c(32720),v=c(18305);let w=[{value:"add",labelKey:"automations.file.add"},{value:"change",labelKey:"automations.file.change"},{value:"unlink",labelKey:"automations.file.unlink"}],x=({config:a,onChange:b})=>{let{t:c}=(0,v.s9)(),[x,y]=(0,e.useState)(!1);return(0,d.jsxs)(f.default,{sx:{mt:1},children:[(0,d.jsx)(g.A,{fullWidth:!0,label:c("automations.file.path"),value:a.path,onChange:c=>b({...a,path:c.target.value}),placeholder:c("automations.file.pathPlaceholder"),margin:"normal",InputProps:{endAdornment:(0,d.jsx)(h.A,{position:"end",children:(0,d.jsx)(i.A,{title:c("automations.file.browse"),children:(0,d.jsx)(j.A,{edge:"end",onClick:()=>y(!0),children:(0,d.jsx)(t.A,{})})})})}}),(0,d.jsx)(u.A,{open:x,title:c("automations.file.choose"),selectFiles:!0,initialPath:a.path||void 0,onClose:()=>y(!1),onSelect:c=>b({...a,path:c})}),(0,d.jsx)(g.A,{fullWidth:!0,label:c("automations.file.glob"),value:a.glob||"",onChange:c=>b({...a,glob:c.target.value||void 0}),placeholder:c("automations.file.globPlaceholder"),helperText:c("automations.file.globHelp"),margin:"normal"}),(0,d.jsx)(k.A,{variant:"subtitle2",sx:{mt:1},children:c("automations.file.runWhen")}),(0,d.jsx)(l.A,{row:!0,children:w.map(e=>(0,d.jsx)(m.A,{control:(0,d.jsx)(n.A,{checked:a.events.includes(e.value),onChange:c=>((c,d)=>{let e=d?[...a.events,c]:a.events.filter(a=>a!==c);b({...a,events:e})})(e.value,c.target.checked)}),label:c(e.labelKey)},e.value))}),(0,d.jsx)(o.A,{severity:"info",sx:{mt:1},children:c("automations.file.batchInfo")}),(0,d.jsxs)(p.A,{disableGutters:!0,elevation:0,sx:{mt:1,"&:before":{display:"none"}},children:[(0,d.jsx)(q.A,{expandIcon:(0,d.jsx)(s.A,{}),sx:{px:0},children:(0,d.jsx)(k.A,{variant:"body2",color:"text.secondary",children:c("automations.advanced")})}),(0,d.jsx)(r.A,{sx:{px:0},children:(0,d.jsx)(g.A,{label:c("automations.file.quietWindow"),type:"number",value:a.debounceMs??2e3,onChange:c=>b({...a,debounceMs:Math.max(0,Number(c.target.value)||0)}),helperText:c("automations.file.quietWindowHelp"),inputProps:{min:0,step:500},sx:{width:220}})})]})]})}},17128:(a,b,c)=>{c.d(b,{A:()=>f});var d=c(11801),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M21 10.12h-6.78l2.74-2.82c-2.73-2.7-7.15-2.8-9.88-.1-2.73 2.71-2.73 7.08 0 9.79s7.15 2.71 9.88 0C18.32 15.65 19 14.08 19 12.1h2c0 1.98-.88 4.55-2.64 6.29-3.51 3.48-9.21 3.48-12.72 0-3.5-3.47-3.53-9.11-.02-12.58s9.14-3.47 12.65 0L21 3zM12.5 8v4.25l3.5 2.08-.72 1.21L11 13V8z"}),"Update")},21704:(a,b,c)=>{c.d(b,{A:()=>f});var d=c(11801),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M10 15h5.88c.27-.31.67-.5 1.12-.5.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5c-.44 0-.84-.19-1.12-.5H11.9c-.46 2.28-2.48 4-4.9 4-2.76 0-5-2.24-5-5 0-2.42 1.72-4.44 4-4.9v2.07c-1.16.41-2 1.53-2 2.83 0 1.65 1.35 3 3 3s3-1.35 3-3zm2.5-11c1.65 0 3 1.35 3 3h2c0-2.76-2.24-5-5-5s-5 2.24-5 5c0 1.43.6 2.71 1.55 3.62l-2.35 3.9c-.68.14-1.2.75-1.2 1.48 0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5c0-.16-.02-.31-.07-.45l3.38-5.63C10.49 9.61 9.5 8.42 9.5 7c0-1.65 1.35-3 3-3m4.5 9c-.64 0-1.23.2-1.72.54l-3.05-5.07C11.53 8.35 11 7.74 11 7c0-.83.67-1.5 1.5-1.5S14 6.17 14 7c0 .15-.02.29-.06.43l2.19 3.65c.28-.05.57-.08.87-.08 2.76 0 5 2.24 5 5s-2.24 5-5 5c-1.85 0-3.47-1.01-4.33-2.5h2.67c.48.32 1.05.5 1.66.5 1.65 0 3-1.35 3-3s-1.35-3-3-3"}),"Webhook")},34413:(a,b,c)=>{c.d(b,{A:()=>f});var d=c(11801),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"m9.78 11.16-1.42 1.42c-.68-.69-1.34-1.58-1.79-2.94l1.94-.49c.32.89.77 1.5 1.27 2.01M11 6 7 2 3 6h3.02c.02.81.08 1.54.19 2.17l1.94-.49C8.08 7.2 8.03 6.63 8.02 6zm10 0-4-4-4 4h2.99c-.1 3.68-1.28 4.75-2.54 5.88-.5.44-1.01.92-1.45 1.55-.34-.49-.73-.88-1.13-1.24L9.46 13.6c.93.85 1.54 1.54 1.54 3.4v5h2v-5c0-2.02.71-2.66 1.79-3.63 1.38-1.24 3.08-2.78 3.2-7.37z"}),"AltRoute")},62185:(a,b,c)=>{c.d(b,{A:()=>w});var d=c(21124),e=c(38301),f=c(81637),g=c(82605),h=c(50062),i=c(7675),j=c(94367),k=c(37674),l=c(88745),m=c(79515),n=c(95587),o=c(77028),p=c(61628),q=c(19787),r=c(95803),s=c(17332),t=c(63654),u=c(18305);let v=a=>String(a).padStart(2,"0"),w=({cron:a,timezone:b,onChange:c,verb:w,catchUp:x,onCatchUpChange:y})=>{let{t:z,formatDate:A}=(0,u.s9)(),B=w??z("automations.schedule.runsVerb"),C=(0,e.useMemo)(()=>(function(a){let b=/^\*\/(\d+) \* \* \* \* \*$/.exec(a);return b?{mode:"seconds",n:Number(b[1]),time:"09:00"}:(b=/^\*\/(\d+) \* \* \* \*$/.exec(a))?{mode:"minutes",n:Number(b[1]),time:"09:00"}:(b=/^0 \*\/(\d+) \* \* \*$/.exec(a))?{mode:"hours",n:Number(b[1]),time:"09:00"}:(b=/^(\d+) (\d+) \* \* \*$/.exec(a))?{mode:"daily",n:1,time:`${v(Number(b[2]))}:${v(Number(b[1]))}`}:(b=/^(\d+) (\d+) \* \* 1-5$/.exec(a))?{mode:"weekdays",n:1,time:`${v(Number(b[2]))}:${v(Number(b[1]))}`}:{mode:"custom",n:15,time:"09:00"}})(a),[]),[D,E]=(0,e.useState)(C.mode),[F,G]=(0,e.useState)(C.n),[H,I]=(0,e.useState)(C.time),[J,K]=(0,e.useState)(a),[L,M]=(0,e.useState)(null),N=function(a,b,c,d){let[e,f]=c.split(":").map(Number);switch(a){case"seconds":return`*/${Math.max(1,Math.min(59,Math.floor(b)||1))} * * * * *`;case"minutes":return`*/${Math.max(1,Math.min(59,Math.floor(b)||1))} * * * *`;case"hours":return`0 */${Math.max(1,Math.min(23,Math.floor(b)||1))} * * *`;case"daily":return`${f||0} ${e||0} * * *`;case"weekdays":return`${f||0} ${e||0} * * 1-5`;default:return d}}(D,F,H,J);return(0,e.useEffect)(()=>{N!==a&&c({cron:N,timezone:b})},[N]),(0,e.useEffect)(()=>{let a=!1,c=setTimeout(()=>{t.P.previewSchedule(N,b).then(b=>{a||M(b)})},300);return()=>{a=!0,clearTimeout(c)}},[N,b]),(0,d.jsxs)(f.default,{children:[(0,d.jsxs)(f.default,{sx:{display:"flex",gap:2,flexWrap:"wrap",alignItems:"center",mt:1},children:[(0,d.jsxs)(g.A,{sx:{minWidth:180},children:[(0,d.jsx)(h.A,{id:"schedule-preset-label",children:B}),(0,d.jsxs)(i.A,{labelId:"schedule-preset-label",label:B,value:D,onChange:a=>E(a.target.value),children:[(0,d.jsx)(j.A,{value:"seconds",children:z("automations.schedule.everySeconds")}),(0,d.jsx)(j.A,{value:"minutes",children:z("automations.schedule.everyMinutes")}),(0,d.jsx)(j.A,{value:"hours",children:z("automations.schedule.everyHours")}),(0,d.jsx)(j.A,{value:"daily",children:z("automations.schedule.daily")}),(0,d.jsx)(j.A,{value:"weekdays",children:z("automations.schedule.weekdays")}),(0,d.jsx)(j.A,{value:"custom",children:z("automations.schedule.custom")})]})]}),("seconds"===D||"minutes"===D||"hours"===D)&&(0,d.jsx)(k.A,{label:z("seconds"===D?"automations.schedule.seconds":"minutes"===D?"automations.schedule.minutes":"automations.schedule.hours"),type:"number",value:F,onChange:a=>G(Number(a.target.value)),inputProps:{min:1,max:"hours"===D?23:59},sx:{width:120}}),("daily"===D||"weekdays"===D)&&(0,d.jsx)(k.A,{label:z("automations.schedule.time"),type:"time",value:H,onChange:a=>I(a.target.value),sx:{width:150},InputLabelProps:{shrink:!0}}),"custom"===D&&(0,d.jsx)(k.A,{label:z("automations.schedule.cron"),value:J,onChange:a=>K(a.target.value),sx:{minWidth:220},placeholder:"*/15 * * * *"})]}),L&&!L.valid&&(0,d.jsx)(l.A,{severity:"error",sx:{mt:2},children:L.error||z("automations.schedule.invalid")}),L&&L.valid&&L.nextRuns.length>0&&(0,d.jsx)(m.A,{variant:"body2",color:"text.secondary",sx:{mt:2},children:z("automations.schedule.next",{times:L.nextRuns.map(a=>A(a,{dateStyle:"short",timeStyle:"short"})).join(" \xb7 ")})}),y&&(0,d.jsx)(n.A,{sx:{mt:1,display:"flex"},control:(0,d.jsx)(o.A,{checked:!0===x,onChange:a=>y(a.target.checked)}),label:z("automations.schedule.catchUp")}),(0,d.jsxs)(p.A,{disableGutters:!0,elevation:0,sx:{mt:1,"&:before":{display:"none"}},children:[(0,d.jsx)(q.A,{expandIcon:(0,d.jsx)(s.A,{}),sx:{px:0},children:(0,d.jsx)(m.A,{variant:"body2",color:"text.secondary",children:z("automations.advanced")})}),(0,d.jsx)(r.A,{sx:{px:0},children:(0,d.jsxs)(f.default,{sx:{display:"flex",gap:2,flexWrap:"wrap"},children:[(0,d.jsx)(k.A,{label:z("automations.schedule.timezone"),value:b||"",onChange:a=>c({cron:N,timezone:a.target.value||void 0}),placeholder:z("automations.schedule.timezonePlaceholder"),helperText:z("automations.schedule.timezoneHelp"),sx:{minWidth:260}}),(0,d.jsx)(k.A,{label:z("automations.schedule.generatedCron"),value:N,InputProps:{readOnly:"custom"!==D},onChange:a=>{E("custom"),K(a.target.value)},helperText:z("automations.schedule.editCustom"),sx:{minWidth:220}})]})})]})]})}},62350:(a,b,c)=>{c.d(b,{A:()=>f});var d=c(11801),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M19.3 16.9c.4-.7.7-1.5.7-2.4 0-2.5-2-4.5-4.5-4.5S11 12 11 14.5s2 4.5 4.5 4.5c.9 0 1.7-.3 2.4-.7l3.2 3.2 1.4-1.4zm-3.8.1c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5-1.1 2.5-2.5 2.5M12 20v2C6.48 22 2 17.52 2 12S6.48 2 12 2c4.84 0 8.87 3.44 9.8 8h-2.07c-.64-2.46-2.4-4.47-4.73-5.41V5c0 1.1-.9 2-2 2h-2v2c0 .55-.45 1-1 1H8v2h2v3H9l-4.79-4.79C4.08 10.79 4 11.38 4 12c0 4.41 3.59 8 8 8"}),"TravelExplore")},72535:(a,b,c)=>{c.d(b,{A:()=>x});var d=c(21124),e=c(38301),f=c(81637),g=c(79515),h=c(82605),i=c(50062),j=c(7675),k=c(94367),l=c(15426),m=c(37674),n=c(73520),o=c(95587),p=c(77028),q=c(91059),r=c(88745),s=c(63654);function t(a){if(!a||!Array.isArray(a.nodes))return[];let b=[];for(let c of a.nodes){if(c?.data?.type!=="signal")continue;let a=c.data.properties?.topic;"string"==typeof a&&a.trim()&&b.push(a.trim())}return b}var u=c(42819),v=c(18305);let w=(0,u.h)("frontend/components/PlannedExecutions/FlowEventPanel"),x=({config:a,onChange:b,flows:c,currentExecutionId:u})=>{let{t:x,tp:y}=(0,v.s9)(),[z,A]=(0,e.useState)([]),[B,C]=(0,e.useState)(void 0!==a.maxChainDepth||void 0!==a.minIntervalMs),D=a.source?.topic!==void 0?"topic":a.source?.executionId!==void 0?"execution":"flow",E="topic"===D,F=(0,e.useMemo)(()=>(function(a,b=10){let c=new Map;for(let b of a)b&&"string"==typeof b.id&&c.set(b.id,b);let d=new Map,e=(a,b)=>{d.has(a)||d.set(a,[]),d.get(a).push(b)};for(let d of a){if(!d||"string"!=typeof d.id)continue;let a=new Map;for(let b of t(d))a.set(b,(a.get(b)??0)+1);for(let[b,c]of a)e(b,{flowId:d.id,flowName:d.name,signalNodeCount:c,viaSubflow:!1});for(let f of function(a,b,c=10){let d=new Set,e=new Set,f=(a,g)=>{if(e.has(a)||g>c)return;e.add(a);let h=b.get(a);for(let a of t(h))d.add(a);for(let a of function(a){if(!a||!Array.isArray(a.nodes))return[];let b=[];for(let c of a.nodes){if(c?.data?.type!=="subflow")continue;let a=c.data.properties??{};if("string"==typeof a.subflowId&&a.subflowId.trim()&&b.push(a.subflowId.trim()),Array.isArray(a.parallelSubflowIds))for(let c of a.parallelSubflowIds)"string"==typeof c&&c.trim()&&b.push(c.trim())}return Array.from(new Set(b))}(h))f(a,g+1)};return f(a,0),d}(d.id,c,b))a.has(f)||e(f,{flowId:d.id,flowName:d.name,signalNodeCount:0,viaSubflow:!0})}return d})(c),[c]),G=(0,e.useMemo)(()=>{let a=new Map;for(let b of c)b?.id&&a.set(b.id,b.name);return a},[c]),H=(0,e.useMemo)(()=>{let a=new Map;for(let b of z){let c=b.execution;if(c.id===u||c.trigger?.type!=="flow-event")continue;let d=c.trigger.source?.topic;if("string"!=typeof d||!d.trim())continue;let e=d.trim();a.has(e)||a.set(e,[]),a.get(e).push({executionId:c.id,executionName:c.name,flowId:c.flowId,flowName:G.get(c.flowId)})}return a},[z,u,G]),I=(0,e.useMemo)(()=>Array.from(new Set([...F.keys(),...H.keys()])).sort((a,b)=>a.localeCompare(b)),[F,H]),J=a=>{let b=F.get(a);if(!b||0===b.length)return null;let c=Array.from(new Set(b.map(a=>(a.flowName||a.flowId)+(a.viaSubflow?` (${x("automations.event.viaSubflow")})`:""))));return x("automations.event.emittedIn",{names:c.join(", ")})},K=(a.source?.topic??"").trim(),L=!K||F.has(K);(0,e.useEffect)(()=>{let a=!1;return s.P.list().then(b=>{a||A(b.executions||[])}).catch(b=>{w.warn("Failed to load planned executions for source picker",b),a||A([])}),()=>{a=!0}},[]);let M=(c,d)=>{let e=new Set(a.on??[]);d?e.add(c):e.delete(c),b({...a,on:Array.from(e)})};return(0,d.jsxs)(f.default,{sx:{mt:1},children:[(0,d.jsx)(g.A,{variant:"subtitle2",sx:{mt:1},children:x("automations.event.reactTo")}),(0,d.jsxs)(f.default,{sx:{display:"flex",gap:2,mt:1},children:[(0,d.jsxs)(h.A,{sx:{minWidth:180},children:[(0,d.jsx)(i.A,{id:"flow-event-source-kind",children:x("automations.event.source")}),(0,d.jsxs)(j.A,{labelId:"flow-event-source-kind",label:x("automations.event.source"),value:D,onChange:c=>(c=>{b({...a,source:"flow"===c?{flowId:""}:"execution"===c?{executionId:""}:{topic:""}})})(c.target.value),children:[(0,d.jsx)(k.A,{value:"flow",children:x("automations.event.sourceFlow")}),(0,d.jsx)(k.A,{value:"execution",children:x("automations.event.sourceExecution")}),(0,d.jsx)(k.A,{value:"topic",children:x("automations.event.sourceTopic")})]})]}),"topic"===D?(0,d.jsx)(h.A,{fullWidth:!0,children:(0,d.jsx)(l.A,{freeSolo:!0,autoHighlight:!0,options:I,value:a.source?.topic??"",inputValue:a.source?.topic??"",onInputChange:(c,d)=>b({...a,source:{topic:d}}),renderOption:(a,b)=>{let c=J(b),h=(a=>{let b=H.get(a);if(!b||0===b.length)return null;let c=Array.from(new Set(b.map(a=>a.flowName||a.flowId)));return y("automations.event.usedBy",b.length,{flows:c.join(", ")})})(b);return(0,e.createElement)(f.default,{component:"li",...a,key:b},(0,d.jsxs)(f.default,{sx:{display:"flex",flexDirection:"column",py:.25},children:[(0,d.jsx)(g.A,{variant:"body2",sx:{fontWeight:600},children:b}),c&&(0,d.jsx)(g.A,{variant:"caption",color:"text.secondary",children:c}),h&&(0,d.jsx)(g.A,{variant:"caption",color:"text.secondary",children:h}),!c&&(0,d.jsx)(g.A,{variant:"caption",color:"warning.main",children:x("automations.event.noEmitter")})]}))},renderInput:a=>(0,d.jsx)(m.A,{...a,label:x("automations.event.signalTopic"),placeholder:x("automations.event.topicPlaceholder"),helperText:K?L?J(K)??x("automations.event.topicEmittedHelp"):x("automations.event.topicIdleHelp"):x("automations.event.topicEmptyHelp")})})}):"flow"===D?(0,d.jsxs)(h.A,{fullWidth:!0,children:[(0,d.jsx)(i.A,{id:"flow-event-flow",children:x("automations.event.flowToWatch")}),(0,d.jsxs)(j.A,{labelId:"flow-event-flow",label:x("automations.event.flowToWatch"),value:a.source?.flowId??"",onChange:c=>b({...a,source:{flowId:c.target.value}}),displayEmpty:!0,children:[0===c.length&&(0,d.jsx)(k.A,{value:"",disabled:!0,children:x("automations.tool.noFlows")}),c.map(a=>(0,d.jsx)(k.A,{value:a.id,children:a.name},a.id))]})]}):(0,d.jsxs)(h.A,{fullWidth:!0,children:[(0,d.jsx)(i.A,{id:"flow-event-execution",children:x("automations.event.executionToWatch")}),(0,d.jsxs)(j.A,{labelId:"flow-event-execution",label:x("automations.event.executionToWatch"),value:a.source?.executionId??"",onChange:c=>b({...a,source:{executionId:c.target.value}}),displayEmpty:!0,children:[0===z.filter(a=>a.execution.id!==u).length&&(0,d.jsx)(k.A,{value:"",disabled:!0,children:x("automations.event.noOtherExecutions")}),z.filter(a=>a.execution.id!==u).map(a=>(0,d.jsx)(k.A,{value:a.execution.id,children:a.execution.name},a.execution.id))]})]})]}),!E&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g.A,{variant:"subtitle2",sx:{mt:2},children:x("automations.event.whenIt")}),(0,d.jsxs)(n.A,{row:!0,children:[(0,d.jsx)(o.A,{control:(0,d.jsx)(p.A,{checked:(a.on??[]).includes("completed"),onChange:a=>M("completed",a.target.checked)}),label:x("automations.event.completes")}),(0,d.jsx)(o.A,{control:(0,d.jsx)(p.A,{checked:(a.on??[]).includes("error"),onChange:a=>M("error",a.target.checked)}),label:x("automations.event.errors")})]})]}),(0,d.jsx)(m.A,{fullWidth:!0,label:E?x("automations.event.payloadContains"):x("automations.event.outputContains"),value:a.outputMatch?.contains??"",onChange:c=>{let d=c.target.value,e={...a.outputMatch,contains:d||void 0},f=e.contains||e.regex?e:void 0;b({...a,outputMatch:f})},margin:"normal",placeholder:x("automations.event.containsPlaceholder")}),(0,d.jsx)(o.A,{sx:{mt:1},control:(0,d.jsx)(p.A,{checked:B,onChange:a=>C(a.target.checked)}),label:x("automations.event.loopSafety")}),B&&(0,d.jsxs)(f.default,{sx:{display:"flex",gap:2,mt:1},children:[(0,d.jsx)(m.A,{label:x("automations.event.maxDepth"),type:"number",value:a.maxChainDepth??"",onChange:c=>b({...a,maxChainDepth:""===c.target.value?void 0:Number(c.target.value)}),helperText:x("automations.event.maxDepthHelp"),inputProps:{min:1}}),(0,d.jsx)(m.A,{label:x("automations.event.cooldown"),type:"number",value:a.minIntervalMs??"",onChange:c=>b({...a,minIntervalMs:""===c.target.value?void 0:Number(c.target.value)}),helperText:x("automations.event.cooldownHelp"),inputProps:{min:0}})]}),(0,d.jsx)(q.A,{sx:{mt:2}}),(0,d.jsx)(r.A,{severity:"info",sx:{mt:2},children:E?x("automations.event.topicInfo"):x("automations.event.flowInfo")})]})}},72748:(a,b,c)=>{c.d(b,{A:()=>k});var d=c(21124);c(38301);var e=c(81637),f=c(37674),g=c(79515),h=c(88745),i=c(62185),j=c(18305);let k=({config:a,onChange:b})=>{let{t:c}=(0,j.s9)();return(0,d.jsxs)(e.default,{sx:{mt:1},children:[(0,d.jsx)(f.A,{fullWidth:!0,label:c("automations.url.label"),value:a.url,onChange:c=>b({...a,url:c.target.value}),placeholder:c("automations.url.placeholder"),margin:"normal",type:"url"}),(0,d.jsx)(g.A,{variant:"subtitle2",sx:{mt:1},children:c("automations.howOften")}),(0,d.jsx)(i.A,{verb:c("automations.checkVerb"),cron:a.cron,timezone:a.timezone,onChange:({cron:c,timezone:d})=>b({...a,cron:c,timezone:d})}),(0,d.jsx)(h.A,{severity:"info",sx:{mt:1},children:c("automations.url.info")})]})}},87113:(a,b,c)=>{c.d(b,{A:()=>h});var d=c(21124);c(38301);var e=c(81637),f=c(79515),g=c(8165);let h=({selected:a,icon:b,title:c,description:h,onClick:i})=>(0,d.jsxs)(e.default,{role:"radio","aria-checked":a,tabIndex:0,onClick:i,onKeyDown:a=>{("Enter"===a.key||" "===a.key)&&(a.preventDefault(),i())},sx:{flex:1,minWidth:200,position:"relative",p:2,borderRadius:2,border:2,borderColor:a?"primary.main":"divider",bgcolor:a?"action.selected":"background.paper",cursor:"pointer",transition:"border-color 120ms, background-color 120ms","&:hover":{borderColor:a?"primary.main":"text.disabled"},outline:"none","&:focus-visible":{boxShadow:a=>`0 0 0 3px ${a.palette.primary.light}`}},children:[a&&(0,d.jsx)(g.A,{color:"primary",fontSize:"small",sx:{position:"absolute",top:8,right:8}}),(0,d.jsxs)(e.default,{sx:{display:"flex",alignItems:"center",gap:1,mb:.5,color:a?"primary.main":"text.secondary"},children:[b,(0,d.jsx)(f.A,{variant:"subtitle1",sx:{fontWeight:600,color:"text.primary"},children:c})]}),(0,d.jsx)(f.A,{variant:"body2",color:"text.secondary",children:h})]})},88839:(a,b,c)=>{c.d(b,{A:()=>E});var d=c(21124),e=c(38301),f=c(81637),g=c(79515),h=c(68730),i=c(82605),j=c(50062),k=c(7675),l=c(94367),m=c(37674),n=c(8521),o=c(88745),p=c(11801);let q=(0,p.A)((0,d.jsx)("path",{d:"M18 23H4c-1.1 0-2-.9-2-2V7h2v14h14zM15 1H8c-1.1 0-1.99.9-1.99 2L6 17c0 1.1.89 2 1.99 2H19c1.1 0 2-.9 2-2V7zm1.5 14h-6v-2h6zm0-6h-2v2h-2V9h-2V7h2V5h2v2h2z"}),"Difference"),r=(0,p.A)([(0,d.jsx)("path",{d:"M13 8.57c-.79 0-1.43.64-1.43 1.43s.64 1.43 1.43 1.43 1.43-.64 1.43-1.43-.64-1.43-1.43-1.43"},"0"),(0,d.jsx)("path",{d:"M13 3C9.25 3 6.2 5.94 6.02 9.64L4.1 12.2c-.25.33-.01.8.4.8H6v3c0 1.1.9 2 2 2h1v3h7v-4.68c2.36-1.12 4-3.53 4-6.32 0-3.87-3.13-7-7-7m3 7c0 .13-.01.26-.02.39l.83.66c.08.06.1.16.05.25l-.8 1.39c-.05.09-.16.12-.24.09l-.99-.4c-.21.16-.43.29-.67.39L14 13.83c-.01.1-.1.17-.2.17h-1.6c-.1 0-.18-.07-.2-.17l-.15-1.06c-.25-.1-.47-.23-.68-.39l-.99.4c-.09.03-.2 0-.25-.09l-.8-1.39c-.05-.08-.03-.19.05-.25l.84-.66c-.01-.13-.02-.26-.02-.39s.02-.27.04-.39l-.85-.66c-.08-.06-.1-.16-.05-.26l.8-1.38c.05-.09.15-.12.24-.09l1 .4c.2-.15.43-.29.67-.39L12 6.17c.02-.1.1-.17.2-.17h1.6c.1 0 .18.07.2.17l.15 1.06c.24.1.46.23.67.39l1-.4c.09-.03.2 0 .24.09l.8 1.38c.05.09.03.2-.05.26l-.85.66c.03.12.04.25.04.39"},"1")],"Psychology");var s=c(28055),t=c(83434),u=c(63281),v=c(42819),w=c(87113),x=c(62185),y=c(31411),z=c(21570),A=c(68774),B=c(45231),C=c(18305);let D=(0,v.h)("frontend/components/PlannedExecutions/WatchToolPanel"),E=({config:a,onChange:b})=>{let{t:c}=(0,C.s9)(),[p,v]=(0,e.useState)([]),[E,F]=(0,e.useState)(!1),[G,H]=(0,e.useState)([]),[I,J]=(0,e.useState)(!1),[K,L]=(0,e.useState)(Object.keys(a.args||{}).length>0?JSON.stringify(a.args,null,2):""),[M,N]=(0,e.useState)(null),[O,P]=(0,e.useState)(!1),[Q,R]=(0,e.useState)(null),[S,T]=(0,e.useState)(null),[U,V]=(0,e.useState)([]),[W,X]=(0,e.useState)([]);(0,e.useEffect)(()=>{let a=!1;return s.S.loadServerConfigs().then(b=>{a||(Array.isArray(b)?v(b.filter(a=>!a.disabled)):(D.warn("Failed to load MCP servers for watch-tool panel",b),v([])))}),()=>{a=!0}},[]),(0,e.useEffect)(()=>{if(!a.serverName)return void H([]);let b=!1;return J(!0),s.S.listServerTools(a.serverName).then(({tools:a})=>{b||H(a||[])}).finally(()=>{b||J(!1)}),()=>{b=!0}},[a.serverName]),(0,e.useEffect)(()=>{let a=!1;return t.N.loadModels().then(b=>{a||V(Array.isArray(b)?b:[])}).catch(()=>{a||V([])}),u.g.loadFlows().then(b=>{a||X(b||[])}).catch(()=>{a||X([])}),()=>{a=!0}},[]);let Y=async()=>{P(!0),R(null),T(null);try{let b=await s.S.callTool(a.serverName,a.toolName,a.args||{});if(b?.error)T("string"==typeof b.error?b.error:c("automations.tool.callFailed"));else{let a=b?.data??b,d=JSON.stringify(a,null,2)??"";R(d.length>6e3?`${d.slice(0,6e3)}
|
|
2
|
+
… (${c("automations.tool.truncated")})`:d)}}catch(a){T(a instanceof Error?a.message:c("automations.tool.callFailed"))}finally{P(!1)}},Z=a.evaluate,$=G.find(b=>b.name===a.toolName),_=(0,B.E)("mcp",p),aa=c=>({key:c.name,content:(c=>(0,d.jsx)(A.A,{name:c.name,status:c.status||"disconnected",path:c.rootPath||"",enabled:!c.disabled,transport:c.transport||"stdio",pickerMode:!0,selected:a.serverName===c.name,onClick:()=>{var d;return d=c.name,void(b({...a,serverName:d,toolName:""}),F(!1))}}))(c)}),ab=_.items.map(aa),ac=_.groups?_.groups.map(a=>({...a,items:a.items.map(aa)})):null;return(0,d.jsxs)(f.default,{sx:{mt:1},children:[(0,d.jsxs)(f.default,{sx:{display:"flex",gap:2,flexWrap:"wrap"},children:[(0,d.jsxs)(f.default,{sx:{minWidth:220,flex:1,mt:2,mb:1},children:[(0,d.jsx)(g.A,{variant:"caption",color:"text.secondary",sx:{display:"block",mb:.5},children:c("automations.tool.server")}),(0,d.jsx)(h.A,{variant:"outlined",fullWidth:!0,onClick:()=>F(!0),sx:{justifyContent:"flex-start",textTransform:"none"},children:a.serverName?c("automations.tool.changeServer",{server:a.serverName}):c("automations.tool.chooseServer")}),(0,d.jsx)(z.A,{open:E,onClose:()=>F(!1),title:c("automations.tool.chooseServerTitle"),description:c("automations.tool.chooseServerDescription"),emptyMessage:c("automations.tool.noServers"),searchable:!0,searchPlaceholder:c("automations.tool.searchServers"),searchTerm:_.searchTerm,onSearchChange:_.setSearchTerm,columns:{xs:12,sm:6},items:ab,groups:ac,collapsedKeys:_.collapsedKeys,onToggleGroup:_.toggleGroup})]}),(0,d.jsxs)(i.A,{sx:{minWidth:220,flex:1},margin:"normal",disabled:!a.serverName,children:[(0,d.jsx)(j.A,{id:"watch-tool-label",children:c("automations.tool.tool")}),(0,d.jsxs)(k.A,{labelId:"watch-tool-label",label:c("automations.tool.tool"),value:G.some(b=>b.name===a.toolName)?a.toolName:"",onChange:c=>b({...a,toolName:c.target.value,args:{}}),children:[0===G.length&&(0,d.jsx)(l.A,{value:"",disabled:!0,children:I?c("automations.tool.loadingTools"):c("automations.tool.pickServerFirst")}),G.map(a=>(0,d.jsx)(l.A,{value:a.name,children:a.name},a.name))]})]})]}),(0,d.jsx)(g.A,{variant:"subtitle2",sx:{mt:1},children:c("automations.howOften")}),(0,d.jsx)(x.A,{verb:c("automations.checkVerb"),cron:a.cron??function(a){let b=Math.max(5,Math.round((a??6e4)/1e3));if(b<60)return`*/${b} * * * * *`;let c=Math.max(1,Math.round(b/60));if(c<60)return`*/${c} * * * *`;let d=Math.max(1,Math.min(23,Math.round(c/60)));return`0 */${d} * * *`}(a.intervalMs),timezone:a.timezone,onChange:({cron:c,timezone:d})=>b({...a,cron:c,timezone:d})}),$?(0,d.jsxs)(f.default,{sx:{my:1.5},children:[(0,d.jsx)(g.A,{variant:"subtitle2",sx:{mb:1.5},children:c("automations.tool.params")}),(0,d.jsx)(y.A,{schema:$.inputSchema,values:a.args||{},onChange:c=>b({...a,args:c})})]}):(0,d.jsx)(m.A,{fullWidth:!0,label:c("automations.tool.args"),value:K,onChange:d=>(d=>{if(L(d),!d.trim()){N(null),b({...a,args:{}});return}try{let e=JSON.parse(d);if(null===e||"object"!=typeof e||Array.isArray(e))return void N(c("automations.tool.argsObject"));N(null),b({...a,args:e})}catch{N(c("automations.tool.invalidJson"))}})(d.target.value),margin:"normal",multiline:!0,minRows:2,placeholder:'{ "query": "is:unread" }',error:!!M,helperText:M??c("automations.tool.argsHelp"),slotProps:{input:{sx:{fontFamily:"monospace",fontSize:14}}}}),(0,d.jsxs)(f.default,{sx:{display:"flex",alignItems:"center",gap:2,mb:1},children:[(0,d.jsx)(h.A,{variant:"outlined",size:"small",onClick:Y,disabled:!a.serverName||!a.toolName||O||!!M,startIcon:O?(0,d.jsx)(n.default,{size:16}):void 0,children:c("automations.tool.test")}),(0,d.jsx)(g.A,{variant:"caption",color:"text.secondary",children:c("automations.tool.testHelp")})]}),S&&(0,d.jsx)(o.A,{severity:"error",sx:{mb:1},children:S}),Q&&(0,d.jsx)(f.default,{component:"pre",sx:{maxHeight:240,overflow:"auto",bgcolor:"action.hover",borderRadius:1,p:1.5,fontSize:12,m:0,mb:1},children:Q}),(0,d.jsx)(g.A,{variant:"subtitle2",sx:{mt:2,mb:1},children:c("automations.tool.runWhen")}),(0,d.jsxs)(f.default,{role:"radiogroup","aria-label":c("automations.tool.pollConditionAria"),sx:{display:"flex",gap:2,flexWrap:"wrap"},children:[(0,d.jsx)(w.A,{selected:"on-change"===Z.mode,onClick:()=>b({...a,evaluate:{mode:"on-change"}}),icon:(0,d.jsx)(q,{}),title:c("automations.tool.resultChanges"),description:c("automations.tool.resultChangesDescription")}),(0,d.jsx)(w.A,{selected:"llm-gate"===Z.mode||"flow-gate"===Z.mode,onClick:()=>{"llm-gate"!==Z.mode&&"flow-gate"!==Z.mode&&b({...a,evaluate:{mode:"llm-gate",condition:"",modelId:""}})},icon:(0,d.jsx)(r,{}),title:c("automations.tool.aiDecides"),description:c("automations.tool.aiDecidesDescription")})]}),("llm-gate"===Z.mode||"flow-gate"===Z.mode)&&(0,d.jsxs)(f.default,{sx:{mt:1},children:[(0,d.jsx)(m.A,{fullWidth:!0,label:c("automations.tool.condition"),value:Z.condition,onChange:c=>b({...a,evaluate:{...Z,condition:c.target.value}}),multiline:!0,minRows:2,margin:"normal",placeholder:c("automations.tool.conditionPlaceholder")}),(0,d.jsxs)(f.default,{sx:{display:"flex",gap:2,flexWrap:"wrap",alignItems:"flex-start"},children:[(0,d.jsxs)(i.A,{sx:{minWidth:170},children:[(0,d.jsx)(j.A,{id:"gate-checker-label",children:c("automations.tool.checkedBy")}),(0,d.jsxs)(k.A,{labelId:"gate-checker-label",label:c("automations.tool.checkedBy"),value:Z.mode,onChange:c=>{let d=c.target.value;if(d===Z.mode)return;let e={condition:Z.condition,maxCallsPerDay:Z.maxCallsPerDay};b({...a,evaluate:"llm-gate"===d?{mode:d,...e,modelId:""}:{mode:d,...e,flowId:""}})},children:[(0,d.jsx)(l.A,{value:"llm-gate",children:c("automations.tool.aModel")}),(0,d.jsx)(l.A,{value:"flow-gate",children:c("automations.tool.oneFlow")})]})]}),"llm-gate"===Z.mode&&(0,d.jsxs)(i.A,{sx:{minWidth:240,flex:1},children:[(0,d.jsx)(j.A,{id:"gate-model-label",children:c("automations.tool.modelChecker")}),(0,d.jsxs)(k.A,{labelId:"gate-model-label",label:c("automations.tool.modelChecker"),value:U.some(a=>a.id===Z.modelId)?Z.modelId:"",onChange:c=>b({...a,evaluate:{...Z,modelId:c.target.value}}),children:[0===U.length&&(0,d.jsx)(l.A,{value:"",disabled:!0,children:c("automations.tool.noModels")}),U.map(a=>(0,d.jsx)(l.A,{value:a.id,children:a.displayName||a.name},a.id))]})]}),"flow-gate"===Z.mode&&(0,d.jsxs)(i.A,{sx:{minWidth:240,flex:1},children:[(0,d.jsx)(j.A,{id:"gate-flow-label",children:c("automations.tool.flowChecker")}),(0,d.jsxs)(k.A,{labelId:"gate-flow-label",label:c("automations.tool.flowChecker"),value:W.some(a=>a.id===Z.flowId)?Z.flowId:"",onChange:c=>b({...a,evaluate:{...Z,flowId:c.target.value}}),children:[0===W.length&&(0,d.jsx)(l.A,{value:"",disabled:!0,children:c("automations.tool.noFlows")}),W.map(a=>(0,d.jsx)(l.A,{value:a.id,children:a.name},a.id))]})]}),(0,d.jsx)(m.A,{label:c("automations.tool.maxChecks"),type:"number",value:Z.maxCallsPerDay??500,onChange:c=>b({...a,evaluate:{...Z,maxCallsPerDay:Math.max(1,Number(c.target.value)||1)}}),inputProps:{min:1},helperText:c("automations.tool.costGuard"),sx:{width:180}})]}),(0,d.jsx)(g.A,{variant:"caption",color:"text.secondary",sx:{display:"block",mt:.5},children:"flow-gate"===Z.mode?c("automations.tool.flowGateHelp"):c("automations.tool.modelGateHelp")})]}),(0,d.jsx)(o.A,{severity:"info",sx:{mt:2},children:c("automations.tool.firstSnapshot")})]})}},91283:(a,b,c)=>{c.d(b,{A:()=>s});var d=c(21124),e=c(38301),f=c(81637),g=c(88745),h=c(37674),i=c(43312),j=c(44079),k=c(68730),l=c(79515),m=c(95587),n=c(77028),o=c(38941),p=c(36698),q=c(18305),r=c(24166);let s=({config:a,onChange:b,executionId:c,saved:s})=>{let{t}=(0,q.s9)(),[u,v]=(0,e.useState)(null),w=`/api/webhooks/${c}`,x=async(a,b)=>{try{await navigator.clipboard.writeText(b),v(a),setTimeout(()=>v(null),1500)}catch{}};return(0,d.jsxs)(f.default,{sx:{mt:1},children:[!s&&(0,d.jsx)(g.A,{severity:"info",sx:{mb:2},children:t("automations.webhook.pending")}),(0,d.jsxs)(f.default,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,d.jsx)(h.A,{fullWidth:!0,label:t("automations.webhook.url"),value:w,InputProps:{readOnly:!0},size:"small"}),(0,d.jsx)(i.A,{title:t("automations.webhook.copyUrl"),children:(0,d.jsx)(j.A,{onClick:()=>x("url",w),children:"url"===u?(0,d.jsx)(p.A,{color:"success"}):(0,d.jsx)(o.A,{})})})]}),(0,d.jsxs)(f.default,{sx:{display:"flex",alignItems:"center",gap:1,mt:2},children:[(0,d.jsx)(h.A,{fullWidth:!0,label:t("automations.webhook.secretToken"),value:a.token,InputProps:{readOnly:!0},size:"small",type:"password"}),(0,d.jsx)(i.A,{title:t("automations.webhook.copyToken"),children:(0,d.jsx)(j.A,{onClick:()=>x("token",a.token),disabled:!a.token,children:"token"===u?(0,d.jsx)(p.A,{color:"success"}):(0,d.jsx)(o.A,{})})}),(0,d.jsx)(k.A,{size:"small",onClick:()=>b({...a,token:crypto.randomUUID()}),sx:{whiteSpace:"nowrap"},children:t("automations.webhook.newToken")})]}),(0,d.jsx)(l.A,{variant:"caption",color:"text.secondary",children:s?t("automations.webhook.rotationHelp"):""}),(0,d.jsx)(l.A,{variant:"body2",color:"text.secondary",sx:{mt:1.5},children:(0,d.jsx)(r.A,{message:"automations.webhook.instructions",values:{header:(0,d.jsx)("code",{children:"X-Flujo-Token"}),query:(0,d.jsx)("code",{children:"?token=…"})}})}),(0,d.jsx)(m.A,{sx:{mt:1,display:"flex"},control:(0,d.jsx)(n.A,{checked:!0===a.allowExternal,onChange:c=>b({...a,allowExternal:c.target.checked})}),label:t("automations.webhook.allowExternal")}),a.allowExternal&&(0,d.jsx)(g.A,{severity:"warning",children:t("automations.webhook.externalWarning")})]})}}};
|