@mndrk/agx 1.4.39 → 1.4.41

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.
Files changed (136) hide show
  1. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/BUILD_ID +1 -1
  2. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/app-build-manifest.json +51 -51
  3. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/app-path-routes-manifest.json +8 -8
  4. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/build-manifest.json +2 -2
  5. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/prerender-manifest.json +15 -15
  6. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found/page.js +4 -4
  7. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found/page.js.nft.json +1 -1
  8. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  9. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.html +2 -2
  10. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.rsc +4 -4
  11. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/audit/route_client-reference-manifest.js +1 -1
  12. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/[...nextauth]/route_client-reference-manifest.js +1 -1
  13. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/daemon-secret/route.js +1 -1
  14. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/daemon-secret/route.js.nft.json +1 -1
  15. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/daemon-secret/route_client-reference-manifest.js +1 -1
  16. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/device/code/route_client-reference-manifest.js +1 -1
  17. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/device/token/route_client-reference-manifest.js +1 -1
  18. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/refresh/route_client-reference-manifest.js +1 -1
  19. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  20. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/domains/[id]/route_client-reference-manifest.js +1 -1
  21. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/domains/route_client-reference-manifest.js +1 -1
  22. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  23. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/learnings/route_client-reference-manifest.js +1 -1
  24. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/logs/stream/route_client-reference-manifest.js +1 -1
  25. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
  26. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route_client-reference-manifest.js +1 -1
  27. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/start/route_client-reference-manifest.js +1 -1
  28. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/status/route_client-reference-manifest.js +1 -1
  29. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/route_client-reference-manifest.js +1 -1
  30. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  31. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
  32. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/complete/route_client-reference-manifest.js +1 -1
  33. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/route.js +1 -1
  34. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/route.js.nft.json +1 -1
  35. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/route_client-reference-manifest.js +1 -1
  36. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/stage-prompts/route_client-reference-manifest.js +1 -1
  37. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +1 -1
  38. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  39. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/[commentId]/route_client-reference-manifest.js +1 -1
  40. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/route.js +1 -1
  41. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  42. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/route_client-reference-manifest.js +1 -1
  43. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/heartbeat/route_client-reference-manifest.js +1 -1
  44. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/history/route_client-reference-manifest.js +1 -1
  45. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/route_client-reference-manifest.js +1 -1
  46. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/route.js +2 -2
  47. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  48. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/route_client-reference-manifest.js +1 -1
  49. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/route.js +1 -1
  50. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/route.js.nft.json +1 -1
  51. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/route_client-reference-manifest.js +1 -1
  52. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/stream/route_client-reference-manifest.js +1 -1
  53. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/user-settings/route_client-reference-manifest.js +1 -1
  54. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/[id]/nodes/route_client-reference-manifest.js +1 -1
  55. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/[id]/route_client-reference-manifest.js +1 -1
  56. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/route_client-reference-manifest.js +1 -1
  57. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/callback/route_client-reference-manifest.js +1 -1
  58. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/device/page.js +10 -10
  59. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/device/page.js.nft.json +1 -1
  60. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/device/page_client-reference-manifest.js +1 -1
  61. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/device.html +1 -1
  62. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/device.rsc +5 -5
  63. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard/page.js +10 -16
  64. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard/page.js.nft.json +1 -1
  65. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard/page_client-reference-manifest.js +1 -1
  66. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard.html +2 -2
  67. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard.rsc +5 -5
  68. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.html +2 -2
  69. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.rsc +21 -22
  70. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/login/page.js +4 -4
  71. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/login/page.js.nft.json +1 -1
  72. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/login/page_client-reference-manifest.js +1 -1
  73. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/login.html +2 -2
  74. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/login.rsc +4 -4
  75. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/page.js +4 -4
  76. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/page.js.nft.json +1 -1
  77. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/page_client-reference-manifest.js +1 -1
  78. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page.js +5 -5
  79. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  80. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  81. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/tasks/page.js +6 -12
  82. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/tasks/page.js.nft.json +1 -1
  83. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/tasks/page_client-reference-manifest.js +1 -1
  84. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/workflow/page.js +4 -4
  85. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/workflow/page.js.nft.json +1 -1
  86. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/workflow/page_client-reference-manifest.js +1 -1
  87. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/page.js +6 -12
  88. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/page.js.nft.json +1 -1
  89. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  90. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.html +2 -2
  91. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.rsc +5 -5
  92. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings/page.js +4 -4
  93. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings/page.js.nft.json +1 -1
  94. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  95. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.html +2 -2
  96. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.rsc +4 -4
  97. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app-paths-manifest.json +8 -8
  98. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/2298.js +1 -1
  99. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/3009.js +6 -9
  100. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/5519.js +6 -0
  101. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/6317.js +1 -1
  102. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{3224.js → 8243.js} +2 -2
  103. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/middleware-manifest.json +5 -5
  104. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/middleware.js +2 -2
  105. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/404.html +1 -1
  106. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/500.html +1 -1
  107. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/server-reference-manifest.js +1 -1
  108. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/server-reference-manifest.json +1 -1
  109. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/{2456-fbe20f5d4abf81b6.js → 2456-aba70fd10dd45071.js} +1 -1
  110. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/9337-bb6c612aafce3a9c.js +1 -0
  111. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/9719-26e3b61c21dd9194.js +1 -0
  112. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/auth/device/page-545a62f1fc051864.js +1 -0
  113. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/dashboard/page-161065be9ecc1540.js +1 -0
  114. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/layout-449a81ecf8041b29.js +1 -0
  115. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/page-8465be2213d5814e.js +1 -0
  116. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/tasks/page-1c83613d7bdd6e4d.js +1 -0
  117. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/page-daef2760bde2a1c2.js +1 -0
  118. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/css/6873fedf803c523e.css +1 -0
  119. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/worker/index.js +20 -4
  120. package/lib/cli/cloudArtifacts.js +15 -0
  121. package/lib/project-cli.js +20 -1
  122. package/package.json +1 -1
  123. package/templates/stack/postgres/init/001_agx_board_schema.sql +3 -0
  124. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/1240.js +0 -1
  125. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/9773.js +0 -6
  126. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/9337-09000d8a6c85f40c.js +0 -1
  127. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/9719-0fda94fde411f574.js +0 -1
  128. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/auth/device/page-3e9c80a3ba6872b6.js +0 -1
  129. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/dashboard/page-51df2483fced41d5.js +0 -1
  130. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/layout-a88b659f348808e1.js +0 -1
  131. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/page-98b32955971a9b89.js +0 -1
  132. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/tasks/page-7fa40666ec1be39a.js +0 -1
  133. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/page-4700b9b5d3d5d10e.js +0 -1
  134. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/css/d85185e3bba6ece1.css +0 -1
  135. /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{-ojuPEK3j4OzGear0wP9Y → mCUmhM9IAwdWuR54NbH0-}/_buildManifest.js +0 -0
  136. /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{-ojuPEK3j4OzGear0wP9Y → mCUmhM9IAwdWuR54NbH0-}/_ssgManifest.js +0 -0
@@ -20,4 +20,4 @@
20
20
  absolute -right-1 top-1/2 -translate-y-1/2 w-2 h-0.5
21
21
  ${l||k?"bg-[var(--success)]":"bg-[var(--card-border)]"}
22
22
  transition-colors duration-300 hidden lg:block
