crewly 1.20.362 → 1.20.364

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 (320) hide show
  1. package/config/hooks/destructive-git-guard/guard.mjs +96 -0
  2. package/config/roles/orchestrator/prompt.md +3 -3
  3. package/config/roles/team-leader/prompt.md +2 -0
  4. package/config/skills/agent/core/ask-owner/SKILL.md +31 -0
  5. package/config/skills/agent/core/ask-owner/execute.sh +14 -3
  6. package/config/skills/agent/core/ask-owner/execute.test.sh +8 -0
  7. package/config/skills/agent/core/gmail-read/SKILL.md +8 -0
  8. package/config/skills/agent/core/gmail-send/SKILL.md +10 -3
  9. package/config/skills/agent/core/gmail-send/execute.sh +2 -1
  10. package/config/skills/agent/core/gmail-watch-thread/SKILL.md +69 -0
  11. package/config/skills/agent/core/gmail-watch-thread/execute.sh +51 -0
  12. package/config/skills/agent/core/project-tickets/SKILL.md +12 -0
  13. package/config/skills/agent/core/project-tickets/execute.sh +13 -3
  14. package/config/skills/agent/core/project-tickets/execute.test.sh +4 -0
  15. package/config/skills/agent/core/watch-for-event/SKILL.md +22 -0
  16. package/config/skills/orchestrator/delegate-task/SKILL.md +14 -0
  17. package/config/skills/orchestrator/delegate-task/execute.sh +19 -2
  18. package/config/skills/orchestrator/delegate-task/execute.test.sh +30 -0
  19. package/config/skills/orchestrator/harness-login/SKILL.md +1 -1
  20. package/config/skills/team-leader/delegate-task/execute.sh +6 -0
  21. package/dist/backend/backend/src/constants.d.ts +74 -2
  22. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  23. package/dist/backend/backend/src/constants.js +75 -3
  24. package/dist/backend/backend/src/constants.js.map +1 -1
  25. package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts.map +1 -1
  26. package/dist/backend/backend/src/controllers/chat/chat.controller.js +14 -1
  27. package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
  28. package/dist/backend/backend/src/controllers/google/google.controller.d.ts +44 -0
  29. package/dist/backend/backend/src/controllers/google/google.controller.d.ts.map +1 -1
  30. package/dist/backend/backend/src/controllers/google/google.controller.js +121 -3
  31. package/dist/backend/backend/src/controllers/google/google.controller.js.map +1 -1
  32. package/dist/backend/backend/src/controllers/google/google.routes.d.ts.map +1 -1
  33. package/dist/backend/backend/src/controllers/google/google.routes.js +5 -1
  34. package/dist/backend/backend/src/controllers/google/google.routes.js.map +1 -1
  35. package/dist/backend/backend/src/controllers/harness/owner-login.controller.d.ts +1 -1
  36. package/dist/backend/backend/src/controllers/harness/owner-login.controller.js +1 -1
  37. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.d.ts +1 -1
  38. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.d.ts.map +1 -1
  39. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.js +2 -1
  40. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.js.map +1 -1
  41. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts.map +1 -1
  42. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js +7 -0
  43. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js.map +1 -1
  44. package/dist/backend/backend/src/index.d.ts.map +1 -1
  45. package/dist/backend/backend/src/index.js +61 -0
  46. package/dist/backend/backend/src/index.js.map +1 -1
  47. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
  48. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js +2 -1
  49. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
  50. package/dist/backend/backend/src/services/decisions/decision-card.d.ts +46 -13
  51. package/dist/backend/backend/src/services/decisions/decision-card.d.ts.map +1 -1
  52. package/dist/backend/backend/src/services/decisions/decision-card.js +100 -50
  53. package/dist/backend/backend/src/services/decisions/decision-card.js.map +1 -1
  54. package/dist/backend/backend/src/services/decisions/decision-contract.d.ts +23 -1
  55. package/dist/backend/backend/src/services/decisions/decision-contract.d.ts.map +1 -1
  56. package/dist/backend/backend/src/services/decisions/decision-contract.js +76 -4
  57. package/dist/backend/backend/src/services/decisions/decision-contract.js.map +1 -1
  58. package/dist/backend/backend/src/services/decisions/decision-wording.d.ts +167 -0
  59. package/dist/backend/backend/src/services/decisions/decision-wording.d.ts.map +1 -0
  60. package/dist/backend/backend/src/services/decisions/decision-wording.js +406 -0
  61. package/dist/backend/backend/src/services/decisions/decision-wording.js.map +1 -0
  62. package/dist/backend/backend/src/services/decisions/decision.service.d.ts +30 -1
  63. package/dist/backend/backend/src/services/decisions/decision.service.d.ts.map +1 -1
  64. package/dist/backend/backend/src/services/decisions/decision.service.js +44 -8
  65. package/dist/backend/backend/src/services/decisions/decision.service.js.map +1 -1
  66. package/dist/backend/backend/src/services/decisions/decision.wiring.d.ts.map +1 -1
  67. package/dist/backend/backend/src/services/decisions/decision.wiring.js +17 -0
  68. package/dist/backend/backend/src/services/decisions/decision.wiring.js.map +1 -1
  69. package/dist/backend/backend/src/services/event-bus/event-bus.service.d.ts.map +1 -1
  70. package/dist/backend/backend/src/services/event-bus/event-bus.service.js +6 -1
  71. package/dist/backend/backend/src/services/event-bus/event-bus.service.js.map +1 -1
  72. package/dist/backend/backend/src/services/google/gmail-reply-watch.service.d.ts +142 -0
  73. package/dist/backend/backend/src/services/google/gmail-reply-watch.service.d.ts.map +1 -0
  74. package/dist/backend/backend/src/services/google/gmail-reply-watch.service.js +304 -0
  75. package/dist/backend/backend/src/services/google/gmail-reply-watch.service.js.map +1 -0
  76. package/dist/backend/backend/src/services/google/gmail-send-approval.service.d.ts +130 -0
  77. package/dist/backend/backend/src/services/google/gmail-send-approval.service.d.ts.map +1 -0
  78. package/dist/backend/backend/src/services/google/gmail-send-approval.service.js +216 -0
  79. package/dist/backend/backend/src/services/google/gmail-send-approval.service.js.map +1 -0
  80. package/dist/backend/backend/src/services/google/gmail-send-gate.d.ts +28 -13
  81. package/dist/backend/backend/src/services/google/gmail-send-gate.d.ts.map +1 -1
  82. package/dist/backend/backend/src/services/google/gmail-send-gate.js +82 -29
  83. package/dist/backend/backend/src/services/google/gmail-send-gate.js.map +1 -1
  84. package/dist/backend/backend/src/services/google/gmail.service.d.ts +90 -0
  85. package/dist/backend/backend/src/services/google/gmail.service.d.ts.map +1 -1
  86. package/dist/backend/backend/src/services/google/gmail.service.js +122 -0
  87. package/dist/backend/backend/src/services/google/gmail.service.js.map +1 -1
  88. package/dist/backend/backend/src/services/harness/claude-accounts.d.ts +24 -14
  89. package/dist/backend/backend/src/services/harness/claude-accounts.d.ts.map +1 -1
  90. package/dist/backend/backend/src/services/harness/claude-accounts.js +35 -21
  91. package/dist/backend/backend/src/services/harness/claude-accounts.js.map +1 -1
  92. package/dist/backend/backend/src/services/harness/claude-native-login.d.ts +106 -0
  93. package/dist/backend/backend/src/services/harness/claude-native-login.d.ts.map +1 -0
  94. package/dist/backend/backend/src/services/harness/claude-native-login.js +174 -0
  95. package/dist/backend/backend/src/services/harness/claude-native-login.js.map +1 -0
  96. package/dist/backend/backend/src/services/harness/claude-token-migration.service.d.ts +158 -0
  97. package/dist/backend/backend/src/services/harness/claude-token-migration.service.d.ts.map +1 -0
  98. package/dist/backend/backend/src/services/harness/claude-token-migration.service.js +283 -0
  99. package/dist/backend/backend/src/services/harness/claude-token-migration.service.js.map +1 -0
  100. package/dist/backend/backend/src/services/harness/harness-credentials.store.d.ts +44 -24
  101. package/dist/backend/backend/src/services/harness/harness-credentials.store.d.ts.map +1 -1
  102. package/dist/backend/backend/src/services/harness/harness-credentials.store.js +96 -39
  103. package/dist/backend/backend/src/services/harness/harness-credentials.store.js.map +1 -1
  104. package/dist/backend/backend/src/services/harness/harness-registry.js +1 -1
  105. package/dist/backend/backend/src/services/harness/harness-registry.js.map +1 -1
  106. package/dist/backend/backend/src/services/harness/harness-relogin.service.d.ts +2 -2
  107. package/dist/backend/backend/src/services/harness/harness-relogin.service.js +2 -2
  108. package/dist/backend/backend/src/services/harness/harness.service.d.ts.map +1 -1
  109. package/dist/backend/backend/src/services/harness/harness.service.js +10 -1
  110. package/dist/backend/backend/src/services/harness/harness.service.js.map +1 -1
  111. package/dist/backend/backend/src/services/harness/login-broker.service.d.ts +24 -21
  112. package/dist/backend/backend/src/services/harness/login-broker.service.d.ts.map +1 -1
  113. package/dist/backend/backend/src/services/harness/login-broker.service.js +50 -64
  114. package/dist/backend/backend/src/services/harness/login-broker.service.js.map +1 -1
  115. package/dist/backend/backend/src/services/harness/login-rules.d.ts +17 -11
  116. package/dist/backend/backend/src/services/harness/login-rules.d.ts.map +1 -1
  117. package/dist/backend/backend/src/services/harness/login-rules.js +22 -25
  118. package/dist/backend/backend/src/services/harness/login-rules.js.map +1 -1
  119. package/dist/backend/backend/src/services/open-items/open-item-extractor.d.ts +36 -0
  120. package/dist/backend/backend/src/services/open-items/open-item-extractor.d.ts.map +1 -1
  121. package/dist/backend/backend/src/services/open-items/open-item-extractor.js +70 -0
  122. package/dist/backend/backend/src/services/open-items/open-item-extractor.js.map +1 -1
  123. package/dist/backend/backend/src/services/open-items/open-items.service.d.ts +25 -0
  124. package/dist/backend/backend/src/services/open-items/open-items.service.d.ts.map +1 -1
  125. package/dist/backend/backend/src/services/open-items/open-items.service.js +65 -5
  126. package/dist/backend/backend/src/services/open-items/open-items.service.js.map +1 -1
  127. package/dist/backend/backend/src/services/orc/orc-status-router.service.d.ts.map +1 -1
  128. package/dist/backend/backend/src/services/orc/orc-status-router.service.js +5 -2
  129. package/dist/backend/backend/src/services/orc/orc-status-router.service.js.map +1 -1
  130. package/dist/backend/backend/src/services/orc/owner-completion-report.service.d.ts +50 -2
  131. package/dist/backend/backend/src/services/orc/owner-completion-report.service.d.ts.map +1 -1
  132. package/dist/backend/backend/src/services/orc/owner-completion-report.service.js +103 -11
  133. package/dist/backend/backend/src/services/orc/owner-completion-report.service.js.map +1 -1
  134. package/dist/backend/backend/src/services/orc/owner-completion-report.text.d.ts +27 -0
  135. package/dist/backend/backend/src/services/orc/owner-completion-report.text.d.ts.map +1 -1
  136. package/dist/backend/backend/src/services/orc/owner-completion-report.text.js +25 -0
  137. package/dist/backend/backend/src/services/orc/owner-completion-report.text.js.map +1 -1
  138. package/dist/backend/backend/src/services/orc/reply-destination-resolver.d.ts.map +1 -1
  139. package/dist/backend/backend/src/services/orc/reply-destination-resolver.js +4 -2
  140. package/dist/backend/backend/src/services/orc/reply-destination-resolver.js.map +1 -1
  141. package/dist/backend/backend/src/services/orc/team-lead-report.d.ts +120 -0
  142. package/dist/backend/backend/src/services/orc/team-lead-report.d.ts.map +1 -0
  143. package/dist/backend/backend/src/services/orc/team-lead-report.js +198 -0
  144. package/dist/backend/backend/src/services/orc/team-lead-report.js.map +1 -0
  145. package/dist/backend/backend/src/services/orc/team-lead-report.wiring.d.ts +53 -0
  146. package/dist/backend/backend/src/services/orc/team-lead-report.wiring.d.ts.map +1 -0
  147. package/dist/backend/backend/src/services/orc/team-lead-report.wiring.js +85 -0
  148. package/dist/backend/backend/src/services/orc/team-lead-report.wiring.js.map +1 -0
  149. package/dist/backend/backend/src/services/orc/work-item-destination.d.ts +35 -0
  150. package/dist/backend/backend/src/services/orc/work-item-destination.d.ts.map +1 -1
  151. package/dist/backend/backend/src/services/orc/work-item-destination.js +38 -1
  152. package/dist/backend/backend/src/services/orc/work-item-destination.js.map +1 -1
  153. package/dist/backend/backend/src/services/project-tickets/project-ticket.service.d.ts +5 -0
  154. package/dist/backend/backend/src/services/project-tickets/project-ticket.service.d.ts.map +1 -1
  155. package/dist/backend/backend/src/services/project-tickets/project-ticket.service.js +30 -6
  156. package/dist/backend/backend/src/services/project-tickets/project-ticket.service.js.map +1 -1
  157. package/dist/backend/backend/src/services/project-tickets/ticket-file.d.ts.map +1 -1
  158. package/dist/backend/backend/src/services/project-tickets/ticket-file.js +6 -1
  159. package/dist/backend/backend/src/services/project-tickets/ticket-file.js.map +1 -1
  160. package/dist/backend/backend/src/services/project-tickets/ticket-hold-registry.d.ts +64 -0
  161. package/dist/backend/backend/src/services/project-tickets/ticket-hold-registry.d.ts.map +1 -0
  162. package/dist/backend/backend/src/services/project-tickets/ticket-hold-registry.js +93 -0
  163. package/dist/backend/backend/src/services/project-tickets/ticket-hold-registry.js.map +1 -0
  164. package/dist/backend/backend/src/services/project-tickets/ticket-hold.d.ts +176 -0
  165. package/dist/backend/backend/src/services/project-tickets/ticket-hold.d.ts.map +1 -0
  166. package/dist/backend/backend/src/services/project-tickets/ticket-hold.js +301 -0
  167. package/dist/backend/backend/src/services/project-tickets/ticket-hold.js.map +1 -0
  168. package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts +33 -3
  169. package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts.map +1 -1
  170. package/dist/backend/backend/src/services/reconciler/reconcile-rules.js +50 -4
  171. package/dist/backend/backend/src/services/reconciler/reconcile-rules.js.map +1 -1
  172. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts +8 -1
  173. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts.map +1 -1
  174. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js +26 -0
  175. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js.map +1 -1
  176. package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts +6 -1
  177. package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts.map +1 -1
  178. package/dist/backend/backend/src/services/reconciler/reconciler.service.js +3 -2
  179. package/dist/backend/backend/src/services/reconciler/reconciler.service.js.map +1 -1
  180. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.d.ts.map +1 -1
  181. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.js +4 -1
  182. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.js.map +1 -1
  183. package/dist/backend/backend/src/services/stall/stall-watcher.service.d.ts +34 -0
  184. package/dist/backend/backend/src/services/stall/stall-watcher.service.d.ts.map +1 -1
  185. package/dist/backend/backend/src/services/stall/stall-watcher.service.js +70 -2
  186. package/dist/backend/backend/src/services/stall/stall-watcher.service.js.map +1 -1
  187. package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts +36 -0
  188. package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
  189. package/dist/backend/backend/src/services/task-pool/task-pool.service.js +72 -1
  190. package/dist/backend/backend/src/services/task-pool/task-pool.service.js.map +1 -1
  191. package/dist/backend/backend/src/services/worktree/worktree-janitor.service.d.ts +3 -0
  192. package/dist/backend/backend/src/services/worktree/worktree-janitor.service.d.ts.map +1 -1
  193. package/dist/backend/backend/src/services/worktree/worktree-janitor.service.js +5 -2
  194. package/dist/backend/backend/src/services/worktree/worktree-janitor.service.js.map +1 -1
  195. package/dist/backend/backend/src/services/worktree/worktree-unmerged-notice.d.ts +7 -2
  196. package/dist/backend/backend/src/services/worktree/worktree-unmerged-notice.d.ts.map +1 -1
  197. package/dist/backend/backend/src/services/worktree/worktree-unmerged-notice.js +11 -2
  198. package/dist/backend/backend/src/services/worktree/worktree-unmerged-notice.js.map +1 -1
  199. package/dist/backend/backend/src/types/decision.types.d.ts +53 -1
  200. package/dist/backend/backend/src/types/decision.types.d.ts.map +1 -1
  201. package/dist/backend/backend/src/types/event-bus.types.d.ts +10 -2
  202. package/dist/backend/backend/src/types/event-bus.types.d.ts.map +1 -1
  203. package/dist/backend/backend/src/types/event-bus.types.js +8 -0
  204. package/dist/backend/backend/src/types/event-bus.types.js.map +1 -1
  205. package/dist/backend/backend/src/types/project-ticket.types.d.ts +7 -0
  206. package/dist/backend/backend/src/types/project-ticket.types.d.ts.map +1 -1
  207. package/dist/backend/backend/src/types/project-ticket.types.js +1 -0
  208. package/dist/backend/backend/src/types/project-ticket.types.js.map +1 -1
  209. package/dist/backend/backend/src/types/v2/open-item.types.d.ts +8 -1
  210. package/dist/backend/backend/src/types/v2/open-item.types.d.ts.map +1 -1
  211. package/dist/backend/build-info.json +2 -2
  212. package/dist/cli/backend/src/constants.d.ts +74 -2
  213. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  214. package/dist/cli/backend/src/constants.js +75 -3
  215. package/dist/cli/backend/src/constants.js.map +1 -1
  216. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
  217. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js +2 -1
  218. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
  219. package/dist/cli/backend/src/services/decisions/decision-card.d.ts +46 -13
  220. package/dist/cli/backend/src/services/decisions/decision-card.d.ts.map +1 -1
  221. package/dist/cli/backend/src/services/decisions/decision-card.js +100 -50
  222. package/dist/cli/backend/src/services/decisions/decision-card.js.map +1 -1
  223. package/dist/cli/backend/src/services/decisions/decision-contract.d.ts +23 -1
  224. package/dist/cli/backend/src/services/decisions/decision-contract.d.ts.map +1 -1
  225. package/dist/cli/backend/src/services/decisions/decision-contract.js +76 -4
  226. package/dist/cli/backend/src/services/decisions/decision-contract.js.map +1 -1
  227. package/dist/cli/backend/src/services/decisions/decision-wording.d.ts +167 -0
  228. package/dist/cli/backend/src/services/decisions/decision-wording.d.ts.map +1 -0
  229. package/dist/cli/backend/src/services/decisions/decision-wording.js +406 -0
  230. package/dist/cli/backend/src/services/decisions/decision-wording.js.map +1 -0
  231. package/dist/cli/backend/src/services/decisions/decision.service.d.ts +30 -1
  232. package/dist/cli/backend/src/services/decisions/decision.service.d.ts.map +1 -1
  233. package/dist/cli/backend/src/services/decisions/decision.service.js +44 -8
  234. package/dist/cli/backend/src/services/decisions/decision.service.js.map +1 -1
  235. package/dist/cli/backend/src/services/event-bus/event-bus.service.d.ts.map +1 -1
  236. package/dist/cli/backend/src/services/event-bus/event-bus.service.js +6 -1
  237. package/dist/cli/backend/src/services/event-bus/event-bus.service.js.map +1 -1
  238. package/dist/cli/backend/src/services/harness/claude-accounts.d.ts +24 -14
  239. package/dist/cli/backend/src/services/harness/claude-accounts.d.ts.map +1 -1
  240. package/dist/cli/backend/src/services/harness/claude-accounts.js +35 -21
  241. package/dist/cli/backend/src/services/harness/claude-accounts.js.map +1 -1
  242. package/dist/cli/backend/src/services/harness/claude-native-login.d.ts +106 -0
  243. package/dist/cli/backend/src/services/harness/claude-native-login.d.ts.map +1 -0
  244. package/dist/cli/backend/src/services/harness/claude-native-login.js +174 -0
  245. package/dist/cli/backend/src/services/harness/claude-native-login.js.map +1 -0
  246. package/dist/cli/backend/src/services/harness/claude-token-migration.service.d.ts +158 -0
  247. package/dist/cli/backend/src/services/harness/claude-token-migration.service.d.ts.map +1 -0
  248. package/dist/cli/backend/src/services/harness/claude-token-migration.service.js +283 -0
  249. package/dist/cli/backend/src/services/harness/claude-token-migration.service.js.map +1 -0
  250. package/dist/cli/backend/src/services/harness/harness-credentials.store.d.ts +44 -24
  251. package/dist/cli/backend/src/services/harness/harness-credentials.store.d.ts.map +1 -1
  252. package/dist/cli/backend/src/services/harness/harness-credentials.store.js +96 -39
  253. package/dist/cli/backend/src/services/harness/harness-credentials.store.js.map +1 -1
  254. package/dist/cli/backend/src/services/harness/harness-registry.js +1 -1
  255. package/dist/cli/backend/src/services/harness/harness-registry.js.map +1 -1
  256. package/dist/cli/backend/src/services/harness/harness-relogin.service.d.ts +2 -2
  257. package/dist/cli/backend/src/services/harness/harness-relogin.service.js +2 -2
  258. package/dist/cli/backend/src/services/harness/harness.service.d.ts.map +1 -1
  259. package/dist/cli/backend/src/services/harness/harness.service.js +10 -1
  260. package/dist/cli/backend/src/services/harness/harness.service.js.map +1 -1
  261. package/dist/cli/backend/src/services/harness/login-broker.service.d.ts +24 -21
  262. package/dist/cli/backend/src/services/harness/login-broker.service.d.ts.map +1 -1
  263. package/dist/cli/backend/src/services/harness/login-broker.service.js +50 -64
  264. package/dist/cli/backend/src/services/harness/login-broker.service.js.map +1 -1
  265. package/dist/cli/backend/src/services/harness/login-rules.d.ts +17 -11
  266. package/dist/cli/backend/src/services/harness/login-rules.d.ts.map +1 -1
  267. package/dist/cli/backend/src/services/harness/login-rules.js +22 -25
  268. package/dist/cli/backend/src/services/harness/login-rules.js.map +1 -1
  269. package/dist/cli/backend/src/services/open-items/open-item-extractor.d.ts +36 -0
  270. package/dist/cli/backend/src/services/open-items/open-item-extractor.d.ts.map +1 -1
  271. package/dist/cli/backend/src/services/open-items/open-item-extractor.js +70 -0
  272. package/dist/cli/backend/src/services/open-items/open-item-extractor.js.map +1 -1
  273. package/dist/cli/backend/src/services/open-items/open-items.service.d.ts +25 -0
  274. package/dist/cli/backend/src/services/open-items/open-items.service.d.ts.map +1 -1
  275. package/dist/cli/backend/src/services/open-items/open-items.service.js +65 -5
  276. package/dist/cli/backend/src/services/open-items/open-items.service.js.map +1 -1
  277. package/dist/cli/backend/src/services/orc/owner-completion-report.text.d.ts +113 -0
  278. package/dist/cli/backend/src/services/orc/owner-completion-report.text.d.ts.map +1 -0
  279. package/dist/cli/backend/src/services/orc/owner-completion-report.text.js +195 -0
  280. package/dist/cli/backend/src/services/orc/owner-completion-report.text.js.map +1 -0
  281. package/dist/cli/backend/src/services/orc/team-lead-report.d.ts +120 -0
  282. package/dist/cli/backend/src/services/orc/team-lead-report.d.ts.map +1 -0
  283. package/dist/cli/backend/src/services/orc/team-lead-report.js +198 -0
  284. package/dist/cli/backend/src/services/orc/team-lead-report.js.map +1 -0
  285. package/dist/cli/backend/src/services/orc/team-lead-report.wiring.d.ts +53 -0
  286. package/dist/cli/backend/src/services/orc/team-lead-report.wiring.d.ts.map +1 -0
  287. package/dist/cli/backend/src/services/orc/team-lead-report.wiring.js +85 -0
  288. package/dist/cli/backend/src/services/orc/team-lead-report.wiring.js.map +1 -0
  289. package/dist/cli/backend/src/services/orc/work-item-destination.d.ts +35 -0
  290. package/dist/cli/backend/src/services/orc/work-item-destination.d.ts.map +1 -1
  291. package/dist/cli/backend/src/services/orc/work-item-destination.js +38 -1
  292. package/dist/cli/backend/src/services/orc/work-item-destination.js.map +1 -1
  293. package/dist/cli/backend/src/services/project-tickets/project-ticket.service.d.ts +5 -0
  294. package/dist/cli/backend/src/services/project-tickets/project-ticket.service.d.ts.map +1 -1
  295. package/dist/cli/backend/src/services/project-tickets/project-ticket.service.js +30 -6
  296. package/dist/cli/backend/src/services/project-tickets/project-ticket.service.js.map +1 -1
  297. package/dist/cli/backend/src/services/project-tickets/ticket-file.d.ts.map +1 -1
  298. package/dist/cli/backend/src/services/project-tickets/ticket-file.js +6 -1
  299. package/dist/cli/backend/src/services/project-tickets/ticket-file.js.map +1 -1
  300. package/dist/cli/backend/src/services/project-tickets/ticket-hold.d.ts +176 -0
  301. package/dist/cli/backend/src/services/project-tickets/ticket-hold.d.ts.map +1 -0
  302. package/dist/cli/backend/src/services/project-tickets/ticket-hold.js +301 -0
  303. package/dist/cli/backend/src/services/project-tickets/ticket-hold.js.map +1 -0
  304. package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts +36 -0
  305. package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
  306. package/dist/cli/backend/src/services/task-pool/task-pool.service.js +72 -1
  307. package/dist/cli/backend/src/services/task-pool/task-pool.service.js.map +1 -1
  308. package/dist/cli/backend/src/types/decision.types.d.ts +53 -1
  309. package/dist/cli/backend/src/types/decision.types.d.ts.map +1 -1
  310. package/dist/cli/backend/src/types/event-bus.types.d.ts +10 -2
  311. package/dist/cli/backend/src/types/event-bus.types.d.ts.map +1 -1
  312. package/dist/cli/backend/src/types/event-bus.types.js +8 -0
  313. package/dist/cli/backend/src/types/event-bus.types.js.map +1 -1
  314. package/dist/cli/backend/src/types/project-ticket.types.d.ts +7 -0
  315. package/dist/cli/backend/src/types/project-ticket.types.d.ts.map +1 -1
  316. package/dist/cli/backend/src/types/project-ticket.types.js +1 -0
  317. package/dist/cli/backend/src/types/project-ticket.types.js.map +1 -1
  318. package/dist/cli/backend/src/types/v2/open-item.types.d.ts +8 -1
  319. package/dist/cli/backend/src/types/v2/open-item.types.d.ts.map +1 -1
  320. package/package.json +1 -1
