crewly 1.20.153 → 1.20.154

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 (758) hide show
  1. package/README.md +21 -3
  2. package/config/constants.ts +78 -0
  3. package/config/hooks/agent-status/report.sh +78 -0
  4. package/config/hooks/control-plane-guard/pretooluse-bash.sh +241 -0
  5. package/config/orchestrator_tasks/prompts/assign-task-orchestrator-prompt-template.md +19 -49
  6. package/config/orchestrator_tasks/prompts/checkin-orchestrator-prompt-template.md +25 -125
  7. package/config/orchestrator_tasks/prompts/project-start-orchestrator-prompt-template.md +29 -100
  8. package/config/roles/orchestrator/prompt.md +18 -2
  9. package/config/roles/team-leader/prompt.md +13 -3
  10. package/config/roles/team-leader/role.json +1 -1
  11. package/config/roles/team-leader/tl-addon.md +12 -3
  12. package/config/skills/agent/core/complete-task/SKILL.md +1 -1
  13. package/config/skills/agent/core/project-tickets/SKILL.md +127 -0
  14. package/config/skills/agent/core/project-tickets/execute.sh +182 -0
  15. package/config/skills/agent/core/project-tickets/execute.test.sh +116 -0
  16. package/config/skills/agent/core/recall/SKILL.md +1 -1
  17. package/config/skills/agent/core/recall/execute.sh +7 -0
  18. package/config/skills/agent/core/report-status/SKILL.md +3 -2
  19. package/config/skills/agent/core/report-status/execute.sh +37 -15
  20. package/config/skills/agent/core/split-ticket/SKILL.md +62 -0
  21. package/config/skills/agent/core/split-ticket/execute.sh +87 -0
  22. package/config/skills/agent/core/split-ticket/execute.test.sh +77 -0
  23. package/config/skills/agent/core/standing-update/SKILL.md +96 -0
  24. package/config/skills/agent/core/standing-update/execute.sh +107 -0
  25. package/config/skills/agent/onboarding/materialize-team/SKILL.md +1 -1
  26. package/config/skills/agent/onboarding/recommend-team/SKILL.md +1 -1
  27. package/config/skills/orchestrator/delegate-task/SKILL.md +4 -3
  28. package/config/skills/orchestrator/render-verdict/SKILL.md +62 -0
  29. package/config/skills/orchestrator/render-verdict/execute.sh +47 -0
  30. package/config/skills/orchestrator/render-verdict/execute.test.sh +121 -0
  31. package/config/skills/orchestrator/wiki-migrate/SKILL.md +0 -1
  32. package/config/skills/team-leader/aggregate-results/SKILL.md +1 -1
  33. package/config/skills/team-leader/assign-ticket/SKILL.md +47 -0
  34. package/config/skills/team-leader/assign-ticket/execute.sh +59 -0
  35. package/config/skills/team-leader/assign-ticket/execute.test.sh +64 -0
  36. package/config/skills/team-leader/decompose-goal/SKILL.md +4 -4
  37. package/config/skills/team-leader/delegate-task/SKILL.md +1 -1
  38. package/config/skills/team-leader/verify-output/SKILL.md +2 -2
  39. package/config/sops/developer/git-workflow.md +1 -1
  40. package/dist/backend/backend/src/constants.d.ts +359 -1
  41. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  42. package/dist/backend/backend/src/constants.js +350 -2
  43. package/dist/backend/backend/src/constants.js.map +1 -1
  44. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.d.ts +27 -0
  45. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.d.ts.map +1 -0
  46. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.js +55 -0
  47. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.js.map +1 -0
  48. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.routes.d.ts +13 -0
  49. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.routes.d.ts.map +1 -0
  50. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.routes.js +19 -0
  51. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.routes.js.map +1 -0
  52. package/dist/backend/backend/src/controllers/api.controller.d.ts +0 -12
  53. package/dist/backend/backend/src/controllers/api.controller.d.ts.map +1 -1
  54. package/dist/backend/backend/src/controllers/api.controller.js +0 -44
  55. package/dist/backend/backend/src/controllers/api.controller.js.map +1 -1
  56. package/dist/backend/backend/src/controllers/approvals/approvals.controller.d.ts +27 -5
  57. package/dist/backend/backend/src/controllers/approvals/approvals.controller.d.ts.map +1 -1
  58. package/dist/backend/backend/src/controllers/approvals/approvals.controller.js +55 -15
  59. package/dist/backend/backend/src/controllers/approvals/approvals.controller.js.map +1 -1
  60. package/dist/backend/backend/src/controllers/approvals/approvals.routes.d.ts.map +1 -1
  61. package/dist/backend/backend/src/controllers/approvals/approvals.routes.js +2 -0
  62. package/dist/backend/backend/src/controllers/approvals/approvals.routes.js.map +1 -1
  63. package/dist/backend/backend/src/controllers/expert/expert.controller.d.ts +13 -0
  64. package/dist/backend/backend/src/controllers/expert/expert.controller.d.ts.map +1 -1
  65. package/dist/backend/backend/src/controllers/expert/expert.controller.js +67 -9
  66. package/dist/backend/backend/src/controllers/expert/expert.controller.js.map +1 -1
  67. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.controller.d.ts +41 -0
  68. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.controller.d.ts.map +1 -0
  69. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.controller.js +146 -0
  70. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.controller.js.map +1 -0
  71. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.routes.d.ts +20 -0
  72. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.routes.d.ts.map +1 -0
  73. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.routes.js +29 -0
  74. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.routes.js.map +1 -0
  75. package/dist/backend/backend/src/controllers/project/project.controller.d.ts +2 -2
  76. package/dist/backend/backend/src/controllers/project/project.controller.d.ts.map +1 -1
  77. package/dist/backend/backend/src/controllers/project/project.controller.js +24 -7
  78. package/dist/backend/backend/src/controllers/project/project.controller.js.map +1 -1
  79. package/dist/backend/backend/src/controllers/project/project.routes.d.ts +2 -2
  80. package/dist/backend/backend/src/controllers/project/project.routes.d.ts.map +1 -1
  81. package/dist/backend/backend/src/controllers/project/project.routes.js +3 -36
  82. package/dist/backend/backend/src/controllers/project/project.routes.js.map +1 -1
  83. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.d.ts +93 -0
  84. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.d.ts.map +1 -0
  85. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.js +252 -0
  86. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.js.map +1 -0
  87. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.routes.d.ts +34 -0
  88. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.routes.d.ts.map +1 -0
  89. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.routes.js +51 -0
  90. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.routes.js.map +1 -0
  91. package/dist/backend/backend/src/controllers/request-types.d.ts +13 -0
  92. package/dist/backend/backend/src/controllers/request-types.d.ts.map +1 -1
  93. package/dist/backend/backend/src/controllers/standing/standing.controller.d.ts +49 -0
  94. package/dist/backend/backend/src/controllers/standing/standing.controller.d.ts.map +1 -0
  95. package/dist/backend/backend/src/controllers/standing/standing.controller.js +100 -0
  96. package/dist/backend/backend/src/controllers/standing/standing.controller.js.map +1 -0
  97. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts +38 -0
  98. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts.map +1 -1
  99. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js +143 -8
  100. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js.map +1 -1
  101. package/dist/backend/backend/src/controllers/task-pool/task-pool.routes.d.ts.map +1 -1
  102. package/dist/backend/backend/src/controllers/task-pool/task-pool.routes.js +6 -1
  103. package/dist/backend/backend/src/controllers/task-pool/task-pool.routes.js.map +1 -1
  104. package/dist/backend/backend/src/controllers/team/team.controller.d.ts +2 -0
  105. package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
  106. package/dist/backend/backend/src/controllers/team/team.controller.js +26 -6
  107. package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
  108. package/dist/backend/backend/src/controllers/tickets/tickets.controller.d.ts +18 -0
  109. package/dist/backend/backend/src/controllers/tickets/tickets.controller.d.ts.map +1 -1
  110. package/dist/backend/backend/src/controllers/tickets/tickets.controller.js +56 -0
  111. package/dist/backend/backend/src/controllers/tickets/tickets.controller.js.map +1 -1
  112. package/dist/backend/backend/src/controllers/tickets/tickets.routes.d.ts +1 -0
  113. package/dist/backend/backend/src/controllers/tickets/tickets.routes.d.ts.map +1 -1
  114. package/dist/backend/backend/src/controllers/tickets/tickets.routes.js +3 -1
  115. package/dist/backend/backend/src/controllers/tickets/tickets.routes.js.map +1 -1
  116. package/dist/backend/backend/src/controllers/types.d.ts +1 -2
  117. package/dist/backend/backend/src/controllers/types.d.ts.map +1 -1
  118. package/dist/backend/backend/src/controllers/wiki/wiki.controller.d.ts +2 -3
  119. package/dist/backend/backend/src/controllers/wiki/wiki.controller.d.ts.map +1 -1
  120. package/dist/backend/backend/src/controllers/wiki/wiki.controller.js +2 -3
  121. package/dist/backend/backend/src/controllers/wiki/wiki.controller.js.map +1 -1
  122. package/dist/backend/backend/src/index.d.ts.map +1 -1
  123. package/dist/backend/backend/src/index.js +100 -7
  124. package/dist/backend/backend/src/index.js.map +1 -1
  125. package/dist/backend/backend/src/middleware/api-token.middleware.d.ts +29 -0
  126. package/dist/backend/backend/src/middleware/api-token.middleware.d.ts.map +1 -1
  127. package/dist/backend/backend/src/middleware/api-token.middleware.js +38 -0
  128. package/dist/backend/backend/src/middleware/api-token.middleware.js.map +1 -1
  129. package/dist/backend/backend/src/models/index.d.ts +0 -1
  130. package/dist/backend/backend/src/models/index.d.ts.map +1 -1
  131. package/dist/backend/backend/src/models/index.js +0 -1
  132. package/dist/backend/backend/src/models/index.js.map +1 -1
  133. package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
  134. package/dist/backend/backend/src/routes/api.routes.js +24 -3
  135. package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
  136. package/dist/backend/backend/src/scripts/leaked-stub-teams.lib.d.ts +6 -2
  137. package/dist/backend/backend/src/scripts/leaked-stub-teams.lib.d.ts.map +1 -1
  138. package/dist/backend/backend/src/scripts/leaked-stub-teams.lib.js +6 -2
  139. package/dist/backend/backend/src/scripts/leaked-stub-teams.lib.js.map +1 -1
  140. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +28 -1
  141. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  142. package/dist/backend/backend/src/services/agent/agent-registration.service.js +93 -34
  143. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  144. package/dist/backend/backend/src/services/agent/control-plane-guard.service.d.ts +169 -0
  145. package/dist/backend/backend/src/services/agent/control-plane-guard.service.d.ts.map +1 -0
  146. package/dist/backend/backend/src/services/agent/control-plane-guard.service.js +231 -0
  147. package/dist/backend/backend/src/services/agent/control-plane-guard.service.js.map +1 -0
  148. package/dist/backend/backend/src/services/agent/fresh-task-conversation.service.d.ts +1 -1
  149. package/dist/backend/backend/src/services/agent/fresh-task-conversation.service.d.ts.map +1 -1
  150. package/dist/backend/backend/src/services/agent/fresh-task-conversation.service.js +9 -0
  151. package/dist/backend/backend/src/services/agent/fresh-task-conversation.service.js.map +1 -1
  152. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.d.ts +16 -0
  153. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.d.ts.map +1 -1
  154. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js +50 -0
  155. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js.map +1 -1
  156. package/dist/backend/backend/src/services/agent/tmux-command.service.d.ts +9 -1
  157. package/dist/backend/backend/src/services/agent/tmux-command.service.d.ts.map +1 -1
  158. package/dist/backend/backend/src/services/agent/tmux-command.service.js +12 -2
  159. package/dist/backend/backend/src/services/agent/tmux-command.service.js.map +1 -1
  160. package/dist/backend/backend/src/services/ai/prompt-builder.service.d.ts.map +1 -1
  161. package/dist/backend/backend/src/services/ai/prompt-builder.service.js +9 -8
  162. package/dist/backend/backend/src/services/ai/prompt-builder.service.js.map +1 -1
  163. package/dist/backend/backend/src/services/ai/prompt-modules/active-work.module.d.ts +75 -0
  164. package/dist/backend/backend/src/services/ai/prompt-modules/active-work.module.d.ts.map +1 -0
  165. package/dist/backend/backend/src/services/ai/prompt-modules/active-work.module.js +89 -0
  166. package/dist/backend/backend/src/services/ai/prompt-modules/active-work.module.js.map +1 -0
  167. package/dist/backend/backend/src/services/ai/prompt-modules/index.d.ts +3 -0
  168. package/dist/backend/backend/src/services/ai/prompt-modules/index.d.ts.map +1 -1
  169. package/dist/backend/backend/src/services/ai/prompt-modules/index.js +3 -0
  170. package/dist/backend/backend/src/services/ai/prompt-modules/index.js.map +1 -1
  171. package/dist/backend/backend/src/services/ai/prompt-modules/project-reference.module.js +1 -1
  172. package/dist/backend/backend/src/services/ai/prompt-modules/project-reference.module.js.map +1 -1
  173. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.d.ts.map +1 -1
  174. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.js +12 -0
  175. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.js.map +1 -1
  176. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts +14 -0
  177. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts.map +1 -1
  178. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.js.map +1 -1
  179. package/dist/backend/backend/src/services/ai/prompt-modules/recovery.module.d.ts.map +1 -1
  180. package/dist/backend/backend/src/services/ai/prompt-modules/recovery.module.js +11 -7
  181. package/dist/backend/backend/src/services/ai/prompt-modules/recovery.module.js.map +1 -1
  182. package/dist/backend/backend/src/services/ai/prompt-modules/session-briefing.module.d.ts +41 -0
  183. package/dist/backend/backend/src/services/ai/prompt-modules/session-briefing.module.d.ts.map +1 -0
  184. package/dist/backend/backend/src/services/ai/prompt-modules/session-briefing.module.js +44 -0
  185. package/dist/backend/backend/src/services/ai/prompt-modules/session-briefing.module.js.map +1 -0
  186. package/dist/backend/backend/src/services/ai/prompt-modules/standing-answers.module.d.ts +67 -0
  187. package/dist/backend/backend/src/services/ai/prompt-modules/standing-answers.module.d.ts.map +1 -0
  188. package/dist/backend/backend/src/services/ai/prompt-modules/standing-answers.module.js +146 -0
  189. package/dist/backend/backend/src/services/ai/prompt-modules/standing-answers.module.js.map +1 -0
  190. package/dist/backend/backend/src/services/ai/prompt-template.service.d.ts.map +1 -1
  191. package/dist/backend/backend/src/services/ai/prompt-template.service.js +9 -7
  192. package/dist/backend/backend/src/services/ai/prompt-template.service.js.map +1 -1
  193. package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.d.ts.map +1 -1
  194. package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.js +7 -0
  195. package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.js.map +1 -1
  196. package/dist/backend/backend/src/services/continuation/patterns/waiting-patterns.d.ts +7 -0
  197. package/dist/backend/backend/src/services/continuation/patterns/waiting-patterns.d.ts.map +1 -1
  198. package/dist/backend/backend/src/services/continuation/patterns/waiting-patterns.js +9 -1
  199. package/dist/backend/backend/src/services/continuation/patterns/waiting-patterns.js.map +1 -1
  200. package/dist/backend/backend/src/services/core/logger.service.d.ts +21 -0
  201. package/dist/backend/backend/src/services/core/logger.service.d.ts.map +1 -1
  202. package/dist/backend/backend/src/services/core/logger.service.js +42 -4
  203. package/dist/backend/backend/src/services/core/logger.service.js.map +1 -1
  204. package/dist/backend/backend/src/services/core/storage.service.d.ts +1 -5
  205. package/dist/backend/backend/src/services/core/storage.service.d.ts.map +1 -1
  206. package/dist/backend/backend/src/services/core/storage.service.js +5 -162
  207. package/dist/backend/backend/src/services/core/storage.service.js.map +1 -1
  208. package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.d.ts.map +1 -1
  209. package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.js +15 -9
  210. package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.js.map +1 -1
  211. package/dist/backend/backend/src/services/index.d.ts +0 -4
  212. package/dist/backend/backend/src/services/index.d.ts.map +1 -1
  213. package/dist/backend/backend/src/services/index.js +0 -4
  214. package/dist/backend/backend/src/services/index.js.map +1 -1
  215. package/dist/backend/backend/src/services/intent-task/intent-task.service.d.ts +1 -1
  216. package/dist/backend/backend/src/services/intent-task/intent-task.service.js +1 -1
  217. package/dist/backend/backend/src/services/mcp-server.d.ts +19 -6
  218. package/dist/backend/backend/src/services/mcp-server.d.ts.map +1 -1
  219. package/dist/backend/backend/src/services/mcp-server.js +46 -16
  220. package/dist/backend/backend/src/services/mcp-server.js.map +1 -1
  221. package/dist/backend/backend/src/services/mcp-tool-definitions.d.ts.map +1 -1
  222. package/dist/backend/backend/src/services/mcp-tool-definitions.js +3 -2
  223. package/dist/backend/backend/src/services/mcp-tool-definitions.js.map +1 -1
  224. package/dist/backend/backend/src/services/memory/standing-answers.service.d.ts +247 -0
  225. package/dist/backend/backend/src/services/memory/standing-answers.service.d.ts.map +1 -0
  226. package/dist/backend/backend/src/services/memory/standing-answers.service.js +534 -0
  227. package/dist/backend/backend/src/services/memory/standing-answers.service.js.map +1 -0
  228. package/dist/backend/backend/src/services/memory/standing-refresh.service.d.ts +104 -0
  229. package/dist/backend/backend/src/services/memory/standing-refresh.service.d.ts.map +1 -0
  230. package/dist/backend/backend/src/services/memory/standing-refresh.service.js +218 -0
  231. package/dist/backend/backend/src/services/memory/standing-refresh.service.js.map +1 -0
  232. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.d.ts +35 -0
  233. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.d.ts.map +1 -1
  234. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js +99 -1
  235. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js.map +1 -1
  236. package/dist/backend/backend/src/services/monitoring/agent-attention-registry.d.ts +75 -0
  237. package/dist/backend/backend/src/services/monitoring/agent-attention-registry.d.ts.map +1 -0
  238. package/dist/backend/backend/src/services/monitoring/agent-attention-registry.js +80 -0
  239. package/dist/backend/backend/src/services/monitoring/agent-attention-registry.js.map +1 -0
  240. package/dist/backend/backend/src/services/monitoring/agent-attention.d.ts +114 -0
  241. package/dist/backend/backend/src/services/monitoring/agent-attention.d.ts.map +1 -0
  242. package/dist/backend/backend/src/services/monitoring/agent-attention.js +165 -0
  243. package/dist/backend/backend/src/services/monitoring/agent-attention.js.map +1 -0
  244. package/dist/backend/backend/src/services/monitoring/agent-hook-state.d.ts +76 -0
  245. package/dist/backend/backend/src/services/monitoring/agent-hook-state.d.ts.map +1 -0
  246. package/dist/backend/backend/src/services/monitoring/agent-hook-state.js +96 -0
  247. package/dist/backend/backend/src/services/monitoring/agent-hook-state.js.map +1 -0
  248. package/dist/backend/backend/src/services/orchestrator/onboarding/materialize-team.js +1 -1
  249. package/dist/backend/backend/src/services/orchestrator/onboarding/recommend-team.d.ts +1 -1
  250. package/dist/backend/backend/src/services/orchestrator/onboarding/recommend-team.d.ts.map +1 -1
  251. package/dist/backend/backend/src/services/orchestrator/onboarding/recommend-team.js +13 -3
  252. package/dist/backend/backend/src/services/orchestrator/onboarding/recommend-team.js.map +1 -1
  253. package/dist/backend/backend/src/services/orchestrator/prompts/onboarding-mode.prompt.d.ts.map +1 -1
  254. package/dist/backend/backend/src/services/orchestrator/prompts/onboarding-mode.prompt.js +0 -4
  255. package/dist/backend/backend/src/services/orchestrator/prompts/onboarding-mode.prompt.js.map +1 -1
  256. package/dist/backend/backend/src/services/project/project-search.service.d.ts +22 -16
  257. package/dist/backend/backend/src/services/project/project-search.service.d.ts.map +1 -1
  258. package/dist/backend/backend/src/services/project/project-search.service.js +30 -53
  259. package/dist/backend/backend/src/services/project/project-search.service.js.map +1 -1
  260. package/dist/backend/backend/src/services/project-tickets/project-ticket-workflow.service.d.ts +381 -0
  261. package/dist/backend/backend/src/services/project-tickets/project-ticket-workflow.service.d.ts.map +1 -0
  262. package/dist/backend/backend/src/services/project-tickets/project-ticket-workflow.service.js +839 -0
  263. package/dist/backend/backend/src/services/project-tickets/project-ticket-workflow.service.js.map +1 -0
  264. package/dist/backend/backend/src/services/project-tickets/project-ticket.service.d.ts +214 -0
  265. package/dist/backend/backend/src/services/project-tickets/project-ticket.service.d.ts.map +1 -0
  266. package/dist/backend/backend/src/services/project-tickets/project-ticket.service.js +466 -0
  267. package/dist/backend/backend/src/services/project-tickets/project-ticket.service.js.map +1 -0
  268. package/dist/backend/backend/src/services/project-tickets/ticket-file.d.ts +121 -0
  269. package/dist/backend/backend/src/services/project-tickets/ticket-file.d.ts.map +1 -0
  270. package/dist/backend/backend/src/services/project-tickets/ticket-file.js +468 -0
  271. package/dist/backend/backend/src/services/project-tickets/ticket-file.js.map +1 -0
  272. package/dist/backend/backend/src/services/project-tickets/ticket-folder-lock.d.ts +69 -0
  273. package/dist/backend/backend/src/services/project-tickets/ticket-folder-lock.d.ts.map +1 -0
  274. package/dist/backend/backend/src/services/project-tickets/ticket-folder-lock.js +194 -0
  275. package/dist/backend/backend/src/services/project-tickets/ticket-folder-lock.js.map +1 -0
  276. package/dist/backend/backend/src/services/project-tickets/ticket-tracking.d.ts +47 -0
  277. package/dist/backend/backend/src/services/project-tickets/ticket-tracking.d.ts.map +1 -0
  278. package/dist/backend/backend/src/services/project-tickets/ticket-tracking.js +83 -0
  279. package/dist/backend/backend/src/services/project-tickets/ticket-tracking.js.map +1 -0
  280. package/dist/backend/backend/src/services/project-tickets/v1-task-migration.d.ts +97 -0
  281. package/dist/backend/backend/src/services/project-tickets/v1-task-migration.d.ts.map +1 -0
  282. package/dist/backend/backend/src/services/project-tickets/v1-task-migration.js +201 -0
  283. package/dist/backend/backend/src/services/project-tickets/v1-task-migration.js.map +1 -0
  284. package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts +86 -22
  285. package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts.map +1 -1
  286. package/dist/backend/backend/src/services/reconciler/reconcile-rules.js +173 -28
  287. package/dist/backend/backend/src/services/reconciler/reconcile-rules.js.map +1 -1
  288. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts +19 -1
  289. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts.map +1 -1
  290. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js +33 -4
  291. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js.map +1 -1
  292. package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts +24 -12
  293. package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts.map +1 -1
  294. package/dist/backend/backend/src/services/reconciler/reconciler.service.js +87 -19
  295. package/dist/backend/backend/src/services/reconciler/reconciler.service.js.map +1 -1
  296. package/dist/backend/backend/src/services/runtime-adapter.d.ts +1 -1
  297. package/dist/backend/backend/src/services/runtime-adapter.d.ts.map +1 -1
  298. package/dist/backend/backend/src/services/runtime-adapter.js +5 -9
  299. package/dist/backend/backend/src/services/runtime-adapter.js.map +1 -1
  300. package/dist/backend/backend/src/services/session/pty/pty-session-backend.d.ts +26 -1
  301. package/dist/backend/backend/src/services/session/pty/pty-session-backend.d.ts.map +1 -1
  302. package/dist/backend/backend/src/services/session/pty/pty-session-backend.js +33 -2
  303. package/dist/backend/backend/src/services/session/pty/pty-session-backend.js.map +1 -1
  304. package/dist/backend/backend/src/services/session/pty/pty-session.d.ts +5 -0
  305. package/dist/backend/backend/src/services/session/pty/pty-session.d.ts.map +1 -1
  306. package/dist/backend/backend/src/services/session/pty/pty-session.js +8 -1
  307. package/dist/backend/backend/src/services/session/pty/pty-session.js.map +1 -1
  308. package/dist/backend/backend/src/services/session/pty/pty-terminal-buffer.d.ts +18 -0
  309. package/dist/backend/backend/src/services/session/pty/pty-terminal-buffer.d.ts.map +1 -1
  310. package/dist/backend/backend/src/services/session/pty/pty-terminal-buffer.js +23 -0
  311. package/dist/backend/backend/src/services/session/pty/pty-terminal-buffer.js.map +1 -1
  312. package/dist/backend/backend/src/services/session/session-backend.interface.d.ts +8 -0
  313. package/dist/backend/backend/src/services/session/session-backend.interface.d.ts.map +1 -1
  314. package/dist/backend/backend/src/services/session/session-backend.interface.js.map +1 -1
  315. package/dist/backend/backend/src/services/session/session-command-helper.d.ts +12 -2
  316. package/dist/backend/backend/src/services/session/session-command-helper.d.ts.map +1 -1
  317. package/dist/backend/backend/src/services/session/session-command-helper.js +14 -2
  318. package/dist/backend/backend/src/services/session/session-command-helper.js.map +1 -1
  319. package/dist/backend/backend/src/services/task-pool/give-up/give-up-recovery.service.d.ts +239 -0
  320. package/dist/backend/backend/src/services/task-pool/give-up/give-up-recovery.service.d.ts.map +1 -0
  321. package/dist/backend/backend/src/services/task-pool/give-up/give-up-recovery.service.js +395 -0
  322. package/dist/backend/backend/src/services/task-pool/give-up/give-up-recovery.service.js.map +1 -0
  323. package/dist/backend/backend/src/services/task-pool/give-up/give-up-stats.d.ts +53 -0
  324. package/dist/backend/backend/src/services/task-pool/give-up/give-up-stats.d.ts.map +1 -0
  325. package/dist/backend/backend/src/services/task-pool/give-up/give-up-stats.js +83 -0
  326. package/dist/backend/backend/src/services/task-pool/give-up/give-up-stats.js.map +1 -0
  327. package/dist/backend/backend/src/services/task-pool/give-up/stop-classifier.d.ts +93 -0
  328. package/dist/backend/backend/src/services/task-pool/give-up/stop-classifier.d.ts.map +1 -0
  329. package/dist/backend/backend/src/services/task-pool/give-up/stop-classifier.js +244 -0
  330. package/dist/backend/backend/src/services/task-pool/give-up/stop-classifier.js.map +1 -0
  331. package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts +145 -19
  332. package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
  333. package/dist/backend/backend/src/services/task-pool/task-pool.service.js +321 -53
  334. package/dist/backend/backend/src/services/task-pool/task-pool.service.js.map +1 -1
  335. package/dist/backend/backend/src/services/template/template.service.d.ts.map +1 -1
  336. package/dist/backend/backend/src/services/template/template.service.js +11 -6
  337. package/dist/backend/backend/src/services/template/template.service.js.map +1 -1
  338. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.d.ts +21 -4
  339. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.d.ts.map +1 -1
  340. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.js +53 -3
  341. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.js.map +1 -1
  342. package/dist/backend/backend/src/services/v3/escalation-router.service.d.ts +85 -6
  343. package/dist/backend/backend/src/services/v3/escalation-router.service.d.ts.map +1 -1
  344. package/dist/backend/backend/src/services/v3/escalation-router.service.js +188 -9
  345. package/dist/backend/backend/src/services/v3/escalation-router.service.js.map +1 -1
  346. package/dist/backend/backend/src/services/v3/escalation.service.js +1 -1
  347. package/dist/backend/backend/src/services/v3/escalation.service.js.map +1 -1
  348. package/dist/backend/backend/src/services/v3/mission-executor.service.js +2 -2
  349. package/dist/backend/backend/src/services/v3/mission-executor.service.js.map +1 -1
  350. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt-data.d.ts +184 -0
  351. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt-data.d.ts.map +1 -0
  352. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt-data.js +420 -0
  353. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt-data.js.map +1 -0
  354. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.boot.d.ts +61 -0
  355. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.boot.d.ts.map +1 -0
  356. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.boot.js +100 -0
  357. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.boot.js.map +1 -0
  358. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.renderer.d.ts +36 -0
  359. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.renderer.d.ts.map +1 -0
  360. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.renderer.js +239 -0
  361. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.renderer.js.map +1 -0
  362. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.service.d.ts +152 -0
  363. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.service.d.ts.map +1 -0
  364. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.service.js +209 -0
  365. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.service.js.map +1 -0
  366. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.types.d.ts +194 -0
  367. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.types.d.ts.map +1 -0
  368. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.types.js +85 -0
  369. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.types.js.map +1 -0
  370. package/dist/backend/backend/src/services/v3/request-sla.subscriber.d.ts +6 -4
  371. package/dist/backend/backend/src/services/v3/request-sla.subscriber.d.ts.map +1 -1
  372. package/dist/backend/backend/src/services/v3/request-sla.subscriber.js +15 -6
  373. package/dist/backend/backend/src/services/v3/request-sla.subscriber.js.map +1 -1
  374. package/dist/backend/backend/src/services/v3/request-status-update.subscriber.d.ts.map +1 -1
  375. package/dist/backend/backend/src/services/v3/request-status-update.subscriber.js +14 -5
  376. package/dist/backend/backend/src/services/v3/request-status-update.subscriber.js.map +1 -1
  377. package/dist/backend/backend/src/services/v3/request.service.d.ts.map +1 -1
  378. package/dist/backend/backend/src/services/v3/request.service.js +2 -0
  379. package/dist/backend/backend/src/services/v3/request.service.js.map +1 -1
  380. package/dist/backend/backend/src/services/v3/ticket-ask-classifier.d.ts +82 -0
  381. package/dist/backend/backend/src/services/v3/ticket-ask-classifier.d.ts.map +1 -0
  382. package/dist/backend/backend/src/services/v3/ticket-ask-classifier.js +172 -0
  383. package/dist/backend/backend/src/services/v3/ticket-ask-classifier.js.map +1 -0
  384. package/dist/backend/backend/src/services/v3/ticket-channel-hooks.d.ts.map +1 -1
  385. package/dist/backend/backend/src/services/v3/ticket-channel-hooks.js +2 -0
  386. package/dist/backend/backend/src/services/v3/ticket-channel-hooks.js.map +1 -1
  387. package/dist/backend/backend/src/services/v3/ticket-intake-log.d.ts +87 -0
  388. package/dist/backend/backend/src/services/v3/ticket-intake-log.d.ts.map +1 -0
  389. package/dist/backend/backend/src/services/v3/ticket-intake-log.js +116 -0
  390. package/dist/backend/backend/src/services/v3/ticket-intake-log.js.map +1 -0
  391. package/dist/backend/backend/src/services/v3/ticket-intake.service.d.ts +133 -15
  392. package/dist/backend/backend/src/services/v3/ticket-intake.service.d.ts.map +1 -1
  393. package/dist/backend/backend/src/services/v3/ticket-intake.service.js +263 -45
  394. package/dist/backend/backend/src/services/v3/ticket-intake.service.js.map +1 -1
  395. package/dist/backend/backend/src/services/v3/ticket-review.service.d.ts +3 -1
  396. package/dist/backend/backend/src/services/v3/ticket-review.service.d.ts.map +1 -1
  397. package/dist/backend/backend/src/services/v3/ticket-review.service.js +6 -2
  398. package/dist/backend/backend/src/services/v3/ticket-review.service.js.map +1 -1
  399. package/dist/backend/backend/src/services/v3/v3-data.service.d.ts.map +1 -1
  400. package/dist/backend/backend/src/services/v3/v3-data.service.js +9 -3
  401. package/dist/backend/backend/src/services/v3/v3-data.service.js.map +1 -1
  402. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts +41 -1
  403. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts.map +1 -1
  404. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js +51 -2
  405. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js.map +1 -1
  406. package/dist/backend/backend/src/services/wiki/wiki-migrate.service.d.ts +13 -5
  407. package/dist/backend/backend/src/services/wiki/wiki-migrate.service.d.ts.map +1 -1
  408. package/dist/backend/backend/src/services/wiki/wiki-migrate.service.js +10 -9
  409. package/dist/backend/backend/src/services/wiki/wiki-migrate.service.js.map +1 -1
  410. package/dist/backend/backend/src/services/worktree/workitem-worktree.service.d.ts +241 -0
  411. package/dist/backend/backend/src/services/worktree/workitem-worktree.service.d.ts.map +1 -0
  412. package/dist/backend/backend/src/services/worktree/workitem-worktree.service.js +511 -0
  413. package/dist/backend/backend/src/services/worktree/workitem-worktree.service.js.map +1 -0
  414. package/dist/backend/backend/src/services/worktree/workitem-worktree.subscriber.d.ts +70 -0
  415. package/dist/backend/backend/src/services/worktree/workitem-worktree.subscriber.d.ts.map +1 -0
  416. package/dist/backend/backend/src/services/worktree/workitem-worktree.subscriber.js +121 -0
  417. package/dist/backend/backend/src/services/worktree/workitem-worktree.subscriber.js.map +1 -0
  418. package/dist/backend/backend/src/services/worktree/worktree-git.d.ts +260 -0
  419. package/dist/backend/backend/src/services/worktree/worktree-git.d.ts.map +1 -0
  420. package/dist/backend/backend/src/services/worktree/worktree-git.js +569 -0
  421. package/dist/backend/backend/src/services/worktree/worktree-git.js.map +1 -0
  422. package/dist/backend/backend/src/types/event-bus.types.d.ts +1 -1
  423. package/dist/backend/backend/src/types/event-bus.types.d.ts.map +1 -1
  424. package/dist/backend/backend/src/types/event-bus.types.js +8 -0
  425. package/dist/backend/backend/src/types/event-bus.types.js.map +1 -1
  426. package/dist/backend/backend/src/types/index.d.ts +23 -18
  427. package/dist/backend/backend/src/types/index.d.ts.map +1 -1
  428. package/dist/backend/backend/src/types/index.js.map +1 -1
  429. package/dist/backend/backend/src/types/intent-task.types.d.ts +1 -1
  430. package/dist/backend/backend/src/types/intent-task.types.d.ts.map +1 -1
  431. package/dist/backend/backend/src/types/project-ticket.types.d.ts +132 -0
  432. package/dist/backend/backend/src/types/project-ticket.types.d.ts.map +1 -0
  433. package/dist/backend/backend/src/types/project-ticket.types.js +120 -0
  434. package/dist/backend/backend/src/types/project-ticket.types.js.map +1 -0
  435. package/dist/backend/backend/src/types/review-reason.types.d.ts +3 -1
  436. package/dist/backend/backend/src/types/review-reason.types.d.ts.map +1 -1
  437. package/dist/backend/backend/src/types/review-reason.types.js +1 -0
  438. package/dist/backend/backend/src/types/review-reason.types.js.map +1 -1
  439. package/dist/backend/backend/src/types/v2/index.d.ts +2 -2
  440. package/dist/backend/backend/src/types/v2/index.d.ts.map +1 -1
  441. package/dist/backend/backend/src/types/v2/index.js +1 -1
  442. package/dist/backend/backend/src/types/v2/index.js.map +1 -1
  443. package/dist/backend/backend/src/types/v2/reconcile.types.d.ts +7 -0
  444. package/dist/backend/backend/src/types/v2/reconcile.types.d.ts.map +1 -1
  445. package/dist/backend/backend/src/types/v2/reconcile.types.js.map +1 -1
  446. package/dist/backend/backend/src/types/v2/request.types.d.ts +18 -0
  447. package/dist/backend/backend/src/types/v2/request.types.d.ts.map +1 -1
  448. package/dist/backend/backend/src/types/v2/request.types.js +1 -0
  449. package/dist/backend/backend/src/types/v2/request.types.js.map +1 -1
  450. package/dist/backend/backend/src/types/v2/ticket.types.d.ts +6 -2
  451. package/dist/backend/backend/src/types/v2/ticket.types.d.ts.map +1 -1
  452. package/dist/backend/backend/src/types/v2/ticket.types.js +1 -1
  453. package/dist/backend/backend/src/types/v2/ticket.types.js.map +1 -1
  454. package/dist/backend/backend/src/types/v2/work-item.types.d.ts +169 -14
  455. package/dist/backend/backend/src/types/v2/work-item.types.d.ts.map +1 -1
  456. package/dist/backend/backend/src/types/v2/work-item.types.js +263 -44
  457. package/dist/backend/backend/src/types/v2/work-item.types.js.map +1 -1
  458. package/dist/backend/backend/src/utils/agent-caller.utils.d.ts +33 -0
  459. package/dist/backend/backend/src/utils/agent-caller.utils.d.ts.map +1 -1
  460. package/dist/backend/backend/src/utils/agent-caller.utils.js +37 -0
  461. package/dist/backend/backend/src/utils/agent-caller.utils.js.map +1 -1
  462. package/dist/backend/backend/src/utils/secret-env.d.ts +61 -0
  463. package/dist/backend/backend/src/utils/secret-env.d.ts.map +1 -0
  464. package/dist/backend/backend/src/utils/secret-env.js +89 -0
  465. package/dist/backend/backend/src/utils/secret-env.js.map +1 -0
  466. package/dist/backend/build-info.json +2 -2
  467. package/dist/backend/config/constants.d.ts +71 -0
  468. package/dist/backend/config/constants.d.ts.map +1 -1
  469. package/dist/backend/config/constants.js +77 -0
  470. package/dist/backend/config/constants.js.map +1 -1
  471. package/dist/cli/backend/src/constants.d.ts +359 -1
  472. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  473. package/dist/cli/backend/src/constants.js +350 -2
  474. package/dist/cli/backend/src/constants.js.map +1 -1
  475. package/dist/cli/backend/src/models/index.d.ts +0 -1
  476. package/dist/cli/backend/src/models/index.d.ts.map +1 -1
  477. package/dist/cli/backend/src/models/index.js +0 -1
  478. package/dist/cli/backend/src/models/index.js.map +1 -1
  479. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts +28 -1
  480. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  481. package/dist/cli/backend/src/services/agent/agent-registration.service.js +93 -34
  482. package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
  483. package/dist/cli/backend/src/services/agent/control-plane-guard.service.d.ts +169 -0
  484. package/dist/cli/backend/src/services/agent/control-plane-guard.service.d.ts.map +1 -0
  485. package/dist/cli/backend/src/services/agent/control-plane-guard.service.js +231 -0
  486. package/dist/cli/backend/src/services/agent/control-plane-guard.service.js.map +1 -0
  487. package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.d.ts +16 -0
  488. package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.d.ts.map +1 -1
  489. package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.js +50 -0
  490. package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.js.map +1 -1
  491. package/dist/cli/backend/src/services/ai/prompt-builder.service.d.ts.map +1 -1
  492. package/dist/cli/backend/src/services/ai/prompt-builder.service.js +9 -8
  493. package/dist/cli/backend/src/services/ai/prompt-builder.service.js.map +1 -1
  494. package/dist/cli/backend/src/services/ai/prompt-modules/active-work.module.d.ts +75 -0
  495. package/dist/cli/backend/src/services/ai/prompt-modules/active-work.module.d.ts.map +1 -0
  496. package/dist/cli/backend/src/services/ai/prompt-modules/active-work.module.js +89 -0
  497. package/dist/cli/backend/src/services/ai/prompt-modules/active-work.module.js.map +1 -0
  498. package/dist/cli/backend/src/services/ai/prompt-modules/project-reference.module.js +1 -1
  499. package/dist/cli/backend/src/services/ai/prompt-modules/project-reference.module.js.map +1 -1
  500. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-assembly.service.d.ts.map +1 -1
  501. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-assembly.service.js +12 -0
  502. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-assembly.service.js.map +1 -1
  503. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts +14 -0
  504. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts.map +1 -1
  505. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.js.map +1 -1
  506. package/dist/cli/backend/src/services/ai/prompt-modules/recovery.module.d.ts.map +1 -1
  507. package/dist/cli/backend/src/services/ai/prompt-modules/recovery.module.js +11 -7
  508. package/dist/cli/backend/src/services/ai/prompt-modules/recovery.module.js.map +1 -1
  509. package/dist/cli/backend/src/services/ai/prompt-modules/session-briefing.module.d.ts +41 -0
  510. package/dist/cli/backend/src/services/ai/prompt-modules/session-briefing.module.d.ts.map +1 -0
  511. package/dist/cli/backend/src/services/ai/prompt-modules/session-briefing.module.js +44 -0
  512. package/dist/cli/backend/src/services/ai/prompt-modules/session-briefing.module.js.map +1 -0
  513. package/dist/cli/backend/src/services/ai/prompt-modules/standing-answers.module.d.ts +67 -0
  514. package/dist/cli/backend/src/services/ai/prompt-modules/standing-answers.module.d.ts.map +1 -0
  515. package/dist/cli/backend/src/services/ai/prompt-modules/standing-answers.module.js +146 -0
  516. package/dist/cli/backend/src/services/ai/prompt-modules/standing-answers.module.js.map +1 -0
  517. package/dist/cli/backend/src/services/continuation/patterns/waiting-patterns.d.ts +7 -0
  518. package/dist/cli/backend/src/services/continuation/patterns/waiting-patterns.d.ts.map +1 -1
  519. package/dist/cli/backend/src/services/continuation/patterns/waiting-patterns.js +9 -1
  520. package/dist/cli/backend/src/services/continuation/patterns/waiting-patterns.js.map +1 -1
  521. package/dist/cli/backend/src/services/core/logger.service.d.ts +21 -0
  522. package/dist/cli/backend/src/services/core/logger.service.d.ts.map +1 -1
  523. package/dist/cli/backend/src/services/core/logger.service.js +42 -4
  524. package/dist/cli/backend/src/services/core/logger.service.js.map +1 -1
  525. package/dist/cli/backend/src/services/core/storage.service.d.ts +1 -5
  526. package/dist/cli/backend/src/services/core/storage.service.d.ts.map +1 -1
  527. package/dist/cli/backend/src/services/core/storage.service.js +5 -162
  528. package/dist/cli/backend/src/services/core/storage.service.js.map +1 -1
  529. package/dist/cli/backend/src/services/mcp-server.d.ts +19 -6
  530. package/dist/cli/backend/src/services/mcp-server.d.ts.map +1 -1
  531. package/dist/cli/backend/src/services/mcp-server.js +46 -16
  532. package/dist/cli/backend/src/services/mcp-server.js.map +1 -1
  533. package/dist/cli/backend/src/services/mcp-tool-definitions.d.ts.map +1 -1
  534. package/dist/cli/backend/src/services/mcp-tool-definitions.js +3 -2
  535. package/dist/cli/backend/src/services/mcp-tool-definitions.js.map +1 -1
  536. package/dist/cli/backend/src/services/memory/standing-answers.service.d.ts +247 -0
  537. package/dist/cli/backend/src/services/memory/standing-answers.service.d.ts.map +1 -0
  538. package/dist/cli/backend/src/services/memory/standing-answers.service.js +534 -0
  539. package/dist/cli/backend/src/services/memory/standing-answers.service.js.map +1 -0
  540. package/dist/cli/backend/src/services/monitoring/activity-monitor.service.d.ts +35 -0
  541. package/dist/cli/backend/src/services/monitoring/activity-monitor.service.d.ts.map +1 -1
  542. package/dist/cli/backend/src/services/monitoring/activity-monitor.service.js +99 -1
  543. package/dist/cli/backend/src/services/monitoring/activity-monitor.service.js.map +1 -1
  544. package/dist/cli/backend/src/services/monitoring/agent-attention-registry.d.ts +75 -0
  545. package/dist/cli/backend/src/services/monitoring/agent-attention-registry.d.ts.map +1 -0
  546. package/dist/cli/backend/src/services/monitoring/agent-attention-registry.js +80 -0
  547. package/dist/cli/backend/src/services/monitoring/agent-attention-registry.js.map +1 -0
  548. package/dist/cli/backend/src/services/monitoring/agent-attention.d.ts +114 -0
  549. package/dist/cli/backend/src/services/monitoring/agent-attention.d.ts.map +1 -0
  550. package/dist/cli/backend/src/services/monitoring/agent-attention.js +165 -0
  551. package/dist/cli/backend/src/services/monitoring/agent-attention.js.map +1 -0
  552. package/dist/cli/backend/src/services/project-tickets/project-ticket.service.d.ts +214 -0
  553. package/dist/cli/backend/src/services/project-tickets/project-ticket.service.d.ts.map +1 -0
  554. package/dist/cli/backend/src/services/project-tickets/project-ticket.service.js +466 -0
  555. package/dist/cli/backend/src/services/project-tickets/project-ticket.service.js.map +1 -0
  556. package/dist/cli/backend/src/services/project-tickets/ticket-file.d.ts +121 -0
  557. package/dist/cli/backend/src/services/project-tickets/ticket-file.d.ts.map +1 -0
  558. package/dist/cli/backend/src/services/project-tickets/ticket-file.js +468 -0
  559. package/dist/cli/backend/src/services/project-tickets/ticket-file.js.map +1 -0
  560. package/dist/cli/backend/src/services/project-tickets/ticket-folder-lock.d.ts +69 -0
  561. package/dist/cli/backend/src/services/project-tickets/ticket-folder-lock.d.ts.map +1 -0
  562. package/dist/cli/backend/src/services/project-tickets/ticket-folder-lock.js +194 -0
  563. package/dist/cli/backend/src/services/project-tickets/ticket-folder-lock.js.map +1 -0
  564. package/dist/cli/backend/src/services/project-tickets/ticket-tracking.d.ts +47 -0
  565. package/dist/cli/backend/src/services/project-tickets/ticket-tracking.d.ts.map +1 -0
  566. package/dist/cli/backend/src/services/project-tickets/ticket-tracking.js +83 -0
  567. package/dist/cli/backend/src/services/project-tickets/ticket-tracking.js.map +1 -0
  568. package/dist/cli/backend/src/services/project-tickets/v1-task-migration.d.ts +97 -0
  569. package/dist/cli/backend/src/services/project-tickets/v1-task-migration.d.ts.map +1 -0
  570. package/dist/cli/backend/src/services/project-tickets/v1-task-migration.js +201 -0
  571. package/dist/cli/backend/src/services/project-tickets/v1-task-migration.js.map +1 -0
  572. package/dist/cli/backend/src/services/session/pty/pty-session-backend.d.ts +26 -1
  573. package/dist/cli/backend/src/services/session/pty/pty-session-backend.d.ts.map +1 -1
  574. package/dist/cli/backend/src/services/session/pty/pty-session-backend.js +33 -2
  575. package/dist/cli/backend/src/services/session/pty/pty-session-backend.js.map +1 -1
  576. package/dist/cli/backend/src/services/session/pty/pty-session.d.ts +5 -0
  577. package/dist/cli/backend/src/services/session/pty/pty-session.d.ts.map +1 -1
  578. package/dist/cli/backend/src/services/session/pty/pty-session.js +8 -1
  579. package/dist/cli/backend/src/services/session/pty/pty-session.js.map +1 -1
  580. package/dist/cli/backend/src/services/session/pty/pty-terminal-buffer.d.ts +18 -0
  581. package/dist/cli/backend/src/services/session/pty/pty-terminal-buffer.d.ts.map +1 -1
  582. package/dist/cli/backend/src/services/session/pty/pty-terminal-buffer.js +23 -0
  583. package/dist/cli/backend/src/services/session/pty/pty-terminal-buffer.js.map +1 -1
  584. package/dist/cli/backend/src/services/session/session-backend.interface.d.ts +8 -0
  585. package/dist/cli/backend/src/services/session/session-backend.interface.d.ts.map +1 -1
  586. package/dist/cli/backend/src/services/session/session-backend.interface.js.map +1 -1
  587. package/dist/cli/backend/src/services/session/session-command-helper.d.ts +12 -2
  588. package/dist/cli/backend/src/services/session/session-command-helper.d.ts.map +1 -1
  589. package/dist/cli/backend/src/services/session/session-command-helper.js +14 -2
  590. package/dist/cli/backend/src/services/session/session-command-helper.js.map +1 -1
  591. package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts +145 -19
  592. package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
  593. package/dist/cli/backend/src/services/task-pool/task-pool.service.js +321 -53
  594. package/dist/cli/backend/src/services/task-pool/task-pool.service.js.map +1 -1
  595. package/dist/cli/backend/src/services/template/template.service.d.ts.map +1 -1
  596. package/dist/cli/backend/src/services/template/template.service.js +11 -6
  597. package/dist/cli/backend/src/services/template/template.service.js.map +1 -1
  598. package/dist/cli/backend/src/services/v3/escalation-router.service.d.ts +85 -6
  599. package/dist/cli/backend/src/services/v3/escalation-router.service.d.ts.map +1 -1
  600. package/dist/cli/backend/src/services/v3/escalation-router.service.js +188 -9
  601. package/dist/cli/backend/src/services/v3/escalation-router.service.js.map +1 -1
  602. package/dist/cli/backend/src/services/v3/mission-executor.service.js +2 -2
  603. package/dist/cli/backend/src/services/v3/mission-executor.service.js.map +1 -1
  604. package/dist/cli/backend/src/services/v3/request-sla.subscriber.d.ts +6 -4
  605. package/dist/cli/backend/src/services/v3/request-sla.subscriber.d.ts.map +1 -1
  606. package/dist/cli/backend/src/services/v3/request-sla.subscriber.js +15 -6
  607. package/dist/cli/backend/src/services/v3/request-sla.subscriber.js.map +1 -1
  608. package/dist/cli/backend/src/services/v3/request.service.d.ts.map +1 -1
  609. package/dist/cli/backend/src/services/v3/request.service.js +2 -0
  610. package/dist/cli/backend/src/services/v3/request.service.js.map +1 -1
  611. package/dist/cli/backend/src/services/v3/ticket-ask-classifier.d.ts +82 -0
  612. package/dist/cli/backend/src/services/v3/ticket-ask-classifier.d.ts.map +1 -0
  613. package/dist/cli/backend/src/services/v3/ticket-ask-classifier.js +172 -0
  614. package/dist/cli/backend/src/services/v3/ticket-ask-classifier.js.map +1 -0
  615. package/dist/cli/backend/src/services/v3/ticket-channel-hooks.d.ts.map +1 -1
  616. package/dist/cli/backend/src/services/v3/ticket-channel-hooks.js +2 -0
  617. package/dist/cli/backend/src/services/v3/ticket-channel-hooks.js.map +1 -1
  618. package/dist/cli/backend/src/services/v3/ticket-intake-log.d.ts +87 -0
  619. package/dist/cli/backend/src/services/v3/ticket-intake-log.d.ts.map +1 -0
  620. package/dist/cli/backend/src/services/v3/ticket-intake-log.js +116 -0
  621. package/dist/cli/backend/src/services/v3/ticket-intake-log.js.map +1 -0
  622. package/dist/cli/backend/src/services/v3/ticket-intake.service.d.ts +133 -15
  623. package/dist/cli/backend/src/services/v3/ticket-intake.service.d.ts.map +1 -1
  624. package/dist/cli/backend/src/services/v3/ticket-intake.service.js +263 -45
  625. package/dist/cli/backend/src/services/v3/ticket-intake.service.js.map +1 -1
  626. package/dist/cli/backend/src/services/v3/ticket-review.service.d.ts +3 -1
  627. package/dist/cli/backend/src/services/v3/ticket-review.service.d.ts.map +1 -1
  628. package/dist/cli/backend/src/services/v3/ticket-review.service.js +6 -2
  629. package/dist/cli/backend/src/services/v3/ticket-review.service.js.map +1 -1
  630. package/dist/cli/backend/src/services/v3/v3-data.service.d.ts.map +1 -1
  631. package/dist/cli/backend/src/services/v3/v3-data.service.js +9 -3
  632. package/dist/cli/backend/src/services/v3/v3-data.service.js.map +1 -1
  633. package/dist/cli/backend/src/services/worktree/worktree-git.d.ts +260 -0
  634. package/dist/cli/backend/src/services/worktree/worktree-git.d.ts.map +1 -0
  635. package/dist/cli/backend/src/services/worktree/worktree-git.js +569 -0
  636. package/dist/cli/backend/src/services/worktree/worktree-git.js.map +1 -0
  637. package/dist/cli/backend/src/types/event-bus.types.d.ts +1 -1
  638. package/dist/cli/backend/src/types/event-bus.types.d.ts.map +1 -1
  639. package/dist/cli/backend/src/types/event-bus.types.js +8 -0
  640. package/dist/cli/backend/src/types/event-bus.types.js.map +1 -1
  641. package/dist/cli/backend/src/types/index.d.ts +23 -18
  642. package/dist/cli/backend/src/types/index.d.ts.map +1 -1
  643. package/dist/cli/backend/src/types/index.js.map +1 -1
  644. package/dist/cli/backend/src/types/intent-task.types.d.ts +1 -1
  645. package/dist/cli/backend/src/types/intent-task.types.d.ts.map +1 -1
  646. package/dist/cli/backend/src/types/project-ticket.types.d.ts +132 -0
  647. package/dist/cli/backend/src/types/project-ticket.types.d.ts.map +1 -0
  648. package/dist/cli/backend/src/types/project-ticket.types.js +120 -0
  649. package/dist/cli/backend/src/types/project-ticket.types.js.map +1 -0
  650. package/dist/cli/backend/src/types/v2/index.d.ts +2 -2
  651. package/dist/cli/backend/src/types/v2/index.d.ts.map +1 -1
  652. package/dist/cli/backend/src/types/v2/index.js +1 -1
  653. package/dist/cli/backend/src/types/v2/index.js.map +1 -1
  654. package/dist/cli/backend/src/types/v2/reconcile.types.d.ts +7 -0
  655. package/dist/cli/backend/src/types/v2/reconcile.types.d.ts.map +1 -1
  656. package/dist/cli/backend/src/types/v2/reconcile.types.js.map +1 -1
  657. package/dist/cli/backend/src/types/v2/request.types.d.ts +18 -0
  658. package/dist/cli/backend/src/types/v2/request.types.d.ts.map +1 -1
  659. package/dist/cli/backend/src/types/v2/request.types.js +1 -0
  660. package/dist/cli/backend/src/types/v2/request.types.js.map +1 -1
  661. package/dist/cli/backend/src/types/v2/ticket.types.d.ts +6 -2
  662. package/dist/cli/backend/src/types/v2/ticket.types.d.ts.map +1 -1
  663. package/dist/cli/backend/src/types/v2/ticket.types.js +1 -1
  664. package/dist/cli/backend/src/types/v2/ticket.types.js.map +1 -1
  665. package/dist/cli/backend/src/types/v2/work-item.types.d.ts +169 -14
  666. package/dist/cli/backend/src/types/v2/work-item.types.d.ts.map +1 -1
  667. package/dist/cli/backend/src/types/v2/work-item.types.js +263 -44
  668. package/dist/cli/backend/src/types/v2/work-item.types.js.map +1 -1
  669. package/dist/cli/backend/src/utils/secret-env.d.ts +61 -0
  670. package/dist/cli/backend/src/utils/secret-env.d.ts.map +1 -0
  671. package/dist/cli/backend/src/utils/secret-env.js +89 -0
  672. package/dist/cli/backend/src/utils/secret-env.js.map +1 -0
  673. package/dist/cli/cli/src/commands/onboard.d.ts +1 -1
  674. package/dist/cli/cli/src/commands/onboard.js +3 -3
  675. package/dist/cli/cli/src/commands/onboard.js.map +1 -1
  676. package/dist/cli/cli/src/commands/publish.d.ts.map +1 -1
  677. package/dist/cli/cli/src/commands/publish.js +4 -5
  678. package/dist/cli/cli/src/commands/publish.js.map +1 -1
  679. package/dist/cli/cli/src/commands/service.d.ts.map +1 -1
  680. package/dist/cli/cli/src/commands/service.js +5 -2
  681. package/dist/cli/cli/src/commands/service.js.map +1 -1
  682. package/dist/cli/cli/src/commands/tickets.d.ts +60 -0
  683. package/dist/cli/cli/src/commands/tickets.d.ts.map +1 -0
  684. package/dist/cli/cli/src/commands/tickets.js +111 -0
  685. package/dist/cli/cli/src/commands/tickets.js.map +1 -0
  686. package/dist/cli/cli/src/index.js +12 -0
  687. package/dist/cli/cli/src/index.js.map +1 -1
  688. package/dist/cli/cli/src/utils/archive-creator.d.ts +7 -3
  689. package/dist/cli/cli/src/utils/archive-creator.d.ts.map +1 -1
  690. package/dist/cli/cli/src/utils/archive-creator.js +17 -5
  691. package/dist/cli/cli/src/utils/archive-creator.js.map +1 -1
  692. package/dist/cli/cli/src/utils/cloud-submit.d.ts +1 -1
  693. package/dist/cli/cli/src/utils/cloud-submit.js +1 -1
  694. package/dist/cli/cli/src/utils/gh-submit.d.ts +10 -1
  695. package/dist/cli/cli/src/utils/gh-submit.d.ts.map +1 -1
  696. package/dist/cli/cli/src/utils/gh-submit.js +20 -4
  697. package/dist/cli/cli/src/utils/gh-submit.js.map +1 -1
  698. package/dist/cli/cli/src/utils/package-validator.d.ts +29 -6
  699. package/dist/cli/cli/src/utils/package-validator.d.ts.map +1 -1
  700. package/dist/cli/cli/src/utils/package-validator.js +88 -36
  701. package/dist/cli/cli/src/utils/package-validator.js.map +1 -1
  702. package/dist/cli/config/constants.d.ts +71 -0
  703. package/dist/cli/config/constants.d.ts.map +1 -1
  704. package/dist/cli/config/constants.js +77 -0
  705. package/dist/cli/config/constants.js.map +1 -1
  706. package/dist/cli/config/skills/marketplace-registry.d.ts +143 -0
  707. package/dist/cli/config/skills/marketplace-registry.d.ts.map +1 -0
  708. package/dist/cli/config/skills/marketplace-registry.js +192 -0
  709. package/dist/cli/config/skills/marketplace-registry.js.map +1 -0
  710. package/frontend/dist/assets/index-8d4b3ad2.js +4951 -0
  711. package/frontend/dist/assets/index-b6aded4c.css +42 -0
  712. package/frontend/dist/index.html +2 -2
  713. package/package.json +1 -1
  714. package/config/task_starters/build_e2e_test_plan_prompt.json +0 -51
  715. package/config/task_starters/build_tasks_prompt.json +0 -55
  716. package/config/task_starters/prompts/build_tasks_step1_milestone_structure.md +0 -274
  717. package/config/task_starters/prompts/e2e_test_plan_step1_build_tests.md +0 -391
  718. package/config/task_starters/prompts/e2e_test_plan_step2_run_tests.md +0 -240
  719. package/config/templates/customer-loyalty-team.json +0 -44
  720. package/config/templates/dtc-viral-content-team.json +0 -58
  721. package/config/templates/expert-innovation-team.json +0 -60
  722. package/config/templates/pragmatic-mvp-dev-team.json +0 -58
  723. package/config/templates/pro-sops/norms/content-production-pipeline.md +0 -39
  724. package/config/templates/pro-sops/norms/customer-onboarding-sop.md +0 -40
  725. package/dist/backend/backend/src/controllers/task-management/tickets.controller.d.ts +0 -13
  726. package/dist/backend/backend/src/controllers/task-management/tickets.controller.d.ts.map +0 -1
  727. package/dist/backend/backend/src/controllers/task-management/tickets.controller.js +0 -214
  728. package/dist/backend/backend/src/controllers/task-management/tickets.controller.js.map +0 -1
  729. package/dist/backend/backend/src/models/Ticket.d.ts +0 -24
  730. package/dist/backend/backend/src/models/Ticket.d.ts.map +0 -1
  731. package/dist/backend/backend/src/models/Ticket.js +0 -102
  732. package/dist/backend/backend/src/models/Ticket.js.map +0 -1
  733. package/dist/backend/backend/src/services/agent/task-planning.service.d.ts +0 -134
  734. package/dist/backend/backend/src/services/agent/task-planning.service.d.ts.map +0 -1
  735. package/dist/backend/backend/src/services/agent/task-planning.service.js +0 -291
  736. package/dist/backend/backend/src/services/agent/task-planning.service.js.map +0 -1
  737. package/dist/backend/backend/src/services/monitoring/task-assignment-monitor.service.d.ts +0 -71
  738. package/dist/backend/backend/src/services/monitoring/task-assignment-monitor.service.d.ts.map +0 -1
  739. package/dist/backend/backend/src/services/monitoring/task-assignment-monitor.service.js +0 -304
  740. package/dist/backend/backend/src/services/monitoring/task-assignment-monitor.service.js.map +0 -1
  741. package/dist/backend/backend/src/services/project/task-folder.service.d.ts +0 -48
  742. package/dist/backend/backend/src/services/project/task-folder.service.d.ts.map +0 -1
  743. package/dist/backend/backend/src/services/project/task-folder.service.js +0 -193
  744. package/dist/backend/backend/src/services/project/task-folder.service.js.map +0 -1
  745. package/dist/backend/backend/src/services/project/task.service.d.ts +0 -47
  746. package/dist/backend/backend/src/services/project/task.service.d.ts.map +0 -1
  747. package/dist/backend/backend/src/services/project/task.service.js +0 -253
  748. package/dist/backend/backend/src/services/project/task.service.js.map +0 -1
  749. package/dist/backend/backend/src/services/project/ticket-editor.service.d.ts +0 -130
  750. package/dist/backend/backend/src/services/project/ticket-editor.service.d.ts.map +0 -1
  751. package/dist/backend/backend/src/services/project/ticket-editor.service.js +0 -406
  752. package/dist/backend/backend/src/services/project/ticket-editor.service.js.map +0 -1
  753. package/dist/cli/backend/src/models/Ticket.d.ts +0 -24
  754. package/dist/cli/backend/src/models/Ticket.d.ts.map +0 -1
  755. package/dist/cli/backend/src/models/Ticket.js +0 -102
  756. package/dist/cli/backend/src/models/Ticket.js.map +0 -1
  757. package/frontend/dist/assets/index-2bdb57b9.css +0 -42
  758. package/frontend/dist/assets/index-54f1061c.js +0 -4963
