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,121 @@
1
+ /**
2
+ * WorkItemWorktreeSubscriber — wires {@link WorkItemWorktreeService} to
3
+ * WorkItem lifecycle events (#814).
4
+ *
5
+ * It only OBSERVES transitions. It never writes a WorkItem status, adds no
6
+ * transition edge and takes no actor-gated action, so it is independent of
7
+ * the transition-permission table (#813/#819) and of the coordinator: the
8
+ * events are published by TaskPoolService on whatever path (reconciler,
9
+ * HTTP, auto-claim) made the transition.
10
+ *
11
+ * | Signal | Action |
12
+ * |---|---|
13
+ * | `workitem:queued` with a target | pre-create the worktree (in the background) |
14
+ * | TaskPoolService claim listener | create it if not there yet (untargeted pool items) |
15
+ * | `task:done_by_worker`, `task:done` | "worked outside its worktree?" detector (report only) |
16
+ * | `task:done`, `task:verified`, `task:cancelled` | cleanup (guarded; may keep) |
17
+ * | interval | orphan sweep |
18
+ *
19
+ * `task:rejected` is ignored on purpose: rejected work comes back for rework.
20
+ *
21
+ * @module services/worktree/workitem-worktree.subscriber
22
+ */
23
+ import axios from 'axios';
24
+ import { WORKTREE_CONSTANTS } from '../../constants.js';
25
+ import { getLocalApiBaseUrl } from '../../utils/local-api-url.utils.js';
26
+ import { LoggerService } from '../core/logger.service.js';
27
+ const CLEANUP_BY_EVENT = {
28
+ 'task:done': 'done',
29
+ 'task:verified': 'verified',
30
+ 'task:cancelled': 'cancelled',
31
+ };
32
+ /**
33
+ * Subscribes the worktree service to WorkItem events.
34
+ */
35
+ export class WorkItemWorktreeSubscriber {
36
+ options;
37
+ logger;
38
+ unsubscribers = [];
39
+ timer = null;
40
+ /** Handlers still running (tests await {@link idle}). */
41
+ pending = new Set();
42
+ constructor(options) {
43
+ this.options = options;
44
+ this.logger = LoggerService.getInstance().createComponentLogger('WorkItemWorktreeSubscriber');
45
+ }
46
+ /** Subscribe and start the sweep timer. Idempotent. */
47
+ start() {
48
+ if (this.unsubscribers.length)
49
+ return;
50
+ const { events, pool, service } = this.options;
51
+ this.unsubscribers.push(events.onInProcess('workitem:queued', (event) => {
52
+ this.track(async () => {
53
+ const wi = event.workItemId ? await pool.findWorkItem(event.workItemId) : null;
54
+ // No terminal notify here — WorkItemDispatchSubscriber's
55
+ // resolveHint() already puts the workdir in the FIRST
56
+ // [CREWLY-DISPATCH] brief for this same event; a second,
57
+ // separate message is redundant at best (Sam, #829 review).
58
+ if (wi?.target)
59
+ await service.ensureWorktree(wi, { notify: false });
60
+ }, 'pre-create');
61
+ }));
62
+ this.unsubscribers.push(pool.onClaimed((wi) => {
63
+ this.track(() => service.ensureWorktree(wi), 'create-on-claim');
64
+ }));
65
+ this.unsubscribers.push(events.onInProcess(['task:done_by_worker', 'task:done', 'task:verified', 'task:cancelled'], (event) => {
66
+ const id = event.workItemId;
67
+ if (!id)
68
+ return;
69
+ this.track(async () => {
70
+ if (event.type === 'task:done_by_worker' || event.type === 'task:done')
71
+ await service.detectWorkedOutside(id);
72
+ const reason = CLEANUP_BY_EVENT[event.type];
73
+ if (reason)
74
+ await service.cleanup(id, reason);
75
+ }, event.type);
76
+ }));
77
+ const interval = this.options.sweepIntervalMs ?? WORKTREE_CONSTANTS.SWEEP_INTERVAL_MS;
78
+ if (interval > 0) {
79
+ this.timer = setInterval(() => this.track(() => service.sweep(), 'sweep'), interval);
80
+ this.timer.unref?.();
81
+ }
82
+ }
83
+ /** Unsubscribe and stop the timer. */
84
+ stop() {
85
+ for (const u of this.unsubscribers.splice(0))
86
+ u();
87
+ if (this.timer)
88
+ clearInterval(this.timer);
89
+ this.timer = null;
90
+ }
91
+ /** Resolves when every handler started so far has finished (tests). */
92
+ async idle() {
93
+ while (this.pending.size)
94
+ await Promise.allSettled([...this.pending]);
95
+ }
96
+ /** Run a handler in the background; log, never throw. */
97
+ track(fn, what) {
98
+ const p = fn()
99
+ .catch((err) => {
100
+ this.logger.warn('Worktree handler failed (non-fatal)', { what, error: err instanceof Error ? err.message : String(err) });
101
+ })
102
+ .finally(() => this.pending.delete(p));
103
+ this.pending.add(p);
104
+ }
105
+ }
106
+ /** Caller identity sent with terminal writes. */
107
+ const NOTIFIER_SESSION = 'WorkItemWorktree';
108
+ /** Terminal write timeout. */
109
+ const NOTIFY_TIMEOUT_MS = 5_000;
110
+ /**
111
+ * A notifier that writes a message into an agent's terminal through the
112
+ * local API — the same route WorkItemDispatchSubscriber uses.
113
+ *
114
+ * @returns `(sessionName, message) => Promise<void>`; rejects on HTTP failure
115
+ */
116
+ export function createTerminalNotifier() {
117
+ return async (sessionName, message) => {
118
+ await axios.post(`${getLocalApiBaseUrl()}/api/terminal/${encodeURIComponent(sessionName)}/write`, { data: message, mode: 'message' }, { headers: { 'X-Agent-Session': NOTIFIER_SESSION }, timeout: NOTIFY_TIMEOUT_MS });
119
+ };
120
+ }
121
+ //# sourceMappingURL=workitem-worktree.subscriber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workitem-worktree.subscriber.js","sourceRoot":"","sources":["../../../../../../backend/src/services/worktree/workitem-worktree.subscriber.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,260 @@
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
+ /** Result of one git invocation. */
18
+ export interface GitResult {
19
+ /** Exit code 0. */
20
+ ok: boolean;
21
+ /** Exit code (-1 when git could not be started or timed out). */
22
+ code: number;
23
+ stdout: string;
24
+ stderr: string;
25
+ }
26
+ /**
27
+ * Run git with arguments in a directory. Never throws.
28
+ *
29
+ * @param cwd - Working directory
30
+ * @param args - Arguments (no shell parsing)
31
+ * @param timeoutMs - Kill after this long
32
+ * @returns Exit code and output
33
+ */
34
+ export declare function runGit(cwd: string, args: string[], timeoutMs?: number): Promise<GitResult>;
35
+ /**
36
+ * The repository root containing `dir`, or null when `dir` is not in a git
37
+ * work tree (or git is unavailable).
38
+ *
39
+ * @param dir - Any directory
40
+ * @returns Absolute, symlink-resolved repo root, or null
41
+ */
42
+ export declare function getRepoRoot(dir: string): Promise<string | null>;
43
+ /** A resolved base for a new worktree. */
44
+ export interface BaseRef {
45
+ /** What it was resolved from, e.g. `origin/main` or `HEAD`. */
46
+ name: string;
47
+ /** Commit the worktree branch starts at. */
48
+ sha: string;
49
+ }
50
+ /**
51
+ * The base a new worktree branches from.
52
+ *
53
+ * `preferredBranch` (e.g. `wi/<workerId>` for a verify/retry/review
54
+ * WorkItem's own worktree) is tried FIRST when given and it resolves — a
55
+ * verifier must see the worker's own commits, including ones never pushed
56
+ * to `origin`, not a snapshot of `origin/main` from before the worker even
57
+ * started (#829 review). Falls back to the remote default branch
58
+ * (`origin/HEAD` → e.g. `origin/main`) when known, else the repo's HEAD.
59
+ *
60
+ * @param repo - Repo root
61
+ * @param preferredBranch - Tried before the normal fallback chain, when given
62
+ * @returns The base, or null when nothing resolves
63
+ */
64
+ export declare function resolveBaseRef(repo: string, preferredBranch?: string): Promise<BaseRef | null>;
65
+ /**
66
+ * Whether a local branch exists.
67
+ *
68
+ * @param repo - Repo root
69
+ * @param branch - Short branch name
70
+ * @returns true when `refs/heads/<branch>` resolves
71
+ */
72
+ export declare function branchExists(repo: string, branch: string): Promise<boolean>;
73
+ /**
74
+ * A WorkItem id, made safe as a git ref component and a path segment.
75
+ *
76
+ * A verify/retry/review WorkItem's id contains ':' (e.g. `abc:verify:def`),
77
+ * which `git check-ref-format` rejects — `git worktree add -b wi/abc:verify:def`
78
+ * fails outright, so that WorkItem would silently get no worktree at all.
79
+ * Replaces every character git disallows in a ref component (control chars,
80
+ * space, `~^:?*[\`), collapses a leading/trailing `.` or `/` and a `..` run
81
+ * (also disallowed), and guards the empty-string and lone-`@` edge cases.
82
+ *
83
+ * @param id - Raw WorkItem id
84
+ * @returns A string safe to use for both the branch name and the worktree path
85
+ */
86
+ export declare function sanitizeWorktreeId(id: string): string;
87
+ /**
88
+ * Registered worktree paths of a repo (`git worktree list --porcelain`),
89
+ * symlink-resolved, excluding the main checkout.
90
+ *
91
+ * @param repo - Repo root
92
+ * @returns Paths, or null when the listing could not be read
93
+ */
94
+ export declare function listWorktrees(repo: string): Promise<string[] | null>;
95
+ /** Result of reading `.worktreeinclude`. */
96
+ export interface IncludeList {
97
+ /** Accepted repo-relative literal paths. */
98
+ entries: string[];
99
+ /** Lines refused (glob, absolute, `..`), with why. */
100
+ rejected: Array<{
101
+ line: string;
102
+ reason: string;
103
+ }>;
104
+ /** Entries dropped by the cap. */
105
+ truncated: number;
106
+ }
107
+ /**
108
+ * Read the repo-root `.worktreeinclude`: one literal repo-relative path per
109
+ * line; blank lines and `#` comments ignored; globs, absolute paths and `..`
110
+ * segments refused; at most `INCLUDE_MAX_ENTRIES` honoured.
111
+ *
112
+ * @param repo - Repo root
113
+ * @returns Accepted entries and what was refused
114
+ */
115
+ export declare function readIncludeFile(repo: string): Promise<IncludeList>;
116
+ /** What {@link applySharedPaths} did. */
117
+ export interface SharedPathsResult {
118
+ /** Repo-relative paths symlinked into the worktree (ours to remove). */
119
+ symlinks: string[];
120
+ /** Repo-relative files copied from `.worktreeinclude` (ours to remove). */
121
+ copies: string[];
122
+ /**
123
+ * SHA-256 of each copy's content right after copying, keyed by its
124
+ * repo-relative path — the baseline {@link checkDirty} and
125
+ * {@link removeWorktree} compare against, so an agent's own edit to a
126
+ * copy (e.g. `.env`) is never silently deleted as "just our copy".
127
+ */
128
+ copyHashes: Record<string, string>;
129
+ /** Paths not applied, with why. */
130
+ skipped: Array<{
131
+ path: string;
132
+ reason: string;
133
+ }>;
134
+ }
135
+ /**
136
+ * Symlink heavy directories and copy `.worktreeinclude` files from the repo
137
+ * root into a new worktree. A path is applied only when it exists in the
138
+ * repo, git tracks nothing under it (a repo that commits `node_modules`
139
+ * gets the real checkout, never a symlink), and it does not already exist
140
+ * in the worktree. Every applied path is then added to the repo's
141
+ * `info/exclude` as a rooted pattern, so it can never be committed from the
142
+ * worktree even in a repo whose `.gitignore` does not cover it.
143
+ *
144
+ * @param repo - Repo root
145
+ * @param worktree - New worktree path
146
+ * @param sharedDirs - Repo-relative directories to symlink
147
+ * @param includes - Repo-relative files to copy
148
+ * @returns What was symlinked, copied and skipped
149
+ */
150
+ export declare function applySharedPaths(repo: string, worktree: string, sharedDirs: readonly string[], includes: readonly string[]): Promise<SharedPathsResult>;
151
+ /**
152
+ * Add rooted patterns (`/node_modules`, no trailing slash, so a symlink
153
+ * matches too) to the repo's shared `info/exclude` under a marker line.
154
+ * Idempotent. Exclude rules never affect tracked files.
155
+ *
156
+ * @param repo - Repo root
157
+ * @param rels - Repo-relative paths
158
+ */
159
+ export declare function ensureExcluded(repo: string, rels: readonly string[]): Promise<void>;
160
+ /** Paths this feature created in a worktree (the only ones a check may exclude). */
161
+ export interface OwnedPaths {
162
+ symlinks: readonly string[];
163
+ copies: readonly string[];
164
+ /**
165
+ * SHA-256 of each copy's content as applied ({@link SharedPathsResult.copyHashes}).
166
+ * A copy whose current content no longer matches is an agent's edit, not
167
+ * "just our copy" — {@link checkDirty} flags it, {@link removeWorktree}
168
+ * refuses to delete it. Absent (older manifests, or a copy this map has
169
+ * no entry for) falls back to the pre-#829-review behaviour: existence
170
+ * alone excludes it.
171
+ */
172
+ copyHashes?: Readonly<Record<string, string>>;
173
+ }
174
+ /**
175
+ * Repo-relative paths this feature added to the repo's shared
176
+ * `info/exclude` (the lines under {@link WORKTREE_CONSTANTS.EXCLUDE_MARKER}),
177
+ * minus the worktree directory itself.
178
+ *
179
+ * @param dir - Any directory in the repo or one of its worktrees
180
+ * @returns Paths without the leading slash (empty when none / unreadable)
181
+ */
182
+ export declare function readOwnExcludePatterns(dir: string): Promise<string[]>;
183
+ /** Outcome of {@link checkDirty}. */
184
+ export interface DirtyReport {
185
+ state: 'clean' | 'dirty' | 'unknown';
186
+ /** Tracked files + status entries looked at. */
187
+ examined: number;
188
+ /** Our own symlinks/copies verified and excluded. */
189
+ excludedOurs: number;
190
+ /** Paths that make the worktree dirty. */
191
+ dirtyPaths: string[];
192
+ /** Why the state is unknown (when it is). */
193
+ reason?: string;
194
+ /** One-line human summary: "N path(s) examined, M excluded as ours, K dirty". */
195
+ summary: string;
196
+ }
197
+ /**
198
+ * Is a worktree safe to remove as far as uncommitted work goes?
199
+ *
200
+ * - The path must be a worktree ROOT (so git never answers for a parent repo).
201
+ * - It must have at least one tracked file (an empty examination is not "clean").
202
+ * - `git status` must succeed; its entries, minus EXACTLY the recorded owned
203
+ * paths, must be empty.
204
+ * - Each owned symlink must still be a symlink; one replaced by real content
205
+ * counts as dirty.
206
+ *
207
+ * @param worktree - Worktree path
208
+ * @param owned - Symlinks/copies recorded at creation
209
+ * @returns clean / dirty / unknown, with counts
210
+ */
211
+ export declare function checkDirty(worktree: string, owned: OwnedPaths): Promise<DirtyReport>;
212
+ /** Outcome of {@link checkLanded}. */
213
+ export interface LandedReport {
214
+ state: 'landed' | 'not_landed' | 'unknown';
215
+ /** The worktree HEAD commit checked. */
216
+ tip?: string;
217
+ /** How it was established (or why it could not be). */
218
+ detail: string;
219
+ }
220
+ /**
221
+ * Are the worktree's commits safe elsewhere? "Landed" means the HEAD commit
222
+ * is an ancestor of the branch's upstream or of the base ref, OR it is the
223
+ * tip of some ref on `origin` (`git ls-remote`). When neither can be
224
+ * established — e.g. offline and not merged locally — the answer is
225
+ * `unknown`, which callers must treat as "keep".
226
+ *
227
+ * @param worktree - Worktree path
228
+ * @param baseRefName - The base recorded at creation (e.g. `origin/main`)
229
+ * @returns landed / not_landed / unknown
230
+ */
231
+ export declare function checkLanded(worktree: string, baseRefName: string): Promise<LandedReport>;
232
+ /**
233
+ * Commits on the worktree HEAD beyond a base commit.
234
+ *
235
+ * @param worktree - Worktree path
236
+ * @param baseSha - Base commit
237
+ * @returns Count, or null when it could not be determined
238
+ */
239
+ export declare function commitsBeyond(worktree: string, baseSha: string): Promise<number | null>;
240
+ /**
241
+ * Remove our own symlinks/copies, then `git worktree remove` WITHOUT force.
242
+ *
243
+ * Callers must have run {@link checkDirty} first (the primary guard). This
244
+ * is a second line of defence specifically for a `.worktreeinclude` copy:
245
+ * unlike an ordinary untracked file, a copy is deliberately added to
246
+ * `info/exclude` (so an UNTOUCHED one never blocks a normal removal) — which
247
+ * means git's own dirty check for `worktree remove` does not see an EDITED
248
+ * one either (git's worktree-remove check, like `git status`, does not
249
+ * count ignored files). So git refusing on its own is not a safe backstop
250
+ * here the way it is for a plain untracked file; this function checks every
251
+ * copy's content BEFORE touching anything, and refuses outright, leaving
252
+ * the whole worktree untouched, if any changed.
253
+ *
254
+ * @param repo - Repo root
255
+ * @param worktree - Worktree path
256
+ * @param owned - Paths this feature created
257
+ * @returns git's result, or a synthetic failure when an edited copy blocked it
258
+ */
259
+ export declare function removeWorktree(repo: string, worktree: string, owned: OwnedPaths): Promise<GitResult>;
260
+ //# sourceMappingURL=worktree-git.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree-git.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/worktree/worktree-git.ts"],"names":[],"mappings":"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"}