@mndrk/agx 1.4.61 → 1.4.62

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 (176) 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 +80 -73
  3. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/app-path-routes-manifest.json +10 -9
  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/routes-manifest.json +8 -0
  7. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  8. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.html +2 -2
  9. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.rsc +1 -1
  10. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/audit/route_client-reference-manifest.js +1 -1
  11. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/[...nextauth]/route_client-reference-manifest.js +1 -1
  12. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/daemon-secret/route_client-reference-manifest.js +1 -1
  13. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/device/code/route_client-reference-manifest.js +1 -1
  14. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/device/token/route_client-reference-manifest.js +1 -1
  15. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/refresh/route_client-reference-manifest.js +1 -1
  16. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  17. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/domains/[id]/route_client-reference-manifest.js +1 -1
  18. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/domains/route_client-reference-manifest.js +1 -1
  19. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  20. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/learnings/route_client-reference-manifest.js +1 -1
  21. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/logs/stream/route_client-reference-manifest.js +1 -1
  22. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
  23. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route_client-reference-manifest.js +1 -1
  24. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/start/route_client-reference-manifest.js +1 -1
  25. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/status/route_client-reference-manifest.js +1 -1
  26. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/route_client-reference-manifest.js +1 -1
  27. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  28. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
  29. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/complete/route_client-reference-manifest.js +1 -1
  30. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/route_client-reference-manifest.js +1 -1
  31. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/stage-prompts/route_client-reference-manifest.js +1 -1
  32. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/[commentId]/route_client-reference-manifest.js +1 -1
  33. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/route_client-reference-manifest.js +1 -1
  34. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/costs/route_client-reference-manifest.js +1 -1
  35. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/dependencies/route.js +1 -1
  36. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/dependencies/route_client-reference-manifest.js +1 -1
  37. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/heartbeat/route_client-reference-manifest.js +1 -1
  38. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/history/route_client-reference-manifest.js +1 -1
  39. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/route_client-reference-manifest.js +1 -1
  40. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/stream/route.js +11 -0
  41. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/stream/route.js.nft.json +1 -0
  42. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/stream/route_client-reference-manifest.js +1 -0
  43. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/restart-stage/route_client-reference-manifest.js +1 -1
  44. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/route_client-reference-manifest.js +1 -1
  45. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/route.js +1 -1
  46. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/route_client-reference-manifest.js +1 -1
  47. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/stream/route_client-reference-manifest.js +1 -1
  48. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/user-settings/route_client-reference-manifest.js +1 -1
  49. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/[id]/nodes/route_client-reference-manifest.js +1 -1
  50. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/[id]/route_client-reference-manifest.js +1 -1
  51. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/route_client-reference-manifest.js +1 -1
  52. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/callback/route_client-reference-manifest.js +1 -1
  53. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/device/page.js +3 -3
  54. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/device/page_client-reference-manifest.js +1 -1
  55. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/device.html +1 -1
  56. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/device.rsc +2 -2
  57. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard/page.js +2 -2
  58. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard/page.js.nft.json +1 -1
  59. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard/page_client-reference-manifest.js +1 -1
  60. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard.html +2 -2
  61. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard.rsc +2 -2
  62. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.html +2 -2
  63. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.rsc +1 -1
  64. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/login/page_client-reference-manifest.js +1 -1
  65. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/login.html +2 -2
  66. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/login.rsc +1 -1
  67. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/page_client-reference-manifest.js +1 -1
  68. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page.js +2 -2
  69. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  70. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  71. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/tasks/page.js +2 -2
  72. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/tasks/page.js.nft.json +1 -1
  73. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/tasks/page_client-reference-manifest.js +1 -1
  74. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/workflow/page_client-reference-manifest.js +1 -1
  75. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  76. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.html +2 -2
  77. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.rsc +1 -1
  78. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  79. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.html +2 -2
  80. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.rsc +1 -1
  81. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app-paths-manifest.json +10 -9
  82. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/6317.js +3 -3
  83. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/7143.js +1 -1
  84. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{4269.js → 8666.js} +2 -2
  85. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/functions-config-manifest.json +1 -0
  86. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/middleware-manifest.json +5 -5
  87. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/404.html +1 -1
  88. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/500.html +1 -1
  89. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/server-reference-manifest.js +1 -1
  90. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/server-reference-manifest.json +1 -1
  91. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/{3424-b2ffdccf784b0ce5.js → 8960-720130c8c9bf5b1c.js} +1 -1
  92. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/{auth/daemon-secret/route-04c3c3cacd67004b.js → audit/route-bee7977512f30f17.js} +1 -1
  93. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/{device/code/route-04c3c3cacd67004b.js → [...nextauth]/route-bee7977512f30f17.js} +1 -1
  94. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/{audit/route-04c3c3cacd67004b.js → auth/daemon-secret/route-bee7977512f30f17.js} +1 -1
  95. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/{[...nextauth]/route-04c3c3cacd67004b.js → device/code/route-bee7977512f30f17.js} +1 -1
  96. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/device/token/route-bee7977512f30f17.js +1 -0
  97. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/refresh/route-bee7977512f30f17.js +1 -0
  98. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/status/route-bee7977512f30f17.js +1 -0
  99. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/domains/[id]/route-bee7977512f30f17.js +1 -0
  100. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/domains/route-bee7977512f30f17.js +1 -0
  101. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/health/route-bee7977512f30f17.js +1 -0
  102. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/learnings/route-bee7977512f30f17.js +1 -0
  103. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/logs/stream/route-bee7977512f30f17.js +1 -0
  104. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/cancel/route-bee7977512f30f17.js +1 -0
  105. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/signal/route-bee7977512f30f17.js +1 -0
  106. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/start/route-bee7977512f30f17.js +1 -0
  107. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/status/route-bee7977512f30f17.js +1 -0
  108. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/projects/[id]/route-bee7977512f30f17.js +1 -0
  109. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/projects/route-bee7977512f30f17.js +1 -0
  110. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/providers/route-bee7977512f30f17.js +1 -0
  111. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/queue/complete/route-bee7977512f30f17.js +1 -0
  112. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/queue/route-bee7977512f30f17.js +1 -0
  113. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/stage-prompts/route-bee7977512f30f17.js +1 -0
  114. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/comments/[commentId]/route-bee7977512f30f17.js +1 -0
  115. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/comments/route-bee7977512f30f17.js +1 -0
  116. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/costs/route-bee7977512f30f17.js +1 -0
  117. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/dependencies/route-bee7977512f30f17.js +1 -0
  118. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/heartbeat/route-bee7977512f30f17.js +1 -0
  119. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/history/route-bee7977512f30f17.js +1 -0
  120. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/logs/route-bee7977512f30f17.js +1 -0
  121. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/logs/stream/route-bee7977512f30f17.js +1 -0
  122. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/restart-stage/route-bee7977512f30f17.js +1 -0
  123. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/route-bee7977512f30f17.js +1 -0
  124. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/route-bee7977512f30f17.js +1 -0
  125. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/stream/route-bee7977512f30f17.js +1 -0
  126. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/user-settings/route-bee7977512f30f17.js +1 -0
  127. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/[id]/nodes/route-bee7977512f30f17.js +1 -0
  128. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/[id]/route-bee7977512f30f17.js +1 -0
  129. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/route-bee7977512f30f17.js +1 -0
  130. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/auth/callback/route-bee7977512f30f17.js +1 -0
  131. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/auth/device/{page-1c6069a7a4dd058d.js → page-39c6907dc645eb6f.js} +1 -1
  132. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/dashboard/{page-445516e005034dd0.js → page-d35f0d29790d06ca.js} +1 -1
  133. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/{page-f1c8a838c838b996.js → page-d097a2c0e0fc17cf.js} +1 -1
  134. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/tasks/{page-c76247052ae5aa25.js → page-444e63f0464b1d40.js} +1 -1
  135. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/worker/index.js +356 -9
  136. package/lib/cli/runCli.js +132 -25
  137. package/lib/commands/templates.js +83 -0
  138. package/lib/notifications/webhooks.js +123 -0
  139. package/lib/templates.js +123 -0
  140. package/package.json +3 -2
  141. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/device/token/route-04c3c3cacd67004b.js +0 -1
  142. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/refresh/route-04c3c3cacd67004b.js +0 -1
  143. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/status/route-04c3c3cacd67004b.js +0 -1
  144. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/domains/[id]/route-04c3c3cacd67004b.js +0 -1
  145. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/domains/route-04c3c3cacd67004b.js +0 -1
  146. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/health/route-04c3c3cacd67004b.js +0 -1
  147. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/learnings/route-04c3c3cacd67004b.js +0 -1
  148. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/logs/stream/route-04c3c3cacd67004b.js +0 -1
  149. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/cancel/route-04c3c3cacd67004b.js +0 -1
  150. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/signal/route-04c3c3cacd67004b.js +0 -1
  151. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/start/route-04c3c3cacd67004b.js +0 -1
  152. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/status/route-04c3c3cacd67004b.js +0 -1
  153. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/projects/[id]/route-04c3c3cacd67004b.js +0 -1
  154. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/projects/route-04c3c3cacd67004b.js +0 -1
  155. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/providers/route-04c3c3cacd67004b.js +0 -1
  156. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/queue/complete/route-04c3c3cacd67004b.js +0 -1
  157. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/queue/route-04c3c3cacd67004b.js +0 -1
  158. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/stage-prompts/route-04c3c3cacd67004b.js +0 -1
  159. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/comments/[commentId]/route-04c3c3cacd67004b.js +0 -1
  160. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/comments/route-04c3c3cacd67004b.js +0 -1
  161. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/costs/route-04c3c3cacd67004b.js +0 -1
  162. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/dependencies/route-04c3c3cacd67004b.js +0 -1
  163. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/heartbeat/route-04c3c3cacd67004b.js +0 -1
  164. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/history/route-04c3c3cacd67004b.js +0 -1
  165. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/logs/route-04c3c3cacd67004b.js +0 -1
  166. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/restart-stage/route-04c3c3cacd67004b.js +0 -1
  167. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/route-04c3c3cacd67004b.js +0 -1
  168. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/route-04c3c3cacd67004b.js +0 -1
  169. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/stream/route-04c3c3cacd67004b.js +0 -1
  170. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/user-settings/route-04c3c3cacd67004b.js +0 -1
  171. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/[id]/nodes/route-04c3c3cacd67004b.js +0 -1
  172. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/[id]/route-04c3c3cacd67004b.js +0 -1
  173. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/route-04c3c3cacd67004b.js +0 -1
  174. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/auth/callback/route-04c3c3cacd67004b.js +0 -1
  175. /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{x2zqTGbGGK8nA-dlhcQDx → _knBrbKtV87NnpUclVMJo}/_buildManifest.js +0 -0
  176. /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{x2zqTGbGGK8nA-dlhcQDx → _knBrbKtV87NnpUclVMJo}/_ssgManifest.js +0 -0