@@ -0,0 +1,176 @@
1
+ /**
2
+ * Ticket holds (crewly#1369 gap 1) — pure rules.
3
+ *
4
+ * A ticket is on hold when the owner said to stop: "do not merge PR #1138, do
5
+ * not ask Steve". Before this module the hold lived only as a Log line, and
6
+ * nothing read it: days later a janitor notice about the same worktree became
7
+ * a new ticket ("Decide the fate of OPEN PR #1138") and a "merge?" card to the
8
+ * owner, who tapped Yes without recognising it.
9
+ *
10
+ * A hold is read from (first match wins):
11
+ * - the `hold` frontmatter field (set through the ticket update path);
12
+ * - a hold label ({@link TICKET_HOLD_CONSTANTS.LABELS});
13
+ * - legacy Log lines: "HOLD: …", "on hold", "do not merge", "不要合并", "owner
14
+ * said no" — unless a later Log line lifts it ("hold lifted").
15
+ *
16
+ * Held work is matched by what it names: PR numbers, branches and worktrees
17
+ * (a worktree named `wt-crew257` also names ticket CREW-257). On held work the
18
+ * only allowed action is {@link TICKET_HOLD_CONSTANTS.ALLOWED_ACTIONS}.
19
+ *
20
+ * @module services/project-tickets/ticket-hold
21
+ */
22
+ import type { ProjectTicket } from '../../types/project-ticket.types.js';
23
+ /** Where a hold was read from. */
24
+ export type TicketHoldSource = 'field' | 'label' | 'log';
25
+ /** A ticket's hold. */
26
+ export interface TicketHold {
27
+ /** The reason, in the words that set it */
28
+ reason: string;
29
+ source: TicketHoldSource;
30
+ /** The ticket this one is held through ("held by CREW-257: …"), when linked */
31
+ heldBy?: string;
32
+ }
33
+ /** PR numbers, branches, worktrees and ticket ids a text names. */
34
+ export interface WorkRefs {
35
+ prs: number[];
36
+ /** Branch names, lower-cased */
37
+ branches: string[];
38
+ /** Worktree folder names, lower-cased */
39
+ worktrees: string[];
40
+ /** Ticket ids, upper-cased */
41
+ tickets: string[];
42
+ }
43
+ /** The fields of a ticket the hold rules read. */
44
+ export type HoldTicketView = Pick<ProjectTicket, 'id' | 'title' | 'labels' | 'log' | 'description'> & Partial<Pick<ProjectTicket, 'hold' | 'extra' | 'projectPath' | 'status'>>;
45
+ /** A held ticket that the work in question references. */
46
+ export interface HeldTicketMatch {
47
+ ticketId: string;
48
+ title: string;
49
+ projectPath?: string;
50
+ hold: TicketHold;
51
+ /** What matched ("PR #1138", "branch feat/x", "worktree wt-crew257", "ticket CREW-257") */
52
+ matchedOn: string[];
53
+ }
54
+ /**
55
+ * Clip a reason for quoting.
56
+ *
57
+ * @param s - Text
58
+ * @returns One line of at most {@link TICKET_HOLD_CONSTANTS.REASON_MAX_CHARS}
59
+ */
60
+ export declare function clipHoldReason(s: string): string;
61
+ /**
62
+ * Whether a Log message puts the ticket on hold.
63
+ *
64
+ * @param message - Log message
65
+ * @returns True for "HOLD: …", "on hold", "do not merge", "不要合并", …
66
+ */
67
+ export declare function isHoldLogMessage(message: string): boolean;
68
+ /**
69
+ * Whether a Log message lifts a hold.
70
+ *
71
+ * @param message - Log message
72
+ * @returns True for "hold lifted", "unhold", …
73
+ */
74
+ export declare function isLiftLogMessage(message: string): boolean;
75
+ /**
76
+ * A ticket's hold, or null when it is not held.
77
+ *
78
+ * @param t - Ticket
79
+ * @returns The hold
80
+ *
81
+ * @example
82
+ * readTicketHold({ ...t, log: ['2026-10-06T10:00:00Z · crewly-orc · HOLD: PR #1138: do not merge'] })
83
+ * // → { reason: 'HOLD: PR #1138: do not merge', source: 'log' }
84
+ */
85
+ export declare function readTicketHold(t: HoldTicketView): TicketHold | null;
86
+ /**
87
+ * Ticket id a worktree folder names: `wt-crew257` / `wt-crew-257` → `CREW-257`.
88
+ *
89
+ * @param name - Worktree folder name
90
+ * @returns The id, or null
91
+ */
92
+ export declare function ticketIdOfWorktree(name: string): string | null;
93
+ /**
94
+ * PR numbers, branches, worktrees and ticket ids named in a text.
95
+ *
96
+ * Conservative: a bare `#123` is not a PR (issues use it too); a PR is
97
+ * "PR #123", "PR 123", "pull request #123" or a `/pull/123` link. Ticket ids
98
+ * come only from worktree names (`wt-crew257`), not from free text — a ticket
99
+ * that merely mentions another one is not the same work.
100
+ *
101
+ * @param text - Any text
102
+ * @returns The refs (deduplicated)
103
+ */
104
+ export declare function extractWorkRefs(text: string): WorkRefs;
105
+ /**
106
+ * Merge several refs.
107
+ *
108
+ * @param all - Refs
109
+ * @returns Union
110
+ */
111
+ export declare function mergeWorkRefs(...all: WorkRefs[]): WorkRefs;
112
+ /**
113
+ * Refs of a branch and worktree path (the janitor's view of a worktree).
114
+ *
115
+ * @param branch - Branch, or null
116
+ * @param worktreePath - Worktree path
117
+ * @returns Refs
118
+ */
119
+ export declare function worktreeRefs(branch: string | null, worktreePath: string): WorkRefs;
120
+ /**
121
+ * Everything a ticket names: title, description, Log and the frontmatter keys
122
+ * a human may add (`pr`, `branch`, `worktree`).
123
+ *
124
+ * @param t - Ticket
125
+ * @returns Refs
126
+ */
127
+ export declare function ticketWorkRefs(t: HoldTicketView): WorkRefs;
128
+ /**
129
+ * Which held tickets the given refs point at.
130
+ *
131
+ * @param refs - What the new work names
132
+ * @param tickets - Candidate tickets (any status)
133
+ * @param opts - `excludeId`: the ticket being checked itself
134
+ * @returns Matches, tickets held in their own right first
135
+ */
136
+ export declare function findHeldMatches(refs: WorkRefs, tickets: readonly HoldTicketView[], opts?: {
137
+ excludeId?: string;
138
+ }): HeldTicketMatch[];
139
+ /**
140
+ * The hold reason written on a ticket held through another one.
141
+ *
142
+ * @param match - The held ticket it references
143
+ * @returns `held by CREW-257: <reason>`
144
+ */
145
+ export declare function linkedHoldReason(match: HeldTicketMatch): string;
146
+ /**
147
+ * The note put at the top of a held follow-up ticket's description, so the
148
+ * agent who picks it up reads the hold before anything else.
149
+ *
150
+ * @param match - The held ticket
151
+ * @returns One paragraph
152
+ */
153
+ export declare function heldDescriptionNote(match: HeldTicketMatch): string;
154
+ /**
155
+ * Whether a card only asks to close / drop held work.
156
+ *
157
+ * @param text - Question plus option labels
158
+ * @returns True for "Close PR #1138?" with no merge option
159
+ */
160
+ export declare function isCloseOnlyAsk(text: string): boolean;
161
+ /**
162
+ * Why a decision card about held work is refused, or null when it may go up.
163
+ *
164
+ * @param text - Question, option labels and details
165
+ * @param matches - Held tickets it references
166
+ * @returns The refusal (quotes the hold), or null
167
+ */
168
+ export declare function decisionHoldRefusal(text: string, matches: readonly HeldTicketMatch[]): string | null;
169
+ /**
170
+ * The line the janitor's unmerged-worktree notice carries for held work.
171
+ *
172
+ * @param match - The held ticket
173
+ * @returns One sentence
174
+ */
175
+ export declare function heldWorktreeNoticeLine(match: HeldTicketMatch): string;
176
+ //# sourceMappingURL=ticket-hold.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ticket-hold.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/project-tickets/ticket-hold.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,301 @@
1
+ /**
2
+ * Ticket holds (crewly#1369 gap 1) — pure rules.
3
+ *
4
+ * A ticket is on hold when the owner said to stop: "do not merge PR #1138, do
5
+ * not ask Steve". Before this module the hold lived only as a Log line, and
6
+ * nothing read it: days later a janitor notice about the same worktree became
7
+ * a new ticket ("Decide the fate of OPEN PR #1138") and a "merge?" card to the
8
+ * owner, who tapped Yes without recognising it.
9
+ *
10
+ * A hold is read from (first match wins):
11
+ * - the `hold` frontmatter field (set through the ticket update path);
12
+ * - a hold label ({@link TICKET_HOLD_CONSTANTS.LABELS});
13
+ * - legacy Log lines: "HOLD: …", "on hold", "do not merge", "不要合并", "owner
14
+ * said no" — unless a later Log line lifts it ("hold lifted").
15
+ *
16
+ * Held work is matched by what it names: PR numbers, branches and worktrees
17
+ * (a worktree named `wt-crew257` also names ticket CREW-257). On held work the
18
+ * only allowed action is {@link TICKET_HOLD_CONSTANTS.ALLOWED_ACTIONS}.
19
+ *
20
+ * @module services/project-tickets/ticket-hold
21
+ */
22
+ import { TICKET_HOLD_CONSTANTS } from '../../constants.js';
23
+ /** Uppercase HOLD as a word (not "holder", not "household"), and not "HOLD lifted". */
24
+ const HOLD_WORD = /(?:^|[\s:([\-—·*_"'`])HOLD\b(?![\s:]*(?:lifted|released|cleared|removed|off)\b)/;
25
+ /** Other ways to say it in a Log line. */
26
+ const HOLD_PHRASES = /\bon[\s-]hold\b|\b(?:do not|don't|dont|must not|mustn't|never|not to) (?:merge|ship|land)\b|\bowner (?:said|says|answered) (?:no|"no"|'no')\b|(?:不要|别|不准|先不|暂不|暂时不)(?:要)?(?:合并|合入|合进|merge)|暂停|搁置/iu;
27
+ /** A Log line that lifts a hold. */
28
+ const LIFT_PHRASES = /\bhold (?:lifted|released|cleared|removed)\b|\bunhold\b|\boff hold\b|\blift(?:ed)? the hold\b|解除(?:暂停|搁置|hold)|取消暂停/iu;
29
+ /**
30
+ * The message part of a Log line (`<iso> · <actor> · <message>`).
31
+ *
32
+ * @param line - Log line (without `- `)
33
+ * @returns The message
34
+ */
35
+ function logMessage(line) {
36
+ const parts = line.split(' · ');
37
+ return parts.length >= 3 ? parts.slice(2).join(' · ') : line;
38
+ }
39
+ /**
40
+ * Clip a reason for quoting.
41
+ *
42
+ * @param s - Text
43
+ * @returns One line of at most {@link TICKET_HOLD_CONSTANTS.REASON_MAX_CHARS}
44
+ */
45
+ export function clipHoldReason(s) {
46
+ const flat = s.replace(/\s+/g, ' ').trim();
47
+ const max = TICKET_HOLD_CONSTANTS.REASON_MAX_CHARS;
48
+ return flat.length > max ? `${flat.slice(0, max - 1)}…` : flat;
49
+ }
50
+ /**
51
+ * Whether a Log message puts the ticket on hold.
52
+ *
53
+ * @param message - Log message
54
+ * @returns True for "HOLD: …", "on hold", "do not merge", "不要合并", …
55
+ */
56
+ export function isHoldLogMessage(message) {
57
+ if (LIFT_PHRASES.test(message))
58
+ return false;
59
+ return HOLD_WORD.test(message) || HOLD_PHRASES.test(message);
60
+ }
61
+ /**
62
+ * Whether a Log message lifts a hold.
63
+ *
64
+ * @param message - Log message
65
+ * @returns True for "hold lifted", "unhold", …
66
+ */
67
+ export function isLiftLogMessage(message) {
68
+ return LIFT_PHRASES.test(message);
69
+ }
70
+ /**
71
+ * The ticket id in a linked hold reason ("held by CREW-257: …").
72
+ *
73
+ * @param reason - Hold reason
74
+ * @returns The id, or undefined
75
+ */
76
+ function heldByOf(reason) {
77
+ const m = new RegExp(`^${TICKET_HOLD_CONSTANTS.LINKED_PREFIX}\\s+([A-Za-z0-9]+-\\d+)\\b`, 'i').exec(reason.trim());
78
+ return m ? m[1].toUpperCase() : undefined;
79
+ }
80
+ /**
81
+ * A ticket's hold, or null when it is not held.
82
+ *
83
+ * @param t - Ticket
84
+ * @returns The hold
85
+ *
86
+ * @example
87
+ * readTicketHold({ ...t, log: ['2026-10-06T10:00:00Z · crewly-orc · HOLD: PR #1138: do not merge'] })
88
+ * // → { reason: 'HOLD: PR #1138: do not merge', source: 'log' }
89
+ */
90
+ export function readTicketHold(t) {
91
+ const field = typeof t.hold === 'string' ? t.hold.trim() : '';
92
+ if (field) {
93
+ const heldBy = heldByOf(field);
94
+ return { reason: clipHoldReason(field), source: 'field', ...(heldBy ? { heldBy } : {}) };
95
+ }
96
+ // The latest hold / lift line in the Log decides.
97
+ let fromLog = null;
98
+ for (const line of t.log ?? []) {
99
+ const message = logMessage(line);
100
+ if (isLiftLogMessage(message))
101
+ fromLog = null;
102
+ else if (isHoldLogMessage(message))
103
+ fromLog = message;
104
+ }
105
+ const labels = (t.labels ?? []).map((l) => l.toLowerCase());
106
+ if (labels.some((l) => TICKET_HOLD_CONSTANTS.LABELS.includes(l))) {
107
+ return { reason: clipHoldReason(fromLog ?? `labelled ${labels.find((l) => TICKET_HOLD_CONSTANTS.LABELS.includes(l))}`), source: 'label' };
108
+ }
109
+ return fromLog ? { reason: clipHoldReason(fromLog), source: 'log' } : null;
110
+ }
111
+ /**
112
+ * Ticket id a worktree folder names: `wt-crew257` / `wt-crew-257` → `CREW-257`.
113
+ *
114
+ * @param name - Worktree folder name
115
+ * @returns The id, or null
116
+ */
117
+ export function ticketIdOfWorktree(name) {
118
+ const m = /^wt-([a-z][a-z0-9]{0,9}?)-?(\d{1,6})$/i.exec(name.trim());
119
+ return m ? `${m[1].toUpperCase()}-${Number(m[2])}` : null;
120
+ }
121
+ /** Branch prefixes that make a `<prefix>/<name>` word a branch. */
122
+ const BRANCH_PREFIX = '(?:feat|feature|fix|bugfix|hotfix|chore|docs|refactor|perf|test|tests|release|ci|build|style|crew|agent|wip)';
123
+ /**
124
+ * PR numbers, branches, worktrees and ticket ids named in a text.
125
+ *
126
+ * Conservative: a bare `#123` is not a PR (issues use it too); a PR is
127
+ * "PR #123", "PR 123", "pull request #123" or a `/pull/123` link. Ticket ids
128
+ * come only from worktree names (`wt-crew257`), not from free text — a ticket
129
+ * that merely mentions another one is not the same work.
130
+ *
131
+ * @param text - Any text
132
+ * @returns The refs (deduplicated)
133
+ */
134
+ export function extractWorkRefs(text) {
135
+ const prs = new Set();
136
+ const branches = new Set();
137
+ const worktrees = new Set();
138
+ const tickets = new Set();
139
+ const src = String(text ?? '');
140
+ for (const m of src.matchAll(/\b(?:PR|pull request|pull)\s*#?\s*(\d{1,7})\b/gi))
141
+ prs.add(Number(m[1]));
142
+ for (const m of src.matchAll(/\/pull\/(\d{1,7})\b/g))
143
+ prs.add(Number(m[1]));
144
+ const clean = (b) => b.replace(/[.,;:)\]}'"`>]+$/, '').toLowerCase();
145
+ for (const m of src.matchAll(/\b(?:branch|分支)\s*[`'"]?([A-Za-z0-9._-]+\/[A-Za-z0-9._/-]+)/giu))
146
+ branches.add(clean(m[1]));
147
+ for (const m of src.matchAll(new RegExp(`(?:^|[\\s\`'"(\\[])(${BRANCH_PREFIX}\\/[A-Za-z0-9._/-]+)`, 'gi')))
148
+ branches.add(clean(m[1]));
149
+ for (const m of src.matchAll(/(?:^|[\s/`'"(\[])(wt-[A-Za-z0-9._-]+)/g)) {
150
+ const name = clean(m[1]);
151
+ worktrees.add(name);
152
+ const id = ticketIdOfWorktree(name);
153
+ if (id)
154
+ tickets.add(id);
155
+ }
156
+ return { prs: [...prs], branches: [...branches].filter((b) => b.length > 0), worktrees: [...worktrees], tickets: [...tickets] };
157
+ }
158
+ /**
159
+ * Merge several refs.
160
+ *
161
+ * @param all - Refs
162
+ * @returns Union
163
+ */
164
+ export function mergeWorkRefs(...all) {
165
+ const uniq = (xs) => [...new Set(xs)];
166
+ return {
167
+ prs: uniq(all.flatMap((r) => r.prs)),
168
+ branches: uniq(all.flatMap((r) => r.branches)),
169
+ worktrees: uniq(all.flatMap((r) => r.worktrees)),
170
+ tickets: uniq(all.flatMap((r) => r.tickets)),
171
+ };
172
+ }
173
+ /**
174
+ * Refs of a branch and worktree path (the janitor's view of a worktree).
175
+ *
176
+ * @param branch - Branch, or null
177
+ * @param worktreePath - Worktree path
178
+ * @returns Refs
179
+ */
180
+ export function worktreeRefs(branch, worktreePath) {
181
+ const name = (worktreePath.replace(/[\\/]+$/, '').split(/[\\/]/).pop() ?? '').toLowerCase();
182
+ const id = ticketIdOfWorktree(name);
183
+ return { prs: [], branches: branch ? [branch.toLowerCase()] : [], worktrees: name ? [name] : [], tickets: id ? [id] : [] };
184
+ }
185
+ /**
186
+ * Everything a ticket names: title, description, Log and the frontmatter keys
187
+ * a human may add (`pr`, `branch`, `worktree`).
188
+ *
189
+ * @param t - Ticket
190
+ * @returns Refs
191
+ */
192
+ export function ticketWorkRefs(t) {
193
+ const extra = t.extra ?? {};
194
+ const prField = extra.pr !== undefined && extra.pr !== null && /^\d+$/.test(String(extra.pr)) ? `PR #${extra.pr}` : '';
195
+ const branch = typeof extra.branch === 'string' ? extra.branch.trim().toLowerCase() : '';
196
+ const worktreeField = typeof extra.worktree === 'string' && extra.worktree.trim() ? ` ${extra.worktree.trim()}` : '';
197
+ const fromText = extractWorkRefs([t.title, t.description, ...(t.log ?? []), prField, worktreeField].join('\n'));
198
+ return branch ? mergeWorkRefs(fromText, { prs: [], branches: [branch], worktrees: [], tickets: [] }) : fromText;
199
+ }
200
+ /**
201
+ * Which held tickets the given refs point at.
202
+ *
203
+ * @param refs - What the new work names
204
+ * @param tickets - Candidate tickets (any status)
205
+ * @param opts - `excludeId`: the ticket being checked itself
206
+ * @returns Matches, tickets held in their own right first
207
+ */
208
+ export function findHeldMatches(refs, tickets, opts = {}) {
209
+ const out = [];
210
+ for (const t of tickets) {
211
+ if (opts.excludeId && t.id.toLowerCase() === opts.excludeId.toLowerCase())
212
+ continue;
213
+ const hold = readTicketHold(t);
214
+ if (!hold)
215
+ continue;
216
+ const own = ticketWorkRefs(t);
217
+ const matchedOn = [];
218
+ for (const n of refs.prs)
219
+ if (own.prs.includes(n))
220
+ matchedOn.push(`PR #${n}`);
221
+ for (const b of refs.branches)
222
+ if (own.branches.includes(b))
223
+ matchedOn.push(`branch ${b}`);
224
+ for (const w of refs.worktrees)
225
+ if (own.worktrees.includes(w))
226
+ matchedOn.push(`worktree ${w}`);
227
+ if (refs.tickets.includes(t.id.toUpperCase()))
228
+ matchedOn.push(`ticket ${t.id}`);
229
+ if (matchedOn.length === 0)
230
+ continue;
231
+ out.push({ ticketId: t.id, title: t.title, ...(t.projectPath ? { projectPath: t.projectPath } : {}), hold, matchedOn });
232
+ }
233
+ return out.sort((a, b) => Number(!!a.hold.heldBy) - Number(!!b.hold.heldBy));
234
+ }
235
+ /**
236
+ * The hold reason written on a ticket held through another one.
237
+ *
238
+ * @param match - The held ticket it references
239
+ * @returns `held by CREW-257: <reason>`
240
+ */
241
+ export function linkedHoldReason(match) {
242
+ const root = match.hold.heldBy ?? match.ticketId;
243
+ const reason = match.hold.reason.replace(new RegExp(`^${TICKET_HOLD_CONSTANTS.LINKED_PREFIX}\\s+[A-Za-z0-9]+-\\d+:\\s*`, 'i'), '');
244
+ return clipHoldReason(`${TICKET_HOLD_CONSTANTS.LINKED_PREFIX} ${root}: ${reason}`);
245
+ }
246
+ /**
247
+ * The note put at the top of a held follow-up ticket's description, so the
248
+ * agent who picks it up reads the hold before anything else.
249
+ *
250
+ * @param match - The held ticket
251
+ * @returns One paragraph
252
+ */
253
+ export function heldDescriptionNote(match) {
254
+ const root = match.hold.heldBy ?? match.ticketId;
255
+ return (`ON HOLD (${root}, matched on ${match.matchedOn.join(', ')}): "${match.hold.reason}". ` +
256
+ `Allowed actions: ${TICKET_HOLD_CONSTANTS.ALLOWED_ACTIONS} only. Do not merge it, and do not ask the owner to merge it.`);
257
+ }
258
+ /** Merge-style words: the card would move held work forward. */
259
+ const MERGE_WORDS = /\bmerg(?:e|es|ed|ing)\b|\bship(?:ping)? it\b|\bland(?:ing)? it\b|\bgo ahead\b|\bproceed\b|\bcontinue\b|\bresume\b|\bdeploy\b|合并|合入|合进|上线|继续|部署/iu;
260
+ /** Close-style words. */
261
+ const CLOSE_WORDS = /\bclos(?:e|es|ed|ing)\b|\bdrop\b|\babandon\b|\bdiscard\b|\bremove\b|\bdelete\b|关闭|关掉|关了|删掉|删除|放弃|丢掉/iu;
262
+ /** Negated merge phrases that a close question may quote ("you said do not merge"). */
263
+ const NEGATED_MERGE = /\b(?:do not|don't|dont|not|never|no|without)\s+(?:merg(?:e|ing)|ship(?:ping)?|land(?:ing)?)\b|(?:不要|别|不|没|先不|暂不)(?:要)?(?:合并|合入|合进)/giu;
264
+ /**
265
+ * Whether a card only asks to close / drop held work.
266
+ *
267
+ * @param text - Question plus option labels
268
+ * @returns True for "Close PR #1138?" with no merge option
269
+ */
270
+ export function isCloseOnlyAsk(text) {
271
+ const stripped = text.replace(NEGATED_MERGE, ' ');
272
+ return CLOSE_WORDS.test(stripped) && !MERGE_WORDS.test(stripped);
273
+ }
274
+ /**
275
+ * Why a decision card about held work is refused, or null when it may go up.
276
+ *
277
+ * @param text - Question, option labels and details
278
+ * @param matches - Held tickets it references
279
+ * @returns The refusal (quotes the hold), or null
280
+ */
281
+ export function decisionHoldRefusal(text, matches) {
282
+ if (matches.length === 0 || isCloseOnlyAsk(text))
283
+ return null;
284
+ const m = matches[0];
285
+ const root = m.hold.heldBy ?? m.ticketId;
286
+ return (`${root} is on hold (${m.matchedOn.join(', ')}): "${m.hold.reason}". ` +
287
+ `The only allowed action is to ${TICKET_HOLD_CONSTANTS.ALLOWED_ACTIONS}. Do not ask the owner to merge or continue it. ` +
288
+ `If you need the owner, ask whether to close it (e.g. "Close PR …? You put it on hold on ${root}."), or lift the hold on ${root} first if the owner said so.`);
289
+ }
290
+ /**
291
+ * The line the janitor's unmerged-worktree notice carries for held work.
292
+ *
293
+ * @param match - The held ticket
294
+ * @returns One sentence
295
+ */
296
+ export function heldWorktreeNoticeLine(match) {
297
+ const root = match.hold.heldBy ?? match.ticketId;
298
+ return (`This work is ON HOLD on ticket ${root}: "${match.hold.reason}". Do not merge it, do not open a new ticket about it ` +
299
+ `and do not ask the owner about merging: ${TICKET_HOLD_CONSTANTS.ALLOWED_ACTIONS} (log it on ${root}).`);
300
+ }
301
+ //# sourceMappingURL=ticket-hold.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ticket-hold.js","sourceRoot":"","sources":["../../../../../../backend/src/services/project-tickets/ticket-hold.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ import { type ClaimTicketLookup } from './ticket-claim-policy.js';
19
19
  import { type TurnOrigin } from '../orc/orc-reply-route.service.js';
20
20
  import { type WorkItemOrigin } from '../orc/work-item-destination.js';
21
21
  import { type OwnerRequestContext } from '../orc/owner-request-context.js';
22
+ import { type LeadReport } from '../orc/team-lead-report.js';
22
23
  /**
23
24
  * Narrow Request-link contract consumed by {@link TaskPoolService.addToPool}.
24
25
  *
@@ -309,6 +310,12 @@ export declare class TaskPoolService {
309
310
  * Default: the chat-v2 store.
310
311
  */
311
312
  private ownerAskedAtLookup;
313
+ /**
314
+ * Who reports a new owner-origin delegation to the owner, and where
315
+ * (crewly#1371: the team lead, in the team channel). null disables the
316
+ * stamp. Default: the real teams and Slack team channels.
317
+ */
318
+ private leadReportResolver;
312
319
  /**
313
320
  * Serializes claim operations to prevent the race where two concurrent
314
321
  * claimFromPool / claimSpecificItem calls both select the same queued
@@ -421,6 +428,16 @@ export declare class TaskPoolService {
421
428
  * @param lookup - Session → the owner request it handles
422
429
  */
423
430
  setOwnerContextLookup(lookup: ((sessionName: string) => Promise<OwnerRequestContext | null>) | null): void;
431
+ /**
432
+ * Replace (or disable with `null`) the lead-report resolver (crewly#1371).
433
+ *
434
+ * @param resolver - New item + creator + pool → its lead report, or null
435
+ */
436
+ setLeadReportResolver(resolver: ((input: {
437
+ workItem: WorkItem;
438
+ creator?: string;
439
+ items: readonly WorkItem[];
440
+ }) => Promise<LeadReport | null>) | null): void;
424
441
  /**
425
442
  * Override how a chat message id resolves to its Slack thread (tests).
426
443
  *
@@ -553,6 +570,25 @@ export declare class TaskPoolService {
553
570
  * @param ownerOnly - Stamp only an owner origin
554
571
  */
555
572
  private inheritOrigin;
573
+ /**
574
+ * Stamp `metadata.leadReport` (crewly#1371): team work the orchestrator
575
+ * delegated on the owner's behalf is reported to the owner by the team's
576
+ * lead, in the team channel. A verify / retry / subtask item takes its
577
+ * parent's stamp; a new owner-origin delegation asks the resolver. Mutates
578
+ * the item before it is stored; failures are logged and ignored.
579
+ *
580
+ * @param workItem - The item about to be stored (origin already stamped)
581
+ * @param creatorSession - The agent creating it, when known
582
+ */
583
+ private stampLeadReport;
584
+ /**
585
+ * The origin half of {@link inheritOrigin}.
586
+ *
587
+ * @param workItem - The item about to be stored
588
+ * @param creatorSession - The agent creating it, when known
589
+ * @param ownerOnly - Stamp only an owner origin
590
+ */
591
+ private inheritOriginOnly;
556
592
  /**
557
593
  * The owner origin of an explicitly named Slack thread: the creator's own
558
594
  * turn origin when it is that thread (it knows the conversation), else the
@@ -1 +1 @@
1
- {"version":3,"file":"task-pool.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/task-pool/task-pool.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-pool.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/task-pool/task-pool.service.ts"],"names":[],"mappings":"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"}