crewly 1.20.153 → 1.20.155

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 (773) 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/delegate-task/execute.sh +17 -4
  39. package/config/skills/team-leader/verify-output/SKILL.md +2 -2
  40. package/config/sops/developer/git-workflow.md +1 -1
  41. package/dist/backend/backend/src/constants.d.ts +397 -1
  42. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  43. package/dist/backend/backend/src/constants.js +388 -2
  44. package/dist/backend/backend/src/constants.js.map +1 -1
  45. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.d.ts +27 -0
  46. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.d.ts.map +1 -0
  47. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.js +55 -0
  48. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.js.map +1 -0
  49. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.routes.d.ts +13 -0
  50. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.routes.d.ts.map +1 -0
  51. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.routes.js +19 -0
  52. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.routes.js.map +1 -0
  53. package/dist/backend/backend/src/controllers/api.controller.d.ts +0 -12
  54. package/dist/backend/backend/src/controllers/api.controller.d.ts.map +1 -1
  55. package/dist/backend/backend/src/controllers/api.controller.js +0 -44
  56. package/dist/backend/backend/src/controllers/api.controller.js.map +1 -1
  57. package/dist/backend/backend/src/controllers/approvals/approvals.controller.d.ts +27 -5
  58. package/dist/backend/backend/src/controllers/approvals/approvals.controller.d.ts.map +1 -1
  59. package/dist/backend/backend/src/controllers/approvals/approvals.controller.js +55 -15
  60. package/dist/backend/backend/src/controllers/approvals/approvals.controller.js.map +1 -1
  61. package/dist/backend/backend/src/controllers/approvals/approvals.routes.d.ts.map +1 -1
  62. package/dist/backend/backend/src/controllers/approvals/approvals.routes.js +2 -0
  63. package/dist/backend/backend/src/controllers/approvals/approvals.routes.js.map +1 -1
  64. package/dist/backend/backend/src/controllers/expert/expert.controller.d.ts +13 -0
  65. package/dist/backend/backend/src/controllers/expert/expert.controller.d.ts.map +1 -1
  66. package/dist/backend/backend/src/controllers/expert/expert.controller.js +67 -9
  67. package/dist/backend/backend/src/controllers/expert/expert.controller.js.map +1 -1
  68. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts +32 -0
  69. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts.map +1 -1
  70. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js +122 -8
  71. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js.map +1 -1
  72. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.controller.d.ts +41 -0
  73. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.controller.d.ts.map +1 -0
  74. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.controller.js +146 -0
  75. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.controller.js.map +1 -0
  76. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.routes.d.ts +20 -0
  77. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.routes.d.ts.map +1 -0
  78. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.routes.js +29 -0
  79. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.routes.js.map +1 -0
  80. package/dist/backend/backend/src/controllers/project/project.controller.d.ts +2 -2
  81. package/dist/backend/backend/src/controllers/project/project.controller.d.ts.map +1 -1
  82. package/dist/backend/backend/src/controllers/project/project.controller.js +24 -7
  83. package/dist/backend/backend/src/controllers/project/project.controller.js.map +1 -1
  84. package/dist/backend/backend/src/controllers/project/project.routes.d.ts +2 -2
  85. package/dist/backend/backend/src/controllers/project/project.routes.d.ts.map +1 -1
  86. package/dist/backend/backend/src/controllers/project/project.routes.js +3 -36
  87. package/dist/backend/backend/src/controllers/project/project.routes.js.map +1 -1
  88. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.d.ts +93 -0
  89. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.d.ts.map +1 -0
  90. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.js +252 -0
  91. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.js.map +1 -0
  92. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.routes.d.ts +34 -0
  93. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.routes.d.ts.map +1 -0
  94. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.routes.js +51 -0
  95. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.routes.js.map +1 -0
  96. package/dist/backend/backend/src/controllers/request-types.d.ts +13 -0
  97. package/dist/backend/backend/src/controllers/request-types.d.ts.map +1 -1
  98. package/dist/backend/backend/src/controllers/standing/standing.controller.d.ts +49 -0
  99. package/dist/backend/backend/src/controllers/standing/standing.controller.d.ts.map +1 -0
  100. package/dist/backend/backend/src/controllers/standing/standing.controller.js +100 -0
  101. package/dist/backend/backend/src/controllers/standing/standing.controller.js.map +1 -0
  102. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts +38 -0
  103. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts.map +1 -1
  104. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js +143 -8
  105. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js.map +1 -1
  106. package/dist/backend/backend/src/controllers/task-pool/task-pool.routes.d.ts.map +1 -1
  107. package/dist/backend/backend/src/controllers/task-pool/task-pool.routes.js +6 -1
  108. package/dist/backend/backend/src/controllers/task-pool/task-pool.routes.js.map +1 -1
  109. package/dist/backend/backend/src/controllers/team/team.controller.d.ts +2 -0
  110. package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
  111. package/dist/backend/backend/src/controllers/team/team.controller.js +26 -6
  112. package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
  113. package/dist/backend/backend/src/controllers/tickets/tickets.controller.d.ts +18 -0
  114. package/dist/backend/backend/src/controllers/tickets/tickets.controller.d.ts.map +1 -1
  115. package/dist/backend/backend/src/controllers/tickets/tickets.controller.js +56 -0
  116. package/dist/backend/backend/src/controllers/tickets/tickets.controller.js.map +1 -1
  117. package/dist/backend/backend/src/controllers/tickets/tickets.routes.d.ts +1 -0
  118. package/dist/backend/backend/src/controllers/tickets/tickets.routes.d.ts.map +1 -1
  119. package/dist/backend/backend/src/controllers/tickets/tickets.routes.js +3 -1
  120. package/dist/backend/backend/src/controllers/tickets/tickets.routes.js.map +1 -1
  121. package/dist/backend/backend/src/controllers/types.d.ts +1 -2
  122. package/dist/backend/backend/src/controllers/types.d.ts.map +1 -1
  123. package/dist/backend/backend/src/controllers/wiki/wiki.controller.d.ts +2 -3
  124. package/dist/backend/backend/src/controllers/wiki/wiki.controller.d.ts.map +1 -1
  125. package/dist/backend/backend/src/controllers/wiki/wiki.controller.js +2 -3
  126. package/dist/backend/backend/src/controllers/wiki/wiki.controller.js.map +1 -1
  127. package/dist/backend/backend/src/index.d.ts.map +1 -1
  128. package/dist/backend/backend/src/index.js +113 -7
  129. package/dist/backend/backend/src/index.js.map +1 -1
  130. package/dist/backend/backend/src/middleware/api-token.middleware.d.ts +29 -0
  131. package/dist/backend/backend/src/middleware/api-token.middleware.d.ts.map +1 -1
  132. package/dist/backend/backend/src/middleware/api-token.middleware.js +38 -0
  133. package/dist/backend/backend/src/middleware/api-token.middleware.js.map +1 -1
  134. package/dist/backend/backend/src/models/index.d.ts +0 -1
  135. package/dist/backend/backend/src/models/index.d.ts.map +1 -1
  136. package/dist/backend/backend/src/models/index.js +0 -1
  137. package/dist/backend/backend/src/models/index.js.map +1 -1
  138. package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
  139. package/dist/backend/backend/src/routes/api.routes.js +24 -3
  140. package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
  141. package/dist/backend/backend/src/scripts/leaked-stub-teams.lib.d.ts +6 -2
  142. package/dist/backend/backend/src/scripts/leaked-stub-teams.lib.d.ts.map +1 -1
  143. package/dist/backend/backend/src/scripts/leaked-stub-teams.lib.js +6 -2
  144. package/dist/backend/backend/src/scripts/leaked-stub-teams.lib.js.map +1 -1
  145. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +43 -1
  146. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  147. package/dist/backend/backend/src/services/agent/agent-registration.service.js +129 -34
  148. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  149. package/dist/backend/backend/src/services/agent/control-plane-guard.service.d.ts +169 -0
  150. package/dist/backend/backend/src/services/agent/control-plane-guard.service.d.ts.map +1 -0
  151. package/dist/backend/backend/src/services/agent/control-plane-guard.service.js +231 -0
  152. package/dist/backend/backend/src/services/agent/control-plane-guard.service.js.map +1 -0
  153. package/dist/backend/backend/src/services/agent/fresh-task-conversation.service.d.ts +154 -2
  154. package/dist/backend/backend/src/services/agent/fresh-task-conversation.service.d.ts.map +1 -1
  155. package/dist/backend/backend/src/services/agent/fresh-task-conversation.service.js +380 -22
  156. package/dist/backend/backend/src/services/agent/fresh-task-conversation.service.js.map +1 -1
  157. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.d.ts +16 -0
  158. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.d.ts.map +1 -1
  159. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js +50 -0
  160. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js.map +1 -1
  161. package/dist/backend/backend/src/services/agent/tmux-command.service.d.ts +9 -1
  162. package/dist/backend/backend/src/services/agent/tmux-command.service.d.ts.map +1 -1
  163. package/dist/backend/backend/src/services/agent/tmux-command.service.js +12 -2
  164. package/dist/backend/backend/src/services/agent/tmux-command.service.js.map +1 -1
  165. package/dist/backend/backend/src/services/ai/prompt-builder.service.d.ts.map +1 -1
  166. package/dist/backend/backend/src/services/ai/prompt-builder.service.js +9 -8
  167. package/dist/backend/backend/src/services/ai/prompt-builder.service.js.map +1 -1
  168. package/dist/backend/backend/src/services/ai/prompt-modules/active-work.module.d.ts +75 -0
  169. package/dist/backend/backend/src/services/ai/prompt-modules/active-work.module.d.ts.map +1 -0
  170. package/dist/backend/backend/src/services/ai/prompt-modules/active-work.module.js +89 -0
  171. package/dist/backend/backend/src/services/ai/prompt-modules/active-work.module.js.map +1 -0
  172. package/dist/backend/backend/src/services/ai/prompt-modules/index.d.ts +3 -0
  173. package/dist/backend/backend/src/services/ai/prompt-modules/index.d.ts.map +1 -1
  174. package/dist/backend/backend/src/services/ai/prompt-modules/index.js +3 -0
  175. package/dist/backend/backend/src/services/ai/prompt-modules/index.js.map +1 -1
  176. package/dist/backend/backend/src/services/ai/prompt-modules/project-reference.module.js +1 -1
  177. package/dist/backend/backend/src/services/ai/prompt-modules/project-reference.module.js.map +1 -1
  178. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.d.ts.map +1 -1
  179. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.js +12 -0
  180. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.js.map +1 -1
  181. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts +14 -0
  182. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts.map +1 -1
  183. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.js.map +1 -1
  184. package/dist/backend/backend/src/services/ai/prompt-modules/recovery.module.d.ts.map +1 -1
  185. package/dist/backend/backend/src/services/ai/prompt-modules/recovery.module.js +11 -7
  186. package/dist/backend/backend/src/services/ai/prompt-modules/recovery.module.js.map +1 -1
  187. package/dist/backend/backend/src/services/ai/prompt-modules/session-briefing.module.d.ts +41 -0
  188. package/dist/backend/backend/src/services/ai/prompt-modules/session-briefing.module.d.ts.map +1 -0
  189. package/dist/backend/backend/src/services/ai/prompt-modules/session-briefing.module.js +44 -0
  190. package/dist/backend/backend/src/services/ai/prompt-modules/session-briefing.module.js.map +1 -0
  191. package/dist/backend/backend/src/services/ai/prompt-modules/standing-answers.module.d.ts +67 -0
  192. package/dist/backend/backend/src/services/ai/prompt-modules/standing-answers.module.d.ts.map +1 -0
  193. package/dist/backend/backend/src/services/ai/prompt-modules/standing-answers.module.js +146 -0
  194. package/dist/backend/backend/src/services/ai/prompt-modules/standing-answers.module.js.map +1 -0
  195. package/dist/backend/backend/src/services/ai/prompt-template.service.d.ts.map +1 -1
  196. package/dist/backend/backend/src/services/ai/prompt-template.service.js +9 -7
  197. package/dist/backend/backend/src/services/ai/prompt-template.service.js.map +1 -1
  198. package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.d.ts.map +1 -1
  199. package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.js +7 -0
  200. package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.js.map +1 -1
  201. package/dist/backend/backend/src/services/continuation/patterns/waiting-patterns.d.ts +7 -0
  202. package/dist/backend/backend/src/services/continuation/patterns/waiting-patterns.d.ts.map +1 -1
  203. package/dist/backend/backend/src/services/continuation/patterns/waiting-patterns.js +9 -1
  204. package/dist/backend/backend/src/services/continuation/patterns/waiting-patterns.js.map +1 -1
  205. package/dist/backend/backend/src/services/core/logger.service.d.ts +21 -0
  206. package/dist/backend/backend/src/services/core/logger.service.d.ts.map +1 -1
  207. package/dist/backend/backend/src/services/core/logger.service.js +42 -4
  208. package/dist/backend/backend/src/services/core/logger.service.js.map +1 -1
  209. package/dist/backend/backend/src/services/core/storage.service.d.ts +1 -5
  210. package/dist/backend/backend/src/services/core/storage.service.d.ts.map +1 -1
  211. package/dist/backend/backend/src/services/core/storage.service.js +5 -162
  212. package/dist/backend/backend/src/services/core/storage.service.js.map +1 -1
  213. package/dist/backend/backend/src/services/event-bus/event-bus.service.d.ts.map +1 -1
  214. package/dist/backend/backend/src/services/event-bus/event-bus.service.js +6 -0
  215. package/dist/backend/backend/src/services/event-bus/event-bus.service.js.map +1 -1
  216. package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.d.ts.map +1 -1
  217. package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.js +15 -9
  218. package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.js.map +1 -1
  219. package/dist/backend/backend/src/services/index.d.ts +0 -4
  220. package/dist/backend/backend/src/services/index.d.ts.map +1 -1
  221. package/dist/backend/backend/src/services/index.js +0 -4
  222. package/dist/backend/backend/src/services/index.js.map +1 -1
  223. package/dist/backend/backend/src/services/intent-task/intent-task.service.d.ts +1 -1
  224. package/dist/backend/backend/src/services/intent-task/intent-task.service.js +1 -1
  225. package/dist/backend/backend/src/services/mcp-server.d.ts +19 -6
  226. package/dist/backend/backend/src/services/mcp-server.d.ts.map +1 -1
  227. package/dist/backend/backend/src/services/mcp-server.js +46 -16
  228. package/dist/backend/backend/src/services/mcp-server.js.map +1 -1
  229. package/dist/backend/backend/src/services/mcp-tool-definitions.d.ts.map +1 -1
  230. package/dist/backend/backend/src/services/mcp-tool-definitions.js +3 -2
  231. package/dist/backend/backend/src/services/mcp-tool-definitions.js.map +1 -1
  232. package/dist/backend/backend/src/services/memory/standing-answers.service.d.ts +247 -0
  233. package/dist/backend/backend/src/services/memory/standing-answers.service.d.ts.map +1 -0
  234. package/dist/backend/backend/src/services/memory/standing-answers.service.js +534 -0
  235. package/dist/backend/backend/src/services/memory/standing-answers.service.js.map +1 -0
  236. package/dist/backend/backend/src/services/memory/standing-refresh.service.d.ts +104 -0
  237. package/dist/backend/backend/src/services/memory/standing-refresh.service.d.ts.map +1 -0
  238. package/dist/backend/backend/src/services/memory/standing-refresh.service.js +218 -0
  239. package/dist/backend/backend/src/services/memory/standing-refresh.service.js.map +1 -0
  240. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.d.ts +35 -0
  241. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.d.ts.map +1 -1
  242. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js +99 -1
  243. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js.map +1 -1
  244. package/dist/backend/backend/src/services/monitoring/agent-attention-registry.d.ts +75 -0
  245. package/dist/backend/backend/src/services/monitoring/agent-attention-registry.d.ts.map +1 -0
  246. package/dist/backend/backend/src/services/monitoring/agent-attention-registry.js +80 -0
  247. package/dist/backend/backend/src/services/monitoring/agent-attention-registry.js.map +1 -0
  248. package/dist/backend/backend/src/services/monitoring/agent-attention.d.ts +114 -0
  249. package/dist/backend/backend/src/services/monitoring/agent-attention.d.ts.map +1 -0
  250. package/dist/backend/backend/src/services/monitoring/agent-attention.js +165 -0
  251. package/dist/backend/backend/src/services/monitoring/agent-attention.js.map +1 -0
  252. package/dist/backend/backend/src/services/monitoring/agent-hook-state.d.ts +76 -0
  253. package/dist/backend/backend/src/services/monitoring/agent-hook-state.d.ts.map +1 -0
  254. package/dist/backend/backend/src/services/monitoring/agent-hook-state.js +96 -0
  255. package/dist/backend/backend/src/services/monitoring/agent-hook-state.js.map +1 -0
  256. package/dist/backend/backend/src/services/orchestrator/onboarding/materialize-team.js +1 -1
  257. package/dist/backend/backend/src/services/orchestrator/onboarding/recommend-team.d.ts +1 -1
  258. package/dist/backend/backend/src/services/orchestrator/onboarding/recommend-team.d.ts.map +1 -1
  259. package/dist/backend/backend/src/services/orchestrator/onboarding/recommend-team.js +13 -3
  260. package/dist/backend/backend/src/services/orchestrator/onboarding/recommend-team.js.map +1 -1
  261. package/dist/backend/backend/src/services/orchestrator/prompts/onboarding-mode.prompt.d.ts.map +1 -1
  262. package/dist/backend/backend/src/services/orchestrator/prompts/onboarding-mode.prompt.js +0 -4
  263. package/dist/backend/backend/src/services/orchestrator/prompts/onboarding-mode.prompt.js.map +1 -1
  264. package/dist/backend/backend/src/services/project/project-search.service.d.ts +22 -16
  265. package/dist/backend/backend/src/services/project/project-search.service.d.ts.map +1 -1
  266. package/dist/backend/backend/src/services/project/project-search.service.js +30 -53
  267. package/dist/backend/backend/src/services/project/project-search.service.js.map +1 -1
  268. package/dist/backend/backend/src/services/project-tickets/project-ticket-workflow.service.d.ts +381 -0
  269. package/dist/backend/backend/src/services/project-tickets/project-ticket-workflow.service.d.ts.map +1 -0
  270. package/dist/backend/backend/src/services/project-tickets/project-ticket-workflow.service.js +839 -0
  271. package/dist/backend/backend/src/services/project-tickets/project-ticket-workflow.service.js.map +1 -0
  272. package/dist/backend/backend/src/services/project-tickets/project-ticket.service.d.ts +214 -0
  273. package/dist/backend/backend/src/services/project-tickets/project-ticket.service.d.ts.map +1 -0
  274. package/dist/backend/backend/src/services/project-tickets/project-ticket.service.js +466 -0
  275. package/dist/backend/backend/src/services/project-tickets/project-ticket.service.js.map +1 -0
  276. package/dist/backend/backend/src/services/project-tickets/ticket-file.d.ts +121 -0
  277. package/dist/backend/backend/src/services/project-tickets/ticket-file.d.ts.map +1 -0
  278. package/dist/backend/backend/src/services/project-tickets/ticket-file.js +468 -0
  279. package/dist/backend/backend/src/services/project-tickets/ticket-file.js.map +1 -0
  280. package/dist/backend/backend/src/services/project-tickets/ticket-folder-lock.d.ts +69 -0
  281. package/dist/backend/backend/src/services/project-tickets/ticket-folder-lock.d.ts.map +1 -0
  282. package/dist/backend/backend/src/services/project-tickets/ticket-folder-lock.js +194 -0
  283. package/dist/backend/backend/src/services/project-tickets/ticket-folder-lock.js.map +1 -0
  284. package/dist/backend/backend/src/services/project-tickets/ticket-tracking.d.ts +47 -0
  285. package/dist/backend/backend/src/services/project-tickets/ticket-tracking.d.ts.map +1 -0
  286. package/dist/backend/backend/src/services/project-tickets/ticket-tracking.js +83 -0
  287. package/dist/backend/backend/src/services/project-tickets/ticket-tracking.js.map +1 -0
  288. package/dist/backend/backend/src/services/project-tickets/v1-task-migration.d.ts +97 -0
  289. package/dist/backend/backend/src/services/project-tickets/v1-task-migration.d.ts.map +1 -0
  290. package/dist/backend/backend/src/services/project-tickets/v1-task-migration.js +201 -0
  291. package/dist/backend/backend/src/services/project-tickets/v1-task-migration.js.map +1 -0
  292. package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts +86 -22
  293. package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts.map +1 -1
  294. package/dist/backend/backend/src/services/reconciler/reconcile-rules.js +173 -28
  295. package/dist/backend/backend/src/services/reconciler/reconcile-rules.js.map +1 -1
  296. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts +19 -1
  297. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts.map +1 -1
  298. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js +33 -4
  299. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js.map +1 -1
  300. package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts +24 -12
  301. package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts.map +1 -1
  302. package/dist/backend/backend/src/services/reconciler/reconciler.service.js +87 -19
  303. package/dist/backend/backend/src/services/reconciler/reconciler.service.js.map +1 -1
  304. package/dist/backend/backend/src/services/runtime-adapter.d.ts +1 -1
  305. package/dist/backend/backend/src/services/runtime-adapter.d.ts.map +1 -1
  306. package/dist/backend/backend/src/services/runtime-adapter.js +5 -9
  307. package/dist/backend/backend/src/services/runtime-adapter.js.map +1 -1
  308. package/dist/backend/backend/src/services/session/pty/pty-session-backend.d.ts +26 -1
  309. package/dist/backend/backend/src/services/session/pty/pty-session-backend.d.ts.map +1 -1
  310. package/dist/backend/backend/src/services/session/pty/pty-session-backend.js +33 -2
  311. package/dist/backend/backend/src/services/session/pty/pty-session-backend.js.map +1 -1
  312. package/dist/backend/backend/src/services/session/pty/pty-session.d.ts +5 -0
  313. package/dist/backend/backend/src/services/session/pty/pty-session.d.ts.map +1 -1
  314. package/dist/backend/backend/src/services/session/pty/pty-session.js +8 -1
  315. package/dist/backend/backend/src/services/session/pty/pty-session.js.map +1 -1
  316. package/dist/backend/backend/src/services/session/pty/pty-terminal-buffer.d.ts +18 -0
  317. package/dist/backend/backend/src/services/session/pty/pty-terminal-buffer.d.ts.map +1 -1
  318. package/dist/backend/backend/src/services/session/pty/pty-terminal-buffer.js +23 -0
  319. package/dist/backend/backend/src/services/session/pty/pty-terminal-buffer.js.map +1 -1
  320. package/dist/backend/backend/src/services/session/session-backend.interface.d.ts +8 -0
  321. package/dist/backend/backend/src/services/session/session-backend.interface.d.ts.map +1 -1
  322. package/dist/backend/backend/src/services/session/session-backend.interface.js.map +1 -1
  323. package/dist/backend/backend/src/services/session/session-command-helper.d.ts +12 -2
  324. package/dist/backend/backend/src/services/session/session-command-helper.d.ts.map +1 -1
  325. package/dist/backend/backend/src/services/session/session-command-helper.js +14 -2
  326. package/dist/backend/backend/src/services/session/session-command-helper.js.map +1 -1
  327. package/dist/backend/backend/src/services/task-pool/give-up/give-up-recovery.service.d.ts +239 -0
  328. package/dist/backend/backend/src/services/task-pool/give-up/give-up-recovery.service.d.ts.map +1 -0
  329. package/dist/backend/backend/src/services/task-pool/give-up/give-up-recovery.service.js +395 -0
  330. package/dist/backend/backend/src/services/task-pool/give-up/give-up-recovery.service.js.map +1 -0
  331. package/dist/backend/backend/src/services/task-pool/give-up/give-up-stats.d.ts +53 -0
  332. package/dist/backend/backend/src/services/task-pool/give-up/give-up-stats.d.ts.map +1 -0
  333. package/dist/backend/backend/src/services/task-pool/give-up/give-up-stats.js +83 -0
  334. package/dist/backend/backend/src/services/task-pool/give-up/give-up-stats.js.map +1 -0
  335. package/dist/backend/backend/src/services/task-pool/give-up/stop-classifier.d.ts +93 -0
  336. package/dist/backend/backend/src/services/task-pool/give-up/stop-classifier.d.ts.map +1 -0
  337. package/dist/backend/backend/src/services/task-pool/give-up/stop-classifier.js +244 -0
  338. package/dist/backend/backend/src/services/task-pool/give-up/stop-classifier.js.map +1 -0
  339. package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts +145 -19
  340. package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
  341. package/dist/backend/backend/src/services/task-pool/task-pool.service.js +323 -53
  342. package/dist/backend/backend/src/services/task-pool/task-pool.service.js.map +1 -1
  343. package/dist/backend/backend/src/services/template/template.service.d.ts.map +1 -1
  344. package/dist/backend/backend/src/services/template/template.service.js +11 -6
  345. package/dist/backend/backend/src/services/template/template.service.js.map +1 -1
  346. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.d.ts +21 -4
  347. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.d.ts.map +1 -1
  348. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.js +53 -3
  349. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.js.map +1 -1
  350. package/dist/backend/backend/src/services/v3/escalation-router.service.d.ts +85 -6
  351. package/dist/backend/backend/src/services/v3/escalation-router.service.d.ts.map +1 -1
  352. package/dist/backend/backend/src/services/v3/escalation-router.service.js +188 -9
  353. package/dist/backend/backend/src/services/v3/escalation-router.service.js.map +1 -1
  354. package/dist/backend/backend/src/services/v3/escalation.service.js +1 -1
  355. package/dist/backend/backend/src/services/v3/escalation.service.js.map +1 -1
  356. package/dist/backend/backend/src/services/v3/mission-executor.service.js +2 -2
  357. package/dist/backend/backend/src/services/v3/mission-executor.service.js.map +1 -1
  358. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt-data.d.ts +184 -0
  359. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt-data.d.ts.map +1 -0
  360. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt-data.js +420 -0
  361. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt-data.js.map +1 -0
  362. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.boot.d.ts +61 -0
  363. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.boot.d.ts.map +1 -0
  364. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.boot.js +100 -0
  365. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.boot.js.map +1 -0
  366. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.renderer.d.ts +36 -0
  367. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.renderer.d.ts.map +1 -0
  368. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.renderer.js +239 -0
  369. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.renderer.js.map +1 -0
  370. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.service.d.ts +152 -0
  371. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.service.d.ts.map +1 -0
  372. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.service.js +209 -0
  373. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.service.js.map +1 -0
  374. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.types.d.ts +194 -0
  375. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.types.d.ts.map +1 -0
  376. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.types.js +85 -0
  377. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.types.js.map +1 -0
  378. package/dist/backend/backend/src/services/v3/request-sla.subscriber.d.ts +6 -4
  379. package/dist/backend/backend/src/services/v3/request-sla.subscriber.d.ts.map +1 -1
  380. package/dist/backend/backend/src/services/v3/request-sla.subscriber.js +15 -6
  381. package/dist/backend/backend/src/services/v3/request-sla.subscriber.js.map +1 -1
  382. package/dist/backend/backend/src/services/v3/request-status-update.subscriber.d.ts.map +1 -1
  383. package/dist/backend/backend/src/services/v3/request-status-update.subscriber.js +14 -5
  384. package/dist/backend/backend/src/services/v3/request-status-update.subscriber.js.map +1 -1
  385. package/dist/backend/backend/src/services/v3/request.service.d.ts.map +1 -1
  386. package/dist/backend/backend/src/services/v3/request.service.js +2 -0
  387. package/dist/backend/backend/src/services/v3/request.service.js.map +1 -1
  388. package/dist/backend/backend/src/services/v3/ticket-ask-classifier.d.ts +82 -0
  389. package/dist/backend/backend/src/services/v3/ticket-ask-classifier.d.ts.map +1 -0
  390. package/dist/backend/backend/src/services/v3/ticket-ask-classifier.js +172 -0
  391. package/dist/backend/backend/src/services/v3/ticket-ask-classifier.js.map +1 -0
  392. package/dist/backend/backend/src/services/v3/ticket-channel-hooks.d.ts.map +1 -1
  393. package/dist/backend/backend/src/services/v3/ticket-channel-hooks.js +2 -0
  394. package/dist/backend/backend/src/services/v3/ticket-channel-hooks.js.map +1 -1
  395. package/dist/backend/backend/src/services/v3/ticket-intake-log.d.ts +87 -0
  396. package/dist/backend/backend/src/services/v3/ticket-intake-log.d.ts.map +1 -0
  397. package/dist/backend/backend/src/services/v3/ticket-intake-log.js +116 -0
  398. package/dist/backend/backend/src/services/v3/ticket-intake-log.js.map +1 -0
  399. package/dist/backend/backend/src/services/v3/ticket-intake.service.d.ts +133 -15
  400. package/dist/backend/backend/src/services/v3/ticket-intake.service.d.ts.map +1 -1
  401. package/dist/backend/backend/src/services/v3/ticket-intake.service.js +263 -45
  402. package/dist/backend/backend/src/services/v3/ticket-intake.service.js.map +1 -1
  403. package/dist/backend/backend/src/services/v3/ticket-review.service.d.ts +3 -1
  404. package/dist/backend/backend/src/services/v3/ticket-review.service.d.ts.map +1 -1
  405. package/dist/backend/backend/src/services/v3/ticket-review.service.js +6 -2
  406. package/dist/backend/backend/src/services/v3/ticket-review.service.js.map +1 -1
  407. package/dist/backend/backend/src/services/v3/v3-data.service.d.ts.map +1 -1
  408. package/dist/backend/backend/src/services/v3/v3-data.service.js +9 -3
  409. package/dist/backend/backend/src/services/v3/v3-data.service.js.map +1 -1
  410. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts +88 -1
  411. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts.map +1 -1
  412. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js +169 -5
  413. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js.map +1 -1
  414. package/dist/backend/backend/src/services/wiki/wiki-migrate.service.d.ts +13 -5
  415. package/dist/backend/backend/src/services/wiki/wiki-migrate.service.d.ts.map +1 -1
  416. package/dist/backend/backend/src/services/wiki/wiki-migrate.service.js +10 -9
  417. package/dist/backend/backend/src/services/wiki/wiki-migrate.service.js.map +1 -1
  418. package/dist/backend/backend/src/services/worktree/workitem-worktree.service.d.ts +241 -0
  419. package/dist/backend/backend/src/services/worktree/workitem-worktree.service.d.ts.map +1 -0
  420. package/dist/backend/backend/src/services/worktree/workitem-worktree.service.js +511 -0
  421. package/dist/backend/backend/src/services/worktree/workitem-worktree.service.js.map +1 -0
  422. package/dist/backend/backend/src/services/worktree/workitem-worktree.subscriber.d.ts +70 -0
  423. package/dist/backend/backend/src/services/worktree/workitem-worktree.subscriber.d.ts.map +1 -0
  424. package/dist/backend/backend/src/services/worktree/workitem-worktree.subscriber.js +121 -0
  425. package/dist/backend/backend/src/services/worktree/workitem-worktree.subscriber.js.map +1 -0
  426. package/dist/backend/backend/src/services/worktree/worktree-git.d.ts +260 -0
  427. package/dist/backend/backend/src/services/worktree/worktree-git.d.ts.map +1 -0
  428. package/dist/backend/backend/src/services/worktree/worktree-git.js +569 -0
  429. package/dist/backend/backend/src/services/worktree/worktree-git.js.map +1 -0
  430. package/dist/backend/backend/src/types/event-bus.types.d.ts +6 -1
  431. package/dist/backend/backend/src/types/event-bus.types.d.ts.map +1 -1
  432. package/dist/backend/backend/src/types/event-bus.types.js +8 -0
  433. package/dist/backend/backend/src/types/event-bus.types.js.map +1 -1
  434. package/dist/backend/backend/src/types/index.d.ts +23 -18
  435. package/dist/backend/backend/src/types/index.d.ts.map +1 -1
  436. package/dist/backend/backend/src/types/index.js.map +1 -1
  437. package/dist/backend/backend/src/types/intent-task.types.d.ts +1 -1
  438. package/dist/backend/backend/src/types/intent-task.types.d.ts.map +1 -1
  439. package/dist/backend/backend/src/types/project-ticket.types.d.ts +132 -0
  440. package/dist/backend/backend/src/types/project-ticket.types.d.ts.map +1 -0
  441. package/dist/backend/backend/src/types/project-ticket.types.js +120 -0
  442. package/dist/backend/backend/src/types/project-ticket.types.js.map +1 -0
  443. package/dist/backend/backend/src/types/review-reason.types.d.ts +3 -1
  444. package/dist/backend/backend/src/types/review-reason.types.d.ts.map +1 -1
  445. package/dist/backend/backend/src/types/review-reason.types.js +1 -0
  446. package/dist/backend/backend/src/types/review-reason.types.js.map +1 -1
  447. package/dist/backend/backend/src/types/v2/index.d.ts +2 -2
  448. package/dist/backend/backend/src/types/v2/index.d.ts.map +1 -1
  449. package/dist/backend/backend/src/types/v2/index.js +1 -1
  450. package/dist/backend/backend/src/types/v2/index.js.map +1 -1
  451. package/dist/backend/backend/src/types/v2/reconcile.types.d.ts +7 -0
  452. package/dist/backend/backend/src/types/v2/reconcile.types.d.ts.map +1 -1
  453. package/dist/backend/backend/src/types/v2/reconcile.types.js.map +1 -1
  454. package/dist/backend/backend/src/types/v2/request.types.d.ts +18 -0
  455. package/dist/backend/backend/src/types/v2/request.types.d.ts.map +1 -1
  456. package/dist/backend/backend/src/types/v2/request.types.js +1 -0
  457. package/dist/backend/backend/src/types/v2/request.types.js.map +1 -1
  458. package/dist/backend/backend/src/types/v2/ticket.types.d.ts +6 -2
  459. package/dist/backend/backend/src/types/v2/ticket.types.d.ts.map +1 -1
  460. package/dist/backend/backend/src/types/v2/ticket.types.js +1 -1
  461. package/dist/backend/backend/src/types/v2/ticket.types.js.map +1 -1
  462. package/dist/backend/backend/src/types/v2/work-item.types.d.ts +169 -14
  463. package/dist/backend/backend/src/types/v2/work-item.types.d.ts.map +1 -1
  464. package/dist/backend/backend/src/types/v2/work-item.types.js +263 -44
  465. package/dist/backend/backend/src/types/v2/work-item.types.js.map +1 -1
  466. package/dist/backend/backend/src/utils/agent-caller.utils.d.ts +33 -0
  467. package/dist/backend/backend/src/utils/agent-caller.utils.d.ts.map +1 -1
  468. package/dist/backend/backend/src/utils/agent-caller.utils.js +37 -0
  469. package/dist/backend/backend/src/utils/agent-caller.utils.js.map +1 -1
  470. package/dist/backend/backend/src/utils/secret-env.d.ts +61 -0
  471. package/dist/backend/backend/src/utils/secret-env.d.ts.map +1 -0
  472. package/dist/backend/backend/src/utils/secret-env.js +89 -0
  473. package/dist/backend/backend/src/utils/secret-env.js.map +1 -0
  474. package/dist/backend/build-info.json +2 -2
  475. package/dist/backend/config/constants.d.ts +71 -0
  476. package/dist/backend/config/constants.d.ts.map +1 -1
  477. package/dist/backend/config/constants.js +77 -0
  478. package/dist/backend/config/constants.js.map +1 -1
  479. package/dist/cli/backend/src/constants.d.ts +397 -1
  480. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  481. package/dist/cli/backend/src/constants.js +388 -2
  482. package/dist/cli/backend/src/constants.js.map +1 -1
  483. package/dist/cli/backend/src/models/index.d.ts +0 -1
  484. package/dist/cli/backend/src/models/index.d.ts.map +1 -1
  485. package/dist/cli/backend/src/models/index.js +0 -1
  486. package/dist/cli/backend/src/models/index.js.map +1 -1
  487. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts +43 -1
  488. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  489. package/dist/cli/backend/src/services/agent/agent-registration.service.js +129 -34
  490. package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
  491. package/dist/cli/backend/src/services/agent/control-plane-guard.service.d.ts +169 -0
  492. package/dist/cli/backend/src/services/agent/control-plane-guard.service.d.ts.map +1 -0
  493. package/dist/cli/backend/src/services/agent/control-plane-guard.service.js +231 -0
  494. package/dist/cli/backend/src/services/agent/control-plane-guard.service.js.map +1 -0
  495. package/dist/cli/backend/src/services/agent/fresh-task-conversation.service.d.ts +409 -0
  496. package/dist/cli/backend/src/services/agent/fresh-task-conversation.service.d.ts.map +1 -0
  497. package/dist/cli/backend/src/services/agent/fresh-task-conversation.service.js +961 -0
  498. package/dist/cli/backend/src/services/agent/fresh-task-conversation.service.js.map +1 -0
  499. package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.d.ts +16 -0
  500. package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.d.ts.map +1 -1
  501. package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.js +50 -0
  502. package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.js.map +1 -1
  503. package/dist/cli/backend/src/services/ai/prompt-builder.service.d.ts.map +1 -1
  504. package/dist/cli/backend/src/services/ai/prompt-builder.service.js +9 -8
  505. package/dist/cli/backend/src/services/ai/prompt-builder.service.js.map +1 -1
  506. package/dist/cli/backend/src/services/ai/prompt-modules/active-work.module.d.ts +75 -0
  507. package/dist/cli/backend/src/services/ai/prompt-modules/active-work.module.d.ts.map +1 -0
  508. package/dist/cli/backend/src/services/ai/prompt-modules/active-work.module.js +89 -0
  509. package/dist/cli/backend/src/services/ai/prompt-modules/active-work.module.js.map +1 -0
  510. package/dist/cli/backend/src/services/ai/prompt-modules/project-reference.module.js +1 -1
  511. package/dist/cli/backend/src/services/ai/prompt-modules/project-reference.module.js.map +1 -1
  512. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-assembly.service.d.ts.map +1 -1
  513. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-assembly.service.js +12 -0
  514. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-assembly.service.js.map +1 -1
  515. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts +14 -0
  516. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts.map +1 -1
  517. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.js.map +1 -1
  518. package/dist/cli/backend/src/services/ai/prompt-modules/recovery.module.d.ts.map +1 -1
  519. package/dist/cli/backend/src/services/ai/prompt-modules/recovery.module.js +11 -7
  520. package/dist/cli/backend/src/services/ai/prompt-modules/recovery.module.js.map +1 -1
  521. package/dist/cli/backend/src/services/ai/prompt-modules/session-briefing.module.d.ts +41 -0
  522. package/dist/cli/backend/src/services/ai/prompt-modules/session-briefing.module.d.ts.map +1 -0
  523. package/dist/cli/backend/src/services/ai/prompt-modules/session-briefing.module.js +44 -0
  524. package/dist/cli/backend/src/services/ai/prompt-modules/session-briefing.module.js.map +1 -0
  525. package/dist/cli/backend/src/services/ai/prompt-modules/standing-answers.module.d.ts +67 -0
  526. package/dist/cli/backend/src/services/ai/prompt-modules/standing-answers.module.d.ts.map +1 -0
  527. package/dist/cli/backend/src/services/ai/prompt-modules/standing-answers.module.js +146 -0
  528. package/dist/cli/backend/src/services/ai/prompt-modules/standing-answers.module.js.map +1 -0
  529. package/dist/cli/backend/src/services/continuation/patterns/waiting-patterns.d.ts +7 -0
  530. package/dist/cli/backend/src/services/continuation/patterns/waiting-patterns.d.ts.map +1 -1
  531. package/dist/cli/backend/src/services/continuation/patterns/waiting-patterns.js +9 -1
  532. package/dist/cli/backend/src/services/continuation/patterns/waiting-patterns.js.map +1 -1
  533. package/dist/cli/backend/src/services/core/logger.service.d.ts +21 -0
  534. package/dist/cli/backend/src/services/core/logger.service.d.ts.map +1 -1
  535. package/dist/cli/backend/src/services/core/logger.service.js +42 -4
  536. package/dist/cli/backend/src/services/core/logger.service.js.map +1 -1
  537. package/dist/cli/backend/src/services/core/storage.service.d.ts +1 -5
  538. package/dist/cli/backend/src/services/core/storage.service.d.ts.map +1 -1
  539. package/dist/cli/backend/src/services/core/storage.service.js +5 -162
  540. package/dist/cli/backend/src/services/core/storage.service.js.map +1 -1
  541. package/dist/cli/backend/src/services/event-bus/event-bus.service.d.ts.map +1 -1
  542. package/dist/cli/backend/src/services/event-bus/event-bus.service.js +6 -0
  543. package/dist/cli/backend/src/services/event-bus/event-bus.service.js.map +1 -1
  544. package/dist/cli/backend/src/services/mcp-server.d.ts +19 -6
  545. package/dist/cli/backend/src/services/mcp-server.d.ts.map +1 -1
  546. package/dist/cli/backend/src/services/mcp-server.js +46 -16
  547. package/dist/cli/backend/src/services/mcp-server.js.map +1 -1
  548. package/dist/cli/backend/src/services/mcp-tool-definitions.d.ts.map +1 -1
  549. package/dist/cli/backend/src/services/mcp-tool-definitions.js +3 -2
  550. package/dist/cli/backend/src/services/mcp-tool-definitions.js.map +1 -1
  551. package/dist/cli/backend/src/services/memory/standing-answers.service.d.ts +247 -0
  552. package/dist/cli/backend/src/services/memory/standing-answers.service.d.ts.map +1 -0
  553. package/dist/cli/backend/src/services/memory/standing-answers.service.js +534 -0
  554. package/dist/cli/backend/src/services/memory/standing-answers.service.js.map +1 -0
  555. package/dist/cli/backend/src/services/monitoring/activity-monitor.service.d.ts +35 -0
  556. package/dist/cli/backend/src/services/monitoring/activity-monitor.service.d.ts.map +1 -1
  557. package/dist/cli/backend/src/services/monitoring/activity-monitor.service.js +99 -1
  558. package/dist/cli/backend/src/services/monitoring/activity-monitor.service.js.map +1 -1
  559. package/dist/cli/backend/src/services/monitoring/agent-attention-registry.d.ts +75 -0
  560. package/dist/cli/backend/src/services/monitoring/agent-attention-registry.d.ts.map +1 -0
  561. package/dist/cli/backend/src/services/monitoring/agent-attention-registry.js +80 -0
  562. package/dist/cli/backend/src/services/monitoring/agent-attention-registry.js.map +1 -0
  563. package/dist/cli/backend/src/services/monitoring/agent-attention.d.ts +114 -0
  564. package/dist/cli/backend/src/services/monitoring/agent-attention.d.ts.map +1 -0
  565. package/dist/cli/backend/src/services/monitoring/agent-attention.js +165 -0
  566. package/dist/cli/backend/src/services/monitoring/agent-attention.js.map +1 -0
  567. package/dist/cli/backend/src/services/project-tickets/project-ticket.service.d.ts +214 -0
  568. package/dist/cli/backend/src/services/project-tickets/project-ticket.service.d.ts.map +1 -0
  569. package/dist/cli/backend/src/services/project-tickets/project-ticket.service.js +466 -0
  570. package/dist/cli/backend/src/services/project-tickets/project-ticket.service.js.map +1 -0
  571. package/dist/cli/backend/src/services/project-tickets/ticket-file.d.ts +121 -0
  572. package/dist/cli/backend/src/services/project-tickets/ticket-file.d.ts.map +1 -0
  573. package/dist/cli/backend/src/services/project-tickets/ticket-file.js +468 -0
  574. package/dist/cli/backend/src/services/project-tickets/ticket-file.js.map +1 -0
  575. package/dist/cli/backend/src/services/project-tickets/ticket-folder-lock.d.ts +69 -0
  576. package/dist/cli/backend/src/services/project-tickets/ticket-folder-lock.d.ts.map +1 -0
  577. package/dist/cli/backend/src/services/project-tickets/ticket-folder-lock.js +194 -0
  578. package/dist/cli/backend/src/services/project-tickets/ticket-folder-lock.js.map +1 -0
  579. package/dist/cli/backend/src/services/project-tickets/ticket-tracking.d.ts +47 -0
  580. package/dist/cli/backend/src/services/project-tickets/ticket-tracking.d.ts.map +1 -0
  581. package/dist/cli/backend/src/services/project-tickets/ticket-tracking.js +83 -0
  582. package/dist/cli/backend/src/services/project-tickets/ticket-tracking.js.map +1 -0
  583. package/dist/cli/backend/src/services/project-tickets/v1-task-migration.d.ts +97 -0
  584. package/dist/cli/backend/src/services/project-tickets/v1-task-migration.d.ts.map +1 -0
  585. package/dist/cli/backend/src/services/project-tickets/v1-task-migration.js +201 -0
  586. package/dist/cli/backend/src/services/project-tickets/v1-task-migration.js.map +1 -0
  587. package/dist/cli/backend/src/services/session/pty/pty-session-backend.d.ts +26 -1
  588. package/dist/cli/backend/src/services/session/pty/pty-session-backend.d.ts.map +1 -1
  589. package/dist/cli/backend/src/services/session/pty/pty-session-backend.js +33 -2
  590. package/dist/cli/backend/src/services/session/pty/pty-session-backend.js.map +1 -1
  591. package/dist/cli/backend/src/services/session/pty/pty-session.d.ts +5 -0
  592. package/dist/cli/backend/src/services/session/pty/pty-session.d.ts.map +1 -1
  593. package/dist/cli/backend/src/services/session/pty/pty-session.js +8 -1
  594. package/dist/cli/backend/src/services/session/pty/pty-session.js.map +1 -1
  595. package/dist/cli/backend/src/services/session/pty/pty-terminal-buffer.d.ts +18 -0
  596. package/dist/cli/backend/src/services/session/pty/pty-terminal-buffer.d.ts.map +1 -1
  597. package/dist/cli/backend/src/services/session/pty/pty-terminal-buffer.js +23 -0
  598. package/dist/cli/backend/src/services/session/pty/pty-terminal-buffer.js.map +1 -1
  599. package/dist/cli/backend/src/services/session/session-backend.interface.d.ts +8 -0
  600. package/dist/cli/backend/src/services/session/session-backend.interface.d.ts.map +1 -1
  601. package/dist/cli/backend/src/services/session/session-backend.interface.js.map +1 -1
  602. package/dist/cli/backend/src/services/session/session-command-helper.d.ts +12 -2
  603. package/dist/cli/backend/src/services/session/session-command-helper.d.ts.map +1 -1
  604. package/dist/cli/backend/src/services/session/session-command-helper.js +14 -2
  605. package/dist/cli/backend/src/services/session/session-command-helper.js.map +1 -1
  606. package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts +145 -19
  607. package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
  608. package/dist/cli/backend/src/services/task-pool/task-pool.service.js +323 -53
  609. package/dist/cli/backend/src/services/task-pool/task-pool.service.js.map +1 -1
  610. package/dist/cli/backend/src/services/template/template.service.d.ts.map +1 -1
  611. package/dist/cli/backend/src/services/template/template.service.js +11 -6
  612. package/dist/cli/backend/src/services/template/template.service.js.map +1 -1
  613. package/dist/cli/backend/src/services/v3/escalation-router.service.d.ts +85 -6
  614. package/dist/cli/backend/src/services/v3/escalation-router.service.d.ts.map +1 -1
  615. package/dist/cli/backend/src/services/v3/escalation-router.service.js +188 -9
  616. package/dist/cli/backend/src/services/v3/escalation-router.service.js.map +1 -1
  617. package/dist/cli/backend/src/services/v3/mission-executor.service.js +2 -2
  618. package/dist/cli/backend/src/services/v3/mission-executor.service.js.map +1 -1
  619. package/dist/cli/backend/src/services/v3/request-sla.subscriber.d.ts +6 -4
  620. package/dist/cli/backend/src/services/v3/request-sla.subscriber.d.ts.map +1 -1
  621. package/dist/cli/backend/src/services/v3/request-sla.subscriber.js +15 -6
  622. package/dist/cli/backend/src/services/v3/request-sla.subscriber.js.map +1 -1
  623. package/dist/cli/backend/src/services/v3/request.service.d.ts.map +1 -1
  624. package/dist/cli/backend/src/services/v3/request.service.js +2 -0
  625. package/dist/cli/backend/src/services/v3/request.service.js.map +1 -1
  626. package/dist/cli/backend/src/services/v3/ticket-ask-classifier.d.ts +82 -0
  627. package/dist/cli/backend/src/services/v3/ticket-ask-classifier.d.ts.map +1 -0
  628. package/dist/cli/backend/src/services/v3/ticket-ask-classifier.js +172 -0
  629. package/dist/cli/backend/src/services/v3/ticket-ask-classifier.js.map +1 -0
  630. package/dist/cli/backend/src/services/v3/ticket-channel-hooks.d.ts.map +1 -1
  631. package/dist/cli/backend/src/services/v3/ticket-channel-hooks.js +2 -0
  632. package/dist/cli/backend/src/services/v3/ticket-channel-hooks.js.map +1 -1
  633. package/dist/cli/backend/src/services/v3/ticket-intake-log.d.ts +87 -0
  634. package/dist/cli/backend/src/services/v3/ticket-intake-log.d.ts.map +1 -0
  635. package/dist/cli/backend/src/services/v3/ticket-intake-log.js +116 -0
  636. package/dist/cli/backend/src/services/v3/ticket-intake-log.js.map +1 -0
  637. package/dist/cli/backend/src/services/v3/ticket-intake.service.d.ts +133 -15
  638. package/dist/cli/backend/src/services/v3/ticket-intake.service.d.ts.map +1 -1
  639. package/dist/cli/backend/src/services/v3/ticket-intake.service.js +263 -45
  640. package/dist/cli/backend/src/services/v3/ticket-intake.service.js.map +1 -1
  641. package/dist/cli/backend/src/services/v3/ticket-review.service.d.ts +3 -1
  642. package/dist/cli/backend/src/services/v3/ticket-review.service.d.ts.map +1 -1
  643. package/dist/cli/backend/src/services/v3/ticket-review.service.js +6 -2
  644. package/dist/cli/backend/src/services/v3/ticket-review.service.js.map +1 -1
  645. package/dist/cli/backend/src/services/v3/v3-data.service.d.ts.map +1 -1
  646. package/dist/cli/backend/src/services/v3/v3-data.service.js +9 -3
  647. package/dist/cli/backend/src/services/v3/v3-data.service.js.map +1 -1
  648. package/dist/cli/backend/src/services/worktree/worktree-git.d.ts +260 -0
  649. package/dist/cli/backend/src/services/worktree/worktree-git.d.ts.map +1 -0
  650. package/dist/cli/backend/src/services/worktree/worktree-git.js +569 -0
  651. package/dist/cli/backend/src/services/worktree/worktree-git.js.map +1 -0
  652. package/dist/cli/backend/src/types/event-bus.types.d.ts +6 -1
  653. package/dist/cli/backend/src/types/event-bus.types.d.ts.map +1 -1
  654. package/dist/cli/backend/src/types/event-bus.types.js +8 -0
  655. package/dist/cli/backend/src/types/event-bus.types.js.map +1 -1
  656. package/dist/cli/backend/src/types/index.d.ts +23 -18
  657. package/dist/cli/backend/src/types/index.d.ts.map +1 -1
  658. package/dist/cli/backend/src/types/index.js.map +1 -1
  659. package/dist/cli/backend/src/types/intent-task.types.d.ts +1 -1
  660. package/dist/cli/backend/src/types/intent-task.types.d.ts.map +1 -1
  661. package/dist/cli/backend/src/types/project-ticket.types.d.ts +132 -0
  662. package/dist/cli/backend/src/types/project-ticket.types.d.ts.map +1 -0
  663. package/dist/cli/backend/src/types/project-ticket.types.js +120 -0
  664. package/dist/cli/backend/src/types/project-ticket.types.js.map +1 -0
  665. package/dist/cli/backend/src/types/v2/index.d.ts +2 -2
  666. package/dist/cli/backend/src/types/v2/index.d.ts.map +1 -1
  667. package/dist/cli/backend/src/types/v2/index.js +1 -1
  668. package/dist/cli/backend/src/types/v2/index.js.map +1 -1
  669. package/dist/cli/backend/src/types/v2/reconcile.types.d.ts +7 -0
  670. package/dist/cli/backend/src/types/v2/reconcile.types.d.ts.map +1 -1
  671. package/dist/cli/backend/src/types/v2/reconcile.types.js.map +1 -1
  672. package/dist/cli/backend/src/types/v2/request.types.d.ts +18 -0
  673. package/dist/cli/backend/src/types/v2/request.types.d.ts.map +1 -1
  674. package/dist/cli/backend/src/types/v2/request.types.js +1 -0
  675. package/dist/cli/backend/src/types/v2/request.types.js.map +1 -1
  676. package/dist/cli/backend/src/types/v2/ticket.types.d.ts +6 -2
  677. package/dist/cli/backend/src/types/v2/ticket.types.d.ts.map +1 -1
  678. package/dist/cli/backend/src/types/v2/ticket.types.js +1 -1
  679. package/dist/cli/backend/src/types/v2/ticket.types.js.map +1 -1
  680. package/dist/cli/backend/src/types/v2/work-item.types.d.ts +169 -14
  681. package/dist/cli/backend/src/types/v2/work-item.types.d.ts.map +1 -1
  682. package/dist/cli/backend/src/types/v2/work-item.types.js +263 -44
  683. package/dist/cli/backend/src/types/v2/work-item.types.js.map +1 -1
  684. package/dist/cli/backend/src/utils/secret-env.d.ts +61 -0
  685. package/dist/cli/backend/src/utils/secret-env.d.ts.map +1 -0
  686. package/dist/cli/backend/src/utils/secret-env.js +89 -0
  687. package/dist/cli/backend/src/utils/secret-env.js.map +1 -0
  688. package/dist/cli/cli/src/commands/onboard.d.ts +1 -1
  689. package/dist/cli/cli/src/commands/onboard.js +3 -3
  690. package/dist/cli/cli/src/commands/onboard.js.map +1 -1
  691. package/dist/cli/cli/src/commands/publish.d.ts.map +1 -1
  692. package/dist/cli/cli/src/commands/publish.js +4 -5
  693. package/dist/cli/cli/src/commands/publish.js.map +1 -1
  694. package/dist/cli/cli/src/commands/service.d.ts.map +1 -1
  695. package/dist/cli/cli/src/commands/service.js +5 -2
  696. package/dist/cli/cli/src/commands/service.js.map +1 -1
  697. package/dist/cli/cli/src/commands/tickets.d.ts +60 -0
  698. package/dist/cli/cli/src/commands/tickets.d.ts.map +1 -0
  699. package/dist/cli/cli/src/commands/tickets.js +111 -0
  700. package/dist/cli/cli/src/commands/tickets.js.map +1 -0
  701. package/dist/cli/cli/src/index.js +12 -0
  702. package/dist/cli/cli/src/index.js.map +1 -1
  703. package/dist/cli/cli/src/utils/archive-creator.d.ts +7 -3
  704. package/dist/cli/cli/src/utils/archive-creator.d.ts.map +1 -1
  705. package/dist/cli/cli/src/utils/archive-creator.js +17 -5
  706. package/dist/cli/cli/src/utils/archive-creator.js.map +1 -1
  707. package/dist/cli/cli/src/utils/cloud-submit.d.ts +1 -1
  708. package/dist/cli/cli/src/utils/cloud-submit.js +1 -1
  709. package/dist/cli/cli/src/utils/gh-submit.d.ts +10 -1
  710. package/dist/cli/cli/src/utils/gh-submit.d.ts.map +1 -1
  711. package/dist/cli/cli/src/utils/gh-submit.js +20 -4
  712. package/dist/cli/cli/src/utils/gh-submit.js.map +1 -1
  713. package/dist/cli/cli/src/utils/package-validator.d.ts +29 -6
  714. package/dist/cli/cli/src/utils/package-validator.d.ts.map +1 -1
  715. package/dist/cli/cli/src/utils/package-validator.js +88 -36
  716. package/dist/cli/cli/src/utils/package-validator.js.map +1 -1
  717. package/dist/cli/config/constants.d.ts +71 -0
  718. package/dist/cli/config/constants.d.ts.map +1 -1
  719. package/dist/cli/config/constants.js +77 -0
  720. package/dist/cli/config/constants.js.map +1 -1
  721. package/dist/cli/config/skills/marketplace-registry.d.ts +143 -0
  722. package/dist/cli/config/skills/marketplace-registry.d.ts.map +1 -0
  723. package/dist/cli/config/skills/marketplace-registry.js +192 -0
  724. package/dist/cli/config/skills/marketplace-registry.js.map +1 -0
  725. package/frontend/dist/assets/index-8d4b3ad2.js +4951 -0
  726. package/frontend/dist/assets/index-b6aded4c.css +42 -0
  727. package/frontend/dist/index.html +2 -2
  728. package/package.json +1 -1
  729. package/config/task_starters/build_e2e_test_plan_prompt.json +0 -51
  730. package/config/task_starters/build_tasks_prompt.json +0 -55
  731. package/config/task_starters/prompts/build_tasks_step1_milestone_structure.md +0 -274
  732. package/config/task_starters/prompts/e2e_test_plan_step1_build_tests.md +0 -391
  733. package/config/task_starters/prompts/e2e_test_plan_step2_run_tests.md +0 -240
  734. package/config/templates/customer-loyalty-team.json +0 -44
  735. package/config/templates/dtc-viral-content-team.json +0 -58
  736. package/config/templates/expert-innovation-team.json +0 -60
  737. package/config/templates/pragmatic-mvp-dev-team.json +0 -58
  738. package/config/templates/pro-sops/norms/content-production-pipeline.md +0 -39
  739. package/config/templates/pro-sops/norms/customer-onboarding-sop.md +0 -40
  740. package/dist/backend/backend/src/controllers/task-management/tickets.controller.d.ts +0 -13
  741. package/dist/backend/backend/src/controllers/task-management/tickets.controller.d.ts.map +0 -1
  742. package/dist/backend/backend/src/controllers/task-management/tickets.controller.js +0 -214
  743. package/dist/backend/backend/src/controllers/task-management/tickets.controller.js.map +0 -1
  744. package/dist/backend/backend/src/models/Ticket.d.ts +0 -24
  745. package/dist/backend/backend/src/models/Ticket.d.ts.map +0 -1
  746. package/dist/backend/backend/src/models/Ticket.js +0 -102
  747. package/dist/backend/backend/src/models/Ticket.js.map +0 -1
  748. package/dist/backend/backend/src/services/agent/task-planning.service.d.ts +0 -134
  749. package/dist/backend/backend/src/services/agent/task-planning.service.d.ts.map +0 -1
  750. package/dist/backend/backend/src/services/agent/task-planning.service.js +0 -291
  751. package/dist/backend/backend/src/services/agent/task-planning.service.js.map +0 -1
  752. package/dist/backend/backend/src/services/monitoring/task-assignment-monitor.service.d.ts +0 -71
  753. package/dist/backend/backend/src/services/monitoring/task-assignment-monitor.service.d.ts.map +0 -1
  754. package/dist/backend/backend/src/services/monitoring/task-assignment-monitor.service.js +0 -304
  755. package/dist/backend/backend/src/services/monitoring/task-assignment-monitor.service.js.map +0 -1
  756. package/dist/backend/backend/src/services/project/task-folder.service.d.ts +0 -48
  757. package/dist/backend/backend/src/services/project/task-folder.service.d.ts.map +0 -1
  758. package/dist/backend/backend/src/services/project/task-folder.service.js +0 -193
  759. package/dist/backend/backend/src/services/project/task-folder.service.js.map +0 -1
  760. package/dist/backend/backend/src/services/project/task.service.d.ts +0 -47
  761. package/dist/backend/backend/src/services/project/task.service.d.ts.map +0 -1
  762. package/dist/backend/backend/src/services/project/task.service.js +0 -253
  763. package/dist/backend/backend/src/services/project/task.service.js.map +0 -1
  764. package/dist/backend/backend/src/services/project/ticket-editor.service.d.ts +0 -130
  765. package/dist/backend/backend/src/services/project/ticket-editor.service.d.ts.map +0 -1
  766. package/dist/backend/backend/src/services/project/ticket-editor.service.js +0 -406
  767. package/dist/backend/backend/src/services/project/ticket-editor.service.js.map +0 -1
  768. package/dist/cli/backend/src/models/Ticket.d.ts +0 -24
  769. package/dist/cli/backend/src/models/Ticket.d.ts.map +0 -1
  770. package/dist/cli/backend/src/models/Ticket.js +0 -102
  771. package/dist/cli/backend/src/models/Ticket.js.map +0 -1
  772. package/frontend/dist/assets/index-2bdb57b9.css +0 -42
  773. package/frontend/dist/assets/index-54f1061c.js +0 -4963