@@ -0,0 +1,569 @@
1
+ /**
2
+ * Git primitives for per-WorkItem worktrees (#814).
3
+ *
4
+ * Every check that gates a destructive operation (the dirty check, the
5
+ * "landed" check) reports what it examined and returns a three-way state.
6
+ * `unknown` is never treated as safe: a git command that failed, a path that
7
+ * is not a worktree root, or a worktree with zero tracked files all read as
8
+ * `unknown`, never `clean` (norm-guard-reports-what-it-examined; the
9
+ * 2026-08-21 worktree incident, where a check that examined nothing declared
10
+ * unmerged work safe to delete).
11
+ *
12
+ * All git calls go through `execFile` (no shell), so paths are never
13
+ * word-split or glob-expanded.
14
+ *
15
+ * @module services/worktree/worktree-git
16
+ */
17
+ import path from 'path';
18
+ import { execFile } from 'child_process';
19
+ import { promises as fs } from 'fs';
20
+ import { createHash } from 'crypto';
21
+ import { WORKTREE_CONSTANTS } from '../../constants.js';
22
+ /**
23
+ * SHA-256 of a file's content, or null when it cannot be read (removed,
24
+ * permissions). Used to tell an edited `.worktreeinclude` copy from an
25
+ * untouched one — the copy is untracked, so `git status` never sees it.
26
+ *
27
+ * @param p - Absolute file path
28
+ */
29
+ async function hashFile(p) {
30
+ try {
31
+ return createHash('sha256').update(await fs.readFile(p)).digest('hex');
32
+ }
33
+ catch {
34
+ return null;
35
+ }
36
+ }
37
+ /**
38
+ * Run git with arguments in a directory. Never throws.
39
+ *
40
+ * @param cwd - Working directory
41
+ * @param args - Arguments (no shell parsing)
42
+ * @param timeoutMs - Kill after this long
43
+ * @returns Exit code and output
44
+ */
45
+ export function runGit(cwd, args, timeoutMs = WORKTREE_CONSTANTS.GIT_TIMEOUT_MS) {
46
+ return new Promise((resolve) => {
47
+ execFile('git', args, {
48
+ cwd,
49
+ timeout: timeoutMs,
50
+ maxBuffer: 64 * 1024 * 1024,
51
+ // Never prompt for credentials (ls-remote offline must fail fast, not hang).
52
+ env: { ...process.env, GIT_TERMINAL_PROMPT: '0', GIT_OPTIONAL_LOCKS: '0' },
53
+ }, (err, stdout, stderr) => {
54
+ const code = err ? (typeof err.code === 'number' ? err.code : -1) : 0;
55
+ resolve({ ok: !err, code, stdout: String(stdout), stderr: String(stderr) });
56
+ });
57
+ });
58
+ }
59
+ /** Resolve symlinks when the path exists; otherwise normalise it. */
60
+ async function realpathOrResolve(p) {
61
+ try {
62
+ return await fs.realpath(p);
63
+ }
64
+ catch {
65
+ return path.resolve(p);
66
+ }
67
+ }
68
+ // ---------------------------------------------------------------------------
69
+ // Repo facts
70
+ // ---------------------------------------------------------------------------
71
+ /**
72
+ * The repository root containing `dir`, or null when `dir` is not in a git
73
+ * work tree (or git is unavailable).
74
+ *
75
+ * @param dir - Any directory
76
+ * @returns Absolute, symlink-resolved repo root, or null
77
+ */
78
+ export async function getRepoRoot(dir) {
79
+ const r = await runGit(dir, ['rev-parse', '--show-toplevel']);
80
+ if (!r.ok || !r.stdout.trim())
81
+ return null;
82
+ return realpathOrResolve(r.stdout.trim());
83
+ }
84
+ /**
85
+ * The base a new worktree branches from.
86
+ *
87
+ * `preferredBranch` (e.g. `wi/<workerId>` for a verify/retry/review
88
+ * WorkItem's own worktree) is tried FIRST when given and it resolves — a
89
+ * verifier must see the worker's own commits, including ones never pushed
90
+ * to `origin`, not a snapshot of `origin/main` from before the worker even
91
+ * started (#829 review). Falls back to the remote default branch
92
+ * (`origin/HEAD` → e.g. `origin/main`) when known, else the repo's HEAD.
93
+ *
94
+ * @param repo - Repo root
95
+ * @param preferredBranch - Tried before the normal fallback chain, when given
96
+ * @returns The base, or null when nothing resolves
97
+ */
98
+ export async function resolveBaseRef(repo, preferredBranch) {
99
+ const remoteHead = await runGit(repo, ['symbolic-ref', '--quiet', '--short', 'refs/remotes/origin/HEAD']);
100
+ const fallback = remoteHead.ok && remoteHead.stdout.trim() ? [remoteHead.stdout.trim(), 'HEAD'] : ['HEAD'];
101
+ const candidates = preferredBranch ? [preferredBranch, ...fallback] : fallback;
102
+ for (const name of candidates) {
103
+ const sha = await runGit(repo, ['rev-parse', '--verify', '--quiet', `${name}^{commit}`]);
104
+ if (sha.ok && sha.stdout.trim())
105
+ return { name, sha: sha.stdout.trim() };
106
+ }
107
+ return null;
108
+ }
109
+ /**
110
+ * Whether a local branch exists.
111
+ *
112
+ * @param repo - Repo root
113
+ * @param branch - Short branch name
114
+ * @returns true when `refs/heads/<branch>` resolves
115
+ */
116
+ export async function branchExists(repo, branch) {
117
+ return (await runGit(repo, ['show-ref', '--verify', '--quiet', `refs/heads/${branch}`])).ok;
118
+ }
119
+ /**
120
+ * A WorkItem id, made safe as a git ref component and a path segment.
121
+ *
122
+ * A verify/retry/review WorkItem's id contains ':' (e.g. `abc:verify:def`),
123
+ * which `git check-ref-format` rejects — `git worktree add -b wi/abc:verify:def`
124
+ * fails outright, so that WorkItem would silently get no worktree at all.
125
+ * Replaces every character git disallows in a ref component (control chars,
126
+ * space, `~^:?*[\`), collapses a leading/trailing `.` or `/` and a `..` run
127
+ * (also disallowed), and guards the empty-string and lone-`@` edge cases.
128
+ *
129
+ * @param id - Raw WorkItem id
130
+ * @returns A string safe to use for both the branch name and the worktree path
131
+ */
132
+ export function sanitizeWorktreeId(id) {
133
+ const cleaned = id
134
+ .replace(/[\x00-\x1f\x7f\s~^:?*[\\]/g, '-')
135
+ .replace(/@\{/g, '-')
136
+ .replace(/\.\.+/g, '-')
137
+ .replace(/^[./]+|[./]+$/g, '')
138
+ .replace(/\.lock$/, '-lock');
139
+ return cleaned && cleaned !== '@' ? cleaned : `wi-${id.length}`;
140
+ }
141
+ /**
142
+ * Registered worktree paths of a repo (`git worktree list --porcelain`),
143
+ * symlink-resolved, excluding the main checkout.
144
+ *
145
+ * @param repo - Repo root
146
+ * @returns Paths, or null when the listing could not be read
147
+ */
148
+ export async function listWorktrees(repo) {
149
+ const r = await runGit(repo, ['worktree', 'list', '--porcelain']);
150
+ if (!r.ok)
151
+ return null;
152
+ const paths = r.stdout
153
+ .split('\n')
154
+ .filter((l) => l.startsWith('worktree '))
155
+ .map((l) => l.slice('worktree '.length).trim());
156
+ const resolved = await Promise.all(paths.map(realpathOrResolve));
157
+ const root = await realpathOrResolve(repo);
158
+ return resolved.filter((p) => p !== root);
159
+ }
160
+ /**
161
+ * Read the repo-root `.worktreeinclude`: one literal repo-relative path per
162
+ * line; blank lines and `#` comments ignored; globs, absolute paths and `..`
163
+ * segments refused; at most `INCLUDE_MAX_ENTRIES` honoured.
164
+ *
165
+ * @param repo - Repo root
166
+ * @returns Accepted entries and what was refused
167
+ */
168
+ export async function readIncludeFile(repo) {
169
+ const out = { entries: [], rejected: [], truncated: 0 };
170
+ let raw;
171
+ try {
172
+ raw = await fs.readFile(path.join(repo, WORKTREE_CONSTANTS.INCLUDE_FILE), 'utf8');
173
+ }
174
+ catch {
175
+ return out;
176
+ }
177
+ for (const line of raw.split(/\r?\n/).map((l) => l.trim())) {
178
+ if (!line || line.startsWith('#'))
179
+ continue;
180
+ const rel = line.replace(/\\/g, '/').replace(/\/+$/, '');
181
+ let reason = null;
182
+ if (/[*?[\]{}]/.test(rel))
183
+ reason = 'globs are not allowed (literal paths only)';
184
+ else if (path.isAbsolute(rel) || rel.startsWith('/'))
185
+ reason = 'absolute paths are not allowed';
186
+ else if (rel.split('/').some((seg) => seg === '..' || seg === '.git'))
187
+ reason = '".." and ".git" segments are not allowed';
188
+ if (reason) {
189
+ out.rejected.push({ line, reason });
190
+ continue;
191
+ }
192
+ if (out.entries.length >= WORKTREE_CONSTANTS.INCLUDE_MAX_ENTRIES) {
193
+ out.truncated += 1;
194
+ continue;
195
+ }
196
+ if (!out.entries.includes(rel))
197
+ out.entries.push(rel);
198
+ }
199
+ return out;
200
+ }
201
+ /** Whether git tracks anything at or under a repo-relative path. `null` = could not tell. */
202
+ async function isTracked(repo, rel) {
203
+ const r = await runGit(repo, ['ls-files', '-z', '--', rel]);
204
+ if (!r.ok)
205
+ return null;
206
+ return r.stdout.length > 0;
207
+ }
208
+ /**
209
+ * Symlink heavy directories and copy `.worktreeinclude` files from the repo
210
+ * root into a new worktree. A path is applied only when it exists in the
211
+ * repo, git tracks nothing under it (a repo that commits `node_modules`
212
+ * gets the real checkout, never a symlink), and it does not already exist
213
+ * in the worktree. Every applied path is then added to the repo's
214
+ * `info/exclude` as a rooted pattern, so it can never be committed from the
215
+ * worktree even in a repo whose `.gitignore` does not cover it.
216
+ *
217
+ * @param repo - Repo root
218
+ * @param worktree - New worktree path
219
+ * @param sharedDirs - Repo-relative directories to symlink
220
+ * @param includes - Repo-relative files to copy
221
+ * @returns What was symlinked, copied and skipped
222
+ */
223
+ export async function applySharedPaths(repo, worktree, sharedDirs, includes) {
224
+ const result = { symlinks: [], copies: [], copyHashes: {}, skipped: [] };
225
+ const apply = async (rel, kind) => {
226
+ const src = path.join(repo, rel);
227
+ const dest = path.join(worktree, rel);
228
+ let stat;
229
+ try {
230
+ stat = await fs.stat(src);
231
+ }
232
+ catch {
233
+ result.skipped.push({ path: rel, reason: 'not present in the repo' });
234
+ return;
235
+ }
236
+ if (kind === 'symlink' && !stat.isDirectory()) {
237
+ result.skipped.push({ path: rel, reason: 'not a directory' });
238
+ return;
239
+ }
240
+ if (kind === 'copy' && !stat.isFile()) {
241
+ result.skipped.push({ path: rel, reason: 'not a regular file' });
242
+ return;
243
+ }
244
+ const tracked = await isTracked(repo, rel);
245
+ if (tracked !== false) {
246
+ result.skipped.push({ path: rel, reason: tracked ? 'tracked by git (checked out, not shared)' : 'could not tell whether git tracks it' });
247
+ return;
248
+ }
249
+ try {
250
+ await fs.lstat(dest);
251
+ result.skipped.push({ path: rel, reason: 'already exists in the worktree' });
252
+ return;
253
+ }
254
+ catch {
255
+ // absent — good
256
+ }
257
+ await fs.mkdir(path.dirname(dest), { recursive: true });
258
+ if (kind === 'symlink') {
259
+ await fs.symlink(src, dest, 'dir');
260
+ result.symlinks.push(rel);
261
+ }
262
+ else {
263
+ await fs.copyFile(src, dest);
264
+ result.copies.push(rel);
265
+ const hash = await hashFile(dest);
266
+ if (hash)
267
+ result.copyHashes[rel] = hash;
268
+ }
269
+ };
270
+ for (const dir of sharedDirs)
271
+ await apply(dir.replace(/\\/g, '/').replace(/\/+$/, ''), 'symlink');
272
+ for (const file of includes)
273
+ await apply(file, 'copy');
274
+ await ensureExcluded(repo, [...result.symlinks, ...result.copies]);
275
+ return result;
276
+ }
277
+ /**
278
+ * Add rooted patterns (`/node_modules`, no trailing slash, so a symlink
279
+ * matches too) to the repo's shared `info/exclude` under a marker line.
280
+ * Idempotent. Exclude rules never affect tracked files.
281
+ *
282
+ * @param repo - Repo root
283
+ * @param rels - Repo-relative paths
284
+ */
285
+ export async function ensureExcluded(repo, rels) {
286
+ if (rels.length === 0)
287
+ return;
288
+ const common = await runGit(repo, ['rev-parse', '--git-common-dir']);
289
+ if (!common.ok)
290
+ throw new Error(`cannot locate the git dir of ${repo}: ${common.stderr.trim()}`);
291
+ const file = path.join(path.resolve(repo, common.stdout.trim()), 'info', 'exclude');
292
+ let current = '';
293
+ try {
294
+ current = await fs.readFile(file, 'utf8');
295
+ }
296
+ catch {
297
+ // no exclude file yet
298
+ }
299
+ const lines = current.split('\n');
300
+ const wanted = rels.map((r) => `/${r}`).filter((p) => !lines.includes(p));
301
+ if (wanted.length === 0)
302
+ return;
303
+ const add = [...(lines.includes(WORKTREE_CONSTANTS.EXCLUDE_MARKER) ? [] : [WORKTREE_CONSTANTS.EXCLUDE_MARKER]), ...wanted];
304
+ await fs.mkdir(path.dirname(file), { recursive: true });
305
+ await fs.writeFile(file, `${current}${current && !current.endsWith('\n') ? '\n' : ''}${add.join('\n')}\n`);
306
+ }
307
+ /**
308
+ * Repo-relative paths this feature added to the repo's shared
309
+ * `info/exclude` (the lines under {@link WORKTREE_CONSTANTS.EXCLUDE_MARKER}),
310
+ * minus the worktree directory itself.
311
+ *
312
+ * @param dir - Any directory in the repo or one of its worktrees
313
+ * @returns Paths without the leading slash (empty when none / unreadable)
314
+ */
315
+ export async function readOwnExcludePatterns(dir) {
316
+ const common = await runGit(dir, ['rev-parse', '--git-common-dir']);
317
+ if (!common.ok)
318
+ return [];
319
+ let text;
320
+ try {
321
+ text = await fs.readFile(path.join(path.resolve(dir, common.stdout.trim()), 'info', 'exclude'), 'utf8');
322
+ }
323
+ catch {
324
+ return [];
325
+ }
326
+ const lines = text.split('\n');
327
+ const start = lines.indexOf(WORKTREE_CONSTANTS.EXCLUDE_MARKER);
328
+ if (start < 0)
329
+ return [];
330
+ const out = [];
331
+ for (const line of lines.slice(start + 1)) {
332
+ if (!line.startsWith('/'))
333
+ continue;
334
+ const rel = line.slice(1);
335
+ if (rel && rel !== WORKTREE_CONSTANTS.DIR)
336
+ out.push(rel);
337
+ }
338
+ return out;
339
+ }
340
+ /** Parse `git status --porcelain=v1 -z` into paths (renames yield both). */
341
+ function parsePorcelainZ(out) {
342
+ const parts = out.split('\0').filter((p) => p.length > 0);
343
+ const paths = [];
344
+ for (let i = 0; i < parts.length; i++) {
345
+ const entry = parts[i];
346
+ const xy = entry.slice(0, 2);
347
+ paths.push(entry.slice(3));
348
+ if (xy[0] === 'R' || xy[0] === 'C') {
349
+ i += 1; // the next NUL-separated field is the rename source
350
+ if (parts[i] !== undefined)
351
+ paths.push(parts[i]);
352
+ }
353
+ }
354
+ return paths;
355
+ }
356
+ /**
357
+ * Is a worktree safe to remove as far as uncommitted work goes?
358
+ *
359
+ * - The path must be a worktree ROOT (so git never answers for a parent repo).
360
+ * - It must have at least one tracked file (an empty examination is not "clean").
361
+ * - `git status` must succeed; its entries, minus EXACTLY the recorded owned
362
+ * paths, must be empty.
363
+ * - Each owned symlink must still be a symlink; one replaced by real content
364
+ * counts as dirty.
365
+ *
366
+ * @param worktree - Worktree path
367
+ * @param owned - Symlinks/copies recorded at creation
368
+ * @returns clean / dirty / unknown, with counts
369
+ */
370
+ export async function checkDirty(worktree, owned) {
371
+ const unknown = (reason, examined = 0) => ({
372
+ state: 'unknown',
373
+ examined,
374
+ excludedOurs: 0,
375
+ dirtyPaths: [],
376
+ reason,
377
+ summary: `UNKNOWN (${reason}) — ${examined} path(s) examined; treated as NOT safe`,
378
+ });
379
+ let wtReal;
380
+ try {
381
+ wtReal = await fs.realpath(worktree);
382
+ }
383
+ catch {
384
+ return unknown('worktree path does not exist');
385
+ }
386
+ const top = await runGit(wtReal, ['rev-parse', '--show-toplevel']);
387
+ if (!top.ok || (await realpathOrResolve(top.stdout.trim())) !== wtReal) {
388
+ return unknown('path is not a worktree root');
389
+ }
390
+ const tracked = await runGit(wtReal, ['ls-files', '-z']);
391
+ if (!tracked.ok)
392
+ return unknown('git ls-files failed');
393
+ const trackedCount = tracked.stdout.split('\0').filter(Boolean).length;
394
+ if (trackedCount === 0)
395
+ return unknown('0 tracked files examined');
396
+ const status = await runGit(wtReal, ['status', '--porcelain=v1', '-z', '--untracked-files=all']);
397
+ if (!status.ok)
398
+ return unknown(`git status failed: ${status.stderr.trim()}`, trackedCount);
399
+ const ownedSet = new Set([...owned.symlinks, ...owned.copies]);
400
+ const entries = parsePorcelainZ(status.stdout);
401
+ const dirty = entries.filter((p) => !ownedSet.has(p.replace(/\/$/, '')));
402
+ // The shared .git/info/exclude hides every path ANY worktree of this repo
403
+ // registered (e.g. /node_modules, /.env). In THIS worktree such a path is
404
+ // only ours if it was recorded here; otherwise it is the agent's content
405
+ // that plain `git status` would never show. List ignored entries and flag
406
+ // the ones under our exclude patterns that this worktree did not record.
407
+ const ourPatterns = await readOwnExcludePatterns(wtReal);
408
+ let hiddenChecked = 0;
409
+ if (ourPatterns.length) {
410
+ const ignored = await runGit(wtReal, ['status', '--porcelain=v1', '-z', '--untracked-files=all', '--ignored=matching']);
411
+ if (!ignored.ok)
412
+ return unknown(`git status --ignored failed: ${ignored.stderr.trim()}`, trackedCount + entries.length);
413
+ for (const raw of ignored.stdout.split('\0')) {
414
+ if (!raw.startsWith('!! '))
415
+ continue;
416
+ const p = raw.slice(3).replace(/\/$/, '');
417
+ const pattern = ourPatterns.find((q) => p === q || p.startsWith(`${q}/`));
418
+ if (!pattern)
419
+ continue;
420
+ hiddenChecked += 1;
421
+ if (!ownedSet.has(pattern))
422
+ dirty.push(`${p} (hidden by the shared worktree exclude; not recorded for this worktree)`);
423
+ }
424
+ }
425
+ let excludedOurs = 0;
426
+ for (const rel of owned.symlinks) {
427
+ try {
428
+ const st = await fs.lstat(path.join(wtReal, rel));
429
+ if (st.isSymbolicLink())
430
+ excludedOurs += 1;
431
+ else
432
+ dirty.push(`${rel} (was our symlink; now real content)`);
433
+ }
434
+ catch {
435
+ // removed by the agent: nothing to lose
436
+ }
437
+ }
438
+ for (const rel of owned.copies) {
439
+ const dest = path.join(wtReal, rel);
440
+ let exists = true;
441
+ try {
442
+ await fs.lstat(dest);
443
+ }
444
+ catch {
445
+ exists = false; // removed: nothing to lose
446
+ }
447
+ if (!exists)
448
+ continue;
449
+ const recordedHash = owned.copyHashes?.[rel];
450
+ if (recordedHash) {
451
+ const currentHash = await hashFile(dest);
452
+ if (currentHash !== recordedHash) {
453
+ dirty.push(`${rel} (was our copy; content edited since)`);
454
+ continue;
455
+ }
456
+ }
457
+ excludedOurs += 1;
458
+ }
459
+ const examined = trackedCount + entries.length + hiddenChecked;
460
+ return {
461
+ state: dirty.length ? 'dirty' : 'clean',
462
+ examined,
463
+ excludedOurs,
464
+ dirtyPaths: dirty,
465
+ summary: `${examined} path(s) examined, ${excludedOurs} excluded as our symlinks/copies, ${dirty.length} dirty`,
466
+ };
467
+ }
468
+ /**
469
+ * Are the worktree's commits safe elsewhere? "Landed" means the HEAD commit
470
+ * is an ancestor of the branch's upstream or of the base ref, OR it is the
471
+ * tip of some ref on `origin` (`git ls-remote`). When neither can be
472
+ * established — e.g. offline and not merged locally — the answer is
473
+ * `unknown`, which callers must treat as "keep".
474
+ *
475
+ * @param worktree - Worktree path
476
+ * @param baseRefName - The base recorded at creation (e.g. `origin/main`)
477
+ * @returns landed / not_landed / unknown
478
+ */
479
+ export async function checkLanded(worktree, baseRefName) {
480
+ const head = await runGit(worktree, ['rev-parse', '--verify', 'HEAD']);
481
+ if (!head.ok)
482
+ return { state: 'unknown', detail: 'cannot resolve HEAD' };
483
+ const tip = head.stdout.trim();
484
+ const upstream = await runGit(worktree, ['rev-parse', '--abbrev-ref', '--symbolic-full-name', '@{upstream}']);
485
+ const targets = [...new Set([upstream.ok ? upstream.stdout.trim() : '', baseRefName].filter(Boolean))];
486
+ let ancestorErrors = 0;
487
+ for (const target of targets) {
488
+ const r = await runGit(worktree, ['merge-base', '--is-ancestor', tip, target]);
489
+ if (r.ok)
490
+ return { state: 'landed', tip, detail: `HEAD is an ancestor of ${target}` };
491
+ if (r.code !== 1)
492
+ ancestorErrors += 1; // 1 = "not an ancestor"; anything else = could not tell
493
+ }
494
+ const remote = await runGit(worktree, ['ls-remote', 'origin'], WORKTREE_CONSTANTS.REMOTE_TIMEOUT_MS);
495
+ if (remote.ok) {
496
+ if (remote.stdout.split('\n').some((l) => l.split('\t')[0] === tip)) {
497
+ return { state: 'landed', tip, detail: 'HEAD is the tip of a ref on origin' };
498
+ }
499
+ if (ancestorErrors === 0)
500
+ return { state: 'not_landed', tip, detail: `not merged into ${targets.join(' / ')} and not on origin` };
501
+ }
502
+ return { state: 'unknown', tip, detail: remote.ok ? 'ancestry could not be determined' : 'origin unreachable and not merged locally' };
503
+ }
504
+ /**
505
+ * Commits on the worktree HEAD beyond a base commit.
506
+ *
507
+ * @param worktree - Worktree path
508
+ * @param baseSha - Base commit
509
+ * @returns Count, or null when it could not be determined
510
+ */
511
+ export async function commitsBeyond(worktree, baseSha) {
512
+ const r = await runGit(worktree, ['rev-list', '--count', `${baseSha}..HEAD`]);
513
+ if (!r.ok)
514
+ return null;
515
+ const n = Number.parseInt(r.stdout.trim(), 10);
516
+ return Number.isFinite(n) ? n : null;
517
+ }
518
+ /**
519
+ * Remove our own symlinks/copies, then `git worktree remove` WITHOUT force.
520
+ *
521
+ * Callers must have run {@link checkDirty} first (the primary guard). This
522
+ * is a second line of defence specifically for a `.worktreeinclude` copy:
523
+ * unlike an ordinary untracked file, a copy is deliberately added to
524
+ * `info/exclude` (so an UNTOUCHED one never blocks a normal removal) — which
525
+ * means git's own dirty check for `worktree remove` does not see an EDITED
526
+ * one either (git's worktree-remove check, like `git status`, does not
527
+ * count ignored files). So git refusing on its own is not a safe backstop
528
+ * here the way it is for a plain untracked file; this function checks every
529
+ * copy's content BEFORE touching anything, and refuses outright, leaving
530
+ * the whole worktree untouched, if any changed.
531
+ *
532
+ * @param repo - Repo root
533
+ * @param worktree - Worktree path
534
+ * @param owned - Paths this feature created
535
+ * @returns git's result, or a synthetic failure when an edited copy blocked it
536
+ */
537
+ export async function removeWorktree(repo, worktree, owned) {
538
+ for (const rel of owned.copies) {
539
+ const p = path.join(worktree, rel);
540
+ let isFile = false;
541
+ try {
542
+ isFile = (await fs.lstat(p)).isFile();
543
+ }
544
+ catch {
545
+ continue; // already gone — nothing to lose
546
+ }
547
+ if (!isFile)
548
+ continue;
549
+ const recordedHash = owned.copyHashes?.[rel];
550
+ if (recordedHash && (await hashFile(p)) !== recordedHash) {
551
+ return { ok: false, code: -1, stdout: '', stderr: `refusing to remove: ${rel} was our copy but its content was edited since` };
552
+ }
553
+ }
554
+ for (const rel of owned.symlinks) {
555
+ const p = path.join(worktree, rel);
556
+ try {
557
+ if ((await fs.lstat(p)).isSymbolicLink())
558
+ await fs.unlink(p);
559
+ }
560
+ catch {
561
+ // already gone
562
+ }
563
+ }
564
+ for (const rel of owned.copies) {
565
+ await fs.unlink(path.join(worktree, rel)).catch(() => undefined);
566
+ }
567
+ return runGit(repo, ['worktree', 'remove', worktree]);
568
+ }
569
+ //# sourceMappingURL=worktree-git.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree-git.js","sourceRoot":"","sources":["../../../../../../backend/src/services/worktree/worktree-git.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@
10
10
  /**
11
11
  * Valid agent lifecycle event types
12
12
  */
13
- export declare const EVENT_TYPES: readonly ["agent:status_changed", "agent:idle", "agent:idle_after_registration", "agent:idle_after_task", "agent:busy", "agent:active", "agent:inactive", "agent:context_warning", "agent:context_critical", "agent:oauth_url", "agent:login_required", "task:submitted", "task:accepted", "task:working", "task:input_required", "task:verification_requested", "task:completed", "task:failed", "task:cancelled", "task:assigned", "task:done", "task:verified", "task:blocked", "task:needs_clarification", "team:all_tasks_done", "task:done_by_worker", "task:rejected", "mission:review_due", "mission:stale", "mission:replanned", "request:created", "request:sla_breached", "workitem:queued", "hierarchy:escalation", "hierarchy:delegation", "hierarchy:report_up", "system:backend_restarted", "system:memory_pressure", "task:queued_too_long", "team:budget_exceeded"];
13
+ export declare const EVENT_TYPES: readonly ["agent:status_changed", "agent:idle", "agent:idle_after_registration", "agent:idle_after_task", "agent:busy", "agent:active", "agent:inactive", "agent:context_warning", "agent:context_critical", "agent:oauth_url", "agent:login_required", "agent:waiting_on_human", "agent:waiting_resolved", "task:submitted", "task:accepted", "task:working", "task:input_required", "task:verification_requested", "task:completed", "task:failed", "task:cancelled", "task:assigned", "task:done", "task:verified", "task:blocked", "task:needs_clarification", "team:all_tasks_done", "task:done_by_worker", "task:rejected", "mission:review_due", "mission:stale", "mission:replanned", "request:created", "request:sla_breached", "workitem:queued", "hierarchy:escalation", "hierarchy:delegation", "hierarchy:report_up", "system:backend_restarted", "system:memory_pressure", "task:queued_too_long", "team:budget_exceeded"];
14
14
  /**
15
15
  * An agent lifecycle event type
16
16
  */
@@ -1 +1 @@
1
- {"version":3,"file":"event-bus.types.d.ts","sourceRoot":"","sources":["../../../../../backend/src/types/event-bus.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-bus.types.d.ts","sourceRoot":"","sources":["../../../../../backend/src/types/event-bus.types.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,11 @@ export const EVENT_TYPES = [
46
46
  // flow) and needs a human to complete login. Payload: newValue = login
47
47
  // URL, and `loginCode` carries the device code when one was captured.
48
48
  'agent:login_required',
49
+ // Agent is blocked on a terminal prompt (approval, trust dialog, plan
50
+ // menu) and needs a human (#815). newValue = 'waiting_on_human:<kind>'.
51
+ 'agent:waiting_on_human',
52
+ // The prompt is gone (answered, or the session ended). newValue = 'resolved'.
53
+ 'agent:waiting_resolved',
49
54
  // Hierarchical task events
50
55
  'task:submitted',
51
56
  'task:accepted',
@@ -149,6 +154,8 @@ export const CRITICAL_EVENT_TYPES = new Set([
149
154
  // A runtime parked on a sign-in screen is dead until a human acts, and a
150
155
  // device code expires in minutes — always actionable.
151
156
  'agent:login_required',
157
+ // An agent blocked on a prompt makes no progress until a human answers (#815).
158
+ 'agent:waiting_on_human',
152
159
  'hierarchy:escalation',
153
160
  // Architecture Upgrade: task event chain — these drive workflow progression
154
161
  'task:done',
@@ -197,6 +204,7 @@ export const INFO_EVENT_TYPES = new Set([
197
204
  'agent:active',
198
205
  'agent:context_warning',
199
206
  'agent:oauth_url',
207
+ 'agent:waiting_resolved',
200
208
  'task:submitted',
201
209
  'task:accepted',
202
210
  'task:working',