@jiggai/kitchen 0.1.12 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +21 -0
- package/.next/build-manifest.json +6 -6
- package/.next/prerender-manifest.json +11 -6
- package/.next/routes-manifest.json +146 -0
- package/.next/server/app/_global-error/page/build-manifest.json +4 -4
- package/.next/server/app/_global-error/page.js +3 -3
- package/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +2 -2
- package/.next/server/app/_global-error.rsc +2 -2
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +2 -2
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page/build-manifest.json +4 -4
- package/.next/server/app/_not-found/page.js +10 -9
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +5 -5
- package/.next/server/app/_not-found.segments/_full.segment.rsc +5 -5
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/agents/[agentId]/page/build-manifest.json +4 -4
- package/.next/server/app/agents/[agentId]/page.js +8 -8
- package/.next/server/app/agents/[agentId]/page.js.nft.json +1 -1
- package/.next/server/app/agents/[agentId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agents/[id]/route.js +1 -1
- package/.next/server/app/api/agents/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/agents/add/route.js +1 -1
- package/.next/server/app/api/agents/add/route.js.nft.json +1 -1
- package/.next/server/app/api/agents/file/route.js +1 -1
- package/.next/server/app/api/agents/file/route.js.nft.json +1 -1
- package/.next/server/app/api/agents/files/route.js +1 -1
- package/.next/server/app/api/agents/files/route.js.nft.json +1 -1
- package/.next/server/app/api/agents/identity/route.js +1 -1
- package/.next/server/app/api/agents/identity/route.js.nft.json +1 -1
- package/.next/server/app/api/agents/route.js +1 -1
- package/.next/server/app/api/agents/route.js.nft.json +1 -1
- package/.next/server/app/api/agents/skills/install/route.js +1 -1
- package/.next/server/app/api/agents/skills/install/route.js.nft.json +1 -1
- package/.next/server/app/api/agents/skills/route.js +1 -1
- package/.next/server/app/api/agents/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/agents/update/route.js +1 -1
- package/.next/server/app/api/agents/update/route.js.nft.json +1 -1
- package/.next/server/app/api/channels/bindings/route.js +1 -1
- package/.next/server/app/api/channels/bindings/route.js.nft.json +1 -1
- package/.next/server/app/api/cron/delete/route.js +1 -1
- package/.next/server/app/api/cron/delete/route.js.nft.json +1 -1
- package/.next/server/app/api/cron/job/route.js +1 -1
- package/.next/server/app/api/cron/job/route.js.nft.json +1 -1
- package/.next/server/app/api/cron/jobs/route.js +1 -1
- package/.next/server/app/api/cron/jobs/route.js.nft.json +1 -1
- package/.next/server/app/api/cron/recipe-installed/route.js +1 -1
- package/.next/server/app/api/cron/recipe-installed/route.js.nft.json +1 -1
- package/.next/server/app/api/gateway/restart/route.js +1 -1
- package/.next/server/app/api/gateway/restart/route.js.nft.json +1 -1
- package/.next/server/app/api/goals/[id]/promote/route.js +1 -1
- package/.next/server/app/api/goals/[id]/promote/route.js.nft.json +1 -1
- package/.next/server/app/api/goals/[id]/route.js +1 -1
- package/.next/server/app/api/goals/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/goals/route.js +1 -1
- package/.next/server/app/api/goals/route.js.nft.json +1 -1
- package/.next/server/app/api/ids/check/route.js +1 -1
- package/.next/server/app/api/ids/check/route.js.nft.json +1 -1
- package/.next/server/app/api/marketplace/recipes/[slug]/route.js +1 -1
- package/.next/server/app/api/marketplace/recipes/[slug]/route.js.nft.json +1 -1
- package/.next/server/app/api/marketplace/recipes/route.js +1 -1
- package/.next/server/app/api/marketplace/recipes/route.js.nft.json +1 -1
- package/.next/server/app/api/recipes/[id]/route.js +1 -1
- package/.next/server/app/api/recipes/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/recipes/clone/route.js +1 -1
- package/.next/server/app/api/recipes/clone/route.js.nft.json +1 -1
- package/.next/server/app/api/recipes/custom-team/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/recipes/custom-team/route/build-manifest.json +11 -0
- package/.next/server/app/api/recipes/custom-team/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/recipes/custom-team/route.js +6 -0
- package/.next/server/app/api/recipes/custom-team/route.js.map +5 -0
- package/.next/server/app/api/recipes/custom-team/route.js.nft.json +1 -0
- package/.next/server/app/api/recipes/custom-team/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/recipes/delete/route.js +1 -1
- package/.next/server/app/api/recipes/delete/route.js.nft.json +1 -1
- package/.next/server/app/api/recipes/route.js +1 -1
- package/.next/server/app/api/recipes/route.js.nft.json +1 -1
- package/.next/server/app/api/recipes/team-agents/route.js +1 -1
- package/.next/server/app/api/recipes/team-agents/route.js.nft.json +1 -1
- package/.next/server/app/api/scaffold/route.js +1 -2
- package/.next/server/app/api/scaffold/route.js.nft.json +1 -1
- package/.next/server/app/api/settings/cron-installation/route.js +1 -1
- package/.next/server/app/api/settings/cron-installation/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/available/route.js +1 -1
- package/.next/server/app/api/skills/available/route.js.nft.json +1 -1
- package/.next/server/app/api/swarms/start/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/swarms/start/route/build-manifest.json +11 -0
- package/.next/server/app/api/swarms/start/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/swarms/start/route.js +6 -0
- package/.next/server/app/api/swarms/start/route.js.map +5 -0
- package/.next/server/app/api/swarms/start/route.js.nft.json +1 -0
- package/.next/server/app/api/swarms/start/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/swarms/status/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/swarms/status/route/build-manifest.json +11 -0
- package/.next/server/app/api/swarms/status/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/swarms/status/route.js +6 -0
- package/.next/server/app/api/swarms/status/route.js.map +5 -0
- package/.next/server/app/api/swarms/status/route.js.nft.json +1 -0
- package/.next/server/app/api/swarms/status/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/teams/[teamId]/tickets/assign/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/teams/[teamId]/tickets/assign/route/build-manifest.json +11 -0
- package/.next/server/app/api/teams/[teamId]/tickets/assign/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/teams/[teamId]/tickets/assign/route.js +6 -0
- package/.next/server/app/api/teams/[teamId]/tickets/assign/route.js.map +5 -0
- package/.next/server/app/api/teams/[teamId]/tickets/assign/route.js.nft.json +1 -0
- package/.next/server/app/api/teams/[teamId]/tickets/assign/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/teams/[teamId]/tickets/assignees/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/teams/[teamId]/tickets/assignees/route/build-manifest.json +11 -0
- package/.next/server/app/api/teams/[teamId]/tickets/assignees/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/teams/[teamId]/tickets/assignees/route.js +6 -0
- package/.next/server/app/api/teams/[teamId]/tickets/assignees/route.js.map +5 -0
- package/.next/server/app/api/teams/[teamId]/tickets/assignees/route.js.nft.json +1 -0
- package/.next/server/app/api/teams/[teamId]/tickets/assignees/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/teams/[teamId]/tickets/delete/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/teams/[teamId]/tickets/delete/route/build-manifest.json +11 -0
- package/.next/server/app/api/teams/[teamId]/tickets/delete/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/teams/[teamId]/tickets/delete/route.js +6 -0
- package/.next/server/app/api/teams/[teamId]/tickets/delete/route.js.map +5 -0
- package/.next/server/app/api/teams/[teamId]/tickets/delete/route.js.nft.json +1 -0
- package/.next/server/app/api/teams/[teamId]/tickets/delete/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/teams/[teamId]/tickets/move/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/teams/[teamId]/tickets/move/route/build-manifest.json +11 -0
- package/.next/server/app/api/teams/[teamId]/tickets/move/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/teams/[teamId]/tickets/move/route.js +6 -0
- package/.next/server/app/api/teams/[teamId]/tickets/move/route.js.map +5 -0
- package/.next/server/app/api/teams/[teamId]/tickets/move/route.js.nft.json +1 -0
- package/.next/server/app/api/teams/[teamId]/tickets/move/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/teams/[teamId]/tickets/move-to-goals/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/teams/[teamId]/tickets/move-to-goals/route/build-manifest.json +11 -0
- package/.next/server/app/api/teams/[teamId]/tickets/move-to-goals/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/teams/[teamId]/tickets/move-to-goals/route.js +6 -0
- package/.next/server/app/api/teams/[teamId]/tickets/move-to-goals/route.js.map +5 -0
- package/.next/server/app/api/teams/[teamId]/tickets/move-to-goals/route.js.nft.json +1 -0
- package/.next/server/app/api/teams/[teamId]/tickets/move-to-goals/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/teams/file/route.js +1 -1
- package/.next/server/app/api/teams/file/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/files/route.js +1 -1
- package/.next/server/app/api/teams/files/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/memory/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/teams/memory/route/build-manifest.json +11 -0
- package/.next/server/app/api/teams/memory/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/teams/memory/route.js +6 -0
- package/.next/server/app/api/teams/memory/route.js.map +5 -0
- package/.next/server/app/api/teams/memory/route.js.nft.json +1 -0
- package/.next/server/app/api/teams/memory/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/teams/meta/route.js +1 -1
- package/.next/server/app/api/teams/meta/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/orchestrator/install/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/teams/orchestrator/install/route/build-manifest.json +11 -0
- package/.next/server/app/api/teams/orchestrator/install/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/teams/orchestrator/install/route.js +6 -0
- package/.next/server/app/api/teams/orchestrator/install/route.js.map +5 -0
- package/.next/server/app/api/teams/orchestrator/install/route.js.nft.json +1 -0
- package/.next/server/app/api/teams/orchestrator/install/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/teams/orchestrator/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/teams/orchestrator/route/build-manifest.json +11 -0
- package/.next/server/app/api/teams/orchestrator/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/teams/orchestrator/route.js +6 -0
- package/.next/server/app/api/teams/orchestrator/route.js.map +5 -0
- package/.next/server/app/api/teams/orchestrator/route.js.nft.json +1 -0
- package/.next/server/app/api/teams/orchestrator/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/teams/remove-team/route.js +2 -1
- package/.next/server/app/api/teams/remove-team/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/skills/install/route.js +1 -1
- package/.next/server/app/api/teams/skills/install/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/skills/route.js +1 -1
- package/.next/server/app/api/teams/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/teams/workflow-runs/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/teams/workflow-runs/route/build-manifest.json +11 -0
- package/.next/server/app/api/teams/workflow-runs/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/teams/workflow-runs/route.js +7 -0
- package/.next/server/app/api/teams/workflow-runs/route.js.map +5 -0
- package/.next/server/app/api/teams/workflow-runs/route.js.nft.json +1 -0
- package/.next/server/app/api/teams/workflow-runs/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/teams/workflow-templates/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/teams/workflow-templates/route/build-manifest.json +11 -0
- package/.next/server/app/api/teams/workflow-templates/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/teams/workflow-templates/route.js +6 -0
- package/.next/server/app/api/teams/workflow-templates/route.js.map +5 -0
- package/.next/server/app/api/teams/workflow-templates/route.js.nft.json +1 -0
- package/.next/server/app/api/teams/workflow-templates/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/teams/workflows/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/teams/workflows/route/build-manifest.json +11 -0
- package/.next/server/app/api/teams/workflows/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/teams/workflows/route.js +6 -0
- package/.next/server/app/api/teams/workflows/route.js.map +5 -0
- package/.next/server/app/api/teams/workflows/route.js.nft.json +1 -0
- package/.next/server/app/api/teams/workflows/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/tickets/assign/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/tickets/assign/route/build-manifest.json +11 -0
- package/.next/server/app/api/tickets/assign/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/tickets/assign/route.js +6 -0
- package/.next/server/app/api/tickets/assign/route.js.map +5 -0
- package/.next/server/app/api/tickets/assign/route.js.nft.json +1 -0
- package/.next/server/app/api/tickets/assign/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/tickets/assignees/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/tickets/assignees/route/build-manifest.json +11 -0
- package/.next/server/app/api/tickets/assignees/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/tickets/assignees/route.js +6 -0
- package/.next/server/app/api/tickets/assignees/route.js.map +5 -0
- package/.next/server/app/api/tickets/assignees/route.js.nft.json +1 -0
- package/.next/server/app/api/tickets/assignees/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/tickets/move/route.js +1 -1
- package/.next/server/app/api/tickets/move/route.js.nft.json +1 -1
- package/.next/server/app/channels/page/build-manifest.json +4 -4
- package/.next/server/app/channels/page.js +8 -8
- package/.next/server/app/channels/page.js.nft.json +1 -1
- package/.next/server/app/channels/page_client-reference-manifest.js +1 -1
- package/.next/server/app/channels.html +2 -2
- package/.next/server/app/channels.rsc +6 -6
- package/.next/server/app/channels.segments/_full.segment.rsc +6 -6
- package/.next/server/app/channels.segments/_head.segment.rsc +1 -1
- package/.next/server/app/channels.segments/_index.segment.rsc +3 -3
- package/.next/server/app/channels.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/channels.segments/channels/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/channels.segments/channels.segment.rsc +1 -1
- package/.next/server/app/cron-jobs/page/build-manifest.json +4 -4
- package/.next/server/app/cron-jobs/page.js +8 -8
- package/.next/server/app/cron-jobs/page.js.nft.json +1 -1
- package/.next/server/app/cron-jobs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/cron-jobs.html +1 -1
- package/.next/server/app/cron-jobs.rsc +7 -7
- package/.next/server/app/cron-jobs.segments/_full.segment.rsc +7 -7
- package/.next/server/app/cron-jobs.segments/_head.segment.rsc +1 -1
- package/.next/server/app/cron-jobs.segments/_index.segment.rsc +3 -3
- package/.next/server/app/cron-jobs.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/cron-jobs.segments/cron-jobs/__PAGE__.segment.rsc +3 -3
- package/.next/server/app/cron-jobs.segments/cron-jobs.segment.rsc +1 -1
- package/.next/server/app/goals/[id]/page/build-manifest.json +4 -4
- package/.next/server/app/goals/[id]/page.js +8 -8
- package/.next/server/app/goals/[id]/page.js.nft.json +1 -1
- package/.next/server/app/goals/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/goals/new/page/build-manifest.json +4 -4
- package/.next/server/app/goals/new/page.js +8 -8
- package/.next/server/app/goals/new/page.js.nft.json +1 -1
- package/.next/server/app/goals/new/page_client-reference-manifest.js +1 -1
- package/.next/server/app/goals/new.html +2 -2
- package/.next/server/app/goals/new.rsc +6 -6
- package/.next/server/app/goals/new.segments/_full.segment.rsc +6 -6
- package/.next/server/app/goals/new.segments/_head.segment.rsc +1 -1
- package/.next/server/app/goals/new.segments/_index.segment.rsc +3 -3
- package/.next/server/app/goals/new.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/goals/new.segments/goals/new/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/goals/new.segments/goals/new.segment.rsc +1 -1
- package/.next/server/app/goals/new.segments/goals.segment.rsc +1 -1
- package/.next/server/app/goals/page/build-manifest.json +4 -4
- package/.next/server/app/goals/page.js +8 -8
- package/.next/server/app/goals/page.js.nft.json +1 -1
- package/.next/server/app/goals/page_client-reference-manifest.js +1 -1
- package/.next/server/app/goals.html +1 -1
- package/.next/server/app/goals.rsc +6 -6
- package/.next/server/app/goals.segments/_full.segment.rsc +6 -6
- package/.next/server/app/goals.segments/_head.segment.rsc +1 -1
- package/.next/server/app/goals.segments/_index.segment.rsc +3 -3
- package/.next/server/app/goals.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/goals.segments/goals/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/goals.segments/goals.segment.rsc +1 -1
- package/.next/server/app/manifest.webmanifest/route/app-paths-manifest.json +3 -0
- package/.next/server/app/manifest.webmanifest/route/build-manifest.json +11 -0
- package/.next/server/app/manifest.webmanifest/route/server-reference-manifest.json +4 -0
- package/.next/server/app/manifest.webmanifest/route.js +6 -0
- package/.next/server/app/manifest.webmanifest/route.js.map +5 -0
- package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -0
- package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +2 -0
- package/.next/server/app/manifest.webmanifest.body +1 -0
- package/.next/server/app/manifest.webmanifest.meta +1 -0
- package/.next/server/app/page/build-manifest.json +4 -4
- package/.next/server/app/page.js +10 -9
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/recipes/[id]/page/build-manifest.json +4 -4
- package/.next/server/app/recipes/[id]/page.js +10 -9
- package/.next/server/app/recipes/[id]/page.js.nft.json +1 -1
- package/.next/server/app/recipes/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/recipes/page/build-manifest.json +4 -4
- package/.next/server/app/recipes/page.js +9 -9
- package/.next/server/app/recipes/page.js.nft.json +1 -1
- package/.next/server/app/recipes/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/page/build-manifest.json +4 -4
- package/.next/server/app/settings/page.js +8 -8
- package/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings.html +1 -1
- package/.next/server/app/settings.rsc +6 -6
- package/.next/server/app/settings.segments/_full.segment.rsc +6 -6
- package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings.segments/_index.segment.rsc +3 -3
- package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/.next/server/app/teams/[teamId]/page/build-manifest.json +4 -4
- package/.next/server/app/teams/[teamId]/page.js +10 -9
- package/.next/server/app/teams/[teamId]/page.js.nft.json +1 -1
- package/.next/server/app/teams/[teamId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/teams/[teamId]/tickets/[ticket]/page/app-paths-manifest.json +3 -0
- package/.next/server/app/teams/[teamId]/tickets/[ticket]/page/build-manifest.json +17 -0
- package/.next/server/app/teams/[teamId]/tickets/[ticket]/page/next-font-manifest.json +11 -0
- package/.next/server/app/teams/[teamId]/tickets/[ticket]/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/teams/[teamId]/tickets/[ticket]/page/server-reference-manifest.json +4 -0
- package/.next/server/app/teams/[teamId]/tickets/[ticket]/page.js +18 -0
- package/.next/server/app/teams/[teamId]/tickets/[ticket]/page.js.map +5 -0
- package/.next/server/app/teams/[teamId]/tickets/[ticket]/page.js.nft.json +1 -0
- package/.next/server/app/teams/[teamId]/tickets/[ticket]/page_client-reference-manifest.js +2 -0
- package/.next/server/app/teams/[teamId]/tickets/page/app-paths-manifest.json +3 -0
- package/.next/server/app/teams/[teamId]/tickets/page/build-manifest.json +17 -0
- package/.next/server/app/teams/[teamId]/tickets/page/next-font-manifest.json +11 -0
- package/.next/server/app/teams/[teamId]/tickets/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/teams/[teamId]/tickets/page/server-reference-manifest.json +4 -0
- package/.next/server/app/teams/[teamId]/tickets/page.js +18 -0
- package/.next/server/app/teams/[teamId]/tickets/page.js.map +5 -0
- package/.next/server/app/teams/[teamId]/tickets/page.js.nft.json +1 -0
- package/.next/server/app/teams/[teamId]/tickets/page_client-reference-manifest.js +2 -0
- package/.next/server/app/teams/[teamId]/workflows/[workflowId]/page/app-paths-manifest.json +3 -0
- package/.next/server/app/teams/[teamId]/workflows/[workflowId]/page/build-manifest.json +17 -0
- package/.next/server/app/teams/[teamId]/workflows/[workflowId]/page/next-font-manifest.json +11 -0
- package/.next/server/app/teams/[teamId]/workflows/[workflowId]/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/teams/[teamId]/workflows/[workflowId]/page/server-reference-manifest.json +4 -0
- package/.next/server/app/teams/[teamId]/workflows/[workflowId]/page.js +19 -0
- package/.next/server/app/teams/[teamId]/workflows/[workflowId]/page.js.map +5 -0
- package/.next/server/app/teams/[teamId]/workflows/[workflowId]/page.js.nft.json +1 -0
- package/.next/server/app/teams/[teamId]/workflows/[workflowId]/page_client-reference-manifest.js +2 -0
- package/.next/server/app/teams/[teamId]/workflows/page/app-paths-manifest.json +3 -0
- package/.next/server/app/teams/[teamId]/workflows/page/build-manifest.json +17 -0
- package/.next/server/app/teams/[teamId]/workflows/page/next-font-manifest.json +11 -0
- package/.next/server/app/teams/[teamId]/workflows/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/teams/[teamId]/workflows/page/server-reference-manifest.json +4 -0
- package/.next/server/app/teams/[teamId]/workflows/page.js +20 -0
- package/.next/server/app/teams/[teamId]/workflows/page.js.map +5 -0
- package/.next/server/app/teams/[teamId]/workflows/page.js.nft.json +1 -0
- package/.next/server/app/teams/[teamId]/workflows/page_client-reference-manifest.js +2 -0
- package/.next/server/app/tickets/[ticket]/page/build-manifest.json +4 -4
- package/.next/server/app/tickets/[ticket]/page.js +8 -8
- package/.next/server/app/tickets/[ticket]/page.js.nft.json +1 -1
- package/.next/server/app/tickets/[ticket]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/tickets/page/build-manifest.json +4 -4
- package/.next/server/app/tickets/page.js +8 -8
- package/.next/server/app/tickets/page.js.nft.json +1 -1
- package/.next/server/app/tickets/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +21 -0
- package/.next/server/chunks/[root-of-the-server]__04d535a1._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__04d535a1._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0554d494._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0554d494._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__05f5e243._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__05f5e243._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0e5f94e2._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0e5f94e2._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__107d374d._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__107d374d._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1106aaf7._.js +8 -0
- package/.next/server/chunks/[root-of-the-server]__1106aaf7._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1805932c._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1805932c._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__26c618a3._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__26c618a3._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__2fa553db._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__2fa553db._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__392e585d._.js +18 -0
- package/.next/server/chunks/[root-of-the-server]__392e585d._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__3cddf0a5._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__3cddf0a5._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__3f7058b4._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__3f7058b4._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__477c3d5b._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__477c3d5b._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__47eb3111._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__47eb3111._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__4898071c._.js +2 -2
- package/.next/server/chunks/[root-of-the-server]__59a6cf09._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__59a6cf09._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__5ea38a67._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__5ea38a67._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__6629e914._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__6629e914._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__667c3a2d._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__667c3a2d._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__691a8e5d._.js +6 -0
- package/.next/server/chunks/[root-of-the-server]__691a8e5d._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__698cf062._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__698cf062._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__69be1758._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__69be1758._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__6d8e7b75._.js +6 -0
- package/.next/server/chunks/[root-of-the-server]__6d8e7b75._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__6e5826c5._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__6e5826c5._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__795578f0._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__795578f0._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__7a331e51._.js +8 -0
- package/.next/server/chunks/[root-of-the-server]__7a331e51._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__7e46fb06._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__7e46fb06._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__864a08dd._.js +10 -0
- package/.next/server/chunks/[root-of-the-server]__864a08dd._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__8a811a30._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__8a811a30._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__8e27e9f7._.js +8 -0
- package/.next/server/chunks/[root-of-the-server]__8e27e9f7._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__8ea22d0a._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__8ea22d0a._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__904a6d9f._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__904a6d9f._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__a12dc320._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__a12dc320._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__a6ade549._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__a6ade549._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__abcda400._.js +6 -0
- package/.next/server/chunks/[root-of-the-server]__abcda400._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__b002764e._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__b002764e._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__bc3630f4._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__bc3630f4._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__befb8c19._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__befb8c19._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__bf608f29._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__be5f57b2._.js.map → [root-of-the-server]__bf608f29._.js.map} +1 -1
- package/.next/server/chunks/{[root-of-the-server]__74b80ca4._.js → [root-of-the-server]__c63a9f28._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__c86c0469._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__c86c0469._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__c9e4c772._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__c9e4c772._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__cbe01b74._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__cbe01b74._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__ce9cfa39._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__ce9cfa39._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__d924e5ac._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__d924e5ac._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__e40409a2._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__e40409a2._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__e6fa5823._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__e6fa5823._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__e8bfeaba._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__e8bfeaba._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__e8f8017b._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__e8f8017b._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__ee5cefd8._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__ee5cefd8._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__ef60acef._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__ef60acef._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__fdda9176._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__a6ac3ddf._.js.map → [root-of-the-server]__fdda9176._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__fec14c75._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__fec14c75._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__fef7183d._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__fef7183d._.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_recipes_custom-team_route_actions_861b1489.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_swarms_start_route_actions_b79e9029.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_swarms_start_route_actions_b79e9029.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_swarms_status_route_actions_54826df0.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_swarms_status_route_actions_54826df0.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_teams_[teamId]_tickets_move_route_actions_b47d8708.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_teams_[teamId]_tickets_move_route_actions_b47d8708.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_teams_memory_route_actions_5b7dc699.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_teams_memory_route_actions_5b7dc699.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_teams_orchestrator_install_route_actions_49b6602b.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_teams_orchestrator_install_route_actions_49b6602b.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_teams_orchestrator_route_actions_1949c463.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_teams_orchestrator_route_actions_1949c463.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_teams_workflow-runs_route_actions_8327ac7d.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_teams_workflow-runs_route_actions_8327ac7d.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_teams_workflow-templates_route_actions_87b51d57.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_teams_workflow-templates_route_actions_87b51d57.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_teams_workflows_route_actions_43dd6e07.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_teams_workflows_route_actions_43dd6e07.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_tickets_assign_route_actions_629cc773.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_tickets_assign_route_actions_629cc773.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_tickets_assignees_route_actions_64d3d63e.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_tickets_assignees_route_actions_64d3d63e.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_manifest_webmanifest_route_actions_1bff3fca.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_manifest_webmanifest_route_actions_1bff3fca.js.map +1 -0
- package/.next/server/chunks/ce889_server_app_api_teams_[teamId]_tickets_assign_route_actions_50521c46.js +3 -0
- package/.next/server/chunks/ce889_server_app_api_teams_[teamId]_tickets_assign_route_actions_50521c46.js.map +1 -0
- package/.next/server/chunks/ce889_server_app_api_teams_[teamId]_tickets_assignees_route_actions_75675d78.js +3 -0
- package/.next/server/chunks/ce889_server_app_api_teams_[teamId]_tickets_assignees_route_actions_75675d78.js.map +1 -0
- package/.next/server/chunks/ce889_server_app_api_teams_[teamId]_tickets_delete_route_actions_9d6ca9f4.js +3 -0
- package/.next/server/chunks/ce889_server_app_api_teams_[teamId]_tickets_delete_route_actions_9d6ca9f4.js.map +1 -0
- package/.next/server/chunks/ce889_server_app_api_teams_[teamId]_tickets_move-to-goals_route_actions_760612ca.js +3 -0
- package/.next/server/chunks/ce889_server_app_api_teams_[teamId]_tickets_move-to-goals_route_actions_760612ca.js.map +1 -0
- package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_1fe98a49.js +16 -0
- package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_1fe98a49.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0d4cb2ba._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__285ae6b7._.js +3 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__46e08d44._.js.map → [root-of-the-server]__285ae6b7._.js.map} +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__28f5d174._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__28f5d174._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__2bef6884._.js +3 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__15600e29._.js.map → [root-of-the-server]__2bef6884._.js.map} +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__37c705d4._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__37c705d4._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__3ec61b25._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__3ec61b25._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__3efd25c4._.js +3 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__2a6f1e3e._.js.map → [root-of-the-server]__3efd25c4._.js.map} +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__44d2d5fa._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__44d2d5fa._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__49281b4c._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__49281b4c._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__4c4391c1._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__4c4391c1._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__4c6592ca._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__4c6592ca._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__682758bd._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__682758bd._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__6bd48d33._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__6bd48d33._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__78972f52._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__78972f52._.js.map +1 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__e2e52c6e._.js → [root-of-the-server]__78cdd31e._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__92524828._.js +3 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__247198dc._.js.map → [root-of-the-server]__92524828._.js.map} +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__9a7d79aa._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__9a7d79aa._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__9e1ab064._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__9e1ab064._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__ad654f09._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__ad654f09._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__b2617fbf._.js +3 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__fd669584._.js.map → [root-of-the-server]__b2617fbf._.js.map} +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__b5f65083._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__b5f65083._.js.map +1 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__4c6cc96d._.js → [root-of-the-server]__de18d058._.js} +2 -2
- package/.next/server/chunks/ssr/{[root-of-the-server]__4c6cc96d._.js.map → [root-of-the-server]__de18d058._.js.map} +1 -1
- package/.next/server/chunks/ssr/{[root-of-the-server]__7180d770._.js → [root-of-the-server]__e364449b._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__e364449b._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__e5d416d5._.js +3 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__3ad3e5b1._.js.map → [root-of-the-server]__e5d416d5._.js.map} +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__e94ab521._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__e94ab521._.js.map +1 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__b9356576._.js → [root-of-the-server]__f62d412e._.js} +2 -2
- package/.next/server/chunks/ssr/{[root-of-the-server]__b9356576._.js.map → [root-of-the-server]__f62d412e._.js.map} +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__f8a2f82d._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__f8a2f82d._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__fbe5ff69._.js +3 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__3575e6da._.js.map → [root-of-the-server]__fbe5ff69._.js.map} +1 -1
- package/.next/server/chunks/ssr/_018dfe6b._.js +27 -0
- package/.next/server/chunks/ssr/_018dfe6b._.js.map +1 -0
- package/.next/server/chunks/ssr/{_8c45edba._.js → _0bdae23a._.js} +3 -3
- package/.next/server/chunks/ssr/_0bdae23a._.js.map +1 -0
- package/.next/server/chunks/ssr/{_d27483a1._.js → _19aa68d3._.js} +3 -3
- package/.next/server/chunks/ssr/_19aa68d3._.js.map +1 -0
- package/.next/server/chunks/ssr/{_25e6aab8._.js → _347e2d56._.js} +3 -3
- package/.next/server/chunks/ssr/_347e2d56._.js.map +1 -0
- package/.next/server/chunks/ssr/_3c9015dc._.js +4 -0
- package/.next/server/chunks/ssr/_3c9015dc._.js.map +1 -0
- package/.next/server/chunks/ssr/_41ca4e70._.js +3 -0
- package/.next/server/chunks/ssr/_41ca4e70._.js.map +1 -0
- package/.next/server/chunks/ssr/{node_modules_next_dist_12287b3d._.js → _49fb12c2._.js} +3 -3
- package/.next/server/chunks/ssr/_49fb12c2._.js.map +1 -0
- package/.next/server/chunks/ssr/{_3c8b2df6._.js → _536983a4._.js} +3 -3
- package/.next/server/chunks/ssr/_536983a4._.js.map +1 -0
- package/.next/server/chunks/ssr/_5443093b._.js +3 -0
- package/.next/server/chunks/ssr/_5443093b._.js.map +1 -0
- package/.next/server/chunks/ssr/{_cd23c5af._.js → _5b282394._.js} +3 -3
- package/.next/server/chunks/ssr/_5b282394._.js.map +1 -0
- package/.next/server/chunks/ssr/{_6e70b5a4._.js → _5cc24343._.js} +3 -3
- package/.next/server/chunks/ssr/_5cc24343._.js.map +1 -0
- package/.next/server/chunks/ssr/_67830ad6._.js +3 -0
- package/.next/server/chunks/ssr/_67830ad6._.js.map +1 -0
- package/.next/server/chunks/ssr/{node_modules_next_dist_esm_build_templates_app-page_68c68167.js → _7eac37fb._.js} +3 -3
- package/.next/server/chunks/ssr/_7eac37fb._.js.map +1 -0
- package/.next/server/chunks/ssr/{_92140ca3._.js → _802ee40f._.js} +3 -3
- package/.next/server/chunks/ssr/{_25e6aab8._.js.map → _802ee40f._.js.map} +1 -1
- package/.next/server/chunks/ssr/{_8c8207c1._.js → _8062e992._.js} +3 -3
- package/.next/server/chunks/ssr/_8062e992._.js.map +1 -0
- package/.next/server/chunks/ssr/{_0808c2b9._.js → _99994c05._.js} +3 -3
- package/.next/server/chunks/ssr/_99994c05._.js.map +1 -0
- package/.next/server/chunks/ssr/{_b5e9afcc._.js → _aafc99aa._.js} +3 -3
- package/.next/server/chunks/ssr/_aafc99aa._.js.map +1 -0
- package/.next/server/chunks/ssr/{_39e6e769._.js → _b7f3caf7._.js} +3 -3
- package/.next/server/chunks/ssr/_b7f3caf7._.js.map +1 -0
- package/.next/server/chunks/ssr/_c2041f88._.js +4 -0
- package/.next/server/chunks/ssr/_c2041f88._.js.map +1 -0
- package/.next/server/chunks/ssr/_d2e9dda9._.js +4 -0
- package/.next/server/chunks/ssr/_d2e9dda9._.js.map +1 -0
- package/.next/server/chunks/ssr/{_3158c108._.js → _f4d8af3b._.js} +3 -3
- package/.next/server/chunks/ssr/_f4d8af3b._.js.map +1 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_teams_[teamId]_tickets_[ticket]_page_actions_25ad633d.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_teams_[teamId]_tickets_[ticket]_page_actions_25ad633d.js.map +1 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_teams_[teamId]_tickets_page_actions_dffb2525.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_teams_[teamId]_tickets_page_actions_dffb2525.js.map +1 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_teams_[teamId]_workflows_page_actions_3defde35.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_teams_[teamId]_workflows_page_actions_3defde35.js.map +1 -0
- package/.next/server/chunks/ssr/b1a17_app_teams_[teamId]_workflows_[workflowId]_workflows-editor-client_tsx_5e714aa2._.js +3 -0
- package/.next/server/chunks/ssr/b1a17_app_teams_[teamId]_workflows_[workflowId]_workflows-editor-client_tsx_5e714aa2._.js.map +1 -0
- package/.next/server/chunks/ssr/ce889_server_app_teams_[teamId]_workflows_[workflowId]_page_actions_880cbbc3.js +3 -0
- package/.next/server/chunks/ssr/ce889_server_app_teams_[teamId]_workflows_[workflowId]_page_actions_880cbbc3.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_ea845e5f._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_ea845e5f._.js.map +1 -0
- package/.next/server/chunks/ssr/{_da6f800e._.js → node_modules_next_aefa2538._.js} +2 -2
- package/.next/server/chunks/ssr/node_modules_next_aefa2538._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_8a37abed._.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_8a37abed._.js.map +1 -0
- package/.next/server/chunks/ssr/{node_modules_next_dist_client_components_9774470f._.js → node_modules_next_dist_client_components_2fffaa3a._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules_next_dist_client_components_9774470f._.js.map → node_modules_next_dist_client_components_2fffaa3a._.js.map} +1 -1
- package/.next/server/chunks/ssr/{_68793c1f._.js → node_modules_next_dist_esm_build_templates_app-page_b5ef32b4.js} +3 -3
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_b5ef32b4.js.map +1 -0
- package/.next/server/chunks/ssr/src_13139e3d._.js +3 -0
- package/.next/server/chunks/ssr/src_13139e3d._.js.map +1 -0
- package/.next/server/chunks/ssr/src_2a73b867._.js +3 -0
- package/.next/server/chunks/ssr/src_2a73b867._.js.map +1 -0
- package/.next/server/chunks/ssr/src_2dbb3b7f._.js +3 -0
- package/.next/server/chunks/ssr/src_2dbb3b7f._.js.map +1 -0
- package/.next/server/chunks/ssr/src_417bc4a6._.js +3 -0
- package/.next/server/chunks/ssr/src_417bc4a6._.js.map +1 -0
- package/.next/server/chunks/ssr/src_59477309._.js +3 -0
- package/.next/server/chunks/ssr/src_59477309._.js.map +1 -0
- package/.next/server/chunks/ssr/src_79d55c05._.js +3 -0
- package/.next/server/chunks/ssr/src_79d55c05._.js.map +1 -0
- package/.next/server/chunks/ssr/src_app_HomeClient_tsx_f9f7568d._.js +1 -1
- package/.next/server/chunks/ssr/src_app_HomeClient_tsx_f9f7568d._.js.map +1 -1
- package/.next/server/chunks/ssr/src_app_agents_[agentId]_agent-editor_tsx_f85bbe65._.js +1 -1
- package/.next/server/chunks/ssr/src_app_agents_[agentId]_agent-editor_tsx_f85bbe65._.js.map +1 -1
- package/.next/server/chunks/ssr/src_app_global-error_tsx_aa661ba4._.js +3 -0
- package/.next/server/chunks/ssr/src_app_global-error_tsx_aa661ba4._.js.map +1 -0
- package/.next/server/chunks/ssr/src_app_not-found_tsx_3f23d179._.js +3 -0
- package/.next/server/chunks/ssr/src_app_not-found_tsx_3f23d179._.js.map +1 -0
- package/.next/server/chunks/ssr/src_app_recipes_[id]_RecipeEditor_index_tsx_98393217._.js +3 -0
- package/.next/server/chunks/ssr/src_app_recipes_[id]_RecipeEditor_index_tsx_98393217._.js.map +1 -0
- package/.next/server/chunks/ssr/src_app_recipes_recipes-client_tsx_8ed3ca94._.js +1 -1
- package/.next/server/chunks/ssr/src_app_recipes_recipes-client_tsx_8ed3ca94._.js.map +1 -1
- package/.next/server/chunks/ssr/src_app_teams_[teamId]_team-editor_index_tsx_e68e9cbc._.js +12 -0
- package/.next/server/chunks/ssr/src_app_teams_[teamId]_team-editor_index_tsx_e68e9cbc._.js.map +1 -0
- package/.next/server/chunks/ssr/src_app_tickets_TicketsBoardClient_tsx_5e156ef3._.js +1 -1
- package/.next/server/chunks/ssr/src_app_tickets_TicketsBoardClient_tsx_5e156ef3._.js.map +1 -1
- package/.next/server/chunks/ssr/src_e54f24fb._.js +3 -0
- package/.next/server/chunks/ssr/src_e54f24fb._.js.map +1 -0
- package/.next/server/middleware-build-manifest.js +4 -4
- package/.next/server/next-font-manifest.js +1 -1
- package/.next/server/next-font-manifest.json +16 -0
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +2 -2
- package/.next/static/chunks/0edab8a24d59a626.js +2 -0
- package/.next/static/chunks/11da0a52793b005a.js +1 -0
- package/.next/static/chunks/150338287c7dae30.js +1 -0
- package/.next/static/chunks/236ef28eb649c432.js +1 -0
- package/.next/static/chunks/3e1fe6be993c61fb.js +1 -0
- package/.next/static/chunks/55a88f2071ebe766.js +1 -0
- package/.next/static/chunks/5cf42ef49ad071af.js +10 -0
- package/.next/static/chunks/62e0c437eb8fc2da.js +1 -0
- package/.next/static/chunks/{82abf2d65f5428ae.js → 68a088aa49e6124a.js} +3 -3
- package/.next/static/chunks/7bb0aafbf73524bf.js +1 -0
- package/.next/static/chunks/8d359fbce4ebb835.js +1 -0
- package/.next/static/chunks/9197ecb9606557f3.js +1 -0
- package/.next/static/chunks/93719e85369dd453.js +1 -0
- package/.next/static/chunks/b244476ded155cf9.css +3 -0
- package/.next/static/chunks/c75e00652e6b7d85.js +1 -0
- package/.next/static/chunks/c84580993f22c17a.js +1 -0
- package/.next/static/chunks/d73a47fc8def319c.js +1 -0
- package/.next/static/chunks/daa78a9d669e23f5.js +1 -0
- package/.next/static/chunks/db4da5ee45033817.js +1 -0
- package/.next/static/chunks/e8021fea9aee6b63.js +1 -0
- package/.next/static/chunks/e854e56ea8cb6236.js +1 -0
- package/.next/static/chunks/ffff6b5105288d2c.js +1 -0
- package/.next/static/chunks/{turbopack-ae1340e658f67df8.js → turbopack-0236a74c4f471967.js} +1 -1
- package/README.md +22 -1
- package/openclaw/index.ts +133 -26
- package/openclaw.plugin.json +9 -1
- package/package.json +24 -3
- package/public/android-chrome-192x192.png +0 -0
- package/public/android-chrome-512x512.png +0 -0
- package/public/apple-touch-icon.png +0 -0
- package/public/chef.jpg +0 -0
- package/public/favicon-16x16.png +0 -0
- package/public/favicon-32x32.png +0 -0
- package/public/favicon.ico +0 -0
- package/src/app/HomeClient.tsx +8 -9
- package/src/app/agents/[agentId]/agent-editor-tabs.tsx +298 -0
- package/src/app/agents/[agentId]/agent-editor.tsx +200 -428
- package/src/app/api/__tests__/agents-add-route.test.ts +143 -0
- package/src/app/api/__tests__/agents-file-route.test.ts +117 -0
- package/src/app/api/__tests__/agents-files-route.test.ts +61 -0
- package/src/app/api/__tests__/agents-id-route.test.ts +104 -0
- package/src/app/api/__tests__/agents-identity-route.test.ts +92 -0
- package/src/app/api/__tests__/agents-route.test.ts +54 -0
- package/src/app/api/__tests__/agents-skills-install-route.test.ts +131 -0
- package/src/app/api/__tests__/agents-skills-route.test.ts +64 -0
- package/src/app/api/__tests__/agents-update-route.test.ts +95 -0
- package/src/app/api/__tests__/channels-bindings-route.test.ts +143 -0
- package/src/app/api/__tests__/cron-delete-route.test.ts +93 -0
- package/src/app/api/__tests__/cron-job-route.test.ts +78 -0
- package/src/app/api/__tests__/cron-jobs-route.test.ts +116 -0
- package/src/app/api/__tests__/cron-recipe-installed-route.test.ts +114 -0
- package/src/app/api/__tests__/gateway-restart-route.test.ts +36 -0
- package/src/app/api/__tests__/goals-promote-route.test.ts +200 -0
- package/src/app/api/__tests__/goals-route.test.ts +184 -0
- package/src/app/api/__tests__/ids-check-route.test.ts +188 -0
- package/src/app/api/__tests__/marketplace-recipes-route.test.ts +123 -0
- package/src/app/api/__tests__/recipes-clone-route.test.ts +221 -0
- package/src/app/api/__tests__/recipes-delete-route.test.ts +248 -0
- package/src/app/api/__tests__/recipes-id-route.test.ts +166 -0
- package/src/app/api/__tests__/recipes-route.test.ts +57 -0
- package/src/app/api/__tests__/recipes-team-agents-route.test.ts +135 -0
- package/src/app/api/__tests__/scaffold-route.test.ts +173 -0
- package/src/app/api/__tests__/settings-cron-installation-route.test.ts +82 -0
- package/src/app/api/__tests__/skills-available-route.test.ts +47 -0
- package/src/app/api/__tests__/swarms-start-route.test.ts +79 -0
- package/src/app/api/__tests__/swarms-status-route.test.ts +42 -0
- package/src/app/api/__tests__/teams-file-route.test.ts +129 -0
- package/src/app/api/__tests__/teams-files-route.test.ts +57 -0
- package/src/app/api/__tests__/teams-meta-route.test.ts +113 -0
- package/src/app/api/__tests__/teams-orchestrator-install-route.test.ts +66 -0
- package/src/app/api/__tests__/teams-orchestrator-route.test.ts +59 -0
- package/src/app/api/__tests__/teams-remove-team-route.test.ts +122 -0
- package/src/app/api/__tests__/teams-skills-install-route.test.ts +78 -0
- package/src/app/api/__tests__/teams-skills-route.test.ts +73 -0
- package/src/app/api/__tests__/teams-workflow-runs-route.test.ts +85 -0
- package/src/app/api/__tests__/teams-workflows-route.test.ts +110 -0
- package/src/app/api/__tests__/tickets-move-route.test.ts +60 -0
- package/src/app/api/agents/[id]/route.ts +33 -29
- package/src/app/api/agents/add/route.ts +38 -33
- package/src/app/api/agents/file/route.ts +14 -27
- package/src/app/api/agents/files/route.ts +7 -62
- package/src/app/api/agents/route.ts +3 -10
- package/src/app/api/agents/skills/install/route.ts +2 -14
- package/src/app/api/agents/skills/route.ts +6 -18
- package/src/app/api/channels/bindings/route.ts +6 -15
- package/src/app/api/cron/__tests__/helpers.test.ts +164 -0
- package/src/app/api/cron/delete/route.ts +4 -63
- package/src/app/api/cron/helpers.ts +172 -0
- package/src/app/api/cron/jobs/route.ts +24 -113
- package/src/app/api/cron/recipe-installed/route.ts +6 -4
- package/src/app/api/gateway/restart/route.ts +2 -1
- package/src/app/api/goals/[id]/promote/route.ts +10 -43
- package/src/app/api/goals/[id]/route.ts +10 -16
- package/src/app/api/goals/route.ts +3 -6
- package/src/app/api/ids/check/route.ts +18 -26
- package/src/app/api/marketplace/recipes/[slug]/route.ts +2 -2
- package/src/app/api/recipes/[id]/route.ts +3 -9
- package/src/app/api/recipes/clone/route.ts +3 -38
- package/src/app/api/recipes/custom-team/route.ts +193 -0
- package/src/app/api/recipes/delete/helpers.ts +65 -0
- package/src/app/api/recipes/delete/route.ts +11 -78
- package/src/app/api/recipes/team-agents/__tests__/helpers.test.ts +156 -0
- package/src/app/api/recipes/team-agents/helpers.ts +151 -0
- package/src/app/api/recipes/team-agents/route.ts +27 -125
- package/src/app/api/scaffold/__tests__/helpers.test.ts +186 -0
- package/src/app/api/scaffold/helpers.ts +214 -0
- package/src/app/api/scaffold/route.ts +40 -274
- package/src/app/api/settings/cron-installation/route.ts +3 -2
- package/src/app/api/skills/available/route.ts +2 -1
- package/src/app/api/swarms/start/route.ts +100 -0
- package/src/app/api/swarms/status/route.ts +31 -0
- package/src/app/api/teams/[teamId]/tickets/assign/route.ts +105 -0
- package/src/app/api/teams/[teamId]/tickets/assignees/route.ts +27 -0
- package/src/app/api/teams/[teamId]/tickets/delete/route.ts +55 -0
- package/src/app/api/teams/[teamId]/tickets/move/route.ts +70 -0
- package/src/app/api/teams/[teamId]/tickets/move-to-goals/route.ts +56 -0
- package/src/app/api/teams/file/route.ts +26 -47
- package/src/app/api/teams/files/route.ts +13 -45
- package/src/app/api/teams/memory/route.ts +250 -0
- package/src/app/api/teams/meta/route.ts +16 -35
- package/src/app/api/teams/orchestrator/install/route.ts +129 -0
- package/src/app/api/teams/orchestrator/route.ts +216 -0
- package/src/app/api/teams/remove-team/route.ts +7 -15
- package/src/app/api/teams/skills/install/route.ts +2 -13
- package/src/app/api/teams/skills/route.ts +6 -17
- package/src/app/api/teams/workflow-runs/route.ts +534 -0
- package/src/app/api/teams/workflow-templates/route.ts +71 -0
- package/src/app/api/teams/workflows/route.ts +55 -0
- package/src/app/api/tickets/assign/route.ts +94 -0
- package/src/app/api/tickets/assignees/route.ts +24 -0
- package/src/app/api/tickets/move/route.ts +31 -0
- package/src/app/channels/channels-client.tsx +48 -47
- package/src/app/cron-jobs/cron-jobs-client.tsx +11 -14
- package/src/app/cron-jobs/page.tsx +1 -1
- package/src/app/global-error.tsx +50 -0
- package/src/app/goals/[id]/goal-editor.tsx +74 -179
- package/src/app/goals/goals-client.tsx +30 -39
- package/src/app/goals/new/page.tsx +45 -124
- package/src/app/layout.tsx +8 -0
- package/src/app/manifest.ts +15 -0
- package/src/app/not-found.tsx +8 -0
- package/src/app/page.tsx +4 -31
- package/src/app/recipes/CreateAgentModal.tsx +98 -153
- package/src/app/recipes/CreateCustomTeamModal.tsx +375 -0
- package/src/app/recipes/CreateModalShell.tsx +55 -0
- package/src/app/recipes/CreateTeamModal.tsx +54 -105
- package/src/app/recipes/[id]/RecipeEditor/RecipeEditorCreateModal.tsx +72 -0
- package/src/app/recipes/[id]/RecipeEditor/RecipeEditorPanel.tsx +216 -0
- package/src/app/recipes/[id]/RecipeEditor/index.tsx +271 -0
- package/src/app/recipes/[id]/RecipeEditor/recipe-editor-utils.ts +46 -0
- package/src/app/recipes/[id]/RecipeEditor/types.ts +52 -0
- package/src/app/recipes/[id]/page.tsx +4 -18
- package/src/app/recipes/page.tsx +9 -2
- package/src/app/recipes/recipes-client.tsx +266 -156
- package/src/app/settings/page.tsx +1 -1
- package/src/app/settings/settings-client.tsx +11 -10
- package/src/app/teams/[teamId]/CloneTeamModal.tsx +77 -111
- package/src/app/teams/[teamId]/OrchestratorPanel.tsx +255 -0
- package/src/app/teams/[teamId]/OrchestratorSetupModal.tsx +184 -0
- package/src/app/teams/[teamId]/PublishChangesModal.tsx +21 -42
- package/src/app/teams/[teamId]/page.tsx +27 -49
- package/src/app/teams/[teamId]/team-editor/TeamAgentsTab.tsx +145 -0
- package/src/app/teams/[teamId]/team-editor/TeamCronTab.tsx +72 -0
- package/src/app/teams/[teamId]/team-editor/TeamFilesTab.tsx +74 -0
- package/src/app/teams/[teamId]/team-editor/TeamMemoryTab.tsx +349 -0
- package/src/app/teams/[teamId]/team-editor/TeamRecipeTab.tsx +151 -0
- package/src/app/teams/[teamId]/team-editor/TeamSkillsTab.tsx +68 -0
- package/src/app/teams/[teamId]/team-editor/index.tsx +558 -0
- package/src/app/teams/[teamId]/team-editor/team-editor-data.ts +255 -0
- package/src/app/teams/[teamId]/team-editor/team-editor-utils.ts +78 -0
- package/src/app/teams/[teamId]/team-editor/types.ts +34 -0
- package/src/app/teams/[teamId]/tickets/[ticket]/page.tsx +35 -0
- package/src/app/teams/[teamId]/tickets/page.tsx +15 -0
- package/src/app/teams/[teamId]/workflows/[workflowId]/WorkflowCanvas.tsx +111 -0
- package/src/app/teams/[teamId]/workflows/[workflowId]/page.tsx +27 -0
- package/src/app/teams/[teamId]/workflows/[workflowId]/workflows-editor-client.tsx +1608 -0
- package/src/app/teams/[teamId]/workflows/page.tsx +40 -0
- package/src/app/teams/[teamId]/workflows/workflows-client.tsx +494 -0
- package/src/app/tickets/TicketDetailClient.tsx +147 -0
- package/src/app/tickets/TicketsBoardClient.tsx +11 -57
- package/src/app/tickets/[ticket]/TicketAssignControl.tsx +112 -0
- package/src/app/tickets/[ticket]/page.tsx +13 -21
- package/src/app/tickets/page.tsx +5 -2
- package/src/components/AppShell.tsx +252 -31
- package/src/{app/cron-jobs/DeleteCronJobModal.tsx → components/ConfirmationModal.tsx} +35 -17
- package/src/components/DeleteEntityModal.tsx +41 -0
- package/src/components/ErrorBoundary.tsx +70 -0
- package/src/components/FileListWithOptionalToggle.tsx +86 -0
- package/src/components/GoalFormFields.tsx +163 -0
- package/src/components/ScaffoldOverlay.tsx +7 -10
- package/src/components/ToastProvider.tsx +22 -18
- package/src/components/__tests__/ConfirmationModal.test.tsx +109 -0
- package/src/components/__tests__/ErrorBoundary.test.tsx +39 -0
- package/src/components/__tests__/FileListWithOptionalToggle.test.tsx +109 -0
- package/src/components/__tests__/GoalFormFields.test.tsx +117 -0
- package/src/components/delete-modals.tsx +59 -0
- package/src/components/icons.tsx +12 -10
- package/src/lib/__tests__/agent-workspace.test.ts +44 -0
- package/src/lib/__tests__/agents.test.ts +36 -0
- package/src/lib/__tests__/api-route-helpers.test.ts +188 -0
- package/src/lib/__tests__/cron.test.ts +45 -0
- package/src/lib/__tests__/editor-utils.test.ts +38 -0
- package/src/lib/__tests__/errors.test.ts +15 -0
- package/src/lib/__tests__/exec.test.ts +13 -0
- package/src/lib/__tests__/fetch-json.test.ts +118 -0
- package/src/lib/__tests__/gateway.test.ts +234 -0
- package/src/lib/__tests__/goal-promote.test.ts +39 -0
- package/src/lib/__tests__/goals-client.test.ts +26 -0
- package/src/lib/__tests__/goals.test.ts +275 -0
- package/src/lib/__tests__/json.test.ts +15 -0
- package/src/lib/__tests__/kitchen-api.test.ts +32 -0
- package/src/lib/__tests__/marketplace.test.ts +116 -0
- package/src/lib/__tests__/openclaw.test.ts +129 -0
- package/src/lib/__tests__/paths.test.ts +136 -0
- package/src/lib/__tests__/poll.test.ts +26 -0
- package/src/lib/__tests__/recipe-clone.test.ts +85 -0
- package/src/lib/__tests__/recipe-team-agents.test.ts +70 -0
- package/src/lib/__tests__/recipes.test.ts +199 -0
- package/src/lib/__tests__/scaffold-client.test.ts +106 -0
- package/src/lib/__tests__/scaffold.test.ts +64 -0
- package/src/lib/__tests__/slugify.test.ts +23 -0
- package/src/lib/__tests__/tickets.test.ts +158 -0
- package/src/lib/__tests__/type-guards.test.ts +18 -0
- package/src/lib/__tests__/use-slugified-id.test.tsx +120 -0
- package/src/lib/agents.ts +17 -0
- package/src/lib/api-route-helpers.ts +157 -0
- package/src/lib/cron.ts +40 -0
- package/src/lib/editor-utils.ts +18 -0
- package/src/lib/errors.ts +7 -0
- package/src/lib/exec.ts +4 -0
- package/src/lib/fetch-json.ts +29 -0
- package/src/lib/gateway.ts +5 -1
- package/src/lib/goal-promote.ts +27 -0
- package/src/lib/goals-client.ts +69 -0
- package/src/lib/goals.ts +22 -3
- package/src/lib/json.ts +10 -0
- package/src/lib/openclaw.ts +28 -13
- package/src/lib/paths.ts +12 -0
- package/src/lib/poll.ts +18 -0
- package/src/lib/recipe-clone.ts +42 -0
- package/src/lib/recipe-team-agents.ts +30 -0
- package/src/lib/recipes.ts +47 -0
- package/src/lib/scaffold-client.ts +31 -0
- package/src/lib/scaffold.ts +37 -0
- package/src/lib/slugify.ts +25 -0
- package/src/lib/swarms.ts +25 -0
- package/src/lib/tickets.ts +81 -25
- package/src/lib/type-guards.ts +3 -0
- package/src/lib/use-slugified-id.ts +35 -0
- package/src/lib/workflows/README.md +11 -0
- package/src/lib/workflows/__tests__/storage.test.ts +129 -0
- package/src/lib/workflows/__tests__/validate.test.ts +92 -0
- package/src/lib/workflows/api-handlers.ts +35 -0
- package/src/lib/workflows/readdir.ts +23 -0
- package/src/lib/workflows/runs-storage.ts +59 -0
- package/src/lib/workflows/runs-types.ts +42 -0
- package/src/lib/workflows/storage.ts +70 -0
- package/src/lib/workflows/templates/index.ts +1 -0
- package/src/lib/workflows/templates/marketing-cadence-v1.ts +142 -0
- package/src/lib/workflows/types.ts +48 -0
- package/src/lib/workflows/validate.ts +92 -0
- package/.next/server/app/tickets.html +0 -1
- package/.next/server/app/tickets.meta +0 -15
- package/.next/server/app/tickets.rsc +0 -19
- package/.next/server/app/tickets.segments/_full.segment.rsc +0 -19
- package/.next/server/app/tickets.segments/_head.segment.rsc +0 -6
- package/.next/server/app/tickets.segments/_index.segment.rsc +0 -6
- package/.next/server/app/tickets.segments/_tree.segment.rsc +0 -4
- package/.next/server/app/tickets.segments/tickets/__PAGE__.segment.rsc +0 -8
- package/.next/server/app/tickets.segments/tickets.segment.rsc +0 -4
- package/.next/server/chunks/[root-of-the-server]__055885ce._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__055885ce._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__0c01c5c7._.js +0 -10
- package/.next/server/chunks/[root-of-the-server]__0c01c5c7._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__1398a33a._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1398a33a._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__159c002b._.js +0 -8
- package/.next/server/chunks/[root-of-the-server]__159c002b._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__20c60fb7._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__20c60fb7._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__2588560d._.js +0 -6
- package/.next/server/chunks/[root-of-the-server]__2588560d._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__27293e91._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__27293e91._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__29c85a51._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__29c85a51._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__29fa8108._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__29fa8108._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__2bd44067._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__2bd44067._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__2dd1afff._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__2dd1afff._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__401ab759._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__401ab759._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__422c7160._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__422c7160._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__4670294e._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__4670294e._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__4eda99a9._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__4eda99a9._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__54478298._.js +0 -8
- package/.next/server/chunks/[root-of-the-server]__54478298._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__6dbdb384._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__6dbdb384._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__94d68aa3._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__94d68aa3._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__9ecbb339._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__9ecbb339._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__a27f8405._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__a27f8405._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__a6ac3ddf._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__b11231a9._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__b11231a9._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__b59b3cdd._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__b59b3cdd._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__b5c2b370._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__b5c2b370._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__b955e35a._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__b955e35a._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__be5f57b2._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__c4ff0427._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__c4ff0427._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__c4ffbb03._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__c4ffbb03._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__d737ca42._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__d737ca42._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__df7df3ac._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__df7df3ac._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__dfca6557._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__dfca6557._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__e6184ba3._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__e6184ba3._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__ed0323e9._.js +0 -8
- package/.next/server/chunks/[root-of-the-server]__ed0323e9._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__f585823b._.js +0 -6
- package/.next/server/chunks/[root-of-the-server]__f585823b._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__ff940674._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__ff940674._.js.map +0 -1
- package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_5a9305ea.js +0 -6
- package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_5a9305ea.js.map +0 -1
- package/.next/server/chunks/src_lib_d2210cbf._.js +0 -3
- package/.next/server/chunks/src_lib_d2210cbf._.js.map +0 -1
- package/.next/server/chunks/ssr/[externals]__c37e9f91._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__15600e29._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__247198dc._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__2a6f1e3e._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__346f79e5._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__346f79e5._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__3575e6da._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__3ad3e5b1._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__3bc7ad0a._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__4393e897._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__4393e897._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__46e08d44._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__491e06fa._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__491e06fa._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__507d2fc9._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__507d2fc9._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__5d24d429._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__5d24d429._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__7180d770._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__82ce3aee._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__82ce3aee._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__8d24c9c3._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__8d24c9c3._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__a457c799._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__a457c799._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__bc3b27b0._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__bc3b27b0._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__f75a61bf._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__f75a61bf._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__fd669584._.js +0 -3
- package/.next/server/chunks/ssr/_0808c2b9._.js.map +0 -1
- package/.next/server/chunks/ssr/_1aad1d9b._.js +0 -24
- package/.next/server/chunks/ssr/_1aad1d9b._.js.map +0 -1
- package/.next/server/chunks/ssr/_3158c108._.js.map +0 -1
- package/.next/server/chunks/ssr/_39e6e769._.js.map +0 -1
- package/.next/server/chunks/ssr/_3c8b2df6._.js.map +0 -1
- package/.next/server/chunks/ssr/_5070929e._.js +0 -3
- package/.next/server/chunks/ssr/_5070929e._.js.map +0 -1
- package/.next/server/chunks/ssr/_68793c1f._.js.map +0 -1
- package/.next/server/chunks/ssr/_6e70b5a4._.js.map +0 -1
- package/.next/server/chunks/ssr/_8c45edba._.js.map +0 -1
- package/.next/server/chunks/ssr/_8c8207c1._.js.map +0 -1
- package/.next/server/chunks/ssr/_92140ca3._.js.map +0 -1
- package/.next/server/chunks/ssr/_b5e9afcc._.js.map +0 -1
- package/.next/server/chunks/ssr/_cd23c5af._.js.map +0 -1
- package/.next/server/chunks/ssr/_d27483a1._.js.map +0 -1
- package/.next/server/chunks/ssr/_da6f800e._.js.map +0 -1
- package/.next/server/chunks/ssr/d4b1c_modules_next_dist_server_route-modules_app-page_vendored_ssr_react-dom_6ef9314a.js +0 -3
- package/.next/server/chunks/ssr/d4b1c_modules_next_dist_server_route-modules_app-page_vendored_ssr_react-dom_6ef9314a.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_12287b3d._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_852965c2._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_next_dist_852965c2._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_45780354.js +0 -3
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_45780354.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_ece394eb.js +0 -3
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_ece394eb.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_68c68167.js.map +0 -1
- package/.next/server/chunks/ssr/src_app_channels_channels-client_tsx_8c8be116._.js +0 -3
- package/.next/server/chunks/ssr/src_app_channels_channels-client_tsx_8c8be116._.js.map +0 -1
- package/.next/server/chunks/ssr/src_app_goals_[id]_goal-editor_tsx_7df8193f._.js +0 -3
- package/.next/server/chunks/ssr/src_app_goals_[id]_goal-editor_tsx_7df8193f._.js.map +0 -1
- package/.next/server/chunks/ssr/src_app_goals_goals-client_tsx_a45eeff4._.js +0 -3
- package/.next/server/chunks/ssr/src_app_goals_goals-client_tsx_a45eeff4._.js.map +0 -1
- package/.next/server/chunks/ssr/src_app_goals_new_page_tsx_8f749229._.js +0 -3
- package/.next/server/chunks/ssr/src_app_goals_new_page_tsx_8f749229._.js.map +0 -1
- package/.next/server/chunks/ssr/src_app_recipes_[id]_RecipeEditor_tsx_c6d38350._.js +0 -3
- package/.next/server/chunks/ssr/src_app_recipes_[id]_RecipeEditor_tsx_c6d38350._.js.map +0 -1
- package/.next/server/chunks/ssr/src_app_settings_settings-client_tsx_279084f8._.js +0 -3
- package/.next/server/chunks/ssr/src_app_settings_settings-client_tsx_279084f8._.js.map +0 -1
- package/.next/server/chunks/ssr/src_app_teams_[teamId]_team-editor_tsx_2900b91d._.js +0 -12
- package/.next/server/chunks/ssr/src_app_teams_[teamId]_team-editor_tsx_2900b91d._.js.map +0 -1
- package/.next/static/chunks/10cbf02e6fc36465.js +0 -2
- package/.next/static/chunks/1ce21af6dfb18ee3.js +0 -1
- package/.next/static/chunks/40f7fde35327d214.js +0 -1
- package/.next/static/chunks/54beb791bcc086ae.js +0 -1
- package/.next/static/chunks/55866d57aa2c7a9c.js +0 -1
- package/.next/static/chunks/6a7862e37c616cc3.js +0 -1
- package/.next/static/chunks/817ae077ec8c6255.js +0 -1
- package/.next/static/chunks/8484c54dc9a377e8.js +0 -10
- package/.next/static/chunks/8662fcc3cdff66f3.js +0 -1
- package/.next/static/chunks/99208ebf7e47471d.js +0 -1
- package/.next/static/chunks/a4e69b85b74277a7.css +0 -3
- package/.next/static/chunks/a9ed074e89b16a5e.js +0 -1
- package/.next/static/chunks/c6dfa918cafb6c0c.js +0 -1
- package/.next/static/chunks/d1c5f764e5fd615a.js +0 -1
- package/.next/static/chunks/d4ce2f908d8c4dea.js +0 -1
- package/.next/static/chunks/de9e30e86ef31e72.js +0 -1
- package/src/app/recipes/DeleteRecipeModal.tsx +0 -62
- package/src/app/recipes/[id]/RecipeEditor.tsx +0 -697
- package/src/app/teams/[teamId]/DeleteTeamModal.tsx +0 -54
- package/src/app/teams/[teamId]/team-editor.tsx +0 -1195
- /package/.next/server/chunks/{[root-of-the-server]__74b80ca4._.js.map → [root-of-the-server]__c63a9f28._.js.map} +0 -0
- /package/.next/server/chunks/{ssr/[externals]__c37e9f91._.js.map → _next-internal_server_app_api_recipes_custom-team_route_actions_861b1489.js.map} +0 -0
- /package/.next/server/chunks/ssr/{[root-of-the-server]__3bc7ad0a._.js.map → [root-of-the-server]__0d4cb2ba._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{[root-of-the-server]__e2e52c6e._.js.map → [root-of-the-server]__78cdd31e._.js.map} +0 -0
- /package/.next/static/{QOy0ilqTW1kHfmpls_oWp → z9yFlFZ5f_hw9mm0nfMJl}/_buildManifest.js +0 -0
- /package/.next/static/{QOy0ilqTW1kHfmpls_oWp → z9yFlFZ5f_hw9mm0nfMJl}/_clientMiddlewareManifest.json +0 -0
- /package/.next/static/{QOy0ilqTW1kHfmpls_oWp → z9yFlFZ5f_hw9mm0nfMJl}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/app/teams/%5BteamId%5D/workflows/%5BworkflowId%5D/workflows-editor-client.tsx","../../../../src/lib/workflows/validate.ts"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport type { WorkflowFileV1 } from \"@/lib/workflows/types\";\nimport { validateWorkflowFileV1 } from \"@/lib/workflows/validate\";\n\ntype LoadState =\n | { kind: \"loading\" }\n | { kind: \"error\"; error: string }\n | { kind: \"ready\"; jsonText: string };\n\nfunction draftKey(teamId: string, workflowId: string) {\n return `ck-wf-draft:${teamId}:${workflowId}`;\n}\n\nexport default function WorkflowsEditorClient({\n teamId,\n workflowId,\n draft,\n}: {\n teamId: string;\n workflowId: string;\n draft: boolean;\n}) {\n const [view, setView] = useState<\"canvas\" | \"json\">(\"canvas\");\n const [saving, setSaving] = useState(false);\n const [status, setStatus] = useState<LoadState>({ kind: \"loading\" });\n const [actionError, setActionError] = useState<string>(\"\");\n const importInputRef = useRef<HTMLInputElement | null>(null);\n\n const [toolsCollapsed, setToolsCollapsed] = useState(false);\n\n // Canvas: selection, drag, node/edge creation.\n const canvasRef = useRef<HTMLDivElement | null>(null);\n const [selectedNodeId, setSelectedNodeId] = useState<string>(\"\");\n const [dragging, setDragging] = useState<null | { nodeId: string; dx: number; dy: number; left: number; top: number }>(null);\n\n const [activeTool, setActiveTool] = useState<\n | { kind: \"select\" }\n | { kind: \"add-node\"; nodeType: WorkflowFileV1[\"nodes\"][number][\"type\"] }\n | { kind: \"connect\" }\n >({ kind: \"select\" });\n const [connectFromNodeId, setConnectFromNodeId] = useState<string>(\"\");\n\n const [agents, setAgents] = useState<Array<{ id: string; identityName?: string }>>([]);\n const [agentsError, setAgentsError] = useState<string>(\"\");\n\n // Inspector state (parity with modal)\n const [workflowRuns, setWorkflowRuns] = useState<string[]>([]);\n const [workflowRunsLoading, setWorkflowRunsLoading] = useState(false);\n const [workflowRunsError, setWorkflowRunsError] = useState(\"\");\n const [selectedWorkflowRunId, setSelectedWorkflowRunId] = useState<string>(\"\");\n\n const [newNodeId, setNewNodeId] = useState(\"\");\n const [newNodeName, setNewNodeName] = useState(\"\");\n const [newNodeType, setNewNodeType] = useState<WorkflowFileV1[\"nodes\"][number][\"type\"]>(\"llm\");\n\n const [newEdgeFrom, setNewEdgeFrom] = useState(\"\");\n const [newEdgeTo, setNewEdgeTo] = useState(\"\");\n const [newEdgeLabel, setNewEdgeLabel] = useState(\"\");\n\n useEffect(() => {\n (async () => {\n try {\n if (draft) {\n const stored = sessionStorage.getItem(draftKey(teamId, workflowId));\n if (stored) {\n setStatus({ kind: \"ready\", jsonText: stored });\n return;\n }\n\n // New draft: initialize a clean workflow instead of trying to fetch an existing file.\n const initial: WorkflowFileV1 = {\n schema: \"clawkitchen.workflow.v1\",\n id: workflowId,\n name: \"New workflow\",\n timezone: \"UTC\",\n nodes: [\n { id: \"start\", type: \"start\", name: \"start\", x: 80, y: 80, config: {} },\n { id: \"end\", type: \"end\", name: \"end\", x: 520, y: 80, config: {} },\n ],\n edges: [{ id: \"e1\", from: \"start\", to: \"end\" }],\n };\n const text = JSON.stringify(initial, null, 2) + \"\\n\";\n setStatus({ kind: \"ready\", jsonText: text });\n try {\n sessionStorage.setItem(draftKey(teamId, workflowId), text);\n } catch {\n // ignore\n }\n return;\n }\n\n const res = await fetch(\n `/api/teams/workflows?teamId=${encodeURIComponent(teamId)}&id=${encodeURIComponent(workflowId)}`,\n { cache: \"no-store\" }\n );\n const json = (await res.json()) as { ok?: boolean; error?: string; workflow?: unknown };\n if (!res.ok || !json.ok) throw new Error(json.error || \"Failed to load workflow\");\n setStatus({ kind: \"ready\", jsonText: JSON.stringify(json.workflow, null, 2) + \"\\n\" });\n } catch (e: unknown) {\n setStatus({ kind: \"error\", error: e instanceof Error ? e.message : String(e) });\n }\n })();\n }, [teamId, workflowId, draft]);\n\n useEffect(() => {\n (async () => {\n setAgentsError(\"\");\n try {\n const res = await fetch(\"/api/agents\", { cache: \"no-store\" });\n const json = (await res.json()) as { agents?: Array<{ id?: unknown; identityName?: unknown }>; error?: string; message?: string };\n if (!res.ok) throw new Error(json.error || json.message || \"Failed to load agents\");\n const list = Array.isArray(json.agents) ? json.agents : [];\n const filtered = list\n .map((a) => ({ id: String(a.id ?? \"\").trim(), identityName: typeof a.identityName === \"string\" ? a.identityName : undefined }))\n .filter((a) => a.id && a.id.startsWith(`${teamId}-`));\n setAgents(filtered);\n } catch (e: unknown) {\n setAgentsError(e instanceof Error ? e.message : String(e));\n setAgents([]);\n }\n })();\n }, [teamId]);\n\n const parsed = useMemo(() => {\n if (status.kind !== \"ready\") return { wf: null as WorkflowFileV1 | null, err: \"\" };\n try {\n const wf = JSON.parse(status.jsonText) as WorkflowFileV1;\n return { wf, err: \"\" };\n } catch (e: unknown) {\n return { wf: null, err: e instanceof Error ? e.message : String(e) };\n }\n }, [status]);\n\n const validation = useMemo(() => {\n if (!parsed.wf) return { errors: [], warnings: [] as string[] };\n return validateWorkflowFileV1(parsed.wf);\n }, [parsed.wf]);\n\n function setWorkflow(next: WorkflowFileV1) {\n const text = JSON.stringify(next, null, 2) + \"\\n\";\n setStatus({ kind: \"ready\", jsonText: text });\n if (draft) {\n try {\n sessionStorage.setItem(draftKey(teamId, workflowId), text);\n } catch {\n // ignore\n }\n }\n }\n\n async function onSave() {\n if (status.kind !== \"ready\") return;\n if (!parsed.wf) return;\n if (parsed.err) return;\n if (validation.errors.length) return;\n\n setSaving(true);\n setActionError(\"\");\n try {\n const res = await fetch(\"/api/teams/workflows\", {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({ teamId, workflow: parsed.wf }),\n });\n const json = (await res.json()) as { ok?: boolean; error?: string };\n if (!res.ok || !json.ok) throw new Error(json.error || \"Failed to save workflow\");\n\n // Clear draft cache once persisted.\n try {\n sessionStorage.removeItem(draftKey(teamId, workflowId));\n } catch {\n // ignore\n }\n } catch (e: unknown) {\n setActionError(e instanceof Error ? e.message : String(e));\n } finally {\n setSaving(false);\n }\n }\n\n function onExport() {\n if (!parsed.wf) return;\n if (parsed.err) return;\n if (validation.errors.length) return;\n\n const filename = `${parsed.wf.id || workflowId}.workflow.json`;\n const blob = new Blob([JSON.stringify(parsed.wf, null, 2) + \"\\n\"], { type: \"application/json\" });\n const url = URL.createObjectURL(blob);\n const a = document.createElement(\"a\");\n a.href = url;\n a.download = filename;\n document.body.appendChild(a);\n a.click();\n a.remove();\n URL.revokeObjectURL(url);\n }\n\n if (status.kind === \"loading\") return <div className=\"ck-glass w-full p-6\">Loading…</div>;\n if (status.kind === \"error\") return <div className=\"ck-glass w-full p-6\">{status.error}</div>;\n\n // (section collapse uses native <details> to keep this file simple)\n\n return (\n <div className=\"flex h-full min-h-0 w-full flex-1 flex-col\">\n <div className=\"flex flex-wrap items-center justify-between gap-3 px-3 py-3\">\n <div className=\"flex min-w-0 items-center gap-2\">\n <a\n href={`/teams/${encodeURIComponent(teamId)}?tab=workflows`}\n className=\"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)] hover:bg-white/10\"\n >\n Back\n </a>\n <div className=\"min-w-0\">\n <div className=\"truncate text-base font-medium text-[color:var(--ck-text-primary)]\">\n {workflowId}.workflow.json\n </div>\n <div className=\"mt-0.5 text-sm text-[color:var(--ck-text-tertiary)]\">Team: {teamId}</div>\n </div>\n </div>\n\n <div className=\"flex flex-wrap items-center gap-2\">\n <div className=\"flex overflow-hidden rounded-[var(--ck-radius-sm)] border border-white/10\">\n <button\n type=\"button\"\n onClick={() => setView(\"canvas\")}\n className={\n view === \"canvas\"\n ? \"bg-white/10 px-3 py-2 text-xs font-medium text-[color:var(--ck-text-primary)]\"\n : \"bg-transparent px-3 py-2 text-xs font-medium text-[color:var(--ck-text-secondary)] hover:bg-white/5\"\n }\n >\n Canvas\n </button>\n <button\n type=\"button\"\n onClick={() => setView(\"json\")}\n className={\n view === \"json\"\n ? \"bg-white/10 px-3 py-2 text-xs font-medium text-[color:var(--ck-text-primary)]\"\n : \"bg-transparent px-3 py-2 text-xs font-medium text-[color:var(--ck-text-secondary)] hover:bg-white/5\"\n }\n >\n JSON\n </button>\n </div>\n\n <input\n ref={importInputRef}\n type=\"file\"\n accept=\"application/json,.json\"\n className=\"hidden\"\n onChange={async (e) => {\n const file = e.target.files?.[0];\n // Reset the input so re-importing the same file still triggers onChange.\n e.target.value = \"\";\n if (!file) return;\n\n setActionError(\"\");\n try {\n const text = await file.text();\n const next = JSON.parse(text) as WorkflowFileV1;\n setStatus({ kind: \"ready\", jsonText: JSON.stringify(next, null, 2) + \"\\n\" });\n if (draft) {\n try {\n sessionStorage.setItem(draftKey(teamId, workflowId), JSON.stringify(next, null, 2) + \"\\n\");\n } catch {\n // ignore\n }\n }\n } catch (err: unknown) {\n setActionError(err instanceof Error ? err.message : String(err));\n }\n }}\n />\n\n <button\n type=\"button\"\n disabled={saving}\n onClick={() => importInputRef.current?.click()}\n className=\"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)] shadow-[var(--ck-shadow-1)] hover:bg-white/10 disabled:opacity-50\"\n >\n Import\n </button>\n\n <button\n type=\"button\"\n disabled={!parsed.wf || Boolean(parsed.err) || validation.errors.length > 0}\n onClick={onExport}\n className=\"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)] shadow-[var(--ck-shadow-1)] hover:bg-white/10 disabled:opacity-50\"\n >\n Export\n </button>\n\n <button\n type=\"button\"\n disabled={saving || !parsed.wf || Boolean(parsed.err) || validation.errors.length > 0}\n onClick={onSave}\n className=\"rounded-[var(--ck-radius-sm)] bg-[var(--ck-accent-red)] px-3 py-2 text-sm font-medium text-white shadow-[var(--ck-shadow-1)] disabled:opacity-50\"\n >\n {saving ? \"Saving…\" : \"Save\"}\n </button>\n\n {/* Back button lives in the left header. */}\n </div>\n </div>\n\n {parsed.err ? (\n <div className=\"mt-3 rounded-[var(--ck-radius-sm)] border border-yellow-400/30 bg-yellow-500/10 p-3 text-sm text-yellow-100\">\n JSON parse error: {parsed.err}\n </div>\n ) : null}\n {!parsed.err && validation.errors.length ? (\n <div className=\"mt-3 rounded-[var(--ck-radius-sm)] border border-red-400/30 bg-red-500/10 p-3 text-sm text-red-100\">\n <div className=\"font-medium\">Workflow validation errors</div>\n <ul className=\"mt-2 list-disc space-y-1 pl-5\">\n {validation.errors.map((e) => (\n <li key={e}>{e}</li>\n ))}\n </ul>\n </div>\n ) : null}\n\n {!parsed.err && !validation.errors.length && validation.warnings.length ? (\n <div className=\"mt-3 rounded-[var(--ck-radius-sm)] border border-yellow-400/30 bg-yellow-500/10 p-3 text-sm text-yellow-100\">\n <div className=\"font-medium\">Workflow validation warnings</div>\n <ul className=\"mt-2 list-disc space-y-1 pl-5\">\n {validation.warnings.map((w) => (\n <li key={w}>{w}</li>\n ))}\n </ul>\n </div>\n ) : null}\n\n {actionError ? (\n <div className=\"mt-3 rounded-[var(--ck-radius-sm)] border border-red-400/30 bg-red-500/10 p-3 text-sm text-red-100\">\n {actionError}\n </div>\n ) : null}\n\n <div className=\"flex min-h-0 flex-1 gap-0\">\n {view === \"json\" ? (\n <textarea\n value={status.jsonText}\n onChange={(e) => {\n const t = e.target.value;\n setStatus({ kind: \"ready\", jsonText: t });\n if (draft) {\n try {\n sessionStorage.setItem(draftKey(teamId, workflowId), t);\n } catch {\n // ignore\n }\n }\n }}\n className=\"h-full min-h-0 w-full flex-1 resize-none rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/20 p-3 font-mono text-xs text-[color:var(--ck-text-primary)]\"\n />\n ) : (\n <div\n ref={canvasRef}\n className=\"relative h-full min-h-0 w-full flex-1 overflow-auto bg-black/20\"\n onClick={(e) => {\n if (activeTool.kind !== \"add-node\") return;\n const wf = parsed.wf;\n if (!wf) return;\n const el = canvasRef.current;\n if (!el) return;\n\n // Only create when clicking on the canvas background (not a node).\n const target = e.target as HTMLElement | null;\n if (target && target.closest(\"[data-wf-node='1']\")) return;\n\n const rect = el.getBoundingClientRect();\n const clickX = e.clientX - rect.left + el.scrollLeft;\n const clickY = e.clientY - rect.top + el.scrollTop;\n\n const base = activeTool.nodeType.replace(/[^a-z0-9_\\-]/gi, \"_\");\n const used = new Set(wf.nodes.map((n) => n.id));\n let i = 1;\n let id = `${base}_${i}`;\n while (used.has(id)) {\n i++;\n id = `${base}_${i}`;\n }\n\n const x = Math.max(0, clickX - 90);\n const y = Math.max(0, clickY - 24);\n\n const nextNode: WorkflowFileV1[\"nodes\"][number] = {\n id,\n type: activeTool.nodeType,\n name: id,\n x,\n y,\n config: {},\n };\n\n setWorkflow({ ...wf, nodes: [...wf.nodes, nextNode] });\n setSelectedNodeId(id);\n setActiveTool({ kind: \"select\" });\n }}\n >\n <div className=\"relative h-[1200px] w-[2200px]\">\n {/* Tool palette / agent palette */}\n <div\n className={\n toolsCollapsed\n ? \"sticky left-3 top-3 z-20 w-[44px] overflow-hidden rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/40 p-2 backdrop-blur\"\n : \"sticky left-3 top-3 z-20 w-[260px] rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/40 p-2 backdrop-blur\"\n }\n >\n <div className=\"flex items-center justify-between gap-2\">\n <div className={toolsCollapsed ? \"hidden\" : \"text-[10px] font-medium uppercase tracking-wide text-[color:var(--ck-text-tertiary)]\"}>Tools</div>\n <button\n type=\"button\"\n onClick={() => setToolsCollapsed((v) => !v)}\n className=\"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-[10px] text-[color:var(--ck-text-secondary)] hover:bg-white/10\"\n title={toolsCollapsed ? \"Expand\" : \"Collapse\"}\n >\n {toolsCollapsed ? \">\" : \"<\"}\n </button>\n </div>\n {toolsCollapsed ? (\n <div className=\"mt-2 flex flex-col items-center gap-2\">\n {(\n [\n {\n key: \"select\",\n label: \"Select\",\n active: activeTool.kind === \"select\",\n onClick: () => {\n setActiveTool({ kind: \"select\" });\n setConnectFromNodeId(\"\");\n },\n icon: (\n <svg viewBox=\"0 0 24 24\" className=\"h-4 w-4\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M5 4l7 16 2-7 7-2L5 4Z\" stroke=\"currentColor\" strokeWidth=\"1.6\" strokeLinejoin=\"round\" />\n </svg>\n ),\n },\n {\n key: \"connect\",\n label: \"Connect\",\n active: activeTool.kind === \"connect\",\n onClick: () => {\n setActiveTool({ kind: \"connect\" });\n setConnectFromNodeId(\"\");\n },\n icon: (\n <svg viewBox=\"0 0 24 24\" className=\"h-4 w-4\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M10 13a5 5 0 0 1 0-7l1.2-1.2a5 5 0 0 1 7 7L17 12\" stroke=\"currentColor\" strokeWidth=\"1.6\" strokeLinecap=\"round\" />\n <path d=\"M14 11a5 5 0 0 1 0 7L12.8 19.2a5 5 0 1 1-7-7L7 12\" stroke=\"currentColor\" strokeWidth=\"1.6\" strokeLinecap=\"round\" />\n </svg>\n ),\n },\n {\n key: \"llm\",\n label: \"LLM\",\n active: activeTool.kind === \"add-node\" && activeTool.nodeType === \"llm\",\n onClick: () => {\n setActiveTool({ kind: \"add-node\", nodeType: \"llm\" });\n setConnectFromNodeId(\"\");\n },\n icon: (\n <svg viewBox=\"0 0 24 24\" className=\"h-4 w-4\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M12 2l1.5 6.5L20 10l-6.5 1.5L12 18l-1.5-6.5L4 10l6.5-1.5L12 2Z\" stroke=\"currentColor\" strokeWidth=\"1.6\" strokeLinejoin=\"round\" />\n </svg>\n ),\n },\n {\n key: \"tool\",\n label: \"Tool\",\n active: activeTool.kind === \"add-node\" && activeTool.nodeType === \"tool\",\n onClick: () => {\n setActiveTool({ kind: \"add-node\", nodeType: \"tool\" });\n setConnectFromNodeId(\"\");\n },\n icon: (\n <svg viewBox=\"0 0 24 24\" className=\"h-4 w-4\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M14.5 7.5l2 2-8.5 8.5H6v-2l8.5-8.5Z\" stroke=\"currentColor\" strokeWidth=\"1.6\" strokeLinejoin=\"round\" />\n <path d=\"M12 6a4 4 0 0 0-5 5l3-3 2 2 3-3A4 4 0 0 0 12 6Z\" stroke=\"currentColor\" strokeWidth=\"1.6\" strokeLinejoin=\"round\" />\n </svg>\n ),\n },\n {\n key: \"condition\",\n label: \"If\",\n active: activeTool.kind === \"add-node\" && activeTool.nodeType === \"condition\",\n onClick: () => {\n setActiveTool({ kind: \"add-node\", nodeType: \"condition\" });\n setConnectFromNodeId(\"\");\n },\n icon: (\n <svg viewBox=\"0 0 24 24\" className=\"h-4 w-4\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M7 4v7a3 3 0 0 0 3 3h7\" stroke=\"currentColor\" strokeWidth=\"1.6\" strokeLinecap=\"round\" />\n <path d=\"M17 10l3 3-3 3\" stroke=\"currentColor\" strokeWidth=\"1.6\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n ),\n },\n {\n key: \"delay\",\n label: \"Delay\",\n active: activeTool.kind === \"add-node\" && activeTool.nodeType === \"delay\",\n onClick: () => {\n setActiveTool({ kind: \"add-node\", nodeType: \"delay\" });\n setConnectFromNodeId(\"\");\n },\n icon: (\n <svg viewBox=\"0 0 24 24\" className=\"h-4 w-4\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M12 7v5l3 2\" stroke=\"currentColor\" strokeWidth=\"1.6\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M21 12a9 9 0 1 1-9-9\" stroke=\"currentColor\" strokeWidth=\"1.6\" strokeLinecap=\"round\" />\n </svg>\n ),\n },\n {\n key: \"approval\",\n label: \"Approval\",\n active: activeTool.kind === \"add-node\" && activeTool.nodeType === \"human_approval\",\n onClick: () => {\n setActiveTool({ kind: \"add-node\", nodeType: \"human_approval\" });\n setConnectFromNodeId(\"\");\n },\n icon: (\n <svg viewBox=\"0 0 24 24\" className=\"h-4 w-4\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M20 6 9 17l-5-5\" stroke=\"currentColor\" strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n ),\n },\n {\n key: \"end\",\n label: \"End\",\n active: activeTool.kind === \"add-node\" && activeTool.nodeType === \"end\",\n onClick: () => {\n setActiveTool({ kind: \"add-node\", nodeType: \"end\" });\n setConnectFromNodeId(\"\");\n },\n icon: (\n <svg viewBox=\"0 0 24 24\" className=\"h-4 w-4\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M7 7h10v10H7V7Z\" stroke=\"currentColor\" strokeWidth=\"1.6\" strokeLinejoin=\"round\" />\n </svg>\n ),\n },\n ] as const\n ).map((b) => (\n <button\n key={b.key}\n type=\"button\"\n onClick={b.onClick}\n className={\n b.active\n ? \"flex h-8 w-8 items-center justify-center rounded-[var(--ck-radius-sm)] bg-white/10 text-[color:var(--ck-text-primary)]\"\n : \"flex h-8 w-8 items-center justify-center rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 text-[color:var(--ck-text-secondary)] hover:bg-white/10\"\n }\n title={b.label}\n aria-label={b.label}\n >\n {b.icon}\n </button>\n ))}\n </div>\n ) : (\n <div className=\"mt-2 grid grid-cols-2 gap-2\">\n <button\n type=\"button\"\n onClick={() => {\n setActiveTool({ kind: \"select\" });\n setConnectFromNodeId(\"\");\n }}\n className={\n activeTool.kind === \"select\"\n ? \"rounded-[var(--ck-radius-sm)] bg-white/10 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]\"\n : \"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-xs text-[color:var(--ck-text-secondary)] hover:bg-white/10\"\n }\n >\n Select\n </button>\n <button\n type=\"button\"\n onClick={() => {\n setActiveTool({ kind: \"connect\" });\n setConnectFromNodeId(\"\");\n }}\n className={\n activeTool.kind === \"connect\"\n ? \"rounded-[var(--ck-radius-sm)] bg-white/10 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]\"\n : \"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-xs text-[color:var(--ck-text-secondary)] hover:bg-white/10\"\n }\n title=\"Click a node, then click another node to create an edge\"\n >\n Connect\n </button>\n\n {([\n { t: \"llm\", label: \"LLM\" },\n { t: \"tool\", label: \"Tool\" },\n { t: \"condition\", label: \"If\" },\n { t: \"delay\", label: \"Delay\" },\n { t: \"human_approval\", label: \"Approve\" },\n { t: \"end\", label: \"End\" },\n ] as Array<{ t: WorkflowFileV1[\"nodes\"][number][\"type\"]; label: string }>).map((x) => (\n <button\n key={x.t}\n type=\"button\"\n onClick={() => {\n setActiveTool({ kind: \"add-node\", nodeType: x.t });\n setConnectFromNodeId(\"\");\n }}\n className={\n activeTool.kind === \"add-node\" && activeTool.nodeType === x.t\n ? \"rounded-[var(--ck-radius-sm)] bg-white/10 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]\"\n : \"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-xs text-[color:var(--ck-text-secondary)] hover:bg-white/10\"\n }\n title=\"Select tool, then click on the canvas to place\"\n >\n + {x.label}\n </button>\n ))}\n </div>\n )}\n\n {!toolsCollapsed && activeTool.kind === \"connect\" && connectFromNodeId ? (\n <div className=\"mt-2 text-xs text-[color:var(--ck-text-secondary)]\">Connecting from: <span className=\"font-mono\">{connectFromNodeId}</span></div>\n ) : null}\n {!toolsCollapsed && activeTool.kind === \"add-node\" ? (\n <div className=\"mt-2 text-xs text-[color:var(--ck-text-secondary)]\">Click on the canvas to place a <span className=\"font-mono\">{activeTool.nodeType}</span> node.</div>\n ) : null}\n\n <div className=\"mt-3 border-t border-white/10 pt-3\">\n <div className={toolsCollapsed ? \"hidden\" : \"flex items-center justify-between gap-2\"}>\n <div className=\"text-[10px] font-medium uppercase tracking-wide text-[color:var(--ck-text-tertiary)]\">Agents</div>\n <div className=\"text-[10px] text-[color:var(--ck-text-tertiary)]\">drag → node</div>\n </div>\n\n {toolsCollapsed ? (\n <button\n type=\"button\"\n onClick={() => setToolsCollapsed(false)}\n className=\"mt-2 flex h-8 w-8 items-center justify-center rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 text-[color:var(--ck-text-secondary)] hover:bg-white/10\"\n title=\"Expand to see agents\"\n aria-label=\"Expand to see agents\"\n >\n <svg viewBox=\"0 0 24 24\" className=\"h-4 w-4\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M16 11a4 4 0 1 0-8 0\" stroke=\"currentColor\" strokeWidth=\"1.6\" strokeLinecap=\"round\" />\n <path d=\"M4 20a8 8 0 0 1 16 0\" stroke=\"currentColor\" strokeWidth=\"1.6\" strokeLinecap=\"round\" />\n </svg>\n </button>\n ) : (\n <>\n {agentsError ? <div className=\"mt-1 text-[11px] text-red-200\">{agentsError}</div> : null}\n <div className=\"mt-2 max-h-[140px] space-y-1 overflow-auto\">\n {agents.length ? (\n agents.map((a) => (\n <div\n key={a.id}\n draggable\n onDragStart={(e) => {\n e.dataTransfer.setData(\"text/plain\", a.id);\n e.dataTransfer.effectAllowed = \"copy\";\n }}\n className=\"cursor-grab rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-xs text-[color:var(--ck-text-secondary)] hover:bg-white/10\"\n title={a.id}\n >\n {a.identityName ? a.identityName : a.id.replace(`${teamId}-`, \"\")}\n </div>\n ))\n ) : (\n <div className=\"text-xs text-[color:var(--ck-text-tertiary)]\">No team agents found.</div>\n )}\n </div>\n </>\n )}\n </div>\n </div>\n\n <svg className=\"absolute inset-0\" width={2200} height={1200}>\n {(parsed.wf?.edges ?? []).map((e) => {\n const wf = parsed.wf;\n if (!wf) return null;\n const a = wf.nodes.find((n) => n.id === e.from);\n const b = wf.nodes.find((n) => n.id === e.to);\n if (!a || !b) return null;\n const ax = (typeof a.x === \"number\" ? a.x : 80) + 90;\n const ay = (typeof a.y === \"number\" ? a.y : 80) + 24;\n const bx = (typeof b.x === \"number\" ? b.x : 80) + 90;\n const by = (typeof b.y === \"number\" ? b.y : 80) + 24;\n return <line key={e.id} x1={ax} y1={ay} x2={bx} y2={by} stroke=\"rgba(255,255,255,0.18)\" strokeWidth={2} />;\n })}\n </svg>\n\n {(parsed.wf?.nodes ?? []).map((n, idx) => {\n const x = typeof n.x === \"number\" ? n.x : 80 + idx * 220;\n const y = typeof n.y === \"number\" ? n.y : 80;\n const selected = selectedNodeId === n.id;\n return (\n <div\n key={n.id}\n role=\"button\"\n tabIndex={0}\n data-wf-node=\"1\"\n draggable={activeTool.kind === \"select\"}\n onDragStart={(e) => {\n // allow agent pills to be dropped; do not start a browser drag ghost for nodes.\n if (activeTool.kind !== \"select\") return;\n e.dataTransfer.setData(\"text/plain\", \"\");\n }}\n onDragOver={(e) => {\n // Allow dropping agents.\n if (e.dataTransfer.types.includes(\"text/plain\")) e.preventDefault();\n }}\n onDrop={(e) => {\n const wf = parsed.wf;\n if (!wf) return;\n e.preventDefault();\n e.stopPropagation();\n const agentId = String(e.dataTransfer.getData(\"text/plain\") || \"\").trim();\n if (!agentId) return;\n\n const nextNodes = wf.nodes.map((node) => {\n if (node.id !== n.id) return node;\n const cfg = node.config && typeof node.config === \"object\" && !Array.isArray(node.config) ? node.config : {};\n return { ...node, config: { ...cfg, agentId } };\n });\n setWorkflow({ ...wf, nodes: nextNodes });\n setSelectedNodeId(n.id);\n }}\n onClick={(e) => {\n e.stopPropagation();\n const wf = parsed.wf;\n if (activeTool.kind === \"connect\") {\n if (!wf) return;\n if (!connectFromNodeId) {\n setConnectFromNodeId(n.id);\n setSelectedNodeId(n.id);\n return;\n }\n const from = connectFromNodeId;\n const to = n.id;\n setConnectFromNodeId(\"\");\n if (!from || !to || from === to) return;\n const exists = (wf.edges ?? []).some((e) => e.from === from && e.to === to);\n if (exists) return;\n const id = `e${Date.now()}`;\n const nextEdge: WorkflowFileV1[\"edges\"][number] = { id, from, to };\n setWorkflow({ ...wf, edges: [...(wf.edges ?? []), nextEdge] });\n return;\n }\n\n setSelectedNodeId(n.id);\n }}\n onPointerDown={(e) => {\n if (activeTool.kind !== \"select\") return;\n if (e.button !== 0) return;\n const el = canvasRef.current;\n if (!el) return;\n const rect = el.getBoundingClientRect();\n setSelectedNodeId(n.id);\n try {\n e.currentTarget.setPointerCapture(e.pointerId);\n } catch {\n // ignore\n }\n e.preventDefault();\n setDragging({ nodeId: n.id, dx: e.clientX - rect.left - x, dy: e.clientY - rect.top - y, left: rect.left, top: rect.top });\n }}\n onPointerUp={(e) => {\n try {\n e.currentTarget.releasePointerCapture(e.pointerId);\n } catch {\n // ignore\n }\n setDragging(null);\n }}\n onPointerMove={(e) => {\n if (!dragging) return;\n if (dragging.nodeId !== n.id) return;\n const wf = parsed.wf;\n if (!wf) return;\n const el = canvasRef.current;\n if (!el) return;\n const nextX = e.clientX - dragging.left - dragging.dx;\n const nextY = e.clientY - dragging.top - dragging.dy;\n const nextNodes = wf.nodes.map((node) => (node.id === n.id ? { ...node, x: nextX, y: nextY } : node));\n const next: WorkflowFileV1 = { ...wf, nodes: nextNodes };\n setStatus({ kind: \"ready\", jsonText: JSON.stringify(next, null, 2) + \"\\n\" });\n }}\n className={\n selected\n ? \"absolute cursor-grab rounded-[var(--ck-radius-sm)] border border-white/25 bg-white/10 px-3 py-2 text-xs text-[color:var(--ck-text-primary)] shadow-[var(--ck-shadow-1)]\"\n : \"absolute cursor-grab rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-3 py-2 text-xs text-[color:var(--ck-text-secondary)] hover:bg-white/10\"\n }\n style={{ left: x, top: y, width: 180 }}\n >\n <div className=\"font-medium text-[color:var(--ck-text-primary)]\">{n.name || n.id}</div>\n <div className=\"mt-0.5 text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]\">{n.type}</div>\n {(() => {\n const cfg = n.config && typeof n.config === \"object\" && !Array.isArray(n.config) ? (n.config as Record<string, unknown>) : null;\n const agentId = cfg ? String(cfg.agentId ?? \"\").trim() : \"\";\n if (!agentId) return null;\n const short = agentId.replace(`${teamId}-`, \"\");\n return <div className=\"mt-1 text-[10px] text-[color:var(--ck-text-secondary)]\">Agent: {short}</div>;\n })()}\n </div>\n );\n })}\n\n {/* Inline in-canvas node inspector (requirement #6) */}\n {(() => {\n const wf = parsed.wf;\n if (!wf) return null;\n if (!selectedNodeId) return null;\n const node = wf.nodes.find((n) => n.id === selectedNodeId);\n if (!node) return null;\n\n const x = typeof node.x === \"number\" ? node.x : 80;\n const y = typeof node.y === \"number\" ? node.y : 80;\n const cfg = node.config && typeof node.config === \"object\" && !Array.isArray(node.config) ? (node.config as Record<string, unknown>) : {};\n const agentId = String(cfg.agentId ?? \"\").trim();\n\n return (\n <div\n className=\"absolute z-10 w-[320px] rounded-[var(--ck-radius-sm)] border border-white/15 bg-black/60 p-3 shadow-[var(--ck-shadow-1)] backdrop-blur\"\n style={{ left: x + 200, top: y }}\n >\n <div className=\"flex items-center justify-between gap-2\">\n <div className=\"text-xs font-medium text-[color:var(--ck-text-primary)]\">{node.name || node.id}</div>\n <button\n type=\"button\"\n onClick={() => setSelectedNodeId(\"\")}\n className=\"text-[10px] text-[color:var(--ck-text-tertiary)] hover:text-[color:var(--ck-text-primary)]\"\n >\n Close\n </button>\n </div>\n\n <div className=\"mt-2 space-y-2\">\n <label className=\"block\">\n <div className=\"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]\">name</div>\n <input\n value={String(node.name ?? \"\")}\n onChange={(e) => {\n const nextName = e.target.value;\n setWorkflow({ ...wf, nodes: wf.nodes.map((n) => (n.id === node.id ? { ...n, name: nextName } : n)) });\n }}\n className=\"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/30 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]\"\n placeholder=\"Optional\"\n />\n </label>\n\n <label className=\"block\">\n <div className=\"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]\">type</div>\n <select\n value={node.type}\n onChange={(e) => {\n const nextType = e.target.value as WorkflowFileV1[\"nodes\"][number][\"type\"];\n setWorkflow({ ...wf, nodes: wf.nodes.map((n) => (n.id === node.id ? { ...n, type: nextType } : n)) });\n }}\n className=\"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/30 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]\"\n >\n <option value=\"start\">start</option>\n <option value=\"end\">end</option>\n <option value=\"llm\">llm</option>\n <option value=\"tool\">tool</option>\n <option value=\"condition\">condition</option>\n <option value=\"delay\">delay</option>\n <option value=\"human_approval\">human_approval</option>\n </select>\n </label>\n\n <label className=\"block\">\n <div className=\"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]\">agentId</div>\n <input\n value={agentId}\n onChange={(e) => {\n const nextAgentId = String(e.target.value || \"\").trim();\n const nextCfg = { ...cfg, ...(nextAgentId ? { agentId: nextAgentId } : {}) };\n if (!nextAgentId) delete (nextCfg as Record<string, unknown>).agentId;\n setWorkflow({ ...wf, nodes: wf.nodes.map((n) => (n.id === node.id ? { ...n, config: nextCfg } : n)) });\n }}\n className=\"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/30 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]\"\n placeholder=\"(drag an agent onto the node or type)\"\n />\n </label>\n\n {node.type === \"human_approval\" ? (\n <div className=\"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/20 p-2\">\n <div className=\"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]\">approval config</div>\n\n <div className=\"mt-2 space-y-2\">\n <label className=\"block\">\n <div className=\"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]\">provider</div>\n <input\n value={String((cfg as Record<string, unknown>).provider ?? \"\")}\n onChange={(e) => {\n const v = String(e.target.value || \"\").trim();\n const nextCfg = { ...cfg, ...(v ? { provider: v } : {}) };\n if (!v) delete (nextCfg as Record<string, unknown>).provider;\n setWorkflow({ ...wf, nodes: wf.nodes.map((n) => (n.id === node.id ? { ...n, config: nextCfg } : n)) });\n }}\n className=\"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]\"\n placeholder=\"telegram\"\n />\n </label>\n\n <label className=\"block\">\n <div className=\"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]\">target</div>\n <input\n value={String((cfg as Record<string, unknown>).target ?? \"\")}\n onChange={(e) => {\n const v = String(e.target.value || \"\").trim();\n const nextCfg = { ...cfg, ...(v ? { target: v } : {}) };\n if (!v) delete (nextCfg as Record<string, unknown>).target;\n setWorkflow({ ...wf, nodes: wf.nodes.map((n) => (n.id === node.id ? { ...n, config: nextCfg } : n)) });\n }}\n className=\"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]\"\n placeholder=\"(e.g. Telegram chat id)\"\n />\n <div className=\"mt-1 text-[10px] text-[color:var(--ck-text-tertiary)]\">Overrides workflow-level default when set.</div>\n </label>\n\n <label className=\"block\">\n <div className=\"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]\">messageTemplate (optional)</div>\n <textarea\n value={String((cfg as Record<string, unknown>).messageTemplate ?? \"\")}\n onChange={(e) => {\n const v = String(e.target.value || \"\");\n const nextCfg = { ...cfg, ...(v.trim() ? { messageTemplate: v } : {}) };\n if (!v.trim()) delete (nextCfg as Record<string, unknown>).messageTemplate;\n setWorkflow({ ...wf, nodes: wf.nodes.map((n) => (n.id === node.id ? { ...n, config: nextCfg } : n)) });\n }}\n className=\"mt-1 h-[70px] w-full resize-none rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 p-2 font-mono text-[10px] text-[color:var(--ck-text-primary)]\"\n placeholder=\"Approval needed for {{workflowName}} (run {{runId}})\"\n spellCheck={false}\n />\n <div className=\"mt-1 text-[10px] text-[color:var(--ck-text-tertiary)]\">\n Vars: {\"{{workflowName}}\"}, {\"{{workflowId}}\"}, {\"{{runId}}\"}, {\"{{nodeId}}\"}\n </div>\n </label>\n </div>\n </div>\n ) : null}\n\n <label className=\"block\">\n <div className=\"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]\">config (json)</div>\n <textarea\n value={JSON.stringify(cfg, null, 2)}\n onChange={(e) => {\n try {\n const nextCfg = JSON.parse(e.target.value) as Record<string, unknown>;\n if (!nextCfg || typeof nextCfg !== \"object\" || Array.isArray(nextCfg)) return;\n setWorkflow({ ...wf, nodes: wf.nodes.map((n) => (n.id === node.id ? { ...n, config: nextCfg } : n)) });\n } catch {\n // ignore invalid JSON while typing\n }\n }}\n className=\"mt-1 h-[140px] w-full resize-none rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/30 p-2 font-mono text-[10px] text-[color:var(--ck-text-primary)]\"\n spellCheck={false}\n />\n <div className=\"mt-1 text-[10px] text-[color:var(--ck-text-tertiary)]\">(Edits apply when JSON is valid.)</div>\n </label>\n </div>\n </div>\n );\n })()}\n </div>\n </div>\n )}\n\n <div className=\"w-[380px] shrink-0 overflow-auto p-3 text-sm\">\n <div className=\"space-y-3\">\n {parsed.wf ? (\n (() => {\n const wf = parsed.wf;\n const tz = String(wf.timezone ?? \"\").trim() || \"UTC\";\n const triggers = wf.triggers ?? [];\n\n const meta = wf.meta && typeof wf.meta === \"object\" && !Array.isArray(wf.meta) ? (wf.meta as Record<string, unknown>) : {};\n const approvalProvider = String(meta.approvalProvider ?? \"telegram\").trim() || \"telegram\";\n const approvalTarget = String(meta.approvalTarget ?? \"\").trim();\n\n // Cron schedule suggestions.\n // Note: dev-team automation defaults should avoid the 02:00–07:00 America/New_York blackout window.\n // We keep presets in \"safe\" hours by default.\n const presets = [\n { label: \"(no preset)\", expr: \"\" },\n { label: \"Weekdays 09:00 local\", expr: \"0 9 * * 1-5\" },\n { label: \"Mon/Wed/Fri 09:00 local\", expr: \"0 9 * * 1,3,5\" },\n { label: \"Daily 08:00 local\", expr: \"0 8 * * *\" },\n { label: \"Daily 12:00 local\", expr: \"0 12 * * *\" },\n { label: \"Mon 09:30 local\", expr: \"30 9 * * 1\" },\n ];\n\n return (\n <div className=\"space-y-3\">\n <details open className=\"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/15\">\n <summary className=\"cursor-pointer list-none px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)]\">Workflow</summary>\n <div className=\"px-3 pb-3\">\n <label className=\"block\">\n <div className=\"text-[11px] font-medium text-[color:var(--ck-text-tertiary)]\">Timezone</div>\n <input\n value={tz}\n onChange={(e) => {\n const nextTz = String(e.target.value || \"\").trim() || \"UTC\";\n setWorkflow({ ...wf, timezone: nextTz });\n }}\n className=\"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-sm text-[color:var(--ck-text-primary)]\"\n placeholder=\"America/New_York\"\n />\n </label>\n </div>\n </details>\n\n <details open className=\"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/15\">\n <summary className=\"cursor-pointer list-none px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)]\">Approval Channel</summary>\n <div className=\"px-3 pb-3 space-y-2\">\n <label className=\"block\">\n <div className=\"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]\">provider</div>\n <input\n value={approvalProvider}\n onChange={(e) => {\n const nextProvider = String(e.target.value || \"\").trim() || \"telegram\";\n setWorkflow({ ...wf, meta: { ...meta, approvalProvider: nextProvider } });\n }}\n className=\"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]\"\n placeholder=\"telegram\"\n />\n </label>\n\n <label className=\"block\">\n <div className=\"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]\">target</div>\n <input\n value={approvalTarget}\n onChange={(e) => {\n const nextTarget = String(e.target.value || \"\").trim();\n setWorkflow({ ...wf, meta: { ...meta, approvalTarget: nextTarget } });\n }}\n className=\"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]\"\n placeholder=\"(e.g. Telegram chat id)\"\n />\n <div className=\"mt-1 text-[10px] text-[color:var(--ck-text-tertiary)]\">\n If set, runs that reach a human-approval node can send an approval packet via the gateway message tool.\n </div>\n </label>\n </div>\n </details>\n\n <details open className=\"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/15\">\n <summary className=\"cursor-pointer list-none px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)]\">Triggers</summary>\n <div className=\"px-3 pb-3\">\n <div className=\"flex items-center justify-between gap-2\">\n <div className=\"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]\">triggers</div>\n <button\n type=\"button\"\n onClick={() => {\n const id = `t${Date.now()}`;\n setWorkflow({\n ...wf,\n triggers: [\n ...triggers,\n { kind: \"cron\", id, name: \"New trigger\", enabled: true, expr: \"0 9 * * 1-5\", tz },\n ],\n });\n }}\n className=\"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-[10px] font-medium text-[color:var(--ck-text-primary)] hover:bg-white/10\"\n >\n + Add\n </button>\n </div>\n\n <div className=\"mt-2 space-y-2\">\n {triggers.length ? (\n triggers.map((t, i) => {\n const kind = (t as { kind?: unknown }).kind;\n const isCron = kind === \"cron\";\n const id = String((t as { id?: unknown }).id ?? \"\");\n const name = String((t as { name?: unknown }).name ?? \"\");\n const enabled = Boolean((t as { enabled?: unknown }).enabled);\n const expr = String((t as { expr?: unknown }).expr ?? \"\");\n const trigTz = String((t as { tz?: unknown }).tz ?? tz);\n const cronFields = expr.trim().split(/\\s+/).filter(Boolean);\n const cronLooksValid = !expr.trim() || cronFields.length === 5;\n\n return (\n <div key={`${id}-${i}`} className=\"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 p-2\">\n <div className=\"flex items-center justify-between gap-2\">\n <div className=\"text-xs text-[color:var(--ck-text-primary)]\">{name || id || `trigger-${i + 1}`}</div>\n <button\n type=\"button\"\n onClick={() => setWorkflow({ ...wf, triggers: triggers.filter((_, idx) => idx !== i) })}\n className=\"text-[10px] text-[color:var(--ck-text-tertiary)] hover:text-[color:var(--ck-text-primary)]\"\n >\n Remove\n </button>\n </div>\n\n {!isCron ? (\n <div className=\"mt-1 text-xs text-[color:var(--ck-text-secondary)]\">Unsupported trigger kind: {String(kind)}</div>\n ) : null}\n\n <div className=\"mt-2 grid grid-cols-1 gap-2\">\n <label className=\"flex items-center gap-2 text-xs text-[color:var(--ck-text-secondary)]\">\n <input\n type=\"checkbox\"\n checked={enabled}\n onChange={(e) => {\n const nextEnabled = e.target.checked;\n setWorkflow({\n ...wf,\n triggers: triggers.map((x, idx) => (idx === i && x.kind === \"cron\" ? { ...x, enabled: nextEnabled } : x)),\n });\n }}\n />\n Enabled\n </label>\n\n <label className=\"block\">\n <div className=\"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]\">name</div>\n <input\n value={name}\n onChange={(e) => {\n const nextName = e.target.value;\n setWorkflow({\n ...wf,\n triggers: triggers.map((x, idx) => (idx === i && x.kind === \"cron\" ? { ...x, name: nextName } : x)),\n });\n }}\n className=\"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]\"\n placeholder=\"Content cadence\"\n />\n </label>\n\n <label className=\"block\">\n <div className=\"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]\">schedule (cron)</div>\n <input\n value={expr}\n onChange={(e) => {\n const nextExpr = e.target.value;\n setWorkflow({\n ...wf,\n triggers: triggers.map((x, idx) => (idx === i && x.kind === \"cron\" ? { ...x, expr: nextExpr } : x)),\n });\n }}\n className={\n cronLooksValid\n ? \"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 font-mono text-[11px] text-[color:var(--ck-text-primary)]\"\n : \"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-red-400/50 bg-black/25 px-2 py-1 font-mono text-[11px] text-[color:var(--ck-text-primary)]\"\n }\n placeholder=\"0 9 * * 1,3,5\"\n />\n {!cronLooksValid ? (\n <div className=\"mt-1 text-[10px] text-red-200\">\n Cron should be 5 fields (min hour dom month dow). You entered {cronFields.length}.\n </div>\n ) : null}\n <div className=\"mt-1 grid grid-cols-1 gap-1\">\n <select\n value={presets.some((p) => p.expr === expr) ? expr : \"\"}\n onChange={(e) => {\n const nextExpr = e.target.value;\n setWorkflow({\n ...wf,\n triggers: triggers.map((x, idx) => (idx === i && x.kind === \"cron\" ? { ...x, expr: nextExpr } : x)),\n });\n }}\n className=\"w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-[11px] text-[color:var(--ck-text-secondary)]\"\n >\n {presets.map((p) => (\n <option key={p.label} value={p.expr}>\n {p.label}\n </option>\n ))}\n </select>\n <div className=\"text-[10px] text-[color:var(--ck-text-tertiary)]\">Presets set the cron; edit freely for advanced schedules.</div>\n </div>\n </label>\n\n <label className=\"block\">\n <div className=\"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]\">timezone override</div>\n <input\n value={trigTz}\n onChange={(e) => {\n const nextTz = String(e.target.value || \"\").trim() || tz;\n setWorkflow({\n ...wf,\n triggers: triggers.map((x, idx) => (idx === i && x.kind === \"cron\" ? { ...x, tz: nextTz } : x)),\n });\n }}\n className=\"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]\"\n placeholder={tz}\n />\n </label>\n </div>\n </div>\n );\n })\n ) : (\n <div className=\"text-xs text-[color:var(--ck-text-secondary)]\">No triggers yet.</div>\n )}\n </div>\n </div>\n </details>\n\n <details open className=\"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/15\">\n <summary className=\"cursor-pointer list-none px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)]\">Runs</summary>\n <div className=\"px-3 pb-3\">\n <div className=\"flex items-center justify-between gap-2\">\n <div className=\"text-xs font-medium text-[color:var(--ck-text-secondary)]\">Runs (history)</div>\n <button\n type=\"button\"\n disabled={saving}\n onClick={async () => {\n const wfId = String(wf.id ?? \"\").trim();\n if (!wfId) return;\n setWorkflowRunsError(\"\");\n setWorkflowRunsLoading(true);\n try {\n const res = await fetch(\"/api/teams/workflow-runs\", {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({ teamId, workflowId: wfId, mode: \"sample\" }),\n });\n const json = await res.json();\n if (!res.ok || !json.ok) throw new Error(json.error || \"Failed to create sample run\");\n\n const listRes = await fetch(\n `/api/teams/workflow-runs?teamId=${encodeURIComponent(teamId)}&workflowId=${encodeURIComponent(wfId)}`,\n { cache: \"no-store\" }\n );\n const listJson = await listRes.json();\n if (!listRes.ok || !listJson.ok) throw new Error(listJson.error || \"Failed to refresh runs\");\n const files = Array.isArray(listJson.files) ? listJson.files : [];\n const list = files.map((f: unknown) => String(f ?? \"\").trim()).filter((f: string) => Boolean(f));\n setWorkflowRuns(list);\n } catch (e: unknown) {\n setWorkflowRunsError(e instanceof Error ? e.message : String(e));\n } finally {\n setWorkflowRunsLoading(false);\n }\n }}\n className=\"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-[10px] font-medium text-[color:var(--ck-text-primary)] hover:bg-white/10 disabled:opacity-50\"\n >\n + Sample run\n </button>\n </div>\n\n {workflowRunsError ? (\n <div className=\"mt-2 rounded-[var(--ck-radius-sm)] border border-red-400/30 bg-red-500/10 p-2 text-xs text-red-100\">\n {workflowRunsError}\n </div>\n ) : null}\n\n <div className=\"mt-2 space-y-1\">\n {workflowRunsLoading ? (\n <div className=\"text-xs text-[color:var(--ck-text-secondary)]\">Loading runs…</div>\n ) : workflowRuns.length ? (\n workflowRuns.slice(0, 8).map((f) => {\n const runId = String(f).replace(/\\.run\\.json$/i, \"\");\n const selected = selectedWorkflowRunId === runId;\n return (\n <button\n key={f}\n type=\"button\"\n onClick={async () => {\n const wfId = String(wf.id ?? \"\").trim();\n if (!wfId) return;\n setSelectedWorkflowRunId(runId);\n setWorkflowRunsError(\"\");\n try {\n const res = await fetch(\n `/api/teams/workflow-runs?teamId=${encodeURIComponent(teamId)}&workflowId=${encodeURIComponent(wfId)}&runId=${encodeURIComponent(runId)}`,\n { cache: \"no-store\" }\n );\n const json = await res.json();\n if (!res.ok || !json.ok) throw new Error(json.error || \"Failed to load run\");\n // (run detail rendering not implemented yet; selecting stores runId only)\n } catch (e: unknown) {\n setWorkflowRunsError(e instanceof Error ? e.message : String(e));\n }\n }}\n className={\n selected\n ? \"w-full rounded-[var(--ck-radius-sm)] bg-white/10 px-2 py-1 text-left text-[11px] text-[color:var(--ck-text-primary)]\"\n : \"w-full rounded-[var(--ck-radius-sm)] px-2 py-1 text-left text-[11px] text-[color:var(--ck-text-secondary)] hover:bg-white/5\"\n }\n >\n {runId}\n </button>\n );\n })\n ) : (\n <div className=\"text-xs text-[color:var(--ck-text-secondary)]\">No runs yet.</div>\n )}\n </div>\n\n <details open className=\"mt-3 rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/10\">\n <summary className=\"cursor-pointer list-none px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)]\">Nodes</summary>\n <div className=\"px-3 pb-3\">\n\n <div className=\"mt-2 rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 p-2\">\n <div className=\"grid grid-cols-1 gap-2\">\n <label className=\"block\">\n <div className=\"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]\">id</div>\n <input\n value={newNodeId}\n onChange={(e) => setNewNodeId(e.target.value)}\n className=\"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]\"\n placeholder=\"e.g. draft_assets\"\n />\n </label>\n\n <label className=\"block\">\n <div className=\"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]\">name (optional)</div>\n <input\n value={newNodeName}\n onChange={(e) => setNewNodeName(e.target.value)}\n className=\"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]\"\n placeholder=\"Human-friendly label\"\n />\n </label>\n\n <label className=\"block\">\n <div className=\"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]\">type</div>\n <select\n value={newNodeType}\n onChange={(e) => setNewNodeType(e.target.value as WorkflowFileV1[\"nodes\"][number][\"type\"])}\n className=\"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]\"\n >\n <option value=\"start\">start</option>\n <option value=\"end\">end</option>\n <option value=\"llm\">llm</option>\n <option value=\"tool\">tool</option>\n <option value=\"condition\">condition</option>\n <option value=\"delay\">delay</option>\n <option value=\"human_approval\">human_approval</option>\n </select>\n </label>\n\n <button\n type=\"button\"\n onClick={() => {\n const rawId = String(newNodeId || \"\").trim();\n const id = rawId.replace(/[^a-z0-9_\\-]/gi, \"_\");\n if (!id) return;\n if (wf.nodes.some((n) => n.id === id)) return;\n\n const maxX = wf.nodes.reduce((acc, n) => (typeof n.x === \"number\" ? Math.max(acc, n.x) : acc), 80);\n const nextNode = {\n id,\n type: newNodeType,\n name: String(newNodeName || \"\").trim() || id,\n x: maxX + 220,\n y: 80,\n } as WorkflowFileV1[\"nodes\"][number];\n\n setWorkflow({ ...wf, nodes: [...wf.nodes, nextNode] });\n setSelectedNodeId(id);\n setNewNodeId(\"\");\n setNewNodeName(\"\");\n }}\n className=\"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-[11px] font-medium text-[color:var(--ck-text-primary)] hover:bg-white/10\"\n >\n + Add node\n </button>\n </div>\n </div>\n\n <div className=\"mt-2 space-y-1\">\n {wf.nodes.map((n) => {\n const selected = selectedNodeId === n.id;\n return (\n <button\n key={n.id}\n type=\"button\"\n onClick={() => setSelectedNodeId(n.id)}\n className={\n selected\n ? \"w-full rounded-[var(--ck-radius-sm)] bg-white/10 px-2 py-1 text-left text-[11px] text-[color:var(--ck-text-primary)]\"\n : \"w-full rounded-[var(--ck-radius-sm)] px-2 py-1 text-left text-[11px] text-[color:var(--ck-text-secondary)] hover:bg-white/5\"\n }\n >\n <span className=\"font-mono\">{n.id}</span>\n <span className=\"ml-2 text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]\">{n.type}</span>\n </button>\n );\n })}\n </div>\n </div>\n </details>\n\n <details open className=\"mt-3 rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/10\">\n <summary className=\"cursor-pointer list-none px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)]\">Edges</summary>\n <div className=\"px-3 pb-3\">\n\n <div className=\"mt-2 rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 p-2\">\n <div className=\"grid grid-cols-1 gap-2\">\n <label className=\"block\">\n <div className=\"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]\">from</div>\n <select\n value={newEdgeFrom}\n onChange={(e) => setNewEdgeFrom(e.target.value)}\n className=\"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]\"\n >\n <option value=\"\">(select)</option>\n {wf.nodes.map((n) => (\n <option key={n.id} value={n.id}>\n {n.id}\n </option>\n ))}\n </select>\n </label>\n\n <label className=\"block\">\n <div className=\"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]\">to</div>\n <select\n value={newEdgeTo}\n onChange={(e) => setNewEdgeTo(e.target.value)}\n className=\"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]\"\n >\n <option value=\"\">(select)</option>\n {wf.nodes.map((n) => (\n <option key={n.id} value={n.id}>\n {n.id}\n </option>\n ))}\n </select>\n </label>\n\n <label className=\"block\">\n <div className=\"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]\">label (optional)</div>\n <input\n value={newEdgeLabel}\n onChange={(e) => setNewEdgeLabel(e.target.value)}\n className=\"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]\"\n placeholder=\"e.g. approve\"\n />\n </label>\n\n <button\n type=\"button\"\n onClick={() => {\n const from = String(newEdgeFrom || \"\").trim();\n const to = String(newEdgeTo || \"\").trim();\n if (!from || !to) return;\n if (from === to) return;\n const id = `e${Date.now()}`;\n const nextEdge: WorkflowFileV1[\"edges\"][number] = {\n id,\n from,\n to,\n ...(String(newEdgeLabel || \"\").trim() ? { label: String(newEdgeLabel).trim() } : {}),\n };\n setWorkflow({ ...wf, edges: [...(wf.edges ?? []), nextEdge] });\n setNewEdgeLabel(\"\");\n }}\n className=\"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-[11px] font-medium text-[color:var(--ck-text-primary)] hover:bg-white/10\"\n >\n + Add edge\n </button>\n </div>\n </div>\n\n <div className=\"mt-2 space-y-2\">\n {(wf.edges ?? []).length ? (\n (wf.edges ?? []).map((e) => (\n <div key={e.id} className=\"rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 p-2\">\n <div className=\"flex items-center justify-between gap-2\">\n <div className=\"text-[11px] text-[color:var(--ck-text-secondary)]\">\n <span className=\"font-mono\">{e.from}</span> → <span className=\"font-mono\">{e.to}</span>\n {e.label ? <span className=\"ml-2 text-[10px] text-[color:var(--ck-text-tertiary)]\">({e.label})</span> : null}\n </div>\n <button\n type=\"button\"\n onClick={() => setWorkflow({ ...wf, edges: (wf.edges ?? []).filter((x) => x.id !== e.id) })}\n className=\"text-[10px] text-[color:var(--ck-text-tertiary)] hover:text-[color:var(--ck-text-primary)]\"\n >\n Remove\n </button>\n </div>\n </div>\n ))\n ) : (\n <div className=\"text-xs text-[color:var(--ck-text-secondary)]\">No edges yet.</div>\n )}\n </div>\n </div>\n </details>\n\n <details open className=\"mt-3 rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/10\">\n <summary className=\"cursor-pointer list-none px-3 py-2 text-sm font-medium text-[color:var(--ck-text-primary)]\">Node inspector</summary>\n <div className=\"px-3 pb-3\">\n <div className=\"flex items-center justify-between gap-2\">\n {selectedNodeId ? (\n <button\n type=\"button\"\n onClick={() => {\n const nodeId = selectedNodeId;\n const nextNodes = wf.nodes.filter((n) => n.id !== nodeId);\n const nextEdges = (wf.edges ?? []).filter((e) => e.from !== nodeId && e.to !== nodeId);\n setWorkflow({ ...wf, nodes: nextNodes, edges: nextEdges });\n setSelectedNodeId(\"\");\n }}\n className=\"rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-[10px] font-medium text-red-100 hover:bg-white/10\"\n >\n Delete node\n </button>\n ) : null}\n </div>\n\n {selectedNodeId ? (\n (() => {\n const node = wf.nodes.find((n) => n.id === selectedNodeId);\n if (!node) return <div className=\"mt-2 text-sm text-[color:var(--ck-text-secondary)]\">No node selected.</div>;\n\n return (\n <div className=\"mt-3 space-y-3\">\n <div>\n <div className=\"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]\">id</div>\n <div className=\"mt-1 rounded-[var(--ck-radius-sm)] border border-white/10 bg-white/5 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]\">\n {node.id}\n </div>\n </div>\n\n <label className=\"block\">\n <div className=\"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]\">name</div>\n <input\n value={String(node.name ?? \"\")}\n onChange={(e) => {\n const nextName = e.target.value;\n setWorkflow({ ...wf, nodes: wf.nodes.map((n) => (n.id === node.id ? { ...n, name: nextName } : n)) });\n }}\n className=\"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]\"\n placeholder=\"Optional\"\n />\n </label>\n\n <label className=\"block\">\n <div className=\"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]\">type</div>\n <select\n value={node.type}\n onChange={(e) => {\n const nextType = e.target.value as WorkflowFileV1[\"nodes\"][number][\"type\"];\n setWorkflow({ ...wf, nodes: wf.nodes.map((n) => (n.id === node.id ? { ...n, type: nextType } : n)) });\n }}\n className=\"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]\"\n >\n <option value=\"start\">start</option>\n <option value=\"end\">end</option>\n <option value=\"llm\">llm</option>\n <option value=\"tool\">tool</option>\n <option value=\"condition\">condition</option>\n <option value=\"delay\">delay</option>\n <option value=\"human_approval\">human_approval</option>\n </select>\n </label>\n\n <div className=\"grid grid-cols-2 gap-2\">\n <label className=\"block\">\n <div className=\"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]\">x</div>\n <input\n type=\"number\"\n value={typeof node.x === \"number\" ? node.x : 0}\n onChange={(e) => {\n const nextX = Number(e.target.value);\n setWorkflow({ ...wf, nodes: wf.nodes.map((n) => (n.id === node.id ? { ...n, x: nextX } : n)) });\n }}\n className=\"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]\"\n />\n </label>\n <label className=\"block\">\n <div className=\"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]\">y</div>\n <input\n type=\"number\"\n value={typeof node.y === \"number\" ? node.y : 0}\n onChange={(e) => {\n const nextY = Number(e.target.value);\n setWorkflow({ ...wf, nodes: wf.nodes.map((n) => (n.id === node.id ? { ...n, y: nextY } : n)) });\n }}\n className=\"mt-1 w-full rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 px-2 py-1 text-xs text-[color:var(--ck-text-primary)]\"\n />\n </label>\n </div>\n\n <div>\n <div className=\"text-[10px] uppercase tracking-wide text-[color:var(--ck-text-tertiary)]\">config</div>\n <pre className=\"mt-1 max-h-[200px] overflow-auto rounded-[var(--ck-radius-sm)] border border-white/10 bg-black/25 p-2 text-[10px] text-[color:var(--ck-text-secondary)]\">\n {JSON.stringify(node.config ?? {}, null, 2)}\n </pre>\n </div>\n </div>\n );\n })()\n ) : (\n <div className=\"mt-2 text-sm text-[color:var(--ck-text-secondary)]\">Select a node.</div>\n )}\n </div>\n </details>\n </div>\n </details>\n </div>\n );\n })()\n ) : null}\n </div>\n </div>\n </div>\n </div>\n );\n}\n","import type { WorkflowEdgeV1, WorkflowFileV1, WorkflowNodeV1, WorkflowTriggerCronV1 } from \"@/lib/workflows/types\";\n\nexport type WorkflowValidationResult = {\n errors: string[];\n warnings: string[];\n};\n\nfunction isFiveFieldCron(expr: string) {\n const parts = String(expr || \"\")\n .trim()\n .split(/\\s+/)\n .filter(Boolean);\n return parts.length === 5;\n}\n\nfunction uniqCount(values: string[]) {\n const set = new Set<string>();\n for (const v of values) set.add(v);\n return set.size;\n}\n\nexport function validateWorkflowFileV1(wf: WorkflowFileV1): WorkflowValidationResult {\n const errors: string[] = [];\n const warnings: string[] = [];\n\n if (wf.schema !== \"clawkitchen.workflow.v1\") errors.push(`schema must be clawkitchen.workflow.v1 (got ${String(wf.schema)})`);\n if (!String(wf.id || \"\").trim()) errors.push(\"id is required\");\n if (!String(wf.name || \"\").trim()) errors.push(\"name is required\");\n\n const nodes: WorkflowNodeV1[] = Array.isArray(wf.nodes) ? wf.nodes : [];\n const edges: WorkflowEdgeV1[] = Array.isArray(wf.edges) ? wf.edges : [];\n const triggers: WorkflowTriggerCronV1[] = Array.isArray(wf.triggers) ? wf.triggers : [];\n\n const nodeIds = nodes.map((n) => String(n?.id ?? \"\").trim()).filter(Boolean);\n if (nodeIds.length !== nodes.length) errors.push(\"all nodes must have a non-empty id\");\n if (uniqCount(nodeIds) !== nodeIds.length) errors.push(\"node ids must be unique\");\n\n const edgeIds = edges.map((e) => String(e?.id ?? \"\").trim()).filter(Boolean);\n if (edgeIds.length !== edges.length) errors.push(\"all edges must have a non-empty id\");\n if (uniqCount(edgeIds) !== edgeIds.length) errors.push(\"edge ids must be unique\");\n\n const nodeIdSet = new Set(nodeIds);\n for (const e of edges) {\n const from = String(e?.from ?? \"\").trim();\n const to = String(e?.to ?? \"\").trim();\n if (!from || !to) {\n errors.push(`edge ${String(e?.id ?? \"(missing id)\")} must have from/to`);\n continue;\n }\n if (!nodeIdSet.has(from)) errors.push(`edge ${String(e.id)} references missing from node: ${from}`);\n if (!nodeIdSet.has(to)) errors.push(`edge ${String(e.id)} references missing to node: ${to}`);\n }\n\n const starts = nodes.filter((n) => n.type === \"start\");\n const ends = nodes.filter((n) => n.type === \"end\");\n if (!starts.length) warnings.push(\"no start node found\");\n if (starts.length > 1) warnings.push(\"multiple start nodes found (MVP supports this, but execution semantics may be ambiguous)\");\n if (!ends.length) warnings.push(\"no end node found\");\n\n for (const t of triggers) {\n if (t.kind === \"cron\") {\n if (!String(t.id || \"\").trim()) errors.push(\"cron trigger missing id\");\n if (!String(t.expr || \"\").trim()) errors.push(`cron trigger ${String(t.id || \"(missing id)\")} missing expr`);\n else if (!isFiveFieldCron(t.expr)) warnings.push(`cron trigger ${String(t.id)} expr is not 5-field: ${String(t.expr)}`);\n const tz = t.tz ? String(t.tz).trim() : \"\";\n // NOTE: We commonly use \"UTC\" as a default, and it is widely accepted even though it isn't in the\n // classic Region/City IANA format. Treat it as valid to avoid noisy validation warnings.\n if (tz && tz !== \"UTC\" && !tz.includes(\"/\")) {\n warnings.push(`cron trigger ${String(t.id)} tz doesn't look like an IANA timezone: ${String(t.tz)}`);\n }\n }\n }\n\n // Human approval node sanity checks (MVP)\n const meta = wf.meta && typeof wf.meta === \"object\" && !Array.isArray(wf.meta) ? (wf.meta as Record<string, unknown>) : {};\n const defaultTarget = String(meta.approvalTarget ?? \"\").trim();\n for (const n of nodes) {\n if (n.type !== \"human_approval\") continue;\n const cfg = n.config && typeof n.config === \"object\" && !Array.isArray(n.config) ? (n.config as Record<string, unknown>) : {};\n const target = String(cfg.target ?? cfg.chatId ?? \"\").trim();\n const provider = String(cfg.provider ?? cfg.channel ?? \"\").trim();\n\n if (!target && !defaultTarget) {\n warnings.push(`human_approval node ${String(n.id)} has no target (set node.config.target or workflow.meta.approvalTarget)`);\n }\n if (target && !provider && !String(meta.approvalProvider ?? \"\").trim()) {\n warnings.push(`human_approval node ${String(n.id)} has a target but no provider (set node.config.provider or workflow.meta.approvalProvider)`);\n }\n }\n\n return { errors, warnings };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[46058,(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}c._=function(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}},91735,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={assign:function(){return i},searchParamsToUrlQuery:function(){return f},urlQueryToSearchParams:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(a){let b={};for(let[c,d]of a.entries()){let a=b[c];void 0===a?b[c]=d:Array.isArray(a)?a.push(d):b[c]=[a,d]}return b}function g(a){return"string"==typeof a?a:("number"!=typeof a||isNaN(a))&&"boolean"!=typeof a?"":String(a)}function h(a){let b=new URLSearchParams;for(let[c,d]of Object.entries(a))if(Array.isArray(d))for(let a of d)b.append(c,g(a));else b.set(c,g(d));return b}function i(a,...b){for(let c of b){for(let b of c.keys())a.delete(b);for(let[b,d]of c.entries())a.append(b,d)}return a}},43087,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={formatUrl:function(){return h},formatWithValidation:function(){return j},urlObjectKeys:function(){return i}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(46058)._(a.r(91735)),g=/https?|ftp|gopher|file/;function h(a){let{auth:b,hostname:c}=a,d=a.protocol||"",e=a.pathname||"",h=a.hash||"",i=a.query||"",j=!1;b=b?encodeURIComponent(b).replace(/%3A/i,":")+"@":"",a.host?j=b+a.host:c&&(j=b+(~c.indexOf(":")?`[${c}]`:c),a.port&&(j+=":"+a.port)),i&&"object"==typeof i&&(i=String(f.urlQueryToSearchParams(i)));let k=a.search||i&&`?${i}`||"";return d&&!d.endsWith(":")&&(d+=":"),a.slashes||(!d||g.test(d))&&!1!==j?(j="//"+(j||""),e&&"/"!==e[0]&&(e="/"+e)):j||(j=""),h&&"#"!==h[0]&&(h="#"+h),k&&"?"!==k[0]&&(k="?"+k),e=e.replace(/[?#]/g,encodeURIComponent),k=k.replace("#","%23"),`${d}${j}${e}${k}${h}`}let i=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function j(a){return h(a)}},8591,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"useMergedRef",{enumerable:!0,get:function(){return e}});let d=a.r(72131);function e(a,b){let c=(0,d.useRef)(null),e=(0,d.useRef)(null);return(0,d.useCallback)(d=>{if(null===d){let a=c.current;a&&(c.current=null,a());let b=e.current;b&&(e.current=null,b())}else a&&(c.current=f(a,d)),b&&(e.current=f(b,d))},[a,b])}function f(a,b){if("function"!=typeof a)return a.current=b,()=>{a.current=null};{let c=a(b);return"function"==typeof c?c:()=>a(null)}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},46272,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={DecodeError:function(){return r},MiddlewareNotFoundError:function(){return v},MissingStaticPage:function(){return u},NormalizeError:function(){return s},PageNotFoundError:function(){return t},SP:function(){return p},ST:function(){return q},WEB_VITALS:function(){return f},execOnce:function(){return g},getDisplayName:function(){return l},getLocationOrigin:function(){return j},getURL:function(){return k},isAbsoluteUrl:function(){return i},isResSent:function(){return m},loadGetInitialProps:function(){return o},normalizeRepeatedSlashes:function(){return n},stringifyError:function(){return w}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=["CLS","FCP","FID","INP","LCP","TTFB"];function g(a){let b,c=!1;return(...d)=>(c||(c=!0,b=a(...d)),b)}let h=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,i=a=>h.test(a);function j(){let{protocol:a,hostname:b,port:c}=window.location;return`${a}//${b}${c?":"+c:""}`}function k(){let{href:a}=window.location,b=j();return a.substring(b.length)}function l(a){return"string"==typeof a?a:a.displayName||a.name||"Unknown"}function m(a){return a.finished||a.headersSent}function n(a){let b=a.split("?");return b[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(b[1]?`?${b.slice(1).join("?")}`:"")}async function o(a,b){let c=b.res||b.ctx&&b.ctx.res;if(!a.getInitialProps)return b.ctx&&b.Component?{pageProps:await o(b.Component,b.ctx)}:{};let d=await a.getInitialProps(b);if(c&&m(c))return d;if(!d)throw Object.defineProperty(Error(`"${l(a)}.getInitialProps()" should resolve to an object. But found "${d}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return d}let p="u">typeof performance,q=p&&["mark","measure","getEntriesByName"].every(a=>"function"==typeof performance[a]);class r extends Error{}class s extends Error{}class t extends Error{constructor(a){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${a}`}}class u extends Error{constructor(a,b){super(),this.message=`Failed to load static file for page: ${a} ${b}`}}class v extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function w(a){return JSON.stringify({message:a.message,stack:a.stack})}},8868,(a,b,c)=>{"use strict";function d(a){let b=a.indexOf("#"),c=a.indexOf("?"),d=c>-1&&(b<0||c<b);return d||b>-1?{pathname:a.substring(0,d?c:b),query:d?a.substring(c,b>-1?b:void 0):"",hash:b>-1?a.slice(b):""}:{pathname:a,query:"",hash:""}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"parsePath",{enumerable:!0,get:function(){return d}})},5407,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"addPathPrefix",{enumerable:!0,get:function(){return e}});let d=a.r(8868);function e(a,b){if(!a.startsWith("/")||!b)return a;let{pathname:c,query:e,hash:f}=(0,d.parsePath)(a);return`${b}${c}${e}${f}`}},46112,(a,b,c)=>{"use strict";function d(a){return a.replace(/\/$/,"")||"/"}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"removeTrailingSlash",{enumerable:!0,get:function(){return d}})},25075,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"normalizePathTrailingSlash",{enumerable:!0,get:function(){return f}});let d=a.r(46112),e=a.r(8868),f=a=>{if(!a.startsWith("/"))return a;let{pathname:b,query:c,hash:f}=(0,e.parsePath)(a);return`${(0,d.removeTrailingSlash)(b)}${c}${f}`};("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},38243,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"addBasePath",{enumerable:!0,get:function(){return f}});let d=a.r(5407),e=a.r(25075);function f(a,b){return(0,e.normalizePathTrailingSlash)((0,d.addPathPrefix)(a,""))}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},92434,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"warnOnce",{enumerable:!0,get:function(){return d}});let d=a=>{}},10846,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d,e,f,g={FetchStrategy:function(){return k},NavigationResultTag:function(){return i},PrefetchPriority:function(){return j}};for(var h in g)Object.defineProperty(c,h,{enumerable:!0,get:g[h]});var i=((d={})[d.MPA=0]="MPA",d[d.Success=1]="Success",d[d.NoOp=2]="NoOp",d[d.Async=3]="Async",d),j=((e={})[e.Intent=2]="Intent",e[e.Default=1]="Default",e[e.Background=0]="Background",e),k=((f={})[f.LoadingBoundary=0]="LoadingBoundary",f[f.PPR=1]="PPR",f[f.PPRRuntime=2]="PPRRuntime",f[f.Full=3]="Full",f);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},92702,(a,b,c)=>{"use strict";function d(a,b){let c=new URL(a);return{pathname:c.pathname,search:c.search,nextUrl:b}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"createCacheKey",{enumerable:!0,get:function(){return d}}),("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},76e3,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"HasLoadingBoundary",{enumerable:!0,get:function(){return e}});var d,e=((d={})[d.SegmentHasLoadingBoundary=1]="SegmentHasLoadingBoundary",d[d.SubtreeHasLoadingBoundary=2]="SubtreeHasLoadingBoundary",d[d.SubtreeHasNoLoadingBoundary=3]="SubtreeHasNoLoadingBoundary",d)},30641,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"matchSegment",{enumerable:!0,get:function(){return d}});let d=(a,b)=>"string"==typeof a?"string"==typeof b&&a===b:"string"!=typeof b&&a[0]===b[0]&&a[1]===b[1];("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},37909,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={ACTION_HEADER:function(){return g},FLIGHT_HEADERS:function(){return o},NEXT_ACTION_NOT_FOUND_HEADER:function(){return v},NEXT_ACTION_REVALIDATED_HEADER:function(){return y},NEXT_DID_POSTPONE_HEADER:function(){return r},NEXT_HMR_REFRESH_HASH_COOKIE:function(){return l},NEXT_HMR_REFRESH_HEADER:function(){return k},NEXT_HTML_REQUEST_ID_HEADER:function(){return x},NEXT_IS_PRERENDER_HEADER:function(){return u},NEXT_REQUEST_ID_HEADER:function(){return w},NEXT_REWRITTEN_PATH_HEADER:function(){return s},NEXT_REWRITTEN_QUERY_HEADER:function(){return t},NEXT_ROUTER_PREFETCH_HEADER:function(){return i},NEXT_ROUTER_SEGMENT_PREFETCH_HEADER:function(){return j},NEXT_ROUTER_STALE_TIME_HEADER:function(){return q},NEXT_ROUTER_STATE_TREE_HEADER:function(){return h},NEXT_RSC_UNION_QUERY:function(){return p},NEXT_URL:function(){return m},RSC_CONTENT_TYPE_HEADER:function(){return n},RSC_HEADER:function(){return f}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="rsc",g="next-action",h="next-router-state-tree",i="next-router-prefetch",j="next-router-segment-prefetch",k="next-hmr-refresh",l="__next_hmr_refresh_hash__",m="next-url",n="text/x-component",o=[f,h,i,k,j],p="_rsc",q="x-nextjs-stale-time",r="x-nextjs-postponed",s="x-nextjs-rewritten-path",t="x-nextjs-rewritten-query",u="x-nextjs-prerender",v="x-nextjs-action-not-found",w="x-nextjs-request-id",x="x-nextjs-html-request-id",y="x-action-revalidated";("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},88347,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d,e={ACTION_HMR_REFRESH:function(){return k},ACTION_NAVIGATE:function(){return h},ACTION_REFRESH:function(){return g},ACTION_RESTORE:function(){return i},ACTION_SERVER_ACTION:function(){return l},ACTION_SERVER_PATCH:function(){return j},PrefetchKind:function(){return m}};for(var f in e)Object.defineProperty(c,f,{enumerable:!0,get:e[f]});let g="refresh",h="navigate",i="restore",j="server-patch",k="hmr-refresh",l="server-action";var m=((d={}).AUTO="auto",d.FULL="full",d);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},67009,(a,b,c)=>{"use strict";function d(a){return null!==a&&"object"==typeof a&&"then"in a&&"function"==typeof a.then}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"isThenable",{enumerable:!0,get:function(){return d}})},90841,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={dispatchAppRouterAction:function(){return i},useActionQueue:function(){return j}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(46058)._(a.r(72131)),g=a.r(67009),h=null;function i(a){if(null===h)throw Object.defineProperty(Error("Internal Next.js error: Router action dispatched before initialization."),"__NEXT_ERROR_CODE",{value:"E668",enumerable:!1,configurable:!0});h(a)}function j(a){let[b,c]=f.default.useState(a.state);h=b=>a.dispatch(b,c);let d=(0,f.useMemo)(()=>b,[b]);return(0,g.isThenable)(d)?(0,f.use)(d):d}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},20611,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"callServer",{enumerable:!0,get:function(){return g}});let d=a.r(72131),e=a.r(88347),f=a.r(90841);async function g(a,b){return new Promise((c,g)=>{(0,d.startTransition)(()=>{(0,f.dispatchAppRouterAction)({type:e.ACTION_SERVER_ACTION,actionId:a,actionArgs:b,resolve:c,reject:g})})})}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},1722,(a,b,c)=>{"use strict";let d;Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"findSourceMapURL",{enumerable:!0,get:function(){return d}});("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},39118,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={DEFAULT_SEGMENT_KEY:function(){return l},NOT_FOUND_SEGMENT_KEY:function(){return m},PAGE_SEGMENT_KEY:function(){return k},addSearchParamsIfPageSegment:function(){return i},computeSelectedLayoutSegment:function(){return j},getSegmentValue:function(){return f},getSelectedLayoutSegmentPath:function(){return function a(b,c,d=!0,e=[]){let g;if(d)g=b[1][c];else{let a=b[1];g=a.children??Object.values(a)[0]}if(!g)return e;let h=f(g[0]);return!h||h.startsWith(k)?e:(e.push(h),a(g,c,!1,e))}},isGroupSegment:function(){return g},isParallelRouteSegment:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(a){return Array.isArray(a)?a[1]:a}function g(a){return"("===a[0]&&a.endsWith(")")}function h(a){return a.startsWith("@")&&"@children"!==a}function i(a,b){if(a.includes(k)){let a=JSON.stringify(b);return"{}"!==a?k+"?"+a:k}return a}function j(a,b){if(!a||0===a.length)return null;let c="children"===b?a[0]:a[a.length-1];return c===l?null:c}let k="__PAGE__",l="__DEFAULT__",m="/_not-found"},58216,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={HEAD_REQUEST_KEY:function(){return h},ROOT_SEGMENT_REQUEST_KEY:function(){return g},appendSegmentRequestKeyPart:function(){return j},convertSegmentPathToStaticExportFilename:function(){return m},createSegmentRequestKeyPart:function(){return i}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(39118),g="",h="/_head";function i(a){if("string"==typeof a)return a.startsWith(f.PAGE_SEGMENT_KEY)?f.PAGE_SEGMENT_KEY:"/_not-found"===a?"_not-found":l(a);let b=a[0];return"$"+a[2]+"$"+l(b)}function j(a,b,c){return a+"/"+("children"===b?c:`@${l(b)}/${c}`)}let k=/^[a-zA-Z0-9\-_@]+$/;function l(a){return k.test(a)?a:"!"+btoa(a).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function m(a){return`__next${a.replace(/\//g,".")}.txt`}},23187,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={doesStaticSegmentAppearInURL:function(){return l},getCacheKeyForDynamicParam:function(){return m},getParamValueFromCacheKey:function(){return o},getRenderedPathname:function(){return j},getRenderedSearch:function(){return i},parseDynamicParamFromURLPart:function(){return k},urlSearchParamsToParsedUrlQuery:function(){return p},urlToUrlWithoutFlightMarker:function(){return n}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(39118),g=a.r(58216),h=a.r(37909);function i(a){let b=a.headers.get(h.NEXT_REWRITTEN_QUERY_HEADER);return null!==b?""===b?"":"?"+b:n(new URL(a.url)).search}function j(a){return a.headers.get(h.NEXT_REWRITTEN_PATH_HEADER)??n(new URL(a.url)).pathname}function k(a,b,c){switch(a){case"c":return c<b.length?b.slice(c).map(a=>encodeURIComponent(a)):[];case"ci(..)(..)":case"ci(.)":case"ci(..)":case"ci(...)":{let d=a.length-2;return c<b.length?b.slice(c).map((a,b)=>0===b?encodeURIComponent(a.slice(d)):encodeURIComponent(a)):[]}case"oc":return c<b.length?b.slice(c).map(a=>encodeURIComponent(a)):null;case"d":if(c>=b.length)return"";return encodeURIComponent(b[c]);case"di(..)(..)":case"di(.)":case"di(..)":case"di(...)":{let d=a.length-2;if(c>=b.length)return"";return encodeURIComponent(b[c].slice(d))}default:return""}}function l(a){return!(a===g.ROOT_SEGMENT_REQUEST_KEY||a.startsWith(f.PAGE_SEGMENT_KEY)||"("===a[0]&&a.endsWith(")"))&&a!==f.DEFAULT_SEGMENT_KEY&&"/_not-found"!==a}function m(a,b){return"string"==typeof a?(0,f.addSearchParamsIfPageSegment)(a,Object.fromEntries(new URLSearchParams(b))):null===a?"":a.join("/")}function n(a){let b=new URL(a);return b.searchParams.delete(h.NEXT_RSC_UNION_QUERY),b}function o(a,b){return"c"===b||"oc"===b?a.split("/"):a}function p(a){let b={};for(let[c,d]of a.entries())void 0===b[c]?b[c]=d:Array.isArray(b[c])?b[c].push(d):b[c]=[b[c],d];return b}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},74685,(a,b,c)=>{"use strict";function d(a,b=!0){return a.pathname+a.search+(b?a.hash:"")}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"createHrefFromUrl",{enumerable:!0,get:function(){return d}}),("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},22129,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={createInitialRSCPayloadFromFallbackPrerender:function(){return j},getFlightDataPartsFromPath:function(){return i},getNextFlightSegmentPath:function(){return k},normalizeFlightData:function(){return l},prepareFlightRouterStateForRequest:function(){return m}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(39118),g=a.r(23187),h=a.r(74685);function i(a){let[b,c,d,e]=a.slice(-4),f=a.slice(0,-4);return{pathToSegment:f.slice(0,-1),segmentPath:f,segment:f[f.length-1]??"",tree:b,seedData:c,head:d,isHeadPartial:e,isRootRender:4===a.length}}function j(a,b){let c=(0,g.getRenderedPathname)(a),d=(0,g.getRenderedSearch)(a),e=(0,h.createHrefFromUrl)(new URL(location.href)),f=b.f[0],i=f[0];return{b:b.b,c:e.split("/"),q:d,i:b.i,f:[[function a(b,c,d,e){let f,h,i=b[0];if("string"==typeof i)f=i,h=(0,g.doesStaticSegmentAppearInURL)(i);else{let a=i[0],b=i[2],j=(0,g.parseDynamicParamFromURLPart)(b,d,e);f=[a,(0,g.getCacheKeyForDynamicParam)(j,c),b],h=!0}let j=h?e+1:e,k=b[1],l={};for(let b in k){let e=k[b];l[b]=a(e,c,d,j)}return[f,l,null,b[3],b[4]]}(i,d,c.split("/").filter(a=>""!==a),0),f[1],f[2],f[2]]],m:b.m,G:b.G,S:b.S}}function k(a){return a.slice(2)}function l(a){return"string"==typeof a?a:a.map(a=>i(a))}function m(a,b){return b?encodeURIComponent(JSON.stringify(a)):encodeURIComponent(JSON.stringify(function a(b){var c,d;let[e,g,h,i,j,k]=b,l="string"==typeof(c=e)&&c.startsWith(f.PAGE_SEGMENT_KEY+"?")?f.PAGE_SEGMENT_KEY:c,m={};for(let[b,c]of Object.entries(g))m[b]=a(c);let n=[l,m,null,(d=i)&&"refresh"!==d?i:null];return void 0!==j&&(n[4]=j),void 0!==k&&(n[5]=k),n}(a)))}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},91377,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={getAppBuildId:function(){return h},setAppBuildId:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="";function g(a){f=a}function h(){return f}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},16661,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={djb2Hash:function(){return f},hexHash:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(a){let b=5381;for(let c=0;c<a.length;c++)b=(b<<5)+b+a.charCodeAt(c)|0;return b>>>0}function g(a){return f(a).toString(36).slice(0,5)}},35604,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"computeCacheBustingSearchParam",{enumerable:!0,get:function(){return e}});let d=a.r(16661);function e(a,b,c,e){return(void 0===a||"0"===a)&&void 0===b&&void 0===c&&void 0===e?"":(0,d.hexHash)([a||"0",b||"0",c||"0",e||"0"].join(","))}},25744,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={setCacheBustingSearchParam:function(){return h},setCacheBustingSearchParamWithHash:function(){return i}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(35604),g=a.r(37909),h=(a,b)=>{i(a,(0,f.computeCacheBustingSearchParam)(b[g.NEXT_ROUTER_PREFETCH_HEADER],b[g.NEXT_ROUTER_SEGMENT_PREFETCH_HEADER],b[g.NEXT_ROUTER_STATE_TREE_HEADER],b[g.NEXT_URL]))},i=(a,b)=>{let c=a.search,d=(c.startsWith("?")?c.slice(1):c).split("&").filter(a=>a&&!a.startsWith(`${g.NEXT_RSC_UNION_QUERY}=`));b.length>0?d.push(`${g.NEXT_RSC_UNION_QUERY}=${b}`):d.push(`${g.NEXT_RSC_UNION_QUERY}`),a.search=d.length?`?${d.join("&")}`:""};("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},68063,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={getDeploymentId:function(){return f},getDeploymentIdQueryOrEmptyString:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(){return!1}function g(){return""}},20873,(a,b,c)=>{"use strict";let d;Object.defineProperty(c,"__esModule",{value:!0});var e={createFetch:function(){return t},createFromNextReadableStream:function(){return u},fetchServerResponse:function(){return s}};for(var f in e)Object.defineProperty(c,f,{enumerable:!0,get:e[f]});let g=a.r(38783),h=a.r(37909),i=a.r(20611),j=a.r(1722),k=a.r(22129),l=a.r(91377),m=a.r(25744),n=a.r(23187),o=a.r(68063),p=g.createFromReadableStream,q=g.createFromFetch;function r(a){return(0,n.urlToUrlWithoutFlightMarker)(new URL(a,location.origin)).toString()}async function s(a,b){let{flightRouterState:c,nextUrl:d}=b,e={[h.RSC_HEADER]:"1",[h.NEXT_ROUTER_STATE_TREE_HEADER]:(0,k.prepareFlightRouterStateForRequest)(c,b.isHmrRefresh)};d&&(e[h.NEXT_URL]=d);try{let b=await t(a,e,"auto",!0),c=(0,n.urlToUrlWithoutFlightMarker)(new URL(b.url)),d=b.redirected?c:a,f=b.headers.get("content-type")||"",g=!!b.headers.get("vary")?.includes(h.NEXT_URL),i=!!b.headers.get(h.NEXT_DID_POSTPONE_HEADER),j=b.headers.get(h.NEXT_ROUTER_STALE_TIME_HEADER),m=null!==j?1e3*parseInt(j,10):-1;if(!f.startsWith(h.RSC_CONTENT_TYPE_HEADER)||!b.ok||!b.body)return a.hash&&(c.hash=a.hash),r(c.toString());let o=b.flightResponse;if(null===o){let a,c=i?(a=b.body.getReader(),new ReadableStream({async pull(b){for(;;){let{done:c,value:d}=await a.read();if(!c){b.enqueue(d);continue}return}}})):b.body;o=u(c,e)}let p=await o;if((0,l.getAppBuildId)()!==p.b)return r(b.url);let q=(0,k.normalizeFlightData)(p.f);if("string"==typeof q)return r(q);return{flightData:q,canonicalUrl:d,renderedSearch:(0,n.getRenderedSearch)(b),couldBeIntercepted:g,prerendered:p.S,postponed:i,staleTime:m,debugInfo:o._debugInfo??null}}catch(b){return console.error(`Failed to fetch RSC payload for ${a}. Falling back to browser navigation.`,b),a.toString()}}async function t(a,b,c,e,f){var g,k;let l=(0,o.getDeploymentId)();l&&(b["x-deployment-id"]=l);let n=new URL(a);(0,m.setCacheBustingSearchParam)(n,b);let p=fetch(n,{credentials:"same-origin",headers:b,priority:c||void 0,signal:f}),r=e?(g=p,k=b,q(g,{callServer:i.callServer,findSourceMapURL:j.findSourceMapURL,debugChannel:d&&d(k)})):null,s=await p,t=s.redirected,u=new URL(s.url,n);return u.searchParams.delete(h.NEXT_RSC_UNION_QUERY),{url:u.href,redirected:t,ok:s.ok,headers:s.headers,body:s.body,status:s.status,flightResponse:r}}function u(a,b){return p(a,{callServer:i.callServer,findSourceMapURL:j.findSourceMapURL,debugChannel:d&&d(b)})}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},54645,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={deleteFromLru:function(){return l},lruPut:function(){return j},updateLruSize:function(){return k}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(51561),g=null,h=!1,i=0;function j(a){if(g===a)return;let b=a.prev,c=a.next;if(null===c||null===b?(i+=a.size,m()):(b.next=c,c.prev=b),null===g)a.prev=a,a.next=a;else{let b=g.prev;a.prev=b,null!==b&&(b.next=a),a.next=g,g.prev=a}g=a}function k(a,b){let c=a.size;a.size=b,null!==a.next&&(i=i-c+b,m())}function l(a){let b=a.next,c=a.prev;null!==b&&null!==c&&(i-=a.size,a.next=null,a.prev=null,g===a?b===g?g=null:(g=b,c.next=b,b.prev=c):(c.next=b,b.prev=c))}function m(){h||i<=0x3200000||(h=!0,o(n))}function n(){h=!1;for(;i>0x2d00000&&null!==g;){let a=g.prev;null!==a&&(0,f.deleteMapEntry)(a)}}let o="function"==typeof requestIdleCallback?requestIdleCallback:a=>setTimeout(a,0);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},51561,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={Fallback:function(){return g},createCacheMap:function(){return i},deleteFromCacheMap:function(){return n},deleteMapEntry:function(){return o},getFromCacheMap:function(){return j},isValueExpired:function(){return k},setInCacheMap:function(){return l},setSizeInCacheMap:function(){return p}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(54645),g={},h={};function i(){return{parent:null,key:null,value:null,map:null,prev:null,next:null,size:0}}function j(a,b,c,d,e){let i=function a(b,c,d,e,f,i){let j,l;if(null!==e)j=e.value,l=e.parent;else if(f&&i!==h)j=h,l=null;else return null===d.value?d:k(b,c,d.value)?(o(d),null):d;let m=d.map;if(null!==m){let d=m.get(j);if(void 0!==d){let e=a(b,c,d,l,f,j);if(null!==e)return e}let e=m.get(g);if(void 0!==e)return a(b,c,e,l,f,j)}return null}(a,b,c,d,e,0);return null===i||null===i.value?null:((0,f.lruPut)(i),i.value)}function k(a,b,c){return c.staleAt<=a||c.version<b}function l(a,b,c,d){let e=function(a,b,c){let d=a,e=b,f=null;for(;;){let a=f;if(null!==e)f=e.value,e=e.parent;else if(c&&a!==h){if(null===d.value)return d;f=h}else break;let b=d.map;if(null!==b){let a=b.get(f);if(void 0!==a){d=a;continue}}else b=new Map,d.map=b;let g={parent:d,key:f,value:null,map:null,prev:null,next:null,size:0};b.set(f,g),d=g}return d}(a,b,d);m(e,c),(0,f.lruPut)(e),(0,f.updateLruSize)(e,c.size)}function m(a,b){null!==a.value&&(a.value.ref=null,a.value=null);let c=b.ref;a.value=b,b.ref=a,(0,f.updateLruSize)(a,b.size),null!==c&&c!==a&&c.value===b&&o(c)}function n(a){let b=a.ref;null!==b&&(a.ref=null,o(b))}function o(a){a.value=null,(0,f.deleteFromLru)(a);let b=a.map;if(null===b){let b=a.parent,c=a.key;for(;null!==b;){let a=b.map;if(null!==a&&(a.delete(c),0===a.size)&&(b.map=null,null===b.value)){c=b.key,b=b.parent;continue}break}}else{let c=b.get(h);void 0!==c&&null!==c.value&&m(a,c.value)}}function p(a,b){let c=a.ref;null!==c&&(a.size=b,(0,f.updateLruSize)(c,b))}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},91442,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={appendLayoutVaryPath:function(){return k},clonePageVaryPathWithNewSearchParams:function(){return p},finalizeLayoutVaryPath:function(){return l},finalizeMetadataVaryPath:function(){return n},finalizePageVaryPath:function(){return m},getFulfilledRouteVaryPath:function(){return j},getRouteVaryPath:function(){return i},getSegmentVaryPathForRequest:function(){return o}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(10846),g=a.r(51561),h=a.r(58216);function i(a,b,c){return{value:a,parent:{value:b,parent:{value:c,parent:null}}}}function j(a,b,c,d){return{value:a,parent:{value:b,parent:{value:d?c:g.Fallback,parent:null}}}}function k(a,b){return{value:b,parent:a}}function l(a,b){return{value:a,parent:b}}function m(a,b,c){return{value:a,parent:{value:b,parent:c}}}function n(a,b,c){return{value:a+h.HEAD_REQUEST_KEY,parent:{value:b,parent:c}}}function o(a,b){let c=b.varyPath;if(b.isPage&&a!==f.FetchStrategy.Full&&a!==f.FetchStrategy.PPRRuntime){let a=c.parent.parent;return{value:c.value,parent:{value:g.Fallback,parent:a}}}return c}function p(a,b){let c=a.parent;return{value:a.value,parent:{value:b,parent:c.parent}}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},19924,(a,b,c)=>{"use strict";function d(a){return a.startsWith("/")?a:`/${a}`}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureLeadingSlash",{enumerable:!0,get:function(){return d}})},53808,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={normalizeAppPath:function(){return h},normalizeRscURL:function(){return i}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(19924),g=a.r(39118);function h(a){return(0,f.ensureLeadingSlash)(a.split("/").reduce((a,b,c,d)=>!b||(0,g.isGroupSegment)(b)||"@"===b[0]||("page"===b||"route"===b)&&c===d.length-1?a:`${a}/${b}`,""))}function i(a){return a.replace(/\.rsc($|\?)/,"$1")}},18099,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={INTERCEPTION_ROUTE_MARKERS:function(){return g},extractInterceptionRouteInformation:function(){return i},isInterceptionRouteAppPath:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(53808),g=["(..)(..)","(.)","(..)","(...)"];function h(a){return void 0!==a.split("/").find(a=>g.find(b=>a.startsWith(b)))}function i(a){let b,c,d;for(let e of a.split("/"))if(c=g.find(a=>e.startsWith(a))){[b,d]=a.split(c,2);break}if(!b||!c||!d)throw Object.defineProperty(Error(`Invalid interception route: ${a}. Must be in the format /<intercepting route>/(..|...|..)(..)/<intercepted route>`),"__NEXT_ERROR_CODE",{value:"E269",enumerable:!1,configurable:!0});switch(b=(0,f.normalizeAppPath)(b),c){case"(.)":d="/"===b?`/${d}`:b+"/"+d;break;case"(..)":if("/"===b)throw Object.defineProperty(Error(`Invalid interception route: ${a}. Cannot use (..) marker at the root level, use (.) instead.`),"__NEXT_ERROR_CODE",{value:"E207",enumerable:!1,configurable:!0});d=b.split("/").slice(0,-1).concat(d).join("/");break;case"(...)":d="/"+d;break;case"(..)(..)":let e=b.split("/");if(e.length<=2)throw Object.defineProperty(Error(`Invalid interception route: ${a}. Cannot use (..)(..) marker at the root level or one level up.`),"__NEXT_ERROR_CODE",{value:"E486",enumerable:!1,configurable:!0});d=e.slice(0,-2).concat(d).join("/");break;default:throw Object.defineProperty(Error("Invariant: unexpected marker"),"__NEXT_ERROR_CODE",{value:"E112",enumerable:!1,configurable:!0})}return{interceptingRoute:b,interceptedRoute:d}}},37042,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={computeChangedPath:function(){return l},extractPathFromFlightRouterState:function(){return k},getSelectedParams:function(){return function a(b,c={}){for(let d of Object.values(b[1])){let b=d[0],e=Array.isArray(b),f=e?b[1]:b;!f||f.startsWith(g.PAGE_SEGMENT_KEY)||(e&&("c"===b[2]||"oc"===b[2])?c[b[0]]=b[1].split("/"):e&&(c[b[0]]=b[1]),c=a(d,c))}return c}}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(18099),g=a.r(39118),h=a.r(30641),i=a=>"string"==typeof a?"children"===a?"":a:a[1];function j(a){return a.reduce((a,b)=>{let c;return""===(b="/"===(c=b)[0]?c.slice(1):c)||(0,g.isGroupSegment)(b)?a:`${a}/${b}`},"")||"/"}function k(a){let b=Array.isArray(a[0])?a[0][1]:a[0];if(b===g.DEFAULT_SEGMENT_KEY||f.INTERCEPTION_ROUTE_MARKERS.some(a=>b.startsWith(a)))return;if(b.startsWith(g.PAGE_SEGMENT_KEY))return"";let c=[i(b)],d=a[1]??{},e=d.children?k(d.children):void 0;if(void 0!==e)c.push(e);else for(let[a,b]of Object.entries(d)){if("children"===a)continue;let d=k(b);void 0!==d&&c.push(d)}return j(c)}function l(a,b){let c=function a(b,c){let[d,e]=b,[g,j]=c,l=i(d),m=i(g);if(f.INTERCEPTION_ROUTE_MARKERS.some(a=>l.startsWith(a)||m.startsWith(a)))return"";if(!(0,h.matchSegment)(d,g))return k(c)??"";for(let b in e)if(j[b]){let c=a(e[b],j[b]);if(null!==c)return`${i(g)}/${c}`}return null}(a,b);return null==c||"/"===c?c:j(c.split("/"))}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},88632,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"handleMutable",{enumerable:!0,get:function(){return f}});let d=a.r(37042);function e(a){return void 0!==a}function f(a,b){let c=b.shouldScroll??!0,f=a.previousNextUrl,g=a.nextUrl;if(e(b.patchedTree)){let c=(0,d.computeChangedPath)(a.tree,b.patchedTree);c?(f=g,g=c):g||(g=a.canonicalUrl)}return{canonicalUrl:b.canonicalUrl??a.canonicalUrl,renderedSearch:b.renderedSearch??a.renderedSearch,pushRef:{pendingPush:e(b.pendingPush)?b.pendingPush:a.pushRef.pendingPush,mpaNavigation:e(b.mpaNavigation)?b.mpaNavigation:a.pushRef.mpaNavigation,preserveCustomHistoryState:e(b.preserveCustomHistoryState)?b.preserveCustomHistoryState:a.pushRef.preserveCustomHistoryState},focusAndScrollRef:{apply:!!c&&(!!e(b?.scrollableSegments)||a.focusAndScrollRef.apply),onlyHashChange:b.onlyHashChange||!1,hashFragment:c?b.hashFragment&&""!==b.hashFragment?decodeURIComponent(b.hashFragment.slice(1)):a.focusAndScrollRef.hashFragment:null,segmentPaths:c?b?.scrollableSegments??a.focusAndScrollRef.segmentPaths:[]},cache:b.cache?b.cache:a.cache,tree:e(b.patchedTree)?b.patchedTree:a.tree,nextUrl:g,previousNextUrl:f,debugInfo:b.collectedDebugInfo??null}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},70681,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"createRouterCacheKey",{enumerable:!0,get:function(){return e}});let d=a.r(39118);function e(a,b=!1){return Array.isArray(a)?`${a[0]}|${a[1]}|${a[2]}`:b&&a.startsWith(d.PAGE_SEGMENT_KEY)?d.PAGE_SEGMENT_KEY:a}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},71094,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"isNavigatingToNewRootLayout",{enumerable:!0,get:function(){return function a(b,c){let d=b[0],e=c[0];if(Array.isArray(d)&&Array.isArray(e)){if(d[0]!==e[0]||d[2]!==e[2])return!0}else if(d!==e)return!0;if(b[4])return!c[4];if(c[4])return!0;let f=Object.values(b[1])[0],g=Object.values(c[1])[0];return!f||!g||a(f,g)}}}),("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},57051,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d,e={FreshnessPolicy:function(){return q},createInitialCacheNodeForHydration:function(){return s},isDeferredRsc:function(){return G},spawnDynamicRequests:function(){return B},startPPRNavigation:function(){return t}};for(var f in e)Object.defineProperty(c,f,{enumerable:!0,get:e[f]});let g=a.r(39118),h=a.r(30641),i=a.r(74685),j=a.r(70681),k=a.r(20873),l=a.r(90841),m=a.r(88347),n=a.r(71094),o=a.r(23053),p=a.r(37472);var q=((d={})[d.Default=0]="Default",d[d.Hydration=1]="Hydration",d[d.HistoryTraversal=2]="HistoryTraversal",d[d.RefreshAll=3]="RefreshAll",d[d.HMRRefresh=4]="HMRRefresh",d);let r=()=>{};function s(a,b,c,d){return u(a,b,void 0,1,c,d,null,null,!1,null,null,!1,{scrollableSegments:null,separateRefreshUrls:null}).node}function t(a,b,c,d,e,f,k,l,m,o,p,q,r){return function a(b,c,d,e,f,k,l,m,o,p,q,r,s,t,A,B,C,D){var E,F;let G,H,I,J=e[0],K=f[0];if(!(0,h.matchSegment)(K,J))return!l&&(0,n.isNavigatingToNewRootLayout)(e,f)||K===g.NOT_FOUND_SEGMENT_KEY||null===t||null===A?null:u(b,f,d,k,m,o,p,q,r,t,A,B,D);let L=null!==A&&null!==t?t.concat([A,K]):[],M=f[1],N=e[1],O=null!==m?m[1]:null,P=null!==p?p[1]:null,Q=!0===f[4],R=l||Q,S=void 0!==d?d.parallelRoutes:void 0,T=!1,U=!1;switch(k){case 0:case 2:case 1:T=!1,U=!1;break;case 3:case 4:T=!0,U=!0}let V=new Map(T?void 0:S),W=0===Object.keys(M).length;if(void 0===d||U||W&&s)if(null!==m&&null!==m[0]){let a=m[0],c=m[2],d=null===o;H=y(a,c,!1,o,d,W,V,b),I=W&&d}else if(null!==p){let a=p[0],c=p[2],d=p[3];H=y(a,c,d,q,r,W,V,b),I=d||W&&r}else H=z(V,W,b,k),I=!0;else H=x(!1,d,V),I=!1;let X=f[2],Y="string"==typeof X&&"refresh"===f[3]?X:C;I&&null!==Y&&(E=D,F=Y,null===(G=E.separateRefreshUrls)?E.separateRefreshUrls=new Set([F]):G.add(F));let Z={},$=null,_=!1,aa={};for(let d in M){let e=M[d],f=N[d];if(void 0===f)return null;let h=void 0!==S?S.get(d):void 0,l=null!==O?O[d]:null,m=null!==P?P[d]:null,n=e[0],p=o,t=q,u=r;2!==k&&n===g.DEFAULT_SEGMENT_KEY&&(n=(e=function(a,b){let c;return"refresh"===b[3]?c=b:((c=v(b,b[1]))[2]=(0,i.createHrefFromUrl)(a),c[3]="refresh"),c}(c,f))[0],l=null,p=null,m=null,t=null,u=!1);let w=(0,j.createRouterCacheKey)(n),x=a(b,c,void 0!==h?h.get(w):void 0,f,e,k,R,l??null,p,m??null,t,u,s,L,d,B||I,Y,D);if(null===x)return null;null===$&&($=new Map),$.set(d,x);let y=x.node;if(null!==y){let a=new Map(T?void 0:h);a.set(w,y),V.set(d,a)}let z=x.route;Z[d]=z;let A=x.dynamicRequestTree;null!==A?(_=!0,aa[d]=A):aa[d]=z}return{status:+!I,route:v(f,Z),node:H,dynamicRequestTree:w(f,aa,I,_,B),refreshUrl:Y,children:$}}(a,b,null!==c?c:void 0,d,e,f,!1,k,l,m,o,p,q,null,null,!1,null,r)}function u(a,b,c,d,e,f,g,h,i,k,l,m,n){let p,q,r=b[0],s=null!==l&&null!==k?k.concat([l,r]):[],t=b[1],A=null!==g?g[1]:null,B=null!==e?e[1]:null,C=void 0!==c?c.parallelRoutes:void 0,D=!1,E=!1,F=!1;switch(d){case 0:D=!1,E=void 0===c||a-c.navigatedAt>=o.DYNAMIC_STALETIME_MS,F=!1;break;case 1:E=!1,D=!1,F=!1;break;case 2:if(E=!1,E=!1,void 0!==c){let a=c.rsc;F=!G(a)||"pending"!==a.status}else F=!1;break;case 3:case 4:E=!0,D=!0,F=!1}let H=new Map(D?void 0:C),I=0===Object.keys(t).length;if(I&&(null===n.scrollableSegments&&(n.scrollableSegments=[]),n.scrollableSegments.push(s)),E||void 0===c)if(null!==e&&null!==e[0]){let b=e[0],c=e[2],g=null===f&&1!==d;p=y(b,c,!1,f,g,I,H,a),q=I&&g}else if(1===d&&I&&null!==f)p=y(null,null,!1,f,!1,I,H,a),q=!1;else if(1!==d&&null!==g){let b=g[0],c=g[2],d=g[3];p=y(b,c,d,h,i,I,H,a),q=d||I&&i}else p=z(H,I,a,d),q=!0;else p=x(F,c,H),q=!1;let J={},K=null,L=!1,M={};for(let b in t){let c=t[b],e=void 0!==C?C.get(b):void 0,g=null!==B?B[b]:null,k=null!==A?A[b]:null,l=c[0],o=(0,j.createRouterCacheKey)(l),p=u(a,c,void 0!==e?e.get(o):void 0,d,g??null,f,k??null,h,i,s,b,m||q,n);null===K&&(K=new Map),K.set(b,p);let r=p.node;if(null!==r){let a=new Map(D?void 0:e);a.set(o,r),H.set(b,a)}let v=p.route;J[b]=v;let w=p.dynamicRequestTree;null!==w?(L=!0,M[b]=w):M[b]=v}return{status:+!q,route:v(b,J),node:p,dynamicRequestTree:w(b,M,q,L,m),refreshUrl:null,children:K}}function v(a,b){let c=[a[0],b];return 2 in a&&(c[2]=a[2]),3 in a&&(c[3]=a[3]),4 in a&&(c[4]=a[4]),c}function w(a,b,c,d,e){let f=null;return c?(f=v(a,b),e||(f[3]="refetch")):f=d?v(a,b):null,f}function x(a,b,c){return{rsc:b.rsc,prefetchRsc:a?null:b.prefetchRsc,head:b.head,prefetchHead:a?null:b.prefetchHead,loading:b.loading,parallelRoutes:c,navigatedAt:b.navigatedAt}}function y(a,b,c,d,e,f,g,h){let i,j,k,l;return c?(j=a,i=H()):(j=null,i=a),f?e?(k=d,l=H()):(k=null,l=d):(k=null,l=null),{rsc:i,prefetchRsc:j,head:l,prefetchHead:k,loading:b,parallelRoutes:g,navigatedAt:h}}function z(a,b,c,d){let e=1===d;return{rsc:e?null:H(),prefetchRsc:null,head:!e&&b?H():null,prefetchHead:null,loading:e?null:H(),parallelRoutes:a,navigatedAt:c}}let A=!1;function B(a,b,c,d,e){let f=a.dynamicRequestTree;if(null===f){A=!1;return}let g=E(a,f,b,c,d),h=e.separateRefreshUrls,j=null;if(null!==h){j=[];let e=(0,i.createHrefFromUrl)(b);for(let b of h)b!==e&&null!==f&&j.push(E(a,f,new URL(b,location.origin),c,d))}C(a,c,g,j).then(r,r)}async function C(a,b,c,d){var e,f;let g=await (e=c,f=d,new Promise(a=>{let b=b=>{0===b.exitStatus?0==--d&&a(0):a(b.exitStatus)},c=()=>a(2),d=1;e.then(b,c),null!==f&&(d+=f.length,f.forEach(a=>a.then(b,c)))}));switch(0===g&&(g=function a(b,c,d){var e,f,g;let h,i,j,k;0===b.status?(b.status=2,e=b.node,f=c,g=d,G(i=e.rsc)&&(null===f?i.resolve(null,g):i.reject(f,g)),G(j=e.loading)&&j.resolve(null,g),G(k=e.head)&&k.resolve(null,g),h=null===b.refreshUrl?1:2):h=0;let l=b.children;if(null!==l)for(let[,b]of l){let e=a(b,c,d);e>h&&(h=e)}return h}(a,null,null)),g){case 0:A=!1;return;case 1:{let d=await c;D(!1,d.url,b,d.seed,a.route);return}case 2:{let d=await c;D(!0,d.url,b,d.seed,a.route);return}default:return g}}function D(a,b,c,d,e){a=a||A,A=!0;let f={type:m.ACTION_SERVER_PATCH,previousTree:e,url:b,nextUrl:c,seed:d,mpa:a};(0,l.dispatchAppRouterAction)(f)}async function E(a,b,c,d,e){try{let f=await (0,k.fetchServerResponse)(c,{flightRouterState:b,nextUrl:d,isHmrRefresh:4===e});if("string"==typeof f)return{exitStatus:2,url:new URL(f,location.origin),seed:null};let g=(0,p.convertServerPatchToFullTree)(a.route,f.flightData,f.renderedSearch);return{exitStatus:+!!function a(b,c,d,e,f){0===b.status&&null!==d&&(b.status=1,function(a,b,c,d){let e=a.rsc,f=b[0];if(null===f)return;null===e?a.rsc=f:G(e)&&e.resolve(f,d);let g=a.loading;if(G(g)){let a=b[2];g.resolve(a,d)}let h=a.head;G(h)&&h.resolve(c,d)}(b.node,d,e,f));let g=b.children,i=c[1],j=null!==d?d[1]:null,k=!1;if(null!==g)for(let b in i){let c=i[b],d=null!==j?j[b]:null,l=g.get(b);if(void 0===l)k=!0;else{let b=l.route[0];(0,h.matchSegment)(c[0],b)&&null!=d&&a(l,c,d,e,f)&&(k=!0)}}return k}(a,g.tree,g.data,g.head,f.debugInfo),url:new URL(f.canonicalUrl,location.origin),seed:g}}catch{return{exitStatus:2,url:c,seed:null}}}let F=Symbol();function G(a){return a&&"object"==typeof a&&a.tag===F}function H(){let a,b,c=[],d=new Promise((c,d)=>{a=c,b=d});return d.status="pending",d.resolve=(b,e)=>{"pending"===d.status&&(d.status="fulfilled",d.value=b,null!==e&&c.push.apply(c,e),a(b))},d.reject=(a,e)=>{"pending"===d.status&&(d.status="rejected",d.reason=a,null!==e&&c.push.apply(c,e),b(a))},d.tag=F,d._debugInfo=c,d}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},37472,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={convertServerPatchToFullTree:function(){return u},navigate:function(){return m},navigateToSeededRoute:function(){return n}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(20873),g=a.r(57051),h=a.r(74685),i=a.r(99032),j=a.r(92702),k=a.r(39118),l=a.r(10846);function m(a,b,c,d,e,f,g,h){let k=Date.now(),m=a.href,n=m===b.href,p=(0,j.createCacheKey)(m,e),s=(0,i.readRouteCacheEntry)(k,p);if(null!==s&&s.status===i.EntryStatus.Fulfilled){let h=q(k,s,s.tree),i=h.flightRouterState,j=h.seedData,l=r(k,s),m=l.rsc,p=l.isPartial,t=s.canonicalUrl+a.hash;return o(k,a,b,e,n,c,d,i,j,m,p,t,s.renderedSearch,f,g)}if(null===s||s.status!==i.EntryStatus.Rejected){let h=(0,i.requestOptimisticRouteCacheEntry)(k,a,e);if(null!==h){let i=q(k,h,h.tree),j=i.flightRouterState,l=i.seedData,m=r(k,h),p=m.rsc,s=m.isPartial,t=h.canonicalUrl+a.hash;return o(k,a,b,e,n,c,d,j,l,p,s,t,h.renderedSearch,f,g)}}let u=h.collectedDebugInfo??[];return void 0===h.collectedDebugInfo&&(u=h.collectedDebugInfo=[]),{tag:l.NavigationResultTag.Async,data:t(k,a,b,e,c,d,f,g,u)}}function n(a,b,c,d,e,f,h,i,j,k){let m={scrollableSegments:null,separateRefreshUrls:null},n=b.href===e.href,o=(0,g.startPPRNavigation)(a,e,f,h,d.tree,i,d.data,d.head,null,null,!1,n,m);return null!==o?((0,g.spawnDynamicRequests)(o,b,j,i,m),p(o,c,d.renderedSearch,m.scrollableSegments,k,b.hash)):{tag:l.NavigationResultTag.MPA,data:c}}function o(a,b,c,d,e,f,h,i,j,k,m,n,o,q,r){let s={scrollableSegments:null,separateRefreshUrls:null},t=(0,g.startPPRNavigation)(a,c,f,h,i,q,null,null,j,k,m,e,s);return null!==t?((0,g.spawnDynamicRequests)(t,b,d,q,s),p(t,n,o,s.scrollableSegments,r,b.hash)):{tag:l.NavigationResultTag.MPA,data:n}}function p(a,b,c,d,e,f){return{tag:l.NavigationResultTag.Success,data:{flightRouterState:a.route,cacheNode:a.node,canonicalUrl:b,renderedSearch:c,scrollableSegments:d,shouldScroll:e,hash:f}}}function q(a,b,c){let d={},e={},f=c.slots;if(null!==f)for(let c in f){let g=q(a,b,f[c]);d[c]=g.flightRouterState,e[c]=g.seedData}let g=null,h=null,j=!0,l=(0,i.readSegmentCacheEntry)(a,c.varyPath);if(null!==l)switch(l.status){case i.EntryStatus.Fulfilled:g=l.rsc,h=l.loading,j=l.isPartial;break;case i.EntryStatus.Pending:{let a=(0,i.waitForSegmentCacheEntry)(l);g=a.then(a=>null!==a?a.rsc:null),h=a.then(a=>null!==a?a.loading:null),j=l.isPartial}case i.EntryStatus.Empty:case i.EntryStatus.Rejected:}return{flightRouterState:[(0,k.addSearchParamsIfPageSegment)(c.segment,Object.fromEntries(new URLSearchParams(b.renderedSearch))),d,null,null,c.isRootLayout],seedData:[g,e,h,j,!1]}}function r(a,b){let c=null,d=!0,e=(0,i.readSegmentCacheEntry)(a,b.metadata.varyPath);if(null!==e)switch(e.status){case i.EntryStatus.Fulfilled:c=e.rsc,d=e.isPartial;break;case i.EntryStatus.Pending:c=(0,i.waitForSegmentCacheEntry)(e).then(a=>null!==a?a.rsc:null),d=e.isPartial;case i.EntryStatus.Empty:case i.EntryStatus.Rejected:}return{rsc:c,isPartial:d}}let s=["",{},null,"refetch"];async function t(a,b,c,d,e,i,j,k,m){let o;switch(j){case g.FreshnessPolicy.Default:case g.FreshnessPolicy.HistoryTraversal:o=i;break;case g.FreshnessPolicy.Hydration:case g.FreshnessPolicy.RefreshAll:case g.FreshnessPolicy.HMRRefresh:o=s;break;default:o=i}let p=(0,f.fetchServerResponse)(b,{flightRouterState:o,nextUrl:d}),q=await p;if("string"==typeof q)return{tag:l.NavigationResultTag.MPA,data:q};let{flightData:r,canonicalUrl:t,renderedSearch:v,debugInfo:w}=q;null!==w&&m.push(...w);let x=u(i,r,v);return n(a,b,(0,h.createHrefFromUrl)(t),x,c,e,i,j,d,k)}function u(a,b,c){let d=a,e=null,f=null;for(let{segmentPath:a,tree:c,seedData:g,head:h}of b){let b=function a(b,c,d,e,f,g){let h;if(g===f.length)return{tree:d,data:e};let i=f[g],j=b[1],k=null!==c?c[1]:null,l={},m={};for(let b in j){let c=j[b],h=null!==k?k[b]??null:null;if(b===i){let i=a(c,h,d,e,f,g+2);l[b]=i.tree,m[b]=i.data}else l[b]=c,m[b]=h}return h=[b[0],l],2 in b&&(h[2]=b[2]),3 in b&&(h[3]=b[3]),4 in b&&(h[4]=b[4]),{tree:h,data:[null,m,null,!0,!1]}}(d,e,c,g,a,0);d=b.tree,e=b.data,f=h}return{tree:d,data:e,renderedSearch:c,head:f}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},23053,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={DYNAMIC_STALETIME_MS:function(){return l},STATIC_STALETIME_MS:function(){return m},generateSegmentsFromPatch:function(){return function a(b){let c=[],[d,e]=b;if(0===Object.keys(e).length)return[[d]];for(let[b,f]of Object.entries(e))for(let e of a(f))""===d?c.push([b,...e]):c.push([d,b,...e]);return c}},handleExternalUrl:function(){return n},handleNavigationResult:function(){return o},navigateReducer:function(){return p}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(74685),g=a.r(88632),h=a.r(37472),i=a.r(10846),j=a.r(99032),k=a.r(57051),l=1e3*Number("0"),m=(0,j.getStaleTimeMs)(Number("300"));function n(a,b,c,d){return b.mpaNavigation=!0,b.canonicalUrl=c,b.pendingPush=d,b.scrollableSegments=void 0,(0,g.handleMutable)(a,b)}function o(a,b,c,d,e){switch(e.tag){case i.NavigationResultTag.MPA:return n(b,c,e.data,d);case i.NavigationResultTag.Success:{c.cache=e.data.cacheNode,c.patchedTree=e.data.flightRouterState,c.renderedSearch=e.data.renderedSearch,c.canonicalUrl=e.data.canonicalUrl,c.scrollableSegments=e.data.scrollableSegments??void 0,c.shouldScroll=e.data.shouldScroll,c.hashFragment=e.data.hash;let d=new URL(b.canonicalUrl,a);return a.pathname===d.pathname&&a.search===d.search&&a.hash!==d.hash&&(c.onlyHashChange=!0,c.shouldScroll=e.data.shouldScroll,c.hashFragment=a.hash,c.scrollableSegments=[]),(0,g.handleMutable)(b,c)}case i.NavigationResultTag.Async:return e.data.then(e=>o(a,b,c,d,e),()=>b);default:return b}}function p(a,b){let{url:c,isExternalUrl:d,navigateType:e,shouldScroll:g}=b,i={},j=(0,f.createHrefFromUrl)(c),l="push"===e;if(i.preserveCustomHistoryState=!1,i.pendingPush=l,d)return n(a,i,c.toString(),l);if(document.getElementById("__next-page-redirect"))return n(a,i,j,l);let m=new URL(a.canonicalUrl,location.origin),p=(0,h.navigate)(c,m,a.cache,a.tree,a.nextUrl,k.FreshnessPolicy.Default,g,i);return o(c,a,i,l,p)}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},54427,(a,b,c)=>{"use strict";function d(){let a,b,c=new Promise((c,d)=>{a=c,b=d});return{resolve:a,reject:b,promise:c}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"createPromiseWithResolvers",{enumerable:!0,get:function(){return d}})},99032,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d,e={EntryStatus:function(){return y},canNewFetchStrategyProvideMoreContent:function(){return ae},convertRouteTreeToFlightRouterState:function(){return function a(b){let c={};if(null!==b.slots)for(let d in b.slots)c[d]=a(b.slots[d]);return[b.segment,c,null,null,b.isRootLayout]}},createDetachedSegmentCacheEntry:function(){return R},fetchRouteOnCacheMiss:function(){return Y},fetchSegmentOnCacheMiss:function(){return Z},fetchSegmentPrefetchesUsingDynamicRequest:function(){return $},getCurrentCacheVersion:function(){return E},getStaleTimeMs:function(){return x},overwriteRevalidatingSegmentCacheEntry:function(){return P},pingInvalidationListeners:function(){return G},readOrCreateRevalidatingSegmentEntry:function(){return O},readOrCreateRouteCacheEntry:function(){return K},readOrCreateSegmentCacheEntry:function(){return N},readRouteCacheEntry:function(){return H},readSegmentCacheEntry:function(){return I},requestOptimisticRouteCacheEntry:function(){return L},revalidateEntireCache:function(){return F},upgradeToPendingSegment:function(){return S},upsertSegmentEntry:function(){return Q},waitForSegmentCacheEntry:function(){return J}};for(var f in e)Object.defineProperty(c,f,{enumerable:!0,get:e[f]});let g=a.r(76e3),h=a.r(37909),i=a.r(20873),j=a.r(42297),k=a.r(91442),l=a.r(91377),m=a.r(74685),n=a.r(92702),o=a.r(23187),p=a.r(51561),q=a.r(58216),r=a.r(22129),s=a.r(23053),t=a.r(16441),u=a.r(39118),v=a.r(10846),w=a.r(54427);function x(a){return 1e3*Math.max(a,30)}var y=((d={})[d.Empty=0]="Empty",d[d.Pending=1]="Pending",d[d.Fulfilled=2]="Fulfilled",d[d.Rejected=3]="Rejected",d);let z=["",{},null,"metadata-only"],A=(0,p.createCacheMap)(),B=(0,p.createCacheMap)(),C=null,D=0;function E(){return D}function F(a,b){D++,(0,j.startRevalidationCooldown)(),(0,t.pingVisibleLinks)(a,b),G(a,b)}function G(a,b){if(null!==C){let c=C;for(let d of(C=null,c))(0,j.isPrefetchTaskDirty)(d,a,b)&&function(a){let b=a.onInvalidate;if(null!==b){a.onInvalidate=null;try{b()}catch(a){"function"==typeof reportError?reportError(a):console.error(a)}}}(d)}}function H(a,b){let c=(0,k.getRouteVaryPath)(b.pathname,b.search,b.nextUrl);return(0,p.getFromCacheMap)(a,D,A,c,!1)}function I(a,b){return(0,p.getFromCacheMap)(a,D,B,b,!1)}function J(a){let b=a.promise;return null===b&&(b=a.promise=(0,w.createPromiseWithResolvers)()),b.promise}function K(a,b,c){null!==b.onInvalidate&&(null===C?C=new Set([b]):C.add(b));let d=H(a,c);if(null!==d)return d;let e={canonicalUrl:null,status:0,blockedTasks:null,tree:null,metadata:null,couldBeIntercepted:!0,isPPREnabled:!1,renderedSearch:null,ref:null,size:0,staleAt:1/0,version:D},f=(0,k.getRouteVaryPath)(c.pathname,c.search,c.nextUrl);return(0,p.setInCacheMap)(A,f,e,!1),e}function L(a,b,c){let d=b.search;if(""===d)return null;let e=new URL(b);e.search="";let f=H(a,(0,n.createCacheKey)(e.href,c));if(null===f||2!==f.status)return null;let g=new URL(f.canonicalUrl,b.origin),h=""!==g.search?g.search:d,i=""!==f.renderedSearch?f.renderedSearch:d,j=new URL(f.canonicalUrl,location.origin);return j.search=h,{canonicalUrl:(0,m.createHrefFromUrl)(j),status:2,blockedTasks:null,tree:M(f.tree,i),metadata:M(f.metadata,i),couldBeIntercepted:f.couldBeIntercepted,isPPREnabled:f.isPPREnabled,renderedSearch:i,ref:null,size:0,staleAt:f.staleAt,version:f.version}}function M(a,b){let c=null,d=a.slots;if(null!==d)for(let a in c={},d){let e=d[a];c[a]=M(e,b)}return a.isPage?{requestKey:a.requestKey,segment:a.segment,varyPath:(0,k.clonePageVaryPathWithNewSearchParams)(a.varyPath,b),isPage:!0,slots:c,isRootLayout:a.isRootLayout,hasLoadingBoundary:a.hasLoadingBoundary,hasRuntimePrefetch:a.hasRuntimePrefetch}:{requestKey:a.requestKey,segment:a.segment,varyPath:a.varyPath,isPage:!1,slots:c,isRootLayout:a.isRootLayout,hasLoadingBoundary:a.hasLoadingBoundary,hasRuntimePrefetch:a.hasRuntimePrefetch}}function N(a,b,c,d){let e=I(a,d.varyPath);if(null!==e)return e;let f=(0,k.getSegmentVaryPathForRequest)(b,d),g=R(c.staleAt);return(0,p.setInCacheMap)(B,f,g,!1),g}function O(a,b,c,d){var e;let f=(e=d.varyPath,(0,p.getFromCacheMap)(a,D,B,e,!0));if(null!==f)return f;let g=(0,k.getSegmentVaryPathForRequest)(b,d),h=R(c.staleAt);return(0,p.setInCacheMap)(B,g,h,!0),h}function P(a,b,c){let d=(0,k.getSegmentVaryPathForRequest)(a,c),e=R(b.staleAt);return(0,p.setInCacheMap)(B,d,e,!0),e}function Q(a,b,c){if((0,p.isValueExpired)(a,D,c))return null;let d=I(a,b);if(null!==d){var e;if(c.fetchStrategy!==d.fetchStrategy&&(e=d.fetchStrategy,!(e<c.fetchStrategy))||!d.isPartial&&c.isPartial)return c.status=3,c.loading=null,c.rsc=null,null;(0,p.deleteFromCacheMap)(d)}return(0,p.setInCacheMap)(B,b,c,!1),c}function R(a){return{status:0,fetchStrategy:v.FetchStrategy.PPR,rsc:null,loading:null,isPartial:!0,promise:null,ref:null,size:0,staleAt:a,version:0}}function S(a,b){return a.status=1,a.fetchStrategy=b,b===v.FetchStrategy.Full&&(a.isPartial=!1),a.version=D,a}function T(a){let b=a.blockedTasks;if(null!==b){for(let a of b)(0,j.pingPrefetchTask)(a);a.blockedTasks=null}}function U(a,b,c,d,e,f,h,i){let j={requestKey:q.HEAD_REQUEST_KEY,segment:q.HEAD_REQUEST_KEY,varyPath:c,isPage:!0,slots:null,isRootLayout:!1,hasLoadingBoundary:g.HasLoadingBoundary.SubtreeHasNoLoadingBoundary,hasRuntimePrefetch:!1};return a.status=2,a.tree=b,a.metadata=j,a.staleAt=d,a.couldBeIntercepted=e,a.canonicalUrl=f,a.renderedSearch=h,a.isPPREnabled=i,T(a),a}function V(a,b,c,d,e){return a.status=2,a.rsc=b,a.loading=c,a.staleAt=d,a.isPartial=e,null!==a.promise&&(a.promise.resolve(a),a.promise=null),a}function W(a,b){a.status=3,a.staleAt=b,T(a)}function X(a,b){a.status=3,a.staleAt=b,null!==a.promise&&(a.promise.resolve(null),a.promise=null)}async function Y(a,b,c){let d=c.pathname,e=c.search,f=c.nextUrl,j={[h.RSC_HEADER]:"1",[h.NEXT_ROUTER_PREFETCH_HEADER]:"1",[h.NEXT_ROUTER_SEGMENT_PREFETCH_HEADER]:"/_tree"};null!==f&&(j[h.NEXT_URL]=f);try{let c,n,t=new URL(d+e,location.origin);if(c=await ac(t,j),n=null!==c&&c.redirected?new URL(c.url):t,!c||!c.ok||204===c.status||!c.body)return W(a,Date.now()+1e4),null;let y=(0,m.createHrefFromUrl)(n),z=c.headers.get("vary"),B=null!==z&&z.includes(h.NEXT_URL),C=(0,w.createPromiseWithResolvers)(),D="2"===c.headers.get(h.NEXT_DID_POSTPONE_HEADER);if(D){let b,d,e=ad(c.body,C.resolve,function(b){(0,p.setSizeInCacheMap)(a,b)}),f=await (0,i.createFromNextReadableStream)(e,j);if(f.buildId!==(0,l.getAppBuildId)())return W(a,Date.now()+1e4),null;let h=(0,o.getRenderedPathname)(c),m=(0,o.getRenderedSearch)(c),n={metadataVaryPath:null},r=(b=h.split("/").filter(a=>""!==a),d=q.ROOT_SEGMENT_REQUEST_KEY,function a(b,c,d,e,f,h,i,j){let l,m,n=null,p=b.slots;if(null!==p)for(let b in l=!1,m=(0,k.finalizeLayoutVaryPath)(e,d),n={},p){let c,g,l,m=p[b],r=m.name,s=m.paramType,t=m.paramKey;if(null!==s){let a=(0,o.parseDynamicParamFromURLPart)(s,f,h),b=null!==t?t:(0,o.getCacheKeyForDynamicParam)(a,"");l=(0,k.appendLayoutVaryPath)(d,b),g=[r,b,s],c=!0}else l=d,g=r,c=(0,o.doesStaticSegmentAppearInURL)(r);let u=c?h+1:h,v=(0,q.createSegmentRequestKeyPart)(g),w=(0,q.appendSegmentRequestKeyPart)(e,b,v);n[b]=a(m,g,l,w,f,u,i,j)}else e.endsWith(u.PAGE_SEGMENT_KEY)?(l=!0,m=(0,k.finalizePageVaryPath)(e,i,d),null===j.metadataVaryPath&&(j.metadataVaryPath=(0,k.finalizeMetadataVaryPath)(e,i,d))):(l=!1,m=(0,k.finalizeLayoutVaryPath)(e,d));return{requestKey:e,segment:c,varyPath:m,isPage:l,slots:n,isRootLayout:b.isRootLayout,hasLoadingBoundary:g.HasLoadingBoundary.SegmentHasLoadingBoundary,hasRuntimePrefetch:b.hasRuntimePrefetch}}(f.tree,d,null,q.ROOT_SEGMENT_REQUEST_KEY,b,0,m,n)),s=n.metadataVaryPath;if(null===s)return W(a,Date.now()+1e4),null;let t=x(f.staleTime);U(a,r,s,Date.now()+t,B,y,m,D)}else{let d=ad(c.body,C.resolve,function(b){(0,p.setSizeInCacheMap)(a,b)}),e=await (0,i.createFromNextReadableStream)(d,j);if(e.b!==(0,l.getAppBuildId)())return W(a,Date.now()+1e4),null;!function(a,b,c,d,e,f,i,j,l){let m=(0,o.getRenderedSearch)(d),n=(0,r.normalizeFlightData)(e.f);if("string"==typeof n||1!==n.length)return W(f,a+1e4);let p=n[0];if(!p.isRootRender)return W(f,a+1e4);let t=p.tree,v="number"==typeof e.rp?.[1]?e.rp[1]:parseInt(d.headers.get(h.NEXT_ROUTER_STALE_TIME_HEADER)??"",10),w=isNaN(v)?s.STATIC_STALETIME_MS:x(v),y="1"===d.headers.get(h.NEXT_DID_POSTPONE_HEADER),z={metadataVaryPath:null},A=function a(b,c,d,e,f){let h,i,j,l,m=b[0];if(Array.isArray(m)){j=!1;let a=m[1];i=(0,k.appendLayoutVaryPath)(d,a),l=(0,k.finalizeLayoutVaryPath)(c,i),h=m}else i=d,c.endsWith(u.PAGE_SEGMENT_KEY)?(j=!0,h=u.PAGE_SEGMENT_KEY,l=(0,k.finalizePageVaryPath)(c,e,i),null===f.metadataVaryPath&&(f.metadataVaryPath=(0,k.finalizeMetadataVaryPath)(c,e,i))):(j=!1,h=m,l=(0,k.finalizeLayoutVaryPath)(c,i));let n=null,o=b[1];for(let b in o){let d=o[b],g=d[0],h=(0,q.createSegmentRequestKeyPart)(g),j=a(d,(0,q.appendSegmentRequestKeyPart)(c,b,h),i,e,f);null===n?n={[b]:j}:n[b]=j}return{requestKey:c,segment:h,varyPath:l,isPage:j,slots:n,isRootLayout:!0===b[4],hasLoadingBoundary:void 0!==b[5]?b[5]:g.HasLoadingBoundary.SubtreeHasNoLoadingBoundary,hasRuntimePrefetch:!1}}(t,q.ROOT_SEGMENT_REQUEST_KEY,null,m,z),B=z.metadataVaryPath;if(null===B)return W(f,a+1e4);let C=U(f,A,B,a+w,i,j,m,l);aa(a,b,c,d,e,y,C,null)}(Date.now(),b,v.FetchStrategy.LoadingBoundary,c,e,a,B,y,D)}if(!B){let b=(0,k.getFulfilledRouteVaryPath)(d,e,f,B);(0,p.setInCacheMap)(A,b,a,!1)}return{value:null,closed:C.promise}}catch(b){return W(a,Date.now()+1e4),null}}async function Z(a,b,c,d){let e=new URL(a.canonicalUrl,location.origin),f=c.nextUrl,g=d.requestKey,j=g===q.ROOT_SEGMENT_REQUEST_KEY?"/_index":g,k={[h.RSC_HEADER]:"1",[h.NEXT_ROUTER_PREFETCH_HEADER]:"1",[h.NEXT_ROUTER_SEGMENT_PREFETCH_HEADER]:j};null!==f&&(k[h.NEXT_URL]=f);try{let c=await ac(e,k);if(!c||!c.ok||204===c.status||"2"!==c.headers.get(h.NEXT_DID_POSTPONE_HEADER)||!c.body)return X(b,Date.now()+1e4),null;let d=(0,w.createPromiseWithResolvers)(),f=ad(c.body,d.resolve,function(a){(0,p.setSizeInCacheMap)(b,a)}),g=await (0,i.createFromNextReadableStream)(f,k);if(g.buildId!==(0,l.getAppBuildId)())return X(b,Date.now()+1e4),null;return{value:V(b,g.rsc,g.loading,a.staleAt,g.isPartial),closed:d.promise}}catch(a){return X(b,Date.now()+1e4),null}}async function $(a,b,c,d,e){let f=a.key,g=new URL(b.canonicalUrl,location.origin),j=f.nextUrl;1===e.size&&e.has(b.metadata.requestKey)&&(d=z);let k={[h.RSC_HEADER]:"1",[h.NEXT_ROUTER_STATE_TREE_HEADER]:(0,r.prepareFlightRouterStateForRequest)(d)};switch(null!==j&&(k[h.NEXT_URL]=j),c){case v.FetchStrategy.Full:break;case v.FetchStrategy.PPRRuntime:k[h.NEXT_ROUTER_PREFETCH_HEADER]="2";break;case v.FetchStrategy.LoadingBoundary:k[h.NEXT_ROUTER_PREFETCH_HEADER]="1"}try{let d=await ac(g,k);if(!d||!d.ok||!d.body||(0,o.getRenderedSearch)(d)!==b.renderedSearch)return _(e,Date.now()+1e4),null;let f=(0,w.createPromiseWithResolvers)(),h=null,j=ad(d.body,f.resolve,function(a){if(null===h)return;let b=a/h.length;for(let a of h)(0,p.setSizeInCacheMap)(a,b)}),l=await (0,i.createFromNextReadableStream)(j,k),m=c===v.FetchStrategy.PPRRuntime&&l.rp?.[0]===!0;return h=aa(Date.now(),a,c,d,l,m,b,e),{value:null,closed:f.promise}}catch(a){return _(e,Date.now()+1e4),null}}function _(a,b){let c=[];for(let d of a.values())1===d.status?X(d,b):2===d.status&&c.push(d);return c}function aa(a,b,c,d,e,f,g,i){if(e.b!==(0,l.getAppBuildId)())return null!==i&&_(i,a+1e4),null;let j=(0,r.normalizeFlightData)(e.f);if("string"==typeof j)return null;let k="number"==typeof e.rp?.[1]?e.rp[1]:parseInt(d.headers.get(h.NEXT_ROUTER_STALE_TIME_HEADER)??"",10),m=a+(isNaN(k)?s.STATIC_STALETIME_MS:x(k));for(let d of j){let e=d.seedData;if(null!==e){let h=d.segmentPath,j=g.tree;for(let b=0;b<h.length;b+=2){let c=h[b];if(j?.slots?.[c]===void 0)return null!==i&&_(i,a+1e4),null;j=j.slots[c]}!function a(b,c,d,e,f,g,h,i,j){let k=h[0];ab(b,d,e,k,h[2],null===k||i,g,f,j);let l=f.slots;if(null!==l){let f=h[1];for(let h in l){let k=l[h],m=f[h];null!=m&&a(b,c,d,e,k,g,m,i,j)}}}(a,b,c,g,j,m,e,f,i)}let h=d.head;null!==h&&ab(a,c,g,h,null,d.isHeadPartial,m,g.metadata,i)}return null!==i?_(i,a+1e4):null}function ab(a,b,c,d,e,f,g,h,i){let j=null!==i?i.get(h.requestKey):void 0;if(void 0!==j)V(j,d,e,g,f);else{let i=N(a,b,c,h);if(0===i.status)V(S(i,b),d,e,g,f);else{let c=V(S(R(g),b),d,e,g,f);Q(a,(0,k.getSegmentVaryPathForRequest)(b,h),c)}}}async function ac(a,b){let c=await (0,i.createFetch)(a,b,"low",!1);if(!c.ok)return null;{let a=c.headers.get("content-type");if(!(a&&a.startsWith(h.RSC_CONTENT_TYPE_HEADER)))return null}return c}function ad(a,b,c){let d=0,e=a.getReader();return new ReadableStream({async pull(a){for(;;){let{done:f,value:g}=await e.read();if(!f){a.enqueue(g),c(d+=g.byteLength);continue}b();return}}})}function ae(a,b){return a<b}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},42297,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={cancelPrefetchTask:function(){return v},isPrefetchTaskDirty:function(){return x},pingPrefetchTask:function(){return D},reschedulePrefetchTask:function(){return w},schedulePrefetchTask:function(){return u},startRevalidationCooldown:function(){return t}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(76e3),g=a.r(30641),h=a.r(99032),i=a.r(91442),j=a.r(92702),k=a.r(10846),l=a.r(39118),m="function"==typeof queueMicrotask?queueMicrotask:a=>Promise.resolve().then(a).catch(a=>setTimeout(()=>{throw a})),n=[],o=0,p=0,q=!1,r=null,s=null;function t(){null!==s&&clearTimeout(s),s=setTimeout(()=>{s=null,z()},300)}function u(a,b,c,d,e){let f={key:a,treeAtTimeOfPrefetch:b,cacheVersion:(0,h.getCurrentCacheVersion)(),priority:d,phase:1,hasBackgroundWork:!1,spawnedRuntimePrefetches:null,fetchStrategy:c,sortId:p++,isCanceled:!1,onInvalidate:e,_heapIndex:-1};return y(f),P(n,f),z(),f}function v(a){a.isCanceled=!0,function(a,b){let c=b._heapIndex;if(-1!==c&&(b._heapIndex=-1,0!==a.length)){let d=a.pop();d!==b&&(a[c]=d,d._heapIndex=c,U(a,d,c))}}(n,a)}function w(a,b,c,d){a.isCanceled=!1,a.phase=1,a.sortId=p++,a.priority=a===r?k.PrefetchPriority.Intent:d,a.treeAtTimeOfPrefetch=b,a.fetchStrategy=c,y(a),-1!==a._heapIndex?S(n,a):P(n,a),z()}function x(a,b,c){let d=(0,h.getCurrentCacheVersion)();return a.cacheVersion!==d||a.treeAtTimeOfPrefetch!==c||a.key.nextUrl!==b}function y(a){a.priority===k.PrefetchPriority.Intent&&a!==r&&(null!==r&&r.priority!==k.PrefetchPriority.Background&&(r.priority=k.PrefetchPriority.Default,S(n,r)),r=a)}function z(){q||(q=!0,m(E))}function A(a){return null===s&&(a.priority===k.PrefetchPriority.Intent?o<12:o<4)}function B(a){return o++,a.then(a=>null===a?(C(),null):(a.closed.then(C),a.value))}function C(){o--,z()}function D(a){a.isCanceled||-1!==a._heapIndex||(P(n,a),z())}function E(){q=!1;let a=Date.now(),b=Q(n);for(;null!==b&&A(b);){b.cacheVersion=(0,h.getCurrentCacheVersion)();let c=function(a,b){let c=b.key,d=(0,h.readOrCreateRouteCacheEntry)(a,b,c),e=function(a,b,c){switch(c.status){case h.EntryStatus.Empty:B((0,h.fetchRouteOnCacheMiss)(c,b,b.key)),c.staleAt=a+6e4,c.status=h.EntryStatus.Pending;case h.EntryStatus.Pending:{let a=c.blockedTasks;return null===a?c.blockedTasks=new Set([b]):a.add(b),1}case h.EntryStatus.Rejected:break;case h.EntryStatus.Fulfilled:{if(0!==b.phase)return 2;if(!A(b))return 0;let i=c.tree,j=b.fetchStrategy===k.FetchStrategy.PPR?c.isPPREnabled?k.FetchStrategy.PPR:k.FetchStrategy.LoadingBoundary:b.fetchStrategy;switch(j){case k.FetchStrategy.PPR:{var d,e,g;if(I(d=a,e=b,g=c,(0,h.readOrCreateSegmentCacheEntry)(d,k.FetchStrategy.PPR,g,g.metadata),e.key,g.metadata),0===function a(b,c,d,e,f){let g=(0,h.readOrCreateSegmentCacheEntry)(b,c.fetchStrategy,d,f);I(b,c,d,g,c.key,f);let i=e[1],j=f.slots;if(null!==j)for(let e in j){if(!A(c))return 0;let f=j[e],g=f.segment,k=i[e],l=k?.[0];if(0===(void 0!==l&&N(d,g,l)?a(b,c,d,k,f):function a(b,c,d,e){if(e.hasRuntimePrefetch)return null===c.spawnedRuntimePrefetches?c.spawnedRuntimePrefetches=new Set([e.requestKey]):c.spawnedRuntimePrefetches.add(e.requestKey),2;let f=(0,h.readOrCreateSegmentCacheEntry)(b,c.fetchStrategy,d,e);if(I(b,c,d,f,c.key,e),null!==e.slots){if(!A(c))return 0;for(let f in e.slots)if(0===a(b,c,d,e.slots[f]))return 0}return 2}(b,c,d,f)))return 0}return 2}(a,b,c,b.treeAtTimeOfPrefetch,i))return 0;let f=b.spawnedRuntimePrefetches;if(null!==f){let d=new Map;G(a,b,c,d,k.FetchStrategy.PPRRuntime);let e=function a(b,c,d,e,f,g){if(f.has(e.requestKey))return H(b,c,d,e,!1,g,k.FetchStrategy.PPRRuntime);let h={},i=e.slots;if(null!==i)for(let e in i){let j=i[e];h[e]=a(b,c,d,j,f,g)}return[e.segment,h,null,null]}(a,b,c,i,f,d);d.size>0&&B((0,h.fetchSegmentPrefetchesUsingDynamicRequest)(b,c,k.FetchStrategy.PPRRuntime,e,d))}return 2}case k.FetchStrategy.Full:case k.FetchStrategy.PPRRuntime:case k.FetchStrategy.LoadingBoundary:{let d=new Map;G(a,b,c,d,j);let e=function a(b,c,d,e,g,i,j){let l=e[1],m=g.slots,n={};if(null!==m)for(let e in m){let g=m[e],o=g.segment,p=l[e],q=p?.[0];if(void 0!==q&&N(d,o,q)){let f=a(b,c,d,p,g,i,j);n[e]=f}else switch(j){case k.FetchStrategy.LoadingBoundary:{let a=g.hasLoadingBoundary!==f.HasLoadingBoundary.SubtreeHasNoLoadingBoundary?function a(b,c,d,e,g,i){let j=null===g?"inside-shared-layout":null,l=(0,h.readOrCreateSegmentCacheEntry)(b,c.fetchStrategy,d,e);switch(l.status){case h.EntryStatus.Empty:i.set(e.requestKey,(0,h.upgradeToPendingSegment)(l,k.FetchStrategy.LoadingBoundary)),"refetch"!==g&&(j=g="refetch");break;case h.EntryStatus.Fulfilled:if(e.hasLoadingBoundary===f.HasLoadingBoundary.SegmentHasLoadingBoundary)return(0,h.convertRouteTreeToFlightRouterState)(e);case h.EntryStatus.Pending:case h.EntryStatus.Rejected:}let m={};if(null!==e.slots)for(let f in e.slots){let h=e.slots[f];m[f]=a(b,c,d,h,g,i)}return[e.segment,m,null,j,e.isRootLayout]}(b,c,d,g,null,i):(0,h.convertRouteTreeToFlightRouterState)(g);n[e]=a;break}case k.FetchStrategy.PPRRuntime:{let a=H(b,c,d,g,!1,i,j);n[e]=a;break}case k.FetchStrategy.Full:{let a=H(b,c,d,g,!1,i,j);n[e]=a}}}return[g.segment,n,null,null,g.isRootLayout]}(a,b,c,b.treeAtTimeOfPrefetch,i,d,j);return d.size>0&&B((0,h.fetchSegmentPrefetchesUsingDynamicRequest)(b,c,j,e,d)),2}}}}return 2}(a,b,d);if(0!==e&&""!==c.search){let d=new URL(c.pathname,location.origin),e=(0,j.createCacheKey)(d.href,c.nextUrl),f=(0,h.readOrCreateRouteCacheEntry)(a,b,e);switch(f.status){case h.EntryStatus.Empty:F(b)&&(f.status=h.EntryStatus.Pending,B((0,h.fetchRouteOnCacheMiss)(f,b,e)));case h.EntryStatus.Pending:case h.EntryStatus.Fulfilled:case h.EntryStatus.Rejected:}}return e}(a,b),d=b.hasBackgroundWork;switch(b.hasBackgroundWork=!1,b.spawnedRuntimePrefetches=null,c){case 0:return;case 1:R(n),b=Q(n);continue;case 2:1===b.phase?(b.phase=0,S(n,b)):d?(b.priority=k.PrefetchPriority.Background,S(n,b)):R(n),b=Q(n);continue}}}function F(a){return a.priority===k.PrefetchPriority.Background||(a.hasBackgroundWork=!0,!1)}function G(a,b,c,d,e){H(a,b,c,c.metadata,!1,d,e===k.FetchStrategy.LoadingBoundary?k.FetchStrategy.Full:e)}function H(a,b,c,d,e,f,g){let i=(0,h.readOrCreateSegmentCacheEntry)(a,g,c,d),j=null;switch(i.status){case h.EntryStatus.Empty:j=(0,h.upgradeToPendingSegment)(i,g);break;case h.EntryStatus.Fulfilled:i.isPartial&&(0,h.canNewFetchStrategyProvideMoreContent)(i.fetchStrategy,g)&&(j=K(a,c,d,g));break;case h.EntryStatus.Pending:case h.EntryStatus.Rejected:(0,h.canNewFetchStrategyProvideMoreContent)(i.fetchStrategy,g)&&(j=K(a,c,d,g))}let k={};if(null!==d.slots)for(let h in d.slots){let i=d.slots[h];k[h]=H(a,b,c,i,e||null!==j,f,g)}null!==j&&f.set(d.requestKey,j);let l=e||null===j?null:"refetch";return[d.segment,k,null,l,d.isRootLayout]}function I(a,b,c,d,e,f){switch(d.status){case h.EntryStatus.Empty:B((0,h.fetchSegmentOnCacheMiss)(c,(0,h.upgradeToPendingSegment)(d,k.FetchStrategy.PPR),e,f));break;case h.EntryStatus.Pending:switch(d.fetchStrategy){case k.FetchStrategy.PPR:case k.FetchStrategy.PPRRuntime:case k.FetchStrategy.Full:break;case k.FetchStrategy.LoadingBoundary:F(b)&&J(a,c,e,f);break;default:d.fetchStrategy}break;case h.EntryStatus.Rejected:switch(d.fetchStrategy){case k.FetchStrategy.PPR:case k.FetchStrategy.PPRRuntime:case k.FetchStrategy.Full:break;case k.FetchStrategy.LoadingBoundary:J(a,c,e,f);break;default:d.fetchStrategy}case h.EntryStatus.Fulfilled:}}function J(a,b,c,d){let e=(0,h.readOrCreateRevalidatingSegmentEntry)(a,k.FetchStrategy.PPR,b,d);switch(e.status){case h.EntryStatus.Empty:M(B((0,h.fetchSegmentOnCacheMiss)(b,(0,h.upgradeToPendingSegment)(e,k.FetchStrategy.PPR),c,d)),(0,i.getSegmentVaryPathForRequest)(k.FetchStrategy.PPR,d));case h.EntryStatus.Pending:case h.EntryStatus.Fulfilled:case h.EntryStatus.Rejected:}}function K(a,b,c,d){let e=(0,h.readOrCreateRevalidatingSegmentEntry)(a,d,b,c);if(e.status===h.EntryStatus.Empty){let a=(0,h.upgradeToPendingSegment)(e,d);return M((0,h.waitForSegmentCacheEntry)(a),(0,i.getSegmentVaryPathForRequest)(d,c)),a}if((0,h.canNewFetchStrategyProvideMoreContent)(e.fetchStrategy,d)){let a=(0,h.overwriteRevalidatingSegmentCacheEntry)(d,b,c),e=(0,h.upgradeToPendingSegment)(a,d);return M((0,h.waitForSegmentCacheEntry)(e),(0,i.getSegmentVaryPathForRequest)(d,c)),e}switch(e.status){case h.EntryStatus.Pending:case h.EntryStatus.Fulfilled:case h.EntryStatus.Rejected:default:return null}}let L=()=>{};function M(a,b){a.then(a=>{null!==a&&(0,h.upsertSegmentEntry)(Date.now(),b,a)},L)}function N(a,b,c){return c===l.PAGE_SEGMENT_KEY?b===(0,l.addSearchParamsIfPageSegment)(l.PAGE_SEGMENT_KEY,Object.fromEntries(new URLSearchParams(a.renderedSearch))):(0,g.matchSegment)(c,b)}function O(a,b){let c=b.priority-a.priority;if(0!==c)return c;let d=b.phase-a.phase;return 0!==d?d:b.sortId-a.sortId}function P(a,b){let c=a.length;a.push(b),b._heapIndex=c,T(a,b,c)}function Q(a){return 0===a.length?null:a[0]}function R(a){if(0===a.length)return null;let b=a[0];b._heapIndex=-1;let c=a.pop();return c!==b&&(a[0]=c,c._heapIndex=0,U(a,c,0)),b}function S(a,b){let c=b._heapIndex;-1!==c&&(0===c?U(a,b,0):O(a[c-1>>>1],b)>0?T(a,b,c):U(a,b,c))}function T(a,b,c){let d=c;for(;d>0;){let c=d-1>>>1,e=a[c];if(!(O(e,b)>0))return;a[c]=b,b._heapIndex=c,a[d]=e,e._heapIndex=d,d=c}}function U(a,b,c){let d=c,e=a.length,f=e>>>1;for(;d<f;){let c=(d+1)*2-1,f=a[c],g=c+1,h=a[g];if(0>O(f,b))g<e&&0>O(h,f)?(a[d]=h,h._heapIndex=d,a[g]=b,b._heapIndex=g,d=g):(a[d]=f,f._heapIndex=d,a[c]=b,b._heapIndex=c,d=c);else{if(!(g<e&&0>O(h,b)))return;a[d]=h,h._heapIndex=d,a[g]=b,b._heapIndex=g,d=g}}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},16441,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={IDLE_LINK_STATUS:function(){return l},PENDING_LINK_STATUS:function(){return k},mountFormInstance:function(){return t},mountLinkInstance:function(){return s},onLinkVisibilityChanged:function(){return v},onNavigationIntent:function(){return w},pingVisibleLinks:function(){return y},setLinkForCurrentNavigation:function(){return m},unmountLinkForCurrentNavigation:function(){return n},unmountPrefetchableInstance:function(){return u}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(10846),g=a.r(92702),h=a.r(42297),i=a.r(72131),j=null,k={pending:!0},l={pending:!1};function m(a){(0,i.startTransition)(()=>{j?.setOptimisticLinkStatus(l),a?.setOptimisticLinkStatus(k),j=a})}function n(a){j===a&&(j=null)}let o="function"==typeof WeakMap?new WeakMap:new Map,p=new Set,q="function"==typeof IntersectionObserver?new IntersectionObserver(function(a){for(let b of a){let a=b.intersectionRatio>0;v(b.target,a)}},{rootMargin:"200px"}):null;function r(a,b){void 0!==o.get(a)&&u(a),o.set(a,b),null!==q&&q.observe(a)}function s(a,b,c,d,e,f){if(e){let b=null;if(null!==b){let e={router:c,fetchStrategy:d,isVisible:!1,prefetchTask:null,prefetchHref:b.href,setOptimisticLinkStatus:f};return r(a,e),e}}return{router:c,fetchStrategy:d,isVisible:!1,prefetchTask:null,prefetchHref:null,setOptimisticLinkStatus:f}}function t(a,b,c,d){let e=null;null===e||r(a,{router:c,fetchStrategy:d,isVisible:!1,prefetchTask:null,prefetchHref:e.href,setOptimisticLinkStatus:null})}function u(a){let b=o.get(a);if(void 0!==b){o.delete(a),p.delete(b);let c=b.prefetchTask;null!==c&&(0,h.cancelPrefetchTask)(c)}null!==q&&q.unobserve(a)}function v(a,b){let c=o.get(a);void 0!==c&&(c.isVisible=b,b?p.add(c):p.delete(c),x(c,f.PrefetchPriority.Default))}function w(a,b){let c=o.get(a);void 0!==c&&void 0!==c&&x(c,f.PrefetchPriority.Intent)}function x(a,b){}function y(a,b){for(let c of p){let d=c.prefetchTask;if(null!==d&&!(0,h.isPrefetchTaskDirty)(d,a,b))continue;null!==d&&(0,h.cancelPrefetchTask)(d);let e=(0,g.createCacheKey)(c.prefetchHref,a);c.prefetchTask=(0,h.schedulePrefetchTask)(e,b,c.fetchStrategy,f.PrefetchPriority.Default,null)}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},11679,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"pathHasPrefix",{enumerable:!0,get:function(){return e}});let d=a.r(8868);function e(a,b){if("string"!=typeof a)return!1;let{pathname:c}=(0,d.parsePath)(a);return c===b||c.startsWith(b+"/")}},78897,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"hasBasePath",{enumerable:!0,get:function(){return e}});let d=a.r(11679);function e(a){return(0,d.pathHasPrefix)(a,"")}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},11762,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"isLocalURL",{enumerable:!0,get:function(){return f}});let d=a.r(46272),e=a.r(78897);function f(a){if(!(0,d.isAbsoluteUrl)(a))return!0;try{let b=(0,d.getLocationOrigin)(),c=new URL(a,b);return c.origin===b&&(0,e.hasBasePath)(c.pathname)}catch(a){return!1}}},9833,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"errorOnce",{enumerable:!0,get:function(){return d}});let d=a=>{}},38246,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={default:function(){return q},useLinkStatus:function(){return s}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(46058),g=a.r(87924),h=f._(a.r(72131)),i=a.r(43087),j=a.r(9270),k=a.r(8591),l=a.r(46272),m=a.r(38243);a.r(92434);let n=a.r(16441);a.r(11762);let o=a.r(10846);function p(a){return"string"==typeof a?a:(0,i.formatUrl)(a)}function q(a){var b;let c,d,e,[f,i]=(0,h.useOptimistic)(n.IDLE_LINK_STATUS),q=(0,h.useRef)(null),{href:s,as:t,children:u,prefetch:v=null,passHref:w,replace:x,shallow:y,scroll:z,onClick:A,onMouseEnter:B,onTouchStart:C,legacyBehavior:D=!1,onNavigate:E,ref:F,unstable_dynamicOnHover:G,...H}=a;c=u,D&&("string"==typeof c||"number"==typeof c)&&(c=(0,g.jsx)("a",{children:c}));let I=h.default.useContext(j.AppRouterContext),J=!1!==v,K=!1!==v?null===(b=v)||"auto"===b?o.FetchStrategy.PPR:o.FetchStrategy.Full:o.FetchStrategy.PPR,{href:L,as:M}=h.default.useMemo(()=>{let a=p(s);return{href:a,as:t?p(t):a}},[s,t]);if(D){if(c?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});d=h.default.Children.only(c)}let N=D?d&&"object"==typeof d&&d.ref:F,O=h.default.useCallback(a=>(null!==I&&(q.current=(0,n.mountLinkInstance)(a,L,I,K,J,i)),()=>{q.current&&((0,n.unmountLinkForCurrentNavigation)(q.current),q.current=null),(0,n.unmountPrefetchableInstance)(a)}),[J,L,I,K,i]),P={ref:(0,k.useMergedRef)(O,N),onClick(a){if((D||"function"!=typeof A||A(a),D&&d.props&&"function"==typeof d.props.onClick&&d.props.onClick(a),I)&&!a.defaultPrevented);},onMouseEnter(a){D||"function"!=typeof B||B(a),D&&d.props&&"function"==typeof d.props.onMouseEnter&&d.props.onMouseEnter(a),I&&J&&(0,n.onNavigationIntent)(a.currentTarget,!0===G)},onTouchStart:function(a){D||"function"!=typeof C||C(a),D&&d.props&&"function"==typeof d.props.onTouchStart&&d.props.onTouchStart(a),I&&J&&(0,n.onNavigationIntent)(a.currentTarget,!0===G)}};return(0,l.isAbsoluteUrl)(M)?P.href=M:D&&!w&&("a"!==d.type||"href"in d.props)||(P.href=(0,m.addBasePath)(M)),e=D?h.default.cloneElement(d,P):(0,g.jsx)("a",{...H,...P,children:c}),(0,g.jsx)(r.Provider,{value:f,children:e})}a.r(9833);let r=(0,h.createContext)(n.IDLE_LINK_STATUS),s=()=>(0,h.useContext)(r);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=node_modules_ea845e5f._.js.map
|