@@ -3,9 +3,11 @@
3
3
  * Re-exported from the main config constants for backend use
4
4
  */
5
5
  // Import from config directory for cross-domain constants
6
- import { CREWLY_CONSTANTS as CONFIG_CREWLY_CONSTANTS, AGENT_IDENTITY_CONSTANTS as CONFIG_AGENT_IDENTITY_CONSTANTS, TIMING_CONSTANTS as CONFIG_TIMING_CONSTANTS, MEMORY_CONSTANTS as CONFIG_MEMORY_CONSTANTS, CONTINUATION_CONSTANTS as CONFIG_CONTINUATION_CONSTANTS, ORCHESTRATOR_RESTART_CONSTANTS as CONFIG_ORCHESTRATOR_RESTART_CONSTANTS, AGENT_SUSPEND_CONSTANTS as CONFIG_AGENT_SUSPEND_CONSTANTS, VERSION_CHECK_CONSTANTS as CONFIG_VERSION_CHECK_CONSTANTS, AUTO_UPDATE_CONSTANTS as CONFIG_AUTO_UPDATE_CONSTANTS, CLOUD_DISCONNECT_NOTICE_CONSTANTS as CONFIG_CLOUD_DISCONNECT_NOTICE_CONSTANTS, AGENT_HEARTBEAT_MONITOR_CONSTANTS as CONFIG_AGENT_HEARTBEAT_MONITOR_CONSTANTS, ORCHESTRATOR_HEARTBEAT_CONSTANTS as CONFIG_ORCHESTRATOR_HEARTBEAT_CONSTANTS, MARKETPLACE_CONSTANTS as CONFIG_MARKETPLACE_CONSTANTS, TEMPLATE_MARKETPLACE_CONSTANTS as CONFIG_TEMPLATE_MARKETPLACE_CONSTANTS, ADDON_CONSTANTS as CONFIG_ADDON_CONSTANTS, AUDITOR_CONSTANTS as CONFIG_AUDITOR_CONSTANTS, PROCESS_EXIT_CODES as CONFIG_PROCESS_EXIT_CODES, SAFE_RESTART_CONSTANTS as CONFIG_SAFE_RESTART_CONSTANTS, WEB_CONSTANTS as CONFIG_WEB_CONSTANTS, API_SECURITY_CONSTANTS as CONFIG_API_SECURITY_CONSTANTS, } from '../../config/constants.js';
6
+ import { CREWLY_CONSTANTS as CONFIG_CREWLY_CONSTANTS, AGENT_IDENTITY_CONSTANTS as CONFIG_AGENT_IDENTITY_CONSTANTS, TIMING_CONSTANTS as CONFIG_TIMING_CONSTANTS, MEMORY_CONSTANTS as CONFIG_MEMORY_CONSTANTS, CONTINUATION_CONSTANTS as CONFIG_CONTINUATION_CONSTANTS, ORCHESTRATOR_RESTART_CONSTANTS as CONFIG_ORCHESTRATOR_RESTART_CONSTANTS, AGENT_SUSPEND_CONSTANTS as CONFIG_AGENT_SUSPEND_CONSTANTS, VERSION_CHECK_CONSTANTS as CONFIG_VERSION_CHECK_CONSTANTS, AUTO_UPDATE_CONSTANTS as CONFIG_AUTO_UPDATE_CONSTANTS, CLOUD_DISCONNECT_NOTICE_CONSTANTS as CONFIG_CLOUD_DISCONNECT_NOTICE_CONSTANTS, AGENT_HEARTBEAT_MONITOR_CONSTANTS as CONFIG_AGENT_HEARTBEAT_MONITOR_CONSTANTS, ORCHESTRATOR_HEARTBEAT_CONSTANTS as CONFIG_ORCHESTRATOR_HEARTBEAT_CONSTANTS, MARKETPLACE_CONSTANTS as CONFIG_MARKETPLACE_CONSTANTS, TEMPLATE_MARKETPLACE_CONSTANTS as CONFIG_TEMPLATE_MARKETPLACE_CONSTANTS, ADDON_CONSTANTS as CONFIG_ADDON_CONSTANTS, AUDITOR_CONSTANTS as CONFIG_AUDITOR_CONSTANTS, PROCESS_EXIT_CODES as CONFIG_PROCESS_EXIT_CODES, SAFE_RESTART_CONSTANTS as CONFIG_SAFE_RESTART_CONSTANTS, WEB_CONSTANTS as CONFIG_WEB_CONSTANTS, API_SECURITY_CONSTANTS as CONFIG_API_SECURITY_CONSTANTS, PROJECT_TICKET_CONSTANTS as CONFIG_PROJECT_TICKET_CONSTANTS, } from '../../config/constants.js';
7
7
  // Re-export the cross-domain constants for backend use