23
- `}),(0,d.jsx)("span",{className:"absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 text-[10px] font-normal whitespace-nowrap bg-[var(--card-bg)] text-[var(--foreground)] border border-[var(--card-border)] rounded-md shadow-lg opacity-0 group-hover:opacity-100 pointer-events-none transition-opacity duration-200 lg:hidden z-50",children:g.label})]},g.id)})})}var r=c(95627),s=c.n(r),t=c(53603),u=c(43843),v=c(93130),w=c(72576),x=c(22833);let y=({editor:a})=>a?(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-1 p-2 border-b border-[var(--card-border)] mb-2 sticky top-0 bg-[var(--card-bg)] z-10 opacity-90 backdrop-blur-sm",children:[(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleBold().run(),disabled:!a.can().chain().focus().toggleBold().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("bold")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Bold",children:(0,d.jsx)("span",{className:"font-bold font-serif",children:"B"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleItalic().run(),disabled:!a.can().chain().focus().toggleItalic().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("italic")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Italic",children:(0,d.jsx)("span",{className:"italic font-serif",children:"I"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleStrike().run(),disabled:!a.can().chain().focus().toggleStrike().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("strike")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Strike",children:(0,d.jsx)("span",{className:"line-through font-serif",children:"S"})}),(0,d.jsx)("div",{className:"w-px h-4 bg-[var(--card-border)] mx-1"}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleCode().run(),disabled:!a.can().chain().focus().toggleCode().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("code")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Code",children:(0,d.jsx)("span",{className:"font-mono text-xs",children:"<>"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleCodeBlock().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("codeBlock")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Code Block",children:(0,d.jsx)("span",{className:"font-mono text-xs",children:"CB"})}),(0,d.jsx)("div",{className:"w-px h-4 bg-[var(--card-border)] mx-1"}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleHeading({level:1}).run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("heading",{level:1})?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"H1",children:(0,d.jsx)("span",{className:"font-bold text-xs",children:"H1"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleHeading({level:2}).run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("heading",{level:2})?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"H2",children:(0,d.jsx)("span",{className:"font-bold text-xs",children:"H2"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleHeading({level:3}).run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("heading",{level:3})?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"H3",children:(0,d.jsx)("span",{className:"font-bold text-xs",children:"H3"})}),(0,d.jsx)("div",{className:"w-px h-4 bg-[var(--card-border)] mx-1"}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleBulletList().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("bulletList")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Bullet List",children:(0,d.jsx)("span",{className:"text-xs",children:"• List"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleOrderedList().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("orderedList")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Ordered List",children:(0,d.jsx)("span",{className:"text-xs",children:"1. List"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleBlockquote().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("blockquote")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Quote",children:(0,d.jsx)("span",{className:"text-xs serif italic",children:'""'})})]}):null;function z({content:a,editable:b=!0,onChange:c,onBlur:e,placeholder:f="Add a description..."}){let g=(0,t.hG)({extensions:[u.A,w.Ay.configure({openOnClick:!1}),v.A.configure({placeholder:f,emptyEditorClass:"is-editor-empty before:content-[attr(data-placeholder)] before:text-[var(--muted-foreground)] before:float-left before:pointer-events-none before:h-0"}),x.o.configure({html:!1,transformPastedText:!0,transformCopiedText:!0})],immediatelyRender:!1,content:a,editable:b,editorProps:{attributes:{class:"prose prose-sm max-w-none focus:outline-none min-h-[100px] text-[var(--foreground)]"}},onUpdate:({editor:a})=>{c?.(a.storage.markdown.getMarkdown())},onBlur:()=>{e?.()}});return(0,d.jsxs)("div",{className:"jsx-cdf669dd826a0677 relative group",children:[b&&(0,d.jsx)(y,{editor:g}),(0,d.jsx)(t.$Z,{editor:g,className:"rich-text-editor"}),(0,d.jsx)(s(),{id:"cdf669dd826a0677",children:".rich-text-editor .ProseMirror{min-height:100px;outline:none}.rich-text-editor .ProseMirror p{margin-bottom:.75em;line-height:1.6}.rich-text-editor .ProseMirror h1{font-size:1.5em;font-weight:700;margin-top:1em;margin-bottom:.5em}.rich-text-editor .ProseMirror h2{font-size:1.25em;font-weight:600;margin-top:1em;margin-bottom:.5em}.rich-text-editor .ProseMirror h3{font-size:1.1em;font-weight:600;margin-top:1em;margin-bottom:.5em}.rich-text-editor .ProseMirror ul{list-style-type:disc;padding-left:1.5em;margin-bottom:.75em}.rich-text-editor .ProseMirror ol{list-style-type:decimal;padding-left:1.5em;margin-bottom:.75em}.rich-text-editor .ProseMirror blockquote{border-left:3px solid var(--card-border);padding-left:1em;font-style:italic;color:var(--muted-foreground)}.rich-text-editor .ProseMirror pre{background:var(--muted);padding:.75em;border-radius:var(--radius-sm);font-family:monospace;overflow-x:auto;margin-bottom:.75em}.rich-text-editor .ProseMirror code{background:var(--muted);padding:.2em .4em;border-radius:var(--radius-sm);font-family:monospace;font-size:.85em}.rich-text-editor .ProseMirror a{color:var(--primary);text-decoration:underline}"})]})}var A=c(82997),B=c(3991),C=c.n(B);function D({projectContext:a,fallbackProjectSlug:b}){var c;let e=a?.project||null,f=a?.repos??[],g=a?.learnings??[],h=(c=e?.metadata)&&"object"==typeof c?Object.entries(c).filter(([a])=>!!a):[];if(!e)return(0,d.jsxs)("div",{className:"p-4 rounded-2xl border border-dashed border-[var(--card-border)] bg-[var(--card-bg)]/60 space-y-3",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-xs font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Project Context"}),(0,d.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:b?`Task is tagged with "${b}" but no structured project context is available yet.`:"This task is not connected to a project. Link it to unlock repo maps, CI/CD notes, and project learnings."})]}),(0,d.jsx)(C(),{href:"/projects",className:"inline-flex items-center justify-center text-xs font-semibold px-3 py-1.5 rounded-full border border-[var(--card-border)] hover:border-[var(--primary)] hover:text-[var(--primary)] transition-colors",children:"Manage Projects"})]});let i=g.slice(0,3),j=g.length-i.length;return(0,d.jsxs)("div",{className:"p-4 rounded-2xl border border-[var(--card-border)] bg-[var(--card-bg)] space-y-4",children:[(0,d.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-xs font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Project Context"}),(0,d.jsx)("h3",{className:"text-base font-semibold leading-tight mt-1",children:e.name}),(0,d.jsx)("p",{className:"text-[11px] uppercase tracking-wide text-[var(--muted-foreground)]",children:e.slug})]}),(0,d.jsx)(C(),{href:"/projects",className:"text-[11px] font-semibold px-2 py-1 rounded-full border border-[var(--card-border)] hover:border-[var(--primary)] hover:text-[var(--primary)] transition-colors",children:"View"})]}),e.description&&(0,d.jsx)("p",{className:"text-sm text-[var(--foreground)] whitespace-pre-line",children:e.description}),e.ci_cd_info&&(0,d.jsxs)("div",{className:"text-xs space-y-1",children:[(0,d.jsx)("p",{className:"font-semibold text-[var(--muted-foreground)] uppercase tracking-wide",children:"CI / CD"}),(0,d.jsx)("p",{className:"text-[var(--foreground)] text-sm",children:e.ci_cd_info})]}),h.length>0&&(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)] mb-2",children:"Metadata"}),(0,d.jsx)("dl",{className:"space-y-1.5",children:h.map(([a,b])=>(0,d.jsxs)("div",{className:"flex items-start justify-between gap-2 text-xs",children:[(0,d.jsx)("dt",{className:"font-semibold text-[var(--foreground)]",children:a}),(0,d.jsx)("dd",{className:"text-[var(--muted-foreground)] text-right max-w-[160px]",children:"string"==typeof b?b:JSON.stringify(b)})]},a))})]}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,d.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Repository Map"}),(0,d.jsx)("span",{className:"text-[11px] text-[var(--muted-foreground)]",children:f.length?`${f.length} connected`:"None"})]}),0===f.length?(0,d.jsx)("p",{className:"text-xs text-[var(--muted-foreground)]",children:"Add repositories to help agents navigate local and remote paths."}):(0,d.jsx)("ul",{className:"space-y-2",children:f.map(a=>(0,d.jsxs)("li",{className:"p-2 rounded-xl border border-[var(--card-border)] bg-[var(--background)] space-y-1 text-xs",children:[(0,d.jsx)("p",{className:"font-semibold text-[var(--foreground)]",children:a.name}),a.path&&(0,d.jsxs)("p",{className:"text-[var(--muted-foreground)]",children:["Path: ",a.path]}),a.git_url&&(0,d.jsxs)("p",{className:"text-[var(--muted-foreground)] break-all",children:["Repo: ",(0,d.jsx)("span",{className:"text-[var(--primary)]",children:a.git_url})]}),a.notes&&(0,d.jsxs)("p",{className:"text-[var(--muted-foreground)]",children:["Notes: ",a.notes]})]},a.id||a.name))})]}),g.length>0&&(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)] mb-2",children:"Project Learnings"}),(0,d.jsx)("ul",{className:"space-y-1 text-xs text-[var(--foreground)]",children:i.map((a,b)=>(0,d.jsxs)("li",{className:"leading-relaxed",children:["• ",a]},`${a}-${b}`))}),j>0&&(0,d.jsxs)("p",{className:"text-[11px] text-[var(--muted-foreground)] mt-1",children:["+",j," more learnings in the panel below"]})]})]})}var E=c(7889);let F={queued:{label:"Queued",color:"var(--status-queued)",bgColor:"var(--status-queued-bg)"},in_progress:{label:"In Progress",color:"var(--status-in-progress)",bgColor:"var(--status-in-progress-bg)"},blocked:{label:"Blocked",color:"var(--status-blocked)",bgColor:"var(--status-blocked-bg)"},completed:{label:"Completed",color:"var(--status-completed)",bgColor:"var(--status-completed-bg)"},failed:{label:"Failed",color:"var(--status-failed)",bgColor:"var(--status-failed-bg)"}},G=["queued","in_progress","blocked","completed","failed"];function H(a){if(!a)return"N/A";let b=new Date(a);return Number.isNaN(b.getTime())?a:b.toLocaleString()}function I({task:a,comments:b,learnings:c,projectContext:h,projects:i,stage_config:j,stages:k,isDraft:l=!1,isCreating:n=!1,onClose:r,onAddComment:s,onDeleteComment:t,onAddLearning:u,onUpdate:v,onDelete:w}){let{providers:x}=(0,E.u)(),{projects:y}=(0,A.Y)(),B=i||y,C=k||p,[I,K]=(0,e.useState)(!1),[L,M]=(0,e.useState)(!1),[N,O]=(0,e.useState)(!1),[P,Q]=(0,e.useState)(""),[R,S]=(0,e.useState)(null),[T,U]=(0,e.useState)(!1),[V,W]=(0,e.useState)(a.provider||""),[X,Y]=(0,e.useState)(a.model||""),[Z,$]=(0,e.useState)(a.swarm??!1),[_,aa]=(0,e.useState)([]),[ab,ac]=(0,e.useState)("gemini"),[ad,ae]=(0,e.useState)(""),[af,ag]=(0,e.useState)(!1),[ah,ai]=(0,e.useState)(null),aj=a.resolved_provider||j?.provider||"gemini",ak=a.resolved_model||j?.model||"",al=a.swarm??j?.swarm??!1;a.resolved_swarm_models||j?.swarm_models;let am=h??a.project_context??null,an=am?.project?.slug??a.project??null,[ao,ap]=(0,e.useState)(a.title||""),[aq,ar]=(0,e.useState)(""),as=async()=>{O(!0);try{await w?.()}finally{O(!1),M(!1)}},at=(0,f.YQ)(async b=>{l||b===(a.description??(a=>{let b=a.match(/^---\n[\s\S]*?\n---\n([\s\S]*)$/);return b?b[1]:a})(a.content||""))||await v({description:b})},1e3),au=(0,f.YQ)(async b=>{if(!l&&b!==(a.title||"")){ag(!0);try{await v({title:b})}finally{ag(!1)}}},1e3),av=(0,f.YQ)(async a=>{ag(!0),ai(null);try{await v(a)}catch(a){ai(a instanceof Error?a.message:"Failed to update settings")}finally{ag(!1)}},1e3),aw=async a=>{await v({stage:a,status:"done"===a?"completed":"ideation"===a?"queued":"in_progress"})},ax=async a=>{if(!a)return void await v({project:null,project_id:null});let b=B.find(b=>b.id===a);b&&await v({project:b.slug,project_id:b.id})},ay=async()=>{try{await aA("queued")}catch(a){console.error("Failed to retry task",a)}},az=async()=>{try{await aA("queued")}catch(a){console.error("Failed to unblock task",a)}},aA=async b=>{let c={status:b};"queued"===b&&(c.started_at=null,c.completed_at=null,c.error=void 0),"completed"!==b&&"failed"!==b&&"blocked"!==b||a.completed_at||(c.completed_at=new Date().toISOString()),await v(c)};F[a.status||"queued"];let aB=a.stage_decisions||{},aC=a.stage?aB[a.stage]:void 0,aD=function(a,b){if(!a||"object"!=typeof a)return null;let c=Object.entries(a).filter(([,a])=>!!(a&&b(a))).sort((a,b)=>{let c=Date.parse(a[1]?.decided_at||""),d=Date.parse(b[1]?.decided_at||"");return(Number.isNaN(d)?0:d)-(Number.isNaN(c)?0:c)});if(!c.length)return null;let[d,e]=c[0];return{stage:d,decision:e}}(aB,a=>"failed"===a.decision),aE=Object.entries(aB).filter(([,a])=>a?.decision==="blocked").sort((a,b)=>{let c=Date.parse(a[1]?.decided_at||""),d=Date.parse(b[1]?.decided_at||"");return(Number.isNaN(d)?0:d)-(Number.isNaN(c)?0:c)})[0],aF=aC?.decision==="blocked"?a.stage:aE?.[0],aG=aF&&aB[aF]?aB[aF]:void 0,aH=aG?.rationale,aI="string"==typeof a.error&&a.error.trim()?a.error.trim():(aD?.decision?.rationale||aD?.decision?.final_result||"").trim()||"Task marked failed.";return(0,d.jsx)("div",{className:"modal-backdrop",onClick:a=>a.target===a.currentTarget&&r(),children:(0,d.jsxs)("div",{className:"bg-[var(--card-bg)] w-full max-w-[1200px] h-[90vh] rounded-xl shadow-2xl overflow-hidden flex flex-col animate-scale-in border border-[var(--card-border)] m-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between px-6 py-4 border-b border-[var(--card-border)] bg-[var(--card-bg)]",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)("span",{className:"text-[var(--muted-foreground)] font-mono text-sm",children:l?"New Task":a.slug||a.id.slice(0,6)}),!l&&(0,d.jsx)(q,{currentStage:a.stage,onStageChange:aw,stageDecisions:a.stage_decisions,stages:C})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[l&&(0,d.jsx)("button",{onClick:()=>aq.trim()&&v({description:aq}),disabled:n||!aq.trim(),className:"btn-primary px-4 py-2 rounded-md text-sm font-medium disabled:opacity-50 disabled:cursor-not-allowed",children:n?"Creating...":"Create Task"}),!l&&af&&(0,d.jsxs)("span",{className:"text-[10px] text-[var(--muted-foreground)] animate-pulse flex items-center gap-1 mr-2",children:[(0,d.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--primary)]"}),"Saving..."]}),!l&&w&&(0,d.jsx)("button",{onClick:()=>M(!0),className:"btn-ghost p-2 rounded hover:bg-[var(--destructive-muted)] hover:text-[var(--destructive)]",title:"Delete Task",children:(0,d.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})})}),(0,d.jsx)("button",{onClick:r,className:"btn-ghost p-2 rounded",title:"Close (Esc)",children:(0,d.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]})]}),L&&(0,d.jsx)("div",{className:"absolute inset-0 bg-black/60 backdrop-blur-sm flex items-center justify-center z-50 rounded-xl animate-fade-in",children:(0,d.jsxs)("div",{className:"modal-content p-6 max-w-sm mx-4 animate-scale-in bg-[var(--card-bg)]",children:[(0,d.jsx)("h3",{className:"text-lg font-bold mb-2",children:"Delete Task?"}),(0,d.jsxs)("p",{className:"text-[var(--muted-foreground)] text-sm mb-6",children:["Are you sure you want to delete ",(0,d.jsx)("strong",{className:"text-[var(--foreground)]",children:a.slug||a.id.slice(0,6)}),"? This cannot be undone."]}),(0,d.jsxs)("div",{className:"flex justify-end gap-3",children:[(0,d.jsx)("button",{onClick:()=>M(!1),disabled:N,className:"btn-ghost",children:"Cancel"}),(0,d.jsx)("button",{onClick:as,disabled:N,className:"btn-destructive px-4 py-2 rounded-md",children:N?"Deleting...":"Delete"})]})]})}),(0,d.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[(0,d.jsx)("div",{className:"flex-1 overflow-y-auto scrollbar-thin",children:(0,d.jsxs)("div",{className:"max-w-3xl mx-auto p-8",children:[!l&&"failed"===a.status&&(0,d.jsxs)("div",{className:"mb-8 p-4 rounded-lg bg-[var(--status-failed-bg)] border border-[var(--status-failed)] text-[var(--status-failed)]",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})}),(0,d.jsx)("span",{className:"font-bold text-sm uppercase tracking-wider",children:"Task Execution Failed"})]}),(0,d.jsx)("button",{onClick:ay,className:"btn-ghost px-3 py-1 text-xs font-bold bg-white/20 rounded hover:bg-white/30 transition-colors uppercase",children:"Retry Task"})]}),(0,d.jsx)("p",{className:"text-sm font-medium",children:aI}),(0,d.jsxs)("div",{className:"mt-3 text-xs rounded-md border border-[var(--status-failed)]/40 bg-white/50 p-3",children:[(0,d.jsx)("h4",{className:"font-semibold uppercase tracking-wider mb-2",children:"Failure Metadata"}),(0,d.jsxs)("div",{className:"grid grid-cols-[140px_1fr] gap-x-3 gap-y-1.5",children:[(0,d.jsx)("span",{className:"opacity-70",children:"Stage"}),(0,d.jsx)("span",{className:"font-medium",children:a.stage||aD?.stage||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Exit Code"}),(0,d.jsx)("span",{className:"font-mono",children:a.exit_code??"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"PID"}),(0,d.jsx)("span",{className:"font-mono",children:a.pid??"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Completed At"}),(0,d.jsx)("span",{className:"font-medium",children:H(a.completed_at)}),aD?.decision&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"opacity-70",children:"Decision"}),(0,d.jsx)("span",{className:"font-medium",children:aD.decision.decision}),(0,d.jsx)("span",{className:"opacity-70",children:"Rationale"}),(0,d.jsx)("span",{className:"font-medium break-words",children:aD.decision.rationale||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Final Result"}),(0,d.jsx)("span",{className:"font-medium break-words",children:aD.decision.final_result||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Decided At"}),(0,d.jsx)("span",{className:"font-medium",children:H(aD.decision.decided_at)})]})]})]}),(T||P||R)&&(0,d.jsxs)("details",{className:"mt-3",open:!0,children:[(0,d.jsx)("summary",{className:"cursor-pointer select-none text-xs font-semibold uppercase tracking-wider opacity-90",children:"Error Details"}),(0,d.jsxs)("div",{className:"mt-2 rounded-md border border-[var(--status-failed)]/40 bg-[#0b0f14] text-slate-200",children:[(0,d.jsxs)("div",{className:"px-3 py-2 border-b border-white/10 text-[10px] uppercase tracking-widest text-white/60 flex items-center justify-between",children:[(0,d.jsx)("span",{children:"Log Excerpt"}),(0,d.jsx)("span",{className:"font-mono",children:T?"Loading...":R?"Unavailable":"Ready"})]}),(0,d.jsx)("pre",{className:"px-3 py-3 text-xs font-mono whitespace-pre-wrap max-h-64 overflow-y-auto",children:R?`Failed to load error details: ${R}`:P||"No error logs found."})]})]})]}),!l&&"blocked"===a.status&&(0,d.jsxs)("div",{className:"mb-8 p-4 rounded-lg bg-[var(--status-blocked-bg)] border border-[var(--status-blocked)] text-[var(--status-blocked)]",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z"})}),(0,d.jsx)("span",{className:"font-bold text-sm uppercase tracking-wider",children:"Task Blocked"})]}),(0,d.jsx)("button",{onClick:az,className:"btn-ghost px-3 py-1 text-xs font-bold bg-white/20 rounded hover:bg-white/30 transition-colors uppercase",children:"Unblock Task"})]}),(0,d.jsx)("p",{className:"text-sm opacity-90 pl-7 mb-4",children:aH||"Task is blocked and requires manual intervention."}),(0,d.jsxs)("div",{className:"ml-7 text-xs rounded-md border border-[var(--status-blocked)]/40 bg-white/50 p-3",children:[(0,d.jsx)("h4",{className:"font-semibold uppercase tracking-wider mb-2",children:"Blocked Metadata"}),(0,d.jsxs)("div",{className:"grid grid-cols-[140px_1fr] gap-x-3 gap-y-1.5",children:[(0,d.jsx)("span",{className:"opacity-70",children:"Decision Stage"}),(0,d.jsx)("span",{className:"font-medium",children:aF||a.stage||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Decision"}),(0,d.jsx)("span",{className:"font-medium",children:aG?.decision||"blocked"}),(0,d.jsx)("span",{className:"opacity-70",children:"Final Result"}),(0,d.jsx)("span",{className:"font-medium break-words",children:aG?.final_result||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Rationale"}),(0,d.jsx)("span",{className:"font-medium break-words",children:aG?.rationale||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Decided At"}),(0,d.jsx)("span",{className:"font-medium",children:H(aG?.decided_at)}),(0,d.jsx)("span",{className:"opacity-70",children:"Workflow ID"}),(0,d.jsx)("span",{className:"font-mono break-all",children:a.workflow_id||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Workflow Run ID"}),(0,d.jsx)("span",{className:"font-mono break-all",children:a.workflow_run_id||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Orchestration Status"}),(0,d.jsx)("span",{className:"font-medium",children:a.orchestration_status||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Last Orchestration Update"}),(0,d.jsx)("span",{className:"font-medium",children:H(a.last_orchestration_update)}),(0,d.jsx)("span",{className:"opacity-70",children:"Started At"}),(0,d.jsx)("span",{className:"font-medium",children:H(a.started_at)}),(0,d.jsx)("span",{className:"opacity-70",children:"Completed At"}),(0,d.jsx)("span",{className:"font-medium",children:H(a.completed_at)})]})]})]}),(0,d.jsx)("input",{type:"text",value:ao,onChange:a=>{var b;ap(b=a.target.value),l||au(b)},placeholder:"Task title...",className:"w-full text-2xl font-bold bg-transparent border-none outline-none text-[var(--foreground)] placeholder:text-[var(--muted-foreground)]/50 mb-4"}),(0,d.jsx)("div",{className:"mb-12 min-h-[150px]",children:(0,d.jsx)(z,{content:aq,onChange:a=>{ar(a),l||at(a)},placeholder:l?"Describe the task...":"Add more detail to this task..."})}),!l&&(0,d.jsx)(m,{taskId:a.id,status:a.status}),!l&&a.history&&a.history.length>0&&(0,d.jsxs)("div",{className:"mt-12 border-t border-[var(--card-border)] pt-8",children:[(0,d.jsx)("h3",{className:"text-xs font-semibold uppercase tracking-wider text-[var(--muted-foreground)] mb-4",children:"Execution History"}),(0,d.jsx)("div",{className:"overflow-x-auto",children:(0,d.jsxs)("table",{className:"w-full text-sm text-left",children:[(0,d.jsx)("thead",{className:"text-xs text-[var(--muted-foreground)] border-b border-[var(--card-border)]",children:(0,d.jsxs)("tr",{children:[(0,d.jsx)("th",{className:"py-2 pr-4 font-medium",children:"Started"}),(0,d.jsx)("th",{className:"py-2 pr-4 font-medium",children:"Duration"}),(0,d.jsx)("th",{className:"py-2 pr-4 font-medium",children:"PID"}),(0,d.jsx)("th",{className:"py-2 pr-4 font-medium",children:"Exit Code"})]})}),(0,d.jsx)("tbody",{className:"divide-y divide-[var(--card-border)]",children:a.history.map(a=>(0,d.jsxs)("tr",{className:"hover:bg-[var(--muted)]/20 transition-colors",children:[(0,d.jsx)("td",{className:"py-2 pr-4 font-mono text-xs opacity-80",children:a.started_at?new Date(a.started_at).toLocaleString():"N/A"}),(0,d.jsx)("td",{className:"py-2 pr-4 font-mono text-xs opacity-80",children:a.started_at&&a.completed_at?function(a,b){let c=b.getTime()-a.getTime();if(c<1e3)return`${c}ms`;let d=Math.floor(c/1e3);if(d<60)return`${d}s`;let e=Math.floor(d/60);return`${e}m ${d%60}s`}(new Date(a.started_at),new Date(a.completed_at)):"-"}),(0,d.jsx)("td",{className:"py-2 pr-4 font-mono text-xs opacity-80",children:a.pid??"-"}),(0,d.jsx)("td",{className:"py-2 pr-4",children:(0,d.jsx)("span",{className:`inline-flex items-center px-1.5 py-0.5 rounded text-[10px] font-medium border ${0===a.exit_code?"bg-[var(--status-completed-bg)] text-[var(--status-completed)] border-[var(--status-completed)]/20":"bg-[var(--status-failed-bg)] text-[var(--status-failed)] border-[var(--status-failed)]/20"}`,children:a.exit_code??"-"})})]},a.id))})]})})]}),!l&&(0,d.jsxs)("div",{className:"border-t border-[var(--card-border)] pt-8",children:[(0,d.jsxs)("h3",{className:"text-xs font-semibold uppercase tracking-wider text-[var(--muted-foreground)] mb-6 flex items-center justify-between",children:[(0,d.jsx)("span",{children:"Comments"}),(0,d.jsx)("span",{className:"text-[10px] bg-[var(--muted)] px-2 py-0.5 rounded-full",children:b.length})]}),(0,d.jsx)(g,{comments:b,onAddComment:s,onDeleteComment:t})]})]})}),(0,d.jsxs)("div",{className:"w-80 border-l border-[var(--card-border)] bg-[var(--muted)]/20 overflow-y-auto scrollbar-thin p-6 flex flex-col gap-8 flex-shrink-0",children:[(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"Stage"}),(0,d.jsx)("select",{value:a.stage,onChange:a=>aw(a.target.value),className:"text-sm font-medium bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1 focus:border-[var(--primary)] outline-none transition-colors cursor-pointer",disabled:l,children:C.map(a=>(0,d.jsx)("option",{value:a.id,children:a.label},a.id))})]}),!l&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"Status"}),(0,d.jsx)("select",{value:a.status||"queued",onChange:a=>aA(a.target.value),className:"text-sm font-medium bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1 focus:border-[var(--primary)] outline-none transition-colors cursor-pointer",children:G.map(a=>(0,d.jsx)("option",{value:a,children:F[a].label},a))})]}),(0,d.jsx)(J,{label:"ID",value:a.id}),a.slug&&(0,d.jsx)(J,{label:"Slug",value:a.slug,truncate:!0})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"Project"}),(0,d.jsxs)("select",{value:a.project_id||B.find(b=>b.slug===a.project)?.id||"",onChange:a=>ax(a.target.value),className:"text-sm font-medium bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1 focus:border-[var(--primary)] outline-none transition-colors cursor-pointer max-w-[150px] truncate",disabled:l,children:[(0,d.jsx)("option",{value:"",children:"None"}),B.map(a=>(0,d.jsx)("option",{value:a.id,children:a.name},a.id))]})]}),!l&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"Provider"}),(0,d.jsx)("span",{className:"text-sm font-medium",children:al?"Swarm":aj||"Default"})]}),void 0!==a.pid&&null!==a.pid&&(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"PID"}),(0,d.jsx)("span",{className:"text-sm font-mono font-medium",title:"Process ID",children:a.pid})]}),void 0!==a.exit_code&&null!==a.exit_code&&(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"Exit Code"}),(0,d.jsx)("span",{className:`text-sm font-mono font-medium ${0===a.exit_code?"text-[var(--status-completed)]":"text-[var(--status-failed)]"}`,children:a.exit_code})]})]})]}),!l&&(0,d.jsx)("div",{className:"w-full h-px bg-[var(--card-border)]"}),!l&&(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsx)("div",{className:"flex items-center justify-between",children:(0,d.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Execution"})}),(0,d.jsxs)("div",{className:"flex items-center justify-between bg-[var(--card-bg)] p-2 rounded border border-[var(--card-border)]",children:[(0,d.jsx)("span",{className:"text-sm font-medium",children:"Swarm Mode"}),(0,d.jsx)("button",{onClick:()=>(a=>{$(a);let b={swarm:a};a?b.swarm_models=_:(b.provider=V,b.model=X),v(b)})(!Z),className:`w-10 h-5 rounded-full transition-colors relative ${Z?"bg-[var(--primary)]":"bg-[var(--muted-foreground)]/30"}`,children:(0,d.jsx)("span",{className:`absolute top-0.5 left-0.5 w-4 h-4 bg-white rounded-full transition-transform ${Z?"translate-x-5":"translate-x-0"}`})})]}),Z?(0,d.jsxs)("div",{className:"space-y-3 animate-fade-in",children:[(0,d.jsx)("label",{className:"block text-xs text-[var(--muted-foreground)]",children:"Swarm Models"}),(0,d.jsxs)("div",{className:"grid gap-2",children:[(0,d.jsxs)("div",{className:"grid grid-cols-[1fr_1.2fr_auto] gap-2",children:[(0,d.jsx)("select",{value:ab,onChange:a=>ac(a.target.value),className:"text-sm bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1.5 focus:border-[var(--primary)] outline-none transition-colors appearance-none",children:x.map(a=>(0,d.jsx)("option",{value:a.id,children:a.label},a.id))}),(0,d.jsx)("input",{value:ad,onChange:a=>ae(a.target.value),placeholder:"model name",className:"text-sm bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1.5 focus:border-[var(--primary)] outline-none transition-colors"}),(0,d.jsx)("button",{type:"button",onClick:()=>{let a=ad.trim();if(!a)return;let b={provider:ab,model:a};if(_.some(a=>a.provider.toLowerCase()===b.provider.toLowerCase()&&a.model.toLowerCase()===b.model.toLowerCase()))return;let c=[..._,b];aa(c),ae(""),Z&&av({swarm_models:c})},className:"px-3 py-1.5 text-xs font-semibold rounded-md bg-[var(--card-bg)] border border-[var(--card-border)] hover:border-[var(--muted-foreground)]",children:"Add"})]}),_.length>0&&(0,d.jsx)("div",{className:"space-y-1",children:_.map((a,b)=>(0,d.jsxs)("div",{className:"flex items-center justify-between px-2 py-1.5 rounded text-sm border bg-[var(--card-bg)] border-[var(--card-border)]",children:[(0,d.jsxs)("span",{className:"truncate",children:[(0,d.jsx)("span",{className:"text-[var(--muted-foreground)]",children:a.provider}),(0,d.jsx)("span",{className:"mx-1",children:"\xb7"}),(0,d.jsx)("span",{children:a.model})]}),(0,d.jsx)("button",{type:"button",onClick:()=>(a=>{let b=_.filter((b,c)=>c!==a);aa(b),Z&&av({swarm_models:b})})(b),className:"text-xs text-[var(--destructive)] hover:underline",children:"Remove"})]},`${a.provider}-${a.model}-${b}`))})]})]}):(0,d.jsxs)("div",{className:"space-y-3 animate-fade-in",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"block text-xs text-[var(--muted-foreground)] mb-1.5",children:"Provider"}),(0,d.jsxs)("select",{value:V,onChange:a=>{var b;W(b=a.target.value),v({provider:b})},className:"w-full text-sm bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1.5 focus:border-[var(--primary)] outline-none transition-colors appearance-none",children:[(0,d.jsxs)("option",{value:"",children:["Default (",aj,")"]}),x.map(a=>(0,d.jsx)("option",{value:a.id,children:a.label},a.id))]})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"block text-xs text-[var(--muted-foreground)] mb-1.5",children:"Model"}),(0,d.jsx)("input",{value:X,onChange:a=>{var b;Y(b=a.target.value),av({model:b})},placeholder:`Default (${ak||"unspecified"})`,className:"w-full text-sm bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1.5 focus:border-[var(--primary)] outline-none transition-colors"})]})]}),ah&&(0,d.jsx)("p",{className:"text-xs text-[var(--destructive)]",children:ah})]}),!l&&(0,d.jsx)("div",{className:"w-full h-px bg-[var(--card-border)]"}),!l&&(0,d.jsx)(D,{projectContext:am,fallbackProjectSlug:an}),!l&&(0,d.jsx)("div",{className:"w-full h-px bg-[var(--card-border)]"}),!l&&(0,d.jsxs)("div",{children:[(0,d.jsxs)("button",{onClick:()=>K(!I),className:`w-full flex items-center justify-between p-3 rounded-lg border transition-all duration-200 ${I?"bg-[var(--primary-muted)] border-[var(--primary)] text-[var(--primary)]":"bg-[var(--card-bg)] border-[var(--card-border)] hover:border-[var(--muted-foreground)]"}`,children:[(0,d.jsx)("span",{className:"text-sm font-medium",children:"Learnings"}),(0,d.jsx)("span",{className:"text-xs bg-[var(--background)] px-2 py-0.5 rounded-full border border-[var(--card-border)]",children:c.length})]}),I&&(0,d.jsx)("div",{className:"mt-4 animate-fade-in-up",children:(0,d.jsx)(o,{learnings:c,taskId:a.id,projectContext:am,onAddLearning:u,compact:!0})})]}),!l&&(0,d.jsx)("div",{className:"mt-auto text-xs text-[var(--muted-foreground)]",children:(0,d.jsxs)("p",{children:["Created ",new Date(a.created_at||Date.now()).toLocaleDateString()]})})]})]})]})})}function J({label:a,value:b,truncate:c,mono:f=!0}){let[g,h]=(0,e.useState)(!1);return(0,d.jsxs)("div",{className:"flex items-center justify-between group h-7",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:a}),(0,d.jsxs)("button",{onClick:()=>{navigator.clipboard.writeText(b),h(!0),setTimeout(()=>h(!1),2e3)},className:`text-sm ${f?"font-mono":""} flex items-center gap-1.5 hover:bg-[var(--primary-muted)] hover:text-[var(--primary)] px-1.5 py-0.5 -mr-1.5 rounded transition-all`,title:"Click to copy",children:[(0,d.jsx)("span",{className:`${c?"max-w-[140px] truncate":""} ${g?"opacity-50":""}`,children:c&&b.length>20?b.slice(0,8)+"..."+b.slice(-8):b}),g?(0,d.jsx)("span",{className:"text-[10px] uppercase font-bold tracking-wider text-[var(--primary)] animate-scale-in",children:"Copied"}):(0,d.jsx)("svg",{className:"w-3.5 h-3.5 opacity-0 group-hover:opacity-60 transition-opacity",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})})]})]})}},7889:(a,b,c)=>{c.d(b,{u:()=>f});var d=c(38301);let e=[{id:"gemini",label:"Gemini"},{id:"claude",label:"Claude"},{id:"ollama",label:"Ollama"},{id:"codex",label:"Codex"}];function f(){let[a,b]=(0,d.useState)(e),[c,f]=(0,d.useState)(!0),g=(0,d.useMemo)(()=>a.map(a=>a.id),[a]);return{providers:a,providerIds:g,loading:c}}},88885:(a,b,c)=>{c.d(b,{Tw:()=>g,ls:()=>h,mP:()=>m,ou:()=>l});var d=c(38301);let e={ideation:"\uD83D\uDCA1",planning:"\uD83D\uDCCB",execution:"\uD83D\uDCBB",verification:"\uD83E\uDDEA",done:"✅",coding:"\uD83D\uDCBB",qa:"\uD83E\uDDEA",acceptance:"✓",pr:"\uD83D\uDD00",pr_review:"\uD83D\uDC40",merge:"\uD83D\uDE80"},f={ideation:"var(--warning)",planning:"var(--info)",execution:"var(--primary)",verification:"var(--accent)",done:"var(--success)",coding:"var(--primary)",qa:"var(--accent)",acceptance:"#8b5cf6",pr:"#f97316",pr_review:"#ef4444",merge:"#22c55e"},g=["ideation","planning","execution","verification","done"],h={ideation:{icon:"\uD83D\uDCA1",label:"Ideation",color:"var(--warning)"},planning:{icon:"\uD83D\uDCCB",label:"Planning",color:"var(--info)"},execution:{icon:"\uD83D\uDCBB",label:"Execution",color:"var(--primary)"},verification:{icon:"\uD83E\uDDEA",label:"Verification",color:"var(--accent)"},done:{icon:"✅",label:"Done",color:"var(--success)"}},i="00000000-0000-0000-0000-000000000001",j=[{id:"00000000-0000-0000-0001-000000000001",workflow_id:i,name:"ideation",label:"Ideation",prompt:"Research and scope this. Define approach, estimate effort, list unknowns.",provider:null,model:null,position:0,node_type:"step",created_at:new Date(0).toISOString(),updated_at:new Date(0).toISOString()},{id:"00000000-0000-0000-0001-000000000002",workflow_id:i,name:"planning",label:"Planning",prompt:"Create detailed plan with tasks, milestones, and dependencies.",provider:null,model:null,position:1,node_type:"step",created_at:new Date(0).toISOString(),updated_at:new Date(0).toISOString()},{id:"00000000-0000-0000-0001-000000000003",workflow_id:i,name:"execution",label:"Execution",prompt:"Implement based on the plan. Write clean, tested code.",provider:null,model:null,position:2,node_type:"step",created_at:new Date(0).toISOString(),updated_at:new Date(0).toISOString()},{id:"00000000-0000-0000-0001-000000000004",workflow_id:i,name:"verification",label:"Verification",prompt:"Test thoroughly. Find edge cases. Fix bugs. Verify it works.",provider:null,model:null,position:3,node_type:"gate",created_at:new Date(0).toISOString(),updated_at:new Date(0).toISOString()},{id:"00000000-0000-0000-0001-000000000009",workflow_id:i,name:"done",label:"Done",prompt:"Task completed and shipped.",provider:null,model:null,position:4,node_type:"terminal",created_at:new Date(0).toISOString(),updated_at:new Date(0).toISOString()}],k=[{id:"fallback-ideation-planning",workflow_id:i,from_node:"ideation",to_node:"planning",condition:"done",priority:0,created_at:new Date(0).toISOString()},{id:"fallback-planning-execution",workflow_id:i,from_node:"planning",to_node:"execution",condition:"done",priority:0,created_at:new Date(0).toISOString()},{id:"fallback-execution-verification",workflow_id:i,from_node:"execution",to_node:"verification",condition:"done",priority:0,created_at:new Date(0).toISOString()},{id:"fallback-verification-done",workflow_id:i,from_node:"verification",to_node:"done",condition:"done",priority:0,created_at:new Date(0).toISOString()},{id:"fallback-verification-execution",workflow_id:i,from_node:"verification",to_node:"execution",condition:"failed",priority:1,created_at:new Date(0).toISOString()}],l="00000000-0000-0000-0000-000000000001";function m(a={}){let b=a.workflowId||l,[c,n]=(0,d.useState)(null),[o,p]=(0,d.useState)(!0),[q,r]=(0,d.useState)(null),s=(0,d.useCallback)(async()=>{p(!0),r(null);try{let a=await fetch(`/api/workflows/${b}`);if(!a.ok)throw Error(`Failed to fetch workflow: ${a.statusText}`);let c=await a.json(),d=c.workflow??c,e=Array.isArray(d.nodes)?d.nodes:[];Array.isArray(d.transitions)&&d.transitions,e&&0!==e.length||b!==i?n(d):n({...d,nodes:j,transitions:k})}catch(a){console.error("Error fetching workflow:",a),r(a instanceof Error?a:Error(String(a)))}finally{p(!1)}},[b]),t=(0,d.useMemo)(()=>c?.nodes?.length?c.nodes.slice().sort((a,b)=>a.position-b.position).map(a=>a.name):[...g],[c]),u=(0,d.useMemo)(()=>{if(!c?.nodes?.length)return h;let a={};for(let b of c.nodes)a[b.name]={icon:e[b.name]||"\uD83D\uDCCC",label:b.label||b.name.charAt(0).toUpperCase()+b.name.slice(1),color:f[b.name]||"var(--primary)"};return a},[c]),v=(0,d.useMemo)(()=>c?.transitions||[],[c]),w=(0,d.useCallback)((a,b)=>{if(a===b)return!0;if(!c?.nodes?.length){let c=g.indexOf(a),d=g.indexOf(b);return d<c||d===c+1}let d=t.indexOf(a),e=t.indexOf(b);return!!(e<d||v.some(c=>c.from_node===a&&c.to_node===b))||e===d+1},[c,t,v]);return{workflow:c,stages:t,stageConfig:u,transitions:v,isLoading:o,error:q,refetch:s,isValidTransition:w}}}};
23
+ `}),(0,d.jsx)("span",{className:"absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 text-[10px] font-normal whitespace-nowrap bg-[var(--card-bg)] text-[var(--foreground)] border border-[var(--card-border)] rounded-md shadow-lg opacity-0 group-hover:opacity-100 pointer-events-none transition-opacity duration-200 lg:hidden z-50",children:g.label})]},g.id)})})}var r=c(95627),s=c.n(r),t=c(53603),u=c(43843),v=c(93130),w=c(72576),x=c(22833);let y=({editor:a})=>a?(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-1 p-2 border-b border-[var(--card-border)] mb-2 sticky top-0 bg-[var(--card-bg)] z-10 opacity-90 backdrop-blur-sm",children:[(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleBold().run(),disabled:!a.can().chain().focus().toggleBold().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("bold")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Bold",children:(0,d.jsx)("span",{className:"font-bold font-serif",children:"B"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleItalic().run(),disabled:!a.can().chain().focus().toggleItalic().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("italic")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Italic",children:(0,d.jsx)("span",{className:"italic font-serif",children:"I"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleStrike().run(),disabled:!a.can().chain().focus().toggleStrike().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("strike")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Strike",children:(0,d.jsx)("span",{className:"line-through font-serif",children:"S"})}),(0,d.jsx)("div",{className:"w-px h-4 bg-[var(--card-border)] mx-1"}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleCode().run(),disabled:!a.can().chain().focus().toggleCode().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("code")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Code",children:(0,d.jsx)("span",{className:"font-mono text-xs",children:"<>"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleCodeBlock().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("codeBlock")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Code Block",children:(0,d.jsx)("span",{className:"font-mono text-xs",children:"CB"})}),(0,d.jsx)("div",{className:"w-px h-4 bg-[var(--card-border)] mx-1"}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleHeading({level:1}).run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("heading",{level:1})?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"H1",children:(0,d.jsx)("span",{className:"font-bold text-xs",children:"H1"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleHeading({level:2}).run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("heading",{level:2})?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"H2",children:(0,d.jsx)("span",{className:"font-bold text-xs",children:"H2"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleHeading({level:3}).run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("heading",{level:3})?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"H3",children:(0,d.jsx)("span",{className:"font-bold text-xs",children:"H3"})}),(0,d.jsx)("div",{className:"w-px h-4 bg-[var(--card-border)] mx-1"}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleBulletList().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("bulletList")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Bullet List",children:(0,d.jsx)("span",{className:"text-xs",children:"• List"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleOrderedList().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("orderedList")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Ordered List",children:(0,d.jsx)("span",{className:"text-xs",children:"1. List"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleBlockquote().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("blockquote")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Quote",children:(0,d.jsx)("span",{className:"text-xs serif italic",children:'""'})})]}):null;function z({content:a,editable:b=!0,onChange:c,onBlur:e,placeholder:f="Add a description..."}){let g=(0,t.hG)({extensions:[u.A,w.Ay.configure({openOnClick:!1}),v.A.configure({placeholder:f,emptyEditorClass:"is-editor-empty before:content-[attr(data-placeholder)] before:text-[var(--muted-foreground)] before:float-left before:pointer-events-none before:h-0"}),x.o.configure({html:!1,transformPastedText:!0,transformCopiedText:!0})],immediatelyRender:!1,content:a,editable:b,editorProps:{attributes:{class:"prose prose-sm max-w-none focus:outline-none min-h-[100px] text-[var(--foreground)]"}},onUpdate:({editor:a})=>{c?.(a.storage.markdown.getMarkdown())},onBlur:()=>{e?.()}});return(0,d.jsxs)("div",{className:"jsx-cdf669dd826a0677 relative group",children:[b&&(0,d.jsx)(y,{editor:g}),(0,d.jsx)(t.$Z,{editor:g,className:"rich-text-editor"}),(0,d.jsx)(s(),{id:"cdf669dd826a0677",children:".rich-text-editor .ProseMirror{min-height:100px;outline:none}.rich-text-editor .ProseMirror p{margin-bottom:.75em;line-height:1.6}.rich-text-editor .ProseMirror h1{font-size:1.5em;font-weight:700;margin-top:1em;margin-bottom:.5em}.rich-text-editor .ProseMirror h2{font-size:1.25em;font-weight:600;margin-top:1em;margin-bottom:.5em}.rich-text-editor .ProseMirror h3{font-size:1.1em;font-weight:600;margin-top:1em;margin-bottom:.5em}.rich-text-editor .ProseMirror ul{list-style-type:disc;padding-left:1.5em;margin-bottom:.75em}.rich-text-editor .ProseMirror ol{list-style-type:decimal;padding-left:1.5em;margin-bottom:.75em}.rich-text-editor .ProseMirror blockquote{border-left:3px solid var(--card-border);padding-left:1em;font-style:italic;color:var(--muted-foreground)}.rich-text-editor .ProseMirror pre{background:var(--muted);padding:.75em;border-radius:var(--radius-sm);font-family:monospace;overflow-x:auto;margin-bottom:.75em}.rich-text-editor .ProseMirror code{background:var(--muted);padding:.2em .4em;border-radius:var(--radius-sm);font-family:monospace;font-size:.85em}.rich-text-editor .ProseMirror a{color:var(--primary);text-decoration:underline}"})]})}var A=c(82997),B=c(3991),C=c.n(B);function D({projectContext:a,fallbackProjectSlug:b}){var c;let e=a?.project||null,f=a?.repos??[],g=a?.learnings??[],h=(c=e?.metadata)&&"object"==typeof c?Object.entries(c).filter(([a])=>!!a):[];if(!e)return(0,d.jsxs)("div",{className:"p-4 rounded-2xl border border-dashed border-[var(--card-border)] bg-[var(--card-bg)]/60 space-y-3",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-xs font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Project Context"}),(0,d.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:b?`Task is tagged with "${b}" but no structured project context is available yet.`:"This task is not connected to a project. Link it to unlock repo maps, CI/CD notes, and project learnings."})]}),(0,d.jsx)(C(),{href:"/projects",className:"inline-flex items-center justify-center text-xs font-semibold px-3 py-1.5 rounded-full border border-[var(--card-border)] hover:border-[var(--primary)] hover:text-[var(--primary)] transition-colors",children:"Manage Projects"})]});let i=g.slice(0,3),j=g.length-i.length;return(0,d.jsxs)("div",{className:"p-4 rounded-2xl border border-[var(--card-border)] bg-[var(--card-bg)] space-y-4",children:[(0,d.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-xs font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Project Context"}),(0,d.jsx)("h3",{className:"text-base font-semibold leading-tight mt-1",children:e.name}),(0,d.jsx)("p",{className:"text-[11px] uppercase tracking-wide text-[var(--muted-foreground)]",children:e.slug})]}),(0,d.jsx)(C(),{href:"/projects",className:"text-[11px] font-semibold px-2 py-1 rounded-full border border-[var(--card-border)] hover:border-[var(--primary)] hover:text-[var(--primary)] transition-colors",children:"View"})]}),e.description&&(0,d.jsx)("p",{className:"text-sm text-[var(--foreground)] whitespace-pre-line",children:e.description}),e.ci_cd_info&&(0,d.jsxs)("div",{className:"text-xs space-y-1",children:[(0,d.jsx)("p",{className:"font-semibold text-[var(--muted-foreground)] uppercase tracking-wide",children:"CI / CD"}),(0,d.jsx)("p",{className:"text-[var(--foreground)] text-sm",children:e.ci_cd_info})]}),h.length>0&&(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)] mb-2",children:"Metadata"}),(0,d.jsx)("dl",{className:"space-y-1.5",children:h.map(([a,b])=>(0,d.jsxs)("div",{className:"flex items-start justify-between gap-2 text-xs",children:[(0,d.jsx)("dt",{className:"font-semibold text-[var(--foreground)]",children:a}),(0,d.jsx)("dd",{className:"text-[var(--muted-foreground)] text-right max-w-[160px]",children:"string"==typeof b?b:JSON.stringify(b)})]},a))})]}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,d.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Repository Map"}),(0,d.jsx)("span",{className:"text-[11px] text-[var(--muted-foreground)]",children:f.length?`${f.length} connected`:"None"})]}),0===f.length?(0,d.jsx)("p",{className:"text-xs text-[var(--muted-foreground)]",children:"Add repositories to help agents navigate local and remote paths."}):(0,d.jsx)("ul",{className:"space-y-2",children:f.map(a=>(0,d.jsxs)("li",{className:"p-2 rounded-xl border border-[var(--card-border)] bg-[var(--background)] space-y-1 text-xs",children:[(0,d.jsx)("p",{className:"font-semibold text-[var(--foreground)]",children:a.name}),a.path&&(0,d.jsxs)("p",{className:"text-[var(--muted-foreground)]",children:["Path: ",a.path]}),a.git_url&&(0,d.jsxs)("p",{className:"text-[var(--muted-foreground)] break-all",children:["Repo: ",(0,d.jsx)("span",{className:"text-[var(--primary)]",children:a.git_url})]}),a.notes&&(0,d.jsxs)("p",{className:"text-[var(--muted-foreground)]",children:["Notes: ",a.notes]})]},a.id||a.name))})]}),g.length>0&&(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)] mb-2",children:"Project Learnings"}),(0,d.jsx)("ul",{className:"space-y-1 text-xs text-[var(--foreground)]",children:i.map((a,b)=>(0,d.jsxs)("li",{className:"leading-relaxed",children:["• ",a]},`${a}-${b}`))}),j>0&&(0,d.jsxs)("p",{className:"text-[11px] text-[var(--muted-foreground)] mt-1",children:["+",j," more learnings in the panel below"]})]})]})}var E=c(7889);let F={queued:{label:"Queued",color:"var(--status-queued)",bgColor:"var(--status-queued-bg)"},in_progress:{label:"In Progress",color:"var(--status-in-progress)",bgColor:"var(--status-in-progress-bg)"},blocked:{label:"Blocked",color:"var(--status-blocked)",bgColor:"var(--status-blocked-bg)"},completed:{label:"Completed",color:"var(--status-completed)",bgColor:"var(--status-completed-bg)"},failed:{label:"Failed",color:"var(--status-failed)",bgColor:"var(--status-failed-bg)"}},G=["queued","in_progress","blocked","completed","failed"];function H(a){if(!a)return"N/A";let b=new Date(a);return Number.isNaN(b.getTime())?a:b.toLocaleString()}function I({task:a,comments:b,learnings:c,projectContext:h,projects:i,stage_config:j,stages:k,isDraft:l=!1,isCreating:n=!1,onClose:r,onAddComment:s,onDeleteComment:t,onAddLearning:u,onUpdate:v,onDelete:w}){let{providers:x}=(0,E.u)(),{projects:y}=(0,A.Y)(),B=i||y,C=k||p,[I,K]=(0,e.useState)(!1),[L,M]=(0,e.useState)(!1),[N,O]=(0,e.useState)(!1),[P,Q]=(0,e.useState)(""),[R,S]=(0,e.useState)(null),[T,U]=(0,e.useState)(!1),[V,W]=(0,e.useState)(a.provider||""),[X,Y]=(0,e.useState)(a.model||""),[Z,$]=(0,e.useState)(a.swarm??!1),[_,aa]=(0,e.useState)([]),[ab,ac]=(0,e.useState)("gemini"),[ad,ae]=(0,e.useState)(""),[af,ag]=(0,e.useState)(!1),[ah,ai]=(0,e.useState)(null),aj=a.resolved_provider||j?.provider||"gemini",ak=a.resolved_model||j?.model||"",al=a.swarm??j?.swarm??!1;a.resolved_swarm_models||j?.swarm_models;let am=h??a.project_context??null,an=am?.project?.slug??a.project??null,[ao,ap]=(0,e.useState)(a.title||""),[aq,ar]=(0,e.useState)(""),as=async()=>{O(!0);try{await w?.()}finally{O(!1),M(!1)}},at=(0,f.YQ)(async b=>{l||b===(a.description??(a=>{let b=a.match(/^---\n[\s\S]*?\n---\n([\s\S]*)$/);return b?b[1]:a})(a.content||""))||await v({description:b})},1e3),au=(0,f.YQ)(async b=>{if(!l&&b!==(a.title||"")){ag(!0);try{await v({title:b})}finally{ag(!1)}}},1e3),av=(0,f.YQ)(async a=>{ag(!0),ai(null);try{await v(a)}catch(a){ai(a instanceof Error?a.message:"Failed to update settings")}finally{ag(!1)}},1e3),aw=async a=>{let b="done"===a?"completed":"ideation"===a?"queued":"in_progress";if(l)return void await v({stage:a,status:b});await v({stage:a,status:b})},ax=async a=>{if(!a)return void await v({project:null,project_id:null});let b=B.find(b=>b.id===a);b&&await v({project:b.slug,project_id:b.id})},ay=async()=>{try{await aA("queued")}catch(a){console.error("Failed to retry task",a)}},az=async()=>{try{await aA("queued")}catch(a){console.error("Failed to unblock task",a)}},aA=async b=>{let c={status:b};"queued"===b&&(c.started_at=null,c.completed_at=null,c.error=void 0),"completed"!==b&&"failed"!==b&&"blocked"!==b||a.completed_at||(c.completed_at=new Date().toISOString()),await v(c)};F[a.status||"queued"];let aB=a.stage_decisions||{},aC=a.stage?aB[a.stage]:void 0,aD=function(a,b){if(!a||"object"!=typeof a)return null;let c=Object.entries(a).filter(([,a])=>!!(a&&b(a))).sort((a,b)=>{let c=Date.parse(a[1]?.decided_at||""),d=Date.parse(b[1]?.decided_at||"");return(Number.isNaN(d)?0:d)-(Number.isNaN(c)?0:c)});if(!c.length)return null;let[d,e]=c[0];return{stage:d,decision:e}}(aB,a=>"failed"===a.decision),aE=Object.entries(aB).filter(([,a])=>a?.decision==="blocked").sort((a,b)=>{let c=Date.parse(a[1]?.decided_at||""),d=Date.parse(b[1]?.decided_at||"");return(Number.isNaN(d)?0:d)-(Number.isNaN(c)?0:c)})[0],aF=aC?.decision==="blocked"?a.stage:aE?.[0],aG=aF&&aB[aF]?aB[aF]:void 0,aH=aG?.rationale,aI="string"==typeof a.error&&a.error.trim()?a.error.trim():(aD?.decision?.rationale||aD?.decision?.final_result||"").trim()||"Task marked failed.";return(0,d.jsx)("div",{className:"modal-backdrop",onClick:a=>a.target===a.currentTarget&&r(),children:(0,d.jsxs)("div",{className:"bg-[var(--card-bg)] w-full max-w-[1200px] h-[90vh] rounded-xl shadow-2xl overflow-hidden flex flex-col animate-scale-in border border-[var(--card-border)] m-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between px-6 py-4 border-b border-[var(--card-border)] bg-[var(--card-bg)]",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)("span",{className:"text-[var(--muted-foreground)] font-mono text-sm",children:l?"New Task":a.slug||a.id.slice(0,6)}),!l&&(0,d.jsx)(q,{currentStage:a.stage,onStageChange:aw,stageDecisions:a.stage_decisions,stages:C})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[l&&(0,d.jsx)("button",{onClick:()=>{if(!aq.trim())return;let b="done"===a.stage?"completed":"ideation"===a.stage?"queued":"in_progress";v({title:ao,description:aq,stage:a.stage,status:b,project:a.project??null,project_id:a.project_id??null,provider:V||void 0,model:X||void 0,swarm:Z,swarm_models:Z?_:[]})},disabled:n||!aq.trim(),className:"btn-primary px-4 py-2 rounded-md text-sm font-medium disabled:opacity-50 disabled:cursor-not-allowed",children:n?"Creating...":"Create Task"}),!l&&af&&(0,d.jsxs)("span",{className:"text-[10px] text-[var(--muted-foreground)] animate-pulse flex items-center gap-1 mr-2",children:[(0,d.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--primary)]"}),"Saving..."]}),!l&&w&&(0,d.jsx)("button",{onClick:()=>M(!0),className:"btn-ghost p-2 rounded hover:bg-[var(--destructive-muted)] hover:text-[var(--destructive)]",title:"Delete Task",children:(0,d.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})})}),(0,d.jsx)("button",{onClick:r,className:"btn-ghost p-2 rounded",title:"Close (Esc)",children:(0,d.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]})]}),L&&(0,d.jsx)("div",{className:"absolute inset-0 bg-black/60 backdrop-blur-sm flex items-center justify-center z-50 rounded-xl animate-fade-in",children:(0,d.jsxs)("div",{className:"modal-content p-6 max-w-sm mx-4 animate-scale-in bg-[var(--card-bg)]",children:[(0,d.jsx)("h3",{className:"text-lg font-bold mb-2",children:"Delete Task?"}),(0,d.jsxs)("p",{className:"text-[var(--muted-foreground)] text-sm mb-6",children:["Are you sure you want to delete ",(0,d.jsx)("strong",{className:"text-[var(--foreground)]",children:a.slug||a.id.slice(0,6)}),"? This cannot be undone."]}),(0,d.jsxs)("div",{className:"flex justify-end gap-3",children:[(0,d.jsx)("button",{onClick:()=>M(!1),disabled:N,className:"btn-ghost",children:"Cancel"}),(0,d.jsx)("button",{onClick:as,disabled:N,className:"btn-destructive px-4 py-2 rounded-md",children:N?"Deleting...":"Delete"})]})]})}),(0,d.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[(0,d.jsx)("div",{className:"flex-1 overflow-y-auto scrollbar-thin",children:(0,d.jsxs)("div",{className:"max-w-3xl mx-auto p-8",children:[!l&&"failed"===a.status&&(0,d.jsxs)("div",{className:"mb-8 p-4 rounded-lg bg-[var(--status-failed-bg)] border border-[var(--status-failed)] text-[var(--status-failed)]",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})}),(0,d.jsx)("span",{className:"font-bold text-sm uppercase tracking-wider",children:"Task Execution Failed"})]}),(0,d.jsx)("button",{onClick:ay,className:"btn-ghost px-3 py-1 text-xs font-bold bg-white/20 rounded hover:bg-white/30 transition-colors uppercase",children:"Retry Task"})]}),(0,d.jsx)("p",{className:"text-sm font-medium",children:aI}),(0,d.jsxs)("div",{className:"mt-3 text-xs rounded-md border border-[var(--status-failed)]/40 bg-white/50 p-3",children:[(0,d.jsx)("h4",{className:"font-semibold uppercase tracking-wider mb-2",children:"Failure Metadata"}),(0,d.jsxs)("div",{className:"grid grid-cols-[140px_1fr] gap-x-3 gap-y-1.5",children:[(0,d.jsx)("span",{className:"opacity-70",children:"Stage"}),(0,d.jsx)("span",{className:"font-medium",children:a.stage||aD?.stage||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Exit Code"}),(0,d.jsx)("span",{className:"font-mono",children:a.exit_code??"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"PID"}),(0,d.jsx)("span",{className:"font-mono",children:a.pid??"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Completed At"}),(0,d.jsx)("span",{className:"font-medium",children:H(a.completed_at)}),aD?.decision&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"opacity-70",children:"Decision"}),(0,d.jsx)("span",{className:"font-medium",children:aD.decision.decision}),(0,d.jsx)("span",{className:"opacity-70",children:"Rationale"}),(0,d.jsx)("span",{className:"font-medium break-words",children:aD.decision.rationale||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Final Result"}),(0,d.jsx)("span",{className:"font-medium break-words",children:aD.decision.final_result||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Decided At"}),(0,d.jsx)("span",{className:"font-medium",children:H(aD.decision.decided_at)})]})]})]}),(T||P||R)&&(0,d.jsxs)("details",{className:"mt-3",open:!0,children:[(0,d.jsx)("summary",{className:"cursor-pointer select-none text-xs font-semibold uppercase tracking-wider opacity-90",children:"Error Details"}),(0,d.jsxs)("div",{className:"mt-2 rounded-md border border-[var(--status-failed)]/40 bg-[#0b0f14] text-slate-200",children:[(0,d.jsxs)("div",{className:"px-3 py-2 border-b border-white/10 text-[10px] uppercase tracking-widest text-white/60 flex items-center justify-between",children:[(0,d.jsx)("span",{children:"Log Excerpt"}),(0,d.jsx)("span",{className:"font-mono",children:T?"Loading...":R?"Unavailable":"Ready"})]}),(0,d.jsx)("pre",{className:"px-3 py-3 text-xs font-mono whitespace-pre-wrap max-h-64 overflow-y-auto",children:R?`Failed to load error details: ${R}`:P||"No error logs found."})]})]})]}),!l&&"blocked"===a.status&&(0,d.jsxs)("div",{className:"mb-8 p-4 rounded-lg bg-[var(--status-blocked-bg)] border border-[var(--status-blocked)] text-[var(--status-blocked)]",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z"})}),(0,d.jsx)("span",{className:"font-bold text-sm uppercase tracking-wider",children:"Task Blocked"})]}),(0,d.jsx)("button",{onClick:az,className:"btn-ghost px-3 py-1 text-xs font-bold bg-white/20 rounded hover:bg-white/30 transition-colors uppercase",children:"Unblock Task"})]}),(0,d.jsx)("p",{className:"text-sm opacity-90 pl-7 mb-4",children:aH||"Task is blocked and requires manual intervention."}),(0,d.jsxs)("div",{className:"ml-7 text-xs rounded-md border border-[var(--status-blocked)]/40 bg-white/50 p-3",children:[(0,d.jsx)("h4",{className:"font-semibold uppercase tracking-wider mb-2",children:"Blocked Metadata"}),(0,d.jsxs)("div",{className:"grid grid-cols-[140px_1fr] gap-x-3 gap-y-1.5",children:[(0,d.jsx)("span",{className:"opacity-70",children:"Decision Stage"}),(0,d.jsx)("span",{className:"font-medium",children:aF||a.stage||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Decision"}),(0,d.jsx)("span",{className:"font-medium",children:aG?.decision||"blocked"}),(0,d.jsx)("span",{className:"opacity-70",children:"Final Result"}),(0,d.jsx)("span",{className:"font-medium break-words",children:aG?.final_result||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Rationale"}),(0,d.jsx)("span",{className:"font-medium break-words",children:aG?.rationale||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Decided At"}),(0,d.jsx)("span",{className:"font-medium",children:H(aG?.decided_at)}),(0,d.jsx)("span",{className:"opacity-70",children:"Workflow ID"}),(0,d.jsx)("span",{className:"font-mono break-all",children:a.workflow_id||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Workflow Run ID"}),(0,d.jsx)("span",{className:"font-mono break-all",children:a.workflow_run_id||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Orchestration Status"}),(0,d.jsx)("span",{className:"font-medium",children:a.orchestration_status||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Last Orchestration Update"}),(0,d.jsx)("span",{className:"font-medium",children:H(a.last_orchestration_update)}),(0,d.jsx)("span",{className:"opacity-70",children:"Started At"}),(0,d.jsx)("span",{className:"font-medium",children:H(a.started_at)}),(0,d.jsx)("span",{className:"opacity-70",children:"Completed At"}),(0,d.jsx)("span",{className:"font-medium",children:H(a.completed_at)})]})]})]}),(0,d.jsx)("input",{type:"text",value:ao,onChange:a=>{var b;ap(b=a.target.value),l||au(b)},placeholder:"Task title...",className:"w-full text-2xl font-bold bg-transparent border-none outline-none text-[var(--foreground)] placeholder:text-[var(--muted-foreground)]/50 mb-4"}),(0,d.jsx)("div",{className:"mb-12 min-h-[150px]",children:(0,d.jsx)(z,{content:aq,onChange:a=>{ar(a),l||at(a)},placeholder:l?"Describe the task...":"Add more detail to this task..."})}),!l&&(0,d.jsx)(m,{taskId:a.id,status:a.status}),!l&&a.history&&a.history.length>0&&(0,d.jsxs)("div",{className:"mt-12 border-t border-[var(--card-border)] pt-8",children:[(0,d.jsx)("h3",{className:"text-xs font-semibold uppercase tracking-wider text-[var(--muted-foreground)] mb-4",children:"Execution History"}),(0,d.jsx)("div",{className:"overflow-x-auto",children:(0,d.jsxs)("table",{className:"w-full text-sm text-left",children:[(0,d.jsx)("thead",{className:"text-xs text-[var(--muted-foreground)] border-b border-[var(--card-border)]",children:(0,d.jsxs)("tr",{children:[(0,d.jsx)("th",{className:"py-2 pr-4 font-medium",children:"Started"}),(0,d.jsx)("th",{className:"py-2 pr-4 font-medium",children:"Duration"}),(0,d.jsx)("th",{className:"py-2 pr-4 font-medium",children:"PID"}),(0,d.jsx)("th",{className:"py-2 pr-4 font-medium",children:"Exit Code"})]})}),(0,d.jsx)("tbody",{className:"divide-y divide-[var(--card-border)]",children:a.history.map(a=>(0,d.jsxs)("tr",{className:"hover:bg-[var(--muted)]/20 transition-colors",children:[(0,d.jsx)("td",{className:"py-2 pr-4 font-mono text-xs opacity-80",children:a.started_at?new Date(a.started_at).toLocaleString():"N/A"}),(0,d.jsx)("td",{className:"py-2 pr-4 font-mono text-xs opacity-80",children:a.started_at&&a.completed_at?function(a,b){let c=b.getTime()-a.getTime();if(c<1e3)return`${c}ms`;let d=Math.floor(c/1e3);if(d<60)return`${d}s`;let e=Math.floor(d/60);return`${e}m ${d%60}s`}(new Date(a.started_at),new Date(a.completed_at)):"-"}),(0,d.jsx)("td",{className:"py-2 pr-4 font-mono text-xs opacity-80",children:a.pid??"-"}),(0,d.jsx)("td",{className:"py-2 pr-4",children:(0,d.jsx)("span",{className:`inline-flex items-center px-1.5 py-0.5 rounded text-[10px] font-medium border ${0===a.exit_code?"bg-[var(--status-completed-bg)] text-[var(--status-completed)] border-[var(--status-completed)]/20":"bg-[var(--status-failed-bg)] text-[var(--status-failed)] border-[var(--status-failed)]/20"}`,children:a.exit_code??"-"})})]},a.id))})]})})]}),!l&&(0,d.jsxs)("div",{className:"border-t border-[var(--card-border)] pt-8",children:[(0,d.jsxs)("h3",{className:"text-xs font-semibold uppercase tracking-wider text-[var(--muted-foreground)] mb-6 flex items-center justify-between",children:[(0,d.jsx)("span",{children:"Comments"}),(0,d.jsx)("span",{className:"text-[10px] bg-[var(--muted)] px-2 py-0.5 rounded-full",children:b.length})]}),(0,d.jsx)(g,{comments:b,onAddComment:s,onDeleteComment:t})]})]})}),(0,d.jsxs)("div",{className:"w-80 border-l border-[var(--card-border)] bg-[var(--muted)]/20 overflow-y-auto scrollbar-thin p-6 flex flex-col gap-8 flex-shrink-0",children:[(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"Stage"}),(0,d.jsx)("select",{value:a.stage,onChange:a=>aw(a.target.value),className:"text-sm font-medium bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1 focus:border-[var(--primary)] outline-none transition-colors cursor-pointer",children:C.map(a=>(0,d.jsx)("option",{value:a.id,children:a.label},a.id))})]}),!l&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"Status"}),(0,d.jsx)("select",{value:a.status||"queued",onChange:a=>aA(a.target.value),className:"text-sm font-medium bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1 focus:border-[var(--primary)] outline-none transition-colors cursor-pointer",children:G.map(a=>(0,d.jsx)("option",{value:a,children:F[a].label},a))})]}),(0,d.jsx)(J,{label:"ID",value:a.id}),a.slug&&(0,d.jsx)(J,{label:"Slug",value:a.slug,truncate:!0})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"Project"}),(0,d.jsxs)("select",{value:a.project_id||B.find(b=>b.slug===a.project)?.id||"",onChange:a=>ax(a.target.value),className:"text-sm font-medium bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1 focus:border-[var(--primary)] outline-none transition-colors cursor-pointer max-w-[150px] truncate",children:[(0,d.jsx)("option",{value:"",children:"None"}),B.map(a=>(0,d.jsx)("option",{value:a.id,children:a.name},a.id))]})]}),!l&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"Provider"}),(0,d.jsx)("span",{className:"text-sm font-medium",children:al?"Swarm":aj||"Default"})]}),void 0!==a.pid&&null!==a.pid&&(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"PID"}),(0,d.jsx)("span",{className:"text-sm font-mono font-medium",title:"Process ID",children:a.pid})]}),void 0!==a.exit_code&&null!==a.exit_code&&(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"Exit Code"}),(0,d.jsx)("span",{className:`text-sm font-mono font-medium ${0===a.exit_code?"text-[var(--status-completed)]":"text-[var(--status-failed)]"}`,children:a.exit_code})]})]})]}),(0,d.jsx)("div",{className:"w-full h-px bg-[var(--card-border)]"}),(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsx)("div",{className:"flex items-center justify-between",children:(0,d.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Execution"})}),(0,d.jsxs)("div",{className:"flex items-center justify-between bg-[var(--card-bg)] p-2 rounded border border-[var(--card-border)]",children:[(0,d.jsx)("span",{className:"text-sm font-medium",children:"Swarm Mode"}),(0,d.jsx)("button",{onClick:()=>(a=>{$(a);let b={swarm:a};a?b.swarm_models=_:(b.provider=V,b.model=X),v(b)})(!Z),className:`w-10 h-5 rounded-full transition-colors relative ${Z?"bg-[var(--primary)]":"bg-[var(--muted-foreground)]/30"}`,children:(0,d.jsx)("span",{className:`absolute top-0.5 left-0.5 w-4 h-4 bg-white rounded-full transition-transform ${Z?"translate-x-5":"translate-x-0"}`})})]}),Z?(0,d.jsxs)("div",{className:"space-y-3 animate-fade-in",children:[(0,d.jsx)("label",{className:"block text-xs text-[var(--muted-foreground)]",children:"Swarm Models"}),(0,d.jsxs)("div",{className:"grid gap-2",children:[(0,d.jsxs)("div",{className:"grid grid-cols-[1fr_1.2fr_auto] gap-2",children:[(0,d.jsx)("select",{value:ab,onChange:a=>ac(a.target.value),className:"text-sm bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1.5 focus:border-[var(--primary)] outline-none transition-colors appearance-none",children:x.map(a=>(0,d.jsx)("option",{value:a.id,children:a.label},a.id))}),(0,d.jsx)("input",{value:ad,onChange:a=>ae(a.target.value),placeholder:"model name",className:"text-sm bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1.5 focus:border-[var(--primary)] outline-none transition-colors"}),(0,d.jsx)("button",{type:"button",onClick:()=>{let a=ad.trim();if(!a)return;let b={provider:ab,model:a};if(_.some(a=>a.provider.toLowerCase()===b.provider.toLowerCase()&&a.model.toLowerCase()===b.model.toLowerCase()))return;let c=[..._,b];if(aa(c),ae(""),l)return void v({swarm_models:c});Z&&av({swarm_models:c})},className:"px-3 py-1.5 text-xs font-semibold rounded-md bg-[var(--card-bg)] border border-[var(--card-border)] hover:border-[var(--muted-foreground)]",children:"Add"})]}),_.length>0&&(0,d.jsx)("div",{className:"space-y-1",children:_.map((a,b)=>(0,d.jsxs)("div",{className:"flex items-center justify-between px-2 py-1.5 rounded text-sm border bg-[var(--card-bg)] border-[var(--card-border)]",children:[(0,d.jsxs)("span",{className:"truncate",children:[(0,d.jsx)("span",{className:"text-[var(--muted-foreground)]",children:a.provider}),(0,d.jsx)("span",{className:"mx-1",children:"\xb7"}),(0,d.jsx)("span",{children:a.model})]}),(0,d.jsx)("button",{type:"button",onClick:()=>(a=>{let b=_.filter((b,c)=>c!==a);if(aa(b),l)return void v({swarm_models:b});Z&&av({swarm_models:b})})(b),className:"text-xs text-[var(--destructive)] hover:underline",children:"Remove"})]},`${a.provider}-${a.model}-${b}`))})]})]}):(0,d.jsxs)("div",{className:"space-y-3 animate-fade-in",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"block text-xs text-[var(--muted-foreground)] mb-1.5",children:"Provider"}),(0,d.jsxs)("select",{value:V,onChange:a=>(a=>{if(W(a),l)return void v({provider:a});v({provider:a})})(a.target.value),className:"w-full text-sm bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1.5 focus:border-[var(--primary)] outline-none transition-colors appearance-none",children:[(0,d.jsxs)("option",{value:"",children:["Default (",aj,")"]}),x.map(a=>(0,d.jsx)("option",{value:a.id,children:a.label},a.id))]})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"block text-xs text-[var(--muted-foreground)] mb-1.5",children:"Model"}),(0,d.jsx)("input",{value:X,onChange:a=>(a=>{if(Y(a),l)return void v({model:a});av({model:a})})(a.target.value),placeholder:`Default (${ak||"unspecified"})`,className:"w-full text-sm bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1.5 focus:border-[var(--primary)] outline-none transition-colors"})]})]}),ah&&(0,d.jsx)("p",{className:"text-xs text-[var(--destructive)]",children:ah})]}),!l&&(0,d.jsx)("div",{className:"w-full h-px bg-[var(--card-border)]"}),!l&&(0,d.jsx)(D,{projectContext:am,fallbackProjectSlug:an}),!l&&(0,d.jsx)("div",{className:"w-full h-px bg-[var(--card-border)]"}),!l&&(0,d.jsxs)("div",{children:[(0,d.jsxs)("button",{onClick:()=>K(!I),className:`w-full flex items-center justify-between p-3 rounded-lg border transition-all duration-200 ${I?"bg-[var(--primary-muted)] border-[var(--primary)] text-[var(--primary)]":"bg-[var(--card-bg)] border-[var(--card-border)] hover:border-[var(--muted-foreground)]"}`,children:[(0,d.jsx)("span",{className:"text-sm font-medium",children:"Learnings"}),(0,d.jsx)("span",{className:"text-xs bg-[var(--background)] px-2 py-0.5 rounded-full border border-[var(--card-border)]",children:c.length})]}),I&&(0,d.jsx)("div",{className:"mt-4 animate-fade-in-up",children:(0,d.jsx)(o,{learnings:c,taskId:a.id,projectContext:am,onAddLearning:u,compact:!0})})]}),!l&&(0,d.jsx)("div",{className:"mt-auto text-xs text-[var(--muted-foreground)]",children:(0,d.jsxs)("p",{children:["Created ",new Date(a.created_at||Date.now()).toLocaleDateString()]})})]})]})]})})}function J({label:a,value:b,truncate:c,mono:f=!0}){let[g,h]=(0,e.useState)(!1);return(0,d.jsxs)("div",{className:"flex items-center justify-between group h-7",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:a}),(0,d.jsxs)("button",{onClick:()=>{navigator.clipboard.writeText(b),h(!0),setTimeout(()=>h(!1),2e3)},className:`text-sm ${f?"font-mono":""} flex items-center gap-1.5 hover:bg-[var(--primary-muted)] hover:text-[var(--primary)] px-1.5 py-0.5 -mr-1.5 rounded transition-all`,title:"Click to copy",children:[(0,d.jsx)("span",{className:`${c?"max-w-[140px] truncate":""} ${g?"opacity-50":""}`,children:c&&b.length>20?b.slice(0,8)+"..."+b.slice(-8):b}),g?(0,d.jsx)("span",{className:"text-[10px] uppercase font-bold tracking-wider text-[var(--primary)] animate-scale-in",children:"Copied"}):(0,d.jsx)("svg",{className:"w-3.5 h-3.5 opacity-0 group-hover:opacity-60 transition-opacity",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})})]})]})}},7889:(a,b,c)=>{c.d(b,{u:()=>f});var d=c(38301);let e=[{id:"gemini",label:"Gemini"},{id:"claude",label:"Claude"},{id:"ollama",label:"Ollama"},{id:"codex",label:"Codex"}];function f(){let[a,b]=(0,d.useState)(e),[c,f]=(0,d.useState)(!0),g=(0,d.useMemo)(()=>a.map(a=>a.id),[a]);return{providers:a,providerIds:g,loading:c}}},88885:(a,b,c)=>{c.d(b,{Tw:()=>g,ls:()=>h,mP:()=>m,ou:()=>l});var d=c(38301);let e={ideation:"\uD83D\uDCA1",planning:"\uD83D\uDCCB",execution:"\uD83D\uDCBB",verification:"\uD83E\uDDEA",done:"✅",coding:"\uD83D\uDCBB",qa:"\uD83E\uDDEA",acceptance:"✓",pr:"\uD83D\uDD00",pr_review:"\uD83D\uDC40",merge:"\uD83D\uDE80"},f={ideation:"var(--warning)",planning:"var(--info)",execution:"var(--primary)",verification:"var(--accent)",done:"var(--success)",coding:"var(--primary)",qa:"var(--accent)",acceptance:"#8b5cf6",pr:"#f97316",pr_review:"#ef4444",merge:"#22c55e"},g=["ideation","planning","execution","verification","done"],h={ideation:{icon:"\uD83D\uDCA1",label:"Ideation",color:"var(--warning)"},planning:{icon:"\uD83D\uDCCB",label:"Planning",color:"var(--info)"},execution:{icon:"\uD83D\uDCBB",label:"Execution",color:"var(--primary)"},verification:{icon:"\uD83E\uDDEA",label:"Verification",color:"var(--accent)"},done:{icon:"✅",label:"Done",color:"var(--success)"}},i="00000000-0000-0000-0000-000000000001",j=[{id:"00000000-0000-0000-0001-000000000001",workflow_id:i,name:"ideation",label:"Ideation",prompt:"Research and scope this. Define approach, estimate effort, list unknowns.",provider:null,model:null,position:0,node_type:"step",created_at:new Date(0).toISOString(),updated_at:new Date(0).toISOString()},{id:"00000000-0000-0000-0001-000000000002",workflow_id:i,name:"planning",label:"Planning",prompt:"Create detailed plan with tasks, milestones, and dependencies.",provider:null,model:null,position:1,node_type:"step",created_at:new Date(0).toISOString(),updated_at:new Date(0).toISOString()},{id:"00000000-0000-0000-0001-000000000003",workflow_id:i,name:"execution",label:"Execution",prompt:"Implement based on the plan. Write clean, tested code.",provider:null,model:null,position:2,node_type:"step",created_at:new Date(0).toISOString(),updated_at:new Date(0).toISOString()},{id:"00000000-0000-0000-0001-000000000004",workflow_id:i,name:"verification",label:"Verification",prompt:"Test thoroughly. Find edge cases. Fix bugs. Verify it works.",provider:null,model:null,position:3,node_type:"gate",created_at:new Date(0).toISOString(),updated_at:new Date(0).toISOString()},{id:"00000000-0000-0000-0001-000000000009",workflow_id:i,name:"done",label:"Done",prompt:"Task completed and shipped.",provider:null,model:null,position:4,node_type:"terminal",created_at:new Date(0).toISOString(),updated_at:new Date(0).toISOString()}],k=[{id:"fallback-ideation-planning",workflow_id:i,from_node:"ideation",to_node:"planning",condition:"done",priority:0,created_at:new Date(0).toISOString()},{id:"fallback-planning-execution",workflow_id:i,from_node:"planning",to_node:"execution",condition:"done",priority:0,created_at:new Date(0).toISOString()},{id:"fallback-execution-verification",workflow_id:i,from_node:"execution",to_node:"verification",condition:"done",priority:0,created_at:new Date(0).toISOString()},{id:"fallback-verification-done",workflow_id:i,from_node:"verification",to_node:"done",condition:"done",priority:0,created_at:new Date(0).toISOString()},{id:"fallback-verification-execution",workflow_id:i,from_node:"verification",to_node:"execution",condition:"failed",priority:1,created_at:new Date(0).toISOString()}],l="00000000-0000-0000-0000-000000000001";function m(a={}){let b=a.workflowId||l,[c,n]=(0,d.useState)(null),[o,p]=(0,d.useState)(!0),[q,r]=(0,d.useState)(null),s=(0,d.useCallback)(async()=>{p(!0),r(null);try{let a=await fetch(`/api/workflows/${b}`);if(!a.ok)throw Error(`Failed to fetch workflow: ${a.statusText}`);let c=await a.json(),d=c.workflow??c,e=Array.isArray(d.nodes)?d.nodes:[];Array.isArray(d.transitions)&&d.transitions,e&&0!==e.length||b!==i?n(d):n({...d,nodes:j,transitions:k})}catch(a){console.error("Error fetching workflow:",a),r(a instanceof Error?a:Error(String(a)))}finally{p(!1)}},[b]),t=(0,d.useMemo)(()=>c?.nodes?.length?c.nodes.slice().sort((a,b)=>a.position-b.position).map(a=>a.name):[...g],[c]),u=(0,d.useMemo)(()=>{if(!c?.nodes?.length)return h;let a={};for(let b of c.nodes)a[b.name]={icon:e[b.name]||"\uD83D\uDCCC",label:b.label||b.name.charAt(0).toUpperCase()+b.name.slice(1),color:f[b.name]||"var(--primary)"};return a},[c]),v=(0,d.useMemo)(()=>c?.transitions||[],[c]),w=(0,d.useCallback)((a,b)=>{if(a===b)return!0;if(!c?.nodes?.length){let c=g.indexOf(a),d=g.indexOf(b);return d<c||d===c+1}let d=t.indexOf(a),e=t.indexOf(b);return!!(e<d||v.some(c=>c.from_node===a&&c.to_node===b))||e===d+1},[c,t,v]);return{workflow:c,stages:t,stageConfig:u,transitions:v,isLoading:o,error:q,refetch:s,isValidTransition:w}}}};
@@ -1,14 +1,11 @@
1
1
  "use strict";exports.id=3009,exports.ids=[3009],exports.modules={19873:(a,b,c)=>{c.d(b,{A:()=>f});var d=c(21124),e=c(38301);function f({tasks:a,onTaskClick:b,onStop:c,onRetry:f,cancellingTaskId:g}){let h=(0,e.useMemo)(()=>a.filter(a=>"in_progress"===a.status),[a]),[i,j]=(0,e.useState)({});return 0===h.length?null:(0,d.jsx)("div",{className:"w-full bg-[var(--card-bg)] border-b border-[var(--border)] mb-6 animate-fade-in-down",children:(0,d.jsx)("div",{className:"max-w-full overflow-x-auto no-scrollbar",children:(0,d.jsxs)("div",{className:"flex items-center gap-4 p-4 min-w-max",children:[(0,d.jsxs)("div",{className:"flex flex-col justify-center pr-4 border-r border-[var(--border)]",children:[(0,d.jsxs)("h3",{className:"text-sm font-bold text-[var(--foreground)] whitespace-nowrap flex items-center gap-2",children:[(0,d.jsxs)("span",{className:"relative flex h-2 w-2",children:[(0,d.jsx)("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-green-400 opacity-75"}),(0,d.jsx)("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-green-500"})]}),"Now Running"]}),(0,d.jsxs)("span",{className:"text-[10px] text-[var(--muted-foreground)] uppercase tracking-wider font-semibold",children:[h.length," Active"]})]}),(0,d.jsx)("div",{className:"flex items-center gap-3",children:h.map(a=>{let e=a.id===g;return(0,d.jsxs)("div",{onClick:()=>b?.(a),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,d.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:a.provider?a.provider.substring(0,2).toUpperCase():"AG"}),(0,d.jsxs)("div",{className:"flex flex-col flex-1 min-w-0",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between text-xs mb-0.5",children:[(0,d.jsxs)("span",{className:"font-semibold text-[var(--foreground)] truncate max-w-[120px]",children:[a.provider||"Agent"," ",a.model?`• ${a.model}`:""]}),(0,d.jsx)("span",{className:"font-mono text-[var(--muted-foreground)]",children:i[a.id]||"0m"})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,d.jsx)("span",{className:"text-[11px] text-[var(--muted-foreground)] truncate max-w-[140px]",children:a.title||a.content.substring(0,30)}),(0,d.jsx)("div",{className:"w-12 h-1 bg-[var(--muted)] rounded-full overflow-hidden",children:(0,d.jsx)("div",{className:"h-full bg-[var(--primary)] animate-pulse rounded-full",style:{width:`${40*Math.random()+30}%`}})})]})]}),(0,d.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,d.jsx)("button",{type:"button",onClick:b=>{b.stopPropagation(),e||c?.(a.id)},disabled:e,className:`p-1 rounded transition-all ${e?"cursor-wait text-[var(--destructive)]/80 opacity-80":"hover:bg-[var(--destructive)]/10 text-[var(--muted-foreground)] hover:text-[var(--destructive)]"}`,title:e?"Stopping...":"Stop Task",children:e?(0,d.jsx)("span",{className:"inline-flex h-3 w-3 rounded-full border border-[var(--destructive)] border-t-transparent animate-spin"}):(0,d.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:(0,d.jsx)("rect",{x:"6",y:"6",width:"12",height:"12",rx:"2"})})}),(0,d.jsx)("button",{type:"button",onClick:b=>{b.stopPropagation(),f?.(a.id)},className:"p-1 hover:bg-[var(--primary)]/10 text-[var(--muted-foreground)] hover:text-[var(--primary)] rounded",title:"Retry / Restart",children:(0,d.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("path",{d:"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}),(0,d.jsx)("path",{d:"M3 3v5h5"}),(0,d.jsx)("path",{d:"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16"}),(0,d.jsx)("path",{d:"M16 21h5v-5"})]})})]})]},a.id)})})]})})})}},32273:(a,b,c)=>{c.d(b,{A:()=>n});var d=c(21124),e=c(38301),f=c(10366),g=c(99615),h=c(22023);let i={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 j({task:a,onClick:b}){let{attributes:c,listeners:e,setNodeRef:f,transform:j,transition:k,isDragging:l}=(0,g.gl)({id:a.id}),m={transform:h.Ks.Transform.toString(j),transition:k},n=i[a.status||"queued"];return(0,d.jsxs)("div",{ref:f,...c,...e,onClick:b,className:`
2
- group relative p-3 bg-[var(--card-bg)] rounded-lg border border-[var(--card-border)]
3
- cursor-grab active:cursor-grabbing select-none
4
- hover:border-[var(--card-hover-border)] hover:shadow-md
5
- transition-all duration-200
2
+ group relative flex items-center gap-2 p-1.5 rounded-md
3
+ hover:bg-[var(--item-hover-bg)] transition-all duration-150 cursor-default
6
4
  focus-visible:outline-2 focus-visible:outline-[var(--ring)] focus-visible:outline-offset-2
7
- ${l?"opacity-40 shadow-xl ring-2 ring-[var(--primary)] scale-[1.02] rotate-1":""}
8
- `,style:{transform:m.transform,transition:m.transition,touchAction:"none"},children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-2 mb-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[void 0!==a.priority&&(0,d.jsxs)("span",{className:`
9
- text-[10px] font-bold px-1.5 py-0.5 rounded
10
- ${0===a.priority?"bg-red-100 text-red-700":"bg-gray-100 text-gray-600"}
11
- `,children:["P",a.priority]}),a.project&&(0,d.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 bg-gray-100 text-gray-600 rounded font-medium truncate max-w-[80px]",children:a.project})]}),(0,d.jsx)("div",{className:"opacity-0 group-hover:opacity-100 transition-opacity flex gap-1",children:(0,d.jsx)("button",{className:"p-1 hover:bg-gray-100 rounded text-gray-400 hover:text-gray-600",children:(0,d.jsx)("svg",{className:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z"})})})})]}),(0,d.jsx)("h4",{className:"text-sm font-semibold text-[var(--foreground)] line-clamp-2 leading-snug mb-3 group-hover:text-[var(--primary)] transition-colors",children:a.title||"Untitled Task"}),(0,d.jsxs)("div",{className:"flex items-center justify-between mt-auto pt-2 border-t border-[var(--border)] border-opacity-50",children:[(0,d.jsx)("div",{className:"flex items-center gap-2",children:(a.swarm||a.provider||a.engine)&&(0,d.jsxs)("div",{className:"flex items-center gap-1 text-[10px] text-gray-500 font-medium bg-gray-50 px-1.5 py-0.5 rounded border border-gray-100",children:[(0,d.jsx)("span",{children:a.swarm?"\uD83D\uDC1D":"\uD83E\uDD16"}),(0,d.jsx)("span",{className:"capitalize truncate max-w-[60px]",children:a.swarm?"Swarm":a.provider||a.engine})]})}),a.status&&"queued"!==a.status&&(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("div",{className:"w-1.5 h-1.5 rounded-full",style:{background:n.textColor}}),(0,d.jsx)("span",{className:"text-[10px] font-medium text-gray-500 capitalize",children:a.status.replace("_"," ")})]})]})]})}let k={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 l({task:a}){let b=k[a.status||"queued"];return(0,d.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:b.borderColor},children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-2 mb-1.5",children:[(0,d.jsx)("div",{className:"flex items-center gap-1.5",children:void 0!==a.priority&&(0,d.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",a.priority]})}),a.project&&(0,d.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:a.project})]}),(0,d.jsx)("h4",{className:"text-sm font-medium line-clamp-2 text-[var(--primary)] leading-snug",children:a.title||"Untitled"}),(0,d.jsxs)("div",{className:"flex items-center gap-2 mt-2 text-[10px] text-[var(--muted-foreground)]",children:[a.engine&&(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)("span",{children:"\uD83E\uDD16"}),(0,d.jsx)("span",{className:"capitalize",children:a.engine})]}),a.status&&(0,d.jsx)("span",{className:"px-1.5 py-0.5 rounded font-medium",style:{background:b.bgColor,color:b.textColor},children:a.status.replace("_"," ")})]})]})}var m=c(88885);function n({tasks:a,onTasksChange:b,onSelectTask:c,onTaskUpdate:h,onAddTask:i,stages:j,stageConfig:k,isValidTransition:n,isCreatingTask:p,creatingStage:q}){let r=j||m.Tw,s=k||m.ls,t=n||((a,b)=>{if(a===b)return!0;let c=r.indexOf(a),d=r.indexOf(b);return d<c||d===c+1}),[u,v]=(0,e.useState)(null),[w,x]=(0,e.useState)(a),y=(0,e.useMemo)(()=>{let a={};for(let b of r)a[b]=w.filter(a=>a.stage===b).sort((a,b)=>(a.priority||0)-(b.priority||0));return a},[w,r]),z=(0,f.FR)((0,f.MS)(f.AN,{activationConstraint:{distance:8}}));async function A(c){let{active:d,over:e}=c;if(v(null),!e)return void x(a);let f=d.id,i=e.id,j=w.find(a=>a.id===f);if(!j)return;let k=j.stage,l=j.priority||0;if(r.includes(i)){let a=y[k=i];l=a.length>0?Math.max(...a.map(a=>a.priority||0))+1:0}else{let a=w.find(a=>a.id===i);if(a){k=a.stage;let c=w.filter(a=>a.stage===k),d=c.findIndex(a=>a.id===f),e=c.findIndex(a=>a.id===i);if(-1!==d&&-1!==e&&d!==e){let a=(0,g.be)(c,d,e),f=w.map(b=>{let c=a.findIndex(a=>a.id===b.id);return -1!==c?{...b,priority:c}:b});x(f),b?.(f)}l=a.priority||0}}let m=a.find(a=>a.id===f);if(m&&!t(m.stage||"",k))return void x(a);if(h&&(j.stage!==k||j.priority!==l))try{await h(f,{stage:k,priority:l,status:"done"===k?"completed":"ideation"===k?"queued":"in_progress"}),b?.(w)}catch(b){console.error("Failed to update task:",b),x(a)}}return(0,d.jsxs)(f.Mp,{sensors:z,collisionDetection:f.y$,onDragStart:function(a){let b=w.find(b=>b.id===a.active.id);b&&v(b)},onDragOver:function(a){let b,{active:c,over:d}=a;if(!d)return;let e=c.id,f=d.id,g=w.find(a=>a.id===e);if(g){if(r.includes(f))b=f;else{let a=w.find(a=>a.id===f);if(!a)return;b=a.stage}if(g.stage!==b){if(!t(g.stage||"",b))return;x(a=>a.map(a=>a.id===e?{...a,stage:b}:a))}}},onDragEnd:A,children:[(0,d.jsx)("div",{className:"flex gap-4 overflow-x-auto pb-4 px-4 scrollbar-thin h-full items-stretch",children:r.map((a,b)=>(0,d.jsx)(o,{stage:a,tasks:y[a]||[],onSelectTask:c,index:b,onAddTask:i,config:s[a]||{icon:"\uD83D\uDCCC",label:a,color:"var(--primary)"},isCreating:!!(p&&q===a)},a))}),(0,d.jsx)(f.Hd,{dropAnimation:{duration:200,easing:"cubic-bezier(0.18, 0.67, 0.6, 1.22)"},children:u?(0,d.jsx)(l,{task:u}):null})]})}function o({stage:a,tasks:b,onSelectTask:c,index:e,onAddTask:h,config:i,isCreating:k=!1}){let{setNodeRef:l,isOver:m}=(0,f.zM)({id:a}),n=!h||k;return(0,d.jsxs)("div",{ref:l,id:a,className:`
5
+ ${l?"opacity-50 bg-[var(--item-hover-bg)]":""}
6
+ `,style:{transform:m.transform,transition:m.transition,touchAction:"none"},children:[(0,d.jsx)("div",{className:"w-2 h-2 rounded-full flex-shrink-0 cursor-grab active:cursor-grabbing hover:scale-125 transition-transform",style:{backgroundColor:n.textColor}}),(0,d.jsxs)("div",{className:"flex-1 min-w-0 flex items-center justify-between gap-3",children:[(0,d.jsx)("h4",{className:`text-sm text-[var(--foreground)] truncate leading-tight
7
+ ${"completed"===a.status?"text-[var(--muted-foreground)] line-through":""}
8
+ `,children:a.title||"Untitled Task"}),(0,d.jsxs)("div",{className:"flex items-center gap-2 opacity-0 group-hover:opacity-100 transition-opacity",children:[void 0!==a.priority&&(0,d.jsxs)("span",{className:`text-[10px] font-mono ${0===a.priority?"text-red-500 font-bold":"text-[var(--muted-foreground)]"}`,children:["P",a.priority]}),(0,d.jsx)("button",{className:"p-0.5 text-[var(--muted-foreground)] hover:text-[var(--foreground)] rounded",children:(0,d.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,d.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 k={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 l({task:a}){let b=k[a.status||"queued"];return(0,d.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:b.borderColor},children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-2 mb-1.5",children:[(0,d.jsx)("div",{className:"flex items-center gap-1.5",children:void 0!==a.priority&&(0,d.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",a.priority]})}),a.project&&(0,d.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:a.project})]}),(0,d.jsx)("h4",{className:"text-sm font-medium line-clamp-2 text-[var(--primary)] leading-snug",children:a.title||"Untitled"}),(0,d.jsxs)("div",{className:"flex items-center gap-2 mt-2 text-[10px] text-[var(--muted-foreground)]",children:[a.engine&&(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)("span",{children:"\uD83E\uDD16"}),(0,d.jsx)("span",{className:"capitalize",children:a.engine})]}),a.status&&(0,d.jsx)("span",{className:"px-1.5 py-0.5 rounded font-medium",style:{background:b.bgColor,color:b.textColor},children:a.status.replace("_"," ")})]})]})}var m=c(88885);function n({tasks:a,onTasksChange:b,onSelectTask:c,onTaskUpdate:h,onAddTask:i,stages:j,stageConfig:k,isValidTransition:n,isCreatingTask:p,creatingStage:q}){let r=j||m.Tw,s=k||m.ls,t=n||((a,b)=>{if(a===b)return!0;let c=r.indexOf(a),d=r.indexOf(b);return d<c||d===c+1}),[u,v]=(0,e.useState)(null),[w,x]=(0,e.useState)(a),y=(0,e.useMemo)(()=>{let a={};for(let b of r)a[b]=w.filter(a=>a.stage===b).sort((a,b)=>(a.priority||0)-(b.priority||0));return a},[w,r]),z=(0,f.FR)((0,f.MS)(f.AN,{activationConstraint:{distance:8}}));async function A(c){let{active:d,over:e}=c;if(v(null),!e)return void x(a);let f=d.id,i=e.id,j=w.find(a=>a.id===f);if(!j)return;let k=j.stage,l=j.priority||0;if(r.includes(i)){let a=y[k=i];l=a.length>0?Math.max(...a.map(a=>a.priority||0))+1:0}else{let a=w.find(a=>a.id===i);if(a){k=a.stage;let c=w.filter(a=>a.stage===k),d=c.findIndex(a=>a.id===f),e=c.findIndex(a=>a.id===i);if(-1!==d&&-1!==e&&d!==e){let a=(0,g.be)(c,d,e),f=w.map(b=>{let c=a.findIndex(a=>a.id===b.id);return -1!==c?{...b,priority:c}:b});x(f),b?.(f)}l=a.priority||0}}let m=a.find(a=>a.id===f);if(m&&!t(m.stage||"",k))return void x(a);if(h&&(j.stage!==k||j.priority!==l))try{await h(f,{stage:k,priority:l,status:"done"===k?"completed":"ideation"===k?"queued":"in_progress"}),b?.(w)}catch(b){console.error("Failed to update task:",b),x(a)}}return(0,d.jsxs)(f.Mp,{sensors:z,collisionDetection:f.y$,onDragStart:function(a){let b=w.find(b=>b.id===a.active.id);b&&v(b)},onDragOver:function(a){let b,{active:c,over:d}=a;if(!d)return;let e=c.id,f=d.id,g=w.find(a=>a.id===e);if(g){if(r.includes(f))b=f;else{let a=w.find(a=>a.id===f);if(!a)return;b=a.stage}if(g.stage!==b){if(!t(g.stage||"",b))return;x(a=>a.map(a=>a.id===e?{...a,stage:b}:a))}}},onDragEnd:A,children:[(0,d.jsx)("div",{className:"flex gap-4 overflow-x-auto pb-4 px-4 scrollbar-thin h-full items-stretch",children:r.map((a,b)=>(0,d.jsx)(o,{stage:a,tasks:y[a]||[],onSelectTask:c,index:b,onAddTask:i,config:s[a]||{icon:"\uD83D\uDCCC",label:a,color:"var(--primary)"},isCreating:!!(p&&q===a)},a))}),(0,d.jsx)(f.Hd,{dropAnimation:{duration:200,easing:"cubic-bezier(0.18, 0.67, 0.6, 1.22)"},children:u?(0,d.jsx)(l,{task:u}):null})]})}function o({stage:a,tasks:b,onSelectTask:c,index:e,onAddTask:h,config:i,isCreating:k=!1}){let{setNodeRef:l,isOver:m}=(0,f.zM)({id:a}),n=!h||k;return(0,d.jsxs)("div",{ref:l,id:a,className:`
12
9
  kanban-column flex-shrink-0 w-80
13
10
  flex flex-col h-full max-h-full
14
11
  bg-[var(--column-bg)] rounded-xl border border-[var(--border)]
@@ -0,0 +1,6 @@
1
+ exports.id=5519,exports.ids=[5519],exports.modules={13902:(a,b,c)=>{Promise.resolve().then(c.bind(c,43185)),Promise.resolve().then(c.bind(c,18353))},16953:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>h,metadata:()=>g});var d=c(75338),e=c(43185),f=c(18353);c(82704);let g={title:"AGX Board - Agent Task Orchestration",description:"Orchestrate and manage AI agent tasks on AGX Board"};function h({children:a}){return(0,d.jsxs)("html",{lang:"en",className:"dark",children:[(0,d.jsx)("head",{children:(0,d.jsx)(f.GoogleAnalytics,{})}),(0,d.jsxs)("body",{className:"antialiased min-h-screen bg-[var(--background)] text-[var(--foreground)] selection:bg-[var(--primary)] selection:text-[var(--primary-foreground)]",children:[(0,d.jsx)("div",{className:"fixed inset-0 -z-10 h-full w-full bg-[radial-gradient(#27272a_1px,transparent_1px)] [background-size:16px_16px] opacity-20"}),(0,d.jsx)(e.AuthProvider,{children:a})]})]})}},18353:(a,b,c)=>{"use strict";c.d(b,{GoogleAnalytics:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call GoogleAnalytics() from the server but GoogleAnalytics is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/mendrika/Projects/Agents/agx-cloud/components/GoogleAnalytics.tsx","GoogleAnalytics")},20302:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,81170,23)),Promise.resolve().then(c.t.bind(c,23597,23)),Promise.resolve().then(c.t.bind(c,36893,23)),Promise.resolve().then(c.t.bind(c,89748,23)),Promise.resolve().then(c.t.bind(c,6060,23)),Promise.resolve().then(c.t.bind(c,7184,23)),Promise.resolve().then(c.t.bind(c,69576,23)),Promise.resolve().then(c.t.bind(c,73041,23)),Promise.resolve().then(c.t.bind(c,51384,23))},33409:(a,b,c)=>{"use strict";c.d(b,{O:()=>e});var d=c(39537);function e(){return{auth:{getSession:async()=>({data:{session:{access_token:"local-token",refresh_token:"local-refresh",expires_in:3600,user:{id:d.g.id,email:d.g.email,user_metadata:{name:d.g.name,full_name:d.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(){}}}},36937:(a,b,c)=>{"use strict";c.d(b,{LU:()=>f,dF:()=>h,si:()=>e,zH:()=>g});var d=c(38301);function e(a={}){process.env.NEXT_PUBLIC_AGX_BOARD_DISABLE_AUTH;let b=a.project,c=a.status;a.realtime;let[f,g]=(0,d.useState)([]),[h,i]=(0,d.useState)(!0),[j,k]=(0,d.useState)(null),[l,m]=(0,d.useState)(null),[n,o]=(0,d.useState)(null),p=(0,d.useCallback)(async()=>{try{let a=new URLSearchParams;b&&a.set("project",b),c&&a.set("status",c);let d=await fetch(`/api/tasks?${a.toString()}`);if(!d.ok)throw Error("Failed to fetch tasks");let e=await d.json();g(e.tasks||[]),k(null)}catch(a){k(a instanceof Error?a:Error("Unknown error"))}finally{i(!1)}},[b,c]),q=(0,d.useCallback)(async(a,b)=>{let c=await fetch("/api/tasks",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:a,swarm_models:b})});if(!c.ok)throw Error((await c.json()).error||"Failed to create task");let{task:d}=await c.json();return g(a=>a.some(a=>a.id===d.id)?a:[d,...a]),d},[a.realtime]),r=(0,d.useCallback)(async(a,b)=>{let c=await fetch(`/api/tasks/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)});if(!c.ok){let a=null;throw"function"==typeof c.json&&(a=await c.json().catch(()=>null)),Error(a?.error||a?.details||`Failed to update task (${c.status} ${c.statusText||"Error"})`)}let{task:d}=await c.json();return g(b=>b.map(b=>b.id===a?{...b,...d}:b)),d},[a.realtime]),s=(0,d.useCallback)(async a=>{if(!(await fetch(`/api/tasks/${a}`,{method:"DELETE"})).ok)throw Error("Failed to delete task");g(b=>b.filter(b=>b.id!==a))},[a.realtime]),t=(0,d.useCallback)(async a=>{let b=await fetch("/api/queue/complete",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!b.ok)throw Error((await b.json().catch(()=>({}))).error||"Failed to complete task stage");let{task:c}=await b.json();return g(b=>b.map(b=>b.id===a.taskId?{...b,...c}:b)),c},[a.realtime]);return{tasks:f,isLoading:h,error:j,cancellingTaskId:l,isCancelling:!!l,cancelError:n,refetch:p,createTask:q,updateTask:r,deleteTask:s,completeTaskStage:t,cancelWorkflow:(0,d.useCallback)(async a=>{m(a.taskId),o(null);try{let b=await fetch(`/api/orchestrator/tasks/${a.taskId}/cancel`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a.reason?{reason:a.reason}:{})});if(!b.ok){let a=await b.json().catch(()=>({})),c=a?.error||"Failed to cancel workflow";throw Error(c)}return b.json()}catch(b){let a=b instanceof Error?b:Error("Failed to cancel workflow");throw o(a),a}finally{m(null)}},[]),fetchTask:(0,d.useCallback)(async a=>{let b=await fetch(`/api/tasks/${a}`),c=await b.json().catch(()=>null);if(!b.ok)throw Error(c?.error||"Failed to fetch task details");return c?.task},[])}}function f(a){process.env.NEXT_PUBLIC_AGX_BOARD_DISABLE_AUTH;let[b,c]=(0,d.useState)([]),[e,f]=(0,d.useState)(!1),g=(0,d.useCallback)(async()=>{if(a){f(!0);try{let b=await fetch(`/api/tasks/${a}/comments`);if(b.ok){let a=await b.json();c(a.comments||[])}}finally{f(!1)}}},[a]);return{comments:b,isLoading:e,refetch:g,addComment:(0,d.useCallback)(async b=>{if(!a)return;let c=await fetch(`/api/tasks/${a}/comments`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:b})});if(c.ok){let{comment:a}=await c.json();return a}},[a]),deleteComment:(0,d.useCallback)(async b=>{a&&(await fetch(`/api/tasks/${a}/comments/${b}`,{method:"DELETE"})).ok&&c(a=>a.filter(a=>a.id!==b))},[a])}}function g(a,b={}){let c=b.enabled??!0,e=Number.isFinite(b.tail)&&b.tail>0?b.tail:500,f=Number.isFinite(b.maxChars)&&b.maxChars>0?b.maxChars:2e5,[h,i]=(0,d.useState)(""),[j,k]=(0,d.useState)(!1),[l,m]=(0,d.useState)(!1),n=(0,d.useRef)(null);(0,d.useRef)(0);let o=(0,d.useRef)(null),p=(0,d.useCallback)(a=>{let b=(a.log_type||"output").toLowerCase();return"output"===b?a.content||"":`[${b}] ${a.content||""}`},[]);return(0,d.useCallback)(async(b=!1)=>{if(a&&c){b||k(!0);try{let c=new URLSearchParams;if(b){let a=o.current;a?.created_at&&c.set("after",a.created_at),c.set("limit","500")}else c.set("tail",String(e));let d=await fetch(`/api/tasks/${a}/logs?${c.toString()}`);if(d.ok){let a=((await d.json()).logs||[]).slice().sort((a,b)=>a.created_at===b.created_at?a.id.localeCompare(b.id):a.created_at.localeCompare(b.created_at));if(b){let b=o.current,c=b?a.filter(a=>a.created_at>b.created_at||!(a.created_at<b.created_at)&&a.id>b.id):a;if(c.length){let a=c.map(a=>p(a)).join("");a&&i(b=>{let c=b+a;return c.length>f?c.slice(-f):c}),m(!0),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>{m(!1)},5e3)}}else{let b=a.map(a=>p(a)).join("");i(b.length>f?b.slice(-f):b)}if(a.length){let b=a[a.length-1];o.current={created_at:b.created_at,id:b.id}}}}finally{b||k(!1)}}},[c,p,f,e,a]),{output:h,isLoading:j,isStreaming:l}}function h(a,b){let[c,e]=(0,d.useState)([]),[f,g]=(0,d.useState)(!1),h=(0,d.useCallback)(async()=>{g(!0);try{let c=new URLSearchParams;a&&c.set("scope",a),b&&c.set("scopeId",b);let d=await fetch(`/api/learnings?${c.toString()}`);if(d.ok){let a=await d.json();e(a.learnings||[])}}finally{g(!1)}},[a,b]);return{learnings:c,isLoading:f,refetch:h,addLearning:(0,d.useCallback)(async(a,b,c)=>{let d=await fetch("/api/learnings",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({scope:b,scopeId:c,content:a})});if(d.ok){let{learning:a}=await d.json();return e(b=>[a,...b]),a}},[]),deleteLearning:(0,d.useCallback)(async a=>{(await fetch(`/api/learnings?id=${a}`,{method:"DELETE"})).ok&&e(b=>b.filter(b=>b.id!==a))},[])}}c(33409)},39537:(a,b,c)=>{"use strict";c.d(b,{g:()=>d}),"1"===process.env.AGX_BOARD_DISABLE_AUTH||"1"===process.env.NEXT_PUBLIC_AGX_BOARD_DISABLE_AUTH||"1"!==process.env.AGX_BOARD_ENABLE_AUTH&&process.env.NEXT_PUBLIC_AGX_BOARD_ENABLE_AUTH;let d={id:"2c3cc1ca-956d-4b62-b295-4d2d3374103f",email:process.env.AGX_BOARD_USER_EMAIL||"local@agx.board",name:process.env.AGX_BOARD_USER_NAME||"Local Board User"}},43185:(a,b,c)=>{"use strict";c.d(b,{AuthProvider:()=>e});var d=c(97954);let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call AuthProvider() from the server but AuthProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/mendrika/Projects/Agents/agx-cloud/components/AuthProvider.tsx","AuthProvider");(0,d.registerClientReference)(function(){throw Error("Attempted to call useAuth() from the server but useAuth is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/mendrika/Projects/Agents/agx-cloud/components/AuthProvider.tsx","useAuth")},60054:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,54160,23)),Promise.resolve().then(c.t.bind(c,31603,23)),Promise.resolve().then(c.t.bind(c,68495,23)),Promise.resolve().then(c.t.bind(c,75170,23)),Promise.resolve().then(c.t.bind(c,77526,23)),Promise.resolve().then(c.t.bind(c,78922,23)),Promise.resolve().then(c.t.bind(c,29234,23)),Promise.resolve().then(c.t.bind(c,12263,23)),Promise.resolve().then(c.bind(c,82146))},64769:(a,b,c)=>{"use strict";c.d(b,{GoogleAnalytics:()=>h});var d=c(21124),e=c(19127);let f="G-DVQQG95LNL",g=`https://www.googletagmanager.com/gtag/js?id=${f}`;function h(){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(e.default,{async:!0,src:g,strategy:"afterInteractive"}),(0,d.jsx)(e.default,{id:"google-analytics",strategy:"afterInteractive",dangerouslySetInnerHTML:{__html:`
2
+ window.dataLayer = window.dataLayer || [];
3
+ function gtag(){dataLayer.push(arguments);}
4
+ gtag('js', new Date());
5
+ gtag('config', '${f}');
6
+ `}})]})}},75747:(a,b,c)=>{"use strict";c.d(b,{A:()=>i,AuthProvider:()=>h});var d=c(21124),e=c(38301),f=c(33409);let g=(0,e.createContext)({user:null,loading:!0,signOut:async()=>{}});function h({children:a}){let b="1"===process.env.NEXT_PUBLIC_AGX_BOARD_DISABLE_AUTH,[c,h]=(0,e.useState)(null),[i,j]=(0,e.useState)(!0),k=async()=>{if(b)return;let a=(0,f.O)();await a.auth.signOut(),h(null)};return(0,d.jsx)(g.Provider,{value:{user:c,loading:i,signOut:k},children:a})}function i(){return(0,e.useContext)(g)}},76950:(a,b,c)=>{Promise.resolve().then(c.bind(c,75747)),Promise.resolve().then(c.bind(c,64769))},82704:()=>{},82997:(a,b,c)=>{"use strict";c.d(b,{Y:()=>e});var d=c(38301);function e(){let[a,b]=(0,d.useState)([]),[c,e]=(0,d.useState)(!1),[f,g]=(0,d.useState)(null),h=(0,d.useCallback)(async()=>{e(!0);try{let a=await fetch("/api/projects");if(!a.ok)throw Error("Failed to fetch projects");let c=await a.json();b(c.projects??[]),g(null)}catch(a){g(a instanceof Error?a:Error("Unknown error"))}finally{e(!1)}},[]),i=(0,d.useCallback)(async a=>{let c=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!c.ok)throw Error((await c.json().catch(()=>({}))).error||"Failed to create project");let d=(await c.json()).project;return b(a=>[d,...a]),d},[]);return{projects:a,isLoading:c,error:f,refetch:h,createProject:i,updateProject:(0,d.useCallback)(async(a,c)=>{let d=await fetch(`/api/projects/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)});if(!d.ok)throw Error((await d.json().catch(()=>({}))).error||"Failed to update project");let e=(await d.json()).project;return b(b=>b.map(b=>b.id===a?e:b)),e},[]),deleteProject:(0,d.useCallback)(async a=>{let c=await fetch(`/api/projects/${a}`,{method:"DELETE"});if(!c.ok)throw Error((await c.json().catch(()=>({}))).error||"Failed to delete project");b(b=>b.filter(b=>b.id!==a))},[])}}}};
@@ -4,7 +4,7 @@
4
4
  ON CONFLICT (user_id, endpoint, window_start)