@@ -11768,11 +11768,11 @@ var init_worker = __esm({
11768
11768
  loopDelayPromise = null;
11769
11769
  beenNotified = false;
11770
11770
  runPromise = null;
11771
- constructor({ id, name, options, interval, fetch, onFetch, onError }) {
11771
+ constructor({ id, name, options, interval, fetch: fetch2, onFetch, onError }) {
11772
11772
  this.id = id;
11773
11773
  this.name = name;
11774
11774
  this.options = options;
11775
- this.fetch = fetch;
11775
+ this.fetch = fetch2;
11776
11776
  this.onFetch = onFetch;
11777
11777
  this.onError = onError;
11778
11778
  this.interval = interval;
@@ -12181,7 +12181,7 @@ var init_manager = __esm({
12181
12181
  }
12182
12182
  const firstWorkerId = (0, import_node_crypto.randomUUID)({ disableEntropyCache: true });
12183
12183
  const createWorker = (workerId) => {
12184
- const fetch = () => {
12184
+ const fetch2 = () => {
12185
12185
  const ignoreGroups = localGroupConcurrency != null ? this.#getGroupsAtLocalCapacity(name) : void 0;
12186
12186
  return this.fetch(name, { batchSize, includeMetadata, priority, orderByCreatedOn, groupConcurrency, ignoreGroups });
12187
12187
  };
@@ -12214,7 +12214,7 @@ var init_manager = __esm({
12214
12214
  const onError = (error) => {
12215
12215
  this.emit(events.error, { ...error, message: error.message, stack: error.stack, queue: name, worker: workerId });
12216
12216
  };
12217
- return new worker_default({ id: workerId, name, options, interval, fetch, onFetch, onError });
12217
+ return new worker_default({ id: workerId, name, options, interval, fetch: fetch2, onFetch, onError });
12218
12218
  };
12219
12219
  for (let i = 0; i < localConcurrency; i++) {
12220
12220
  const workerId = i === 0 ? firstWorkerId : (0, import_node_crypto.randomUUID)({ disableEntropyCache: true });
@@ -18872,8 +18872,129 @@ function isDependencyBlockedReason(reason) {
18872
18872
  return typeof reason === "string" && reason.startsWith(DEPENDENCY_BLOCKED_REASON_PREFIX);
18873
18873
  }
18874
18874
 
18875
- // ../agx-cloud/lib/db.ts
18875
+ // ../agx-cloud/lib/notifications/constants.ts
18876
+ var NOTIFICATION_EVENT_OPTIONS = [
18877
+ {
18878
+ value: "task.created",
18879
+ label: "Task created",
18880
+ description: "Fires immediately when a new task is added to the queue."
18881
+ },
18882
+ {
18883
+ value: "task.stage_complete",
18884
+ label: "Stage completed",
18885
+ description: "Emitted whenever a stage finishes and the task advances."
18886
+ },
18887
+ {
18888
+ value: "task.completed",
18889
+ label: "Task completed",
18890
+ description: "When the task reaches a completed status (done)."
18891
+ },
18892
+ {
18893
+ value: "task.failed",
18894
+ label: "Task failed",
18895
+ description: "When the task may have errored, including cancellations."
18896
+ },
18897
+ {
18898
+ value: "task.blocked",
18899
+ label: "Task blocked",
18900
+ description: "When the agent raises the task as blocked awaiting manual input."
18901
+ }
18902
+ ];
18903
+ var NOTIFICATION_EVENT_VALUES = NOTIFICATION_EVENT_OPTIONS.map((option) => option.value);
18904
+
18905
+ // ../agx-cloud/lib/notifications/index.ts
18906
+ var SchemaNotReadyError = class extends Error {
18907
+ };
18876
18908
  function isMissingRelationError(error, relation) {
18909
+ if (!error || typeof error !== "object") return false;
18910
+ const code = error.code;
18911
+ const message = typeof error.message === "string" ? error.message : "";
18912
+ return code === "42P01" || code === "PGRST205" || message.includes(`relation "${relation}" does not exist`) || message.includes(`Could not find the table 'agx.${relation}'`) || message.includes(`Could not find the table 'public.${relation}'`);
18913
+ }
18914
+ function mapWebhookRecord(raw) {
18915
+ const events5 = Array.isArray(raw.events) ? raw.events.filter((value) => typeof value === "string").map((value) => value.trim()).filter(
18916
+ (value) => NOTIFICATION_EVENT_VALUES.includes(value)
18917
+ ) : [];
18918
+ return {
18919
+ id: String(raw.id),
18920
+ user_id: String(raw.user_id),
18921
+ url: String(raw.url),
18922
+ name: raw.name != null ? String(raw.name) : null,
18923
+ events: events5,
18924
+ enabled: raw.enabled !== false,
18925
+ created_at: String(raw.created_at),
18926
+ updated_at: String(raw.updated_at)
18927
+ };
18928
+ }
18929
+ async function handleRelationError(relation, error) {
18930
+ if (isMissingRelationError(error, relation)) {
18931
+ throw new SchemaNotReadyError(`Missing relation: ${relation}`);
18932
+ }
18933
+ throw error;
18934
+ }
18935
+ async function listNotificationWebhooks(userId) {
18936
+ const db = createAdminDbClient();
18937
+ const { data, error } = await db.from("notification_webhooks").select("*").eq("user_id", userId).order("created_at", { ascending: false });
18938
+ if (error) {
18939
+ await handleRelationError("notification_webhooks", error);
18940
+ }
18941
+ if (!data) return [];
18942
+ return (Array.isArray(data) ? data : [data]).map(mapWebhookRecord);
18943
+ }
18944
+ async function notifyTaskEvent(payload) {
18945
+ if (!payload.userId) return;
18946
+ let endpoints = [];
18947
+ try {
18948
+ endpoints = await listNotificationWebhooks(payload.userId);
18949
+ } catch (error) {
18950
+ if (error instanceof SchemaNotReadyError) {
18951
+ console.debug("[notifications] notification_webhooks schema not ready, skipping");
18952
+ return;
18953
+ }
18954
+ console.error("[notifications] failed to load webhooks", error);
18955
+ return;
18956
+ }
18957
+ const targets = endpoints.filter(
18958
+ (endpoint) => endpoint.enabled && endpoint.events.includes(payload.eventType)
18959
+ );
18960
+ if (!targets.length) return;
18961
+ const timestamp = payload.timestamp || (/* @__PURE__ */ new Date()).toISOString();
18962
+ const body = {
18963
+ eventType: payload.eventType,
18964
+ taskId: payload.taskId,
18965
+ userId: payload.userId,
18966
+ title: payload.title || null,
18967
+ slug: payload.slug || null,
18968
+ stage: payload.stage || null,
18969
+ previousStage: payload.previousStage || null,
18970
+ nextStage: payload.nextStage || null,
18971
+ status: payload.status || null,
18972
+ error: payload.error || null,
18973
+ timestamp,
18974
+ details: payload.details || {}
18975
+ };
18976
+ await Promise.all(
18977
+ targets.map(async (endpoint) => {
18978
+ try {
18979
+ const response = await fetch(endpoint.url, {
18980
+ method: "POST",
18981
+ headers: { "Content-Type": "application/json" },
18982
+ body: JSON.stringify(body)
18983
+ });
18984
+ if (!response.ok) {
18985
+ console.error(
18986
+ `[notifications] webhook ${endpoint.url} responded with ${response.status}`
18987
+ );
18988
+ }
18989
+ } catch (error) {
18990
+ console.error(`[notifications] failed to send to ${endpoint.url}`, error);
18991
+ }
18992
+ })
18993
+ );
18994
+ }
18995
+
18996
+ // ../agx-cloud/lib/db.ts
18997
+ function isMissingRelationError2(error, relation) {
18877
18998
  if (!error) return false;
18878
18999
  const message = typeof error.message === "string" ? error.message : "";
18879
19000
  return error.code === "42P01" || error.code === "PGRST205" || message.includes(`relation "${relation}" does not exist`) || message.includes(`Could not find the table 'agx.${relation}'`) || message.includes(`Could not find the table 'public.${relation}'`);
@@ -19084,13 +19205,36 @@ async function updateTask(id, content, userId, options) {
19084
19205
  }
19085
19206
  await ensureTaskDependencyState(data, userId);
19086
19207
  const refreshed = await getTask(data.id, userId);
19087
- return refreshed || data;
19208
+ const taskRecord = refreshed || data;
19209
+ const resolvedUserId = userId || taskRecord.user_id;
19210
+ if (resolvedUserId) {
19211
+ const eventTimestamp = taskRecord.created_at || (/* @__PURE__ */ new Date()).toISOString();
19212
+ const details = {
19213
+ dependsOn: Array.isArray(taskRecord.depends_on) ? taskRecord.depends_on : [],
19214
+ project: taskRecord.project || null,
19215
+ projectId: taskRecord.project_id || null,
19216
+ workflowId: taskRecord.workflow_id || null,
19217
+ createdBy: taskRecord.created_by || null
19218
+ };
19219
+ void notifyTaskEvent({
19220
+ taskId: taskRecord.id,
19221
+ userId: resolvedUserId,
19222
+ eventType: "task.created",
19223
+ title: taskRecord.title || null,
19224
+ slug: taskRecord.slug || null,
19225
+ stage: taskRecord.stage || null,
19226
+ status: taskRecord.status || null,
19227
+ timestamp: eventTimestamp,
19228
+ details
19229
+ });
19230
+ }
19231
+ return taskRecord;
19088
19232
  }
19089
19233
  async function getWorkflowNodes(workflowId) {
19090
19234
  const db = createAdminDbClient();
19091
19235
  const { data, error } = await db.from("workflow_nodes").select("*").eq("workflow_id", workflowId).order("position", { ascending: true });
19092
19236
  if (error) {
19093
- if (isMissingRelationError(error, "workflow_nodes")) return [];
19237
+ if (isMissingRelationError2(error, "workflow_nodes")) return [];
19094
19238
  throw error;
19095
19239
  }
19096
19240
  return data || [];
@@ -19099,7 +19243,7 @@ async function getWorkflowNodeByName(workflowId, name) {
19099
19243
  const db = createAdminDbClient();
19100
19244
  const { data, error } = await db.from("workflow_nodes").select("*").eq("workflow_id", workflowId).eq("name", name).maybeSingle();
19101
19245
  if (error) {
19102
- if (isMissingRelationError(error, "workflow_nodes")) return null;
19246
+ if (isMissingRelationError2(error, "workflow_nodes")) return null;
19103
19247
  throw error;
19104
19248
  }
19105
19249
  return data;
@@ -19108,7 +19252,7 @@ async function getWorkflowTransitionsFromNode(workflowId, fromNodeId) {
19108
19252
  const db = createAdminDbClient();
19109
19253
  const { data, error } = await db.from("workflow_transitions").select("*").eq("workflow_id", workflowId).eq("from_node_id", fromNodeId).order("priority", { ascending: true });
19110
19254
  if (error) {
19111
- if (isMissingRelationError(error, "workflow_transitions")) return [];
19255
+ if (isMissingRelationError2(error, "workflow_transitions")) return [];
19112
19256
  throw error;
19113
19257
  }
19114
19258
  return data || [];
@@ -19135,6 +19279,24 @@ var DEFAULT_STAGE_SEQUENCE = [
19135
19279
  "done"
19136
19280
  ];
19137
19281
  var STANDARD_STAGE_SEQUENCES = [DEFAULT_STAGE_SEQUENCE];
19282
+ function normalizeTicketType(value) {
19283
+ if (typeof value !== "string") return "task";
19284
+ const normalized = value.trim().toLowerCase();
19285
+ if (normalized === "spike" || normalized === "spikes") return "spike";
19286
+ return "task";
19287
+ }
19288
+ function getTicketType(frontmatter, markdownBody) {
19289
+ const typeKeys = ["ticket_type", "type", "issue_type", "kind"];
19290
+ for (const key of typeKeys) {
19291
+ if (normalizeTicketType(frontmatter[key]) === "spike") return "spike";
19292
+ }
19293
+ const titleMatch = markdownBody.match(/^#\s+(.+)$/m);
19294
+ const title = titleMatch?.[1]?.trim().toLowerCase() || "";
19295
+ if (title.startsWith("spike:") || title.startsWith("[spike]")) {
19296
+ return "spike";
19297
+ }
19298
+ return "task";
19299
+ }
19138
19300
  function getNextStage(currentStage, ticketType) {
19139
19301
  if (ticketType === "spike") {
19140
19302
  if (currentStage === "ideation") return "planning";
@@ -19334,6 +19496,131 @@ ${stringifyFrontmatter(frontmatter)}
19334
19496
  ${body}`;
19335
19497
  }
19336
19498
 
19499
+ // ../agx-cloud/lib/dependency-manager.ts
19500
+ var READY_STATUS = "completed";
19501
+ function describeDependency2(dep) {
19502
+ return dep.title || dep.slug || dep.id || "(unknown)";
19503
+ }
19504
+ function summarizeRecord(record, id) {
19505
+ if (!record) {
19506
+ return { id: id || "" };
19507
+ }
19508
+ return {
19509
+ id: record.id || id || "",
19510
+ title: record.title || void 0,
19511
+ slug: record.slug || void 0,
19512
+ status: record.status,
19513
+ stage: record.stage
19514
+ };
19515
+ }
19516
+ async function fetchTasksByIds(ids, userId) {
19517
+ if (!ids.length) return [];
19518
+ const db = createAdminDbClient();
19519
+ let query = db.from("tasks").select("id, title, slug, status, stage").in("id", ids);
19520
+ if (userId) {
19521
+ query = query.eq("user_id", userId);
19522
+ }
19523
+ const { data } = await query;
19524
+ const map = /* @__PURE__ */ new Map();
19525
+ if (Array.isArray(data)) {
19526
+ for (const row of data) {
19527
+ if (row && row.id) {
19528
+ map.set(row.id, summarizeRecord(row, row.id));
19529
+ }
19530
+ }
19531
+ }
19532
+ return ids.map((id) => map.get(id) || { id });
19533
+ }
19534
+ function formatMissingDependencies(missing) {
19535
+ if (!missing.length) return "";
19536
+ const maxItems = 3;
19537
+ const entries = missing.slice(0, maxItems).map((dep) => {
19538
+ const label = describeDependency2(dep);
19539
+ const suffix = dep.status ? ` (${dep.status})` : "";
19540
+ return `${label}${suffix}`;
19541
+ });
19542
+ let message = `Waiting on dependencies: ${entries.join(", ")}`;
19543
+ if (missing.length > maxItems) {
19544
+ message += ` +${missing.length - maxItems} more`;
19545
+ }
19546
+ return message;
19547
+ }
19548
+ async function getMissingDependencies(task, userId) {
19549
+ const dependsOn = Array.isArray(task.depends_on) ? task.depends_on : [];
19550
+ if (!dependsOn.length) return [];
19551
+ const records = await fetchTasksByIds(dependsOn, userId);
19552
+ return records.filter((dep) => (dep.status || "") !== READY_STATUS);
19553
+ }
19554
+ async function attemptStartTask(taskId, userId, options) {
19555
+ const resolvedUserId = userId || LOCAL_USER.id;
19556
+ const task = await getTask(taskId, resolvedUserId);
19557
+ if (!task) {
19558
+ throw new Error(`Task not found: ${taskId}`);
19559
+ }
19560
+ const missingDependencies = await getMissingDependencies(task, resolvedUserId);
19561
+ if (missingDependencies.length) {
19562
+ const reason = formatMissingDependencies(missingDependencies);
19563
+ const adminDb2 = createAdminDbClient();
19564
+ const { error: error2 } = await adminDb2.from("tasks").update({
19565
+ status: "blocked",
19566
+ blocked_reason: reason,
19567
+ updated_at: (/* @__PURE__ */ new Date()).toISOString()
19568
+ }).eq("id", taskId);
19569
+ if (error2 && error2.code !== "42703") {
19570
+ throw error2;
19571
+ }
19572
+ return {
19573
+ started: false,
19574
+ missingDependencies,
19575
+ blockedReason: reason
19576
+ };
19577
+ }
19578
+ if (!options?.force && task.status === "queued" && !task.blocked_reason) {
19579
+ return {
19580
+ started: false,
19581
+ missingDependencies: [],
19582
+ alreadyQueued: true
19583
+ };
19584
+ }
19585
+ const { frontmatter, body } = parseFrontmatter(task.content || "");
19586
+ const ticketType = options?.ticketType ?? getTicketType(frontmatter, body);
19587
+ const boss2 = await getBoss();
19588
+ const jobId = await boss2.send(QUEUE_NAMES.TASK_PROCESS, {
19589
+ taskId,
19590
+ userId: resolvedUserId,
19591
+ signal: "start",
19592
+ ticketType
19593
+ });
19594
+ const adminDb = createAdminDbClient();
19595
+ const { error } = await adminDb.from("tasks").update({
19596
+ status: "queued",
19597
+ blocked_reason: null,
19598
+ updated_at: (/* @__PURE__ */ new Date()).toISOString()
19599
+ }).eq("id", taskId);
19600
+ if (error && error.code !== "42703") {
19601
+ throw error;
19602
+ }
19603
+ return {
19604
+ started: Boolean(jobId),
19605
+ jobId,
19606
+ missingDependencies: [],
19607
+ ticketType
19608
+ };
19609
+ }
19610
+ async function triggerDependentTasks(taskId, userId) {
19611
+ const resolvedUserId = userId || LOCAL_USER.id;
19612
+ const db = createAdminDbClient();
19613
+ let query = db.from("tasks").select("id").contains("depends_on", [taskId]);
19614
+ if (userId) {
19615
+ query = query.eq("user_id", userId);
19616
+ }
19617
+ const { data } = await query;
19618
+ if (!Array.isArray(data) || !data.length) return;
19619
+ await Promise.all(
19620
+ data.map((row) => row?.id).filter(Boolean).map((dependentId) => attemptStartTask(dependentId, resolvedUserId))
19621
+ );
19622
+ }
19623
+
19337
19624
  // ../agx-cloud/lib/orchestrator/activities.ts
19338
19625
  function isMissingStageDecisionsError(error) {
19339
19626
  if (!error || typeof error !== "object") return false;
@@ -19375,6 +19662,15 @@ async function applyStageTransitionActivity(input) {
19375
19662
  if (!task) {
19376
19663
  throw new Error(`Task ${input.taskId} not found`);
19377
19664
  }
19665
+ const previousStage = task.stage || null;
19666
+ const eventTimestamp = (/* @__PURE__ */ new Date()).toISOString();
19667
+ const baseNotification = {
19668
+ taskId: input.taskId,
19669
+ userId: input.userId,
19670
+ title: task.title || null,
19671
+ slug: task.slug || null,
19672
+ timestamp: eventTimestamp
19673
+ };
19378
19674
  const { frontmatter, body } = parseFrontmatter(task.content);
19379
19675
  frontmatter.stage = input.nextStage;
19380
19676
  frontmatter.status = input.nextStatus;
@@ -19395,6 +19691,43 @@ async function applyStageTransitionActivity(input) {
19395
19691
  }).eq("id", input.taskId).eq("user_id", input.userId);
19396
19692
  if (input.nextStatus === "completed") {
19397
19693
  await db.from("tasks").update({ completed_at: (/* @__PURE__ */ new Date()).toISOString() }).eq("id", input.taskId).eq("user_id", input.userId);
19694
+ await triggerDependentTasks(input.taskId, input.userId);
19695
+ }
19696
+ const shouldEmitStageComplete = input.nextStatus !== "blocked" && input.nextStatus !== "failed";
19697
+ if (shouldEmitStageComplete) {
19698
+ void notifyTaskEvent({
19699
+ ...baseNotification,
19700
+ eventType: "task.stage_complete",
19701
+ stage: previousStage,
19702
+ previousStage,
19703
+ nextStage: input.nextStage,
19704
+ status: input.nextStatus,
19705
+ details: { nextStatus: input.nextStatus }
19706
+ });
19707
+ }
19708
+ if (input.nextStatus === "completed") {
19709
+ void notifyTaskEvent({
19710
+ ...baseNotification,
19711
+ eventType: "task.completed",
19712
+ stage: input.nextStage,
19713
+ status: input.nextStatus,
19714
+ details: {
19715
+ previousStage,
19716
+ nextStage: input.nextStage
19717
+ }
19718
+ });
19719
+ }
19720
+ if (input.nextStatus === "failed") {
19721
+ void notifyTaskEvent({
19722
+ ...baseNotification,
19723
+ eventType: "task.failed",
19724
+ stage: input.nextStage,
19725
+ status: input.nextStatus,
19726
+ error: input.error,
19727
+ details: {
19728
+ previousStage
19729
+ }
19730
+ });
19398
19731
  }
19399
19732
  }
19400
19733
  async function appendTaskLogActivity(input) {
@@ -19418,6 +19751,20 @@ async function markCancelledActivity(input) {
19418
19751
  error: input.reason || "Cancelled",
19419
19752
  updated_at: (/* @__PURE__ */ new Date()).toISOString()
19420
19753
  }).eq("id", input.taskId).eq("user_id", input.userId);
19754
+ void notifyTaskEvent({
19755
+ taskId: input.taskId,
19756
+ userId: input.userId,
19757
+ eventType: "task.failed",
19758
+ title: task.title || null,
19759
+ slug: task.slug || null,
19760
+ stage: task.stage || null,
19761
+ status: "failed",
19762
+ error: input.reason || "Cancelled",
19763
+ timestamp: (/* @__PURE__ */ new Date()).toISOString(),
19764
+ details: {
19765
+ previousStage: task.stage || null
19766
+ }
19767
+ });
19421
19768
  }
19422
19769
 
19423
19770
  // ../agx-cloud/lib/orchestrator/processor.ts