8
8
  export const PROCESS_EXIT_CODES = CONFIG_PROCESS_EXIT_CODES;
9
+ /** Project tickets (specs/2026-09-28-project-tickets.md) — see config/constants.ts. */
10
+ export const PROJECT_TICKET_CONSTANTS = CONFIG_PROJECT_TICKET_CONSTANTS;
9
11
  /**
10
12
  * Safe restart: drain in-flight agent turns before a shutdown kills the PTYs,
11
13
  * and resume the ones that were cut off after the next boot.
@@ -247,6 +249,111 @@ export const PTY_CONSTANTS = {
247
249
  */
248
250
  ORPHAN_REAPER_INTERVAL_MS: 5 * 60 * 1000,
249
251
  };
252
+ /**
253
+ * Control-plane guard for Claude Code agent sessions (Request 72c9427a,
254
+ * specs/2026-09-24-control-plane-isolation.md Part 3).
255
+ *
256
+ * The backend writes a per-session settings file (permissions.deny + a
257
+ * PreToolUse Bash hook) and passes it with `--settings`, so an agent cannot
258
+ * edit the files that stop, start and configure agents. All paths are
259
+ * relative to the root named by the group: CREWLY_HOME (`~/.crewly`), the
260
+ * install root (the Crewly package / checkout), or the agent's project path.
261
+ */
262
+ export const CONTROL_PLANE_GUARD_CONSTANTS = {
263
+ /** Backend env var; `0` turns the guard off for every session launched by this backend. */
264
+ KILL_SWITCH_ENV: 'CREWLY_CONTROL_PLANE_GUARD',
265
+ /** Value of KILL_SWITCH_ENV that disables the guard. Any other value (or unset) keeps it on. */
266
+ KILL_SWITCH_OFF_VALUE: '0',
267
+ /** Directory under CREWLY_HOME that holds the generated per-session files. */
268
+ RUNTIME_DIR: 'runtime/control-plane',
269
+ /** Suffix of the generated Claude Code settings file (`<session><suffix>`). */
270
+ SETTINGS_FILE_SUFFIX: '.settings.json',
271
+ /** Suffix of the protected-paths list the Bash hook reads (`<session><suffix>`). */
272
+ PATHS_FILE_SUFFIX: '.paths',
273
+ /** The PreToolUse Bash hook, relative to the install root. */
274
+ HOOK_SCRIPT: 'config/hooks/control-plane-guard/pretooluse-bash.sh',
275
+ /** CLI flag the settings file is passed with. */
276
+ SETTINGS_FLAG: '--settings',
277
+ /** Claude Code tool the PreToolUse hook is attached to. */
278
+ HOOK_TOOL_MATCHER: 'Bash',
279
+ /**
280
+ * Write-protected directories under CREWLY_HOME (whole subtree).
281
+ *
282
+ * `teams` is deliberately NOT here (WorkItem 70e54fbc / #798 review):
283
+ * specs/2026-09-24-control-plane-isolation.md Part 2 protects only
284
+ * `teams/*\/config.json`, not the whole subtree. A team directory also
285
+ * holds `norms/`, `wiki/`, `prompts/`, `sops/` and `cron-tasks.json` —
286
+ * files agents write routinely (`remember`, `record-learning`,
287
+ * norm/SOP authoring, follow-up scheduling). Blanket-protecting `teams`
288
+ * would block all of that. See TEAM_CONFIG_FILE_NAME below for how the
289
+ * narrower rule is built (one entry per existing team, resolved at
290
+ * guard-prep time since the hook needs literal paths, not globs).
291
+ */
292
+ CREWLY_HOME_DIRS: ['triggers', 'runtime/control-plane'],
293
+ /**
294
+ * Directory under CREWLY_HOME holding one subdirectory per team, each
295
+ * expected to contain a `config.json` (see TEAM_CONFIG_FILE_NAME).
296
+ */
297
+ TEAMS_DIR_NAME: 'teams',
298
+ /** File name, within each team's directory, that the guard protects. */
299
+ TEAM_CONFIG_FILE_NAME: 'config.json',
300
+ /** Write-protected files under CREWLY_HOME. */
301
+ CREWLY_HOME_FILES: [
302
+ 'recurring-checks.json',
303
+ 'one-time-checks.json',
304
+ 'scheduled-messages.json',
305
+ 'settings.json',
306
+ 'runtime-pids.json',
307
+ 'session-state.json',
308
+ 'api-token',
309
+ ],
310
+ /** Files under CREWLY_HOME that agents must not read with the built-in tools either. */
311
+ CREWLY_HOME_READ_DENIED_FILES: ['api-token'],
312
+ /** Write-protected directories under the install root (whole subtree). */
313
+ INSTALL_DIRS: [
314
+ 'config/skills/orchestrator/stop-agent',
315
+ 'config/skills/orchestrator/start-agent',
316
+ 'config/skills/orchestrator/terminate-agent',
317
+ 'config/skills/orchestrator/stop-team',
318
+ 'config/skills/orchestrator/start-team',
319
+ 'config/skills/orchestrator/restart-crewly',
320
+ 'config/hooks/control-plane-guard',
321
+ // #815: the agent-status hook runs on every tool call; an agent must not
322
+ // be able to silence or rewrite it.
323
+ 'config/hooks/agent-status',
324
+ 'dist',
325
+ ],
326
+ /** Write-protected files under the install root. */
327
+ INSTALL_FILES: ['config/skills/_common/lib.sh'],
328
+ /** Write-protected directories under the agent's project path (whole subtree). */
329
+ PROJECT_DIRS: ['.claude/agents', '.crewly/triggers'],
330
+ };
331
+ /**
332
+ * Agent-status hook (#815, specs/2026-09-26-agent-waiting-on-human.md): Claude
333
+ * Code hook events that tell the backend when an agent waits on the user.
334
+ * Registered in the control-plane guard's per-session settings file, never as
335
+ * a second settings file, and never on PreToolUse (that event is the guard's).
336
+ */
337
+ export const AGENT_STATUS_HOOK_CONSTANTS = {
338
+ /** Hook script, relative to the install root. */
339
+ HOOK_SCRIPT: 'config/hooks/agent-status/report.sh',
340
+ /** Hook events the script is registered for. */
341
+ EVENTS: ['Notification', 'PermissionRequest', 'Stop', 'UserPromptSubmit', 'PostToolUse'],
342
+ /** Events that carry a tool matcher; they match every tool. */
343
+ TOOL_EVENTS: ['PermissionRequest', 'PostToolUse'],
344
+ /** Matcher that selects every tool. */
345
+ ALL_TOOLS_MATCHER: '*',
346
+ /** Notification types that mean "waiting on the user". */
347
+ WAITING_NOTIFICATION_TYPES: ['permission_prompt', 'elicitation_dialog'],
348
+ /** Every notification type the endpoint accepts (others are rejected). */
349
+ KNOWN_NOTIFICATION_TYPES: ['permission_prompt', 'elicitation_dialog', 'idle_prompt', 'auth_success'],
350
+ /** Max length of an accepted event or notification-type identifier. */
351
+ MAX_IDENTIFIER_LENGTH: 64,
352
+ /** Sessions whose latest hook signal is kept in memory (oldest dropped past this). */
353
+ MAX_TRACKED_SESSIONS: 500,
354
+ /** Accepted X-Agent-Session header value. */
355
+ SESSION_NAME_PATTERN: /^[A-Za-z0-9._-]{1,128}$/,
356
+ };
250
357
  /**
251
358
  * Session recreation (Step 2 full recreation in AgentRegistrationService).
252
359
  *
@@ -580,6 +687,44 @@ export const ACTIVITY_MONITOR_CONSTANTS = {
580
687
  * (spinners, TUI re-renders). Default: 15 minutes. */