5
5
  DO UPDATE SET request_count = rate_limits.request_count + 1
6
6
  RETURNING request_count
7
- `;try{let a=await l.query(i,[c,d,h.toISOString()]);return{data:Number(a.rows?.[0]?.request_count||0)<=e,error:null}}catch(a){return{data:!1,error:a}}},channel:()=>({on(){return this},subscribe(a){return a&&a("SUBSCRIBED"),this}}),removeChannel(){}}}d()}catch(a){d(a)}})},28676:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{C_:()=>g,FA:()=>h});var e=c(99146),f=a([e]);e=(f.then?(await f)():f)[0];let i=["ideation","planning","execution","verification","done"];function g({currentStage:a,decision:b,ticketType:c,retryCount:d,maxRetries:e=3}){let f=function(a,b){if("spike"===b)return"ideation"===a?"planning":"done"===a?null:"done";let c=i.indexOf(a);return -1===c||c>=i.length-1?null:i[c+1]}(a,c);if("done"===b)return f?{nextStage:f,nextStatus:"queued",retryCount:0,error:null,appendLog:{content:`Stage completed: ${a}`,logType:"checkpoint"}}:{nextStage:"done",nextStatus:"completed",retryCount:0,error:null,appendLog:{content:`Task completed at stage ${a}.`,logType:"checkpoint"}};if("blocked"===b)return{nextStage:a,nextStatus:"blocked",retryCount:d,error:null,appendLog:{content:"Blocked: additional input required.",logType:"system"}};if("verification"===a)return{nextStage:"spike"===c?"planning":"execution",nextStatus:"queued",retryCount:0,error:null,appendLog:{content:"spike"===c?"Verification failed. Moving back to planning for spike revisions.":"Verification failed. Moving back to execution for revisions.",logType:"system"}};let g=d+1;return g<=e?{nextStage:a,nextStatus:"queued",retryCount:g,error:null,appendLog:{content:`Retrying (${g}/${e}) for stage ${a}.`,logType:"system"}}:{nextStage:a,nextStatus:"failed",retryCount:g,error:"Task failed.",appendLog:{content:"Task failed.",logType:"error"}}}async function h({workflowId:a,currentNodeName:b,decision:c,retryCount:d,maxRetries:f=3}){let g=await (0,e.op)(a,b);if(!g)return{nextNodeName:b,nextStatus:"blocked",retryCount:d,error:`Node '${b}' not found in workflow`,appendLog:{content:`Workflow error: node '${b}' not found`,logType:"error"},nodeConfig:null};if("terminal"===g.node_type)return{nextNodeName:b,nextStatus:"completed",retryCount:0,error:null,appendLog:{content:`Task completed at ${g.label||b}`,logType:"checkpoint"},nodeConfig:g};if("blocked"===c)return{nextNodeName:b,nextStatus:"blocked",retryCount:d,error:null,appendLog:{content:"Blocked: additional input required.",logType:"system"},nodeConfig:g};let h=await (0,e.QA)(a,g.id),i=function(a){switch(a){case"done":default:return"done";case"blocked":return"blocked";case"failed":case"not_done":return"failed"}}(c),j=h.find(a=>a.condition===i);if(j){let d=(await (0,e.fs)(a)).find(a=>a.id===j.to_node_id);if(d){let a="terminal"===d.node_type;return{nextNodeName:d.name,nextStatus:a?"completed":"queued",retryCount:0,error:null,appendLog:{content:"done"===c?`Stage completed: ${g.label||b}`:`Transition to ${d.label||d.name}`,logType:"done"===c?"checkpoint":"system"},nodeConfig:d}}}if("done"===c)return{nextNodeName:b,nextStatus:"completed",retryCount:0,error:null,appendLog:{content:`Task completed at ${g.label||b}`,logType:"checkpoint"},nodeConfig:g};let k=d+1;return k<=f?{nextNodeName:b,nextStatus:"queued",retryCount:k,error:null,appendLog:{content:`Retrying (${k}/${f}) for ${g.label||b}`,logType:"system"},nodeConfig:g}:{nextNodeName:b,nextStatus:"failed",retryCount:k,error:"Task failed after max retries.",appendLog:{content:"Task failed after max retries.",logType:"error"},nodeConfig:g}}d()}catch(a){d(a)}})},46317:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{taskProcessor:()=>j});var e=c(99146),f=c(28676),g=c(96340),h=a([e,f,g]);async function i(a){let{taskId:b,userId:c,signal:d,payload:f,ticketType:g="task"}=a.data,h=await (0,e.gg)(b,c);if(!h)return void console.log(`[processor] Task ${b} not found, skipping`);if("completed"===h.status||"failed"===h.status)return void console.log(`[processor] Task ${b} is ${h.status}, skipping`);let i=h.stage;switch(d){case"start":await k(b,i,c);break;case"agentResult":await l(b,i,c,f,g,h.retry_count||0,h.workflow_id&&/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(h.workflow_id)?h.workflow_id:null);break;case"humanInput":await m(b,f);break;case"daemonStep":await n(b,f);break;case"cancel":await o(b,c,f?.reason);break;default:console.warn(`[processor] Unknown signal: ${d}`)}}async function j(a){for(let b of a)try{await i(b)}catch(a){throw console.error(`[processor] Error processing job ${b.id}:`,a),a}}async function k(a,b,c){console.log(`[processor] Starting task ${a} at stage ${b}`),await (0,g.Sz)({taskId:a,stage:b,userId:c}),await (0,g.$K)({taskId:a,content:`Task started at stage: ${b}`,logType:"system"})}async function l(a,b,c,d,e,h,i=null){let j,k,m;console.log(`[processor] Processing agent result for ${a}: ${d.decision}`),await (0,g.rX)({taskId:a,stage:b,decision:d,userId:c});let n=Array.isArray(d.comments)?d.comments.map(a=>String(a||"").trim()).filter(Boolean):[],o=String(d.comment||d.log||d.final_result||"").trim();for(let b of n.length>0?n:o.split("\n").map(a=>a.trim()).filter(Boolean))await (0,g.kN)({taskId:a,content:b,authorType:"agent"});let p=null,q=null;if(i){let a=await (0,f.FA)({workflowId:i,currentNodeName:b,decision:d.decision,retryCount:h,maxRetries:3});j=a.nextNodeName,k=a.nextStatus,m=a.retryCount,p=a.error,q=a.appendLog,console.log(`[processor] Workflow transition: ${b} -> ${j} (workflow: ${i})`)}else{let a=(0,f.C_)({currentStage:b,decision:d.decision,ticketType:e,retryCount:h,maxRetries:3});j=a.nextStage,k=a.nextStatus,m=a.retryCount,p=a.error,q=a.appendLog}if(await (0,g.RM)({taskId:a,nextStage:j,nextStatus:k,retryCount:m,error:p?d.explanation||p:null,userId:c}),q){let b="error"===q.logType&&d.explanation||"system"===q.logType&&d.explanation?d.explanation:q.content;await (0,g.$K)({taskId:a,content:b,logType:q.logType})}console.log(`[processor] Task ${a} transitioned: ${b} -> ${j}`)}async function m(a,b){console.log(`[processor] Recording human input for ${a}`),await (0,g.kN)({taskId:a,content:b.content,authorType:b.authorType||"user"})}async function n(a,b){let c=b.provider?` provider=${b.provider}`:"",d=b.model?` model=${b.model}`:"",e=b.role?` role=${b.role}`:"",f="number"==typeof b.iteration?` iter=${b.iteration}`:"",h="exit"===b.phase?` exit=${b.exit_code}`:"",i=b.error?` error=${b.error}`:"",j=Array.isArray(b.args)?b.args.join(" "):"",k=b.stdout_tail?`
7
+ `;try{let a=await l.query(i,[c,d,h.toISOString()]);return{data:Number(a.rows?.[0]?.request_count||0)<=e,error:null}}catch(a){return{data:!1,error:a}}},channel:()=>({on(){return this},subscribe(a){return a&&a("SUBSCRIBED"),this}}),removeChannel(){}}}d()}catch(a){d(a)}})},28676:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{C_:()=>g,FA:()=>h});var e=c(99146),f=a([e]);e=(f.then?(await f)():f)[0];let i=[["ideation","planning","coding","qa","acceptance","pr","pr_review","merge","done"],["ideation","planning","execution","verification","done"]];function g({currentStage:a,decision:b,ticketType:c,retryCount:d,maxRetries:e=3}){let f=function(a,b){if("spike"===b)return"ideation"===a?"planning":"done"===a?null:"done";for(let b of i){let c=b.indexOf(a);if(-1!==c){if(c>=b.length-1)return null;return b[c+1]}}return null}(a,c);if("done"===b)return f?{nextStage:f,nextStatus:"queued",retryCount:0,error:null,appendLog:{content:`Stage completed: ${a}`,logType:"checkpoint"}}:{nextStage:"done",nextStatus:"completed",retryCount:0,error:null,appendLog:{content:`Task completed at stage ${a}.`,logType:"checkpoint"}};if("blocked"===b)return{nextStage:a,nextStatus:"blocked",retryCount:d,error:null,appendLog:{content:"Blocked: additional input required.",logType:"system"}};if("verification"===a)return{nextStage:"spike"===c?"planning":"execution",nextStatus:"queued",retryCount:0,error:null,appendLog:{content:"spike"===c?"Verification failed. Moving back to planning for spike revisions.":"Verification failed. Moving back to execution for revisions.",logType:"system"}};let g=d+1;return g<=e?{nextStage:a,nextStatus:"queued",retryCount:g,error:null,appendLog:{content:`Retrying (${g}/${e}) for stage ${a}.`,logType:"system"}}:{nextStage:a,nextStatus:"failed",retryCount:g,error:"Task failed.",appendLog:{content:"Task failed.",logType:"error"}}}async function h({workflowId:a,currentNodeName:b,decision:c,retryCount:d,maxRetries:f=3}){let g=await (0,e.op)(a,b);if(!g)return{nextNodeName:b,nextStatus:"blocked",retryCount:d,error:`Node '${b}' not found in workflow`,appendLog:{content:`Workflow error: node '${b}' not found`,logType:"error"},nodeConfig:null};if("terminal"===g.node_type)return{nextNodeName:b,nextStatus:"completed",retryCount:0,error:null,appendLog:{content:`Task completed at ${g.label||b}`,logType:"checkpoint"},nodeConfig:g};if("blocked"===c)return{nextNodeName:b,nextStatus:"blocked",retryCount:d,error:null,appendLog:{content:"Blocked: additional input required.",logType:"system"},nodeConfig:g};let h=await (0,e.QA)(a,g.id),i=function(a){switch(a){case"done":default:return"done";case"blocked":return"blocked";case"failed":case"not_done":return"failed"}}(c),j=h.find(a=>a.condition===i);if(j){let d=(await (0,e.fs)(a)).find(a=>a.id===j.to_node_id);if(d){let a="terminal"===d.node_type;return{nextNodeName:d.name,nextStatus:a?"completed":"queued",retryCount:0,error:null,appendLog:{content:"done"===c?`Stage completed: ${g.label||b}`:`Transition to ${d.label||d.name}`,logType:"done"===c?"checkpoint":"system"},nodeConfig:d}}}if("done"===c)return{nextNodeName:b,nextStatus:"completed",retryCount:0,error:null,appendLog:{content:`Task completed at ${g.label||b}`,logType:"checkpoint"},nodeConfig:g};let k=d+1;return k<=f?{nextNodeName:b,nextStatus:"queued",retryCount:k,error:null,appendLog:{content:`Retrying (${k}/${f}) for ${g.label||b}`,logType:"system"},nodeConfig:g}:{nextNodeName:b,nextStatus:"failed",retryCount:k,error:"Task failed after max retries.",appendLog:{content:"Task failed after max retries.",logType:"error"},nodeConfig:g}}d()}catch(a){d(a)}})},46317:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{taskProcessor:()=>j});var e=c(99146),f=c(28676),g=c(96340),h=a([e,f,g]);async function i(a){let{taskId:b,userId:c,signal:d,payload:f,ticketType:g="task"}=a.data,h=await (0,e.gg)(b,c);if(!h)return void console.log(`[processor] Task ${b} not found, skipping`);if("completed"===h.status||"failed"===h.status)return void console.log(`[processor] Task ${b} is ${h.status}, skipping`);let i=h.stage;switch(d){case"start":await k(b,i,c);break;case"agentResult":await l(b,i,c,f,g,h.retry_count||0,h.workflow_id&&/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(h.workflow_id)?h.workflow_id:null);break;case"humanInput":await m(b,f);break;case"daemonStep":await n(b,f);break;case"cancel":await o(b,c,f?.reason);break;default:console.warn(`[processor] Unknown signal: ${d}`)}}async function j(a){for(let b of a)try{await i(b)}catch(a){throw console.error(`[processor] Error processing job ${b.id}:`,a),a}}async function k(a,b,c){console.log(`[processor] Starting task ${a} at stage ${b}`),await (0,g.Sz)({taskId:a,stage:b,userId:c}),await (0,g.$K)({taskId:a,content:`Task started at stage: ${b}`,logType:"system"})}async function l(a,b,c,d,e,h,i=null){let j,k,m;console.log(`[processor] Processing agent result for ${a}: ${d.decision}`),await (0,g.rX)({taskId:a,stage:b,decision:d,userId:c});let n=Array.isArray(d.comments)?d.comments.map(a=>String(a||"").trim()).filter(Boolean):[],o=String(d.comment||d.log||d.final_result||"").trim();for(let b of n.length>0?n:o.split("\n").map(a=>a.trim()).filter(Boolean))await (0,g.kN)({taskId:a,content:b,authorType:"agent"});let p=null,q=null;if(i){let a=await (0,f.FA)({workflowId:i,currentNodeName:b,decision:d.decision,retryCount:h,maxRetries:3});j=a.nextNodeName,k=a.nextStatus,m=a.retryCount,p=a.error,q=a.appendLog,console.log(`[processor] Workflow transition: ${b} -> ${j} (workflow: ${i})`)}else{let a=(0,f.C_)({currentStage:b,decision:d.decision,ticketType:e,retryCount:h,maxRetries:3});j=a.nextStage,k=a.nextStatus,m=a.retryCount,p=a.error,q=a.appendLog}if(await (0,g.RM)({taskId:a,nextStage:j,nextStatus:k,retryCount:m,error:p?d.explanation||p:null,userId:c}),q){let b="error"===q.logType&&d.explanation||"system"===q.logType&&d.explanation?d.explanation:q.content;await (0,g.$K)({taskId:a,content:b,logType:q.logType})}console.log(`[processor] Task ${a} transitioned: ${b} -> ${j}`)}async function m(a,b){console.log(`[processor] Recording human input for ${a}`),await (0,g.kN)({taskId:a,content:b.content,authorType:b.authorType||"user"})}async function n(a,b){let c=b.provider?` provider=${b.provider}`:"",d=b.model?` model=${b.model}`:"",e=b.role?` role=${b.role}`:"",f="number"==typeof b.iteration?` iter=${b.iteration}`:"",h="exit"===b.phase?` exit=${b.exit_code}`:"",i=b.error?` error=${b.error}`:"",j=Array.isArray(b.args)?b.args.join(" "):"",k=b.stdout_tail?`
8
8
  stdout_tail:
9
9
  ${b.stdout_tail}`:"",l=b.stderr_tail?`
10
10
  stderr_tail: