@jiggai/kitchen 0.3.27 → 0.3.29
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-path-routes-manifest.json +10 -0
- package/.next/build-manifest.json +5 -5
- package/.next/prerender-manifest.json +3 -3
- package/.next/routes-manifest.json +70 -0
- package/.next/server/app/_global-error/page/build-manifest.json +3 -3
- package/.next/server/app/_global-error/page.js +2 -2
- package/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +2 -2
- package/.next/server/app/_global-error.rsc +8 -8
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/_global-error.segments/_full.segment.rsc +8 -8
- package/.next/server/app/_global-error.segments/_head.segment.rsc +4 -4
- package/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page/build-manifest.json +3 -3
- 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 +11 -11
- package/.next/server/app/_not-found.segments/_full.segment.rsc +11 -11
- package/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/server/app/_not-found.segments/_index.segment.rsc +5 -5
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/agents/[agentId]/page/build-manifest.json +3 -3
- package/.next/server/app/agents/[agentId]/page.js +2 -2
- package/.next/server/app/agents/[agentId]/page.js.nft.json +1 -1
- package/.next/server/app/agents/[agentId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agents/[id]/route.js +1 -1
- package/.next/server/app/api/agents/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/agents/add/route.js +1 -1
- package/.next/server/app/api/agents/add/route.js.nft.json +1 -1
- package/.next/server/app/api/agents/file/route.js +1 -1
- package/.next/server/app/api/agents/file/route.js.nft.json +1 -1
- package/.next/server/app/api/agents/files/route.js +1 -1
- package/.next/server/app/api/agents/files/route.js.nft.json +1 -1
- package/.next/server/app/api/agents/skills/install/route.js.nft.json +1 -1
- package/.next/server/app/api/agents/skills/route.js +1 -1
- package/.next/server/app/api/agents/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/agents/update/route.js +1 -1
- package/.next/server/app/api/agents/update/route.js.nft.json +1 -1
- package/.next/server/app/api/channels/bindings/route.js +1 -1
- package/.next/server/app/api/channels/bindings/route.js.nft.json +1 -1
- package/.next/server/app/api/cron/add/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/cron/add/route/build-manifest.json +11 -0
- package/.next/server/app/api/cron/add/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/cron/add/route.js +6 -0
- package/.next/server/app/api/cron/add/route.js.map +5 -0
- package/.next/server/app/api/cron/add/route.js.nft.json +1 -0
- package/.next/server/app/api/cron/add/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/cron/delete/route.js +1 -1
- package/.next/server/app/api/cron/delete/route.js.nft.json +1 -1
- package/.next/server/app/api/cron/edit/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/cron/edit/route/build-manifest.json +11 -0
- package/.next/server/app/api/cron/edit/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/cron/edit/route.js +6 -0
- package/.next/server/app/api/cron/edit/route.js.map +5 -0
- package/.next/server/app/api/cron/edit/route.js.nft.json +1 -0
- package/.next/server/app/api/cron/edit/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/cron/jobs/route.js.nft.json +1 -1
- package/.next/server/app/api/cron/recipe-installed/route.js +1 -1
- package/.next/server/app/api/cron/recipe-installed/route.js.nft.json +1 -1
- package/.next/server/app/api/cron/worker/route.js +1 -1
- package/.next/server/app/api/cron/worker/route.js.nft.json +1 -1
- package/.next/server/app/api/goals/[id]/promote/route.js +1 -1
- package/.next/server/app/api/goals/[id]/promote/route.js.nft.json +1 -1
- package/.next/server/app/api/goals/[id]/route.js +1 -1
- package/.next/server/app/api/goals/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/goals/route.js +1 -1
- package/.next/server/app/api/goals/route.js.nft.json +1 -1
- package/.next/server/app/api/ids/check/route.js +1 -1
- package/.next/server/app/api/ids/check/route.js.nft.json +1 -1
- package/.next/server/app/api/marketplace/recipes/[slug]/route.js +1 -1
- package/.next/server/app/api/marketplace/recipes/[slug]/route.js.nft.json +1 -1
- package/.next/server/app/api/marketplace/recipes/route.js +1 -1
- package/.next/server/app/api/marketplace/recipes/route.js.nft.json +1 -1
- package/.next/server/app/api/plugins/[pluginId]/[...path]/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/plugins/[pluginId]/[...path]/route/build-manifest.json +11 -0
- package/.next/server/app/api/plugins/[pluginId]/[...path]/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/plugins/[pluginId]/[...path]/route.js +7 -0
- package/.next/server/app/api/plugins/[pluginId]/[...path]/route.js.map +5 -0
- package/.next/server/app/api/plugins/[pluginId]/[...path]/route.js.nft.json +1 -0
- package/.next/server/app/api/plugins/[pluginId]/[...path]/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/plugins/[pluginId]/tabs/[tabId]/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/plugins/[pluginId]/tabs/[tabId]/route/build-manifest.json +11 -0
- package/.next/server/app/api/plugins/[pluginId]/tabs/[tabId]/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/plugins/[pluginId]/tabs/[tabId]/route.js +7 -0
- package/.next/server/app/api/plugins/[pluginId]/tabs/[tabId]/route.js.map +5 -0
- package/.next/server/app/api/plugins/[pluginId]/tabs/[tabId]/route.js.nft.json +1 -0
- package/.next/server/app/api/plugins/[pluginId]/tabs/[tabId]/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/plugins/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/plugins/route/build-manifest.json +11 -0
- package/.next/server/app/api/plugins/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/plugins/route.js +7 -0
- package/.next/server/app/api/plugins/route.js.map +5 -0
- package/.next/server/app/api/plugins/route.js.nft.json +1 -0
- package/.next/server/app/api/plugins/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/plugins/test/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/plugins/test/route/build-manifest.json +11 -0
- package/.next/server/app/api/plugins/test/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/plugins/test/route.js +7 -0
- package/.next/server/app/api/plugins/test/route.js.map +5 -0
- package/.next/server/app/api/plugins/test/route.js.nft.json +1 -0
- package/.next/server/app/api/plugins/test/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/recipes/[id]/route.js +1 -1
- package/.next/server/app/api/recipes/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/recipes/clone/route.js +1 -1
- package/.next/server/app/api/recipes/clone/route.js.nft.json +1 -1
- package/.next/server/app/api/recipes/custom-team/route.js +1 -1
- package/.next/server/app/api/recipes/custom-team/route.js.nft.json +1 -1
- package/.next/server/app/api/recipes/delete/route.js.nft.json +1 -1
- package/.next/server/app/api/recipes/local-agent-catalog/route.js +1 -1
- package/.next/server/app/api/recipes/local-agent-catalog/route.js.nft.json +1 -1
- package/.next/server/app/api/recipes/team-agents/route.js +1 -1
- package/.next/server/app/api/recipes/team-agents/route.js.nft.json +1 -1
- package/.next/server/app/api/scaffold/route.js +1 -1
- package/.next/server/app/api/scaffold/route.js.nft.json +1 -1
- package/.next/server/app/api/settings/cron-installation/route.js +1 -1
- package/.next/server/app/api/settings/cron-installation/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/available/route.js +1 -1
- package/.next/server/app/api/skills/available/route.js.nft.json +1 -1
- package/.next/server/app/api/swarms/start/route.js +3 -3
- package/.next/server/app/api/swarms/start/route.js.nft.json +1 -1
- package/.next/server/app/api/swarms/status/route.js +1 -1
- package/.next/server/app/api/swarms/status/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/[teamId]/media-providers/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/teams/[teamId]/media-providers/route/build-manifest.json +11 -0
- package/.next/server/app/api/teams/[teamId]/media-providers/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/teams/[teamId]/media-providers/route.js +6 -0
- package/.next/server/app/api/teams/[teamId]/media-providers/route.js.map +5 -0
- package/.next/server/app/api/teams/[teamId]/media-providers/route.js.nft.json +1 -0
- package/.next/server/app/api/teams/[teamId]/media-providers/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/teams/[teamId]/tickets/assign/route.js +1 -1
- package/.next/server/app/api/teams/[teamId]/tickets/assign/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/[teamId]/tickets/assignees/route.js +3 -3
- package/.next/server/app/api/teams/[teamId]/tickets/assignees/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/[teamId]/tickets/comment/route.js +1 -1
- package/.next/server/app/api/teams/[teamId]/tickets/comment/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/[teamId]/tickets/delete/route.js +1 -1
- package/.next/server/app/api/teams/[teamId]/tickets/delete/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/[teamId]/tickets/move/route.js +1 -1
- package/.next/server/app/api/teams/[teamId]/tickets/move/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/[teamId]/tickets/move-to-goals/route.js +1 -1
- package/.next/server/app/api/teams/[teamId]/tickets/move-to-goals/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/file/route.js +1 -1
- package/.next/server/app/api/teams/file/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/files/route.js +1 -1
- package/.next/server/app/api/teams/files/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/memory/route.js +2 -1
- package/.next/server/app/api/teams/memory/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/meta/route.js +1 -1
- package/.next/server/app/api/teams/meta/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/orchestrator/install/route.js +1 -1
- package/.next/server/app/api/teams/orchestrator/install/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/orchestrator/route.js +1 -1
- package/.next/server/app/api/teams/orchestrator/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/remove-team/route.js +1 -1
- package/.next/server/app/api/teams/remove-team/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/skills/install/route.js +1 -1
- package/.next/server/app/api/teams/skills/install/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/skills/route.js +1 -1
- package/.next/server/app/api/teams/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/workflow-deliverables/file/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/teams/workflow-deliverables/file/route/build-manifest.json +11 -0
- package/.next/server/app/api/teams/workflow-deliverables/file/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/teams/workflow-deliverables/file/route.js +6 -0
- package/.next/server/app/api/teams/workflow-deliverables/file/route.js.map +5 -0
- package/.next/server/app/api/teams/workflow-deliverables/file/route.js.nft.json +1 -0
- package/.next/server/app/api/teams/workflow-deliverables/file/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/teams/workflow-deliverables/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/teams/workflow-deliverables/route/build-manifest.json +11 -0
- package/.next/server/app/api/teams/workflow-deliverables/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/teams/workflow-deliverables/route.js +6 -0
- package/.next/server/app/api/teams/workflow-deliverables/route.js.map +5 -0
- package/.next/server/app/api/teams/workflow-deliverables/route.js.nft.json +1 -0
- package/.next/server/app/api/teams/workflow-deliverables/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/teams/workflow-runs/route.js +1 -1
- package/.next/server/app/api/teams/workflow-runs/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/workflow-templates/route.js +1 -1
- package/.next/server/app/api/teams/workflow-templates/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/workflows/route.js +1 -1
- package/.next/server/app/api/teams/workflows/route.js.nft.json +1 -1
- package/.next/server/app/api/tickets/assign/route.js +1 -1
- package/.next/server/app/api/tickets/assign/route.js.nft.json +1 -1
- package/.next/server/app/api/tickets/assignees/route.js +1 -1
- package/.next/server/app/api/tickets/assignees/route.js.nft.json +1 -1
- package/.next/server/app/api/tickets/move/route.js +1 -1
- package/.next/server/app/api/tickets/move/route.js.nft.json +1 -1
- package/.next/server/app/channels/page/build-manifest.json +3 -3
- package/.next/server/app/channels/page.js +2 -2
- package/.next/server/app/channels/page.js.nft.json +1 -1
- package/.next/server/app/channels/page_client-reference-manifest.js +1 -1
- package/.next/server/app/channels.html +2 -2
- package/.next/server/app/channels.rsc +12 -12
- package/.next/server/app/channels.segments/_full.segment.rsc +12 -12
- package/.next/server/app/channels.segments/_head.segment.rsc +4 -4
- package/.next/server/app/channels.segments/_index.segment.rsc +5 -5
- package/.next/server/app/channels.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/channels.segments/channels/__PAGE__.segment.rsc +3 -3
- package/.next/server/app/channels.segments/channels.segment.rsc +3 -3
- package/.next/server/app/cron-jobs/page/build-manifest.json +3 -3
- package/.next/server/app/cron-jobs/page.js +2 -2
- package/.next/server/app/cron-jobs/page.js.nft.json +1 -1
- package/.next/server/app/cron-jobs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/goals/[id]/page/build-manifest.json +3 -3
- package/.next/server/app/goals/[id]/page.js +2 -2
- package/.next/server/app/goals/[id]/page.js.nft.json +1 -1
- package/.next/server/app/goals/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/goals/new/page/build-manifest.json +3 -3
- package/.next/server/app/goals/new/page.js +2 -2
- package/.next/server/app/goals/new/page.js.nft.json +1 -1
- package/.next/server/app/goals/new/page_client-reference-manifest.js +1 -1
- package/.next/server/app/goals/new.html +2 -2
- package/.next/server/app/goals/new.rsc +13 -13
- package/.next/server/app/goals/new.segments/_full.segment.rsc +13 -13
- package/.next/server/app/goals/new.segments/_head.segment.rsc +4 -4
- package/.next/server/app/goals/new.segments/_index.segment.rsc +5 -5
- package/.next/server/app/goals/new.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/goals/new.segments/goals/new/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/goals/new.segments/goals/new.segment.rsc +3 -3
- package/.next/server/app/goals/new.segments/goals.segment.rsc +3 -3
- package/.next/server/app/goals/page/build-manifest.json +3 -3
- package/.next/server/app/goals/page.js +2 -2
- package/.next/server/app/goals/page.js.nft.json +1 -1
- package/.next/server/app/goals/page_client-reference-manifest.js +1 -1
- package/.next/server/app/goals.html +1 -1
- package/.next/server/app/goals.rsc +12 -12
- package/.next/server/app/goals.segments/_full.segment.rsc +12 -12
- package/.next/server/app/goals.segments/_head.segment.rsc +4 -4
- package/.next/server/app/goals.segments/_index.segment.rsc +5 -5
- package/.next/server/app/goals.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/goals.segments/goals/__PAGE__.segment.rsc +3 -3
- package/.next/server/app/goals.segments/goals.segment.rsc +3 -3
- package/.next/server/app/page/build-manifest.json +3 -3
- package/.next/server/app/page.js +4 -4
- 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/recipes/[id]/page/build-manifest.json +3 -3
- package/.next/server/app/recipes/[id]/page.js +4 -4
- package/.next/server/app/recipes/[id]/page.js.nft.json +1 -1
- package/.next/server/app/recipes/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/recipes/page/build-manifest.json +3 -3
- package/.next/server/app/recipes/page.js +2 -2
- package/.next/server/app/recipes/page.js.nft.json +1 -1
- package/.next/server/app/recipes/page_client-reference-manifest.js +1 -1
- package/.next/server/app/runs/page/build-manifest.json +3 -3
- package/.next/server/app/runs/page.js +6 -5
- package/.next/server/app/runs/page.js.nft.json +1 -1
- package/.next/server/app/runs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/page/build-manifest.json +3 -3
- package/.next/server/app/settings/page.js +2 -2
- 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 +12 -12
- package/.next/server/app/settings.segments/_full.segment.rsc +12 -12
- package/.next/server/app/settings.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings.segments/_index.segment.rsc +5 -5
- package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +3 -3
- package/.next/server/app/settings.segments/settings.segment.rsc +3 -3
- package/.next/server/app/teams/[teamId]/deliverables/page/app-paths-manifest.json +3 -0
- package/.next/server/app/teams/[teamId]/deliverables/page/build-manifest.json +17 -0
- package/.next/server/app/teams/[teamId]/deliverables/page/next-font-manifest.json +11 -0
- package/.next/server/app/teams/[teamId]/deliverables/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/teams/[teamId]/deliverables/page/server-reference-manifest.json +4 -0
- package/.next/server/app/teams/[teamId]/deliverables/page.js +21 -0
- package/.next/server/app/teams/[teamId]/deliverables/page.js.map +5 -0
- package/.next/server/app/teams/[teamId]/deliverables/page.js.nft.json +1 -0
- package/.next/server/app/teams/[teamId]/deliverables/page_client-reference-manifest.js +2 -0
- package/.next/server/app/teams/[teamId]/page/build-manifest.json +3 -3
- package/.next/server/app/teams/[teamId]/page.js +4 -4
- package/.next/server/app/teams/[teamId]/page.js.nft.json +1 -1
- package/.next/server/app/teams/[teamId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/teams/[teamId]/runs/[workflowId]/[runId]/page/build-manifest.json +3 -3
- package/.next/server/app/teams/[teamId]/runs/[workflowId]/[runId]/page.js +6 -5
- package/.next/server/app/teams/[teamId]/runs/[workflowId]/[runId]/page.js.nft.json +1 -1
- package/.next/server/app/teams/[teamId]/runs/[workflowId]/[runId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/teams/[teamId]/runs/page/build-manifest.json +3 -3
- package/.next/server/app/teams/[teamId]/runs/page.js +2 -2
- package/.next/server/app/teams/[teamId]/runs/page.js.nft.json +1 -1
- package/.next/server/app/teams/[teamId]/runs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/teams/[teamId]/tickets/[ticket]/page/build-manifest.json +3 -3
- package/.next/server/app/teams/[teamId]/tickets/[ticket]/page.js +3 -3
- package/.next/server/app/teams/[teamId]/tickets/[ticket]/page.js.nft.json +1 -1
- package/.next/server/app/teams/[teamId]/tickets/[ticket]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/teams/[teamId]/tickets/page/build-manifest.json +3 -3
- package/.next/server/app/teams/[teamId]/tickets/page.js +3 -3
- package/.next/server/app/teams/[teamId]/tickets/page.js.nft.json +1 -1
- package/.next/server/app/teams/[teamId]/tickets/page_client-reference-manifest.js +1 -1
- package/.next/server/app/teams/[teamId]/workflows/[workflowId]/page/build-manifest.json +3 -3
- package/.next/server/app/teams/[teamId]/workflows/[workflowId]/page.js +2 -2
- package/.next/server/app/teams/[teamId]/workflows/[workflowId]/page.js.nft.json +1 -1
- package/.next/server/app/teams/[teamId]/workflows/[workflowId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/teams/[teamId]/workflows/page/build-manifest.json +3 -3
- package/.next/server/app/teams/[teamId]/workflows/page.js +4 -4
- package/.next/server/app/teams/[teamId]/workflows/page.js.nft.json +1 -1
- package/.next/server/app/teams/[teamId]/workflows/page_client-reference-manifest.js +1 -1
- package/.next/server/app/tickets/[ticket]/page/build-manifest.json +3 -3
- package/.next/server/app/tickets/[ticket]/page.js +3 -3
- package/.next/server/app/tickets/[ticket]/page.js.nft.json +1 -1
- package/.next/server/app/tickets/[ticket]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/tickets/page/build-manifest.json +3 -3
- package/.next/server/app/tickets/page.js +3 -3
- package/.next/server/app/tickets/page.js.nft.json +1 -1
- package/.next/server/app/tickets/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +10 -0
- package/.next/server/chunks/{[root-of-the-server]__50fe6ff8._.js → [root-of-the-server]__00a30f40._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__04f289da._.js +1 -1
- package/.next/server/chunks/{[root-of-the-server]__26c618a3._.js → [root-of-the-server]__0883634a._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__08b4c8f2._.js +1 -1
- package/.next/server/chunks/{[root-of-the-server]__fef7183d._.js → [root-of-the-server]__0f55461f._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__1311d7a3._.js +1 -1
- package/.next/server/chunks/{[root-of-the-server]__e063a986._.js → [root-of-the-server]__1480ffda._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__18423bab._.js +1 -1
- package/.next/server/chunks/{[root-of-the-server]__0c4fc3d3._.js → [root-of-the-server]__1873f417._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__05f5e243._.js → [root-of-the-server]__1f1e62ac._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__864a08dd._.js → [root-of-the-server]__20b1f42d._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__21ad9eeb._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__21ad9eeb._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__9d0ea07b._.js → [root-of-the-server]__2c207e60._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__69be1758._.js → [root-of-the-server]__2dd1afff._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__1c6c2e43._.js → [root-of-the-server]__3021a250._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__30cd38e9._.js +1 -1
- package/.next/server/chunks/{[root-of-the-server]__4079fa2b._.js → [root-of-the-server]__343776df._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__63715de8._.js → [root-of-the-server]__3452dc06._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__35ec765d._.js +13 -0
- package/.next/server/chunks/[root-of-the-server]__35ec765d._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__392e585d._.js +2 -2
- package/.next/server/chunks/[root-of-the-server]__3b2d0020._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__3b2d0020._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__bccfb2c0._.js → [root-of-the-server]__3bfad714._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__3c92e5aa._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__3c92e5aa._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__7bf889c1._.js → [root-of-the-server]__3d15e850._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__a74a32d5._.js → [root-of-the-server]__3f648b9b._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__89605574._.js → [root-of-the-server]__482575d2._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__4898071c._.js +4 -4
- package/.next/server/chunks/{[root-of-the-server]__bbdb6dcb._.js → [root-of-the-server]__4ee12514._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__55defc7c._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__55defc7c._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__698cf062._.js → [root-of-the-server]__5aa1dc93._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__b002764e._.js → [root-of-the-server]__5c5990a6._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__5d47b90b._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__5d47b90b._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__7a331e51._.js → [root-of-the-server]__603cb0fa._.js} +3 -3
- package/.next/server/chunks/[root-of-the-server]__6131b7e2._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__6131b7e2._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__d924e5ac._.js → [root-of-the-server]__636919a0._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__453333f5._.js → [root-of-the-server]__663e79ff._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__69c065ce._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__69c065ce._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__c63a9f28._.js → [root-of-the-server]__74b80ca4._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__6f4e90a0._.js → [root-of-the-server]__74e2a9ba._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__51198e25._.js → [root-of-the-server]__7e12b9f4._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__813dd669._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__813dd669._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__5ceff0f3._.js → [root-of-the-server]__87875179._.js} +3 -3
- package/.next/server/chunks/{[root-of-the-server]__5ea38a67._.js → [root-of-the-server]__8f8e110f._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__7459129e._.js → [root-of-the-server]__91d0cce1._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__e40409a2._.js → [root-of-the-server]__9853b72d._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__95ddb81a._.js → [root-of-the-server]__9dba20b3._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__ff69832c._.js → [root-of-the-server]__9e96d37b._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__8e27e9f7._.js → [root-of-the-server]__aba68368._.js} +3 -3
- package/.next/server/chunks/{[root-of-the-server]__3fdbc43e._.js → [root-of-the-server]__aed4e4f2._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__b457b884._.js +22 -0
- package/.next/server/chunks/[root-of-the-server]__b457b884._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__99b12bcb._.js → [root-of-the-server]__b6cff26d._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__150bf0bf._.js → [root-of-the-server]__bb52fdc9._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__bf608f29._.js → [root-of-the-server]__be5f57b2._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__c15c5141._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__c15c5141._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__542a081b._.js → [root-of-the-server]__c50e4bc4._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__c5e88cbb._.js +1 -1
- package/.next/server/chunks/{[root-of-the-server]__b64936a3._.js → [root-of-the-server]__cc0860cb._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__8ea22d0a._.js → [root-of-the-server]__d302afb4._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__01863a8b._.js → [root-of-the-server]__d4a8660e._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__da7df58d._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__da7df58d._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__e478ef0d._.js +1 -1
- package/.next/server/chunks/{[root-of-the-server]__6caa8f2d._.js → [root-of-the-server]__e9acbabd._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__47eb3111._.js → [root-of-the-server]__e9d9d570._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__f408c708._.js +2 -2
- package/.next/server/chunks/{[root-of-the-server]__59a6cf09._.js → [root-of-the-server]__f45ceefb._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__f4cbadf7._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__f5cd81f1._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__f5cd81f1._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__3cfdf0b3._.js → [root-of-the-server]__f994dc62._.js} +2 -2
- package/.next/server/chunks/_next-internal_server_app_api_cron_add_route_actions_f9053a93.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_cron_add_route_actions_f9053a93.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_cron_edit_route_actions_3b551424.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_cron_edit_route_actions_3b551424.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_plugins_route_actions_0aabd6b3.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_plugins_route_actions_0aabd6b3.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_plugins_test_route_actions_8babbe5c.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_plugins_test_route_actions_8babbe5c.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_teams_workflow-deliverables_route_actions_9de4298b.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_teams_workflow-deliverables_route_actions_9de4298b.js.map +1 -0
- package/.next/server/chunks/ce889_server_app_api_plugins_[pluginId]_[___path]_route_actions_471be8ce.js +3 -0
- package/.next/server/chunks/ce889_server_app_api_plugins_[pluginId]_[___path]_route_actions_471be8ce.js.map +1 -0
- package/.next/server/chunks/ce889_server_app_api_plugins_[pluginId]_tabs_[tabId]_route_actions_9420efec.js +3 -0
- package/.next/server/chunks/ce889_server_app_api_plugins_[pluginId]_tabs_[tabId]_route_actions_9420efec.js.map +1 -0
- package/.next/server/chunks/ce889_server_app_api_teams_[teamId]_media-providers_route_actions_1ea823f1.js +3 -0
- package/.next/server/chunks/ce889_server_app_api_teams_[teamId]_media-providers_route_actions_1ea823f1.js.map +1 -0
- package/.next/server/chunks/ce889_server_app_api_teams_workflow-deliverables_file_route_actions_332fd6ea.js +3 -0
- package/.next/server/chunks/ce889_server_app_api_teams_workflow-deliverables_file_route_actions_332fd6ea.js.map +1 -0
- package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_1fe98a49.js +1 -1
- package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_1fe98a49.js.map +1 -1
- package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_3a1b29e4.js +3 -0
- package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_3a1b29e4.js.map +1 -0
- package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_f5680d9e.js +1 -1
- package/.next/server/chunks/node_modules_yaml_dist_49c13b35._.js +4 -4
- package/.next/server/chunks/node_modules_yaml_dist_49c13b35._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0a5cb3ca._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0a5cb3ca._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__177cec74._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__177cec74._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__195421b7._.js +12 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__195421b7._.js.map +1 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__17b046ea._.js → [root-of-the-server]__388bae11._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__3b880807._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__3b880807._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__51e26a01._.js +3 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__4c66998a._.js.map → [root-of-the-server]__51e26a01._.js.map} +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__6b6b7595._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__6b6b7595._.js.map +1 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__2db9d262._.js → [root-of-the-server]__8f9585b9._.js} +2 -2
- package/.next/server/chunks/ssr/{[root-of-the-server]__2db9d262._.js.map → [root-of-the-server]__8f9585b9._.js.map} +1 -1
- package/.next/server/chunks/ssr/{[root-of-the-server]__9a7d79aa._.js → [root-of-the-server]__997aa62c._.js} +2 -2
- package/.next/server/chunks/ssr/{[root-of-the-server]__0df430db._.js → [root-of-the-server]__9e400864._.js} +2 -2
- package/.next/server/chunks/ssr/{[root-of-the-server]__8a588fad._.js → [root-of-the-server]__a6348eaa._.js} +2 -2
- package/.next/server/chunks/ssr/{[root-of-the-server]__49281b4c._.js → [root-of-the-server]__af792402._.js} +2 -2
- package/.next/server/chunks/ssr/{[root-of-the-server]__68c20e8e._.js → [root-of-the-server]__b5aa14b8._.js} +2 -2
- package/.next/server/chunks/ssr/{[root-of-the-server]__68c20e8e._.js.map → [root-of-the-server]__b5aa14b8._.js.map} +1 -1
- package/.next/server/chunks/ssr/{[root-of-the-server]__8756d76d._.js → [root-of-the-server]__b8998a21._.js} +2 -2
- package/.next/server/chunks/ssr/{[root-of-the-server]__c777e326._.js → [root-of-the-server]__df23886e._.js} +2 -2
- package/.next/server/chunks/ssr/{[root-of-the-server]__02e6ccaa._.js → [root-of-the-server]__e9bd9b71._.js} +2 -2
- package/.next/server/chunks/ssr/_018dfe6b._.js +2 -2
- package/.next/server/chunks/ssr/_2d8d7232._.js +3 -0
- package/.next/server/chunks/ssr/_2d8d7232._.js.map +1 -0
- package/.next/server/chunks/ssr/_8538617d._.js +3 -0
- package/.next/server/chunks/ssr/_8538617d._.js.map +1 -0
- package/.next/server/chunks/ssr/_a506fcf8._.js +3 -0
- package/.next/server/chunks/ssr/_a506fcf8._.js.map +1 -0
- package/.next/server/chunks/ssr/_deb7a691._.js +5 -0
- package/.next/server/chunks/ssr/_deb7a691._.js.map +1 -0
- package/.next/server/chunks/ssr/_ec0b0b83._.js +4 -0
- package/.next/server/chunks/ssr/_ec0b0b83._.js.map +1 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_teams_[teamId]_deliverables_page_actions_f44ae7c7.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_teams_[teamId]_deliverables_page_actions_f44ae7c7.js.map +1 -0
- package/.next/server/chunks/ssr/b1a17_app_teams_[teamId]_workflows_[workflowId]_workflows-editor-client_tsx_5e714aa2._.js +1 -1
- package/.next/server/chunks/ssr/b1a17_app_teams_[teamId]_workflows_[workflowId]_workflows-editor-client_tsx_5e714aa2._.js.map +1 -1
- package/.next/server/chunks/ssr/d4b1c_modules_next_dist_server_route-modules_app-page_vendored_ssr_react-dom_6ef9314a.js +3 -0
- package/.next/server/chunks/ssr/d4b1c_modules_next_dist_server_route-modules_app-page_vendored_ssr_react-dom_6ef9314a.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_1038a5b9._.js +10 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__4fd003c7._.js.map → node_modules_next_dist_1038a5b9._.js.map} +1 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_25a30daf._.js +1 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_25a30daf._.js.map +1 -1
- package/.next/server/chunks/ssr/node_modules_yaml_dist_18db9ed7._.js +2 -2
- package/.next/server/chunks/ssr/src_app_cron-jobs_cron-jobs-client_tsx_ec91a73d._.js +3 -0
- package/.next/server/chunks/ssr/src_app_cron-jobs_cron-jobs-client_tsx_ec91a73d._.js.map +1 -0
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/next-font-manifest.js +1 -1
- package/.next/server/next-font-manifest.json +4 -0
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +2 -2
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/{d2be314c3ece3fbe.js → 0bd6498bda341889.js} +1 -1
- package/.next/static/chunks/{c27f767f683b017a.js → 410dc851d0e3033d.js} +1 -1
- package/.next/static/chunks/{2ad8e6acac0ede2c.js → 4e38b3f280ced64c.js} +1 -1
- package/.next/static/chunks/{236ef28eb649c432.js → 4f2b8a07ace7e02b.js} +1 -1
- package/.next/static/chunks/79b7c8c80713887a.js +1 -0
- package/.next/static/chunks/{e854e56ea8cb6236.js → 87879d67a1601ee0.js} +1 -1
- package/.next/static/chunks/{43d0024279c6160e.js → a625725b4cd85ea3.js} +1 -1
- package/.next/static/chunks/{3e1fe6be993c61fb.js → ac32974713c57cb3.js} +1 -1
- package/.next/static/chunks/{f2f58a7e93290fbb.js → aebc3b6d791f68d2.js} +1 -1
- package/.next/static/chunks/b3bca877b0f5b4e9.css +3 -0
- package/.next/static/chunks/{e083bcf4a197beae.js → b83c1ca03c3b8c6d.js} +1 -1
- package/.next/static/chunks/{e7bbb90aada90fdf.js → bdb7ebd88ea13111.js} +1 -1
- package/.next/static/chunks/bfcfbe145220d365.js +1 -0
- package/.next/static/chunks/c0d9f53d91cc65c5.js +10 -0
- package/.next/static/chunks/{36aff6bd42d53c8b.js → c0e2f959abc4cc13.js} +1 -1
- package/.next/static/chunks/c411f6e912e3c3a1.js +1 -0
- package/.next/static/chunks/{62e0c437eb8fc2da.js → c822e53f79a492c7.js} +1 -1
- package/.next/static/chunks/{fd0cb4d03fd17cf6.js → ce6b2024d13b4333.js} +1 -1
- package/.next/static/chunks/d13249af74d111cf.js +3 -0
- package/.next/static/chunks/{4a6dcf80b293d7a4.js → d16f64ca3a8ed208.js} +1 -1
- package/.next/static/chunks/{c84580993f22c17a.js → d6e1b7307a9274ce.js} +1 -1
- package/.next/static/chunks/d7541a171116ec9c.js +1 -0
- package/.next/static/chunks/{93719e85369dd453.js → e03137fd069b1514.js} +1 -1
- package/.next/static/chunks/{db4da5ee45033817.js → e10faa9296c8b246.js} +1 -1
- package/.next/static/chunks/ec24877f7b7f82c5.js +3 -0
- package/.next/static/chunks/{f179280598d329b2.js → ff3bbb5df40b2cc4.js} +1 -1
- package/.next/static/chunks/{turbopack-0236a74c4f471967.js → turbopack-dbf3078dbf5863bd.js} +1 -1
- package/openclaw.plugin.json +1 -1
- package/package.json +8 -2
- package/tsconfig.json +2 -1
- package/.next/server/chunks/[root-of-the-server]__502825d0._.js +0 -13
- package/.next/server/chunks/[root-of-the-server]__502825d0._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__69c45937._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__69c45937._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__a49c534d._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__a49c534d._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__162d7d9d._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__162d7d9d._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__255506f2._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__255506f2._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__4c66998a._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__4fd003c7._.js +0 -10
- package/.next/server/chunks/ssr/_d9520bea._.js +0 -3
- package/.next/server/chunks/ssr/_d9520bea._.js.map +0 -1
- package/.next/server/chunks/ssr/src_app_teams_[teamId]_runs_[workflowId]_[runId]_run-detail-client_tsx_56f0cbd7._.js +0 -3
- package/.next/server/chunks/ssr/src_app_teams_[teamId]_runs_[workflowId]_[runId]_run-detail-client_tsx_56f0cbd7._.js.map +0 -1
- package/.next/server/chunks/ssr/src_app_teams_[teamId]_team-editor_index_tsx_e68e9cbc._.js +0 -12
- package/.next/server/chunks/ssr/src_app_teams_[teamId]_team-editor_index_tsx_e68e9cbc._.js.map +0 -1
- package/.next/static/chunks/33959503ed1ef5fe.css +0 -3
- package/.next/static/chunks/474635d658546626.js +0 -1
- package/.next/static/chunks/4d4876ec71727e38.js +0 -1
- package/.next/static/chunks/579cd9be685abc65.js +0 -1
- package/.next/static/chunks/5e3b1d0f61a651bf.js +0 -1
- package/.next/static/chunks/a719c5f36ffeec2a.js +0 -10
- package/.next/static/chunks/ca07f0194f384207.js +0 -1
- /package/.next/server/chunks/{[root-of-the-server]__50fe6ff8._.js.map → [root-of-the-server]__00a30f40._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__26c618a3._.js.map → [root-of-the-server]__0883634a._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__fef7183d._.js.map → [root-of-the-server]__0f55461f._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__e063a986._.js.map → [root-of-the-server]__1480ffda._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__0c4fc3d3._.js.map → [root-of-the-server]__1873f417._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__05f5e243._.js.map → [root-of-the-server]__1f1e62ac._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__864a08dd._.js.map → [root-of-the-server]__20b1f42d._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__9d0ea07b._.js.map → [root-of-the-server]__2c207e60._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__69be1758._.js.map → [root-of-the-server]__2dd1afff._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__1c6c2e43._.js.map → [root-of-the-server]__3021a250._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__4079fa2b._.js.map → [root-of-the-server]__343776df._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__63715de8._.js.map → [root-of-the-server]__3452dc06._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__bccfb2c0._.js.map → [root-of-the-server]__3bfad714._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__7bf889c1._.js.map → [root-of-the-server]__3d15e850._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__a74a32d5._.js.map → [root-of-the-server]__3f648b9b._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__89605574._.js.map → [root-of-the-server]__482575d2._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__bbdb6dcb._.js.map → [root-of-the-server]__4ee12514._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__698cf062._.js.map → [root-of-the-server]__5aa1dc93._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__b002764e._.js.map → [root-of-the-server]__5c5990a6._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__7a331e51._.js.map → [root-of-the-server]__603cb0fa._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__d924e5ac._.js.map → [root-of-the-server]__636919a0._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__453333f5._.js.map → [root-of-the-server]__663e79ff._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__c63a9f28._.js.map → [root-of-the-server]__74b80ca4._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__6f4e90a0._.js.map → [root-of-the-server]__74e2a9ba._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__51198e25._.js.map → [root-of-the-server]__7e12b9f4._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__5ceff0f3._.js.map → [root-of-the-server]__87875179._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__5ea38a67._.js.map → [root-of-the-server]__8f8e110f._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__7459129e._.js.map → [root-of-the-server]__91d0cce1._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__e40409a2._.js.map → [root-of-the-server]__9853b72d._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__95ddb81a._.js.map → [root-of-the-server]__9dba20b3._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__ff69832c._.js.map → [root-of-the-server]__9e96d37b._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__8e27e9f7._.js.map → [root-of-the-server]__aba68368._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__3fdbc43e._.js.map → [root-of-the-server]__aed4e4f2._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__99b12bcb._.js.map → [root-of-the-server]__b6cff26d._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__150bf0bf._.js.map → [root-of-the-server]__bb52fdc9._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__bf608f29._.js.map → [root-of-the-server]__be5f57b2._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__542a081b._.js.map → [root-of-the-server]__c50e4bc4._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__b64936a3._.js.map → [root-of-the-server]__cc0860cb._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__8ea22d0a._.js.map → [root-of-the-server]__d302afb4._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__01863a8b._.js.map → [root-of-the-server]__d4a8660e._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__6caa8f2d._.js.map → [root-of-the-server]__e9acbabd._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__47eb3111._.js.map → [root-of-the-server]__e9d9d570._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__59a6cf09._.js.map → [root-of-the-server]__f45ceefb._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__3cfdf0b3._.js.map → [root-of-the-server]__f994dc62._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{[root-of-the-server]__17b046ea._.js.map → [root-of-the-server]__388bae11._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{[root-of-the-server]__9a7d79aa._.js.map → [root-of-the-server]__997aa62c._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{[root-of-the-server]__0df430db._.js.map → [root-of-the-server]__9e400864._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{[root-of-the-server]__8a588fad._.js.map → [root-of-the-server]__a6348eaa._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{[root-of-the-server]__49281b4c._.js.map → [root-of-the-server]__af792402._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{[root-of-the-server]__8756d76d._.js.map → [root-of-the-server]__b8998a21._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{[root-of-the-server]__c777e326._.js.map → [root-of-the-server]__df23886e._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{[root-of-the-server]__02e6ccaa._.js.map → [root-of-the-server]__e9bd9b71._.js.map} +0 -0
- /package/.next/static/{pEGZW7H6QnTMgt-sDp-C7 → kWLUtSfI8C26lIp4FvoAU}/_buildManifest.js +0 -0
- /package/.next/static/{pEGZW7H6QnTMgt-sDp-C7 → kWLUtSfI8C26lIp4FvoAU}/_clientMiddlewareManifest.json +0 -0
- /package/.next/static/{pEGZW7H6QnTMgt-sDp-C7 → kWLUtSfI8C26lIp4FvoAU}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[13833,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(38246),e=a.i(50944),f=a.i(66063);function g(a){let b=new Set;for(let c of a)b.add(c);return b.size}function h(a,b){return`ck-wf-draft:${a}:${b}`}function i({teamId:a,workflowId:i,draft:j,llmTaskEnabled:k}){let l,m,n,o,p,q,r,s,t,u=(0,e.useRouter)(),[v,w]=(0,c.useState)("canvas"),[x,y]=(0,c.useState)(!1),[z,A]=(0,c.useState)({kind:"loading"}),[B,C]=(0,c.useState)(""),D=(0,c.useRef)(null),[E,F]=(0,c.useState)(!1),[G,H]=(0,c.useState)(1),I=(0,c.useRef)(null),[J,K]=(0,c.useState)(""),[L,M]=(0,c.useState)(null),[N,O]=(0,c.useState)({kind:"select"}),[P,Q]=(0,c.useState)(""),[R,S]=(0,c.useState)([]),[T,U]=(0,c.useState)(""),[V,W]=(0,c.useState)([]),[X,Y]=(0,c.useState)(""),Z=(0,c.useMemo)(()=>/Tool not available:\s*gateway/i.test(String(X||"")),[X]),[$,_]=(0,c.useState)([]),[aa,ab]=(0,c.useState)(!1),[ac,ad]=(0,c.useState)(""),[ae,af]=(0,c.useState)(""),[ag,ah]=(0,c.useState)(!1),[ai,aj]=(0,c.useState)(""),[ak,al]=(0,c.useState)({}),[am,an]=(0,c.useState)(!1),[ao,ap]=(0,c.useState)(!1),[aq,ar]=(0,c.useState)(""),[as,at]=(0,c.useState)(""),[au,av]=(0,c.useState)(""),[aw,ax]=(0,c.useState)("llm"),[ay,az]=(0,c.useState)(""),[aA,aB]=(0,c.useState)(""),[aC,aD]=(0,c.useState)("");function aE(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}function aF(a){if(!aE(a))return null;let b=aE(a.match)?a.match:null;if(!b)return null;let c=String(b.channel??"").trim();if(!c)return null;let d=String(a.agentId??"").trim(),e=String(b.accountId??"").trim(),f=aE(b.peer)?b.peer:null,g=f?String(f.kind??"").trim():"",h=f?String(f.id??"").trim():"",i=h||e;if(!i)return null;let j=d||(e?`${c}:account:${e}`:`${c}:${g}:${h}`),k=[c];return d&&k.push(d),e&&k.push(`account:${e}`),g&&h&&k.push(`${g}:${h}`),{id:j,label:k.join(" · "),channel:c,target:i}}(0,c.useEffect)(()=>{(async()=>{try{if(j){let b=sessionStorage.getItem(h(a,i));if(b)return void A({kind:"ready",jsonText:b});let c=JSON.stringify({schema:"clawkitchen.workflow.v1",id:i,name:"New workflow",timezone:"UTC",nodes:[{id:"start",type:"start",name:"start",x:80,y:80,config:{}},{id:"end",type:"end",name:"end",x:520,y:80,config:{}}],edges:[{id:"e1",from:"start",to:"end"}]},null,2)+"\n";A({kind:"ready",jsonText:c});try{sessionStorage.setItem(h(a,i),c)}catch{}return}let b=await fetch(`/api/teams/workflows?teamId=${encodeURIComponent(a)}&id=${encodeURIComponent(i)}`,{cache:"no-store"}),c=await b.json();if(!b.ok||!c.ok)throw Error(c.error||"Failed to load workflow");A({kind:"ready",jsonText:JSON.stringify(c.workflow,null,2)+"\n"})}catch(a){A({kind:"error",error:a instanceof Error?a.message:String(a)})}})()},[a,i,j]),(0,c.useEffect)(()=>{(async()=>{U("");try{let b=await fetch("/api/agents",{cache:"no-store"}),c=await b.json();if(!b.ok)throw Error(c.error||c.message||"Failed to load agents");let d=(Array.isArray(c.agents)?c.agents:[]).map(a=>({id:String(a.id??"").trim(),identityName:"string"==typeof a.identityName?a.identityName:void 0})).filter(b=>b.id&&b.id.startsWith(`${a}-`));S(d)}catch(a){U(a instanceof Error?a.message:String(a)),S([])}})()},[a]),(0,c.useEffect)(()=>{(async()=>{Y("");try{let a=await fetch("/api/channels/bindings",{cache:"no-store"}),b=await a.json();if(!a.ok||!1===b.ok)throw Error(b.error||"Failed to load bindings");let c=(Array.isArray(b.bindings)?b.bindings:[]).map(aF).filter(Boolean);W(c)}catch(a){Y(a instanceof Error?a.message:String(a)),W([])}})()},[]);let aG=(0,c.useCallback)(async()=>{aj(""),ah(!0);try{let a=await fetch("/api/cron/jobs",{cache:"no-store"}),b=await a.json();if(!a.ok||!1===b.ok)throw Error(b.error||"Failed to load cron jobs");let c=Array.isArray(b.jobs)?b.jobs:[],d={};for(let a of c){if(!a||!a.enabled)continue;let b=String(a.name??""),c=String(a.payload?.message??"");if(!(b.startsWith("workflow-worker:")||c.includes("worker-tick")))continue;let e=b.match(/^workflow-worker:[^:]+:(.+)$/);if(e?.[1]){d[e[1]]=!0;continue}let f=c.match(/--agent-id\s+(\S+)/);if(f?.[1]){d[f[1]]=!0;continue}let g=String(a.agentId??"").trim();g&&"main"!==g&&(d[g]=!0)}return al(d),d}catch(a){return aj(a instanceof Error?a.message:String(a)),al({}),{}}finally{ah(!1)}},[]);(0,c.useEffect)(()=>{aG()},[aG]);let aH=(0,c.useMemo)(()=>{if("ready"!==z.kind)return{wf:null,err:""};try{return{wf:JSON.parse(z.jsonText),err:""}}catch(a){return{wf:null,err:a instanceof Error?a.message:String(a)}}},[z]),aI=(0,c.useMemo)(()=>aH.wf?function(a){let b=[],c=[];"clawkitchen.workflow.v1"!==a.schema&&b.push(`schema must be clawkitchen.workflow.v1 (got ${String(a.schema)})`),String(a.id||"").trim()||b.push("id is required"),String(a.name||"").trim()||b.push("name is required");let d=Array.isArray(a.nodes)?a.nodes:[],e=Array.isArray(a.edges)?a.edges:[],f=Array.isArray(a.triggers)?a.triggers:[],h=d.map(a=>String(a?.id??"").trim()).filter(Boolean);h.length!==d.length&&b.push("all nodes must have a non-empty id"),g(h)!==h.length&&b.push("node ids must be unique");let i=e.map(a=>String(a?.id??"").trim()).filter(Boolean);i.length!==e.length&&b.push("all edges must have a non-empty id"),g(i)!==i.length&&b.push("edge ids must be unique");let j=new Set(h);for(let a of e){let c=String(a?.from??"").trim(),d=String(a?.to??"").trim();if(!c||!d){b.push(`edge ${String(a?.id??"(missing id)")} must have from/to`);continue}j.has(c)||b.push(`edge ${String(a.id)} references missing from node: ${c}`),j.has(d)||b.push(`edge ${String(a.id)} references missing to node: ${d}`)}let k=d.filter(a=>"start"===a.type),l=d.filter(a=>"end"===a.type);for(let a of(k.length||c.push("no start node found"),k.length>1&&c.push("multiple start nodes found (MVP supports this, but execution semantics may be ambiguous)"),l.length||c.push("no end node found"),f))if("cron"===a.kind){(String(a.id||"").trim()||b.push("cron trigger missing id"),String(a.expr||"").trim())?5!==String(a.expr||"").trim().split(/\s+/).filter(Boolean).length&&c.push(`cron trigger ${String(a.id)} expr is not 5-field: ${String(a.expr)}`):b.push(`cron trigger ${String(a.id||"(missing id)")} missing expr`);let d=a.tz?String(a.tz).trim():"";d&&"UTC"!==d&&!d.includes("/")&&c.push(`cron trigger ${String(a.id)} tz doesn't look like an IANA timezone: ${String(a.tz)}`)}let m=a.meta&&"object"==typeof a.meta&&!Array.isArray(a.meta)?a.meta:{},n=String(m.approvalTarget??"").trim();for(let a of d){if("human_approval"!==a.type)continue;let b=a.config&&"object"==typeof a.config&&!Array.isArray(a.config)?a.config:{},d=String(b.target??b.chatId??"").trim(),e=String(b.provider??b.channel??"").trim();d||n||c.push(`human_approval node ${String(a.id)} has no target (set node.config.target or workflow.meta.approvalTarget)`),!d||e||String(m.approvalProvider??"").trim()||c.push(`human_approval node ${String(a.id)} has a target but no provider (set node.config.provider or workflow.meta.approvalProvider)`)}return{errors:b,warnings:c}}(aH.wf):{errors:[],warnings:[]},[aH.wf]),aJ=(0,c.useMemo)(()=>{let a=aH.wf;if(!a)return{missingAgentOnNodeIds:[],requiredAgentIds:[],agentIdsMissingCron:[],ok:!0};let b=(a.nodes??[]).filter(a=>"start"!==a.type&&"end"!==a.type&&"human_approval"!==a.type),c=b.filter(a=>!String((a.config&&"object"==typeof a.config&&!Array.isArray(a.config)?a.config:{}).agentId??"").trim()).map(a=>a.id),d=Array.from(new Set(b.map(a=>String((a.config&&"object"==typeof a.config&&!Array.isArray(a.config)?a.config:{}).agentId??"").trim()).filter(Boolean))),e=d.filter(a=>!ak[a]),f=0===c.length&&0===e.length;return{missingAgentOnNodeIds:c,requiredAgentIds:d,agentIdsMissingCron:e,ok:f}},[aH.wf,ak]);function aK(b){let c=JSON.stringify(b,null,2)+"\n";if(A({kind:"ready",jsonText:c}),j)try{sessionStorage.setItem(h(a,i),c)}catch{}}async function aL(){if("ready"===z.kind&&aH.wf&&!aH.err&&!aI.errors.length){y(!0),C("");try{let b=await fetch("/api/teams/workflows",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({teamId:a,workflow:aH.wf})}),c=await b.json();if(!b.ok||!c.ok)throw Error(c.error||"Failed to save workflow");try{sessionStorage.removeItem(h(a,i))}catch{}}catch(a){C(a instanceof Error?a.message:String(a))}finally{y(!1)}}}if("loading"===z.kind)return(0,b.jsx)("div",{className:"ck-glass w-full p-6",children:"Loading…"});if("error"===z.kind)return(0,b.jsx)("div",{className:"ck-glass w-full p-6",children:z.error});let aM=!1===k?(0,b.jsxs)("div",{className:"mx-3 mb-3 rounded-[var(--ck-radius-sm)] border border-amber-500/30 bg-amber-500/10 p-3 text-sm",children:[(0,b.jsx)("div",{className:"font-medium text-amber-200",children:"LLM support is not enabled"}),(0,b.jsxs)("div",{className:"mt-1 text-[color:var(--ck-text-secondary)]",children:["Workflow LLM nodes require the optional built-in ",(0,b.jsx)("code",{className:"px-1",children:"llm-task"})," plugin."]}),(0,b.jsxs)("div",{className:"mt-2 text-[color:var(--ck-text-secondary)]",children:["Enable it with: ",(0,b.jsx)("code",{className:"px-1",children:"openclaw plugins enable llm-task"})," then run"," ",(0,b.jsx)("code",{className:"px-1",children:"openclaw gateway restart"}),"."]})]}):null;return(0,b.jsxs)("div",{className:"flex h-full min-h-0 w-full flex-1 flex-col",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3 px-3 py-3",children:[(0,b.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,b.jsx)("a",{href:`/teams/${encodeURIComponent(a)}?tab=workflows`,className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)] hover:bg-white/10",children:"Back"}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsxs)("div",{className:"truncate text-base font-medium text-[color:var(--ck-text-primary)]",children:[i,".workflow.json"]}),(0,b.jsxs)("div",{className:"mt-0.5 text-sm text-[color:var(--ck-text-tertiary)]",children:["Team: ",a]})]})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsxs)("div",{className:"flex overflow-hidden rounded-[var(--ck-radius-sm)] border border-white/10",children:[(0,b.jsx)("button",{type:"button",onClick:()=>w("canvas"),className:"canvas"===v?"bg-white/10 px-3 py-2 text-xs font-medium text-[color:var(--ck-text-primary)]":"bg-transparent px-3 py-2 text-xs font-medium text-[color:var(--ck-text-secondary)] hover:bg-white/5",children:"Canvas"}),(0,b.jsx)("button",{type:"button",onClick:()=>w("json"),className:"json"===v?"bg-white/10 px-3 py-2 text-xs font-medium text-[color:var(--ck-text-primary)]":"bg-transparent px-3 py-2 text-xs font-medium text-[color:var(--ck-text-secondary)] hover:bg-white/5",children:"JSON"})]}),(0,b.jsx)("input",{ref:D,type:"file",accept:"application/json,.json",className:"hidden",onChange:async b=>{let c=b.target.files?.[0];if(b.target.value="",c){C("");try{let b=await c.text(),d=JSON.parse(b);if(A({kind:"ready",jsonText:JSON.stringify(d,null,2)+"\n"}),j)try{sessionStorage.setItem(h(a,i),JSON.stringify(d,null,2)+"\n")}catch{}}catch(a){C(a instanceof Error?a.message:String(a))}}}}),(0,b.jsx)("button",{type:"button",disabled:x,onClick:()=>D.current?.click(),className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)] shadow-[var(--ck-shadow-1)] hover:bg-white/10 disabled:opacity-50",children:"Import"}),(0,b.jsx)("button",{type:"button",disabled:!aH.wf||!!aH.err||aI.errors.length>0,onClick:function(){if(!aH.wf||aH.err||aI.errors.length)return;let a=`${aH.wf.id||i}.workflow.json`,b=new Blob([JSON.stringify(aH.wf,null,2)+"\n"],{type:"application/json"}),c=URL.createObjectURL(b),d=document.createElement("a");d.href=c,d.download=a,document.body.appendChild(d),d.click(),d.remove(),URL.revokeObjectURL(c)},className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)] shadow-[var(--ck-shadow-1)] hover:bg-white/10 disabled:opacity-50",children:"Export"}),(0,b.jsx)("button",{type:"button",disabled:x||!aH.wf||!!aH.err||aI.errors.length>0,onClick:aL,className:"rounded-[var(--ck-radius-sm)] bg-[var(--ck-accent-red)] px-3 py-2 text-sm font-medium text-white shadow-[var(--ck-shadow-1)] disabled:opacity-50",children:x?"Saving…":"Save"})]})]}),aM,aH.err?(0,b.jsxs)("div",{className:"mt-3 rounded-[var(--ck-radius-sm)] border border-yellow-400/30 bg-yellow-500/10 p-3 text-sm text-yellow-100",children:["JSON parse error: ",aH.err]}):null,!aH.err&&aI.errors.length?(0,b.jsxs)("div",{className:"mt-3 rounded-[var(--ck-radius-sm)] border border-red-400/30 bg-red-500/10 p-3 text-sm text-red-100",children:[(0,b.jsx)("div",{className:"font-medium",children:"Workflow validation errors"}),(0,b.jsx)("ul",{className:"mt-2 list-disc space-y-1 pl-5",children:aI.errors.map(a=>(0,b.jsx)("li",{children:a},a))})]}):null,aH.err||aI.errors.length||!aI.warnings.length?null:(0,b.jsxs)("div",{className:"mt-3 rounded-[var(--ck-radius-sm)] border border-yellow-400/30 bg-yellow-500/10 p-3 text-sm text-yellow-100",children:[(0,b.jsx)("div",{className:"font-medium",children:"Workflow validation warnings"}),(0,b.jsx)("ul",{className:"mt-2 list-disc space-y-1 pl-5",children:aI.warnings.map(a=>(0,b.jsx)("li",{children:a},a))})]}),B?(0,b.jsx)("div",{className:"mt-3 rounded-[var(--ck-radius-sm)] border border-red-400/30 bg-red-500/10 p-3 text-sm text-red-100",children:B}):null,(0,b.jsxs)("div",{className:"flex min-h-0 flex-1 gap-0",children:["json"===v?(0,b.jsx)("textarea",{value:z.jsonText,onChange:b=>{let c=b.target.value;if(A({kind:"ready",jsonText:c}),j)try{sessionStorage.setItem(h(a,i),c)}catch{}},className:"h-full min-h-0 w-full flex-1 resize-none rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/20 p-3 font-mono text-xs text-[color:var(--ck-text-primary)]"}):(0,b.jsx)("div",{ref:I,className:"relative h-full min-h-0 w-full flex-1 overflow-auto bg-black/20",onWheel:a=>{if(!a.ctrlKey&&!a.metaKey)return;a.preventDefault();let b=a.deltaY>0?-1:1;H(a=>Math.max(.5,Math.min(2.5,Math.round((a+.1*b)*10)/10)))},onClick:a=>{if("add-node"!==N.kind)return;let b=aH.wf;if(!b)return;let c=I.current;if(!c)return;let d=a.target;if(d&&d.closest("[data-wf-node='1']"))return;let e=c.getBoundingClientRect(),f=(a.clientX-e.left+c.scrollLeft)/G,g=(a.clientY-e.top+c.scrollTop)/G,h=N.nodeType.replace(/[^a-z0-9_\-]/gi,"_"),i=new Set(b.nodes.map(a=>a.id)),j=1,k=`${h}_${j}`;for(;i.has(k);)j++,k=`${h}_${j}`;let l=Math.max(0,f-90),m=Math.max(0,g-24),n={id:k,type:N.nodeType,name:k,x:l,y:m,config:{}};aK({...b,nodes:[...b.nodes,n]}),K(k),O({kind:"select"})},children:(0,b.jsxs)("div",{className:"relative",style:{width:2200*G,height:1200*G},children:[(0,b.jsxs)("div",{className:E?"absolute left-3 top-3 z-20 w-[44px] overflow-hidden rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/40 p-2 backdrop-blur":"absolute left-3 top-3 z-20 w-[260px] rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/40 p-2 backdrop-blur",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsx)("div",{className:E?"hidden":"text-[10px] font-medium uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"Tools"}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsxs)("div",{className:E?"hidden":"flex items-center gap-1",children:[(0,b.jsx)("button",{type:"button",onClick:()=>H(a=>Math.max(.5,Math.round((a-.1)*10)/10)),className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-[10px] text-[color:var(--ck-text-secondary)] hover:bg-white/10",title:"Zoom out (Ctrl/Cmd+wheel)",children:"-"}),(0,b.jsxs)("div",{className:"min-w-[42px] text-center text-[10px] text-[color:var(--ck-text-tertiary)]",children:[Math.round(100*G),"%"]}),(0,b.jsx)("button",{type:"button",onClick:()=>H(a=>Math.min(2.5,Math.round((a+.1)*10)/10)),className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-[10px] text-[color:var(--ck-text-secondary)] hover:bg-white/10",title:"Zoom in (Ctrl/Cmd+wheel)",children:"+"})]}),(0,b.jsx)("button",{type:"button",onClick:()=>F(a=>!a),className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-[10px] text-[color:var(--ck-text-secondary)] hover:bg-white/10",title:E?"Expand":"Collapse",children:E?">":"<"})]})]}),E?(0,b.jsx)("div",{className:"mt-2 flex flex-col items-center gap-2",children:[{key:"select",label:"Select",active:"select"===N.kind,onClick:()=>{O({kind:"select"}),Q("")},icon:(0,b.jsx)("svg",{viewBox:"0 0 24 24",className:"h-4 w-4",fill:"none","aria-hidden":"true",children:(0,b.jsx)("path",{d:"M5 4l7 16 2-7 7-2L5 4Z",stroke:"currentColor",strokeWidth:"1.6",strokeLinejoin:"round"})})},{key:"connect",label:"Connect",active:"connect"===N.kind,onClick:()=>{O(a=>"connect"===a.kind?{kind:"select"}:{kind:"connect"}),Q("")},icon:(0,b.jsxs)("svg",{viewBox:"0 0 24 24",className:"h-4 w-4",fill:"none","aria-hidden":"true",children:[(0,b.jsx)("path",{d:"M10 13a5 5 0 0 1 0-7l1.2-1.2a5 5 0 0 1 7 7L17 12",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"}),(0,b.jsx)("path",{d:"M14 11a5 5 0 0 1 0 7L12.8 19.2a5 5 0 1 1-7-7L7 12",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"})]})},{key:"llm",label:"LLM",active:"add-node"===N.kind&&"llm"===N.nodeType,onClick:()=>{O({kind:"add-node",nodeType:"llm"}),Q("")},icon:(0,b.jsx)("svg",{viewBox:"0 0 24 24",className:"h-4 w-4",fill:"none","aria-hidden":"true",children:(0,b.jsx)("path",{d:"M12 2l1.5 6.5L20 10l-6.5 1.5L12 18l-1.5-6.5L4 10l6.5-1.5L12 2Z",stroke:"currentColor",strokeWidth:"1.6",strokeLinejoin:"round"})})},{key:"tool",label:"Tool",active:"add-node"===N.kind&&"tool"===N.nodeType,onClick:()=>{O({kind:"add-node",nodeType:"tool"}),Q("")},icon:(0,b.jsxs)("svg",{viewBox:"0 0 24 24",className:"h-4 w-4",fill:"none","aria-hidden":"true",children:[(0,b.jsx)("path",{d:"M14.5 7.5l2 2-8.5 8.5H6v-2l8.5-8.5Z",stroke:"currentColor",strokeWidth:"1.6",strokeLinejoin:"round"}),(0,b.jsx)("path",{d:"M12 6a4 4 0 0 0-5 5l3-3 2 2 3-3A4 4 0 0 0 12 6Z",stroke:"currentColor",strokeWidth:"1.6",strokeLinejoin:"round"})]})},{key:"condition",label:"If",active:"add-node"===N.kind&&"condition"===N.nodeType,onClick:()=>{O({kind:"add-node",nodeType:"condition"}),Q("")},icon:(0,b.jsxs)("svg",{viewBox:"0 0 24 24",className:"h-4 w-4",fill:"none","aria-hidden":"true",children:[(0,b.jsx)("path",{d:"M7 4v7a3 3 0 0 0 3 3h7",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"}),(0,b.jsx)("path",{d:"M17 10l3 3-3 3",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})]})},{key:"delay",label:"Delay",active:"add-node"===N.kind&&"delay"===N.nodeType,onClick:()=>{O({kind:"add-node",nodeType:"delay"}),Q("")},icon:(0,b.jsxs)("svg",{viewBox:"0 0 24 24",className:"h-4 w-4",fill:"none","aria-hidden":"true",children:[(0,b.jsx)("path",{d:"M12 7v5l3 2",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"}),(0,b.jsx)("path",{d:"M21 12a9 9 0 1 1-9-9",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"})]})},{key:"approval",label:"Approval",active:"add-node"===N.kind&&"human_approval"===N.nodeType,onClick:()=>{O({kind:"add-node",nodeType:"human_approval"}),Q("")},icon:(0,b.jsx)("svg",{viewBox:"0 0 24 24",className:"h-4 w-4",fill:"none","aria-hidden":"true",children:(0,b.jsx)("path",{d:"M20 6 9 17l-5-5",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round"})})},{key:"end",label:"End",active:"add-node"===N.kind&&"end"===N.nodeType,onClick:()=>{O({kind:"add-node",nodeType:"end"}),Q("")},icon:(0,b.jsx)("svg",{viewBox:"0 0 24 24",className:"h-4 w-4",fill:"none","aria-hidden":"true",children:(0,b.jsx)("path",{d:"M7 7h10v10H7V7Z",stroke:"currentColor",strokeWidth:"1.6",strokeLinejoin:"round"})})}].map(a=>(0,b.jsx)("button",{type:"button",onClick:a.onClick,className:a.active?"flex h-8 w-8 items-center justify-center rounded-[var(--ck-radius-sm)] bg-white/10 text-[color:var(--ck-text-primary)]":"flex h-8 w-8 items-center justify-center rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 text-[color:var(--ck-text-secondary)] hover:bg-white/10",title:a.label,"aria-label":a.label,children:a.icon},a.key))}):(0,b.jsxs)("div",{className:"mt-2 grid grid-cols-2 gap-2",children:[(0,b.jsx)("button",{type:"button",onClick:()=>{O({kind:"select"}),Q("")},className:"select"===N.kind?"rounded-[var(--ck-radius-sm)] bg-white/10 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]":"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-xs text-[color:var(--ck-text-secondary)] hover:bg-white/10",children:"Select"}),(0,b.jsx)("button",{type:"button",onClick:()=>{O({kind:"connect"}),Q("")},className:"connect"===N.kind?"rounded-[var(--ck-radius-sm)] bg-white/10 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]":"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-xs text-[color:var(--ck-text-secondary)] hover:bg-white/10",title:"Click a node, then click another node to create an edge",children:"Connect"}),[{t:"llm",label:"LLM"},{t:"tool",label:"Tool"},{t:"condition",label:"If"},{t:"delay",label:"Delay"},{t:"human_approval",label:"Approve"},{t:"end",label:"End"}].map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>{O({kind:"add-node",nodeType:a.t}),Q("")},className:"add-node"===N.kind&&N.nodeType===a.t?"rounded-[var(--ck-radius-sm)] bg-white/10 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]":"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-xs text-[color:var(--ck-text-secondary)] hover:bg-white/10",title:"Select tool, then click on the canvas to place",children:["+ ",a.label]},a.t))]}),!E&&"connect"===N.kind&&P?(0,b.jsxs)("div",{className:"mt-2 text-xs text-[color:var(--ck-text-secondary)]",children:["Connecting from: ",(0,b.jsx)("span",{className:"font-mono",children:P})]}):null,E||"add-node"!==N.kind?null:(0,b.jsxs)("div",{className:"mt-2 text-xs text-[color:var(--ck-text-secondary)]",children:["Click on the canvas to place a ",(0,b.jsx)("span",{className:"font-mono",children:N.nodeType})," node."]}),(0,b.jsxs)("div",{className:"mt-3 border-t border-white/10 pt-3",children:[(0,b.jsxs)("div",{className:E?"hidden":"flex items-center justify-between gap-2",children:[(0,b.jsx)("div",{className:"text-[10px] font-medium uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"Agents"}),(0,b.jsx)("div",{className:"text-[10px] text-[color:var(--ck-text-tertiary)]",children:"drag → node"})]}),E?(0,b.jsx)("button",{type:"button",onClick:()=>F(!1),className:"mt-2 flex h-8 w-8 items-center justify-center rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 text-[color:var(--ck-text-secondary)] hover:bg-white/10",title:"Expand to see agents","aria-label":"Expand to see agents",children:(0,b.jsxs)("svg",{viewBox:"0 0 24 24",className:"h-4 w-4",fill:"none","aria-hidden":"true",children:[(0,b.jsx)("path",{d:"M16 11a4 4 0 1 0-8 0",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"}),(0,b.jsx)("path",{d:"M4 20a8 8 0 0 1 16 0",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"})]})}):(0,b.jsxs)(b.Fragment,{children:[T?(0,b.jsx)("div",{className:"mt-1 text-[11px] text-red-200",children:T}):null,(0,b.jsx)("div",{className:"mt-2 max-h-[140px] space-y-1 overflow-auto",children:R.length?R.map(c=>(0,b.jsx)("div",{draggable:!0,onDragStart:a=>{a.dataTransfer.setData("text/plain",c.id),a.dataTransfer.effectAllowed="copy"},className:"cursor-grab rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-xs text-[color:var(--ck-text-secondary)] hover:bg-white/10",title:c.id,children:c.identityName?c.identityName:c.id.replace(`${a}-`,"")},c.id)):(0,b.jsx)("div",{className:"text-xs text-[color:var(--ck-text-tertiary)]",children:"No team agents found."})})]})]})]}),(0,b.jsxs)("div",{className:"relative h-[1200px] w-[2200px]",style:{transform:`scale(${G})`,transformOrigin:"0 0"},children:[(0,b.jsx)("svg",{className:"pointer-events-none absolute inset-0 -z-10",width:2200,height:1200,style:{overflow:"visible"},children:(aH.wf?.edges??[]).map(a=>{let c=aH.wf;if(!c)return null;let d=c.nodes.find(b=>b.id===a.from),e=c.nodes.find(b=>b.id===a.to);if(!d||!e)return null;let f=("number"==typeof d.x?d.x:80)+90,g=("number"==typeof d.y?d.y:80)+24,h=("number"==typeof e.x?e.x:80)+90,i=("number"==typeof e.y?e.y:80)+24;return(0,b.jsx)("line",{x1:f,y1:g,x2:h,y2:i,stroke:"rgba(255,255,255,0.35)",strokeWidth:3},a.id)})}),(aH.wf?.nodes??[]).map((c,d)=>{let e="number"==typeof c.x?c.x:80+220*d,f="number"==typeof c.y?c.y:80,g=J===c.id;return(0,b.jsxs)("div",{role:"button",tabIndex:0,"data-wf-node":"1",draggable:"select"===N.kind||"connect"===N.kind,onDragStart:a=>{"select"===N.kind&&a.dataTransfer.setData("text/plain","")},onDragOver:a=>{a.dataTransfer.types.includes("text/plain")&&a.preventDefault()},onDrop:a=>{let b=aH.wf;if(!b)return;a.preventDefault(),a.stopPropagation();let d=String(a.dataTransfer.getData("text/plain")||"").trim();if(!d)return;let e=b.nodes.map(a=>{if(a.id!==c.id)return a;let b=a.config&&"object"==typeof a.config&&!Array.isArray(a.config)?a.config:{};return{...a,config:{...b,agentId:d}}});aK({...b,nodes:e}),K(c.id)},onClick:a=>{a.stopPropagation();let b=aH.wf;if("connect"===N.kind){if(!b)return;if(!P){Q(c.id),K(c.id);return}let a=c.id;if(Q(""),!P||!a||P===a||(b.edges??[]).some(b=>b.from===P&&b.to===a))return;let d=`e${Date.now()}`;aK({...b,edges:[...b.edges??[],{id:d,from:P,to:a}]}),O({kind:"select"});return}K(c.id)},onPointerDown:a=>{if("add-node"===N.kind||0!==a.button)return;let b=I.current;if(!b)return;let d=b.getBoundingClientRect();K(c.id);try{a.currentTarget.setPointerCapture(a.pointerId)}catch{}a.preventDefault();let g=(a.clientX-d.left+b.scrollLeft)/G,h=(a.clientY-d.top+b.scrollTop)/G;M({nodeId:c.id,dx:g-e,dy:h-f})},onPointerUp:a=>{try{a.currentTarget.releasePointerCapture(a.pointerId)}catch{}M(null)},onPointerMove:a=>{if(!L||L.nodeId!==c.id)return;let b=aH.wf;if(!b)return;let d=I.current;if(!d)return;let e=d.getBoundingClientRect(),f=(a.clientX-e.left+d.scrollLeft)/G,g=(a.clientY-e.top+d.scrollTop)/G,h=f-L.dx,i=g-L.dy,j=b.nodes.map(a=>a.id===c.id?{...a,x:h,y:i}:a);A({kind:"ready",jsonText:JSON.stringify({...b,nodes:j},null,2)+"\n"})},className:g?"absolute z-10 cursor-grab rounded-[var(--ck-radius-sm)] border border-white/25 bg-white/10 px-3 py-2 text-xs text-[color:var(--ck-text-primary)] shadow-[var(--ck-shadow-1)]":"absolute z-10 cursor-grab rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-3 py-2 text-xs text-[color:var(--ck-text-secondary)] hover:bg-white/10",style:{left:e,top:f,width:180},children:[(0,b.jsx)("div",{className:"font-medium text-[color:var(--ck-text-primary)]",children:c.name||c.id}),(0,b.jsx)("div",{className:"mt-0.5 text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:c.type}),(()=>{let d=c.config&&"object"==typeof c.config&&!Array.isArray(c.config)?c.config:null,e=d?String(d.agentId??"").trim():"";if(!e)return null;let f=e.replace(`${a}-`,"");return(0,b.jsxs)("div",{className:"mt-1 text-[10px] text-[color:var(--ck-text-secondary)]",children:["Agent: ",f]})})()]},c.id)}),(()=>{let a=aH.wf;if(!a||!J)return null;let c=a.nodes.find(a=>a.id===J);if(!c)return null;let d="number"==typeof c.x?c.x:80,e="number"==typeof c.y?c.y:80,f=c.config&&"object"==typeof c.config&&!Array.isArray(c.config)?c.config:{},g=String(f.agentId??"").trim();return(0,b.jsxs)("div",{className:"absolute z-10 w-[320px] rounded-[var(--ck-radius-sm)] border border-white/15 bg-black/60 p-3 shadow-[var(--ck-shadow-1)] backdrop-blur",style:{left:d+200,top:e},children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsx)("div",{className:"text-xs font-medium text-[color:var(--ck-text-primary)]",children:c.name||c.id}),(0,b.jsx)("button",{type:"button",onClick:()=>K(""),className:"text-[10px] text-[color:var(--ck-text-tertiary)] hover:text-[color:var(--ck-text-primary)]",children:"Close"})]}),(0,b.jsxs)("div",{className:"mt-2 space-y-2",children:[(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"name"}),(0,b.jsx)("input",{value:String(c.name??""),onChange:b=>{let d=b.target.value;aK({...a,nodes:a.nodes.map(a=>a.id===c.id?{...a,name:d}:a)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/30 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:"Optional"})]}),(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"type"}),(0,b.jsxs)("select",{value:c.type,onChange:b=>{let d=b.target.value;aK({...a,nodes:a.nodes.map(a=>a.id===c.id?{...a,type:d}:a)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/30 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",children:[(0,b.jsx)("option",{value:"start",children:"start"}),(0,b.jsx)("option",{value:"end",children:"end"}),(0,b.jsx)("option",{value:"llm",children:"llm"}),(0,b.jsx)("option",{value:"tool",children:"tool"}),(0,b.jsx)("option",{value:"condition",children:"condition"}),(0,b.jsx)("option",{value:"delay",children:"delay"}),(0,b.jsx)("option",{value:"human_approval",children:"human_approval"})]})]}),(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"agentId"}),(0,b.jsx)("input",{value:g,onChange:b=>{let d=String(b.target.value||"").trim(),e={...f,...d?{agentId:d}:{}};d||delete e.agentId,aK({...a,nodes:a.nodes.map(a=>a.id===c.id?{...a,config:e}:a)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/30 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:"(drag an agent onto the node or type)"})]}),"human_approval"===c.type?(0,b.jsxs)("div",{className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/20 p-2",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"approval config"}),(0,b.jsxs)("div",{className:"mt-2 space-y-2",children:[(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"provider"}),(0,b.jsx)("input",{value:String(f.provider??""),onChange:b=>{let d=String(b.target.value||"").trim(),e={...f,...d?{provider:d}:{}};d||delete e.provider,aK({...a,nodes:a.nodes.map(a=>a.id===c.id?{...a,config:e}:a)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:"telegram"})]}),(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"target"}),(0,b.jsx)("input",{value:String(f.target??""),onChange:b=>{let d=String(b.target.value||"").trim(),e={...f,...d?{target:d}:{}};d||delete e.target,aK({...a,nodes:a.nodes.map(a=>a.id===c.id?{...a,config:e}:a)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:"(e.g. Telegram chat id)"}),(0,b.jsx)("div",{className:"mt-1 text-[10px] text-[color:var(--ck-text-tertiary)]",children:"Overrides workflow-level default when set."})]}),(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"messageTemplate (optional)"}),(0,b.jsx)("textarea",{value:String(f.messageTemplate??""),onChange:b=>{let d=String(b.target.value||""),e={...f,...d.trim()?{messageTemplate:d}:{}};d.trim()||delete e.messageTemplate,aK({...a,nodes:a.nodes.map(a=>a.id===c.id?{...a,config:e}:a)})},className:"mt-1 h-[70px] w-full resize-none rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 p-2 font-mono text-[10px] text-[color:var(--ck-text-primary)]",placeholder:"Approval needed for {{workflowName}} (run {{runId}})",spellCheck:!1}),(0,b.jsxs)("div",{className:"mt-1 text-[10px] text-[color:var(--ck-text-tertiary)]",children:["Vars: ","{{workflowName}}",", ","{{workflowId}}",", ","{{runId}}",", ","{{nodeId}}"]})]})]})]}):null,(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"config (json)"}),(0,b.jsx)("textarea",{value:JSON.stringify(f,null,2),onChange:b=>{try{let d=JSON.parse(b.target.value);if(!d||"object"!=typeof d||Array.isArray(d))return;aK({...a,nodes:a.nodes.map(a=>a.id===c.id?{...a,config:d}:a)})}catch{}},className:"mt-1 h-[140px] w-full resize-none rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/30 p-2 font-mono text-[10px] text-[color:var(--ck-text-primary)]",spellCheck:!1}),(0,b.jsx)("div",{className:"mt-1 text-[10px] text-[color:var(--ck-text-tertiary)]",children:"(Edits apply when JSON is valid.)"})]})]})]})})()]})]})}),(0,b.jsx)("div",{className:"w-[380px] shrink-0 overflow-auto p-3 text-sm",children:(0,b.jsx)("div",{className:"space-y-3",children:aH.wf?(m=String((l=aH.wf).timezone??"").trim()||"UTC",n=l.triggers??[],p=String((o=l.meta&&"object"==typeof l.meta&&!Array.isArray(l.meta)?l.meta:{}).approvalBindingId??"").trim(),q=String(o.approvalProvider??"telegram").trim()||"telegram",r=String(o.approvalTarget??"").trim(),s=[{label:"(no preset)",expr:""},{label:"Weekdays 09:00 local",expr:"0 9 * * 1-5"},{label:"Mon/Wed/Fri 09:00 local",expr:"0 9 * * 1,3,5"},{label:"Daily 08:00 local",expr:"0 8 * * *"},{label:"Daily 12:00 local",expr:"0 12 * * *"},{label:"Mon 09:30 local",expr:"30 9 * * 1"}],(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsxs)("details",{open:!0,className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/15",children:[(0,b.jsx)("summary",{className:"cursor-pointer list-none px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)]",children:"Workflow"}),(0,b.jsx)("div",{className:"px-3 pb-3",children:(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[11px] font-medium text-[color:var(--ck-text-tertiary)]",children:"Timezone"}),(0,b.jsx)("input",{value:m,onChange:a=>{let b=String(a.target.value||"").trim()||"UTC";aK({...l,timezone:b})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-sm text-[color:var(--ck-text-primary)]",placeholder:"America/New_York"})]})})]}),(0,b.jsxs)("details",{open:!0,className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/15",children:[(0,b.jsx)("summary",{className:"cursor-pointer list-none px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)]",children:"Approval Channel"}),(0,b.jsxs)("div",{className:"px-3 pb-3 space-y-2",children:[(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"binding (recommended)"}),(0,b.jsxs)("select",{value:p,onChange:a=>{let b=String(a.target.value||"").trim(),c=V.find(a=>a.id===b);c?aK({...l,meta:{...o,approvalBindingId:c.id,approvalProvider:c.channel,approvalTarget:c.target},nodes:l.nodes.map(a=>"human_approval"===a.type?{...a,config:{...a.config&&"object"==typeof a.config&&!Array.isArray(a.config)?a.config:{},approvalBindingId:c.id,provider:c.channel,target:c.target}}:a)}):aK({...l,meta:{...o,approvalBindingId:""},nodes:l.nodes.map(a=>"human_approval"===a.type?{...a,config:{...a.config&&"object"==typeof a.config&&!Array.isArray(a.config)?a.config:{},approvalBindingId:""}}:a)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",children:[(0,b.jsx)("option",{value:"",children:"(manual)"}),V.map(a=>(0,b.jsx)("option",{value:a.id,children:a.label},a.id))]}),Z?(0,b.jsxs)("div",{className:"mt-1 text-[10px] text-yellow-200",children:["Kitchen looks out of date. Run ",(0,b.jsx)("code",{className:"font-mono",children:"openclaw plugins update"})," then",(0,b.jsx)("code",{className:"ml-1 font-mono",children:"openclaw gateway restart"}),"."]}):null,X?(0,b.jsxs)("div",{className:"mt-1 text-[10px] text-red-200",children:["Failed to load bindings: ",X]}):null,(0,b.jsx)("div",{className:"mt-1 text-[10px] text-[color:var(--ck-text-tertiary)]",children:"Uses your existing OpenClaw bindings (recommended). Manual provider/target is an advanced override."})]}),(0,b.jsxs)("details",{className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/10",children:[(0,b.jsx)("summary",{className:"cursor-pointer list-none px-2 py-1 text-[11px] font-medium text-[color:var(--ck-text-secondary)]",children:"Advanced: manual override"}),(0,b.jsxs)("div",{className:"px-2 pb-2 pt-1 space-y-2",children:[(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"provider"}),(0,b.jsx)("input",{value:q,onChange:a=>{let b=String(a.target.value||"").trim()||"telegram";aK({...l,meta:{...o,approvalBindingId:"",approvalProvider:b},nodes:l.nodes.map(a=>"human_approval"===a.type?{...a,config:{...a.config&&"object"==typeof a.config&&!Array.isArray(a.config)?a.config:{},approvalBindingId:"",provider:b}}:a)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:"telegram"})]}),(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"target"}),(0,b.jsx)("input",{value:r,onChange:a=>{let b=String(a.target.value||"").trim();aK({...l,meta:{...o,approvalBindingId:"",approvalTarget:b},nodes:l.nodes.map(a=>"human_approval"===a.type?{...a,config:{...a.config&&"object"==typeof a.config&&!Array.isArray(a.config)?a.config:{},approvalBindingId:"",target:b}}:a)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:"(e.g. Telegram chat id)"})]})]})]})]})]}),(0,b.jsxs)("details",{open:!0,className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/15",children:[(0,b.jsx)("summary",{className:"cursor-pointer list-none px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)]",children:"Triggers"}),(0,b.jsxs)("div",{className:"px-3 pb-3",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"triggers"}),(0,b.jsx)("button",{type:"button",onClick:()=>{let a=`t${Date.now()}`;aK({...l,triggers:[...n,{kind:"cron",id:a,name:"New trigger",enabled:!0,expr:"0 9 * * 1-5",tz:m}]})},className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-[10px] font-medium text-[color:var(--ck-text-primary)] hover:bg-white/10",children:"+ Add"})]}),(0,b.jsx)("div",{className:"mt-2 space-y-2",children:n.length?n.map((a,c)=>{let d=a.kind,e=String(a.id??""),f=String(a.name??""),g=!!a.enabled,h=String(a.expr??""),i=String(a.tz??m),j=h.trim().split(/\s+/).filter(Boolean),k=!h.trim()||5===j.length;return(0,b.jsxs)("div",{className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 p-2",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsx)("div",{className:"text-xs text-[color:var(--ck-text-primary)]",children:f||e||`trigger-${c+1}`}),(0,b.jsx)("button",{type:"button",onClick:()=>aK({...l,triggers:n.filter((a,b)=>b!==c)}),className:"text-[10px] text-[color:var(--ck-text-tertiary)] hover:text-[color:var(--ck-text-primary)]",children:"Remove"})]}),"cron"===d?null:(0,b.jsxs)("div",{className:"mt-1 text-xs text-[color:var(--ck-text-secondary)]",children:["Unsupported trigger kind: ",String(d)]}),(0,b.jsxs)("div",{className:"mt-2 grid grid-cols-1 gap-2",children:[(0,b.jsxs)("label",{className:"flex items-center gap-2 text-xs text-[color:var(--ck-text-secondary)]",children:[(0,b.jsx)("input",{type:"checkbox",checked:g,onChange:a=>{let b=a.target.checked;aK({...l,triggers:n.map((a,d)=>d===c&&"cron"===a.kind?{...a,enabled:b}:a)})}}),"Enabled"]}),(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"name"}),(0,b.jsx)("input",{value:f,onChange:a=>{let b=a.target.value;aK({...l,triggers:n.map((a,d)=>d===c&&"cron"===a.kind?{...a,name:b}:a)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:"Content cadence"})]}),(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"schedule (cron)"}),(0,b.jsx)("input",{value:h,onChange:a=>{let b=a.target.value;aK({...l,triggers:n.map((a,d)=>d===c&&"cron"===a.kind?{...a,expr:b}:a)})},className:k?"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 font-mono text-[11px] text-[color:var(--ck-text-primary)]":"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-red-400/50 bg-black/25 px-2 py-1 font-mono text-[11px] text-[color:var(--ck-text-primary)]",placeholder:"0 9 * * 1,3,5"}),k?null:(0,b.jsxs)("div",{className:"mt-1 text-[10px] text-red-200",children:["Cron should be 5 fields (min hour dom month dow). You entered ",j.length,"."]}),(0,b.jsxs)("div",{className:"mt-1 grid grid-cols-1 gap-1",children:[(0,b.jsx)("select",{value:s.some(a=>a.expr===h)?h:"",onChange:a=>{let b=a.target.value;aK({...l,triggers:n.map((a,d)=>d===c&&"cron"===a.kind?{...a,expr:b}:a)})},className:"w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-[11px] text-[color:var(--ck-text-secondary)]",children:s.map(a=>(0,b.jsx)("option",{value:a.expr,children:a.label},a.label))}),(0,b.jsx)("div",{className:"text-[10px] text-[color:var(--ck-text-tertiary)]",children:"Presets set the cron; edit freely for advanced schedules."})]})]}),(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"timezone override"}),(0,b.jsx)("input",{value:i,onChange:a=>{let b=String(a.target.value||"").trim()||m;aK({...l,triggers:n.map((a,d)=>d===c&&"cron"===a.kind?{...a,tz:b}:a)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:m})]})]})]},`${e}-${c}`)}):(0,b.jsx)("div",{className:"text-xs text-[color:var(--ck-text-secondary)]",children:"No triggers yet."})})]})]}),(0,b.jsxs)("details",{open:!0,className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/15",children:[(0,b.jsx)("summary",{className:"cursor-pointer list-none px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)]",children:"Runs"}),(0,b.jsxs)("div",{className:"px-3 pb-3",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("div",{className:"text-xs font-medium text-[color:var(--ck-text-secondary)]",children:"Runs (history)"}),(0,b.jsx)(d.default,{href:`/teams/${encodeURIComponent(a)}/runs`,className:"text-[10px] font-medium text-[color:var(--ck-text-tertiary)] hover:text-[color:var(--ck-text-secondary)] hover:underline",children:"View all →"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("button",{type:"button",disabled:x,onClick:async()=>{let b=String(l.id??"").trim();if(b){ad(""),ab(!0);try{let c=await fetch("/api/teams/workflow-runs",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({teamId:a,workflowId:b,mode:"enqueue"})}),d=await c.json();if(!c.ok||!d.ok)throw Error(d.error||"Failed to enqueue run");let e=await fetch(`/api/teams/workflow-runs?teamId=${encodeURIComponent(a)}&workflowId=${encodeURIComponent(b)}`,{cache:"no-store"}),f=await e.json();if(!e.ok||!f.ok)throw Error(f.error||"Failed to refresh runs");let g=(Array.isArray(f.files)?f.files:[]).map(a=>String(a??"").trim()).filter(a=>!!a);_(g)}catch(a){ad(a instanceof Error?a.message:String(a))}finally{ab(!1)}}},className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-[10px] font-medium text-[color:var(--ck-text-primary)] hover:bg-white/10 disabled:opacity-50",children:"+ Queue run"}),(0,b.jsx)("button",{type:"button",disabled:x||ag||!aJ.ok,onClick:async()=>{let b=String(l.id??"").trim();if(b){if(aJ.missingAgentOnNodeIds.length)return void ad("All nodes must be assigned to an agent.");if(aJ.agentIdsMissingCron.length){ap(!0),ar("");try{let b=await fetch("/api/cron/worker",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({action:"reconcile",teamId:a})}),c=await b.json();if(!b.ok||!1===c.ok)throw Error(c.error||"Failed to reconcile worker crons");let d=await aG(),e=aJ.requiredAgentIds.filter(a=>!d[a]);if(e.length)return void ad(`Cron not set up for: ${e.join(", ")}`)}catch(a){ad(a instanceof Error?a.message:String(a));return}finally{ap(!1)}}ad(""),ab(!0);try{let c=await fetch("/api/teams/workflow-runs",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({teamId:a,workflowId:b,mode:"run_now"})}),d=await c.json();if(!c.ok||!d.ok)throw Error(d.error||"Failed to create run");let e=String(d.runId??"").trim();if(e)return void u.push(`/teams/${encodeURIComponent(a)}/runs/${encodeURIComponent(b)}/${encodeURIComponent(e)}`);let f=await fetch(`/api/teams/workflow-runs?teamId=${encodeURIComponent(a)}&workflowId=${encodeURIComponent(b)}`,{cache:"no-store"}),g=await f.json();if(!f.ok||!g.ok)throw Error(g.error||"Failed to refresh runs");let h=(Array.isArray(g.files)?g.files:[]).map(a=>String(a??"").trim()).filter(a=>!!a);_(h)}catch(a){ad(a instanceof Error?a.message:String(a))}finally{ab(!1)}}},className:"rounded-[var(--ck-radius-sm)] border border-emerald-400/30 bg-emerald-500/10 px-2 py-1 text-[10px] font-medium text-emerald-50 hover:bg-emerald-500/15 disabled:opacity-50",title:"Enqueue a run for the workflow runner (Kitchen does not execute nodes)",children:"+ Run now"}),ai?(0,b.jsx)("div",{className:"ml-2 text-[10px] text-amber-100/90",title:ai,children:"Cron check unavailable"}):null]})]}),aJ.missingAgentOnNodeIds.length?(0,b.jsxs)("div",{className:"mt-2 rounded-[var(--ck-radius-sm)] border border-red-400/30 bg-red-500/10 p-2 text-xs text-red-100",children:["All nodes must be assigned to an agent. Missing agentId on: ",aJ.missingAgentOnNodeIds.join(", ")]}):aJ.agentIdsMissingCron.length?(0,b.jsxs)("div",{className:"mt-2 rounded-[var(--ck-radius-sm)] border border-amber-400/30 bg-amber-500/10 p-2 text-xs text-amber-50",children:[(0,b.jsxs)("div",{children:["Cron not set up for: ",aJ.agentIdsMissingCron.join(", ")]}),(0,b.jsxs)("div",{className:"mt-2 flex items-center gap-2",children:[(0,b.jsx)("button",{type:"button",onClick:()=>{ar(""),an(!0)},className:"rounded-[var(--ck-radius-sm)] border border-amber-300/30 bg-amber-500/10 px-2 py-1 text-[10px] font-medium text-amber-50 hover:bg-amber-500/15",children:"Install worker cron(s)"}),(0,b.jsx)("button",{type:"button",onClick:()=>void aG(),className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-[10px] font-medium text-[color:var(--ck-text-primary)] hover:bg-white/10",children:"Re-check"})]})]}):null,(0,b.jsx)(f.ConfirmationModal,{open:am,title:"Install worker cron jobs?",busy:ao,error:aq||void 0,confirmLabel:"Install",onClose:()=>{ao||an(!1)},onConfirm:async()=>{ap(!0),ar("");try{let b=await fetch("/api/cron/worker",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({action:"reconcile",teamId:a})}),c=await b.json();if(!b.ok||!1===c.ok)throw Error(c.error||"Failed to install worker crons");await aG(),an(!1)}catch(a){ar(a instanceof Error?a.message:String(a))}finally{ap(!1)}},children:(0,b.jsxs)("div",{className:"text-sm text-[color:var(--ck-text-secondary)]",children:["Kitchen will install (or enable) worker cron jobs for the following agents so this workflow can drain:",(0,b.jsx)("div",{className:"mt-2 rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 p-2 font-mono text-[11px] text-[color:var(--ck-text-primary)]",children:aJ.agentIdsMissingCron.join(", ")}),(0,b.jsxs)("div",{className:"mt-2 text-xs text-[color:var(--ck-text-tertiary)]",children:["Cron cadence: every 5 minutes. The worker runs: ",(0,b.jsx)("span",{className:"font-mono",children:"openclaw recipes workflows worker-tick"}),"."]})]})}),ac?(0,b.jsx)("div",{className:"mt-2 rounded-[var(--ck-radius-sm)] border border-red-400/30 bg-red-500/10 p-2 text-xs text-red-100",children:ac}):null,(0,b.jsx)("div",{className:"mt-2 space-y-1",children:aa?(0,b.jsx)("div",{className:"text-xs text-[color:var(--ck-text-secondary)]",children:"Serving up hot…"}):$.length?$.slice(0,8).map(c=>{let e=String(l.id??"").trim(),f=String(c).replace(/\.run\.json$/i,""),g=ae===f,h=e?`/teams/${encodeURIComponent(a)}/runs/${encodeURIComponent(e)}/${encodeURIComponent(f)}`:"#";return(0,b.jsx)(d.default,{href:h,onClick:()=>af(f),className:g?"block w-full rounded-[var(--ck-radius-sm)] bg-white/10 px-2 py-1 text-left text-[11px] font-mono text-[color:var(--ck-text-primary)]":"block w-full rounded-[var(--ck-radius-sm)] px-2 py-1 text-left text-[11px] font-mono text-[color:var(--ck-text-secondary)] hover:bg-white/5",title:"Open run detail",children:f},c)}):(0,b.jsx)("div",{className:"text-xs text-[color:var(--ck-text-secondary)]",children:"No runs yet."})}),(0,b.jsxs)("details",{open:!0,className:"mt-3 rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/10",children:[(0,b.jsx)("summary",{className:"cursor-pointer list-none px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)]",children:"Nodes"}),(0,b.jsxs)("div",{className:"px-3 pb-3",children:[(0,b.jsx)("div",{className:"mt-2 rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 p-2",children:(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-2",children:[(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"id"}),(0,b.jsx)("input",{value:as,onChange:a=>at(a.target.value),className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:"e.g. draft_assets"})]}),(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"name (optional)"}),(0,b.jsx)("input",{value:au,onChange:a=>av(a.target.value),className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:"Human-friendly label"})]}),(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"type"}),(0,b.jsxs)("select",{value:aw,onChange:a=>ax(a.target.value),className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",children:[(0,b.jsx)("option",{value:"start",children:"start"}),(0,b.jsx)("option",{value:"end",children:"end"}),(0,b.jsx)("option",{value:"llm",children:"llm"}),(0,b.jsx)("option",{value:"tool",children:"tool"}),(0,b.jsx)("option",{value:"condition",children:"condition"}),(0,b.jsx)("option",{value:"delay",children:"delay"}),(0,b.jsx)("option",{value:"human_approval",children:"human_approval"})]})]}),(0,b.jsx)("button",{type:"button",onClick:()=>{let a=String(as||"").trim().replace(/[^a-z0-9_\-]/gi,"_");if(!a||l.nodes.some(b=>b.id===a))return;let b=l.nodes.reduce((a,b)=>"number"==typeof b.x?Math.max(a,b.x):a,80),c={id:a,type:aw,name:String(au||"").trim()||a,x:b+220,y:80};aK({...l,nodes:[...l.nodes,c]}),K(a),at(""),av("")},className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-[11px] font-medium text-[color:var(--ck-text-primary)] hover:bg-white/10",children:"+ Add node"})]})}),(0,b.jsx)("div",{className:"mt-2 space-y-1",children:l.nodes.map(a=>{let c=J===a.id;return(0,b.jsxs)("button",{type:"button",onClick:()=>K(a.id),className:c?"w-full rounded-[var(--ck-radius-sm)] bg-white/10 px-2 py-1 text-left text-[11px] text-[color:var(--ck-text-primary)]":"w-full rounded-[var(--ck-radius-sm)] px-2 py-1 text-left text-[11px] text-[color:var(--ck-text-secondary)] hover:bg-white/5",children:[(0,b.jsx)("span",{className:"font-mono",children:a.id}),(0,b.jsx)("span",{className:"ml-2 text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:a.type})]},a.id)})})]})]}),(0,b.jsxs)("details",{open:!0,className:"mt-3 rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/10",children:[(0,b.jsx)("summary",{className:"cursor-pointer list-none px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)]",children:"Edges"}),(0,b.jsxs)("div",{className:"px-3 pb-3",children:[(0,b.jsx)("div",{className:"mt-2 rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 p-2",children:(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-2",children:[(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"from"}),(0,b.jsxs)("select",{value:ay,onChange:a=>az(a.target.value),className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",children:[(0,b.jsx)("option",{value:"",children:"(select)"}),l.nodes.map(a=>(0,b.jsx)("option",{value:a.id,children:a.id},a.id))]})]}),(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"to"}),(0,b.jsxs)("select",{value:aA,onChange:a=>aB(a.target.value),className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",children:[(0,b.jsx)("option",{value:"",children:"(select)"}),l.nodes.map(a=>(0,b.jsx)("option",{value:a.id,children:a.id},a.id))]})]}),(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"label (optional)"}),(0,b.jsx)("input",{value:aC,onChange:a=>aD(a.target.value),className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:"e.g. approve"})]}),(0,b.jsx)("button",{type:"button",onClick:()=>{let a=String(ay||"").trim(),b=String(aA||"").trim();if(!a||!b||a===b)return;let c={id:`e${Date.now()}`,from:a,to:b,...String(aC||"").trim()?{label:String(aC).trim()}:{}};aK({...l,edges:[...l.edges??[],c]}),aD("")},className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-[11px] font-medium text-[color:var(--ck-text-primary)] hover:bg-white/10",children:"+ Add edge"})]})}),(0,b.jsx)("div",{className:"mt-2 space-y-2",children:(l.edges??[]).length?(l.edges??[]).map(a=>(0,b.jsx)("div",{className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 p-2",children:(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsxs)("div",{className:"text-[11px] text-[color:var(--ck-text-secondary)]",children:[(0,b.jsx)("span",{className:"font-mono",children:a.from})," → ",(0,b.jsx)("span",{className:"font-mono",children:a.to}),a.label?(0,b.jsxs)("span",{className:"ml-2 text-[10px] text-[color:var(--ck-text-tertiary)]",children:["(",a.label,")"]}):null]}),(0,b.jsx)("button",{type:"button",onClick:()=>aK({...l,edges:(l.edges??[]).filter(b=>b.id!==a.id)}),className:"text-[10px] text-[color:var(--ck-text-tertiary)] hover:text-[color:var(--ck-text-primary)]",children:"Remove"})]})},a.id)):(0,b.jsx)("div",{className:"text-xs text-[color:var(--ck-text-secondary)]",children:"No edges yet."})})]})]}),(0,b.jsxs)("details",{open:!0,className:"mt-3 rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/10",children:[(0,b.jsx)("summary",{className:"cursor-pointer list-none px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)]",children:"Node inspector"}),(0,b.jsxs)("div",{className:"px-3 pb-3",children:[(0,b.jsx)("div",{className:"flex items-center justify-between gap-2",children:J?(0,b.jsx)("button",{type:"button",onClick:()=>{let a=l.nodes.filter(a=>a.id!==J),b=(l.edges??[]).filter(a=>a.from!==J&&a.to!==J);aK({...l,nodes:a,edges:b}),K("")},className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-[10px] font-medium text-red-100 hover:bg-white/10",children:"Delete node"}):null}),J?(t=l.nodes.find(a=>a.id===J))?(0,b.jsxs)("div",{className:"mt-3 space-y-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"id"}),(0,b.jsx)("div",{className:"mt-1 rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",children:t.id})]}),(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"name"}),(0,b.jsx)("input",{value:String(t.name??""),onChange:a=>{let b=a.target.value;aK({...l,nodes:l.nodes.map(a=>a.id===t.id?{...a,name:b}:a)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:"Optional"})]}),(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"type"}),(0,b.jsxs)("select",{value:t.type,onChange:a=>{let b=a.target.value;aK({...l,nodes:l.nodes.map(a=>a.id===t.id?{...a,type:b}:a)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",children:[(0,b.jsx)("option",{value:"start",children:"start"}),(0,b.jsx)("option",{value:"end",children:"end"}),(0,b.jsx)("option",{value:"llm",children:"llm"}),(0,b.jsx)("option",{value:"tool",children:"tool"}),(0,b.jsx)("option",{value:"condition",children:"condition"}),(0,b.jsx)("option",{value:"delay",children:"delay"}),(0,b.jsx)("option",{value:"human_approval",children:"human_approval"})]})]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"x"}),(0,b.jsx)("input",{type:"number",value:"number"==typeof t.x?t.x:0,onChange:a=>{let b=Number(a.target.value);aK({...l,nodes:l.nodes.map(a=>a.id===t.id?{...a,x:b}:a)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]"})]}),(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"y"}),(0,b.jsx)("input",{type:"number",value:"number"==typeof t.y?t.y:0,onChange:a=>{let b=Number(a.target.value);aK({...l,nodes:l.nodes.map(a=>a.id===t.id?{...a,y:b}:a)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]"})]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"config"}),(0,b.jsx)("pre",{className:"mt-1 max-h-[200px] overflow-auto rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 p-2 text-[10px] text-[color:var(--ck-text-secondary)]",children:JSON.stringify(t.config??{},null,2)})]})]}):(0,b.jsx)("div",{className:"mt-2 text-sm text-[color:var(--ck-text-secondary)]",children:"No node selected."}):(0,b.jsx)("div",{className:"mt-2 text-sm text-[color:var(--ck-text-secondary)]",children:"Select a node."})]})]})]})]})]})):null})})]})]})}a.s(["default",()=>i],13833)}];
|
|
1
|
+
module.exports=[13833,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(38246),e=a.i(50944),f=a.i(66063);function g(a){let b=new Set;for(let c of a)b.add(c);return b.size}let h={"media-image":{type:"tool",tool:"media.generate",label:"Generate Image",description:"Generate images using AI providers (DALL-E, Skills, etc.)",icon:"🎨",color:"#9333EA",category:"media",defaultConfig:{mediaType:"image",provider:"auto",prompt:"",size:"1024x1024",quality:"standard",style:"natural",outputPath:"shared-context/media/{{run.id}}_{{node.id}}.png"}},"media-video":{type:"tool",tool:"media.generate",label:"Generate Video",description:"Generate videos using AI providers",icon:"🎬",color:"#DC2626",category:"media",defaultConfig:{mediaType:"video",provider:"auto",prompt:"",duration:"5s",outputPath:"shared-context/media/{{run.id}}_{{node.id}}.mp4"}}},i=["{{run.id}}","{{workflow.name}}","{{workflow.id}}","{{date}}"],j={"social-media":"Professional social media image for: {{content}}","blog-header":"Blog header image representing: {{title}}","product-shot":"Product photography style image of: {{product}}",illustration:"Clean vector illustration of: {{concept}}",marketing:"Marketing banner image for: {{campaign}}"};function k({config:a,onChange:d,teamId:e,workflowNodeIds:f,workflowEdges:g,currentNodeId:h}){let[k,l]=(0,c.useState)([]),[m,n]=(0,c.useState)(!0),[o,p]=(0,c.useState)([]);(0,c.useEffect)(()=>{!async function(){try{let a=await fetch(`/api/teams/${e}/media-providers`);if(a.ok){let b=await a.json();l(b)}}catch(a){console.error("Failed to load media providers:",a)}finally{n(!1)}}()},[e]),(0,c.useEffect)(()=>{let b;p((b=[],a.prompt?.trim()||b.push("Prompt is required"),"image"===a.mediaType&&a.size&&!["256x256","512x512","1024x1024","1792x1024","1024x1792"].includes(a.size)&&b.push("Invalid image size"),"video"===a.mediaType&&a.duration&&!a.duration.match(/^\d+s?$/)&&b.push('Invalid video duration format (e.g., "5s")'),b))},[a]);let q=b=>{d({...a,...b})},r=k.filter(a=>a.available),s=k.find(b=>b.id===a.provider);return(0,b.jsxs)("div",{className:"space-y-3",children:[m&&(0,b.jsxs)("div",{className:"flex items-center gap-2 text-[10px] text-[color:var(--ck-text-tertiary)]",children:[(0,b.jsx)("div",{className:"animate-spin w-3 h-3 border border-[color:var(--ck-border-subtle)] border-t-transparent rounded-full"}),"Detecting providers..."]}),!m&&0===r.length&&k.length>0&&(0,b.jsx)("div",{className:"mt-2 rounded-[var(--ck-radius-sm)] border border-amber-400/30 bg-amber-500/10 p-2 text-xs text-amber-50",children:(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("div",{className:"font-medium",children:"⚠️ Media providers detected but not available"}),(0,b.jsx)("div",{children:(0,b.jsx)("strong",{children:"Common Issues:"})}),k.some(a=>a.error?.includes("API key"))&&(0,b.jsx)("div",{children:"• Missing API keys - Check provider selection below for specific requirements"}),k.some(a=>a.error?.includes("not running"))&&(0,b.jsx)("div",{children:"• Local services not running - Start Stable Diffusion, ComfyUI, etc."}),(0,b.jsxs)("div",{children:["• ",(0,b.jsx)("a",{href:"https://docs.openclaw.ai/nodes/images",target:"_blank",rel:"noopener",className:"text-amber-100 underline hover:text-amber-50",children:"Setup troubleshooting →"})]})]})}),!m&&0===k.length&&(0,b.jsx)("div",{className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/20 p-3",children:(0,b.jsxs)("div",{className:"text-xs text-[color:var(--ck-text-secondary)] space-y-2",children:[(0,b.jsx)("p",{className:"font-medium text-[color:var(--ck-text-primary)]",children:"⚠️ No media generation providers detected"}),(0,b.jsxs)("div",{className:"space-y-1 text-[color:var(--ck-text-tertiary)]",children:[(0,b.jsx)("p",{children:(0,b.jsx)("strong",{children:"Setup Options:"})}),(0,b.jsxs)("p",{children:["• ",(0,b.jsx)("a",{href:"https://docs.openclaw.ai/nodes/images",target:"_blank",rel:"noopener",className:"text-blue-400 hover:text-blue-300 hover:underline",children:"Configure image generation models →"})]}),(0,b.jsxs)("p",{children:["• ",(0,b.jsx)("a",{href:"https://clawhub.ai/skills?q=image",target:"_blank",rel:"noopener",className:"text-blue-400 hover:text-blue-300 hover:underline",children:"Install image generation skills →"})]}),(0,b.jsxs)("p",{children:["• ",(0,b.jsx)("a",{href:"https://docs.openclaw.ai/setup/providers#openai",target:"_blank",rel:"noopener",className:"text-blue-400 hover:text-blue-300 hover:underline",children:"Add OpenAI API key for DALL-E →"})]})]})]})}),!m&&k.length>0&&(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"provider"}),(0,b.jsxs)("select",{value:a.provider,onChange:a=>q({provider:a.target.value}),className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",children:[(0,b.jsx)("option",{value:"auto",children:"Auto-detect (recommended)"}),k.map(a=>(0,b.jsxs)("option",{value:a.id,children:[a.name,a.available?a.models&&a.models.length>0?` (${a.models.join(", ")})`:" ✓":" ⚠️"]},a.id))]}),s&&(0,b.jsxs)("div",{className:"mt-1 space-y-1",children:[(0,b.jsxs)("div",{className:"text-[10px] text-[color:var(--ck-text-tertiary)]",children:["Supports: ",s.supportedTypes.join(", "),s.models&&s.models.length>0&&(0,b.jsxs)("span",{className:"ml-2",children:["• Models: ",s.models.join(", ")]})]}),s.error&&(0,b.jsxs)("div",{className:"mt-2 rounded-[var(--ck-radius-sm)] border border-red-400/30 bg-red-500/10 p-2 text-xs text-red-100",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"font-medium",children:"⚠️ Setup Required:"})," ",s.error]}),"openai"===s.id&&s.error.includes("OPENAI_API_KEY")&&(0,b.jsxs)("div",{className:"mt-1",children:["Add your OpenAI API key to environment variables or OpenClaw config."," ",(0,b.jsx)("a",{href:"https://docs.openclaw.ai/setup/providers#openai",target:"_blank",rel:"noopener",className:"text-red-200 underline hover:text-red-100",children:"Setup guide →"})]}),"skills"===s.id&&s.error.includes("API keys")&&(0,b.jsxs)("div",{className:"mt-1",children:["Skills require API keys (OPENAI_API_KEY, EVOLINK_API_KEY)."," ",(0,b.jsx)("a",{href:"https://clawhub.ai/skills?q=image",target:"_blank",rel:"noopener",className:"text-red-200 underline hover:text-red-100",children:"Browse skills →"})]}),s.id.startsWith("http-")&&(0,b.jsxs)("div",{className:"mt-1",children:["Start the local service or configure a different endpoint."," ",(0,b.jsx)("a",{href:"https://docs.openclaw.ai/nodes/images#local-endpoints",target:"_blank",rel:"noopener",className:"text-red-200 underline hover:text-red-100",children:"Local setup →"})]})]})]})]}),(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"prompt"}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)("textarea",{value:a.prompt,onChange:a=>q({prompt:a.target.value}),placeholder:"Describe the image or video you want to generate...",rows:3,className:"mt-1 w-full resize-none rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 p-2 text-xs text-[color:var(--ck-text-primary)]"}),(0,b.jsx)("div",{className:"absolute top-1 right-1",children:(0,b.jsxs)("select",{onChange:b=>{b.target.value&&(q({prompt:a.prompt+(a.prompt?" ":"")+b.target.value}),b.target.value="")},className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/30 px-1 py-0.5 text-[10px] text-[color:var(--ck-text-secondary)]",children:[(0,b.jsx)("option",{value:"",children:"+ Variables"}),(function(a,b,c){let d=new Set,e=[c];for(;e.length>0;){let a=e.shift();for(let c of b)c.to!==a||d.has(c.from)||(d.add(c.from),e.push(c.from))}return[...a.filter(a=>d.has(a)&&"start"!==a&&"end"!==a).map(a=>`{{${a}.output}}`),...i]})(f??[],g??[],h??"").map(a=>(0,b.jsx)("option",{value:a,children:a},a))]})})]}),(0,b.jsx)("div",{className:"mt-1 flex gap-1 flex-wrap",children:Object.entries(j).map(([a,c])=>(0,b.jsx)("button",{onClick:()=>q({prompt:c}),className:"rounded-[var(--ck-radius-sm)] bg-black/20 px-2 py-0.5 text-[9px] text-[color:var(--ck-text-tertiary)] hover:bg-black/30",type:"button",children:a},a))}),(0,b.jsx)("div",{className:"mt-1 text-[10px] text-[color:var(--ck-text-tertiary)]",children:"Use template variables for dynamic content. Quick templates available above."})]}),"image"===a.mediaType&&(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"size"}),(0,b.jsxs)("select",{value:a.size||"1024x1024",onChange:a=>q({size:a.target.value}),className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",children:[(0,b.jsx)("option",{value:"1024x1024",children:"Square (1024×1024)"}),(0,b.jsx)("option",{value:"1792x1024",children:"Landscape (1792×1024)"}),(0,b.jsx)("option",{value:"1024x1792",children:"Portrait (1024×1792)"}),(0,b.jsx)("option",{value:"512x512",children:"Small Square (512×512)"})]})]}),s?.id==="openai"&&(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"quality"}),(0,b.jsxs)("select",{value:a.quality||"standard",onChange:a=>q({quality:a.target.value}),className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",children:[(0,b.jsx)("option",{value:"standard",children:"Standard"}),(0,b.jsx)("option",{value:"hd",children:"HD (higher cost)"})]})]})]}),s?.id==="openai"&&"image"===a.mediaType&&(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"style"}),(0,b.jsxs)("select",{value:a.style||"natural",onChange:a=>q({style:a.target.value}),className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",children:[(0,b.jsx)("option",{value:"natural",children:"Natural"}),(0,b.jsx)("option",{value:"vivid",children:"Vivid"})]})]}),"video"===a.mediaType&&(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"duration"}),(0,b.jsx)("input",{type:"text",value:a.duration||"5s",onChange:a=>q({duration:a.target.value}),placeholder:"e.g., 5s, 10s",className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]"}),(0,b.jsx)("div",{className:"mt-1 text-[10px] text-[color:var(--ck-text-tertiary)]",children:'Duration in seconds (e.g., "5s", "10s")'})]}),o.length>0&&(0,b.jsxs)("div",{className:"mt-2 rounded-[var(--ck-radius-sm)] border border-red-400/30 bg-red-500/10 p-2 text-xs text-red-100",children:[(0,b.jsx)("div",{className:"font-medium mb-1",children:"Configuration Issues:"}),(0,b.jsx)("div",{className:"space-y-0.5",children:o.map((a,c)=>(0,b.jsxs)("div",{children:["• ",a]},c))})]})]})}function l(a,b){return`ck-wf-draft:${a}:${b}`}function m({teamId:a,workflowId:i,draft:j,llmTaskEnabled:m}){let n,o,p,q,r,s,t,u,v,w=(0,e.useRouter)(),[x,y]=(0,c.useState)("canvas"),[z,A]=(0,c.useState)(!1),[B,C]=(0,c.useState)({kind:"loading"}),[D,E]=(0,c.useState)(""),F=(0,c.useRef)(null),[G,H]=(0,c.useState)(!1),[I,J]=(0,c.useState)(1),K=(0,c.useRef)(null),[L,M]=(0,c.useState)(""),[N,O]=(0,c.useState)(null),[P,Q]=(0,c.useState)({kind:"select"}),[R,S]=(0,c.useState)(""),[T,U]=(0,c.useState)([]),[V,W]=(0,c.useState)(""),[X,Y]=(0,c.useState)([]),[Z,$]=(0,c.useState)(""),_=(0,c.useMemo)(()=>/Tool not available:\s*gateway/i.test(String(Z||"")),[Z]),[aa,ab]=(0,c.useState)([]),[ac,ad]=(0,c.useState)(!1),[ae,af]=(0,c.useState)(""),[ag,ah]=(0,c.useState)(""),[ai,aj]=(0,c.useState)(!1),[ak,al]=(0,c.useState)(""),[am,an]=(0,c.useState)({}),[ao,ap]=(0,c.useState)(!1),[aq,ar]=(0,c.useState)(!1),[as,at]=(0,c.useState)(""),[au,av]=(0,c.useState)(""),[aw,ax]=(0,c.useState)(""),[ay,az]=(0,c.useState)("llm"),[aA,aB]=(0,c.useState)(""),[aC,aD]=(0,c.useState)(""),[aE,aF]=(0,c.useState)("");function aG(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}function aH(a){if(!aG(a))return null;let b=aG(a.match)?a.match:null;if(!b)return null;let c=String(b.channel??"").trim();if(!c)return null;let d=String(a.agentId??"").trim(),e=String(b.accountId??"").trim(),f=aG(b.peer)?b.peer:null,g=f?String(f.kind??"").trim():"",h=f?String(f.id??"").trim():"",i=h||e;if(!i)return null;let j=d||(e?`${c}:account:${e}`:`${c}:${g}:${h}`),k=[c];return d&&k.push(d),e&&k.push(`account:${e}`),g&&h&&k.push(`${g}:${h}`),{id:j,label:k.join(" · "),channel:c,target:i}}(0,c.useEffect)(()=>{(async()=>{try{if(j){let b=sessionStorage.getItem(l(a,i));if(b)return void C({kind:"ready",jsonText:b});let c=JSON.stringify({schema:"clawkitchen.workflow.v1",id:i,name:"New workflow",timezone:"UTC",nodes:[{id:"start",type:"start",name:"start",x:80,y:80,config:{}},{id:"end",type:"end",name:"end",x:520,y:80,config:{}}],edges:[{id:"e1",from:"start",to:"end"}]},null,2)+"\n";C({kind:"ready",jsonText:c});try{sessionStorage.setItem(l(a,i),c)}catch{}return}let b=await fetch(`/api/teams/workflows?teamId=${encodeURIComponent(a)}&id=${encodeURIComponent(i)}`,{cache:"no-store"}),c=await b.json();if(!b.ok||!c.ok)throw Error(c.error||"Failed to load workflow");C({kind:"ready",jsonText:JSON.stringify(c.workflow,null,2)+"\n"})}catch(a){C({kind:"error",error:a instanceof Error?a.message:String(a)})}})()},[a,i,j]),(0,c.useEffect)(()=>{(async()=>{W("");try{let b=await fetch("/api/agents",{cache:"no-store"}),c=await b.json();if(!b.ok)throw Error(c.error||c.message||"Failed to load agents");let d=(Array.isArray(c.agents)?c.agents:[]).map(a=>({id:String(a.id??"").trim(),identityName:"string"==typeof a.identityName?a.identityName:void 0})).filter(b=>b.id&&b.id.startsWith(`${a}-`));U(d)}catch(a){W(a instanceof Error?a.message:String(a)),U([])}})()},[a]),(0,c.useEffect)(()=>{(async()=>{$("");try{let a=await fetch("/api/channels/bindings",{cache:"no-store"}),b=await a.json();if(!a.ok||!1===b.ok)throw Error(b.error||"Failed to load bindings");let c=(Array.isArray(b.bindings)?b.bindings:[]).map(aH).filter(Boolean);Y(c)}catch(a){$(a instanceof Error?a.message:String(a)),Y([])}})()},[]);let aI=(0,c.useCallback)(async()=>{al(""),aj(!0);try{let a=await fetch("/api/cron/jobs",{cache:"no-store"}),b=await a.json();if(!a.ok||!1===b.ok)throw Error(b.error||"Failed to load cron jobs");let c=Array.isArray(b.jobs)?b.jobs:[],d={};for(let a of c){if(!a||!a.enabled)continue;let b=String(a.name??""),c=String(a.payload?.message??"");if(!(b.startsWith("workflow-worker:")||c.includes("worker-tick")))continue;let e=b.match(/^workflow-worker:[^:]+:(.+)$/);if(e?.[1]){d[e[1]]=!0;continue}let f=c.match(/--agent-id\s+(\S+)/);if(f?.[1]){d[f[1]]=!0;continue}let g=String(a.agentId??"").trim();g&&"main"!==g&&(d[g]=!0)}return an(d),d}catch(a){return al(a instanceof Error?a.message:String(a)),an({}),{}}finally{aj(!1)}},[]);(0,c.useEffect)(()=>{aI()},[aI]);let aJ=(0,c.useMemo)(()=>{if("ready"!==B.kind)return{wf:null,err:""};try{return{wf:JSON.parse(B.jsonText),err:""}}catch(a){return{wf:null,err:a instanceof Error?a.message:String(a)}}},[B]),aK=(0,c.useMemo)(()=>aJ.wf?function(a){let b=[],c=[];"clawkitchen.workflow.v1"!==a.schema&&b.push(`schema must be clawkitchen.workflow.v1 (got ${String(a.schema)})`),String(a.id||"").trim()||b.push("id is required"),String(a.name||"").trim()||b.push("name is required");let d=Array.isArray(a.nodes)?a.nodes:[],e=Array.isArray(a.edges)?a.edges:[],f=Array.isArray(a.triggers)?a.triggers:[],h=d.map(a=>String(a?.id??"").trim()).filter(Boolean);h.length!==d.length&&b.push("all nodes must have a non-empty id"),g(h)!==h.length&&b.push("node ids must be unique");let i=e.map(a=>String(a?.id??"").trim()).filter(Boolean);i.length!==e.length&&b.push("all edges must have a non-empty id"),g(i)!==i.length&&b.push("edge ids must be unique");let j=new Set(h);for(let a of e){let c=String(a?.from??"").trim(),d=String(a?.to??"").trim();if(!c||!d){b.push(`edge ${String(a?.id??"(missing id)")} must have from/to`);continue}j.has(c)||b.push(`edge ${String(a.id)} references missing from node: ${c}`),j.has(d)||b.push(`edge ${String(a.id)} references missing to node: ${d}`)}let k=d.filter(a=>"start"===a.type),l=d.filter(a=>"end"===a.type);for(let a of(k.length||c.push("no start node found"),k.length>1&&c.push("multiple start nodes found (MVP supports this, but execution semantics may be ambiguous)"),l.length||c.push("no end node found"),f))if("cron"===a.kind){(String(a.id||"").trim()||b.push("cron trigger missing id"),String(a.expr||"").trim())?5!==String(a.expr||"").trim().split(/\s+/).filter(Boolean).length&&c.push(`cron trigger ${String(a.id)} expr is not 5-field: ${String(a.expr)}`):b.push(`cron trigger ${String(a.id||"(missing id)")} missing expr`);let d=a.tz?String(a.tz).trim():"";d&&"UTC"!==d&&!d.includes("/")&&c.push(`cron trigger ${String(a.id)} tz doesn't look like an IANA timezone: ${String(a.tz)}`)}let m=a.meta&&"object"==typeof a.meta&&!Array.isArray(a.meta)?a.meta:{},n=String(m.approvalTarget??"").trim();for(let a of d){if("human_approval"!==a.type)continue;let b=a.config&&"object"==typeof a.config&&!Array.isArray(a.config)?a.config:{},d=String(b.target??b.chatId??"").trim(),e=String(b.provider??b.channel??"").trim();d||n||c.push(`human_approval node ${String(a.id)} has no target (set node.config.target or workflow.meta.approvalTarget)`),!d||e||String(m.approvalProvider??"").trim()||c.push(`human_approval node ${String(a.id)} has a target but no provider (set node.config.provider or workflow.meta.approvalProvider)`)}return{errors:b,warnings:c}}(aJ.wf):{errors:[],warnings:[]},[aJ.wf]),aL=(0,c.useMemo)(()=>{let a=aJ.wf;if(!a)return{missingAgentOnNodeIds:[],requiredAgentIds:[],agentIdsMissingCron:[],ok:!0};let b=(a.nodes??[]).filter(a=>"start"!==a.type&&"end"!==a.type&&"human_approval"!==a.type),c=b.filter(a=>!String((a.config&&"object"==typeof a.config&&!Array.isArray(a.config)?a.config:{}).agentId??"").trim()).map(a=>a.id),d=Array.from(new Set(b.map(a=>String((a.config&&"object"==typeof a.config&&!Array.isArray(a.config)?a.config:{}).agentId??"").trim()).filter(Boolean))),e=d.filter(a=>!am[a]),f=0===c.length&&0===e.length;return{missingAgentOnNodeIds:c,requiredAgentIds:d,agentIdsMissingCron:e,ok:f}},[aJ.wf,am]);function aM(b){let c=JSON.stringify(b,null,2)+"\n";if(C({kind:"ready",jsonText:c}),j)try{sessionStorage.setItem(l(a,i),c)}catch{}}async function aN(){if("ready"===B.kind&&aJ.wf&&!aJ.err&&!aK.errors.length){A(!0),E("");try{let b=await fetch("/api/teams/workflows",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({teamId:a,workflow:aJ.wf})}),c=await b.json();if(!b.ok||!c.ok)throw Error(c.error||"Failed to save workflow");try{sessionStorage.removeItem(l(a,i))}catch{}}catch(a){E(a instanceof Error?a.message:String(a))}finally{A(!1)}}}if("loading"===B.kind)return(0,b.jsx)("div",{className:"ck-glass w-full p-6",children:"Loading…"});if("error"===B.kind)return(0,b.jsx)("div",{className:"ck-glass w-full p-6",children:B.error});let aO=!1===m?(0,b.jsxs)("div",{className:"mx-3 mb-3 rounded-[var(--ck-radius-sm)] border border-amber-500/30 bg-amber-500/10 p-3 text-sm",children:[(0,b.jsx)("div",{className:"font-medium text-amber-200",children:"LLM support is not enabled"}),(0,b.jsxs)("div",{className:"mt-1 text-[color:var(--ck-text-secondary)]",children:["Workflow LLM nodes require the optional built-in ",(0,b.jsx)("code",{className:"px-1",children:"llm-task"})," plugin."]}),(0,b.jsxs)("div",{className:"mt-2 text-[color:var(--ck-text-secondary)]",children:["Enable it with: ",(0,b.jsx)("code",{className:"px-1",children:"openclaw plugins enable llm-task"})," then run"," ",(0,b.jsx)("code",{className:"px-1",children:"openclaw gateway restart"}),"."]})]}):null;return(0,b.jsxs)("div",{className:"flex h-full min-h-0 w-full flex-1 flex-col",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3 px-3 py-3",children:[(0,b.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,b.jsx)("a",{href:`/teams/${encodeURIComponent(a)}?tab=workflows`,className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)] hover:bg-white/10",children:"Back"}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsxs)("div",{className:"truncate text-base font-medium text-[color:var(--ck-text-primary)]",children:[i,".workflow.json"]}),(0,b.jsxs)("div",{className:"mt-0.5 text-sm text-[color:var(--ck-text-tertiary)]",children:["Team: ",a]})]})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsxs)("div",{className:"flex overflow-hidden rounded-[var(--ck-radius-sm)] border border-white/10",children:[(0,b.jsx)("button",{type:"button",onClick:()=>y("canvas"),className:"canvas"===x?"bg-white/10 px-3 py-2 text-xs font-medium text-[color:var(--ck-text-primary)]":"bg-transparent px-3 py-2 text-xs font-medium text-[color:var(--ck-text-secondary)] hover:bg-white/5",children:"Canvas"}),(0,b.jsx)("button",{type:"button",onClick:()=>y("json"),className:"json"===x?"bg-white/10 px-3 py-2 text-xs font-medium text-[color:var(--ck-text-primary)]":"bg-transparent px-3 py-2 text-xs font-medium text-[color:var(--ck-text-secondary)] hover:bg-white/5",children:"JSON"})]}),(0,b.jsx)("input",{ref:F,type:"file",accept:"application/json,.json",className:"hidden",onChange:async b=>{let c=b.target.files?.[0];if(b.target.value="",c){E("");try{let b=await c.text(),d=JSON.parse(b);if(C({kind:"ready",jsonText:JSON.stringify(d,null,2)+"\n"}),j)try{sessionStorage.setItem(l(a,i),JSON.stringify(d,null,2)+"\n")}catch{}}catch(a){E(a instanceof Error?a.message:String(a))}}}}),(0,b.jsx)("button",{type:"button",disabled:z,onClick:()=>F.current?.click(),className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)] shadow-[var(--ck-shadow-1)] hover:bg-white/10 disabled:opacity-50",children:"Import"}),(0,b.jsx)("button",{type:"button",disabled:!aJ.wf||!!aJ.err||aK.errors.length>0,onClick:function(){if(!aJ.wf||aJ.err||aK.errors.length)return;let a=`${aJ.wf.id||i}.workflow.json`,b=new Blob([JSON.stringify(aJ.wf,null,2)+"\n"],{type:"application/json"}),c=URL.createObjectURL(b),d=document.createElement("a");d.href=c,d.download=a,document.body.appendChild(d),d.click(),d.remove(),URL.revokeObjectURL(c)},className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)] shadow-[var(--ck-shadow-1)] hover:bg-white/10 disabled:opacity-50",children:"Export"}),(0,b.jsx)("button",{type:"button",disabled:z||!aJ.wf||!!aJ.err||aK.errors.length>0,onClick:aN,className:"rounded-[var(--ck-radius-sm)] bg-[var(--ck-accent-red)] px-3 py-2 text-sm font-medium text-white shadow-[var(--ck-shadow-1)] disabled:opacity-50",children:z?"Saving…":"Save"})]})]}),aO,aJ.err?(0,b.jsxs)("div",{className:"mt-3 rounded-[var(--ck-radius-sm)] border border-yellow-400/30 bg-yellow-500/10 p-3 text-sm text-yellow-100",children:["JSON parse error: ",aJ.err]}):null,!aJ.err&&aK.errors.length?(0,b.jsxs)("div",{className:"mt-3 rounded-[var(--ck-radius-sm)] border border-red-400/30 bg-red-500/10 p-3 text-sm text-red-100",children:[(0,b.jsx)("div",{className:"font-medium",children:"Workflow validation errors"}),(0,b.jsx)("ul",{className:"mt-2 list-disc space-y-1 pl-5",children:aK.errors.map(a=>(0,b.jsx)("li",{children:a},a))})]}):null,aJ.err||aK.errors.length||!aK.warnings.length?null:(0,b.jsxs)("div",{className:"mt-3 rounded-[var(--ck-radius-sm)] border border-yellow-400/30 bg-yellow-500/10 p-3 text-sm text-yellow-100",children:[(0,b.jsx)("div",{className:"font-medium",children:"Workflow validation warnings"}),(0,b.jsx)("ul",{className:"mt-2 list-disc space-y-1 pl-5",children:aK.warnings.map(a=>(0,b.jsx)("li",{children:a},a))})]}),D?(0,b.jsx)("div",{className:"mt-3 rounded-[var(--ck-radius-sm)] border border-red-400/30 bg-red-500/10 p-3 text-sm text-red-100",children:D}):null,(0,b.jsxs)("div",{className:"flex min-h-0 flex-1 gap-0",children:["json"===x?(0,b.jsx)("textarea",{value:B.jsonText,onChange:b=>{let c=b.target.value;if(C({kind:"ready",jsonText:c}),j)try{sessionStorage.setItem(l(a,i),c)}catch{}},className:"h-full min-h-0 w-full flex-1 resize-none rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/20 p-3 font-mono text-xs text-[color:var(--ck-text-primary)]"}):(0,b.jsx)("div",{ref:K,className:"relative h-full min-h-0 w-full flex-1 overflow-auto bg-black/20",onWheel:a=>{if(!a.ctrlKey&&!a.metaKey)return;a.preventDefault();let b=a.deltaY>0?-1:1;J(a=>Math.max(.5,Math.min(2.5,Math.round((a+.1*b)*10)/10)))},onClick:a=>{if("add-node"!==P.kind)return;let b=aJ.wf;if(!b)return;let c=K.current;if(!c)return;let d=a.target;if(d&&d.closest("[data-wf-node='1']"))return;let e=c.getBoundingClientRect(),f=(a.clientX-e.left+c.scrollLeft)/I,g=(a.clientY-e.top+c.scrollTop)/I,i=P.nodeType.replace(/[^a-z0-9_\-]/gi,"_"),j=new Set(b.nodes.map(a=>a.id)),k=1,l=`${i}_${k}`;for(;j.has(l);)k++,l=`${i}_${k}`;let m=Math.max(0,f-90),n=Math.max(0,g-24),o=P.nodeType in h?{...h[P.nodeType].defaultConfig}:{},p={id:l,type:P.nodeType,name:l,x:m,y:n,config:o};aM({...b,nodes:[...b.nodes,p]}),M(l),Q({kind:"select"})},children:(0,b.jsxs)("div",{className:"relative",style:{width:2200*I,height:1200*I},children:[(0,b.jsxs)("div",{className:G?"absolute left-3 top-3 z-20 w-[44px] overflow-hidden rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/40 p-2 backdrop-blur":"absolute left-3 top-3 z-20 w-[260px] rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/40 p-2 backdrop-blur",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsx)("div",{className:G?"hidden":"text-[10px] font-medium uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"Tools"}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsxs)("div",{className:G?"hidden":"flex items-center gap-1",children:[(0,b.jsx)("button",{type:"button",onClick:()=>J(a=>Math.max(.5,Math.round((a-.1)*10)/10)),className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-[10px] text-[color:var(--ck-text-secondary)] hover:bg-white/10",title:"Zoom out (Ctrl/Cmd+wheel)",children:"-"}),(0,b.jsxs)("div",{className:"min-w-[42px] text-center text-[10px] text-[color:var(--ck-text-tertiary)]",children:[Math.round(100*I),"%"]}),(0,b.jsx)("button",{type:"button",onClick:()=>J(a=>Math.min(2.5,Math.round((a+.1)*10)/10)),className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-[10px] text-[color:var(--ck-text-secondary)] hover:bg-white/10",title:"Zoom in (Ctrl/Cmd+wheel)",children:"+"})]}),(0,b.jsx)("button",{type:"button",onClick:()=>H(a=>!a),className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-[10px] text-[color:var(--ck-text-secondary)] hover:bg-white/10",title:G?"Expand":"Collapse",children:G?">":"<"})]})]}),G?(0,b.jsx)("div",{className:"mt-2 flex flex-col items-center gap-2",children:[{key:"select",label:"Select",active:"select"===P.kind,onClick:()=>{Q({kind:"select"}),S("")},icon:(0,b.jsx)("svg",{viewBox:"0 0 24 24",className:"h-4 w-4",fill:"none","aria-hidden":"true",children:(0,b.jsx)("path",{d:"M5 4l7 16 2-7 7-2L5 4Z",stroke:"currentColor",strokeWidth:"1.6",strokeLinejoin:"round"})})},{key:"connect",label:"Connect",active:"connect"===P.kind,onClick:()=>{Q(a=>"connect"===a.kind?{kind:"select"}:{kind:"connect"}),S("")},icon:(0,b.jsxs)("svg",{viewBox:"0 0 24 24",className:"h-4 w-4",fill:"none","aria-hidden":"true",children:[(0,b.jsx)("path",{d:"M10 13a5 5 0 0 1 0-7l1.2-1.2a5 5 0 0 1 7 7L17 12",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"}),(0,b.jsx)("path",{d:"M14 11a5 5 0 0 1 0 7L12.8 19.2a5 5 0 1 1-7-7L7 12",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"})]})},{key:"llm",label:"LLM",active:"add-node"===P.kind&&"llm"===P.nodeType,onClick:()=>{Q({kind:"add-node",nodeType:"llm"}),S("")},icon:(0,b.jsx)("svg",{viewBox:"0 0 24 24",className:"h-4 w-4",fill:"none","aria-hidden":"true",children:(0,b.jsx)("path",{d:"M12 2l1.5 6.5L20 10l-6.5 1.5L12 18l-1.5-6.5L4 10l6.5-1.5L12 2Z",stroke:"currentColor",strokeWidth:"1.6",strokeLinejoin:"round"})})},{key:"tool",label:"Tool",active:"add-node"===P.kind&&"tool"===P.nodeType,onClick:()=>{Q({kind:"add-node",nodeType:"tool"}),S("")},icon:(0,b.jsxs)("svg",{viewBox:"0 0 24 24",className:"h-4 w-4",fill:"none","aria-hidden":"true",children:[(0,b.jsx)("path",{d:"M14.5 7.5l2 2-8.5 8.5H6v-2l8.5-8.5Z",stroke:"currentColor",strokeWidth:"1.6",strokeLinejoin:"round"}),(0,b.jsx)("path",{d:"M12 6a4 4 0 0 0-5 5l3-3 2 2 3-3A4 4 0 0 0 12 6Z",stroke:"currentColor",strokeWidth:"1.6",strokeLinejoin:"round"})]})},{key:"condition",label:"If",active:"add-node"===P.kind&&"condition"===P.nodeType,onClick:()=>{Q({kind:"add-node",nodeType:"condition"}),S("")},icon:(0,b.jsxs)("svg",{viewBox:"0 0 24 24",className:"h-4 w-4",fill:"none","aria-hidden":"true",children:[(0,b.jsx)("path",{d:"M7 4v7a3 3 0 0 0 3 3h7",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"}),(0,b.jsx)("path",{d:"M17 10l3 3-3 3",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})]})},{key:"delay",label:"Delay",active:"add-node"===P.kind&&"delay"===P.nodeType,onClick:()=>{Q({kind:"add-node",nodeType:"delay"}),S("")},icon:(0,b.jsxs)("svg",{viewBox:"0 0 24 24",className:"h-4 w-4",fill:"none","aria-hidden":"true",children:[(0,b.jsx)("path",{d:"M12 7v5l3 2",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"}),(0,b.jsx)("path",{d:"M21 12a9 9 0 1 1-9-9",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"})]})},{key:"approval",label:"Approval",active:"add-node"===P.kind&&"human_approval"===P.nodeType,onClick:()=>{Q({kind:"add-node",nodeType:"human_approval"}),S("")},icon:(0,b.jsx)("svg",{viewBox:"0 0 24 24",className:"h-4 w-4",fill:"none","aria-hidden":"true",children:(0,b.jsx)("path",{d:"M20 6 9 17l-5-5",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round"})})},{key:"end",label:"End",active:"add-node"===P.kind&&"end"===P.nodeType,onClick:()=>{Q({kind:"add-node",nodeType:"end"}),S("")},icon:(0,b.jsx)("svg",{viewBox:"0 0 24 24",className:"h-4 w-4",fill:"none","aria-hidden":"true",children:(0,b.jsx)("path",{d:"M7 7h10v10H7V7Z",stroke:"currentColor",strokeWidth:"1.6",strokeLinejoin:"round"})})},{key:"media-image",label:"Image",active:"add-node"===P.kind&&"media-image"===P.nodeType,onClick:()=>{Q({kind:"add-node",nodeType:"media-image"}),S("")},icon:(0,b.jsxs)("svg",{viewBox:"0 0 24 24",className:"h-4 w-4",fill:"none","aria-hidden":"true",children:[(0,b.jsx)("path",{d:"M14.5 4h-5L7 6.5 4.5 9v6L7 17.5 9.5 20h5L17 17.5 19.5 15V9L17 6.5 14.5 4Z",stroke:"currentColor",strokeWidth:"1.6",strokeLinejoin:"round"}),(0,b.jsx)("path",{d:"M9 10a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z",fill:"currentColor"}),(0,b.jsx)("path",{d:"m4.5 15 3.5-3.5L11 14l3.5-3.5 4 4",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})]})},{key:"media-video",label:"Video",active:"add-node"===P.kind&&"media-video"===P.nodeType,onClick:()=>{Q({kind:"add-node",nodeType:"media-video"}),S("")},icon:(0,b.jsxs)("svg",{viewBox:"0 0 24 24",className:"h-4 w-4",fill:"none","aria-hidden":"true",children:[(0,b.jsx)("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"}),(0,b.jsx)("path",{d:"M14 2v6h6",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"}),(0,b.jsx)("path",{d:"M10 12l4.5 2.5-4.5 2.5v-5z",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})]})}].map(a=>(0,b.jsx)("button",{type:"button",onClick:a.onClick,className:a.active?"flex h-8 w-8 items-center justify-center rounded-[var(--ck-radius-sm)] bg-white/10 text-[color:var(--ck-text-primary)]":"flex h-8 w-8 items-center justify-center rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 text-[color:var(--ck-text-secondary)] hover:bg-white/10",title:a.label,"aria-label":a.label,children:a.icon},a.key))}):(0,b.jsxs)("div",{className:"mt-2 grid grid-cols-2 gap-2",children:[(0,b.jsx)("button",{type:"button",onClick:()=>{Q({kind:"select"}),S("")},className:"select"===P.kind?"rounded-[var(--ck-radius-sm)] bg-white/10 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]":"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-xs text-[color:var(--ck-text-secondary)] hover:bg-white/10",children:"Select"}),(0,b.jsx)("button",{type:"button",onClick:()=>{Q({kind:"connect"}),S("")},className:"connect"===P.kind?"rounded-[var(--ck-radius-sm)] bg-white/10 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]":"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-xs text-[color:var(--ck-text-secondary)] hover:bg-white/10",title:"Click a node, then click another node to create an edge",children:"Connect"}),[{t:"llm",label:"LLM"},{t:"tool",label:"Tool"},{t:"condition",label:"If"},{t:"delay",label:"Delay"},{t:"human_approval",label:"Approve"},{t:"media-image",label:"🎨 Image"},{t:"media-video",label:"🎬 Video"},{t:"end",label:"End"}].map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>{Q({kind:"add-node",nodeType:a.t}),S("")},className:"add-node"===P.kind&&P.nodeType===a.t?"rounded-[var(--ck-radius-sm)] bg-white/10 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]":"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-xs text-[color:var(--ck-text-secondary)] hover:bg-white/10",title:"Select tool, then click on the canvas to place",children:["+ ",a.label]},a.t))]}),!G&&"connect"===P.kind&&R?(0,b.jsxs)("div",{className:"mt-2 text-xs text-[color:var(--ck-text-secondary)]",children:["Connecting from: ",(0,b.jsx)("span",{className:"font-mono",children:R})]}):null,G||"add-node"!==P.kind?null:(0,b.jsxs)("div",{className:"mt-2 text-xs text-[color:var(--ck-text-secondary)]",children:["Click on the canvas to place a ",(0,b.jsx)("span",{className:"font-mono",children:P.nodeType})," node."]}),(0,b.jsxs)("div",{className:"mt-3 border-t border-white/10 pt-3",children:[(0,b.jsxs)("div",{className:G?"hidden":"flex items-center justify-between gap-2",children:[(0,b.jsx)("div",{className:"text-[10px] font-medium uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"Agents"}),(0,b.jsx)("div",{className:"text-[10px] text-[color:var(--ck-text-tertiary)]",children:"drag → node"})]}),G?(0,b.jsx)("button",{type:"button",onClick:()=>H(!1),className:"mt-2 flex h-8 w-8 items-center justify-center rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 text-[color:var(--ck-text-secondary)] hover:bg-white/10",title:"Expand to see agents","aria-label":"Expand to see agents",children:(0,b.jsxs)("svg",{viewBox:"0 0 24 24",className:"h-4 w-4",fill:"none","aria-hidden":"true",children:[(0,b.jsx)("path",{d:"M16 11a4 4 0 1 0-8 0",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"}),(0,b.jsx)("path",{d:"M4 20a8 8 0 0 1 16 0",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"})]})}):(0,b.jsxs)(b.Fragment,{children:[V?(0,b.jsx)("div",{className:"mt-1 text-[11px] text-red-200",children:V}):null,(0,b.jsx)("div",{className:"mt-2 max-h-[140px] space-y-1 overflow-auto",children:T.length?T.map(c=>(0,b.jsx)("div",{draggable:!0,onDragStart:a=>{a.dataTransfer.setData("text/plain",c.id),a.dataTransfer.effectAllowed="copy"},className:"cursor-grab rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-xs text-[color:var(--ck-text-secondary)] hover:bg-white/10",title:c.id,children:c.identityName?c.identityName:c.id.replace(`${a}-`,"")},c.id)):(0,b.jsx)("div",{className:"text-xs text-[color:var(--ck-text-tertiary)]",children:"No team agents found."})})]})]})]}),(0,b.jsxs)("div",{className:"relative h-[1200px] w-[2200px]",style:{transform:`scale(${I})`,transformOrigin:"0 0"},children:[(0,b.jsx)("svg",{className:"pointer-events-none absolute inset-0 -z-10",width:2200,height:1200,style:{overflow:"visible"},children:(aJ.wf?.edges??[]).map(a=>{let c=aJ.wf;if(!c)return null;let d=c.nodes.find(b=>b.id===a.from),e=c.nodes.find(b=>b.id===a.to);if(!d||!e)return null;let f=("number"==typeof d.x?d.x:80)+90,g=("number"==typeof d.y?d.y:80)+24,h=("number"==typeof e.x?e.x:80)+90,i=("number"==typeof e.y?e.y:80)+24;return(0,b.jsx)("line",{x1:f,y1:g,x2:h,y2:i,stroke:"rgba(255,255,255,0.35)",strokeWidth:3},a.id)})}),(aJ.wf?.nodes??[]).map((c,d)=>{let e="number"==typeof c.x?c.x:80+220*d,f="number"==typeof c.y?c.y:80,g=L===c.id;return(0,b.jsxs)("div",{role:"button",tabIndex:0,"data-wf-node":"1",draggable:"select"===P.kind||"connect"===P.kind,onDragStart:a=>{"select"===P.kind&&a.dataTransfer.setData("text/plain","")},onDragOver:a=>{a.dataTransfer.types.includes("text/plain")&&a.preventDefault()},onDrop:a=>{let b=aJ.wf;if(!b)return;a.preventDefault(),a.stopPropagation();let d=String(a.dataTransfer.getData("text/plain")||"").trim();if(!d)return;let e=b.nodes.map(a=>{if(a.id!==c.id)return a;let b=a.config&&"object"==typeof a.config&&!Array.isArray(a.config)?a.config:{};return{...a,config:{...b,agentId:d}}});aM({...b,nodes:e}),M(c.id)},onClick:a=>{a.stopPropagation();let b=aJ.wf;if("connect"===P.kind){if(!b)return;if(!R){S(c.id),M(c.id);return}let a=c.id;if(S(""),!R||!a||R===a||(b.edges??[]).some(b=>b.from===R&&b.to===a))return;let d=`e${Date.now()}`;aM({...b,edges:[...b.edges??[],{id:d,from:R,to:a}]}),Q({kind:"select"});return}M(c.id)},onPointerDown:a=>{if("add-node"===P.kind||0!==a.button)return;let b=K.current;if(!b)return;let d=b.getBoundingClientRect();M(c.id);try{a.currentTarget.setPointerCapture(a.pointerId)}catch{}a.preventDefault();let g=(a.clientX-d.left+b.scrollLeft)/I,h=(a.clientY-d.top+b.scrollTop)/I;O({nodeId:c.id,dx:g-e,dy:h-f})},onPointerUp:a=>{try{a.currentTarget.releasePointerCapture(a.pointerId)}catch{}O(null)},onPointerMove:a=>{if(!N||N.nodeId!==c.id)return;let b=aJ.wf;if(!b)return;let d=K.current;if(!d)return;let e=d.getBoundingClientRect(),f=(a.clientX-e.left+d.scrollLeft)/I,g=(a.clientY-e.top+d.scrollTop)/I,h=f-N.dx,i=g-N.dy,j=b.nodes.map(a=>a.id===c.id?{...a,x:h,y:i}:a);C({kind:"ready",jsonText:JSON.stringify({...b,nodes:j},null,2)+"\n"})},className:g?"absolute z-10 cursor-grab rounded-[var(--ck-radius-sm)] border border-white/25 bg-white/10 px-3 py-2 text-xs text-[color:var(--ck-text-primary)] shadow-[var(--ck-shadow-1)]":"absolute z-10 cursor-grab rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-3 py-2 text-xs text-[color:var(--ck-text-secondary)] hover:bg-white/10",style:{left:e,top:f,width:180},children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[c.type in h&&(0,b.jsx)("span",{className:"text-lg",children:"media-image"===c.type?"🎨":"🎬"}),(0,b.jsx)("div",{className:"font-medium text-[color:var(--ck-text-primary)]",children:c.name||c.id})]}),(0,b.jsx)("div",{className:"mt-0.5 text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:c.type}),(()=>{let d=c.config&&"object"==typeof c.config&&!Array.isArray(c.config)?c.config:null;if(c.type in h&&d){let a=String(d.prompt??"").trim(),c=String(d.provider??"auto");return(0,b.jsxs)("div",{className:"mt-1 space-y-0.5",children:[a&&(0,b.jsxs)("div",{className:"text-[10px] text-[color:var(--ck-text-secondary)] truncate",title:a,children:['"',a.length>40?a.substring(0,40)+"...":a,'"']}),(0,b.jsxs)("div",{className:"text-[10px] text-[color:var(--ck-text-tertiary)]",children:["Provider: ",c]})]})}let e=d?String(d.agentId??"").trim():"";if(!e)return null;let f=e.replace(`${a}-`,"");return(0,b.jsxs)("div",{className:"mt-1 text-[10px] text-[color:var(--ck-text-secondary)]",children:["Agent: ",f]})})()]},c.id)}),(()=>{let c=aJ.wf;if(!c||!L)return null;let d=c.nodes.find(a=>a.id===L);if(!d)return null;let e="number"==typeof d.x?d.x:80,f="number"==typeof d.y?d.y:80,g=d.config&&"object"==typeof d.config&&!Array.isArray(d.config)?d.config:{},i=String(g.agentId??"").trim();return(0,b.jsxs)("div",{className:"absolute z-10 w-[320px] rounded-[var(--ck-radius-sm)] border border-white/15 bg-black/60 p-3 shadow-[var(--ck-shadow-1)] backdrop-blur",style:{left:e+200,top:f},children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsx)("div",{className:"text-xs font-medium text-[color:var(--ck-text-primary)]",children:d.name||d.id}),(0,b.jsx)("button",{type:"button",onClick:()=>M(""),className:"text-[10px] text-[color:var(--ck-text-tertiary)] hover:text-[color:var(--ck-text-primary)]",children:"Close"})]}),(0,b.jsxs)("div",{className:"mt-2 space-y-2",children:[(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"name"}),(0,b.jsx)("input",{value:String(d.name??""),onChange:a=>{let b=a.target.value;aM({...c,nodes:c.nodes.map(a=>a.id===d.id?{...a,name:b}:a)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/30 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:"Optional"})]}),(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"type"}),(0,b.jsxs)("select",{value:d.type,onChange:a=>{let b=a.target.value;aM({...c,nodes:c.nodes.map(a=>a.id===d.id?{...a,type:b}:a)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/30 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",children:[(0,b.jsx)("option",{value:"start",children:"start"}),(0,b.jsx)("option",{value:"end",children:"end"}),(0,b.jsx)("option",{value:"llm",children:"llm"}),(0,b.jsx)("option",{value:"tool",children:"tool"}),(0,b.jsx)("option",{value:"condition",children:"condition"}),(0,b.jsx)("option",{value:"delay",children:"delay"}),(0,b.jsx)("option",{value:"human_approval",children:"human_approval"}),(0,b.jsx)("option",{value:"media-image",children:"media-image"}),(0,b.jsx)("option",{value:"media-video",children:"media-video"})]})]}),(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"agentId"}),(0,b.jsx)("input",{value:i,onChange:a=>{let b=String(a.target.value||"").trim(),e={...g,...b?{agentId:b}:{}};b||delete e.agentId,aM({...c,nodes:c.nodes.map(a=>a.id===d.id?{...a,config:e}:a)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/30 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:"(drag an agent onto the node or type)"})]}),"human_approval"===d.type?(0,b.jsxs)("div",{className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/20 p-2",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"approval config"}),(0,b.jsxs)("div",{className:"mt-2 space-y-2",children:[(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"provider"}),(0,b.jsx)("input",{value:String(g.provider??""),onChange:a=>{let b=String(a.target.value||"").trim(),e={...g,...b?{provider:b}:{}};b||delete e.provider,aM({...c,nodes:c.nodes.map(a=>a.id===d.id?{...a,config:e}:a)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:"telegram"})]}),(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"target"}),(0,b.jsx)("input",{value:String(g.target??""),onChange:a=>{let b=String(a.target.value||"").trim(),e={...g,...b?{target:b}:{}};b||delete e.target,aM({...c,nodes:c.nodes.map(a=>a.id===d.id?{...a,config:e}:a)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:"(e.g. Telegram chat id)"}),(0,b.jsx)("div",{className:"mt-1 text-[10px] text-[color:var(--ck-text-tertiary)]",children:"Overrides workflow-level default when set."})]}),(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"messageTemplate (optional)"}),(0,b.jsx)("textarea",{value:String(g.messageTemplate??""),onChange:a=>{let b=String(a.target.value||""),e={...g,...b.trim()?{messageTemplate:b}:{}};b.trim()||delete e.messageTemplate,aM({...c,nodes:c.nodes.map(a=>a.id===d.id?{...a,config:e}:a)})},className:"mt-1 h-[70px] w-full resize-none rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 p-2 font-mono text-[10px] text-[color:var(--ck-text-primary)]",placeholder:"Approval needed for {{workflowName}} (run {{runId}})",spellCheck:!1}),(0,b.jsxs)("div",{className:"mt-1 text-[10px] text-[color:var(--ck-text-tertiary)]",children:["Vars: ","{{workflowName}}",", ","{{workflowId}}",", ","{{runId}}",", ","{{nodeId}}"]})]})]})]}):null,d.type in h?(0,b.jsxs)("div",{className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/20 p-2",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"Media Generation"}),(0,b.jsx)("div",{className:"mt-2",children:(0,b.jsx)(k,{config:{mediaType:"image",provider:"auto",prompt:"",...d.config||{}},onChange:a=>{aM({...c,nodes:c.nodes.map(b=>b.id===d.id?{...b,config:a}:b)})},teamId:a,workflowNodeIds:c.nodes.map(a=>a.id),workflowEdges:(c.edges??[]).map(a=>({from:a.from,to:a.to})),currentNodeId:d.id})})]}):null,(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"config (json)"}),(0,b.jsx)("textarea",{value:JSON.stringify(g,null,2),onChange:a=>{try{let b=JSON.parse(a.target.value);if(!b||"object"!=typeof b||Array.isArray(b))return;aM({...c,nodes:c.nodes.map(a=>a.id===d.id?{...a,config:b}:a)})}catch{}},className:"mt-1 h-[140px] w-full resize-none rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/30 p-2 font-mono text-[10px] text-[color:var(--ck-text-primary)]",spellCheck:!1}),(0,b.jsx)("div",{className:"mt-1 text-[10px] text-[color:var(--ck-text-tertiary)]",children:"(Edits apply when JSON is valid.)"})]})]})]})})()]})]})}),(0,b.jsx)("div",{className:"w-[380px] shrink-0 overflow-auto p-3 text-sm",children:(0,b.jsx)("div",{className:"space-y-3",children:aJ.wf?(p=String((o=aJ.wf).timezone??"").trim()||"UTC",q=o.triggers??[],s=String((r=o.meta&&"object"==typeof o.meta&&!Array.isArray(o.meta)?o.meta:{}).approvalBindingId??"").trim(),t=String(r.approvalProvider??"telegram").trim()||"telegram",u=String(r.approvalTarget??"").trim(),v=[{label:"(no preset)",expr:""},{label:"Weekdays 09:00 local",expr:"0 9 * * 1-5"},{label:"Mon/Wed/Fri 09:00 local",expr:"0 9 * * 1,3,5"},{label:"Daily 08:00 local",expr:"0 8 * * *"},{label:"Daily 12:00 local",expr:"0 12 * * *"},{label:"Mon 09:30 local",expr:"30 9 * * 1"}],(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsxs)("details",{open:!0,className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/15",children:[(0,b.jsx)("summary",{className:"cursor-pointer list-none px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)]",children:"Workflow"}),(0,b.jsx)("div",{className:"px-3 pb-3",children:(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[11px] font-medium text-[color:var(--ck-text-tertiary)]",children:"Timezone"}),(0,b.jsx)("input",{value:p,onChange:a=>{let b=String(a.target.value||"").trim()||"UTC";aM({...o,timezone:b})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-sm text-[color:var(--ck-text-primary)]",placeholder:"America/New_York"})]})})]}),(0,b.jsxs)("details",{open:!0,className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/15",children:[(0,b.jsx)("summary",{className:"cursor-pointer list-none px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)]",children:"Approval Channel"}),(0,b.jsxs)("div",{className:"px-3 pb-3 space-y-2",children:[(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"binding (recommended)"}),(0,b.jsxs)("select",{value:s,onChange:a=>{let b=String(a.target.value||"").trim(),c=X.find(a=>a.id===b);c?aM({...o,meta:{...r,approvalBindingId:c.id,approvalProvider:c.channel,approvalTarget:c.target},nodes:o.nodes.map(a=>"human_approval"===a.type?{...a,config:{...a.config&&"object"==typeof a.config&&!Array.isArray(a.config)?a.config:{},approvalBindingId:c.id,provider:c.channel,target:c.target}}:a)}):aM({...o,meta:{...r,approvalBindingId:""},nodes:o.nodes.map(a=>"human_approval"===a.type?{...a,config:{...a.config&&"object"==typeof a.config&&!Array.isArray(a.config)?a.config:{},approvalBindingId:""}}:a)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",children:[(0,b.jsx)("option",{value:"",children:"(manual)"}),X.map(a=>(0,b.jsx)("option",{value:a.id,children:a.label},a.id))]}),_?(0,b.jsxs)("div",{className:"mt-1 text-[10px] text-yellow-200",children:["Kitchen looks out of date. Run ",(0,b.jsx)("code",{className:"font-mono",children:"openclaw plugins update"})," then",(0,b.jsx)("code",{className:"ml-1 font-mono",children:"openclaw gateway restart"}),"."]}):null,Z?(0,b.jsxs)("div",{className:"mt-1 text-[10px] text-red-200",children:["Failed to load bindings: ",Z]}):null,(0,b.jsx)("div",{className:"mt-1 text-[10px] text-[color:var(--ck-text-tertiary)]",children:"Uses your existing OpenClaw bindings (recommended). Manual provider/target is an advanced override."})]}),(0,b.jsxs)("details",{className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/10",children:[(0,b.jsx)("summary",{className:"cursor-pointer list-none px-2 py-1 text-[11px] font-medium text-[color:var(--ck-text-secondary)]",children:"Advanced: manual override"}),(0,b.jsxs)("div",{className:"px-2 pb-2 pt-1 space-y-2",children:[(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"provider"}),(0,b.jsx)("input",{value:t,onChange:a=>{let b=String(a.target.value||"").trim()||"telegram";aM({...o,meta:{...r,approvalBindingId:"",approvalProvider:b},nodes:o.nodes.map(a=>"human_approval"===a.type?{...a,config:{...a.config&&"object"==typeof a.config&&!Array.isArray(a.config)?a.config:{},approvalBindingId:"",provider:b}}:a)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:"telegram"})]}),(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"target"}),(0,b.jsx)("input",{value:u,onChange:a=>{let b=String(a.target.value||"").trim();aM({...o,meta:{...r,approvalBindingId:"",approvalTarget:b},nodes:o.nodes.map(a=>"human_approval"===a.type?{...a,config:{...a.config&&"object"==typeof a.config&&!Array.isArray(a.config)?a.config:{},approvalBindingId:"",target:b}}:a)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:"(e.g. Telegram chat id)"})]})]})]})]})]}),(0,b.jsxs)("details",{open:!0,className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/15",children:[(0,b.jsx)("summary",{className:"cursor-pointer list-none px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)]",children:"Node inspector"}),(0,b.jsxs)("div",{className:"px-3 pb-3",children:[(0,b.jsx)("div",{className:"flex items-center justify-between gap-2",children:L?(0,b.jsx)("button",{type:"button",onClick:()=>{let a=o.nodes.filter(a=>a.id!==L),b=(o.edges??[]).filter(a=>a.from!==L&&a.to!==L);aM({...o,nodes:a,edges:b}),M("")},className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-[10px] font-medium text-red-100 hover:bg-white/10",children:"Delete node"}):null}),L?(n=o.nodes.find(a=>a.id===L))?(0,b.jsxs)("div",{className:"mt-3 space-y-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"id"}),(0,b.jsx)("div",{className:"mt-1 rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",children:n.id})]}),(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"name"}),(0,b.jsx)("input",{value:String(n.name??""),onChange:a=>{let b=a.target.value;aM({...o,nodes:o.nodes.map(a=>a.id===n.id?{...a,name:b}:a)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:"Optional"})]}),(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"type"}),(0,b.jsxs)("select",{value:n.type,onChange:a=>{let b=a.target.value;aM({...o,nodes:o.nodes.map(a=>a.id===n.id?{...a,type:b}:a)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",children:[(0,b.jsx)("option",{value:"start",children:"start"}),(0,b.jsx)("option",{value:"end",children:"end"}),(0,b.jsx)("option",{value:"llm",children:"llm"}),(0,b.jsx)("option",{value:"tool",children:"tool"}),(0,b.jsx)("option",{value:"condition",children:"condition"}),(0,b.jsx)("option",{value:"delay",children:"delay"}),(0,b.jsx)("option",{value:"human_approval",children:"human_approval"}),(0,b.jsx)("option",{value:"media-image",children:"media-image"}),(0,b.jsx)("option",{value:"media-video",children:"media-video"})]})]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"x"}),(0,b.jsx)("input",{type:"number",value:"number"==typeof n.x?n.x:0,onChange:a=>{let b=Number(a.target.value);aM({...o,nodes:o.nodes.map(a=>a.id===n.id?{...a,x:b}:a)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]"})]}),(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"y"}),(0,b.jsx)("input",{type:"number",value:"number"==typeof n.y?n.y:0,onChange:a=>{let b=Number(a.target.value);aM({...o,nodes:o.nodes.map(a=>a.id===n.id?{...a,y:b}:a)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]"})]})]}),n.type in h?(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"Media Generation"}),(0,b.jsx)("div",{className:"mt-1",children:(0,b.jsx)(k,{config:{mediaType:"image",provider:"auto",prompt:"",...n.config||{}},onChange:a=>{aM({...o,nodes:o.nodes.map(b=>b.id===n.id?{...b,config:a}:b)})},teamId:a,workflowNodeIds:o.nodes.map(a=>a.id),workflowEdges:(o.edges??[]).map(a=>({from:a.from,to:a.to})),currentNodeId:n.id})})]}):(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"config"}),(0,b.jsx)("pre",{className:"mt-1 max-h-[200px] overflow-auto rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 p-2 text-[10px] text-[color:var(--ck-text-secondary)]",children:JSON.stringify(n.config??{},null,2)})]})]}):(0,b.jsx)("div",{className:"mt-2 text-sm text-[color:var(--ck-text-secondary)]",children:"No node selected."}):(0,b.jsx)("div",{className:"mt-2 text-sm text-[color:var(--ck-text-secondary)]",children:"Select a node."})]})]}),(0,b.jsxs)("details",{open:!0,className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/15",children:[(0,b.jsx)("summary",{className:"cursor-pointer list-none px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)]",children:"Triggers"}),(0,b.jsxs)("div",{className:"px-3 pb-3",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"triggers"}),(0,b.jsx)("button",{type:"button",onClick:()=>{let a=`t${Date.now()}`;aM({...o,triggers:[...q,{kind:"cron",id:a,name:"New trigger",enabled:!0,expr:"0 9 * * 1-5",tz:p}]})},className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-[10px] font-medium text-[color:var(--ck-text-primary)] hover:bg-white/10",children:"+ Add"})]}),(0,b.jsx)("div",{className:"mt-2 space-y-2",children:q.length?q.map((a,c)=>{let d=a.kind,e=String(a.id??""),f=String(a.name??""),g=!!a.enabled,h=String(a.expr??""),i=String(a.tz??p),j=h.trim().split(/\s+/).filter(Boolean),k=!h.trim()||5===j.length;return(0,b.jsxs)("div",{className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 p-2",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsx)("div",{className:"text-xs text-[color:var(--ck-text-primary)]",children:f||e||`trigger-${c+1}`}),(0,b.jsx)("button",{type:"button",onClick:()=>aM({...o,triggers:q.filter((a,b)=>b!==c)}),className:"text-[10px] text-[color:var(--ck-text-tertiary)] hover:text-[color:var(--ck-text-primary)]",children:"Remove"})]}),"cron"===d?null:(0,b.jsxs)("div",{className:"mt-1 text-xs text-[color:var(--ck-text-secondary)]",children:["Unsupported trigger kind: ",String(d)]}),(0,b.jsxs)("div",{className:"mt-2 grid grid-cols-1 gap-2",children:[(0,b.jsxs)("label",{className:"flex items-center gap-2 text-xs text-[color:var(--ck-text-secondary)]",children:[(0,b.jsx)("input",{type:"checkbox",checked:g,onChange:a=>{let b=a.target.checked;aM({...o,triggers:q.map((a,d)=>d===c&&"cron"===a.kind?{...a,enabled:b}:a)})}}),"Enabled"]}),(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"name"}),(0,b.jsx)("input",{value:f,onChange:a=>{let b=a.target.value;aM({...o,triggers:q.map((a,d)=>d===c&&"cron"===a.kind?{...a,name:b}:a)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:"Content cadence"})]}),(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"schedule (cron)"}),(0,b.jsx)("input",{value:h,onChange:a=>{let b=a.target.value;aM({...o,triggers:q.map((a,d)=>d===c&&"cron"===a.kind?{...a,expr:b}:a)})},className:k?"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 font-mono text-[11px] text-[color:var(--ck-text-primary)]":"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-red-400/50 bg-black/25 px-2 py-1 font-mono text-[11px] text-[color:var(--ck-text-primary)]",placeholder:"0 9 * * 1,3,5"}),k?null:(0,b.jsxs)("div",{className:"mt-1 text-[10px] text-red-200",children:["Cron should be 5 fields (min hour dom month dow). You entered ",j.length,"."]}),(0,b.jsxs)("div",{className:"mt-1 grid grid-cols-1 gap-1",children:[(0,b.jsx)("select",{value:v.some(a=>a.expr===h)?h:"",onChange:a=>{let b=a.target.value;aM({...o,triggers:q.map((a,d)=>d===c&&"cron"===a.kind?{...a,expr:b}:a)})},className:"w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-[11px] text-[color:var(--ck-text-secondary)]",children:v.map(a=>(0,b.jsx)("option",{value:a.expr,children:a.label},a.label))}),(0,b.jsx)("div",{className:"text-[10px] text-[color:var(--ck-text-tertiary)]",children:"Presets set the cron; edit freely for advanced schedules."})]})]}),(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"timezone override"}),(0,b.jsx)("input",{value:i,onChange:a=>{let b=String(a.target.value||"").trim()||p;aM({...o,triggers:q.map((a,d)=>d===c&&"cron"===a.kind?{...a,tz:b}:a)})},className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:p})]})]})]},`${e}-${c}`)}):(0,b.jsx)("div",{className:"text-xs text-[color:var(--ck-text-secondary)]",children:"No triggers yet."})})]})]}),(0,b.jsxs)("details",{open:!0,className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/15",children:[(0,b.jsx)("summary",{className:"cursor-pointer list-none px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)]",children:"Runs"}),(0,b.jsxs)("div",{className:"px-3 pb-3",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("div",{className:"text-xs font-medium text-[color:var(--ck-text-secondary)]",children:"Runs (history)"}),(0,b.jsx)(d.default,{href:`/teams/${encodeURIComponent(a)}/runs`,className:"text-[10px] font-medium text-[color:var(--ck-text-tertiary)] hover:text-[color:var(--ck-text-secondary)] hover:underline",children:"View all →"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("button",{type:"button",disabled:z,onClick:async()=>{let b=String(o.id??"").trim();if(b){af(""),ad(!0);try{let c=await fetch("/api/teams/workflow-runs",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({teamId:a,workflowId:b,mode:"enqueue"})}),d=await c.json();if(!c.ok||!d.ok)throw Error(d.error||"Failed to enqueue run");let e=await fetch(`/api/teams/workflow-runs?teamId=${encodeURIComponent(a)}&workflowId=${encodeURIComponent(b)}`,{cache:"no-store"}),f=await e.json();if(!e.ok||!f.ok)throw Error(f.error||"Failed to refresh runs");let g=(Array.isArray(f.files)?f.files:[]).map(a=>String(a??"").trim()).filter(a=>!!a);ab(g)}catch(a){af(a instanceof Error?a.message:String(a))}finally{ad(!1)}}},className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-[10px] font-medium text-[color:var(--ck-text-primary)] hover:bg-white/10 disabled:opacity-50",children:"+ Queue run"}),(0,b.jsx)("button",{type:"button",disabled:z||ai||!aL.ok,onClick:async()=>{let b=String(o.id??"").trim();if(b){if(aL.missingAgentOnNodeIds.length)return void af("All nodes must be assigned to an agent.");if(aL.agentIdsMissingCron.length){ar(!0),at("");try{let b=await fetch("/api/cron/worker",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({action:"reconcile",teamId:a})}),c=await b.json();if(!b.ok||!1===c.ok)throw Error(c.error||"Failed to reconcile worker crons");let d=await aI(),e=aL.requiredAgentIds.filter(a=>!d[a]);if(e.length)return void af(`Cron not set up for: ${e.join(", ")}`)}catch(a){af(a instanceof Error?a.message:String(a));return}finally{ar(!1)}}af(""),ad(!0);try{let c=await fetch("/api/teams/workflow-runs",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({teamId:a,workflowId:b,mode:"run_now"})}),d=await c.json();if(!c.ok||!d.ok)throw Error(d.error||"Failed to create run");let e=String(d.runId??"").trim();if(e)return void w.push(`/teams/${a}/runs/${i}/${e}`);let f=await fetch(`/api/teams/workflow-runs?teamId=${encodeURIComponent(a)}&workflowId=${encodeURIComponent(b)}`,{cache:"no-store"}),g=await f.json();if(!f.ok||!g.ok)throw Error(g.error||"Failed to refresh runs");let h=(Array.isArray(g.files)?g.files:[]).map(a=>String(a??"").trim()).filter(a=>!!a);ab(h)}catch(a){af(a instanceof Error?a.message:String(a))}finally{ad(!1)}}},className:"rounded-[var(--ck-radius-sm)] border border-emerald-400/30 bg-emerald-500/10 px-2 py-1 text-[10px] font-medium text-emerald-50 hover:bg-emerald-500/15 disabled:opacity-50",title:"Enqueue a run for the workflow runner (Kitchen does not execute nodes)",children:"+ Run now"}),ak?(0,b.jsx)("div",{className:"ml-2 text-[10px] text-amber-100/90",title:ak,children:"Cron check unavailable"}):null]})]}),aL.missingAgentOnNodeIds.length?(0,b.jsxs)("div",{className:"mt-2 rounded-[var(--ck-radius-sm)] border border-red-400/30 bg-red-500/10 p-2 text-xs text-red-100",children:["All nodes must be assigned to an agent. Missing agentId on: ",aL.missingAgentOnNodeIds.join(", ")]}):aL.agentIdsMissingCron.length?(0,b.jsxs)("div",{className:"mt-2 rounded-[var(--ck-radius-sm)] border border-amber-400/30 bg-amber-500/10 p-2 text-xs text-amber-50",children:[(0,b.jsxs)("div",{children:["Cron not set up for: ",aL.agentIdsMissingCron.join(", ")]}),(0,b.jsxs)("div",{className:"mt-2 flex items-center gap-2",children:[(0,b.jsx)("button",{type:"button",onClick:()=>{at(""),ap(!0)},className:"rounded-[var(--ck-radius-sm)] border border-amber-300/30 bg-amber-500/10 px-2 py-1 text-[10px] font-medium text-amber-50 hover:bg-amber-500/15",children:"Install worker cron(s)"}),(0,b.jsx)("button",{type:"button",onClick:()=>void aI(),className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-[10px] font-medium text-[color:var(--ck-text-primary)] hover:bg-white/10",children:"Re-check"})]})]}):null,(0,b.jsx)(f.ConfirmationModal,{open:ao,title:"Install worker cron jobs?",busy:aq,error:as||void 0,confirmLabel:"Install",onClose:()=>{aq||ap(!1)},onConfirm:async()=>{ar(!0),at("");try{let b=await fetch("/api/cron/worker",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({action:"reconcile",teamId:a})}),c=await b.json();if(!b.ok||!1===c.ok)throw Error(c.error||"Failed to install worker crons");await aI(),ap(!1)}catch(a){at(a instanceof Error?a.message:String(a))}finally{ar(!1)}},children:(0,b.jsxs)("div",{className:"text-sm text-[color:var(--ck-text-secondary)]",children:["Kitchen will install (or enable) worker cron jobs for the following agents so this workflow can drain:",(0,b.jsx)("div",{className:"mt-2 rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 p-2 font-mono text-[11px] text-[color:var(--ck-text-primary)]",children:aL.agentIdsMissingCron.join(", ")}),(0,b.jsxs)("div",{className:"mt-2 text-xs text-[color:var(--ck-text-tertiary)]",children:["Cron cadence: every 5 minutes. The worker runs: ",(0,b.jsx)("span",{className:"font-mono",children:"openclaw recipes workflows worker-tick"}),"."]})]})}),ae?(0,b.jsx)("div",{className:"mt-2 rounded-[var(--ck-radius-sm)] border border-red-400/30 bg-red-500/10 p-2 text-xs text-red-100",children:ae}):null,(0,b.jsx)("div",{className:"mt-2 space-y-1",children:ac?(0,b.jsx)("div",{className:"text-xs text-[color:var(--ck-text-secondary)]",children:"Serving up hot…"}):aa.length?aa.slice(0,8).map(c=>{let e=String(o.id??"").trim(),f=String(c).replace(/\.run\.json$/i,""),g=ag===f,h=e?`/teams/${encodeURIComponent(a)}/runs/${encodeURIComponent(e)}/${encodeURIComponent(f)}`:"#";return(0,b.jsx)(d.default,{href:h,onClick:()=>ah(f),className:g?"block w-full rounded-[var(--ck-radius-sm)] bg-white/10 px-2 py-1 text-left text-[11px] font-mono text-[color:var(--ck-text-primary)]":"block w-full rounded-[var(--ck-radius-sm)] px-2 py-1 text-left text-[11px] font-mono text-[color:var(--ck-text-secondary)] hover:bg-white/5",title:"Open run detail",children:f},c)}):(0,b.jsx)("div",{className:"text-xs text-[color:var(--ck-text-secondary)]",children:"No runs yet."})}),(0,b.jsxs)("details",{open:!0,className:"mt-3 rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/10",children:[(0,b.jsx)("summary",{className:"cursor-pointer list-none px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)]",children:"Nodes"}),(0,b.jsxs)("div",{className:"px-3 pb-3",children:[(0,b.jsx)("div",{className:"mt-2 rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 p-2",children:(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-2",children:[(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"id"}),(0,b.jsx)("input",{value:au,onChange:a=>av(a.target.value),className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:"e.g. draft_assets"})]}),(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"name (optional)"}),(0,b.jsx)("input",{value:aw,onChange:a=>ax(a.target.value),className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:"Human-friendly label"})]}),(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"type"}),(0,b.jsxs)("select",{value:ay,onChange:a=>az(a.target.value),className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",children:[(0,b.jsx)("option",{value:"start",children:"start"}),(0,b.jsx)("option",{value:"end",children:"end"}),(0,b.jsx)("option",{value:"llm",children:"llm"}),(0,b.jsx)("option",{value:"tool",children:"tool"}),(0,b.jsx)("option",{value:"condition",children:"condition"}),(0,b.jsx)("option",{value:"delay",children:"delay"}),(0,b.jsx)("option",{value:"human_approval",children:"human_approval"}),(0,b.jsx)("option",{value:"media-image",children:"media-image"}),(0,b.jsx)("option",{value:"media-video",children:"media-video"})]})]}),(0,b.jsx)("button",{type:"button",onClick:()=>{let a=String(au||"").trim().replace(/[^a-z0-9_\-]/gi,"_");if(!a||o.nodes.some(b=>b.id===a))return;let b=o.nodes.reduce((a,b)=>"number"==typeof b.x?Math.max(a,b.x):a,80),c={id:a,type:ay,name:String(aw||"").trim()||a,x:b+220,y:80};aM({...o,nodes:[...o.nodes,c]}),M(a),av(""),ax("")},className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-[11px] font-medium text-[color:var(--ck-text-primary)] hover:bg-white/10",children:"+ Add node"})]})}),(0,b.jsx)("div",{className:"mt-2 space-y-1",children:o.nodes.map(a=>{let c=L===a.id;return(0,b.jsxs)("button",{type:"button",onClick:()=>M(a.id),className:c?"w-full rounded-[var(--ck-radius-sm)] bg-white/10 px-2 py-1 text-left text-[11px] text-[color:var(--ck-text-primary)]":"w-full rounded-[var(--ck-radius-sm)] px-2 py-1 text-left text-[11px] text-[color:var(--ck-text-secondary)] hover:bg-white/5",children:[(0,b.jsx)("span",{className:"font-mono",children:a.id}),(0,b.jsx)("span",{className:"ml-2 text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:a.type})]},a.id)})})]})]}),(0,b.jsxs)("details",{open:!0,className:"mt-3 rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/10",children:[(0,b.jsx)("summary",{className:"cursor-pointer list-none px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)]",children:"Edges"}),(0,b.jsxs)("div",{className:"px-3 pb-3",children:[(0,b.jsx)("div",{className:"mt-2 rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 p-2",children:(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-2",children:[(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"from"}),(0,b.jsxs)("select",{value:aA,onChange:a=>aB(a.target.value),className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",children:[(0,b.jsx)("option",{value:"",children:"(select)"}),o.nodes.map(a=>(0,b.jsx)("option",{value:a.id,children:a.id},a.id))]})]}),(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"to"}),(0,b.jsxs)("select",{value:aC,onChange:a=>aD(a.target.value),className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",children:[(0,b.jsx)("option",{value:"",children:"(select)"}),o.nodes.map(a=>(0,b.jsx)("option",{value:a.id,children:a.id},a.id))]})]}),(0,b.jsxs)("label",{className:"block",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]",children:"label (optional)"}),(0,b.jsx)("input",{value:aE,onChange:a=>aF(a.target.value),className:"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]",placeholder:"e.g. approve"})]}),(0,b.jsx)("button",{type:"button",onClick:()=>{let a=String(aA||"").trim(),b=String(aC||"").trim();if(!a||!b||a===b)return;let c={id:`e${Date.now()}`,from:a,to:b,...String(aE||"").trim()?{label:String(aE).trim()}:{}};aM({...o,edges:[...o.edges??[],c]}),aF("")},className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-[11px] font-medium text-[color:var(--ck-text-primary)] hover:bg-white/10",children:"+ Add edge"})]})}),(0,b.jsx)("div",{className:"mt-2 space-y-2",children:(o.edges??[]).length?(o.edges??[]).map(a=>(0,b.jsx)("div",{className:"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 p-2",children:(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsxs)("div",{className:"text-[11px] text-[color:var(--ck-text-secondary)]",children:[(0,b.jsx)("span",{className:"font-mono",children:a.from})," → ",(0,b.jsx)("span",{className:"font-mono",children:a.to}),a.label?(0,b.jsxs)("span",{className:"ml-2 text-[10px] text-[color:var(--ck-text-tertiary)]",children:["(",a.label,")"]}):null]}),(0,b.jsx)("button",{type:"button",onClick:()=>aM({...o,edges:(o.edges??[]).filter(b=>b.id!==a.id)}),className:"text-[10px] text-[color:var(--ck-text-tertiary)] hover:text-[color:var(--ck-text-primary)]",children:"Remove"})]})},a.id)):(0,b.jsx)("div",{className:"text-xs text-[color:var(--ck-text-secondary)]",children:"No edges yet."})})]})]})]})]})]})):null})})]})]})}a.s(["default",()=>m],13833)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=b1a17_app_teams_%5BteamId%5D_workflows_%5BworkflowId%5D_workflows-editor-client_tsx_5e714aa2._.js.map
|