581
688
  MAX_IN_PROGRESS_MS: 900_000,
582
689
  };
690
+ /**
691
+ * Give-up recovery (#841, specs/2026-09-27-give-up-recovery.md): when a worker
692
+ * stops on a feasibility give-up, queue a retry with a different approach,
693
+ * bounded per root WorkItem, then one escalation to the team lead.
694
+ */
695
+ export const GIVE_UP_RECOVERY_CONSTANTS = {
696
+ /** Retries per root WorkItem when the team sets no recoveryPolicy. */
697
+ DEFAULT_MAX_RETRIES: 2,
698
+ /** Retry WorkItem id: `${rootId}${RETRY_ID_INFIX}${attempt}`. */
699
+ RETRY_ID_INFIX: ':giveup:',
700
+ /** Escalation review WorkItem id: `${rootId}${REVIEW_ID_SUFFIX}`. */
701
+ REVIEW_ID_SUFFIX: ':review:gave_up',
702
+ /** WorkItem.metadata key for the recorded stop classification. */
703
+ STOP_METADATA_KEY: 'stop',
704
+ /** WorkItem.metadata key for the attempt log carried by retries. */
705
+ GIVE_UP_METADATA_KEY: 'giveUp',
706
+ /** Characters of stop text kept per attempt. */
707
+ MAX_REASON_CHARS: 2000,
708
+ /** Audit label for transitions this feature makes. */
709
+ ACTOR_VIA: 'give-up-recovery',
710
+ };
711
+ /**
712
+ * Constants for the waiting_on_human attention verdict (#815).
713
+ * See specs/2026-09-26-agent-waiting-on-human.md.
714
+ */
715
+ export const AGENT_ATTENTION_CONSTANTS = {
716
+ /** Non-empty lines at the bottom of the screen the dialog rules examine.
717
+ * Dialogs render at the bottom; older answered dialogs sit above it. */
718
+ BOTTOM_LINES: 20,
719
+ /** Lines captured from the terminal buffer for the verdict (more than the
720
+ * 5 lines the activity diff uses, because a dialog spans ~15 lines). */
721
+ CAPTURE_LINES: 60,
722
+ /** How long an agent must stay waiting_on_human before the reconciler moves
723
+ * its running WorkItems to blocked (5 minutes). */
724
+ BLOCK_WORK_ITEM_AFTER_MS: 300_000,
725
+ /** WorkItem blockedReason / escalation reason used for this state. */
726
+ BLOCKED_REASON: 'waiting_on_human',
727
+ };
583
728
  /**
584
729
  * Event bus constants for the agent event pub/sub system.
585
730
  * Used by EventBusService for subscription management and notification delivery.
@@ -701,6 +846,94 @@ export const WIKI_KB_CONSTANTS = {
701
846
  /** Frontmatter keys agents may set. */
