@mndrk/agx 1.4.54 → 1.4.58
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 +3 -1
- 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 +73 -66
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/app-path-routes-manifest.json +6 -5
- 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 +15 -15
- 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 +9 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.rsc +17 -16
- 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.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_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/domains/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/learnings/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/learnings/route_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.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.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 +1 -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.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.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.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.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.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]/restart-stage/route.js +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/restart-stage/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/restart-stage/route_client-reference-manifest.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/route.js +2 -2
- 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.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.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.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.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.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 +12 -6
- 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 +21 -20
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard/page.js +3 -3
- 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 +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard.rsc +21 -20
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.rsc +25 -24
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/login/page.js +9 -3
- 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 +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/login.rsc +21 -20
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/page.js +9 -3
- 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 +1 -1
- 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 +3 -3
- 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 +9 -3
- 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 +3 -3
- 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 +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.rsc +21 -20
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings/page.js +9 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.rsc +21 -20
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app-paths-manifest.json +6 -5
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/3009.js +8 -8
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/6158.js +19 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/6317.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/7143.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/instrumentation.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/middleware-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/pages-manifest.json +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/chunks/5608-674cd57e975c9b36.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/9337-f4cb4820efca03a1.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/audit/route-13be4cfc17a5f679.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/[...nextauth]/route-13be4cfc17a5f679.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/daemon-secret/route-13be4cfc17a5f679.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/device/code/route-13be4cfc17a5f679.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/device/token/route-13be4cfc17a5f679.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/refresh/route-13be4cfc17a5f679.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/status/route-13be4cfc17a5f679.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/domains/[id]/route-13be4cfc17a5f679.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/domains/route-13be4cfc17a5f679.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/health/route-13be4cfc17a5f679.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/learnings/route-13be4cfc17a5f679.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/logs/stream/route-13be4cfc17a5f679.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/cancel/route-13be4cfc17a5f679.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/signal/route-13be4cfc17a5f679.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/start/route-13be4cfc17a5f679.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/status/route-13be4cfc17a5f679.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/projects/[id]/route-13be4cfc17a5f679.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/projects/route-13be4cfc17a5f679.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/providers/route-13be4cfc17a5f679.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/queue/complete/route-13be4cfc17a5f679.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/queue/route-13be4cfc17a5f679.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/stage-prompts/route-13be4cfc17a5f679.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/comments/[commentId]/route-13be4cfc17a5f679.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/comments/route-13be4cfc17a5f679.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/heartbeat/route-13be4cfc17a5f679.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/history/route-13be4cfc17a5f679.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/logs/route-13be4cfc17a5f679.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/restart-stage/route-13be4cfc17a5f679.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/route-13be4cfc17a5f679.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/route-13be4cfc17a5f679.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/stream/route-13be4cfc17a5f679.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/user-settings/route-13be4cfc17a5f679.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/[id]/nodes/route-13be4cfc17a5f679.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/[id]/route-13be4cfc17a5f679.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/route-13be4cfc17a5f679.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/auth/callback/route-13be4cfc17a5f679.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/auth/device/{page-288ccb59b548ddcc.js → page-eb5b4fc6b9f60343.js} +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/dashboard/{page-f12cc2e8800728f7.js → page-ea6ccecbfa743b53.js} +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/layout-6b46da9e6091abb3.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/{page-8465be2213d5814e.js → page-7357b68f3783a0b4.js} +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/tasks/page-ec17b64371f48524.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/page-6c545e9e5f5f66bc.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/css/ea93fda1b0bdd3b9.css +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/worker/index.js +68 -0
- package/lib/cli/cloud/prompts.js +6 -2
- package/lib/cli/daemon.js +2 -2
- package/lib/cli/runCli.js +154 -36
- package/lib/cli/skillText.js +1 -1
- package/lib/cli/taskStatusService.js +183 -0
- package/package.json +1 -1
- package/templates/stack/postgres/init/001_agx_board_schema.sql +15 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/5519.js +0 -6
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/9337-1475b21ebc625376.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/9719-26e3b61c21dd9194.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/audit/route-99c56d5659a15bdb.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/[...nextauth]/route-99c56d5659a15bdb.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/daemon-secret/route-99c56d5659a15bdb.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/device/code/route-99c56d5659a15bdb.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/device/token/route-99c56d5659a15bdb.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/refresh/route-99c56d5659a15bdb.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/status/route-99c56d5659a15bdb.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/domains/[id]/route-99c56d5659a15bdb.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/domains/route-99c56d5659a15bdb.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/health/route-99c56d5659a15bdb.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/learnings/route-99c56d5659a15bdb.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/logs/stream/route-99c56d5659a15bdb.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/cancel/route-99c56d5659a15bdb.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/signal/route-99c56d5659a15bdb.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/start/route-99c56d5659a15bdb.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/status/route-99c56d5659a15bdb.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/projects/[id]/route-99c56d5659a15bdb.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/projects/route-99c56d5659a15bdb.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/providers/route-99c56d5659a15bdb.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/queue/complete/route-99c56d5659a15bdb.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/queue/route-99c56d5659a15bdb.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/stage-prompts/route-99c56d5659a15bdb.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/comments/[commentId]/route-99c56d5659a15bdb.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/comments/route-99c56d5659a15bdb.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/heartbeat/route-99c56d5659a15bdb.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/history/route-99c56d5659a15bdb.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/logs/route-99c56d5659a15bdb.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/route-99c56d5659a15bdb.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/route-99c56d5659a15bdb.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/stream/route-99c56d5659a15bdb.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/user-settings/route-99c56d5659a15bdb.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/[id]/nodes/route-99c56d5659a15bdb.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/[id]/route-99c56d5659a15bdb.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/route-99c56d5659a15bdb.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/auth/callback/route-99c56d5659a15bdb.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/layout-449a81ecf8041b29.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/tasks/page-5813cf2efcd8d555.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/page-42969463f06ac3e8.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/css/6873fedf803c523e.css +0 -1
- /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{LM3I1rgG9I2QwtrZCfWRB → 2YqDwh6NlGhbNnhMVpOgd}/_buildManifest.js +0 -0
- /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{LM3I1rgG9I2QwtrZCfWRB → 2YqDwh6NlGhbNnhMVpOgd}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9337],{2835:(e,t,r)=>{r.d(t,{A:()=>o});var a=r(5155),s=r(2115);function o(e){let{tasks:t,onTaskClick:r,onStop:o,onRetry:n,cancellingTaskId:l}=e,i=(0,s.useMemo)(()=>t.filter(e=>"in_progress"===e.status),[t]),[d,c]=(0,s.useState)({});return((0,s.useEffect)(()=>{let e=()=>{let e={};i.forEach(t=>{let r=new Date(t.updated_at).getTime(),a=Math.floor((Date.now()-r)/6e4);a<1?e[t.id]="< 1m":a<60?e[t.id]="".concat(a,"m"):e[t.id]="".concat(Math.floor(a/60),"h")}),c(e)};e();let t=setInterval(e,6e4);return()=>clearInterval(t)},[i]),0===i.length)?null:(0,a.jsx)("div",{className:"w-full bg-[var(--card-bg)] border-b border-[var(--border)] mb-6 animate-fade-in-down",children:(0,a.jsx)("div",{className:"max-w-full overflow-x-auto no-scrollbar",children:(0,a.jsxs)("div",{className:"flex items-center gap-4 p-4 min-w-max",children:[(0,a.jsxs)("div",{className:"flex flex-col justify-center pr-4 border-r border-[var(--border)]",children:[(0,a.jsxs)("h3",{className:"text-sm font-bold text-[var(--foreground)] whitespace-nowrap flex items-center gap-2",children:[(0,a.jsxs)("span",{className:"relative flex h-2 w-2",children:[(0,a.jsx)("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-green-400 opacity-75"}),(0,a.jsx)("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-green-500"})]}),"Now Running"]}),(0,a.jsxs)("span",{className:"text-[10px] text-[var(--muted-foreground)] uppercase tracking-wider font-semibold",children:[i.length," Active"]})]}),(0,a.jsx)("div",{className:"flex items-center gap-3",children:i.map(e=>{let t=e.id===l;return(0,a.jsxs)("div",{onClick:()=>null==r?void 0:r(e),className:"group flex items-center gap-3 pl-3 pr-2 py-2 bg-[var(--background)] border border-[var(--border)] rounded-lg hover:border-[var(--primary)] transition-all cursor-pointer shadow-sm hover:shadow-md min-w-[280px]",children:[(0,a.jsx)("div",{className:"w-8 h-8 rounded-full bg-[var(--muted)] flex items-center justify-center text-xs font-bold border border-[var(--border)] shrink-0",children:e.provider?e.provider.substring(0,2).toUpperCase():"AG"}),(0,a.jsxs)("div",{className:"flex flex-col flex-1 min-w-0",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between text-xs mb-0.5",children:[(0,a.jsxs)("span",{className:"font-semibold text-[var(--foreground)] truncate max-w-[120px]",children:[e.provider||"Agent"," ",e.model?"• ".concat(e.model):""]}),(0,a.jsx)("span",{className:"font-mono text-[var(--muted-foreground)]",children:d[e.id]||"0m"})]}),(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,a.jsx)("span",{className:"text-[11px] text-[var(--muted-foreground)] truncate max-w-[140px]",children:e.title||e.content.substring(0,30)}),(0,a.jsx)("div",{className:"w-12 h-1 bg-[var(--muted)] rounded-full overflow-hidden",children:(0,a.jsx)("div",{className:"h-full bg-[var(--primary)] animate-pulse rounded-full",style:{width:"".concat(40*Math.random()+30,"%")}})})]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity pl-2 border-l border-[var(--border)]",children:[(0,a.jsx)("button",{type:"button",onClick:r=>{r.stopPropagation(),t||null==o||o(e.id)},disabled:t,className:"p-1 rounded transition-all ".concat(t?"cursor-wait text-[var(--destructive)]/80 opacity-80":"hover:bg-[var(--destructive)]/10 text-[var(--muted-foreground)] hover:text-[var(--destructive)]"),title:t?"Stopping...":"Stop Task",children:t?(0,a.jsx)("span",{className:"inline-flex h-3 w-3 rounded-full border border-[var(--destructive)] border-t-transparent animate-spin"}):(0,a.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:(0,a.jsx)("rect",{x:"6",y:"6",width:"12",height:"12",rx:"2"})})}),(0,a.jsx)("button",{type:"button",onClick:t=>{t.stopPropagation(),null==n||n(e.id)},className:"p-1 hover:bg-[var(--primary)]/10 text-[var(--muted-foreground)] hover:text-[var(--primary)] rounded",title:"Retry / Restart",children:(0,a.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,a.jsx)("path",{d:"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}),(0,a.jsx)("path",{d:"M3 3v5h5"}),(0,a.jsx)("path",{d:"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16"}),(0,a.jsx)("path",{d:"M16 21h5v-5"})]})})]})]},e.id)})})]})})})}},6779:(e,t,r)=>{r.d(t,{A:()=>p});var a=r(5155),s=r(2115),o=r(7787),n=r(9027),l=r(7587),i=r(80);let d={queued:{borderColor:"var(--status-queued)",bgColor:"var(--status-queued-bg)",textColor:"var(--status-queued)"},in_progress:{borderColor:"var(--status-in-progress)",bgColor:"var(--status-in-progress-bg)",textColor:"var(--status-in-progress)"},blocked:{borderColor:"var(--status-blocked)",bgColor:"var(--status-blocked-bg)",textColor:"var(--status-blocked)"},completed:{borderColor:"var(--status-completed)",bgColor:"var(--status-completed-bg)",textColor:"var(--status-completed)"},failed:{borderColor:"var(--status-failed)",bgColor:"var(--status-failed-bg)",textColor:"var(--status-failed)"},done:{borderColor:"var(--status-completed)",bgColor:"var(--status-completed-bg)",textColor:"var(--status-completed)"}};function c(e){let{task:t,onClick:r,onStatusChange:s}=e,{attributes:o,listeners:c,setNodeRef:u,transform:x,transition:m,isDragging:p}=(0,n.gl)({id:t.id}),v={transform:l.Ks.Transform.toString(x),transition:m};return d[t.status||"queued"],(0,a.jsxs)("div",{ref:u,...o,...c,onClick:r,className:"\n group relative flex items-center gap-2 p-1.5 rounded-md\n hover:bg-[var(--item-hover-bg)] transition-all duration-150 cursor-default\n focus-visible:outline-2 focus-visible:outline-[var(--ring)] focus-visible:outline-offset-2\n ".concat(p?"opacity-50 bg-[var(--item-hover-bg)]":"","\n "),style:{transform:v.transform,transition:v.transition,touchAction:"none"},children:[(0,a.jsx)(i.A,{status:t.status||"queued",onStatusChange:s}),(0,a.jsxs)("div",{className:"flex-1 min-w-0 flex items-center justify-between gap-3",children:[(0,a.jsx)("h4",{className:"text-sm text-[var(--foreground)] truncate leading-tight\n ".concat("completed"===t.status?"text-[var(--muted-foreground)] line-through":"","\n "),children:t.title||"Untitled Task"}),(0,a.jsxs)("div",{className:"flex items-center gap-2 opacity-0 group-hover:opacity-100 transition-opacity",children:[void 0!==t.priority&&(0,a.jsxs)("span",{className:"text-[10px] font-mono ".concat(0===t.priority?"text-red-500 font-bold":"text-[var(--muted-foreground)]"),children:["P",t.priority]}),(0,a.jsx)("button",{className:"p-0.5 text-[var(--muted-foreground)] hover:text-[var(--foreground)] rounded",children:(0,a.jsx)("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,a.jsx)("path",{d:"M8.49999 4.10001V8.49999H12.9V9.49999H8.49999V13.9H7.49999V9.49999H3.1V8.49999H7.49999V4.10001H8.49999Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"})})})]})]})]})}let u={queued:{borderColor:"var(--status-queued)",bgColor:"var(--status-queued-bg)",textColor:"var(--status-queued)"},in_progress:{borderColor:"var(--status-in-progress)",bgColor:"var(--status-in-progress-bg)",textColor:"var(--status-in-progress)"},blocked:{borderColor:"var(--status-blocked)",bgColor:"var(--status-blocked-bg)",textColor:"var(--status-blocked)"},completed:{borderColor:"var(--status-completed)",bgColor:"var(--status-completed-bg)",textColor:"var(--status-completed)"},failed:{borderColor:"var(--status-failed)",bgColor:"var(--status-failed-bg)",textColor:"var(--status-failed)"},done:{borderColor:"var(--status-completed)",bgColor:"var(--status-completed-bg)",textColor:"var(--status-completed)"}};function x(e){let{task:t}=e,r=u[t.status||"queued"];return(0,a.jsxs)("div",{className:"w-72 p-3 bg-[var(--background)] rounded-lg border-l-[3px] shadow-2xl cursor-grabbing ring-2 ring-[var(--primary)] ring-offset-2 ring-offset-[var(--background)] rotate-2 scale-105",style:{borderLeftColor:r.borderColor},children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2 mb-1.5",children:[(0,a.jsx)("div",{className:"flex items-center gap-1.5",children:void 0!==t.priority&&(0,a.jsxs)("span",{className:"text-[10px] font-mono font-semibold text-[var(--muted-foreground)] bg-[var(--muted)] px-1.5 py-0.5 rounded",children:["P",t.priority]})}),t.project&&(0,a.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 bg-[var(--accent-muted)] text-[var(--accent)] rounded-full font-medium truncate max-w-[100px]",children:t.project})]}),(0,a.jsx)("h4",{className:"text-sm font-medium line-clamp-2 text-[var(--primary)] leading-snug",children:t.title||"Untitled"}),(0,a.jsxs)("div",{className:"flex items-center gap-2 mt-2 text-[10px] text-[var(--muted-foreground)]",children:[t.engine&&(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[(0,a.jsx)("span",{children:"\uD83E\uDD16"}),(0,a.jsx)("span",{className:"capitalize",children:t.engine})]}),t.status&&(0,a.jsx)("span",{className:"px-1.5 py-0.5 rounded font-medium",style:{background:r.bgColor,color:r.textColor},children:t.status.replace("_"," ")})]})]})}var m=r(2325);function p(e){let{tasks:t,onTasksChange:r,onSelectTask:l,onTaskUpdate:i,onAddTask:d,stages:c,stageConfig:u,isValidTransition:p,isCreatingTask:f,creatingStage:g}=e,b=c||m.Tw,h=u||m.ls,j=p||((e,t)=>{if(e===t)return!0;let r=b.indexOf(e),a=b.indexOf(t);return a<r||a===r+1}),[y,w]=(0,s.useState)(null),[N,C]=(0,s.useState)(t);(0,s.useEffect)(()=>{y||C(t)},[t]);let k=(0,s.useMemo)(()=>{let e={};for(let t of b)e[t]=N.filter(e=>e.stage===t).sort((e,t)=>(e.priority||0)-(t.priority||0));return e},[N,b]),M=(0,o.FR)((0,o.MS)(o.AN,{activationConstraint:{distance:8}}));async function q(e){let{active:a,over:s}=e;if(w(null),!s)return void C(t);let o=a.id,l=s.id,d=N.find(e=>e.id===o);if(!d)return;let c=d.stage,u=d.priority||0;if(b.includes(l)){let e=k[c=l];u=e.length>0?Math.max(...e.map(e=>e.priority||0))+1:0}else{let e=N.find(e=>e.id===l);if(e){c=e.stage;let t=N.filter(e=>e.stage===c),a=t.findIndex(e=>e.id===o),s=t.findIndex(e=>e.id===l);if(-1!==a&&-1!==s&&a!==s){let e=(0,n.be)(t,a,s),o=N.map(t=>{let r=e.findIndex(e=>e.id===t.id);return -1!==r?{...t,priority:r}:t});C(o),null==r||r(o)}u=e.priority||0}}let x=t.find(e=>e.id===o);if(x&&!j(x.stage||"",c))return void C(t);if(i&&(d.stage!==c||d.priority!==u))try{await i(o,{stage:c,priority:u,status:"done"===c?"completed":"ideation"===c?"queued":"in_progress"}),null==r||r(N)}catch(e){console.error("Failed to update task:",e),C(t)}}return(0,a.jsxs)(o.Mp,{sensors:M,collisionDetection:o.y$,onDragStart:function(e){let t=N.find(t=>t.id===e.active.id);t&&w(t)},onDragOver:function(e){let t,{active:r,over:a}=e;if(!a)return;let s=r.id,o=a.id,n=N.find(e=>e.id===s);if(n){if(b.includes(o))t=o;else{let e=N.find(e=>e.id===o);if(!e)return;t=e.stage}if(n.stage!==t){if(!j(n.stage||"",t))return;C(e=>e.map(e=>e.id===s?{...e,stage:t}:e))}}},onDragEnd:q,children:[(0,a.jsx)("div",{className:"flex gap-4 overflow-x-auto pb-4 px-4 scrollbar-thin h-full items-stretch",children:b.map((e,t)=>(0,a.jsx)(v,{stage:e,tasks:k[e]||[],onSelectTask:l,onTaskUpdate:i,index:t,onAddTask:d,config:h[e]||{icon:"\uD83D\uDCCC",label:e,color:"var(--primary)"},isCreating:!!(f&&g===e)},e))}),(0,a.jsx)(o.Hd,{dropAnimation:{duration:200,easing:"cubic-bezier(0.18, 0.67, 0.6, 1.22)"},children:y?(0,a.jsx)(x,{task:y}):null})]})}function v(e){let{stage:t,tasks:r,onSelectTask:s,onTaskUpdate:l,index:i,onAddTask:d,config:u,isCreating:x=!1}=e,{setNodeRef:m,isOver:p}=(0,o.zM)({id:t}),v=!d||x;return(0,a.jsxs)("div",{ref:m,id:t,className:"\n kanban-column flex-shrink-0 w-80 \n flex flex-col h-full max-h-full\n bg-[var(--column-bg)] rounded-xl border border-[var(--border)]\n transition-colors duration-200\n ".concat(p?"ring-2 ring-[var(--primary)] ring-opacity-50 bg-[var(--primary-muted)]":"","\n "),style:{animationDelay:"".concat(50*i,"ms")},children:[(0,a.jsxs)("div",{className:"p-3 flex items-center justify-between border-b border-[var(--border)] bg-[var(--column-header-bg)] rounded-t-xl sticky top-0 z-10",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"font-semibold text-sm text-[var(--foreground)]",children:u.label}),(0,a.jsx)("span",{className:"px-2 py-0.5 rounded-full bg-white border border-[var(--border)] text-xs font-medium text-[var(--muted-foreground)] tabular-nums shadow-sm",children:r.length})]}),(0,a.jsx)("button",{onClick:()=>null==d?void 0:d(t),disabled:v,className:"\n w-8 h-8 rounded-lg flex items-center justify-center text-lg leading-none transition-all\n ".concat(v?"opacity-40 cursor-not-allowed text-[var(--muted-foreground)]":"hover:bg-[var(--primary)] hover:text-white hover:shadow-md text-[var(--muted-foreground)] active:scale-95","\n "),title:"Add task to ".concat(u.label),children:x?(0,a.jsx)("span",{className:"spinner w-3 h-3 border-2 border-[var(--muted-foreground)] border-t-[var(--primary)] rounded-full"}):"+"})]}),(0,a.jsx)(n.gB,{items:r.map(e=>e.id),strategy:n._G,children:(0,a.jsx)("div",{className:"flex-1 p-2 overflow-y-auto scrollbar-thin space-y-2.5",children:0===r.length?(0,a.jsxs)("div",{className:"h-full min-h-[120px] flex flex-col items-center justify-center border-2 border-dashed border-[var(--border)] rounded-lg m-1 opacity-60 hover:opacity-100 transition-opacity bg-[var(--background)]",children:[(0,a.jsx)("span",{className:"text-2xl mb-2 opacity-50 grayscale",children:u.icon}),(0,a.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] font-medium",children:"No tasks"})]}):r.map((e,t)=>(0,a.jsx)("div",{className:"animate-fade-in-up",style:{animationDelay:"".concat(30*t,"ms")},children:(0,a.jsx)(c,{task:e,onClick:()=>null==s?void 0:s(e),onStatusChange:l?t=>l(e.id,{status:t}):void 0})},e.id))})})]})}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[56,64,368,658,753,767,821,955,1014,1244,1327,1753,1810,1905,2772,2994,3443,4011,4020,4597,5015,5187,5223,6456,6523,6600,7127,7473,7543,8027,8616,8648,8658,8851,9419,9514],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[56,64,368,658,753,767,821,955,1014,1244,1327,1753,1810,1905,2772,2994,3443,4011,4020,4597,5015,5187,5223,6456,6523,6600,7127,7473,7543,8027,8616,8648,8658,8851,9419,9514],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[56,64,368,658,753,767,821,955,1014,1244,1327,1753,1810,1905,2772,2994,3443,4011,4020,4597,5015,5187,5223,6456,6523,6600,7127,7473,7543,8027,8616,8648,8658,8851,9419,9514],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[56,64,368,658,753,767,821,955,1014,1244,1327,1753,1810,1905,2772,2994,3443,4011,4020,4597,5015,5187,5223,6456,6523,6600,7127,7473,7543,8027,8616,8648,8658,8851,9419,9514],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[56,64,368,658,753,767,821,955,1014,1244,1327,1753,1810,1905,2772,2994,3443,4011,4020,4597,5015,5187,5223,6456,6523,6600,7127,7473,7543,8027,8616,8648,8658,8851,9419,9514],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[56,64,368,658,753,767,821,955,1014,1244,1327,1753,1810,1905,2772,2994,3443,4011,4020,4597,5015,5187,5223,6456,6523,6600,7127,7473,7543,8027,8616,8648,8658,8851,9419,9514],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[56,64,368,658,753,767,821,955,1014,1244,1327,1753,1810,1905,2772,2994,3443,4011,4020,4597,5015,5187,5223,6456,6523,6600,7127,7473,7543,8027,8616,8648,8658,8851,9419,9514],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[56,64,368,658,753,767,821,955,1014,1244,1327,1753,1810,1905,2772,2994,3443,4011,4020,4597,5015,5187,5223,6456,6523,6600,7127,7473,7543,8027,8616,8648,8658,8851,9419,9514],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[56,64,368,658,753,767,821,955,1014,1244,1327,1753,1810,1905,2772,2994,3443,4011,4020,4597,5015,5187,5223,6456,6523,6600,7127,7473,7543,8027,8616,8648,8658,8851,9419,9514],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[56,64,368,658,753,767,821,955,1014,1244,1327,1753,1810,1905,2772,2994,3443,4011,4020,4597,5015,5187,5223,6456,6523,6600,7127,7473,7543,8027,8616,8648,8658,8851,9419,9514],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[56,64,368,658,753,767,821,955,1014,1244,1327,1753,1810,1905,2772,2994,3443,4011,4020,4597,5015,5187,5223,6456,6523,6600,7127,7473,7543,8027,8616,8648,8658,8851,9419,9514],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[56,64,368,658,753,767,821,955,1014,1244,1327,1753,1810,1905,2772,2994,3443,4011,4020,4597,5015,5187,5223,6456,6523,6600,7127,7473,7543,8027,8616,8648,8658,8851,9419,9514],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[56,64,368,658,753,767,821,955,1014,1244,1327,1753,1810,1905,2772,2994,3443,4011,4020,4597,5015,5187,5223,6456,6523,6600,7127,7473,7543,8027,8616,8648,8658,8851,9419,9514],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[56,64,368,658,753,767,821,955,1014,1244,1327,1753,1810,1905,2772,2994,3443,4011,4020,4597,5015,5187,5223,6456,6523,6600,7127,7473,7543,8027,8616,8648,8658,8851,9419,9514],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[56,64,368,658,753,767,821,955,1014,1244,1327,1753,1810,1905,2772,2994,3443,4011,4020,4597,5015,5187,5223,6456,6523,6600,7127,7473,7543,8027,8616,8648,8658,8851,9419,9514],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[56,64,368,658,753,767,821,955,1014,1244,1327,1753,1810,1905,2772,2994,3443,4011,4020,4597,5015,5187,5223,6456,6523,6600,7127,7473,7543,8027,8616,8648,8658,8851,9419,9514],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[56,64,368,658,753,767,821,955,1014,1244,1327,1753,1810,1905,2772,2994,3443,4011,4020,4597,5015,5187,5223,6456,6523,6600,7127,7473,7543,8027,8616,8648,8658,8851,9419,9514],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[56,64,368,658,753,767,821,955,1014,1244,1327,1753,1810,1905,2772,2994,3443,4011,4020,4597,5015,5187,5223,6456,6523,6600,7127,7473,7543,8027,8616,8648,8658,8851,9419,9514],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[56,64,368,658,753,767,821,955,1014,1244,1327,1753,1810,1905,2772,2994,3443,4011,4020,4597,5015,5187,5223,6456,6523,6600,7127,7473,7543,8027,8616,8648,8658,8851,9419,9514],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[56,64,368,658,753,767,821,955,1014,1244,1327,1753,1810,1905,2772,2994,3443,4011,4020,4597,5015,5187,5223,6456,6523,6600,7127,7473,7543,8027,8616,8648,8658,8851,9419,9514],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[56,64,368,658,753,767,821,955,1014,1244,1327,1753,1810,1905,2772,2994,3443,4011,4020,4597,5015,5187,5223,6456,6523,6600,7127,7473,7543,8027,8616,8648,8658,8851,9419,9514],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[56,64,368,658,753,767,821,955,1014,1244,1327,1753,1810,1905,2772,2994,3443,4011,4020,4597,5015,5187,5223,6456,6523,6600,7127,7473,7543,8027,8616,8648,8658,8851,9419,9514],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[56,64,368,658,753,767,821,955,1014,1244,1327,1753,1810,1905,2772,2994,3443,4011,4020,4597,5015,5187,5223,6456,6523,6600,7127,7473,7543,8027,8616,8648,8658,8851,9419,9514],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[56,64,368,658,753,767,821,955,1014,1244,1327,1753,1810,1905,2772,2994,3443,4011,4020,4597,5015,5187,5223,6456,6523,6600,7127,7473,7543,8027,8616,8648,8658,8851,9419,9514],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[56,64,368,658,753,767,821,955,1014,1244,1327,1753,1810,1905,2772,2994,3443,4011,4020,4597,5015,5187,5223,6456,6523,6600,7127,7473,7543,8027,8616,8648,8658,8851,9419,9514],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[56,64,368,658,753,767,821,955,1014,1244,1327,1753,1810,1905,2772,2994,3443,4011,4020,4597,5015,5187,5223,6456,6523,6600,7127,7473,7543,8027,8616,8648,8658,8851,9419,9514],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[56,64,368,658,753,767,821,955,1014,1244,1327,1753,1810,1905,2772,2994,3443,4011,4020,4597,5015,5187,5223,6456,6523,6600,7127,7473,7543,8027,8616,8648,8658,8851,9419,9514],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[56,64,368,658,753,767,821,955,1014,1244,1327,1753,1810,1905,2772,2994,3443,4011,4020,4597,5015,5187,5223,6456,6523,6600,7127,7473,7543,8027,8616,8648,8658,8851,9419,9514],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[56,64,368,658,753,767,821,955,1014,1244,1327,1753,1810,1905,2772,2994,3443,4011,4020,4597,5015,5187,5223,6456,6523,6600,7127,7473,7543,8027,8616,8648,8658,8851,9419,9514],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[56,64,368,658,753,767,821,955,1014,1244,1327,1753,1810,1905,2772,2994,3443,4011,4020,4597,5015,5187,5223,6456,6523,6600,7127,7473,7543,8027,8616,8648,8658,8851,9419,9514],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[56,64,368,658,753,767,821,955,1014,1244,1327,1753,1810,1905,2772,2994,3443,4011,4020,4597,5015,5187,5223,6456,6523,6600,7127,7473,7543,8027,8616,8648,8658,8851,9419,9514],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[56,64,368,658,753,767,821,955,1014,1244,1327,1753,1810,1905,2772,2994,3443,4011,4020,4597,5015,5187,5223,6456,6523,6600,7127,7473,7543,8027,8616,8648,8658,8851,9419,9514],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[56,64,368,658,753,767,821,955,1014,1244,1327,1753,1810,1905,2772,2994,3443,4011,4020,4597,5015,5187,5223,6456,6523,6600,7127,7473,7543,8027,8616,8648,8658,8851,9419,9514],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[56,64,368,658,753,767,821,955,1014,1244,1327,1753,1810,1905,2772,2994,3443,4011,4020,4597,5015,5187,5223,6456,6523,6600,7127,7473,7543,8027,8616,8648,8658,8851,9419,9514],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[56,64,368,658,753,767,821,955,1014,1244,1327,1753,1810,1905,2772,2994,3443,4011,4020,4597,5015,5187,5223,6456,6523,6600,7127,7473,7543,8027,8616,8648,8658,8851,9419,9514],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[56,64,368,658,753,767,821,955,1014,1244,1327,1753,1810,1905,2772,2994,3443,4011,4020,4597,5015,5187,5223,6456,6523,6600,7127,7473,7543,8027,8616,8648,8658,8851,9419,9514],{4441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8008],{63:(e,t,r)=>{"use strict";var s=r(7260);r.o(s,"usePathname")&&r.d(t,{usePathname:function(){return s.usePathname}}),r.o(s,"useRouter")&&r.d(t,{useRouter:function(){return s.useRouter}}),r.o(s,"useSearchParams")&&r.d(t,{useSearchParams:function(){return s.useSearchParams}})},926:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{callServer:function(){return s.callServer},createServerReference:function(){return c.createServerReference},findSourceMapURL:function(){return n.findSourceMapURL}});let s=r(1209),n=r(5153),c=r(7197)},
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8008],{63:(e,t,r)=>{"use strict";var s=r(7260);r.o(s,"usePathname")&&r.d(t,{usePathname:function(){return s.usePathname}}),r.o(s,"useRouter")&&r.d(t,{useRouter:function(){return s.useRouter}}),r.o(s,"useSearchParams")&&r.d(t,{useSearchParams:function(){return s.useSearchParams}})},926:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{callServer:function(){return s.callServer},createServerReference:function(){return c.createServerReference},findSourceMapURL:function(){return n.findSourceMapURL}});let s=r(1209),n=r(5153),c=r(7197)},1669:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>u});var s=r(5155),n=r(2115),c=r(63),l=r(926);let a=(0,l.createServerReference)("4066e41348e04568d8dfbe55397b36bee799629fd3",l.callServer,void 0,l.findSourceMapURL,"approveDeviceCode");function o(){let e=(0,c.useSearchParams)(),t=(0,c.useRouter)(),r=e.get("user_code")||"",[l,o]=(0,n.useState)(r),[u,i]=(0,n.useState)(!1),[d,f]=(0,n.useState)(null),[x,h]=(0,n.useState)(!1);(0,n.useEffect)(()=>{if(x){let e=setTimeout(()=>{t.push("/projects")},3e3);return()=>clearTimeout(e)}},[x,t]);let m=async e=>{e.preventDefault(),i(!0),f(null);try{let e=await a(l);if(!e.success)throw Error(e.error);h(!0)}catch(e){f(e.message)}finally{i(!1)}};return x?(0,s.jsx)("div",{className:"flex flex-col items-center justify-center min-h-screen bg-neutral-900 text-white p-4",children:(0,s.jsxs)("div",{className:"max-w-md w-full bg-neutral-800 p-8 rounded-xl shadow-2xl text-center",children:[(0,s.jsx)("h1",{className:"text-3xl font-bold mb-4 text-green-400",children:"Success!"}),(0,s.jsx)("p",{className:"text-gray-300 mb-2",children:"You have successfully authenticated your device."}),(0,s.jsx)("p",{className:"text-gray-400 text-sm mb-6 italic",children:"Redirecting to projects in a few seconds..."}),(0,s.jsx)("button",{onClick:()=>t.push("/projects"),className:"w-full py-3 px-4 bg-white text-black font-semibold rounded-lg hover:bg-gray-200 transition-colors",children:"Go to Projects"})]})}):(0,s.jsx)("div",{className:"flex flex-col items-center justify-center min-h-screen bg-neutral-900 text-white p-4",children:(0,s.jsxs)("div",{className:"max-w-md w-full bg-neutral-800 p-8 rounded-xl shadow-2xl",children:[(0,s.jsx)("h1",{className:"text-2xl font-bold mb-6 text-center",children:"Connect Device"}),(0,s.jsx)("p",{className:"text-gray-400 mb-8 text-center text-sm",children:"Enter the code displayed on your device to authorize it."}),(0,s.jsxs)("form",{onSubmit:m,className:"space-y-6",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{htmlFor:"code",className:"block text-sm font-medium text-gray-400 mb-2",children:"Device Code"}),(0,s.jsx)("input",{type:"text",id:"code",value:l,onChange:e=>o(e.target.value.toUpperCase()),placeholder:"BCDF-XXXX",className:"w-full px-4 py-3 bg-neutral-900 border border-neutral-700 rounded-lg text-white placeholder-neutral-600 focus:outline-none focus:ring-2 focus:ring-blue-500 font-mono text-center tracking-widest text-lg uppercase",required:!0})]}),d&&(0,s.jsx)("div",{className:"p-3 bg-red-900/50 border border-red-800 rounded-lg text-red-200 text-center text-sm",children:d}),(0,s.jsx)("button",{type:"submit",disabled:u,className:"w-full py-3 px-4 bg-white text-black font-semibold rounded-lg hover:bg-gray-200 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-white transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:u?"Verifying...":"Authorize Device"})]})]})})}function u(){return(0,s.jsx)(n.Suspense,{fallback:(0,s.jsx)("div",{children:"Loading..."}),children:(0,s.jsx)(o,{})})}},5109:(e,t,r)=>{Promise.resolve().then(r.bind(r,1669))}},e=>{e.O(0,[8441,1255,7358],()=>e(e.s=5109)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5105],{63:(e,t,a)=>{"use strict";var s=a(7260);a.o(s,"usePathname")&&a.d(t,{usePathname:function(){return s.usePathname}}),a.o(s,"useRouter")&&a.d(t,{useRouter:function(){return s.useRouter}}),a.o(s,"useSearchParams")&&a.d(t,{useSearchParams:function(){return s.useSearchParams}})},415:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>f});var s=a(5155),r=a(2115),l=a(63),n=a(1460),o=a(2888),d=a(6779),i=a(2835),c=a(5826),u=a(2325),m=a(8545);function x(e){let{onClose:t,workflowId:a}=e,{workflow:l,isLoading:n,refetch:o}=(0,u.mP)({workflowId:a}),{providers:d}=(0,m.u)(),[i,c]=(0,r.useState)([]),[x,p]=(0,r.useState)(null),[h,v]=(0,r.useState)(!1),[g,b]=(0,r.useState)({}),f=e=>u.ls[e]||{icon:"\uD83D\uDCCC",label:e.charAt(0).toUpperCase()+e.slice(1),color:"var(--primary)"};(0,r.useEffect)(()=>{let e=(Array.isArray(null==l?void 0:l.nodes)?l.nodes:[]).slice().sort((e,t)=>(e.position||0)-(t.position||0)).map(e=>{var t,a;return{id:e.id,name:e.name,label:e.label||e.name,prompt:e.prompt||"",provider:e.provider||"codex",model:e.model||"",swarm:!!(null==e||null==(t=e.metadata)?void 0:t.swarm),swarm_models:Array.isArray(null==e||null==(a=e.metadata)?void 0:a.swarm_models)?e.metadata.swarm_models:[],metadata:(null==e?void 0:e.metadata)&&"object"==typeof e.metadata?e.metadata:{}}});c(e),b({}),p(t=>t&&e.some(e=>e.id===t)?t:e.length?e[0].id:null)},[null==l?void 0:l.id,null==l?void 0:l.nodes]);let j=i.findIndex(e=>e.id===x),w=j>=0?i[j]:null,N=w?{...w,...g[w.id]||{}}:null,y=(e,t)=>{w&&b(a=>({...a,[w.id]:{...a[w.id]||{},[e]:t}}))},k=async()=>{if(l){v(!0);try{let e=i.map(e=>{let t={...e,...g[e.id]||{}};return{...t,metadata:{...t.metadata||{},swarm:!!t.swarm,swarm_models:t.swarm_models||[]}}}),a=await fetch("/api/workflows/".concat(l.id,"/nodes"),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({nodes:e.map(e=>({id:e.id,prompt:e.prompt,provider:e.provider,model:e.model,metadata:e.metadata}))})});if(!a.ok)throw Error("Failed to save workflow");await a.json(),o(),b({}),t()}catch(e){console.error("Error saving workflow:",e)}finally{v(!1)}}};return n&&!l?(0,s.jsx)("div",{className:"modal-backdrop p-4 flex items-center justify-center",children:(0,s.jsx)("span",{className:"spinner w-8 h-8 border-2 border-white/20 border-t-white"})}):(0,s.jsx)("div",{className:"modal-backdrop p-4",onClick:e=>e.target===e.currentTarget&&t(),children:(0,s.jsxs)("div",{className:"modal-content w-full max-w-5xl h-[85vh] flex flex-col animate-scale-in p-0 bg-[var(--card-bg)] overflow-hidden rounded-xl border border-[var(--card-border)] shadow-2xl",children:[(0,s.jsxs)("div",{className:"px-6 py-4 border-b border-[var(--border)] flex items-center justify-between bg-[var(--background)]",children:[(0,s.jsxs)("div",{children:[(0,s.jsxs)("h2",{className:"text-lg font-bold flex items-center gap-2",children:[(0,s.jsx)("span",{children:"⚙️"})," Workflow Configuration"]}),(0,s.jsxs)("p",{className:"text-xs text-[var(--muted-foreground)] mt-0.5",children:["Editing: ",(0,s.jsx)("span",{className:"font-mono text-[var(--foreground)]",children:(null==l?void 0:l.name)||"Loading..."})]})]}),(0,s.jsx)("button",{onClick:t,className:"btn-ghost p-2 rounded",children:(0,s.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,s.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[(0,s.jsxs)("div",{className:"w-64 bg-[var(--muted)]/30 border-r border-[var(--border)] overflow-y-auto p-4 flex flex-col gap-1",children:[(0,s.jsx)("div",{className:"flex items-center justify-between mb-2 px-2",children:(0,s.jsx)("span",{className:"text-xs font-bold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Steps"})}),0===i.length&&(0,s.jsx)("div",{className:"text-sm text-[var(--muted-foreground)] px-2 italic",children:"No steps defined in this workflow."}),i.map(e=>{let t=f(e.name),a=!!g[e.id];return(0,s.jsxs)("button",{onClick:()=>p(e.id),className:"w-full text-left px-3 py-2.5 rounded-lg text-sm font-medium transition-all flex items-center gap-3 ".concat(x===e.id?"bg-[var(--card-bg)] text-[var(--foreground)] shadow-sm border border-[var(--border)]":"text-[var(--muted-foreground)] hover:bg-[var(--card-bg)]/50"),children:[(0,s.jsx)("span",{className:"text-base",children:t.icon}),(0,s.jsx)("span",{className:"flex-1 truncate",children:e.label||t.label}),a&&(0,s.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--accent)]"})]},e.id)})]}),(0,s.jsxs)("div",{className:"flex-1 overflow-y-auto p-8 relative bg-[var(--card-bg)]",children:[N?(0,s.jsxs)("div",{className:"max-w-3xl mx-auto space-y-8 animate-fade-in",children:[(0,s.jsxs)("div",{className:"flex items-center gap-4 pb-6 border-b border-[var(--border)]",children:[(0,s.jsx)("div",{className:"w-12 h-12 rounded-xl bg-[var(--muted)]/50 flex items-center justify-center text-2xl shadow-inner",children:f(N.name).icon}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h3",{className:"text-xl font-bold",children:N.label}),(0,s.jsxs)("p",{className:"text-sm text-[var(--muted-foreground)] font-mono opacity-70",children:["ID: ",N.id," • Key: ",N.name]})]})]}),(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)("label",{className:"text-sm font-semibold uppercase tracking-wider text-[var(--muted-foreground)]",children:"System Prompt"}),(0,s.jsx)("span",{className:"text-xs text-[var(--muted-foreground)] bg-[var(--muted)]/50 px-2 py-0.5 rounded",children:"Markdown Supported"})]}),(0,s.jsx)("textarea",{value:N.prompt||"",onChange:e=>y("prompt",e.target.value),className:"input w-full h-64 font-mono text-sm leading-relaxed resize-y p-4",placeholder:"Define the agent's behavior, constraints, and output format for this stage..."})]}),(0,s.jsxs)("div",{className:"p-6 rounded-xl bg-[var(--muted)]/20 border border-[var(--border)] space-y-6",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("h4",{className:"font-semibold flex items-center gap-2",children:[(0,s.jsx)("span",{children:"\uD83E\uDD16"})," Model Settings"]}),(0,s.jsxs)("div",{className:"flex items-center gap-3 bg-[var(--card-bg)] px-3 py-1.5 rounded-lg border border-[var(--border)]",children:[(0,s.jsx)("span",{className:"text-sm font-medium",children:"Swarm Mode"}),(0,s.jsx)("button",{onClick:()=>y("swarm",!N.swarm),className:"w-9 h-5 rounded-full transition-colors relative ".concat(N.swarm?"bg-[var(--primary)]":"bg-[var(--muted-foreground)]/30"),children:(0,s.jsx)("span",{className:"absolute top-0.5 left-0.5 w-4 h-4 bg-white rounded-full transition-transform ".concat(N.swarm?"translate-x-4":"translate-x-0")})})]})]}),N.swarm?(0,s.jsxs)("div",{className:"space-y-4 animate-fade-in",children:[(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsx)("span",{className:"text-sm font-medium text-[var(--muted-foreground)]",children:"Swarm Models"}),(0,s.jsx)("button",{onClick:()=>{y("swarm_models",[...N.swarm_models||[],{provider:"gemini",model:""}])},className:"btn-secondary text-xs px-2 py-1",children:"+ Add Model"})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[0===(N.swarm_models||[]).length&&(0,s.jsx)("div",{className:"text-center py-8 border-2 border-dashed border-[var(--border)] rounded-lg text-sm text-[var(--muted-foreground)]",children:"No models configured for swarm. Add one to enable."}),(N.swarm_models||[]).map((e,t)=>(0,s.jsxs)("div",{className:"flex gap-2 items-center group",children:[(0,s.jsx)("select",{value:e.provider,onChange:e=>{let a=[...N.swarm_models||[]];a[t].provider=e.target.value,y("swarm_models",a)},className:"input text-sm py-1.5 w-32",children:d.map(e=>(0,s.jsx)("option",{value:e.id,children:e.label},e.id))}),(0,s.jsx)("input",{value:e.model,onChange:e=>{let a=[...N.swarm_models||[]];a[t].model=e.target.value,y("swarm_models",a)},placeholder:"Model name (e.g. gemini-1.5-pro)",className:"input text-sm py-1.5 flex-1"}),(0,s.jsx)("button",{onClick:()=>{y("swarm_models",(N.swarm_models||[]).filter((e,a)=>a!==t))},className:"text-[var(--muted-foreground)] hover:text-[var(--destructive)] hover:bg-[var(--destructive)]/10 p-1.5 rounded opacity-0 group-hover:opacity-100 transition-all",children:"✕"})]},t))]})]}):(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-4 animate-fade-in",children:[(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)("label",{className:"text-xs font-semibold text-[var(--muted-foreground)] uppercase",children:"Provider"}),(0,s.jsx)("select",{value:N.provider||"gemini",onChange:e=>y("provider",e.target.value),className:"input w-full text-sm py-2",children:d.map(e=>(0,s.jsx)("option",{value:e.id,children:e.label},e.id))})]}),(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)("label",{className:"text-xs font-semibold text-[var(--muted-foreground)] uppercase",children:"Model"}),(0,s.jsx)("input",{value:N.model||"",onChange:e=>y("model",e.target.value),placeholder:"e.g. gemini-2.0-flash",className:"input w-full text-sm py-2"})]})]})]})]}):null,!w&&i.length>0&&(0,s.jsxs)("div",{className:"flex flex-col items-center justify-center h-full text-[var(--muted-foreground)]",children:[(0,s.jsx)("span",{className:"text-4xl mb-4 opacity-30",children:"\uD83D\uDC48"}),(0,s.jsx)("p",{children:"Select a step from the sidebar to configure it."})]})]})]}),(0,s.jsxs)("div",{className:"px-6 py-4 border-t border-[var(--border)] bg-[var(--background)] flex justify-end gap-3",children:[(0,s.jsx)("button",{onClick:t,className:"btn-ghost px-4 py-2",children:"Cancel"}),(0,s.jsxs)("button",{onClick:k,disabled:h||0===Object.keys(g).length,className:"btn-primary px-6 py-2 flex items-center gap-2",children:[h&&(0,s.jsx)("span",{className:"spinner w-4 h-4 border-2 border-white/20 border-t-white"}),h?"Saving...":"Save Changes"]})]})]})})}var p=a(577),h=a(91);function v(){return(0,s.jsxs)("div",{className:"p-4 rounded-xl bg-[var(--card-bg)] border border-[var(--card-border)]",children:[(0,s.jsxs)("div",{className:"flex items-start justify-between mb-3",children:[(0,s.jsxs)("div",{className:"flex-1",children:[(0,s.jsxs)("div",{className:"flex gap-2 mb-2",children:[(0,s.jsx)("div",{className:"skeleton h-4 w-8 rounded"}),(0,s.jsx)("div",{className:"skeleton h-4 w-16 rounded"})]}),(0,s.jsx)("div",{className:"skeleton h-5 w-3/4 rounded"})]}),(0,s.jsx)("div",{className:"skeleton h-5 w-20 rounded-full"})]}),(0,s.jsxs)("div",{className:"flex justify-between",children:[(0,s.jsx)("div",{className:"skeleton h-4 w-24 rounded"}),(0,s.jsx)("div",{className:"skeleton h-4 w-12 rounded"})]})]})}function g(){return(0,s.jsx)("div",{className:"flex gap-4 overflow-x-auto pb-4 px-4",children:[1,2,3,4,5].map(e=>(0,s.jsxs)("div",{className:"flex-shrink-0 w-72 kanban-column",children:[(0,s.jsx)("div",{className:"kanban-column-header",children:(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("div",{className:"skeleton h-6 w-6 rounded"}),(0,s.jsx)("div",{className:"skeleton h-5 w-20 rounded"})]}),(0,s.jsx)("div",{className:"skeleton h-5 w-6 rounded-full"})]})}),(0,s.jsx)("div",{className:"p-2 space-y-2",children:[1,2].map(e=>(0,s.jsxs)("div",{className:"p-3 rounded-lg bg-[var(--background)] border-l-2 border-[var(--card-border)]",children:[(0,s.jsx)("div",{className:"skeleton h-3 w-12 rounded mb-2"}),(0,s.jsx)("div",{className:"skeleton h-4 w-full rounded mb-2"}),(0,s.jsx)("div",{className:"skeleton h-3 w-20 rounded"})]},e))})]},e))})}function b(){var e,t,a,b;let f=(0,l.useRouter)(),j=(0,l.useSearchParams)(),w=(0,l.usePathname)(),N=(null==j?void 0:j.get("project"))||void 0,y=j.get("view")||"kanban",k=j.get("sort")||"newest",[C,_]=(0,r.useState)(y),[S,A]=(0,r.useState)(k),[T,D]=(0,r.useState)("all"),[E,L]=(0,r.useState)(""),[P,I]=(0,r.useState)(null),[B,R]=(0,r.useState)(null),[M,U]=(0,r.useState)(!1),[q,F]=(0,r.useState)(null),[O,X]=(0,r.useState)(!1),[z,W]=(0,r.useState)(""),[G,V]=(0,r.useState)(!1),[H,K]=(0,r.useState)("single"),[Q,Y]=(0,r.useState)("gemini"),[J,Z]=(0,r.useState)(""),[$,ee]=(0,r.useState)([]),[et,ea]=(0,r.useState)("gemini"),[es,er]=(0,r.useState)(""),[el,en]=(0,r.useState)(null),[eo,ed]=(0,r.useState)(!1),[ei,ec]=(0,r.useState)(!1),[eu,em]=(0,r.useState)(null),{providers:ex}=(0,m.u)();(0,r.useEffect)(()=>{let e=e=>{let t=e.target,a=["INPUT","TEXTAREA","SELECT"].includes(t.tagName)||t.isContentEditable;if("n"!==e.key||a||(e.preventDefault(),X(!0)),"/"===e.key&&!a){var s;e.preventDefault(),null==(s=document.getElementById("task-search"))||s.focus()}};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[]);let{tasks:ep,isLoading:eh,createTask:ev,updateTask:eg,deleteTask:eb,completeTaskStage:ef,cancelWorkflow:ej,refetch:ew,cancellingTaskId:eN,fetchTask:ey}=(0,p.si)({realtime:!0,project:N}),{projects:ek,isLoading:eC}=(0,h.Y)(),{comments:e_,addComment:eS,deleteComment:eA}=(0,p.LU)((null==P?void 0:P.id)||null),{learnings:eT,addLearning:eD}=(0,p.dF)((null==P?void 0:P.id)||void 0),{workflow:eE,stages:eL,stageConfig:eP,isValidTransition:eI,isLoading:eB}=(0,u.mP)(),eR=(0,r.useMemo)(()=>eL.map(e=>{var t;let a=eP[e],s=null==eE||null==(t=eE.nodes)?void 0:t.find(t=>t.name===e);return{id:e,label:(null==a?void 0:a.label)||e,icon:(null==a?void 0:a.icon)||"\uD83D\uDCCC",color:(null==a?void 0:a.color)||"var(--primary)",prompt:(null==s?void 0:s.prompt)||void 0}}),[eL,eP,eE]),eM=e=>{_(e);let t=new URLSearchParams(j);t.set("view",e),f.push("".concat(w,"?").concat(t.toString()))},eU=(0,r.useMemo)(()=>{let e=[...ep];if(E){let t=E.toLowerCase();e=e.filter(e=>{var a,s,r;return(null==(a=e.title)?void 0:a.toLowerCase().includes(t))||(null==(s=e.description)?void 0:s.toLowerCase().includes(t))||e.id.toLowerCase().includes(t)||(null==(r=e.project)?void 0:r.toLowerCase().includes(t))})}return"all"!==T&&(e="active"===T?e.filter(e=>"completed"!==e.status&&"failed"!==e.status):e.filter(e=>e.status===T)),e.sort((e,t)=>{switch(S){case"newest":return new Date(t.created_at).getTime()-new Date(e.created_at).getTime();case"oldest":return new Date(e.created_at).getTime()-new Date(t.created_at).getTime();case"priority":return(e.priority||0)-(t.priority||0);case"updated":return new Date(t.updated_at).getTime()-new Date(e.updated_at).getTime();default:return 0}}),e},[ep,E,T,S]),eq=(0,r.useCallback)(async(e,t)=>{t&&I(t);try{let t=await ey(e);return I(t),t}catch(e){return console.error("Failed to load task details:",e),t||I(null),null!=t?t:null}},[ey]),eF=(0,r.useCallback)(async e=>{await eq(e.id,e)},[eq]),eO=(0,r.useCallback)(async e=>{var t,a;let s=N?ek.find(e=>e.slug===N):null;R({stage:e,project:null!=(t=null==s?void 0:s.slug)?t:null,project_id:null!=(a=null==s?void 0:s.id)?a:null})},[N,ek]),eX=(0,r.useCallback)(async e=>{var t,a;let s=(e.description||"").trim();if(!s)return;ec(!0);let r=e.stage||(null==B?void 0:B.stage)||"ideation";em(r);let l="done"===r?"completed":"ideation"===r?"queued":"in_progress",n=(null==eP||null==(t=eP[r])?void 0:t.label)||r,o=(e.title||"").trim()||s.split("\n")[0].replace(/^#\s*/,"")||"New Task (".concat(n,")"),d=["status: ".concat(l),"stage: ".concat(r)],i=e.project_id&&ek.find(t=>t.id===e.project_id)||e.project&&ek.find(t=>t.slug===e.project)||(N?ek.find(e=>e.slug===N):null);i&&(d.push("project: ".concat(i.slug)),d.push("project_id: ".concat(i.id)),d.push("workflow_id: ".concat(i.workflow_id||u.ou))),e.provider&&d.push("provider: ".concat(e.provider)),e.model&&d.push("model: ".concat(e.model)),void 0!==e.swarm&&d.push("swarm: ".concat(e.swarm?"true":"false"));let c="---\n".concat(d.join("\n"),"\n---\n\n# ").concat(o,"\n\n").concat(s);try{let t=e.swarm?null!=(a=e.swarm_models)?a:[]:null,s=await ev(c,t);R(null),await eq(s.id,s)}catch(e){console.error("Failed to create task:",e)}finally{ec(!1),em(null)}},[ev,B,eq,N,ek,eP]),ez=(0,r.useCallback)(async(e,t)=>{await eg(e,t)},[eg]),eW=async e=>{let t=ep.find(t=>t.id===e);F(null);try{var a;await ej({taskId:e}),await ew(),F({type:"success",message:"Cancellation requested for ".concat((null==t?void 0:t.title)||(null==t||null==(a=t.content)?void 0:a.slice(0,30))||e,".")})}catch(s){console.error("Failed to stop task",s);let a=s instanceof Error?s.message:"unknown error";F({type:"error",message:"Unable to stop ".concat((null==t?void 0:t.title)||e,": ").concat(a,".")})}},eG=async e=>{try{await ef({taskId:e,decision:"not_done",final_result:"Manual retry requested.",explanation:"Manual retry requested."})}catch(e){console.error("Failed to retry task",e)}};(0,r.useEffect)(()=>{if(!q)return;let e=setTimeout(()=>F(null),5e3);return()=>clearTimeout(e)},[q]);let eV=async()=>{if(z.trim()&&!G){V(!0);try{var e;let t=["status: queued","stage: ideation"];"single"!==H&&t.push("swarm: true");let a=el||(N?null==(e=ek.find(e=>e.slug===N))?void 0:e.id:null);if(a){let e=ek.find(e=>e.id===a);e&&(t.push("project: ".concat(e.slug)),t.push("project_id: ".concat(e.id)),t.push("workflow_id: ".concat(e.workflow_id||u.ou)))}let s="---\n".concat(t.join("\n"),"\n---\n\n# ").concat(z,"\n");await ev(s,"swarm"===H?$:null),W(""),K("single"),Y("gemini"),Z(""),ee([]),ea("gemini"),er(""),X(!1),en(null)}catch(e){console.error("Failed to create task:",e)}finally{V(!1)}}},eH=async(e,t)=>{let a="---\n".concat(["status: ".concat("ideation"===t?"queued":"in_progress"),"stage: ".concat(t)].join("\n"),"\n---\n\n# ").concat(e,"\n");await ev(a,null),ed(!1)},eK=async e=>{P&&await eS(e)},eQ=async(e,t,a)=>{var s,r;let l=(null==P||null==(r=P.project_context)||null==(s=r.project)?void 0:s.id)||(null==P?void 0:P.project_id)||(null==P?void 0:P.project)||void 0,n=null!=a?a:"global"===t?void 0:"task"===t?null==P?void 0:P.id:l;await eD(e,t,n)},eY=async e=>{P&&(I(t=>t?{...t,...e}:null),await eg(P.id,e))};return(ep.length,ep.filter(e=>"in_progress"===e.status).length,ep.filter(e=>"queued"===e.status).length,ep.filter(e=>"completed"===e.status).length,(eh||eB)&&0===ep.length)?(0,s.jsxs)("div",{className:"h-full flex flex-col p-6 animate-pulse",children:[(0,s.jsxs)("div",{className:"flex justify-between items-center mb-8",children:[(0,s.jsx)("div",{className:"h-8 w-48 bg-[var(--card-border)] rounded"}),(0,s.jsx)("div",{className:"h-10 w-32 bg-[var(--card-border)] rounded"})]}),(0,s.jsx)("div",{className:"h-12 w-full bg-[var(--card-border)] rounded mb-8"}),"kanban"===C?(0,s.jsx)(g,{}):(0,s.jsx)("div",{className:"space-y-4",children:[1,2,3].map(e=>(0,s.jsx)(v,{},e))})]}):(0,s.jsx)(n.A,{fullWidth:!0,noFooter:!0,children:(0,s.jsxs)("div",{className:"flex flex-col h-full ".concat("kanban"===C?"max-w-full":"max-w-6xl mx-auto w-full px-4"),children:[(0,s.jsxs)("div",{className:"relative flex items-center justify-center gap-4 py-3 px-4 border-b border-[var(--border)] bg-[var(--background)] flex-shrink-0 z-20",children:[(0,s.jsxs)("div",{className:"flex items-center gap-4",children:[(0,s.jsxs)("div",{className:"relative w-80",children:[(0,s.jsx)("div",{className:"absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none",children:(0,s.jsx)("svg",{className:"h-5 w-5 text-gray-400",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M9 3.5a5.5 5.5 0 100 11 5.5 5.5 0 000-11zM2 9a7 7 0 1112.452 4.391l3.328 3.329a.75.75 0 11-1.06 1.06l-3.329-3.328A7 7 0 012 9z",clipRule:"evenodd"})})}),(0,s.jsx)("input",{id:"task-search",type:"text",placeholder:"Search tasks... (/)",className:"block w-full rounded-md border-0 py-1.5 pl-10 text-gray-900 ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6 bg-white shadow-sm",value:E,onChange:e=>L(e.target.value)})]}),(0,s.jsxs)("div",{className:"flex items-center bg-gray-100 p-1 rounded-lg border border-gray-200",children:[(0,s.jsx)("button",{onClick:()=>eM("list"),className:"px-3 py-1 text-xs font-medium rounded transition-all ".concat("list"===C?"bg-white shadow-sm text-gray-900":"text-gray-500 hover:text-gray-700"),children:"List"}),(0,s.jsx)("button",{onClick:()=>eM("kanban"),className:"px-3 py-1 text-xs font-medium rounded transition-all ".concat("kanban"===C?"bg-white shadow-sm text-gray-900":"text-gray-500 hover:text-gray-700"),children:"Board"})]}),(0,s.jsxs)("button",{onClick:()=>U(!0),className:"flex items-center gap-2 px-3 py-1.5 text-xs font-medium text-gray-700 bg-white border border-gray-200 rounded-lg shadow-sm hover:bg-gray-50 transition-all",title:"Configure Workflow",children:[(0,s.jsx)("span",{className:"text-base leading-none",children:"⚙️"}),(0,s.jsx)("span",{children:"Workflow"})]})]}),(0,s.jsx)("div",{className:"absolute right-4 flex items-center gap-3"})]}),q&&(0,s.jsx)("div",{className:"px-4 mt-3",children:(0,s.jsx)("div",{role:"status",className:"rounded-xl px-4 py-2 text-xs font-semibold ".concat("success"===q.type?"bg-[var(--success-muted)] text-[var(--success)]":"bg-[var(--destructive-muted)] text-[var(--destructive)]"),children:q.message})}),(0,s.jsx)("div",{className:"flex-shrink-0 mt-2 px-4",children:(0,s.jsx)(i.A,{tasks:ep,onTaskClick:I,onStop:eW,onRetry:eG,cancellingTaskId:eN})}),(0,s.jsx)("div",{className:"flex-1 min-h-0 overflow-hidden flex flex-col pt-2",children:"list"===C?(0,s.jsx)("div",{className:"overflow-y-auto h-full px-4",children:(0,s.jsx)(o.A,{tasks:eU,onSelectTask:eF})}):(0,s.jsx)(d.A,{tasks:eU,onSelectTask:eF,onTasksChange:()=>{},onTaskUpdate:ez,onAddTask:eO,stages:eL,stageConfig:eP,isValidTransition:eI,isCreatingTask:ei,creatingStage:eu})}),P&&(0,s.jsx)(c.A,{task:P,comments:P?e_:[],learnings:eT,projectContext:P.project_context,projects:ek,stages:eR,onClose:()=>I(null),onAddComment:eK,onDeleteComment:eA,onAddLearning:eQ,onUpdate:eY,onDelete:async()=>{await eb(P.id),I(null)}}),B&&(0,s.jsx)(c.A,{task:{id:"draft",title:"",description:"",content:"",stage:B.stage,status:"done"===B.stage?"completed":"ideation"===B.stage?"queued":"in_progress",created_at:new Date().toISOString(),project:null!=(a=null!=(t=B.project)?t:N)?a:void 0,project_id:null!=(b=B.project_id)?b:N?null==(e=ek.find(e=>e.slug===N))?void 0:e.id:void 0,provider:B.provider,model:B.model,swarm:B.swarm,swarm_models:B.swarm_models},comments:[],learnings:[],projectContext:null,projects:ek,stages:eR,isDraft:!0,isCreating:ei,onClose:()=>R(null),onAddComment:()=>{},onAddLearning:()=>{},onUpdate:async e=>{if(B){if(e.description||e.title)return void await eX({...B,...e});R(t=>t?{...t,...e}:t)}}}),eo&&(0,s.jsx)("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",children:(0,s.jsxs)("div",{className:"bg-[var(--card-bg)] p-6 rounded-xl w-full max-w-md shadow-2xl border border-[var(--card-border)] animate-scale-in",children:[(0,s.jsx)("h3",{className:"text-lg font-bold mb-4",children:"New Task"}),(0,s.jsxs)("form",{onSubmit:e=>{e.preventDefault();let t=e.target;eH(t.elements.namedItem("title").value,t.elements.namedItem("stage").value)},children:[(0,s.jsx)("input",{name:"title",autoFocus:!0,placeholder:"Task title...",className:"w-full mb-4 px-3 py-2 bg-[var(--background)] border border-[var(--card-border)] rounded focus:border-[var(--primary)] outline-none",required:!0}),(0,s.jsx)("select",{name:"stage",className:"w-full mb-6 px-3 py-2 bg-[var(--background)] border border-[var(--card-border)] rounded focus:border-[var(--primary)] outline-none",children:eL.map(e=>{var t;return(0,s.jsx)("option",{value:e,children:(null==(t=eP[e])?void 0:t.label)||e},e)})}),(0,s.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,s.jsx)("button",{type:"button",onClick:()=>ed(!1),className:"btn-ghost",children:"Cancel"}),(0,s.jsx)("button",{type:"submit",className:"btn-primary",children:"Create Task"})]})]})]})}),M&&(0,s.jsx)(x,{onClose:()=>U(!1),workflowId:null==eE?void 0:eE.id}),O&&(0,s.jsx)("div",{className:"modal-backdrop p-4",onClick:e=>e.target===e.currentTarget&&X(!1),children:(0,s.jsxs)("div",{className:"modal-content w-full max-w-lg p-6 animate-scale-in",children:[(0,s.jsxs)("h2",{className:"text-xl font-bold mb-4 flex items-center gap-2",children:[(0,s.jsx)("span",{children:"✨"})," New Task"]}),(0,s.jsxs)("div",{className:"flex items-center gap-2 mb-4",children:[(0,s.jsx)("button",{onClick:()=>K("single"),className:"px-3 py-1.5 text-xs font-semibold rounded-md uppercase tracking-wide transition-all ".concat("single"===H?"bg-[var(--card-bg)] text-[var(--primary)] shadow-sm border border-[var(--border)]":"text-[var(--muted-foreground)] hover:text-[var(--foreground)] border border-transparent"),children:"Single Agent"}),(0,s.jsx)("button",{onClick:()=>K("swarm"),className:"px-3 py-1.5 text-xs font-semibold rounded-md uppercase tracking-wide transition-all ".concat("swarm"===H?"bg-[var(--card-bg)] text-[var(--primary)] shadow-sm border border-[var(--border)]":"text-[var(--muted-foreground)] hover:text-[var(--foreground)] border border-transparent"),children:"Swarm"})]}),(0,s.jsx)("textarea",{value:z,onChange:e=>W(e.target.value),placeholder:"Describe what needs to be done...",className:"input h-32 resize-none mb-4",autoFocus:!0,disabled:G}),(0,s.jsxs)("label",{className:"text-xs font-semibold mb-3 block",children:["Attach to project",(0,s.jsxs)("select",{value:null!=el?el:"",onChange:e=>en(e.target.value||null),className:"input text-sm mt-1",disabled:eC,children:[(0,s.jsxs)("option",{value:"",children:["None (Current: ",N||"All",")"]}),ek.map(e=>(0,s.jsx)("option",{value:e.id,children:e.name},e.id))]})]}),"single"===H?(0,s.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2 mb-4",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"block text-[11px] font-medium text-[var(--muted-foreground)] mb-1",children:"Provider"}),(0,s.jsx)("select",{value:Q,onChange:e=>Y(e.target.value),className:"input text-xs py-1.5 appearance-none",children:ex.map(e=>(0,s.jsx)("option",{value:e.id,children:e.label},e.id))})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"block text-[11px] font-medium text-[var(--muted-foreground)] mb-1",children:"Model"}),(0,s.jsx)("input",{value:J,onChange:e=>Z(e.target.value),placeholder:"e.g. gpt-4.1-mini",className:"input text-xs py-1.5"})]})]}):(0,s.jsx)("div",{className:"mb-4 space-y-3",children:(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"block text-[11px] font-medium text-[var(--muted-foreground)] mb-2",children:"Swarm Models"}),(0,s.jsxs)("div",{className:"grid gap-2",children:[(0,s.jsxs)("div",{className:"grid grid-cols-[1fr_1.2fr_auto] gap-2",children:[(0,s.jsx)("select",{value:et,onChange:e=>ea(e.target.value),className:"input text-xs py-1.5 appearance-none",children:ex.map(e=>(0,s.jsx)("option",{value:e.id,children:e.label},e.id))}),(0,s.jsx)("input",{value:es,onChange:e=>er(e.target.value),placeholder:"model name",className:"input text-xs py-1.5"}),(0,s.jsx)("button",{type:"button",onClick:()=>{let e=es.trim();if(!e)return;let t={provider:et,model:e};$.some(e=>e.provider.toLowerCase()===t.provider.toLowerCase()&&e.model.toLowerCase()===t.model.toLowerCase())||(ee(e=>[...e,t]),er(""))},className:"btn-ghost px-3 py-1.5 text-xs",children:"Add"})]}),$.length>0&&(0,s.jsx)("div",{className:"space-y-1",children:$.map((e,t)=>(0,s.jsxs)("div",{className:"flex items-center justify-between px-3 py-1.5 rounded-md border text-xs bg-[var(--background)] border-[var(--border)]",children:[(0,s.jsxs)("span",{className:"truncate",children:[(0,s.jsx)("span",{className:"text-[var(--muted-foreground)]",children:e.provider}),(0,s.jsx)("span",{className:"mx-1",children:"\xb7"}),(0,s.jsx)("span",{children:e.model})]}),(0,s.jsx)("button",{type:"button",onClick:()=>{ee(e=>e.filter((e,a)=>a!==t))},className:"text-[var(--destructive)] hover:underline",children:"Remove"})]},"".concat(e.provider,"-").concat(e.model,"-").concat(t)))})]})]})}),(0,s.jsxs)("div",{className:"flex justify-end gap-3",children:[(0,s.jsx)("button",{onClick:()=>{X(!1),W(""),K("single"),Y("gemini"),Z(""),ee([]),ea("gemini"),er("")},disabled:G,className:"btn-ghost px-4 py-2",children:"Cancel"}),(0,s.jsx)("button",{onClick:eV,disabled:!z.trim()||G||"swarm"===H&&0===$.length,className:"btn-primary px-4 py-2 flex items-center gap-2",children:G?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:"spinner w-4 h-4 border-2 border-white/20 border-t-white"}),"Creating..."]}):"Create Task"})]})]})})]})})}function f(){return(0,s.jsx)(r.Suspense,{fallback:(0,s.jsx)("div",{className:"p-8",children:"Loading..."}),children:(0,s.jsx)(b,{})})}},1460:(e,t,a)=>{"use strict";a.d(t,{A:()=>m});var s=a(5155),r=a(2619),l=a.n(r),n=a(63),o=a(4647),d=a(91),i=a(2115);function c(e){let{children:t,fullWidth:a=!1,noFooter:r=!1}=e;(0,n.usePathname)(),(0,n.useRouter)();let c=(0,n.useSearchParams)(),{user:u,loading:m,signOut:x}=(0,o.A)(),{projects:p,isLoading:h}=(0,d.Y)(),v=null==c?void 0:c.get("project");return(0,i.useMemo)(()=>v?p.find(e=>e.slug===v):null,[p,v]),(0,s.jsxs)("div",{className:"h-screen flex flex-col overflow-hidden",children:[(0,s.jsx)("nav",{className:"flex-shrink-0 border-b border-[var(--card-border)] bg-[var(--card-bg)]/80 backdrop-blur-lg z-30",children:(0,s.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,s.jsxs)("div",{className:"flex items-center justify-between h-16",children:[(0,s.jsx)("div",{className:"flex items-center gap-8",children:(0,s.jsxs)(l(),{href:"/",className:"flex items-center gap-3 group",children:[(0,s.jsx)("div",{className:"w-8 h-8 rounded-lg bg-gradient-to-br from-[var(--primary)] to-[var(--accent)] flex items-center justify-center text-white font-bold text-sm shadow-lg shadow-[var(--primary)]/20 group-hover:shadow-[var(--primary)]/40 transition-shadow",children:"A"}),(0,s.jsx)("span",{className:"text-lg font-bold tracking-tight gradient-text hidden sm:block",children:"AGX Board"})]})}),(0,s.jsx)("div",{className:"flex items-center gap-3",children:(0,s.jsx)(l(),{href:"/settings",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Settings"})})]})})}),(0,s.jsx)("main",{className:"flex-1 min-h-0 flex flex-col ".concat(a?"p-0":"p-4 sm:p-6 lg:p-8 overflow-y-auto"),children:t}),!r&&(0,s.jsx)("footer",{className:"flex-shrink-0 border-t border-[var(--card-border)] bg-[var(--card-bg)]/50 py-4",children:(0,s.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 flex items-center justify-between text-xs text-[var(--muted-foreground)]",children:[(0,s.jsx)("span",{children:"AGX Board • Autonomous Agent Orchestration"}),(0,s.jsx)("span",{className:"hidden sm:inline",children:"Built with Next.js + Db"})]})})]})}function u(e){return(0,s.jsx)(i.Suspense,{fallback:(0,s.jsx)("div",{className:"h-screen flex items-center justify-center bg-[var(--background)]",children:(0,s.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"})}),children:(0,s.jsx)(c,{...e})})}function m(e){let{children:t,fullWidth:a=!1,noFooter:r=!1}=e;return(0,s.jsx)(u,{fullWidth:a,noFooter:r,children:t})}},2888:(e,t,a)=>{"use strict";a.d(t,{A:()=>d});var s=a(5155);let r={queued:{className:"badge-status-queued",label:"Queued",dotColor:"bg-[var(--status-queued)]"},in_progress:{className:"badge-status-in_progress",label:"In Progress",dotColor:"bg-[var(--status-in-progress)]"},blocked:{className:"badge-status-blocked",label:"Blocked",dotColor:"bg-[var(--status-blocked)]"},completed:{className:"badge-status-completed",label:"Completed",dotColor:"bg-[var(--status-completed)]"},failed:{className:"badge-status-failed",label:"Failed",dotColor:"bg-[var(--status-failed)]"}},l={ideation:{icon:"\uD83D\uDCA1",label:"Ideation",prompt:"Research and scope. Define approach, estimate effort."},planning:{icon:"\uD83D\uDCCB",label:"Planning",prompt:"Create detailed plan with tasks, milestones, and dependencies."},execution:{icon:"\uD83D\uDCBB",label:"Execution",prompt:"Implement based on all the context/history/research/plan. Write clean, tested code."},verification:{icon:"\uD83E\uDDEA",label:"Verification",prompt:"Test thoroughly. Find edge cases. Fix bugs. Verify requirements are met."},done:{icon:"✅",label:"Done",prompt:"Task finished and shipped."}};function n(e){let{task:t,onClick:a,compact:n=!1}=e,o=r[t.status||"queued"],d=t.stage?l[t.stage]:null;return(0,s.jsxs)("div",{onClick:a,role:"button",tabIndex:0,onKeyDown:e=>"Enter"===e.key&&(null==a?void 0:a()),className:"group relative flex items-center gap-2 p-1.5 rounded-md \n hover:bg-[var(--item-hover-bg)] transition-colors cursor-pointer\n focus-visible:outline-2 focus-visible:outline-[var(--ring)] focus-visible:outline-offset-2\n ".concat("failed"===t.status?"bg-[var(--status-failed-bg)]":""),children:[(0,s.jsx)("div",{className:"w-2 h-2 rounded-full flex-shrink-0 ".concat(o.dotColor),title:o.label}),(0,s.jsxs)("div",{className:"flex-1 min-w-0 flex items-baseline gap-2",children:[(0,s.jsx)("h3",{className:"text-sm text-[var(--foreground)] truncate leading-tight\n ".concat("completed"===t.status?"text-[var(--muted-foreground)] line-through":"","\n "),children:t.title||"Untitled Task"}),(0,s.jsxs)("div",{className:"flex items-center gap-2 text-[10px] text-[var(--muted-foreground)] opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap",children:[void 0!==t.priority&&(0,s.jsxs)("span",{className:0===t.priority?"text-[var(--primary)] font-bold":"",children:["P",t.priority]}),t.project&&(0,s.jsx)("span",{className:"max-w-[80px] truncate",children:t.project})]})]}),(0,s.jsx)("div",{className:"flex items-center gap-1.5 flex-shrink-0",children:"failed"===t.status?(0,s.jsx)("span",{className:"text-[10px] text-[var(--status-failed)] font-bold",children:"FAILED"}):d&&(0,s.jsx)("span",{className:"text-[10px] opacity-40",children:d.icon})})]})}let o={in_progress:{title:"In Progress",icon:"\uD83D\uDD04",color:"var(--status-in-progress)",description:"Currently being worked on by the daemon"},blocked:{title:"Blocked",icon:"\uD83D\uDEA7",color:"var(--status-blocked)",description:"Waiting for input or resolution"},queued:{title:"Queued",icon:"\uD83D\uDCCB",color:"var(--status-queued)",description:"Ready to be picked up"},completed:{title:"Completed",icon:"✅",color:"var(--status-completed)",description:"Successfully finished"}};function d(e){let{tasks:t,onSelectTask:a}=e;if(0===t.length)return(0,s.jsxs)("div",{className:"text-center py-20 animate-fade-in",children:[(0,s.jsx)("div",{className:"inline-flex items-center justify-center w-16 h-16 rounded-2xl bg-[var(--card-bg)] border border-[var(--card-border)] mb-4",children:(0,s.jsx)("span",{className:"text-3xl",children:"\uD83D\uDCCB"})}),(0,s.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"No tasks yet"}),(0,s.jsx)("p",{className:"text-[var(--muted-foreground)] text-sm max-w-md mx-auto",children:"Create your first task to get started. Tasks will appear here organized by status."})]});let r=t.filter(e=>"in_progress"===e.status),l=t.filter(e=>"queued"===e.status),d=t.filter(e=>"blocked"===e.status),i=t.filter(e=>"completed"===e.status||"failed"===e.status),c=(e,t)=>{if(0===t.length)return null;let r=o[e];return(0,s.jsxs)("section",{className:"mb-8 animate-fade-in-up",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3 mb-4",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 rounded-lg",style:{backgroundColor:"color-mix(in srgb, ".concat(r.color," 10%, transparent)")},children:[(0,s.jsx)("span",{className:"text-lg",children:r.icon}),(0,s.jsx)("h3",{className:"text-sm font-semibold",style:{color:r.color},children:r.title}),(0,s.jsx)("span",{className:"px-2 py-0.5 rounded-full text-xs font-medium",style:{backgroundColor:"color-mix(in srgb, ".concat(r.color," 15%, transparent)"),color:r.color},children:t.length})]}),(0,s.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] hidden sm:block",children:r.description})]}),(0,s.jsx)("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:t.map((e,t)=>(0,s.jsx)("div",{className:"animate-fade-in-up",style:{animationDelay:"".concat(50*t,"ms")},children:(0,s.jsx)(n,{task:e,onClick:()=>null==a?void 0:a(e)})},e.id))})]})};return(0,s.jsxs)("div",{children:[c("in_progress",r),c("blocked",d),c("queued",l),c("completed",i)]})}},4647:(e,t,a)=>{"use strict";a.d(t,{A:()=>i,AuthProvider:()=>d});var s=a(5155),r=a(2115),l=a(1483),n=a(5704);let o=(0,r.createContext)({user:null,loading:!0,signOut:async()=>{}});function d(e){let{children:t}=e,a="1"===n.env.NEXT_PUBLIC_AGX_BOARD_DISABLE_AUTH,[d,i]=(0,r.useState)(null),[c,u]=(0,r.useState)(!0);(0,r.useEffect)(()=>{if(a){i({id:n.env.NEXT_PUBLIC_AGX_BOARD_USER_ID||"00000000-0000-0000-0000-000000000001",email:n.env.NEXT_PUBLIC_AGX_BOARD_USER_EMAIL||"local@agx.board",user_metadata:{name:n.env.NEXT_PUBLIC_AGX_BOARD_USER_NAME||"Local Board User",full_name:n.env.NEXT_PUBLIC_AGX_BOARD_USER_NAME||"Local Board User"},app_metadata:{},aud:"authenticated",created_at:new Date().toISOString()}),u(!1);return}let e=(0,l.O)();e.auth.getSession().then(e=>{var t,a;i(null!=(a=null==(t=e.data.session)?void 0:t.user)?a:null),u(!1)});let{data:{subscription:t}}=e.auth.onAuthStateChange((e,t)=>{var a;i(null!=(a=null==t?void 0:t.user)?a:null),u(!1)});return()=>t.unsubscribe()},[a]);let m=async()=>{if(a)return;let e=(0,l.O)();await e.auth.signOut(),i(null)};return(0,s.jsx)(o.Provider,{value:{user:d,loading:c,signOut:m},children:t})}function i(){return(0,r.useContext)(o)}},9620:(e,t,a)=>{Promise.resolve().then(a.bind(a,415))}},e=>{e.O(0,[5004,277,2619,650,9027,9719,2456,9337,8441,1255,7358],()=>e(e.s=9620)),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5105],{63:(e,t,a)=>{"use strict";var s=a(7260);a.o(s,"usePathname")&&a.d(t,{usePathname:function(){return s.usePathname}}),a.o(s,"useRouter")&&a.d(t,{useRouter:function(){return s.useRouter}}),a.o(s,"useSearchParams")&&a.d(t,{useSearchParams:function(){return s.useSearchParams}})},415:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>f});var s=a(5155),r=a(2115),l=a(63),n=a(1460),o=a(2888),d=a(6779),i=a(2835),c=a(5826),u=a(2325),m=a(8545);function x(e){let{onClose:t,workflowId:a}=e,{workflow:l,isLoading:n,refetch:o}=(0,u.mP)({workflowId:a}),{providers:d}=(0,m.u)(),[i,c]=(0,r.useState)([]),[x,p]=(0,r.useState)(null),[h,v]=(0,r.useState)(!1),[g,b]=(0,r.useState)({}),f=e=>u.ls[e]||{icon:"\uD83D\uDCCC",label:e.charAt(0).toUpperCase()+e.slice(1),color:"var(--primary)"};(0,r.useEffect)(()=>{let e=(Array.isArray(null==l?void 0:l.nodes)?l.nodes:[]).slice().sort((e,t)=>(e.position||0)-(t.position||0)).map(e=>{var t,a;return{id:e.id,name:e.name,label:e.label||e.name,prompt:e.prompt||"",provider:e.provider||"codex",model:e.model||"",swarm:!!(null==e||null==(t=e.metadata)?void 0:t.swarm),swarm_models:Array.isArray(null==e||null==(a=e.metadata)?void 0:a.swarm_models)?e.metadata.swarm_models:[],metadata:(null==e?void 0:e.metadata)&&"object"==typeof e.metadata?e.metadata:{}}});c(e),b({}),p(t=>t&&e.some(e=>e.id===t)?t:e.length?e[0].id:null)},[null==l?void 0:l.id,null==l?void 0:l.nodes]);let j=i.findIndex(e=>e.id===x),w=j>=0?i[j]:null,N=w?{...w,...g[w.id]||{}}:null,y=(e,t)=>{w&&b(a=>({...a,[w.id]:{...a[w.id]||{},[e]:t}}))},k=async()=>{if(l){v(!0);try{let e=i.map(e=>{let t={...e,...g[e.id]||{}};return{...t,metadata:{...t.metadata||{},swarm:!!t.swarm,swarm_models:t.swarm_models||[]}}}),a=await fetch("/api/workflows/".concat(l.id,"/nodes"),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({nodes:e.map(e=>({id:e.id,prompt:e.prompt,provider:e.provider,model:e.model,metadata:e.metadata}))})});if(!a.ok)throw Error("Failed to save workflow");await a.json(),o(),b({}),t()}catch(e){console.error("Error saving workflow:",e)}finally{v(!1)}}};return n&&!l?(0,s.jsx)("div",{className:"modal-backdrop p-4 flex items-center justify-center",children:(0,s.jsx)("span",{className:"spinner w-8 h-8 border-2 border-white/20 border-t-white"})}):(0,s.jsx)("div",{className:"modal-backdrop p-4",onClick:e=>e.target===e.currentTarget&&t(),children:(0,s.jsxs)("div",{className:"modal-content w-full max-w-5xl h-[85vh] flex flex-col animate-scale-in p-0 bg-[var(--card-bg)] overflow-hidden rounded-xl border border-[var(--card-border)] shadow-2xl",children:[(0,s.jsxs)("div",{className:"px-6 py-4 border-b border-[var(--border)] flex items-center justify-between bg-[var(--background)]",children:[(0,s.jsxs)("div",{children:[(0,s.jsxs)("h2",{className:"text-lg font-bold flex items-center gap-2",children:[(0,s.jsx)("span",{children:"⚙️"})," Workflow Configuration"]}),(0,s.jsxs)("p",{className:"text-xs text-[var(--muted-foreground)] mt-0.5",children:["Editing: ",(0,s.jsx)("span",{className:"font-mono text-[var(--foreground)]",children:(null==l?void 0:l.name)||"Loading..."})]})]}),(0,s.jsx)("button",{onClick:t,className:"btn-ghost p-2 rounded",children:(0,s.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,s.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[(0,s.jsxs)("div",{className:"w-64 bg-[var(--muted)]/30 border-r border-[var(--border)] overflow-y-auto p-4 flex flex-col gap-1",children:[(0,s.jsx)("div",{className:"flex items-center justify-between mb-2 px-2",children:(0,s.jsx)("span",{className:"text-xs font-bold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Steps"})}),0===i.length&&(0,s.jsx)("div",{className:"text-sm text-[var(--muted-foreground)] px-2 italic",children:"No steps defined in this workflow."}),i.map(e=>{let t=f(e.name),a=!!g[e.id];return(0,s.jsxs)("button",{onClick:()=>p(e.id),className:"w-full text-left px-3 py-2.5 rounded-lg text-sm font-medium transition-all flex items-center gap-3 ".concat(x===e.id?"bg-[var(--card-bg)] text-[var(--foreground)] shadow-sm border border-[var(--border)]":"text-[var(--muted-foreground)] hover:bg-[var(--card-bg)]/50"),children:[(0,s.jsx)("span",{className:"text-base",children:t.icon}),(0,s.jsx)("span",{className:"flex-1 truncate",children:e.label||t.label}),a&&(0,s.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--accent)]"})]},e.id)})]}),(0,s.jsxs)("div",{className:"flex-1 overflow-y-auto p-8 relative bg-[var(--card-bg)]",children:[N?(0,s.jsxs)("div",{className:"max-w-3xl mx-auto space-y-8 animate-fade-in",children:[(0,s.jsxs)("div",{className:"flex items-center gap-4 pb-6 border-b border-[var(--border)]",children:[(0,s.jsx)("div",{className:"w-12 h-12 rounded-xl bg-[var(--muted)]/50 flex items-center justify-center text-2xl shadow-inner",children:f(N.name).icon}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h3",{className:"text-xl font-bold",children:N.label}),(0,s.jsxs)("p",{className:"text-sm text-[var(--muted-foreground)] font-mono opacity-70",children:["ID: ",N.id," • Key: ",N.name]})]})]}),(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)("label",{className:"text-sm font-semibold uppercase tracking-wider text-[var(--muted-foreground)]",children:"System Prompt"}),(0,s.jsx)("span",{className:"text-xs text-[var(--muted-foreground)] bg-[var(--muted)]/50 px-2 py-0.5 rounded",children:"Markdown Supported"})]}),(0,s.jsx)("textarea",{value:N.prompt||"",onChange:e=>y("prompt",e.target.value),className:"input w-full h-64 font-mono text-sm leading-relaxed resize-y p-4",placeholder:"Define the agent's behavior, constraints, and output format for this stage..."})]}),(0,s.jsxs)("div",{className:"p-6 rounded-xl bg-[var(--muted)]/20 border border-[var(--border)] space-y-6",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("h4",{className:"font-semibold flex items-center gap-2",children:[(0,s.jsx)("span",{children:"\uD83E\uDD16"})," Model Settings"]}),(0,s.jsxs)("div",{className:"flex items-center gap-3 bg-[var(--card-bg)] px-3 py-1.5 rounded-lg border border-[var(--border)]",children:[(0,s.jsx)("span",{className:"text-sm font-medium",children:"Swarm Mode"}),(0,s.jsx)("button",{onClick:()=>y("swarm",!N.swarm),className:"w-9 h-5 rounded-full transition-colors relative ".concat(N.swarm?"bg-[var(--primary)]":"bg-[var(--muted-foreground)]/30"),children:(0,s.jsx)("span",{className:"absolute top-0.5 left-0.5 w-4 h-4 bg-white rounded-full transition-transform ".concat(N.swarm?"translate-x-4":"translate-x-0")})})]})]}),N.swarm?(0,s.jsxs)("div",{className:"space-y-4 animate-fade-in",children:[(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsx)("span",{className:"text-sm font-medium text-[var(--muted-foreground)]",children:"Swarm Models"}),(0,s.jsx)("button",{onClick:()=>{y("swarm_models",[...N.swarm_models||[],{provider:"gemini",model:""}])},className:"btn-secondary text-xs px-2 py-1",children:"+ Add Model"})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[0===(N.swarm_models||[]).length&&(0,s.jsx)("div",{className:"text-center py-8 border-2 border-dashed border-[var(--border)] rounded-lg text-sm text-[var(--muted-foreground)]",children:"No models configured for swarm. Add one to enable."}),(N.swarm_models||[]).map((e,t)=>(0,s.jsxs)("div",{className:"flex gap-2 items-center group",children:[(0,s.jsx)("select",{value:e.provider,onChange:e=>{let a=[...N.swarm_models||[]];a[t].provider=e.target.value,y("swarm_models",a)},className:"input text-sm py-1.5 w-32",children:d.map(e=>(0,s.jsx)("option",{value:e.id,children:e.label},e.id))}),(0,s.jsx)("input",{value:e.model,onChange:e=>{let a=[...N.swarm_models||[]];a[t].model=e.target.value,y("swarm_models",a)},placeholder:"Model name (e.g. gemini-1.5-pro)",className:"input text-sm py-1.5 flex-1"}),(0,s.jsx)("button",{onClick:()=>{y("swarm_models",(N.swarm_models||[]).filter((e,a)=>a!==t))},className:"text-[var(--muted-foreground)] hover:text-[var(--destructive)] hover:bg-[var(--destructive)]/10 p-1.5 rounded opacity-0 group-hover:opacity-100 transition-all",children:"✕"})]},t))]})]}):(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-4 animate-fade-in",children:[(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)("label",{className:"text-xs font-semibold text-[var(--muted-foreground)] uppercase",children:"Provider"}),(0,s.jsx)("select",{value:N.provider||"gemini",onChange:e=>y("provider",e.target.value),className:"input w-full text-sm py-2",children:d.map(e=>(0,s.jsx)("option",{value:e.id,children:e.label},e.id))})]}),(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)("label",{className:"text-xs font-semibold text-[var(--muted-foreground)] uppercase",children:"Model"}),(0,s.jsx)("input",{value:N.model||"",onChange:e=>y("model",e.target.value),placeholder:"e.g. gemini-2.0-flash",className:"input w-full text-sm py-2"})]})]})]})]}):null,!w&&i.length>0&&(0,s.jsxs)("div",{className:"flex flex-col items-center justify-center h-full text-[var(--muted-foreground)]",children:[(0,s.jsx)("span",{className:"text-4xl mb-4 opacity-30",children:"\uD83D\uDC48"}),(0,s.jsx)("p",{children:"Select a step from the sidebar to configure it."})]})]})]}),(0,s.jsxs)("div",{className:"px-6 py-4 border-t border-[var(--border)] bg-[var(--background)] flex justify-end gap-3",children:[(0,s.jsx)("button",{onClick:t,className:"btn-ghost px-4 py-2",children:"Cancel"}),(0,s.jsxs)("button",{onClick:k,disabled:h||0===Object.keys(g).length,className:"btn-primary px-6 py-2 flex items-center gap-2",children:[h&&(0,s.jsx)("span",{className:"spinner w-4 h-4 border-2 border-white/20 border-t-white"}),h?"Saving...":"Save Changes"]})]})]})})}var p=a(577),h=a(91);function v(){return(0,s.jsxs)("div",{className:"p-4 rounded-xl bg-[var(--card-bg)] border border-[var(--card-border)]",children:[(0,s.jsxs)("div",{className:"flex items-start justify-between mb-3",children:[(0,s.jsxs)("div",{className:"flex-1",children:[(0,s.jsxs)("div",{className:"flex gap-2 mb-2",children:[(0,s.jsx)("div",{className:"skeleton h-4 w-8 rounded"}),(0,s.jsx)("div",{className:"skeleton h-4 w-16 rounded"})]}),(0,s.jsx)("div",{className:"skeleton h-5 w-3/4 rounded"})]}),(0,s.jsx)("div",{className:"skeleton h-5 w-20 rounded-full"})]}),(0,s.jsxs)("div",{className:"flex justify-between",children:[(0,s.jsx)("div",{className:"skeleton h-4 w-24 rounded"}),(0,s.jsx)("div",{className:"skeleton h-4 w-12 rounded"})]})]})}function g(){return(0,s.jsx)("div",{className:"flex gap-4 overflow-x-auto pb-4 px-4",children:[1,2,3,4,5].map(e=>(0,s.jsxs)("div",{className:"flex-shrink-0 w-72 kanban-column",children:[(0,s.jsx)("div",{className:"kanban-column-header",children:(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("div",{className:"skeleton h-6 w-6 rounded"}),(0,s.jsx)("div",{className:"skeleton h-5 w-20 rounded"})]}),(0,s.jsx)("div",{className:"skeleton h-5 w-6 rounded-full"})]})}),(0,s.jsx)("div",{className:"p-2 space-y-2",children:[1,2].map(e=>(0,s.jsxs)("div",{className:"p-3 rounded-lg bg-[var(--background)] border-l-2 border-[var(--card-border)]",children:[(0,s.jsx)("div",{className:"skeleton h-3 w-12 rounded mb-2"}),(0,s.jsx)("div",{className:"skeleton h-4 w-full rounded mb-2"}),(0,s.jsx)("div",{className:"skeleton h-3 w-20 rounded"})]},e))})]},e))})}function b(){var e,t,a,b;let f=(0,l.useRouter)(),j=(0,l.useSearchParams)(),w=(0,l.usePathname)(),N=(null==j?void 0:j.get("project"))||void 0,y=j.get("view")||"kanban",k=j.get("sort")||"newest",[C,_]=(0,r.useState)(y),[S,A]=(0,r.useState)(k),[T,D]=(0,r.useState)("all"),[E,L]=(0,r.useState)(""),[P,I]=(0,r.useState)(null),[B,R]=(0,r.useState)(null),[M,U]=(0,r.useState)(!1),[q,F]=(0,r.useState)(null),[O,X]=(0,r.useState)(!1),[z,W]=(0,r.useState)(""),[G,V]=(0,r.useState)(!1),[H,K]=(0,r.useState)("single"),[Q,Y]=(0,r.useState)("gemini"),[J,Z]=(0,r.useState)(""),[$,ee]=(0,r.useState)([]),[et,ea]=(0,r.useState)("gemini"),[es,er]=(0,r.useState)(""),[el,en]=(0,r.useState)(null),[eo,ed]=(0,r.useState)(!1),[ei,ec]=(0,r.useState)(!1),[eu,em]=(0,r.useState)(null),{providers:ex}=(0,m.u)();(0,r.useEffect)(()=>{let e=e=>{let t=e.target,a=["INPUT","TEXTAREA","SELECT"].includes(t.tagName)||t.isContentEditable;if("n"!==e.key||a||(e.preventDefault(),X(!0)),"/"===e.key&&!a){var s;e.preventDefault(),null==(s=document.getElementById("task-search"))||s.focus()}};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[]);let{tasks:ep,isLoading:eh,createTask:ev,updateTask:eg,deleteTask:eb,completeTaskStage:ef,cancelWorkflow:ej,refetch:ew,cancellingTaskId:eN,fetchTask:ey}=(0,p.si)({realtime:!0,project:N}),{projects:ek,isLoading:eC}=(0,h.Y)(),{comments:e_,addComment:eS,deleteComment:eA}=(0,p.LU)((null==P?void 0:P.id)||null),{learnings:eT,addLearning:eD}=(0,p.dF)((null==P?void 0:P.id)||void 0),{workflow:eE,stages:eL,stageConfig:eP,isValidTransition:eI,isLoading:eB}=(0,u.mP)(),eR=(0,r.useMemo)(()=>eL.map(e=>{var t;let a=eP[e],s=null==eE||null==(t=eE.nodes)?void 0:t.find(t=>t.name===e);return{id:e,label:(null==a?void 0:a.label)||e,icon:(null==a?void 0:a.icon)||"\uD83D\uDCCC",color:(null==a?void 0:a.color)||"var(--primary)",prompt:(null==s?void 0:s.prompt)||void 0}}),[eL,eP,eE]),eM=e=>{_(e);let t=new URLSearchParams(j);t.set("view",e),f.push("".concat(w,"?").concat(t.toString()))},eU=(0,r.useMemo)(()=>{let e=[...ep];if(E){let t=E.toLowerCase();e=e.filter(e=>{var a,s,r;return(null==(a=e.title)?void 0:a.toLowerCase().includes(t))||(null==(s=e.description)?void 0:s.toLowerCase().includes(t))||e.id.toLowerCase().includes(t)||(null==(r=e.project)?void 0:r.toLowerCase().includes(t))})}return"all"!==T&&(e="active"===T?e.filter(e=>"completed"!==e.status&&"failed"!==e.status):e.filter(e=>e.status===T)),e.sort((e,t)=>{switch(S){case"newest":return new Date(t.created_at).getTime()-new Date(e.created_at).getTime();case"oldest":return new Date(e.created_at).getTime()-new Date(t.created_at).getTime();case"priority":return(e.priority||0)-(t.priority||0);case"updated":return new Date(t.updated_at).getTime()-new Date(e.updated_at).getTime();default:return 0}}),e},[ep,E,T,S]),eq=(0,r.useCallback)(async(e,t)=>{t&&I(t);try{let t=await ey(e);return I(t),t}catch(e){return console.error("Failed to load task details:",e),t||I(null),null!=t?t:null}},[ey]),eF=(0,r.useCallback)(async e=>{await eq(e.id,e)},[eq]),eO=(0,r.useCallback)(async e=>{var t,a;let s=N?ek.find(e=>e.slug===N):null;R({stage:e,project:null!=(t=null==s?void 0:s.slug)?t:null,project_id:null!=(a=null==s?void 0:s.id)?a:null})},[N,ek]),eX=(0,r.useCallback)(async e=>{var t,a;let s=(e.description||"").trim();if(!s)return;ec(!0);let r=e.stage||(null==B?void 0:B.stage)||"ideation";em(r);let l="done"===r?"completed":"ideation"===r?"queued":"in_progress",n=(null==eP||null==(t=eP[r])?void 0:t.label)||r,o=(e.title||"").trim()||s.split("\n")[0].replace(/^#\s*/,"")||"New Task (".concat(n,")"),d=["status: ".concat(l),"stage: ".concat(r)],i=e.project_id&&ek.find(t=>t.id===e.project_id)||e.project&&ek.find(t=>t.slug===e.project)||(N?ek.find(e=>e.slug===N):null);i&&(d.push("project: ".concat(i.slug)),d.push("project_id: ".concat(i.id)),d.push("workflow_id: ".concat(i.workflow_id||u.ou))),e.provider&&d.push("provider: ".concat(e.provider)),e.model&&d.push("model: ".concat(e.model)),void 0!==e.swarm&&d.push("swarm: ".concat(e.swarm?"true":"false"));let c="---\n".concat(d.join("\n"),"\n---\n\n# ").concat(o,"\n\n").concat(s);try{let t=e.swarm?null!=(a=e.swarm_models)?a:[]:null,s=await ev(c,t);R(null),await eq(s.id,s)}catch(e){console.error("Failed to create task:",e)}finally{ec(!1),em(null)}},[ev,B,eq,N,ek,eP]),ez=(0,r.useCallback)(async(e,t)=>{await eg(e,t)},[eg]),eW=async e=>{let t=ep.find(t=>t.id===e);F(null);try{var a;await ej({taskId:e}),await ew(),F({type:"success",message:"Cancellation requested for ".concat((null==t?void 0:t.title)||(null==t||null==(a=t.content)?void 0:a.slice(0,30))||e,".")})}catch(s){console.error("Failed to stop task",s);let a=s instanceof Error?s.message:"unknown error";F({type:"error",message:"Unable to stop ".concat((null==t?void 0:t.title)||e,": ").concat(a,".")})}},eG=async e=>{try{await ef({taskId:e,decision:"not_done",final_result:"Manual retry requested.",explanation:"Manual retry requested."})}catch(e){console.error("Failed to retry task",e)}};(0,r.useEffect)(()=>{if(!q)return;let e=setTimeout(()=>F(null),5e3);return()=>clearTimeout(e)},[q]);let eV=async()=>{if(z.trim()&&!G){V(!0);try{var e;let t=["status: queued","stage: ideation"];"single"!==H&&t.push("swarm: true");let a=el||(N?null==(e=ek.find(e=>e.slug===N))?void 0:e.id:null);if(a){let e=ek.find(e=>e.id===a);e&&(t.push("project: ".concat(e.slug)),t.push("project_id: ".concat(e.id)),t.push("workflow_id: ".concat(e.workflow_id||u.ou)))}let s="---\n".concat(t.join("\n"),"\n---\n\n# ").concat(z,"\n");await ev(s,"swarm"===H?$:null),W(""),K("single"),Y("gemini"),Z(""),ee([]),ea("gemini"),er(""),X(!1),en(null)}catch(e){console.error("Failed to create task:",e)}finally{V(!1)}}},eH=async(e,t)=>{let a="---\n".concat(["status: ".concat("ideation"===t?"queued":"in_progress"),"stage: ".concat(t)].join("\n"),"\n---\n\n# ").concat(e,"\n");await ev(a,null),ed(!1)},eK=async e=>{P&&await eS(e)},eQ=async(e,t,a)=>{var s,r;let l=(null==P||null==(r=P.project_context)||null==(s=r.project)?void 0:s.id)||(null==P?void 0:P.project_id)||(null==P?void 0:P.project)||void 0,n=null!=a?a:"global"===t?void 0:"task"===t?null==P?void 0:P.id:l;await eD(e,t,n)},eY=async e=>{P&&(I(t=>t?{...t,...e}:null),await eg(P.id,e))};return(ep.length,ep.filter(e=>"in_progress"===e.status).length,ep.filter(e=>"queued"===e.status).length,ep.filter(e=>"completed"===e.status).length,(eh||eB)&&0===ep.length)?(0,s.jsxs)("div",{className:"h-full flex flex-col p-6 animate-pulse",children:[(0,s.jsxs)("div",{className:"flex justify-between items-center mb-8",children:[(0,s.jsx)("div",{className:"h-8 w-48 bg-[var(--card-border)] rounded"}),(0,s.jsx)("div",{className:"h-10 w-32 bg-[var(--card-border)] rounded"})]}),(0,s.jsx)("div",{className:"h-12 w-full bg-[var(--card-border)] rounded mb-8"}),"kanban"===C?(0,s.jsx)(g,{}):(0,s.jsx)("div",{className:"space-y-4",children:[1,2,3].map(e=>(0,s.jsx)(v,{},e))})]}):(0,s.jsx)(n.A,{fullWidth:!0,noFooter:!0,children:(0,s.jsxs)("div",{className:"flex flex-col h-full ".concat("kanban"===C?"max-w-full":"max-w-6xl mx-auto w-full px-4"),children:[(0,s.jsxs)("div",{className:"relative flex items-center justify-center gap-4 py-3 px-4 border-b border-[var(--border)] bg-[var(--background)] flex-shrink-0 z-20",children:[(0,s.jsxs)("div",{className:"flex items-center gap-4",children:[(0,s.jsxs)("div",{className:"relative w-80",children:[(0,s.jsx)("div",{className:"absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none",children:(0,s.jsx)("svg",{className:"h-5 w-5 text-gray-400",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M9 3.5a5.5 5.5 0 100 11 5.5 5.5 0 000-11zM2 9a7 7 0 1112.452 4.391l3.328 3.329a.75.75 0 11-1.06 1.06l-3.329-3.328A7 7 0 012 9z",clipRule:"evenodd"})})}),(0,s.jsx)("input",{id:"task-search",type:"text",placeholder:"Search tasks... (/)",className:"block w-full rounded-md border-0 py-1.5 pl-10 text-gray-900 ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6 bg-white shadow-sm",value:E,onChange:e=>L(e.target.value)})]}),(0,s.jsxs)("div",{className:"flex items-center bg-gray-100 p-1 rounded-lg border border-gray-200",children:[(0,s.jsx)("button",{onClick:()=>eM("list"),className:"px-3 py-1 text-xs font-medium rounded transition-all ".concat("list"===C?"bg-white shadow-sm text-gray-900":"text-gray-500 hover:text-gray-700"),children:"List"}),(0,s.jsx)("button",{onClick:()=>eM("kanban"),className:"px-3 py-1 text-xs font-medium rounded transition-all ".concat("kanban"===C?"bg-white shadow-sm text-gray-900":"text-gray-500 hover:text-gray-700"),children:"Board"})]}),(0,s.jsxs)("button",{onClick:()=>U(!0),className:"flex items-center gap-2 px-3 py-1.5 text-xs font-medium text-gray-700 bg-white border border-gray-200 rounded-lg shadow-sm hover:bg-gray-50 transition-all",title:"Configure Workflow",children:[(0,s.jsx)("span",{className:"text-base leading-none",children:"⚙️"}),(0,s.jsx)("span",{children:"Workflow"})]})]}),(0,s.jsx)("div",{className:"absolute right-4 flex items-center gap-3"})]}),q&&(0,s.jsx)("div",{className:"px-4 mt-3",children:(0,s.jsx)("div",{role:"status",className:"rounded-xl px-4 py-2 text-xs font-semibold ".concat("success"===q.type?"bg-[var(--success-muted)] text-[var(--success)]":"bg-[var(--destructive-muted)] text-[var(--destructive)]"),children:q.message})}),(0,s.jsx)("div",{className:"flex-shrink-0 mt-2 px-4",children:(0,s.jsx)(i.A,{tasks:ep,onTaskClick:I,onStop:eW,onRetry:eG,cancellingTaskId:eN})}),(0,s.jsx)("div",{className:"flex-1 min-h-0 overflow-hidden flex flex-col pt-2",children:"list"===C?(0,s.jsx)("div",{className:"overflow-y-auto h-full px-4",children:(0,s.jsx)(o.A,{tasks:eU,onSelectTask:eF,onStatusChange:(e,t)=>ez(e,{status:t})})}):(0,s.jsx)(d.A,{tasks:eU,onSelectTask:eF,onTasksChange:()=>{},onTaskUpdate:ez,onAddTask:eO,stages:eL,stageConfig:eP,isValidTransition:eI,isCreatingTask:ei,creatingStage:eu})}),P&&(0,s.jsx)(c.A,{task:P,comments:P?e_:[],learnings:eT,projectContext:P.project_context,projects:ek,stages:eR,onClose:()=>I(null),onAddComment:eK,onDeleteComment:eA,onAddLearning:eQ,onUpdate:eY,onDelete:async()=>{await eb(P.id),I(null)}}),B&&(0,s.jsx)(c.A,{task:{id:"draft",title:"",description:"",content:"",stage:B.stage,status:"done"===B.stage?"completed":"ideation"===B.stage?"queued":"in_progress",created_at:new Date().toISOString(),project:null!=(a=null!=(t=B.project)?t:N)?a:void 0,project_id:null!=(b=B.project_id)?b:N?null==(e=ek.find(e=>e.slug===N))?void 0:e.id:void 0,provider:B.provider,model:B.model,swarm:B.swarm,swarm_models:B.swarm_models},comments:[],learnings:[],projectContext:null,projects:ek,stages:eR,isDraft:!0,isCreating:ei,onClose:()=>R(null),onAddComment:()=>{},onAddLearning:()=>{},onUpdate:async e=>{if(B){if(e.description||e.title)return void await eX({...B,...e});R(t=>t?{...t,...e}:t)}}}),eo&&(0,s.jsx)("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",children:(0,s.jsxs)("div",{className:"bg-[var(--card-bg)] p-6 rounded-xl w-full max-w-md shadow-2xl border border-[var(--card-border)] animate-scale-in",children:[(0,s.jsx)("h3",{className:"text-lg font-bold mb-4",children:"New Task"}),(0,s.jsxs)("form",{onSubmit:e=>{e.preventDefault();let t=e.target;eH(t.elements.namedItem("title").value,t.elements.namedItem("stage").value)},children:[(0,s.jsx)("input",{name:"title",autoFocus:!0,placeholder:"Task title...",className:"w-full mb-4 px-3 py-2 bg-[var(--background)] border border-[var(--card-border)] rounded focus:border-[var(--primary)] outline-none",required:!0}),(0,s.jsx)("select",{name:"stage",className:"w-full mb-6 px-3 py-2 bg-[var(--background)] border border-[var(--card-border)] rounded focus:border-[var(--primary)] outline-none",children:eL.map(e=>{var t;return(0,s.jsx)("option",{value:e,children:(null==(t=eP[e])?void 0:t.label)||e},e)})}),(0,s.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,s.jsx)("button",{type:"button",onClick:()=>ed(!1),className:"btn-ghost",children:"Cancel"}),(0,s.jsx)("button",{type:"submit",className:"btn-primary",children:"Create Task"})]})]})]})}),M&&(0,s.jsx)(x,{onClose:()=>U(!1),workflowId:null==eE?void 0:eE.id}),O&&(0,s.jsx)("div",{className:"modal-backdrop p-4",onClick:e=>e.target===e.currentTarget&&X(!1),children:(0,s.jsxs)("div",{className:"modal-content w-full max-w-lg p-6 animate-scale-in",children:[(0,s.jsxs)("h2",{className:"text-xl font-bold mb-4 flex items-center gap-2",children:[(0,s.jsx)("span",{children:"✨"})," New Task"]}),(0,s.jsxs)("div",{className:"flex items-center gap-2 mb-4",children:[(0,s.jsx)("button",{onClick:()=>K("single"),className:"px-3 py-1.5 text-xs font-semibold rounded-md uppercase tracking-wide transition-all ".concat("single"===H?"bg-[var(--card-bg)] text-[var(--primary)] shadow-sm border border-[var(--border)]":"text-[var(--muted-foreground)] hover:text-[var(--foreground)] border border-transparent"),children:"Single Agent"}),(0,s.jsx)("button",{onClick:()=>K("swarm"),className:"px-3 py-1.5 text-xs font-semibold rounded-md uppercase tracking-wide transition-all ".concat("swarm"===H?"bg-[var(--card-bg)] text-[var(--primary)] shadow-sm border border-[var(--border)]":"text-[var(--muted-foreground)] hover:text-[var(--foreground)] border border-transparent"),children:"Swarm"})]}),(0,s.jsx)("textarea",{value:z,onChange:e=>W(e.target.value),placeholder:"Describe what needs to be done...",className:"input h-32 resize-none mb-4",autoFocus:!0,disabled:G}),(0,s.jsxs)("label",{className:"text-xs font-semibold mb-3 block",children:["Attach to project",(0,s.jsxs)("select",{value:null!=el?el:"",onChange:e=>en(e.target.value||null),className:"input text-sm mt-1",disabled:eC,children:[(0,s.jsxs)("option",{value:"",children:["None (Current: ",N||"All",")"]}),ek.map(e=>(0,s.jsx)("option",{value:e.id,children:e.name},e.id))]})]}),"single"===H?(0,s.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2 mb-4",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"block text-[11px] font-medium text-[var(--muted-foreground)] mb-1",children:"Provider"}),(0,s.jsx)("select",{value:Q,onChange:e=>Y(e.target.value),className:"input text-xs py-1.5 appearance-none",children:ex.map(e=>(0,s.jsx)("option",{value:e.id,children:e.label},e.id))})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"block text-[11px] font-medium text-[var(--muted-foreground)] mb-1",children:"Model"}),(0,s.jsx)("input",{value:J,onChange:e=>Z(e.target.value),placeholder:"e.g. gpt-4.1-mini",className:"input text-xs py-1.5"})]})]}):(0,s.jsx)("div",{className:"mb-4 space-y-3",children:(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"block text-[11px] font-medium text-[var(--muted-foreground)] mb-2",children:"Swarm Models"}),(0,s.jsxs)("div",{className:"grid gap-2",children:[(0,s.jsxs)("div",{className:"grid grid-cols-[1fr_1.2fr_auto] gap-2",children:[(0,s.jsx)("select",{value:et,onChange:e=>ea(e.target.value),className:"input text-xs py-1.5 appearance-none",children:ex.map(e=>(0,s.jsx)("option",{value:e.id,children:e.label},e.id))}),(0,s.jsx)("input",{value:es,onChange:e=>er(e.target.value),placeholder:"model name",className:"input text-xs py-1.5"}),(0,s.jsx)("button",{type:"button",onClick:()=>{let e=es.trim();if(!e)return;let t={provider:et,model:e};$.some(e=>e.provider.toLowerCase()===t.provider.toLowerCase()&&e.model.toLowerCase()===t.model.toLowerCase())||(ee(e=>[...e,t]),er(""))},className:"btn-ghost px-3 py-1.5 text-xs",children:"Add"})]}),$.length>0&&(0,s.jsx)("div",{className:"space-y-1",children:$.map((e,t)=>(0,s.jsxs)("div",{className:"flex items-center justify-between px-3 py-1.5 rounded-md border text-xs bg-[var(--background)] border-[var(--border)]",children:[(0,s.jsxs)("span",{className:"truncate",children:[(0,s.jsx)("span",{className:"text-[var(--muted-foreground)]",children:e.provider}),(0,s.jsx)("span",{className:"mx-1",children:"\xb7"}),(0,s.jsx)("span",{children:e.model})]}),(0,s.jsx)("button",{type:"button",onClick:()=>{ee(e=>e.filter((e,a)=>a!==t))},className:"text-[var(--destructive)] hover:underline",children:"Remove"})]},"".concat(e.provider,"-").concat(e.model,"-").concat(t)))})]})]})}),(0,s.jsxs)("div",{className:"flex justify-end gap-3",children:[(0,s.jsx)("button",{onClick:()=>{X(!1),W(""),K("single"),Y("gemini"),Z(""),ee([]),ea("gemini"),er("")},disabled:G,className:"btn-ghost px-4 py-2",children:"Cancel"}),(0,s.jsx)("button",{onClick:eV,disabled:!z.trim()||G||"swarm"===H&&0===$.length,className:"btn-primary px-4 py-2 flex items-center gap-2",children:G?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:"spinner w-4 h-4 border-2 border-white/20 border-t-white"}),"Creating..."]}):"Create Task"})]})]})})]})})}function f(){return(0,s.jsx)(r.Suspense,{fallback:(0,s.jsx)("div",{className:"p-8",children:"Loading..."}),children:(0,s.jsx)(b,{})})}},1460:(e,t,a)=>{"use strict";a.d(t,{A:()=>m});var s=a(5155),r=a(2619),l=a.n(r),n=a(63),o=a(4647),d=a(91),i=a(2115);function c(e){let{children:t,fullWidth:a=!1,noFooter:r=!1}=e;(0,n.usePathname)(),(0,n.useRouter)();let c=(0,n.useSearchParams)(),{user:u,loading:m,signOut:x}=(0,o.A)(),{projects:p,isLoading:h}=(0,d.Y)(),v=null==c?void 0:c.get("project");return(0,i.useMemo)(()=>v?p.find(e=>e.slug===v):null,[p,v]),(0,s.jsxs)("div",{className:"h-screen flex flex-col overflow-hidden",children:[(0,s.jsx)("nav",{className:"flex-shrink-0 border-b border-[var(--card-border)] bg-[var(--card-bg)]/80 backdrop-blur-lg z-30",children:(0,s.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,s.jsxs)("div",{className:"flex items-center justify-between h-16",children:[(0,s.jsx)("div",{className:"flex items-center gap-8",children:(0,s.jsxs)(l(),{href:"/",className:"flex items-center gap-3 group",children:[(0,s.jsx)("div",{className:"w-8 h-8 rounded-lg bg-gradient-to-br from-[var(--primary)] to-[var(--accent)] flex items-center justify-center text-white font-bold text-sm shadow-lg shadow-[var(--primary)]/20 group-hover:shadow-[var(--primary)]/40 transition-shadow",children:"A"}),(0,s.jsx)("span",{className:"text-lg font-bold tracking-tight gradient-text hidden sm:block",children:"AGX Board"})]})}),(0,s.jsx)("div",{className:"flex items-center gap-3",children:(0,s.jsx)(l(),{href:"/settings",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Settings"})})]})})}),(0,s.jsx)("main",{className:"flex-1 min-h-0 flex flex-col ".concat(a?"p-0":"p-4 sm:p-6 lg:p-8 overflow-y-auto"),children:t}),!r&&(0,s.jsx)("footer",{className:"flex-shrink-0 border-t border-[var(--card-border)] bg-[var(--card-bg)]/50 py-4",children:(0,s.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 flex items-center justify-between text-xs text-[var(--muted-foreground)]",children:[(0,s.jsx)("span",{children:"AGX Board • Autonomous Agent Orchestration"}),(0,s.jsx)("span",{className:"hidden sm:inline",children:"Built with Next.js + Db"})]})})]})}function u(e){return(0,s.jsx)(i.Suspense,{fallback:(0,s.jsx)("div",{className:"h-screen flex items-center justify-center bg-[var(--background)]",children:(0,s.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"})}),children:(0,s.jsx)(c,{...e})})}function m(e){let{children:t,fullWidth:a=!1,noFooter:r=!1}=e;return(0,s.jsx)(u,{fullWidth:a,noFooter:r,children:t})}},2888:(e,t,a)=>{"use strict";a.d(t,{A:()=>i});var s=a(5155),r=a(80);let l={queued:{className:"badge-status-queued",label:"Queued",dotColor:"bg-[var(--status-queued)]"},in_progress:{className:"badge-status-in_progress",label:"In Progress",dotColor:"bg-[var(--status-in-progress)]"},blocked:{className:"badge-status-blocked",label:"Blocked",dotColor:"bg-[var(--status-blocked)]"},completed:{className:"badge-status-completed",label:"Completed",dotColor:"bg-[var(--status-completed)]"},failed:{className:"badge-status-failed",label:"Failed",dotColor:"bg-[var(--status-failed)]"}},n={ideation:{icon:"\uD83D\uDCA1",label:"Ideation",prompt:"Research and scope. Define approach, estimate effort."},planning:{icon:"\uD83D\uDCCB",label:"Planning",prompt:"Create detailed plan with tasks, milestones, and dependencies."},execution:{icon:"\uD83D\uDCBB",label:"Execution",prompt:"Implement based on all the context/history/research/plan. Write clean, tested code."},verification:{icon:"\uD83E\uDDEA",label:"Verification",prompt:"Test thoroughly. Find edge cases. Fix bugs. Verify requirements are met."},done:{icon:"✅",label:"Done",prompt:"Task finished and shipped."}};function o(e){let{task:t,onClick:a,compact:o=!1,onStatusChange:d}=e;l[t.status||"queued"];let i=t.stage?n[t.stage]:null;return(0,s.jsxs)("div",{onClick:a,role:"button",tabIndex:0,onKeyDown:e=>"Enter"===e.key&&(null==a?void 0:a()),className:"group relative flex items-center gap-2 p-1.5 rounded-md \n hover:bg-[var(--item-hover-bg)] transition-colors cursor-pointer\n focus-visible:outline-2 focus-visible:outline-[var(--ring)] focus-visible:outline-offset-2\n ".concat("failed"===t.status?"bg-[var(--status-failed-bg)]":""),children:[(0,s.jsx)(r.A,{status:t.status||"queued",onStatusChange:d}),(0,s.jsxs)("div",{className:"flex-1 min-w-0 flex items-baseline gap-2",children:[(0,s.jsx)("h3",{className:"text-sm text-[var(--foreground)] truncate leading-tight\n ".concat("completed"===t.status?"text-[var(--muted-foreground)] line-through":"","\n "),children:t.title||"Untitled Task"}),(0,s.jsxs)("div",{className:"flex items-center gap-2 text-[10px] text-[var(--muted-foreground)] opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap",children:[void 0!==t.priority&&(0,s.jsxs)("span",{className:0===t.priority?"text-[var(--primary)] font-bold":"",children:["P",t.priority]}),t.project&&(0,s.jsx)("span",{className:"max-w-[80px] truncate",children:t.project})]})]}),(0,s.jsx)("div",{className:"flex items-center gap-1.5 flex-shrink-0",children:"failed"===t.status?(0,s.jsx)("span",{className:"text-[10px] text-[var(--status-failed)] font-bold",children:"FAILED"}):i&&(0,s.jsx)("span",{className:"text-[10px] opacity-40",children:i.icon})})]})}let d={in_progress:{title:"In Progress",icon:"\uD83D\uDD04",color:"var(--status-in-progress)",description:"Currently being worked on by the daemon"},blocked:{title:"Blocked",icon:"\uD83D\uDEA7",color:"var(--status-blocked)",description:"Waiting for input or resolution"},queued:{title:"Queued",icon:"\uD83D\uDCCB",color:"var(--status-queued)",description:"Ready to be picked up"},completed:{title:"Completed",icon:"✅",color:"var(--status-completed)",description:"Successfully finished"}};function i(e){let{tasks:t,onSelectTask:a,onStatusChange:r}=e;if(0===t.length)return(0,s.jsxs)("div",{className:"text-center py-20 animate-fade-in",children:[(0,s.jsx)("div",{className:"inline-flex items-center justify-center w-16 h-16 rounded-2xl bg-[var(--card-bg)] border border-[var(--card-border)] mb-4",children:(0,s.jsx)("span",{className:"text-3xl",children:"\uD83D\uDCCB"})}),(0,s.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"No tasks yet"}),(0,s.jsx)("p",{className:"text-[var(--muted-foreground)] text-sm max-w-md mx-auto",children:"Create your first task to get started. Tasks will appear here organized by status."})]});let l=t.filter(e=>"in_progress"===e.status),n=t.filter(e=>"queued"===e.status),i=t.filter(e=>"blocked"===e.status),c=t.filter(e=>"completed"===e.status||"failed"===e.status),u=(e,t)=>{if(0===t.length)return null;let l=d[e];return(0,s.jsxs)("section",{className:"mb-8 animate-fade-in-up",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3 mb-4",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 rounded-lg",style:{backgroundColor:"color-mix(in srgb, ".concat(l.color," 10%, transparent)")},children:[(0,s.jsx)("span",{className:"text-lg",children:l.icon}),(0,s.jsx)("h3",{className:"text-sm font-semibold",style:{color:l.color},children:l.title}),(0,s.jsx)("span",{className:"px-2 py-0.5 rounded-full text-xs font-medium",style:{backgroundColor:"color-mix(in srgb, ".concat(l.color," 15%, transparent)"),color:l.color},children:t.length})]}),(0,s.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] hidden sm:block",children:l.description})]}),(0,s.jsx)("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:t.map((e,t)=>(0,s.jsx)("div",{className:"animate-fade-in-up",style:{animationDelay:"".concat(50*t,"ms")},children:(0,s.jsx)(o,{task:e,onClick:()=>null==a?void 0:a(e),onStatusChange:r?t=>r(e.id,t):void 0})},e.id))})]})};return(0,s.jsxs)("div",{children:[u("in_progress",l),u("blocked",i),u("queued",n),u("completed",c)]})}},4647:(e,t,a)=>{"use strict";a.d(t,{A:()=>i,AuthProvider:()=>d});var s=a(5155),r=a(2115),l=a(1483),n=a(5704);let o=(0,r.createContext)({user:null,loading:!0,signOut:async()=>{}});function d(e){let{children:t}=e,a="1"===n.env.NEXT_PUBLIC_AGX_BOARD_DISABLE_AUTH,[d,i]=(0,r.useState)(null),[c,u]=(0,r.useState)(!0);(0,r.useEffect)(()=>{if(a){i({id:n.env.NEXT_PUBLIC_AGX_BOARD_USER_ID||"00000000-0000-0000-0000-000000000001",email:n.env.NEXT_PUBLIC_AGX_BOARD_USER_EMAIL||"local@agx.board",user_metadata:{name:n.env.NEXT_PUBLIC_AGX_BOARD_USER_NAME||"Local Board User",full_name:n.env.NEXT_PUBLIC_AGX_BOARD_USER_NAME||"Local Board User"},app_metadata:{},aud:"authenticated",created_at:new Date().toISOString()}),u(!1);return}let e=(0,l.O)();e.auth.getSession().then(e=>{var t,a;i(null!=(a=null==(t=e.data.session)?void 0:t.user)?a:null),u(!1)});let{data:{subscription:t}}=e.auth.onAuthStateChange((e,t)=>{var a;i(null!=(a=null==t?void 0:t.user)?a:null),u(!1)});return()=>t.unsubscribe()},[a]);let m=async()=>{if(a)return;let e=(0,l.O)();await e.auth.signOut(),i(null)};return(0,s.jsx)(o.Provider,{value:{user:d,loading:c,signOut:m},children:t})}function i(){return(0,r.useContext)(o)}},9620:(e,t,a)=>{Promise.resolve().then(a.bind(a,415))}},e=>{e.O(0,[5004,277,2619,650,9027,5608,2456,9337,8441,1255,7358],()=>e(e.s=9620)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{1290:()=>{},1402:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{default:function(){return y},handleClientScriptLoad:function(){return p},initScriptLoader:function(){return g}});let r=n(8140),a=n(9417),s=n(5155),o=r._(n(7650)),i=a._(n(2115)),l=n(2073),u=n(4681),c=n(4853),d=new Map,_=new Set,f=e=>{let{src:t,id:n,onLoad:r=()=>{},onReady:a=null,dangerouslySetInnerHTML:s,children:i="",strategy:l="afterInteractive",onError:c,stylesheets:f}=e,p=n||t;if(p&&_.has(p))return;if(d.has(t)){_.add(p),d.get(t).then(r,c);return}let g=()=>{a&&a(),_.add(p)},h=document.createElement("script"),y=new Promise((e,t)=>{h.addEventListener("load",function(t){e(),r&&r.call(this,t),g()}),h.addEventListener("error",function(e){t(e)})}).catch(function(e){c&&c(e)});s?(h.innerHTML=s.__html||"",g()):i?(h.textContent="string"==typeof i?i:Array.isArray(i)?i.join(""):"",g()):t&&(h.src=t,d.set(t,y)),(0,u.setAttributesFromProps)(h,e),"worker"===l&&h.setAttribute("type","text/partytown"),h.setAttribute("data-nscript",l),f&&(e=>{if(o.default.preinit)return e.forEach(e=>{o.default.preinit(e,{as:"style"})});{let t=document.head;e.forEach(e=>{let n=document.createElement("link");n.type="text/css",n.rel="stylesheet",n.href=e,t.appendChild(n)})}})(f),document.body.appendChild(h)};function p(e){let{strategy:t="afterInteractive"}=e;"lazyOnload"===t?window.addEventListener("load",()=>{(0,c.requestIdleCallback)(()=>f(e))}):f(e)}function g(e){e.forEach(p),[...document.querySelectorAll('[data-nscript="beforeInteractive"]'),...document.querySelectorAll('[data-nscript="beforePageRender"]')].forEach(e=>{let t=e.id||e.getAttribute("src");_.add(t)})}function h(e){let{id:t,src:n="",onLoad:r=()=>{},onReady:a=null,strategy:u="afterInteractive",onError:d,stylesheets:p,...g}=e,{updateScripts:h,scripts:y,getIsSsr:v,appDir:m,nonce:A}=(0,i.useContext)(l.HeadManagerContext);A=g.nonce||A;let b=(0,i.useRef)(!1);(0,i.useEffect)(()=>{let e=t||n;b.current||(a&&e&&_.has(e)&&a(),b.current=!0)},[a,t,n]);let E=(0,i.useRef)(!1);if((0,i.useEffect)(()=>{if(!E.current){if("afterInteractive"===u)f(e);else"lazyOnload"===u&&("complete"===document.readyState?(0,c.requestIdleCallback)(()=>f(e)):window.addEventListener("load",()=>{(0,c.requestIdleCallback)(()=>f(e))}));E.current=!0}},[e,u]),("beforeInteractive"===u||"worker"===u)&&(h?(y[u]=(y[u]||[]).concat([{id:t,src:n,onLoad:r,onReady:a,onError:d,...g,nonce:A}]),h(y)):v&&v()?_.add(t||n):v&&!v()&&f({...e,nonce:A})),m){if(p&&p.forEach(e=>{o.default.preinit(e,{as:"style"})}),"beforeInteractive"===u)if(!n)return g.dangerouslySetInnerHTML&&(g.children=g.dangerouslySetInnerHTML.__html,delete g.dangerouslySetInnerHTML),(0,s.jsx)("script",{nonce:A,dangerouslySetInnerHTML:{__html:"(self.__next_s=self.__next_s||[]).push("+JSON.stringify([0,{...g,id:t}])+")"}});else return o.default.preload(n,g.integrity?{as:"script",integrity:g.integrity,nonce:A,crossOrigin:g.crossOrigin}:{as:"script",nonce:A,crossOrigin:g.crossOrigin}),(0,s.jsx)("script",{nonce:A,dangerouslySetInnerHTML:{__html:"(self.__next_s=self.__next_s||[]).push("+JSON.stringify([n,{...g,id:t}])+")"}});"afterInteractive"===u&&n&&o.default.preload(n,g.integrity?{as:"script",integrity:g.integrity,nonce:A,crossOrigin:g.crossOrigin}:{as:"script",nonce:A,crossOrigin:g.crossOrigin})}return null}Object.defineProperty(h,"__nextScript",{value:!0});let y=h;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1483:(e,t,n)=>{"use strict";n.d(t,{O:()=>a});var r=n(7559);function a(){return{auth:{getSession:async()=>({data:{session:{access_token:"local-token",refresh_token:"local-refresh",expires_in:3600,user:{id:r.g.id,email:r.g.email,user_metadata:{name:r.g.name,full_name:r.g.name}}}},error:null}),signInWithOAuth:async()=>({error:Error("Auth disabled in AGX Board local mode")}),signOut:async()=>({error:null}),onAuthStateChange:()=>({data:{subscription:{unsubscribe(){}}}})},channel:()=>({on(){return this},subscribe(){return this}}),removeChannel(){}}}},4647:(e,t,n)=>{"use strict";n.d(t,{A:()=>u,AuthProvider:()=>l});var r=n(5155),a=n(2115),s=n(1483),o=n(5704);let i=(0,a.createContext)({user:null,loading:!0,signOut:async()=>{}});function l(e){let{children:t}=e,n="1"===o.env.NEXT_PUBLIC_AGX_BOARD_DISABLE_AUTH,[l,u]=(0,a.useState)(null),[c,d]=(0,a.useState)(!0);(0,a.useEffect)(()=>{if(n){u({id:o.env.NEXT_PUBLIC_AGX_BOARD_USER_ID||"00000000-0000-0000-0000-000000000001",email:o.env.NEXT_PUBLIC_AGX_BOARD_USER_EMAIL||"local@agx.board",user_metadata:{name:o.env.NEXT_PUBLIC_AGX_BOARD_USER_NAME||"Local Board User",full_name:o.env.NEXT_PUBLIC_AGX_BOARD_USER_NAME||"Local Board User"},app_metadata:{},aud:"authenticated",created_at:new Date().toISOString()}),d(!1);return}let e=(0,s.O)();e.auth.getSession().then(e=>{var t,n;u(null!=(n=null==(t=e.data.session)?void 0:t.user)?n:null),d(!1)});let{data:{subscription:t}}=e.auth.onAuthStateChange((e,t)=>{var n;u(null!=(n=null==t?void 0:t.user)?n:null),d(!1)});return()=>t.unsubscribe()},[n]);let _=async()=>{if(n)return;let e=(0,s.O)();await e.auth.signOut(),u(null)};return(0,r.jsx)(i.Provider,{value:{user:l,loading:c,signOut:_},children:t})}function u(){return(0,a.useContext)(i)}},4853:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{cancelIdleCallback:function(){return r},requestIdleCallback:function(){return n}});let n="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(e){let t=Date.now();return self.setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)},r="undefined"!=typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(e){return clearTimeout(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6285:(e,t,n)=>{"use strict";n.d(t,{GoogleAnalytics:()=>i});var r=n(5155),a=n(8321);let s="G-DVQQG95LNL",o="https://www.googletagmanager.com/gtag/js?id=".concat(s);function i(){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(a.default,{async:!0,src:o,strategy:"afterInteractive"}),(0,r.jsx)(a.default,{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', '".concat(s,"');\n ")}})]})}},7559:(e,t,n)=>{"use strict";n.d(t,{g:()=>a});var r=n(5704);"1"===r.env.AGX_BOARD_DISABLE_AUTH||"1"===r.env.NEXT_PUBLIC_AGX_BOARD_DISABLE_AUTH||"1"!==r.env.AGX_BOARD_ENABLE_AUTH&&r.env.NEXT_PUBLIC_AGX_BOARD_ENABLE_AUTH;let a={id:"2c3cc1ca-956d-4b62-b295-4d2d3374103f",email:r.env.AGX_BOARD_USER_EMAIL||"local@agx.board",name:r.env.AGX_BOARD_USER_NAME||"Local Board User"}},7950:(e,t,n)=>{"use strict";n.d(t,{PostHogAnalytics:()=>s});var r=n(5155),a=n(8321);function s(){return(0,r.jsx)(a.default,{id:"posthog-analytics",strategy:"afterInteractive",dangerouslySetInnerHTML:{__html:'\n !function(t,e){var o,n,p,r;e.__SV||(window.posthog&&window.posthog.__loaded)||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.crossOrigin="anonymous",p.async=!0,p.src=s.api_host.replace(".i.posthog.com","-assets.i.posthog.com")+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="init rs ls wi ns us ts ss capture calculateEventProperties vs register register_once register_for_session unregister unregister_for_session gs getFeatureFlag getFeatureFlagPayload getFeatureFlagResult isFeatureEnabled reloadFeatureFlags updateFlags updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures on onFeatureFlags onSurveysLoaded onSessionId getSurveys getActiveMatchingSurveys renderSurvey displaySurvey cancelPendingSurvey canRenderSurvey canRenderSurveyAsync identify setPersonProperties group resetGroups setPersonPropertiesForFlags resetPersonPropertiesForFlags setGroupPropertiesForFlags resetGroupPropertiesForFlags reset get_distinct_id getGroups get_session_id get_session_replay_url alias set_config startSessionRecording stopSessionRecording sessionRecordingStarted captureException startExceptionAutocapture stopExceptionAutocapture loadToolbar get_property getSessionProperty fs ds createPersonProfile setInternalOrTestUser ps Qr opt_in_capturing opt_out_capturing has_opted_in_capturing has_opted_out_capturing get_explicit_consent_status is_capturing clear_opt_in_out_capturing hs debug M cs getPageViewId captureTraceFeedback captureTraceMetric Kr".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]);\n posthog.init(\''.concat("phc_oBf1haYu4HKjYmUZpthQ4cUf9O3UKkDSOX675M7dRWW","', {\n api_host: '").concat("https://us.i.posthog.com","',\n person_profiles: 'identified_only',\n });\n ")}})}},8321:(e,t,n)=>{"use strict";n.d(t,{default:()=>a.a});var r=n(1402),a=n.n(r)},9582:(e,t,n)=>{Promise.resolve().then(n.t.bind(n,1290,23)),Promise.resolve().then(n.bind(n,4647)),Promise.resolve().then(n.bind(n,6285)),Promise.resolve().then(n.bind(n,7950))}},e=>{e.O(0,[1741,8441,1255,7358],()=>e(e.s=9582)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8419],{6190:(e,t,r)=>{Promise.resolve().then(r.bind(r,8354))},8354:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>g});var l=r(5155),a=r(2115);let n=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim()},o=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var s={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let i=(0,a.forwardRef)((e,t)=>{let{color:r="currentColor",size:l=24,strokeWidth:o=2,absoluteStrokeWidth:i,className:d="",children:c,iconNode:u,...p}=e;return(0,a.createElement)("svg",{ref:t,...s,width:l,height:l,stroke:r,strokeWidth:i?24*Number(o)/Number(l):o,className:n("lucide",d),...!c&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(p)&&{"aria-hidden":"true"},...p},[...u.map(e=>{let[t,r]=e;return(0,a.createElement)(t,r)}),...Array.isArray(c)?c:[c]])}),d=((e,t)=>{let r=(0,a.forwardRef)((r,l)=>{let{className:s,...d}=r;return(0,a.createElement)(i,{ref:l,iconNode:t,className:n("lucide-".concat(o(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()),"lucide-".concat(e),s),...d})});return r.displayName=o(e),r})("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);var c=r(577),u=r(91),p=r(2325),m=r(6779),v=r(5826),f=r(2835);function g(e){var t,r;let{params:n}=e,{slug:o}=(0,a.use)(n),{tasks:s,isLoading:i,createTask:g,updateTask:w,deleteTask:h,completeTaskStage:j,cancelWorkflow:k,refetch:x,cancellingTaskId:y,fetchTask:C}=(0,c.si)({realtime:!0,project:o}),{projects:b}=(0,u.Y)(),{workflow:_,stages:N,stageConfig:A,isValidTransition:L,isLoading:S}=(0,p.mP)(),[T,E]=(0,a.useState)(null),[U,q]=(0,a.useState)(""),[D,M]=(0,a.useState)(!1),[O,F]=(0,a.useState)(!1),[R,W]=(0,a.useState)(null),[I,P]=(0,a.useState)(null),{comments:Z,addComment:$,deleteComment:z}=(0,c.LU)((null==T?void 0:T.id)||null),{learnings:B,addLearning:V}=(0,c.dF)((null==T?void 0:T.id)||void 0),Y=(0,a.useMemo)(()=>N.map(e=>{var t;let r=A[e],l=null==_||null==(t=_.nodes)?void 0:t.find(t=>t.name===e);return{id:e,label:(null==r?void 0:r.label)||e,icon:(null==r?void 0:r.icon)||"\uD83D\uDCCC",color:(null==r?void 0:r.color)||"var(--primary)",prompt:(null==l?void 0:l.prompt)||void 0}}),[N,A,_]),G=b.find(e=>e.slug===o),H=(0,a.useMemo)(()=>{if(!U.trim())return s;let e=U.toLowerCase();return s.filter(t=>(t.title||"").toLowerCase().includes(e)||(t.content||"").toLowerCase().includes(e))},[s,U]),J=(0,a.useCallback)(async(e,t)=>{t&&E(t);try{let t=await C(e);return E(t),t}catch(e){return console.error("Failed to load task details:",e),t||E(null),null!=t?t:null}},[C]),K=(0,a.useCallback)(async e=>{await J(e.id,e)},[J]),Q=(0,a.useCallback)(async e=>{var t,r;P({stage:e,project:null!=(t=null==G?void 0:G.slug)?t:null,project_id:null!=(r=null==G?void 0:G.id)?r:null})},[G]),X=(0,a.useCallback)(async e=>{var t,r;let l=(e.description||"").trim();if(!l)return;F(!0);let a=e.stage||(null==I?void 0:I.stage)||"ideation",n=(null==A||null==(t=A[a])?void 0:t.label)||a,o=(e.title||"").trim()||l.split("\n")[0].replace(/^#\s*/,"")||"New Task (".concat(n,")"),s=["status: ".concat("done"===a?"completed":"ideation"===a?"queued":"in_progress"),"stage: ".concat(a)],i=e.project_id&&b.find(t=>t.id===e.project_id)||e.project&&b.find(t=>t.slug===e.project)||G||null;i&&(s.push("project: ".concat(i.slug)),s.push("project_id: ".concat(i.id)),s.push("workflow_id: ".concat(i.workflow_id||p.ou))),e.provider&&s.push("provider: ".concat(e.provider)),e.model&&s.push("model: ".concat(e.model)),void 0!==e.swarm&&s.push("swarm: ".concat(e.swarm?"true":"false"));let d="---\n".concat(s.join("\n"),"\n---\n\n# ").concat(o,"\n\n").concat(l);try{let t=e.swarm?null!=(r=e.swarm_models)?r:[]:null,l=await g(d,t);P(null),await J(l.id,l)}catch(e){console.error("Failed to create task:",e)}finally{F(!1)}},[g,G,I,J,b,A]),ee=(0,a.useCallback)(async(e,t)=>{await w(e,t)},[w]),et=async e=>{T&&await $(e)},er=async(e,t,r)=>{var l,a;let n=(null==T||null==(a=T.project_context)||null==(l=a.project)?void 0:l.id)||(null==T?void 0:T.project_id)||(null==T?void 0:T.project)||void 0,o=null!=r?r:"global"===t?void 0:"task"===t?null==T?void 0:T.id:n;await V(e,t,o)},el=async e=>{T&&(E(t=>t?{...t,...e}:null),await w(T.id,e))};return i||S?(0,l.jsx)("div",{className:"h-full flex items-center justify-center",children:(0,l.jsxs)("div",{className:"flex flex-col items-center gap-4",children:[(0,l.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"}),(0,l.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"Loading board..."})]})}):(0,l.jsxs)("div",{className:"h-full flex flex-col p-4",children:[(0,l.jsxs)("div",{className:"flex-shrink-0 mb-4 space-y-4",children:[(0,l.jsxs)("div",{className:"relative",children:[(0,l.jsx)(d,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-[var(--muted-foreground)]"}),(0,l.jsx)("input",{type:"text",placeholder:"Search",value:U,onChange:e=>q(e.target.value),className:"w-full pl-9 pr-4 py-2 bg-[var(--card-bg)] border border-[var(--border)] rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-[var(--primary)] focus:border-transparent transition-all"})]}),(0,l.jsx)(f.A,{tasks:H,onTaskClick:E,onStop:async e=>{await k({taskId:e}),await x()},onRetry:async e=>{await j({taskId:e,decision:"not_done",final_result:"Manual retry requested.",explanation:"Manual retry requested."})},cancellingTaskId:y})]}),(0,l.jsx)("div",{className:"flex-1 min-h-0 overflow-hidden",children:(0,l.jsx)(m.A,{tasks:H,onSelectTask:K,onTasksChange:()=>{},onTaskUpdate:ee,onAddTask:Q,stages:N,stageConfig:A,isValidTransition:L})}),T&&(0,l.jsx)(v.A,{task:T,comments:T?Z:[],learnings:B,projectContext:T.project_context,projects:b,stages:Y,onClose:()=>E(null),onAddComment:et,onDeleteComment:z,onAddLearning:er,onUpdate:el,onDelete:async()=>{await h(T.id),E(null)}}),I&&(0,l.jsx)(v.A,{task:{id:"draft",title:"",description:"",content:"",stage:I.stage,status:"done"===I.stage?"completed":"ideation"===I.stage?"queued":"in_progress",created_at:new Date().toISOString(),project:null!=(t=I.project)?t:null==G?void 0:G.slug,project_id:null!=(r=I.project_id)?r:null==G?void 0:G.id,provider:I.provider,model:I.model,swarm:I.swarm,swarm_models:I.swarm_models},comments:[],learnings:[],projectContext:null,projects:b,stages:Y,isDraft:!0,isCreating:O,onClose:()=>P(null),onAddComment:()=>{},onAddLearning:()=>{},onUpdate:async e=>{if(I){if(e.description||e.title)return void await X({...I,...e});P(t=>t?{...t,...e}:t)}}})]})}}},e=>{e.O(0,[5004,277,2619,650,9027,
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8419],{6190:(e,t,r)=>{Promise.resolve().then(r.bind(r,8354))},8354:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>g});var l=r(5155),a=r(2115);let n=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim()},o=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var s={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let i=(0,a.forwardRef)((e,t)=>{let{color:r="currentColor",size:l=24,strokeWidth:o=2,absoluteStrokeWidth:i,className:d="",children:c,iconNode:u,...p}=e;return(0,a.createElement)("svg",{ref:t,...s,width:l,height:l,stroke:r,strokeWidth:i?24*Number(o)/Number(l):o,className:n("lucide",d),...!c&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(p)&&{"aria-hidden":"true"},...p},[...u.map(e=>{let[t,r]=e;return(0,a.createElement)(t,r)}),...Array.isArray(c)?c:[c]])}),d=((e,t)=>{let r=(0,a.forwardRef)((r,l)=>{let{className:s,...d}=r;return(0,a.createElement)(i,{ref:l,iconNode:t,className:n("lucide-".concat(o(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()),"lucide-".concat(e),s),...d})});return r.displayName=o(e),r})("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);var c=r(577),u=r(91),p=r(2325),m=r(6779),v=r(5826),f=r(2835);function g(e){var t,r;let{params:n}=e,{slug:o}=(0,a.use)(n),{tasks:s,isLoading:i,createTask:g,updateTask:w,deleteTask:h,completeTaskStage:j,cancelWorkflow:k,refetch:x,cancellingTaskId:y,fetchTask:C}=(0,c.si)({realtime:!0,project:o}),{projects:b}=(0,u.Y)(),{workflow:_,stages:N,stageConfig:A,isValidTransition:L,isLoading:S}=(0,p.mP)(),[T,E]=(0,a.useState)(null),[U,q]=(0,a.useState)(""),[D,M]=(0,a.useState)(!1),[O,F]=(0,a.useState)(!1),[R,W]=(0,a.useState)(null),[I,P]=(0,a.useState)(null),{comments:Z,addComment:$,deleteComment:z}=(0,c.LU)((null==T?void 0:T.id)||null),{learnings:B,addLearning:V}=(0,c.dF)((null==T?void 0:T.id)||void 0),Y=(0,a.useMemo)(()=>N.map(e=>{var t;let r=A[e],l=null==_||null==(t=_.nodes)?void 0:t.find(t=>t.name===e);return{id:e,label:(null==r?void 0:r.label)||e,icon:(null==r?void 0:r.icon)||"\uD83D\uDCCC",color:(null==r?void 0:r.color)||"var(--primary)",prompt:(null==l?void 0:l.prompt)||void 0}}),[N,A,_]),G=b.find(e=>e.slug===o),H=(0,a.useMemo)(()=>{if(!U.trim())return s;let e=U.toLowerCase();return s.filter(t=>(t.title||"").toLowerCase().includes(e)||(t.content||"").toLowerCase().includes(e))},[s,U]),J=(0,a.useCallback)(async(e,t)=>{t&&E(t);try{let t=await C(e);return E(t),t}catch(e){return console.error("Failed to load task details:",e),t||E(null),null!=t?t:null}},[C]),K=(0,a.useCallback)(async e=>{await J(e.id,e)},[J]),Q=(0,a.useCallback)(async e=>{var t,r;P({stage:e,project:null!=(t=null==G?void 0:G.slug)?t:null,project_id:null!=(r=null==G?void 0:G.id)?r:null})},[G]),X=(0,a.useCallback)(async e=>{var t,r;let l=(e.description||"").trim();if(!l)return;F(!0);let a=e.stage||(null==I?void 0:I.stage)||"ideation",n=(null==A||null==(t=A[a])?void 0:t.label)||a,o=(e.title||"").trim()||l.split("\n")[0].replace(/^#\s*/,"")||"New Task (".concat(n,")"),s=["status: ".concat("done"===a?"completed":"ideation"===a?"queued":"in_progress"),"stage: ".concat(a)],i=e.project_id&&b.find(t=>t.id===e.project_id)||e.project&&b.find(t=>t.slug===e.project)||G||null;i&&(s.push("project: ".concat(i.slug)),s.push("project_id: ".concat(i.id)),s.push("workflow_id: ".concat(i.workflow_id||p.ou))),e.provider&&s.push("provider: ".concat(e.provider)),e.model&&s.push("model: ".concat(e.model)),void 0!==e.swarm&&s.push("swarm: ".concat(e.swarm?"true":"false"));let d="---\n".concat(s.join("\n"),"\n---\n\n# ").concat(o,"\n\n").concat(l);try{let t=e.swarm?null!=(r=e.swarm_models)?r:[]:null,l=await g(d,t);P(null),await J(l.id,l)}catch(e){console.error("Failed to create task:",e)}finally{F(!1)}},[g,G,I,J,b,A]),ee=(0,a.useCallback)(async(e,t)=>{await w(e,t)},[w]),et=async e=>{T&&await $(e)},er=async(e,t,r)=>{var l,a;let n=(null==T||null==(a=T.project_context)||null==(l=a.project)?void 0:l.id)||(null==T?void 0:T.project_id)||(null==T?void 0:T.project)||void 0,o=null!=r?r:"global"===t?void 0:"task"===t?null==T?void 0:T.id:n;await V(e,t,o)},el=async e=>{T&&(E(t=>t?{...t,...e}:null),await w(T.id,e))};return i||S?(0,l.jsx)("div",{className:"h-full flex items-center justify-center",children:(0,l.jsxs)("div",{className:"flex flex-col items-center gap-4",children:[(0,l.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"}),(0,l.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"Loading board..."})]})}):(0,l.jsxs)("div",{className:"h-full flex flex-col p-4",children:[(0,l.jsxs)("div",{className:"flex-shrink-0 mb-4 space-y-4",children:[(0,l.jsxs)("div",{className:"relative",children:[(0,l.jsx)(d,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-[var(--muted-foreground)]"}),(0,l.jsx)("input",{type:"text",placeholder:"Search",value:U,onChange:e=>q(e.target.value),className:"w-full pl-9 pr-4 py-2 bg-[var(--card-bg)] border border-[var(--border)] rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-[var(--primary)] focus:border-transparent transition-all"})]}),(0,l.jsx)(f.A,{tasks:H,onTaskClick:E,onStop:async e=>{await k({taskId:e}),await x()},onRetry:async e=>{await j({taskId:e,decision:"not_done",final_result:"Manual retry requested.",explanation:"Manual retry requested."})},cancellingTaskId:y})]}),(0,l.jsx)("div",{className:"flex-1 min-h-0 overflow-hidden",children:(0,l.jsx)(m.A,{tasks:H,onSelectTask:K,onTasksChange:()=>{},onTaskUpdate:ee,onAddTask:Q,stages:N,stageConfig:A,isValidTransition:L})}),T&&(0,l.jsx)(v.A,{task:T,comments:T?Z:[],learnings:B,projectContext:T.project_context,projects:b,stages:Y,onClose:()=>E(null),onAddComment:et,onDeleteComment:z,onAddLearning:er,onUpdate:el,onDelete:async()=>{await h(T.id),E(null)}}),I&&(0,l.jsx)(v.A,{task:{id:"draft",title:"",description:"",content:"",stage:I.stage,status:"done"===I.stage?"completed":"ideation"===I.stage?"queued":"in_progress",created_at:new Date().toISOString(),project:null!=(t=I.project)?t:null==G?void 0:G.slug,project_id:null!=(r=I.project_id)?r:null==G?void 0:G.id,provider:I.provider,model:I.model,swarm:I.swarm,swarm_models:I.swarm_models},comments:[],learnings:[],projectContext:null,projects:b,stages:Y,isDraft:!0,isCreating:O,onClose:()=>P(null),onAddComment:()=>{},onAddLearning:()=>{},onUpdate:async e=>{if(I){if(e.description||e.title)return void await X({...I,...e});P(t=>t?{...t,...e}:t)}}})]})}}},e=>{e.O(0,[5004,277,2619,650,9027,5608,2456,9337,8441,1255,7358],()=>e(e.s=6190)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4382],{1986:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>c});var l=s(5155),a=s(2115),o=s(577),r=s(2888),n=s(5826),i=s(91),d=s(2325);function c(e){let{params:t}=e,{slug:s}=(0,a.use)(t),{tasks:c,isLoading:u,fetchTask:p,updateTask:m,deleteTask:x,createTask:g}=(0,o.si)({realtime:!0,project:s}),{projects:v}=(0,i.Y)(),{workflow:f,stages:h,stageConfig:b}=(0,d.mP)(),[j,N]=(0,a.useState)(null),[y,k]=(0,a.useState)(""),{comments:C,addComment:w,deleteComment:D}=(0,o.LU)((null==j?void 0:j.id)||null),{learnings:_,addLearning:q}=(0,o.dF)((null==j?void 0:j.id)||void 0),L=(0,a.useMemo)(()=>h.map(e=>{var t;let s=b[e],l=null==f||null==(t=f.nodes)?void 0:t.find(t=>t.name===e);return{id:e,label:(null==s?void 0:s.label)||e,icon:(null==s?void 0:s.icon)||"\uD83D\uDCCC",color:(null==s?void 0:s.color)||"var(--primary)",prompt:(null==l?void 0:l.prompt)||void 0}}),[h,b,f]),S=(0,a.useMemo)(()=>{if(!y)return c;let e=y.toLowerCase();return c.filter(t=>{var s,l;return(null==(s=t.title)?void 0:s.toLowerCase().includes(e))||(null==(l=t.description)?void 0:l.toLowerCase().includes(e))||t.id.toLowerCase().includes(e)})},[c,y]),A=(0,a.useCallback)(async e=>{try{let t=await p(e.id);N(t)}catch(t){console.error("Failed to load task details:",t),N(e)}},[p]),E=async e=>{j&&(N(t=>t?{...t,...e}:null),await m(j.id,e))},F=async e=>{j&&await w(e)},I=async(e,t,s)=>{var l,a;let o=(null==j||null==(a=j.project_context)||null==(l=a.project)?void 0:l.id)||(null==j?void 0:j.project_id)||(null==j?void 0:j.project)||void 0,r=null!=s?s:"global"===t?void 0:"task"===t?null==j?void 0:j.id:o;await q(e,t,r)};return(0,l.jsxs)("div",{className:"h-full flex flex-col p-4 sm:p-6 lg:p-8",children:[(0,l.jsx)("div",{className:"flex items-center gap-4 mb-6",children:(0,l.jsxs)("div",{className:"relative max-w-md w-full",children:[(0,l.jsx)("div",{className:"absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none",children:(0,l.jsx)("span",{className:"text-gray-400",children:"\uD83D\uDD0D"})}),(0,l.jsx)("input",{type:"text",placeholder:"Search project tasks...",className:"input pl-10 w-full",value:y,onChange:e=>k(e.target.value)})]})}),(0,l.jsx)("div",{className:"flex-1 overflow-y-auto min-h-0 bg-[var(--card-bg)] rounded-xl border border-[var(--card-border)]",children:u?(0,l.jsx)("div",{className:"p-8 text-center text-[var(--muted-foreground)]",children:"Loading tasks..."}):0===c.length?(0,l.jsx)("div",{className:"p-12 text-center",children:(0,l.jsx)("p",{className:"text-[var(--muted-foreground)] mb-4",children:"No tasks found for this project."})}):(0,l.jsx)(r.A,{tasks:S,onSelectTask:A,onStatusChange:(e,t)=>m(e,{status:t})})}),j&&(0,l.jsx)(n.A,{task:j,comments:j?C:[],learnings:_,projectContext:j.project_context,projects:v,stages:L,onClose:()=>N(null),onAddComment:F,onDeleteComment:D,onAddLearning:I,onUpdate:E,onDelete:async()=>{await x(j.id),N(null)}})]})}},2888:(e,t,s)=>{"use strict";s.d(t,{A:()=>d});var l=s(5155),a=s(80);let o={queued:{className:"badge-status-queued",label:"Queued",dotColor:"bg-[var(--status-queued)]"},in_progress:{className:"badge-status-in_progress",label:"In Progress",dotColor:"bg-[var(--status-in-progress)]"},blocked:{className:"badge-status-blocked",label:"Blocked",dotColor:"bg-[var(--status-blocked)]"},completed:{className:"badge-status-completed",label:"Completed",dotColor:"bg-[var(--status-completed)]"},failed:{className:"badge-status-failed",label:"Failed",dotColor:"bg-[var(--status-failed)]"}},r={ideation:{icon:"\uD83D\uDCA1",label:"Ideation",prompt:"Research and scope. Define approach, estimate effort."},planning:{icon:"\uD83D\uDCCB",label:"Planning",prompt:"Create detailed plan with tasks, milestones, and dependencies."},execution:{icon:"\uD83D\uDCBB",label:"Execution",prompt:"Implement based on all the context/history/research/plan. Write clean, tested code."},verification:{icon:"\uD83E\uDDEA",label:"Verification",prompt:"Test thoroughly. Find edge cases. Fix bugs. Verify requirements are met."},done:{icon:"✅",label:"Done",prompt:"Task finished and shipped."}};function n(e){let{task:t,onClick:s,compact:n=!1,onStatusChange:i}=e;o[t.status||"queued"];let d=t.stage?r[t.stage]:null;return(0,l.jsxs)("div",{onClick:s,role:"button",tabIndex:0,onKeyDown:e=>"Enter"===e.key&&(null==s?void 0:s()),className:"group relative flex items-center gap-2 p-1.5 rounded-md \n hover:bg-[var(--item-hover-bg)] transition-colors cursor-pointer\n focus-visible:outline-2 focus-visible:outline-[var(--ring)] focus-visible:outline-offset-2\n ".concat("failed"===t.status?"bg-[var(--status-failed-bg)]":""),children:[(0,l.jsx)(a.A,{status:t.status||"queued",onStatusChange:i}),(0,l.jsxs)("div",{className:"flex-1 min-w-0 flex items-baseline gap-2",children:[(0,l.jsx)("h3",{className:"text-sm text-[var(--foreground)] truncate leading-tight\n ".concat("completed"===t.status?"text-[var(--muted-foreground)] line-through":"","\n "),children:t.title||"Untitled Task"}),(0,l.jsxs)("div",{className:"flex items-center gap-2 text-[10px] text-[var(--muted-foreground)] opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap",children:[void 0!==t.priority&&(0,l.jsxs)("span",{className:0===t.priority?"text-[var(--primary)] font-bold":"",children:["P",t.priority]}),t.project&&(0,l.jsx)("span",{className:"max-w-[80px] truncate",children:t.project})]})]}),(0,l.jsx)("div",{className:"flex items-center gap-1.5 flex-shrink-0",children:"failed"===t.status?(0,l.jsx)("span",{className:"text-[10px] text-[var(--status-failed)] font-bold",children:"FAILED"}):d&&(0,l.jsx)("span",{className:"text-[10px] opacity-40",children:d.icon})})]})}let i={in_progress:{title:"In Progress",icon:"\uD83D\uDD04",color:"var(--status-in-progress)",description:"Currently being worked on by the daemon"},blocked:{title:"Blocked",icon:"\uD83D\uDEA7",color:"var(--status-blocked)",description:"Waiting for input or resolution"},queued:{title:"Queued",icon:"\uD83D\uDCCB",color:"var(--status-queued)",description:"Ready to be picked up"},completed:{title:"Completed",icon:"✅",color:"var(--status-completed)",description:"Successfully finished"}};function d(e){let{tasks:t,onSelectTask:s,onStatusChange:a}=e;if(0===t.length)return(0,l.jsxs)("div",{className:"text-center py-20 animate-fade-in",children:[(0,l.jsx)("div",{className:"inline-flex items-center justify-center w-16 h-16 rounded-2xl bg-[var(--card-bg)] border border-[var(--card-border)] mb-4",children:(0,l.jsx)("span",{className:"text-3xl",children:"\uD83D\uDCCB"})}),(0,l.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"No tasks yet"}),(0,l.jsx)("p",{className:"text-[var(--muted-foreground)] text-sm max-w-md mx-auto",children:"Create your first task to get started. Tasks will appear here organized by status."})]});let o=t.filter(e=>"in_progress"===e.status),r=t.filter(e=>"queued"===e.status),d=t.filter(e=>"blocked"===e.status),c=t.filter(e=>"completed"===e.status||"failed"===e.status),u=(e,t)=>{if(0===t.length)return null;let o=i[e];return(0,l.jsxs)("section",{className:"mb-8 animate-fade-in-up",children:[(0,l.jsxs)("div",{className:"flex items-center gap-3 mb-4",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 rounded-lg",style:{backgroundColor:"color-mix(in srgb, ".concat(o.color," 10%, transparent)")},children:[(0,l.jsx)("span",{className:"text-lg",children:o.icon}),(0,l.jsx)("h3",{className:"text-sm font-semibold",style:{color:o.color},children:o.title}),(0,l.jsx)("span",{className:"px-2 py-0.5 rounded-full text-xs font-medium",style:{backgroundColor:"color-mix(in srgb, ".concat(o.color," 15%, transparent)"),color:o.color},children:t.length})]}),(0,l.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] hidden sm:block",children:o.description})]}),(0,l.jsx)("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:t.map((e,t)=>(0,l.jsx)("div",{className:"animate-fade-in-up",style:{animationDelay:"".concat(50*t,"ms")},children:(0,l.jsx)(n,{task:e,onClick:()=>null==s?void 0:s(e),onStatusChange:a?t=>a(e.id,t):void 0})},e.id))})]})};return(0,l.jsxs)("div",{children:[u("in_progress",o),u("blocked",d),u("queued",r),u("completed",c)]})}},9263:(e,t,s)=>{Promise.resolve().then(s.bind(s,1986))}},e=>{e.O(0,[5004,277,2619,650,5608,2456,8441,1255,7358],()=>e(e.s=9263)),_N_E=e.O()}]);
|