@mndrk/agx 2.0.19 → 2.0.21
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/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/BUILD_ID +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/app-path-routes-manifest.json +15 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/build-manifest.json +5 -5
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/prerender-manifest.json +27 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/routes-manifest.json +99 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error/page/build-manifest.json +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.rsc +7 -7
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found/page/build-manifest.json +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.rsc +11 -11
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_full.segment.rsc +11 -11
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_index.segment.rsc +7 -7
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents/[id]/page/build-manifest.json +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents/page/build-manifest.json +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.rsc +10 -10
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.segments/_full.segment.rsc +10 -10
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.segments/_index.segment.rsc +4 -4
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +4 -4
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.segments/agents.segment.rsc +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agent-specs/pull/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agent-specs/pull/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agent-specs/pull/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agent-specs/pull/route.js +6 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agent-specs/pull/route.js.map +5 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agent-specs/pull/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agent-specs/pull/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agent-specs/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agent-specs/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agent-specs/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agent-specs/route.js +6 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agent-specs/route.js.map +5 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agent-specs/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agent-specs/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agents/[id]/messages/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agents/[id]/messages/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agents/export/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agents/export/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/attachments/[id]/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/attachments/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/automations/create/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/automations/create/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/automations/create/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/automations/create/route.js +11 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/automations/create/route.js.map +5 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/automations/create/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/automations/create/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/automations/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/automations/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/automations/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/automations/route.js +8 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/automations/route.js.map +5 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/automations/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/automations/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/chat/route.js +3 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/chat/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/daemon/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/daemon/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/daemon/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/daemon/route.js +7 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/daemon/route.js.map +5 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/daemon/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/daemon/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/file-search/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js +8 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.map +5 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/health/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/health/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/history/route.js +2 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/history/status/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/history/status/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/history/status/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/history/status/route.js +8 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/history/status/route.js.map +5 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/history/status/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/history/status/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/learnings/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/learnings/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/logs/route.js +2 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/logs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/logs/stream/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/logs/stream/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/memories/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/memories/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/messages/[id]/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/messages/[id]/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/messages/[id]/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/messages/[id]/route.js +8 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/messages/[id]/route.js.map +5 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/messages/[id]/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/messages/[id]/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/participants/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/participants/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/processes/route.js +1 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/processes/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/migrate-v1/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/migrate-v2/route.js +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/providers/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/providers/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/complete/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/reactions/route.js +2 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/reactions/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/schedules/debug/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/schedules/debug/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/schedules/debug/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/schedules/debug/route.js +12 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/schedules/debug/route.js.map +5 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/schedules/debug/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/schedules/debug/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/schedules/poll/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/schedules/poll/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/schedules/poll/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/schedules/poll/route.js +12 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/schedules/poll/route.js.map +5 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/schedules/poll/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/schedules/poll/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/schedules/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/schedules/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/schedules/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/schedules/route.js +11 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/schedules/route.js.map +5 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/schedules/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/schedules/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/search/route.js +2 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/search/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/status/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/summarize/route.js +2 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/summarize/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/system/db-status/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/system/db-status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/task-drafts/route.js +2 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/task-drafts/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/costs/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/dependencies/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/events/route.js +5 -4
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/history/route.js +4 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/metrics/route.js +4 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/pause/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/pause/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/replan/route.js +5 -4
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/restart/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/resume/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/rollback/route.js +4 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/route.js +6 -5
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/schedule/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/schedule/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/schedule/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/schedule/route.js +13 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/schedule/route.js.map +5 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/schedule/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/start/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/stop/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/heartbeat/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/heartbeat/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/history/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/route.js +2 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/stream/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/stream/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js +2 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js +4 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js +4 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js +6 -5
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js +6 -5
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js +4 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js +6 -5
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/route.js +3 -4
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/assign-orphans/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/extract/route.js +2 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/route.js +4 -5
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/stream/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/stream/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/teams/[id]/agents/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/teams/[id]/agents/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/teams/[id]/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/teams/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/teams/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/teams/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/threads/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/threads/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/threads/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/threads/route.js +7 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/threads/route.js.map +5 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/threads/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/threads/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/upload/[id]/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/upload/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/upload/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/upload/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/user-settings/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/user-settings/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/automations/page/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/automations/page/build-manifest.json +18 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/automations/page/next-font-manifest.json +11 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/automations/page/react-loadable-manifest.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/automations/page/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/automations/page.js +15 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/automations/page.js.map +5 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/automations/page.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/automations/page_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/automations.html +9 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/automations.meta +15 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/automations.rsc +24 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/automations.segments/_full.segment.rsc +24 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/automations.segments/_head.segment.rsc +5 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/automations.segments/_index.segment.rsc +9 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/automations.segments/_tree.segment.rsc +6 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +10 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/automations.segments/automations.segment.rsc +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board/page/build-manifest.json +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.rsc +8 -8
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/_full.segment.rsc +8 -8
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/_index.segment.rsc +4 -4
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/board/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/board.segment.rsc +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph/page/build-manifest.json +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.rsc +10 -10
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/_full.segment.rsc +10 -10
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/_index.segment.rsc +4 -4
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +4 -4
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.rsc +11 -11
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/__PAGE__.segment.rsc +5 -5
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/_full.segment.rsc +11 -11
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/_index.segment.rsc +4 -4
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/_tree.segment.rsc +4 -4
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/page/build-manifest.json +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/graph/[taskId]/page/build-manifest.json +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page/build-manifest.json +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans/page/build-manifest.json +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.html +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.rsc +10 -10
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/_full.segment.rsc +10 -10
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/_index.segment.rsc +4 -4
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +4 -4
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/projects.segment.rsc +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/page/build-manifest.json +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.rsc +10 -10
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/_full.segment.rsc +10 -10
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/_index.segment.rsc +4 -4
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +4 -4
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/projects.segment.rsc +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings/page/build-manifest.json +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.rsc +10 -10
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/_full.segment.rsc +10 -10
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/_index.segment.rsc +4 -4
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/settings.segment.rsc +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status/page/build-manifest.json +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.rsc +10 -10
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/_full.segment.rsc +10 -10
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/_index.segment.rsc +4 -4
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/status/__PAGE__.segment.rsc +4 -4
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/status.segment.rsc +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/thread/[id]/page/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/thread/[id]/page/build-manifest.json +18 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/thread/[id]/page/next-font-manifest.json +11 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/thread/[id]/page/react-loadable-manifest.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/thread/[id]/page/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/thread/[id]/page.js +15 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/thread/[id]/page.js.map +5 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/thread/[id]/page.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/thread/[id]/page_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome/page/build-manifest.json +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.rsc +10 -10
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/_full.segment.rsc +10 -10
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/_index.segment.rsc +4 -4
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +4 -4
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/welcome.segment.rsc +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app-paths-manifest.json +15 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/7e210_Agents_agx-cloud__next-internal_server_app_api_daemon_route_actions_460dc557.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/7e210_Agents_agx-cloud__next-internal_server_app_api_schedules_route_actions_5ed9b4c5.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/7e210_Agents_agx-cloud__next-internal_server_app_api_threads_route_actions_82db7ad6.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_3ca2bbaf._.js +59 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_5fae663d._.js +6 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_76882dd7._.js +6 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_8bc0eb01._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_952c3cd1._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_9628ce5d._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_9e819845._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_ba809539._.js +37 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_bcf18ef3._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_c36e217f._.js +57 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_da33b90d._.js +59 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_ddced906._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_lib_6041e016._.js +20 -14
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_lib_6aeccdc0._.js +28 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_lib_8c82981b._.js +20 -14
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_lib_f59cdd6b._.js +27 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_lib_history-store_ts_18a36482._.js +267 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_lib_history-store_ts_212f093e._.js +272 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_src_graph_api-route-utils_ts_a4223032._.js +1 -37
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_src_graph_d952417c._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_src_graph_executor_ts_909fb09e._.js +7 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_src_graph_executor_ts_f2046eef._.js +7 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_src_graph_state-machine_ts_f1062127._.js +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[externals]__0e7fdc18._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[externals]__95cc4c8f._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[externals]_child_process_964038fc._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[externals]_node:child_process_261e8bca._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__0186ab7b._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__046b76dd._.js +67 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__04b287a7._.js +46 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__be6f07e4._.js → [root-of-the-server]__063df42f._.js} +5 -5
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__0697a5e1._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__49732c7a._.js → [root-of-the-server]__0f709a1b._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__63e6c5cb._.js → [root-of-the-server]__13b504f6._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__19e44cfe._.js +51 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__1fe760fa._.js +46 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__22652fab._.js +46 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__24ee27b5._.js +46 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__26fc9e44._.js +11 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__2b443447._.js +46 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__ffe75a5a._.js → [root-of-the-server]__2c4bed32._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__8c335165._.js → [root-of-the-server]__33b4886e._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__b1ee8259._.js → [root-of-the-server]__340e043d._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__4964be9e._.js → [root-of-the-server]__396f05e4._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__3b0478a0._.js +46 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__3ea44ed6._.js +51 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__374c51fe._.js → [root-of-the-server]__3eb0261c._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__3f9ad3f9._.js +34 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__456f63a0._.js +18 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__abc1c78f._.js → [root-of-the-server]__46bdaff4._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__45a42d30._.js → [root-of-the-server]__46d75744._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__47affa3c._.js +46 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__c7021bce._.js → [root-of-the-server]__4df11656._.js} +4 -4
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__5aa0850a._.js → [root-of-the-server]__5230ca51._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__9dbd4061._.js → [root-of-the-server]__5591c3ac._.js} +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__58798787._.js +34 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__5e7badb3._.js +120 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__5ef94d8f._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__60cf31d6._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__6672d8ab._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__1af3c133._.js → [root-of-the-server]__66936a48._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__b92cc388._.js → [root-of-the-server]__68eac206._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__74d2fecb._.js → [root-of-the-server]__722918b3._.js} +33 -18
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__72b71ace._.js +46 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__cbc1e994._.js → [root-of-the-server]__72e5de3c._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__ede3487d._.js → [root-of-the-server]__7c2d99de._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__ab726f81._.js → [root-of-the-server]__81b6e844._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__11b52378._.js → [root-of-the-server]__85bc22cf._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__ee1d4f22._.js → [root-of-the-server]__8bb7292f._.js} +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__8d06b617._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__8dad8871._.js +38 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__be72cd19._.js → [root-of-the-server]__8e3310d8._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__8efdb4f2._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__1d6b3dc4._.js → [root-of-the-server]__91bd81f1._.js} +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__9aa68021._.js +46 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__9f30fcc4._.js +18 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__14c4cd90._.js → [root-of-the-server]__a00f96fc._.js} +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__757bd844._.js → [root-of-the-server]__a085810b._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__a61762e1._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__ac063e68._.js +46 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__b8bfcfcb._.js → [root-of-the-server]__ac382a0d._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__862414fb._.js → [root-of-the-server]__adbb88f2._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__f1ce0903._.js → [root-of-the-server]__b4d1f05b._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__ba50bf22._.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__138cda76._.js → [root-of-the-server]__bdc09209._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__bf5839ef._.js → [root-of-the-server]__bf0cbc6e._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__b1710728._.js → [root-of-the-server]__bf5a0ce7._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__bf971f10._.js +46 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__4e8944f5._.js → [root-of-the-server]__c24f04db._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__fffe72ac._.js → [root-of-the-server]__c323854f._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__c6bd42f9._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__bd492c8b._.js → [root-of-the-server]__c9709c27._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__7f3fb99b._.js → [root-of-the-server]__cd5bcc56._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__34e15c3b._.js → [root-of-the-server]__d14eb0a6._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__d2fefbd1._.js +42 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__d63bbc58._.js +18 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__b773a26b._.js → [root-of-the-server]__d6683955._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__ccad2301._.js → [root-of-the-server]__d85e343d._.js} +4 -4
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__61362d2c._.js → [root-of-the-server]__dcf2eb74._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__3da4ecb4._.js → [root-of-the-server]__e9beb9cc._.js} +9 -9
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__efe9c32e._.js +46 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__f5c22872._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__f69579b0._.js +7 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__f6c2e399._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__fc0e10fd._.js +16 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__fb7ad71b._.js → [root-of-the-server]__fd8f8587._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/a2576__next-internal_server_app_api_automations_create_route_actions_29db83ef.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/a2576__next-internal_server_app_api_tasks_[id]_graph_schedule_route_actions_89be0214.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/a7deb_server_app_api_graphs_[graphId]_nodes_[nodeId]_route_actions_c21d21fa.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ad555_agx-cloud__next-internal_server_app_api_agent-specs_pull_route_actions_70a08635.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ad555_agx-cloud__next-internal_server_app_api_agent-specs_route_actions_d0754625.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ad555_agx-cloud__next-internal_server_app_api_automations_route_actions_44d1c70b.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ad555_agx-cloud__next-internal_server_app_api_history_status_route_actions_9a73282a.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ad555_agx-cloud__next-internal_server_app_api_messages_[id]_route_actions_cb4e2f6a.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ad555_agx-cloud__next-internal_server_app_api_schedules_debug_route_actions_425c29e2.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ad555_agx-cloud__next-internal_server_app_api_schedules_poll_route_actions_233e0ae1.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ae43b_next_1b1bf56d._.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ae43b_next_dist_esm_build_templates_app-route_122e31fe.js +36 -29
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ae43b_next_dist_esm_build_templates_app-route_23af234a.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ae43b_next_dist_esm_build_templates_app-route_4a3a22f0.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ae43b_next_dist_esm_build_templates_app-route_67fdd97c.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ae43b_next_dist_esm_build_templates_app-route_880e2bee.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ae43b_next_dist_esm_build_templates_app-route_e58fad7f.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ae43b_zod_v4_classic_external_a0e58526.js +39 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/7e210_Agents_agx-cloud__next-internal_server_app_automations_page_actions_a41b30ff.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/7e210_Agents_agx-cloud__next-internal_server_app_thread_[id]_page_actions_24c139ff.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_1844440c._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_215731e9._.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/{Projects_Agents_agx-cloud_b5ebb745._.js → Projects_Agents_agx-cloud_2d933c87._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_57177abe._.js +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_7bc01e46._.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_8feb2597._.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_910bea9c._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_97e800de._.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_98b0d6b5._.js +95 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_9a131af1._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_app_agents_[id]_page_tsx_8537539a._.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_app_agents_page_tsx_ff7a8da5._.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_app_automations_page_tsx_a436c5c3._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_app_execution-graph_page_tsx_a9c51dd9._.js +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_app_projects_[slug]_graph_[taskId]_page_tsx_e2a98e96._.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_c21b20ed._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_c41b656c._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_cf9585af._.js +95 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_components_chat-ui_f59beea5._.js +8 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_components_thread_WorkspaceSidebar_tsx_d9096df7._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_d28d696e._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_d2d4c5b2._.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_e4a76bb1._.js +95 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_e984344e._.js +8 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_f8008d5e._.js +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__0920e664._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__14d40aef._.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__4e6f6323._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__992770bc._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__a620cb30._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__b57fab44._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__bf2094fb._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__d27edb13._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__f4c147fc._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/{ae43b_lucide-react_dist_esm_4dbe1295._.js → ae43b_lucide-react_dist_esm_09cdac5d._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/ae43b_lucide-react_dist_esm_icons_05f9e494._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/ae43b_lucide-react_dist_esm_icons_314a7b36._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/ae43b_next_dist_654c0925._.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/functions-config-manifest.json +11 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/instrumentation.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/middleware-build-manifest.js +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/middleware-manifest.json +5 -5
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/next-font-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/next-font-manifest.json +8 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/404.html +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/500.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/server-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/server-reference-manifest.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/039f796d375200a8.js +6 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/{f0f1784b1696ffba.js → 1b42fc89263c54c8.js} +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/1d5d336e1ff735e9.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/29122f5dce535a47.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/2cca48d7397079fd.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/30e06828bbe71acf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/45a830ef386d94b7.js +30 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/4823cc26faf177cc.js +6 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/4b898f03243fbc75.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/5513d3b008f2a310.js +5 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/{e4e1f0e19efe31cb.js → 569d7016b7ded6da.js} +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/{0de28ce711b17cb2.js → 5ca34694f33670ce.js} +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/5f1799db34ac10e0.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/63937cbdeb9bfca4.css +2 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/6df9e84bb811cc2a.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/6ef37b449535a8da.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/7038e769a800fef2.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/75f9c66f924714a8.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/76122a75765b26ba.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/79b8581dc5b837d0.js +93 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/850d8982fc357563.js +93 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/{cc995b38ae16ee12.js → 8d04139a9f807073.js} +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/{2d8cc58676973d4c.js → 9a9b4e82f7981004.js} +4 -4
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/a4539ce5f705339a.js +30 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/a6ba65533b30e424.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/a8e8ef440c4daa5a.css +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/baa141e07e9dd581.js +93 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/{b24b4ec48b2cc8e8.js → d04e8e686e79ea01.js} +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/e6416bbdc034c03b.css +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/{1b5be5e5fcbdc0e4.js → f23570374ba0e69b.js} +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/{beaa6c9ec1984b1a.js → f6422f099417d0ed.js} +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/{turbopack-00b77899bb57f964.js → turbopack-5e09743330609dd5.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/agents/[id]/page.tsx +61 -5
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/agents/page.tsx +609 -320
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/agent-specs/pull/route.ts +38 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/agent-specs/route.ts +76 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/automations/create/route.ts +172 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/automations/route.ts +71 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/chat/route.ts +156 -13
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/daemon/route.ts +86 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/graphs/[graphId]/nodes/[nodeId]/route.ts +31 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/history/route.ts +5 -18
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/history/status/route.ts +356 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/logs/route.ts +10 -10
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/messages/[id]/route.ts +14 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/processes/route.ts +31 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/reactions/route.ts +6 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/schedules/debug/route.ts +194 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/schedules/poll/route.ts +83 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/schedules/route.ts +260 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/tasks/[id]/graph/replan/route.ts +28 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/tasks/[id]/graph/restart/route.ts +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/tasks/[id]/graph/route.ts +31 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/tasks/[id]/graph/schedule/route.ts +216 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/threads/route.ts +172 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/automations/page.tsx +46 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/projects/[slug]/layout.tsx +1 -20
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/projects/[slug]/page.tsx +14 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/thread/[id]/page.tsx +9 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/AutomationsBoard.tsx +628 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/DaemonBar.tsx +127 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/Layout.tsx +6 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/NowRunningPanel.tsx +9 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/ChatContainer.tsx +213 -37
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/Composer.tsx +169 -47
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/Markdown.tsx +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/MentionPopover.tsx +37 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/MessageList.tsx +55 -12
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/ParticipantBar.tsx +237 -80
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/ThreadView.tsx +53 -9
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/TypingIndicator.tsx +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/graph/ExecutionGraphPanel.tsx +6 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/graph/FunctionNodeComponent.tsx +36 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/graph/graph-derived.ts +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/thread/WorkspaceSidebar.tsx +67 -378
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/db/sqlite/001_agx_board_schema.sql +4 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/hooks/useAutomations.ts +87 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/hooks/useGroupChat.ts +34 -164
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/hooks/useMentionAutocomplete.ts +36 -7
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/hooks/useProcessPolling.ts +148 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/hooks/useTasks.ts +7 -84
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/hooks/useThreadState.ts +11 -8
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/instrumentation.ts +61 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/agent-process-registry.ts +184 -46
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/history-store.ts +603 -68
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/participants-store.ts +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/sqlite-query-adapter.ts +46 -21
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/storage/thread-adapter.ts +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/stream-multiplexer.ts +143 -44
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/tiptap/composer-mentions.ts +37 -5
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/tiptap/serialize-composer.ts +12 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/migrations/sqlite_schema.sql +4 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/package-lock.json +22 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/package.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/scripts/debug-schedule.sh +108 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/src/graph/api-schemas.ts +35 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/src/graph/executor.ts +195 -4
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/src/graph/function-executor.ts +154 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/src/graph/nl-schedule.ts +168 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/src/graph/schedule-runner.ts +357 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/src/graph/schedule.ts +207 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/src/graph/scheduler.ts +303 -6
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/src/graph/state-machine.ts +81 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/src/graph/store.ts +89 -12
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/src/graph/types.ts +67 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/src/graph/work-dispatcher.ts +174 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/styles/composer-pills.css +35 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/styles/workspaceSidebar.css +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/tsconfig.tsbuildinfo +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/worker/index.js +39 -18
- package/lib/cli/runCli.js +5 -5
- package/lib/commands/chat.js +134 -0
- package/lib/commands/thread.js +47 -0
- package/lib/executor.js +4 -2
- package/lib/prompts/cloudTask.js +1 -1
- package/lib/prompts/templates.js +4 -0
- package/lib/storage/runs.js +4 -2
- package/lib/strip-markers.js +28 -0
- package/package.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_0b687838._.js +0 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_34e0afb9._.js +0 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_36b0cd80._.js +0 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_46b6e127._.js +0 -6
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_5590d478._.js +0 -6
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_71f311d9._.js +0 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_8ae140f3._.js +0 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_97640a6f._.js +0 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_be95cef7._.js +0 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_c79639e2._.js +0 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_d237c059._.js +0 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_ef3cf579._.js +0 -37
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_fce6d317._.js +0 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_lib_6a5d1c80._.js +0 -61
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_src_graph_09bbcfbb._.js +0 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_src_graph_4b26122b._.js +0 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__2435226f._.js +0 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__24676138._.js +0 -31
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__325b119d._.js +0 -162
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__39768bc0._.js +0 -206
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__3a60a457._.js +0 -162
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__46443bd1._.js +0 -52
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__481a7f9c._.js +0 -4
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__541b6536._.js +0 -162
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__5ad371f3._.js +0 -197
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__950e925a._.js +0 -31
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__bde5cdeb._.js +0 -177
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__c07f5dbd._.js +0 -162
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__d339de9d._.js +0 -201
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ae43b_next_dist_esm_build_templates_app-route_3dd01f5e.js +0 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_199f4916._.js +0 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_1a89ff22._.js +0 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_23a74345._.js +0 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_274b1253._.js +0 -100
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_484f7980._.js +0 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_959504c8._.js +0 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_ba18e49a._.js +0 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_bc8ca750._.js +0 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_d54d1b77._.js +0 -8
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_dee298a4._.js +0 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__26a59070._.js +0 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__6e065405._.js +0 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__9602ff02._.js +0 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__96241c2a._.js +0 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/05abf1bd00d94cf8.js +0 -5
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/083833a7779b03e4.css +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/3192d43fdf9f54f2.js +0 -30
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/3791d58026009409.js +0 -6
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/3aca89adae7e24b9.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/421f6f6f7517adad.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/4a8f67c6ca864f30.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/55c07b9b3795a4db.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/7eabb545e691cc51.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/95901ed98d4ed7b1.css +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/a25163733aaa771d.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/a5524fedec1d4539.js +0 -30
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/ab258333bc0c3968.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/ae11a9833582a364.css +0 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/b2a72731a86997f1.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/c5f5dd228f62488a.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/e085ba1d1f43e1f7.js +0 -98
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/edb4b4f3e9dd60bf.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/fe2de0dba3b74ebb.js +0 -1
- /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{EbONDluvy2fl8DS2zVwK6 → mki871J_uv4-_79qiPJ1I}/_buildManifest.js +0 -0
- /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{EbONDluvy2fl8DS2zVwK6 → mki871J_uv4-_79qiPJ1I}/_clientMiddlewareManifest.json +0 -0
- /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{EbONDluvy2fl8DS2zVwK6 → mki871J_uv4-_79qiPJ1I}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
module.exports=[23886,a=>{"use strict";let b;var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t=a.i(43429),u=a.i(58917),v=a.i(78364),w=a.i(43815),x=(a,b)=>()=>(b||a((b={exports:{}}).exports,b),b.exports),y=x((a,b)=>{var c=Object.defineProperty,d=(a,b)=>()=>(b||a((b={exports:{}}).exports,b),b.exports),e=(a,b,d)=>{let e;return(e="symbol"!=typeof b?b+"":b)in a?c(a,e,{enumerable:!0,configurable:!0,writable:!0,value:d}):a[e]=d},f=d((a,b)=>{function c(a,b){a[b]?a[b]++:a[b]=1}function d(a,b){--a[b]||delete a[b]}function f(a,b,c,d){var e=""+b,f=""+c;if(!a&&e>f){var g=e;e=f,f=g}return e+"\x01"+f+"\x01"+(void 0===d?"\0":d)}function g(a,b){return f(a,b.v,b.w,b.name)}b.exports=class{constructor(a){e(this,"_isDirected",!0),e(this,"_isMultigraph",!1),e(this,"_isCompound",!1),e(this,"_label"),e(this,"_defaultNodeLabelFn",()=>{}),e(this,"_defaultEdgeLabelFn",()=>{}),e(this,"_nodes",{}),e(this,"_in",{}),e(this,"_preds",{}),e(this,"_out",{}),e(this,"_sucs",{}),e(this,"_edgeObjs",{}),e(this,"_edgeLabels",{}),e(this,"_nodeCount",0),e(this,"_edgeCount",0),e(this,"_parent"),e(this,"_children"),a&&(this._isDirected=!Object.hasOwn(a,"directed")||a.directed,this._isMultigraph=!!Object.hasOwn(a,"multigraph")&&a.multigraph,this._isCompound=!!Object.hasOwn(a,"compound")&&a.compound),this._isCompound&&(this._parent={},this._children={},this._children["\0"]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(a){return this._label=a,this}graph(){return this._label}setDefaultNodeLabel(a){return this._defaultNodeLabelFn=a,"function"!=typeof a&&(this._defaultNodeLabelFn=()=>a),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var a=this;return this.nodes().filter(b=>0===Object.keys(a._in[b]).length)}sinks(){var a=this;return this.nodes().filter(b=>0===Object.keys(a._out[b]).length)}setNodes(a,b){var c=arguments,d=this;return a.forEach(function(a){c.length>1?d.setNode(a,b):d.setNode(a)}),this}setNode(a,b){return Object.hasOwn(this._nodes,a)?arguments.length>1&&(this._nodes[a]=b):(this._nodes[a]=arguments.length>1?b:this._defaultNodeLabelFn(a),this._isCompound&&(this._parent[a]="\0",this._children[a]={},this._children["\0"][a]=!0),this._in[a]={},this._preds[a]={},this._out[a]={},this._sucs[a]={},++this._nodeCount),this}node(a){return this._nodes[a]}hasNode(a){return Object.hasOwn(this._nodes,a)}removeNode(a){var b=this;if(Object.hasOwn(this._nodes,a)){var c=a=>b.removeEdge(b._edgeObjs[a]);delete this._nodes[a],this._isCompound&&(this._removeFromParentsChildList(a),delete this._parent[a],this.children(a).forEach(function(a){b.setParent(a)}),delete this._children[a]),Object.keys(this._in[a]).forEach(c),delete this._in[a],delete this._preds[a],Object.keys(this._out[a]).forEach(c),delete this._out[a],delete this._sucs[a],--this._nodeCount}return this}setParent(a,b){if(!this._isCompound)throw Error("Cannot set parent in a non-compound graph");if(void 0===b)b="\0";else{b+="";for(var c=b;void 0!==c;c=this.parent(c))if(c===a)throw Error("Setting "+b+" as parent of "+a+" would create a cycle");this.setNode(b)}return this.setNode(a),this._removeFromParentsChildList(a),this._parent[a]=b,this._children[b][a]=!0,this}_removeFromParentsChildList(a){delete this._children[this._parent[a]][a]}parent(a){if(this._isCompound){var b=this._parent[a];if("\0"!==b)return b}}children(a="\0"){if(this._isCompound){var b=this._children[a];if(b)return Object.keys(b)}else{if("\0"===a)return this.nodes();if(this.hasNode(a))return[]}}predecessors(a){var b=this._preds[a];if(b)return Object.keys(b)}successors(a){var b=this._sucs[a];if(b)return Object.keys(b)}neighbors(a){var b=this.predecessors(a);if(b){let d=new Set(b);for(var c of this.successors(a))d.add(c);return Array.from(d.values())}}isLeaf(a){return 0===(this.isDirected()?this.successors(a):this.neighbors(a)).length}filterNodes(a){var b=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});b.setGraph(this.graph());var c=this;Object.entries(this._nodes).forEach(function([c,d]){a(c)&&b.setNode(c,d)}),Object.values(this._edgeObjs).forEach(function(a){b.hasNode(a.v)&&b.hasNode(a.w)&&b.setEdge(a,c.edge(a))});var d={};return this._isCompound&&b.nodes().forEach(a=>b.setParent(a,function a(e){var f=c.parent(e);return void 0===f||b.hasNode(f)?(d[e]=f,f):f in d?d[f]:a(f)}(a))),b}setDefaultEdgeLabel(a){return this._defaultEdgeLabelFn=a,"function"!=typeof a&&(this._defaultEdgeLabelFn=()=>a),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(a,b){var c=this,d=arguments;return a.reduce(function(a,e){return d.length>1?c.setEdge(a,e,b):c.setEdge(a,e),e}),this}setEdge(){var a,b,d,e,g=!1,h=arguments[0];"object"==typeof h&&null!==h&&"v"in h?(a=h.v,b=h.w,d=h.name,2==arguments.length&&(e=arguments[1],g=!0)):(a=h,b=arguments[1],d=arguments[3],arguments.length>2&&(e=arguments[2],g=!0)),a=""+a,b=""+b,void 0!==d&&(d=""+d);var i=f(this._isDirected,a,b,d);if(Object.hasOwn(this._edgeLabels,i))return g&&(this._edgeLabels[i]=e),this;if(void 0!==d&&!this._isMultigraph)throw Error("Cannot set a named edge when isMultigraph = false");this.setNode(a),this.setNode(b),this._edgeLabels[i]=g?e:this._defaultEdgeLabelFn(a,b,d);var j=function(a,b,c,d){var e=""+b,f=""+c;if(!a&&e>f){var g=e;e=f,f=g}var h={v:e,w:f};return d&&(h.name=d),h}(this._isDirected,a,b,d);return a=j.v,b=j.w,Object.freeze(j),this._edgeObjs[i]=j,c(this._preds[b],a),c(this._sucs[a],b),this._in[b][i]=j,this._out[a][i]=j,this._edgeCount++,this}edge(a,b,c){var d=1==arguments.length?g(this._isDirected,arguments[0]):f(this._isDirected,a,b,c);return this._edgeLabels[d]}edgeAsObj(){let a=this.edge(...arguments);return"object"!=typeof a?{label:a}:a}hasEdge(a,b,c){var d=1==arguments.length?g(this._isDirected,arguments[0]):f(this._isDirected,a,b,c);return Object.hasOwn(this._edgeLabels,d)}removeEdge(a,b,c){var e=1==arguments.length?g(this._isDirected,arguments[0]):f(this._isDirected,a,b,c),h=this._edgeObjs[e];return h&&(a=h.v,b=h.w,delete this._edgeLabels[e],delete this._edgeObjs[e],d(this._preds[b],a),d(this._sucs[a],b),delete this._in[b][e],delete this._out[a][e],this._edgeCount--),this}inEdges(a,b){return this.isDirected()?this.filterEdges(this._in[a],a,b):this.nodeEdges(a,b)}outEdges(a,b){return this.isDirected()?this.filterEdges(this._out[a],a,b):this.nodeEdges(a,b)}nodeEdges(a,b){if(a in this._nodes)return this.filterEdges({...this._in[a],...this._out[a]},a,b)}filterEdges(a,b,c){if(a){var d=Object.values(a);return c?d.filter(function(a){return a.v===b&&a.w===c||a.v===c&&a.w===b}):d}}}}),g=d((a,b)=>{b.exports="3.0.2"}),h=d((a,b)=>{b.exports={Graph:f(),version:g()}}),i=d((a,b)=>{var c=f();b.exports={write:function(a){var b,c,d={options:{directed:a.isDirected(),multigraph:a.isMultigraph(),compound:a.isCompound()},nodes:(b=a).nodes().map(function(a){var c=b.node(a),d=b.parent(a),e={v:a};return void 0!==c&&(e.value=c),void 0!==d&&(e.parent=d),e}),edges:(c=a).edges().map(function(a){var b=c.edge(a),d={v:a.v,w:a.w};return void 0!==a.name&&(d.name=a.name),void 0!==b&&(d.value=b),d})};return void 0!==a.graph()&&(d.value=structuredClone(a.graph())),d},read:function(a){var b=new c(a.options).setGraph(a.value);return a.nodes.forEach(function(a){b.setNode(a.v,a.value),a.parent&&b.setParent(a.v,a.parent)}),a.edges.forEach(function(a){b.setEdge({v:a.v,w:a.w,name:a.name},a.value)}),b}}}),j=d((a,b)=>{b.exports=function(a,b,d,e){return function(a,b,c,d){var e={},f=!0,g=0,h=a.nodes(),i=function(a){var b=c(a);e[a.v].distance+b<e[a.w].distance&&(e[a.w]={distance:e[a.v].distance+b,predecessor:a.v},f=!0)},j=function(){h.forEach(function(a){d(a).forEach(function(b){var c=b.v===a?b.v:b.w,d=c===b.v?b.w:b.v;i({v:c,w:d})})})};h.forEach(function(a){e[a]={distance:a===b?0:1/0}});for(var k=h.length,l=1;l<k&&(f=!1,g++,j(),f);l++);if(g===k-1&&(f=!1,j(),f))throw Error("The graph contains a negative weight cycle");return e}(a,String(b),d||c,e||function(b){return a.outEdges(b)})};var c=()=>1}),k=d((a,b)=>{b.exports=function(a){var b,c={},d=[];return a.nodes().forEach(function(e){b=[],function d(e){Object.hasOwn(c,e)||(c[e]=!0,b.push(e),a.successors(e).forEach(d),a.predecessors(e).forEach(d))}(e),b.length&&d.push(b)}),d}}),l=d((a,b)=>{b.exports=class{constructor(){e(this,"_arr",[]),e(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(a){return a.key})}has(a){return Object.hasOwn(this._keyIndices,a)}priority(a){var b=this._keyIndices[a];if(void 0!==b)return this._arr[b].priority}min(){if(0===this.size())throw Error("Queue underflow");return this._arr[0].key}add(a,b){var c=this._keyIndices;if(!Object.hasOwn(c,a=String(a))){var d=this._arr,e=d.length;return c[a]=e,d.push({key:a,priority:b}),this._decrease(e),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var a=this._arr.pop();return delete this._keyIndices[a.key],this._heapify(0),a.key}decrease(a,b){var c=this._keyIndices[a];if(b>this._arr[c].priority)throw Error("New priority is greater than current priority. Key: "+a+" Old: "+this._arr[c].priority+" New: "+b);this._arr[c].priority=b,this._decrease(c)}_heapify(a){var b=this._arr,c=2*a,d=c+1,e=a;c<b.length&&(e=b[c].priority<b[e].priority?c:e,d<b.length&&(e=b[d].priority<b[e].priority?d:e),e!==a&&(this._swap(a,e),this._heapify(e)))}_decrease(a){for(var b,c=this._arr,d=c[a].priority;0!==a&&!(c[b=a>>1].priority<d);)this._swap(a,b),a=b}_swap(a,b){var c=this._arr,d=this._keyIndices,e=c[a],f=c[b];c[a]=f,c[b]=e,d[f.key]=a,d[e.key]=b}}}),m=d((a,b)=>{var c=l();b.exports=function(a,b,e,f){return function(a,b,d,e){var f,g,h={},i=new c,j=function(a){var b=a.v!==f?a.v:a.w,c=h[b],e=d(a),j=g.distance+e;if(e<0)throw Error("dijkstra does not allow negative edge weights. Bad edge: "+a+" Weight: "+e);j<c.distance&&(c.distance=j,c.predecessor=f,i.decrease(b,j))};for(a.nodes().forEach(function(a){var c=a===b?0:1/0;h[a]={distance:c},i.add(a,c)});i.size()>0&&(g=h[f=i.removeMin()]).distance!==1/0;)e(f).forEach(j);return h}(a,String(b),e||d,f||function(b){return a.outEdges(b)})};var d=()=>1}),n=d((a,b)=>{var c=m();b.exports=function(a,b,d){return a.nodes().reduce(function(e,f){return e[f]=c(a,f,b,d),e},{})}}),o=d((a,b)=>{b.exports=function(a,b,c){if(void 0!==a[b].predecessor)throw Error("Invalid source vertex");if(void 0===a[c].predecessor&&c!==b)throw Error("Invalid destination vertex");return{weight:a[c].distance,path:function(a,b,c){for(var d=[],e=c;e!==b;)d.push(e),e=a[e].predecessor;return d.push(b),d.reverse()}(a,b,c)}}}),p=d((a,b)=>{b.exports=function(a){var b=0,c=[],d={},e=[];return a.nodes().forEach(function(f){Object.hasOwn(d,f)||function f(g){var h=d[g]={onStack:!0,lowlink:b,index:b++};if(c.push(g),a.successors(g).forEach(function(a){Object.hasOwn(d,a)?d[a].onStack&&(h.lowlink=Math.min(h.lowlink,d[a].index)):(f(a),h.lowlink=Math.min(h.lowlink,d[a].lowlink))}),h.lowlink===h.index){var i,j=[];do d[i=c.pop()].onStack=!1,j.push(i);while(g!==i)e.push(j)}}(f)}),e}}),q=d((a,b)=>{var c=p();b.exports=function(a){return c(a).filter(function(b){return b.length>1||1===b.length&&a.hasEdge(b[0],b[0])})}}),r=d((a,b)=>{b.exports=function(a,b,d){var e,f,g,h,i;return e=a,f=b||c,g=d||function(b){return a.outEdges(b)},h={},(i=e.nodes()).forEach(function(a){h[a]={},h[a][a]={distance:0},i.forEach(function(b){a!==b&&(h[a][b]={distance:1/0})}),g(a).forEach(function(b){var c=b.v===a?b.w:b.v,d=f(b);h[a][c]={distance:d,predecessor:a}})}),i.forEach(function(a){var b=h[a];i.forEach(function(c){var d=h[c];i.forEach(function(c){var e=d[a],f=b[c],g=d[c],h=e.distance+f.distance;h<g.distance&&(g.distance=h,g.predecessor=f.predecessor)})})}),h};var c=()=>1}),s=d((a,b)=>{function c(a){var b={},c={},e=[];if(a.sinks().forEach(function f(g){if(Object.hasOwn(c,g))throw new d;Object.hasOwn(b,g)||(c[g]=!0,b[g]=!0,a.predecessors(g).forEach(f),delete c[g],e.push(g))}),Object.keys(b).length!==a.nodeCount())throw new d;return e}var d=class extends Error{constructor(){super(...arguments)}};b.exports=c,c.CycleException=d}),t=d((a,b)=>{var c=s();b.exports=function(a){try{c(a)}catch(a){if(a instanceof c.CycleException)return!1;throw a}return!0}}),u=d((a,b)=>{b.exports=function(a,b,c,d,e){Array.isArray(b)||(b=[b]);var f=(a.isDirected()?a.successors:a.neighbors).bind(a),g={};return b.forEach(function(b){if(!a.hasNode(b))throw Error("Graph does not have node: "+b);e=function a(b,c,d,e,f,g,h){return Object.hasOwn(e,c)||(e[c]=!0,d||(h=g(h,c)),f(c).forEach(function(c){h=a(b,c,d,e,f,g,h)}),d&&(h=g(h,c))),h}(a,b,"post"===c,g,f,d,e)}),e}}),v=d((a,b)=>{var c=u();b.exports=function(a,b,d){return c(a,b,d,function(a,b){return a.push(b),a},[])}}),w=d((a,b)=>{var c=v();b.exports=function(a,b){return c(a,b,"post")}}),x=d((a,b)=>{var c=v();b.exports=function(a,b){return c(a,b,"pre")}}),y=d((a,b)=>{var c=f(),d=l();b.exports=function(a,b){var e,f=new c,g={},h=new d;function i(a){var c=a.v===e?a.w:a.v,d=h.priority(c);if(void 0!==d){var f=b(a);f<d&&(g[c]=e,h.decrease(c,f))}}if(0===a.nodeCount())return f;a.nodes().forEach(function(a){h.add(a,1/0),f.setNode(a)}),h.decrease(a.nodes()[0],0);for(var j=!1;h.size()>0;){if(Object.hasOwn(g,e=h.removeMin()))f.setEdge(e,g[e]);else{if(j)throw Error("Input graph is not connected: "+a);j=!0}a.nodeEdges(e).forEach(i)}return f}}),z=d((a,b)=>{var c=m(),d=j();b.exports=function(a,b,e,f){return function(a,b,e,f){if(void 0===e)return c(a,b,e,f);for(var g=!1,h=a.nodes(),i=0;i<h.length;i++){for(var j=f(h[i]),k=0;k<j.length;k++){var l=j[k],m=l.v===h[i]?l.v:l.w,n=m===l.v?l.w:l.v;0>e({v:m,w:n})&&(g=!0)}if(g)return d(a,b,e,f)}return c(a,b,e,f)}(a,b,e,f||function(b){return a.outEdges(b)})}}),A=d((a,b)=>{b.exports={bellmanFord:j(),components:k(),dijkstra:m(),dijkstraAll:n(),extractPath:o(),findCycles:q(),floydWarshall:r(),isAcyclic:t(),postorder:w(),preorder:x(),prim:y(),shortestPaths:z(),reduce:u(),tarjan:p(),topsort:s()}}),B=h();b.exports={Graph:B.Graph,json:i(),alg:A(),version:B.version}}),z=x((a,b)=>{function c(a){a._prev._next=a._next,a._next._prev=a._prev,delete a._next,delete a._prev}function d(a,b){if("_next"!==a&&"_prev"!==a)return b}b.exports=class{constructor(){let a={};a._next=a._prev=a,this._sentinel=a}dequeue(){let a=this._sentinel,b=a._prev;if(b!==a)return c(b),b}enqueue(a){let b=this._sentinel;a._prev&&a._next&&c(a),a._next=b._next,b._next._prev=a,b._next=a,a._prev=b}toString(){let a=[],b=this._sentinel,c=b._prev;for(;c!==b;)a.push(JSON.stringify(c,d)),c=c._prev;return"["+a.join(", ")+"]"}}}),A=x((a,b)=>{var c=y().Graph,d=z();b.exports=function(a,b){var h,i;let j,k,l,m,n;if(1>=a.nodeCount())return[];let o=(h=a,i=b||e,j=new c,k=0,l=0,h.nodes().forEach(a=>{j.setNode(a,{v:a,in:0,out:0})}),h.edges().forEach(a=>{let b=j.edge(a.v,a.w)||0,c=i(a);j.setEdge(a.v,a.w,b+c),l=Math.max(l,j.node(a.v).out+=c),k=Math.max(k,j.node(a.w).in+=c)}),m=(function(a){let b=[];for(let c=0;c<a;c++)b.push(c);return b})(l+k+3).map(()=>new d),n=k+1,j.nodes().forEach(a=>{g(m,n,j.node(a))}),{graph:j,buckets:m,zeroIdx:n});return(function(a,b,c){let d=[],e=b[b.length-1],g=b[0],h;for(;a.nodeCount();){for(;h=g.dequeue();)f(a,b,c,h);for(;h=e.dequeue();)f(a,b,c,h);if(a.nodeCount()){for(let e=b.length-2;e>0;--e)if(h=b[e].dequeue()){d=d.concat(f(a,b,c,h,!0));break}}}return d})(o.graph,o.buckets,o.zeroIdx).flatMap(b=>a.outEdges(b.v,b.w))};var e=()=>1;function f(a,b,c,d,e){let f=e?[]:void 0;return a.inEdges(d.v).forEach(d=>{let h=a.edge(d),i=a.node(d.v);e&&f.push({v:d.v,w:d.w}),i.out-=h,g(b,c,i)}),a.outEdges(d.v).forEach(d=>{let e=a.edge(d),f=d.w,h=a.node(f);h.in-=e,g(b,c,h)}),a.removeNode(d.v),f}function g(a,b,c){c.out?c.in?a[c.out-c.in+b].enqueue(c):a[a.length-1].enqueue(c):a[0].enqueue(c)}}),B=x((a,b)=>{var c=y().Graph;function d(a,b,c,d){for(var e=d;a.hasNode(e);)e=h(d);return c.dummy=b,a.setNode(e,c),e}b.exports={addBorderNode:function(a,b,c,e){let f={width:0,height:0};return arguments.length>=4&&(f.rank=c,f.order=e),d(a,"border",f,b)},addDummyNode:d,applyWithChunking:e,asNonCompoundGraph:function(a){let b=new c({multigraph:a.isMultigraph()}).setGraph(a.graph());return a.nodes().forEach(c=>{a.children(c).length||b.setNode(c,a.node(c))}),a.edges().forEach(c=>{b.setEdge(c,a.edge(c))}),b},buildLayerMatrix:function(a){let b=i(f(a)+1).map(()=>[]);return a.nodes().forEach(c=>{let d=a.node(c),e=d.rank;void 0!==e&&(b[e][d.order]=c)}),b},intersectRect:function(a,b){let c,d,e=a.x,f=a.y,g=b.x-e,h=b.y-f,i=a.width/2,j=a.height/2;if(!g&&!h)throw Error("Not possible to find intersection inside of the rectangle");return Math.abs(h)*i>Math.abs(g)*j?(h<0&&(j=-j),c=j*g/h,d=j):(g<0&&(i=-i),c=i,d=i*h/g),{x:e+c,y:f+d}},mapValues:function(a,b){let c=b;return"string"==typeof b&&(c=a=>a[b]),Object.entries(a).reduce((a,[b,d])=>(a[b]=c(d,b),a),{})},maxRank:f,normalizeRanks:function(a){let b=e(Math.min,a.nodes().map(b=>{let c=a.node(b).rank;return void 0===c?Number.MAX_VALUE:c}));a.nodes().forEach(c=>{let d=a.node(c);Object.hasOwn(d,"rank")&&(d.rank-=b)})},notime:function(a,b){return b()},partition:function(a,b){let c={lhs:[],rhs:[]};return a.forEach(a=>{b(a)?c.lhs.push(a):c.rhs.push(a)}),c},pick:function(a,b){let c={};for(let d of b)void 0!==a[d]&&(c[d]=a[d]);return c},predecessorWeights:function(a){let b=a.nodes().map(b=>{let c={};return a.inEdges(b).forEach(b=>{c[b.v]=(c[b.v]||0)+a.edge(b).weight}),c});return j(a.nodes(),b)},range:i,removeEmptyRanks:function(a){let b=e(Math.min,a.nodes().map(b=>a.node(b).rank).filter(a=>void 0!==a)),c=[];a.nodes().forEach(d=>{let e=a.node(d).rank-b;c[e]||(c[e]=[]),c[e].push(d)});let d=0,f=a.graph().nodeRankFactor;Array.from(c).forEach((b,c)=>{void 0===b&&c%f!=0?--d:void 0!==b&&d&&b.forEach(b=>a.node(b).rank+=d)})},simplify:function(a){let b=new c().setGraph(a.graph());return a.nodes().forEach(c=>b.setNode(c,a.node(c))),a.edges().forEach(c=>{let d=b.edge(c.v,c.w)||{weight:0,minlen:1},e=a.edge(c);b.setEdge(c.v,c.w,{weight:d.weight+e.weight,minlen:Math.max(d.minlen,e.minlen)})}),b},successorWeights:function(a){let b=a.nodes().map(b=>{let c={};return a.outEdges(b).forEach(b=>{c[b.w]=(c[b.w]||0)+a.edge(b).weight}),c});return j(a.nodes(),b)},time:function(a,b){let c=Date.now();try{return b()}finally{console.log(a+" time: "+(Date.now()-c)+"ms")}},uniqueId:h,zipObject:j};function e(a,b){if(!(b.length>65535))return a.apply(null,b);{let c=function(a,b=65535){let c=[];for(let d=0;d<a.length;d+=b){let e=a.slice(d,d+b);c.push(e)}return c}(b);return a.apply(null,c.map(b=>a.apply(null,b)))}}function f(a){return e(Math.max,a.nodes().map(b=>{let c=a.node(b).rank;return void 0===c?5e-324:c}))}var g=0;function h(a){return a+""+ ++g}function i(a,b,c=1){null==b&&(b=a,a=0);let d=a=>a<b;c<0&&(d=a=>b<a);let e=[];for(let b=a;d(b);b+=c)e.push(b);return e}function j(a,b){return a.reduce((a,c,d)=>(a[c]=b[d],a),{})}}),C=x((a,b)=>{var c=A(),d=B().uniqueId;b.exports={run:function(a){var b,e;let f,g,h;("greedy"===a.graph().acyclicer?c(a,(b=a,a=>b.edge(a).weight)):(f=[],g={},h={},(e=a).nodes().forEach(function a(b){Object.hasOwn(h,b)||(h[b]=!0,g[b]=!0,e.outEdges(b).forEach(b=>{Object.hasOwn(g,b.w)?f.push(b):a(b.w)}),delete g[b])}),f)).forEach(b=>{let c=a.edge(b);a.removeEdge(b),c.forwardName=b.name,c.reversed=!0,a.setEdge(b.w,b.v,c,d("rev"))})},undo:function(a){a.edges().forEach(b=>{let c=a.edge(b);if(c.reversed){a.removeEdge(b);let d=c.forwardName;delete c.reversed,delete c.forwardName,a.setEdge(b.w,b.v,c,d)}})}}}),D=x((a,b)=>{var c=B();b.exports={run:function(a){a.graph().dummyChains=[],a.edges().forEach(b=>(function(a,b){let d,e,f,g=b.v,h=a.node(g).rank,i=b.w,j=a.node(i).rank,k=b.name,l=a.edge(b),m=l.labelRank;if(j!==h+1){for(a.removeEdge(b),f=0,++h;h<j;++f,++h)l.points=[],e={width:0,height:0,edgeLabel:l,edgeObj:b,rank:h},d=c.addDummyNode(a,"edge",e,"_d"),h===m&&(e.width=l.width,e.height=l.height,e.dummy="edge-label",e.labelpos=l.labelpos),a.setEdge(g,d,{weight:l.weight},k),0===f&&a.graph().dummyChains.push(d),g=d;a.setEdge(g,i,{weight:l.weight},k)}})(a,b))},undo:function(a){a.graph().dummyChains.forEach(b=>{let c=a.node(b),d=c.edgeLabel,e;for(a.setEdge(c.edgeObj,d);c.dummy;)e=a.successors(b)[0],a.removeNode(b),d.points.push({x:c.x,y:c.y}),"edge-label"===c.dummy&&(d.x=c.x,d.y=c.y,d.width=c.width,d.height=c.height),b=e,c=a.node(b)})}}}),E=x((a,b)=>{var{applyWithChunking:c}=B();b.exports={longestPath:function(a){var b={};a.sources().forEach(function d(e){var f=a.node(e);if(Object.hasOwn(b,e))return f.rank;b[e]=!0;var g=c(Math.min,a.outEdges(e).map(b=>null==b?1/0:d(b.w)-a.edge(b).minlen));return g===1/0&&(g=0),f.rank=g})},slack:function(a,b){return a.node(b.w).rank-a.node(b.v).rank-a.edge(b).minlen}}}),F=x((a,b)=>{var c=y().Graph,d=E().slack;b.exports=function(a){var b,e,f,g,h=new c({directed:!1}),i=a.nodes()[0],j=a.nodeCount();for(h.setNode(i,{});b=h,e=a,b.nodes().forEach(function a(c){e.nodeEdges(c).forEach(f=>{var g=f.v,h=c===g?f.w:g;b.hasNode(h)||d(e,f)||(b.setNode(h,{}),b.setEdge(c,h,{}),a(h))})}),b.nodeCount()<j;)f=function(a,b){return b.edges().reduce((c,e)=>{let f=1/0;return a.hasNode(e.v)!==a.hasNode(e.w)&&(f=d(b,e)),f<c[0]?[f,e]:c},[1/0,null])[1]}(h,a),g=h.hasNode(f.v)?d(a,f):-d(a,f),function(a,b,c){a.nodes().forEach(a=>b.node(a).rank+=c)}(h,a,g);return h}}),G=x((a,b)=>{var c=F(),d=E().slack,e=E().longestPath,f=y().alg.preorder,g=y().alg.postorder,h=B().simplify;function i(a){e(a=h(a));var b,d,f=c(a);for(l(f),j(f,a);b=m(f);)d=n(f,a,b),o(f,a,b,d)}function j(a,b){var c=g(a,a.nodes());(c=c.slice(0,c.length-1)).forEach(c=>{var d,e,f,g;return d=a,e=b,f=c,g=d.node(f).parent,void(d.edge(f,g).cutvalue=k(d,e,f))})}function k(a,b,c){var d=a.node(c).parent,e=!0,f=b.edge(c,d),g=0;return f||(e=!1,f=b.edge(d,c)),g=f.weight,b.nodeEdges(c).forEach(f=>{var h=f.v===c,i=h?f.w:f.v;if(i!==d){var j,k,l,m=h===e,n=b.edge(f).weight;if(g+=m?n:-n,j=a,k=c,l=i,j.hasEdge(k,l)){var o=a.edge(c,i).cutvalue;g+=m?-o:o}}}),g}function l(a,b){arguments.length<2&&(b=a.nodes()[0]),function a(b,c,d,e,f){var g=d,h=b.node(e);return c[e]=!0,b.neighbors(e).forEach(f=>{Object.hasOwn(c,f)||(d=a(b,c,d,f,e))}),h.low=g,h.lim=d++,f?h.parent=f:delete h.parent,d}(a,{},1,b)}function m(a){return a.edges().find(b=>a.edge(b).cutvalue<0)}function n(a,b,c){var e=c.v,f=c.w;b.hasEdge(e,f)||(e=c.w,f=c.v);var g=a.node(e),h=a.node(f),i=g,j=!1;return g.lim>h.lim&&(i=h,j=!0),b.edges().filter(b=>j===p(a,a.node(b.v),i)&&j!==p(a,a.node(b.w),i)).reduce((a,c)=>d(b,c)<d(b,a)?c:a)}function o(a,b,c,d){var e,g,h,i,k=c.v,m=c.w;a.removeEdge(k,m),a.setEdge(d.v,d.w,{}),l(a),j(a,b),e=a,g=b,h=e.nodes().find(a=>!g.node(a).parent),(i=(i=f(e,h)).slice(1)).forEach(a=>{var b=e.node(a).parent,c=g.edge(a,b),d=!1;c||(c=g.edge(b,a),d=!0),g.node(a).rank=g.node(b).rank+(d?c.minlen:-c.minlen)})}function p(a,b,c){return c.low<=b.lim&&b.lim<=c.lim}b.exports=i,i.initLowLimValues=l,i.initCutValues=j,i.calcCutValue=k,i.leaveEdge=m,i.enterEdge=n,i.exchangeEdges=o}),H=x((a,b)=>{var c=E().longestPath,d=F(),e=G();b.exports=function(a){var b,g=a.graph().ranker;if(g instanceof Function)return g(a);switch(a.graph().ranker){case"network-simplex":default:e(a);break;case"tight-tree":c(b=a),d(b);break;case"longest-path":f(a);case"none":}};var f=c}),I=x((a,b)=>{b.exports=function(a){var b;let c,d,e=(c={},d=0,(b=a).children().forEach(function a(e){let f=d;b.children(e).forEach(a),c[e]={low:f,lim:d++}}),c);a.graph().dummyChains.forEach(b=>{let c=a.node(b),d=c.edgeObj,f=function(a,b,c,d){let e=[],f=[],g=Math.min(b[c].low,b[d].low),h=Math.max(b[c].lim,b[d].lim),i,j;i=c;do e.push(i=a.parent(i));while(i&&(b[i].low>g||h>b[i].lim))for(j=i,i=d;(i=a.parent(i))!==j;)f.push(i);return{path:e.concat(f.reverse()),lca:j}}(a,e,d.v,d.w),g=f.path,h=f.lca,i=0,j=g[0],k=!0;for(;b!==d.w;){if(c=a.node(b),k){for(;(j=g[i])!==h&&a.node(j).maxRank<c.rank;)i++;j===h&&(k=!1)}if(!k){for(;i<g.length-1&&a.node(j=g[i+1]).minRank<=c.rank;)i++;j=g[i]}a.setParent(b,j),b=a.successors(b)[0]}})}}),J=x((a,b)=>{var c=B();b.exports={run:function(a){var b,d,e;let f=c.addDummyNode(a,"root",{},"_root"),g=(d={},(b=a).children().forEach(a=>(function a(c,e){var f=b.children(c);f&&f.length&&f.forEach(b=>a(b,e+1)),d[c]=e})(a,1)),d),h=Object.values(g),i=c.applyWithChunking(Math.max,h)-1,j=2*i+1;a.graph().nestingRoot=f,a.edges().forEach(b=>a.edge(b).minlen*=j);let k=(e=a).edges().reduce((a,b)=>a+e.edge(b).weight,0)+1;a.children().forEach(b=>(function a(b,d,e,f,g,h,i){let j=b.children(i);if(!j.length){i!==d&&b.setEdge(d,i,{weight:0,minlen:e});return}let k=c.addBorderNode(b,"_bt"),l=c.addBorderNode(b,"_bb"),m=b.node(i);b.setParent(k,i),m.borderTop=k,b.setParent(l,i),m.borderBottom=l,j.forEach(c=>{a(b,d,e,f,g,h,c);let j=b.node(c),m=j.borderTop?j.borderTop:c,n=j.borderBottom?j.borderBottom:c,o=j.borderTop?f:2*f,p=m!==n?1:g-h[i]+1;b.setEdge(k,m,{weight:o,minlen:p,nestingEdge:!0}),b.setEdge(n,l,{weight:o,minlen:p,nestingEdge:!0})}),b.parent(i)||b.setEdge(d,k,{weight:0,minlen:g+h[i]})})(a,f,j,k,i,g,b)),a.graph().nodeRankFactor=j},cleanup:function(a){var b=a.graph();a.removeNode(b.nestingRoot),delete b.nestingRoot,a.edges().forEach(b=>{a.edge(b).nestingEdge&&a.removeEdge(b)})}}}),K=x((a,b)=>{var c=B();function d(a,b,d,e,f,g){let h=f[b][g-1],i=c.addDummyNode(a,"border",{width:0,height:0,rank:g,borderType:b},d);f[b][g]=i,a.setParent(i,e),h&&a.setEdge(h,i,{weight:1})}b.exports=function(a){a.children().forEach(function b(c){let e=a.children(c),f=a.node(c);if(e.length&&e.forEach(b),Object.hasOwn(f,"minRank")){f.borderLeft=[],f.borderRight=[];for(let b=f.minRank,e=f.maxRank+1;b<e;++b)d(a,"borderLeft","_bl",c,f,b),d(a,"borderRight","_br",c,f,b)}})}}),L=x((a,b)=>{function c(a){a.nodes().forEach(b=>d(a.node(b))),a.edges().forEach(b=>d(a.edge(b)))}function d(a){let b=a.width;a.width=a.height,a.height=b}function e(a){a.y=-a.y}function f(a){let b=a.x;a.x=a.y,a.y=b}b.exports={adjust:function(a){let b=a.graph().rankdir.toLowerCase();("lr"===b||"rl"===b)&&c(a)},undo:function(a){var b,d;let g=a.graph().rankdir.toLowerCase();("bt"===g||"rl"===g)&&((b=a).nodes().forEach(a=>e(b.node(a))),b.edges().forEach(a=>{let c=b.edge(a);c.points.forEach(e),Object.hasOwn(c,"y")&&e(c)})),("lr"===g||"rl"===g)&&((d=a).nodes().forEach(a=>f(d.node(a))),d.edges().forEach(a=>{let b=d.edge(a);b.points.forEach(f),Object.hasOwn(b,"x")&&f(b)}),c(a))}}}),M=x((a,b)=>{var c=B();b.exports=function(a){let b={},d=a.nodes().filter(b=>!a.children(b).length),e=d.map(b=>a.node(b).rank),f=c.applyWithChunking(Math.max,e),g=c.range(f+1).map(()=>[]);return d.sort((b,c)=>a.node(b).rank-a.node(c).rank).forEach(function c(d){b[d]||(b[d]=!0,g[a.node(d).rank].push(d),a.successors(d).forEach(c))}),g}}),N=x((a,b)=>{var c=B().zipObject;b.exports=function(a,b){let d=0;for(let e=1;e<b.length;++e)d+=function(a,b,d){let e=c(d,d.map((a,b)=>b)),f=b.flatMap(b=>a.outEdges(b).map(b=>({pos:e[b.w],weight:a.edge(b).weight})).sort((a,b)=>a.pos-b.pos)),g=1;for(;g<d.length;)g<<=1;let h=2*g-1;g-=1;let i=Array(h).fill(0),j=0;return f.forEach(a=>{let b=a.pos+g;i[b]+=a.weight;let c=0;for(;b>0;)b%2&&(c+=i[b+1]),b=b-1>>1,i[b]+=a.weight;j+=a.weight*c}),j}(a,b[e-1],b[e]);return d}}),O=x((a,b)=>{b.exports=function(a,b=[]){return b.map(b=>{let c=a.inEdges(b);if(!c.length)return{v:b};{let d=c.reduce((b,c)=>{let d=a.edge(c),e=a.node(c.v);return{sum:b.sum+d.weight*e.order,weight:b.weight+d.weight}},{sum:0,weight:0});return{v:b,barycenter:d.sum/d.weight,weight:d.weight}}})}}),P=x((a,b)=>{var c=B();b.exports=function(a,b){let d={};return a.forEach((a,b)=>{let c=d[a.v]={indegree:0,in:[],out:[],vs:[a.v],i:b};void 0!==a.barycenter&&(c.barycenter=a.barycenter,c.weight=a.weight)}),b.edges().forEach(a=>{let b=d[a.v],c=d[a.w];void 0!==b&&void 0!==c&&(c.indegree++,b.out.push(d[a.w]))}),function(a){let b=[];for(;a.length;){let c=a.pop();b.push(c),c.in.reverse().forEach(function(a){return b=>{b.merged||(void 0===b.barycenter||void 0===a.barycenter||b.barycenter>=a.barycenter)&&function(a,b){let c=0,d=0;a.weight&&(c+=a.barycenter*a.weight,d+=a.weight),b.weight&&(c+=b.barycenter*b.weight,d+=b.weight),a.vs=b.vs.concat(a.vs),a.barycenter=c/d,a.weight=d,a.i=Math.min(b.i,a.i),b.merged=!0}(a,b)}}(c)),c.out.forEach(function(b){return c=>{c.in.push(b),0==--c.indegree&&a.push(c)}}(c))}return b.filter(a=>!a.merged).map(a=>c.pick(a,["vs","i","barycenter","weight"]))}(Object.values(d).filter(a=>!a.indegree))}}),Q=x((a,b)=>{var c=B();function d(a,b,c){let d;for(;b.length&&(d=b[b.length-1]).i<=c;)b.pop(),a.push(d.vs),c++;return c}b.exports=function(a,b){var e;let f=c.partition(a,a=>Object.hasOwn(a,"barycenter")),g=f.lhs,h=f.rhs.sort((a,b)=>b.i-a.i),i=[],j=0,k=0,l=0;g.sort((e=!!b,(a,b)=>a.barycenter<b.barycenter?-1:a.barycenter>b.barycenter?1:e?b.i-a.i:a.i-b.i)),l=d(i,h,l),g.forEach(a=>{l+=a.vs.length,i.push(a.vs),j+=a.barycenter*a.weight,k+=a.weight,l=d(i,h,l)});let m={vs:i.flat(!0)};return k&&(m.barycenter=j/k,m.weight=k),m}}),R=x((a,b)=>{var c=O(),d=P(),e=Q();b.exports=function a(b,f,g,h){var i,j;let k=b.children(f),l=b.node(f),m=l?l.borderLeft:void 0,n=l?l.borderRight:void 0,o={};m&&(k=k.filter(a=>a!==m&&a!==n));let p=c(b,k);p.forEach(c=>{if(b.children(c.v).length){var d,e;let f=a(b,c.v,g,h);o[c.v]=f,Object.hasOwn(f,"barycenter")&&(d=c,e=f,void 0!==d.barycenter?(d.barycenter=(d.barycenter*d.weight+e.barycenter*e.weight)/(d.weight+e.weight),d.weight+=e.weight):(d.barycenter=e.barycenter,d.weight=e.weight))}});let q=d(p,g);i=q,j=o,i.forEach(a=>{a.vs=a.vs.flatMap(a=>j[a]?j[a].vs:a)});let r=e(q,h);if(m&&(r.vs=[m,r.vs,n].flat(!0),b.predecessors(m).length)){let a=b.node(b.predecessors(m)[0]),c=b.node(b.predecessors(n)[0]);Object.hasOwn(r,"barycenter")||(r.barycenter=0,r.weight=0),r.barycenter=(r.barycenter*r.weight+a.order+c.order)/(r.weight+2),r.weight+=2}return r}}),S=x((a,b)=>{var c=y().Graph,d=B();b.exports=function(a,b,e,f){f||(f=a.nodes());let g=function(a){for(var b;a.hasNode(b=d.uniqueId("_root")););return b}(a),h=new c({compound:!0}).setGraph({root:g}).setDefaultNodeLabel(b=>a.node(b));return f.forEach(c=>{let d=a.node(c),f=a.parent(c);(d.rank===b||d.minRank<=b&&b<=d.maxRank)&&(h.setNode(c),h.setParent(c,f||g),a[e](c).forEach(b=>{let d=b.v===c?b.w:b.v,e=h.edge(d,c),f=void 0!==e?e.weight:0;h.setEdge(d,c,{weight:a.edge(b).weight+f})}),Object.hasOwn(d,"minRank")&&h.setNode(c,{borderLeft:d.borderLeft[b],borderRight:d.borderRight[b]}))}),h}}),T=x((a,b)=>{b.exports=function(a,b,c){let d={},e;c.forEach(c=>{let f=a.parent(c),g,h;for(;f;){if((g=a.parent(f))?(h=d[g],d[g]=f):(h=e,e=f),h&&h!==f)return void b.setEdge(h,f);f=g}})}}),U=x((a,b)=>{var c=M(),d=N(),e=R(),f=S(),g=T(),h=y().Graph,i=B();function j(a,b,c){let d=new Map,e=(a,b)=>{d.has(a)||d.set(a,[]),d.get(a).push(b)};for(let b of a.nodes()){let c=a.node(b);if("number"==typeof c.rank&&e(c.rank,b),"number"==typeof c.minRank&&"number"==typeof c.maxRank)for(let a=c.minRank;a<=c.maxRank;a++)a!==c.rank&&e(a,b)}return b.map(function(b){return f(a,b,c,d.get(b)||[])})}function k(a,b){Object.values(b).forEach(b=>b.forEach((b,c)=>a.node(b).order=c))}b.exports=function a(b,f={}){if("function"==typeof f.customOrder)return void f.customOrder(b,a);let l=i.maxRank(b),m=j(b,i.range(1,l+1),"inEdges"),n=j(b,i.range(l-1,-1,-1),"outEdges"),o=c(b);if(k(b,o),f.disableOptimalOrderHeuristic)return;let p=1/0,q,r=f.constraints||[];for(let a=0,c=0;c<4;++a,++c){(function(a,b,c){let d=new h;a.forEach(function(a){c.forEach(a=>d.setEdge(a.left,a.right));let f=a.graph().root,h=e(a,f,d,b);h.vs.forEach((b,c)=>a.node(b).order=c),g(a,d,h.vs)})})(a%2?m:n,a%4>=2,r),o=i.buildLayerMatrix(b);let f=d(b,o);f<p?(c=0,q=Object.assign({},o),p=f):f===p&&(q=structuredClone(o))}k(b,q)}}),V=x((a,b)=>{var c=y().Graph,d=B();function e(a,b){let c={};return b.length&&b.reduce(function(b,d){let e=0,f=0,h=b.length,i=d[d.length-1];return d.forEach((b,j)=>{let k=function(a,b){if(a.node(b).dummy)return a.predecessors(b).find(b=>a.node(b).dummy)}(a,b),l=k?a.node(k).order:h;(k||b===i)&&(d.slice(f,j+1).forEach(b=>{a.predecessors(b).forEach(d=>{let f=a.node(d),h=f.order;(h<e||l<h)&&!(f.dummy&&a.node(b).dummy)&&g(c,d,b)})}),f=j+1,e=l)}),d}),c}function f(a,b){let c={};function e(b,e,f,h,i){let j;d.range(e,f).forEach(d=>{j=b[d],a.node(j).dummy&&a.predecessors(j).forEach(b=>{let d=a.node(b);d.dummy&&(d.order<h||d.order>i)&&g(c,b,j)})})}return b.length&&b.reduce(function(b,c){let d=-1,f,g=0;return c.forEach((h,i)=>{if("border"===a.node(h).dummy){let b=a.predecessors(h);b.length&&(f=a.node(b[0]).order,e(c,g,i,d,f),g=i,d=f)}e(c,g,c.length,f,b.length)}),c}),c}function g(a,b,c){if(b>c){let a=b;b=c,c=a}let d=a[b];d||(a[b]=d={}),d[c]=!0}function h(a,b,c){if(b>c){let a=b;b=c,c=a}return!!a[b]&&Object.hasOwn(a[b],c)}function i(a,b,c,d){let e={},f={},g={};return b.forEach(a=>{a.forEach((a,b)=>{e[a]=a,f[a]=a,g[a]=b})}),b.forEach(a=>{let b=-1;a.forEach(a=>{let i=d(a);if(i.length){let d=((i=i.sort((a,b)=>g[a]-g[b])).length-1)/2;for(let j=Math.floor(d),k=Math.ceil(d);j<=k;++j){let d=i[j];f[a]===a&&b<g[d]&&!h(c,a,d)&&(f[d]=a,f[a]=e[a]=e[d],b=g[d])}}})}),{root:e,align:f}}function j(a,b,d,e,f){var g,h,i,j,k,l,m;let n,o,p,q={},r=(g=a,h=b,i=d,j=f,n=new c,p=(k=(o=g.graph()).nodesep,l=o.edgesep,m=j,(a,b,c)=>{let d=a.node(b),e=a.node(c),f,g;if(f=0+d.width/2,Object.hasOwn(d,"labelpos"))switch(d.labelpos.toLowerCase()){case"l":g=-d.width/2;break;case"r":g=d.width/2}if(g&&(f+=m?g:-g),g=0,f+=(d.dummy?l:k)/2,f+=(e.dummy?l:k)/2,f+=e.width/2,Object.hasOwn(e,"labelpos"))switch(e.labelpos.toLowerCase()){case"l":g=e.width/2;break;case"r":g=-e.width/2}return g&&(f+=m?g:-g),g=0,f}),h.forEach(a=>{let b;a.forEach(a=>{let c=i[a];if(n.setNode(c),b){var d=i[b],e=n.edge(d,c);n.setEdge(d,c,Math.max(p(g,a,b),e||0))}b=a})}),n),s=f?"borderLeft":"borderRight";function t(a,b){let c=r.nodes().slice(),d={},e=c.pop();for(;e;){if(d[e])a(e);else for(let a of(d[e]=!0,c.push(e),b(e)))c.push(a);e=c.pop()}}return t(function(a){q[a]=r.inEdges(a).reduce((a,b)=>Math.max(a,q[b.v]+r.edge(b)),0)},r.predecessors.bind(r)),t(function(b){let c=r.outEdges(b).reduce((a,b)=>Math.min(a,q[b.w]-r.edge(b)),1/0),d=a.node(b);c!==1/0&&d.borderType!==s&&(q[b]=Math.max(q[b],c))},r.successors.bind(r)),Object.keys(e).forEach(a=>q[a]=q[d[a]]),q}function k(a,b){return Object.values(b).reduce((b,c)=>{let d=-1/0,e=1/0;Object.entries(c).forEach(([b,c])=>{var f,g;let h=(f=a,g=b,f.node(g).width/2);d=Math.max(c+h,d),e=Math.min(c-h,e)});let f=d-e;return f<b[0]&&(b=[f,c]),b},[1/0,null])[1]}function l(a,b){let c=Object.values(b),e=d.applyWithChunking(Math.min,c),f=d.applyWithChunking(Math.max,c);["u","d"].forEach(c=>{["l","r"].forEach(g=>{let h=c+g,i=a[h];if(i===b)return;let j=Object.values(i),k=e-d.applyWithChunking(Math.min,j);"l"!==g&&(k=f-d.applyWithChunking(Math.max,j)),k&&(a[h]=d.mapValues(i,a=>a+k))})})}function m(a,b){return d.mapValues(a.ul,(c,d)=>{if(b)return a[b.toLowerCase()][d];{let b=Object.values(a).map(a=>a[d]).sort((a,b)=>a-b);return(b[1]+b[2])/2}})}b.exports={positionX:function(a){let b=d.buildLayerMatrix(a),c=Object.assign(e(a,b),f(a,b)),g={},h;["u","d"].forEach(e=>{h="u"===e?b:Object.values(b).reverse(),["l","r"].forEach(b=>{"r"===b&&(h=h.map(a=>Object.values(a).reverse()));let f=("u"===e?a.predecessors:a.successors).bind(a),k=i(a,h,c,f),l=j(a,h,k.root,k.align,"r"===b);"r"===b&&(l=d.mapValues(l,a=>-a)),g[e+b]=l})});let n=k(a,g);return l(g,n),m(g,a.graph().align)},findType1Conflicts:e,findType2Conflicts:f,addConflict:g,hasConflict:h,verticalAlignment:i,horizontalCompaction:j,alignCoordinates:l,findSmallestWidthAlignment:k,balance:m}}),W=x((a,b)=>{var c=B(),d=V().positionX;b.exports=function(a){var b;let e,f,g,h;b=a=c.asNonCompoundGraph(a),e=c.buildLayerMatrix(b),f=b.graph().ranksep,g=b.graph().rankalign,h=0,e.forEach(a=>{let c=a.reduce((a,c)=>{let d=b.node(c).height;return a>d?a:d},0);a.forEach(a=>{let d=b.node(a);"top"===g?d.y=h+d.height/2:"bottom"===g?d.y=h+c-d.height/2:d.y=h+c/2}),h+=c+f}),Object.entries(d(a)).forEach(([b,c])=>a.node(b).x=c)}}),X=x((a,b)=>{var c=C(),d=D(),e=H(),f=B().normalizeRanks,g=I(),h=B().removeEmptyRanks,i=J(),j=K(),k=L(),l=U(),m=W(),n=B(),o=y().Graph;b.exports=function(a,b={}){let y=b.debugTiming?n.time:n.notime;return y("layout",()=>{let A=y(" buildLayoutGraph",()=>{var b;let c,d;return b=a,c=new o({multigraph:!0,compound:!0}),d=z(b.graph()),c.setGraph(Object.assign({},q,x(d,p),n.pick(d,r))),b.nodes().forEach(a=>{let d=x(z(b.node(a)),s);Object.keys(t).forEach(a=>{void 0===d[a]&&(d[a]=t[a])}),c.setNode(a,d),c.setParent(a,b.parent(a))}),b.edges().forEach(a=>{let d=z(b.edge(a));c.setEdge(a,Object.assign({},v,x(d,u),n.pick(d,w)))}),c});return y(" runLayout",()=>{var a,o,p;return a=A,o=y,p=b,void(o(" makeSpaceForEdgeLabels",()=>{var b;let c;return c=(b=a).graph(),void(c.ranksep/=2,b.edges().forEach(a=>{let d=b.edge(a);d.minlen*=2,"c"!==d.labelpos.toLowerCase()&&("TB"===c.rankdir||"BT"===c.rankdir?d.width+=d.labeloffset:d.height+=d.labeloffset)}))}),o(" removeSelfEdges",()=>{var b;(b=a).edges().forEach(a=>{if(a.v===a.w){var c=b.node(a.v);c.selfEdges||(c.selfEdges=[]),c.selfEdges.push({e:a,label:b.edge(a)}),b.removeEdge(a)}})}),o(" acyclic",()=>c.run(a)),o(" nestingGraph.run",()=>i.run(a)),o(" rank",()=>e(n.asNonCompoundGraph(a))),o(" injectEdgeLabelProxies",()=>{var b;(b=a).edges().forEach(a=>{let c=b.edge(a);if(c.width&&c.height){let c=b.node(a.v),d={rank:(b.node(a.w).rank-c.rank)/2+c.rank,e:a};n.addDummyNode(b,"edge-proxy",d,"_ep")}})}),o(" removeEmptyRanks",()=>h(a)),o(" nestingGraph.cleanup",()=>i.cleanup(a)),o(" normalizeRanks",()=>f(a)),o(" assignRankMinMax",()=>{var b;let c;return c=0,void((b=a).nodes().forEach(a=>{let d=b.node(a);d.borderTop&&(d.minRank=b.node(d.borderTop).rank,d.maxRank=b.node(d.borderBottom).rank,c=Math.max(c,d.maxRank))}),b.graph().maxRank=c)}),o(" removeEdgeLabelProxies",()=>{var b;(b=a).nodes().forEach(a=>{let c=b.node(a);"edge-proxy"===c.dummy&&(b.edge(c.e).labelRank=c.rank,b.removeNode(a))})}),o(" normalize.run",()=>d.run(a)),o(" parentDummyChains",()=>g(a)),o(" addBorderSegments",()=>j(a)),o(" order",()=>l(a,p)),o(" insertSelfEdges",()=>{var b;return b=a,void n.buildLayerMatrix(b).forEach(a=>{var c=0;a.forEach((a,d)=>{var e=b.node(a);e.order=d+c,(e.selfEdges||[]).forEach(a=>{n.addDummyNode(b,"selfedge",{width:a.label.width,height:a.label.height,rank:e.rank,order:d+ ++c,e:a.e,label:a.label},"_se")}),delete e.selfEdges})})}),o(" adjustCoordinateSystem",()=>k.adjust(a)),o(" position",()=>m(a)),o(" positionSelfEdges",()=>{var b;(b=a).nodes().forEach(a=>{var c=b.node(a);if("selfedge"===c.dummy){var d=b.node(c.e.v),e=d.x+d.width/2,f=d.y,g=c.x-e,h=d.height/2;b.setEdge(c.e,c.label),b.removeNode(a),c.label.points=[{x:e+2*g/3,y:f-h},{x:e+5*g/6,y:f-h},{x:e+g,y:f},{x:e+5*g/6,y:f+h},{x:e+2*g/3,y:f+h}],c.label.x=c.x,c.label.y=c.y}})}),o(" removeBorderNodes",()=>{var b;(b=a).nodes().forEach(a=>{if(b.children(a).length){let c=b.node(a),d=b.node(c.borderTop),e=b.node(c.borderBottom),f=b.node(c.borderLeft[c.borderLeft.length-1]),g=b.node(c.borderRight[c.borderRight.length-1]);c.width=Math.abs(g.x-f.x),c.height=Math.abs(e.y-d.y),c.x=f.x+c.width/2,c.y=d.y+c.height/2}}),b.nodes().forEach(a=>{"border"===b.node(a).dummy&&b.removeNode(a)})}),o(" normalize.undo",()=>d.undo(a)),o(" fixupEdgeLabelCoords",()=>{var b;(b=a).edges().forEach(a=>{let c=b.edge(a);if(Object.hasOwn(c,"x"))switch(("l"===c.labelpos||"r"===c.labelpos)&&(c.width-=c.labeloffset),c.labelpos){case"l":c.x-=c.width/2+c.labeloffset;break;case"r":c.x+=c.width/2+c.labeloffset}})}),o(" undoCoordinateSystem",()=>k.undo(a)),o(" translateGraph",()=>(function(a){let b=1/0,c=0,d=1/0,e=0,f=a.graph(),g=f.marginx||0,h=f.marginy||0;function i(a){let f=a.x,g=a.y,h=a.width,i=a.height;b=Math.min(b,f-h/2),c=Math.max(c,f+h/2),d=Math.min(d,g-i/2),e=Math.max(e,g+i/2)}a.nodes().forEach(b=>i(a.node(b))),a.edges().forEach(b=>{let c=a.edge(b);Object.hasOwn(c,"x")&&i(c)}),b-=g,d-=h,a.nodes().forEach(c=>{let e=a.node(c);e.x-=b,e.y-=d}),a.edges().forEach(c=>{let e=a.edge(c);e.points.forEach(a=>{a.x-=b,a.y-=d}),Object.hasOwn(e,"x")&&(e.x-=b),Object.hasOwn(e,"y")&&(e.y-=d)}),f.width=c-b+g,f.height=e-d+h})(a)),o(" assignNodeIntersects",()=>{var b;(b=a).edges().forEach(a=>{let c=b.edge(a),d=b.node(a.v),e=b.node(a.w),f,g;c.points?(f=c.points[0],g=c.points[c.points.length-1]):(c.points=[],f=e,g=d),c.points.unshift(n.intersectRect(d,f)),c.points.push(n.intersectRect(e,g))})}),o(" reversePoints",()=>{var b;(b=a).edges().forEach(a=>{let c=b.edge(a);c.reversed&&c.points.reverse()})}),o(" acyclic.undo",()=>c.undo(a)))}),y(" updateInputGraph",()=>{var b,c;return b=a,c=A,void(b.nodes().forEach(a=>{let d=b.node(a),e=c.node(a);d&&(d.x=e.x,d.y=e.y,d.order=e.order,d.rank=e.rank,c.children(a).length&&(d.width=e.width,d.height=e.height))}),b.edges().forEach(a=>{let d=b.edge(a),e=c.edge(a);d.points=e.points,Object.hasOwn(e,"x")&&(d.x=e.x,d.y=e.y)}),b.graph().width=c.graph().width,b.graph().height=c.graph().height)}),A})};var p=["nodesep","edgesep","ranksep","marginx","marginy"],q={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb",rankalign:"center"},r=["acyclicer","ranker","rankdir","align","rankalign"],s=["width","height","rank"],t={width:0,height:0},u=["minlen","weight","width","height","labeloffset"],v={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},w=["labelpos"];function x(a,b){return n.mapValues(n.pick(a,b),Number)}function z(a){var b={};return a&&Object.entries(a).forEach(([a,c])=>{"string"==typeof a&&(a=a.toLowerCase()),b[a]=c}),b}}),Y=x((a,b)=>{var c=B(),d=y().Graph;b.exports={debugOrdering:function(a){let b=c.buildLayerMatrix(a),e=new d({compound:!0,multigraph:!0}).setGraph({});return a.nodes().forEach(b=>{e.setNode(b,{label:b}),e.setParent(b,"layer"+a.node(b).rank)}),a.edges().forEach(a=>e.setEdge(a.v,a.w,{},a.name)),b.forEach((a,b)=>{e.setNode("layer"+b,{rank:"same"}),a.reduce((a,b)=>(e.setEdge(a,b,{style:"invis"}),b))}),e}}}),Z=x((a,b)=>{b.exports="2.0.4"});let $=x((a,b)=>{b.exports={graphlib:y(),layout:X(),debug:Y(),util:{time:B().time,notime:B().notime},version:Z()}})();function _(a){if("string"==typeof a||"number"==typeof a)return""+a;let b="";if(Array.isArray(a))for(let c=0,d;c<a.length;c++)""!==(d=_(a[c]))&&(b+=(b&&" ")+d);else for(let c in a)a[c]&&(b+=(b&&" ")+c);return b}var aa={value:()=>{}};function ab(){for(var a,b=0,c=arguments.length,d={};b<c;++b){if(!(a=arguments[b]+"")||a in d||/[\s.]/.test(a))throw Error("illegal type: "+a);d[a]=[]}return new ac(d)}function ac(a){this._=a}function ad(a,b,c){for(var d=0,e=a.length;d<e;++d)if(a[d].name===b){a[d]=aa,a=a.slice(0,d).concat(a.slice(d+1));break}return null!=c&&a.push({name:b,value:c}),a}function ae(){}function af(a){return null==a?ae:function(){return this.querySelector(a)}}function ag(){return[]}function ah(a){return null==a?ag:function(){return this.querySelectorAll(a)}}function ai(a){return function(){return this.matches(a)}}function aj(a){return function(b){return b.matches(a)}}ac.prototype=ab.prototype={constructor:ac,on:function(a,b){var c,d=this._,e=(a+"").trim().split(/^|\s+/).map(function(a){var b="",c=a.indexOf(".");if(c>=0&&(b=a.slice(c+1),a=a.slice(0,c)),a&&!d.hasOwnProperty(a))throw Error("unknown type: "+a);return{type:a,name:b}}),f=-1,g=e.length;if(arguments.length<2){for(;++f<g;)if((c=(a=e[f]).type)&&(c=function(a,b){for(var c,d=0,e=a.length;d<e;++d)if((c=a[d]).name===b)return c.value}(d[c],a.name)))return c;return}if(null!=b&&"function"!=typeof b)throw Error("invalid callback: "+b);for(;++f<g;)if(c=(a=e[f]).type)d[c]=ad(d[c],a.name,b);else if(null==b)for(c in d)d[c]=ad(d[c],a.name,null);return this},copy:function(){var a={},b=this._;for(var c in b)a[c]=b[c].slice();return new ac(a)},call:function(a,b){if((c=arguments.length-2)>0)for(var c,d,e=Array(c),f=0;f<c;++f)e[f]=arguments[f+2];if(!this._.hasOwnProperty(a))throw Error("unknown type: "+a);for(d=this._[a],f=0,c=d.length;f<c;++f)d[f].value.apply(b,e)},apply:function(a,b,c){if(!this._.hasOwnProperty(a))throw Error("unknown type: "+a);for(var d=this._[a],e=0,f=d.length;e<f;++e)d[e].value.apply(b,c)}};var ak=Array.prototype.find;function al(){return this.firstElementChild}var am=Array.prototype.filter;function an(){return Array.from(this.children)}function ao(a){return Array(a.length)}function ap(a,b){this.ownerDocument=a.ownerDocument,this.namespaceURI=a.namespaceURI,this._next=null,this._parent=a,this.__data__=b}function aq(a,b,c,d,e,f){for(var g,h=0,i=b.length,j=f.length;h<j;++h)(g=b[h])?(g.__data__=f[h],d[h]=g):c[h]=new ap(a,f[h]);for(;h<i;++h)(g=b[h])&&(e[h]=g)}function ar(a,b,c,d,e,f,g){var h,i,j,k=new Map,l=b.length,m=f.length,n=Array(l);for(h=0;h<l;++h)(i=b[h])&&(n[h]=j=g.call(i,i.__data__,h,b)+"",k.has(j)?e[h]=i:k.set(j,i));for(h=0;h<m;++h)j=g.call(a,f[h],h,f)+"",(i=k.get(j))?(d[h]=i,i.__data__=f[h],k.delete(j)):c[h]=new ap(a,f[h]);for(h=0;h<l;++h)(i=b[h])&&k.get(n[h])===i&&(e[h]=i)}function as(a){return a.__data__}function at(a,b){return a<b?-1:a>b?1:a>=b?0:NaN}ap.prototype={constructor:ap,appendChild:function(a){return this._parent.insertBefore(a,this._next)},insertBefore:function(a,b){return this._parent.insertBefore(a,b)},querySelector:function(a){return this._parent.querySelector(a)},querySelectorAll:function(a){return this._parent.querySelectorAll(a)}};var au="http://www.w3.org/1999/xhtml";let av={svg:"http://www.w3.org/2000/svg",xhtml:au,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function aw(a){var b=a+="",c=b.indexOf(":");return c>=0&&"xmlns"!==(b=a.slice(0,c))&&(a=a.slice(c+1)),av.hasOwnProperty(b)?{space:av[b],local:a}:a}function ax(a){return a.ownerDocument&&a.ownerDocument.defaultView||a.document&&a||a.defaultView}function ay(a,b){return a.style.getPropertyValue(b)||ax(a).getComputedStyle(a,null).getPropertyValue(b)}function az(a){return a.trim().split(/^|\s+/)}function aA(a){return a.classList||new aB(a)}function aB(a){this._node=a,this._names=az(a.getAttribute("class")||"")}function aC(a,b){for(var c=aA(a),d=-1,e=b.length;++d<e;)c.add(b[d])}function aD(a,b){for(var c=aA(a),d=-1,e=b.length;++d<e;)c.remove(b[d])}function aE(){this.textContent=""}function aF(){this.innerHTML=""}function aG(){this.nextSibling&&this.parentNode.appendChild(this)}function aH(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function aI(a){var b=aw(a);return(b.local?function(a){return function(){return this.ownerDocument.createElementNS(a.space,a.local)}}:function(a){return function(){var b=this.ownerDocument,c=this.namespaceURI;return c===au&&b.documentElement.namespaceURI===au?b.createElement(a):b.createElementNS(c,a)}})(b)}function aJ(){return null}function aK(){var a=this.parentNode;a&&a.removeChild(this)}function aL(){var a=this.cloneNode(!1),b=this.parentNode;return b?b.insertBefore(a,this.nextSibling):a}function aM(){var a=this.cloneNode(!0),b=this.parentNode;return b?b.insertBefore(a,this.nextSibling):a}function aN(a){return function(){var b=this.__on;if(b){for(var c,d=0,e=-1,f=b.length;d<f;++d)(c=b[d],a.type&&c.type!==a.type||c.name!==a.name)?b[++e]=c:this.removeEventListener(c.type,c.listener,c.options);++e?b.length=e:delete this.__on}}}function aO(a,b,c){return function(){var d,e=this.__on,f=function(a){b.call(this,a,this.__data__)};if(e){for(var g=0,h=e.length;g<h;++g)if((d=e[g]).type===a.type&&d.name===a.name){this.removeEventListener(d.type,d.listener,d.options),this.addEventListener(d.type,d.listener=f,d.options=c),d.value=b;return}}this.addEventListener(a.type,f,c),d={type:a.type,name:a.name,value:b,listener:f,options:c},e?e.push(d):this.__on=[d]}}function aP(a,b,c){var d=ax(a),e=d.CustomEvent;"function"==typeof e?e=new e(b,c):(e=d.document.createEvent("Event"),c?(e.initEvent(b,c.bubbles,c.cancelable),e.detail=c.detail):e.initEvent(b,!1,!1)),a.dispatchEvent(e)}aB.prototype={add:function(a){0>this._names.indexOf(a)&&(this._names.push(a),this._node.setAttribute("class",this._names.join(" ")))},remove:function(a){var b=this._names.indexOf(a);b>=0&&(this._names.splice(b,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(a){return this._names.indexOf(a)>=0}};var aQ=[null];function aR(a,b){this._groups=a,this._parents=b}function aS(){return new aR([[document.documentElement]],aQ)}function aT(a){return"string"==typeof a?new aR([[document.querySelector(a)]],[document.documentElement]):new aR([[a]],aQ)}function aU(a,b){if(a=function(a){let b;for(;b=a.sourceEvent;)a=b;return a}(a),void 0===b&&(b=a.currentTarget),b){var c=b.ownerSVGElement||b;if(c.createSVGPoint){var d=c.createSVGPoint();return d.x=a.clientX,d.y=a.clientY,[(d=d.matrixTransform(b.getScreenCTM().inverse())).x,d.y]}if(b.getBoundingClientRect){var e=b.getBoundingClientRect();return[a.clientX-e.left-b.clientLeft,a.clientY-e.top-b.clientTop]}}return[a.pageX,a.pageY]}aR.prototype=aS.prototype={constructor:aR,select:function(a){"function"!=typeof a&&(a=af(a));for(var b=this._groups,c=b.length,d=Array(c),e=0;e<c;++e)for(var f,g,h=b[e],i=h.length,j=d[e]=Array(i),k=0;k<i;++k)(f=h[k])&&(g=a.call(f,f.__data__,k,h))&&("__data__"in f&&(g.__data__=f.__data__),j[k]=g);return new aR(d,this._parents)},selectAll:function(a){if("function"==typeof a){var b;b=a,a=function(){var a;return a=b.apply(this,arguments),null==a?[]:Array.isArray(a)?a:Array.from(a)}}else a=ah(a);for(var c=this._groups,d=c.length,e=[],f=[],g=0;g<d;++g)for(var h,i=c[g],j=i.length,k=0;k<j;++k)(h=i[k])&&(e.push(a.call(h,h.__data__,k,i)),f.push(h));return new aR(e,f)},selectChild:function(a){var b;return this.select(null==a?al:(b="function"==typeof a?a:aj(a),function(){return ak.call(this.children,b)}))},selectChildren:function(a){var b;return this.selectAll(null==a?an:(b="function"==typeof a?a:aj(a),function(){return am.call(this.children,b)}))},filter:function(a){"function"!=typeof a&&(a=ai(a));for(var b=this._groups,c=b.length,d=Array(c),e=0;e<c;++e)for(var f,g=b[e],h=g.length,i=d[e]=[],j=0;j<h;++j)(f=g[j])&&a.call(f,f.__data__,j,g)&&i.push(f);return new aR(d,this._parents)},data:function(a,b){if(!arguments.length)return Array.from(this,as);var c=b?ar:aq,d=this._parents,e=this._groups;"function"!=typeof a&&(s=a,a=function(){return s});for(var f=e.length,g=Array(f),h=Array(f),i=Array(f),j=0;j<f;++j){var k=d[j],l=e[j],m=l.length,n="object"==typeof(r=a.call(k,k&&k.__data__,j,d))&&"length"in r?r:Array.from(r),o=n.length,p=h[j]=Array(o),q=g[j]=Array(o);c(k,l,p,q,i[j]=Array(m),n,b);for(var r,s,t,u,v=0,w=0;v<o;++v)if(t=p[v]){for(v>=w&&(w=v+1);!(u=q[w])&&++w<o;);t._next=u||null}}return(g=new aR(g,d))._enter=h,g._exit=i,g},enter:function(){return new aR(this._enter||this._groups.map(ao),this._parents)},exit:function(){return new aR(this._exit||this._groups.map(ao),this._parents)},join:function(a,b,c){var d=this.enter(),e=this,f=this.exit();return"function"==typeof a?(d=a(d))&&(d=d.selection()):d=d.append(a+""),null!=b&&(e=b(e))&&(e=e.selection()),null==c?f.remove():c(f),d&&e?d.merge(e).order():e},merge:function(a){for(var b=a.selection?a.selection():a,c=this._groups,d=b._groups,e=c.length,f=d.length,g=Math.min(e,f),h=Array(e),i=0;i<g;++i)for(var j,k=c[i],l=d[i],m=k.length,n=h[i]=Array(m),o=0;o<m;++o)(j=k[o]||l[o])&&(n[o]=j);for(;i<e;++i)h[i]=c[i];return new aR(h,this._parents)},selection:function(){return this},order:function(){for(var a=this._groups,b=-1,c=a.length;++b<c;)for(var d,e=a[b],f=e.length-1,g=e[f];--f>=0;)(d=e[f])&&(g&&4^d.compareDocumentPosition(g)&&g.parentNode.insertBefore(d,g),g=d);return this},sort:function(a){function b(b,c){return b&&c?a(b.__data__,c.__data__):!b-!c}a||(a=at);for(var c=this._groups,d=c.length,e=Array(d),f=0;f<d;++f){for(var g,h=c[f],i=h.length,j=e[f]=Array(i),k=0;k<i;++k)(g=h[k])&&(j[k]=g);j.sort(b)}return new aR(e,this._parents).order()},call:function(){var a=arguments[0];return arguments[0]=this,a.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var a=this._groups,b=0,c=a.length;b<c;++b)for(var d=a[b],e=0,f=d.length;e<f;++e){var g=d[e];if(g)return g}return null},size:function(){let a=0;for(let b of this)++a;return a},empty:function(){return!this.node()},each:function(a){for(var b=this._groups,c=0,d=b.length;c<d;++c)for(var e,f=b[c],g=0,h=f.length;g<h;++g)(e=f[g])&&a.call(e,e.__data__,g,f);return this},attr:function(a,b){var c=aw(a);if(arguments.length<2){var d=this.node();return c.local?d.getAttributeNS(c.space,c.local):d.getAttribute(c)}return this.each((null==b?c.local?function(a){return function(){this.removeAttributeNS(a.space,a.local)}}:function(a){return function(){this.removeAttribute(a)}}:"function"==typeof b?c.local?function(a,b){return function(){var c=b.apply(this,arguments);null==c?this.removeAttributeNS(a.space,a.local):this.setAttributeNS(a.space,a.local,c)}}:function(a,b){return function(){var c=b.apply(this,arguments);null==c?this.removeAttribute(a):this.setAttribute(a,c)}}:c.local?function(a,b){return function(){this.setAttributeNS(a.space,a.local,b)}}:function(a,b){return function(){this.setAttribute(a,b)}})(c,b))},style:function(a,b,c){return arguments.length>1?this.each((null==b?function(a){return function(){this.style.removeProperty(a)}}:"function"==typeof b?function(a,b,c){return function(){var d=b.apply(this,arguments);null==d?this.style.removeProperty(a):this.style.setProperty(a,d,c)}}:function(a,b,c){return function(){this.style.setProperty(a,b,c)}})(a,b,null==c?"":c)):ay(this.node(),a)},property:function(a,b){return arguments.length>1?this.each((null==b?function(a){return function(){delete this[a]}}:"function"==typeof b?function(a,b){return function(){var c=b.apply(this,arguments);null==c?delete this[a]:this[a]=c}}:function(a,b){return function(){this[a]=b}})(a,b)):this.node()[a]},classed:function(a,b){var c=az(a+"");if(arguments.length<2){for(var d=aA(this.node()),e=-1,f=c.length;++e<f;)if(!d.contains(c[e]))return!1;return!0}return this.each(("function"==typeof b?function(a,b){return function(){(b.apply(this,arguments)?aC:aD)(this,a)}}:b?function(a){return function(){aC(this,a)}}:function(a){return function(){aD(this,a)}})(c,b))},text:function(a){return arguments.length?this.each(null==a?aE:("function"==typeof a?function(a){return function(){var b=a.apply(this,arguments);this.textContent=null==b?"":b}}:function(a){return function(){this.textContent=a}})(a)):this.node().textContent},html:function(a){return arguments.length?this.each(null==a?aF:("function"==typeof a?function(a){return function(){var b=a.apply(this,arguments);this.innerHTML=null==b?"":b}}:function(a){return function(){this.innerHTML=a}})(a)):this.node().innerHTML},raise:function(){return this.each(aG)},lower:function(){return this.each(aH)},append:function(a){var b="function"==typeof a?a:aI(a);return this.select(function(){return this.appendChild(b.apply(this,arguments))})},insert:function(a,b){var c="function"==typeof a?a:aI(a),d=null==b?aJ:"function"==typeof b?b:af(b);return this.select(function(){return this.insertBefore(c.apply(this,arguments),d.apply(this,arguments)||null)})},remove:function(){return this.each(aK)},clone:function(a){return this.select(a?aM:aL)},datum:function(a){return arguments.length?this.property("__data__",a):this.node().__data__},on:function(a,b,c){var d,e,f=(a+"").trim().split(/^|\s+/).map(function(a){var b="",c=a.indexOf(".");return c>=0&&(b=a.slice(c+1),a=a.slice(0,c)),{type:a,name:b}}),g=f.length;if(arguments.length<2){var h=this.node().__on;if(h){for(var i,j=0,k=h.length;j<k;++j)for(d=0,i=h[j];d<g;++d)if((e=f[d]).type===i.type&&e.name===i.name)return i.value}return}for(d=0,h=b?aO:aN;d<g;++d)this.each(h(f[d],b,c));return this},dispatch:function(a,b){return this.each(("function"==typeof b?function(a,b){return function(){return aP(this,a,b.apply(this,arguments))}}:function(a,b){return function(){return aP(this,a,b)}})(a,b))},[Symbol.iterator]:function*(){for(var a=this._groups,b=0,c=a.length;b<c;++b)for(var d,e=a[b],f=0,g=e.length;f<g;++f)(d=e[f])&&(yield d)}};let aV={passive:!1},aW={capture:!0,passive:!1};function aX(a){a.stopImmediatePropagation()}function aY(a){a.preventDefault(),a.stopImmediatePropagation()}function aZ(a){var b=a.document.documentElement,c=aT(a).on("dragstart.drag",aY,aW);"onselectstart"in b?c.on("selectstart.drag",aY,aW):(b.__noselect=b.style.MozUserSelect,b.style.MozUserSelect="none")}function a$(a,b){var c=a.document.documentElement,d=aT(a).on("dragstart.drag",null);b&&(d.on("click.drag",aY,aW),setTimeout(function(){d.on("click.drag",null)},0)),"onselectstart"in c?d.on("selectstart.drag",null):(c.style.MozUserSelect=c.__noselect,delete c.__noselect)}let a_=a=>()=>a;function a0(a,{sourceEvent:b,subject:c,target:d,identifier:e,active:f,x:g,y:h,dx:i,dy:j,dispatch:k}){Object.defineProperties(this,{type:{value:a,enumerable:!0,configurable:!0},sourceEvent:{value:b,enumerable:!0,configurable:!0},subject:{value:c,enumerable:!0,configurable:!0},target:{value:d,enumerable:!0,configurable:!0},identifier:{value:e,enumerable:!0,configurable:!0},active:{value:f,enumerable:!0,configurable:!0},x:{value:g,enumerable:!0,configurable:!0},y:{value:h,enumerable:!0,configurable:!0},dx:{value:i,enumerable:!0,configurable:!0},dy:{value:j,enumerable:!0,configurable:!0},_:{value:k}})}function a1(a){return!a.ctrlKey&&!a.button}function a2(){return this.parentNode}function a3(a,b){return null==b?{x:a.x,y:a.y}:b}function a4(){return navigator.maxTouchPoints||"ontouchstart"in this}function a5(){var a,b,c,d,e=a1,f=a2,g=a3,h=a4,i={},j=ab("start","drag","end"),k=0,l=0;function m(a){a.on("mousedown.drag",n).filter(h).on("touchstart.drag",q).on("touchmove.drag",r,aV).on("touchend.drag touchcancel.drag",s).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function n(g,h){if(!d&&e.call(this,g,h)){var i=t(this,f.call(this,g,h),g,h,"mouse");i&&(aT(g.view).on("mousemove.drag",o,aW).on("mouseup.drag",p,aW),aZ(g.view),aX(g),c=!1,a=g.clientX,b=g.clientY,i("start",g))}}function o(d){if(aY(d),!c){var e=d.clientX-a,f=d.clientY-b;c=e*e+f*f>l}i.mouse("drag",d)}function p(a){aT(a.view).on("mousemove.drag mouseup.drag",null),a$(a.view,c),aY(a),i.mouse("end",a)}function q(a,b){if(e.call(this,a,b)){var c,d,g=a.changedTouches,h=f.call(this,a,b),i=g.length;for(c=0;c<i;++c)(d=t(this,h,a,b,g[c].identifier,g[c]))&&(aX(a),d("start",a,g[c]))}}function r(a){var b,c,d=a.changedTouches,e=d.length;for(b=0;b<e;++b)(c=i[d[b].identifier])&&(aY(a),c("drag",a,d[b]))}function s(a){var b,c,e=a.changedTouches,f=e.length;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),b=0;b<f;++b)(c=i[e[b].identifier])&&(aX(a),c("end",a,e[b]))}function t(a,b,c,d,e,f){var h,l,n,o=j.copy(),p=aU(f||c,b);if(null!=(n=g.call(a,new a0("beforestart",{sourceEvent:c,target:m,identifier:e,active:k,x:p[0],y:p[1],dx:0,dy:0,dispatch:o}),d)))return h=n.x-p[0]||0,l=n.y-p[1]||0,function c(f,g,j){var q,r=p;switch(f){case"start":i[e]=c,q=k++;break;case"end":delete i[e],--k;case"drag":p=aU(j||g,b),q=k}o.call(f,a,new a0(f,{sourceEvent:g,subject:n,target:m,identifier:e,active:q,x:p[0]+h,y:p[1]+l,dx:p[0]-r[0],dy:p[1]-r[1],dispatch:o}),d)}}return m.filter=function(a){return arguments.length?(e="function"==typeof a?a:a_(!!a),m):e},m.container=function(a){return arguments.length?(f="function"==typeof a?a:a_(a),m):f},m.subject=function(a){return arguments.length?(g="function"==typeof a?a:a_(a),m):g},m.touchable=function(a){return arguments.length?(h="function"==typeof a?a:a_(!!a),m):h},m.on=function(){var a=j.on.apply(j,arguments);return a===j?m:a},m.clickDistance=function(a){return arguments.length?(l=(a*=1)*a,m):Math.sqrt(l)},m}function a6(a){return((a=Math.exp(a))+1/a)/2}a0.prototype.on=function(){var a=this._.on.apply(this._,arguments);return a===this._?this:a};let a7=function a(b,c,d){function e(a,e){var f,g,h=a[0],i=a[1],j=a[2],k=e[0],l=e[1],m=e[2],n=k-h,o=l-i,p=n*n+o*o;if(p<1e-12)g=Math.log(m/j)/b,f=function(a){return[h+a*n,i+a*o,j*Math.exp(b*a*g)]};else{var q=Math.sqrt(p),r=(m*m-j*j+d*p)/(2*j*c*q),s=(m*m-j*j-d*p)/(2*m*c*q),t=Math.log(Math.sqrt(r*r+1)-r);g=(Math.log(Math.sqrt(s*s+1)-s)-t)/b,f=function(a){var d,e,f=a*g,k=a6(t),l=j/(c*q)*(k*(((d=Math.exp(2*(d=b*f+t)))-1)/(d+1))-((e=Math.exp(e=t))-1/e)/2);return[h+l*n,i+l*o,j*k/a6(b*f+t)]}}return f.duration=1e3*g*b/Math.SQRT2,f}return e.rho=function(b){var c=Math.max(.001,+b),d=c*c;return a(c,d,d*d)},e}(Math.SQRT2,2,4);var a8,a9,ba=0,bb=0,bc=0,bd=0,be=0,bf=0,bg="object"==typeof performance&&performance.now?performance:Date,bh=function(a){setTimeout(a,17)};function bi(){return be||(bh(bj),be=bg.now()+bf)}function bj(){be=0}function bk(){this._call=this._time=this._next=null}function bl(a,b,c){var d=new bk;return d.restart(a,b,c),d}function bm(){be=(bd=bg.now())+bf,ba=bb=0;try{bi(),++ba;for(var a,b=a8;b;)(a=be-b._time)>=0&&b._call.call(void 0,a),b=b._next;--ba}finally{ba=0,function(){for(var a,b,c=a8,d=1/0;c;)c._call?(d>c._time&&(d=c._time),a=c,c=c._next):(b=c._next,c._next=null,c=a?a._next=b:a8=b);a9=a,bo(d)}(),be=0}}function bn(){var a=bg.now(),b=a-bd;b>1e3&&(bf-=b,bd=a)}function bo(a){!ba&&(bb&&(bb=clearTimeout(bb)),a-be>24?(a<1/0&&(bb=setTimeout(bm,a-bg.now()-bf)),bc&&(bc=clearInterval(bc))):(bc||(bd=bg.now(),bc=setInterval(bn,1e3)),ba=1,bh(bm)))}function bp(a,b,c){var d=new bk;return b=null==b?0:+b,d.restart(c=>{d.stop(),a(c+b)},b,c),d}bk.prototype=bl.prototype={constructor:bk,restart:function(a,b,c){if("function"!=typeof a)throw TypeError("callback is not a function");c=(null==c?bi():+c)+(null==b?0:+b),this._next||a9===this||(a9?a9._next=this:a8=this,a9=this),this._call=a,this._time=c,bo()},stop:function(){this._call&&(this._call=null,this._time=1/0,bo())}};var bq=ab("start","end","cancel","interrupt"),br=[];function bs(a,b,c,d,e,f){var g=a.__transition;if(g){if(c in g)return}else a.__transition={};!function(a,b,c){var d,e=a.__transition;function f(i){var j,k,l,m;if(1!==c.state)return h();for(j in e)if((m=e[j]).name===c.name){if(3===m.state)return bp(f);4===m.state?(m.state=6,m.timer.stop(),m.on.call("interrupt",a,a.__data__,m.index,m.group),delete e[j]):+j<b&&(m.state=6,m.timer.stop(),m.on.call("cancel",a,a.__data__,m.index,m.group),delete e[j])}if(bp(function(){3===c.state&&(c.state=4,c.timer.restart(g,c.delay,c.time),g(i))}),c.state=2,c.on.call("start",a,a.__data__,c.index,c.group),2===c.state){for(j=0,c.state=3,d=Array(l=c.tween.length),k=-1;j<l;++j)(m=c.tween[j].value.call(a,a.__data__,c.index,c.group))&&(d[++k]=m);d.length=k+1}}function g(b){for(var e=b<c.duration?c.ease.call(null,b/c.duration):(c.timer.restart(h),c.state=5,1),f=-1,g=d.length;++f<g;)d[f].call(a,e);5===c.state&&(c.on.call("end",a,a.__data__,c.index,c.group),h())}function h(){for(var d in c.state=6,c.timer.stop(),delete e[b],e)return;delete a.__transition}e[b]=c,c.timer=bl(function(a){c.state=1,c.timer.restart(f,c.delay,c.time),c.delay<=a&&f(a-c.delay)},0,c.time)}(a,c,{name:b,index:d,group:e,on:bq,tween:br,time:f.time,delay:f.delay,duration:f.duration,ease:f.ease,timer:null,state:0})}function bt(a,b){var c=bv(a,b);if(c.state>0)throw Error("too late; already scheduled");return c}function bu(a,b){var c=bv(a,b);if(c.state>3)throw Error("too late; already running");return c}function bv(a,b){var c=a.__transition;if(!c||!(c=c[b]))throw Error("transition not found");return c}function bw(a,b){var c,d,e,f=a.__transition,g=!0;if(f){for(e in b=null==b?null:b+"",f){if((c=f[e]).name!==b){g=!1;continue}d=c.state>2&&c.state<5,c.state=6,c.timer.stop(),c.on.call(d?"interrupt":"cancel",a,a.__data__,c.index,c.group),delete f[e]}g&&delete a.__transition}}function bx(a,b){return a*=1,b*=1,function(c){return a*(1-c)+b*c}}var by=180/Math.PI,bz={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function bA(a,b,c,d,e,f){var g,h,i;return(g=Math.sqrt(a*a+b*b))&&(a/=g,b/=g),(i=a*c+b*d)&&(c-=a*i,d-=b*i),(h=Math.sqrt(c*c+d*d))&&(c/=h,d/=h,i/=h),a*d<b*c&&(a=-a,b=-b,i=-i,g=-g),{translateX:e,translateY:f,rotate:Math.atan2(b,a)*by,skewX:Math.atan(i)*by,scaleX:g,scaleY:h}}function bB(a,b,c,d){function e(a){return a.length?a.pop()+" ":""}return function(f,g){var h,i,j,k,l=[],m=[];return f=a(f),g=a(g),!function(a,d,e,f,g,h){if(a!==e||d!==f){var i=g.push("translate(",null,b,null,c);h.push({i:i-4,x:bx(a,e)},{i:i-2,x:bx(d,f)})}else(e||f)&&g.push("translate("+e+b+f+c)}(f.translateX,f.translateY,g.translateX,g.translateY,l,m),h=f.rotate,i=g.rotate,h!==i?(h-i>180?i+=360:i-h>180&&(h+=360),m.push({i:l.push(e(l)+"rotate(",null,d)-2,x:bx(h,i)})):i&&l.push(e(l)+"rotate("+i+d),j=f.skewX,k=g.skewX,j!==k?m.push({i:l.push(e(l)+"skewX(",null,d)-2,x:bx(j,k)}):k&&l.push(e(l)+"skewX("+k+d),!function(a,b,c,d,f,g){if(a!==c||b!==d){var h=f.push(e(f)+"scale(",null,",",null,")");g.push({i:h-4,x:bx(a,c)},{i:h-2,x:bx(b,d)})}else(1!==c||1!==d)&&f.push(e(f)+"scale("+c+","+d+")")}(f.scaleX,f.scaleY,g.scaleX,g.scaleY,l,m),f=g=null,function(a){for(var b,c=-1,d=m.length;++c<d;)l[(b=m[c]).i]=b.x(a);return l.join("")}}}var bC=bB(function(a){let b=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(a+"");return b.isIdentity?bz:bA(b.a,b.b,b.c,b.d,b.e,b.f)},"px, ","px)","deg)"),bD=bB(function(a){return null==a?bz:(k||(k=document.createElementNS("http://www.w3.org/2000/svg","g")),k.setAttribute("transform",a),a=k.transform.baseVal.consolidate())?bA((a=a.matrix).a,a.b,a.c,a.d,a.e,a.f):bz},", ",")",")");function bE(a,b,c){var d=a._id;return a.each(function(){var a=bu(this,d);(a.value||(a.value={}))[b]=c.apply(this,arguments)}),function(a){return bv(a,d).value[b]}}function bF(a,b,c){a.prototype=b.prototype=c,c.constructor=a}function bG(a,b){var c=Object.create(a.prototype);for(var d in b)c[d]=b[d];return c}function bH(){}var bI="\\s*([+-]?\\d+)\\s*",bJ="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",bK="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",bL=/^#([0-9a-f]{3,8})$/,bM=RegExp(`^rgb\\(${bI},${bI},${bI}\\)$`),bN=RegExp(`^rgb\\(${bK},${bK},${bK}\\)$`),bO=RegExp(`^rgba\\(${bI},${bI},${bI},${bJ}\\)$`),bP=RegExp(`^rgba\\(${bK},${bK},${bK},${bJ}\\)$`),bQ=RegExp(`^hsl\\(${bJ},${bK},${bK}\\)$`),bR=RegExp(`^hsla\\(${bJ},${bK},${bK},${bJ}\\)$`),bS={aliceblue:0xf0f8ff,antiquewhite:0xfaebd7,aqua:65535,aquamarine:8388564,azure:0xf0ffff,beige:0xf5f5dc,bisque:0xffe4c4,black:0,blanchedalmond:0xffebcd,blue:255,blueviolet:9055202,brown:0xa52a2a,burlywood:0xdeb887,cadetblue:6266528,chartreuse:8388352,chocolate:0xd2691e,coral:0xff7f50,cornflowerblue:6591981,cornsilk:0xfff8dc,crimson:0xdc143c,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:0xb8860b,darkgray:0xa9a9a9,darkgreen:25600,darkgrey:0xa9a9a9,darkkhaki:0xbdb76b,darkmagenta:9109643,darkolivegreen:5597999,darkorange:0xff8c00,darkorchid:0x9932cc,darkred:9109504,darksalmon:0xe9967a,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:0xff1493,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:0xb22222,floralwhite:0xfffaf0,forestgreen:2263842,fuchsia:0xff00ff,gainsboro:0xdcdcdc,ghostwhite:0xf8f8ff,gold:0xffd700,goldenrod:0xdaa520,gray:8421504,green:32768,greenyellow:0xadff2f,grey:8421504,honeydew:0xf0fff0,hotpink:0xff69b4,indianred:0xcd5c5c,indigo:4915330,ivory:0xfffff0,khaki:0xf0e68c,lavender:0xe6e6fa,lavenderblush:0xfff0f5,lawngreen:8190976,lemonchiffon:0xfffacd,lightblue:0xadd8e6,lightcoral:0xf08080,lightcyan:0xe0ffff,lightgoldenrodyellow:0xfafad2,lightgray:0xd3d3d3,lightgreen:9498256,lightgrey:0xd3d3d3,lightpink:0xffb6c1,lightsalmon:0xffa07a,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:0xb0c4de,lightyellow:0xffffe0,lime:65280,limegreen:3329330,linen:0xfaf0e6,magenta:0xff00ff,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:0xba55d3,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:0xc71585,midnightblue:1644912,mintcream:0xf5fffa,mistyrose:0xffe4e1,moccasin:0xffe4b5,navajowhite:0xffdead,navy:128,oldlace:0xfdf5e6,olive:8421376,olivedrab:7048739,orange:0xffa500,orangered:0xff4500,orchid:0xda70d6,palegoldenrod:0xeee8aa,palegreen:0x98fb98,paleturquoise:0xafeeee,palevioletred:0xdb7093,papayawhip:0xffefd5,peachpuff:0xffdab9,peru:0xcd853f,pink:0xffc0cb,plum:0xdda0dd,powderblue:0xb0e0e6,purple:8388736,rebeccapurple:6697881,red:0xff0000,rosybrown:0xbc8f8f,royalblue:4286945,saddlebrown:9127187,salmon:0xfa8072,sandybrown:0xf4a460,seagreen:3050327,seashell:0xfff5ee,sienna:0xa0522d,silver:0xc0c0c0,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:0xfffafa,springgreen:65407,steelblue:4620980,tan:0xd2b48c,teal:32896,thistle:0xd8bfd8,tomato:0xff6347,turquoise:4251856,violet:0xee82ee,wheat:0xf5deb3,white:0xffffff,whitesmoke:0xf5f5f5,yellow:0xffff00,yellowgreen:0x9acd32};function bT(){return this.rgb().formatHex()}function bU(){return this.rgb().formatRgb()}function bV(a){var b,c;return a=(a+"").trim().toLowerCase(),(b=bL.exec(a))?(c=b[1].length,b=parseInt(b[1],16),6===c?bW(b):3===c?new bZ(b>>8&15|b>>4&240,b>>4&15|240&b,(15&b)<<4|15&b,1):8===c?bX(b>>24&255,b>>16&255,b>>8&255,(255&b)/255):4===c?bX(b>>12&15|b>>8&240,b>>8&15|b>>4&240,b>>4&15|240&b,((15&b)<<4|15&b)/255):null):(b=bM.exec(a))?new bZ(b[1],b[2],b[3],1):(b=bN.exec(a))?new bZ(255*b[1]/100,255*b[2]/100,255*b[3]/100,1):(b=bO.exec(a))?bX(b[1],b[2],b[3],b[4]):(b=bP.exec(a))?bX(255*b[1]/100,255*b[2]/100,255*b[3]/100,b[4]):(b=bQ.exec(a))?b3(b[1],b[2]/100,b[3]/100,1):(b=bR.exec(a))?b3(b[1],b[2]/100,b[3]/100,b[4]):bS.hasOwnProperty(a)?bW(bS[a]):"transparent"===a?new bZ(NaN,NaN,NaN,0):null}function bW(a){return new bZ(a>>16&255,a>>8&255,255&a,1)}function bX(a,b,c,d){return d<=0&&(a=b=c=NaN),new bZ(a,b,c,d)}function bY(a,b,c,d){var e;return 1==arguments.length?((e=a)instanceof bH||(e=bV(e)),e)?new bZ((e=e.rgb()).r,e.g,e.b,e.opacity):new bZ:new bZ(a,b,c,null==d?1:d)}function bZ(a,b,c,d){this.r=+a,this.g=+b,this.b=+c,this.opacity=+d}function b$(){return`#${b2(this.r)}${b2(this.g)}${b2(this.b)}`}function b_(){let a=b0(this.opacity);return`${1===a?"rgb(":"rgba("}${b1(this.r)}, ${b1(this.g)}, ${b1(this.b)}${1===a?")":`, ${a})`}`}function b0(a){return isNaN(a)?1:Math.max(0,Math.min(1,a))}function b1(a){return Math.max(0,Math.min(255,Math.round(a)||0))}function b2(a){return((a=b1(a))<16?"0":"")+a.toString(16)}function b3(a,b,c,d){return d<=0?a=b=c=NaN:c<=0||c>=1?a=b=NaN:b<=0&&(a=NaN),new b5(a,b,c,d)}function b4(a){if(a instanceof b5)return new b5(a.h,a.s,a.l,a.opacity);if(a instanceof bH||(a=bV(a)),!a)return new b5;if(a instanceof b5)return a;var b=(a=a.rgb()).r/255,c=a.g/255,d=a.b/255,e=Math.min(b,c,d),f=Math.max(b,c,d),g=NaN,h=f-e,i=(f+e)/2;return h?(g=b===f?(c-d)/h+(c<d)*6:c===f?(d-b)/h+2:(b-c)/h+4,h/=i<.5?f+e:2-f-e,g*=60):h=i>0&&i<1?0:g,new b5(g,h,i,a.opacity)}function b5(a,b,c,d){this.h=+a,this.s=+b,this.l=+c,this.opacity=+d}function b6(a){return(a=(a||0)%360)<0?a+360:a}function b7(a){return Math.max(0,Math.min(1,a||0))}function b8(a,b,c){return(a<60?b+(c-b)*a/60:a<180?c:a<240?b+(c-b)*(240-a)/60:b)*255}function b9(a,b,c,d,e){var f=a*a,g=f*a;return((1-3*a+3*f-g)*b+(4-6*f+3*g)*c+(1+3*a+3*f-3*g)*d+g*e)/6}bF(bH,bV,{copy(a){return Object.assign(new this.constructor,this,a)},displayable(){return this.rgb().displayable()},hex:bT,formatHex:bT,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return b4(this).formatHsl()},formatRgb:bU,toString:bU}),bF(bZ,bY,bG(bH,{brighter(a){return a=null==a?1.4285714285714286:Math.pow(1.4285714285714286,a),new bZ(this.r*a,this.g*a,this.b*a,this.opacity)},darker(a){return a=null==a?.7:Math.pow(.7,a),new bZ(this.r*a,this.g*a,this.b*a,this.opacity)},rgb(){return this},clamp(){return new bZ(b1(this.r),b1(this.g),b1(this.b),b0(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:b$,formatHex:b$,formatHex8:function(){return`#${b2(this.r)}${b2(this.g)}${b2(this.b)}${b2((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:b_,toString:b_})),bF(b5,function(a,b,c,d){return 1==arguments.length?b4(a):new b5(a,b,c,null==d?1:d)},bG(bH,{brighter(a){return a=null==a?1.4285714285714286:Math.pow(1.4285714285714286,a),new b5(this.h,this.s,this.l*a,this.opacity)},darker(a){return a=null==a?.7:Math.pow(.7,a),new b5(this.h,this.s,this.l*a,this.opacity)},rgb(){var a=this.h%360+(this.h<0)*360,b=isNaN(a)||isNaN(this.s)?0:this.s,c=this.l,d=c+(c<.5?c:1-c)*b,e=2*c-d;return new bZ(b8(a>=240?a-240:a+120,e,d),b8(a,e,d),b8(a<120?a+240:a-120,e,d),this.opacity)},clamp(){return new b5(b6(this.h),b7(this.s),b7(this.l),b0(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let a=b0(this.opacity);return`${1===a?"hsl(":"hsla("}${b6(this.h)}, ${100*b7(this.s)}%, ${100*b7(this.l)}%${1===a?")":`, ${a})`}`}}));let ca=a=>()=>a;function cb(a,b){var c=b-a;return c?function(b){return a+b*c}:ca(isNaN(a)?b:a)}let cc=function a(b){var c,d=1==(c=+b)?cb:function(a,b){var d,e,f;return b-a?(d=a,e=b,d=Math.pow(d,f=c),e=Math.pow(e,f)-d,f=1/f,function(a){return Math.pow(d+a*e,f)}):ca(isNaN(a)?b:a)};function e(a,b){var c=d((a=bY(a)).r,(b=bY(b)).r),e=d(a.g,b.g),f=d(a.b,b.b),g=cb(a.opacity,b.opacity);return function(b){return a.r=c(b),a.g=e(b),a.b=f(b),a.opacity=g(b),a+""}}return e.gamma=a,e}(1);function cd(a){return function(b){var c,d,e=b.length,f=Array(e),g=Array(e),h=Array(e);for(c=0;c<e;++c)d=bY(b[c]),f[c]=d.r||0,g[c]=d.g||0,h[c]=d.b||0;return f=a(f),g=a(g),h=a(h),d.opacity=1,function(a){return d.r=f(a),d.g=g(a),d.b=h(a),d+""}}}cd(function(a){var b=a.length-1;return function(c){var d=c<=0?c=0:c>=1?(c=1,b-1):Math.floor(c*b),e=a[d],f=a[d+1],g=d>0?a[d-1]:2*e-f,h=d<b-1?a[d+2]:2*f-e;return b9((c-d/b)*b,g,e,f,h)}}),cd(function(a){var b=a.length;return function(c){var d=Math.floor(((c%=1)<0?++c:c)*b),e=a[(d+b-1)%b],f=a[d%b],g=a[(d+1)%b],h=a[(d+2)%b];return b9((c-d/b)*b,e,f,g,h)}});var ce=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,cf=RegExp(ce.source,"g");function cg(a,b){var c,d,e,f,g,h=ce.lastIndex=cf.lastIndex=0,i=-1,j=[],k=[];for(a+="",b+="";(e=ce.exec(a))&&(f=cf.exec(b));)(g=f.index)>h&&(g=b.slice(h,g),j[i]?j[i]+=g:j[++i]=g),(e=e[0])===(f=f[0])?j[i]?j[i]+=f:j[++i]=f:(j[++i]=null,k.push({i:i,x:bx(e,f)})),h=cf.lastIndex;return h<b.length&&(g=b.slice(h),j[i]?j[i]+=g:j[++i]=g),j.length<2?k[0]?(c=k[0].x,function(a){return c(a)+""}):(d=b,function(){return d}):(b=k.length,function(a){for(var c,d=0;d<b;++d)j[(c=k[d]).i]=c.x(a);return j.join("")})}function ch(a,b){var c;return("number"==typeof b?bx:b instanceof bV?cc:(c=bV(b))?(b=c,cc):cg)(a,b)}var ci=aS.prototype.constructor;function cj(a){return function(){this.style.removeProperty(a)}}var ck=0;function cl(a,b,c,d){this._groups=a,this._parents=b,this._name=c,this._id=d}var cm=aS.prototype;cl.prototype=(function(a){return aS().transition(a)}).prototype={constructor:cl,select:function(a){var b=this._name,c=this._id;"function"!=typeof a&&(a=af(a));for(var d=this._groups,e=d.length,f=Array(e),g=0;g<e;++g)for(var h,i,j=d[g],k=j.length,l=f[g]=Array(k),m=0;m<k;++m)(h=j[m])&&(i=a.call(h,h.__data__,m,j))&&("__data__"in h&&(i.__data__=h.__data__),l[m]=i,bs(l[m],b,c,m,l,bv(h,c)));return new cl(f,this._parents,b,c)},selectAll:function(a){var b=this._name,c=this._id;"function"!=typeof a&&(a=ah(a));for(var d=this._groups,e=d.length,f=[],g=[],h=0;h<e;++h)for(var i,j=d[h],k=j.length,l=0;l<k;++l)if(i=j[l]){for(var m,n=a.call(i,i.__data__,l,j),o=bv(i,c),p=0,q=n.length;p<q;++p)(m=n[p])&&bs(m,b,c,p,n,o);f.push(n),g.push(i)}return new cl(f,g,b,c)},selectChild:cm.selectChild,selectChildren:cm.selectChildren,filter:function(a){"function"!=typeof a&&(a=ai(a));for(var b=this._groups,c=b.length,d=Array(c),e=0;e<c;++e)for(var f,g=b[e],h=g.length,i=d[e]=[],j=0;j<h;++j)(f=g[j])&&a.call(f,f.__data__,j,g)&&i.push(f);return new cl(d,this._parents,this._name,this._id)},merge:function(a){if(a._id!==this._id)throw Error();for(var b=this._groups,c=a._groups,d=b.length,e=c.length,f=Math.min(d,e),g=Array(d),h=0;h<f;++h)for(var i,j=b[h],k=c[h],l=j.length,m=g[h]=Array(l),n=0;n<l;++n)(i=j[n]||k[n])&&(m[n]=i);for(;h<d;++h)g[h]=b[h];return new cl(g,this._parents,this._name,this._id)},selection:function(){return new ci(this._groups,this._parents)},transition:function(){for(var a=this._name,b=this._id,c=++ck,d=this._groups,e=d.length,f=0;f<e;++f)for(var g,h=d[f],i=h.length,j=0;j<i;++j)if(g=h[j]){var k=bv(g,b);bs(g,a,c,j,h,{time:k.time+k.delay+k.duration,delay:0,duration:k.duration,ease:k.ease})}return new cl(d,this._parents,a,c)},call:cm.call,nodes:cm.nodes,node:cm.node,size:cm.size,empty:cm.empty,each:cm.each,on:function(a,b){var c,d,e,f,g,h,i=this._id;return arguments.length<2?bv(this.node(),i).on.on(a):this.each((c=i,d=a,e=b,h=(d+"").trim().split(/^|\s+/).every(function(a){var b=a.indexOf(".");return b>=0&&(a=a.slice(0,b)),!a||"start"===a})?bt:bu,function(){var a=h(this,c),b=a.on;b!==f&&(g=(f=b).copy()).on(d,e),a.on=g}))},attr:function(a,b){var c=aw(a),d="transform"===c?bD:ch;return this.attrTween(a,"function"==typeof b?(c.local?function(a,b,c){var d,e,f;return function(){var g,h,i=c(this);return null==i?void this.removeAttributeNS(a.space,a.local):(g=this.getAttributeNS(a.space,a.local))===(h=i+"")?null:g===d&&h===e?f:(e=h,f=b(d=g,i))}}:function(a,b,c){var d,e,f;return function(){var g,h,i=c(this);return null==i?void this.removeAttribute(a):(g=this.getAttribute(a))===(h=i+"")?null:g===d&&h===e?f:(e=h,f=b(d=g,i))}})(c,d,bE(this,"attr."+a,b)):null==b?(c.local?function(a){return function(){this.removeAttributeNS(a.space,a.local)}}:function(a){return function(){this.removeAttribute(a)}})(c):(c.local?function(a,b,c){var d,e,f=c+"";return function(){var g=this.getAttributeNS(a.space,a.local);return g===f?null:g===d?e:e=b(d=g,c)}}:function(a,b,c){var d,e,f=c+"";return function(){var g=this.getAttribute(a);return g===f?null:g===d?e:e=b(d=g,c)}})(c,d,b))},attrTween:function(a,b){var c="attr."+a;if(arguments.length<2)return(c=this.tween(c))&&c._value;if(null==b)return this.tween(c,null);if("function"!=typeof b)throw Error();var d=aw(a);return this.tween(c,(d.local?function(a,b){var c,d;function e(){var e=b.apply(this,arguments);return e!==d&&(c=(d=e)&&function(b){this.setAttributeNS(a.space,a.local,e.call(this,b))}),c}return e._value=b,e}:function(a,b){var c,d;function e(){var e=b.apply(this,arguments);return e!==d&&(c=(d=e)&&function(b){this.setAttribute(a,e.call(this,b))}),c}return e._value=b,e})(d,b))},style:function(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y="transform"==(a+="")?bC:ch;return null==b?this.styleTween(a,(d=a,function(){var a=ay(this,d),b=(this.style.removeProperty(d),ay(this,d));return a===b?null:a===e&&b===f?g:g=y(e=a,f=b)})).on("end.style."+a,cj(a)):"function"==typeof b?this.styleTween(a,(h=a,i=bE(this,"style."+a,b),function(){var a=ay(this,h),b=i(this),c=b+"";return null==b&&(this.style.removeProperty(h),c=b=ay(this,h)),a===c?null:a===j&&c===k?l:(k=c,l=y(j=a,b))})).each((m=this._id,t="end."+(s="style."+(n=a)),function(){var a=bu(this,m),b=a.on,c=null==a.value[s]?r||(r=cj(n)):void 0;(b!==o||q!==c)&&(p=(o=b).copy()).on(t,q=c),a.on=p})):this.styleTween(a,(u=a,x=b+"",function(){var a=ay(this,u);return a===x?null:a===v?w:w=y(v=a,b)}),c).on("end.style."+a,null)},styleTween:function(a,b,c){var d="style."+(a+="");if(arguments.length<2)return(d=this.tween(d))&&d._value;if(null==b)return this.tween(d,null);if("function"!=typeof b)throw Error();return this.tween(d,function(a,b,c){var d,e;function f(){var f=b.apply(this,arguments);return f!==e&&(d=(e=f)&&function(b){this.style.setProperty(a,f.call(this,b),c)}),d}return f._value=b,f}(a,b,null==c?"":c))},text:function(a){var b,c;return this.tween("text","function"==typeof a?(b=bE(this,"text",a),function(){var a=b(this);this.textContent=null==a?"":a}):(c=null==a?"":a+"",function(){this.textContent=c}))},textTween:function(a){var b="text";if(arguments.length<1)return(b=this.tween(b))&&b._value;if(null==a)return this.tween(b,null);if("function"!=typeof a)throw Error();return this.tween(b,function(a){var b,c;function d(){var d=a.apply(this,arguments);return d!==c&&(b=(c=d)&&function(a){this.textContent=d.call(this,a)}),b}return d._value=a,d}(a))},remove:function(){var a;return this.on("end.remove",(a=this._id,function(){var b=this.parentNode;for(var c in this.__transition)if(+c!==a)return;b&&b.removeChild(this)}))},tween:function(a,b){var c=this._id;if(a+="",arguments.length<2){for(var d,e=bv(this.node(),c).tween,f=0,g=e.length;f<g;++f)if((d=e[f]).name===a)return d.value;return null}return this.each((null==b?function(a,b){var c,d;return function(){var e=bu(this,a),f=e.tween;if(f!==c){d=c=f;for(var g=0,h=d.length;g<h;++g)if(d[g].name===b){(d=d.slice()).splice(g,1);break}}e.tween=d}}:function(a,b,c){var d,e;if("function"!=typeof c)throw Error();return function(){var f=bu(this,a),g=f.tween;if(g!==d){e=(d=g).slice();for(var h={name:b,value:c},i=0,j=e.length;i<j;++i)if(e[i].name===b){e[i]=h;break}i===j&&e.push(h)}f.tween=e}})(c,a,b))},delay:function(a){var b=this._id;return arguments.length?this.each(("function"==typeof a?function(a,b){return function(){bt(this,a).delay=+b.apply(this,arguments)}}:function(a,b){return b*=1,function(){bt(this,a).delay=b}})(b,a)):bv(this.node(),b).delay},duration:function(a){var b=this._id;return arguments.length?this.each(("function"==typeof a?function(a,b){return function(){bu(this,a).duration=+b.apply(this,arguments)}}:function(a,b){return b*=1,function(){bu(this,a).duration=b}})(b,a)):bv(this.node(),b).duration},ease:function(a){var b=this._id;return arguments.length?this.each(function(a,b){if("function"!=typeof b)throw Error();return function(){bu(this,a).ease=b}}(b,a)):bv(this.node(),b).ease},easeVarying:function(a){var b;if("function"!=typeof a)throw Error();return this.each((b=this._id,function(){var c=a.apply(this,arguments);if("function"!=typeof c)throw Error();bu(this,b).ease=c}))},end:function(){var a,b,c=this,d=c._id,e=c.size();return new Promise(function(f,g){var h={value:g},i={value:function(){0==--e&&f()}};c.each(function(){var c=bu(this,d),e=c.on;e!==a&&((b=(a=e).copy())._.cancel.push(h),b._.interrupt.push(h),b._.end.push(i)),c.on=b}),0===e&&f()})},[Symbol.iterator]:cm[Symbol.iterator]};var cn={time:null,delay:0,duration:250,ease:function(a){return((a*=2)<=1?a*a*a:(a-=2)*a*a+2)/2}};aS.prototype.interrupt=function(a){return this.each(function(){bw(this,a)})},aS.prototype.transition=function(a){var b,c;a instanceof cl?(b=a._id,a=a._name):(b=++ck,(c=cn).time=bi(),a=null==a?null:a+"");for(var d=this._groups,e=d.length,f=0;f<e;++f)for(var g,h=d[f],i=h.length,j=0;j<i;++j)(g=h[j])&&bs(g,a,b,j,h,c||function(a,b){for(var c;!(c=a.__transition)||!(c=c[b]);)if(!(a=a.parentNode))throw Error(`transition ${b} not found`);return c}(g,b));return new cl(d,this._parents,a,b)};let co=a=>()=>a;function cp(a,{sourceEvent:b,target:c,transform:d,dispatch:e}){Object.defineProperties(this,{type:{value:a,enumerable:!0,configurable:!0},sourceEvent:{value:b,enumerable:!0,configurable:!0},target:{value:c,enumerable:!0,configurable:!0},transform:{value:d,enumerable:!0,configurable:!0},_:{value:e}})}function cq(a,b,c){this.k=a,this.x=b,this.y=c}cq.prototype={constructor:cq,scale:function(a){return 1===a?this:new cq(this.k*a,this.x,this.y)},translate:function(a,b){return 0===a&0===b?this:new cq(this.k,this.x+this.k*a,this.y+this.k*b)},apply:function(a){return[a[0]*this.k+this.x,a[1]*this.k+this.y]},applyX:function(a){return a*this.k+this.x},applyY:function(a){return a*this.k+this.y},invert:function(a){return[(a[0]-this.x)/this.k,(a[1]-this.y)/this.k]},invertX:function(a){return(a-this.x)/this.k},invertY:function(a){return(a-this.y)/this.k},rescaleX:function(a){return a.copy().domain(a.range().map(this.invertX,this).map(a.invert,a))},rescaleY:function(a){return a.copy().domain(a.range().map(this.invertY,this).map(a.invert,a))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var cr=new cq(1,0,0);function cs(a){for(;!a.__zoom;)if(!(a=a.parentNode))return cr;return a.__zoom}function ct(a){a.stopImmediatePropagation()}function cu(a){a.preventDefault(),a.stopImmediatePropagation()}function cv(a){return(!a.ctrlKey||"wheel"===a.type)&&!a.button}function cw(){var a=this;return a instanceof SVGElement?(a=a.ownerSVGElement||a).hasAttribute("viewBox")?[[(a=a.viewBox.baseVal).x,a.y],[a.x+a.width,a.y+a.height]]:[[0,0],[a.width.baseVal.value,a.height.baseVal.value]]:[[0,0],[a.clientWidth,a.clientHeight]]}function cx(){return this.__zoom||cr}function cy(a){return-a.deltaY*(1===a.deltaMode?.05:a.deltaMode?1:.002)*(a.ctrlKey?10:1)}function cz(){return navigator.maxTouchPoints||"ontouchstart"in this}function cA(a,b,c){var d=a.invertX(b[0][0])-c[0][0],e=a.invertX(b[1][0])-c[1][0],f=a.invertY(b[0][1])-c[0][1],g=a.invertY(b[1][1])-c[1][1];return a.translate(e>d?(d+e)/2:Math.min(0,d)||Math.max(0,e),g>f?(f+g)/2:Math.min(0,f)||Math.max(0,g))}function cB(){var a,b,c,d=cv,e=cw,f=cA,g=cy,h=cz,i=[0,1/0],j=[[-1/0,-1/0],[1/0,1/0]],k=250,l=a7,m=ab("start","zoom","end"),n=0,o=10;function p(a){a.property("__zoom",cx).on("wheel.zoom",w,{passive:!1}).on("mousedown.zoom",x).on("dblclick.zoom",y).filter(h).on("touchstart.zoom",z).on("touchmove.zoom",A).on("touchend.zoom touchcancel.zoom",B).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function q(a,b){return(b=Math.max(i[0],Math.min(i[1],b)))===a.k?a:new cq(b,a.x,a.y)}function r(a,b,c){var d=b[0]-c[0]*a.k,e=b[1]-c[1]*a.k;return d===a.x&&e===a.y?a:new cq(a.k,d,e)}function s(a){return[(+a[0][0]+ +a[1][0])/2,(+a[0][1]+ +a[1][1])/2]}function t(a,b,c,d){a.on("start.zoom",function(){u(this,arguments).event(d).start()}).on("interrupt.zoom end.zoom",function(){u(this,arguments).event(d).end()}).tween("zoom",function(){var a=arguments,f=u(this,a).event(d),g=e.apply(this,a),h=null==c?s(g):"function"==typeof c?c.apply(this,a):c,i=Math.max(g[1][0]-g[0][0],g[1][1]-g[0][1]),j=this.__zoom,k="function"==typeof b?b.apply(this,a):b,m=l(j.invert(h).concat(i/j.k),k.invert(h).concat(i/k.k));return function(a){if(1===a)a=k;else{var b=m(a),c=i/b[2];a=new cq(c,h[0]-b[0]*c,h[1]-b[1]*c)}f.zoom(null,a)}})}function u(a,b,c){return!c&&a.__zooming||new v(a,b)}function v(a,b){this.that=a,this.args=b,this.active=0,this.sourceEvent=null,this.extent=e.apply(a,b),this.taps=0}function w(a,...b){if(d.apply(this,arguments)){var c=u(this,b).event(a),e=this.__zoom,h=Math.max(i[0],Math.min(i[1],e.k*Math.pow(2,g.apply(this,arguments)))),k=aU(a);if(c.wheel)(c.mouse[0][0]!==k[0]||c.mouse[0][1]!==k[1])&&(c.mouse[1]=e.invert(c.mouse[0]=k)),clearTimeout(c.wheel);else{if(e.k===h)return;c.mouse=[k,e.invert(k)],bw(this),c.start()}cu(a),c.wheel=setTimeout(function(){c.wheel=null,c.end()},150),c.zoom("mouse",f(r(q(e,h),c.mouse[0],c.mouse[1]),c.extent,j))}}function x(a,...b){if(!c&&d.apply(this,arguments)){var e=a.currentTarget,g=u(this,b,!0).event(a),h=aT(a.view).on("mousemove.zoom",function(a){if(cu(a),!g.moved){var b=a.clientX-k,c=a.clientY-l;g.moved=b*b+c*c>n}g.event(a).zoom("mouse",f(r(g.that.__zoom,g.mouse[0]=aU(a,e),g.mouse[1]),g.extent,j))},!0).on("mouseup.zoom",function(a){h.on("mousemove.zoom mouseup.zoom",null),a$(a.view,g.moved),cu(a),g.event(a).end()},!0),i=aU(a,e),k=a.clientX,l=a.clientY;aZ(a.view),ct(a),g.mouse=[i,this.__zoom.invert(i)],bw(this),g.start()}}function y(a,...b){if(d.apply(this,arguments)){var c=this.__zoom,g=aU(a.changedTouches?a.changedTouches[0]:a,this),h=c.invert(g),i=c.k*(a.shiftKey?.5:2),l=f(r(q(c,i),g,h),e.apply(this,b),j);cu(a),k>0?aT(this).transition().duration(k).call(t,l,g,a):aT(this).call(p.transform,l,g,a)}}function z(c,...e){if(d.apply(this,arguments)){var f,g,h,i,j=c.touches,k=j.length,l=u(this,e,c.changedTouches.length===k).event(c);for(ct(c),g=0;g<k;++g)i=[i=aU(h=j[g],this),this.__zoom.invert(i),h.identifier],l.touch0?l.touch1||l.touch0[2]===i[2]||(l.touch1=i,l.taps=0):(l.touch0=i,f=!0,l.taps=1+!!a);a&&(a=clearTimeout(a)),f&&(l.taps<2&&(b=i[0],a=setTimeout(function(){a=null},500)),bw(this),l.start())}}function A(a,...b){if(this.__zooming){var c,d,e,g,h=u(this,b).event(a),i=a.changedTouches,k=i.length;for(cu(a),c=0;c<k;++c)e=aU(d=i[c],this),h.touch0&&h.touch0[2]===d.identifier?h.touch0[0]=e:h.touch1&&h.touch1[2]===d.identifier&&(h.touch1[0]=e);if(d=h.that.__zoom,h.touch1){var l=h.touch0[0],m=h.touch0[1],n=h.touch1[0],o=h.touch1[1],p=(p=n[0]-l[0])*p+(p=n[1]-l[1])*p,s=(s=o[0]-m[0])*s+(s=o[1]-m[1])*s;d=q(d,Math.sqrt(p/s)),e=[(l[0]+n[0])/2,(l[1]+n[1])/2],g=[(m[0]+o[0])/2,(m[1]+o[1])/2]}else{if(!h.touch0)return;e=h.touch0[0],g=h.touch0[1]}h.zoom("touch",f(r(d,e,g),h.extent,j))}}function B(a,...d){if(this.__zooming){var e,f,g=u(this,d).event(a),h=a.changedTouches,i=h.length;for(ct(a),c&&clearTimeout(c),c=setTimeout(function(){c=null},500),e=0;e<i;++e)f=h[e],g.touch0&&g.touch0[2]===f.identifier?delete g.touch0:g.touch1&&g.touch1[2]===f.identifier&&delete g.touch1;if(g.touch1&&!g.touch0&&(g.touch0=g.touch1,delete g.touch1),g.touch0)g.touch0[1]=this.__zoom.invert(g.touch0[0]);else if(g.end(),2===g.taps&&(f=aU(f,this),Math.hypot(b[0]-f[0],b[1]-f[1])<o)){var j=aT(this).on("dblclick.zoom");j&&j.apply(this,arguments)}}}return p.transform=function(a,b,c,d){var e=a.selection?a.selection():a;e.property("__zoom",cx),a!==e?t(a,b,c,d):e.interrupt().each(function(){u(this,arguments).event(d).start().zoom(null,"function"==typeof b?b.apply(this,arguments):b).end()})},p.scaleBy=function(a,b,c,d){p.scaleTo(a,function(){var a=this.__zoom.k,c="function"==typeof b?b.apply(this,arguments):b;return a*c},c,d)},p.scaleTo=function(a,b,c,d){p.transform(a,function(){var a=e.apply(this,arguments),d=this.__zoom,g=null==c?s(a):"function"==typeof c?c.apply(this,arguments):c,h=d.invert(g),i="function"==typeof b?b.apply(this,arguments):b;return f(r(q(d,i),g,h),a,j)},c,d)},p.translateBy=function(a,b,c,d){p.transform(a,function(){return f(this.__zoom.translate("function"==typeof b?b.apply(this,arguments):b,"function"==typeof c?c.apply(this,arguments):c),e.apply(this,arguments),j)},null,d)},p.translateTo=function(a,b,c,d,g){p.transform(a,function(){var a=e.apply(this,arguments),g=this.__zoom,h=null==d?s(a):"function"==typeof d?d.apply(this,arguments):d;return f(cr.translate(h[0],h[1]).scale(g.k).translate("function"==typeof b?-b.apply(this,arguments):-b,"function"==typeof c?-c.apply(this,arguments):-c),a,j)},d,g)},v.prototype={event:function(a){return a&&(this.sourceEvent=a),this},start:function(){return 1==++this.active&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(a,b){return this.mouse&&"mouse"!==a&&(this.mouse[1]=b.invert(this.mouse[0])),this.touch0&&"touch"!==a&&(this.touch0[1]=b.invert(this.touch0[0])),this.touch1&&"touch"!==a&&(this.touch1[1]=b.invert(this.touch1[0])),this.that.__zoom=b,this.emit("zoom"),this},end:function(){return 0==--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(a){var b=aT(this.that).datum();m.call(a,this.that,new cp(a,{sourceEvent:this.sourceEvent,target:p,type:a,transform:this.that.__zoom,dispatch:m}),b)}},p.wheelDelta=function(a){return arguments.length?(g="function"==typeof a?a:co(+a),p):g},p.filter=function(a){return arguments.length?(d="function"==typeof a?a:co(!!a),p):d},p.touchable=function(a){return arguments.length?(h="function"==typeof a?a:co(!!a),p):h},p.extent=function(a){return arguments.length?(e="function"==typeof a?a:co([[+a[0][0],+a[0][1]],[+a[1][0],+a[1][1]]]),p):e},p.scaleExtent=function(a){return arguments.length?(i[0]=+a[0],i[1]=+a[1],p):[i[0],i[1]]},p.translateExtent=function(a){return arguments.length?(j[0][0]=+a[0][0],j[1][0]=+a[1][0],j[0][1]=+a[0][1],j[1][1]=+a[1][1],p):[[j[0][0],j[0][1]],[j[1][0],j[1][1]]]},p.constrain=function(a){return arguments.length?(f=a,p):f},p.duration=function(a){return arguments.length?(k=+a,p):k},p.interpolate=function(a){return arguments.length?(l=a,p):l},p.on=function(){var a=m.on.apply(m,arguments);return a===m?p:a},p.clickDistance=function(a){return arguments.length?(n=(a*=1)*a,p):Math.sqrt(n)},p.tapDistance=function(a){return arguments.length?(o=+a,p):o},p}function cC(a,b){var c,d,e=typeof b;return null==b||"boolean"===e?ca(b):("number"===e?bx:"string"===e?(d=bV(b))?(b=d,cc):cg:b instanceof bV?cc:b instanceof Date?function(a,b){var c=new Date;return a*=1,b*=1,function(d){return c.setTime(a*(1-d)+b*d),c}}:!ArrayBuffer.isView(c=b)||c instanceof DataView?Array.isArray(b)?function(a,b){var c,d=b?b.length:0,e=a?Math.min(d,a.length):0,f=Array(e),g=Array(d);for(c=0;c<e;++c)f[c]=cC(a[c],b[c]);for(;c<d;++c)g[c]=b[c];return function(a){for(c=0;c<e;++c)g[c]=f[c](a);return g}}:"function"!=typeof b.valueOf&&"function"!=typeof b.toString||isNaN(b)?function(a,b){var c,d={},e={};for(c in(null===a||"object"!=typeof a)&&(a={}),(null===b||"object"!=typeof b)&&(b={}),b)c in a?d[c]=cC(a[c],b[c]):e[c]=b[c];return function(a){for(c in d)e[c]=d[c](a);return e}}:bx:function(a,b){b||(b=[]);var c,d=a?Math.min(b.length,a.length):0,e=b.slice();return function(f){for(c=0;c<d;++c)e[c]=a[c]*(1-f)+b[c]*f;return e}})(a,b)}cs.prototype=cq.prototype;let cD=[[-1/0,-1/0],[1/0,1/0]],cE=["Enter"," ","Escape"],cF={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:a,x:b,y:c})=>`Moved selected node ${a}. New position, x: ${b}, y: ${c}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};(c=l||(l={})).Strict="strict",c.Loose="loose",(d=m||(m={})).Free="free",d.Vertical="vertical",d.Horizontal="horizontal",(e=n||(n={})).Partial="partial",e.Full="full";let cG={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};(f=o||(o={})).Bezier="default",f.Straight="straight",f.Step="step",f.SmoothStep="smoothstep",f.SimpleBezier="simplebezier",(g=p||(p={})).Arrow="arrow",g.ArrowClosed="arrowclosed",(h=q||(q={})).Left="left",h.Top="top",h.Right="right",h.Bottom="bottom";let cH={[q.Left]:q.Right,[q.Right]:q.Left,[q.Top]:q.Bottom,[q.Bottom]:q.Top};function cI(a){return null===a?null:a?"valid":"invalid"}let cJ=a=>"id"in a&&"source"in a&&"target"in a,cK=a=>"id"in a&&"internals"in a&&!("source"in a)&&!("target"in a),cL=(a,b=[0,0])=>{let{width:c,height:d}=db(a),e=a.origin??b,f=c*e[0],g=d*e[1];return{x:a.position.x-f,y:a.position.y-g}},cM=(a,b={})=>{let c={x:1/0,y:1/0,x2:-1/0,y2:-1/0},d=!1;return a.forEach(a=>{(void 0===b.filter||b.filter(a))&&(c=cW(c,c$(a)),d=!0)}),d?cY(c):{x:0,y:0,width:0,height:0}},cN=(a,b,[c,d,e]=[0,0,1],f=!1,g=!1)=>{let h={...c5(b,[c,d,e]),width:b.width/e,height:b.height/e},i=[];for(let b of a.values()){let{measured:a,selectable:c=!0,hidden:d=!1}=b;if(g&&!c||d)continue;let e=a.width??b.width??b.initialWidth??null,j=a.height??b.height??b.initialHeight??null,k=c0(h,cZ(b)),l=(e??0)*(j??0),m=f&&k>0;(!b.internals.handleBounds||m||k>=l||b.dragging)&&i.push(b)}return i};async function cO({nodes:a,width:b,height:c,panZoom:d,minZoom:e,maxZoom:f},g){let h,i;if(0===a.size)return Promise.resolve(!0);let j=c8(cM((h=new Map,i=g?.nodes?new Set(g.nodes.map(a=>a.id)):null,a.forEach(a=>{a.measured.width&&a.measured.height&&(g?.includeHiddenNodes||!a.hidden)&&(!i||i.has(a.id))&&h.set(a.id,a)}),h)),b,c,g?.minZoom??e,g?.maxZoom??f,g?.padding??.1);return await d.setViewport(j,{duration:g?.duration,ease:g?.ease,interpolate:g?.interpolate}),Promise.resolve(!0)}function cP({nodeId:a,nextPosition:b,nodeLookup:c,nodeOrigin:d=[0,0],nodeExtent:e,onError:f}){let g=c.get(a),h=g.parentId?c.get(g.parentId):void 0,{x:i,y:j}=h?h.internals.positionAbsolute:{x:0,y:0},k=g.origin??d,l=g.extent||e;if("parent"!==g.extent||g.expandParent)h&&da(g.extent)&&(l=[[g.extent[0][0]+i,g.extent[0][1]+j],[g.extent[1][0]+i,g.extent[1][1]+j]]);else if(h){let a=h.measured.width,b=h.measured.height;a&&b&&(l=[[i,j],[i+a,j+b]])}else f?.("005","Only child nodes can use a parent extent.");let m=da(l)?cS(b,l,g.measured):b;return(void 0===g.measured.width||void 0===g.measured.height)&&f?.("015","It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."),{position:{x:m.x-i+(g.measured.width??0)*k[0],y:m.y-j+(g.measured.height??0)*k[1]},positionAbsolute:m}}async function cQ({nodesToRemove:a=[],edgesToRemove:b=[],nodes:c,edges:d,onBeforeDelete:e}){let f,g=new Set(a.map(a=>a.id)),h=[];for(let a of c){if(!1===a.deletable)continue;let b=g.has(a.id),c=!b&&a.parentId&&h.find(b=>b.id===a.parentId);(b||c)&&h.push(a)}let i=new Set(b.map(a=>a.id)),j=d.filter(a=>!1!==a.deletable),k=(f=new Set,h.forEach(a=>{f.add(a.id)}),j.filter(a=>f.has(a.source)||f.has(a.target)));for(let a of j)i.has(a.id)&&!k.find(b=>b.id===a.id)&&k.push(a);if(!e)return{edges:k,nodes:h};let l=await e({nodes:h,edges:k});return"boolean"==typeof l?l?{edges:k,nodes:h}:{edges:[],nodes:[]}:l}let cR=(a,b=0,c=1)=>Math.min(Math.max(a,b),c),cS=(a={x:0,y:0},b,c)=>({x:cR(a.x,b[0][0],b[1][0]-(c?.width??0)),y:cR(a.y,b[0][1],b[1][1]-(c?.height??0))});function cT(a,b,c){let{width:d,height:e}=db(c),{x:f,y:g}=c.internals.positionAbsolute;return cS(a,[[f,g],[f+d,g+e]],b)}let cU=(a,b,c)=>a<b?cR(Math.abs(a-b),1,b)/b:a>c?-cR(Math.abs(a-c),1,b)/b:0,cV=(a,b,c=15,d=40)=>[cU(a.x,d,b.width-d)*c,cU(a.y,d,b.height-d)*c],cW=(a,b)=>({x:Math.min(a.x,b.x),y:Math.min(a.y,b.y),x2:Math.max(a.x2,b.x2),y2:Math.max(a.y2,b.y2)}),cX=({x:a,y:b,width:c,height:d})=>({x:a,y:b,x2:a+c,y2:b+d}),cY=({x:a,y:b,x2:c,y2:d})=>({x:a,y:b,width:c-a,height:d-b}),cZ=(a,b=[0,0])=>{let{x:c,y:d}=cK(a)?a.internals.positionAbsolute:cL(a,b);return{x:c,y:d,width:a.measured?.width??a.width??a.initialWidth??0,height:a.measured?.height??a.height??a.initialHeight??0}},c$=(a,b=[0,0])=>{let{x:c,y:d}=cK(a)?a.internals.positionAbsolute:cL(a,b);return{x:c,y:d,x2:c+(a.measured?.width??a.width??a.initialWidth??0),y2:d+(a.measured?.height??a.height??a.initialHeight??0)}},c_=(a,b)=>cY(cW(cX(a),cX(b))),c0=(a,b)=>Math.ceil(Math.max(0,Math.min(a.x+a.width,b.x+b.width)-Math.max(a.x,b.x))*Math.max(0,Math.min(a.y+a.height,b.y+b.height)-Math.max(a.y,b.y))),c1=a=>c2(a.width)&&c2(a.height)&&c2(a.x)&&c2(a.y),c2=a=>!isNaN(a)&&isFinite(a),c3=(a,b)=>{},c4=(a,b=[1,1])=>({x:b[0]*Math.round(a.x/b[0]),y:b[1]*Math.round(a.y/b[1])}),c5=({x:a,y:b},[c,d,e],f=!1,g=[1,1])=>{let h={x:(a-c)/e,y:(b-d)/e};return f?c4(h,g):h},c6=({x:a,y:b},[c,d,e])=>({x:a*e+c,y:b*e+d});function c7(a,b){if("number"==typeof a)return Math.floor((b-b/(1+a))*.5);if("string"==typeof a&&a.endsWith("px")){let b=parseFloat(a);if(!Number.isNaN(b))return Math.floor(b)}if("string"==typeof a&&a.endsWith("%")){let c=parseFloat(a);if(!Number.isNaN(c))return Math.floor(b*c*.01)}return console.error(`[React Flow] The padding value "${a}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}let c8=(a,b,c,d,e,f)=>{let g=function(a,b,c){if("string"==typeof a||"number"==typeof a){let d=c7(a,c),e=c7(a,b);return{top:d,right:e,bottom:d,left:e,x:2*e,y:2*d}}if("object"==typeof a){let d=c7(a.top??a.y??0,c),e=c7(a.bottom??a.y??0,c),f=c7(a.left??a.x??0,b),g=c7(a.right??a.x??0,b);return{top:d,right:g,bottom:e,left:f,x:f+g,y:d+e}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}(f,b,c),h=cR(Math.min((b-g.x)/a.width,(c-g.y)/a.height),d,e),i=a.x+a.width/2,j=a.y+a.height/2,k=b/2-i*h,l=c/2-j*h,m=function(a,b,c,d,e,f){let{x:g,y:h}=c6(a,[b,c,d]),{x:i,y:j}=c6({x:a.x+a.width,y:a.y+a.height},[b,c,d]);return{left:Math.floor(g),top:Math.floor(h),right:Math.floor(e-i),bottom:Math.floor(f-j)}}(a,k,l,h,b,c),n={left:Math.min(m.left-g.left,0),top:Math.min(m.top-g.top,0),right:Math.min(m.right-g.right,0),bottom:Math.min(m.bottom-g.bottom,0)};return{x:k-n.left+n.right,y:l-n.top+n.bottom,zoom:h}},c9=()=>"u">typeof navigator&&navigator?.userAgent?.indexOf("Mac")>=0;function da(a){return null!=a&&"parent"!==a}function db(a){return{width:a.measured?.width??a.width??a.initialWidth??0,height:a.measured?.height??a.height??a.initialHeight??0}}function dc(a){return(a.measured?.width??a.width??a.initialWidth)!==void 0&&(a.measured?.height??a.height??a.initialHeight)!==void 0}function dd(a,b={width:0,height:0},c,d,e){let f={...a},g=d.get(c);if(g){let a=g.origin||e;f.x+=g.internals.positionAbsolute.x-(b.width??0)*a[0],f.y+=g.internals.positionAbsolute.y-(b.height??0)*a[1]}return f}function de(a,b){if(a.size!==b.size)return!1;for(let c of a)if(!b.has(c))return!1;return!0}function df(a,{snapGrid:b=[0,0],snapToGrid:c=!1,transform:d,containerBounds:e}){let{x:f,y:g}=dk(a),h=c5({x:f-(e?.left??0),y:g-(e?.top??0)},d),{x:i,y:j}=c?c4(h,b):h;return{xSnapped:i,ySnapped:j,...h}}let dg=a=>({width:a.offsetWidth,height:a.offsetHeight}),dh=a=>a?.getRootNode?.()||window?.document,di=["INPUT","SELECT","TEXTAREA"];function dj(a){let b=a.composedPath?.()?.[0]||a.target;return b?.nodeType===1&&(di.includes(b.nodeName)||b.hasAttribute("contenteditable")||!!b.closest(".nokey"))}let dk=(a,b)=>{let c="clientX"in a,d=c?a.clientX:a.touches?.[0].clientX,e=c?a.clientY:a.touches?.[0].clientY;return{x:d-(b?.left??0),y:e-(b?.top??0)}},dl=(a,b,c,d,e)=>{let f=b.querySelectorAll(`.${a}`);return f&&f.length?Array.from(f).map(b=>{let f=b.getBoundingClientRect();return{id:b.getAttribute("data-handleid"),type:a,nodeId:e,position:b.getAttribute("data-handlepos"),x:(f.left-c.left)/d,y:(f.top-c.top)/d,...dg(b)}}):null};function dm({sourceX:a,sourceY:b,targetX:c,targetY:d,sourceControlX:e,sourceControlY:f,targetControlX:g,targetControlY:h}){let i=.125*a+.375*e+.375*g+.125*c,j=.125*b+.375*f+.375*h+.125*d,k=Math.abs(i-a),l=Math.abs(j-b);return[i,j,k,l]}function dn(a,b){return a>=0?.5*a:25*b*Math.sqrt(-a)}function dp({pos:a,x1:b,y1:c,x2:d,y2:e,c:f}){switch(a){case q.Left:return[b-dn(b-d,f),c];case q.Right:return[b+dn(d-b,f),c];case q.Top:return[b,c-dn(c-e,f)];case q.Bottom:return[b,c+dn(e-c,f)]}}function dq({sourceX:a,sourceY:b,sourcePosition:c=q.Bottom,targetX:d,targetY:e,targetPosition:f=q.Top,curvature:g=.25}){let[h,i]=dp({pos:c,x1:a,y1:b,x2:d,y2:e,c:g}),[j,k]=dp({pos:f,x1:d,y1:e,x2:a,y2:b,c:g}),[l,m,n,o]=dm({sourceX:a,sourceY:b,targetX:d,targetY:e,sourceControlX:h,sourceControlY:i,targetControlX:j,targetControlY:k});return[`M${a},${b} C${h},${i} ${j},${k} ${d},${e}`,l,m,n,o]}function dr({sourceX:a,sourceY:b,targetX:c,targetY:d}){let e=Math.abs(c-a)/2,f=Math.abs(d-b)/2;return[c<a?c+e:c-e,d<b?d+f:d-f,e,f]}let ds=({source:a,sourceHandle:b,target:c,targetHandle:d})=>`xy-edge__${a}${b||""}-${c}${d||""}`;function dt({sourceX:a,sourceY:b,targetX:c,targetY:d}){let[e,f,g,h]=dr({sourceX:a,sourceY:b,targetX:c,targetY:d});return[`M ${a},${b}L ${c},${d}`,e,f,g,h]}let du={[q.Left]:{x:-1,y:0},[q.Right]:{x:1,y:0},[q.Top]:{x:0,y:-1},[q.Bottom]:{x:0,y:1}},dv=({source:a,sourcePosition:b=q.Bottom,target:c})=>b===q.Left||b===q.Right?a.x<c.x?{x:1,y:0}:{x:-1,y:0}:a.y<c.y?{x:0,y:1}:{x:0,y:-1},dw=(a,b)=>Math.sqrt(Math.pow(b.x-a.x,2)+Math.pow(b.y-a.y,2));function dx({sourceX:a,sourceY:b,sourcePosition:c=q.Bottom,targetX:d,targetY:e,targetPosition:f=q.Top,borderRadius:g=5,centerX:h,centerY:i,offset:j=20,stepPosition:k=.5}){let[l,m,n,o,p]=function({source:a,sourcePosition:b=q.Bottom,target:c,targetPosition:d=q.Top,center:e,offset:f,stepPosition:g}){let h,i,j=du[b],k=du[d],l={x:a.x+j.x*f,y:a.y+j.y*f},m={x:c.x+k.x*f,y:c.y+k.y*f},n=dv({source:l,sourcePosition:b,target:m}),o=0!==n.x?"x":"y",p=n[o],r=[],s={x:0,y:0},t={x:0,y:0},[,,u,v]=dr({sourceX:a.x,sourceY:a.y,targetX:c.x,targetY:c.y});if(j[o]*k[o]==-1){"x"===o?(h=e.x??l.x+(m.x-l.x)*g,i=e.y??(l.y+m.y)/2):(h=e.x??(l.x+m.x)/2,i=e.y??l.y+(m.y-l.y)*g);let a=[{x:h,y:l.y},{x:h,y:m.y}],b=[{x:l.x,y:i},{x:m.x,y:i}];r=j[o]===p?"x"===o?a:b:"x"===o?b:a}else{let e=[{x:l.x,y:m.y}],g=[{x:m.x,y:l.y}];if(r="x"===o?j.x===p?g:e:j.y===p?e:g,b===d){let b=Math.abs(a[o]-c[o]);if(b<=f){let d=Math.min(f-1,f-b);j[o]===p?s[o]=(l[o]>a[o]?-1:1)*d:t[o]=(m[o]>c[o]?-1:1)*d}}if(b!==d){let a="x"===o?"y":"x",b=j[o]===k[a],c=l[a]>m[a],d=l[a]<m[a];(1===j[o]&&(!b&&c||b&&d)||1!==j[o]&&(!b&&d||b&&c))&&(r="x"===o?e:g)}let n={x:l.x+s.x,y:l.y+s.y},q={x:m.x+t.x,y:m.y+t.y};Math.max(Math.abs(n.x-r[0].x),Math.abs(q.x-r[0].x))>=Math.max(Math.abs(n.y-r[0].y),Math.abs(q.y-r[0].y))?(h=(n.x+q.x)/2,i=r[0].y):(h=r[0].x,i=(n.y+q.y)/2)}return[[a,{x:l.x+s.x,y:l.y+s.y},...r,{x:m.x+t.x,y:m.y+t.y},c],h,i,u,v]}({source:{x:a,y:b},sourcePosition:c,target:{x:d,y:e},targetPosition:f,center:{x:h,y:i},offset:j,stepPosition:k});return[l.reduce((a,b,c)=>a+(c>0&&c<l.length-1?function(a,b,c,d){let e=Math.min(dw(a,b)/2,dw(b,c)/2,d),{x:f,y:g}=b;if(a.x===f&&f===c.x||a.y===g&&g===c.y)return`L${f} ${g}`;if(a.y===g){let b=a.x<c.x?-1:1,d=a.y<c.y?1:-1;return`L ${f+e*b},${g}Q ${f},${g} ${f},${g+e*d}`}let h=a.x<c.x?1:-1,i=a.y<c.y?-1:1;return`L ${f},${g+e*i}Q ${f},${g} ${f+e*h},${g}`}(l[c-1],b,l[c+1],g):`${0===c?"M":"L"}${b.x} ${b.y}`),""),m,n,o,p]}function dy(a){return a&&!!(a.internals.handleBounds||a.handles?.length)&&!!(a.measured.width||a.width||a.initialWidth)}function dz(a){if(!a)return null;let b=[],c=[];for(let d of a)d.width=d.width??1,d.height=d.height??1,"source"===d.type?b.push(d):"target"===d.type&&c.push(d);return{source:b,target:c}}function dA(a,b,c=q.Left,d=!1){let e=(b?.x??0)+a.internals.positionAbsolute.x,f=(b?.y??0)+a.internals.positionAbsolute.y,{width:g,height:h}=b??db(a);if(d)return{x:e+g/2,y:f+h/2};switch(b?.position??c){case q.Top:return{x:e+g/2,y:f};case q.Right:return{x:e+g,y:f+h/2};case q.Bottom:return{x:e+g/2,y:f+h};case q.Left:return{x:e,y:f+h/2}}}function dB(a,b){return a&&(b?a.find(a=>a.id===b):a[0])||null}function dC(a,b){if(!a)return"";if("string"==typeof a)return a;let c=b?`${b}__`:"";return`${c}${Object.keys(a).sort().map(b=>`${b}=${a[b]}`).join("&")}`}let dD={nodeOrigin:[0,0],nodeExtent:cD,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},dE={...dD,checkEquality:!0};function dF(a,b){let c={...a};for(let a in b)void 0!==b[a]&&(c[a]=b[a]);return c}function dG(a){return"manual"===a}function dH(a,b,c,d={}){let e=dF(dE,d),f={i:0},g=new Map(b),h=e?.elevateNodesOnSelect&&!dG(e.zIndexMode)?1e3:0,i=a.length>0;for(let j of(b.clear(),c.clear(),a)){let a=g.get(j.id);if(e.checkEquality&&j===a?.internals.userNode)b.set(j.id,a);else{let c=cS(cL(j,e.nodeOrigin),da(j.extent)?j.extent:e.nodeExtent,db(j));a={...e.defaults,...j,measured:{width:j.measured?.width,height:j.measured?.height},internals:{positionAbsolute:c,handleBounds:function(a,b){if(!a.handles)return a.measured?b?.internals.handleBounds:void 0;let c=[],d=[];for(let b of a.handles){let e={id:b.id,width:b.width??1,height:b.height??1,nodeId:a.id,x:b.x,y:b.y,position:b.position,type:b.type};"source"===b.type?c.push(e):"target"===b.type&&d.push(e)}return{source:c,target:d}}(j,a),z:dJ(j,h,e.zIndexMode),userNode:j}},b.set(j.id,a)}void 0!==a.measured&&void 0!==a.measured.width&&void 0!==a.measured.height||a.hidden||(i=!1),j.parentId&&dI(a,b,c,d,f)}return i}function dI(a,b,c,d,e){let{elevateNodesOnSelect:f,nodeOrigin:g,nodeExtent:h,zIndexMode:i}=dF(dD,d),j=a.parentId,k=b.get(j);if(!k)return void console.warn(`Parent node ${j} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);!function(a,b){if(!a.parentId)return;let c=b.get(a.parentId);c?c.set(a.id,a):b.set(a.parentId,new Map([[a.id,a]]))}(a,c),e&&!k.parentId&&void 0===k.internals.rootParentIndex&&"auto"===i&&(k.internals.rootParentIndex=++e.i,k.internals.z=k.internals.z+10*e.i),e&&void 0!==k.internals.rootParentIndex&&(e.i=k.internals.rootParentIndex);let{x:l,y:m,z:n}=function(a,b,c,d,e,f){let{x:g,y:h}=b.internals.positionAbsolute,i=db(a),j=cL(a,c),k=da(a.extent)?cS(j,a.extent,i):j,l=cS({x:g+k.x,y:h+k.y},d,i);"parent"===a.extent&&(l=cT(l,i,b));let m=dJ(a,e,f),n=b.internals.z??0;return{x:l.x,y:l.y,z:n>=m?n+1:m}}(a,k,g,h,f&&!dG(i)?1e3:0,i),{positionAbsolute:o}=a.internals,p=l!==o.x||m!==o.y;(p||n!==a.internals.z)&&b.set(a.id,{...a,internals:{...a.internals,positionAbsolute:p?{x:l,y:m}:o,z:n}})}function dJ(a,b,c){let d=c2(a.zIndex)?a.zIndex:0;return dG(c)?d:d+(a.selected?b:0)}function dK(a,b,c,d=[0,0]){let e=[],f=new Map;for(let c of a){let a=b.get(c.parentId);if(!a)continue;let d=c_(f.get(c.parentId)?.expandedRect??cZ(a),c.rect);f.set(c.parentId,{expandedRect:d,parent:a})}return f.size>0&&f.forEach(({expandedRect:b,parent:f},g)=>{let h=f.internals.positionAbsolute,i=db(f),j=f.origin??d,k=b.x<h.x?Math.round(Math.abs(h.x-b.x)):0,l=b.y<h.y?Math.round(Math.abs(h.y-b.y)):0,m=Math.max(i.width,Math.round(b.width)),n=Math.max(i.height,Math.round(b.height)),o=(m-i.width)*j[0],p=(n-i.height)*j[1];(k>0||l>0||o||p)&&(e.push({id:g,type:"position",position:{x:f.position.x-k+o,y:f.position.y-l+p}}),c.get(g)?.forEach(b=>{a.some(a=>a.id===b.id)||e.push({id:b.id,type:"position",position:{x:b.position.x+k,y:b.position.y+l}})})),(i.width<b.width||i.height<b.height||k||l)&&e.push({id:g,type:"dimensions",setAttributes:!0,dimensions:{width:m+(k?j[0]*k-o:0),height:n+(l?j[1]*l-p:0)}})}),e}async function dL({delta:a,panZoom:b,transform:c,translateExtent:d,width:e,height:f}){if(!b||!a.x&&!a.y)return Promise.resolve(!1);let g=await b.setViewportConstrained({x:c[0]+a.x,y:c[1]+a.y,zoom:c[2]},[[0,0],[e,f]],d);return Promise.resolve(!!g&&(g.x!==c[0]||g.y!==c[1]||g.k!==c[2]))}function dM(a,b,c,d,e,f){let g=e,h=d.get(g)||new Map;d.set(g,h.set(c,b)),g=`${e}-${a}`;let i=d.get(g)||new Map;if(d.set(g,i.set(c,b)),f){g=`${e}-${a}-${f}`;let h=d.get(g)||new Map;d.set(g,h.set(c,b))}}function dN(a,b,c){for(let d of(a.clear(),b.clear(),c)){let{source:c,target:e,sourceHandle:f=null,targetHandle:g=null}=d,h={edgeId:d.id,source:c,target:e,sourceHandle:f,targetHandle:g},i=`${c}-${f}--${e}-${g}`;dM("source",h,`${e}-${g}--${c}-${f}`,a,c,f),dM("target",h,i,a,e,g),b.set(d.id,d)}}function dO(a,b,c){let d=a;do{if(d?.matches?.(b))return!0;if(d===c)break;d=d?.parentElement}while(d)return!1}function dP({nodeId:a,dragItems:b,nodeLookup:c,dragging:d=!0}){let e=[];for(let[a,f]of b){let b=c.get(a)?.internals.userNode;b&&e.push({...b,position:f.position,dragging:d})}if(!a)return[e[0],e];let f=c.get(a)?.internals.userNode;return[f?{...f,position:b.get(a)?.position||f.position,dragging:d}:e[0],e]}function dQ(a,b,c,d,e,f=!1){let g=d.get(a);if(!g)return null;let h="strict"===e?g.internals.handleBounds?.[b]:[...g.internals.handleBounds?.source??[],...g.internals.handleBounds?.target??[]],i=(c?h?.find(a=>a.id===c):h?.[0])??null;return i&&f?{...i,...dA(g,i,i.position,!0)}:i}function dR(a,b){return a?a:b?.classList.contains("target")?"target":b?.classList.contains("source")?"source":null}let dS=()=>!0;function dT(a,{handle:b,connectionMode:c,fromNodeId:d,fromHandleId:e,fromType:f,doc:g,lib:h,flowId:i,isValidConnection:j=dS,nodeLookup:k}){let m="target"===f,n=b?g.querySelector(`.${h}-flow__handle[data-id="${i}-${b?.nodeId}-${b?.id}-${b?.type}"]`):null,{x:o,y:p}=dk(a),q=g.elementFromPoint(o,p),r=q?.classList.contains(`${h}-flow__handle`)?q:n,s={handleDomNode:r,isValid:!1,connection:null,toHandle:null};if(r){let a=dR(void 0,r),b=r.getAttribute("data-nodeid"),f=r.getAttribute("data-handleid"),g=r.classList.contains("connectable"),h=r.classList.contains("connectableend");if(!b||!a)return s;let i={source:m?b:d,sourceHandle:m?f:e,target:m?d:b,targetHandle:m?e:f};s.connection=i,s.isValid=g&&h&&(c===l.Strict?m&&"source"===a||!m&&"target"===a:b!==d||f!==e)&&j(i),s.toHandle=dQ(b,a,f,k,c,!0)}return s}let dU=function(a,{connectionMode:b,connectionRadius:c,handleId:d,nodeId:e,edgeUpdaterType:f,isTarget:g,domNode:h,nodeLookup:i,lib:j,autoPanOnConnect:k,flowId:l,panBy:m,cancelConnection:n,onConnectStart:o,onConnect:p,onConnectEnd:r,isValidConnection:s=dS,onReconnectEnd:t,updateConnection:u,getTransform:v,getFromHandle:w,autoPanSpeed:x,dragThreshold:y=1,handleDomNode:z}){let A,B=dh(a.target),C=0,{x:D,y:E}=dk(a),F=dR(f,z),G=h?.getBoundingClientRect(),H=!1;if(!G||!F)return;let I=dQ(e,F,d,i,b);if(!I)return;let J=dk(a,G),K=!1,L=null,M=!1,N=null,O={...I,nodeId:e,type:F,position:I.position},P=i.get(e),Q={inProgress:!0,isValid:null,from:dA(P,O,q.Left,!0),fromHandle:O,fromPosition:O.position,fromNode:P,to:J,toHandle:null,toPosition:cH[O.position],toNode:null,pointer:J};function R(){H=!0,u(Q),o?.(a,{nodeId:e,handleId:d,handleType:F})}function S(a){var f,h;let n;if(!H){let{x:b,y:c}=dk(a),d=b-D,e=c-E;if(!(d*d+e*e>y*y))return;R()}if(!w()||!O)return void T(a);let o=v();A=function(a,b,c,d){let e=[],f=1/0;for(let g of function(a,b,c){let d=[],e={x:a.x-c,y:a.y-c,width:2*c,height:2*c};for(let a of b.values())c0(e,cZ(a))>0&&d.push(a);return d}(a,c,b+250))for(let c of[...g.internals.handleBounds?.source??[],...g.internals.handleBounds?.target??[]]){if(d.nodeId===c.nodeId&&d.type===c.type&&d.id===c.id)continue;let{x:h,y:i}=dA(g,c,c.position,!0),j=Math.sqrt(Math.pow(h-a.x,2)+Math.pow(i-a.y,2));j>b||(j<f?(e=[{...c,x:h,y:i}],f=j):j===f&&e.push({...c,x:h,y:i}))}if(!e.length)return null;if(e.length>1){let a="source"===d.type?"target":"source";return e.find(b=>b.type===a)??e[0]}return e[0]}(c5(J=dk(a,G),o,!1,[1,1]),c,i,O),K||(!function a(){if(!k||!G)return;let[b,c]=cV(J,G,x);m({x:b,y:c}),C=requestAnimationFrame(a)}(),K=!0);let p=dT(a,{handle:A,connectionMode:b,fromNodeId:e,fromHandleId:d,fromType:g?"target":"source",isValidConnection:s,doc:B,lib:j,flowId:l,nodeLookup:i});N=p.handleDomNode,L=p.connection,f=!!A,h=p.isValid,n=null,h?n=!0:f&&!h&&(n=!1),M=n;let r=i.get(e),t=r?dA(r,O,q.Left,!0):Q.from,z={...Q,from:t,isValid:M,to:p.toHandle&&M?c6({x:p.toHandle.x,y:p.toHandle.y},o):J,toHandle:p.toHandle,toPosition:M&&p.toHandle?p.toHandle.position:cH[O.position],toNode:p.toHandle?i.get(p.toHandle.nodeId):null,pointer:J};u(z),Q=z}function T(a){if(!("touches"in a)||!(a.touches.length>0)){if(H){(A||N)&&L&&M&&p?.(L);let{inProgress:b,...c}=Q,d={...c,toPosition:Q.toHandle?Q.toPosition:null};r?.(a,d),f&&t?.(a,d)}n(),cancelAnimationFrame(C),K=!1,M=!1,L=null,N=null,B.removeEventListener("mousemove",S),B.removeEventListener("mouseup",T),B.removeEventListener("touchmove",S),B.removeEventListener("touchend",T)}}0===y&&R(),B.addEventListener("mousemove",S),B.addEventListener("mouseup",T),B.addEventListener("touchmove",S),B.addEventListener("touchend",T)},dV=a=>({x:a.x,y:a.y,zoom:a.k}),dW=({x:a,y:b,zoom:c})=>cr.translate(a,b).scale(c),dX=(a,b)=>a.target.closest(`.${b}`),dY=(a,b)=>2===b&&Array.isArray(a)&&a.includes(2),dZ=a=>((a*=2)<=1?a*a*a:(a-=2)*a*a+2)/2,d$=(a,b=0,c=dZ,d=()=>{})=>{let e="number"==typeof b&&b>0;return e||d(),e?a.transition().duration(b).ease(c).on("end",d):a},d_=a=>{let b=a.ctrlKey&&c9()?10:1;return-a.deltaY*(1===a.deltaMode?.05:a.deltaMode?1:.002)*b};function d0(a){let b=a.includes("right")||a.includes("left"),c=a.includes("bottom")||a.includes("top");return{isHorizontal:b,isVertical:c,affectsX:a.includes("left"),affectsY:a.includes("top")}}function d1(a,b){return Math.max(0,b-a)}function d2(a,b){return Math.max(0,a-b)}function d3(a,b,c){return Math.max(0,b-a,a-c)}(i=r||(r={})).Line="line",i.Handle="handle";let d4={width:0,height:0,x:0,y:0},d5={...d4,pointerX:0,pointerY:0,aspectRatio:1};var d6=a.i(44504);let d7={get url(){return`file://${a.P("Projects/Agents/agx-cloud/node_modules/@xyflow/react/node_modules/zustand/esm/vanilla.mjs")}`}},d8=a=>{let b,c=new Set,d=(a,d)=>{let e="function"==typeof a?a(b):a;if(!Object.is(e,b)){let a=b;b=(null!=d?d:"object"!=typeof e||null===e)?e:Object.assign({},b,e),c.forEach(c=>c(b,a))}},e=()=>b,f={setState:d,getState:e,getInitialState:()=>g,subscribe:a=>(c.add(a),()=>c.delete(a)),destroy:()=>{(d7.env?d7.env.MODE:void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),c.clear()}},g=b=a(d,e,f);return f},{useDebugValue:d9}=u.default,{useSyncExternalStoreWithSelector:ea}=d6.default,eb=a=>a;function ec(a,b=eb,c){let d=ea(a.subscribe,a.getState,a.getServerState||a.getInitialState,b,c);return d9(d),d}let ed=(a,b)=>{let c=a?d8(a):d8,d=(a,d=b)=>ec(c,a,d);return Object.assign(d,c),d};function ee(a,b){if(Object.is(a,b))return!0;if("object"!=typeof a||null===a||"object"!=typeof b||null===b)return!1;if(a instanceof Map&&b instanceof Map){if(a.size!==b.size)return!1;for(let[c,d]of a)if(!Object.is(d,b.get(c)))return!1;return!0}if(a instanceof Set&&b instanceof Set){if(a.size!==b.size)return!1;for(let c of a)if(!b.has(c))return!1;return!0}let c=Object.keys(a);if(c.length!==Object.keys(b).length)return!1;for(let d of c)if(!Object.prototype.hasOwnProperty.call(b,d)||!Object.is(a[d],b[d]))return!1;return!0}a.i(1940);let ef=(0,u.createContext)(null),eg=ef.Provider,eh="[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001";function ei(a,b){let c=(0,u.useContext)(ef);if(null===c)throw Error(eh);return ec(c,a,b)}function ej(){let a=(0,u.useContext)(ef);if(null===a)throw Error(eh);return(0,u.useMemo)(()=>({getState:a.getState,setState:a.setState,subscribe:a.subscribe}),[a])}let ek={display:"none"},el={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},em="react-flow__node-desc",en="react-flow__edge-desc",eo=a=>a.ariaLiveMessage,ep=a=>a.ariaLabelConfig;function eq({rfId:a}){let b=ei(eo);return(0,t.jsx)("div",{id:`react-flow__aria-live-${a}`,"aria-live":"assertive","aria-atomic":"true",style:el,children:b})}function er({rfId:a,disableKeyboardA11y:b}){let c=ei(ep);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{id:`${em}-${a}`,style:ek,children:b?c["node.a11yDescription.default"]:c["node.a11yDescription.keyboardDisabled"]}),(0,t.jsx)("div",{id:`${en}-${a}`,style:ek,children:c["edge.a11yDescription.default"]}),!b&&(0,t.jsx)(eq,{rfId:a})]})}let es=(0,u.forwardRef)(({position:a="top-left",children:b,className:c,style:d,...e},f)=>{let g=`${a}`.split("-");return(0,t.jsx)("div",{className:_(["react-flow__panel",c,...g]),style:d,ref:f,...e,children:b})});function et({proOptions:a,position:b="bottom-right"}){return a?.hideAttribution?null:(0,t.jsx)(es,{position:b,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:(0,t.jsx)("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}es.displayName="Panel";let eu=a=>{let b=[],c=[];for(let[,c]of a.nodeLookup)c.selected&&b.push(c.internals.userNode);for(let[,b]of a.edgeLookup)b.selected&&c.push(b);return{selectedNodes:b,selectedEdges:c}},ev=a=>a.id;function ew(a,b){return ee(a.selectedNodes.map(ev),b.selectedNodes.map(ev))&&ee(a.selectedEdges.map(ev),b.selectedEdges.map(ev))}function ex({onSelectionChange:a}){let b=ej(),{selectedNodes:c,selectedEdges:d}=ei(eu,ew);return(0,u.useEffect)(()=>{let e={nodes:c,edges:d};a?.(e),b.getState().onSelectionChangeHandlers.forEach(a=>a(e))},[c,d,a]),null}let ey=a=>!!a.onSelectionChangeHandlers;function ez({onSelectionChange:a}){let b=ei(ey);return a||b?(0,t.jsx)(ex,{onSelectionChange:a}):null}let eA=[0,0],eB={x:0,y:0,zoom:1},eC=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode","rfId"],eD=a=>({setNodes:a.setNodes,setEdges:a.setEdges,setMinZoom:a.setMinZoom,setMaxZoom:a.setMaxZoom,setTranslateExtent:a.setTranslateExtent,setNodeExtent:a.setNodeExtent,reset:a.reset,setDefaultNodesAndEdges:a.setDefaultNodesAndEdges}),eE={translateExtent:cD,nodeOrigin:eA,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function eF(a){let{setNodes:b,setEdges:c,setMinZoom:d,setMaxZoom:e,setTranslateExtent:f,setNodeExtent:g,reset:h,setDefaultNodesAndEdges:i}=ei(eD,ee),j=ej();(0,u.useEffect)(()=>(i(a.defaultNodes,a.defaultEdges),()=>{k.current=eE,h()}),[]);let k=(0,u.useRef)(eE);return(0,u.useEffect)(()=>{for(let h of eC){let i=a[h];if(i!==k.current[h]&&void 0!==a[h])if("nodes"===h)b(i);else if("edges"===h)c(i);else if("minZoom"===h)d(i);else if("maxZoom"===h)e(i);else if("translateExtent"===h)f(i);else if("nodeExtent"===h)g(i);else if("ariaLabelConfig"===h)j.setState({ariaLabelConfig:{...cF,...i||{}}});else"fitView"===h?j.setState({fitViewQueued:i}):"fitViewOptions"===h?j.setState({fitViewOptions:i}):j.setState({[h]:i})}k.current=a},eC.map(b=>a[b])),null}let eG="u">typeof document?document:null;function eH(a=null,b={target:eG,actInsideInputWithModifier:!0}){let[c,d]=(0,u.useState)(!1),e=(0,u.useRef)(!1),f=(0,u.useRef)(new Set([])),[g,h]=(0,u.useMemo)(()=>{if(null!==a){let b=(Array.isArray(a)?a:[a]).filter(a=>"string"==typeof a).map(a=>a.replace("+","\n").replace("\n\n","\n+").split("\n")),c=b.reduce((a,b)=>a.concat(...b),[]);return[b,c]}return[[],[]]},[a]);return(0,u.useEffect)(()=>{let c=b?.target??eG,i=b?.actInsideInputWithModifier??!0;if(null!==a){let a=a=>{if(e.current=a.ctrlKey||a.metaKey||a.shiftKey||a.altKey,(!e.current||e.current&&!i)&&dj(a))return!1;let c=eJ(a.code,h);if(f.current.add(a[c]),eI(g,f.current,!1)){let c=a.composedPath?.()?.[0]||a.target,f=c?.nodeName==="BUTTON"||c?.nodeName==="A";!1!==b.preventDefault&&(e.current||!f)&&a.preventDefault(),d(!0)}},j=a=>{let b=eJ(a.code,h);eI(g,f.current,!0)?(d(!1),f.current.clear()):f.current.delete(a[b]),"Meta"===a.key&&f.current.clear(),e.current=!1},k=()=>{f.current.clear(),d(!1)};return c?.addEventListener("keydown",a),c?.addEventListener("keyup",j),window.addEventListener("blur",k),window.addEventListener("contextmenu",k),()=>{c?.removeEventListener("keydown",a),c?.removeEventListener("keyup",j),window.removeEventListener("blur",k),window.removeEventListener("contextmenu",k)}}},[a,d]),c}function eI(a,b,c){return a.filter(a=>c||a.length===b.size).some(a=>a.every(a=>b.has(a)))}function eJ(a,b){return b.includes(a)?"code":"key"}function eK(a,b){let c=[],d=new Map,e=[];for(let b of a)if("add"===b.type){e.push(b);continue}else if("remove"===b.type||"replace"===b.type)d.set(b.id,[b]);else{let a=d.get(b.id);a?a.push(b):d.set(b.id,[b])}for(let a of b){let b=d.get(a.id);if(!b){c.push(a);continue}if("remove"===b[0].type)continue;if("replace"===b[0].type){c.push({...b[0].item});continue}let e={...a};for(let a of b){var f=a,g=e;switch(f.type){case"select":g.selected=f.selected;break;case"position":void 0!==f.position&&(g.position=f.position),void 0!==f.dragging&&(g.dragging=f.dragging);break;case"dimensions":void 0!==f.dimensions&&(g.measured={...f.dimensions},f.setAttributes&&((!0===f.setAttributes||"width"===f.setAttributes)&&(g.width=f.dimensions.width),(!0===f.setAttributes||"height"===f.setAttributes)&&(g.height=f.dimensions.height))),"boolean"==typeof f.resizing&&(g.resizing=f.resizing)}}c.push(e)}return e.length&&e.forEach(a=>{void 0!==a.index?c.splice(a.index,0,{...a.item}):c.push({...a.item})}),c}function eL(a,b){return{id:a,type:"select",selected:b}}function eM(a,b=new Set,c=!1){let d=[];for(let[e,f]of a){let a=b.has(e);(void 0!==f.selected||a)&&f.selected!==a&&(c&&(f.selected=a),d.push(eL(f.id,a)))}return d}function eN({items:a=[],lookup:b}){let c=[],d=new Map(a.map(a=>[a.id,a]));for(let[d,e]of a.entries()){let a=b.get(e.id),f=a?.internals?.userNode??a;void 0!==f&&f!==e&&c.push({id:e.id,item:e,type:"replace"}),void 0===f&&c.push({item:e,type:"add",index:d})}for(let[a]of b)void 0===d.get(a)&&c.push({id:a,type:"remove"});return c}function eO(a){return{id:a.id,type:"remove"}}let eP=a=>"id"in a&&"position"in a&&!("source"in a)&&!("target"in a);function eQ(a){return(0,u.forwardRef)(a)}let eR=u.useEffect;function eS(a){let[b,c]=(0,u.useState)(BigInt(0)),[d]=(0,u.useState)(()=>{var a;let b;return a=()=>c(a=>a+BigInt(1)),b=[],{get:()=>b,reset:()=>{b=[]},push:c=>{b.push(c),a()}}});return eR(()=>{let b=d.get();b.length&&(a(b),d.reset())},[b]),d}let eT=(0,u.createContext)(null);function eU({children:a}){let b=ej(),c=eS((0,u.useCallback)(a=>{let{nodes:c=[],setNodes:d,hasDefaultNodes:e,onNodesChange:f,nodeLookup:g,fitViewQueued:h,onNodesChangeMiddlewareMap:i}=b.getState(),j=c;for(let b of a)j="function"==typeof b?b(j):b;let k=eN({items:j,lookup:g});for(let a of i.values())k=a(k);e&&d(j),k.length>0?f?.(k):h&&window.requestAnimationFrame(()=>{let{fitViewQueued:a,nodes:c,setNodes:d}=b.getState();a&&d(c)})},[])),d=eS((0,u.useCallback)(a=>{let{edges:c=[],setEdges:d,hasDefaultEdges:e,onEdgesChange:f,edgeLookup:g}=b.getState(),h=c;for(let b of a)h="function"==typeof b?b(h):b;e?d(h):f&&f(eN({items:h,lookup:g}))},[])),e=(0,u.useMemo)(()=>({nodeQueue:c,edgeQueue:d}),[]);return(0,t.jsx)(eT.Provider,{value:e,children:a})}let eV=a=>!!a.panZoom;function eW(){let a,b=(a=ej(),(0,u.useMemo)(()=>({zoomIn:b=>{let{panZoom:c}=a.getState();return c?c.scaleBy(1.2,{duration:b?.duration}):Promise.resolve(!1)},zoomOut:b=>{let{panZoom:c}=a.getState();return c?c.scaleBy(1/1.2,{duration:b?.duration}):Promise.resolve(!1)},zoomTo:(b,c)=>{let{panZoom:d}=a.getState();return d?d.scaleTo(b,{duration:c?.duration}):Promise.resolve(!1)},getZoom:()=>a.getState().transform[2],setViewport:async(b,c)=>{let{transform:[d,e,f],panZoom:g}=a.getState();return g?(await g.setViewport({x:b.x??d,y:b.y??e,zoom:b.zoom??f},c),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{let[b,c,d]=a.getState().transform;return{x:b,y:c,zoom:d}},setCenter:async(b,c,d)=>a.getState().setCenter(b,c,d),fitBounds:async(b,c)=>{let{width:d,height:e,minZoom:f,maxZoom:g,panZoom:h}=a.getState(),i=c8(b,d,e,f,g,c?.padding??.1);return h?(await h.setViewport(i,{duration:c?.duration,ease:c?.ease,interpolate:c?.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(b,c={})=>{let{transform:d,snapGrid:e,snapToGrid:f,domNode:g}=a.getState();if(!g)return b;let{x:h,y:i}=g.getBoundingClientRect(),j={x:b.x-h,y:b.y-i},k=c.snapGrid??e;return c5(j,d,c.snapToGrid??f,k)},flowToScreenPosition:b=>{let{transform:c,domNode:d}=a.getState();if(!d)return b;let{x:e,y:f}=d.getBoundingClientRect(),g=c6(b,c);return{x:g.x+e,y:g.y+f}}}),[])),c=ej(),d=function(){let a=(0,u.useContext)(eT);if(!a)throw Error("useBatchContext must be used within a BatchProvider");return a}(),e=ei(eV),f=(0,u.useMemo)(()=>{let a=a=>c.getState().nodeLookup.get(a),b=a=>{d.nodeQueue.push(a)},e=a=>{d.edgeQueue.push(a)},f=a=>{let{nodeLookup:b,nodeOrigin:d}=c.getState(),e=eP(a)?a:b.get(a.id),f=e.parentId?dd(e.position,e.measured,e.parentId,b,d):e.position;return cZ({...e,position:f,width:e.measured?.width??e.width,height:e.measured?.height??e.height})},g=(a,c,d={replace:!1})=>{b(b=>b.map(b=>{if(b.id===a){let a="function"==typeof c?c(b):c;return d.replace&&eP(a)?a:{...b,...a}}return b}))},h=(a,b,c={replace:!1})=>{e(d=>d.map(d=>{if(d.id===a){let a="function"==typeof b?b(d):b;return c.replace&&cJ(a)?a:{...d,...a}}return d}))};return{getNodes:()=>c.getState().nodes.map(a=>({...a})),getNode:b=>a(b)?.internals.userNode,getInternalNode:a,getEdges:()=>{let{edges:a=[]}=c.getState();return a.map(a=>({...a}))},getEdge:a=>c.getState().edgeLookup.get(a),setNodes:b,setEdges:e,addNodes:a=>{let b=Array.isArray(a)?a:[a];d.nodeQueue.push(a=>[...a,...b])},addEdges:a=>{let b=Array.isArray(a)?a:[a];d.edgeQueue.push(a=>[...a,...b])},toObject:()=>{let{nodes:a=[],edges:b=[],transform:d}=c.getState(),[e,f,g]=d;return{nodes:a.map(a=>({...a})),edges:b.map(a=>({...a})),viewport:{x:e,y:f,zoom:g}}},deleteElements:async({nodes:a=[],edges:b=[]})=>{let{nodes:d,edges:e,onNodesDelete:f,onEdgesDelete:g,triggerNodeChanges:h,triggerEdgeChanges:i,onDelete:j,onBeforeDelete:k}=c.getState(),{nodes:l,edges:m}=await cQ({nodesToRemove:a,edgesToRemove:b,nodes:d,edges:e,onBeforeDelete:k}),n=m.length>0,o=l.length>0;if(n){let a=m.map(eO);g?.(m),i(a)}if(o){let a=l.map(eO);f?.(l),h(a)}return(o||n)&&j?.({nodes:l,edges:m}),{deletedNodes:l,deletedEdges:m}},getIntersectingNodes:(a,b=!0,d)=>{let e=c1(a),g=e?a:f(a),h=void 0!==d;return g?(d||c.getState().nodes).filter(d=>{let f=c.getState().nodeLookup.get(d.id);if(f&&!e&&(d.id===a.id||!f.internals.positionAbsolute))return!1;let i=cZ(h?d:f),j=c0(i,g);return b&&j>0||j>=i.width*i.height||j>=g.width*g.height}):[]},isNodeIntersecting:(a,b,c=!0)=>{let d=c1(a)?a:f(a);if(!d)return!1;let e=c0(d,b);return c&&e>0||e>=b.width*b.height||e>=d.width*d.height},updateNode:g,updateNodeData:(a,b,c={replace:!1})=>{g(a,a=>{let d="function"==typeof b?b(a):b;return c.replace?{...a,data:d}:{...a,data:{...a.data,...d}}},c)},updateEdge:h,updateEdgeData:(a,b,c={replace:!1})=>{h(a,a=>{let d="function"==typeof b?b(a):b;return c.replace?{...a,data:d}:{...a,data:{...a.data,...d}}},c)},getNodesBounds:a=>{let{nodeLookup:b,nodeOrigin:d}=c.getState();return((a,b={nodeOrigin:[0,0]})=>0===a.length?{x:0,y:0,width:0,height:0}:cY(a.reduce((a,c)=>{let d="string"==typeof c,e=b.nodeLookup||d?void 0:c;return b.nodeLookup&&(e=d?b.nodeLookup.get(c):cK(c)?c:b.nodeLookup.get(c.id)),cW(a,e?c$(e,b.nodeOrigin):{x:0,y:0,x2:0,y2:0})},{x:1/0,y:1/0,x2:-1/0,y2:-1/0})))(a,{nodeLookup:b,nodeOrigin:d})},getHandleConnections:({type:a,id:b,nodeId:d})=>Array.from(c.getState().connectionLookup.get(`${d}-${a}${b?`-${b}`:""}`)?.values()??[]),getNodeConnections:({type:a,handleId:b,nodeId:d})=>Array.from(c.getState().connectionLookup.get(`${d}${a?b?`-${a}-${b}`:`-${a}`:""}`)?.values()??[]),fitView:async a=>{let b,e,f=c.getState().fitViewResolver??{promise:new Promise((a,c)=>{b=a,e=c}),resolve:b,reject:e};return c.setState({fitViewQueued:!0,fitViewOptions:a,fitViewResolver:f}),d.nodeQueue.push(a=>[...a]),f.promise}}},[]);return(0,u.useMemo)(()=>({...f,...b,viewportInitialized:e}),[e])}let eX=a=>a.selected,eY,eZ={position:"absolute",width:"100%",height:"100%",top:0,left:0},e$=a=>({userSelectionActive:a.userSelectionActive,lib:a.lib,connectionInProgress:a.connection.inProgress});function e_({onPaneContextMenu:a,zoomOnScroll:b=!0,zoomOnPinch:c=!0,panOnScroll:d=!1,panOnScrollSpeed:e=.5,panOnScrollMode:f=m.Free,zoomOnDoubleClick:g=!0,panOnDrag:h=!0,defaultViewport:i,translateExtent:j,minZoom:k,maxZoom:l,zoomActivationKeyCode:n,preventScrolling:o=!0,children:p,noWheelClassName:q,noPanClassName:r,onViewportChange:s,isControlledViewport:v,paneClickDistance:w,selectionOnDrag:x}){let y,z=ej(),A=(0,u.useRef)(null),{userSelectionActive:B,lib:C,connectionInProgress:D}=ei(e$,ee),E=eH(n),F=(0,u.useRef)();y=ej(),(0,u.useEffect)(()=>{let a=()=>{if(!A.current||!(A.current.checkVisibility?.()??!0))return!1;let a=dg(A.current);(0===a.height||0===a.width)&&y.getState().onError?.("004","The React Flow parent container needs a width and a height to render the graph."),y.setState({width:a.width||500,height:a.height||500})};if(A.current){a(),window.addEventListener("resize",a);let b=new ResizeObserver(()=>a());return b.observe(A.current),()=>{window.removeEventListener("resize",a),b&&A.current&&b.unobserve(A.current)}}},[]);let G=(0,u.useCallback)(a=>{s?.({x:a[0],y:a[1],zoom:a[2]}),v||z.setState({transform:a})},[s,v]);return(0,u.useEffect)(()=>{if(A.current){F.current=function({domNode:a,minZoom:b,maxZoom:c,translateExtent:d,viewport:e,onPanZoom:f,onPanZoomStart:g,onPanZoomEnd:h,onDraggingChange:i}){let j={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{x:0,y:0,zoom:0},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},k=a.getBoundingClientRect(),l=cB().scaleExtent([b,c]).translateExtent(d),n=aT(a).call(l);s({x:e.x,y:e.y,zoom:cR(e.zoom,b,c)},[[0,0],[k.width,k.height]],d);let o=n.on("wheel.zoom"),p=n.on("dblclick.zoom");function q(a,b){return n?new Promise(c=>{l?.interpolate(b?.interpolate==="linear"?cC:a7).transform(d$(n,b?.duration,b?.ease,()=>c(!0)),a)}):Promise.resolve(!1)}function r(){l.on("zoom",null)}async function s(a,b,c){let d=dW(a),e=l?.constrain()(d,b,c);return e&&await q(e),new Promise(a=>a(e))}return l.wheelDelta(d_),{update:function({noWheelClassName:a,noPanClassName:b,onPaneContextMenu:c,userSelectionActive:d,panOnScroll:e,panOnDrag:k,panOnScrollMode:q,panOnScrollSpeed:s,preventScrolling:t,zoomOnPinch:u,zoomOnScroll:v,zoomOnDoubleClick:w,zoomActivationKeyPressed:x,lib:y,onTransformChange:z,connectionInProgress:A,paneClickDistance:B,selectionOnDrag:C}){d&&!j.isZoomingOrPanning&&r();let D=e&&!x&&!d;l.clickDistance(C?1/0:!c2(B)||B<0?0:B);let E=D?function({zoomPanValues:a,noWheelClassName:b,d3Selection:c,d3Zoom:d,panOnScrollMode:e,panOnScrollSpeed:f,zoomOnPinch:g,onPanZoomStart:h,onPanZoom:i,onPanZoomEnd:j}){return k=>{if(dX(k,b))return k.ctrlKey&&k.preventDefault(),!1;k.preventDefault(),k.stopImmediatePropagation();let l=c.property("__zoom").k||1;if(k.ctrlKey&&g){let a=aU(k),b=l*Math.pow(2,d_(k));d.scaleTo(c,b,a,k);return}let n=1===k.deltaMode?20:1,o=e===m.Vertical?0:k.deltaX*n,p=e===m.Horizontal?0:k.deltaY*n;!c9()&&k.shiftKey&&e!==m.Vertical&&(o=k.deltaY*n,p=0),d.translateBy(c,-(o/l)*f,-(p/l)*f,{internal:!0});let q=dV(c.property("__zoom"));clearTimeout(a.panScrollTimeout),a.isPanScrolling?(i?.(k,q),a.panScrollTimeout=setTimeout(()=>{j?.(k,q),a.isPanScrolling=!1},150)):(a.isPanScrolling=!0,h?.(k,q))}}({zoomPanValues:j,noWheelClassName:a,d3Selection:n,d3Zoom:l,panOnScrollMode:q,panOnScrollSpeed:s,zoomOnPinch:u,onPanZoomStart:g,onPanZoom:f,onPanZoomEnd:h}):function({noWheelClassName:a,preventScrolling:b,d3ZoomHandler:c}){return function(d,e){let f="wheel"===d.type,g=!b&&f&&!d.ctrlKey,h=dX(d,a);if(d.ctrlKey&&f&&h&&d.preventDefault(),g||h)return null;d.preventDefault(),c.call(this,d,e)}}({noWheelClassName:a,preventScrolling:t,d3ZoomHandler:o});if(n.on("wheel.zoom",E,{passive:!1}),!d){let a=function({zoomPanValues:a,onDraggingChange:b,onPanZoomStart:c}){return d=>{if(d.sourceEvent?.internal)return;let e=dV(d.transform);a.mouseButton=d.sourceEvent?.button||0,a.isZoomingOrPanning=!0,a.prevViewport=e,d.sourceEvent?.type==="mousedown"&&b(!0),c&&c?.(d.sourceEvent,e)}}({zoomPanValues:j,onDraggingChange:i,onPanZoomStart:g});l.on("start",a);let b=function({zoomPanValues:a,panOnDrag:b,onPaneContextMenu:c,onTransformChange:d,onPanZoom:e}){return f=>{a.usedRightMouseButton=!!(c&&dY(b,a.mouseButton??0)),f.sourceEvent?.sync||d([f.transform.x,f.transform.y,f.transform.k]),e&&!f.sourceEvent?.internal&&e?.(f.sourceEvent,dV(f.transform))}}({zoomPanValues:j,panOnDrag:k,onPaneContextMenu:!!c,onPanZoom:f,onTransformChange:z});l.on("zoom",b);let d=function({zoomPanValues:a,panOnDrag:b,panOnScroll:c,onDraggingChange:d,onPanZoomEnd:e,onPaneContextMenu:f}){return g=>{if(!g.sourceEvent?.internal&&(a.isZoomingOrPanning=!1,f&&dY(b,a.mouseButton??0)&&!a.usedRightMouseButton&&g.sourceEvent&&f(g.sourceEvent),a.usedRightMouseButton=!1,d(!1),e)){let b=dV(g.transform);a.prevViewport=b,clearTimeout(a.timerId),a.timerId=setTimeout(()=>{e?.(g.sourceEvent,b)},150*!!c)}}}({zoomPanValues:j,panOnDrag:k,panOnScroll:e,onPaneContextMenu:c,onPanZoomEnd:h,onDraggingChange:i});l.on("end",d)}let F=function({zoomActivationKeyPressed:a,zoomOnScroll:b,zoomOnPinch:c,panOnDrag:d,panOnScroll:e,zoomOnDoubleClick:f,userSelectionActive:g,noWheelClassName:h,noPanClassName:i,lib:j,connectionInProgress:k}){return l=>{let m=a||b,n=c&&l.ctrlKey,o="wheel"===l.type;if(1===l.button&&"mousedown"===l.type&&(dX(l,`${j}-flow__node`)||dX(l,`${j}-flow__edge`)))return!0;if(!d&&!m&&!e&&!f&&!c||g||k&&!o||dX(l,h)&&o||dX(l,i)&&(!o||e&&o&&!a)||!c&&l.ctrlKey&&o)return!1;if(!c&&"touchstart"===l.type&&l.touches?.length>1)return l.preventDefault(),!1;if(!m&&!e&&!n&&o||!d&&("mousedown"===l.type||"touchstart"===l.type)||Array.isArray(d)&&!d.includes(l.button)&&"mousedown"===l.type)return!1;let p=Array.isArray(d)&&d.includes(l.button)||!l.button||l.button<=1;return(!l.ctrlKey||o)&&p}}({zoomActivationKeyPressed:x,panOnDrag:k,zoomOnScroll:v,panOnScroll:e,zoomOnDoubleClick:w,zoomOnPinch:u,userSelectionActive:d,noPanClassName:b,noWheelClassName:a,lib:y,connectionInProgress:A});l.filter(F),w?n.on("dblclick.zoom",p):n.on("dblclick.zoom",null)},destroy:r,setViewport:async function a(a,b){let c=dW(a);return await q(c,b),new Promise(a=>a(c))},setViewportConstrained:s,getViewport:function(){let a=n?cs(n.node()):{x:0,y:0,k:1};return{x:a.x,y:a.y,zoom:a.k}},scaleTo:function(a,b){return n?new Promise(c=>{l?.interpolate(b?.interpolate==="linear"?cC:a7).scaleTo(d$(n,b?.duration,b?.ease,()=>c(!0)),a)}):Promise.resolve(!1)},scaleBy:function(a,b){return n?new Promise(c=>{l?.interpolate(b?.interpolate==="linear"?cC:a7).scaleBy(d$(n,b?.duration,b?.ease,()=>c(!0)),a)}):Promise.resolve(!1)},setScaleExtent:function(a){l?.scaleExtent(a)},setTranslateExtent:function(a){l?.translateExtent(a)},syncViewport:function(a){if(n){let b=dW(a),c=n.property("__zoom");(c.k!==a.zoom||c.x!==a.x||c.y!==a.y)&&l?.transform(n,b,null,{sync:!0})}},setClickDistance:function(a){let b=!c2(a)||a<0?0:a;l?.clickDistance(b)}}}({domNode:A.current,minZoom:k,maxZoom:l,translateExtent:j,viewport:i,onDraggingChange:a=>z.setState({paneDragging:a}),onPanZoomStart:(a,b)=>{let{onViewportChangeStart:c,onMoveStart:d}=z.getState();d?.(a,b),c?.(b)},onPanZoom:(a,b)=>{let{onViewportChange:c,onMove:d}=z.getState();d?.(a,b),c?.(b)},onPanZoomEnd:(a,b)=>{let{onViewportChangeEnd:c,onMoveEnd:d}=z.getState();d?.(a,b),c?.(b)}});let{x:a,y:b,zoom:c}=F.current.getViewport();return z.setState({panZoom:F.current,transform:[a,b,c],domNode:A.current.closest(".react-flow")}),()=>{F.current?.destroy()}}},[]),(0,u.useEffect)(()=>{F.current?.update({onPaneContextMenu:a,zoomOnScroll:b,zoomOnPinch:c,panOnScroll:d,panOnScrollSpeed:e,panOnScrollMode:f,zoomOnDoubleClick:g,panOnDrag:h,zoomActivationKeyPressed:E,preventScrolling:o,noPanClassName:r,userSelectionActive:B,noWheelClassName:q,lib:C,onTransformChange:G,connectionInProgress:D,selectionOnDrag:x,paneClickDistance:w})},[a,b,c,d,e,f,g,h,E,o,r,B,q,C,G,D,x,w]),(0,t.jsx)("div",{className:"react-flow__renderer",ref:A,style:eZ,children:p})}let e0=a=>({userSelectionActive:a.userSelectionActive,userSelectionRect:a.userSelectionRect});function e1(){let{userSelectionActive:a,userSelectionRect:b}=ei(e0,ee);return a&&b?(0,t.jsx)("div",{className:"react-flow__selection react-flow__container",style:{width:b.width,height:b.height,transform:`translate(${b.x}px, ${b.y}px)`}}):null}let e2=(a,b)=>c=>{c.target===b.current&&a?.(c)},e3=a=>({userSelectionActive:a.userSelectionActive,elementsSelectable:a.elementsSelectable,connectionInProgress:a.connection.inProgress,dragging:a.paneDragging});function e4({isSelecting:a,selectionKeyPressed:b,selectionMode:c=n.Full,panOnDrag:d,paneClickDistance:e,selectionOnDrag:f,onSelectionStart:g,onSelectionEnd:h,onPaneClick:i,onPaneContextMenu:j,onPaneScroll:k,onPaneMouseEnter:l,onPaneMouseMove:m,onPaneMouseLeave:o,children:p}){let q=ej(),{userSelectionActive:r,elementsSelectable:s,dragging:v,connectionInProgress:w}=ei(e3,ee),x=s&&(a||r),y=(0,u.useRef)(null),z=(0,u.useRef)(),A=(0,u.useRef)(new Set),B=(0,u.useRef)(new Set),C=(0,u.useRef)(!1),D=a=>{if(C.current||w){C.current=!1;return}i?.(a),q.getState().resetSelectedElements(),q.setState({nodesSelectionActive:!1})},E=!0===d||Array.isArray(d)&&d.includes(0);return(0,t.jsxs)("div",{className:_(["react-flow__pane",{draggable:E,dragging:v,selection:a}]),onClick:x?void 0:e2(D,y),onContextMenu:e2(a=>{Array.isArray(d)&&d?.includes(2)?a.preventDefault():j?.(a)},y),onWheel:e2(k?a=>k(a):void 0,y),onPointerEnter:x?void 0:l,onPointerMove:x?a=>{let{userSelectionRect:d,transform:f,nodeLookup:h,edgeLookup:i,connectionLookup:j,triggerNodeChanges:k,triggerEdgeChanges:l,defaultEdgeOptions:m,resetSelectedElements:o}=q.getState();if(!z.current||!d)return;let{x:p,y:r}=dk(a.nativeEvent,z.current),{startX:s,startY:t}=d;if(!C.current){if(Math.hypot(p-s,r-t)<=(b?0:e))return;o(),g?.(a)}C.current=!0;let u={startX:s,startY:t,x:p<s?p:s,y:r<t?r:t,width:Math.abs(p-s),height:Math.abs(r-t)},v=A.current,w=B.current;A.current=new Set(cN(h,u,f,c===n.Partial,!0).map(a=>a.id)),B.current=new Set;let x=m?.selectable??!0;for(let a of A.current){let b=j.get(a);if(b)for(let{edgeId:a}of b.values()){let b=i.get(a);b&&(b.selectable??x)&&B.current.add(a)}}de(v,A.current)||k(eM(h,A.current,!0)),de(w,B.current)||l(eM(i,B.current)),q.setState({userSelectionRect:u,userSelectionActive:!0,nodesSelectionActive:!1})}:m,onPointerUp:x?a=>{0===a.button&&(a.target?.releasePointerCapture?.(a.pointerId),!r&&a.target===y.current&&q.getState().userSelectionRect&&D?.(a),q.setState({userSelectionActive:!1,userSelectionRect:null}),C.current&&(h?.(a),q.setState({nodesSelectionActive:A.current.size>0})))}:void 0,onPointerDownCapture:x?c=>{let{domNode:d}=q.getState();if(z.current=d?.getBoundingClientRect(),!z.current)return;let e=c.target===y.current;if(!e&&c.target.closest(".nokey")||!a||!(f&&e||b)||0!==c.button||!c.isPrimary)return;c.target?.setPointerCapture?.(c.pointerId),C.current=!1;let{x:g,y:h}=dk(c.nativeEvent,z.current);q.setState({userSelectionRect:{width:0,height:0,startX:g,startY:h,x:g,y:h}}),e||(c.stopPropagation(),c.preventDefault())}:void 0,onClickCapture:x?a=>{C.current&&(a.stopPropagation(),C.current=!1)}:void 0,onPointerLeave:o,ref:y,style:eZ,children:[p,(0,t.jsx)(e1,{})]})}function e5({id:a,store:b,unselect:c=!1,nodeRef:d}){let e,{addSelectedNodes:f,unselectNodesAndEdges:g,multiSelectionActive:h,nodeLookup:i,onError:j}=b.getState(),k=i.get(a);k?(b.setState({nodesSelectionActive:!1}),k.selected?(c||k.selected&&h)&&(g({nodes:[k],edges:[]}),requestAnimationFrame(()=>d?.current?.blur())):f([a])):j?.("012",(e=a,`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`))}function e6({nodeRef:a,disabled:b=!1,noDragClassName:c,handleSelector:d,nodeId:e,isSelectable:f,nodeClickDistance:g}){let h=ej(),[i,j]=(0,u.useState)(!1),k=(0,u.useRef)();return(0,u.useEffect)(()=>{k.current=function({onNodeMouseDown:a,getStoreItems:b,onDragStart:c,onDrag:d,onDragStop:e}){let f={x:null,y:null},g=0,h=new Map,i=!1,j={x:0,y:0},k=null,l=!1,m=null,n=!1,o=!1,p=null;return{update:function({noDragClassName:q,handleSelector:r,domNode:s,isSelectable:t,nodeId:u,nodeClickDistance:v=0}){function w({x:a,y:c}){let{nodeLookup:e,nodeExtent:g,snapGrid:i,snapToGrid:j,nodeOrigin:k,onNodeDrag:l,onSelectionDrag:m,onError:n,updateNodePositions:q}=b();f={x:a,y:c};let r=!1,s=h.size>1,t=s&&g?cX(cM(h)):null,v=s&&j?function({dragItems:a,snapGrid:b,x:c,y:d}){let e=a.values().next().value;if(!e)return null;let f={x:c-e.distance.x,y:d-e.distance.y},g=c4(f,b);return{x:g.x-f.x,y:g.y-f.y}}({dragItems:h,snapGrid:i,x:a,y:c}):null;for(let[b,d]of h){if(!e.has(b))continue;let f={x:a-d.distance.x,y:c-d.distance.y};j&&(f=v?{x:Math.round(f.x+v.x),y:Math.round(f.y+v.y)}:c4(f,i));let h=null;if(s&&g&&!d.extent&&t){let{positionAbsolute:a}=d.internals,b=a.x-t.x+g[0][0],c=a.x+d.measured.width-t.x2+g[1][0];h=[[b,a.y-t.y+g[0][1]],[c,a.y+d.measured.height-t.y2+g[1][1]]]}let{position:l,positionAbsolute:m}=cP({nodeId:b,nextPosition:f,nodeLookup:e,nodeExtent:h||g,nodeOrigin:k,onError:n});r=r||d.position.x!==l.x||d.position.y!==l.y,d.position=l,d.internals.positionAbsolute=m}if(o=o||r,r&&(q(h,!0),p&&(d||l||!u&&m))){let[a,b]=dP({nodeId:u,dragItems:h,nodeLookup:e});d?.(p,h,a,b),l?.(p,a,b),u||m?.(p,b)}}async function x(){if(!k)return;let{transform:a,panBy:c,autoPanSpeed:d,autoPanOnNodeDrag:e}=b();if(!e){i=!1,cancelAnimationFrame(g);return}let[h,l]=cV(j,k,d);(0!==h||0!==l)&&(f.x=(f.x??0)-h/a[2],f.y=(f.y??0)-l/a[2],await c({x:h,y:l})&&w(f)),g=requestAnimationFrame(x)}function y(d){let{nodeLookup:e,multiSelectionActive:g,nodesDraggable:i,transform:j,snapGrid:m,snapToGrid:n,selectNodesOnDrag:o,onNodeDragStart:p,onSelectionDragStart:q,unselectNodesAndEdges:r}=b();l=!0,o&&t||g||!u||e.get(u)?.selected||r(),t&&o&&u&&a?.(u);let s=df(d.sourceEvent,{transform:j,snapGrid:m,snapToGrid:n,containerBounds:k});if(f=s,(h=function(a,b,c,d){let e=new Map;for(let[f,g]of a)if((g.selected||g.id===d)&&(!g.parentId||!function a(b,c){if(!b.parentId)return!1;let d=c.get(b.parentId);return!!d&&(!!d.selected||a(d,c))}(g,a))&&(g.draggable||b&&void 0===g.draggable)){let b=a.get(f);b&&e.set(f,{id:f,position:b.position||{x:0,y:0},distance:{x:c.x-b.internals.positionAbsolute.x,y:c.y-b.internals.positionAbsolute.y},extent:b.extent,parentId:b.parentId,origin:b.origin,expandParent:b.expandParent,internals:{positionAbsolute:b.internals.positionAbsolute||{x:0,y:0}},measured:{width:b.measured.width??0,height:b.measured.height??0}})}return e}(e,i,s,u)).size>0&&(c||p||!u&&q)){let[a,b]=dP({nodeId:u,dragItems:h,nodeLookup:e});c?.(d.sourceEvent,h,a,b),p?.(d.sourceEvent,a,b),u||q?.(d.sourceEvent,b)}}m=aT(s);let z=a5().clickDistance(v).on("start",a=>{let{domNode:c,nodeDragThreshold:d,transform:e,snapGrid:g,snapToGrid:h}=b();k=c?.getBoundingClientRect()||null,n=!1,o=!1,p=a.sourceEvent,0===d&&y(a),f=df(a.sourceEvent,{transform:e,snapGrid:g,snapToGrid:h,containerBounds:k}),j=dk(a.sourceEvent,k)}).on("drag",a=>{let{autoPanOnNodeDrag:c,transform:d,snapGrid:e,snapToGrid:g,nodeDragThreshold:m,nodeLookup:o}=b(),q=df(a.sourceEvent,{transform:d,snapGrid:e,snapToGrid:g,containerBounds:k});if(p=a.sourceEvent,("touchmove"===a.sourceEvent.type&&a.sourceEvent.touches.length>1||u&&!o.has(u))&&(n=!0),!n){if(!i&&c&&l&&(i=!0,x()),!l){let b=dk(a.sourceEvent,k),c=b.x-j.x,d=b.y-j.y;Math.sqrt(c*c+d*d)>m&&y(a)}(f.x!==q.xSnapped||f.y!==q.ySnapped)&&h&&l&&(j=dk(a.sourceEvent,k),w(q))}}).on("end",a=>{if(l&&!n&&(i=!1,l=!1,cancelAnimationFrame(g),h.size>0)){let{nodeLookup:c,updateNodePositions:d,onNodeDragStop:f,onSelectionDragStop:g}=b();if(o&&(d(h,!1),o=!1),e||f||!u&&g){let[b,d]=dP({nodeId:u,dragItems:h,nodeLookup:c,dragging:!1});e?.(a.sourceEvent,h,b,d),f?.(a.sourceEvent,b,d),u||g?.(a.sourceEvent,d)}}}).filter(a=>{let b=a.target;return!a.button&&(!q||!dO(b,`.${q}`,s))&&(!r||dO(b,r,s))});m.call(z)},destroy:function(){m?.on(".drag",null)}}}({getStoreItems:()=>h.getState(),onNodeMouseDown:b=>{e5({id:b,store:h,nodeRef:a})},onDragStart:()=>{j(!0)},onDragStop:()=>{j(!1)}})},[]),(0,u.useEffect)(()=>{if(b)k.current?.destroy();else if(a.current)return k.current?.update({noDragClassName:c,handleSelector:d,domNode:a.current,isSelectable:f,nodeId:e,nodeClickDistance:g}),()=>{k.current?.destroy()}},[c,d,b,f,a,e]),i}function e7(){let a=ej();return(0,u.useCallback)(b=>{let{nodeExtent:c,snapToGrid:d,snapGrid:e,nodesDraggable:f,onError:g,updateNodePositions:h,nodeLookup:i,nodeOrigin:j}=a.getState(),k=new Map,l=a=>a.selected&&(a.draggable||f&&void 0===a.draggable),m=d?e[0]:5,n=d?e[1]:5,o=b.direction.x*m*b.factor,p=b.direction.y*n*b.factor;for(let[,a]of i){if(!l(a))continue;let b={x:a.internals.positionAbsolute.x+o,y:a.internals.positionAbsolute.y+p};d&&(b=c4(b,e));let{position:f,positionAbsolute:h}=cP({nodeId:a.id,nextPosition:b,nodeLookup:i,nodeExtent:c,nodeOrigin:j,onError:g});a.position=f,a.internals.positionAbsolute=h,k.set(a.id,a)}h(k)},[])}let e8=(0,u.createContext)(null),e9=e8.Provider;e8.Consumer;let fa=()=>(0,u.useContext)(e8),fb=a=>({connectOnClick:a.connectOnClick,noPanClassName:a.noPanClassName,rfId:a.rfId}),fc=(0,u.memo)(eQ(function({type:a="source",position:b=q.Top,isValidConnection:c,isConnectable:d=!0,isConnectableStart:e=!0,isConnectableEnd:f=!0,id:g,onConnect:h,children:i,className:j,onMouseDown:k,onTouchStart:m,...n},o){let p=g||null,r="target"===a,s=ej(),u=fa(),{connectOnClick:v,noPanClassName:w,rfId:x}=ei(fb,ee),{connectingFrom:y,connectingTo:z,clickConnecting:A,isPossibleEndHandle:B,connectionInProcess:C,clickConnectionInProcess:D,valid:E}=ei(b=>{let{connectionClickStartHandle:c,connectionMode:d,connection:e}=b,{fromHandle:f,toHandle:g,isValid:h}=e,i=g?.nodeId===u&&g?.id===p&&g?.type===a;return{connectingFrom:f?.nodeId===u&&f?.id===p&&f?.type===a,connectingTo:i,clickConnecting:c?.nodeId===u&&c?.id===p&&c?.type===a,isPossibleEndHandle:d===l.Strict?f?.type!==a:u!==f?.nodeId||p!==f?.id,connectionInProcess:!!f,clickConnectionInProcess:!!c,valid:i&&h}},ee);u||s.getState().onError?.("010","Handle: No node id found. Make sure to only use a Handle inside a custom Node.");let F=a=>{let{defaultEdgeOptions:b,onConnect:c,hasDefaultEdges:d}=s.getState(),e={...b,...a};if(d){let{edges:a,setEdges:b}=s.getState();b(((a,b,c={})=>{let d,e;if(!a.source||!a.target)return c3("006","Can't create edge. An edge needs a source and a target."),b;let f=c.getEdgeId||ds;return(e=d=cJ(a)?{...a}:{...a,id:f(a)},b.some(a=>a.source===e.source&&a.target===e.target&&(a.sourceHandle===e.sourceHandle||!a.sourceHandle&&!e.sourceHandle)&&(a.targetHandle===e.targetHandle||!a.targetHandle&&!e.targetHandle)))?b:(null===d.sourceHandle&&delete d.sourceHandle,null===d.targetHandle&&delete d.targetHandle,b.concat(d))})(e,a))}c?.(e),h?.(e)},G=a=>{if(!u)return;let b="clientX"in a.nativeEvent;if(e&&(b&&0===a.button||!b)){let b=s.getState();dU(a.nativeEvent,{handleDomNode:a.currentTarget,autoPanOnConnect:b.autoPanOnConnect,connectionMode:b.connectionMode,connectionRadius:b.connectionRadius,domNode:b.domNode,nodeLookup:b.nodeLookup,lib:b.lib,isTarget:r,handleId:p,nodeId:u,flowId:b.rfId,panBy:b.panBy,cancelConnection:b.cancelConnection,onConnectStart:b.onConnectStart,onConnectEnd:b.onConnectEnd,updateConnection:b.updateConnection,onConnect:F,isValidConnection:c||b.isValidConnection,getTransform:()=>s.getState().transform,getFromHandle:()=>s.getState().connection.fromHandle,autoPanSpeed:b.autoPanSpeed,dragThreshold:b.connectionDragThreshold})}b?k?.(a):m?.(a)};return(0,t.jsx)("div",{"data-handleid":p,"data-nodeid":u,"data-handlepos":b,"data-id":`${x}-${u}-${p}-${a}`,className:_(["react-flow__handle",`react-flow__handle-${b}`,"nodrag",w,j,{source:!r,target:r,connectable:d,connectablestart:e,connectableend:f,clickconnecting:A,connectingfrom:y,connectingto:z,valid:E,connectionindicator:d&&(!C||B)&&(C||D?f:e)}]),onMouseDown:G,onTouchStart:G,onClick:v?b=>{let{onClickConnectStart:d,onClickConnectEnd:f,connectionClickStartHandle:g,connectionMode:h,isValidConnection:i,lib:j,rfId:k,nodeLookup:l,connection:m}=s.getState();if(!u||!g&&!e)return;if(!g){d?.(b.nativeEvent,{nodeId:u,handleId:p,handleType:a}),s.setState({connectionClickStartHandle:{nodeId:u,type:a,id:p}});return}let n=dh(b.target),o=c||i,{connection:q,isValid:r}=dT(b.nativeEvent,{handle:{nodeId:u,id:p,type:a},connectionMode:h,fromNodeId:g.nodeId,fromHandleId:g.id||null,fromType:g.type,isValidConnection:o,flowId:k,doc:n,lib:j,nodeLookup:l});r&&q&&F(q);let t=structuredClone(m);delete t.inProgress,t.toPosition=t.toHandle?t.toHandle.position:null,f?.(b,t),s.setState({connectionClickStartHandle:null})}:void 0,ref:o,...n,children:i})})),fd={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},fe={input:function({data:a,isConnectable:b,sourcePosition:c=q.Bottom}){return(0,t.jsxs)(t.Fragment,{children:[a?.label,(0,t.jsx)(fc,{type:"source",position:c,isConnectable:b})]})},default:function({data:a,isConnectable:b,targetPosition:c=q.Top,sourcePosition:d=q.Bottom}){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(fc,{type:"target",position:c,isConnectable:b}),a?.label,(0,t.jsx)(fc,{type:"source",position:d,isConnectable:b})]})},output:function({data:a,isConnectable:b,targetPosition:c=q.Top}){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(fc,{type:"target",position:c,isConnectable:b}),a?.label]})},group:function(){return null}},ff=a=>{let{width:b,height:c,x:d,y:e}=cM(a.nodeLookup,{filter:a=>!!a.selected});return{width:c2(b)?b:null,height:c2(c)?c:null,userSelectionActive:a.userSelectionActive,transformString:`translate(${a.transform[0]}px,${a.transform[1]}px) scale(${a.transform[2]}) translate(${d}px,${e}px)`}};function fg({onSelectionContextMenu:a,noPanClassName:b,disableKeyboardA11y:c}){let d=ej(),{width:e,height:f,transformString:g,userSelectionActive:h}=ei(ff,ee),i=e7(),j=(0,u.useRef)(null);if((0,u.useEffect)(()=>{c||j.current?.focus({preventScroll:!0})},[c]),e6({nodeRef:j}),h||!e||!f)return null;let k=a?b=>{a(b,d.getState().nodes.filter(a=>a.selected))}:void 0;return(0,t.jsx)("div",{className:_(["react-flow__nodesselection","react-flow__container",b]),style:{transform:g},children:(0,t.jsx)("div",{ref:j,className:"react-flow__nodesselection-rect",onContextMenu:k,tabIndex:c?void 0:-1,onKeyDown:c?void 0:a=>{Object.prototype.hasOwnProperty.call(fd,a.key)&&(a.preventDefault(),i({direction:fd[a.key],factor:a.shiftKey?4:1}))},style:{width:e,height:f}})})}let fh,fi=a=>({nodesSelectionActive:a.nodesSelectionActive,userSelectionActive:a.userSelectionActive});function fj({children:a,onPaneClick:b,onPaneMouseEnter:c,onPaneMouseMove:d,onPaneMouseLeave:e,onPaneContextMenu:f,onPaneScroll:g,paneClickDistance:h,deleteKeyCode:i,selectionKeyCode:j,selectionOnDrag:k,selectionMode:l,onSelectionStart:m,onSelectionEnd:n,multiSelectionKeyCode:o,panActivationKeyCode:p,zoomActivationKeyCode:q,elementsSelectable:r,zoomOnScroll:s,zoomOnPinch:v,panOnScroll:w,panOnScrollSpeed:x,panOnScrollMode:y,zoomOnDoubleClick:z,panOnDrag:A,defaultViewport:B,translateExtent:C,minZoom:D,maxZoom:E,preventScrolling:F,onSelectionContextMenu:G,noWheelClassName:H,noPanClassName:I,disableKeyboardA11y:J,onViewportChange:K,isControlledViewport:L}){let{nodesSelectionActive:M,userSelectionActive:N}=ei(fi,ee),O=eH(j,{target:fh}),P=eH(p,{target:fh}),Q=P||A,R=P||w,S=k&&!0!==Q,T=O||N||S;return!function({deleteKeyCode:a,multiSelectionKeyCode:b}){let c=ej(),{deleteElements:d}=eW(),e=eH(a,{actInsideInputWithModifier:!1}),f=eH(b,{target:eY});(0,u.useEffect)(()=>{if(e){let{edges:a,nodes:b}=c.getState();d({nodes:b.filter(eX),edges:a.filter(eX)}),c.setState({nodesSelectionActive:!1})}},[e]),(0,u.useEffect)(()=>{c.setState({multiSelectionActive:f})},[f])}({deleteKeyCode:i,multiSelectionKeyCode:o}),(0,t.jsx)(e_,{onPaneContextMenu:f,elementsSelectable:r,zoomOnScroll:s,zoomOnPinch:v,panOnScroll:R,panOnScrollSpeed:x,panOnScrollMode:y,zoomOnDoubleClick:z,panOnDrag:!O&&Q,defaultViewport:B,translateExtent:C,minZoom:D,maxZoom:E,zoomActivationKeyCode:q,preventScrolling:F,noWheelClassName:H,noPanClassName:I,onViewportChange:K,isControlledViewport:L,paneClickDistance:h,selectionOnDrag:S,children:(0,t.jsxs)(e4,{onSelectionStart:m,onSelectionEnd:n,onPaneClick:b,onPaneMouseEnter:c,onPaneMouseMove:d,onPaneMouseLeave:e,onPaneContextMenu:f,onPaneScroll:g,panOnDrag:Q,isSelecting:!!T,selectionMode:l,selectionKeyPressed:O,paneClickDistance:h,selectionOnDrag:S,children:[a,M&&(0,t.jsx)(fg,{onSelectionContextMenu:G,noPanClassName:I,disableKeyboardA11y:J})]})})}fj.displayName="FlowRenderer";let fk=(0,u.memo)(fj),fl=a=>a.updateNodeInternals;var fm=(0,u.memo)(function({id:a,onClick:b,onMouseEnter:c,onMouseMove:d,onMouseLeave:e,onContextMenu:f,onDoubleClick:g,nodesDraggable:h,elementsSelectable:i,nodesConnectable:j,nodesFocusable:k,resizeObserver:l,noDragClassName:m,noPanClassName:n,disableKeyboardA11y:o,rfId:p,nodeTypes:q,nodeClickDistance:r,onError:s}){let v,{node:w,internals:x,isParent:y}=ei(b=>{let c=b.nodeLookup.get(a),d=b.parentLookup.has(a);return{node:c,internals:c.internals,isParent:d}},ee),z=w.type||"default",A=q?.[z]||fe[z];void 0===A&&(s?.("003",(v=z,`Node type "${v}" not found. Using fallback type "default".`)),z="default",A=q?.default||fe.default);let B=!!(w.draggable||h&&void 0===w.draggable),C=!!(w.selectable||i&&void 0===w.selectable),D=!!(w.connectable||j&&void 0===w.connectable),E=!!(w.focusable||k&&void 0===w.focusable),F=ej(),G=dc(w),H=function({node:a,nodeType:b,hasDimensions:c,resizeObserver:d}){let e=ej(),f=(0,u.useRef)(null),g=(0,u.useRef)(null),h=(0,u.useRef)(a.sourcePosition),i=(0,u.useRef)(a.targetPosition),j=(0,u.useRef)(b),k=c&&!!a.internals.handleBounds;return(0,u.useEffect)(()=>{!f.current||a.hidden||k&&g.current===f.current||(g.current&&d?.unobserve(g.current),d?.observe(f.current),g.current=f.current)},[k,a.hidden]),(0,u.useEffect)(()=>()=>{g.current&&(d?.unobserve(g.current),g.current=null)},[]),(0,u.useEffect)(()=>{if(f.current){let c=j.current!==b,d=h.current!==a.sourcePosition,g=i.current!==a.targetPosition;(c||d||g)&&(j.current=b,h.current=a.sourcePosition,i.current=a.targetPosition,e.getState().updateNodeInternals(new Map([[a.id,{id:a.id,nodeElement:f.current,force:!0}]])))}},[a.id,b,a.sourcePosition,a.targetPosition]),f}({node:w,nodeType:z,hasDimensions:G,resizeObserver:l}),I=e6({nodeRef:H,disabled:w.hidden||!B,noDragClassName:m,handleSelector:w.dragHandle,nodeId:a,isSelectable:C,nodeClickDistance:r}),J=e7();if(w.hidden)return null;let K=db(w),L=void 0===w.internals.handleBounds?{width:w.width??w.initialWidth??w.style?.width,height:w.height??w.initialHeight??w.style?.height}:{width:w.width??w.style?.width,height:w.height??w.style?.height},M=C||B||b||c||d||e,N=c?a=>c(a,{...x.userNode}):void 0,O=d?a=>d(a,{...x.userNode}):void 0,P=e?a=>e(a,{...x.userNode}):void 0,Q=f?a=>f(a,{...x.userNode}):void 0,R=g?a=>g(a,{...x.userNode}):void 0;return(0,t.jsx)("div",{className:_(["react-flow__node",`react-flow__node-${z}`,{[n]:B},w.className,{selected:w.selected,selectable:C,parent:y,draggable:B,dragging:I}]),ref:H,style:{zIndex:x.z,transform:`translate(${x.positionAbsolute.x}px,${x.positionAbsolute.y}px)`,pointerEvents:M?"all":"none",visibility:G?"visible":"hidden",...w.style,...L},"data-id":a,"data-testid":`rf__node-${a}`,onMouseEnter:N,onMouseMove:O,onMouseLeave:P,onContextMenu:Q,onClick:c=>{let{selectNodesOnDrag:d,nodeDragThreshold:e}=F.getState();C&&(!d||!B||e>0)&&e5({id:a,store:F,nodeRef:H}),b&&b(c,{...x.userNode})},onDoubleClick:R,onKeyDown:E?b=>{if(!dj(b.nativeEvent)&&!o){if(cE.includes(b.key)&&C)e5({id:a,store:F,unselect:"Escape"===b.key,nodeRef:H});else if(B&&w.selected&&Object.prototype.hasOwnProperty.call(fd,b.key)){b.preventDefault();let{ariaLabelConfig:a}=F.getState();F.setState({ariaLiveMessage:a["node.a11yDescription.ariaLiveMessage"]({direction:b.key.replace("Arrow","").toLowerCase(),x:~~x.positionAbsolute.x,y:~~x.positionAbsolute.y})}),J({direction:fd[b.key],factor:b.shiftKey?4:1})}}}:void 0,tabIndex:E?0:void 0,onFocus:E?()=>{if(o||!H.current?.matches(":focus-visible"))return;let{transform:b,width:c,height:d,autoPanOnNodeFocus:e,setCenter:f}=F.getState();!e||cN(new Map([[a,w]]),{x:0,y:0,width:c,height:d},b,!0).length>0||f(w.position.x+K.width/2,w.position.y+K.height/2,{zoom:b[2]})}:void 0,role:w.ariaRole??(E?"group":void 0),"aria-roledescription":"node","aria-describedby":o?void 0:`${em}-${p}`,"aria-label":w.ariaLabel,...w.domAttributes,children:(0,t.jsx)(e9,{value:a,children:(0,t.jsx)(A,{id:a,data:w.data,type:z,positionAbsoluteX:x.positionAbsolute.x,positionAbsoluteY:x.positionAbsolute.y,selected:w.selected??!1,selectable:C,draggable:B,deletable:w.deletable??!0,isConnectable:D,sourcePosition:w.sourcePosition,targetPosition:w.targetPosition,dragging:I,dragHandle:w.dragHandle,zIndex:x.z,parentId:w.parentId,...K})})})});let fn=a=>({nodesDraggable:a.nodesDraggable,nodesConnectable:a.nodesConnectable,nodesFocusable:a.nodesFocusable,elementsSelectable:a.elementsSelectable,onError:a.onError});function fo(a){var b;let{nodesDraggable:c,nodesConnectable:d,nodesFocusable:e,elementsSelectable:f,onError:g}=ei(fn,ee),h=(b=a.onlyRenderVisibleElements,ei((0,u.useCallback)(a=>b?cN(a.nodeLookup,{x:0,y:0,width:a.width,height:a.height},a.transform,!0).map(a=>a.id):Array.from(a.nodeLookup.keys()),[b]),ee)),i=function(){let a=ei(fl),[b]=(0,u.useState)(()=>"u"<typeof ResizeObserver?null:new ResizeObserver(b=>{let c=new Map;b.forEach(a=>{let b=a.target.getAttribute("data-id");c.set(b,{id:b,nodeElement:a.target,force:!0})}),a(c)}));return(0,u.useEffect)(()=>()=>{b?.disconnect()},[b]),b}();return(0,t.jsx)("div",{className:"react-flow__nodes",style:eZ,children:h.map(b=>(0,t.jsx)(fm,{id:b,nodeTypes:a.nodeTypes,nodeExtent:a.nodeExtent,onClick:a.onNodeClick,onMouseEnter:a.onNodeMouseEnter,onMouseMove:a.onNodeMouseMove,onMouseLeave:a.onNodeMouseLeave,onContextMenu:a.onNodeContextMenu,onDoubleClick:a.onNodeDoubleClick,noDragClassName:a.noDragClassName,noPanClassName:a.noPanClassName,rfId:a.rfId,disableKeyboardA11y:a.disableKeyboardA11y,resizeObserver:i,nodesDraggable:c,nodesConnectable:d,nodesFocusable:e,elementsSelectable:f,nodeClickDistance:a.nodeClickDistance,onError:g},b))})}fo.displayName="NodeRenderer";let fp=(0,u.memo)(fo),fq={[p.Arrow]:({color:a="none",strokeWidth:b=1})=>{let c={strokeWidth:b,...a&&{stroke:a}};return(0,t.jsx)("polyline",{className:"arrow",style:c,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},[p.ArrowClosed]:({color:a="none",strokeWidth:b=1})=>{let c={strokeWidth:b,...a&&{stroke:a,fill:a}};return(0,t.jsx)("polyline",{className:"arrowclosed",style:c,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})}},fr=({id:a,type:b,color:c,width:d=12.5,height:e=12.5,markerUnits:f="strokeWidth",strokeWidth:g,orient:h="auto-start-reverse"})=>{let i,j=(i=ej(),(0,u.useMemo)(()=>{let a;return Object.prototype.hasOwnProperty.call(fq,b)?fq[b]:(i.getState().onError?.("009",(a=b,`Marker type "${a}" doesn't exist.`)),null)},[b]));return j?(0,t.jsx)("marker",{className:"react-flow__arrowhead",id:a,markerWidth:`${d}`,markerHeight:`${e}`,viewBox:"-10 -10 20 20",markerUnits:f,orient:h,refX:"0",refY:"0",children:(0,t.jsx)(j,{color:c,strokeWidth:g})}):null},fs=({defaultColor:a,rfId:b})=>{let c=ei(a=>a.edges),d=ei(a=>a.defaultEdgeOptions),e=(0,u.useMemo)(()=>(function(a,{id:b,defaultColor:c,defaultMarkerStart:d,defaultMarkerEnd:e}){let f=new Set;return a.reduce((a,g)=>([g.markerStart||d,g.markerEnd||e].forEach(d=>{if(d&&"object"==typeof d){let e=dC(d,b);f.has(e)||(a.push({id:e,color:d.color||c,...d}),f.add(e))}}),a),[]).sort((a,b)=>a.id.localeCompare(b.id))})(c,{id:b,defaultColor:a,defaultMarkerStart:d?.markerStart,defaultMarkerEnd:d?.markerEnd}),[c,d,b,a]);return e.length?(0,t.jsx)("svg",{className:"react-flow__marker","aria-hidden":"true",children:(0,t.jsx)("defs",{children:e.map(a=>(0,t.jsx)(fr,{id:a.id,type:a.type,color:a.color,width:a.width,height:a.height,markerUnits:a.markerUnits,strokeWidth:a.strokeWidth,orient:a.orient},a.id))})}):null};fs.displayName="MarkerDefinitions";var ft=(0,u.memo)(fs);function fu({x:a,y:b,label:c,labelStyle:d,labelShowBg:e=!0,labelBgStyle:f,labelBgPadding:g=[2,4],labelBgBorderRadius:h=2,children:i,className:j,...k}){let[l,m]=(0,u.useState)({x:1,y:0,width:0,height:0}),n=_(["react-flow__edge-textwrapper",j]),o=(0,u.useRef)(null);return((0,u.useEffect)(()=>{if(o.current){let a=o.current.getBBox();m({x:a.x,y:a.y,width:a.width,height:a.height})}},[c]),c)?(0,t.jsxs)("g",{transform:`translate(${a-l.width/2} ${b-l.height/2})`,className:n,visibility:l.width?"visible":"hidden",...k,children:[e&&(0,t.jsx)("rect",{width:l.width+2*g[0],x:-g[0],y:-g[1],height:l.height+2*g[1],className:"react-flow__edge-textbg",style:f,rx:h,ry:h}),(0,t.jsx)("text",{className:"react-flow__edge-text",y:l.height/2,dy:"0.3em",ref:o,style:d,children:c}),i]}):null}fu.displayName="EdgeText";let fv=(0,u.memo)(fu);function fw({path:a,labelX:b,labelY:c,label:d,labelStyle:e,labelShowBg:f,labelBgStyle:g,labelBgPadding:h,labelBgBorderRadius:i,interactionWidth:j=20,...k}){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{...k,d:a,fill:"none",className:_(["react-flow__edge-path",k.className])}),j?(0,t.jsx)("path",{d:a,fill:"none",strokeOpacity:0,strokeWidth:j,className:"react-flow__edge-interaction"}):null,d&&c2(b)&&c2(c)?(0,t.jsx)(fv,{x:b,y:c,label:d,labelStyle:e,labelShowBg:f,labelBgStyle:g,labelBgPadding:h,labelBgBorderRadius:i}):null]})}function fx({pos:a,x1:b,y1:c,x2:d,y2:e}){return a===q.Left||a===q.Right?[.5*(b+d),c]:[b,.5*(c+e)]}function fy({sourceX:a,sourceY:b,sourcePosition:c=q.Bottom,targetX:d,targetY:e,targetPosition:f=q.Top}){let[g,h]=fx({pos:c,x1:a,y1:b,x2:d,y2:e}),[i,j]=fx({pos:f,x1:d,y1:e,x2:a,y2:b}),[k,l,m,n]=dm({sourceX:a,sourceY:b,targetX:d,targetY:e,sourceControlX:g,sourceControlY:h,targetControlX:i,targetControlY:j});return[`M${a},${b} C${g},${h} ${i},${j} ${d},${e}`,k,l,m,n]}function fz(a){return(0,u.memo)(({id:b,sourceX:c,sourceY:d,targetX:e,targetY:f,sourcePosition:g,targetPosition:h,label:i,labelStyle:j,labelShowBg:k,labelBgStyle:l,labelBgPadding:m,labelBgBorderRadius:n,style:o,markerEnd:p,markerStart:q,interactionWidth:r})=>{let[s,u,v]=fy({sourceX:c,sourceY:d,sourcePosition:g,targetX:e,targetY:f,targetPosition:h}),w=a.isInternal?void 0:b;return(0,t.jsx)(fw,{id:w,path:s,labelX:u,labelY:v,label:i,labelStyle:j,labelShowBg:k,labelBgStyle:l,labelBgPadding:m,labelBgBorderRadius:n,style:o,markerEnd:p,markerStart:q,interactionWidth:r})})}let fA=fz({isInternal:!1}),fB=fz({isInternal:!0});function fC(a){return(0,u.memo)(({id:b,sourceX:c,sourceY:d,targetX:e,targetY:f,label:g,labelStyle:h,labelShowBg:i,labelBgStyle:j,labelBgPadding:k,labelBgBorderRadius:l,style:m,sourcePosition:n=q.Bottom,targetPosition:o=q.Top,markerEnd:p,markerStart:r,pathOptions:s,interactionWidth:u})=>{let[v,w,x]=dx({sourceX:c,sourceY:d,sourcePosition:n,targetX:e,targetY:f,targetPosition:o,borderRadius:s?.borderRadius,offset:s?.offset,stepPosition:s?.stepPosition}),y=a.isInternal?void 0:b;return(0,t.jsx)(fw,{id:y,path:v,labelX:w,labelY:x,label:g,labelStyle:h,labelShowBg:i,labelBgStyle:j,labelBgPadding:k,labelBgBorderRadius:l,style:m,markerEnd:p,markerStart:r,interactionWidth:u})})}fA.displayName="SimpleBezierEdge",fB.displayName="SimpleBezierEdgeInternal";let fD=fC({isInternal:!1}),fE=fC({isInternal:!0});function fF(a){return(0,u.memo)(({id:b,...c})=>{let d=a.isInternal?void 0:b;return(0,t.jsx)(fD,{...c,id:d,pathOptions:(0,u.useMemo)(()=>({borderRadius:0,offset:c.pathOptions?.offset}),[c.pathOptions?.offset])})})}fD.displayName="SmoothStepEdge",fE.displayName="SmoothStepEdgeInternal";let fG=fF({isInternal:!1}),fH=fF({isInternal:!0});function fI(a){return(0,u.memo)(({id:b,sourceX:c,sourceY:d,targetX:e,targetY:f,label:g,labelStyle:h,labelShowBg:i,labelBgStyle:j,labelBgPadding:k,labelBgBorderRadius:l,style:m,markerEnd:n,markerStart:o,interactionWidth:p})=>{let[q,r,s]=dt({sourceX:c,sourceY:d,targetX:e,targetY:f}),u=a.isInternal?void 0:b;return(0,t.jsx)(fw,{id:u,path:q,labelX:r,labelY:s,label:g,labelStyle:h,labelShowBg:i,labelBgStyle:j,labelBgPadding:k,labelBgBorderRadius:l,style:m,markerEnd:n,markerStart:o,interactionWidth:p})})}fG.displayName="StepEdge",fH.displayName="StepEdgeInternal";let fJ=fI({isInternal:!1}),fK=fI({isInternal:!0});function fL(a){return(0,u.memo)(({id:b,sourceX:c,sourceY:d,targetX:e,targetY:f,sourcePosition:g=q.Bottom,targetPosition:h=q.Top,label:i,labelStyle:j,labelShowBg:k,labelBgStyle:l,labelBgPadding:m,labelBgBorderRadius:n,style:o,markerEnd:p,markerStart:r,pathOptions:s,interactionWidth:u})=>{let[v,w,x]=dq({sourceX:c,sourceY:d,sourcePosition:g,targetX:e,targetY:f,targetPosition:h,curvature:s?.curvature}),y=a.isInternal?void 0:b;return(0,t.jsx)(fw,{id:y,path:v,labelX:w,labelY:x,label:i,labelStyle:j,labelShowBg:k,labelBgStyle:l,labelBgPadding:m,labelBgBorderRadius:n,style:o,markerEnd:p,markerStart:r,interactionWidth:u})})}fJ.displayName="StraightEdge",fK.displayName="StraightEdgeInternal";let fM=fL({isInternal:!1}),fN=fL({isInternal:!0});fM.displayName="BezierEdge",fN.displayName="BezierEdgeInternal";let fO={default:fN,straight:fK,step:fH,smoothstep:fE,simplebezier:fB},fP={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},fQ="react-flow__edgeupdater";function fR({position:a,centerX:b,centerY:c,radius:d=10,onMouseDown:e,onMouseEnter:f,onMouseOut:g,type:h}){return(0,t.jsx)("circle",{onMouseDown:e,onMouseEnter:f,onMouseOut:g,className:_([fQ,`${fQ}-${h}`]),cx:a===q.Left?b-d:a===q.Right?b+d:b,cy:a===q.Top?c-d:a===q.Bottom?c+d:c,r:d,stroke:"transparent",fill:"transparent"})}function fS({isReconnectable:a,reconnectRadius:b,edge:c,sourceX:d,sourceY:e,targetX:f,targetY:g,sourcePosition:h,targetPosition:i,onReconnect:j,onReconnectStart:k,onReconnectEnd:l,setReconnecting:m,setUpdateHover:n}){let o=ej(),p=(a,b)=>{if(0!==a.button)return;let{autoPanOnConnect:d,domNode:e,isValidConnection:f,connectionMode:g,connectionRadius:h,lib:i,onConnectStart:n,onConnectEnd:p,cancelConnection:q,nodeLookup:r,rfId:s,panBy:t,updateConnection:u}=o.getState(),v="target"===b.type;dU(a.nativeEvent,{autoPanOnConnect:d,connectionMode:g,connectionRadius:h,domNode:e,handleId:b.id,nodeId:b.nodeId,nodeLookup:r,isTarget:v,edgeUpdaterType:b.type,lib:i,flowId:s,cancelConnection:q,panBy:t,isValidConnection:f,onConnect:a=>j?.(c,a),onConnectStart:(d,e)=>{m(!0),k?.(a,c,b.type),n?.(d,e)},onConnectEnd:p,onReconnectEnd:(a,d)=>{m(!1),l?.(a,c,b.type,d)},updateConnection:u,getTransform:()=>o.getState().transform,getFromHandle:()=>o.getState().connection.fromHandle,dragThreshold:o.getState().connectionDragThreshold,handleDomNode:a.currentTarget})},q=()=>n(!0),r=()=>n(!1);return(0,t.jsxs)(t.Fragment,{children:[(!0===a||"source"===a)&&(0,t.jsx)(fR,{position:h,centerX:d,centerY:e,radius:b,onMouseDown:a=>p(a,{nodeId:c.target,id:c.targetHandle??null,type:"target"}),onMouseEnter:q,onMouseOut:r,type:"source"}),(!0===a||"target"===a)&&(0,t.jsx)(fR,{position:i,centerX:f,centerY:g,radius:b,onMouseDown:a=>p(a,{nodeId:c.source,id:c.sourceHandle??null,type:"source"}),onMouseEnter:q,onMouseOut:r,type:"target"})]})}var fT=(0,u.memo)(function({id:a,edgesFocusable:b,edgesReconnectable:c,elementsSelectable:d,onClick:e,onDoubleClick:f,onContextMenu:g,onMouseEnter:h,onMouseMove:i,onMouseLeave:j,reconnectRadius:k,onReconnect:m,onReconnectStart:n,onReconnectEnd:o,rfId:p,edgeTypes:r,noPanClassName:s,onError:v,disableKeyboardA11y:w}){let x,y=ei(b=>b.edgeLookup.get(a)),z=ei(a=>a.defaultEdgeOptions),A=(y=z?{...z,...y}:y).type||"default",B=r?.[A]||fO[A];void 0===B&&(v?.("011",(x=A,`Edge type "${x}" not found. Using fallback type "default".`)),A="default",B=r?.default||fO.default);let C=!!(y.focusable||b&&void 0===y.focusable),D=void 0!==m&&(y.reconnectable||c&&void 0===y.reconnectable),E=!!(y.selectable||d&&void 0===y.selectable),F=(0,u.useRef)(null),[G,H]=(0,u.useState)(!1),[I,J]=(0,u.useState)(!1),K=ej(),{zIndex:L,sourceX:M,sourceY:N,targetX:O,targetY:P,sourcePosition:Q,targetPosition:R}=ei((0,u.useCallback)(b=>{let c=b.nodeLookup.get(y.source),d=b.nodeLookup.get(y.target);if(!c||!d)return{zIndex:y.zIndex,...fP};let e=function(a){let{sourceNode:b,targetNode:c}=a;if(!dy(b)||!dy(c))return null;let d=b.internals.handleBounds||dz(b.handles),e=c.internals.handleBounds||dz(c.handles),f=dB(d?.source??[],a.sourceHandle),g=dB(a.connectionMode===l.Strict?e?.target??[]:(e?.target??[]).concat(e?.source??[]),a.targetHandle);if(!f||!g)return a.onError?.("008",((a,{id:b,sourceHandle:c,targetHandle:d})=>`Couldn't create edge for ${a} handle id: "${"source"===a?c:d}", edge id: ${b}.`)(!f?"source":"target",{id:a.id,sourceHandle:a.sourceHandle,targetHandle:a.targetHandle})),null;let h=f?.position||q.Bottom,i=g?.position||q.Top,j=dA(b,f,h),k=dA(c,g,i);return{sourceX:j.x,sourceY:j.y,targetX:k.x,targetY:k.y,sourcePosition:h,targetPosition:i}}({id:a,sourceNode:c,targetNode:d,sourceHandle:y.sourceHandle||null,targetHandle:y.targetHandle||null,connectionMode:b.connectionMode,onError:v});return{zIndex:function({sourceNode:a,targetNode:b,selected:c=!1,zIndex:d=0,elevateOnSelect:e=!1,zIndexMode:f="basic"}){if("manual"===f)return d;let g=Math.max(a.parentId||e&&a.selected?a.internals.z:0,b.parentId||e&&b.selected?b.internals.z:0);return(e&&c?d+1e3:d)+g}({selected:y.selected,zIndex:y.zIndex,sourceNode:c,targetNode:d,elevateOnSelect:b.elevateEdgesOnSelect,zIndexMode:b.zIndexMode}),...e||fP}},[y.source,y.target,y.sourceHandle,y.targetHandle,y.selected,y.zIndex]),ee),S=(0,u.useMemo)(()=>y.markerStart?`url('#${dC(y.markerStart,p)}')`:void 0,[y.markerStart,p]),T=(0,u.useMemo)(()=>y.markerEnd?`url('#${dC(y.markerEnd,p)}')`:void 0,[y.markerEnd,p]);if(y.hidden||null===M||null===N||null===O||null===P)return null;let U=f?a=>{f(a,{...y})}:void 0,V=g?a=>{g(a,{...y})}:void 0,W=h?a=>{h(a,{...y})}:void 0,X=i?a=>{i(a,{...y})}:void 0,Y=j?a=>{j(a,{...y})}:void 0;return(0,t.jsx)("svg",{style:{zIndex:L},children:(0,t.jsxs)("g",{className:_(["react-flow__edge",`react-flow__edge-${A}`,y.className,s,{selected:y.selected,animated:y.animated,inactive:!E&&!e,updating:G,selectable:E}]),onClick:b=>{let{addSelectedEdges:c,unselectNodesAndEdges:d,multiSelectionActive:f}=K.getState();E&&(K.setState({nodesSelectionActive:!1}),y.selected&&f?(d({nodes:[],edges:[y]}),F.current?.blur()):c([a])),e&&e(b,y)},onDoubleClick:U,onContextMenu:V,onMouseEnter:W,onMouseMove:X,onMouseLeave:Y,onKeyDown:C?b=>{if(!w&&cE.includes(b.key)&&E){let{unselectNodesAndEdges:c,addSelectedEdges:d}=K.getState();"Escape"===b.key?(F.current?.blur(),c({edges:[y]})):d([a])}}:void 0,tabIndex:C?0:void 0,role:y.ariaRole??(C?"group":"img"),"aria-roledescription":"edge","data-id":a,"data-testid":`rf__edge-${a}`,"aria-label":null===y.ariaLabel?void 0:y.ariaLabel||`Edge from ${y.source} to ${y.target}`,"aria-describedby":C?`${en}-${p}`:void 0,ref:F,...y.domAttributes,children:[!I&&(0,t.jsx)(B,{id:a,source:y.source,target:y.target,type:y.type,selected:y.selected,animated:y.animated,selectable:E,deletable:y.deletable??!0,label:y.label,labelStyle:y.labelStyle,labelShowBg:y.labelShowBg,labelBgStyle:y.labelBgStyle,labelBgPadding:y.labelBgPadding,labelBgBorderRadius:y.labelBgBorderRadius,sourceX:M,sourceY:N,targetX:O,targetY:P,sourcePosition:Q,targetPosition:R,data:y.data,style:y.style,sourceHandleId:y.sourceHandle,targetHandleId:y.targetHandle,markerStart:S,markerEnd:T,pathOptions:"pathOptions"in y?y.pathOptions:void 0,interactionWidth:y.interactionWidth}),D&&(0,t.jsx)(fS,{edge:y,isReconnectable:D,reconnectRadius:k,onReconnect:m,onReconnectStart:n,onReconnectEnd:o,sourceX:M,sourceY:N,targetX:O,targetY:P,sourcePosition:Q,targetPosition:R,setUpdateHover:H,setReconnecting:J})]})})});let fU=a=>({edgesFocusable:a.edgesFocusable,edgesReconnectable:a.edgesReconnectable,elementsSelectable:a.elementsSelectable,connectionMode:a.connectionMode,onError:a.onError});function fV({defaultMarkerColor:a,onlyRenderVisibleElements:b,rfId:c,edgeTypes:d,noPanClassName:e,onReconnect:f,onEdgeContextMenu:g,onEdgeMouseEnter:h,onEdgeMouseMove:i,onEdgeMouseLeave:j,onEdgeClick:k,reconnectRadius:l,onEdgeDoubleClick:m,onReconnectStart:n,onReconnectEnd:o,disableKeyboardA11y:p}){let{edgesFocusable:q,edgesReconnectable:r,elementsSelectable:s,onError:v}=ei(fU,ee),w=ei((0,u.useCallback)(a=>{if(!b)return a.edges.map(a=>a.id);let c=[];if(a.width&&a.height)for(let b of a.edges){let d=a.nodeLookup.get(b.source),e=a.nodeLookup.get(b.target);d&&e&&function({sourceNode:a,targetNode:b,width:c,height:d,transform:e}){let f=cW(c$(a),c$(b));return f.x===f.x2&&(f.x2+=1),f.y===f.y2&&(f.y2+=1),c0({x:-e[0]/e[2],y:-e[1]/e[2],width:c/e[2],height:d/e[2]},cY(f))>0}({sourceNode:d,targetNode:e,width:a.width,height:a.height,transform:a.transform})&&c.push(b.id)}return c},[b]),ee);return(0,t.jsxs)("div",{className:"react-flow__edges",children:[(0,t.jsx)(ft,{defaultColor:a,rfId:c}),w.map(a=>(0,t.jsx)(fT,{id:a,edgesFocusable:q,edgesReconnectable:r,elementsSelectable:s,noPanClassName:e,onReconnect:f,onContextMenu:g,onMouseEnter:h,onMouseMove:i,onMouseLeave:j,onClick:k,reconnectRadius:l,onDoubleClick:m,onReconnectStart:n,onReconnectEnd:o,rfId:c,onError:v,edgeTypes:d,disableKeyboardA11y:p},a))]})}fV.displayName="EdgeRenderer";let fW=(0,u.memo)(fV),fX=a=>`translate(${a.transform[0]}px,${a.transform[1]}px) scale(${a.transform[2]})`;function fY({children:a}){let b=ei(fX);return(0,t.jsx)("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:b},children:a})}let fZ=a=>a.panZoom?.syncViewport;function f$(a){return a.connection.inProgress?{...a.connection,to:c5(a.connection.to,a.transform)}:{...a.connection}}let f_=a=>({nodesConnectable:a.nodesConnectable,isValid:a.connection.isValid,inProgress:a.connection.inProgress,width:a.width,height:a.height});function f0({containerStyle:a,style:b,type:c,component:d}){let{nodesConnectable:e,width:f,height:g,isValid:h,inProgress:i}=ei(f_,ee);return f&&e&&i?(0,t.jsx)("svg",{style:a,width:f,height:g,className:"react-flow__connectionline react-flow__container",children:(0,t.jsx)("g",{className:_(["react-flow__connection",cI(h)]),children:(0,t.jsx)(f1,{style:b,type:c,CustomComponent:d,isValid:h})})}):null}let f1=({style:a,type:b=o.Bezier,CustomComponent:c,isValid:d})=>{let{inProgress:e,from:f,fromNode:g,fromHandle:h,fromPosition:i,to:j,toNode:k,toHandle:l,toPosition:m,pointer:n}=ei(f$,ee);if(!e)return;if(c)return(0,t.jsx)(c,{connectionLineType:b,connectionLineStyle:a,fromNode:g,fromHandle:h,fromX:f.x,fromY:f.y,toX:j.x,toY:j.y,fromPosition:i,toPosition:m,connectionStatus:cI(d),toNode:k,toHandle:l,pointer:n});let p="",q={sourceX:f.x,sourceY:f.y,sourcePosition:i,targetX:j.x,targetY:j.y,targetPosition:m};switch(b){case o.Bezier:[p]=dq(q);break;case o.SimpleBezier:[p]=fy(q);break;case o.Step:[p]=dx({...q,borderRadius:0});break;case o.SmoothStep:[p]=dx(q);break;default:[p]=dt(q)}return(0,t.jsx)("path",{d:p,fill:"none",className:"react-flow__connection-path",style:a})};f1.displayName="ConnectionLine";let f2={};function f3(a=f2){(0,u.useRef)(a),ej(),(0,u.useEffect)(()=>{},[a])}function f4({nodeTypes:a,edgeTypes:b,onInit:c,onNodeClick:d,onEdgeClick:e,onNodeDoubleClick:f,onEdgeDoubleClick:g,onNodeMouseEnter:h,onNodeMouseMove:i,onNodeMouseLeave:j,onNodeContextMenu:k,onSelectionContextMenu:l,onSelectionStart:m,onSelectionEnd:n,connectionLineType:o,connectionLineStyle:p,connectionLineComponent:q,connectionLineContainerStyle:r,selectionKeyCode:s,selectionOnDrag:v,selectionMode:w,multiSelectionKeyCode:x,panActivationKeyCode:y,zoomActivationKeyCode:z,deleteKeyCode:A,onlyRenderVisibleElements:B,elementsSelectable:C,defaultViewport:D,translateExtent:E,minZoom:F,maxZoom:G,preventScrolling:H,defaultMarkerColor:I,zoomOnScroll:J,zoomOnPinch:K,panOnScroll:L,panOnScrollSpeed:M,panOnScrollMode:N,zoomOnDoubleClick:O,panOnDrag:P,onPaneClick:Q,onPaneMouseEnter:R,onPaneMouseMove:S,onPaneMouseLeave:T,onPaneScroll:U,onPaneContextMenu:V,paneClickDistance:W,nodeClickDistance:X,onEdgeContextMenu:Y,onEdgeMouseEnter:Z,onEdgeMouseMove:$,onEdgeMouseLeave:_,reconnectRadius:aa,onReconnect:ab,onReconnectStart:ac,onReconnectEnd:ad,noDragClassName:ae,noWheelClassName:af,noPanClassName:ag,disableKeyboardA11y:ah,nodeExtent:ai,rfId:aj,viewport:ak,onViewportChange:al}){let am,an,ao,ap;return f3(a),f3(b),ej(),(0,u.useRef)(!1),(0,u.useEffect)(()=>{},[]),am=eW(),an=(0,u.useRef)(!1),(0,u.useEffect)(()=>{!an.current&&am.viewportInitialized&&c&&(setTimeout(()=>c(am),1),an.current=!0)},[c,am.viewportInitialized]),ao=ei(fZ),ap=ej(),(0,u.useEffect)(()=>{ak&&(ao?.(ak),ap.setState({transform:[ak.x,ak.y,ak.zoom]}))},[ak,ao]),(0,t.jsx)(fk,{onPaneClick:Q,onPaneMouseEnter:R,onPaneMouseMove:S,onPaneMouseLeave:T,onPaneContextMenu:V,onPaneScroll:U,paneClickDistance:W,deleteKeyCode:A,selectionKeyCode:s,selectionOnDrag:v,selectionMode:w,onSelectionStart:m,onSelectionEnd:n,multiSelectionKeyCode:x,panActivationKeyCode:y,zoomActivationKeyCode:z,elementsSelectable:C,zoomOnScroll:J,zoomOnPinch:K,zoomOnDoubleClick:O,panOnScroll:L,panOnScrollSpeed:M,panOnScrollMode:N,panOnDrag:P,defaultViewport:D,translateExtent:E,minZoom:F,maxZoom:G,onSelectionContextMenu:l,preventScrolling:H,noDragClassName:ae,noWheelClassName:af,noPanClassName:ag,disableKeyboardA11y:ah,onViewportChange:al,isControlledViewport:!!ak,children:(0,t.jsxs)(fY,{children:[(0,t.jsx)(fW,{edgeTypes:b,onEdgeClick:e,onEdgeDoubleClick:g,onReconnect:ab,onReconnectStart:ac,onReconnectEnd:ad,onlyRenderVisibleElements:B,onEdgeContextMenu:Y,onEdgeMouseEnter:Z,onEdgeMouseMove:$,onEdgeMouseLeave:_,reconnectRadius:aa,defaultMarkerColor:I,noPanClassName:ag,disableKeyboardA11y:ah,rfId:aj}),(0,t.jsx)(f0,{style:p,type:o,component:q,containerStyle:r}),(0,t.jsx)("div",{className:"react-flow__edgelabel-renderer"}),(0,t.jsx)(fp,{nodeTypes:a,onNodeClick:d,onNodeDoubleClick:f,onNodeMouseEnter:h,onNodeMouseMove:i,onNodeMouseLeave:j,onNodeContextMenu:k,nodeClickDistance:X,onlyRenderVisibleElements:B,noPanClassName:ag,noDragClassName:ae,disableKeyboardA11y:ah,nodeExtent:ai,rfId:aj}),(0,t.jsx)("div",{className:"react-flow__viewport-portal"})]})})}f4.displayName="GraphView";let f5=(0,u.memo)(f4),f6=({nodes:a,edges:b,defaultNodes:c,defaultEdges:d,width:e,height:f,fitView:g,fitViewOptions:h,minZoom:i=.5,maxZoom:j=2,nodeOrigin:k,nodeExtent:m,zIndexMode:n="basic"}={})=>{let o=new Map,p=new Map,q=new Map,r=new Map,s=d??b??[],t=c??a??[],u=k??[0,0],v=m??cD;dN(q,r,s);let w=dH(t,o,p,{nodeOrigin:u,nodeExtent:v,zIndexMode:n}),x=[0,0,1];if(g&&e&&f){let{x:a,y:b,zoom:c}=c8(cM(o,{filter:a=>!!((a.width||a.initialWidth)&&(a.height||a.initialHeight))}),e,f,i,j,h?.padding??.1);x=[a,b,c]}return{rfId:"1",width:e??0,height:f??0,transform:x,nodes:t,nodesInitialized:w,nodeLookup:o,parentLookup:p,edges:s,edgeLookup:r,connectionLookup:q,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:void 0!==c,hasDefaultEdges:void 0!==d,panZoom:null,minZoom:i,maxZoom:j,translateExtent:cD,nodeExtent:v,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:l.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:u,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:g??!1,fitViewOptions:h,fitViewResolver:null,connection:{...cG},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:c3,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:cF,zIndexMode:n,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}};function f7({initialNodes:a,initialEdges:b,defaultNodes:c,defaultEdges:d,initialWidth:e,initialHeight:f,initialMinZoom:g,initialMaxZoom:h,initialFitViewOptions:i,fitView:j,nodeOrigin:k,nodeExtent:l,zIndexMode:m,children:n}){let[o]=(0,u.useState)(()=>(({nodes:a,edges:b,defaultNodes:c,defaultEdges:d,width:e,height:f,fitView:g,fitViewOptions:h,minZoom:i,maxZoom:j,nodeOrigin:k,nodeExtent:l,zIndexMode:m})=>{let n,o;return n=(n,o)=>{async function p(){let{nodeLookup:a,panZoom:b,fitViewOptions:c,fitViewResolver:d,width:e,height:f,minZoom:g,maxZoom:h}=o();b&&(await cO({nodes:a,width:e,height:f,panZoom:b,minZoom:g,maxZoom:h},c),d?.resolve(!0),n({fitViewResolver:null}))}return{...f6({nodes:a,edges:b,width:e,height:f,fitView:g,fitViewOptions:h,minZoom:i,maxZoom:j,nodeOrigin:k,nodeExtent:l,defaultNodes:c,defaultEdges:d,zIndexMode:m}),setNodes:a=>{let{nodeLookup:b,parentLookup:c,nodeOrigin:d,elevateNodesOnSelect:e,fitViewQueued:f,zIndexMode:g}=o(),h=dH(a,b,c,{nodeOrigin:d,nodeExtent:l,elevateNodesOnSelect:e,checkEquality:!0,zIndexMode:g});f&&h?(p(),n({nodes:a,nodesInitialized:h,fitViewQueued:!1,fitViewOptions:void 0})):n({nodes:a,nodesInitialized:h})},setEdges:a=>{let{connectionLookup:b,edgeLookup:c}=o();dN(b,c,a),n({edges:a})},setDefaultNodesAndEdges:(a,b)=>{if(a){let{setNodes:b}=o();b(a),n({hasDefaultNodes:!0})}if(b){let{setEdges:a}=o();a(b),n({hasDefaultEdges:!0})}},updateNodeInternals:a=>{let{triggerNodeChanges:b,nodeLookup:c,parentLookup:d,domNode:e,nodeOrigin:f,nodeExtent:g,debug:h,fitViewQueued:i,zIndexMode:j}=o(),{changes:k,updatedInternals:l}=function(a,b,c,d,e,f,g){let h=d?.querySelector(".xyflow__viewport"),i=!1;if(!h)return{changes:[],updatedInternals:i};let j=[],k=window.getComputedStyle(h),{m22:l}=new window.DOMMatrixReadOnly(k.transform),m=[];for(let d of a.values()){let a=b.get(d.id);if(!a)continue;if(a.hidden){b.set(a.id,{...a,internals:{...a.internals,handleBounds:void 0}}),i=!0;continue}let h=dg(d.nodeElement),k=a.measured.width!==h.width||a.measured.height!==h.height;if(h.width&&h.height&&(k||!a.internals.handleBounds||d.force)){let n=d.nodeElement.getBoundingClientRect(),o=da(a.extent)?a.extent:f,{positionAbsolute:p}=a.internals;a.parentId&&"parent"===a.extent?p=cT(p,h,b.get(a.parentId)):o&&(p=cS(p,o,h));let q={...a,measured:h,internals:{...a.internals,positionAbsolute:p,handleBounds:{source:dl("source",d.nodeElement,n,l,a.id),target:dl("target",d.nodeElement,n,l,a.id)}}};b.set(a.id,q),a.parentId&&dI(q,b,c,{nodeOrigin:e,zIndexMode:g}),i=!0,k&&(j.push({id:a.id,type:"dimensions",dimensions:h}),a.expandParent&&a.parentId&&m.push({id:a.id,parentId:a.parentId,rect:cZ(q,e)}))}}if(m.length>0){let a=dK(m,b,c,e);j.push(...a)}return{changes:j,updatedInternals:i}}(a,c,d,e,f,g,j);l&&(!function(a,b,c){let d=dF(dD,c);for(let c of a.values())if(c.parentId)dI(c,a,b,d);else{let a=cS(cL(c,d.nodeOrigin),da(c.extent)?c.extent:d.nodeExtent,db(c));c.internals.positionAbsolute=a}}(c,d,{nodeOrigin:f,nodeExtent:g,zIndexMode:j}),i?(p(),n({fitViewQueued:!1,fitViewOptions:void 0})):n({}),k?.length>0&&(h&&console.log("React Flow: trigger node changes",k),b?.(k)))},updateNodePositions:(a,b=!1)=>{let c=[],d=[],{nodeLookup:e,triggerNodeChanges:f,connection:g,updateConnection:h,onNodesChangeMiddlewareMap:i}=o();for(let[f,i]of a){let a=e.get(f),j=!!(a?.expandParent&&a?.parentId&&i?.position),k={id:f,type:"position",position:j?{x:Math.max(0,i.position.x),y:Math.max(0,i.position.y)}:i.position,dragging:b};if(a&&g.inProgress&&g.fromNode.id===a.id){let b=dA(a,g.fromHandle,q.Left,!0);h({...g,from:b})}j&&a.parentId&&c.push({id:f,parentId:a.parentId,rect:{...i.internals.positionAbsolute,width:i.measured.width??0,height:i.measured.height??0}}),d.push(k)}if(c.length>0){let{parentLookup:a,nodeOrigin:b}=o(),f=dK(c,e,a,b);d.push(...f)}for(let a of i.values())d=a(d);f(d)},triggerNodeChanges:a=>{let{onNodesChange:b,setNodes:c,nodes:d,hasDefaultNodes:e,debug:f}=o();a?.length&&(e&&c(eK(a,d)),f&&console.log("React Flow: trigger node changes",a),b?.(a))},triggerEdgeChanges:a=>{let{onEdgesChange:b,setEdges:c,edges:d,hasDefaultEdges:e,debug:f}=o();a?.length&&(e&&c(eK(a,d)),f&&console.log("React Flow: trigger edge changes",a),b?.(a))},addSelectedNodes:a=>{let{multiSelectionActive:b,edgeLookup:c,nodeLookup:d,triggerNodeChanges:e,triggerEdgeChanges:f}=o();b?e(a.map(a=>eL(a,!0))):(e(eM(d,new Set([...a]),!0)),f(eM(c)))},addSelectedEdges:a=>{let{multiSelectionActive:b,edgeLookup:c,nodeLookup:d,triggerNodeChanges:e,triggerEdgeChanges:f}=o();b?f(a.map(a=>eL(a,!0))):(f(eM(c,new Set([...a]))),e(eM(d,new Set,!0)))},unselectNodesAndEdges:({nodes:a,edges:b}={})=>{let{edges:c,nodes:d,nodeLookup:e,triggerNodeChanges:f,triggerEdgeChanges:g}=o(),h=(a||d).map(a=>{let b=e.get(a.id);return b&&(b.selected=!1),eL(a.id,!1)}),i=(b||c).map(a=>eL(a.id,!1));f(h),g(i)},setMinZoom:a=>{let{panZoom:b,maxZoom:c}=o();b?.setScaleExtent([a,c]),n({minZoom:a})},setMaxZoom:a=>{let{panZoom:b,minZoom:c}=o();b?.setScaleExtent([c,a]),n({maxZoom:a})},setTranslateExtent:a=>{o().panZoom?.setTranslateExtent(a),n({translateExtent:a})},resetSelectedElements:()=>{let{edges:a,nodes:b,triggerNodeChanges:c,triggerEdgeChanges:d,elementsSelectable:e}=o();if(!e)return;let f=b.reduce((a,b)=>b.selected?[...a,eL(b.id,!1)]:a,[]),g=a.reduce((a,b)=>b.selected?[...a,eL(b.id,!1)]:a,[]);c(f),d(g)},setNodeExtent:a=>{let{nodes:b,nodeLookup:c,parentLookup:d,nodeOrigin:e,elevateNodesOnSelect:f,nodeExtent:g,zIndexMode:h}=o();(a[0][0]!==g[0][0]||a[0][1]!==g[0][1]||a[1][0]!==g[1][0]||a[1][1]!==g[1][1])&&(dH(b,c,d,{nodeOrigin:e,nodeExtent:a,elevateNodesOnSelect:f,checkEquality:!1,zIndexMode:h}),n({nodeExtent:a}))},panBy:a=>{let{transform:b,width:c,height:d,panZoom:e,translateExtent:f}=o();return dL({delta:a,panZoom:e,transform:b,translateExtent:f,width:c,height:d})},setCenter:async(a,b,c)=>{let{width:d,height:e,maxZoom:f,panZoom:g}=o();if(!g)return Promise.resolve(!1);let h=void 0!==c?.zoom?c.zoom:f;return await g.setViewport({x:d/2-a*h,y:e/2-b*h,zoom:h},{duration:c?.duration,ease:c?.ease,interpolate:c?.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{n({connection:{...cG}})},updateConnection:a=>{n({connection:a})},reset:()=>n({...f6()})}},o=Object.is,n?ed(n,o):ed})({nodes:a,edges:b,defaultNodes:c,defaultEdges:d,width:e,height:f,fitView:j,minZoom:g,maxZoom:h,fitViewOptions:i,nodeOrigin:k,nodeExtent:l,zIndexMode:m}));return(0,t.jsx)(eg,{value:o,children:(0,t.jsx)(eU,{children:n})})}function f8({children:a,nodes:b,edges:c,defaultNodes:d,defaultEdges:e,width:f,height:g,fitView:h,fitViewOptions:i,minZoom:j,maxZoom:k,nodeOrigin:l,nodeExtent:m,zIndexMode:n}){return(0,u.useContext)(ef)?(0,t.jsx)(t.Fragment,{children:a}):(0,t.jsx)(f7,{initialNodes:b,initialEdges:c,defaultNodes:d,defaultEdges:e,initialWidth:f,initialHeight:g,fitView:h,initialFitViewOptions:i,initialMinZoom:j,initialMaxZoom:k,nodeOrigin:l,nodeExtent:m,zIndexMode:n,children:a})}let f9={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};var ga=eQ(function({nodes:a,edges:b,defaultNodes:c,defaultEdges:d,className:e,nodeTypes:f,edgeTypes:g,onNodeClick:h,onEdgeClick:i,onInit:j,onMove:k,onMoveStart:l,onMoveEnd:p,onConnect:q,onConnectStart:r,onConnectEnd:s,onClickConnectStart:v,onClickConnectEnd:w,onNodeMouseEnter:x,onNodeMouseMove:y,onNodeMouseLeave:z,onNodeContextMenu:A,onNodeDoubleClick:B,onNodeDragStart:C,onNodeDrag:D,onNodeDragStop:E,onNodesDelete:F,onEdgesDelete:G,onDelete:H,onSelectionChange:I,onSelectionDragStart:J,onSelectionDrag:K,onSelectionDragStop:L,onSelectionContextMenu:M,onSelectionStart:N,onSelectionEnd:O,onBeforeDelete:P,connectionMode:Q,connectionLineType:R=o.Bezier,connectionLineStyle:S,connectionLineComponent:T,connectionLineContainerStyle:U,deleteKeyCode:V="Backspace",selectionKeyCode:W="Shift",selectionOnDrag:X=!1,selectionMode:Y=n.Full,panActivationKeyCode:Z="Space",multiSelectionKeyCode:$=c9()?"Meta":"Control",zoomActivationKeyCode:aa=c9()?"Meta":"Control",snapToGrid:ab,snapGrid:ac,onlyRenderVisibleElements:ad=!1,selectNodesOnDrag:ae,nodesDraggable:af,autoPanOnNodeFocus:ag,nodesConnectable:ah,nodesFocusable:ai,nodeOrigin:aj=eA,edgesFocusable:ak,edgesReconnectable:al,elementsSelectable:am=!0,defaultViewport:an=eB,minZoom:ao=.5,maxZoom:ap=2,translateExtent:aq=cD,preventScrolling:ar=!0,nodeExtent:as,defaultMarkerColor:at="#b1b1b7",zoomOnScroll:au=!0,zoomOnPinch:av=!0,panOnScroll:aw=!1,panOnScrollSpeed:ax=.5,panOnScrollMode:ay=m.Free,zoomOnDoubleClick:az=!0,panOnDrag:aA=!0,onPaneClick:aB,onPaneMouseEnter:aC,onPaneMouseMove:aD,onPaneMouseLeave:aE,onPaneScroll:aF,onPaneContextMenu:aG,paneClickDistance:aH=1,nodeClickDistance:aI=0,children:aJ,onReconnect:aK,onReconnectStart:aL,onReconnectEnd:aM,onEdgeContextMenu:aN,onEdgeDoubleClick:aO,onEdgeMouseEnter:aP,onEdgeMouseMove:aQ,onEdgeMouseLeave:aR,reconnectRadius:aS=10,onNodesChange:aT,onEdgesChange:aU,noDragClassName:aV="nodrag",noWheelClassName:aW="nowheel",noPanClassName:aX="nopan",fitView:aY,fitViewOptions:aZ,connectOnClick:a$,attributionPosition:a_,proOptions:a0,defaultEdgeOptions:a1,elevateNodesOnSelect:a2=!0,elevateEdgesOnSelect:a3=!1,disableKeyboardA11y:a4=!1,autoPanOnConnect:a5,autoPanOnNodeDrag:a6,autoPanSpeed:a7,connectionRadius:a8,isValidConnection:a9,onError:ba,style:bb,id:bc,nodeDragThreshold:bd,connectionDragThreshold:be,viewport:bf,onViewportChange:bg,width:bh,height:bi,colorMode:bj="light",debug:bk,onScroll:bl,ariaLabelConfig:bm,zIndexMode:bn="basic",...bo},bp){let bq=bc||"1",br=function(a){let[b,c]=(0,u.useState)("system"===a?null:a);return(0,u.useEffect)(()=>"system"!==a?void c(a):(c("light"),()=>{}),[a]),null!==b?b:"light"}(bj),bs=(0,u.useCallback)(a=>{a.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),bl?.(a)},[bl]);return(0,t.jsx)("div",{"data-testid":"rf__wrapper",...bo,onScroll:bs,style:{...bb,...f9},ref:bp,className:_(["react-flow",e,br]),id:bc,role:"application",children:(0,t.jsxs)(f8,{nodes:a,edges:b,width:bh,height:bi,fitView:aY,fitViewOptions:aZ,minZoom:ao,maxZoom:ap,nodeOrigin:aj,nodeExtent:as,zIndexMode:bn,children:[(0,t.jsx)(f5,{onInit:j,onNodeClick:h,onEdgeClick:i,onNodeMouseEnter:x,onNodeMouseMove:y,onNodeMouseLeave:z,onNodeContextMenu:A,onNodeDoubleClick:B,nodeTypes:f,edgeTypes:g,connectionLineType:R,connectionLineStyle:S,connectionLineComponent:T,connectionLineContainerStyle:U,selectionKeyCode:W,selectionOnDrag:X,selectionMode:Y,deleteKeyCode:V,multiSelectionKeyCode:$,panActivationKeyCode:Z,zoomActivationKeyCode:aa,onlyRenderVisibleElements:ad,defaultViewport:an,translateExtent:aq,minZoom:ao,maxZoom:ap,preventScrolling:ar,zoomOnScroll:au,zoomOnPinch:av,zoomOnDoubleClick:az,panOnScroll:aw,panOnScrollSpeed:ax,panOnScrollMode:ay,panOnDrag:aA,onPaneClick:aB,onPaneMouseEnter:aC,onPaneMouseMove:aD,onPaneMouseLeave:aE,onPaneScroll:aF,onPaneContextMenu:aG,paneClickDistance:aH,nodeClickDistance:aI,onSelectionContextMenu:M,onSelectionStart:N,onSelectionEnd:O,onReconnect:aK,onReconnectStart:aL,onReconnectEnd:aM,onEdgeContextMenu:aN,onEdgeDoubleClick:aO,onEdgeMouseEnter:aP,onEdgeMouseMove:aQ,onEdgeMouseLeave:aR,reconnectRadius:aS,defaultMarkerColor:at,noDragClassName:aV,noWheelClassName:aW,noPanClassName:aX,rfId:bq,disableKeyboardA11y:a4,nodeExtent:as,viewport:bf,onViewportChange:bg}),(0,t.jsx)(eF,{nodes:a,edges:b,defaultNodes:c,defaultEdges:d,onConnect:q,onConnectStart:r,onConnectEnd:s,onClickConnectStart:v,onClickConnectEnd:w,nodesDraggable:af,autoPanOnNodeFocus:ag,nodesConnectable:ah,nodesFocusable:ai,edgesFocusable:ak,edgesReconnectable:al,elementsSelectable:am,elevateNodesOnSelect:a2,elevateEdgesOnSelect:a3,minZoom:ao,maxZoom:ap,nodeExtent:as,onNodesChange:aT,onEdgesChange:aU,snapToGrid:ab,snapGrid:ac,connectionMode:Q,translateExtent:aq,connectOnClick:a$,defaultEdgeOptions:a1,fitView:aY,fitViewOptions:aZ,onNodesDelete:F,onEdgesDelete:G,onDelete:H,onNodeDragStart:C,onNodeDrag:D,onNodeDragStop:E,onSelectionDrag:K,onSelectionDragStart:J,onSelectionDragStop:L,onMove:k,onMoveStart:l,onMoveEnd:p,noPanClassName:aX,nodeOrigin:aj,rfId:bq,autoPanOnConnect:a5,autoPanOnNodeDrag:a6,autoPanSpeed:a7,onError:ba,connectionRadius:a8,isValidConnection:a9,selectNodesOnDrag:ae,nodeDragThreshold:bd,connectionDragThreshold:be,onBeforeDelete:P,debug:bk,ariaLabelConfig:bm,zIndexMode:bn}),(0,t.jsx)(ez,{onSelectionChange:I}),aJ,(0,t.jsx)(et,{proOptions:a0,position:a_}),(0,t.jsx)(er,{rfId:bq,disableKeyboardA11y:a4})]})})});function gb({dimensions:a,lineWidth:b,variant:c,className:d}){return(0,t.jsx)("path",{strokeWidth:b,d:`M${a[0]/2} 0 V${a[1]} M0 ${a[1]/2} H${a[0]}`,className:_(["react-flow__background-pattern",c,d])})}function gc({radius:a,className:b}){return(0,t.jsx)("circle",{cx:a,cy:a,r:a,className:_(["react-flow__background-pattern","dots",b])})}(j=s||(s={})).Lines="lines",j.Dots="dots",j.Cross="cross";let gd={[s.Dots]:1,[s.Lines]:1,[s.Cross]:6},ge=a=>({transform:a.transform,patternId:`pattern-${a.rfId}`});function gf({id:a,variant:b=s.Dots,gap:c=20,size:d,lineWidth:e=1,offset:f=0,color:g,bgColor:h,style:i,className:j,patternClassName:k}){let l=(0,u.useRef)(null),{transform:m,patternId:n}=ei(ge,ee),o=d||gd[b],p=b===s.Dots,q=b===s.Cross,r=Array.isArray(c)?c:[c,c],v=[r[0]*m[2]||1,r[1]*m[2]||1],w=o*m[2],x=Array.isArray(f)?f:[f,f],y=q?[w,w]:v,z=[x[0]*m[2]||1+y[0]/2,x[1]*m[2]||1+y[1]/2],A=`${n}${a||""}`;return(0,t.jsxs)("svg",{className:_(["react-flow__background",j]),style:{...i,...eZ,"--xy-background-color-props":h,"--xy-background-pattern-color-props":g},ref:l,"data-testid":"rf__background",children:[(0,t.jsx)("pattern",{id:A,x:m[0]%v[0],y:m[1]%v[1],width:v[0],height:v[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${z[0]},-${z[1]})`,children:p?(0,t.jsx)(gc,{radius:w/2,className:k}):(0,t.jsx)(gb,{dimensions:y,lineWidth:e,variant:b,className:k})}),(0,t.jsx)("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${A})`})]})}gf.displayName="Background";let gg=(0,u.memo)(gf);function gh(){return(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:(0,t.jsx)("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function gi(){return(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:(0,t.jsx)("path",{d:"M0 0h32v4.2H0z"})})}function gj(){return(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:(0,t.jsx)("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function gk(){return(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,t.jsx)("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function gl(){return(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,t.jsx)("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function gm({children:a,className:b,...c}){return(0,t.jsx)("button",{type:"button",className:_(["react-flow__controls-button",b]),...c,children:a})}let gn=a=>({isInteractive:a.nodesDraggable||a.nodesConnectable||a.elementsSelectable,minZoomReached:a.transform[2]<=a.minZoom,maxZoomReached:a.transform[2]>=a.maxZoom,ariaLabelConfig:a.ariaLabelConfig});function go({style:a,showZoom:b=!0,showFitView:c=!0,showInteractive:d=!0,fitViewOptions:e,onZoomIn:f,onZoomOut:g,onFitView:h,onInteractiveChange:i,className:j,children:k,position:l="bottom-left",orientation:m="vertical","aria-label":n}){let o=ej(),{isInteractive:p,minZoomReached:q,maxZoomReached:r,ariaLabelConfig:s}=ei(gn,ee),{zoomIn:u,zoomOut:v,fitView:w}=eW();return(0,t.jsxs)(es,{className:_(["react-flow__controls","horizontal"===m?"horizontal":"vertical",j]),position:l,style:a,"data-testid":"rf__controls","aria-label":n??s["controls.ariaLabel"],children:[b&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(gm,{onClick:()=>{u(),f?.()},className:"react-flow__controls-zoomin",title:s["controls.zoomIn.ariaLabel"],"aria-label":s["controls.zoomIn.ariaLabel"],disabled:r,children:(0,t.jsx)(gh,{})}),(0,t.jsx)(gm,{onClick:()=>{v(),g?.()},className:"react-flow__controls-zoomout",title:s["controls.zoomOut.ariaLabel"],"aria-label":s["controls.zoomOut.ariaLabel"],disabled:q,children:(0,t.jsx)(gi,{})})]}),c&&(0,t.jsx)(gm,{className:"react-flow__controls-fitview",onClick:()=>{w(e),h?.()},title:s["controls.fitView.ariaLabel"],"aria-label":s["controls.fitView.ariaLabel"],children:(0,t.jsx)(gj,{})}),d&&(0,t.jsx)(gm,{className:"react-flow__controls-interactive",onClick:()=>{o.setState({nodesDraggable:!p,nodesConnectable:!p,elementsSelectable:!p}),i?.(!p)},title:s["controls.interactive.ariaLabel"],"aria-label":s["controls.interactive.ariaLabel"],children:p?(0,t.jsx)(gl,{}):(0,t.jsx)(gk,{})}),k]})}go.displayName="Controls";let gp=(0,u.memo)(go),gq=(0,u.memo)(function({id:a,x:b,y:c,width:d,height:e,style:f,color:g,strokeColor:h,strokeWidth:i,className:j,borderRadius:k,shapeRendering:l,selected:m,onClick:n}){let{background:o,backgroundColor:p}=f||{};return(0,t.jsx)("rect",{className:_(["react-flow__minimap-node",{selected:m},j]),x:b,y:c,rx:k,ry:k,width:d,height:e,style:{fill:g||o||p,stroke:h,strokeWidth:i},shapeRendering:l,onClick:n?b=>n(b,a):void 0})}),gr=a=>a.nodes.map(a=>a.id),gs=a=>a instanceof Function?a:()=>a,gt=(0,u.memo)(function({id:a,nodeColorFunc:b,nodeStrokeColorFunc:c,nodeClassNameFunc:d,nodeBorderRadius:e,nodeStrokeWidth:f,shapeRendering:g,NodeComponent:h,onClick:i}){let{node:j,x:k,y:l,width:m,height:n}=ei(b=>{let{internals:c}=b.nodeLookup.get(a),d=c.userNode,{x:e,y:f}=c.positionAbsolute,{width:g,height:h}=db(d);return{node:d,x:e,y:f,width:g,height:h}},ee);return j&&!j.hidden&&dc(j)?(0,t.jsx)(h,{x:k,y:l,width:m,height:n,style:j.style,selected:!!j.selected,className:d(j),color:b(j),borderRadius:e,strokeColor:c(j),strokeWidth:f,shapeRendering:g,onClick:i,id:j.id}):null});var gu=(0,u.memo)(function({nodeStrokeColor:a,nodeColor:b,nodeClassName:c="",nodeBorderRadius:d=5,nodeStrokeWidth:e,nodeComponent:f=gq,onClick:g}){let h=ei(gr,ee),i=gs(b),j=gs(a),k=gs(c);return(0,t.jsx)(t.Fragment,{children:h.map(a=>(0,t.jsx)(gt,{id:a,nodeColorFunc:i,nodeStrokeColorFunc:j,nodeClassNameFunc:k,nodeBorderRadius:d,nodeStrokeWidth:e,NodeComponent:f,onClick:g,shapeRendering:"crispEdges"},a))})});let gv=a=>!a.hidden,gw=a=>{let b={x:-a.transform[0]/a.transform[2],y:-a.transform[1]/a.transform[2],width:a.width/a.transform[2],height:a.height/a.transform[2]};return{viewBB:b,boundingRect:a.nodeLookup.size>0?c_(cM(a.nodeLookup,{filter:gv}),b):b,rfId:a.rfId,panZoom:a.panZoom,translateExtent:a.translateExtent,flowWidth:a.width,flowHeight:a.height,ariaLabelConfig:a.ariaLabelConfig}};function gx({style:a,className:b,nodeStrokeColor:c,nodeColor:d,nodeClassName:e="",nodeBorderRadius:f=5,nodeStrokeWidth:g,nodeComponent:h,bgColor:i,maskColor:j,maskStrokeColor:k,maskStrokeWidth:l,position:m="bottom-right",onClick:n,onNodeClick:o,pannable:p=!1,zoomable:q=!1,ariaLabel:r,inversePan:s,zoomStep:v=1,offsetScale:w=5}){let x=ej(),y=(0,u.useRef)(null),{boundingRect:z,viewBB:A,rfId:B,panZoom:C,translateExtent:D,flowWidth:E,flowHeight:F,ariaLabelConfig:G}=ei(gw,ee),H=a?.width??200,I=a?.height??150,J=Math.max(z.width/H,z.height/I),K=J*H,L=J*I,M=w*J,N=z.x-(K-z.width)/2-M,O=z.y-(L-z.height)/2-M,P=K+2*M,Q=L+2*M,R=`react-flow__minimap-desc-${B}`,S=(0,u.useRef)(0),T=(0,u.useRef)();S.current=J,(0,u.useEffect)(()=>{if(y.current&&C)return T.current=function({domNode:a,panZoom:b,getTransform:c,getViewScale:d}){let e=aT(a);return{update:function({translateExtent:a,width:f,height:g,zoomStep:h=1,pannable:i=!0,zoomable:j=!0,inversePan:k=!1}){let l=[0,0],m=cB().on("start",a=>{("mousedown"===a.sourceEvent.type||"touchstart"===a.sourceEvent.type)&&(l=[a.sourceEvent.clientX??a.sourceEvent.touches[0].clientX,a.sourceEvent.clientY??a.sourceEvent.touches[0].clientY])}).on("zoom",i?e=>{let h=c();if("mousemove"!==e.sourceEvent.type&&"touchmove"!==e.sourceEvent.type||!b)return;let i=[e.sourceEvent.clientX??e.sourceEvent.touches[0].clientX,e.sourceEvent.clientY??e.sourceEvent.touches[0].clientY],j=[i[0]-l[0],i[1]-l[1]];l=i;let m=d()*Math.max(h[2],Math.log(h[2]))*(k?-1:1),n={x:h[0]-j[0]*m,y:h[1]-j[1]*m};b.setViewportConstrained({x:n.x,y:n.y,zoom:h[2]},[[0,0],[f,g]],a)}:null).on("zoom.wheel",j?a=>{if("wheel"!==a.sourceEvent.type||!b)return;let d=c(),e=a.sourceEvent.ctrlKey&&c9()?10:1,f=-a.sourceEvent.deltaY*(1===a.sourceEvent.deltaMode?.05:a.sourceEvent.deltaMode?1:.002)*h,g=d[2]*Math.pow(2,f*e);b.scaleTo(g)}:null);e.call(m,{})},destroy:function(){e.on("zoom",null)},pointer:aU}}({domNode:y.current,panZoom:C,getTransform:()=>x.getState().transform,getViewScale:()=>S.current}),()=>{T.current?.destroy()}},[C]),(0,u.useEffect)(()=>{T.current?.update({translateExtent:D,width:E,height:F,inversePan:s,pannable:p,zoomStep:v,zoomable:q})},[p,q,s,v,D,E,F]);let U=n?a=>{let[b,c]=T.current?.pointer(a)||[0,0];n(a,{x:b,y:c})}:void 0,V=o?(0,u.useCallback)((a,b)=>{o(a,x.getState().nodeLookup.get(b).internals.userNode)},[]):void 0,W=r??G["minimap.ariaLabel"];return(0,t.jsx)(es,{position:m,style:{...a,"--xy-minimap-background-color-props":"string"==typeof i?i:void 0,"--xy-minimap-mask-background-color-props":"string"==typeof j?j:void 0,"--xy-minimap-mask-stroke-color-props":"string"==typeof k?k:void 0,"--xy-minimap-mask-stroke-width-props":"number"==typeof l?l*J:void 0,"--xy-minimap-node-background-color-props":"string"==typeof d?d:void 0,"--xy-minimap-node-stroke-color-props":"string"==typeof c?c:void 0,"--xy-minimap-node-stroke-width-props":"number"==typeof g?g:void 0},className:_(["react-flow__minimap",b]),"data-testid":"rf__minimap",children:(0,t.jsxs)("svg",{width:H,height:I,viewBox:`${N} ${O} ${P} ${Q}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":R,ref:y,onClick:U,children:[W&&(0,t.jsx)("title",{id:R,children:W}),(0,t.jsx)(gu,{onClick:V,nodeColor:d,nodeStrokeColor:c,nodeBorderRadius:f,nodeClassName:e,nodeStrokeWidth:g,nodeComponent:h}),(0,t.jsx)("path",{className:"react-flow__minimap-mask",d:`M${N-M},${O-M}h${P+2*M}v${Q+2*M}h${-P-2*M}z
|
|
2
|
-
M${A.x},${A.y}h${A.width}v${A.height}h${-A.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}gx.displayName="MiniMap";let gy=(0,u.memo)(gx),gz={[r.Line]:"right",[r.Handle]:"bottom-right"};(0,u.memo)(function({nodeId:a,position:b,variant:c=r.Handle,className:d,style:e,children:f,color:g,minWidth:h=10,minHeight:i=10,maxWidth:j=Number.MAX_VALUE,maxHeight:k=Number.MAX_VALUE,keepAspectRatio:l=!1,resizeDirection:m,autoScale:n=!0,shouldResize:o,onResizeStart:p,onResize:q,onResizeEnd:s}){let v,w=fa(),x="string"==typeof a?a:w,y=ej(),z=(0,u.useRef)(null),A=c===r.Handle,B=ei((0,u.useCallback)((v=A&&n,a=>v?`${Math.max(1/a.transform[2],1)}`:void 0),[A,n]),ee),C=(0,u.useRef)(null),D=b??gz[c];(0,u.useEffect)(()=>{if(z.current&&x)return C.current||(C.current=function({domNode:a,nodeId:b,getStoreItems:c,onChange:d,onEnd:e}){let f=aT(a),g={controlDirection:d0("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};return{update:function({controlPosition:a,boundaries:h,keepAspectRatio:i,resizeDirection:j,onResizeStart:k,onResize:l,onResizeEnd:m,shouldResize:n}){let o,p,q,r,s={...d4},t={...d5};g={boundaries:h,resizeDirection:j,keepAspectRatio:i,controlDirection:d0(a)};let u=null,v=[],w=!1,x=a5().on("start",a=>{let{nodeLookup:d,transform:e,snapGrid:f,snapToGrid:g,nodeOrigin:h,paneDomNode:i}=c();if(!(o=d.get(b)))return;u=i?.getBoundingClientRect()??null;let{xSnapped:j,ySnapped:l}=df(a.sourceEvent,{transform:e,snapGrid:f,snapToGrid:g,containerBounds:u});if(t={...s={width:o.measured.width??0,height:o.measured.height??0,x:o.position.x??0,y:o.position.y??0},pointerX:j,pointerY:l,aspectRatio:s.width/s.height},p=void 0,o.parentId&&("parent"===o.extent||o.expandParent)){var m;q=(p=d.get(o.parentId))&&"parent"===o.extent?[[0,0],[(m=p).measured.width,m.measured.height]]:void 0}for(let[a,c]of(v=[],r=void 0,d))if(c.parentId===b&&(v.push({id:a,position:{...c.position},extent:c.extent}),"parent"===c.extent||c.expandParent)){let a=function(a,b,c){let d=b.position.x+a.position.x,e=b.position.y+a.position.y,f=a.measured.width??0,g=a.measured.height??0,h=c[0]*f,i=c[1]*g;return[[d-h,e-i],[d+f-h,e+g-i]]}(c,o,c.origin??h);r=r?[[Math.min(a[0][0],r[0][0]),Math.min(a[0][1],r[0][1])],[Math.max(a[1][0],r[1][0]),Math.max(a[1][1],r[1][1])]]:a}k?.(a,{...s})}).on("drag",a=>{let{transform:b,snapGrid:e,snapToGrid:f,nodeOrigin:h}=c(),i=df(a.sourceEvent,{transform:b,snapGrid:e,snapToGrid:f,containerBounds:u}),j=[];if(!o)return;let{x:k,y:m,width:x,height:y}=s,z={},A=o.origin??h,{width:B,height:C,x:D,y:E}=function(a,b,c,d,e,f,g,h){var i,j,k,l;let{affectsX:m,affectsY:n}=b,{isHorizontal:o,isVertical:p}=b,q=o&&p,{xSnapped:r,ySnapped:s}=c,{minWidth:t,maxWidth:u,minHeight:v,maxHeight:w}=d,{x:x,y:y,width:z,height:A,aspectRatio:B}=a,C=Math.floor(o?r-a.pointerX:0),D=Math.floor(p?s-a.pointerY:0),E=z+(m?-C:C),F=A+(n?-D:D),G=-f[0]*z,H=-f[1]*A,I=d3(E,t,u),J=d3(F,v,w);if(g){let a=0,b=0;m&&C<0?a=d1(x+C+G,g[0][0]):!m&&C>0&&(a=d2(x+E+G,g[1][0])),n&&D<0?b=d1(y+D+H,g[0][1]):!n&&D>0&&(b=d2(y+F+H,g[1][1])),I=Math.max(I,a),J=Math.max(J,b)}if(h){let a=0,b=0;m&&C>0?a=d2(x+C,h[0][0]):!m&&C<0&&(a=d1(x+E,h[1][0])),n&&D>0?b=d2(y+D,h[0][1]):!n&&D<0&&(b=d1(y+F,h[1][1])),I=Math.max(I,a),J=Math.max(J,b)}if(e){if(o){(I=Math.max(I,d3(E/B,v,w)*B),g)&&(I=Math.max(I,(m||n)&&(!m||n||!q)?d1(y+H+(m?C:-C)/B,g[0][1])*B:d2(y+H+E/B,g[1][1])*B));h&&(I=Math.max(I,(m||n)&&(!m||n||!q)?d2(y+(m?C:-C)/B,h[0][1])*B:d1(y+E/B,h[1][1])*B))}if(p){(J=Math.max(J,d3(F*B,t,u)/B),g)&&(J=Math.max(J,(m||n)&&(!n||m||!q)?d1(x+(n?D:-D)*B+G,g[0][0])/B:d2(x+F*B+G,g[1][0])/B));h&&(J=Math.max(J,(m||n)&&(!n||m||!q)?d2(x+(n?D:-D)*B,h[0][0])/B:d1(x+F*B,h[1][0])/B))}}D+=D<0?J:-J,C+=C<0?I:-I,e&&(q?E>F*B?D=((i=m,j=n,i?!j:j)?-C:C)/B:C=((k=m,l=n,k?!l:l)?-D:D)*B:o?(D=C/B,n=m):(C=D*B,m=n));let K=m?x+C:x,L=n?y+D:y;return{width:z+(m?-C:C),height:A+(n?-D:D),x:f[0]*C*(m?-1:1)+K,y:f[1]*D*(n?-1:1)+L}}(t,g.controlDirection,i,g.boundaries,g.keepAspectRatio,A,q,r),F=B!==x,G=C!==y,H=D!==k&&F,I=E!==m&&G;if(!H&&!I&&!F&&!G)return;if((H||I||1===A[0]||1===A[1])&&(z.x=H?D:s.x,z.y=I?E:s.y,s.x=z.x,s.y=z.y,v.length>0)){let a=D-k,b=E-m;for(let c of v)c.position={x:c.position.x-a+A[0]*(B-x),y:c.position.y-b+A[1]*(C-y)},j.push(c)}if((F||G)&&(z.width=F&&(!g.resizeDirection||"horizontal"===g.resizeDirection)?B:s.width,z.height=G&&(!g.resizeDirection||"vertical"===g.resizeDirection)?C:s.height,s.width=z.width,s.height=z.height),p&&o.expandParent){let a=A[0]*(z.width??0);z.x&&z.x<a&&(s.x=a,t.x=t.x-(z.x-a));let b=A[1]*(z.height??0);z.y&&z.y<b&&(s.y=b,t.y=t.y-(z.y-b))}let J=function({width:a,prevWidth:b,height:c,prevHeight:d,affectsX:e,affectsY:f}){let g=a-b,h=c-d,i=[g>0?1:g<0?-1:0,h>0?1:h<0?-1:0];return g&&e&&(i[0]=-1*i[0]),h&&f&&(i[1]=-1*i[1]),i}({width:s.width,prevWidth:x,height:s.height,prevHeight:y,affectsX:g.controlDirection.affectsX,affectsY:g.controlDirection.affectsY}),K={...s,direction:J};!1!==n?.(a,K)&&(w=!0,l?.(a,K),d(z,j))}).on("end",a=>{w&&(m?.(a,{...s}),e?.({...s}),w=!1)});f.call(x)},destroy:function(){f.on(".drag",null)}}}({domNode:z.current,nodeId:x,getStoreItems:()=>{let{nodeLookup:a,transform:b,snapGrid:c,snapToGrid:d,nodeOrigin:e,domNode:f}=y.getState();return{nodeLookup:a,transform:b,snapGrid:c,snapToGrid:d,nodeOrigin:e,paneDomNode:f}},onChange:(a,b)=>{let{triggerNodeChanges:c,nodeLookup:d,parentLookup:e,nodeOrigin:f}=y.getState(),g=[],h={x:a.x,y:a.y},i=d.get(x);if(i&&i.expandParent&&i.parentId){let b=i.origin??f,c=a.width??i.measured.width??0,j=a.height??i.measured.height??0,k=dK([{id:i.id,parentId:i.parentId,rect:{width:c,height:j,...dd({x:a.x??i.position.x,y:a.y??i.position.y},{width:c,height:j},i.parentId,d,b)}}],d,e,f);g.push(...k),h.x=a.x?Math.max(b[0]*c,a.x):void 0,h.y=a.y?Math.max(b[1]*j,a.y):void 0}if(void 0!==h.x&&void 0!==h.y){let a={id:x,type:"position",position:{...h}};g.push(a)}if(void 0!==a.width&&void 0!==a.height){let b={id:x,type:"dimensions",resizing:!0,setAttributes:!m||("horizontal"===m?"width":"height"),dimensions:{width:a.width,height:a.height}};g.push(b)}for(let a of b){let b={...a,type:"position"};g.push(b)}c(g)},onEnd:({width:a,height:b})=>{y.getState().triggerNodeChanges([{id:x,type:"dimensions",resizing:!1,dimensions:{width:a,height:b}}])}})),C.current.update({controlPosition:D,boundaries:{minWidth:h,minHeight:i,maxWidth:j,maxHeight:k},keepAspectRatio:l,resizeDirection:m,onResizeStart:p,onResize:q,onResizeEnd:s,shouldResize:o}),()=>{C.current?.destroy()}},[D,h,i,j,k,l,p,q,s,o]);let E=D.split("-");return(0,t.jsx)("div",{className:_(["react-flow__resize-control","nodrag",...E,c,d]),ref:z,style:{...e,scale:B,...g&&{[A?"backgroundColor":"borderColor"]:g}},children:f})});var gA=a.i(66859);let gB=a=>{let b,c=new Set,d=(a,d)=>{let e="function"==typeof a?a(b):a;if(!Object.is(e,b)){let a=b;b=(null!=d?d:"object"!=typeof e||null===e)?e:Object.assign({},b,e),c.forEach(c=>c(b,a))}},e=()=>b,f={setState:d,getState:e,getInitialState:()=>g,subscribe:a=>(c.add(a),()=>c.delete(a))},g=b=a(d,e,f);return f},gC=a=>{let b=a?gB(a):gB,c=a=>(function(a,b=a=>a){let c=u.default.useSyncExternalStore(a.subscribe,u.default.useCallback(()=>b(a.getState()),[a,b]),u.default.useCallback(()=>b(a.getInitialState()),[a,b]));return u.default.useDebugValue(c),c})(b,a);return Object.assign(c,b),c};function gD(a){switch(a){case"pending":return"start";case"paused":return"resume";case"stopped":case"failed":return"retry";case"blocked":return"blocked";default:return"none"}}let gE=new Set(["done","passed","skipped"]);function gF(a,b){var c;let d,e=b.nodes[a];if(!e)return"none";if("work"===e.type&&"done"===e.status&&(c=String(e.title||""),"plan"===a||/generate.*execution.*plan/i.test(c)))return"retry";let f=gD(e.status);return"start"!==f&&"blocked"!==f||(d=b.nodes[a])&&d.deps.every(a=>{let c=b.nodes[a];return c&&gE.has(c.status)})?f:"none"}function gG(a){switch(a){case"start":case"resume":case"retry":case"stop":return"cursor-pointer";case"blocked":return"cursor-not-allowed";default:return"cursor-default"}}let gH={x:0,y:0,zoom:1},gI=(b=a=>({selectedNodeId:null,viewport:gH,comparisonMode:!1,comparisonFromVersion:null,comparisonToVersion:null,triggeringNodeId:null,setSelectedNodeId:b=>a({selectedNodeId:b}),setViewport:b=>a({viewport:b}),openComparison:(b,c)=>a({comparisonMode:!0,comparisonFromVersion:b,comparisonToVersion:c}),closeComparison:()=>a({comparisonMode:!1,comparisonFromVersion:null,comparisonToVersion:null}),setTriggeringNodeId:b=>a({triggeringNodeId:b}),reset:()=>a({selectedNodeId:null,viewport:gH,comparisonMode:!1,comparisonFromVersion:null,comparisonToVersion:null,triggeringNodeId:null})}))?gC(b):gC,gJ=/^\s*---\s*\r?\n[\s\S]*?\r?\n---\s*/,gK=/^#\s+(.+?)(?:\r?\n|$)/;function gL(a){return"string"==typeof a?a.trim():""}function gM(a,b){let c=gL(b),d=gL(a);if(!d)return c;let e=d.replace(gJ,"").trim();if(!e)return c;let f=e.match(gK);if(!f)return e;let g=e.slice(f[0].length).trim();return g||f[1].trim()||c}let gN={queued:"bg-[var(--status-queued)] text-[var(--status-queued)]",in_progress:"bg-[var(--status-in-progress)] text-[var(--status-in-progress)]",blocked:"bg-[var(--status-blocked)] text-[var(--status-blocked)]",completed:"bg-[var(--status-completed)] text-[var(--status-completed)]",failed:"bg-[var(--status-failed)] text-[var(--status-failed)]"},gO={work:function({data:a,selected:b}){let c=a.node,d=gI(a=>a.triggeringNodeId)===a.nodeId,e="pending"===c.status&&Number(c.attempts)>0&&Number(c.attempts)<Number(c.maxAttempts),f=(0,gA.toNodeStatusClass)(c.status),g=gD(c.status),h=gG(g),i=`${c.attempts}/${c.maxAttempts}`,j=function(a){let b=a.trim();if(b.startsWith("{")||b.startsWith("[")){try{let a=JSON.parse(b);if(a&&"object"==typeof a&&!Array.isArray(a)){let b=a.summary||a.decision||a.explanation;if("string"==typeof b&&b.length>0)return b.length>60?b.slice(0,57)+"...":b}}catch{}return b.length>60?b.slice(0,57)+"...":b}return a}(a.label),k=e?"retry queued":(0,gA.formatNodeStatusLabel)(c.status),l=(()=>{switch(g){case"start":case"resume":return(0,t.jsx)("svg",{className:"w-3 h-3",fill:"currentColor",viewBox:"0 0 20 20",children:(0,t.jsx)("path",{d:"M6.3 2.841A1.5 1.5 0 004 4.11V15.89a1.5 1.5 0 002.3 1.269l9.344-5.89a1.5 1.5 0 000-2.538L6.3 2.84z"})});case"retry":return(0,t.jsx)("svg",{className:"w-3 h-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})});case"blocked":return(0,t.jsx)("svg",{className:"w-3 h-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z"})});default:return null}})();return(0,t.jsxs)("div",{className:`execution-node execution-node--work ${f} ${b?"execution-node--selected":""} ${h} ${d?"execution-node--triggering":""}`,title:a.label,children:[(0,t.jsx)(fc,{type:"target",position:q.Left,className:"execution-node__handle"}),(0,t.jsxs)("div",{className:"execution-node__header",children:[(0,t.jsx)("div",{className:"execution-node__title",children:j}),l&&(0,t.jsx)("div",{className:"execution-node__action-icon",children:l})]}),(0,t.jsxs)("div",{className:"execution-node__meta",children:[(0,t.jsx)("span",{className:`execution-node__status ${e?"execution-node__status--retry":""}`,children:k}),(0,t.jsxs)("span",{className:"execution-node__status",children:["attempt ",i]}),c.estimateMinutes&&(0,t.jsxs)("span",{className:"execution-node__status",children:["~",c.estimateMinutes,"m"]})]}),e?(0,t.jsx)("div",{className:"execution-node__hint",children:"Previous attempt failed. Waiting to retry."}):null,(0,t.jsx)(fc,{type:"source",position:q.Right,className:"execution-node__handle"})]})},gate:function({data:a,selected:b}){let c="gate"===a.node.type?a.node:null,d=(0,gA.toNodeStatusClass)(a.node.status),e=c?(0,gA.getNodeLabel)(a.nodeId,c):a.label;return(0,t.jsxs)("div",{className:`gate-node ${d} ${c?.required?"gate--required":""} ${b?"execution-node--selected":""}`,title:e,children:[(0,t.jsx)(fc,{type:"target",position:q.Left,className:"execution-node__handle"}),(0,t.jsxs)("div",{className:"gate-node__content",children:[(0,t.jsx)("div",{className:"execution-node__title",children:e}),(0,t.jsxs)("div",{className:"execution-node__meta",children:[(0,t.jsx)("span",{className:"execution-node__status",children:(0,gA.formatNodeStatusLabel)(a.node.status)}),c?.required?(0,t.jsx)("span",{className:"execution-node__status",children:"required"}):null]})]}),(0,t.jsx)(fc,{type:"source",position:q.Right,className:"execution-node__handle"})]})},fork:function({data:a,selected:b}){let c=(0,gA.toNodeStatusClass)(a.node.status);return(0,t.jsxs)("div",{className:`execution-node execution-node--circle execution-node--fork ${c} ${b?"execution-node--selected":""}`,title:"Fork",children:[(0,t.jsx)(fc,{type:"target",position:q.Left,className:"execution-node__handle"}),(0,t.jsx)("div",{className:"execution-node__glyph","aria-hidden":!0,children:"⇉"}),(0,t.jsx)(fc,{type:"source",position:q.Right,className:"execution-node__handle"})]})},join:function({data:a,selected:b}){let c=(0,gA.toNodeStatusClass)(a.node.status);return(0,t.jsxs)("div",{className:`execution-node execution-node--circle execution-node--join ${c} ${b?"execution-node--selected":""}`,title:"Join",children:[(0,t.jsx)(fc,{type:"target",position:q.Left,className:"execution-node__handle"}),(0,t.jsx)("div",{className:"execution-node__glyph","aria-hidden":!0,children:"⇇"}),(0,t.jsx)(fc,{type:"source",position:q.Right,className:"execution-node__handle"})]})},conditional:function({data:a,selected:b}){let c=(0,gA.toNodeStatusClass)(a.node.status);return(0,t.jsxs)("div",{className:`conditional-node ${c} ${b?"execution-node--selected":""}`,title:"Conditional",children:[(0,t.jsx)(fc,{type:"target",position:q.Left,className:"execution-node__handle"}),(0,t.jsx)("div",{className:"conditional-node__content",children:"?"}),(0,t.jsx)(fc,{type:"source",position:q.Right,className:"execution-node__handle"})]})},root:function({data:a,selected:b}){let c=a.node,d=(0,gA.toNodeStatusClass)(c.status),e=gD(c.status),f=gG(e),g=(()=>{switch(e){case"start":return"Click to create plan";case"resume":return"Click to resume";case"retry":return"Click to retry";case"blocked":return"Dependencies not met";default:return null}})(),h=gM(c.objective,c.title);return(0,t.jsxs)("div",{className:`execution-node execution-node--root ${d} ${b?"execution-node--selected":""} ${f}`,title:h||a.label,children:[(0,t.jsx)(fc,{type:"source",position:q.Right,className:"execution-node__handle"}),(0,t.jsxs)("div",{className:"execution-node__root-badge",children:[(0,t.jsx)("svg",{className:"w-3 h-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2.5,children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M13 10V3L4 14h7v7l9-11h-7z"})}),"ROOT"]}),(0,t.jsx)("div",{className:"execution-node__title",children:a.label}),!1===c.graphCreated&&(0,t.jsx)("div",{className:"execution-node__subtitle",children:"No plan yet"}),(0,t.jsxs)("div",{className:"execution-node__meta",children:[(0,t.jsx)("span",{className:"execution-node__status",children:(0,gA.formatNodeStatusLabel)(c.status)}),c.criteria&&c.criteria.length>0&&(0,t.jsxs)("span",{className:"execution-node__status",children:[c.criteria.length," criteria"]})]}),g&&(0,t.jsx)("div",{className:"execution-node__action-hint",children:g})]})},taskDetail:(0,u.memo)(function({data:a,selected:b}){let{title:c,status:d,stage:e,description:f}=a,g=(gN[d]||"bg-[var(--muted-foreground)]").split(" ")[0],h=f?f.replace(/[#*_`>\-\[\]()]/g,"").slice(0,120):"";return(0,t.jsxs)("div",{className:`task-detail-node ${b?"task-detail-node--selected":""}`,title:"Double-click to open details",children:[(0,t.jsx)(fc,{type:"source",position:q.Right,className:"execution-node__handle"}),(0,t.jsx)("div",{className:"task-detail-node__header",children:(0,t.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,t.jsx)("span",{className:`w-2.5 h-2.5 rounded-full flex-shrink-0 ${g} ${"in_progress"===d?"animate-pulse":""}`}),(0,t.jsx)("span",{className:"text-[10px] font-semibold uppercase tracking-wider text-[var(--muted-foreground)] flex-shrink-0",children:"Task"}),e&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"text-[var(--muted-foreground)] opacity-40",children:"·"}),(0,t.jsx)("span",{className:"text-[10px] capitalize text-[var(--muted-foreground)]",children:e})]})]})}),(0,t.jsx)("div",{className:"task-detail-node__title",children:c||"Untitled"}),h&&(0,t.jsxs)("div",{className:"task-detail-node__preview",children:[h,f&&f.length>120?"...":""]})]})})},gP=new Set(["done","passed"]),gQ="__taskDetail__";function gR(a){return"root"===a.type?{width:240,height:100}:"work"===a.type?{width:220,height:88}:"gate"===a.type?{width:108,height:108}:"conditional"===a.type?{width:84,height:84}:{width:68,height:68}}function gS(a,b){let c=function(a){try{let b=localStorage.getItem(`graph-positions:${a}`);return b?JSON.parse(b):null}catch{return null}}(b);return c?a.map(a=>c[a.id]?{...a,position:c[a.id]}:a):a}function gT({graph:a,taskId:b,className:c,fullscreen:d=!1,onNodeSelect:e,taskDetailNode:f,onNodeClick:g}){let[h,i]=(0,u.useState)("LR"),j=(0,u.useRef)(null),k=(0,u.useRef)(!1),l=gI(a=>a.selectedNodeId),m=gI(a=>a.setSelectedNodeId),n=gI(a=>a.setViewport),o=!!f,q=(0,u.useMemo)(()=>(function(a,b,c,d,e){let f=new $.graphlib.Graph().setDefaultEdgeLabel(()=>({}));f.setGraph({rankdir:b,nodesep:48,ranksep:84,marginx:32,marginy:32});let g=new Set;if(c){for(let[b,c]of Object.entries(a.nodes))"root"===c.type&&g.add(b),"gate"===c.type&&"handoff_gate"===c.gateType&&g.add(b);f.setNode(gQ,{width:280,height:120})}for(let[b,c]of Object.entries(a.nodes)){if(g.has(b))continue;let{width:a,height:d}=gR(c);f.setNode(b,{width:a,height:d})}if(c){let b=new Set;for(let c of a.edges)g.has(c.from)&&!g.has(c.to)&&b.add(c.to);for(let a of b)f.setEdge(gQ,a)}for(let b of a.edges)g.has(b.from)||g.has(b.to)||f.setEdge(b.from,b.to);$.layout(f);let h=[];if(c){let a=f.node(gQ);h.push({id:gQ,type:"taskDetail",data:d||{},position:{x:(a?.x??0)-140,y:(a?.y??0)-60},selectable:!0})}for(let[b,c]of Object.entries(a.nodes)){if(g.has(b))continue;let a=f.node(b),{width:d,height:i}=gR(c);h.push({id:b,type:c.type,data:{nodeId:b,node:c,label:(0,gA.getNodeLabel)(b,c)},position:{x:(a?.x??0)-d/2,y:(a?.y??0)-i/2},selectable:!0,selected:e===b})}return h})(a,h,o,f,l),[a,h,o,f,l]),[r,s]=(0,u.useState)(()=>gS(q,a.id));(0,u.useEffect)(()=>{s(gS(q,a.id))},[q,a.id]);let v=(0,u.useMemo)(()=>(function(a,b){let c=[],d=new Set;if(b)for(let[b,c]of Object.entries(a.nodes))"root"===c.type&&d.add(b),"gate"===c.type&&"handoff_gate"===c.gateType&&d.add(b);if(b){let b=new Set;for(let c of a.edges)d.has(c.from)&&!d.has(c.to)&&b.add(c.to);for(let a of b)c.push({id:`${gQ}-${a}`,source:gQ,target:a,type:"smoothstep",animated:!1,className:"execution-edge",markerEnd:{type:p.ArrowClosed}})}let e=function(a){let b=new Set,c=Object.values(a.nodes).map(a=>a.status),d=c.includes("running")?"running":c.includes("awaiting_human")?"awaiting_human":null;if(!d){for(let[c,d]of a.edges.entries()){let e=a.nodes[d.from],f=a.nodes[d.to];e&&f&&gP.has(e.status)&&"pending"===f.status&&b.add(c)}return b}let e=new Map;for(let[b,c]of a.edges.entries())e.has(c.to)||e.set(c.to,[]),e.get(c.to).push({idx:b,from:c.from});let f=new Set,g=[];for(let[b,c]of Object.entries(a.nodes))c.status===d&&(g.push(b),f.add(b));for(;g.length>0;){let c=g.shift();for(let{idx:d,from:h}of e.get(c)??[]){let c=a.nodes[h];c&&gP.has(c.status)&&(b.add(d),f.has(h)||(f.add(h),g.push(h)))}}return b}(a);for(let[b,f]of a.edges.entries()){if(d.has(f.from)||d.has(f.to))continue;let a=e.has(b),g="soft"===f.type;c.push({id:`${f.from}-${f.to}-${b}`,source:f.from,target:f.to,type:"smoothstep",animated:a,className:`execution-edge ${g?"execution-edge--soft":""} ${a?"execution-edge--active":""}`,markerEnd:{type:p.ArrowClosed},style:g?{strokeDasharray:"6 4"}:void 0})}return c})(a,o),[a,o]),w=(0,u.useCallback)(a=>{s(b=>eK(a,b))},[]),x=(0,u.useCallback)(()=>{s(b=>{var c=a.id;let d={};for(let a of b)d[a.id]=a.position;try{localStorage.setItem(`graph-positions:${c}`,JSON.stringify(d))}catch{}return b})},[a.id]),y=(0,u.useCallback)(()=>{var b;b=a.id,localStorage.removeItem(`graph-positions:${b}`),s(q),setTimeout(()=>j.current?.fitView({padding:.2,duration:250}),0)},[a.id,q]);(0,u.useEffect)(()=>{l&&(a.nodes[l]||l===gQ||m(null))},[a.nodes,l,m]);let z=(0,u.useCallback)(async(a,b)=>{let c=b.id;m(c),e?.(c),g?.(c)},[m,e,g]);return(0,t.jsx)("div",{className:`execution-graph-panel ${d?"execution-graph-panel--fullscreen":""} ${c??""}`,children:(0,t.jsxs)(ga,{nodes:r,edges:v,nodeTypes:gO,fitView:!0,fitViewOptions:{padding:.2},onInit:a=>{j.current=a,k.current=!1},onMoveEnd:(a,b)=>{if(!k.current){k.current=!0;return}n(b)},onNodesChange:w,onNodeDragStop:x,onNodeClick:z,panOnScroll:!0,children:[(0,t.jsx)(gg,{gap:24,size:1.2,color:"rgba(100, 116, 139, 0.25)"}),(0,t.jsx)(gy,{pannable:!0,zoomable:!0}),(0,t.jsxs)(gp,{children:[(0,t.jsx)(gm,{title:"Fit graph",onClick:()=>{j.current?.fitView({padding:.2,duration:250})},children:"⊡"}),(0,t.jsx)(gm,{title:"Reset layout",onClick:y,children:"↻"}),(0,t.jsx)(gm,{title:"Toggle layout direction",onClick:()=>{i(a=>"TB"===a?"LR":"TB")},children:h})]})]})})}function gU({graph:a,taskId:b,onStateChange:c,onRefetch:d}){let e,[f,g]=(0,u.useState)(null),[h,i]=(0,u.useState)(null),j=a.executionState??(0===(e=Object.values(a.nodes)).length?"ready":e.some(a=>"running"===a.status||"awaiting_human"===a.status)?"running":e.some(a=>"paused"===a.status)?"paused":e.some(a=>"stopped"===a.status)?"stopped":e.every(a=>"done"===a.status||"passed"===a.status||"failed"===a.status||"skipped"===a.status)?"done":"ready"),k=function(a){switch(a){case"ready":return[{label:"Start",icon:(0,t.jsx)(gV,{}),className:"btn-primary",action:"start"}];case"running":return[{label:"Pause",icon:(0,t.jsx)(gW,{}),className:"btn-secondary",action:"pause"},{label:"Stop",icon:(0,t.jsx)(gX,{}),className:"btn-ghost text-[var(--destructive)]",action:"stop"}];case"paused":return[{label:"Resume",icon:(0,t.jsx)(gV,{}),className:"btn-primary",action:"resume"},{label:"Stop",icon:(0,t.jsx)(gX,{}),className:"btn-ghost text-[var(--destructive)]",action:"stop"}];case"stopped":return[{label:"Resume",icon:(0,t.jsx)(gV,{}),className:"btn-primary",action:"resume"}];case"done":return[{label:"Restart",icon:(0,t.jsx)(gY,{}),className:"btn-secondary",action:"restart"}];default:return[]}}(j),l=async a=>{g(a),i(null);try{let e=`/api/tasks/${b}/graph/${a}`,f=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"}}),g=await f.json().catch(()=>({}));if(!f.ok)throw Error(g?.error||`Failed to ${a} execution`);g?.executionState&&c?.(g.executionState),await d?.()}catch(b){i(b instanceof Error?b.message:`Failed to ${a}`)}finally{g(null)}};return(0,t.jsxs)("div",{className:"execution-controls",children:[(0,t.jsxs)("div",{className:"execution-controls__status",children:[(0,t.jsxs)("span",{className:`execution-controls__badge ${function(a){switch(a){case"ready":default:return"bg-[var(--muted)] text-[var(--muted-foreground)]";case"running":return"bg-[var(--status-in-progress-bg)] text-[var(--status-in-progress)]";case"paused":return"bg-amber-100 text-amber-700";case"stopped":return"bg-[var(--status-blocked-bg)] text-[var(--status-blocked)]";case"done":return"bg-[var(--status-completed-bg)] text-[var(--status-completed)]"}}(j)}`,children:["running"===j&&(0,t.jsx)("span",{className:"execution-controls__pulse"}),function(a){switch(a){case"ready":return"Ready";case"running":return"Running";case"paused":return"Paused";case"stopped":return"Stopped";case"done":return"Complete";default:return a}}(j)]}),(0,t.jsxs)("span",{className:"execution-controls__version",children:["v",a.graphVersion]})]}),(0,t.jsx)("div",{className:"execution-controls__actions",children:k.map(({label:a,icon:b,className:c,action:d})=>(0,t.jsxs)("button",{type:"button",onClick:()=>l(d),disabled:null!==f,className:`btn ${c} execution-controls__btn`,children:[f===d?(0,t.jsx)("span",{className:"spinner w-4 h-4"}):b,(0,t.jsx)("span",{children:a})]},d))}),h&&(0,t.jsx)("div",{className:"execution-controls__error",children:h})]})}function gV(){return(0,t.jsx)("svg",{className:"w-4 h-4",fill:"currentColor",viewBox:"0 0 20 20",children:(0,t.jsx)("path",{d:"M6.3 2.841A1.5 1.5 0 004 4.11V15.89a1.5 1.5 0 002.3 1.269l9.344-5.89a1.5 1.5 0 000-2.538L6.3 2.84z"})})}function gW(){return(0,t.jsx)("svg",{className:"w-4 h-4",fill:"currentColor",viewBox:"0 0 20 20",children:(0,t.jsx)("path",{d:"M5.75 3a.75.75 0 00-.75.75v12.5c0 .414.336.75.75.75h1.5a.75.75 0 00.75-.75V3.75A.75.75 0 007.25 3h-1.5zM12.75 3a.75.75 0 00-.75.75v12.5c0 .414.336.75.75.75h1.5a.75.75 0 00.75-.75V3.75a.75.75 0 00-.75-.75h-1.5z"})})}function gX(){return(0,t.jsx)("svg",{className:"w-4 h-4",fill:"currentColor",viewBox:"0 0 20 20",children:(0,t.jsx)("rect",{x:"4",y:"4",width:"12",height:"12",rx:"1.5"})})}function gY(){return(0,t.jsx)("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})})}function gZ(a){if(!a)return"N/A";let b=new Date(a);return Number.isNaN(b.getTime())?a:b.toLocaleString()}function g$({graph:a,onNodeTrigger:b,showLogsButton:c=!0,onShowLogs:d}){let e=gI(a=>a.selectedNodeId),f=gI(a=>a.triggeringNodeId),g=gI(a=>a.setSelectedNodeId),[h,i]=(0,u.useState)(!1),j=(0,u.useRef)(null),k=(0,u.useCallback)(a=>{a.preventDefault(),i(!0)},[]);if((0,u.useEffect)(()=>{if(!h)return;let a=a=>{if(!j.current)return;let b=Math.max(280,Math.min(700,j.current.getBoundingClientRect().right-a.clientX));j.current.style.width=`${b}px`},b=()=>i(!1);return document.addEventListener("mousemove",a),document.addEventListener("mouseup",b),document.body.style.cursor="col-resize",document.body.style.userSelect="none",()=>{document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",b),document.body.style.cursor="",document.body.style.userSelect=""}},[h]),!e||!a.nodes[e])return(0,t.jsxs)("aside",{ref:j,className:"graph-panel-card node-inspector node-inspector--resizable",children:[(0,t.jsx)("div",{className:"node-inspector__resize-handle",onMouseDown:k}),(0,t.jsx)("div",{className:"graph-panel-card__title",children:"Node Inspector"}),(0,t.jsx)("p",{className:"graph-panel-card__empty",children:"Select a node in the graph to inspect details."})]});let l=a.nodes[e],m=gF(e,a),n="blocked"===m?"start":m,o="blocked"===m?"Run Node":function(a,b){switch(a){case"start":return"Start Node";case"resume":return"Resume Node";case"retry":return"stopped"===b||"done"===b?"Re-run Node":"Retry Node";default:return null}}(n,l.status),p=f===e,q="work"===l.type&&"running"===l.status,r=async()=>{"none"!==n&&b&&await b(e,n)},s=async()=>{b&&await b(e,"stop")};return(0,t.jsxs)("aside",{ref:j,className:"graph-panel-card node-inspector node-inspector--resizable",children:[(0,t.jsx)("div",{className:"node-inspector__resize-handle",onMouseDown:k}),(0,t.jsxs)("div",{className:"graph-panel-card__row",children:[(0,t.jsx)("div",{className:"graph-panel-card__title",children:"Node Inspector"}),(0,t.jsx)("button",{type:"button",className:"graph-link-button",onClick:()=>g(null),children:"Clear"})]}),(0,t.jsxs)("div",{className:"node-inspector__headline",children:[(0,t.jsx)("div",{className:"node-inspector__name",children:(0,gA.getNodeLabel)(e,l)}),(0,t.jsxs)("div",{className:"node-inspector__badges",children:[(0,t.jsx)("span",{className:"node-inspector__pill",children:l.type}),"root"===l.type&&(0,t.jsx)("span",{className:"node-inspector__pill node-inspector__pill--root",children:"root"})]})]}),(0,t.jsxs)("div",{className:"node-inspector__grid",children:[(0,t.jsx)("span",{children:"Status"}),(0,t.jsx)("strong",{className:`node-inspector__status node-inspector__status--${l.status}`,children:(0,gA.formatNodeStatusLabel)(l.status)}),(0,t.jsx)("span",{children:"Node ID"}),(0,t.jsx)("code",{children:e}),(0,t.jsx)("span",{children:"Dependencies"}),(0,t.jsx)("strong",{children:l.deps.length}),(0,t.jsx)("span",{children:"Started"}),(0,t.jsx)("strong",{children:gZ(l.startedAt)}),(0,t.jsx)("span",{children:"Completed"}),(0,t.jsx)("strong",{children:gZ(l.completedAt)}),l.startedAt&&l.completedAt&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{children:"Duration"}),(0,t.jsx)("strong",{children:function(a,b){if(!a||!b)return"N/A";let c=new Date(a).getTime(),d=new Date(b).getTime();if(Number.isNaN(c)||Number.isNaN(d))return"N/A";let e=Math.floor((d-c)/1e3),f=Math.floor(e/60),g=Math.floor(f/60);return g>0?`${g}h ${f%60}m`:f>0?`${f}m ${e%60}s`:`${e}s`}(l.startedAt,l.completedAt)})]})]}),"root"===l.type&&(0,t.jsx)(g_,{node:l}),"work"===l.type&&(0,t.jsx)(g0,{node:l,showLogsButton:c,onShowLogs:()=>d?.(e)}),"gate"===l.type&&(0,t.jsx)(g2,{node:l}),"conditional"===l.type&&(0,t.jsxs)("div",{className:"node-inspector__section",children:[(0,t.jsx)("h4",{children:"Condition"}),(0,t.jsx)("p",{children:l.condition.expression})]}),b&&(o||q)&&(0,t.jsxs)("div",{className:"node-inspector__actions",children:[o&&(0,t.jsx)("button",{type:"button",onClick:r,disabled:p,className:"btn btn-primary w-full",children:p?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"spinner w-4 h-4"}),"Processing..."]}):o}),q&&(0,t.jsx)("button",{type:"button",onClick:s,disabled:p,className:"btn btn-destructive w-full mt-2",children:p?"Processing...":"Stop Node"})]})]})}function g_({node:a}){let b=gM(a.objective,a.title);return(0,t.jsxs)("div",{className:"node-inspector__section",children:[(0,t.jsx)("h4",{children:"Task Objective"}),(0,t.jsx)("p",{className:"node-inspector__objective",children:b||"No objective defined."}),a.criteria&&a.criteria.length>0&&(0,t.jsxs)("div",{className:"node-inspector__criteria",children:[(0,t.jsx)("h5",{children:"Success Criteria"}),(0,t.jsx)("ul",{children:a.criteria.map((a,b)=>(0,t.jsxs)("li",{children:[(0,t.jsx)("span",{className:"node-inspector__criterion-bullet",children:"•"}),a]},b))})]}),a.planVersions&&a.planVersions.length>0&&(0,t.jsxs)("div",{className:"node-inspector__versions",children:[(0,t.jsx)("h5",{children:"Plan Versions"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1",children:a.planVersions.map(a=>(0,t.jsxs)("span",{className:"node-inspector__version-badge",children:["v",a]},a))})]})]})}function g0({node:a,showLogsButton:b,onShowLogs:c}){let[d,e]=(0,u.useState)({});return(0,t.jsxs)("div",{className:"node-inspector__section",children:[(0,t.jsx)("h4",{children:"Work Node"}),(0,t.jsx)("p",{children:a.description||"No description provided."}),(0,t.jsxs)("div",{className:"node-inspector__grid",children:[a.workType&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{children:"Work Type"}),(0,t.jsx)("strong",{children:a.workType})]}),(0,t.jsx)("span",{children:"Attempts"}),(0,t.jsxs)("strong",{children:[a.attempts," / ",a.maxAttempts]}),(0,t.jsx)("span",{children:"Retry Policy"}),(0,t.jsx)("strong",{children:a.retryPolicy.onExhaust}),void 0!==a.estimateMinutes&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{children:"Estimate"}),(0,t.jsxs)("strong",{children:[a.estimateMinutes,"m"]})]}),void 0!==a.actualMinutes&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{children:"Actual"}),(0,t.jsxs)("strong",{children:[a.actualMinutes,"m"]})]})]}),Array.isArray(a.where)&&a.where.length>0&&(0,t.jsx)(g1,{title:"Where",items:a.where}),Array.isArray(a.whatChanges)&&a.whatChanges.length>0&&(0,t.jsx)(g1,{title:"What Changes",items:a.whatChanges}),Array.isArray(a.acceptanceCriteria)&&a.acceptanceCriteria.length>0&&(0,t.jsx)(g1,{title:"Acceptance Criteria",items:a.acceptanceCriteria}),Array.isArray(a.todos)&&a.todos.length>0&&(0,t.jsx)(g1,{title:"To Dos",items:a.todos}),Array.isArray(a.verification)&&a.verification.length>0&&(0,t.jsx)(g1,{title:"Verification",items:a.verification}),b&&(0,t.jsxs)("button",{type:"button",onClick:c,className:"btn btn-secondary btn-sm mt-3 w-full",children:[(0,t.jsx)("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 6h16M4 10h16M4 14h16M4 18h16"})}),"View Logs"]}),a.output&&Object.keys(a.output).length>0&&(0,t.jsx)(g4,{data:function(a){let b=Object.keys(a);if(1===b.length&&"string"==typeof a[b[0]])try{let c=JSON.parse(a[b[0]]);if(c&&"object"==typeof c&&!Array.isArray(c))return c}catch{}return a}(a.output),expandedSections:d,toggle:a=>e(b=>({...b,[a]:!b[a]}))})]})}function g1({title:a,items:b}){return(0,t.jsxs)("div",{className:"node-inspector__checks-list mt-3",children:[(0,t.jsx)("h5",{children:a}),(0,t.jsx)("ul",{children:b.map((b,c)=>(0,t.jsxs)("li",{children:[(0,t.jsx)("span",{className:"check-icon",children:"•"}),(0,t.jsx)("span",{children:b})]},`${a}-${c}`))})]})}function g2({node:a}){return(0,t.jsxs)("div",{className:"node-inspector__section",children:[(0,t.jsx)("h4",{children:"Gate"}),(0,t.jsxs)("div",{className:"node-inspector__grid",children:[(0,t.jsx)("span",{children:"Gate Type"}),(0,t.jsx)("strong",{children:a.gateType}),(0,t.jsx)("span",{children:"Required"}),(0,t.jsx)("strong",{children:a.required?"Yes":"No"}),(0,t.jsx)("span",{children:"Strategy"}),(0,t.jsx)("strong",{children:a.verificationStrategy.type})]}),a.verificationStrategy.checks&&a.verificationStrategy.checks.length>0&&(0,t.jsxs)("div",{className:"node-inspector__checks-list",children:[(0,t.jsx)("h5",{children:"Checks"}),(0,t.jsx)("ul",{children:a.verificationStrategy.checks.map((b,c)=>{let d=a.verificationResult?.checks?.find(a=>a.check===b);return(0,t.jsxs)("li",{className:d?d.passed?"check--passed":"check--failed":"",children:[(0,t.jsx)("span",{className:"check-icon",children:d?d.passed?"✓":"✗":"○"}),(0,t.jsx)("span",{children:b})]},c)})})]}),a.verificationResult?.checks?.length?(0,t.jsx)("ul",{className:"node-inspector__checks",children:a.verificationResult.checks.map((a,b)=>(0,t.jsxs)("li",{children:[(0,t.jsx)("span",{className:a.passed?"text-green-600":"text-red-600",children:a.passed?"PASS":"FAIL"}),(0,t.jsx)("span",{children:a.check}),a.message&&(0,t.jsx)("span",{className:"text-[var(--muted-foreground)]",children:a.message})]},`${a.check}-${b}`))}):null]})}let g3=["done","decision","analysis","explanation","next_step","question","final_result","summary","plan_md","implementation_summary_md","verification_md","next_prompt"];function g4({data:a,expandedSections:b,toggle:c}){let d=[],e=[];for(let[b,c]of Object.entries(a))g3.includes(b)?d.push([b,c]):e.push([b,c]);d.sort((a,b)=>g3.indexOf(a[0])-g3.indexOf(b[0]));let f=[...d,...e];return(0,t.jsxs)("div",{className:"mt-3 space-y-2",children:[(0,t.jsx)("h4",{className:"text-[10px] font-semibold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Output"}),f.map(([a,d])=>(0,t.jsx)(g5,{fieldKey:a,value:d,expanded:b[a]??!1,onToggle:()=>c(a)},a))]})}function g5({fieldKey:a,value:b,expanded:c,onToggle:d}){let e=a.replace(/_/g," ").replace(/\bmd\b/g,"").trim();if("boolean"==typeof b)return(0,t.jsxs)("div",{className:"flex items-center justify-between py-1",children:[(0,t.jsx)("span",{className:"text-xs text-[var(--muted-foreground)] capitalize",children:e}),(0,t.jsx)("span",{className:`text-[10px] font-bold uppercase px-1.5 py-0.5 rounded ${b?"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400":"bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-400"}`,children:b?"yes":"no"})]});if("string"==typeof b&&b.length<80&&!b.includes("\n"))return(0,t.jsxs)("div",{className:"flex items-start justify-between gap-2 py-1",children:[(0,t.jsx)("span",{className:"text-xs text-[var(--muted-foreground)] capitalize flex-shrink-0",children:e}),(0,t.jsx)("span",{className:"text-xs font-medium text-right",children:b||(0,t.jsx)("em",{className:"text-[var(--muted-foreground)]",children:"empty"})})]});if("string"==typeof b){let f=a.endsWith("_md"),g=b.slice(0,120).replace(/\n/g," ");return(0,t.jsxs)("div",{className:"border border-[var(--card-border)] rounded-md overflow-hidden",children:[(0,t.jsxs)("button",{type:"button",onClick:d,className:"w-full flex items-center justify-between px-2.5 py-1.5 text-left hover:bg-[var(--muted)]/30 transition-colors",children:[(0,t.jsx)("span",{className:"text-xs text-[var(--muted-foreground)] capitalize",children:e}),(0,t.jsx)("svg",{className:`w-3 h-3 text-[var(--muted-foreground)] transition-transform ${c?"":"-rotate-90"}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),c?(0,t.jsx)("div",{className:`px-2.5 pb-2.5 text-xs leading-relaxed ${f?"whitespace-pre-wrap":""}`,children:f?(0,t.jsx)(g6,{content:b}):(0,t.jsx)("p",{className:"whitespace-pre-wrap break-words",children:b})}):(0,t.jsxs)("p",{className:"px-2.5 pb-2 text-[11px] text-[var(--muted-foreground)] truncate",children:[g,"..."]})]})}if("object"==typeof b&&null!==b){let a=JSON.stringify(b,null,2);return(0,t.jsxs)("div",{className:"border border-[var(--card-border)] rounded-md overflow-hidden",children:[(0,t.jsxs)("button",{type:"button",onClick:d,className:"w-full flex items-center justify-between px-2.5 py-1.5 text-left hover:bg-[var(--muted)]/30 transition-colors",children:[(0,t.jsx)("span",{className:"text-xs text-[var(--muted-foreground)] capitalize",children:e}),(0,t.jsx)("svg",{className:`w-3 h-3 text-[var(--muted-foreground)] transition-transform ${c?"":"-rotate-90"}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),c&&(0,t.jsx)("pre",{className:"px-2.5 pb-2.5 text-[11px] font-mono overflow-x-auto whitespace-pre-wrap break-words",children:a})]})}return(0,t.jsxs)("div",{className:"flex items-center justify-between py-1",children:[(0,t.jsx)("span",{className:"text-xs text-[var(--muted-foreground)] capitalize",children:e}),(0,t.jsx)("span",{className:"text-xs font-mono",children:String(b)})]})}function g6({content:a}){let b=a.split("\n");return(0,t.jsx)("div",{className:"space-y-1",children:b.map((a,b)=>{let c=a.trimStart(),d=c.match(/^-\s*\[(x| )\]\s*(.*)$/i);if(d){let a="x"===d[1].toLowerCase();return(0,t.jsxs)("div",{className:"flex items-start gap-1.5",children:[(0,t.jsx)("span",{className:`flex-shrink-0 mt-0.5 ${a?"text-green-600":"text-[var(--muted-foreground)]"}`,children:a?(0,t.jsx)("svg",{className:"w-3.5 h-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2.5,children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 13l4 4L19 7"})}):(0,t.jsx)("svg",{className:"w-3.5 h-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,t.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"3"})})}),(0,t.jsx)("span",{className:a?"line-through text-[var(--muted-foreground)]":"",children:d[2]})]},b)}return c.startsWith("- ")?(0,t.jsxs)("div",{className:"flex items-start gap-1.5",children:[(0,t.jsx)("span",{className:"flex-shrink-0 mt-1 w-1 h-1 rounded-full bg-current opacity-40"}),(0,t.jsx)("span",{children:c.slice(2)})]},b):c?(0,t.jsx)("div",{children:a},b):(0,t.jsx)("div",{className:"h-1"},b)})})}class g7{diff(a,b,c={}){let d;"function"==typeof c?(d=c,c={}):"callback"in c&&(d=c.callback);let e=this.castInput(a,c),f=this.castInput(b,c),g=this.removeEmpty(this.tokenize(e,c)),h=this.removeEmpty(this.tokenize(f,c));return this.diffWithOptionsObj(g,h,c,d)}diffWithOptionsObj(a,b,c,d){var e;let f=a=>(a=this.postProcess(a,c),d)?void setTimeout(function(){d(a)},0):a,g=b.length,h=a.length,i=1,j=g+h;null!=c.maxEditLength&&(j=Math.min(j,c.maxEditLength));let k=null!=(e=c.timeout)?e:1/0,l=Date.now()+k,m=[{oldPos:-1,lastComponent:void 0}],n=this.extractCommon(m[0],b,a,0,c);if(m[0].oldPos+1>=h&&n+1>=g)return f(this.buildValues(m[0].lastComponent,b,a));let o=-1/0,p=1/0,q=()=>{for(let d=Math.max(o,-i);d<=Math.min(p,i);d+=2){let e,i=m[d-1],j=m[d+1];i&&(m[d-1]=void 0);let k=!1;if(j){let a=j.oldPos-d;k=j&&0<=a&&a<g}let l=i&&i.oldPos+1<h;if(!k&&!l){m[d]=void 0;continue}if(e=!l||k&&i.oldPos<j.oldPos?this.addToPath(j,!0,!1,0,c):this.addToPath(i,!1,!0,1,c),n=this.extractCommon(e,b,a,d,c),e.oldPos+1>=h&&n+1>=g)return f(this.buildValues(e.lastComponent,b,a))||!0;m[d]=e,e.oldPos+1>=h&&(p=Math.min(p,d-1)),n+1>=g&&(o=Math.max(o,d+1))}i++};if(d)!function a(){setTimeout(function(){if(i>j||Date.now()>l)return d(void 0);q()||a()},0)}();else for(;i<=j&&Date.now()<=l;){let a=q();if(a)return a}}addToPath(a,b,c,d,e){let f=a.lastComponent;return f&&!e.oneChangePerToken&&f.added===b&&f.removed===c?{oldPos:a.oldPos+d,lastComponent:{count:f.count+1,added:b,removed:c,previousComponent:f.previousComponent}}:{oldPos:a.oldPos+d,lastComponent:{count:1,added:b,removed:c,previousComponent:f}}}extractCommon(a,b,c,d,e){let f=b.length,g=c.length,h=a.oldPos,i=h-d,j=0;for(;i+1<f&&h+1<g&&this.equals(c[h+1],b[i+1],e);)i++,h++,j++,e.oneChangePerToken&&(a.lastComponent={count:1,previousComponent:a.lastComponent,added:!1,removed:!1});return j&&!e.oneChangePerToken&&(a.lastComponent={count:j,previousComponent:a.lastComponent,added:!1,removed:!1}),a.oldPos=h,i}equals(a,b,c){return c.comparator?c.comparator(a,b):a===b||!!c.ignoreCase&&a.toLowerCase()===b.toLowerCase()}removeEmpty(a){let b=[];for(let c=0;c<a.length;c++)a[c]&&b.push(a[c]);return b}castInput(a,b){return a}tokenize(a,b){return Array.from(a)}join(a){return a.join("")}postProcess(a,b){return a}get useLongestToken(){return!1}buildValues(a,b,c){let d,e=[];for(;a;)e.push(a),d=a.previousComponent,delete a.previousComponent,a=d;e.reverse();let f=e.length,g=0,h=0,i=0;for(;g<f;g++){let a=e[g];if(a.removed)a.value=this.join(c.slice(i,i+a.count)),i+=a.count;else{if(!a.added&&this.useLongestToken){let d=b.slice(h,h+a.count);d=d.map(function(a,b){let d=c[i+b];return d.length>a.length?d:a}),a.value=this.join(d)}else a.value=this.join(b.slice(h,h+a.count));h+=a.count,a.added||(i+=a.count)}}return e}}let g8=new class extends g7{constructor(){super(...arguments),this.tokenize=g9}equals(a,b,c){return c.ignoreWhitespace?(c.newlineIsToken&&a.includes("\n")||(a=a.trim()),c.newlineIsToken&&b.includes("\n")||(b=b.trim())):c.ignoreNewlineAtEof&&!c.newlineIsToken&&(a.endsWith("\n")&&(a=a.slice(0,-1)),b.endsWith("\n")&&(b=b.slice(0,-1))),super.equals(a,b,c)}};function g9(a,b){b.stripTrailingCr&&(a=a.replace(/\r\n/g,"\n"));let c=[],d=a.split(/(\n|\r\n)/);d[d.length-1]||d.pop();for(let a=0;a<d.length;a++){let e=d[a];a%2&&!b.newlineIsToken?c[c.length-1]+=e:c.push(e)}return c}function ha(a){if(!a)return"N/A";let b=new Date(a);return Number.isNaN(b.getTime())?a:b.toLocaleString()}function hb({diffA:a,diffB:b}){let c=(0,u.useMemo)(()=>g8.diff(a,b,void 0),[a,b]);return a||b?(0,t.jsx)("div",{className:"node-detail-panel__diff",children:c.map((a,b)=>{let c=a.added?"node-detail-panel__diff-added":a.removed?"node-detail-panel__diff-removed":"node-detail-panel__diff-unchanged";return(0,t.jsx)("pre",{className:c,children:a.value},b)})}):(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)]",children:"No output to compare."})}function hc({graph:a,taskId:b,projectId:c,isOpen:d,onClose:e,onNodeTrigger:f,onShowLogs:g,onRefetch:h}){let i=gI(a=>a.selectedNodeId),j=gI(a=>a.triggeringNodeId),[k,l]=(0,u.useState)("execution"),[m,n]=(0,u.useState)(420),[o,p]=(0,u.useState)(!1),[q,r]=(0,u.useState)(null),[s,v]=(0,u.useState)(null),w=(0,u.useRef)(null),x=(0,u.useRef)(null),y=i?a.nodes[i]:null,z=(0,u.useMemo)(()=>i?function(a,b){let c=a.runtimeEvents??[],d=[],e=c.filter(a=>"node_status"===a.eventType&&a.nodeId===b);for(let c=0;c<e.length;c++){let f=e[c],g=a.nodes[b];d.push({id:`${f.nodeId}-${f.timestamp}`,timestamp:f.timestamp,fromStatus:f.fromStatus,toStatus:f.toStatus,output:g?.type==="work"?g.output:void 0,duration:void 0})}return d.reverse()}(a,i):[],[a,i]),A=(0,u.useCallback)(a=>{a.preventDefault(),p(!0)},[]);(0,u.useEffect)(()=>{if(!o)return;let a=a=>{n(Math.max(320,Math.min(800,window.innerWidth-a.clientX)))},b=()=>{p(!1)};return document.addEventListener("mousemove",a),document.addEventListener("mouseup",b),()=>{document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",b)}},[o]),(0,u.useEffect)(()=>{r(null),v(null)},[i]);let B=async()=>{if(!i||!y||!f)return;let b=gF(i,a),c="blocked"===b?"start":b;"none"!==c&&await f(i,c)},C=async()=>{i&&f&&await f(i,"stop")};if(!d||!i||!y)return null;let D=gF(i,a),E="blocked"===D?"Run Node":function(a,b){switch(a){case"start":return"Start Node";case"resume":return"Resume Node";case"retry":return"stopped"===b||"done"===b?"Re-run Node":"Retry Node";default:return null}}("blocked"===D?"start":D,y.status),F=j===i,G="work"===y.type&&"running"===y.status,H=a=>{if(!a)return"";let b=z.find(b=>b.id===a);return b?.output?JSON.stringify(b.output,null,2):""},I="work"===y.type?JSON.stringify(y.output??{},null,2):"";return(0,t.jsxs)("aside",{ref:w,className:`node-detail-panel ${d?"node-detail-panel--open":""}`,style:{width:`${m}px`},children:[(0,t.jsx)("div",{ref:x,className:`node-detail-panel__resize-handle ${o?"node-detail-panel__resize-handle--active":""}`,onMouseDown:A}),(0,t.jsxs)("header",{className:"node-detail-panel__header",children:[(0,t.jsxs)("div",{className:"node-detail-panel__title-row",children:[(0,t.jsxs)("div",{className:"node-detail-panel__title",children:[(0,t.jsx)("h2",{children:(0,gA.getNodeLabel)(i,y)}),(0,t.jsxs)("div",{className:"node-detail-panel__badges",children:[(0,t.jsx)("span",{className:"node-detail-panel__type-badge",children:y.type}),(0,t.jsx)("span",{className:`node-detail-panel__status-badge node-detail-panel__status-badge--${y.status}`,children:(0,gA.formatNodeStatusLabel)(y.status)})]})]}),(0,t.jsx)("button",{type:"button",onClick:e,className:"node-detail-panel__close","aria-label":"Close panel",children:(0,t.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,t.jsxs)("nav",{className:"node-detail-panel__tabs",children:[(0,t.jsx)("button",{type:"button",className:`node-detail-panel__tab ${"execution"===k?"node-detail-panel__tab--active":""}`,onClick:()=>l("execution"),children:"Execution"}),(0,t.jsxs)("button",{type:"button",className:`node-detail-panel__tab ${"history"===k?"node-detail-panel__tab--active":""}`,onClick:()=>l("history"),children:["History",z.length>0&&(0,t.jsx)("span",{className:"node-detail-panel__tab-count",children:z.length})]}),(0,t.jsx)("button",{type:"button",className:`node-detail-panel__tab ${"diff"===k?"node-detail-panel__tab--active":""}`,onClick:()=>l("diff"),children:"Diff"})]})]}),(0,t.jsxs)("div",{className:"node-detail-panel__content",children:["execution"===k&&(0,t.jsxs)("div",{className:"node-detail-panel__section",children:[(0,t.jsxs)("div",{className:"node-detail-panel__grid",children:[(0,t.jsx)("span",{children:"Node ID"}),(0,t.jsx)("code",{className:"node-detail-panel__code",children:i}),(0,t.jsx)("span",{children:"Status"}),(0,t.jsx)("strong",{className:`node-detail-panel__status--${y.status}`,children:(0,gA.formatNodeStatusLabel)(y.status)}),(0,t.jsx)("span",{children:"Dependencies"}),(0,t.jsx)("strong",{children:y.deps.length}),(0,t.jsx)("span",{children:"Started"}),(0,t.jsx)("strong",{children:ha(y.startedAt)}),(0,t.jsx)("span",{children:"Completed"}),(0,t.jsx)("strong",{children:ha(y.completedAt)}),y.startedAt&&y.completedAt&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{children:"Duration"}),(0,t.jsx)("strong",{children:function(a,b){if(!a||!b)return"N/A";let c=new Date(a).getTime(),d=new Date(b).getTime();if(Number.isNaN(c)||Number.isNaN(d))return"N/A";let e=Math.floor((d-c)/1e3),f=Math.floor(e/60),g=Math.floor(f/60);return g>0?`${g}h ${f%60}m`:f>0?`${f}m ${e%60}s`:`${e}s`}(y.startedAt,y.completedAt)})]})]}),"root"===y.type&&(0,t.jsx)(hd,{node:y,nodeId:i,taskId:b,projectId:c,graphVersion:a.graphVersion,onRefetch:h}),"work"===y.type&&(0,t.jsx)(hf,{node:y,nodeId:i,onShowLogs:g}),"gate"===y.type&&(0,t.jsx)(hg,{node:y,nodeId:i,onNodeTrigger:f,isTriggering:F}),(0,t.jsx)(hh,{taskId:b,nodeId:i,comments:y.comments??[],onRefetch:h}),f&&(E||G)&&(0,t.jsxs)("div",{className:"node-detail-panel__actions",children:[E&&(0,t.jsx)("button",{type:"button",onClick:B,disabled:F,className:"btn btn-primary w-full",children:F?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"spinner w-4 h-4"}),"Processing..."]}):E}),G&&(0,t.jsx)("button",{type:"button",onClick:C,disabled:F,className:"btn btn-destructive w-full mt-2",children:F?"Processing...":"Stop Node"})]})]}),"history"===k&&(0,t.jsx)("div",{className:"node-detail-panel__section",children:0===z.length?(0,t.jsx)("p",{className:"node-detail-panel__empty",children:"No run history available for this node."}):(0,t.jsx)("ul",{className:"node-detail-panel__history-list",children:z.map(a=>(0,t.jsxs)("li",{className:"node-detail-panel__history-item",children:[(0,t.jsxs)("div",{className:"node-detail-panel__history-header",children:[(0,t.jsx)("span",{className:"node-detail-panel__history-time",children:ha(a.timestamp)}),(0,t.jsx)("span",{className:`node-detail-panel__history-status node-detail-panel__history-status--${a.toStatus}`,children:(0,gA.formatNodeStatusLabel)(a.toStatus)})]}),(0,t.jsxs)("div",{className:"node-detail-panel__history-transition",children:[(0,gA.formatNodeStatusLabel)(a.fromStatus)," → ",(0,gA.formatNodeStatusLabel)(a.toStatus)]}),a.output&&Object.keys(a.output).length>0&&(0,t.jsxs)("details",{className:"node-detail-panel__history-output",children:[(0,t.jsx)("summary",{children:"Output"}),(0,t.jsx)("pre",{children:JSON.stringify(a.output,null,2)})]})]},a.id))})}),"diff"===k&&(0,t.jsxs)("div",{className:"node-detail-panel__section",children:[(0,t.jsxs)("div",{className:"node-detail-panel__diff-controls",children:[(0,t.jsxs)("div",{className:"node-detail-panel__diff-select",children:[(0,t.jsx)("label",{children:"Run A:"}),(0,t.jsxs)("select",{value:q??"",onChange:a=>r(a.target.value||null),className:"input",children:[(0,t.jsx)("option",{value:"",children:"Select a run..."}),(0,t.jsx)("option",{value:"__current__",children:"Current output"}),z.map(a=>(0,t.jsxs)("option",{value:a.id,children:[ha(a.timestamp)," - ",(0,gA.formatNodeStatusLabel)(a.toStatus)]},a.id))]})]}),(0,t.jsxs)("div",{className:"node-detail-panel__diff-select",children:[(0,t.jsx)("label",{children:"Run B:"}),(0,t.jsxs)("select",{value:s??"",onChange:a=>v(a.target.value||null),className:"input",children:[(0,t.jsx)("option",{value:"",children:"Select a run..."}),(0,t.jsx)("option",{value:"__current__",children:"Current output"}),z.map(a=>(0,t.jsxs)("option",{value:a.id,children:[ha(a.timestamp)," - ",(0,gA.formatNodeStatusLabel)(a.toStatus)]},a.id))]})]})]}),q&&s?(0,t.jsx)(hb,{diffA:"__current__"===q?I:H(q),diffB:"__current__"===s?I:H(s)}):(0,t.jsx)("p",{className:"node-detail-panel__empty",children:"Select two runs above to see the diff of their outputs."})]})]})]})}function hd({node:a,nodeId:b,taskId:c,projectId:d,graphVersion:e,onRefetch:f}){let g=gM(a.objective,a.title),[h,i]=(0,u.useState)(!1),[j,k]=(0,u.useState)(g),[l,m]=(0,u.useState)(null),[n,o]=(0,u.useState)(!1);(0,u.useEffect)(()=>{h||(k(g),m(null))},[g,h]);let p=(0,u.useCallback)(async()=>{let h=gM(j,a.title);if(h===g){i(!1),m(null);return}o(!0),m(null);try{let a=await fetch(`/api/tasks/${c}/graph`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({ifMatchGraphVersion:e,projectId:d||void 0,nodeUpdates:{[b]:{configPatch:{objective:h}}}})}),g=await a.json().catch(()=>({}));if(!a.ok)throw Error(g?.error||"Failed to update task objective");await f?.(),i(!1)}catch(a){m(a instanceof Error?a.message:"Failed to update task objective")}finally{o(!1)}},[j,a.title,g,c,e,d,b,f]);return(0,t.jsxs)("div",{className:"node-detail-panel__type-details",children:[(0,t.jsx)("h4",{children:"Task Objective"}),h?(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("textarea",{className:"input w-full min-h-[90px] resize-y",value:j,onChange:a=>k(a.target.value),disabled:n,"aria-label":"Edit task objective"}),l&&(0,t.jsx)("p",{className:"text-xs text-[var(--danger)]",children:l}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)("button",{type:"button",className:"btn btn-primary",onClick:p,disabled:n,children:n?"Saving...":"Save"}),(0,t.jsx)("button",{type:"button",className:"btn btn-secondary",onClick:()=>{k(g),m(null),i(!1)},disabled:n,children:"Cancel"})]})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{className:"node-detail-panel__objective",children:g||"No objective defined."}),(0,t.jsx)("div",{className:"mt-2",children:(0,t.jsx)("button",{type:"button",className:"btn btn-secondary",onClick:()=>i(!0),children:"Edit Objective"})})]}),a.criteria&&a.criteria.length>0&&(0,t.jsxs)("div",{className:"node-detail-panel__criteria",children:[(0,t.jsx)("h5",{children:"Success Criteria"}),(0,t.jsx)("ul",{children:a.criteria.map((a,b)=>(0,t.jsxs)("li",{children:[(0,t.jsx)("span",{className:"node-detail-panel__bullet",children:"•"}),a]},b))})]}),a.planVersions&&a.planVersions.length>0&&(0,t.jsxs)("div",{className:"node-detail-panel__versions",children:[(0,t.jsx)("h5",{children:"Plan Versions"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1",children:a.planVersions.map(a=>(0,t.jsxs)("span",{className:"node-detail-panel__version-badge",children:["v",a]},a))})]})]})}function he({title:a,items:b}){return Array.isArray(b)&&0!==b.length?(0,t.jsxs)("div",{className:"node-detail-panel__criteria mt-3",children:[(0,t.jsx)("h5",{children:a}),(0,t.jsx)("ul",{children:b.map((b,c)=>(0,t.jsxs)("li",{children:[(0,t.jsx)("span",{className:"node-detail-panel__bullet",children:"•"}),b]},`${a}-${c}`))})]}):null}function hf({node:a,nodeId:b,onShowLogs:c}){let[d,e]=(0,u.useState)(!1);return(0,t.jsxs)("div",{className:"node-detail-panel__type-details",children:[(0,t.jsx)("h4",{children:"Work Node"}),a.description&&(0,t.jsx)("p",{className:"node-detail-panel__description",children:a.description}),(0,t.jsxs)("div",{className:"node-detail-panel__grid mt-3",children:[a.workType&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{children:"Work Type"}),(0,t.jsx)("strong",{children:a.workType})]}),(0,t.jsx)("span",{children:"Attempts"}),(0,t.jsxs)("strong",{children:[a.attempts," / ",a.maxAttempts]}),(0,t.jsx)("span",{children:"Retry Policy"}),(0,t.jsx)("strong",{children:a.retryPolicy.onExhaust}),void 0!==a.estimateMinutes&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{children:"Estimate"}),(0,t.jsxs)("strong",{children:[a.estimateMinutes,"m"]})]}),void 0!==a.actualMinutes&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{children:"Actual"}),(0,t.jsxs)("strong",{children:[a.actualMinutes,"m"]})]})]}),(0,t.jsx)(he,{title:"Where",items:a.where}),(0,t.jsx)(he,{title:"What Changes",items:a.whatChanges}),(0,t.jsx)(he,{title:"Acceptance Criteria",items:a.acceptanceCriteria}),(0,t.jsx)(he,{title:"To Dos",items:a.todos}),(0,t.jsx)(he,{title:"Verification",items:a.verification}),c&&a.startedAt&&(0,t.jsxs)("button",{type:"button",onClick:()=>c(b),className:"btn btn-secondary btn-sm mt-3 w-full",children:[(0,t.jsx)("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 6h16M4 10h16M4 14h16M4 18h16"})}),"View Logs"]}),a.output&&Object.keys(a.output).length>0&&(0,t.jsxs)("div",{className:"node-detail-panel__output mt-3",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>e(!d),className:"node-detail-panel__output-toggle",children:[(0,t.jsx)("span",{children:"Output"}),(0,t.jsx)("svg",{className:`w-4 h-4 transition-transform ${d?"":"-rotate-90"}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),d&&(0,t.jsx)("pre",{className:"node-detail-panel__output-content",children:JSON.stringify(a.output,null,2)})]})]})}function hg({node:a,nodeId:b,onNodeTrigger:c,isTriggering:d}){let e="awaiting_human"===a.status;return(0,t.jsxs)("div",{className:"node-detail-panel__type-details",children:[(0,t.jsx)("h4",{children:"Gate"}),(0,t.jsxs)("div",{className:"node-detail-panel__grid mt-2",children:[(0,t.jsx)("span",{children:"Gate Type"}),(0,t.jsx)("strong",{children:a.gateType}),(0,t.jsx)("span",{children:"Required"}),(0,t.jsx)("strong",{children:a.required?"Yes":"No"}),(0,t.jsx)("span",{children:"Strategy"}),(0,t.jsx)("strong",{children:a.verificationStrategy.type})]}),e&&c&&(0,t.jsx)("div",{className:"node-detail-panel__actions mt-4",children:(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)("button",{type:"button",onClick:()=>c(b,"approve"),disabled:d,className:"btn btn-primary flex-1",children:d?"Processing...":"Approve"}),(0,t.jsx)("button",{type:"button",onClick:()=>c(b,"reject"),disabled:d,className:"btn btn-destructive flex-1",children:d?"Processing...":"Reject"})]})}),a.verificationStrategy.checks&&a.verificationStrategy.checks.length>0&&(0,t.jsxs)("div",{className:"node-detail-panel__checks mt-3",children:[(0,t.jsx)("h5",{children:"Checks"}),(0,t.jsx)("ul",{children:a.verificationStrategy.checks.map((b,c)=>{let d=a.verificationResult?.checks?.find(a=>a.check===b);return(0,t.jsxs)("li",{className:d?d.passed?"node-detail-panel__check--passed":"node-detail-panel__check--failed":"",children:[(0,t.jsx)("span",{className:"node-detail-panel__check-icon",children:d?d.passed?"✓":"✗":"○"}),(0,t.jsx)("span",{children:b})]},c)})})]}),a.verificationResult?.checks?.length?(0,t.jsxs)("div",{className:"node-detail-panel__verification-results mt-3",children:[(0,t.jsx)("h5",{children:"Verification Results"}),(0,t.jsx)("ul",{children:a.verificationResult.checks.map((a,b)=>(0,t.jsxs)("li",{children:[(0,t.jsx)("span",{className:a.passed?"text-green-600":"text-red-600",children:a.passed?"PASS":"FAIL"}),(0,t.jsx)("span",{children:a.check}),a.message&&(0,t.jsx)("span",{className:"text-[var(--muted-foreground)]",children:a.message})]},`${a.check}-${b}`))})]}):null]})}function hh({taskId:a,nodeId:b,comments:c,onRefetch:d}){let[e,f]=(0,u.useState)(""),[g,h]=(0,u.useState)(!1),[i,j]=(0,u.useState)(null),k=(0,u.useCallback)(async()=>{let c=e.trim();if(c){h(!0),j(null);try{let e=await fetch(`/api/tasks/${a}/nodes/${b}/comments`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:c})});if(!e.ok){let a=await e.json().catch(()=>({}));throw Error(a?.error||"Failed to add comment")}f(""),await d?.()}catch(a){j(a instanceof Error?a.message:"Failed to add comment")}finally{h(!1)}}},[e,a,b,d]);return(0,t.jsxs)("div",{className:"node-detail-panel__type-details",children:[(0,t.jsx)("h4",{children:"Comments"}),c.length>0?(0,t.jsx)("ul",{className:"node-detail-panel__history-list",children:c.map(a=>(0,t.jsxs)("li",{className:"node-detail-panel__history-item",children:[(0,t.jsxs)("div",{className:"node-detail-panel__history-header",children:[(0,t.jsx)("span",{className:"node-detail-panel__history-time",children:ha(a.createdAt)}),(0,t.jsx)("span",{className:"text-xs text-[var(--muted-foreground)]",children:a.author})]}),(0,t.jsx)("p",{className:"text-sm mt-1",children:a.content})]},a.id))}):(0,t.jsx)("p",{className:"node-detail-panel__empty",children:"No comments yet."}),(0,t.jsxs)("div",{className:"mt-3 flex gap-2",children:[(0,t.jsx)("input",{type:"text",className:"input flex-1",placeholder:"Add a steering comment...",value:e,onChange:a=>f(a.target.value),onKeyDown:a=>{"Enter"!==a.key||a.shiftKey||(a.preventDefault(),k())},disabled:g}),(0,t.jsx)("button",{type:"button",className:"btn btn-primary",onClick:k,disabled:g||!e.trim(),children:g?"...":"Add"})]}),i&&(0,t.jsx)("p",{className:"text-xs text-[var(--danger)] mt-1",children:i})]})}function hi({graph:a}){let b=gI(a=>a.openComparison),c=(0,u.useMemo)(()=>a.versionHistory.map((b,c)=>{let d="replan"===b.eventType?b.toVersion:Math.max(2,a.graphVersion-(a.versionHistory.length-c-1));return"replan"===b.eventType?{version:d,fromVersion:b.fromVersion,eventType:"replan",timestamp:b.timestamp,reason:b.reason,triggeredBy:b.triggeredBy,checkpoint:b.triggeredAtNodeId}:{version:d,fromVersion:Math.max(1,d-1),eventType:"rollback",timestamp:b.timestamp,reason:b.reason,triggeredBy:b.triggeredBy,checkpoint:b.toCheckpoint}}),[a]);return(0,t.jsxs)("section",{className:"graph-panel-card graph-version-history",children:[(0,t.jsxs)("div",{className:"graph-panel-card__row",children:[(0,t.jsx)("div",{className:"graph-panel-card__title",children:"Graph Version History"}),(0,t.jsxs)("span",{className:"graph-panel-card__hint",children:["Current v",a.graphVersion]})]}),0===c.length?(0,t.jsx)("p",{className:"graph-panel-card__empty",children:"No replan or rollback events yet."}):(0,t.jsx)("ol",{className:"graph-version-history__timeline",children:c.map(a=>{var c;let d;return(0,t.jsxs)("li",{children:[(0,t.jsx)("div",{className:"graph-version-history__dot","aria-hidden":!0}),(0,t.jsxs)("div",{className:"graph-version-history__content",children:[(0,t.jsxs)("div",{className:"graph-panel-card__row",children:[(0,t.jsxs)("strong",{children:["v",a.fromVersion," to v",a.version]}),(0,t.jsx)("span",{className:`graph-version-history__badge graph-version-history__badge--${a.eventType}`,children:a.eventType})]}),(0,t.jsx)("p",{children:a.reason}),(0,t.jsxs)("div",{className:"graph-panel-card__row",children:[(0,t.jsx)("span",{className:"graph-panel-card__hint",children:Number.isNaN((d=new Date(c=a.timestamp)).getTime())?c:d.toLocaleString()}),(0,t.jsxs)("span",{className:"graph-panel-card__hint",children:["by ",a.triggeredBy]})]}),a.checkpoint?(0,t.jsxs)("div",{className:"graph-panel-card__hint",children:["checkpoint: ",a.checkpoint]}):null,(0,t.jsx)("button",{type:"button",className:"graph-link-button",onClick:()=>b(a.fromVersion,a.version),children:"Compare"})]})]},`${a.version}-${a.timestamp}-${a.eventType}`)})})]})}function hj({graph:a}){let b=gI(a=>a.comparisonMode),c=gI(a=>a.comparisonFromVersion),d=gI(a=>a.comparisonToVersion),e=gI(a=>a.closeComparison),f=(0,u.useMemo)(()=>b&&null!=c&&null!=d?function(a,b,c){let d=[];a.versionHistory.forEach((e,f)=>{let g,h=(g=a.versionHistory[f])?"replan"===g.eventType?g.toVersion:Math.max(2,a.graphVersion-(a.versionHistory.length-f-1)):a.graphVersion;"replan"===e.eventType&&h>b&&h<=c&&d.push(e)});let e=new Set,f=new Set,g=new Set,h={};for(let a of d)for(let[b,c]of(a.changes.addedNodes.forEach(a=>e.add(a)),a.changes.removedNodes.forEach(a=>f.add(a)),a.changes.rewiredDeps.forEach(a=>g.add(a)),Object.entries(a.changes.estimateDeltas)))h[b]=(h[b]??0)+c;return{replanEvents:d,addedNodes:[...e].sort(),removedNodes:[...f].sort(),rewiredDeps:[...g].sort(),estimateDeltas:h}}(a,c,d):null,[b,c,d,a]);return b&&null!=c&&null!=d&&f?(0,t.jsx)("div",{className:"modal-backdrop p-4 z-50",onClick:a=>a.target===a.currentTarget&&e(),children:(0,t.jsxs)("div",{className:"modal-content graph-comparison-modal animate-scale-in",children:[(0,t.jsxs)("div",{className:"graph-panel-card__row",children:[(0,t.jsxs)("h3",{children:["Graph diff: v",c," to v",d]}),(0,t.jsx)("button",{type:"button",className:"graph-link-button",onClick:e,children:"Close"})]}),(0,t.jsxs)("div",{className:"graph-comparison-modal__summary",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h4",{children:"Added nodes"}),f.addedNodes.length?(0,t.jsx)("ul",{children:f.addedNodes.map(a=>(0,t.jsxs)("li",{children:["+ ",a]},a))}):(0,t.jsx)("p",{children:"None"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h4",{children:"Removed nodes"}),f.removedNodes.length?(0,t.jsx)("ul",{children:f.removedNodes.map(a=>(0,t.jsxs)("li",{children:["- ",a]},a))}):(0,t.jsx)("p",{children:"None"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h4",{children:"Rewired dependencies"}),f.rewiredDeps.length?(0,t.jsx)("ul",{children:f.rewiredDeps.map(a=>(0,t.jsxs)("li",{children:["~ ",a]},a))}):(0,t.jsx)("p",{children:"None"})]})]}),(0,t.jsxs)("div",{className:"graph-comparison-modal__events",children:[(0,t.jsx)("h4",{children:"Replan reasons"}),f.replanEvents.length?(0,t.jsx)("ul",{children:f.replanEvents.map(a=>(0,t.jsxs)("li",{children:[(0,t.jsxs)("strong",{children:["v",a.fromVersion," to v",a.toVersion]}),(0,t.jsx)("p",{children:a.reason})]},`${a.fromVersion}-${a.toVersion}-${a.timestamp}`))}):(0,t.jsx)("p",{children:"No replan events in this range."})]})]})}):null}function hk(a){let b=String(a||"");if(!b.trim())return"";let c=b.match(/^---\n[\s\S]*?\n---\n([\s\S]*)$/);return(c?c[1]:b).replace(/^#\s+.+(\r?\n|$)/,"").trim()}function hl({task:a,graph:b,projectSlug:c,onClose:d,onRefetch:e,onTaskUpdate:f,onDeleteTask:g,isDeletingTask:h=!1}){let[i,j]=(0,u.useState)(!1),[k,l]=(0,u.useState)(null),[m,n]=(0,u.useState)(null),[o,p]=(0,u.useState)(!1),[q,r]=(0,u.useState)(!1),[s,v]=(0,u.useState)(!1),[x,y]=(0,u.useState)(!1),[z,A]=(0,u.useState)(a.title||""),[B,C]=(0,u.useState)(a.description||hk(a.content)),[D,E]=(0,u.useState)(!1),[F,G]=(0,u.useState)(null),H=gI(a=>a.reset),I=gI(a=>a.selectedNodeId),J=gI(a=>a.setSelectedNodeId),K=(0,gA.findRootNode)(b);(0,u.useEffect)(()=>(H(),K&&J(K.id),()=>H()),[]);let L=(0,u.useCallback)(a=>{J(a),p(!0)},[J]),M=(0,u.useCallback)(()=>{p(!1)},[]),N=(0,u.useCallback)(async(c,d)=>{n(null);try{let f;switch(d){case"start":case"retry":f=`/api/tasks/${a.id}/nodes/${c}/start`;break;case"resume":f=`/api/tasks/${a.id}/nodes/${c}/resume`;break;case"stop":f=`/api/tasks/${a.id}/nodes/${c}/stop`;break;case"approve":case"reject":f=`/api/tasks/${a.id}/nodes/${c}/verify`;break;default:return}let g=await fetch(f,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:a.project_id,ifMatchGraphVersion:b.graphVersion,...("approve"===d||"reject"===d)&&{approved:"approve"===d}})}),h=await g.json().catch(()=>({}));if(!g.ok)throw Error(h?.error||`Failed to ${d} node`);await e()}catch(a){n(a instanceof Error?a.message:`Failed to ${d} node`)}},[a.id,a.project_id,b.graphVersion,e]),O=(0,u.useCallback)(async a=>{let b={ready:"queued",running:"queued",paused:"in_progress",stopped:"blocked",done:"completed"}[a];b&&f&&await f({status:b})},[f]),P=(0,u.useCallback)(a=>{l(a),j(!0)},[]),Q=(0,u.useCallback)(async()=>{if(G(null),z===a.title||!f)return void v(!1);try{E(!0),await f({title:z}),v(!1)}catch(a){G(a instanceof Error?a.message:"Failed to save title")}finally{E(!1)}},[z,a.title,f]),R=(0,u.useCallback)(async()=>{G(null);let b=(a.description||hk(a.content)).trim();if(B.trim()===b||!f)return void y(!1);try{E(!0),await f({description:B}),y(!1)}catch(a){G(a instanceof Error?a.message:"Failed to save description")}finally{E(!1)}},[B,a.description,a.content,f]);return(0,t.jsxs)("div",{className:"graph-first-view",children:[(0,t.jsxs)("header",{className:"graph-first-view__header",children:[(0,t.jsxs)("div",{className:"graph-first-view__nav",children:[(0,t.jsx)("button",{onClick:d,className:"graph-first-view__back",title:"Back",children:(0,t.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2.5,children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15 19l-7-7 7-7"})})}),(0,t.jsxs)("div",{className:"graph-first-view__breadcrumbs",children:[(0,t.jsx)(w.default,{href:`/projects/${c}`,className:"graph-link-button",children:c}),(0,t.jsx)("span",{children:"/"}),(0,t.jsx)("span",{className:"font-medium",children:a.title||a.slug||a.id.slice(0,8)})]})]}),(0,t.jsxs)("div",{className:"graph-first-view__title-row",children:[(0,t.jsx)("h1",{className:"graph-first-view__title",children:a.title||"Untitled Task"}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(gU,{graph:b,taskId:a.id,onStateChange:O,onRefetch:e}),g&&(0,t.jsx)("button",{type:"button",className:"btn btn-destructive",onClick:()=>{g()},disabled:h,children:h?"Deleting...":"Delete Task"})]})]}),m&&(0,t.jsxs)("div",{className:"graph-first-view__error",children:[m,(0,t.jsx)("button",{onClick:()=>n(null),className:"ml-2 text-sm underline",children:"Dismiss"})]})]}),(0,t.jsxs)("div",{className:"graph-first-view__body",children:[(0,t.jsx)("div",{className:"graph-first-view__canvas",children:(0,t.jsx)(gT,{graph:b,taskId:a.id,className:"h-full",fullscreen:!0,onNodeSelect:L})}),(0,t.jsxs)("aside",{className:"graph-first-view__sidebar",children:[(0,t.jsxs)("div",{className:"graph-sidebar-section",children:[(0,t.jsxs)("button",{className:"graph-sidebar-section__toggle",onClick:()=>r(a=>!a),children:[(0,t.jsx)("svg",{className:`w-4 h-4 transition-transform ${q?"rotate-90":""}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 5l7 7-7 7"})}),(0,t.jsx)("span",{className:"font-medium text-sm",children:"Task Details"})]}),q&&(0,t.jsxs)("div",{className:"graph-sidebar-section__body",children:[(0,t.jsx)("label",{className:"text-xs text-[var(--muted-foreground)]",children:"Title"}),s?(0,t.jsx)("input",{className:"w-full px-2 py-1 text-sm bg-[var(--card-bg)] border border-[var(--border)] rounded focus:outline-none focus:ring-1 focus:ring-[var(--primary)]",value:z,onChange:a=>A(a.target.value),onBlur:Q,onKeyDown:a=>"Enter"===a.key&&Q(),disabled:D,autoFocus:!0}):(0,t.jsx)("p",{className:"text-sm cursor-pointer hover:text-[var(--primary)] transition-colors",onClick:()=>{A(a.title||""),v(!0)},children:a.title||"Untitled"}),(0,t.jsx)("label",{className:"text-xs text-[var(--muted-foreground)] mt-2",children:"Description"}),x?(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("textarea",{className:"w-full px-2 py-1 text-sm bg-[var(--card-bg)] border border-[var(--border)] rounded focus:outline-none focus:ring-1 focus:ring-[var(--primary)] min-h-[60px] resize-y",value:B,onChange:a=>C(a.target.value),onKeyDown:a=>{(a.metaKey||a.ctrlKey)&&"Enter"===a.key&&(a.preventDefault(),R())},disabled:D,autoFocus:!0}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)("button",{type:"button",className:"btn btn-primary",onClick:()=>void R(),disabled:D,children:D?"Saving...":"Save"}),(0,t.jsx)("button",{type:"button",className:"btn btn-secondary",onClick:()=>{G(null),C(a.description||hk(a.content)),y(!1)},disabled:D,children:"Cancel"})]})]}):(0,t.jsx)("p",{className:"text-sm cursor-pointer hover:text-[var(--primary)] transition-colors whitespace-pre-wrap",onClick:()=>{G(null),C(a.description||hk(a.content)),y(!0)},children:a.description||hk(a.content)||"No description"}),F&&(0,t.jsx)("p",{className:"text-xs text-[var(--danger)]",children:F}),(0,t.jsxs)("div",{className:"mt-2 space-y-1 text-xs text-[var(--muted-foreground)]",children:[(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{children:"Status"}),(0,t.jsx)("span",{className:"text-[var(--foreground)]",children:a.status||"—"})]}),(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{children:"Stage"}),(0,t.jsx)("span",{className:"text-[var(--foreground)]",children:a.stage||"—"})]}),a.slug&&(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{children:"Slug"}),(0,t.jsx)("span",{className:"text-[var(--foreground)] font-mono",children:a.slug})]}),(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{children:"ID"}),(0,t.jsx)("span",{className:"text-[var(--foreground)] font-mono",children:a.id.slice(0,8)})]})]})]})]}),(0,t.jsx)(g$,{graph:b,onShowLogs:P}),(0,t.jsx)(hi,{graph:b})]})]}),(0,t.jsx)(hj,{graph:b}),i&&k&&(0,t.jsx)(hm,{taskId:a.id,nodeId:k,onClose:()=>j(!1)}),(0,t.jsx)(hc,{graph:b,taskId:a.id,projectId:a.project_id,isOpen:o&&!!I,onClose:M,onNodeTrigger:N,onShowLogs:P,onRefetch:e})]})}function hm({taskId:a,nodeId:b,onClose:c}){let[d,e]=(0,u.useState)(""),[f,g]=(0,u.useState)(!0),[h,i]=(0,u.useState)(null);return(0,u.useEffect)(()=>{let c=!1;return async function(){g(!0),i(null);try{let d=await fetch(`/api/tasks/${a}/logs?nodeId=${b}&tail=500`),f=await d.json().catch(()=>({}));if(!d.ok)throw Error(f?.error||"Failed to fetch logs");if(!c){let a=(f?.logs||[]).map(a=>{let b=(a.log_type||"output").toLowerCase();return"output"===b?a.content||"":`[${b}] ${a.content||""}`}).join("\n");e(a)}}catch(a){c||i(a instanceof Error?a.message:"Failed to fetch logs")}finally{c||g(!1)}}(),()=>{c=!0}},[a,b]),(0,t.jsx)("div",{className:"modal-backdrop",onClick:c,children:(0,t.jsxs)("div",{className:"modal-content logs-modal",onClick:a=>a.stopPropagation(),children:[(0,t.jsxs)("div",{className:"logs-modal__header",children:[(0,t.jsx)("h3",{children:"Node Logs"}),(0,t.jsx)("button",{onClick:c,className:"btn-ghost",children:(0,t.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,t.jsx)("div",{className:"logs-modal__body",children:f?(0,t.jsxs)("div",{className:"logs-modal__loading",children:[(0,t.jsx)("span",{className:"spinner"}),"Loading logs..."]}):h?(0,t.jsx)("div",{className:"logs-modal__error",children:h}):d?(0,t.jsx)("pre",{className:"logs-modal__content",children:d}):(0,t.jsx)("div",{className:"logs-modal__empty",children:"No logs available for this node."})})]})})}function hn({params:a}){let{slug:b,taskId:c}=(0,u.use)(a),d=(0,v.useRouter)(),[e,f]=(0,u.useState)(null),[g,h]=(0,u.useState)(!0),[i,j]=(0,u.useState)(null),[k,l]=(0,u.useState)(!1),{graph:m,isLoading:n,error:o,refetch:p}=function(a){let[b,c]=(0,u.useState)(null),[d,e]=(0,u.useState)(!1),[f,g]=(0,u.useState)(null),h=(0,u.useCallback)(async()=>{if(!a){c(null),g(null),e(!1);return}e(!0),g(null);try{let b=await fetch(`/api/tasks/${a}/graph`,{method:"GET",cache:"no-store"}),d=await b.json().catch(()=>({}));if(404===b.status){c(null),g(null);return}if(!b.ok)throw Error(d?.error||`Failed to fetch graph (${b.status})`);c(d?.graph??null)}catch(a){g(a instanceof Error?a.message:"Failed to fetch graph"),c(null)}finally{e(!1)}},[a]);return(0,u.useEffect)(()=>{h()},[h]),{graph:b,isLoading:d,error:f,refetch:h,setGraph:c}}(c),q=gI(a=>a.reset);(0,u.useEffect)(()=>(q(),()=>{q()}),[q]);let r=(0,u.useCallback)(async()=>{h(!0),j(null);try{let a=await fetch(`/api/tasks/${c}`,{method:"GET",cache:"no-store"}),b=await a.json().catch(()=>({}));if(!a.ok)throw Error(b?.error||`Failed to fetch task (${a.status})`);f(b?.task??null)}catch(a){j(a instanceof Error?a.message:"Failed to fetch task"),f(null)}finally{h(!1)}},[c]);(0,u.useEffect)(()=>{r()},[r]);let s=i||o,w=(0,u.useCallback)(()=>{d.push(`/projects/${b}`)},[d,b]),x=(0,u.useCallback)(async()=>{await Promise.all([p(),r()])},[p,r]),y=(0,u.useCallback)(async a=>{try{let b=await fetch(`/api/tasks/${c}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!b.ok){let a=await b.json().catch(()=>({}));throw Error(a?.error||"Failed to update task")}await r()}catch(a){throw console.error("Failed to update task:",a),a}},[c,r]),z=(0,u.useCallback)(async()=>{if(k)return;let a=e?.slug||e?.title||c.slice(0,8);if(window.confirm(`Delete "${a}"? This cannot be undone.`)){l(!0);try{let a=await fetch(`/api/tasks/${c}`,{method:"DELETE"}),e=await a.json().catch(()=>({}));if(!a.ok)throw Error(e?.error||"Failed to delete task");d.push(`/projects/${b}`)}catch(b){let a=b instanceof Error?b.message:"Failed to delete task";console.error("Failed to delete task:",b),window.alert(a)}finally{l(!1)}}},[k,d,b,e?.slug,e?.title,c]);return g||n?(0,t.jsx)("div",{className:"h-full flex items-center justify-center bg-[var(--background)]",children:(0,t.jsxs)("div",{className:"text-center",children:[(0,t.jsx)("span",{className:"spinner spinner-lg"}),(0,t.jsx)("p",{className:"mt-4 text-sm text-[var(--muted-foreground)]",children:"Loading task graph..."})]})}):s?(0,t.jsx)("div",{className:"h-full flex items-center justify-center bg-[var(--background)]",children:(0,t.jsxs)("div",{className:"text-center max-w-md px-4",children:[(0,t.jsx)("div",{className:"w-12 h-12 mx-auto mb-4 rounded-full bg-[var(--destructive-muted)] flex items-center justify-center",children:(0,t.jsx)("svg",{className:"w-6 h-6 text-[var(--destructive)]",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})})}),(0,t.jsx)("p",{className:"text-sm text-[var(--destructive)]",children:s}),(0,t.jsx)("button",{onClick:()=>d.push(`/projects/${b}`),className:"mt-4 btn btn-secondary",children:"Back to Project"})]})}):m?e?(0,t.jsx)(hl,{task:e,graph:m,projectSlug:b,onClose:w,onRefetch:x,onTaskUpdate:y,onDeleteTask:z,isDeletingTask:k}):(0,t.jsx)("div",{className:"h-full flex items-center justify-center bg-[var(--background)]",children:(0,t.jsxs)("div",{className:"text-center max-w-md px-4",children:[(0,t.jsx)("p",{className:"text-sm text-[var(--destructive)]",children:"Task not found."}),(0,t.jsx)("button",{onClick:()=>d.push(`/projects/${b}`),className:"mt-4 btn btn-secondary",children:"Back to Project"})]})}):(0,t.jsx)("div",{className:"h-full flex items-center justify-center bg-[var(--background)]",children:(0,t.jsxs)("div",{className:"text-center max-w-md px-4",children:[(0,t.jsx)("div",{className:"w-12 h-12 mx-auto mb-4 rounded-full bg-[var(--muted)] flex items-center justify-center",children:(0,t.jsx)("svg",{className:"w-6 h-6 text-[var(--muted-foreground)]",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z"})})}),(0,t.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"No execution graph exists for this task."}),(0,t.jsxs)("div",{className:"mt-4 flex gap-2 justify-center",children:[(0,t.jsx)("button",{onClick:async()=>{try{let a=await fetch(`/api/tasks/${c}/graph`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({migration:!0})});if(!a.ok){let b=await a.json().catch(()=>({}));throw Error(b?.error||`Migration failed (${a.status})`)}await x()}catch(a){console.error("Failed to migrate task to v2:",a)}},className:"btn btn-primary",children:"Migrate to v2"}),(0,t.jsx)("button",{onClick:()=>d.push(`/projects/${b}/tasks/${c}`),className:"btn btn-secondary",children:"View Task Details"})]})]})})}a.s(["default",()=>hn],23886)}];
|
|
2
|
+
M${A.x},${A.y}h${A.width}v${A.height}h${-A.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}gx.displayName="MiniMap";let gy=(0,u.memo)(gx),gz={[r.Line]:"right",[r.Handle]:"bottom-right"};(0,u.memo)(function({nodeId:a,position:b,variant:c=r.Handle,className:d,style:e,children:f,color:g,minWidth:h=10,minHeight:i=10,maxWidth:j=Number.MAX_VALUE,maxHeight:k=Number.MAX_VALUE,keepAspectRatio:l=!1,resizeDirection:m,autoScale:n=!0,shouldResize:o,onResizeStart:p,onResize:q,onResizeEnd:s}){let v,w=fa(),x="string"==typeof a?a:w,y=ej(),z=(0,u.useRef)(null),A=c===r.Handle,B=ei((0,u.useCallback)((v=A&&n,a=>v?`${Math.max(1/a.transform[2],1)}`:void 0),[A,n]),ee),C=(0,u.useRef)(null),D=b??gz[c];(0,u.useEffect)(()=>{if(z.current&&x)return C.current||(C.current=function({domNode:a,nodeId:b,getStoreItems:c,onChange:d,onEnd:e}){let f=aT(a),g={controlDirection:d0("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};return{update:function({controlPosition:a,boundaries:h,keepAspectRatio:i,resizeDirection:j,onResizeStart:k,onResize:l,onResizeEnd:m,shouldResize:n}){let o,p,q,r,s={...d4},t={...d5};g={boundaries:h,resizeDirection:j,keepAspectRatio:i,controlDirection:d0(a)};let u=null,v=[],w=!1,x=a5().on("start",a=>{let{nodeLookup:d,transform:e,snapGrid:f,snapToGrid:g,nodeOrigin:h,paneDomNode:i}=c();if(!(o=d.get(b)))return;u=i?.getBoundingClientRect()??null;let{xSnapped:j,ySnapped:l}=df(a.sourceEvent,{transform:e,snapGrid:f,snapToGrid:g,containerBounds:u});if(t={...s={width:o.measured.width??0,height:o.measured.height??0,x:o.position.x??0,y:o.position.y??0},pointerX:j,pointerY:l,aspectRatio:s.width/s.height},p=void 0,o.parentId&&("parent"===o.extent||o.expandParent)){var m;q=(p=d.get(o.parentId))&&"parent"===o.extent?[[0,0],[(m=p).measured.width,m.measured.height]]:void 0}for(let[a,c]of(v=[],r=void 0,d))if(c.parentId===b&&(v.push({id:a,position:{...c.position},extent:c.extent}),"parent"===c.extent||c.expandParent)){let a=function(a,b,c){let d=b.position.x+a.position.x,e=b.position.y+a.position.y,f=a.measured.width??0,g=a.measured.height??0,h=c[0]*f,i=c[1]*g;return[[d-h,e-i],[d+f-h,e+g-i]]}(c,o,c.origin??h);r=r?[[Math.min(a[0][0],r[0][0]),Math.min(a[0][1],r[0][1])],[Math.max(a[1][0],r[1][0]),Math.max(a[1][1],r[1][1])]]:a}k?.(a,{...s})}).on("drag",a=>{let{transform:b,snapGrid:e,snapToGrid:f,nodeOrigin:h}=c(),i=df(a.sourceEvent,{transform:b,snapGrid:e,snapToGrid:f,containerBounds:u}),j=[];if(!o)return;let{x:k,y:m,width:x,height:y}=s,z={},A=o.origin??h,{width:B,height:C,x:D,y:E}=function(a,b,c,d,e,f,g,h){var i,j,k,l;let{affectsX:m,affectsY:n}=b,{isHorizontal:o,isVertical:p}=b,q=o&&p,{xSnapped:r,ySnapped:s}=c,{minWidth:t,maxWidth:u,minHeight:v,maxHeight:w}=d,{x:x,y:y,width:z,height:A,aspectRatio:B}=a,C=Math.floor(o?r-a.pointerX:0),D=Math.floor(p?s-a.pointerY:0),E=z+(m?-C:C),F=A+(n?-D:D),G=-f[0]*z,H=-f[1]*A,I=d3(E,t,u),J=d3(F,v,w);if(g){let a=0,b=0;m&&C<0?a=d1(x+C+G,g[0][0]):!m&&C>0&&(a=d2(x+E+G,g[1][0])),n&&D<0?b=d1(y+D+H,g[0][1]):!n&&D>0&&(b=d2(y+F+H,g[1][1])),I=Math.max(I,a),J=Math.max(J,b)}if(h){let a=0,b=0;m&&C>0?a=d2(x+C,h[0][0]):!m&&C<0&&(a=d1(x+E,h[1][0])),n&&D>0?b=d2(y+D,h[0][1]):!n&&D<0&&(b=d1(y+F,h[1][1])),I=Math.max(I,a),J=Math.max(J,b)}if(e){if(o){(I=Math.max(I,d3(E/B,v,w)*B),g)&&(I=Math.max(I,(m||n)&&(!m||n||!q)?d1(y+H+(m?C:-C)/B,g[0][1])*B:d2(y+H+E/B,g[1][1])*B));h&&(I=Math.max(I,(m||n)&&(!m||n||!q)?d2(y+(m?C:-C)/B,h[0][1])*B:d1(y+E/B,h[1][1])*B))}if(p){(J=Math.max(J,d3(F*B,t,u)/B),g)&&(J=Math.max(J,(m||n)&&(!n||m||!q)?d1(x+(n?D:-D)*B+G,g[0][0])/B:d2(x+F*B+G,g[1][0])/B));h&&(J=Math.max(J,(m||n)&&(!n||m||!q)?d2(x+(n?D:-D)*B,h[0][0])/B:d1(x+F*B,h[1][0])/B))}}D+=D<0?J:-J,C+=C<0?I:-I,e&&(q?E>F*B?D=((i=m,j=n,i?!j:j)?-C:C)/B:C=((k=m,l=n,k?!l:l)?-D:D)*B:o?(D=C/B,n=m):(C=D*B,m=n));let K=m?x+C:x,L=n?y+D:y;return{width:z+(m?-C:C),height:A+(n?-D:D),x:f[0]*C*(m?-1:1)+K,y:f[1]*D*(n?-1:1)+L}}(t,g.controlDirection,i,g.boundaries,g.keepAspectRatio,A,q,r),F=B!==x,G=C!==y,H=D!==k&&F,I=E!==m&&G;if(!H&&!I&&!F&&!G)return;if((H||I||1===A[0]||1===A[1])&&(z.x=H?D:s.x,z.y=I?E:s.y,s.x=z.x,s.y=z.y,v.length>0)){let a=D-k,b=E-m;for(let c of v)c.position={x:c.position.x-a+A[0]*(B-x),y:c.position.y-b+A[1]*(C-y)},j.push(c)}if((F||G)&&(z.width=F&&(!g.resizeDirection||"horizontal"===g.resizeDirection)?B:s.width,z.height=G&&(!g.resizeDirection||"vertical"===g.resizeDirection)?C:s.height,s.width=z.width,s.height=z.height),p&&o.expandParent){let a=A[0]*(z.width??0);z.x&&z.x<a&&(s.x=a,t.x=t.x-(z.x-a));let b=A[1]*(z.height??0);z.y&&z.y<b&&(s.y=b,t.y=t.y-(z.y-b))}let J=function({width:a,prevWidth:b,height:c,prevHeight:d,affectsX:e,affectsY:f}){let g=a-b,h=c-d,i=[g>0?1:g<0?-1:0,h>0?1:h<0?-1:0];return g&&e&&(i[0]=-1*i[0]),h&&f&&(i[1]=-1*i[1]),i}({width:s.width,prevWidth:x,height:s.height,prevHeight:y,affectsX:g.controlDirection.affectsX,affectsY:g.controlDirection.affectsY}),K={...s,direction:J};!1!==n?.(a,K)&&(w=!0,l?.(a,K),d(z,j))}).on("end",a=>{w&&(m?.(a,{...s}),e?.({...s}),w=!1)});f.call(x)},destroy:function(){f.on(".drag",null)}}}({domNode:z.current,nodeId:x,getStoreItems:()=>{let{nodeLookup:a,transform:b,snapGrid:c,snapToGrid:d,nodeOrigin:e,domNode:f}=y.getState();return{nodeLookup:a,transform:b,snapGrid:c,snapToGrid:d,nodeOrigin:e,paneDomNode:f}},onChange:(a,b)=>{let{triggerNodeChanges:c,nodeLookup:d,parentLookup:e,nodeOrigin:f}=y.getState(),g=[],h={x:a.x,y:a.y},i=d.get(x);if(i&&i.expandParent&&i.parentId){let b=i.origin??f,c=a.width??i.measured.width??0,j=a.height??i.measured.height??0,k=dK([{id:i.id,parentId:i.parentId,rect:{width:c,height:j,...dd({x:a.x??i.position.x,y:a.y??i.position.y},{width:c,height:j},i.parentId,d,b)}}],d,e,f);g.push(...k),h.x=a.x?Math.max(b[0]*c,a.x):void 0,h.y=a.y?Math.max(b[1]*j,a.y):void 0}if(void 0!==h.x&&void 0!==h.y){let a={id:x,type:"position",position:{...h}};g.push(a)}if(void 0!==a.width&&void 0!==a.height){let b={id:x,type:"dimensions",resizing:!0,setAttributes:!m||("horizontal"===m?"width":"height"),dimensions:{width:a.width,height:a.height}};g.push(b)}for(let a of b){let b={...a,type:"position"};g.push(b)}c(g)},onEnd:({width:a,height:b})=>{y.getState().triggerNodeChanges([{id:x,type:"dimensions",resizing:!1,dimensions:{width:a,height:b}}])}})),C.current.update({controlPosition:D,boundaries:{minWidth:h,minHeight:i,maxWidth:j,maxHeight:k},keepAspectRatio:l,resizeDirection:m,onResizeStart:p,onResize:q,onResizeEnd:s,shouldResize:o}),()=>{C.current?.destroy()}},[D,h,i,j,k,l,p,q,s,o]);let E=D.split("-");return(0,t.jsx)("div",{className:_(["react-flow__resize-control","nodrag",...E,c,d]),ref:z,style:{...e,scale:B,...g&&{[A?"backgroundColor":"borderColor"]:g}},children:f})});var gA=a.i(66859);let gB=a=>{let b,c=new Set,d=(a,d)=>{let e="function"==typeof a?a(b):a;if(!Object.is(e,b)){let a=b;b=(null!=d?d:"object"!=typeof e||null===e)?e:Object.assign({},b,e),c.forEach(c=>c(b,a))}},e=()=>b,f={setState:d,getState:e,getInitialState:()=>g,subscribe:a=>(c.add(a),()=>c.delete(a))},g=b=a(d,e,f);return f},gC=a=>{let b=a?gB(a):gB,c=a=>(function(a,b=a=>a){let c=u.default.useSyncExternalStore(a.subscribe,u.default.useCallback(()=>b(a.getState()),[a,b]),u.default.useCallback(()=>b(a.getInitialState()),[a,b]));return u.default.useDebugValue(c),c})(b,a);return Object.assign(c,b),c};function gD(a){switch(a){case"pending":return"start";case"paused":return"resume";case"stopped":case"failed":return"retry";case"blocked":return"blocked";default:return"none"}}let gE=new Set(["done","passed","skipped"]);function gF(a,b){var c;let d,e=b.nodes[a];if(!e)return"none";if("work"===e.type&&"done"===e.status&&(c=String(e.title||""),"plan"===a||/generate.*execution.*plan/i.test(c)))return"retry";let f=gD(e.status);return"start"!==f&&"blocked"!==f||(d=b.nodes[a])&&d.deps.every(a=>{let c=b.nodes[a];return c&&gE.has(c.status)})?f:"none"}function gG(a){switch(a){case"start":case"resume":case"retry":case"stop":return"cursor-pointer";case"blocked":return"cursor-not-allowed";default:return"cursor-default"}}let gH={x:0,y:0,zoom:1},gI=(b=a=>({selectedNodeId:null,viewport:gH,comparisonMode:!1,comparisonFromVersion:null,comparisonToVersion:null,triggeringNodeId:null,setSelectedNodeId:b=>a({selectedNodeId:b}),setViewport:b=>a({viewport:b}),openComparison:(b,c)=>a({comparisonMode:!0,comparisonFromVersion:b,comparisonToVersion:c}),closeComparison:()=>a({comparisonMode:!1,comparisonFromVersion:null,comparisonToVersion:null}),setTriggeringNodeId:b=>a({triggeringNodeId:b}),reset:()=>a({selectedNodeId:null,viewport:gH,comparisonMode:!1,comparisonFromVersion:null,comparisonToVersion:null,triggeringNodeId:null})}))?gC(b):gC,gJ=/^\s*---\s*\r?\n[\s\S]*?\r?\n---\s*/,gK=/^#\s+(.+?)(?:\r?\n|$)/;function gL(a){return"string"==typeof a?a.trim():""}function gM(a,b){let c=gL(b),d=gL(a);if(!d)return c;let e=d.replace(gJ,"").trim();if(!e)return c;let f=e.match(gK);if(!f)return e;let g=e.slice(f[0].length).trim();return g||f[1].trim()||c}let gN={queued:"bg-[var(--status-queued)] text-[var(--status-queued)]",in_progress:"bg-[var(--status-in-progress)] text-[var(--status-in-progress)]",blocked:"bg-[var(--status-blocked)] text-[var(--status-blocked)]",completed:"bg-[var(--status-completed)] text-[var(--status-completed)]",failed:"bg-[var(--status-failed)] text-[var(--status-failed)]"},gO={work:function({data:a,selected:b}){let c=a.node,d=gI(a=>a.triggeringNodeId)===a.nodeId,e="pending"===c.status&&Number(c.attempts)>0&&Number(c.attempts)<Number(c.maxAttempts),f=(0,gA.toNodeStatusClass)(c.status),g=gD(c.status),h=gG(g),i=`${c.attempts}/${c.maxAttempts}`,j=function(a){let b=a.trim();if(b.startsWith("{")||b.startsWith("[")){try{let a=JSON.parse(b);if(a&&"object"==typeof a&&!Array.isArray(a)){let b=a.summary||a.decision||a.explanation;if("string"==typeof b&&b.length>0)return b.length>60?b.slice(0,57)+"...":b}}catch{}return b.length>60?b.slice(0,57)+"...":b}return a}(a.label),k=e?"retry queued":(0,gA.formatNodeStatusLabel)(c.status),l=(()=>{switch(g){case"start":case"resume":return(0,t.jsx)("svg",{className:"w-3 h-3",fill:"currentColor",viewBox:"0 0 20 20",children:(0,t.jsx)("path",{d:"M6.3 2.841A1.5 1.5 0 004 4.11V15.89a1.5 1.5 0 002.3 1.269l9.344-5.89a1.5 1.5 0 000-2.538L6.3 2.84z"})});case"retry":return(0,t.jsx)("svg",{className:"w-3 h-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})});case"blocked":return(0,t.jsx)("svg",{className:"w-3 h-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z"})});default:return null}})();return(0,t.jsxs)("div",{className:`execution-node execution-node--work ${f} ${b?"execution-node--selected":""} ${h} ${d?"execution-node--triggering":""}`,title:a.label,children:[(0,t.jsx)(fc,{type:"target",position:q.Left,className:"execution-node__handle"}),(0,t.jsxs)("div",{className:"execution-node__header",children:[(0,t.jsx)("div",{className:"execution-node__title",children:j}),l&&(0,t.jsx)("div",{className:"execution-node__action-icon",children:l})]}),(0,t.jsxs)("div",{className:"execution-node__meta",children:[(0,t.jsx)("span",{className:`execution-node__status ${e?"execution-node__status--retry":""}`,children:k}),(0,t.jsxs)("span",{className:"execution-node__status",children:["attempt ",i]}),c.estimateMinutes&&(0,t.jsxs)("span",{className:"execution-node__status",children:["~",c.estimateMinutes,"m"]})]}),e?(0,t.jsx)("div",{className:"execution-node__hint",children:"Previous attempt failed. Waiting to retry."}):null,(0,t.jsx)(fc,{type:"source",position:q.Right,className:"execution-node__handle"})]})},function:function({data:a,selected:b}){let c=a.node,d=(0,gA.toNodeStatusClass)(c.status),e="mcp"===c.kind?"MCP":"Bash";return(0,t.jsxs)("div",{className:`execution-node execution-node--function ${d} ${b?"execution-node--selected":""}`,title:a.label,children:[(0,t.jsx)(fc,{type:"target",position:q.Left,className:"execution-node__handle"}),(0,t.jsxs)("div",{className:"execution-node__header",children:[(0,t.jsx)("div",{className:"execution-node__title",children:a.label}),(0,t.jsx)("span",{className:"execution-node__badge",children:e})]}),(0,t.jsxs)("div",{className:"execution-node__meta",children:[(0,t.jsx)("span",{className:"execution-node__status",children:(0,gA.formatNodeStatusLabel)(c.status)}),c.timeoutMs&&(0,t.jsxs)("span",{className:"execution-node__status",children:["timeout ",Math.round(c.timeoutMs/1e3),"s"]})]}),(0,t.jsx)(fc,{type:"source",position:q.Right,className:"execution-node__handle"})]})},gate:function({data:a,selected:b}){let c="gate"===a.node.type?a.node:null,d=(0,gA.toNodeStatusClass)(a.node.status),e=c?(0,gA.getNodeLabel)(a.nodeId,c):a.label;return(0,t.jsxs)("div",{className:`gate-node ${d} ${c?.required?"gate--required":""} ${b?"execution-node--selected":""}`,title:e,children:[(0,t.jsx)(fc,{type:"target",position:q.Left,className:"execution-node__handle"}),(0,t.jsxs)("div",{className:"gate-node__content",children:[(0,t.jsx)("div",{className:"execution-node__title",children:e}),(0,t.jsxs)("div",{className:"execution-node__meta",children:[(0,t.jsx)("span",{className:"execution-node__status",children:(0,gA.formatNodeStatusLabel)(a.node.status)}),c?.required?(0,t.jsx)("span",{className:"execution-node__status",children:"required"}):null]})]}),(0,t.jsx)(fc,{type:"source",position:q.Right,className:"execution-node__handle"})]})},fork:function({data:a,selected:b}){let c=(0,gA.toNodeStatusClass)(a.node.status);return(0,t.jsxs)("div",{className:`execution-node execution-node--circle execution-node--fork ${c} ${b?"execution-node--selected":""}`,title:"Fork",children:[(0,t.jsx)(fc,{type:"target",position:q.Left,className:"execution-node__handle"}),(0,t.jsx)("div",{className:"execution-node__glyph","aria-hidden":!0,children:"⇉"}),(0,t.jsx)(fc,{type:"source",position:q.Right,className:"execution-node__handle"})]})},join:function({data:a,selected:b}){let c=(0,gA.toNodeStatusClass)(a.node.status);return(0,t.jsxs)("div",{className:`execution-node execution-node--circle execution-node--join ${c} ${b?"execution-node--selected":""}`,title:"Join",children:[(0,t.jsx)(fc,{type:"target",position:q.Left,className:"execution-node__handle"}),(0,t.jsx)("div",{className:"execution-node__glyph","aria-hidden":!0,children:"⇇"}),(0,t.jsx)(fc,{type:"source",position:q.Right,className:"execution-node__handle"})]})},conditional:function({data:a,selected:b}){let c=(0,gA.toNodeStatusClass)(a.node.status);return(0,t.jsxs)("div",{className:`conditional-node ${c} ${b?"execution-node--selected":""}`,title:"Conditional",children:[(0,t.jsx)(fc,{type:"target",position:q.Left,className:"execution-node__handle"}),(0,t.jsx)("div",{className:"conditional-node__content",children:"?"}),(0,t.jsx)(fc,{type:"source",position:q.Right,className:"execution-node__handle"})]})},root:function({data:a,selected:b}){let c=a.node,d=(0,gA.toNodeStatusClass)(c.status),e=gD(c.status),f=gG(e),g=(()=>{switch(e){case"start":return"Click to create plan";case"resume":return"Click to resume";case"retry":return"Click to retry";case"blocked":return"Dependencies not met";default:return null}})(),h=gM(c.objective,c.title);return(0,t.jsxs)("div",{className:`execution-node execution-node--root ${d} ${b?"execution-node--selected":""} ${f}`,title:h||a.label,children:[(0,t.jsx)(fc,{type:"source",position:q.Right,className:"execution-node__handle"}),(0,t.jsxs)("div",{className:"execution-node__root-badge",children:[(0,t.jsx)("svg",{className:"w-3 h-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2.5,children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M13 10V3L4 14h7v7l9-11h-7z"})}),"ROOT"]}),(0,t.jsx)("div",{className:"execution-node__title",children:a.label}),!1===c.graphCreated&&(0,t.jsx)("div",{className:"execution-node__subtitle",children:"No plan yet"}),(0,t.jsxs)("div",{className:"execution-node__meta",children:[(0,t.jsx)("span",{className:"execution-node__status",children:(0,gA.formatNodeStatusLabel)(c.status)}),c.criteria&&c.criteria.length>0&&(0,t.jsxs)("span",{className:"execution-node__status",children:[c.criteria.length," criteria"]})]}),g&&(0,t.jsx)("div",{className:"execution-node__action-hint",children:g})]})},taskDetail:(0,u.memo)(function({data:a,selected:b}){let{title:c,status:d,stage:e,description:f}=a,g=(gN[d]||"bg-[var(--muted-foreground)]").split(" ")[0],h=f?f.replace(/[#*_`>\-\[\]()]/g,"").slice(0,120):"";return(0,t.jsxs)("div",{className:`task-detail-node ${b?"task-detail-node--selected":""}`,title:"Double-click to open details",children:[(0,t.jsx)(fc,{type:"source",position:q.Right,className:"execution-node__handle"}),(0,t.jsx)("div",{className:"task-detail-node__header",children:(0,t.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,t.jsx)("span",{className:`w-2.5 h-2.5 rounded-full flex-shrink-0 ${g} ${"in_progress"===d?"animate-pulse":""}`}),(0,t.jsx)("span",{className:"text-[10px] font-semibold uppercase tracking-wider text-[var(--muted-foreground)] flex-shrink-0",children:"Task"}),e&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"text-[var(--muted-foreground)] opacity-40",children:"·"}),(0,t.jsx)("span",{className:"text-[10px] capitalize text-[var(--muted-foreground)]",children:e})]})]})}),(0,t.jsx)("div",{className:"task-detail-node__title",children:c||"Untitled"}),h&&(0,t.jsxs)("div",{className:"task-detail-node__preview",children:[h,f&&f.length>120?"...":""]})]})})},gP=new Set(["done","passed"]),gQ="__taskDetail__";function gR(a){return"root"===a.type?{width:240,height:100}:"work"===a.type?{width:220,height:88}:"function"===a.type?{width:200,height:80}:"gate"===a.type?{width:108,height:108}:"conditional"===a.type?{width:84,height:84}:{width:68,height:68}}function gS(a,b){let c=function(a){try{let b=localStorage.getItem(`graph-positions:${a}`);return b?JSON.parse(b):null}catch{return null}}(b);return c?a.map(a=>c[a.id]?{...a,position:c[a.id]}:a):a}function gT({graph:a,taskId:b,className:c,fullscreen:d=!1,onNodeSelect:e,taskDetailNode:f,onNodeClick:g}){let[h,i]=(0,u.useState)("LR"),j=(0,u.useRef)(null),k=(0,u.useRef)(!1),l=gI(a=>a.selectedNodeId),m=gI(a=>a.setSelectedNodeId),n=gI(a=>a.setViewport),o=!!f,q=(0,u.useMemo)(()=>(function(a,b,c,d,e){let f=new $.graphlib.Graph().setDefaultEdgeLabel(()=>({}));f.setGraph({rankdir:b,nodesep:48,ranksep:84,marginx:32,marginy:32});let g=new Set;if(c){for(let[b,c]of Object.entries(a.nodes))"root"===c.type&&g.add(b),"gate"===c.type&&"handoff_gate"===c.gateType&&g.add(b);f.setNode(gQ,{width:280,height:120})}for(let[b,c]of Object.entries(a.nodes)){if(g.has(b))continue;let{width:a,height:d}=gR(c);f.setNode(b,{width:a,height:d})}if(c){let b=new Set;for(let c of a.edges)g.has(c.from)&&!g.has(c.to)&&b.add(c.to);for(let a of b)f.setEdge(gQ,a)}for(let b of a.edges)g.has(b.from)||g.has(b.to)||f.setEdge(b.from,b.to);$.layout(f);let h=[];if(c){let a=f.node(gQ);h.push({id:gQ,type:"taskDetail",data:d||{},position:{x:(a?.x??0)-140,y:(a?.y??0)-60},selectable:!0})}for(let[b,c]of Object.entries(a.nodes)){if(g.has(b))continue;let a=f.node(b),{width:d,height:i}=gR(c);h.push({id:b,type:c.type,data:{nodeId:b,node:c,label:(0,gA.getNodeLabel)(b,c)},position:{x:(a?.x??0)-d/2,y:(a?.y??0)-i/2},selectable:!0,selected:e===b})}return h})(a,h,o,f,l),[a,h,o,f,l]),[r,s]=(0,u.useState)(()=>gS(q,a.id));(0,u.useEffect)(()=>{s(gS(q,a.id))},[q,a.id]);let v=(0,u.useMemo)(()=>(function(a,b){let c=[],d=new Set;if(b)for(let[b,c]of Object.entries(a.nodes))"root"===c.type&&d.add(b),"gate"===c.type&&"handoff_gate"===c.gateType&&d.add(b);if(b){let b=new Set;for(let c of a.edges)d.has(c.from)&&!d.has(c.to)&&b.add(c.to);for(let a of b)c.push({id:`${gQ}-${a}`,source:gQ,target:a,type:"smoothstep",animated:!1,className:"execution-edge",markerEnd:{type:p.ArrowClosed}})}let e=function(a){let b=new Set,c=Object.values(a.nodes).map(a=>a.status),d=c.includes("running")?"running":c.includes("awaiting_human")?"awaiting_human":null;if(!d){for(let[c,d]of a.edges.entries()){let e=a.nodes[d.from],f=a.nodes[d.to];e&&f&&gP.has(e.status)&&"pending"===f.status&&b.add(c)}return b}let e=new Map;for(let[b,c]of a.edges.entries())e.has(c.to)||e.set(c.to,[]),e.get(c.to).push({idx:b,from:c.from});let f=new Set,g=[];for(let[b,c]of Object.entries(a.nodes))c.status===d&&(g.push(b),f.add(b));for(;g.length>0;){let c=g.shift();for(let{idx:d,from:h}of e.get(c)??[]){let c=a.nodes[h];c&&gP.has(c.status)&&(b.add(d),f.has(h)||(f.add(h),g.push(h)))}}return b}(a);for(let[b,f]of a.edges.entries()){if(d.has(f.from)||d.has(f.to))continue;let a=e.has(b),g="soft"===f.type;c.push({id:`${f.from}-${f.to}-${b}`,source:f.from,target:f.to,type:"smoothstep",animated:a,className:`execution-edge ${g?"execution-edge--soft":""} ${a?"execution-edge--active":""}`,markerEnd:{type:p.ArrowClosed},style:g?{strokeDasharray:"6 4"}:void 0})}return c})(a,o),[a,o]),w=(0,u.useCallback)(a=>{s(b=>eK(a,b))},[]),x=(0,u.useCallback)(()=>{s(b=>{var c=a.id;let d={};for(let a of b)d[a.id]=a.position;try{localStorage.setItem(`graph-positions:${c}`,JSON.stringify(d))}catch{}return b})},[a.id]),y=(0,u.useCallback)(()=>{var b;b=a.id,localStorage.removeItem(`graph-positions:${b}`),s(q),setTimeout(()=>j.current?.fitView({padding:.2,duration:250}),0)},[a.id,q]);(0,u.useEffect)(()=>{l&&(a.nodes[l]||l===gQ||m(null))},[a.nodes,l,m]);let z=(0,u.useCallback)(async(a,b)=>{let c=b.id;m(c),e?.(c),g?.(c)},[m,e,g]);return(0,t.jsx)("div",{className:`execution-graph-panel ${d?"execution-graph-panel--fullscreen":""} ${c??""}`,children:(0,t.jsxs)(ga,{nodes:r,edges:v,nodeTypes:gO,fitView:!0,fitViewOptions:{padding:.2},onInit:a=>{j.current=a,k.current=!1},onMoveEnd:(a,b)=>{if(!k.current){k.current=!0;return}n(b)},onNodesChange:w,onNodeDragStop:x,onNodeClick:z,panOnScroll:!0,children:[(0,t.jsx)(gg,{gap:24,size:1.2,color:"rgba(100, 116, 139, 0.25)"}),(0,t.jsx)(gy,{pannable:!0,zoomable:!0}),(0,t.jsxs)(gp,{children:[(0,t.jsx)(gm,{title:"Fit graph",onClick:()=>{j.current?.fitView({padding:.2,duration:250})},children:"⊡"}),(0,t.jsx)(gm,{title:"Reset layout",onClick:y,children:"↻"}),(0,t.jsx)(gm,{title:"Toggle layout direction",onClick:()=>{i(a=>"TB"===a?"LR":"TB")},children:h})]})]})})}function gU({graph:a,taskId:b,onStateChange:c,onRefetch:d}){let e,[f,g]=(0,u.useState)(null),[h,i]=(0,u.useState)(null),j=a.executionState??(0===(e=Object.values(a.nodes)).length?"ready":e.some(a=>"running"===a.status||"awaiting_human"===a.status)?"running":e.some(a=>"paused"===a.status)?"paused":e.some(a=>"stopped"===a.status)?"stopped":e.every(a=>"done"===a.status||"passed"===a.status||"failed"===a.status||"skipped"===a.status)?"done":"ready"),k=function(a){switch(a){case"ready":return[{label:"Start",icon:(0,t.jsx)(gV,{}),className:"btn-primary",action:"start"}];case"running":return[{label:"Pause",icon:(0,t.jsx)(gW,{}),className:"btn-secondary",action:"pause"},{label:"Stop",icon:(0,t.jsx)(gX,{}),className:"btn-ghost text-[var(--destructive)]",action:"stop"}];case"paused":return[{label:"Resume",icon:(0,t.jsx)(gV,{}),className:"btn-primary",action:"resume"},{label:"Stop",icon:(0,t.jsx)(gX,{}),className:"btn-ghost text-[var(--destructive)]",action:"stop"}];case"stopped":return[{label:"Resume",icon:(0,t.jsx)(gV,{}),className:"btn-primary",action:"resume"}];case"done":return[{label:"Restart",icon:(0,t.jsx)(gY,{}),className:"btn-secondary",action:"restart"}];default:return[]}}(j),l=async a=>{g(a),i(null);try{let e=`/api/tasks/${b}/graph/${a}`,f=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"}}),g=await f.json().catch(()=>({}));if(!f.ok)throw Error(g?.error||`Failed to ${a} execution`);g?.executionState&&c?.(g.executionState),await d?.()}catch(b){i(b instanceof Error?b.message:`Failed to ${a}`)}finally{g(null)}};return(0,t.jsxs)("div",{className:"execution-controls",children:[(0,t.jsxs)("div",{className:"execution-controls__status",children:[(0,t.jsxs)("span",{className:`execution-controls__badge ${function(a){switch(a){case"ready":default:return"bg-[var(--muted)] text-[var(--muted-foreground)]";case"running":return"bg-[var(--status-in-progress-bg)] text-[var(--status-in-progress)]";case"paused":return"bg-amber-100 text-amber-700";case"stopped":return"bg-[var(--status-blocked-bg)] text-[var(--status-blocked)]";case"done":return"bg-[var(--status-completed-bg)] text-[var(--status-completed)]"}}(j)}`,children:["running"===j&&(0,t.jsx)("span",{className:"execution-controls__pulse"}),function(a){switch(a){case"ready":return"Ready";case"running":return"Running";case"paused":return"Paused";case"stopped":return"Stopped";case"done":return"Complete";default:return a}}(j)]}),(0,t.jsxs)("span",{className:"execution-controls__version",children:["v",a.graphVersion]})]}),(0,t.jsx)("div",{className:"execution-controls__actions",children:k.map(({label:a,icon:b,className:c,action:d})=>(0,t.jsxs)("button",{type:"button",onClick:()=>l(d),disabled:null!==f,className:`btn ${c} execution-controls__btn`,children:[f===d?(0,t.jsx)("span",{className:"spinner w-4 h-4"}):b,(0,t.jsx)("span",{children:a})]},d))}),h&&(0,t.jsx)("div",{className:"execution-controls__error",children:h})]})}function gV(){return(0,t.jsx)("svg",{className:"w-4 h-4",fill:"currentColor",viewBox:"0 0 20 20",children:(0,t.jsx)("path",{d:"M6.3 2.841A1.5 1.5 0 004 4.11V15.89a1.5 1.5 0 002.3 1.269l9.344-5.89a1.5 1.5 0 000-2.538L6.3 2.84z"})})}function gW(){return(0,t.jsx)("svg",{className:"w-4 h-4",fill:"currentColor",viewBox:"0 0 20 20",children:(0,t.jsx)("path",{d:"M5.75 3a.75.75 0 00-.75.75v12.5c0 .414.336.75.75.75h1.5a.75.75 0 00.75-.75V3.75A.75.75 0 007.25 3h-1.5zM12.75 3a.75.75 0 00-.75.75v12.5c0 .414.336.75.75.75h1.5a.75.75 0 00.75-.75V3.75a.75.75 0 00-.75-.75h-1.5z"})})}function gX(){return(0,t.jsx)("svg",{className:"w-4 h-4",fill:"currentColor",viewBox:"0 0 20 20",children:(0,t.jsx)("rect",{x:"4",y:"4",width:"12",height:"12",rx:"1.5"})})}function gY(){return(0,t.jsx)("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})})}function gZ(a){if(!a)return"N/A";let b=new Date(a);return Number.isNaN(b.getTime())?a:b.toLocaleString()}function g$({graph:a,onNodeTrigger:b,showLogsButton:c=!0,onShowLogs:d}){let e=gI(a=>a.selectedNodeId),f=gI(a=>a.triggeringNodeId),g=gI(a=>a.setSelectedNodeId),[h,i]=(0,u.useState)(!1),j=(0,u.useRef)(null),k=(0,u.useCallback)(a=>{a.preventDefault(),i(!0)},[]);if((0,u.useEffect)(()=>{if(!h)return;let a=a=>{if(!j.current)return;let b=Math.max(280,Math.min(700,j.current.getBoundingClientRect().right-a.clientX));j.current.style.width=`${b}px`},b=()=>i(!1);return document.addEventListener("mousemove",a),document.addEventListener("mouseup",b),document.body.style.cursor="col-resize",document.body.style.userSelect="none",()=>{document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",b),document.body.style.cursor="",document.body.style.userSelect=""}},[h]),!e||!a.nodes[e])return(0,t.jsxs)("aside",{ref:j,className:"graph-panel-card node-inspector node-inspector--resizable",children:[(0,t.jsx)("div",{className:"node-inspector__resize-handle",onMouseDown:k}),(0,t.jsx)("div",{className:"graph-panel-card__title",children:"Node Inspector"}),(0,t.jsx)("p",{className:"graph-panel-card__empty",children:"Select a node in the graph to inspect details."})]});let l=a.nodes[e],m=gF(e,a),n="blocked"===m?"start":m,o="blocked"===m?"Run Node":function(a,b){switch(a){case"start":return"Start Node";case"resume":return"Resume Node";case"retry":return"stopped"===b||"done"===b?"Re-run Node":"Retry Node";default:return null}}(n,l.status),p=f===e,q="work"===l.type&&"running"===l.status,r=async()=>{"none"!==n&&b&&await b(e,n)},s=async()=>{b&&await b(e,"stop")};return(0,t.jsxs)("aside",{ref:j,className:"graph-panel-card node-inspector node-inspector--resizable",children:[(0,t.jsx)("div",{className:"node-inspector__resize-handle",onMouseDown:k}),(0,t.jsxs)("div",{className:"graph-panel-card__row",children:[(0,t.jsx)("div",{className:"graph-panel-card__title",children:"Node Inspector"}),(0,t.jsx)("button",{type:"button",className:"graph-link-button",onClick:()=>g(null),children:"Clear"})]}),(0,t.jsxs)("div",{className:"node-inspector__headline",children:[(0,t.jsx)("div",{className:"node-inspector__name",children:(0,gA.getNodeLabel)(e,l)}),(0,t.jsxs)("div",{className:"node-inspector__badges",children:[(0,t.jsx)("span",{className:"node-inspector__pill",children:l.type}),"root"===l.type&&(0,t.jsx)("span",{className:"node-inspector__pill node-inspector__pill--root",children:"root"})]})]}),(0,t.jsxs)("div",{className:"node-inspector__grid",children:[(0,t.jsx)("span",{children:"Status"}),(0,t.jsx)("strong",{className:`node-inspector__status node-inspector__status--${l.status}`,children:(0,gA.formatNodeStatusLabel)(l.status)}),(0,t.jsx)("span",{children:"Node ID"}),(0,t.jsx)("code",{children:e}),(0,t.jsx)("span",{children:"Dependencies"}),(0,t.jsx)("strong",{children:l.deps.length}),(0,t.jsx)("span",{children:"Started"}),(0,t.jsx)("strong",{children:gZ(l.startedAt)}),(0,t.jsx)("span",{children:"Completed"}),(0,t.jsx)("strong",{children:gZ(l.completedAt)}),l.startedAt&&l.completedAt&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{children:"Duration"}),(0,t.jsx)("strong",{children:function(a,b){if(!a||!b)return"N/A";let c=new Date(a).getTime(),d=new Date(b).getTime();if(Number.isNaN(c)||Number.isNaN(d))return"N/A";let e=Math.floor((d-c)/1e3),f=Math.floor(e/60),g=Math.floor(f/60);return g>0?`${g}h ${f%60}m`:f>0?`${f}m ${e%60}s`:`${e}s`}(l.startedAt,l.completedAt)})]})]}),"root"===l.type&&(0,t.jsx)(g_,{node:l}),"work"===l.type&&(0,t.jsx)(g0,{node:l,showLogsButton:c,onShowLogs:()=>d?.(e)}),"gate"===l.type&&(0,t.jsx)(g2,{node:l}),"conditional"===l.type&&(0,t.jsxs)("div",{className:"node-inspector__section",children:[(0,t.jsx)("h4",{children:"Condition"}),(0,t.jsx)("p",{children:l.condition.expression})]}),b&&(o||q)&&(0,t.jsxs)("div",{className:"node-inspector__actions",children:[o&&(0,t.jsx)("button",{type:"button",onClick:r,disabled:p,className:"btn btn-primary w-full",children:p?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"spinner w-4 h-4"}),"Processing..."]}):o}),q&&(0,t.jsx)("button",{type:"button",onClick:s,disabled:p,className:"btn btn-destructive w-full mt-2",children:p?"Processing...":"Stop Node"})]})]})}function g_({node:a}){let b=gM(a.objective,a.title);return(0,t.jsxs)("div",{className:"node-inspector__section",children:[(0,t.jsx)("h4",{children:"Task Objective"}),(0,t.jsx)("p",{className:"node-inspector__objective",children:b||"No objective defined."}),a.criteria&&a.criteria.length>0&&(0,t.jsxs)("div",{className:"node-inspector__criteria",children:[(0,t.jsx)("h5",{children:"Success Criteria"}),(0,t.jsx)("ul",{children:a.criteria.map((a,b)=>(0,t.jsxs)("li",{children:[(0,t.jsx)("span",{className:"node-inspector__criterion-bullet",children:"•"}),a]},b))})]}),a.planVersions&&a.planVersions.length>0&&(0,t.jsxs)("div",{className:"node-inspector__versions",children:[(0,t.jsx)("h5",{children:"Plan Versions"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1",children:a.planVersions.map(a=>(0,t.jsxs)("span",{className:"node-inspector__version-badge",children:["v",a]},a))})]})]})}function g0({node:a,showLogsButton:b,onShowLogs:c}){let[d,e]=(0,u.useState)({});return(0,t.jsxs)("div",{className:"node-inspector__section",children:[(0,t.jsx)("h4",{children:"Work Node"}),(0,t.jsx)("p",{children:a.description||"No description provided."}),(0,t.jsxs)("div",{className:"node-inspector__grid",children:[a.workType&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{children:"Work Type"}),(0,t.jsx)("strong",{children:a.workType})]}),(0,t.jsx)("span",{children:"Attempts"}),(0,t.jsxs)("strong",{children:[a.attempts," / ",a.maxAttempts]}),(0,t.jsx)("span",{children:"Retry Policy"}),(0,t.jsx)("strong",{children:a.retryPolicy.onExhaust}),void 0!==a.estimateMinutes&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{children:"Estimate"}),(0,t.jsxs)("strong",{children:[a.estimateMinutes,"m"]})]}),void 0!==a.actualMinutes&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{children:"Actual"}),(0,t.jsxs)("strong",{children:[a.actualMinutes,"m"]})]})]}),Array.isArray(a.where)&&a.where.length>0&&(0,t.jsx)(g1,{title:"Where",items:a.where}),Array.isArray(a.whatChanges)&&a.whatChanges.length>0&&(0,t.jsx)(g1,{title:"What Changes",items:a.whatChanges}),Array.isArray(a.acceptanceCriteria)&&a.acceptanceCriteria.length>0&&(0,t.jsx)(g1,{title:"Acceptance Criteria",items:a.acceptanceCriteria}),Array.isArray(a.todos)&&a.todos.length>0&&(0,t.jsx)(g1,{title:"To Dos",items:a.todos}),Array.isArray(a.verification)&&a.verification.length>0&&(0,t.jsx)(g1,{title:"Verification",items:a.verification}),b&&(0,t.jsxs)("button",{type:"button",onClick:c,className:"btn btn-secondary btn-sm mt-3 w-full",children:[(0,t.jsx)("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 6h16M4 10h16M4 14h16M4 18h16"})}),"View Logs"]}),a.output&&Object.keys(a.output).length>0&&(0,t.jsx)(g4,{data:function(a){let b=Object.keys(a);if(1===b.length&&"string"==typeof a[b[0]])try{let c=JSON.parse(a[b[0]]);if(c&&"object"==typeof c&&!Array.isArray(c))return c}catch{}return a}(a.output),expandedSections:d,toggle:a=>e(b=>({...b,[a]:!b[a]}))})]})}function g1({title:a,items:b}){return(0,t.jsxs)("div",{className:"node-inspector__checks-list mt-3",children:[(0,t.jsx)("h5",{children:a}),(0,t.jsx)("ul",{children:b.map((b,c)=>(0,t.jsxs)("li",{children:[(0,t.jsx)("span",{className:"check-icon",children:"•"}),(0,t.jsx)("span",{children:b})]},`${a}-${c}`))})]})}function g2({node:a}){return(0,t.jsxs)("div",{className:"node-inspector__section",children:[(0,t.jsx)("h4",{children:"Gate"}),(0,t.jsxs)("div",{className:"node-inspector__grid",children:[(0,t.jsx)("span",{children:"Gate Type"}),(0,t.jsx)("strong",{children:a.gateType}),(0,t.jsx)("span",{children:"Required"}),(0,t.jsx)("strong",{children:a.required?"Yes":"No"}),(0,t.jsx)("span",{children:"Strategy"}),(0,t.jsx)("strong",{children:a.verificationStrategy.type})]}),a.verificationStrategy.checks&&a.verificationStrategy.checks.length>0&&(0,t.jsxs)("div",{className:"node-inspector__checks-list",children:[(0,t.jsx)("h5",{children:"Checks"}),(0,t.jsx)("ul",{children:a.verificationStrategy.checks.map((b,c)=>{let d=a.verificationResult?.checks?.find(a=>a.check===b);return(0,t.jsxs)("li",{className:d?d.passed?"check--passed":"check--failed":"",children:[(0,t.jsx)("span",{className:"check-icon",children:d?d.passed?"✓":"✗":"○"}),(0,t.jsx)("span",{children:b})]},c)})})]}),a.verificationResult?.checks?.length?(0,t.jsx)("ul",{className:"node-inspector__checks",children:a.verificationResult.checks.map((a,b)=>(0,t.jsxs)("li",{children:[(0,t.jsx)("span",{className:a.passed?"text-green-600":"text-red-600",children:a.passed?"PASS":"FAIL"}),(0,t.jsx)("span",{children:a.check}),a.message&&(0,t.jsx)("span",{className:"text-[var(--muted-foreground)]",children:a.message})]},`${a.check}-${b}`))}):null]})}let g3=["done","decision","analysis","explanation","next_step","question","final_result","summary","plan_md","implementation_summary_md","verification_md","next_prompt"];function g4({data:a,expandedSections:b,toggle:c}){let d=[],e=[];for(let[b,c]of Object.entries(a))g3.includes(b)?d.push([b,c]):e.push([b,c]);d.sort((a,b)=>g3.indexOf(a[0])-g3.indexOf(b[0]));let f=[...d,...e];return(0,t.jsxs)("div",{className:"mt-3 space-y-2",children:[(0,t.jsx)("h4",{className:"text-[10px] font-semibold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Output"}),f.map(([a,d])=>(0,t.jsx)(g5,{fieldKey:a,value:d,expanded:b[a]??!1,onToggle:()=>c(a)},a))]})}function g5({fieldKey:a,value:b,expanded:c,onToggle:d}){let e=a.replace(/_/g," ").replace(/\bmd\b/g,"").trim();if("boolean"==typeof b)return(0,t.jsxs)("div",{className:"flex items-center justify-between py-1",children:[(0,t.jsx)("span",{className:"text-xs text-[var(--muted-foreground)] capitalize",children:e}),(0,t.jsx)("span",{className:`text-[10px] font-bold uppercase px-1.5 py-0.5 rounded ${b?"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400":"bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-400"}`,children:b?"yes":"no"})]});if("string"==typeof b&&b.length<80&&!b.includes("\n"))return(0,t.jsxs)("div",{className:"flex items-start justify-between gap-2 py-1",children:[(0,t.jsx)("span",{className:"text-xs text-[var(--muted-foreground)] capitalize flex-shrink-0",children:e}),(0,t.jsx)("span",{className:"text-xs font-medium text-right",children:b||(0,t.jsx)("em",{className:"text-[var(--muted-foreground)]",children:"empty"})})]});if("string"==typeof b){let f=a.endsWith("_md"),g=b.slice(0,120).replace(/\n/g," ");return(0,t.jsxs)("div",{className:"border border-[var(--card-border)] rounded-md overflow-hidden",children:[(0,t.jsxs)("button",{type:"button",onClick:d,className:"w-full flex items-center justify-between px-2.5 py-1.5 text-left hover:bg-[var(--muted)]/30 transition-colors",children:[(0,t.jsx)("span",{className:"text-xs text-[var(--muted-foreground)] capitalize",children:e}),(0,t.jsx)("svg",{className:`w-3 h-3 text-[var(--muted-foreground)] transition-transform ${c?"":"-rotate-90"}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),c?(0,t.jsx)("div",{className:`px-2.5 pb-2.5 text-xs leading-relaxed ${f?"whitespace-pre-wrap":""}`,children:f?(0,t.jsx)(g6,{content:b}):(0,t.jsx)("p",{className:"whitespace-pre-wrap break-words",children:b})}):(0,t.jsxs)("p",{className:"px-2.5 pb-2 text-[11px] text-[var(--muted-foreground)] truncate",children:[g,"..."]})]})}if("object"==typeof b&&null!==b){let a=JSON.stringify(b,null,2);return(0,t.jsxs)("div",{className:"border border-[var(--card-border)] rounded-md overflow-hidden",children:[(0,t.jsxs)("button",{type:"button",onClick:d,className:"w-full flex items-center justify-between px-2.5 py-1.5 text-left hover:bg-[var(--muted)]/30 transition-colors",children:[(0,t.jsx)("span",{className:"text-xs text-[var(--muted-foreground)] capitalize",children:e}),(0,t.jsx)("svg",{className:`w-3 h-3 text-[var(--muted-foreground)] transition-transform ${c?"":"-rotate-90"}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),c&&(0,t.jsx)("pre",{className:"px-2.5 pb-2.5 text-[11px] font-mono overflow-x-auto whitespace-pre-wrap break-words",children:a})]})}return(0,t.jsxs)("div",{className:"flex items-center justify-between py-1",children:[(0,t.jsx)("span",{className:"text-xs text-[var(--muted-foreground)] capitalize",children:e}),(0,t.jsx)("span",{className:"text-xs font-mono",children:String(b)})]})}function g6({content:a}){let b=a.split("\n");return(0,t.jsx)("div",{className:"space-y-1",children:b.map((a,b)=>{let c=a.trimStart(),d=c.match(/^-\s*\[(x| )\]\s*(.*)$/i);if(d){let a="x"===d[1].toLowerCase();return(0,t.jsxs)("div",{className:"flex items-start gap-1.5",children:[(0,t.jsx)("span",{className:`flex-shrink-0 mt-0.5 ${a?"text-green-600":"text-[var(--muted-foreground)]"}`,children:a?(0,t.jsx)("svg",{className:"w-3.5 h-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2.5,children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 13l4 4L19 7"})}):(0,t.jsx)("svg",{className:"w-3.5 h-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,t.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"3"})})}),(0,t.jsx)("span",{className:a?"line-through text-[var(--muted-foreground)]":"",children:d[2]})]},b)}return c.startsWith("- ")?(0,t.jsxs)("div",{className:"flex items-start gap-1.5",children:[(0,t.jsx)("span",{className:"flex-shrink-0 mt-1 w-1 h-1 rounded-full bg-current opacity-40"}),(0,t.jsx)("span",{children:c.slice(2)})]},b):c?(0,t.jsx)("div",{children:a},b):(0,t.jsx)("div",{className:"h-1"},b)})})}class g7{diff(a,b,c={}){let d;"function"==typeof c?(d=c,c={}):"callback"in c&&(d=c.callback);let e=this.castInput(a,c),f=this.castInput(b,c),g=this.removeEmpty(this.tokenize(e,c)),h=this.removeEmpty(this.tokenize(f,c));return this.diffWithOptionsObj(g,h,c,d)}diffWithOptionsObj(a,b,c,d){var e;let f=a=>(a=this.postProcess(a,c),d)?void setTimeout(function(){d(a)},0):a,g=b.length,h=a.length,i=1,j=g+h;null!=c.maxEditLength&&(j=Math.min(j,c.maxEditLength));let k=null!=(e=c.timeout)?e:1/0,l=Date.now()+k,m=[{oldPos:-1,lastComponent:void 0}],n=this.extractCommon(m[0],b,a,0,c);if(m[0].oldPos+1>=h&&n+1>=g)return f(this.buildValues(m[0].lastComponent,b,a));let o=-1/0,p=1/0,q=()=>{for(let d=Math.max(o,-i);d<=Math.min(p,i);d+=2){let e,i=m[d-1],j=m[d+1];i&&(m[d-1]=void 0);let k=!1;if(j){let a=j.oldPos-d;k=j&&0<=a&&a<g}let l=i&&i.oldPos+1<h;if(!k&&!l){m[d]=void 0;continue}if(e=!l||k&&i.oldPos<j.oldPos?this.addToPath(j,!0,!1,0,c):this.addToPath(i,!1,!0,1,c),n=this.extractCommon(e,b,a,d,c),e.oldPos+1>=h&&n+1>=g)return f(this.buildValues(e.lastComponent,b,a))||!0;m[d]=e,e.oldPos+1>=h&&(p=Math.min(p,d-1)),n+1>=g&&(o=Math.max(o,d+1))}i++};if(d)!function a(){setTimeout(function(){if(i>j||Date.now()>l)return d(void 0);q()||a()},0)}();else for(;i<=j&&Date.now()<=l;){let a=q();if(a)return a}}addToPath(a,b,c,d,e){let f=a.lastComponent;return f&&!e.oneChangePerToken&&f.added===b&&f.removed===c?{oldPos:a.oldPos+d,lastComponent:{count:f.count+1,added:b,removed:c,previousComponent:f.previousComponent}}:{oldPos:a.oldPos+d,lastComponent:{count:1,added:b,removed:c,previousComponent:f}}}extractCommon(a,b,c,d,e){let f=b.length,g=c.length,h=a.oldPos,i=h-d,j=0;for(;i+1<f&&h+1<g&&this.equals(c[h+1],b[i+1],e);)i++,h++,j++,e.oneChangePerToken&&(a.lastComponent={count:1,previousComponent:a.lastComponent,added:!1,removed:!1});return j&&!e.oneChangePerToken&&(a.lastComponent={count:j,previousComponent:a.lastComponent,added:!1,removed:!1}),a.oldPos=h,i}equals(a,b,c){return c.comparator?c.comparator(a,b):a===b||!!c.ignoreCase&&a.toLowerCase()===b.toLowerCase()}removeEmpty(a){let b=[];for(let c=0;c<a.length;c++)a[c]&&b.push(a[c]);return b}castInput(a,b){return a}tokenize(a,b){return Array.from(a)}join(a){return a.join("")}postProcess(a,b){return a}get useLongestToken(){return!1}buildValues(a,b,c){let d,e=[];for(;a;)e.push(a),d=a.previousComponent,delete a.previousComponent,a=d;e.reverse();let f=e.length,g=0,h=0,i=0;for(;g<f;g++){let a=e[g];if(a.removed)a.value=this.join(c.slice(i,i+a.count)),i+=a.count;else{if(!a.added&&this.useLongestToken){let d=b.slice(h,h+a.count);d=d.map(function(a,b){let d=c[i+b];return d.length>a.length?d:a}),a.value=this.join(d)}else a.value=this.join(b.slice(h,h+a.count));h+=a.count,a.added||(i+=a.count)}}return e}}let g8=new class extends g7{constructor(){super(...arguments),this.tokenize=g9}equals(a,b,c){return c.ignoreWhitespace?(c.newlineIsToken&&a.includes("\n")||(a=a.trim()),c.newlineIsToken&&b.includes("\n")||(b=b.trim())):c.ignoreNewlineAtEof&&!c.newlineIsToken&&(a.endsWith("\n")&&(a=a.slice(0,-1)),b.endsWith("\n")&&(b=b.slice(0,-1))),super.equals(a,b,c)}};function g9(a,b){b.stripTrailingCr&&(a=a.replace(/\r\n/g,"\n"));let c=[],d=a.split(/(\n|\r\n)/);d[d.length-1]||d.pop();for(let a=0;a<d.length;a++){let e=d[a];a%2&&!b.newlineIsToken?c[c.length-1]+=e:c.push(e)}return c}function ha(a){if(!a)return"N/A";let b=new Date(a);return Number.isNaN(b.getTime())?a:b.toLocaleString()}function hb({diffA:a,diffB:b}){let c=(0,u.useMemo)(()=>g8.diff(a,b,void 0),[a,b]);return a||b?(0,t.jsx)("div",{className:"node-detail-panel__diff",children:c.map((a,b)=>{let c=a.added?"node-detail-panel__diff-added":a.removed?"node-detail-panel__diff-removed":"node-detail-panel__diff-unchanged";return(0,t.jsx)("pre",{className:c,children:a.value},b)})}):(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)]",children:"No output to compare."})}function hc({graph:a,taskId:b,projectId:c,isOpen:d,onClose:e,onNodeTrigger:f,onShowLogs:g,onRefetch:h}){let i=gI(a=>a.selectedNodeId),j=gI(a=>a.triggeringNodeId),[k,l]=(0,u.useState)("execution"),[m,n]=(0,u.useState)(420),[o,p]=(0,u.useState)(!1),[q,r]=(0,u.useState)(null),[s,v]=(0,u.useState)(null),w=(0,u.useRef)(null),x=(0,u.useRef)(null),y=i?a.nodes[i]:null,z=(0,u.useMemo)(()=>i?function(a,b){let c=a.runtimeEvents??[],d=[],e=c.filter(a=>"node_status"===a.eventType&&a.nodeId===b);for(let c=0;c<e.length;c++){let f=e[c],g=a.nodes[b];d.push({id:`${f.nodeId}-${f.timestamp}`,timestamp:f.timestamp,fromStatus:f.fromStatus,toStatus:f.toStatus,output:g?.type==="work"?g.output:void 0,duration:void 0})}return d.reverse()}(a,i):[],[a,i]),A=(0,u.useCallback)(a=>{a.preventDefault(),p(!0)},[]);(0,u.useEffect)(()=>{if(!o)return;let a=a=>{n(Math.max(320,Math.min(800,window.innerWidth-a.clientX)))},b=()=>{p(!1)};return document.addEventListener("mousemove",a),document.addEventListener("mouseup",b),()=>{document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",b)}},[o]),(0,u.useEffect)(()=>{r(null),v(null)},[i]);let B=async()=>{if(!i||!y||!f)return;let b=gF(i,a),c="blocked"===b?"start":b;"none"!==c&&await f(i,c)},C=async()=>{i&&f&&await f(i,"stop")};if(!d||!i||!y)return null;let D=gF(i,a),E="blocked"===D?"Run Node":function(a,b){switch(a){case"start":return"Start Node";case"resume":return"Resume Node";case"retry":return"stopped"===b||"done"===b?"Re-run Node":"Retry Node";default:return null}}("blocked"===D?"start":D,y.status),F=j===i,G="work"===y.type&&"running"===y.status,H=a=>{if(!a)return"";let b=z.find(b=>b.id===a);return b?.output?JSON.stringify(b.output,null,2):""},I="work"===y.type?JSON.stringify(y.output??{},null,2):"";return(0,t.jsxs)("aside",{ref:w,className:`node-detail-panel ${d?"node-detail-panel--open":""}`,style:{width:`${m}px`},children:[(0,t.jsx)("div",{ref:x,className:`node-detail-panel__resize-handle ${o?"node-detail-panel__resize-handle--active":""}`,onMouseDown:A}),(0,t.jsxs)("header",{className:"node-detail-panel__header",children:[(0,t.jsxs)("div",{className:"node-detail-panel__title-row",children:[(0,t.jsxs)("div",{className:"node-detail-panel__title",children:[(0,t.jsx)("h2",{children:(0,gA.getNodeLabel)(i,y)}),(0,t.jsxs)("div",{className:"node-detail-panel__badges",children:[(0,t.jsx)("span",{className:"node-detail-panel__type-badge",children:y.type}),(0,t.jsx)("span",{className:`node-detail-panel__status-badge node-detail-panel__status-badge--${y.status}`,children:(0,gA.formatNodeStatusLabel)(y.status)})]})]}),(0,t.jsx)("button",{type:"button",onClick:e,className:"node-detail-panel__close","aria-label":"Close panel",children:(0,t.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,t.jsxs)("nav",{className:"node-detail-panel__tabs",children:[(0,t.jsx)("button",{type:"button",className:`node-detail-panel__tab ${"execution"===k?"node-detail-panel__tab--active":""}`,onClick:()=>l("execution"),children:"Execution"}),(0,t.jsxs)("button",{type:"button",className:`node-detail-panel__tab ${"history"===k?"node-detail-panel__tab--active":""}`,onClick:()=>l("history"),children:["History",z.length>0&&(0,t.jsx)("span",{className:"node-detail-panel__tab-count",children:z.length})]}),(0,t.jsx)("button",{type:"button",className:`node-detail-panel__tab ${"diff"===k?"node-detail-panel__tab--active":""}`,onClick:()=>l("diff"),children:"Diff"})]})]}),(0,t.jsxs)("div",{className:"node-detail-panel__content",children:["execution"===k&&(0,t.jsxs)("div",{className:"node-detail-panel__section",children:[(0,t.jsxs)("div",{className:"node-detail-panel__grid",children:[(0,t.jsx)("span",{children:"Node ID"}),(0,t.jsx)("code",{className:"node-detail-panel__code",children:i}),(0,t.jsx)("span",{children:"Status"}),(0,t.jsx)("strong",{className:`node-detail-panel__status--${y.status}`,children:(0,gA.formatNodeStatusLabel)(y.status)}),(0,t.jsx)("span",{children:"Dependencies"}),(0,t.jsx)("strong",{children:y.deps.length}),(0,t.jsx)("span",{children:"Started"}),(0,t.jsx)("strong",{children:ha(y.startedAt)}),(0,t.jsx)("span",{children:"Completed"}),(0,t.jsx)("strong",{children:ha(y.completedAt)}),y.startedAt&&y.completedAt&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{children:"Duration"}),(0,t.jsx)("strong",{children:function(a,b){if(!a||!b)return"N/A";let c=new Date(a).getTime(),d=new Date(b).getTime();if(Number.isNaN(c)||Number.isNaN(d))return"N/A";let e=Math.floor((d-c)/1e3),f=Math.floor(e/60),g=Math.floor(f/60);return g>0?`${g}h ${f%60}m`:f>0?`${f}m ${e%60}s`:`${e}s`}(y.startedAt,y.completedAt)})]})]}),"root"===y.type&&(0,t.jsx)(hd,{node:y,nodeId:i,taskId:b,projectId:c,graphVersion:a.graphVersion,onRefetch:h}),"work"===y.type&&(0,t.jsx)(hf,{node:y,nodeId:i,onShowLogs:g}),"gate"===y.type&&(0,t.jsx)(hg,{node:y,nodeId:i,onNodeTrigger:f,isTriggering:F}),(0,t.jsx)(hh,{taskId:b,nodeId:i,comments:y.comments??[],onRefetch:h}),f&&(E||G)&&(0,t.jsxs)("div",{className:"node-detail-panel__actions",children:[E&&(0,t.jsx)("button",{type:"button",onClick:B,disabled:F,className:"btn btn-primary w-full",children:F?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"spinner w-4 h-4"}),"Processing..."]}):E}),G&&(0,t.jsx)("button",{type:"button",onClick:C,disabled:F,className:"btn btn-destructive w-full mt-2",children:F?"Processing...":"Stop Node"})]})]}),"history"===k&&(0,t.jsx)("div",{className:"node-detail-panel__section",children:0===z.length?(0,t.jsx)("p",{className:"node-detail-panel__empty",children:"No run history available for this node."}):(0,t.jsx)("ul",{className:"node-detail-panel__history-list",children:z.map(a=>(0,t.jsxs)("li",{className:"node-detail-panel__history-item",children:[(0,t.jsxs)("div",{className:"node-detail-panel__history-header",children:[(0,t.jsx)("span",{className:"node-detail-panel__history-time",children:ha(a.timestamp)}),(0,t.jsx)("span",{className:`node-detail-panel__history-status node-detail-panel__history-status--${a.toStatus}`,children:(0,gA.formatNodeStatusLabel)(a.toStatus)})]}),(0,t.jsxs)("div",{className:"node-detail-panel__history-transition",children:[(0,gA.formatNodeStatusLabel)(a.fromStatus)," → ",(0,gA.formatNodeStatusLabel)(a.toStatus)]}),a.output&&Object.keys(a.output).length>0&&(0,t.jsxs)("details",{className:"node-detail-panel__history-output",children:[(0,t.jsx)("summary",{children:"Output"}),(0,t.jsx)("pre",{children:JSON.stringify(a.output,null,2)})]})]},a.id))})}),"diff"===k&&(0,t.jsxs)("div",{className:"node-detail-panel__section",children:[(0,t.jsxs)("div",{className:"node-detail-panel__diff-controls",children:[(0,t.jsxs)("div",{className:"node-detail-panel__diff-select",children:[(0,t.jsx)("label",{children:"Run A:"}),(0,t.jsxs)("select",{value:q??"",onChange:a=>r(a.target.value||null),className:"input",children:[(0,t.jsx)("option",{value:"",children:"Select a run..."}),(0,t.jsx)("option",{value:"__current__",children:"Current output"}),z.map(a=>(0,t.jsxs)("option",{value:a.id,children:[ha(a.timestamp)," - ",(0,gA.formatNodeStatusLabel)(a.toStatus)]},a.id))]})]}),(0,t.jsxs)("div",{className:"node-detail-panel__diff-select",children:[(0,t.jsx)("label",{children:"Run B:"}),(0,t.jsxs)("select",{value:s??"",onChange:a=>v(a.target.value||null),className:"input",children:[(0,t.jsx)("option",{value:"",children:"Select a run..."}),(0,t.jsx)("option",{value:"__current__",children:"Current output"}),z.map(a=>(0,t.jsxs)("option",{value:a.id,children:[ha(a.timestamp)," - ",(0,gA.formatNodeStatusLabel)(a.toStatus)]},a.id))]})]})]}),q&&s?(0,t.jsx)(hb,{diffA:"__current__"===q?I:H(q),diffB:"__current__"===s?I:H(s)}):(0,t.jsx)("p",{className:"node-detail-panel__empty",children:"Select two runs above to see the diff of their outputs."})]})]})]})}function hd({node:a,nodeId:b,taskId:c,projectId:d,graphVersion:e,onRefetch:f}){let g=gM(a.objective,a.title),[h,i]=(0,u.useState)(!1),[j,k]=(0,u.useState)(g),[l,m]=(0,u.useState)(null),[n,o]=(0,u.useState)(!1);(0,u.useEffect)(()=>{h||(k(g),m(null))},[g,h]);let p=(0,u.useCallback)(async()=>{let h=gM(j,a.title);if(h===g){i(!1),m(null);return}o(!0),m(null);try{let a=await fetch(`/api/tasks/${c}/graph`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({ifMatchGraphVersion:e,projectId:d||void 0,nodeUpdates:{[b]:{configPatch:{objective:h}}}})}),g=await a.json().catch(()=>({}));if(!a.ok)throw Error(g?.error||"Failed to update task objective");await f?.(),i(!1)}catch(a){m(a instanceof Error?a.message:"Failed to update task objective")}finally{o(!1)}},[j,a.title,g,c,e,d,b,f]);return(0,t.jsxs)("div",{className:"node-detail-panel__type-details",children:[(0,t.jsx)("h4",{children:"Task Objective"}),h?(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("textarea",{className:"input w-full min-h-[90px] resize-y",value:j,onChange:a=>k(a.target.value),disabled:n,"aria-label":"Edit task objective"}),l&&(0,t.jsx)("p",{className:"text-xs text-[var(--danger)]",children:l}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)("button",{type:"button",className:"btn btn-primary",onClick:p,disabled:n,children:n?"Saving...":"Save"}),(0,t.jsx)("button",{type:"button",className:"btn btn-secondary",onClick:()=>{k(g),m(null),i(!1)},disabled:n,children:"Cancel"})]})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{className:"node-detail-panel__objective",children:g||"No objective defined."}),(0,t.jsx)("div",{className:"mt-2",children:(0,t.jsx)("button",{type:"button",className:"btn btn-secondary",onClick:()=>i(!0),children:"Edit Objective"})})]}),a.criteria&&a.criteria.length>0&&(0,t.jsxs)("div",{className:"node-detail-panel__criteria",children:[(0,t.jsx)("h5",{children:"Success Criteria"}),(0,t.jsx)("ul",{children:a.criteria.map((a,b)=>(0,t.jsxs)("li",{children:[(0,t.jsx)("span",{className:"node-detail-panel__bullet",children:"•"}),a]},b))})]}),a.planVersions&&a.planVersions.length>0&&(0,t.jsxs)("div",{className:"node-detail-panel__versions",children:[(0,t.jsx)("h5",{children:"Plan Versions"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1",children:a.planVersions.map(a=>(0,t.jsxs)("span",{className:"node-detail-panel__version-badge",children:["v",a]},a))})]})]})}function he({title:a,items:b}){return Array.isArray(b)&&0!==b.length?(0,t.jsxs)("div",{className:"node-detail-panel__criteria mt-3",children:[(0,t.jsx)("h5",{children:a}),(0,t.jsx)("ul",{children:b.map((b,c)=>(0,t.jsxs)("li",{children:[(0,t.jsx)("span",{className:"node-detail-panel__bullet",children:"•"}),b]},`${a}-${c}`))})]}):null}function hf({node:a,nodeId:b,onShowLogs:c}){let[d,e]=(0,u.useState)(!1);return(0,t.jsxs)("div",{className:"node-detail-panel__type-details",children:[(0,t.jsx)("h4",{children:"Work Node"}),a.description&&(0,t.jsx)("p",{className:"node-detail-panel__description",children:a.description}),(0,t.jsxs)("div",{className:"node-detail-panel__grid mt-3",children:[a.workType&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{children:"Work Type"}),(0,t.jsx)("strong",{children:a.workType})]}),(0,t.jsx)("span",{children:"Attempts"}),(0,t.jsxs)("strong",{children:[a.attempts," / ",a.maxAttempts]}),(0,t.jsx)("span",{children:"Retry Policy"}),(0,t.jsx)("strong",{children:a.retryPolicy.onExhaust}),void 0!==a.estimateMinutes&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{children:"Estimate"}),(0,t.jsxs)("strong",{children:[a.estimateMinutes,"m"]})]}),void 0!==a.actualMinutes&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{children:"Actual"}),(0,t.jsxs)("strong",{children:[a.actualMinutes,"m"]})]})]}),(0,t.jsx)(he,{title:"Where",items:a.where}),(0,t.jsx)(he,{title:"What Changes",items:a.whatChanges}),(0,t.jsx)(he,{title:"Acceptance Criteria",items:a.acceptanceCriteria}),(0,t.jsx)(he,{title:"To Dos",items:a.todos}),(0,t.jsx)(he,{title:"Verification",items:a.verification}),c&&a.startedAt&&(0,t.jsxs)("button",{type:"button",onClick:()=>c(b),className:"btn btn-secondary btn-sm mt-3 w-full",children:[(0,t.jsx)("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 6h16M4 10h16M4 14h16M4 18h16"})}),"View Logs"]}),a.output&&Object.keys(a.output).length>0&&(0,t.jsxs)("div",{className:"node-detail-panel__output mt-3",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>e(!d),className:"node-detail-panel__output-toggle",children:[(0,t.jsx)("span",{children:"Output"}),(0,t.jsx)("svg",{className:`w-4 h-4 transition-transform ${d?"":"-rotate-90"}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),d&&(0,t.jsx)("pre",{className:"node-detail-panel__output-content",children:JSON.stringify(a.output,null,2)})]})]})}function hg({node:a,nodeId:b,onNodeTrigger:c,isTriggering:d}){let e="awaiting_human"===a.status;return(0,t.jsxs)("div",{className:"node-detail-panel__type-details",children:[(0,t.jsx)("h4",{children:"Gate"}),(0,t.jsxs)("div",{className:"node-detail-panel__grid mt-2",children:[(0,t.jsx)("span",{children:"Gate Type"}),(0,t.jsx)("strong",{children:a.gateType}),(0,t.jsx)("span",{children:"Required"}),(0,t.jsx)("strong",{children:a.required?"Yes":"No"}),(0,t.jsx)("span",{children:"Strategy"}),(0,t.jsx)("strong",{children:a.verificationStrategy.type})]}),e&&c&&(0,t.jsx)("div",{className:"node-detail-panel__actions mt-4",children:(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)("button",{type:"button",onClick:()=>c(b,"approve"),disabled:d,className:"btn btn-primary flex-1",children:d?"Processing...":"Approve"}),(0,t.jsx)("button",{type:"button",onClick:()=>c(b,"reject"),disabled:d,className:"btn btn-destructive flex-1",children:d?"Processing...":"Reject"})]})}),a.verificationStrategy.checks&&a.verificationStrategy.checks.length>0&&(0,t.jsxs)("div",{className:"node-detail-panel__checks mt-3",children:[(0,t.jsx)("h5",{children:"Checks"}),(0,t.jsx)("ul",{children:a.verificationStrategy.checks.map((b,c)=>{let d=a.verificationResult?.checks?.find(a=>a.check===b);return(0,t.jsxs)("li",{className:d?d.passed?"node-detail-panel__check--passed":"node-detail-panel__check--failed":"",children:[(0,t.jsx)("span",{className:"node-detail-panel__check-icon",children:d?d.passed?"✓":"✗":"○"}),(0,t.jsx)("span",{children:b})]},c)})})]}),a.verificationResult?.checks?.length?(0,t.jsxs)("div",{className:"node-detail-panel__verification-results mt-3",children:[(0,t.jsx)("h5",{children:"Verification Results"}),(0,t.jsx)("ul",{children:a.verificationResult.checks.map((a,b)=>(0,t.jsxs)("li",{children:[(0,t.jsx)("span",{className:a.passed?"text-green-600":"text-red-600",children:a.passed?"PASS":"FAIL"}),(0,t.jsx)("span",{children:a.check}),a.message&&(0,t.jsx)("span",{className:"text-[var(--muted-foreground)]",children:a.message})]},`${a.check}-${b}`))})]}):null]})}function hh({taskId:a,nodeId:b,comments:c,onRefetch:d}){let[e,f]=(0,u.useState)(""),[g,h]=(0,u.useState)(!1),[i,j]=(0,u.useState)(null),k=(0,u.useCallback)(async()=>{let c=e.trim();if(c){h(!0),j(null);try{let e=await fetch(`/api/tasks/${a}/nodes/${b}/comments`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:c})});if(!e.ok){let a=await e.json().catch(()=>({}));throw Error(a?.error||"Failed to add comment")}f(""),await d?.()}catch(a){j(a instanceof Error?a.message:"Failed to add comment")}finally{h(!1)}}},[e,a,b,d]);return(0,t.jsxs)("div",{className:"node-detail-panel__type-details",children:[(0,t.jsx)("h4",{children:"Comments"}),c.length>0?(0,t.jsx)("ul",{className:"node-detail-panel__history-list",children:c.map(a=>(0,t.jsxs)("li",{className:"node-detail-panel__history-item",children:[(0,t.jsxs)("div",{className:"node-detail-panel__history-header",children:[(0,t.jsx)("span",{className:"node-detail-panel__history-time",children:ha(a.createdAt)}),(0,t.jsx)("span",{className:"text-xs text-[var(--muted-foreground)]",children:a.author})]}),(0,t.jsx)("p",{className:"text-sm mt-1",children:a.content})]},a.id))}):(0,t.jsx)("p",{className:"node-detail-panel__empty",children:"No comments yet."}),(0,t.jsxs)("div",{className:"mt-3 flex gap-2",children:[(0,t.jsx)("input",{type:"text",className:"input flex-1",placeholder:"Add a steering comment...",value:e,onChange:a=>f(a.target.value),onKeyDown:a=>{"Enter"!==a.key||a.shiftKey||(a.preventDefault(),k())},disabled:g}),(0,t.jsx)("button",{type:"button",className:"btn btn-primary",onClick:k,disabled:g||!e.trim(),children:g?"...":"Add"})]}),i&&(0,t.jsx)("p",{className:"text-xs text-[var(--danger)] mt-1",children:i})]})}function hi({graph:a}){let b=gI(a=>a.openComparison),c=(0,u.useMemo)(()=>a.versionHistory.map((b,c)=>{let d="replan"===b.eventType?b.toVersion:Math.max(2,a.graphVersion-(a.versionHistory.length-c-1));return"replan"===b.eventType?{version:d,fromVersion:b.fromVersion,eventType:"replan",timestamp:b.timestamp,reason:b.reason,triggeredBy:b.triggeredBy,checkpoint:b.triggeredAtNodeId}:{version:d,fromVersion:Math.max(1,d-1),eventType:"rollback",timestamp:b.timestamp,reason:b.reason,triggeredBy:b.triggeredBy,checkpoint:b.toCheckpoint}}),[a]);return(0,t.jsxs)("section",{className:"graph-panel-card graph-version-history",children:[(0,t.jsxs)("div",{className:"graph-panel-card__row",children:[(0,t.jsx)("div",{className:"graph-panel-card__title",children:"Graph Version History"}),(0,t.jsxs)("span",{className:"graph-panel-card__hint",children:["Current v",a.graphVersion]})]}),0===c.length?(0,t.jsx)("p",{className:"graph-panel-card__empty",children:"No replan or rollback events yet."}):(0,t.jsx)("ol",{className:"graph-version-history__timeline",children:c.map(a=>{var c;let d;return(0,t.jsxs)("li",{children:[(0,t.jsx)("div",{className:"graph-version-history__dot","aria-hidden":!0}),(0,t.jsxs)("div",{className:"graph-version-history__content",children:[(0,t.jsxs)("div",{className:"graph-panel-card__row",children:[(0,t.jsxs)("strong",{children:["v",a.fromVersion," to v",a.version]}),(0,t.jsx)("span",{className:`graph-version-history__badge graph-version-history__badge--${a.eventType}`,children:a.eventType})]}),(0,t.jsx)("p",{children:a.reason}),(0,t.jsxs)("div",{className:"graph-panel-card__row",children:[(0,t.jsx)("span",{className:"graph-panel-card__hint",children:Number.isNaN((d=new Date(c=a.timestamp)).getTime())?c:d.toLocaleString()}),(0,t.jsxs)("span",{className:"graph-panel-card__hint",children:["by ",a.triggeredBy]})]}),a.checkpoint?(0,t.jsxs)("div",{className:"graph-panel-card__hint",children:["checkpoint: ",a.checkpoint]}):null,(0,t.jsx)("button",{type:"button",className:"graph-link-button",onClick:()=>b(a.fromVersion,a.version),children:"Compare"})]})]},`${a.version}-${a.timestamp}-${a.eventType}`)})})]})}function hj({graph:a}){let b=gI(a=>a.comparisonMode),c=gI(a=>a.comparisonFromVersion),d=gI(a=>a.comparisonToVersion),e=gI(a=>a.closeComparison),f=(0,u.useMemo)(()=>b&&null!=c&&null!=d?function(a,b,c){let d=[];a.versionHistory.forEach((e,f)=>{let g,h=(g=a.versionHistory[f])?"replan"===g.eventType?g.toVersion:Math.max(2,a.graphVersion-(a.versionHistory.length-f-1)):a.graphVersion;"replan"===e.eventType&&h>b&&h<=c&&d.push(e)});let e=new Set,f=new Set,g=new Set,h={};for(let a of d)for(let[b,c]of(a.changes.addedNodes.forEach(a=>e.add(a)),a.changes.removedNodes.forEach(a=>f.add(a)),a.changes.rewiredDeps.forEach(a=>g.add(a)),Object.entries(a.changes.estimateDeltas)))h[b]=(h[b]??0)+c;return{replanEvents:d,addedNodes:[...e].sort(),removedNodes:[...f].sort(),rewiredDeps:[...g].sort(),estimateDeltas:h}}(a,c,d):null,[b,c,d,a]);return b&&null!=c&&null!=d&&f?(0,t.jsx)("div",{className:"modal-backdrop p-4 z-50",onClick:a=>a.target===a.currentTarget&&e(),children:(0,t.jsxs)("div",{className:"modal-content graph-comparison-modal animate-scale-in",children:[(0,t.jsxs)("div",{className:"graph-panel-card__row",children:[(0,t.jsxs)("h3",{children:["Graph diff: v",c," to v",d]}),(0,t.jsx)("button",{type:"button",className:"graph-link-button",onClick:e,children:"Close"})]}),(0,t.jsxs)("div",{className:"graph-comparison-modal__summary",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h4",{children:"Added nodes"}),f.addedNodes.length?(0,t.jsx)("ul",{children:f.addedNodes.map(a=>(0,t.jsxs)("li",{children:["+ ",a]},a))}):(0,t.jsx)("p",{children:"None"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h4",{children:"Removed nodes"}),f.removedNodes.length?(0,t.jsx)("ul",{children:f.removedNodes.map(a=>(0,t.jsxs)("li",{children:["- ",a]},a))}):(0,t.jsx)("p",{children:"None"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h4",{children:"Rewired dependencies"}),f.rewiredDeps.length?(0,t.jsx)("ul",{children:f.rewiredDeps.map(a=>(0,t.jsxs)("li",{children:["~ ",a]},a))}):(0,t.jsx)("p",{children:"None"})]})]}),(0,t.jsxs)("div",{className:"graph-comparison-modal__events",children:[(0,t.jsx)("h4",{children:"Replan reasons"}),f.replanEvents.length?(0,t.jsx)("ul",{children:f.replanEvents.map(a=>(0,t.jsxs)("li",{children:[(0,t.jsxs)("strong",{children:["v",a.fromVersion," to v",a.toVersion]}),(0,t.jsx)("p",{children:a.reason})]},`${a.fromVersion}-${a.toVersion}-${a.timestamp}`))}):(0,t.jsx)("p",{children:"No replan events in this range."})]})]})}):null}function hk(a){let b=String(a||"");if(!b.trim())return"";let c=b.match(/^---\n[\s\S]*?\n---\n([\s\S]*)$/);return(c?c[1]:b).replace(/^#\s+.+(\r?\n|$)/,"").trim()}function hl({task:a,graph:b,projectSlug:c,onClose:d,onRefetch:e,onTaskUpdate:f,onDeleteTask:g,isDeletingTask:h=!1}){let[i,j]=(0,u.useState)(!1),[k,l]=(0,u.useState)(null),[m,n]=(0,u.useState)(null),[o,p]=(0,u.useState)(!1),[q,r]=(0,u.useState)(!1),[s,v]=(0,u.useState)(!1),[x,y]=(0,u.useState)(!1),[z,A]=(0,u.useState)(a.title||""),[B,C]=(0,u.useState)(a.description||hk(a.content)),[D,E]=(0,u.useState)(!1),[F,G]=(0,u.useState)(null),H=gI(a=>a.reset),I=gI(a=>a.selectedNodeId),J=gI(a=>a.setSelectedNodeId),K=(0,gA.findRootNode)(b);(0,u.useEffect)(()=>(H(),K&&J(K.id),()=>H()),[]);let L=(0,u.useCallback)(a=>{J(a),p(!0)},[J]),M=(0,u.useCallback)(()=>{p(!1)},[]),N=(0,u.useCallback)(async(c,d)=>{n(null);try{let f;switch(d){case"start":case"retry":f=`/api/tasks/${a.id}/nodes/${c}/start`;break;case"resume":f=`/api/tasks/${a.id}/nodes/${c}/resume`;break;case"stop":f=`/api/tasks/${a.id}/nodes/${c}/stop`;break;case"approve":case"reject":f=`/api/tasks/${a.id}/nodes/${c}/verify`;break;default:return}let g=await fetch(f,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:a.project_id,ifMatchGraphVersion:b.graphVersion,...("approve"===d||"reject"===d)&&{approved:"approve"===d}})}),h=await g.json().catch(()=>({}));if(!g.ok)throw Error(h?.error||`Failed to ${d} node`);await e()}catch(a){n(a instanceof Error?a.message:`Failed to ${d} node`)}},[a.id,a.project_id,b.graphVersion,e]),O=(0,u.useCallback)(async a=>{let b={ready:"queued",running:"queued",paused:"in_progress",stopped:"blocked",done:"completed"}[a];b&&f&&await f({status:b})},[f]),P=(0,u.useCallback)(a=>{l(a),j(!0)},[]),Q=(0,u.useCallback)(async()=>{if(G(null),z===a.title||!f)return void v(!1);try{E(!0),await f({title:z}),v(!1)}catch(a){G(a instanceof Error?a.message:"Failed to save title")}finally{E(!1)}},[z,a.title,f]),R=(0,u.useCallback)(async()=>{G(null);let b=(a.description||hk(a.content)).trim();if(B.trim()===b||!f)return void y(!1);try{E(!0),await f({description:B}),y(!1)}catch(a){G(a instanceof Error?a.message:"Failed to save description")}finally{E(!1)}},[B,a.description,a.content,f]);return(0,t.jsxs)("div",{className:"graph-first-view",children:[(0,t.jsxs)("header",{className:"graph-first-view__header",children:[(0,t.jsxs)("div",{className:"graph-first-view__nav",children:[(0,t.jsx)("button",{onClick:d,className:"graph-first-view__back",title:"Back",children:(0,t.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2.5,children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15 19l-7-7 7-7"})})}),(0,t.jsxs)("div",{className:"graph-first-view__breadcrumbs",children:[(0,t.jsx)(w.default,{href:`/projects/${c}`,className:"graph-link-button",children:c}),(0,t.jsx)("span",{children:"/"}),(0,t.jsx)("span",{className:"font-medium",children:a.title||a.slug||a.id.slice(0,8)})]})]}),(0,t.jsxs)("div",{className:"graph-first-view__title-row",children:[(0,t.jsx)("h1",{className:"graph-first-view__title",children:a.title||"Untitled Task"}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(gU,{graph:b,taskId:a.id,onStateChange:O,onRefetch:e}),g&&(0,t.jsx)("button",{type:"button",className:"btn btn-destructive",onClick:()=>{g()},disabled:h,children:h?"Deleting...":"Delete Task"})]})]}),m&&(0,t.jsxs)("div",{className:"graph-first-view__error",children:[m,(0,t.jsx)("button",{onClick:()=>n(null),className:"ml-2 text-sm underline",children:"Dismiss"})]})]}),(0,t.jsxs)("div",{className:"graph-first-view__body",children:[(0,t.jsx)("div",{className:"graph-first-view__canvas",children:(0,t.jsx)(gT,{graph:b,taskId:a.id,className:"h-full",fullscreen:!0,onNodeSelect:L})}),(0,t.jsxs)("aside",{className:"graph-first-view__sidebar",children:[(0,t.jsxs)("div",{className:"graph-sidebar-section",children:[(0,t.jsxs)("button",{className:"graph-sidebar-section__toggle",onClick:()=>r(a=>!a),children:[(0,t.jsx)("svg",{className:`w-4 h-4 transition-transform ${q?"rotate-90":""}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 5l7 7-7 7"})}),(0,t.jsx)("span",{className:"font-medium text-sm",children:"Task Details"})]}),q&&(0,t.jsxs)("div",{className:"graph-sidebar-section__body",children:[(0,t.jsx)("label",{className:"text-xs text-[var(--muted-foreground)]",children:"Title"}),s?(0,t.jsx)("input",{className:"w-full px-2 py-1 text-sm bg-[var(--card-bg)] border border-[var(--border)] rounded focus:outline-none focus:ring-1 focus:ring-[var(--primary)]",value:z,onChange:a=>A(a.target.value),onBlur:Q,onKeyDown:a=>"Enter"===a.key&&Q(),disabled:D,autoFocus:!0}):(0,t.jsx)("p",{className:"text-sm cursor-pointer hover:text-[var(--primary)] transition-colors",onClick:()=>{A(a.title||""),v(!0)},children:a.title||"Untitled"}),(0,t.jsx)("label",{className:"text-xs text-[var(--muted-foreground)] mt-2",children:"Description"}),x?(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("textarea",{className:"w-full px-2 py-1 text-sm bg-[var(--card-bg)] border border-[var(--border)] rounded focus:outline-none focus:ring-1 focus:ring-[var(--primary)] min-h-[60px] resize-y",value:B,onChange:a=>C(a.target.value),onKeyDown:a=>{(a.metaKey||a.ctrlKey)&&"Enter"===a.key&&(a.preventDefault(),R())},disabled:D,autoFocus:!0}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)("button",{type:"button",className:"btn btn-primary",onClick:()=>void R(),disabled:D,children:D?"Saving...":"Save"}),(0,t.jsx)("button",{type:"button",className:"btn btn-secondary",onClick:()=>{G(null),C(a.description||hk(a.content)),y(!1)},disabled:D,children:"Cancel"})]})]}):(0,t.jsx)("p",{className:"text-sm cursor-pointer hover:text-[var(--primary)] transition-colors whitespace-pre-wrap",onClick:()=>{G(null),C(a.description||hk(a.content)),y(!0)},children:a.description||hk(a.content)||"No description"}),F&&(0,t.jsx)("p",{className:"text-xs text-[var(--danger)]",children:F}),(0,t.jsxs)("div",{className:"mt-2 space-y-1 text-xs text-[var(--muted-foreground)]",children:[(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{children:"Status"}),(0,t.jsx)("span",{className:"text-[var(--foreground)]",children:a.status||"—"})]}),(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{children:"Stage"}),(0,t.jsx)("span",{className:"text-[var(--foreground)]",children:a.stage||"—"})]}),a.slug&&(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{children:"Slug"}),(0,t.jsx)("span",{className:"text-[var(--foreground)] font-mono",children:a.slug})]}),(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{children:"ID"}),(0,t.jsx)("span",{className:"text-[var(--foreground)] font-mono",children:a.id.slice(0,8)})]})]})]})]}),(0,t.jsx)(g$,{graph:b,onShowLogs:P}),(0,t.jsx)(hi,{graph:b})]})]}),(0,t.jsx)(hj,{graph:b}),i&&k&&(0,t.jsx)(hm,{taskId:a.id,nodeId:k,onClose:()=>j(!1)}),(0,t.jsx)(hc,{graph:b,taskId:a.id,projectId:a.project_id,isOpen:o&&!!I,onClose:M,onNodeTrigger:N,onShowLogs:P,onRefetch:e})]})}function hm({taskId:a,nodeId:b,onClose:c}){let[d,e]=(0,u.useState)(""),[f,g]=(0,u.useState)(!0),[h,i]=(0,u.useState)(null);return(0,u.useEffect)(()=>{let c=!1;return async function(){g(!0),i(null);try{let d=await fetch(`/api/tasks/${a}/logs?nodeId=${b}&tail=500`),f=await d.json().catch(()=>({}));if(!d.ok)throw Error(f?.error||"Failed to fetch logs");if(!c){let a=(f?.logs||[]).map(a=>{let b=(a.log_type||"output").toLowerCase();return"output"===b?a.content||"":`[${b}] ${a.content||""}`}).join("\n");e(a)}}catch(a){c||i(a instanceof Error?a.message:"Failed to fetch logs")}finally{c||g(!1)}}(),()=>{c=!0}},[a,b]),(0,t.jsx)("div",{className:"modal-backdrop",onClick:c,children:(0,t.jsxs)("div",{className:"modal-content logs-modal",onClick:a=>a.stopPropagation(),children:[(0,t.jsxs)("div",{className:"logs-modal__header",children:[(0,t.jsx)("h3",{children:"Node Logs"}),(0,t.jsx)("button",{onClick:c,className:"btn-ghost",children:(0,t.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,t.jsx)("div",{className:"logs-modal__body",children:f?(0,t.jsxs)("div",{className:"logs-modal__loading",children:[(0,t.jsx)("span",{className:"spinner"}),"Loading logs..."]}):h?(0,t.jsx)("div",{className:"logs-modal__error",children:h}):d?(0,t.jsx)("pre",{className:"logs-modal__content",children:d}):(0,t.jsx)("div",{className:"logs-modal__empty",children:"No logs available for this node."})})]})})}function hn({params:a}){let{slug:b,taskId:c}=(0,u.use)(a),d=(0,v.useRouter)(),[e,f]=(0,u.useState)(null),[g,h]=(0,u.useState)(!0),[i,j]=(0,u.useState)(null),[k,l]=(0,u.useState)(!1),{graph:m,isLoading:n,error:o,refetch:p}=function(a){let[b,c]=(0,u.useState)(null),[d,e]=(0,u.useState)(!1),[f,g]=(0,u.useState)(null),h=(0,u.useCallback)(async()=>{if(!a){c(null),g(null),e(!1);return}e(!0),g(null);try{let b=await fetch(`/api/tasks/${a}/graph`,{method:"GET",cache:"no-store"}),d=await b.json().catch(()=>({}));if(404===b.status){c(null),g(null);return}if(!b.ok)throw Error(d?.error||`Failed to fetch graph (${b.status})`);c(d?.graph??null)}catch(a){g(a instanceof Error?a.message:"Failed to fetch graph"),c(null)}finally{e(!1)}},[a]);return(0,u.useEffect)(()=>{h()},[h]),{graph:b,isLoading:d,error:f,refetch:h,setGraph:c}}(c),q=gI(a=>a.reset);(0,u.useEffect)(()=>(q(),()=>{q()}),[q]);let r=(0,u.useCallback)(async()=>{h(!0),j(null);try{let a=await fetch(`/api/tasks/${c}`,{method:"GET",cache:"no-store"}),b=await a.json().catch(()=>({}));if(!a.ok)throw Error(b?.error||`Failed to fetch task (${a.status})`);f(b?.task??null)}catch(a){j(a instanceof Error?a.message:"Failed to fetch task"),f(null)}finally{h(!1)}},[c]);(0,u.useEffect)(()=>{r()},[r]);let s=i||o,w=(0,u.useCallback)(()=>{d.push(`/projects/${b}`)},[d,b]),x=(0,u.useCallback)(async()=>{await Promise.all([p(),r()])},[p,r]),y=(0,u.useCallback)(async a=>{try{let b=await fetch(`/api/tasks/${c}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!b.ok){let a=await b.json().catch(()=>({}));throw Error(a?.error||"Failed to update task")}await r()}catch(a){throw console.error("Failed to update task:",a),a}},[c,r]),z=(0,u.useCallback)(async()=>{if(k)return;let a=e?.slug||e?.title||c.slice(0,8);if(window.confirm(`Delete "${a}"? This cannot be undone.`)){l(!0);try{let a=await fetch(`/api/tasks/${c}`,{method:"DELETE"}),e=await a.json().catch(()=>({}));if(!a.ok)throw Error(e?.error||"Failed to delete task");d.push(`/projects/${b}`)}catch(b){let a=b instanceof Error?b.message:"Failed to delete task";console.error("Failed to delete task:",b),window.alert(a)}finally{l(!1)}}},[k,d,b,e?.slug,e?.title,c]);return g||n?(0,t.jsx)("div",{className:"h-full flex items-center justify-center bg-[var(--background)]",children:(0,t.jsxs)("div",{className:"text-center",children:[(0,t.jsx)("span",{className:"spinner spinner-lg"}),(0,t.jsx)("p",{className:"mt-4 text-sm text-[var(--muted-foreground)]",children:"Loading task graph..."})]})}):s?(0,t.jsx)("div",{className:"h-full flex items-center justify-center bg-[var(--background)]",children:(0,t.jsxs)("div",{className:"text-center max-w-md px-4",children:[(0,t.jsx)("div",{className:"w-12 h-12 mx-auto mb-4 rounded-full bg-[var(--destructive-muted)] flex items-center justify-center",children:(0,t.jsx)("svg",{className:"w-6 h-6 text-[var(--destructive)]",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})})}),(0,t.jsx)("p",{className:"text-sm text-[var(--destructive)]",children:s}),(0,t.jsx)("button",{onClick:()=>d.push(`/projects/${b}`),className:"mt-4 btn btn-secondary",children:"Back to Project"})]})}):m?e?(0,t.jsx)(hl,{task:e,graph:m,projectSlug:b,onClose:w,onRefetch:x,onTaskUpdate:y,onDeleteTask:z,isDeletingTask:k}):(0,t.jsx)("div",{className:"h-full flex items-center justify-center bg-[var(--background)]",children:(0,t.jsxs)("div",{className:"text-center max-w-md px-4",children:[(0,t.jsx)("p",{className:"text-sm text-[var(--destructive)]",children:"Task not found."}),(0,t.jsx)("button",{onClick:()=>d.push(`/projects/${b}`),className:"mt-4 btn btn-secondary",children:"Back to Project"})]})}):(0,t.jsx)("div",{className:"h-full flex items-center justify-center bg-[var(--background)]",children:(0,t.jsxs)("div",{className:"text-center max-w-md px-4",children:[(0,t.jsx)("div",{className:"w-12 h-12 mx-auto mb-4 rounded-full bg-[var(--muted)] flex items-center justify-center",children:(0,t.jsx)("svg",{className:"w-6 h-6 text-[var(--muted-foreground)]",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z"})})}),(0,t.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"No execution graph exists for this task."}),(0,t.jsxs)("div",{className:"mt-4 flex gap-2 justify-center",children:[(0,t.jsx)("button",{onClick:async()=>{try{let a=await fetch(`/api/tasks/${c}/graph`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({migration:!0})});if(!a.ok){let b=await a.json().catch(()=>({}));throw Error(b?.error||`Migration failed (${a.status})`)}await x()}catch(a){console.error("Failed to migrate task to v2:",a)}},className:"btn btn-primary",children:"Migrate to v2"}),(0,t.jsx)("button",{onClick:()=>d.push(`/projects/${b}/tasks/${c}`),className:"btn btn-secondary",children:"View Task Details"})]})]})})}a.s(["default",()=>hn],23886)}];
|
|
3
3
|
|
|
4
4
|
//# sourceMappingURL=Projects_Agents_agx-cloud_app_projects_%5Bslug%5D_graph_%5BtaskId%5D_page_tsx_e2a98e96._.js.map
|