702
847
  FRONTMATTER_KEYS: ['title', 'summary', 'keep_because', 'tags', 'visibility', 'source', 'caller', 'recorded', 'updated', 'superseded_by', 'superseded_at', 'superseded_reason', 'proposed_by'],
703
848
  };
849
+ /**
850
+ * Standing-answer pages (#816): a few question-anchored pages per scope,
851
+ * read at boot as a plain file read (no retrieval, no LLM) and refreshed by
852
+ * an agent only when the memory behind them has moved.
853
+ */
854
+ export const STANDING_ANSWERS_CONSTANTS = {
855
+ /** Project pages live here, under the project's `.crewly` data dir. */
856
+ PROJECT_DIR: 'wiki/llm-curated/standing',
857
+ /** The agent page, under `<CREWLY_HOME>/agents/<session>/`. */
858
+ AGENT_FILE: 'standing.md',
859
+ /** Page id of the agent page. */
860
+ AGENT_PAGE_ID: 'unfinished-work',
861
+ /** Hard cap on the whole Standing Answers prompt section (~2 000 tokens). */
862
+ PROMPT_MAX_CHARS: 8000,
863
+ /** Cap on one page's body inside the prompt. */
864
+ PROMPT_PAGE_MAX_CHARS: 3000,
865
+ /** Cap on one section body written through the API. */
866
+ SECTION_MAX_CHARS: 1500,
867
+ /** Cap on a section heading. */
868
+ HEADING_MAX_CHARS: 80,
869
+ /** Cap on citations per section. */
870
+ MAX_CITES_PER_SECTION: 20,
871
+ /** Entries listed in a refresh WorkItem brief. */
872
+ BRIEF_MAX_ENTRIES: 30,
873
+ /** Characters of each entry shown in a refresh brief. */
874
+ BRIEF_ENTRY_MAX_CHARS: 240,
875
+ /** Refresh tick interval when CREWLY_WIKI_REFLECT_INTERVAL_MS is unset (the reflect default). */
876
+ REFRESH_INTERVAL_MS: 60 * 60 * 1000,
877
+ /** Minimum time between two refresh WorkItems for the same page. */
878
+ REFRESH_COOLDOWN_MS: 6 * 60 * 60 * 1000,
879
+ /** At most this many refresh WorkItems per tick (PTY paste-flood guard). */
880
+ REFRESH_MAX_CREATES_PER_TICK: 2,
881
+ /**
882
+ * A refresh WorkItem that failed or was cancelled without writing the page
883
+ * is retried even though the source watermark has not moved again (it
884
+ * otherwise would not be re-raised until new memory arrives). Bounded so a
885
+ * page that keeps failing does not retry forever.
886
+ */
887
+ REFRESH_MAX_RETRIES: 2,
888
+ /** Refresh bookkeeping (last raised watermark per page), under CREWLY_HOME. */
889
+ REFRESH_STATE_FILE: 'standing-refresh-state.json',
890
+ /** `metadata.kind` of refresh WorkItems. */
891
+ WORKITEM_KIND: 'standing-refresh',
892
+ /**
893
+ * Decisions whose title starts with this are task-completion records that
894
+ * report-status files automatically, not decisions; they are out of scope
895
+ * for "decisions in force" (in this repo: 229 of 327 decision entries).
896
+ */
897
+ COMPLETED_DECISION_PREFIX: '[COMPLETED]',
898
+ /**
899
+ * Agent-memory entries starting with this are report-status completion
900
+ * learnings ("Task completed: <summary>"). Done work is neither
901
+ * unfinished nor blocking, so they are out of scope for the agent page
902
+ * and do not move its watermark; "Task failed:"/"Task blocked:" stay in.
903
+ */
904
+ COMPLETED_LEARNING_PREFIX: 'Task completed:',
905
+ };
906
+ /**
907
+ * Per-WorkItem git worktrees (#814). Opt-in per project in v1
908
+ * (`Project.worktrees = 'on'`); a team can opt out (`Team.worktrees =
909
+ * 'off'`); `CREWLY_WORKTREES=off` disables them everywhere.
910
+ */
911
+ export const WORKTREE_CONSTANTS = {
912
+ /** Worktrees live here, relative to the repo root (gitignored via .crewly). */
913
+ DIR: '.crewly/worktrees',
914
+ /** Per-worktree manifests (symlinks, copies, base) live here, inside DIR. */
915
+ META_DIR: '.meta',
916
+ /** Branch name prefix: `wi/<workItemId>`. */
917
+ BRANCH_PREFIX: 'wi/',
918
+ /** Repo-root file listing gitignored-but-needed files to copy in. */
919
+ INCLUDE_FILE: '.worktreeinclude',
920
+ /** Cap on `.worktreeinclude` entries honoured. */
921
+ INCLUDE_MAX_ENTRIES: 50,
922
+ /** Heavy directories symlinked (not copied) from the repo root when present and untracked. */
923
+ DEFAULT_SHARED_DIRS: ['node_modules'],
924
+ /** Marker line for the entries this feature adds to `.git/info/exclude`. */
925
+ EXCLUDE_MARKER: '# crewly worktree shared paths (#814) — never commit these',
926
+ /** Timeout for local git commands (checkout of a large repo can take minutes under load). */
927
+ GIT_TIMEOUT_MS: 10 * 60 * 1000,
928
+ /** Timeout for `git ls-remote` (offline must not hang the sweep). */
929
+ REMOTE_TIMEOUT_MS: 15_000,
930
+ /** Orphan sweep interval. */
931
+ SWEEP_INTERVAL_MS: 30 * 60 * 1000,
932
+ /** Kill switch env var; the value `off` disables worktrees everywhere. */
933
+ ENV_KILL_SWITCH: 'CREWLY_WORKTREES',
934
+ /** WorkItem metadata key holding the worktree record. */
935
+ METADATA_KEY: 'worktree',
936
+ };
704
937
  /** How many recent thread channels an owner notification tries before giving up when SLACK_DEFAULT_CHANNEL is unset. */
