@mndrk/agx 1.4.30 → 1.4.32
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/README.md +83 -54
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/BUILD_ID +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/app-build-manifest.json +97 -76
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/app-path-routes-manifest.json +20 -17
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/build-manifest.json +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/prerender-manifest.json +18 -18
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/routes-manifest.json +8 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found/page.js +7 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.html +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.rsc +16 -15
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/audit/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/[...nextauth]/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/daemon-secret/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/device/code/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/device/token/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/refresh/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/domains/[id]/route.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/domains/[id]/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/domains/[id]/route_client-reference-manifest.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/domains/route.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/domains/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/domains/route_client-reference-manifest.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/health/route.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/health/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/health/route_client-reference-manifest.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/learnings/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/logs/stream/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/start/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/status/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/complete/route.js +4 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/complete/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/stage-prompts/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/[commentId]/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/heartbeat/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/history/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/stream/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/user-settings/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/[id]/nodes/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/[id]/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/callback/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/device/page.js +10 -5
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/device/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/device/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/device.html +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/device.rsc +20 -19
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard/page.js +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard.html +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard.rsc +20 -19
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.html +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.rsc +25 -23
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/login/page.js +7 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/login/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/login.html +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/login.rsc +20 -19
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/page.js +7 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page.js +6 -5
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/tasks/page.js +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/tasks/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/tasks/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/workflow/page.js +7 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/workflow/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/workflow/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/page.js +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.html +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.rsc +20 -19
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings/page.js +7 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.html +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.rsc +20 -19
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app-paths-manifest.json +20 -17
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/2298.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{8361.js → 3224.js} +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/7143.js +1 -4
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/9773.js +6 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/middleware-manifest.json +5 -5
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/404.html +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/500.html +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/server-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/server-reference-manifest.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/8HkVSFiL4He2WYQOlxNL4/_buildManifest.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/{2456-5577fa071bb78cca.js → 2456-fb622a24e9609222.js} +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/_error.js +28 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/audit/route-99c56d5659a15bdb.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/[...nextauth]/route-99c56d5659a15bdb.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/daemon-secret/route-99c56d5659a15bdb.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/device/code/route-99c56d5659a15bdb.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/device/token/route-99c56d5659a15bdb.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/refresh/route-99c56d5659a15bdb.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/status/route-99c56d5659a15bdb.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/domains/[id]/route-99c56d5659a15bdb.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/domains/route-99c56d5659a15bdb.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/health/route-99c56d5659a15bdb.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/learnings/route-99c56d5659a15bdb.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/logs/stream/route-99c56d5659a15bdb.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/cancel/route-99c56d5659a15bdb.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/signal/route-99c56d5659a15bdb.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/start/route-99c56d5659a15bdb.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/status/route-99c56d5659a15bdb.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/projects/[id]/route-99c56d5659a15bdb.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/projects/route-99c56d5659a15bdb.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/providers/route-99c56d5659a15bdb.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/queue/complete/route-99c56d5659a15bdb.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/queue/route-99c56d5659a15bdb.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/stage-prompts/route-99c56d5659a15bdb.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/comments/[commentId]/route-99c56d5659a15bdb.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/comments/route-99c56d5659a15bdb.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/heartbeat/route-99c56d5659a15bdb.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/history/route-99c56d5659a15bdb.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/logs/route-99c56d5659a15bdb.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/route-99c56d5659a15bdb.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/route-99c56d5659a15bdb.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/stream/route-99c56d5659a15bdb.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/user-settings/route-99c56d5659a15bdb.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/[id]/nodes/route-99c56d5659a15bdb.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/[id]/route-99c56d5659a15bdb.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/route-99c56d5659a15bdb.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/auth/callback/route-99c56d5659a15bdb.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/auth/device/page-16376ef566a9794d.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/layout-a88b659f348808e1.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/layout-11d4290500b37271.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/page-98b32955971a9b89.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/fallback/amp.js +1015 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/fallback/main-app.js +1893 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/fallback/main.js +1616 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/fallback/pages/_app.js +28 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/fallback/pages/_error.js +28 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/fallback/react-refresh.js +62 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/fallback/webpack.js +1368 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/main.js +1616 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/pages/_app.js +28 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/pages/_error.js +28 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/polyfills.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/react-refresh.js +62 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/webpack.js +1363 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/css/684e3dda28b1eb43.css +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/development/_buildManifest.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/development/_ssgManifest.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/webpack/4b08482d088962b1.webpack.hot-update.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/webpack/webpack.4b08482d088962b1.hot-update.js +12 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/worker/index.js +16 -20
- package/index.js +9 -8188
- package/lib/cli/cloud/command.js +25 -10
- package/lib/cli/cloud/executeVerifySingle.js +16 -0
- package/lib/cli/cloud/executeVerifySwarm.js +16 -0
- package/lib/cli/cloud/iterations.js +6 -2
- package/lib/cli/cloud/taskLogger.js +79 -10
- package/lib/cli/cloudArtifacts.js +2 -1
- package/lib/cli/daemon.js +48 -32
- package/lib/cli/interactiveMenu.js +11 -9
- package/lib/cli/providers.js +26 -19
- package/lib/cli/runCli.js +675 -644
- package/lib/commands/daemonBoard.js +9 -9
- package/lib/executor.js +4 -11
- package/lib/orchestrator/httpClient.js +6 -2
- package/lib/proc/ProcessManager.js +197 -0
- package/lib/proc/commandExists.js +4 -4
- package/lib/proc/killProcessTree.js +157 -0
- package/lib/proc/spawnCloudTaskProcess.js +32 -5
- package/lib/prompts/cloudTask.js +72 -23
- package/lib/storage/paths.js +3 -0
- package/lib/storage/runs.js +1 -0
- package/lib/verifier.js +10 -9
- package/package.json +2 -1
- package/templates/stack/postgres/init/001_agx_board_schema.sql +17 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/6125.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/M4AQWpnhTFqFD3HFlSHd9/_buildManifest.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/audit/route-a73121242529c10c.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/[...nextauth]/route-a73121242529c10c.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/daemon-secret/route-a73121242529c10c.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/device/code/route-a73121242529c10c.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/device/token/route-a73121242529c10c.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/refresh/route-a73121242529c10c.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/status/route-a73121242529c10c.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/learnings/route-a73121242529c10c.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/logs/stream/route-a73121242529c10c.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/cancel/route-a73121242529c10c.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/signal/route-a73121242529c10c.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/start/route-a73121242529c10c.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/status/route-a73121242529c10c.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/projects/[id]/route-a73121242529c10c.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/projects/route-a73121242529c10c.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/providers/route-a73121242529c10c.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/queue/complete/route-a73121242529c10c.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/queue/route-a73121242529c10c.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/stage-prompts/route-a73121242529c10c.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/comments/[commentId]/route-a73121242529c10c.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/comments/route-a73121242529c10c.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/heartbeat/route-a73121242529c10c.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/history/route-a73121242529c10c.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/logs/route-a73121242529c10c.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/route-a73121242529c10c.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/route-a73121242529c10c.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/stream/route-a73121242529c10c.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/user-settings/route-a73121242529c10c.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/[id]/nodes/route-a73121242529c10c.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/[id]/route-a73121242529c10c.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/route-a73121242529c10c.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/auth/callback/route-a73121242529c10c.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/auth/device/page-e2c2560ec12b421d.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/layout-2d6cff09e6c1e2b2.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/layout-c77e54e6c377c70a.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/page-253ca8286e8f1d68.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/css/72371329e4c91108.css +0 -1
- /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{M4AQWpnhTFqFD3HFlSHd9 → 8HkVSFiL4He2WYQOlxNL4}/_ssgManifest.js +0 -0
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[
|
|
3
|
-
3:I[
|
|
4
|
-
4:I[
|
|
5
|
-
5:I[
|
|
6
|
-
6:I[
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
10:"
|
|
12
|
-
|
|
13
|
-
:
|
|
14
|
-
|
|
15
|
-
7:{}
|
|
16
|
-
8:
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
2
|
+
2:I[1402,["7177","static/chunks/app/layout-a88b659f348808e1.js"],""]
|
|
3
|
+
3:I[4647,["7177","static/chunks/app/layout-a88b659f348808e1.js"],"AuthProvider"]
|
|
4
|
+
4:I[9766,[],""]
|
|
5
|
+
5:I[8924,[],""]
|
|
6
|
+
6:I[1959,[],"ClientPageRoot"]
|
|
7
|
+
7:I[2802,["2619","static/chunks/2619-3c9e02e22d10480a.js","4662","static/chunks/app/settings/page-749ebaf650848f08.js"],"default"]
|
|
8
|
+
a:I[4431,[],"OutletBoundary"]
|
|
9
|
+
c:I[5278,[],"AsyncMetadataOutlet"]
|
|
10
|
+
e:I[4431,[],"ViewportBoundary"]
|
|
11
|
+
10:I[4431,[],"MetadataBoundary"]
|
|
12
|
+
11:"$Sreact.suspense"
|
|
13
|
+
13:I[7150,[],""]
|
|
14
|
+
:HL["/_next/static/css/684e3dda28b1eb43.css","style"]
|
|
15
|
+
0:{"P":null,"b":"8HkVSFiL4He2WYQOlxNL4","p":"","c":["","settings"],"i":false,"f":[[["",{"children":["settings",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/684e3dda28b1eb43.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"dark","children":[["$","head",null,{"children":[["$","$L2",null,{"async":true,"src":"https://www.googletagmanager.com/gtag/js?id=G-DVQQG95LNL","strategy":"afterInteractive"}],["$","$L2",null,{"id":"google-analytics","strategy":"afterInteractive","dangerouslySetInnerHTML":{"__html":"\n window.dataLayer = window.dataLayer || [];\n function gtag(){dataLayer.push(arguments);}\n gtag('js', new Date());\n gtag('config', 'G-DVQQG95LNL');\n "}}]]}],["$","body",null,{"className":"antialiased min-h-screen bg-[var(--background)] text-[var(--foreground)] selection:bg-[var(--primary)] selection:text-[var(--primary-foreground)]","children":[["$","div",null,{"className":"fixed inset-0 -z-10 h-full w-full bg-[radial-gradient(#27272a_1px,transparent_1px)] [background-size:16px_16px] opacity-20"}],["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}]]}],{"children":["settings",["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L6",null,{"Component":"$7","searchParams":{},"params":{},"promises":["$@8","$@9"]}],null,["$","$La",null,{"children":["$Lb",["$","$Lc",null,{"promise":"$@d"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Le",null,{"children":"$Lf"}],null],["$","$L10",null,{"children":["$","div",null,{"hidden":true,"children":["$","$11",null,{"fallback":null,"children":"$L12"}]}]}]]}],false]],"m":"$undefined","G":["$13",[]],"s":false,"S":true}
|
|
16
|
+
8:{}
|
|
17
|
+
9:"$0:f:0:1:2:children:2:children:1:props:children:0:props:params"
|
|
18
|
+
f:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
19
|
+
b:null
|
|
20
|
+
d:{"metadata":[["$","title","0",{"children":"AGX Board - Agent Task Orchestration"}],["$","meta","1",{"name":"description","content":"Orchestrate and manage AI agent tasks on AGX Board"}]],"error":null,"digest":"$undefined"}
|
|
21
|
+
12:"$d:metadata"
|
package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app-paths-manifest.json
CHANGED
|
@@ -1,44 +1,47 @@
|
|
|
1
1
|
{
|
|
2
|
-
"/
|
|
3
|
-
"/api/
|
|
4
|
-
"/api/
|
|
2
|
+
"/api/tasks/route": "app/api/tasks/route.js",
|
|
3
|
+
"/api/tasks/[id]/route": "app/api/tasks/[id]/route.js",
|
|
4
|
+
"/api/tasks/[id]/comments/route": "app/api/tasks/[id]/comments/route.js",
|
|
5
|
+
"/api/orchestrator/tasks/[taskId]/status/route": "app/api/orchestrator/tasks/[taskId]/status/route.js",
|
|
6
|
+
"/api/tasks/[id]/logs/route": "app/api/tasks/[id]/logs/route.js",
|
|
5
7
|
"/api/auth/daemon-secret/route": "app/api/auth/daemon-secret/route.js",
|
|
8
|
+
"/api/audit/route": "app/api/audit/route.js",
|
|
6
9
|
"/api/auth/device/code/route": "app/api/auth/device/code/route.js",
|
|
7
10
|
"/api/auth/device/token/route": "app/api/auth/device/token/route.js",
|
|
11
|
+
"/api/auth/[...nextauth]/route": "app/api/auth/[...nextauth]/route.js",
|
|
8
12
|
"/api/auth/refresh/route": "app/api/auth/refresh/route.js",
|
|
9
13
|
"/api/auth/status/route": "app/api/auth/status/route.js",
|
|
10
|
-
"/api/
|
|
14
|
+
"/api/domains/[id]/route": "app/api/domains/[id]/route.js",
|
|
15
|
+
"/api/domains/route": "app/api/domains/route.js",
|
|
16
|
+
"/api/health/route": "app/api/health/route.js",
|
|
11
17
|
"/api/orchestrator/tasks/[taskId]/cancel/route": "app/api/orchestrator/tasks/[taskId]/cancel/route.js",
|
|
18
|
+
"/api/learnings/route": "app/api/learnings/route.js",
|
|
12
19
|
"/api/orchestrator/tasks/[taskId]/signal/route": "app/api/orchestrator/tasks/[taskId]/signal/route.js",
|
|
13
|
-
"/api/orchestrator/tasks/[taskId]/status/route": "app/api/orchestrator/tasks/[taskId]/status/route.js",
|
|
14
|
-
"/api/orchestrator/tasks/[taskId]/start/route": "app/api/orchestrator/tasks/[taskId]/start/route.js",
|
|
15
|
-
"/api/projects/[id]/route": "app/api/projects/[id]/route.js",
|
|
16
20
|
"/api/projects/route": "app/api/projects/route.js",
|
|
17
|
-
"/api/
|
|
21
|
+
"/api/projects/[id]/route": "app/api/projects/[id]/route.js",
|
|
18
22
|
"/api/providers/route": "app/api/providers/route.js",
|
|
23
|
+
"/api/orchestrator/tasks/[taskId]/start/route": "app/api/orchestrator/tasks/[taskId]/start/route.js",
|
|
24
|
+
"/api/queue/complete/route": "app/api/queue/complete/route.js",
|
|
19
25
|
"/api/queue/route": "app/api/queue/route.js",
|
|
20
26
|
"/api/stage-prompts/route": "app/api/stage-prompts/route.js",
|
|
21
27
|
"/api/tasks/[id]/comments/[commentId]/route": "app/api/tasks/[id]/comments/[commentId]/route.js",
|
|
22
|
-
"/api/tasks/[id]/comments/route": "app/api/tasks/[id]/comments/route.js",
|
|
23
28
|
"/api/tasks/[id]/heartbeat/route": "app/api/tasks/[id]/heartbeat/route.js",
|
|
24
29
|
"/api/tasks/[id]/history/route": "app/api/tasks/[id]/history/route.js",
|
|
25
|
-
"/api/tasks/[id]/logs/route": "app/api/tasks/[id]/logs/route.js",
|
|
26
|
-
"/api/tasks/[id]/route": "app/api/tasks/[id]/route.js",
|
|
27
|
-
"/api/tasks/route": "app/api/tasks/route.js",
|
|
28
|
-
"/api/user-settings/route": "app/api/user-settings/route.js",
|
|
29
30
|
"/api/workflows/[id]/nodes/route": "app/api/workflows/[id]/nodes/route.js",
|
|
30
|
-
"/api/
|
|
31
|
+
"/api/user-settings/route": "app/api/user-settings/route.js",
|
|
31
32
|
"/api/workflows/route": "app/api/workflows/route.js",
|
|
32
33
|
"/auth/callback/route": "app/auth/callback/route.js",
|
|
34
|
+
"/api/workflows/[id]/route": "app/api/workflows/[id]/route.js",
|
|
33
35
|
"/api/logs/stream/route": "app/api/logs/stream/route.js",
|
|
34
36
|
"/api/tasks/stream/route": "app/api/tasks/stream/route.js",
|
|
37
|
+
"/_not-found/page": "app/_not-found/page.js",
|
|
35
38
|
"/auth/device/page": "app/auth/device/page.js",
|
|
36
|
-
"/dashboard/page": "app/dashboard/page.js",
|
|
37
39
|
"/login/page": "app/login/page.js",
|
|
40
|
+
"/dashboard/page": "app/dashboard/page.js",
|
|
38
41
|
"/page": "app/page.js",
|
|
39
42
|
"/settings/page": "app/settings/page.js",
|
|
40
43
|
"/projects/page": "app/projects/page.js",
|
|
41
44
|
"/projects/[slug]/page": "app/projects/[slug]/page.js",
|
|
42
|
-
"/projects/[slug]/
|
|
43
|
-
"/projects/[slug]/
|
|
45
|
+
"/projects/[slug]/workflow/page": "app/projects/[slug]/workflow/page.js",
|
|
46
|
+
"/projects/[slug]/tasks/page": "app/projects/[slug]/tasks/page.js"
|
|
44
47
|
}
|
|
@@ -20,4 +20,4 @@
|
|
|
20
20
|
absolute -right-1 top-1/2 -translate-y-1/2 w-2 h-0.5
|
|
21
21
|
${l||k?"bg-[var(--success)]":"bg-[var(--card-border)]"}
|
|
22
22
|
transition-colors duration-300 hidden lg:block
|
|
23
|
-
`}),(0,d.jsx)("span",{className:"absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 text-[10px] font-normal whitespace-nowrap bg-[var(--card-bg)] text-[var(--foreground)] border border-[var(--card-border)] rounded-md shadow-lg opacity-0 group-hover:opacity-100 pointer-events-none transition-opacity duration-200 lg:hidden z-50",children:g.label})]},g.id)})})}var r=c(95627),s=c.n(r),t=c(53603),u=c(43843),v=c(93130),w=c(72576),x=c(22833);let y=({editor:a})=>a?(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-1 p-2 border-b border-[var(--card-border)] mb-2 sticky top-0 bg-[var(--card-bg)] z-10 opacity-90 backdrop-blur-sm",children:[(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleBold().run(),disabled:!a.can().chain().focus().toggleBold().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("bold")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Bold",children:(0,d.jsx)("span",{className:"font-bold font-serif",children:"B"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleItalic().run(),disabled:!a.can().chain().focus().toggleItalic().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("italic")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Italic",children:(0,d.jsx)("span",{className:"italic font-serif",children:"I"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleStrike().run(),disabled:!a.can().chain().focus().toggleStrike().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("strike")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Strike",children:(0,d.jsx)("span",{className:"line-through font-serif",children:"S"})}),(0,d.jsx)("div",{className:"w-px h-4 bg-[var(--card-border)] mx-1"}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleCode().run(),disabled:!a.can().chain().focus().toggleCode().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("code")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Code",children:(0,d.jsx)("span",{className:"font-mono text-xs",children:"<>"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleCodeBlock().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("codeBlock")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Code Block",children:(0,d.jsx)("span",{className:"font-mono text-xs",children:"CB"})}),(0,d.jsx)("div",{className:"w-px h-4 bg-[var(--card-border)] mx-1"}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleHeading({level:1}).run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("heading",{level:1})?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"H1",children:(0,d.jsx)("span",{className:"font-bold text-xs",children:"H1"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleHeading({level:2}).run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("heading",{level:2})?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"H2",children:(0,d.jsx)("span",{className:"font-bold text-xs",children:"H2"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleHeading({level:3}).run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("heading",{level:3})?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"H3",children:(0,d.jsx)("span",{className:"font-bold text-xs",children:"H3"})}),(0,d.jsx)("div",{className:"w-px h-4 bg-[var(--card-border)] mx-1"}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleBulletList().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("bulletList")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Bullet List",children:(0,d.jsx)("span",{className:"text-xs",children:"• List"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleOrderedList().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("orderedList")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Ordered List",children:(0,d.jsx)("span",{className:"text-xs",children:"1. List"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleBlockquote().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("blockquote")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Quote",children:(0,d.jsx)("span",{className:"text-xs serif italic",children:'""'})})]}):null;function z({content:a,editable:b=!0,onChange:c,onBlur:e,placeholder:f="Add a description..."}){let g=(0,t.hG)({extensions:[u.A,w.Ay.configure({openOnClick:!1}),v.A.configure({placeholder:f,emptyEditorClass:"is-editor-empty before:content-[attr(data-placeholder)] before:text-[var(--muted-foreground)] before:float-left before:pointer-events-none before:h-0"}),x.o.configure({html:!1,transformPastedText:!0,transformCopiedText:!0})],immediatelyRender:!1,content:a,editable:b,editorProps:{attributes:{class:"prose prose-sm max-w-none focus:outline-none min-h-[100px] text-[var(--foreground)]"}},onUpdate:({editor:a})=>{c?.(a.storage.markdown.getMarkdown())},onBlur:()=>{e?.()}});return(0,d.jsxs)("div",{className:"jsx-cdf669dd826a0677 relative group",children:[b&&(0,d.jsx)(y,{editor:g}),(0,d.jsx)(t.$Z,{editor:g,className:"rich-text-editor"}),(0,d.jsx)(s(),{id:"cdf669dd826a0677",children:".rich-text-editor .ProseMirror{min-height:100px;outline:none}.rich-text-editor .ProseMirror p{margin-bottom:.75em;line-height:1.6}.rich-text-editor .ProseMirror h1{font-size:1.5em;font-weight:700;margin-top:1em;margin-bottom:.5em}.rich-text-editor .ProseMirror h2{font-size:1.25em;font-weight:600;margin-top:1em;margin-bottom:.5em}.rich-text-editor .ProseMirror h3{font-size:1.1em;font-weight:600;margin-top:1em;margin-bottom:.5em}.rich-text-editor .ProseMirror ul{list-style-type:disc;padding-left:1.5em;margin-bottom:.75em}.rich-text-editor .ProseMirror ol{list-style-type:decimal;padding-left:1.5em;margin-bottom:.75em}.rich-text-editor .ProseMirror blockquote{border-left:3px solid var(--card-border);padding-left:1em;font-style:italic;color:var(--muted-foreground)}.rich-text-editor .ProseMirror pre{background:var(--muted);padding:.75em;border-radius:var(--radius-sm);font-family:monospace;overflow-x:auto;margin-bottom:.75em}.rich-text-editor .ProseMirror code{background:var(--muted);padding:.2em .4em;border-radius:var(--radius-sm);font-family:monospace;font-size:.85em}.rich-text-editor .ProseMirror a{color:var(--primary);text-decoration:underline}"})]})}var A=c(82997),B=c(3991),C=c.n(B);function D({projectContext:a,fallbackProjectSlug:b}){var c;let e=a?.project||null,f=a?.repos??[],g=a?.learnings??[],h=(c=e?.metadata)&&"object"==typeof c?Object.entries(c).filter(([a])=>!!a):[];if(!e)return(0,d.jsxs)("div",{className:"p-4 rounded-2xl border border-dashed border-[var(--card-border)] bg-[var(--card-bg)]/60 space-y-3",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-xs font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Project Context"}),(0,d.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:b?`Task is tagged with "${b}" but no structured project context is available yet.`:"This task is not connected to a project. Link it to unlock repo maps, CI/CD notes, and project learnings."})]}),(0,d.jsx)(C(),{href:"/projects",className:"inline-flex items-center justify-center text-xs font-semibold px-3 py-1.5 rounded-full border border-[var(--card-border)] hover:border-[var(--primary)] hover:text-[var(--primary)] transition-colors",children:"Manage Projects"})]});let i=g.slice(0,3),j=g.length-i.length;return(0,d.jsxs)("div",{className:"p-4 rounded-2xl border border-[var(--card-border)] bg-[var(--card-bg)] space-y-4",children:[(0,d.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-xs font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Project Context"}),(0,d.jsx)("h3",{className:"text-base font-semibold leading-tight mt-1",children:e.name}),(0,d.jsx)("p",{className:"text-[11px] uppercase tracking-wide text-[var(--muted-foreground)]",children:e.slug})]}),(0,d.jsx)(C(),{href:"/projects",className:"text-[11px] font-semibold px-2 py-1 rounded-full border border-[var(--card-border)] hover:border-[var(--primary)] hover:text-[var(--primary)] transition-colors",children:"View"})]}),e.description&&(0,d.jsx)("p",{className:"text-sm text-[var(--foreground)] whitespace-pre-line",children:e.description}),e.ci_cd_info&&(0,d.jsxs)("div",{className:"text-xs space-y-1",children:[(0,d.jsx)("p",{className:"font-semibold text-[var(--muted-foreground)] uppercase tracking-wide",children:"CI / CD"}),(0,d.jsx)("p",{className:"text-[var(--foreground)] text-sm",children:e.ci_cd_info})]}),h.length>0&&(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)] mb-2",children:"Metadata"}),(0,d.jsx)("dl",{className:"space-y-1.5",children:h.map(([a,b])=>(0,d.jsxs)("div",{className:"flex items-start justify-between gap-2 text-xs",children:[(0,d.jsx)("dt",{className:"font-semibold text-[var(--foreground)]",children:a}),(0,d.jsx)("dd",{className:"text-[var(--muted-foreground)] text-right max-w-[160px]",children:"string"==typeof b?b:JSON.stringify(b)})]},a))})]}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,d.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Repository Map"}),(0,d.jsx)("span",{className:"text-[11px] text-[var(--muted-foreground)]",children:f.length?`${f.length} connected`:"None"})]}),0===f.length?(0,d.jsx)("p",{className:"text-xs text-[var(--muted-foreground)]",children:"Add repositories to help agents navigate local and remote paths."}):(0,d.jsx)("ul",{className:"space-y-2",children:f.map(a=>(0,d.jsxs)("li",{className:"p-2 rounded-xl border border-[var(--card-border)] bg-[var(--background)] space-y-1 text-xs",children:[(0,d.jsx)("p",{className:"font-semibold text-[var(--foreground)]",children:a.name}),a.path&&(0,d.jsxs)("p",{className:"text-[var(--muted-foreground)]",children:["Path: ",a.path]}),a.git_url&&(0,d.jsxs)("p",{className:"text-[var(--muted-foreground)] break-all",children:["Repo: ",(0,d.jsx)("span",{className:"text-[var(--primary)]",children:a.git_url})]}),a.notes&&(0,d.jsxs)("p",{className:"text-[var(--muted-foreground)]",children:["Notes: ",a.notes]})]},a.id||a.name))})]}),g.length>0&&(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)] mb-2",children:"Project Learnings"}),(0,d.jsx)("ul",{className:"space-y-1 text-xs text-[var(--foreground)]",children:i.map((a,b)=>(0,d.jsxs)("li",{className:"leading-relaxed",children:["• ",a]},`${a}-${b}`))}),j>0&&(0,d.jsxs)("p",{className:"text-[11px] text-[var(--muted-foreground)] mt-1",children:["+",j," more learnings in the panel below"]})]})]})}var E=c(7889);let F={queued:{label:"Queued",color:"var(--status-queued)",bgColor:"var(--status-queued-bg)"},in_progress:{label:"In Progress",color:"var(--status-in-progress)",bgColor:"var(--status-in-progress-bg)"},blocked:{label:"Blocked",color:"var(--status-blocked)",bgColor:"var(--status-blocked-bg)"},completed:{label:"Completed",color:"var(--status-completed)",bgColor:"var(--status-completed-bg)"},failed:{label:"Failed",color:"var(--status-failed)",bgColor:"var(--status-failed-bg)"}},G=["queued","in_progress","blocked","completed","failed"];function H(a){if(!a)return"N/A";let b=new Date(a);return Number.isNaN(b.getTime())?a:b.toLocaleString()}function I({task:a,comments:b,learnings:c,projectContext:h,projects:i,stage_config:j,stages:k,onClose:l,onAddComment:n,onDeleteComment:r,onAddLearning:s,onUpdate:t,onDelete:u}){let{providers:v}=(0,E.u)(),{projects:w}=(0,A.Y)(),x=i||w,y=k||p,[B,C]=(0,e.useState)(!1),[I,K]=(0,e.useState)(!1),[L,M]=(0,e.useState)(!1),[N,O]=(0,e.useState)(""),[P,Q]=(0,e.useState)(null),[R,S]=(0,e.useState)(!1),[T,U]=(0,e.useState)(a.provider||""),[V,W]=(0,e.useState)(a.model||""),[X,Y]=(0,e.useState)(a.swarm??!1),[Z,$]=(0,e.useState)([]),[_,aa]=(0,e.useState)("gemini"),[ab,ac]=(0,e.useState)(""),[ad,ae]=(0,e.useState)(!1),[af,ag]=(0,e.useState)(null),ah=a.resolved_provider||j?.provider||"gemini",ai=a.resolved_model||j?.model||"",aj=a.swarm??j?.swarm??!1;a.resolved_swarm_models||j?.swarm_models;let ak=h??a.project_context??null,al=ak?.project?.slug??a.project??null,[am,an]=(0,e.useState)(""),ao=async()=>{M(!0);try{await u?.()}finally{M(!1),K(!1)}},ap=(0,f.YQ)(async b=>{b!==(a.description??(a=>{let b=a.match(/^---\n[\s\S]*?\n---\n([\s\S]*)$/);return b?b[1]:a})(a.content||""))&&await t({description:b})},1e3),aq=(0,f.YQ)(async a=>{ae(!0),ag(null);try{await t(a)}catch(a){ag(a instanceof Error?a.message:"Failed to update settings")}finally{ae(!1)}},1e3),ar=async a=>{await t({stage:a,status:"done"===a?"completed":"ideation"===a?"queued":"in_progress"})},as=async a=>{if(!a)return void await t({project:null,project_id:null});let b=x.find(b=>b.id===a);b&&await t({project:b.slug,project_id:b.id})},at=async()=>{try{await av("queued")}catch(a){console.error("Failed to retry task",a)}},au=async()=>{try{await av("queued")}catch(a){console.error("Failed to unblock task",a)}},av=async b=>{let c={status:b};"queued"===b&&(c.started_at=null,c.completed_at=null,c.error=void 0),"completed"!==b&&"failed"!==b&&"blocked"!==b||a.completed_at||(c.completed_at=new Date().toISOString()),await t(c)};F[a.status||"queued"];let aw=a.stage_decisions||{},ax=a.stage?aw[a.stage]:void 0,ay=function(a,b){if(!a||"object"!=typeof a)return null;let c=Object.entries(a).filter(([,a])=>!!(a&&b(a))).sort((a,b)=>{let c=Date.parse(a[1]?.decided_at||""),d=Date.parse(b[1]?.decided_at||"");return(Number.isNaN(d)?0:d)-(Number.isNaN(c)?0:c)});if(!c.length)return null;let[d,e]=c[0];return{stage:d,decision:e}}(aw,a=>"failed"===a.decision),az=Object.entries(aw).filter(([,a])=>a?.decision==="blocked").sort((a,b)=>{let c=Date.parse(a[1]?.decided_at||""),d=Date.parse(b[1]?.decided_at||"");return(Number.isNaN(d)?0:d)-(Number.isNaN(c)?0:c)})[0],aA=ax?.decision==="blocked"?a.stage:az?.[0],aB=aA&&aw[aA]?aw[aA]:void 0,aC=aB?.rationale,aD="string"==typeof a.error&&a.error.trim()?a.error.trim():(ay?.decision?.rationale||ay?.decision?.final_result||"").trim()||"Task marked failed.";return(0,d.jsx)("div",{className:"modal-backdrop",onClick:a=>a.target===a.currentTarget&&l(),children:(0,d.jsxs)("div",{className:"bg-[var(--card-bg)] w-full max-w-[1200px] h-[90vh] rounded-xl shadow-2xl overflow-hidden flex flex-col animate-scale-in border border-[var(--card-border)] m-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between px-6 py-4 border-b border-[var(--card-border)] bg-[var(--card-bg)]",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)("span",{className:"text-[var(--muted-foreground)] font-mono text-sm",children:a.slug||a.id.slice(0,6)}),(0,d.jsx)(q,{currentStage:a.stage,onStageChange:ar,stageDecisions:a.stage_decisions,stages:y})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[ad&&(0,d.jsxs)("span",{className:"text-[10px] text-[var(--muted-foreground)] animate-pulse flex items-center gap-1 mr-2",children:[(0,d.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--primary)]"}),"Saving..."]}),u&&(0,d.jsx)("button",{onClick:()=>K(!0),className:"btn-ghost p-2 rounded hover:bg-[var(--destructive-muted)] hover:text-[var(--destructive)]",title:"Delete Task",children:(0,d.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})})}),(0,d.jsx)("button",{onClick:l,className:"btn-ghost p-2 rounded",title:"Close (Esc)",children:(0,d.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]})]}),I&&(0,d.jsx)("div",{className:"absolute inset-0 bg-black/60 backdrop-blur-sm flex items-center justify-center z-50 rounded-xl animate-fade-in",children:(0,d.jsxs)("div",{className:"modal-content p-6 max-w-sm mx-4 animate-scale-in bg-[var(--card-bg)]",children:[(0,d.jsx)("h3",{className:"text-lg font-bold mb-2",children:"Delete Task?"}),(0,d.jsxs)("p",{className:"text-[var(--muted-foreground)] text-sm mb-6",children:["Are you sure you want to delete ",(0,d.jsx)("strong",{className:"text-[var(--foreground)]",children:a.slug||a.id.slice(0,6)}),"? This cannot be undone."]}),(0,d.jsxs)("div",{className:"flex justify-end gap-3",children:[(0,d.jsx)("button",{onClick:()=>K(!1),disabled:L,className:"btn-ghost",children:"Cancel"}),(0,d.jsx)("button",{onClick:ao,disabled:L,className:"btn-destructive px-4 py-2 rounded-md",children:L?"Deleting...":"Delete"})]})]})}),(0,d.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[(0,d.jsx)("div",{className:"flex-1 overflow-y-auto scrollbar-thin",children:(0,d.jsxs)("div",{className:"max-w-3xl mx-auto p-8",children:["failed"===a.status&&(0,d.jsxs)("div",{className:"mb-8 p-4 rounded-lg bg-[var(--status-failed-bg)] border border-[var(--status-failed)] text-[var(--status-failed)]",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})}),(0,d.jsx)("span",{className:"font-bold text-sm uppercase tracking-wider",children:"Task Execution Failed"})]}),(0,d.jsx)("button",{onClick:at,className:"btn-ghost px-3 py-1 text-xs font-bold bg-white/20 rounded hover:bg-white/30 transition-colors uppercase",children:"Retry Task"})]}),(0,d.jsx)("p",{className:"text-sm font-medium",children:aD}),(0,d.jsxs)("div",{className:"mt-3 text-xs rounded-md border border-[var(--status-failed)]/40 bg-white/50 p-3",children:[(0,d.jsx)("h4",{className:"font-semibold uppercase tracking-wider mb-2",children:"Failure Metadata"}),(0,d.jsxs)("div",{className:"grid grid-cols-[140px_1fr] gap-x-3 gap-y-1.5",children:[(0,d.jsx)("span",{className:"opacity-70",children:"Stage"}),(0,d.jsx)("span",{className:"font-medium",children:a.stage||ay?.stage||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Exit Code"}),(0,d.jsx)("span",{className:"font-mono",children:a.exit_code??"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"PID"}),(0,d.jsx)("span",{className:"font-mono",children:a.pid??"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Completed At"}),(0,d.jsx)("span",{className:"font-medium",children:H(a.completed_at)}),ay?.decision&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"opacity-70",children:"Decision"}),(0,d.jsx)("span",{className:"font-medium",children:ay.decision.decision}),(0,d.jsx)("span",{className:"opacity-70",children:"Rationale"}),(0,d.jsx)("span",{className:"font-medium break-words",children:ay.decision.rationale||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Final Result"}),(0,d.jsx)("span",{className:"font-medium break-words",children:ay.decision.final_result||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Decided At"}),(0,d.jsx)("span",{className:"font-medium",children:H(ay.decision.decided_at)})]})]})]}),(R||N||P)&&(0,d.jsxs)("details",{className:"mt-3",open:!0,children:[(0,d.jsx)("summary",{className:"cursor-pointer select-none text-xs font-semibold uppercase tracking-wider opacity-90",children:"Error Details"}),(0,d.jsxs)("div",{className:"mt-2 rounded-md border border-[var(--status-failed)]/40 bg-[#0b0f14] text-slate-200",children:[(0,d.jsxs)("div",{className:"px-3 py-2 border-b border-white/10 text-[10px] uppercase tracking-widest text-white/60 flex items-center justify-between",children:[(0,d.jsx)("span",{children:"Log Excerpt"}),(0,d.jsx)("span",{className:"font-mono",children:R?"Loading...":P?"Unavailable":"Ready"})]}),(0,d.jsx)("pre",{className:"px-3 py-3 text-xs font-mono whitespace-pre-wrap max-h-64 overflow-y-auto",children:P?`Failed to load error details: ${P}`:N||"No error logs found."})]})]})]}),"blocked"===a.status&&(0,d.jsxs)("div",{className:"mb-8 p-4 rounded-lg bg-[var(--status-blocked-bg)] border border-[var(--status-blocked)] text-[var(--status-blocked)]",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z"})}),(0,d.jsx)("span",{className:"font-bold text-sm uppercase tracking-wider",children:"Task Blocked"})]}),(0,d.jsx)("button",{onClick:au,className:"btn-ghost px-3 py-1 text-xs font-bold bg-white/20 rounded hover:bg-white/30 transition-colors uppercase",children:"Unblock Task"})]}),(0,d.jsx)("p",{className:"text-sm opacity-90 pl-7 mb-4",children:aC||"Task is blocked and requires manual intervention."}),(0,d.jsxs)("div",{className:"ml-7 text-xs rounded-md border border-[var(--status-blocked)]/40 bg-white/50 p-3",children:[(0,d.jsx)("h4",{className:"font-semibold uppercase tracking-wider mb-2",children:"Blocked Metadata"}),(0,d.jsxs)("div",{className:"grid grid-cols-[140px_1fr] gap-x-3 gap-y-1.5",children:[(0,d.jsx)("span",{className:"opacity-70",children:"Decision Stage"}),(0,d.jsx)("span",{className:"font-medium",children:aA||a.stage||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Decision"}),(0,d.jsx)("span",{className:"font-medium",children:aB?.decision||"blocked"}),(0,d.jsx)("span",{className:"opacity-70",children:"Final Result"}),(0,d.jsx)("span",{className:"font-medium break-words",children:aB?.final_result||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Rationale"}),(0,d.jsx)("span",{className:"font-medium break-words",children:aB?.rationale||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Decided At"}),(0,d.jsx)("span",{className:"font-medium",children:H(aB?.decided_at)}),(0,d.jsx)("span",{className:"opacity-70",children:"Workflow ID"}),(0,d.jsx)("span",{className:"font-mono break-all",children:a.workflow_id||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Workflow Run ID"}),(0,d.jsx)("span",{className:"font-mono break-all",children:a.workflow_run_id||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Orchestration Status"}),(0,d.jsx)("span",{className:"font-medium",children:a.orchestration_status||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Last Orchestration Update"}),(0,d.jsx)("span",{className:"font-medium",children:H(a.last_orchestration_update)}),(0,d.jsx)("span",{className:"opacity-70",children:"Started At"}),(0,d.jsx)("span",{className:"font-medium",children:H(a.started_at)}),(0,d.jsx)("span",{className:"opacity-70",children:"Completed At"}),(0,d.jsx)("span",{className:"font-medium",children:H(a.completed_at)})]})]})]}),(0,d.jsx)("div",{className:"mb-12 min-h-[150px]",children:(0,d.jsx)(z,{content:am,onChange:a=>{an(a),ap(a)},placeholder:"Add more detail to this task..."})}),(0,d.jsx)(m,{taskId:a.id,status:a.status}),a.history&&a.history.length>0&&(0,d.jsxs)("div",{className:"mt-12 border-t border-[var(--card-border)] pt-8",children:[(0,d.jsx)("h3",{className:"text-xs font-semibold uppercase tracking-wider text-[var(--muted-foreground)] mb-4",children:"Execution History"}),(0,d.jsx)("div",{className:"overflow-x-auto",children:(0,d.jsxs)("table",{className:"w-full text-sm text-left",children:[(0,d.jsx)("thead",{className:"text-xs text-[var(--muted-foreground)] border-b border-[var(--card-border)]",children:(0,d.jsxs)("tr",{children:[(0,d.jsx)("th",{className:"py-2 pr-4 font-medium",children:"Started"}),(0,d.jsx)("th",{className:"py-2 pr-4 font-medium",children:"Duration"}),(0,d.jsx)("th",{className:"py-2 pr-4 font-medium",children:"PID"}),(0,d.jsx)("th",{className:"py-2 pr-4 font-medium",children:"Exit Code"})]})}),(0,d.jsx)("tbody",{className:"divide-y divide-[var(--card-border)]",children:a.history.map(a=>(0,d.jsxs)("tr",{className:"hover:bg-[var(--muted)]/20 transition-colors",children:[(0,d.jsx)("td",{className:"py-2 pr-4 font-mono text-xs opacity-80",children:a.started_at?new Date(a.started_at).toLocaleString():"N/A"}),(0,d.jsx)("td",{className:"py-2 pr-4 font-mono text-xs opacity-80",children:a.started_at&&a.completed_at?function(a,b){let c=b.getTime()-a.getTime();if(c<1e3)return`${c}ms`;let d=Math.floor(c/1e3);if(d<60)return`${d}s`;let e=Math.floor(d/60);return`${e}m ${d%60}s`}(new Date(a.started_at),new Date(a.completed_at)):"-"}),(0,d.jsx)("td",{className:"py-2 pr-4 font-mono text-xs opacity-80",children:a.pid??"-"}),(0,d.jsx)("td",{className:"py-2 pr-4",children:(0,d.jsx)("span",{className:`inline-flex items-center px-1.5 py-0.5 rounded text-[10px] font-medium border ${0===a.exit_code?"bg-[var(--status-completed-bg)] text-[var(--status-completed)] border-[var(--status-completed)]/20":"bg-[var(--status-failed-bg)] text-[var(--status-failed)] border-[var(--status-failed)]/20"}`,children:a.exit_code??"-"})})]},a.id))})]})})]}),(0,d.jsxs)("div",{className:"border-t border-[var(--card-border)] pt-8",children:[(0,d.jsxs)("h3",{className:"text-xs font-semibold uppercase tracking-wider text-[var(--muted-foreground)] mb-6 flex items-center justify-between",children:[(0,d.jsx)("span",{children:"Comments"}),(0,d.jsx)("span",{className:"text-[10px] bg-[var(--muted)] px-2 py-0.5 rounded-full",children:b.length})]}),(0,d.jsx)(g,{comments:b,onAddComment:n,onDeleteComment:r})]})]})}),(0,d.jsxs)("div",{className:"w-80 border-l border-[var(--card-border)] bg-[var(--muted)]/20 overflow-y-auto scrollbar-thin p-6 flex flex-col gap-8 flex-shrink-0",children:[(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"Stage"}),(0,d.jsx)("select",{value:a.stage,onChange:a=>ar(a.target.value),className:"text-sm font-medium bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1 focus:border-[var(--primary)] outline-none transition-colors cursor-pointer",children:y.map(a=>(0,d.jsx)("option",{value:a.id,children:a.label},a.id))})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"Status"}),(0,d.jsx)("select",{value:a.status||"queued",onChange:a=>av(a.target.value),className:"text-sm font-medium bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1 focus:border-[var(--primary)] outline-none transition-colors cursor-pointer",children:G.map(a=>(0,d.jsx)("option",{value:a,children:F[a].label},a))})]}),(0,d.jsx)(J,{label:"ID",value:a.id}),a.slug&&(0,d.jsx)(J,{label:"Slug",value:a.slug,truncate:!0}),(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"Project"}),(0,d.jsxs)("select",{value:a.project_id||x.find(b=>b.slug===a.project)?.id||"",onChange:a=>as(a.target.value),className:"text-sm font-medium bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1 focus:border-[var(--primary)] outline-none transition-colors cursor-pointer max-w-[150px] truncate",children:[(0,d.jsx)("option",{value:"",children:"None"}),x.map(a=>(0,d.jsx)("option",{value:a.id,children:a.name},a.id))]})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"Provider"}),(0,d.jsx)("span",{className:"text-sm font-medium",children:aj?"Swarm":ah||"Default"})]}),void 0!==a.pid&&null!==a.pid&&(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"PID"}),(0,d.jsx)("span",{className:"text-sm font-mono font-medium",title:"Process ID",children:a.pid})]}),void 0!==a.exit_code&&null!==a.exit_code&&(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"Exit Code"}),(0,d.jsx)("span",{className:`text-sm font-mono font-medium ${0===a.exit_code?"text-[var(--status-completed)]":"text-[var(--status-failed)]"}`,children:a.exit_code})]})]}),(0,d.jsx)("div",{className:"w-full h-px bg-[var(--card-border)]"}),(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsx)("div",{className:"flex items-center justify-between",children:(0,d.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Execution"})}),(0,d.jsxs)("div",{className:"flex items-center justify-between bg-[var(--card-bg)] p-2 rounded border border-[var(--card-border)]",children:[(0,d.jsx)("span",{className:"text-sm font-medium",children:"Swarm Mode"}),(0,d.jsx)("button",{onClick:()=>(a=>{Y(a);let b={swarm:a};a?b.swarm_models=Z:(b.provider=T,b.model=V),t(b)})(!X),className:`w-10 h-5 rounded-full transition-colors relative ${X?"bg-[var(--primary)]":"bg-[var(--muted-foreground)]/30"}`,children:(0,d.jsx)("span",{className:`absolute top-0.5 left-0.5 w-4 h-4 bg-white rounded-full transition-transform ${X?"translate-x-5":"translate-x-0"}`})})]}),X?(0,d.jsxs)("div",{className:"space-y-3 animate-fade-in",children:[(0,d.jsx)("label",{className:"block text-xs text-[var(--muted-foreground)]",children:"Swarm Models"}),(0,d.jsxs)("div",{className:"grid gap-2",children:[(0,d.jsxs)("div",{className:"grid grid-cols-[1fr_1.2fr_auto] gap-2",children:[(0,d.jsx)("select",{value:_,onChange:a=>aa(a.target.value),className:"text-sm bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1.5 focus:border-[var(--primary)] outline-none transition-colors appearance-none",children:v.map(a=>(0,d.jsx)("option",{value:a.id,children:a.label},a.id))}),(0,d.jsx)("input",{value:ab,onChange:a=>ac(a.target.value),placeholder:"model name",className:"text-sm bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1.5 focus:border-[var(--primary)] outline-none transition-colors"}),(0,d.jsx)("button",{type:"button",onClick:()=>{let a=ab.trim();if(!a)return;let b={provider:_,model:a};if(Z.some(a=>a.provider.toLowerCase()===b.provider.toLowerCase()&&a.model.toLowerCase()===b.model.toLowerCase()))return;let c=[...Z,b];$(c),ac(""),X&&aq({swarm_models:c})},className:"px-3 py-1.5 text-xs font-semibold rounded-md bg-[var(--card-bg)] border border-[var(--card-border)] hover:border-[var(--muted-foreground)]",children:"Add"})]}),Z.length>0&&(0,d.jsx)("div",{className:"space-y-1",children:Z.map((a,b)=>(0,d.jsxs)("div",{className:"flex items-center justify-between px-2 py-1.5 rounded text-sm border bg-[var(--card-bg)] border-[var(--card-border)]",children:[(0,d.jsxs)("span",{className:"truncate",children:[(0,d.jsx)("span",{className:"text-[var(--muted-foreground)]",children:a.provider}),(0,d.jsx)("span",{className:"mx-1",children:"\xb7"}),(0,d.jsx)("span",{children:a.model})]}),(0,d.jsx)("button",{type:"button",onClick:()=>(a=>{let b=Z.filter((b,c)=>c!==a);$(b),X&&aq({swarm_models:b})})(b),className:"text-xs text-[var(--destructive)] hover:underline",children:"Remove"})]},`${a.provider}-${a.model}-${b}`))})]})]}):(0,d.jsxs)("div",{className:"space-y-3 animate-fade-in",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"block text-xs text-[var(--muted-foreground)] mb-1.5",children:"Provider"}),(0,d.jsxs)("select",{value:T,onChange:a=>{var b;U(b=a.target.value),t({provider:b})},className:"w-full text-sm bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1.5 focus:border-[var(--primary)] outline-none transition-colors appearance-none",children:[(0,d.jsxs)("option",{value:"",children:["Default (",ah,")"]}),v.map(a=>(0,d.jsx)("option",{value:a.id,children:a.label},a.id))]})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"block text-xs text-[var(--muted-foreground)] mb-1.5",children:"Model"}),(0,d.jsx)("input",{value:V,onChange:a=>{var b;W(b=a.target.value),aq({model:b})},placeholder:`Default (${ai||"unspecified"})`,className:"w-full text-sm bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1.5 focus:border-[var(--primary)] outline-none transition-colors"})]})]}),af&&(0,d.jsx)("p",{className:"text-xs text-[var(--destructive)]",children:af})]}),(0,d.jsx)("div",{className:"w-full h-px bg-[var(--card-border)]"}),(0,d.jsx)(D,{projectContext:ak,fallbackProjectSlug:al}),(0,d.jsx)("div",{className:"w-full h-px bg-[var(--card-border)]"}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("button",{onClick:()=>C(!B),className:`w-full flex items-center justify-between p-3 rounded-lg border transition-all duration-200 ${B?"bg-[var(--primary-muted)] border-[var(--primary)] text-[var(--primary)]":"bg-[var(--card-bg)] border-[var(--card-border)] hover:border-[var(--muted-foreground)]"}`,children:[(0,d.jsx)("span",{className:"text-sm font-medium",children:"Learnings"}),(0,d.jsx)("span",{className:"text-xs bg-[var(--background)] px-2 py-0.5 rounded-full border border-[var(--card-border)]",children:c.length})]}),B&&(0,d.jsx)("div",{className:"mt-4 animate-fade-in-up",children:(0,d.jsx)(o,{learnings:c,taskId:a.id,projectContext:ak,onAddLearning:s,compact:!0})})]}),(0,d.jsx)("div",{className:"mt-auto text-xs text-[var(--muted-foreground)]",children:(0,d.jsxs)("p",{children:["Created ",new Date(a.created_at||Date.now()).toLocaleDateString()]})})]})]})]})})}function J({label:a,value:b,truncate:c,mono:f=!0}){let[g,h]=(0,e.useState)(!1);return(0,d.jsxs)("div",{className:"flex items-center justify-between group h-7",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:a}),(0,d.jsxs)("button",{onClick:()=>{navigator.clipboard.writeText(b),h(!0),setTimeout(()=>h(!1),2e3)},className:`text-sm ${f?"font-mono":""} flex items-center gap-1.5 hover:bg-[var(--primary-muted)] hover:text-[var(--primary)] px-1.5 py-0.5 -mr-1.5 rounded transition-all`,title:"Click to copy",children:[(0,d.jsx)("span",{className:`${c?"max-w-[140px] truncate":""} ${g?"opacity-50":""}`,children:c&&b.length>20?b.slice(0,8)+"..."+b.slice(-8):b}),g?(0,d.jsx)("span",{className:"text-[10px] uppercase font-bold tracking-wider text-[var(--primary)] animate-scale-in",children:"Copied"}):(0,d.jsx)("svg",{className:"w-3.5 h-3.5 opacity-0 group-hover:opacity-60 transition-opacity",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})})]})]})}},7889:(a,b,c)=>{c.d(b,{u:()=>f});var d=c(38301);let e=[{id:"gemini",label:"Gemini"},{id:"claude",label:"Claude"},{id:"ollama",label:"Ollama"},{id:"codex",label:"Codex"}];function f(){let[a,b]=(0,d.useState)(e),[c,f]=(0,d.useState)(!0),g=(0,d.useMemo)(()=>a.map(a=>a.id),[a]);return{providers:a,providerIds:g,loading:c}}},88885:(a,b,c)=>{c.d(b,{Tw:()=>g,ls:()=>h,mP:()=>m,ou:()=>l});var d=c(38301);let e={ideation:"\uD83D\uDCA1",planning:"\uD83D\uDCCB",execution:"\uD83D\uDCBB",verification:"\uD83E\uDDEA",done:"✅",coding:"\uD83D\uDCBB",qa:"\uD83E\uDDEA",acceptance:"✓",pr:"\uD83D\uDD00",pr_review:"\uD83D\uDC40",merge:"\uD83D\uDE80"},f={ideation:"var(--warning)",planning:"var(--info)",execution:"var(--primary)",verification:"var(--accent)",done:"var(--success)",coding:"var(--primary)",qa:"var(--accent)",acceptance:"#8b5cf6",pr:"#f97316",pr_review:"#ef4444",merge:"#22c55e"},g=["ideation","planning","execution","verification","done"],h={ideation:{icon:"\uD83D\uDCA1",label:"Ideation",color:"var(--warning)"},planning:{icon:"\uD83D\uDCCB",label:"Planning",color:"var(--info)"},execution:{icon:"\uD83D\uDCBB",label:"Execution",color:"var(--primary)"},verification:{icon:"\uD83E\uDDEA",label:"Verification",color:"var(--accent)"},done:{icon:"✅",label:"Done",color:"var(--success)"}},i="00000000-0000-0000-0000-000000000001",j=[{id:"00000000-0000-0000-0001-000000000001",workflow_id:i,name:"ideation",label:"Ideation",prompt:"Research and scope this. Define approach, estimate effort, list unknowns.",provider:null,model:null,position:0,node_type:"step",created_at:new Date(0).toISOString(),updated_at:new Date(0).toISOString()},{id:"00000000-0000-0000-0001-000000000002",workflow_id:i,name:"planning",label:"Planning",prompt:"Create detailed plan with tasks, milestones, and dependencies.",provider:null,model:null,position:1,node_type:"step",created_at:new Date(0).toISOString(),updated_at:new Date(0).toISOString()},{id:"00000000-0000-0000-0001-000000000003",workflow_id:i,name:"execution",label:"Execution",prompt:"Implement based on the plan. Write clean, tested code.",provider:null,model:null,position:2,node_type:"step",created_at:new Date(0).toISOString(),updated_at:new Date(0).toISOString()},{id:"00000000-0000-0000-0001-000000000004",workflow_id:i,name:"verification",label:"Verification",prompt:"Test thoroughly. Find edge cases. Fix bugs. Verify it works.",provider:null,model:null,position:3,node_type:"gate",created_at:new Date(0).toISOString(),updated_at:new Date(0).toISOString()},{id:"00000000-0000-0000-0001-000000000009",workflow_id:i,name:"done",label:"Done",prompt:"Task completed and shipped.",provider:null,model:null,position:4,node_type:"terminal",created_at:new Date(0).toISOString(),updated_at:new Date(0).toISOString()}],k=[{id:"fallback-ideation-planning",workflow_id:i,from_node:"ideation",to_node:"planning",condition:"done",priority:0,created_at:new Date(0).toISOString()},{id:"fallback-planning-execution",workflow_id:i,from_node:"planning",to_node:"execution",condition:"done",priority:0,created_at:new Date(0).toISOString()},{id:"fallback-execution-verification",workflow_id:i,from_node:"execution",to_node:"verification",condition:"done",priority:0,created_at:new Date(0).toISOString()},{id:"fallback-verification-done",workflow_id:i,from_node:"verification",to_node:"done",condition:"done",priority:0,created_at:new Date(0).toISOString()},{id:"fallback-verification-execution",workflow_id:i,from_node:"verification",to_node:"execution",condition:"failed",priority:1,created_at:new Date(0).toISOString()}],l="00000000-0000-0000-0000-000000000001";function m(a={}){let b=a.workflowId||l,[c,n]=(0,d.useState)(null),[o,p]=(0,d.useState)(!0),[q,r]=(0,d.useState)(null),s=(0,d.useCallback)(async()=>{p(!0),r(null);try{let a=await fetch(`/api/workflows/${b}`);if(!a.ok)throw Error(`Failed to fetch workflow: ${a.statusText}`);let c=await a.json(),d=c.workflow??c,e=Array.isArray(d.nodes)?d.nodes:[];Array.isArray(d.transitions)&&d.transitions,e&&0!==e.length||b!==i?n(d):n({...d,nodes:j,transitions:k})}catch(a){console.error("Error fetching workflow:",a),r(a instanceof Error?a:Error(String(a)))}finally{p(!1)}},[b]),t=(0,d.useMemo)(()=>c?.nodes?.length?c.nodes.slice().sort((a,b)=>a.position-b.position).map(a=>a.name):[...g],[c]),u=(0,d.useMemo)(()=>{if(!c?.nodes?.length)return h;let a={};for(let b of c.nodes)a[b.name]={icon:e[b.name]||"\uD83D\uDCCC",label:b.label||b.name.charAt(0).toUpperCase()+b.name.slice(1),color:f[b.name]||"var(--primary)"};return a},[c]),v=(0,d.useMemo)(()=>c?.transitions||[],[c]),w=(0,d.useCallback)((a,b)=>{if(a===b)return!0;if(!c?.nodes?.length){let c=g.indexOf(a),d=g.indexOf(b);return d<c||d===c+1}let d=t.indexOf(a),e=t.indexOf(b);return!!(e<d||v.some(c=>c.from_node===a&&c.to_node===b))||e===d+1},[c,t,v]);return{workflow:c,stages:t,stageConfig:u,transitions:v,isLoading:o,error:q,refetch:s,isValidTransition:w}}}};
|
|
23
|
+
`}),(0,d.jsx)("span",{className:"absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 text-[10px] font-normal whitespace-nowrap bg-[var(--card-bg)] text-[var(--foreground)] border border-[var(--card-border)] rounded-md shadow-lg opacity-0 group-hover:opacity-100 pointer-events-none transition-opacity duration-200 lg:hidden z-50",children:g.label})]},g.id)})})}var r=c(95627),s=c.n(r),t=c(53603),u=c(43843),v=c(93130),w=c(72576),x=c(22833);let y=({editor:a})=>a?(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-1 p-2 border-b border-[var(--card-border)] mb-2 sticky top-0 bg-[var(--card-bg)] z-10 opacity-90 backdrop-blur-sm",children:[(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleBold().run(),disabled:!a.can().chain().focus().toggleBold().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("bold")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Bold",children:(0,d.jsx)("span",{className:"font-bold font-serif",children:"B"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleItalic().run(),disabled:!a.can().chain().focus().toggleItalic().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("italic")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Italic",children:(0,d.jsx)("span",{className:"italic font-serif",children:"I"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleStrike().run(),disabled:!a.can().chain().focus().toggleStrike().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("strike")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Strike",children:(0,d.jsx)("span",{className:"line-through font-serif",children:"S"})}),(0,d.jsx)("div",{className:"w-px h-4 bg-[var(--card-border)] mx-1"}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleCode().run(),disabled:!a.can().chain().focus().toggleCode().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("code")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Code",children:(0,d.jsx)("span",{className:"font-mono text-xs",children:"<>"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleCodeBlock().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("codeBlock")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Code Block",children:(0,d.jsx)("span",{className:"font-mono text-xs",children:"CB"})}),(0,d.jsx)("div",{className:"w-px h-4 bg-[var(--card-border)] mx-1"}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleHeading({level:1}).run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("heading",{level:1})?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"H1",children:(0,d.jsx)("span",{className:"font-bold text-xs",children:"H1"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleHeading({level:2}).run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("heading",{level:2})?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"H2",children:(0,d.jsx)("span",{className:"font-bold text-xs",children:"H2"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleHeading({level:3}).run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("heading",{level:3})?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"H3",children:(0,d.jsx)("span",{className:"font-bold text-xs",children:"H3"})}),(0,d.jsx)("div",{className:"w-px h-4 bg-[var(--card-border)] mx-1"}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleBulletList().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("bulletList")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Bullet List",children:(0,d.jsx)("span",{className:"text-xs",children:"• List"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleOrderedList().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("orderedList")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Ordered List",children:(0,d.jsx)("span",{className:"text-xs",children:"1. List"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleBlockquote().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("blockquote")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Quote",children:(0,d.jsx)("span",{className:"text-xs serif italic",children:'""'})})]}):null;function z({content:a,editable:b=!0,onChange:c,onBlur:e,placeholder:f="Add a description..."}){let g=(0,t.hG)({extensions:[u.A,w.Ay.configure({openOnClick:!1}),v.A.configure({placeholder:f,emptyEditorClass:"is-editor-empty before:content-[attr(data-placeholder)] before:text-[var(--muted-foreground)] before:float-left before:pointer-events-none before:h-0"}),x.o.configure({html:!1,transformPastedText:!0,transformCopiedText:!0})],immediatelyRender:!1,content:a,editable:b,editorProps:{attributes:{class:"prose prose-sm max-w-none focus:outline-none min-h-[100px] text-[var(--foreground)]"}},onUpdate:({editor:a})=>{c?.(a.storage.markdown.getMarkdown())},onBlur:()=>{e?.()}});return(0,d.jsxs)("div",{className:"jsx-cdf669dd826a0677 relative group",children:[b&&(0,d.jsx)(y,{editor:g}),(0,d.jsx)(t.$Z,{editor:g,className:"rich-text-editor"}),(0,d.jsx)(s(),{id:"cdf669dd826a0677",children:".rich-text-editor .ProseMirror{min-height:100px;outline:none}.rich-text-editor .ProseMirror p{margin-bottom:.75em;line-height:1.6}.rich-text-editor .ProseMirror h1{font-size:1.5em;font-weight:700;margin-top:1em;margin-bottom:.5em}.rich-text-editor .ProseMirror h2{font-size:1.25em;font-weight:600;margin-top:1em;margin-bottom:.5em}.rich-text-editor .ProseMirror h3{font-size:1.1em;font-weight:600;margin-top:1em;margin-bottom:.5em}.rich-text-editor .ProseMirror ul{list-style-type:disc;padding-left:1.5em;margin-bottom:.75em}.rich-text-editor .ProseMirror ol{list-style-type:decimal;padding-left:1.5em;margin-bottom:.75em}.rich-text-editor .ProseMirror blockquote{border-left:3px solid var(--card-border);padding-left:1em;font-style:italic;color:var(--muted-foreground)}.rich-text-editor .ProseMirror pre{background:var(--muted);padding:.75em;border-radius:var(--radius-sm);font-family:monospace;overflow-x:auto;margin-bottom:.75em}.rich-text-editor .ProseMirror code{background:var(--muted);padding:.2em .4em;border-radius:var(--radius-sm);font-family:monospace;font-size:.85em}.rich-text-editor .ProseMirror a{color:var(--primary);text-decoration:underline}"})]})}var A=c(82997),B=c(3991),C=c.n(B);function D({projectContext:a,fallbackProjectSlug:b}){var c;let e=a?.project||null,f=a?.repos??[],g=a?.learnings??[],h=(c=e?.metadata)&&"object"==typeof c?Object.entries(c).filter(([a])=>!!a):[];if(!e)return(0,d.jsxs)("div",{className:"p-4 rounded-2xl border border-dashed border-[var(--card-border)] bg-[var(--card-bg)]/60 space-y-3",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-xs font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Project Context"}),(0,d.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:b?`Task is tagged with "${b}" but no structured project context is available yet.`:"This task is not connected to a project. Link it to unlock repo maps, CI/CD notes, and project learnings."})]}),(0,d.jsx)(C(),{href:"/projects",className:"inline-flex items-center justify-center text-xs font-semibold px-3 py-1.5 rounded-full border border-[var(--card-border)] hover:border-[var(--primary)] hover:text-[var(--primary)] transition-colors",children:"Manage Projects"})]});let i=g.slice(0,3),j=g.length-i.length;return(0,d.jsxs)("div",{className:"p-4 rounded-2xl border border-[var(--card-border)] bg-[var(--card-bg)] space-y-4",children:[(0,d.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-xs font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Project Context"}),(0,d.jsx)("h3",{className:"text-base font-semibold leading-tight mt-1",children:e.name}),(0,d.jsx)("p",{className:"text-[11px] uppercase tracking-wide text-[var(--muted-foreground)]",children:e.slug})]}),(0,d.jsx)(C(),{href:"/projects",className:"text-[11px] font-semibold px-2 py-1 rounded-full border border-[var(--card-border)] hover:border-[var(--primary)] hover:text-[var(--primary)] transition-colors",children:"View"})]}),e.description&&(0,d.jsx)("p",{className:"text-sm text-[var(--foreground)] whitespace-pre-line",children:e.description}),e.ci_cd_info&&(0,d.jsxs)("div",{className:"text-xs space-y-1",children:[(0,d.jsx)("p",{className:"font-semibold text-[var(--muted-foreground)] uppercase tracking-wide",children:"CI / CD"}),(0,d.jsx)("p",{className:"text-[var(--foreground)] text-sm",children:e.ci_cd_info})]}),h.length>0&&(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)] mb-2",children:"Metadata"}),(0,d.jsx)("dl",{className:"space-y-1.5",children:h.map(([a,b])=>(0,d.jsxs)("div",{className:"flex items-start justify-between gap-2 text-xs",children:[(0,d.jsx)("dt",{className:"font-semibold text-[var(--foreground)]",children:a}),(0,d.jsx)("dd",{className:"text-[var(--muted-foreground)] text-right max-w-[160px]",children:"string"==typeof b?b:JSON.stringify(b)})]},a))})]}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,d.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Repository Map"}),(0,d.jsx)("span",{className:"text-[11px] text-[var(--muted-foreground)]",children:f.length?`${f.length} connected`:"None"})]}),0===f.length?(0,d.jsx)("p",{className:"text-xs text-[var(--muted-foreground)]",children:"Add repositories to help agents navigate local and remote paths."}):(0,d.jsx)("ul",{className:"space-y-2",children:f.map(a=>(0,d.jsxs)("li",{className:"p-2 rounded-xl border border-[var(--card-border)] bg-[var(--background)] space-y-1 text-xs",children:[(0,d.jsx)("p",{className:"font-semibold text-[var(--foreground)]",children:a.name}),a.path&&(0,d.jsxs)("p",{className:"text-[var(--muted-foreground)]",children:["Path: ",a.path]}),a.git_url&&(0,d.jsxs)("p",{className:"text-[var(--muted-foreground)] break-all",children:["Repo: ",(0,d.jsx)("span",{className:"text-[var(--primary)]",children:a.git_url})]}),a.notes&&(0,d.jsxs)("p",{className:"text-[var(--muted-foreground)]",children:["Notes: ",a.notes]})]},a.id||a.name))})]}),g.length>0&&(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)] mb-2",children:"Project Learnings"}),(0,d.jsx)("ul",{className:"space-y-1 text-xs text-[var(--foreground)]",children:i.map((a,b)=>(0,d.jsxs)("li",{className:"leading-relaxed",children:["• ",a]},`${a}-${b}`))}),j>0&&(0,d.jsxs)("p",{className:"text-[11px] text-[var(--muted-foreground)] mt-1",children:["+",j," more learnings in the panel below"]})]})]})}var E=c(7889);let F={queued:{label:"Queued",color:"var(--status-queued)",bgColor:"var(--status-queued-bg)"},in_progress:{label:"In Progress",color:"var(--status-in-progress)",bgColor:"var(--status-in-progress-bg)"},blocked:{label:"Blocked",color:"var(--status-blocked)",bgColor:"var(--status-blocked-bg)"},completed:{label:"Completed",color:"var(--status-completed)",bgColor:"var(--status-completed-bg)"},failed:{label:"Failed",color:"var(--status-failed)",bgColor:"var(--status-failed-bg)"}},G=["queued","in_progress","blocked","completed","failed"];function H(a){if(!a)return"N/A";let b=new Date(a);return Number.isNaN(b.getTime())?a:b.toLocaleString()}function I({task:a,comments:b,learnings:c,projectContext:h,projects:i,stage_config:j,stages:k,isDraft:l=!1,isCreating:n=!1,onClose:r,onAddComment:s,onDeleteComment:t,onAddLearning:u,onUpdate:v,onDelete:w}){let{providers:x}=(0,E.u)(),{projects:y}=(0,A.Y)(),B=i||y,C=k||p,[I,K]=(0,e.useState)(!1),[L,M]=(0,e.useState)(!1),[N,O]=(0,e.useState)(!1),[P,Q]=(0,e.useState)(""),[R,S]=(0,e.useState)(null),[T,U]=(0,e.useState)(!1),[V,W]=(0,e.useState)(a.provider||""),[X,Y]=(0,e.useState)(a.model||""),[Z,$]=(0,e.useState)(a.swarm??!1),[_,aa]=(0,e.useState)([]),[ab,ac]=(0,e.useState)("gemini"),[ad,ae]=(0,e.useState)(""),[af,ag]=(0,e.useState)(!1),[ah,ai]=(0,e.useState)(null),aj=a.resolved_provider||j?.provider||"gemini",ak=a.resolved_model||j?.model||"",al=a.swarm??j?.swarm??!1;a.resolved_swarm_models||j?.swarm_models;let am=h??a.project_context??null,an=am?.project?.slug??a.project??null,[ao,ap]=(0,e.useState)(""),aq=async()=>{O(!0);try{await w?.()}finally{O(!1),M(!1)}},ar=(0,f.YQ)(async b=>{l||b===(a.description??(a=>{let b=a.match(/^---\n[\s\S]*?\n---\n([\s\S]*)$/);return b?b[1]:a})(a.content||""))||await v({description:b})},1e3),as=(0,f.YQ)(async a=>{ag(!0),ai(null);try{await v(a)}catch(a){ai(a instanceof Error?a.message:"Failed to update settings")}finally{ag(!1)}},1e3),at=async a=>{await v({stage:a,status:"done"===a?"completed":"ideation"===a?"queued":"in_progress"})},au=async a=>{if(!a)return void await v({project:null,project_id:null});let b=B.find(b=>b.id===a);b&&await v({project:b.slug,project_id:b.id})},av=async()=>{try{await ax("queued")}catch(a){console.error("Failed to retry task",a)}},aw=async()=>{try{await ax("queued")}catch(a){console.error("Failed to unblock task",a)}},ax=async b=>{let c={status:b};"queued"===b&&(c.started_at=null,c.completed_at=null,c.error=void 0),"completed"!==b&&"failed"!==b&&"blocked"!==b||a.completed_at||(c.completed_at=new Date().toISOString()),await v(c)};F[a.status||"queued"];let ay=a.stage_decisions||{},az=a.stage?ay[a.stage]:void 0,aA=function(a,b){if(!a||"object"!=typeof a)return null;let c=Object.entries(a).filter(([,a])=>!!(a&&b(a))).sort((a,b)=>{let c=Date.parse(a[1]?.decided_at||""),d=Date.parse(b[1]?.decided_at||"");return(Number.isNaN(d)?0:d)-(Number.isNaN(c)?0:c)});if(!c.length)return null;let[d,e]=c[0];return{stage:d,decision:e}}(ay,a=>"failed"===a.decision),aB=Object.entries(ay).filter(([,a])=>a?.decision==="blocked").sort((a,b)=>{let c=Date.parse(a[1]?.decided_at||""),d=Date.parse(b[1]?.decided_at||"");return(Number.isNaN(d)?0:d)-(Number.isNaN(c)?0:c)})[0],aC=az?.decision==="blocked"?a.stage:aB?.[0],aD=aC&&ay[aC]?ay[aC]:void 0,aE=aD?.rationale,aF="string"==typeof a.error&&a.error.trim()?a.error.trim():(aA?.decision?.rationale||aA?.decision?.final_result||"").trim()||"Task marked failed.";return(0,d.jsx)("div",{className:"modal-backdrop",onClick:a=>a.target===a.currentTarget&&r(),children:(0,d.jsxs)("div",{className:"bg-[var(--card-bg)] w-full max-w-[1200px] h-[90vh] rounded-xl shadow-2xl overflow-hidden flex flex-col animate-scale-in border border-[var(--card-border)] m-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between px-6 py-4 border-b border-[var(--card-border)] bg-[var(--card-bg)]",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)("span",{className:"text-[var(--muted-foreground)] font-mono text-sm",children:l?"New Task":a.slug||a.id.slice(0,6)}),!l&&(0,d.jsx)(q,{currentStage:a.stage,onStageChange:at,stageDecisions:a.stage_decisions,stages:C})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[l&&(0,d.jsx)("button",{onClick:()=>ao.trim()&&v({description:ao}),disabled:n||!ao.trim(),className:"btn-primary px-4 py-2 rounded-md text-sm font-medium disabled:opacity-50 disabled:cursor-not-allowed",children:n?"Creating...":"Create Task"}),!l&&af&&(0,d.jsxs)("span",{className:"text-[10px] text-[var(--muted-foreground)] animate-pulse flex items-center gap-1 mr-2",children:[(0,d.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--primary)]"}),"Saving..."]}),!l&&w&&(0,d.jsx)("button",{onClick:()=>M(!0),className:"btn-ghost p-2 rounded hover:bg-[var(--destructive-muted)] hover:text-[var(--destructive)]",title:"Delete Task",children:(0,d.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})})}),(0,d.jsx)("button",{onClick:r,className:"btn-ghost p-2 rounded",title:"Close (Esc)",children:(0,d.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]})]}),L&&(0,d.jsx)("div",{className:"absolute inset-0 bg-black/60 backdrop-blur-sm flex items-center justify-center z-50 rounded-xl animate-fade-in",children:(0,d.jsxs)("div",{className:"modal-content p-6 max-w-sm mx-4 animate-scale-in bg-[var(--card-bg)]",children:[(0,d.jsx)("h3",{className:"text-lg font-bold mb-2",children:"Delete Task?"}),(0,d.jsxs)("p",{className:"text-[var(--muted-foreground)] text-sm mb-6",children:["Are you sure you want to delete ",(0,d.jsx)("strong",{className:"text-[var(--foreground)]",children:a.slug||a.id.slice(0,6)}),"? This cannot be undone."]}),(0,d.jsxs)("div",{className:"flex justify-end gap-3",children:[(0,d.jsx)("button",{onClick:()=>M(!1),disabled:N,className:"btn-ghost",children:"Cancel"}),(0,d.jsx)("button",{onClick:aq,disabled:N,className:"btn-destructive px-4 py-2 rounded-md",children:N?"Deleting...":"Delete"})]})]})}),(0,d.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[(0,d.jsx)("div",{className:"flex-1 overflow-y-auto scrollbar-thin",children:(0,d.jsxs)("div",{className:"max-w-3xl mx-auto p-8",children:[!l&&"failed"===a.status&&(0,d.jsxs)("div",{className:"mb-8 p-4 rounded-lg bg-[var(--status-failed-bg)] border border-[var(--status-failed)] text-[var(--status-failed)]",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})}),(0,d.jsx)("span",{className:"font-bold text-sm uppercase tracking-wider",children:"Task Execution Failed"})]}),(0,d.jsx)("button",{onClick:av,className:"btn-ghost px-3 py-1 text-xs font-bold bg-white/20 rounded hover:bg-white/30 transition-colors uppercase",children:"Retry Task"})]}),(0,d.jsx)("p",{className:"text-sm font-medium",children:aF}),(0,d.jsxs)("div",{className:"mt-3 text-xs rounded-md border border-[var(--status-failed)]/40 bg-white/50 p-3",children:[(0,d.jsx)("h4",{className:"font-semibold uppercase tracking-wider mb-2",children:"Failure Metadata"}),(0,d.jsxs)("div",{className:"grid grid-cols-[140px_1fr] gap-x-3 gap-y-1.5",children:[(0,d.jsx)("span",{className:"opacity-70",children:"Stage"}),(0,d.jsx)("span",{className:"font-medium",children:a.stage||aA?.stage||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Exit Code"}),(0,d.jsx)("span",{className:"font-mono",children:a.exit_code??"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"PID"}),(0,d.jsx)("span",{className:"font-mono",children:a.pid??"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Completed At"}),(0,d.jsx)("span",{className:"font-medium",children:H(a.completed_at)}),aA?.decision&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"opacity-70",children:"Decision"}),(0,d.jsx)("span",{className:"font-medium",children:aA.decision.decision}),(0,d.jsx)("span",{className:"opacity-70",children:"Rationale"}),(0,d.jsx)("span",{className:"font-medium break-words",children:aA.decision.rationale||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Final Result"}),(0,d.jsx)("span",{className:"font-medium break-words",children:aA.decision.final_result||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Decided At"}),(0,d.jsx)("span",{className:"font-medium",children:H(aA.decision.decided_at)})]})]})]}),(T||P||R)&&(0,d.jsxs)("details",{className:"mt-3",open:!0,children:[(0,d.jsx)("summary",{className:"cursor-pointer select-none text-xs font-semibold uppercase tracking-wider opacity-90",children:"Error Details"}),(0,d.jsxs)("div",{className:"mt-2 rounded-md border border-[var(--status-failed)]/40 bg-[#0b0f14] text-slate-200",children:[(0,d.jsxs)("div",{className:"px-3 py-2 border-b border-white/10 text-[10px] uppercase tracking-widest text-white/60 flex items-center justify-between",children:[(0,d.jsx)("span",{children:"Log Excerpt"}),(0,d.jsx)("span",{className:"font-mono",children:T?"Loading...":R?"Unavailable":"Ready"})]}),(0,d.jsx)("pre",{className:"px-3 py-3 text-xs font-mono whitespace-pre-wrap max-h-64 overflow-y-auto",children:R?`Failed to load error details: ${R}`:P||"No error logs found."})]})]})]}),!l&&"blocked"===a.status&&(0,d.jsxs)("div",{className:"mb-8 p-4 rounded-lg bg-[var(--status-blocked-bg)] border border-[var(--status-blocked)] text-[var(--status-blocked)]",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z"})}),(0,d.jsx)("span",{className:"font-bold text-sm uppercase tracking-wider",children:"Task Blocked"})]}),(0,d.jsx)("button",{onClick:aw,className:"btn-ghost px-3 py-1 text-xs font-bold bg-white/20 rounded hover:bg-white/30 transition-colors uppercase",children:"Unblock Task"})]}),(0,d.jsx)("p",{className:"text-sm opacity-90 pl-7 mb-4",children:aE||"Task is blocked and requires manual intervention."}),(0,d.jsxs)("div",{className:"ml-7 text-xs rounded-md border border-[var(--status-blocked)]/40 bg-white/50 p-3",children:[(0,d.jsx)("h4",{className:"font-semibold uppercase tracking-wider mb-2",children:"Blocked Metadata"}),(0,d.jsxs)("div",{className:"grid grid-cols-[140px_1fr] gap-x-3 gap-y-1.5",children:[(0,d.jsx)("span",{className:"opacity-70",children:"Decision Stage"}),(0,d.jsx)("span",{className:"font-medium",children:aC||a.stage||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Decision"}),(0,d.jsx)("span",{className:"font-medium",children:aD?.decision||"blocked"}),(0,d.jsx)("span",{className:"opacity-70",children:"Final Result"}),(0,d.jsx)("span",{className:"font-medium break-words",children:aD?.final_result||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Rationale"}),(0,d.jsx)("span",{className:"font-medium break-words",children:aD?.rationale||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Decided At"}),(0,d.jsx)("span",{className:"font-medium",children:H(aD?.decided_at)}),(0,d.jsx)("span",{className:"opacity-70",children:"Workflow ID"}),(0,d.jsx)("span",{className:"font-mono break-all",children:a.workflow_id||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Workflow Run ID"}),(0,d.jsx)("span",{className:"font-mono break-all",children:a.workflow_run_id||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Orchestration Status"}),(0,d.jsx)("span",{className:"font-medium",children:a.orchestration_status||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Last Orchestration Update"}),(0,d.jsx)("span",{className:"font-medium",children:H(a.last_orchestration_update)}),(0,d.jsx)("span",{className:"opacity-70",children:"Started At"}),(0,d.jsx)("span",{className:"font-medium",children:H(a.started_at)}),(0,d.jsx)("span",{className:"opacity-70",children:"Completed At"}),(0,d.jsx)("span",{className:"font-medium",children:H(a.completed_at)})]})]})]}),(0,d.jsx)("div",{className:"mb-12 min-h-[150px]",children:(0,d.jsx)(z,{content:ao,onChange:a=>{ap(a),l||ar(a)},placeholder:l?"Describe the task...":"Add more detail to this task..."})}),!l&&(0,d.jsx)(m,{taskId:a.id,status:a.status}),!l&&a.history&&a.history.length>0&&(0,d.jsxs)("div",{className:"mt-12 border-t border-[var(--card-border)] pt-8",children:[(0,d.jsx)("h3",{className:"text-xs font-semibold uppercase tracking-wider text-[var(--muted-foreground)] mb-4",children:"Execution History"}),(0,d.jsx)("div",{className:"overflow-x-auto",children:(0,d.jsxs)("table",{className:"w-full text-sm text-left",children:[(0,d.jsx)("thead",{className:"text-xs text-[var(--muted-foreground)] border-b border-[var(--card-border)]",children:(0,d.jsxs)("tr",{children:[(0,d.jsx)("th",{className:"py-2 pr-4 font-medium",children:"Started"}),(0,d.jsx)("th",{className:"py-2 pr-4 font-medium",children:"Duration"}),(0,d.jsx)("th",{className:"py-2 pr-4 font-medium",children:"PID"}),(0,d.jsx)("th",{className:"py-2 pr-4 font-medium",children:"Exit Code"})]})}),(0,d.jsx)("tbody",{className:"divide-y divide-[var(--card-border)]",children:a.history.map(a=>(0,d.jsxs)("tr",{className:"hover:bg-[var(--muted)]/20 transition-colors",children:[(0,d.jsx)("td",{className:"py-2 pr-4 font-mono text-xs opacity-80",children:a.started_at?new Date(a.started_at).toLocaleString():"N/A"}),(0,d.jsx)("td",{className:"py-2 pr-4 font-mono text-xs opacity-80",children:a.started_at&&a.completed_at?function(a,b){let c=b.getTime()-a.getTime();if(c<1e3)return`${c}ms`;let d=Math.floor(c/1e3);if(d<60)return`${d}s`;let e=Math.floor(d/60);return`${e}m ${d%60}s`}(new Date(a.started_at),new Date(a.completed_at)):"-"}),(0,d.jsx)("td",{className:"py-2 pr-4 font-mono text-xs opacity-80",children:a.pid??"-"}),(0,d.jsx)("td",{className:"py-2 pr-4",children:(0,d.jsx)("span",{className:`inline-flex items-center px-1.5 py-0.5 rounded text-[10px] font-medium border ${0===a.exit_code?"bg-[var(--status-completed-bg)] text-[var(--status-completed)] border-[var(--status-completed)]/20":"bg-[var(--status-failed-bg)] text-[var(--status-failed)] border-[var(--status-failed)]/20"}`,children:a.exit_code??"-"})})]},a.id))})]})})]}),!l&&(0,d.jsxs)("div",{className:"border-t border-[var(--card-border)] pt-8",children:[(0,d.jsxs)("h3",{className:"text-xs font-semibold uppercase tracking-wider text-[var(--muted-foreground)] mb-6 flex items-center justify-between",children:[(0,d.jsx)("span",{children:"Comments"}),(0,d.jsx)("span",{className:"text-[10px] bg-[var(--muted)] px-2 py-0.5 rounded-full",children:b.length})]}),(0,d.jsx)(g,{comments:b,onAddComment:s,onDeleteComment:t})]})]})}),(0,d.jsxs)("div",{className:"w-80 border-l border-[var(--card-border)] bg-[var(--muted)]/20 overflow-y-auto scrollbar-thin p-6 flex flex-col gap-8 flex-shrink-0",children:[(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"Stage"}),(0,d.jsx)("select",{value:a.stage,onChange:a=>at(a.target.value),className:"text-sm font-medium bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1 focus:border-[var(--primary)] outline-none transition-colors cursor-pointer",disabled:l,children:C.map(a=>(0,d.jsx)("option",{value:a.id,children:a.label},a.id))})]}),!l&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"Status"}),(0,d.jsx)("select",{value:a.status||"queued",onChange:a=>ax(a.target.value),className:"text-sm font-medium bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1 focus:border-[var(--primary)] outline-none transition-colors cursor-pointer",children:G.map(a=>(0,d.jsx)("option",{value:a,children:F[a].label},a))})]}),(0,d.jsx)(J,{label:"ID",value:a.id}),a.slug&&(0,d.jsx)(J,{label:"Slug",value:a.slug,truncate:!0})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"Project"}),(0,d.jsxs)("select",{value:a.project_id||B.find(b=>b.slug===a.project)?.id||"",onChange:a=>au(a.target.value),className:"text-sm font-medium bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1 focus:border-[var(--primary)] outline-none transition-colors cursor-pointer max-w-[150px] truncate",disabled:l,children:[(0,d.jsx)("option",{value:"",children:"None"}),B.map(a=>(0,d.jsx)("option",{value:a.id,children:a.name},a.id))]})]}),!l&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"Provider"}),(0,d.jsx)("span",{className:"text-sm font-medium",children:al?"Swarm":aj||"Default"})]}),void 0!==a.pid&&null!==a.pid&&(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"PID"}),(0,d.jsx)("span",{className:"text-sm font-mono font-medium",title:"Process ID",children:a.pid})]}),void 0!==a.exit_code&&null!==a.exit_code&&(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"Exit Code"}),(0,d.jsx)("span",{className:`text-sm font-mono font-medium ${0===a.exit_code?"text-[var(--status-completed)]":"text-[var(--status-failed)]"}`,children:a.exit_code})]})]})]}),!l&&(0,d.jsx)("div",{className:"w-full h-px bg-[var(--card-border)]"}),!l&&(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsx)("div",{className:"flex items-center justify-between",children:(0,d.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Execution"})}),(0,d.jsxs)("div",{className:"flex items-center justify-between bg-[var(--card-bg)] p-2 rounded border border-[var(--card-border)]",children:[(0,d.jsx)("span",{className:"text-sm font-medium",children:"Swarm Mode"}),(0,d.jsx)("button",{onClick:()=>(a=>{$(a);let b={swarm:a};a?b.swarm_models=_:(b.provider=V,b.model=X),v(b)})(!Z),className:`w-10 h-5 rounded-full transition-colors relative ${Z?"bg-[var(--primary)]":"bg-[var(--muted-foreground)]/30"}`,children:(0,d.jsx)("span",{className:`absolute top-0.5 left-0.5 w-4 h-4 bg-white rounded-full transition-transform ${Z?"translate-x-5":"translate-x-0"}`})})]}),Z?(0,d.jsxs)("div",{className:"space-y-3 animate-fade-in",children:[(0,d.jsx)("label",{className:"block text-xs text-[var(--muted-foreground)]",children:"Swarm Models"}),(0,d.jsxs)("div",{className:"grid gap-2",children:[(0,d.jsxs)("div",{className:"grid grid-cols-[1fr_1.2fr_auto] gap-2",children:[(0,d.jsx)("select",{value:ab,onChange:a=>ac(a.target.value),className:"text-sm bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1.5 focus:border-[var(--primary)] outline-none transition-colors appearance-none",children:x.map(a=>(0,d.jsx)("option",{value:a.id,children:a.label},a.id))}),(0,d.jsx)("input",{value:ad,onChange:a=>ae(a.target.value),placeholder:"model name",className:"text-sm bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1.5 focus:border-[var(--primary)] outline-none transition-colors"}),(0,d.jsx)("button",{type:"button",onClick:()=>{let a=ad.trim();if(!a)return;let b={provider:ab,model:a};if(_.some(a=>a.provider.toLowerCase()===b.provider.toLowerCase()&&a.model.toLowerCase()===b.model.toLowerCase()))return;let c=[..._,b];aa(c),ae(""),Z&&as({swarm_models:c})},className:"px-3 py-1.5 text-xs font-semibold rounded-md bg-[var(--card-bg)] border border-[var(--card-border)] hover:border-[var(--muted-foreground)]",children:"Add"})]}),_.length>0&&(0,d.jsx)("div",{className:"space-y-1",children:_.map((a,b)=>(0,d.jsxs)("div",{className:"flex items-center justify-between px-2 py-1.5 rounded text-sm border bg-[var(--card-bg)] border-[var(--card-border)]",children:[(0,d.jsxs)("span",{className:"truncate",children:[(0,d.jsx)("span",{className:"text-[var(--muted-foreground)]",children:a.provider}),(0,d.jsx)("span",{className:"mx-1",children:"\xb7"}),(0,d.jsx)("span",{children:a.model})]}),(0,d.jsx)("button",{type:"button",onClick:()=>(a=>{let b=_.filter((b,c)=>c!==a);aa(b),Z&&as({swarm_models:b})})(b),className:"text-xs text-[var(--destructive)] hover:underline",children:"Remove"})]},`${a.provider}-${a.model}-${b}`))})]})]}):(0,d.jsxs)("div",{className:"space-y-3 animate-fade-in",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"block text-xs text-[var(--muted-foreground)] mb-1.5",children:"Provider"}),(0,d.jsxs)("select",{value:V,onChange:a=>{var b;W(b=a.target.value),v({provider:b})},className:"w-full text-sm bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1.5 focus:border-[var(--primary)] outline-none transition-colors appearance-none",children:[(0,d.jsxs)("option",{value:"",children:["Default (",aj,")"]}),x.map(a=>(0,d.jsx)("option",{value:a.id,children:a.label},a.id))]})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"block text-xs text-[var(--muted-foreground)] mb-1.5",children:"Model"}),(0,d.jsx)("input",{value:X,onChange:a=>{var b;Y(b=a.target.value),as({model:b})},placeholder:`Default (${ak||"unspecified"})`,className:"w-full text-sm bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1.5 focus:border-[var(--primary)] outline-none transition-colors"})]})]}),ah&&(0,d.jsx)("p",{className:"text-xs text-[var(--destructive)]",children:ah})]}),!l&&(0,d.jsx)("div",{className:"w-full h-px bg-[var(--card-border)]"}),!l&&(0,d.jsx)(D,{projectContext:am,fallbackProjectSlug:an}),!l&&(0,d.jsx)("div",{className:"w-full h-px bg-[var(--card-border)]"}),!l&&(0,d.jsxs)("div",{children:[(0,d.jsxs)("button",{onClick:()=>K(!I),className:`w-full flex items-center justify-between p-3 rounded-lg border transition-all duration-200 ${I?"bg-[var(--primary-muted)] border-[var(--primary)] text-[var(--primary)]":"bg-[var(--card-bg)] border-[var(--card-border)] hover:border-[var(--muted-foreground)]"}`,children:[(0,d.jsx)("span",{className:"text-sm font-medium",children:"Learnings"}),(0,d.jsx)("span",{className:"text-xs bg-[var(--background)] px-2 py-0.5 rounded-full border border-[var(--card-border)]",children:c.length})]}),I&&(0,d.jsx)("div",{className:"mt-4 animate-fade-in-up",children:(0,d.jsx)(o,{learnings:c,taskId:a.id,projectContext:am,onAddLearning:u,compact:!0})})]}),!l&&(0,d.jsx)("div",{className:"mt-auto text-xs text-[var(--muted-foreground)]",children:(0,d.jsxs)("p",{children:["Created ",new Date(a.created_at||Date.now()).toLocaleDateString()]})})]})]})]})})}function J({label:a,value:b,truncate:c,mono:f=!0}){let[g,h]=(0,e.useState)(!1);return(0,d.jsxs)("div",{className:"flex items-center justify-between group h-7",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:a}),(0,d.jsxs)("button",{onClick:()=>{navigator.clipboard.writeText(b),h(!0),setTimeout(()=>h(!1),2e3)},className:`text-sm ${f?"font-mono":""} flex items-center gap-1.5 hover:bg-[var(--primary-muted)] hover:text-[var(--primary)] px-1.5 py-0.5 -mr-1.5 rounded transition-all`,title:"Click to copy",children:[(0,d.jsx)("span",{className:`${c?"max-w-[140px] truncate":""} ${g?"opacity-50":""}`,children:c&&b.length>20?b.slice(0,8)+"..."+b.slice(-8):b}),g?(0,d.jsx)("span",{className:"text-[10px] uppercase font-bold tracking-wider text-[var(--primary)] animate-scale-in",children:"Copied"}):(0,d.jsx)("svg",{className:"w-3.5 h-3.5 opacity-0 group-hover:opacity-60 transition-opacity",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})})]})]})}},7889:(a,b,c)=>{c.d(b,{u:()=>f});var d=c(38301);let e=[{id:"gemini",label:"Gemini"},{id:"claude",label:"Claude"},{id:"ollama",label:"Ollama"},{id:"codex",label:"Codex"}];function f(){let[a,b]=(0,d.useState)(e),[c,f]=(0,d.useState)(!0),g=(0,d.useMemo)(()=>a.map(a=>a.id),[a]);return{providers:a,providerIds:g,loading:c}}},88885:(a,b,c)=>{c.d(b,{Tw:()=>g,ls:()=>h,mP:()=>m,ou:()=>l});var d=c(38301);let e={ideation:"\uD83D\uDCA1",planning:"\uD83D\uDCCB",execution:"\uD83D\uDCBB",verification:"\uD83E\uDDEA",done:"✅",coding:"\uD83D\uDCBB",qa:"\uD83E\uDDEA",acceptance:"✓",pr:"\uD83D\uDD00",pr_review:"\uD83D\uDC40",merge:"\uD83D\uDE80"},f={ideation:"var(--warning)",planning:"var(--info)",execution:"var(--primary)",verification:"var(--accent)",done:"var(--success)",coding:"var(--primary)",qa:"var(--accent)",acceptance:"#8b5cf6",pr:"#f97316",pr_review:"#ef4444",merge:"#22c55e"},g=["ideation","planning","execution","verification","done"],h={ideation:{icon:"\uD83D\uDCA1",label:"Ideation",color:"var(--warning)"},planning:{icon:"\uD83D\uDCCB",label:"Planning",color:"var(--info)"},execution:{icon:"\uD83D\uDCBB",label:"Execution",color:"var(--primary)"},verification:{icon:"\uD83E\uDDEA",label:"Verification",color:"var(--accent)"},done:{icon:"✅",label:"Done",color:"var(--success)"}},i="00000000-0000-0000-0000-000000000001",j=[{id:"00000000-0000-0000-0001-000000000001",workflow_id:i,name:"ideation",label:"Ideation",prompt:"Research and scope this. Define approach, estimate effort, list unknowns.",provider:null,model:null,position:0,node_type:"step",created_at:new Date(0).toISOString(),updated_at:new Date(0).toISOString()},{id:"00000000-0000-0000-0001-000000000002",workflow_id:i,name:"planning",label:"Planning",prompt:"Create detailed plan with tasks, milestones, and dependencies.",provider:null,model:null,position:1,node_type:"step",created_at:new Date(0).toISOString(),updated_at:new Date(0).toISOString()},{id:"00000000-0000-0000-0001-000000000003",workflow_id:i,name:"execution",label:"Execution",prompt:"Implement based on the plan. Write clean, tested code.",provider:null,model:null,position:2,node_type:"step",created_at:new Date(0).toISOString(),updated_at:new Date(0).toISOString()},{id:"00000000-0000-0000-0001-000000000004",workflow_id:i,name:"verification",label:"Verification",prompt:"Test thoroughly. Find edge cases. Fix bugs. Verify it works.",provider:null,model:null,position:3,node_type:"gate",created_at:new Date(0).toISOString(),updated_at:new Date(0).toISOString()},{id:"00000000-0000-0000-0001-000000000009",workflow_id:i,name:"done",label:"Done",prompt:"Task completed and shipped.",provider:null,model:null,position:4,node_type:"terminal",created_at:new Date(0).toISOString(),updated_at:new Date(0).toISOString()}],k=[{id:"fallback-ideation-planning",workflow_id:i,from_node:"ideation",to_node:"planning",condition:"done",priority:0,created_at:new Date(0).toISOString()},{id:"fallback-planning-execution",workflow_id:i,from_node:"planning",to_node:"execution",condition:"done",priority:0,created_at:new Date(0).toISOString()},{id:"fallback-execution-verification",workflow_id:i,from_node:"execution",to_node:"verification",condition:"done",priority:0,created_at:new Date(0).toISOString()},{id:"fallback-verification-done",workflow_id:i,from_node:"verification",to_node:"done",condition:"done",priority:0,created_at:new Date(0).toISOString()},{id:"fallback-verification-execution",workflow_id:i,from_node:"verification",to_node:"execution",condition:"failed",priority:1,created_at:new Date(0).toISOString()}],l="00000000-0000-0000-0000-000000000001";function m(a={}){let b=a.workflowId||l,[c,n]=(0,d.useState)(null),[o,p]=(0,d.useState)(!0),[q,r]=(0,d.useState)(null),s=(0,d.useCallback)(async()=>{p(!0),r(null);try{let a=await fetch(`/api/workflows/${b}`);if(!a.ok)throw Error(`Failed to fetch workflow: ${a.statusText}`);let c=await a.json(),d=c.workflow??c,e=Array.isArray(d.nodes)?d.nodes:[];Array.isArray(d.transitions)&&d.transitions,e&&0!==e.length||b!==i?n(d):n({...d,nodes:j,transitions:k})}catch(a){console.error("Error fetching workflow:",a),r(a instanceof Error?a:Error(String(a)))}finally{p(!1)}},[b]),t=(0,d.useMemo)(()=>c?.nodes?.length?c.nodes.slice().sort((a,b)=>a.position-b.position).map(a=>a.name):[...g],[c]),u=(0,d.useMemo)(()=>{if(!c?.nodes?.length)return h;let a={};for(let b of c.nodes)a[b.name]={icon:e[b.name]||"\uD83D\uDCCC",label:b.label||b.name.charAt(0).toUpperCase()+b.name.slice(1),color:f[b.name]||"var(--primary)"};return a},[c]),v=(0,d.useMemo)(()=>c?.transitions||[],[c]),w=(0,d.useCallback)((a,b)=>{if(a===b)return!0;if(!c?.nodes?.length){let c=g.indexOf(a),d=g.indexOf(b);return d<c||d===c+1}let d=t.indexOf(a),e=t.indexOf(b);return!!(e<d||v.some(c=>c.from_node===a&&c.to_node===b))||e===d+1},[c,t,v]);return{workflow:c,stages:t,stageConfig:u,transitions:v,isLoading:o,error:q,refetch:s,isValidTransition:w}}}};
|