705
938
  export const SLACK_NOTIFICATION_FALLBACK_MAX_CANDIDATES = 4;
706
939
  /**
@@ -1420,7 +1653,15 @@ export const FRESH_TASK_CONVERSATION_CONSTANTS = {
1420
1653
  ENV_TOGGLE: 'CREWLY_FRESH_TASK_CONVERSATION',
1421
1654
  /** Under CREWLY_HOME: `{ [session]: lastDeliveredRootId }` */
1422
1655
  STATE_FILE: 'fresh-task-conversation.json',
1423
- /** Id suffixes that mark follow-ups of the same task (retries, verifies, reviews) */
1656
+ /**
1657
+ * Id suffixes that mark follow-ups of the same task (retries, verifies,
1658
+ * reviews). Deliberately excludes give-up recovery's `:giveup:N` (#841,
1659
+ * #843): a give-up retry is meant to be a materially DIFFERENT approach,
1660
+ * and its WorkItem description already carries the full attempt log, so
1661
+ * nothing is lost by treating it as a new root — the agent starts that
1662
+ * retry with a fresh conversation instead of one anchored on the
1663
+ * reasoning that just failed. See give-up-recovery.service.ts buildRetry.
1664
+ */
1424
1665
  ROOT_SUFFIX_MARKERS: [':retry:', ':verify:', ':review:'],
1425
1666
  /** The Claude Code command that starts a new conversation */
1426
1667
  CLEAR_COMMAND: '/clear',
@@ -1448,6 +1689,44 @@ export const FRESH_TASK_CONVERSATION_CONSTANTS = {
1448
1689
  MEMORY_MAX_CHARS: 4_000,
1449
1690
  /** Members start fresh at launch when their last turn carried this many tokens. Env: CREWLY_MEMBER_FRESH_CONTEXT_TOKENS */
1450
1691
  MEMBER_FRESH_CONTEXT_TOKENS: 150_000,
1692
+ /**
1693
+ * Idle-boundary context cap: a Claude Code member (never the orchestrator)
1694
+ * whose last turn carried more than this many tokens is saved (handover +
1695
+ * wiki) and cleared between turns, then re-oriented on its WorkItem. One
1696
+ * long task can otherwise run 1000+ turns at 650k–965k context.
1697
+ */
1698
+ MEMBER_CONTEXT_CAP_TOKENS: 300_000,
1699
+ /** Env override for {@link MEMBER_CONTEXT_CAP_TOKENS}; `0` disables the cap */
1700
+ MEMBER_CONTEXT_CAP_ENV: 'CREWLY_MEMBER_CONTEXT_CAP_TOKENS',
1701
+ /** At most one context-cap clear per session in this window */
1702
+ CONTEXT_CAP_MIN_INTERVAL_MS: 20 * 60_000,
1703
+ /**
1704
+ * The PTY must have been quiet this long before a context-cap clear —
1705
+ * longer than {@link MIN_QUIET_MS} because nothing is waiting on it and a
1706
+ * turn that merely paused must not be cut.
1707
+ */
1708
+ CONTEXT_CAP_MIN_QUIET_MS: 30_000,
1709
+ /** How often the context-cap sweep checks members */
1710
+ CONTEXT_CAP_SWEEP_MS: 60_000,
1711
+ /** Tag on the re-orientation line written after a context-cap clear */
1712
+ CONTEXT_CAP_TAG: '[CREWLY-CONTEXT-CAP]',
1713
+ };
1714
+ /**
1715
+ * Cooperation between a direct task hand-over (team-leader delegate-task:
1716
+ * `/task-pool/add`, then `/terminal/:s/deliver` with the full brief) and the
1717
+ * WorkItem dispatcher's `workitem:queued` push, so a task reaches its agent
1718
+ * once and the fresh-conversation clear happens once, before that delivery.
1719
+ */
1720
+ export const DIRECT_DELIVERY_CONSTANTS = {
1721
+ /** WorkItem metadata flag set by callers that deliver the task text themselves */
1722
+ METADATA_FLAG: 'directDelivery',
1723
+ /**
1724
+ * How long the dispatcher holds off a `workitem:queued` push for a
1725
+ * direct-delivery WorkItem. Covers the delegate-task ladder: deliver
1726
+ * (15 s ready wait) → force → auto-start + 10 s + deliver (30 s). After
1727
+ * this, if nobody delivered it, the dispatcher pushes its brief.
1728
+ */
1729
+ GRACE_MS: 90_000,
1451
1730
  };
1452
1731
  /**
1453
1732
  * Default model for Claude Code team members that have no `modelId`: members
@@ -2878,6 +3157,33 @@ export const SELF_IMPROVEMENT_CONSTANTS = {
2878
3157
  INACCURATE: ['incorrect', 'inaccurate', 'false', 'no', 'wrong', 'missed'],
2879
3158
  },
2880
3159
  };
3160
+ /**
3161
+ * Daily owner receipt (#828): one phone-readable message every evening with
3162
+ * every ask of the window, its outcome and link, what waits on the owner, and
3163
+ * what it cost. See specs/owner-receipt.md.
3164
+ */
3165
+ export const OWNER_RECEIPT_CONSTANTS = {
3166
+ /** Default local send time (HH:MM, 24h) */
3167
+ DEFAULT_TIME: '21:00',
3168
+ /** Default owner time zone (same default as team-health off-hours) */
3169
+ DEFAULT_TIMEZONE: 'America/New_York',
3170
+ /** How often the scheduler checks whether it is time (ms) */
3171
+ TICK_INTERVAL_MS: 60 * 1000,
3172
+ /** Settings + last-sent state, under ~/.crewly */
3173
+ STATE_FILENAME: 'owner-receipt.json',
3174
+ /** An ask is shortened to this many characters (CJK count double) */
3175
+ MAX_ASK_WEIGHTED_LENGTH: 56,
3176
+ /** A waiting-on-you question is shortened to this many characters */
3177
+ MAX_QUESTION_WEIGHTED_LENGTH: 90,
3178
+ /** Ask lines in the Slack message before "另有 N 件" (phone length) */
3179
+ MAX_ASK_LINES: 30,
3180
+ /** Waiting-on-you lines before "另有 N 件" */
3181
+ MAX_WAITING_LINES: 12,
3182
+ /** 「可能漏记」 lines: appended messages that still read like a request (#828 coverage) */
3183
+ MAX_POSSIBLY_MISSED: 5,
3184
+ /** Team label for a ticket nobody is assigned to */
3185
+ UNASSIGNED_TEAM: '未分配',
3186
+ };
2881
3187
  /**
2882
3188
  * Ticket loop (specs/ticket-loop.md, Phase 1): owner messages become tickets
2883
3189
  * (a `Request` with a TKT number), receipts go back where the owner spoke,
@@ -2890,6 +3196,13 @@ export const TICKET_CONSTANTS = {
2890
3196
  NUMBER_PAD: 3,
2891
3197
  /** Counter file inside the requests dir (no `.json`, so listAll never reads it) */
2892
3198
  COUNTER_FILENAME: '.ticket-counter',
3199
+ /**
3200
+ * #828 coverage: one JSON line per owner message intake handled
3201
+ * (created / appended / ignored + reason), next to the Request files. The
3202
+ * first line records when counting started, so a window that begins
3203
+ * earlier is reported as unknown (不详), never as 0.
3204
+ */
3205
+ INTAKE_LOG_FILENAME: '.intake-outcomes.jsonl',
2893
3206
  /** Tag every ticket carries */
2894
3207
  TAG: 'ticket',
2895
3208
  /** Tag added when the owner said "don't track" */
@@ -2900,8 +3213,81 @@ export const TICKET_CONSTANTS = {
2900
3213
  * (7 CJK = 14), while "好的收到" (8) does not.
2901
3214
  */
2902
3215
  MIN_WEIGHTED_TEXT_LENGTH: 12,
3216
+ /** Tag on a ticket an agent split out of another (#827) */
3217
+ SPLIT_TAG: 'split',
2903
3218
  /** A bare "don't track" reply dismisses the ticket it answers */
2904
3219
  DISMISS_PATTERN: /^\s*(不用记|别记|不用记录|不要记|取消记录|don'?t track|do not track|no ticket)\s*[。.!!]*\s*$/i,
3220
+ /**
3221
+ * Ask classifier (#827): is an owner message a new ask, or a follow-up on
3222
+ * the thread's current deliverable? Deterministic, text only. Every
3223
+ * pattern below was taken from real owner messages of 2026-09-25/26 — see
3224
+ * ticket-ask-classifier.test.ts for the labelled set. Scoring and the
3225
+ * tie rule live in ticket-ask-classifier.ts.
3226
+ */
3227
+ ASK: {
3228
+ /** A request verb: something to go and do (+2 ask) */
3229
+ REQUEST_VERB: /(研究|调研|查一下|查查|搜一下|搜索一下|搜搜|搜一搜|找一下|找找|(看看|看一下|看下)(?!上面|这个|吧|吗|嘛|呢|[??。!!~]|\s*$)|了解一下|分析一下|深挖|挖一下|总结|汇总|对比|比较一下|开\s*(个|一个|几个)?\s*issues?|提\s*(个|一个)?\s*issues?|发给|发到|做成|生成|加到|添加|帮我|帮忙|给我(讲讲|发|找|整理|列)|给我看看\S|告诉我|按\s*\S{1,12}\s*(分组|归类|group)|\bgroup\b|让\S{1,12}去|monitor|盯一下|提醒我|跑一下|部署|\bresearch\b|look into|dig into|find out|summari[sz]e|\bcompare\b|(open|file|create)\s+(the\s+\S+\s+to\s+)?(an?\s+|github\s+)?issues?|github issues?|write (up|a |an )|\bdraft\b|tell me|explain)/i,
3230
+ /**
3231
+ * An explicit request construction (+3 ask instead of +2). Survives the
3232
+ * long-discussion damping: 「你能不能帮我…总结成一个MD文档」 inside a
3233
+ * voice transcript is still an ask.
3234
+ */
3235
+ STRONG_REQUEST: /(你能不能帮我|能不能帮我|你能帮我|我希望你|希望.{0,4}你们?(能|可以)|我建议你|需要你去|(?<!谢谢)你帮我(?!\s*draft)|帮我把|创建对应的|创建一个)/,
3236
+ /** A question that asks for information (+1 ask; on its own, a question ticket) */
3237
+ INFO_QUESTION: /(是什么|什么意思|是讲什么|讲的是什么|是啥|怎么回事|区别|有什么值得|有什么可以|能有什么|有哪些|都有什么|有几个|有多少|有没有|what is|what's|what does|what even|how does|how do)/i,
3238
+ /** The message points at something to look at: a link, an image, a file path */
3239
+ REFERENCE: /(https?:\/\/|\[Slack (Image|File):|[\w-]+\/[\w./-]+\.(md|pdf|png|jpe?g))/i,
3240
+ /** A bare 「看看」 (look) — an ask only when it has a reference to look at */
3241
+ LOOK: /(看看|看一下|看下|看一看)/,
3242
+ /** Opens a new topic, near the start (+1 ask) */
3243
+ NEW_TOPIC: /^.{0,6}(另外|还有一个|还有个|另一个|新的想法|有一个新的|对了)/,
3244
+ /** Suggests something new to do (+1 ask) */
3245
+ IDEA: /(我们(crewly)?也可以|我们可以|要不(要)?|不如|可以考虑)/i,
3246
+ /** First line is a numbered reply to the agent's list (+3 follow) */
3247
+ NUMBERED_REPLY: /^\s*(1[.、))]|1\s|1和|关于1|①)/,
3248
+ /**
3249
+ * How the CURRENT deliverable should be delivered (+3 follow). Needs a
3250
+ * delivery verb: a bare `00-plan.md` path is not an instruction.
3251
+ */
3252
+ DELIVERY_FORMAT: /((发|给我|存|转|用|通过|做成).{0,6}(pdf|md|markdown)|存到|写到.{0,20}(md|文档|issue)|放到|preview|文字稿)/i,
3253
+ /** Clarifies or corrects the work in progress (+2 follow) */
3254
+ CLARIFY: /(我只是|我的意思|我是说|除非你|不是说|不是让你|就是说|没关系|算了|先不|先留|backlog|后面再|以后再|不着急|不用了|不需要|等一下|按你说的|你决定|你来定|你们来定|请你们来|主要是)/,
3255
+ /** Feedback on the current draft (+3 follow) */
3256
+ FEEDBACK: /(基本上?可以|整体看?可以|还可以再|再斟酌|打磨|少了|多了|改成|改一下|基本对)/,
3257
+ /** Asks the agent about its own work or plan (+2 follow) */
3258
+ ABOUT_AGENT_WORK: /(你打算|你觉得|你有数|你看到|你去调研的时候|你那边|你有什么想法|你是怎么|你怎么|你有吗|我前面问|之前问|前面说了|再问一次)/,
3259
+ /**
3260
+ * Opens by correcting or choosing (+3 follow): 「不对 我要你研究的是…」,
3261
+ * 「不是前面…」, 「方案A」 — a reply to the agent, never a new ask.
3262
+ */
3263
+ CORRECTION_OR_CHOICE: /^(不对|不是|不用|sorry|方案\s*[A-Za-z0-9一二三]|选\s*[A-Za-z0-9一二三]|[A-Da-d][。.,,\s]|按推荐|按你推荐)/i,
3264
+ /** 「…给我看看吗」: show me the current thing (+3 follow) */
3265
+ SHOW_ME_TAIL: /给我看看?[吗嘛呢??\s]*$/,
3266
+ /** Retry / continue the current work (+3 follow): 「你再看看」「按你说的继续挖」 */
3267
+ RETRY_CONTINUE: /(再看看|再看一次|再试试|你再|重新|继续|接着)/,
3268
+ /** Ends as a suggestion about the current work (+3 follow): 「…添加一些截图吧?」 */
3269
+ SUGGEST_TAIL: /吧[??]?\s*$/,
3270
+ /** Asks where things stand (+3 follow; top level: not an ask) */
3271
+ STATUS_PING: /(在线了吗|好了吗|怎么样了|现在呢|有听吗|进展|进度|到哪了|有数了吗|登陆了吗|登陆过了|在吗|done yet|any update|how'?s it going|\bstatus\b|right now|working on)/i,
3272
+ /**
3273
+ * A line that approves what the agent proposed: starts with an ack and
3274
+ * ends in approval ("好的 开issue可以的", "好的 部署吧") (+3 follow)
3275
+ */
3276
+ APPROVAL_LINE: /^(好的?|行|可以|ok|okay|嗯+|对|对的|没问题|挺好的?)[\s,,。!!]*(\S.{0,24}?(可以的?|就行|没问题|吧)[\s。!!~]*)?$/i,
3277
+ /** A line that is only an acknowledgement (ignored when scoring the rest) */
3278
+ ACK_ONLY_LINE: /^(好的?|行|可以|ok|okay|嗯+|对|对的|没问题|挺好的?|收到|谢谢|thx|thanks)[\s,,。!!~]*$/i,
3279
+ /**
3280
+ * Weighted length above which a message reads as spoken discussion (a
3281
+ * voice transcript): a follow-up unless it opens a new topic (+2 follow)
3282
+ */
3283
+ LONG_DISCUSSION_WEIGHTED_LENGTH: 300,
3284
+ /** Ends like a question (a verb-less question in a thread needs one) */
3285
+ QUESTION_MARK: /([??吗呢]|是什么|什么意思|是啥|的区别是什么)\s*$/m,
3286
+ /** Quoted text is content, not a request: 接住“能不能帮我做” asks nothing */
3287
+ QUOTED: /“[^”]*”|「[^」]*」|"[^"]*"/g,
3288
+ /** Minimum ask score for a new ask; it must also beat the follow score (ties append) */
3289
+ MIN_ASK_SCORE: 2,
3290
+ },
2905
3291
  /**
2906
3292
  * A top-level "不用记" (no thread) dismisses the latest open ticket from the
2907
3293
  * same conversation if it was opened this recently (ms).