crewly 1.6.3 → 1.6.5

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 (809) hide show
  1. package/config/roles/architect/prompt.md +68 -2
  2. package/config/roles/auditor/prompt.md +68 -0
  3. package/config/roles/backend-developer/prompt.md +68 -2
  4. package/config/roles/content-strategist/prompt.md +73 -5
  5. package/config/roles/designer/prompt.md +69 -4
  6. package/config/roles/developer/prompt.md +231 -4
  7. package/config/roles/frontend-developer/prompt.md +68 -2
  8. package/config/roles/fullstack-dev/prompt.md +68 -2
  9. package/config/roles/generalist/prompt.md +68 -2
  10. package/config/roles/ops/prompt.md +69 -3
  11. package/config/roles/orchestrator/fragments/communication.md +27 -0
  12. package/config/roles/orchestrator/fragments/role-boundary.md +1 -1
  13. package/config/roles/orchestrator/prompt.md +215 -72
  14. package/config/roles/product-manager/prompt.md +140 -7
  15. package/config/roles/qa/prompt.md +70 -5
  16. package/config/roles/qa-engineer/prompt.md +70 -5
  17. package/config/roles/researcher/prompt.md +68 -2
  18. package/config/roles/sales/prompt.md +70 -5
  19. package/config/roles/support/prompt.md +69 -4
  20. package/config/roles/team-leader/prompt.md +87 -6
  21. package/config/roles/team-leader/role-boundaries.md +26 -0
  22. package/config/roles/team-leader/tl-addon.md +153 -1
  23. package/config/roles/tpm/prompt.md +68 -2
  24. package/config/roles/ux-designer/prompt.md +70 -5
  25. package/config/skills/_common/complete-body-shape.test.sh +249 -0
  26. package/config/skills/agent/core/accept-task/execute.sh +18 -15
  27. package/config/skills/agent/core/block-task/execute.sh +27 -9
  28. package/config/skills/agent/core/cancel-followup/SKILL.md +18 -0
  29. package/config/skills/agent/core/complete-task/execute.sh +45 -7
  30. package/config/skills/agent/core/create-task/execute.sh +40 -12
  31. package/config/skills/agent/core/get-my-active-work/SKILL.md +3 -1
  32. package/config/skills/agent/core/get-my-tasks/execute.sh +7 -5
  33. package/config/skills/agent/core/handoff-task/execute.sh +34 -48
  34. package/config/skills/agent/core/list-my-followups/SKILL.md +18 -0
  35. package/config/skills/agent/core/read-task/execute.sh +21 -8
  36. package/config/skills/agent/core/recall/SKILL.md +7 -0
  37. package/config/skills/agent/core/remember/SKILL.md +17 -1
  38. package/config/skills/agent/core/remember/execute.sh +5 -1
  39. package/config/skills/agent/core/reply-channel/SKILL.md +19 -0
  40. package/config/skills/agent/core/report-progress/execute.sh +39 -16
  41. package/config/skills/agent/core/report-status/execute.sh +36 -12
  42. package/config/skills/agent/core/save-working-state/execute.sh +17 -6
  43. package/config/skills/agent/core/schedule-followup/SKILL.md +19 -0
  44. package/config/skills/agent/core/send-message/SKILL.md +6 -0
  45. package/config/skills/agent/core/supersede-memory/SKILL.md +76 -0
  46. package/config/skills/agent/core/supersede-memory/execute.sh +108 -0
  47. package/config/skills/agent/core/watch-for-event/SKILL.md +19 -0
  48. package/config/skills/agent/onboarding/materialize-team/SKILL.md +94 -0
  49. package/config/skills/agent/onboarding/materialize-team/execute.sh +98 -0
  50. package/config/skills/agent/onboarding/recommend-team/SKILL.md +90 -0
  51. package/config/skills/agent/onboarding/recommend-team/execute.sh +96 -0
  52. package/config/skills/agent/xhs-article-to-image/SKILL.md +20 -0
  53. package/config/skills/auditor/score-task/SKILL.md +15 -0
  54. package/config/skills/orchestrator/assign-task/execute.sh +28 -4
  55. package/config/skills/orchestrator/cancel-all-schedules/SKILL.md +15 -1
  56. package/config/skills/orchestrator/complete-task/execute.sh +45 -4
  57. package/config/skills/orchestrator/delegate-task/SKILL.md +1 -0
  58. package/config/skills/orchestrator/delegate-task/execute.sh +41 -2
  59. package/config/skills/orchestrator/get-tasks/execute.sh +22 -18
  60. package/config/skills/orchestrator/list-schedules/SKILL.md +15 -1
  61. package/config/skills/orchestrator/update-team-member/SKILL.md +20 -0
  62. package/config/skills/team-leader/decompose-goal/execute.sh +51 -20
  63. package/config/skills/team-leader/delegate-task/execute.sh +67 -26
  64. package/config/skills/team-leader/delegate-task/execute.test.sh +117 -0
  65. package/config/skills/team-leader/verify-output/execute.sh +19 -20
  66. package/config/sops/common/dev-process-tiers.md +181 -0
  67. package/config/sops/common/owner-facing-communication.md +131 -0
  68. package/config/souls/orchestrator.md +8 -0
  69. package/config/souls/team-leader.md +77 -0
  70. package/dist/backend/backend/src/controllers/active-work/active-work.controller.d.ts.map +1 -1
  71. package/dist/backend/backend/src/controllers/active-work/active-work.controller.js +4 -1
  72. package/dist/backend/backend/src/controllers/active-work/active-work.controller.js.map +1 -1
  73. package/dist/backend/backend/src/controllers/agent-stream/agent-stream.controller.d.ts +8 -1
  74. package/dist/backend/backend/src/controllers/agent-stream/agent-stream.controller.d.ts.map +1 -1
  75. package/dist/backend/backend/src/controllers/agent-stream/agent-stream.controller.js +30 -26
  76. package/dist/backend/backend/src/controllers/agent-stream/agent-stream.controller.js.map +1 -1
  77. package/dist/backend/backend/src/controllers/api.controller.d.ts +0 -9
  78. package/dist/backend/backend/src/controllers/api.controller.d.ts.map +1 -1
  79. package/dist/backend/backend/src/controllers/api.controller.js +4 -32
  80. package/dist/backend/backend/src/controllers/api.controller.js.map +1 -1
  81. package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts.map +1 -1
  82. package/dist/backend/backend/src/controllers/chat/chat.controller.js +5 -2
  83. package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
  84. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.d.ts.map +1 -1
  85. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.js +5 -2
  86. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.js.map +1 -1
  87. package/dist/backend/backend/src/controllers/checklist/checklist.controller.d.ts +45 -0
  88. package/dist/backend/backend/src/controllers/checklist/checklist.controller.d.ts.map +1 -0
  89. package/dist/backend/backend/src/controllers/checklist/checklist.controller.js +122 -0
  90. package/dist/backend/backend/src/controllers/checklist/checklist.controller.js.map +1 -0
  91. package/dist/backend/backend/src/controllers/memory/memory.controller.d.ts +24 -0
  92. package/dist/backend/backend/src/controllers/memory/memory.controller.d.ts.map +1 -1
  93. package/dist/backend/backend/src/controllers/memory/memory.controller.js +69 -1
  94. package/dist/backend/backend/src/controllers/memory/memory.controller.js.map +1 -1
  95. package/dist/backend/backend/src/controllers/memory/memory.routes.d.ts +1 -0
  96. package/dist/backend/backend/src/controllers/memory/memory.routes.d.ts.map +1 -1
  97. package/dist/backend/backend/src/controllers/memory/memory.routes.js +3 -1
  98. package/dist/backend/backend/src/controllers/memory/memory.routes.js.map +1 -1
  99. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts.map +1 -1
  100. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js +80 -5
  101. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js.map +1 -1
  102. package/dist/backend/backend/src/controllers/onboarding/onboarding.routes.d.ts +1 -0
  103. package/dist/backend/backend/src/controllers/onboarding/onboarding.routes.d.ts.map +1 -1
  104. package/dist/backend/backend/src/controllers/onboarding/onboarding.routes.js +30 -0
  105. package/dist/backend/backend/src/controllers/onboarding/onboarding.routes.js.map +1 -1
  106. package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.controller.d.ts +41 -0
  107. package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.controller.d.ts.map +1 -0
  108. package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.controller.js +213 -0
  109. package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.controller.js.map +1 -0
  110. package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.routes.d.ts +21 -0
  111. package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.routes.d.ts.map +1 -0
  112. package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.routes.js +27 -0
  113. package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.routes.js.map +1 -0
  114. package/dist/backend/backend/src/controllers/slack/slack.controller.d.ts.map +1 -1
  115. package/dist/backend/backend/src/controllers/slack/slack.controller.js +97 -0
  116. package/dist/backend/backend/src/controllers/slack/slack.controller.js.map +1 -1
  117. package/dist/backend/backend/src/controllers/task-management/in-progress-tasks.controller.d.ts +13 -3
  118. package/dist/backend/backend/src/controllers/task-management/in-progress-tasks.controller.d.ts.map +1 -1
  119. package/dist/backend/backend/src/controllers/task-management/in-progress-tasks.controller.js +29 -24
  120. package/dist/backend/backend/src/controllers/task-management/in-progress-tasks.controller.js.map +1 -1
  121. package/dist/backend/backend/src/controllers/task-management/tasks.controller.d.ts.map +1 -1
  122. package/dist/backend/backend/src/controllers/task-management/tasks.controller.js +61 -13
  123. package/dist/backend/backend/src/controllers/task-management/tasks.controller.js.map +1 -1
  124. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts +159 -7
  125. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts.map +1 -1
  126. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js +421 -37
  127. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js.map +1 -1
  128. package/dist/backend/backend/src/controllers/task-pool/task-pool.routes.d.ts.map +1 -1
  129. package/dist/backend/backend/src/controllers/task-pool/task-pool.routes.js +15 -1
  130. package/dist/backend/backend/src/controllers/task-pool/task-pool.routes.js.map +1 -1
  131. package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
  132. package/dist/backend/backend/src/controllers/team/team.controller.js +221 -10
  133. package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
  134. package/dist/backend/backend/src/controllers/teams-backup/teams-backup.controller.d.ts +22 -0
  135. package/dist/backend/backend/src/controllers/teams-backup/teams-backup.controller.d.ts.map +1 -1
  136. package/dist/backend/backend/src/controllers/teams-backup/teams-backup.controller.js +92 -0
  137. package/dist/backend/backend/src/controllers/teams-backup/teams-backup.controller.js.map +1 -1
  138. package/dist/backend/backend/src/controllers/teams-backup/teams-backup.routes.d.ts.map +1 -1
  139. package/dist/backend/backend/src/controllers/teams-backup/teams-backup.routes.js +6 -2
  140. package/dist/backend/backend/src/controllers/teams-backup/teams-backup.routes.js.map +1 -1
  141. package/dist/backend/backend/src/controllers/types.d.ts +1 -2
  142. package/dist/backend/backend/src/controllers/types.d.ts.map +1 -1
  143. package/dist/backend/backend/src/index.d.ts +4 -1
  144. package/dist/backend/backend/src/index.d.ts.map +1 -1
  145. package/dist/backend/backend/src/index.js +307 -64
  146. package/dist/backend/backend/src/index.js.map +1 -1
  147. package/dist/backend/backend/src/models/Project.d.ts +2 -0
  148. package/dist/backend/backend/src/models/Project.d.ts.map +1 -1
  149. package/dist/backend/backend/src/models/Project.js +10 -1
  150. package/dist/backend/backend/src/models/Project.js.map +1 -1
  151. package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
  152. package/dist/backend/backend/src/routes/api.routes.js +4 -1
  153. package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
  154. package/dist/backend/backend/src/routes/modules/task-management.routes.d.ts +15 -0
  155. package/dist/backend/backend/src/routes/modules/task-management.routes.d.ts.map +1 -1
  156. package/dist/backend/backend/src/routes/modules/task-management.routes.js +23 -43
  157. package/dist/backend/backend/src/routes/modules/task-management.routes.js.map +1 -1
  158. package/dist/backend/backend/src/scripts/cleanup-stale-pool.lib.d.ts +87 -0
  159. package/dist/backend/backend/src/scripts/cleanup-stale-pool.lib.d.ts.map +1 -0
  160. package/dist/backend/backend/src/scripts/cleanup-stale-pool.lib.js +116 -0
  161. package/dist/backend/backend/src/scripts/cleanup-stale-pool.lib.js.map +1 -0
  162. package/dist/backend/backend/src/services/agent/active-work-briefing.service.d.ts +46 -6
  163. package/dist/backend/backend/src/services/agent/active-work-briefing.service.d.ts.map +1 -1
  164. package/dist/backend/backend/src/services/agent/active-work-briefing.service.js +56 -13
  165. package/dist/backend/backend/src/services/agent/active-work-briefing.service.js.map +1 -1
  166. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +9 -0
  167. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  168. package/dist/backend/backend/src/services/agent/agent-registration.service.js +58 -11
  169. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  170. package/dist/backend/backend/src/services/agent/context-window-monitor.service.d.ts +31 -5
  171. package/dist/backend/backend/src/services/agent/context-window-monitor.service.d.ts.map +1 -1
  172. package/dist/backend/backend/src/services/agent/context-window-monitor.service.js +69 -29
  173. package/dist/backend/backend/src/services/agent/context-window-monitor.service.js.map +1 -1
  174. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts.map +1 -1
  175. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js +113 -75
  176. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js.map +1 -1
  177. package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.d.ts.map +1 -1
  178. package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.js +5 -3
  179. package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.js.map +1 -1
  180. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.d.ts +35 -0
  181. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.d.ts.map +1 -1
  182. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js +127 -3
  183. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js.map +1 -1
  184. package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.d.ts +79 -0
  185. package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.d.ts.map +1 -0
  186. package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.js +145 -0
  187. package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.js.map +1 -0
  188. package/dist/backend/backend/src/services/agent/crewly-agent/in-process-runtime-registry.d.ts +91 -0
  189. package/dist/backend/backend/src/services/agent/crewly-agent/in-process-runtime-registry.d.ts.map +1 -0
  190. package/dist/backend/backend/src/services/agent/crewly-agent/in-process-runtime-registry.js +120 -0
  191. package/dist/backend/backend/src/services/agent/crewly-agent/in-process-runtime-registry.js.map +1 -0
  192. package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.d.ts +64 -9
  193. package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.d.ts.map +1 -1
  194. package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.js +125 -15
  195. package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.js.map +1 -1
  196. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.d.ts.map +1 -1
  197. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js +101 -33
  198. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js.map +1 -1
  199. package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts +76 -1
  200. package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts.map +1 -1
  201. package/dist/backend/backend/src/services/agent/crewly-agent/types.js +73 -1
  202. package/dist/backend/backend/src/services/agent/crewly-agent/types.js.map +1 -1
  203. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts +5 -5
  204. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts.map +1 -1
  205. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js +22 -8
  206. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js.map +1 -1
  207. package/dist/backend/backend/src/services/ai/prompt-builder.service.d.ts +10 -0
  208. package/dist/backend/backend/src/services/ai/prompt-builder.service.d.ts.map +1 -1
  209. package/dist/backend/backend/src/services/ai/prompt-builder.service.js +160 -4
  210. package/dist/backend/backend/src/services/ai/prompt-builder.service.js.map +1 -1
  211. package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.d.ts +37 -0
  212. package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.d.ts.map +1 -1
  213. package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.js +77 -3
  214. package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.js.map +1 -1
  215. package/dist/backend/backend/src/services/ai/prompt-modules/decision-rights.module.d.ts +59 -0
  216. package/dist/backend/backend/src/services/ai/prompt-modules/decision-rights.module.d.ts.map +1 -0
  217. package/dist/backend/backend/src/services/ai/prompt-modules/decision-rights.module.js +87 -0
  218. package/dist/backend/backend/src/services/ai/prompt-modules/decision-rights.module.js.map +1 -0
  219. package/dist/backend/backend/src/services/ai/prompt-modules/default-execution-loop.module.d.ts +67 -0
  220. package/dist/backend/backend/src/services/ai/prompt-modules/default-execution-loop.module.d.ts.map +1 -0
  221. package/dist/backend/backend/src/services/ai/prompt-modules/default-execution-loop.module.js +84 -0
  222. package/dist/backend/backend/src/services/ai/prompt-modules/default-execution-loop.module.js.map +1 -0
  223. package/dist/backend/backend/src/services/ai/prompt-modules/index.d.ts +4 -0
  224. package/dist/backend/backend/src/services/ai/prompt-modules/index.d.ts.map +1 -1
  225. package/dist/backend/backend/src/services/ai/prompt-modules/index.js +4 -0
  226. package/dist/backend/backend/src/services/ai/prompt-modules/index.js.map +1 -1
  227. package/dist/backend/backend/src/services/ai/prompt-modules/lazy-anti-patterns.module.d.ts +65 -0
  228. package/dist/backend/backend/src/services/ai/prompt-modules/lazy-anti-patterns.module.d.ts.map +1 -0
  229. package/dist/backend/backend/src/services/ai/prompt-modules/lazy-anti-patterns.module.js +79 -0
  230. package/dist/backend/backend/src/services/ai/prompt-modules/lazy-anti-patterns.module.js.map +1 -0
  231. package/dist/backend/backend/src/services/ai/prompt-modules/mission-context.module.d.ts +60 -0
  232. package/dist/backend/backend/src/services/ai/prompt-modules/mission-context.module.d.ts.map +1 -0
  233. package/dist/backend/backend/src/services/ai/prompt-modules/mission-context.module.js +104 -0
  234. package/dist/backend/backend/src/services/ai/prompt-modules/mission-context.module.js.map +1 -0
  235. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.d.ts.map +1 -1
  236. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.js +45 -0
  237. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.js.map +1 -1
  238. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts +16 -0
  239. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts.map +1 -1
  240. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.js.map +1 -1
  241. package/dist/backend/backend/src/services/ai/prompt-modules/request-contract.module.d.ts +106 -0
  242. package/dist/backend/backend/src/services/ai/prompt-modules/request-contract.module.d.ts.map +1 -0
  243. package/dist/backend/backend/src/services/ai/prompt-modules/request-contract.module.js +167 -0
  244. package/dist/backend/backend/src/services/ai/prompt-modules/request-contract.module.js.map +1 -0
  245. package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.d.ts.map +1 -1
  246. package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.js +28 -0
  247. package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.js.map +1 -1
  248. package/dist/backend/backend/src/services/ai/prompt-modules/soul.module.d.ts +38 -6
  249. package/dist/backend/backend/src/services/ai/prompt-modules/soul.module.d.ts.map +1 -1
  250. package/dist/backend/backend/src/services/ai/prompt-modules/soul.module.js +73 -10
  251. package/dist/backend/backend/src/services/ai/prompt-modules/soul.module.js.map +1 -1
  252. package/dist/backend/backend/src/services/ai/prompt-modules/working-memory.module.d.ts +91 -0
  253. package/dist/backend/backend/src/services/ai/prompt-modules/working-memory.module.d.ts.map +1 -0
  254. package/dist/backend/backend/src/services/ai/prompt-modules/working-memory.module.js +136 -0
  255. package/dist/backend/backend/src/services/ai/prompt-modules/working-memory.module.js.map +1 -0
  256. package/dist/backend/backend/src/services/autonomous/index.d.ts +7 -3
  257. package/dist/backend/backend/src/services/autonomous/index.d.ts.map +1 -1
  258. package/dist/backend/backend/src/services/autonomous/index.js +7 -3
  259. package/dist/backend/backend/src/services/autonomous/index.js.map +1 -1
  260. package/dist/backend/backend/src/services/browser/browser-bridge.service.d.ts.map +1 -1
  261. package/dist/backend/backend/src/services/browser/browser-bridge.service.js +16 -22
  262. package/dist/backend/backend/src/services/browser/browser-bridge.service.js.map +1 -1
  263. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts +13 -0
  264. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
  265. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js +15 -0
  266. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
  267. package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.d.ts +11 -0
  268. package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.d.ts.map +1 -1
  269. package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.js +51 -19
  270. package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.js.map +1 -1
  271. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts +18 -0
  272. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts.map +1 -1
  273. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js +23 -0
  274. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js.map +1 -1
  275. package/dist/backend/backend/src/services/core/config.service.d.ts.map +1 -1
  276. package/dist/backend/backend/src/services/core/config.service.js +8 -1
  277. package/dist/backend/backend/src/services/core/config.service.js.map +1 -1
  278. package/dist/backend/backend/src/services/core/crewly-home.utils.d.ts +51 -0
  279. package/dist/backend/backend/src/services/core/crewly-home.utils.d.ts.map +1 -0
  280. package/dist/backend/backend/src/services/core/crewly-home.utils.js +59 -0
  281. package/dist/backend/backend/src/services/core/crewly-home.utils.js.map +1 -0
  282. package/dist/backend/backend/src/services/core/state-invariant.types.d.ts +53 -0
  283. package/dist/backend/backend/src/services/core/state-invariant.types.d.ts.map +1 -0
  284. package/dist/backend/backend/src/services/core/state-invariant.types.js +61 -0
  285. package/dist/backend/backend/src/services/core/state-invariant.types.js.map +1 -0
  286. package/dist/backend/backend/src/services/core/storage.service.d.ts +20 -0
  287. package/dist/backend/backend/src/services/core/storage.service.d.ts.map +1 -1
  288. package/dist/backend/backend/src/services/core/storage.service.js +96 -8
  289. package/dist/backend/backend/src/services/core/storage.service.js.map +1 -1
  290. package/dist/backend/backend/src/services/core/teams-backup.service.d.ts +94 -4
  291. package/dist/backend/backend/src/services/core/teams-backup.service.d.ts.map +1 -1
  292. package/dist/backend/backend/src/services/core/teams-backup.service.js +172 -10
  293. package/dist/backend/backend/src/services/core/teams-backup.service.js.map +1 -1
  294. package/dist/backend/backend/src/services/index.d.ts +0 -2
  295. package/dist/backend/backend/src/services/index.d.ts.map +1 -1
  296. package/dist/backend/backend/src/services/index.js +0 -2
  297. package/dist/backend/backend/src/services/index.js.map +1 -1
  298. package/dist/backend/backend/src/services/intent-task/intent-classifier.fixture.d.ts +78 -0
  299. package/dist/backend/backend/src/services/intent-task/intent-classifier.fixture.d.ts.map +1 -0
  300. package/dist/backend/backend/src/services/intent-task/intent-classifier.fixture.js +209 -0
  301. package/dist/backend/backend/src/services/intent-task/intent-classifier.fixture.js.map +1 -0
  302. package/dist/backend/backend/src/services/intent-task/intent-classifier.rules.d.ts +331 -0
  303. package/dist/backend/backend/src/services/intent-task/intent-classifier.rules.d.ts.map +1 -0
  304. package/dist/backend/backend/src/services/intent-task/intent-classifier.rules.js +413 -0
  305. package/dist/backend/backend/src/services/intent-task/intent-classifier.rules.js.map +1 -0
  306. package/dist/backend/backend/src/services/intent-task/intent-task.service.d.ts.map +1 -1
  307. package/dist/backend/backend/src/services/intent-task/intent-task.service.js +13 -4
  308. package/dist/backend/backend/src/services/intent-task/intent-task.service.js.map +1 -1
  309. package/dist/backend/backend/src/services/knowledge/fts5-index.service.d.ts.map +1 -1
  310. package/dist/backend/backend/src/services/knowledge/fts5-index.service.js +18 -13
  311. package/dist/backend/backend/src/services/knowledge/fts5-index.service.js.map +1 -1
  312. package/dist/backend/backend/src/services/knowledge/fts5-query-sanitizer.d.ts +102 -0
  313. package/dist/backend/backend/src/services/knowledge/fts5-query-sanitizer.d.ts.map +1 -0
  314. package/dist/backend/backend/src/services/knowledge/fts5-query-sanitizer.js +118 -0
  315. package/dist/backend/backend/src/services/knowledge/fts5-query-sanitizer.js.map +1 -0
  316. package/dist/backend/backend/src/services/knowledge/vector-store.service.d.ts.map +1 -1
  317. package/dist/backend/backend/src/services/knowledge/vector-store.service.js +11 -15
  318. package/dist/backend/backend/src/services/knowledge/vector-store.service.js.map +1 -1
  319. package/dist/backend/backend/src/services/memory/agent-memory.service.d.ts +20 -0
  320. package/dist/backend/backend/src/services/memory/agent-memory.service.d.ts.map +1 -1
  321. package/dist/backend/backend/src/services/memory/agent-memory.service.js +27 -2
  322. package/dist/backend/backend/src/services/memory/agent-memory.service.js.map +1 -1
  323. package/dist/backend/backend/src/services/memory/memory-supersession.service.d.ts +104 -0
  324. package/dist/backend/backend/src/services/memory/memory-supersession.service.d.ts.map +1 -0
  325. package/dist/backend/backend/src/services/memory/memory-supersession.service.js +127 -0
  326. package/dist/backend/backend/src/services/memory/memory-supersession.service.js.map +1 -0
  327. package/dist/backend/backend/src/services/memory/memory.service.d.ts +48 -17
  328. package/dist/backend/backend/src/services/memory/memory.service.d.ts.map +1 -1
  329. package/dist/backend/backend/src/services/memory/memory.service.js +65 -35
  330. package/dist/backend/backend/src/services/memory/memory.service.js.map +1 -1
  331. package/dist/backend/backend/src/services/memory/mission-context.service.d.ts +168 -0
  332. package/dist/backend/backend/src/services/memory/mission-context.service.d.ts.map +1 -0
  333. package/dist/backend/backend/src/services/memory/mission-context.service.js +365 -0
  334. package/dist/backend/backend/src/services/memory/mission-context.service.js.map +1 -0
  335. package/dist/backend/backend/src/services/memory/role-knowledge-eligibility.d.ts +138 -0
  336. package/dist/backend/backend/src/services/memory/role-knowledge-eligibility.d.ts.map +1 -0
  337. package/dist/backend/backend/src/services/memory/role-knowledge-eligibility.js +183 -0
  338. package/dist/backend/backend/src/services/memory/role-knowledge-eligibility.js.map +1 -0
  339. package/dist/backend/backend/src/services/memory/vector-store.service.d.ts.map +1 -1
  340. package/dist/backend/backend/src/services/memory/vector-store.service.js +7 -11
  341. package/dist/backend/backend/src/services/memory/vector-store.service.js.map +1 -1
  342. package/dist/backend/backend/src/services/memory/working-memory.service.d.ts +232 -0
  343. package/dist/backend/backend/src/services/memory/working-memory.service.d.ts.map +1 -0
  344. package/dist/backend/backend/src/services/memory/working-memory.service.js +417 -0
  345. package/dist/backend/backend/src/services/memory/working-memory.service.js.map +1 -0
  346. package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts.map +1 -1
  347. package/dist/backend/backend/src/services/messaging/queue-processor.service.js +23 -2
  348. package/dist/backend/backend/src/services/messaging/queue-processor.service.js.map +1 -1
  349. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js +2 -2
  350. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js.map +1 -1
  351. package/dist/backend/backend/src/services/monitoring/team-activity-websocket.service.d.ts +27 -7
  352. package/dist/backend/backend/src/services/monitoring/team-activity-websocket.service.d.ts.map +1 -1
  353. package/dist/backend/backend/src/services/monitoring/team-activity-websocket.service.js +66 -27
  354. package/dist/backend/backend/src/services/monitoring/team-activity-websocket.service.js.map +1 -1
  355. package/dist/backend/backend/src/services/monitoring/teams-json-watcher.service.d.ts.map +1 -1
  356. package/dist/backend/backend/src/services/monitoring/teams-json-watcher.service.js +2 -2
  357. package/dist/backend/backend/src/services/monitoring/teams-json-watcher.service.js.map +1 -1
  358. package/dist/backend/backend/src/services/observability/agent-behavior-log.service.d.ts +132 -0
  359. package/dist/backend/backend/src/services/observability/agent-behavior-log.service.d.ts.map +1 -0
  360. package/dist/backend/backend/src/services/observability/agent-behavior-log.service.js +284 -0
  361. package/dist/backend/backend/src/services/observability/agent-behavior-log.service.js.map +1 -0
  362. package/dist/backend/backend/src/services/observability/agent-behavior-log.singleton.d.ts +70 -0
  363. package/dist/backend/backend/src/services/observability/agent-behavior-log.singleton.d.ts.map +1 -0
  364. package/dist/backend/backend/src/services/observability/agent-behavior-log.singleton.js +121 -0
  365. package/dist/backend/backend/src/services/observability/agent-behavior-log.singleton.js.map +1 -0
  366. package/dist/backend/backend/src/services/observability/agent-behavior-log.types.d.ts +130 -0
  367. package/dist/backend/backend/src/services/observability/agent-behavior-log.types.d.ts.map +1 -0
  368. package/dist/backend/backend/src/services/observability/agent-behavior-log.types.js +48 -0
  369. package/dist/backend/backend/src/services/observability/agent-behavior-log.types.js.map +1 -0
  370. package/dist/backend/backend/src/services/observability/observability-db.d.ts +84 -0
  371. package/dist/backend/backend/src/services/observability/observability-db.d.ts.map +1 -0
  372. package/dist/backend/backend/src/services/observability/observability-db.js +165 -0
  373. package/dist/backend/backend/src/services/observability/observability-db.js.map +1 -0
  374. package/dist/backend/backend/src/services/onboarding/onboarding.service.d.ts +22 -0
  375. package/dist/backend/backend/src/services/onboarding/onboarding.service.d.ts.map +1 -1
  376. package/dist/backend/backend/src/services/onboarding/onboarding.service.js +36 -0
  377. package/dist/backend/backend/src/services/onboarding/onboarding.service.js.map +1 -1
  378. package/dist/backend/backend/src/services/onboarding/onboarding.types.d.ts +21 -2
  379. package/dist/backend/backend/src/services/onboarding/onboarding.types.d.ts.map +1 -1
  380. package/dist/backend/backend/src/services/orchestrator/improvement-marker.service.d.ts.map +1 -1
  381. package/dist/backend/backend/src/services/orchestrator/improvement-marker.service.js +12 -3
  382. package/dist/backend/backend/src/services/orchestrator/improvement-marker.service.js.map +1 -1
  383. package/dist/backend/backend/src/services/orchestrator/index.d.ts +1 -0
  384. package/dist/backend/backend/src/services/orchestrator/index.d.ts.map +1 -1
  385. package/dist/backend/backend/src/services/orchestrator/index.js +1 -0
  386. package/dist/backend/backend/src/services/orchestrator/index.js.map +1 -1
  387. package/dist/backend/backend/src/services/orchestrator/onboarding/materialize-team.d.ts +108 -0
  388. package/dist/backend/backend/src/services/orchestrator/onboarding/materialize-team.d.ts.map +1 -0
  389. package/dist/backend/backend/src/services/orchestrator/onboarding/materialize-team.js +165 -0
  390. package/dist/backend/backend/src/services/orchestrator/onboarding/materialize-team.js.map +1 -0
  391. package/dist/backend/backend/src/services/orchestrator/onboarding/recommend-team.d.ts +114 -0
  392. package/dist/backend/backend/src/services/orchestrator/onboarding/recommend-team.d.ts.map +1 -0
  393. package/dist/backend/backend/src/services/orchestrator/onboarding/recommend-team.js +299 -0
  394. package/dist/backend/backend/src/services/orchestrator/onboarding/recommend-team.js.map +1 -0
  395. package/dist/backend/backend/src/services/orchestrator/onboarding-bootstrap.service.d.ts +128 -0
  396. package/dist/backend/backend/src/services/orchestrator/onboarding-bootstrap.service.d.ts.map +1 -0
  397. package/dist/backend/backend/src/services/orchestrator/onboarding-bootstrap.service.js +195 -0
  398. package/dist/backend/backend/src/services/orchestrator/onboarding-bootstrap.service.js.map +1 -0
  399. package/dist/backend/backend/src/services/orchestrator/onboarding-mode-loader.d.ts +66 -0
  400. package/dist/backend/backend/src/services/orchestrator/onboarding-mode-loader.d.ts.map +1 -0
  401. package/dist/backend/backend/src/services/orchestrator/onboarding-mode-loader.js +145 -0
  402. package/dist/backend/backend/src/services/orchestrator/onboarding-mode-loader.js.map +1 -0
  403. package/dist/backend/backend/src/services/orchestrator/onboarding-mode.skill-allowlist.d.ts +59 -0
  404. package/dist/backend/backend/src/services/orchestrator/onboarding-mode.skill-allowlist.d.ts.map +1 -0
  405. package/dist/backend/backend/src/services/orchestrator/onboarding-mode.skill-allowlist.js +68 -0
  406. package/dist/backend/backend/src/services/orchestrator/onboarding-mode.skill-allowlist.js.map +1 -0
  407. package/dist/backend/backend/src/services/orchestrator/orchestrator-setup.service.d.ts +114 -0
  408. package/dist/backend/backend/src/services/orchestrator/orchestrator-setup.service.d.ts.map +1 -0
  409. package/dist/backend/backend/src/services/orchestrator/orchestrator-setup.service.js +195 -0
  410. package/dist/backend/backend/src/services/orchestrator/orchestrator-setup.service.js.map +1 -0
  411. package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.d.ts.map +1 -1
  412. package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.js +18 -6
  413. package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.js.map +1 -1
  414. package/dist/backend/backend/src/services/orchestrator/prompts/onboarding-mode.prompt.d.ts +67 -0
  415. package/dist/backend/backend/src/services/orchestrator/prompts/onboarding-mode.prompt.d.ts.map +1 -0
  416. package/dist/backend/backend/src/services/orchestrator/prompts/onboarding-mode.prompt.js +290 -0
  417. package/dist/backend/backend/src/services/orchestrator/prompts/onboarding-mode.prompt.js.map +1 -0
  418. package/dist/backend/backend/src/services/orchestrator/state-persistence.service.d.ts +23 -1
  419. package/dist/backend/backend/src/services/orchestrator/state-persistence.service.d.ts.map +1 -1
  420. package/dist/backend/backend/src/services/orchestrator/state-persistence.service.js +64 -1
  421. package/dist/backend/backend/src/services/orchestrator/state-persistence.service.js.map +1 -1
  422. package/dist/backend/backend/src/services/project/active-projects.service.d.ts.map +1 -1
  423. package/dist/backend/backend/src/services/project/active-projects.service.js +2 -2
  424. package/dist/backend/backend/src/services/project/active-projects.service.js.map +1 -1
  425. package/dist/backend/backend/src/services/project/task-tracking.service.d.ts.map +1 -1
  426. package/dist/backend/backend/src/services/project/task-tracking.service.js +2 -2
  427. package/dist/backend/backend/src/services/project/task-tracking.service.js.map +1 -1
  428. package/dist/backend/backend/src/services/prompt/prompt-generator.service.d.ts.map +1 -1
  429. package/dist/backend/backend/src/services/prompt/prompt-generator.service.js +2 -2
  430. package/dist/backend/backend/src/services/prompt/prompt-generator.service.js.map +1 -1
  431. package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts +51 -5
  432. package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts.map +1 -1
  433. package/dist/backend/backend/src/services/reconciler/reconcile-rules.js +162 -15
  434. package/dist/backend/backend/src/services/reconciler/reconcile-rules.js.map +1 -1
  435. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts +15 -2
  436. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts.map +1 -1
  437. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js +153 -11
  438. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js.map +1 -1
  439. package/dist/backend/backend/src/services/session/session-handoff.service.d.ts +31 -18
  440. package/dist/backend/backend/src/services/session/session-handoff.service.d.ts.map +1 -1
  441. package/dist/backend/backend/src/services/session/session-handoff.service.js +73 -80
  442. package/dist/backend/backend/src/services/session/session-handoff.service.js.map +1 -1
  443. package/dist/backend/backend/src/services/session/session-state-persistence.d.ts.map +1 -1
  444. package/dist/backend/backend/src/services/session/session-state-persistence.js +15 -4
  445. package/dist/backend/backend/src/services/session/session-state-persistence.js.map +1 -1
  446. package/dist/backend/backend/src/services/settings/settings.service.d.ts.map +1 -1
  447. package/dist/backend/backend/src/services/settings/settings.service.js +25 -0
  448. package/dist/backend/backend/src/services/settings/settings.service.js.map +1 -1
  449. package/dist/backend/backend/src/services/skill/skill-catalog.service.d.ts +14 -3
  450. package/dist/backend/backend/src/services/skill/skill-catalog.service.d.ts.map +1 -1
  451. package/dist/backend/backend/src/services/skill/skill-catalog.service.js +28 -3
  452. package/dist/backend/backend/src/services/skill/skill-catalog.service.js.map +1 -1
  453. package/dist/backend/backend/src/services/slack/cross-machine-message.service.d.ts.map +1 -1
  454. package/dist/backend/backend/src/services/slack/cross-machine-message.service.js +13 -18
  455. package/dist/backend/backend/src/services/slack/cross-machine-message.service.js.map +1 -1
  456. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts +68 -0
  457. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
  458. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js +281 -21
  459. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
  460. package/dist/backend/backend/src/services/slack/slack.service.d.ts.map +1 -1
  461. package/dist/backend/backend/src/services/slack/slack.service.js +21 -0
  462. package/dist/backend/backend/src/services/slack/slack.service.js.map +1 -1
  463. package/dist/backend/backend/src/services/task-pool/pool-storage.d.ts +15 -1
  464. package/dist/backend/backend/src/services/task-pool/pool-storage.d.ts.map +1 -1
  465. package/dist/backend/backend/src/services/task-pool/pool-storage.js +31 -8
  466. package/dist/backend/backend/src/services/task-pool/pool-storage.js.map +1 -1
  467. package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts +183 -0
  468. package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
  469. package/dist/backend/backend/src/services/task-pool/task-pool.service.js +404 -8
  470. package/dist/backend/backend/src/services/task-pool/task-pool.service.js.map +1 -1
  471. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.d.ts +14 -1
  472. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.d.ts.map +1 -1
  473. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.js +128 -17
  474. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.js.map +1 -1
  475. package/dist/backend/backend/src/services/v3/cascade-request-status.d.ts +95 -0
  476. package/dist/backend/backend/src/services/v3/cascade-request-status.d.ts.map +1 -0
  477. package/dist/backend/backend/src/services/v3/cascade-request-status.js +147 -0
  478. package/dist/backend/backend/src/services/v3/cascade-request-status.js.map +1 -0
  479. package/dist/backend/backend/src/services/v3/escalation-router.service.d.ts.map +1 -1
  480. package/dist/backend/backend/src/services/v3/escalation-router.service.js +42 -0
  481. package/dist/backend/backend/src/services/v3/escalation-router.service.js.map +1 -1
  482. package/dist/backend/backend/src/services/v3/mission-executor.service.d.ts.map +1 -1
  483. package/dist/backend/backend/src/services/v3/mission-executor.service.js +16 -4
  484. package/dist/backend/backend/src/services/v3/mission-executor.service.js.map +1 -1
  485. package/dist/backend/backend/src/services/v3/request-cascade.subscriber.d.ts +87 -0
  486. package/dist/backend/backend/src/services/v3/request-cascade.subscriber.d.ts.map +1 -0
  487. package/dist/backend/backend/src/services/v3/request-cascade.subscriber.js +152 -0
  488. package/dist/backend/backend/src/services/v3/request-cascade.subscriber.js.map +1 -0
  489. package/dist/backend/backend/src/services/v3/request-decompose.subscriber.d.ts +253 -0
  490. package/dist/backend/backend/src/services/v3/request-decompose.subscriber.d.ts.map +1 -0
  491. package/dist/backend/backend/src/services/v3/request-decompose.subscriber.js +476 -0
  492. package/dist/backend/backend/src/services/v3/request-decompose.subscriber.js.map +1 -0
  493. package/dist/backend/backend/src/services/v3/request-sla.subscriber.d.ts +55 -0
  494. package/dist/backend/backend/src/services/v3/request-sla.subscriber.d.ts.map +1 -1
  495. package/dist/backend/backend/src/services/v3/request-sla.subscriber.js +257 -20
  496. package/dist/backend/backend/src/services/v3/request-sla.subscriber.js.map +1 -1
  497. package/dist/backend/backend/src/services/v3/request-status-update.subscriber.d.ts +204 -0
  498. package/dist/backend/backend/src/services/v3/request-status-update.subscriber.d.ts.map +1 -0
  499. package/dist/backend/backend/src/services/v3/request-status-update.subscriber.js +575 -0
  500. package/dist/backend/backend/src/services/v3/request-status-update.subscriber.js.map +1 -0
  501. package/dist/backend/backend/src/services/v3/request.service.d.ts +107 -0
  502. package/dist/backend/backend/src/services/v3/request.service.d.ts.map +1 -1
  503. package/dist/backend/backend/src/services/v3/request.service.js +155 -2
  504. package/dist/backend/backend/src/services/v3/request.service.js.map +1 -1
  505. package/dist/backend/backend/src/services/v3/trigger-engine.service.d.ts +69 -1
  506. package/dist/backend/backend/src/services/v3/trigger-engine.service.d.ts.map +1 -1
  507. package/dist/backend/backend/src/services/v3/trigger-engine.service.js +157 -4
  508. package/dist/backend/backend/src/services/v3/trigger-engine.service.js.map +1 -1
  509. package/dist/backend/backend/src/services/v3/v3-data.service.d.ts +50 -26
  510. package/dist/backend/backend/src/services/v3/v3-data.service.d.ts.map +1 -1
  511. package/dist/backend/backend/src/services/v3/v3-data.service.js +126 -161
  512. package/dist/backend/backend/src/services/v3/v3-data.service.js.map +1 -1
  513. package/dist/backend/backend/src/services/v3/work-item-projection.d.ts +40 -0
  514. package/dist/backend/backend/src/services/v3/work-item-projection.d.ts.map +1 -0
  515. package/dist/backend/backend/src/services/v3/work-item-projection.js +115 -0
  516. package/dist/backend/backend/src/services/v3/work-item-projection.js.map +1 -0
  517. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts +121 -0
  518. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts.map +1 -0
  519. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js +268 -0
  520. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js.map +1 -0
  521. package/dist/backend/backend/src/services/whatsapp/whatsapp.service.d.ts.map +1 -1
  522. package/dist/backend/backend/src/services/whatsapp/whatsapp.service.js +11 -2
  523. package/dist/backend/backend/src/services/whatsapp/whatsapp.service.js.map +1 -1
  524. package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts.map +1 -1
  525. package/dist/backend/backend/src/services/workflow/scheduler.service.js +68 -14
  526. package/dist/backend/backend/src/services/workflow/scheduler.service.js.map +1 -1
  527. package/dist/backend/backend/src/types/event-bus.types.d.ts +1 -1
  528. package/dist/backend/backend/src/types/event-bus.types.d.ts.map +1 -1
  529. package/dist/backend/backend/src/types/event-bus.types.js +12 -0
  530. package/dist/backend/backend/src/types/event-bus.types.js.map +1 -1
  531. package/dist/backend/backend/src/types/index.d.ts +11 -1
  532. package/dist/backend/backend/src/types/index.d.ts.map +1 -1
  533. package/dist/backend/backend/src/types/index.js +0 -2
  534. package/dist/backend/backend/src/types/index.js.map +1 -1
  535. package/dist/backend/backend/src/types/intent-task.types.d.ts +22 -3
  536. package/dist/backend/backend/src/types/intent-task.types.d.ts.map +1 -1
  537. package/dist/backend/backend/src/types/intent-task.types.js +201 -40
  538. package/dist/backend/backend/src/types/intent-task.types.js.map +1 -1
  539. package/dist/backend/backend/src/types/memory.types.d.ts +53 -0
  540. package/dist/backend/backend/src/types/memory.types.d.ts.map +1 -1
  541. package/dist/backend/backend/src/types/memory.types.js.map +1 -1
  542. package/dist/backend/backend/src/types/orchestrator-state.types.d.ts +49 -0
  543. package/dist/backend/backend/src/types/orchestrator-state.types.d.ts.map +1 -1
  544. package/dist/backend/backend/src/types/orchestrator-state.types.js +27 -0
  545. package/dist/backend/backend/src/types/orchestrator-state.types.js.map +1 -1
  546. package/dist/backend/backend/src/types/settings.types.d.ts +38 -2
  547. package/dist/backend/backend/src/types/settings.types.d.ts.map +1 -1
  548. package/dist/backend/backend/src/types/settings.types.js +16 -2
  549. package/dist/backend/backend/src/types/settings.types.js.map +1 -1
  550. package/dist/backend/backend/src/types/v2/request.types.d.ts +5 -1
  551. package/dist/backend/backend/src/types/v2/request.types.d.ts.map +1 -1
  552. package/dist/backend/backend/src/types/v2/request.types.js +2 -2
  553. package/dist/backend/backend/src/types/v2/request.types.js.map +1 -1
  554. package/dist/backend/backend/src/types/v2/work-item.types.d.ts +40 -1
  555. package/dist/backend/backend/src/types/v2/work-item.types.d.ts.map +1 -1
  556. package/dist/backend/backend/src/types/v2/work-item.types.js +20 -0
  557. package/dist/backend/backend/src/types/v2/work-item.types.js.map +1 -1
  558. package/dist/backend/backend/src/utils/esm-require.utils.d.ts +111 -0
  559. package/dist/backend/backend/src/utils/esm-require.utils.d.ts.map +1 -0
  560. package/dist/backend/backend/src/utils/esm-require.utils.js +124 -0
  561. package/dist/backend/backend/src/utils/esm-require.utils.js.map +1 -0
  562. package/dist/backend/backend/src/utils/integrity-guarded-write.utils.d.ts +119 -0
  563. package/dist/backend/backend/src/utils/integrity-guarded-write.utils.d.ts.map +1 -0
  564. package/dist/backend/backend/src/utils/integrity-guarded-write.utils.js +212 -0
  565. package/dist/backend/backend/src/utils/integrity-guarded-write.utils.js.map +1 -0
  566. package/dist/backend/backend/src/utils/native-binding.utils.d.ts +128 -0
  567. package/dist/backend/backend/src/utils/native-binding.utils.d.ts.map +1 -0
  568. package/dist/backend/backend/src/utils/native-binding.utils.js +206 -0
  569. package/dist/backend/backend/src/utils/native-binding.utils.js.map +1 -0
  570. package/dist/backend/backend/src/utils/node-require.utils.d.ts +104 -0
  571. package/dist/backend/backend/src/utils/node-require.utils.d.ts.map +1 -0
  572. package/dist/backend/backend/src/utils/node-require.utils.js +111 -0
  573. package/dist/backend/backend/src/utils/node-require.utils.js.map +1 -0
  574. package/dist/cli/backend/src/models/Project.d.ts +2 -0
  575. package/dist/cli/backend/src/models/Project.d.ts.map +1 -1
  576. package/dist/cli/backend/src/models/Project.js +10 -1
  577. package/dist/cli/backend/src/models/Project.js.map +1 -1
  578. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts +16 -0
  579. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts.map +1 -1
  580. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.js.map +1 -1
  581. package/dist/cli/backend/src/services/core/config.service.d.ts.map +1 -1
  582. package/dist/cli/backend/src/services/core/config.service.js +8 -1
  583. package/dist/cli/backend/src/services/core/config.service.js.map +1 -1
  584. package/dist/cli/backend/src/services/core/crewly-home.utils.d.ts +51 -0
  585. package/dist/cli/backend/src/services/core/crewly-home.utils.d.ts.map +1 -0
  586. package/dist/cli/backend/src/services/core/crewly-home.utils.js +59 -0
  587. package/dist/cli/backend/src/services/core/crewly-home.utils.js.map +1 -0
  588. package/dist/cli/backend/src/services/core/state-invariant.types.d.ts +53 -0
  589. package/dist/cli/backend/src/services/core/state-invariant.types.d.ts.map +1 -0
  590. package/dist/cli/backend/src/services/core/state-invariant.types.js +61 -0
  591. package/dist/cli/backend/src/services/core/state-invariant.types.js.map +1 -0
  592. package/dist/cli/backend/src/services/core/storage.service.d.ts +20 -0
  593. package/dist/cli/backend/src/services/core/storage.service.d.ts.map +1 -1
  594. package/dist/cli/backend/src/services/core/storage.service.js +96 -8
  595. package/dist/cli/backend/src/services/core/storage.service.js.map +1 -1
  596. package/dist/cli/backend/src/services/core/teams-backup.service.d.ts +94 -4
  597. package/dist/cli/backend/src/services/core/teams-backup.service.d.ts.map +1 -1
  598. package/dist/cli/backend/src/services/core/teams-backup.service.js +172 -10
  599. package/dist/cli/backend/src/services/core/teams-backup.service.js.map +1 -1
  600. package/dist/cli/backend/src/services/event-bus/event-bus.service.d.ts +245 -0
  601. package/dist/cli/backend/src/services/event-bus/event-bus.service.d.ts.map +1 -0
  602. package/dist/cli/backend/src/services/event-bus/event-bus.service.js +639 -0
  603. package/dist/cli/backend/src/services/event-bus/event-bus.service.js.map +1 -0
  604. package/dist/cli/backend/src/services/knowledge/fts5-index.service.d.ts.map +1 -1
  605. package/dist/cli/backend/src/services/knowledge/fts5-index.service.js +18 -13
  606. package/dist/cli/backend/src/services/knowledge/fts5-index.service.js.map +1 -1
  607. package/dist/cli/backend/src/services/knowledge/fts5-query-sanitizer.d.ts +102 -0
  608. package/dist/cli/backend/src/services/knowledge/fts5-query-sanitizer.d.ts.map +1 -0
  609. package/dist/cli/backend/src/services/knowledge/fts5-query-sanitizer.js +118 -0
  610. package/dist/cli/backend/src/services/knowledge/fts5-query-sanitizer.js.map +1 -0
  611. package/dist/cli/backend/src/services/knowledge/vector-store.service.d.ts.map +1 -1
  612. package/dist/cli/backend/src/services/knowledge/vector-store.service.js +11 -15
  613. package/dist/cli/backend/src/services/knowledge/vector-store.service.js.map +1 -1
  614. package/dist/cli/backend/src/services/memory/agent-memory.service.d.ts +20 -0
  615. package/dist/cli/backend/src/services/memory/agent-memory.service.d.ts.map +1 -1
  616. package/dist/cli/backend/src/services/memory/agent-memory.service.js +27 -2
  617. package/dist/cli/backend/src/services/memory/agent-memory.service.js.map +1 -1
  618. package/dist/cli/backend/src/services/memory/memory.service.d.ts +48 -17
  619. package/dist/cli/backend/src/services/memory/memory.service.d.ts.map +1 -1
  620. package/dist/cli/backend/src/services/memory/memory.service.js +65 -35
  621. package/dist/cli/backend/src/services/memory/memory.service.js.map +1 -1
  622. package/dist/cli/backend/src/services/memory/role-knowledge-eligibility.d.ts +138 -0
  623. package/dist/cli/backend/src/services/memory/role-knowledge-eligibility.d.ts.map +1 -0
  624. package/dist/cli/backend/src/services/memory/role-knowledge-eligibility.js +183 -0
  625. package/dist/cli/backend/src/services/memory/role-knowledge-eligibility.js.map +1 -0
  626. package/dist/cli/backend/src/services/messaging/message-queue.service.d.ts +236 -0
  627. package/dist/cli/backend/src/services/messaging/message-queue.service.d.ts.map +1 -0
  628. package/dist/cli/backend/src/services/messaging/message-queue.service.js +581 -0
  629. package/dist/cli/backend/src/services/messaging/message-queue.service.js.map +1 -0
  630. package/dist/cli/backend/src/services/project/task-tracking.service.d.ts.map +1 -1
  631. package/dist/cli/backend/src/services/project/task-tracking.service.js +2 -2
  632. package/dist/cli/backend/src/services/project/task-tracking.service.js.map +1 -1
  633. package/dist/cli/backend/src/services/settings/settings.service.d.ts.map +1 -1
  634. package/dist/cli/backend/src/services/settings/settings.service.js +25 -0
  635. package/dist/cli/backend/src/services/settings/settings.service.js.map +1 -1
  636. package/dist/cli/backend/src/services/slack/slack-thread-store.service.d.ts +147 -0
  637. package/dist/cli/backend/src/services/slack/slack-thread-store.service.d.ts.map +1 -0
  638. package/dist/cli/backend/src/services/slack/slack-thread-store.service.js +258 -0
  639. package/dist/cli/backend/src/services/slack/slack-thread-store.service.js.map +1 -0
  640. package/dist/cli/backend/src/services/task-pool/pool-storage.d.ts +15 -1
  641. package/dist/cli/backend/src/services/task-pool/pool-storage.d.ts.map +1 -1
  642. package/dist/cli/backend/src/services/task-pool/pool-storage.js +31 -8
  643. package/dist/cli/backend/src/services/task-pool/pool-storage.js.map +1 -1
  644. package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts +459 -9
  645. package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
  646. package/dist/cli/backend/src/services/task-pool/task-pool.service.js +1050 -126
  647. package/dist/cli/backend/src/services/task-pool/task-pool.service.js.map +1 -1
  648. package/dist/cli/backend/src/services/v3/work-item-projection.d.ts +40 -0
  649. package/dist/cli/backend/src/services/v3/work-item-projection.d.ts.map +1 -0
  650. package/dist/cli/backend/src/services/v3/work-item-projection.js +115 -0
  651. package/dist/cli/backend/src/services/v3/work-item-projection.js.map +1 -0
  652. package/dist/cli/backend/src/types/event-bus.types.d.ts +173 -0
  653. package/dist/cli/backend/src/types/event-bus.types.d.ts.map +1 -0
  654. package/dist/cli/backend/src/types/event-bus.types.js +218 -0
  655. package/dist/cli/backend/src/types/event-bus.types.js.map +1 -0
  656. package/dist/cli/backend/src/types/index.d.ts +11 -1
  657. package/dist/cli/backend/src/types/index.d.ts.map +1 -1
  658. package/dist/cli/backend/src/types/index.js +0 -2
  659. package/dist/cli/backend/src/types/index.js.map +1 -1
  660. package/dist/cli/backend/src/types/memory.types.d.ts +53 -0
  661. package/dist/cli/backend/src/types/memory.types.d.ts.map +1 -1
  662. package/dist/cli/backend/src/types/memory.types.js.map +1 -1
  663. package/dist/cli/backend/src/types/messaging.types.d.ts +223 -0
  664. package/dist/cli/backend/src/types/messaging.types.d.ts.map +1 -0
  665. package/dist/cli/backend/src/types/messaging.types.js +231 -0
  666. package/dist/cli/backend/src/types/messaging.types.js.map +1 -0
  667. package/dist/cli/backend/src/types/settings.types.d.ts +38 -2
  668. package/dist/cli/backend/src/types/settings.types.d.ts.map +1 -1
  669. package/dist/cli/backend/src/types/settings.types.js +16 -2
  670. package/dist/cli/backend/src/types/settings.types.js.map +1 -1
  671. package/dist/cli/backend/src/types/slack.types.d.ts +356 -0
  672. package/dist/cli/backend/src/types/slack.types.d.ts.map +1 -0
  673. package/dist/cli/backend/src/types/slack.types.js +66 -0
  674. package/dist/cli/backend/src/types/slack.types.js.map +1 -0
  675. package/dist/cli/backend/src/types/v2/claim.types.d.ts +2 -5
  676. package/dist/cli/backend/src/types/v2/claim.types.d.ts.map +1 -1
  677. package/dist/cli/backend/src/types/v2/claim.types.js +2 -5
  678. package/dist/cli/backend/src/types/v2/claim.types.js.map +1 -1
  679. package/dist/cli/backend/src/types/v2/work-item.types.d.ts +40 -1
  680. package/dist/cli/backend/src/types/v2/work-item.types.d.ts.map +1 -1
  681. package/dist/cli/backend/src/types/v2/work-item.types.js +20 -0
  682. package/dist/cli/backend/src/types/v2/work-item.types.js.map +1 -1
  683. package/dist/cli/backend/src/utils/format-error.d.ts +8 -0
  684. package/dist/cli/backend/src/utils/format-error.d.ts.map +1 -0
  685. package/dist/cli/backend/src/utils/format-error.js +10 -0
  686. package/dist/cli/backend/src/utils/format-error.js.map +1 -0
  687. package/dist/cli/backend/src/utils/integrity-guarded-write.utils.d.ts +119 -0
  688. package/dist/cli/backend/src/utils/integrity-guarded-write.utils.d.ts.map +1 -0
  689. package/dist/cli/backend/src/utils/integrity-guarded-write.utils.js +212 -0
  690. package/dist/cli/backend/src/utils/integrity-guarded-write.utils.js.map +1 -0
  691. package/dist/cli/backend/src/utils/node-require.utils.d.ts +104 -0
  692. package/dist/cli/backend/src/utils/node-require.utils.d.ts.map +1 -0
  693. package/dist/cli/backend/src/utils/node-require.utils.js +111 -0
  694. package/dist/cli/backend/src/utils/node-require.utils.js.map +1 -0
  695. package/frontend/dist/assets/{index-7a4e7df5.js → index-698305f3.js} +337 -337
  696. package/frontend/dist/index.html +1 -1
  697. package/package.json +6 -2
  698. package/dist/backend/backend/src/controllers/eval/eval.controller.d.ts +0 -63
  699. package/dist/backend/backend/src/controllers/eval/eval.controller.d.ts.map +0 -1
  700. package/dist/backend/backend/src/controllers/eval/eval.controller.js +0 -228
  701. package/dist/backend/backend/src/controllers/eval/eval.controller.js.map +0 -1
  702. package/dist/backend/backend/src/controllers/eval/eval.routes.d.ts +0 -23
  703. package/dist/backend/backend/src/controllers/eval/eval.routes.d.ts.map +0 -1
  704. package/dist/backend/backend/src/controllers/eval/eval.routes.js +0 -37
  705. package/dist/backend/backend/src/controllers/eval/eval.routes.js.map +0 -1
  706. package/dist/backend/backend/src/controllers/knowledge-v3/index.d.ts +0 -8
  707. package/dist/backend/backend/src/controllers/knowledge-v3/index.d.ts.map +0 -1
  708. package/dist/backend/backend/src/controllers/knowledge-v3/index.js +0 -8
  709. package/dist/backend/backend/src/controllers/knowledge-v3/index.js.map +0 -1
  710. package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.controller.d.ts +0 -63
  711. package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.controller.d.ts.map +0 -1
  712. package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.controller.js +0 -179
  713. package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.controller.js.map +0 -1
  714. package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.routes.d.ts +0 -22
  715. package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.routes.d.ts.map +0 -1
  716. package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.routes.js +0 -34
  717. package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.routes.js.map +0 -1
  718. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/cli-adapter.d.ts +0 -130
  719. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/cli-adapter.d.ts.map +0 -1
  720. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/cli-adapter.js +0 -406
  721. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/cli-adapter.js.map +0 -1
  722. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/crewly-agent-adapter.d.ts +0 -68
  723. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/crewly-agent-adapter.d.ts.map +0 -1
  724. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/crewly-agent-adapter.js +0 -206
  725. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/crewly-agent-adapter.js.map +0 -1
  726. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/index.d.ts +0 -32
  727. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/index.d.ts.map +0 -1
  728. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/index.js +0 -46
  729. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/index.js.map +0 -1
  730. package/dist/backend/backend/src/services/agent/crewly-agent/eval/context-generator.d.ts +0 -87
  731. package/dist/backend/backend/src/services/agent/crewly-agent/eval/context-generator.d.ts.map +0 -1
  732. package/dist/backend/backend/src/services/agent/crewly-agent/eval/context-generator.js +0 -299
  733. package/dist/backend/backend/src/services/agent/crewly-agent/eval/context-generator.js.map +0 -1
  734. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-runner.d.ts +0 -59
  735. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-runner.d.ts.map +0 -1
  736. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-runner.js +0 -218
  737. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-runner.js.map +0 -1
  738. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-scorer.d.ts +0 -203
  739. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-scorer.d.ts.map +0 -1
  740. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-scorer.js +0 -467
  741. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-scorer.js.map +0 -1
  742. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-types.d.ts +0 -313
  743. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-types.d.ts.map +0 -1
  744. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-types.js +0 -45
  745. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-types.js.map +0 -1
  746. package/dist/backend/backend/src/services/agent/crewly-agent/eval/index.d.ts +0 -21
  747. package/dist/backend/backend/src/services/agent/crewly-agent/eval/index.d.ts.map +0 -1
  748. package/dist/backend/backend/src/services/agent/crewly-agent/eval/index.js +0 -21
  749. package/dist/backend/backend/src/services/agent/crewly-agent/eval/index.js.map +0 -1
  750. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-cli.d.ts +0 -15
  751. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-cli.d.ts.map +0 -1
  752. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-cli.js +0 -349
  753. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-cli.js.map +0 -1
  754. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-l4.d.ts +0 -97
  755. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-l4.d.ts.map +0 -1
  756. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-l4.js +0 -414
  757. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-l4.js.map +0 -1
  758. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-standalone.d.ts +0 -42
  759. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-standalone.d.ts.map +0 -1
  760. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-standalone.js +0 -403
  761. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-standalone.js.map +0 -1
  762. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/index.d.ts +0 -41
  763. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/index.d.ts.map +0 -1
  764. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/index.js +0 -58
  765. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/index.js.map +0 -1
  766. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l1-tasks.d.ts +0 -15
  767. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l1-tasks.d.ts.map +0 -1
  768. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l1-tasks.js +0 -396
  769. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l1-tasks.js.map +0 -1
  770. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l2-tasks.d.ts +0 -14
  771. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l2-tasks.d.ts.map +0 -1
  772. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l2-tasks.js +0 -564
  773. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l2-tasks.js.map +0 -1
  774. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l3-tasks.d.ts +0 -13
  775. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l3-tasks.d.ts.map +0 -1
  776. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l3-tasks.js +0 -634
  777. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l3-tasks.js.map +0 -1
  778. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l4-tasks.d.ts +0 -21
  779. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l4-tasks.d.ts.map +0 -1
  780. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l4-tasks.js +0 -1036
  781. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l4-tasks.js.map +0 -1
  782. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tool-log-parser.d.ts +0 -100
  783. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tool-log-parser.d.ts.map +0 -1
  784. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tool-log-parser.js +0 -187
  785. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tool-log-parser.js.map +0 -1
  786. package/dist/backend/backend/src/services/ai/prompt-modules/sop-norm-distinction.module.d.ts +0 -79
  787. package/dist/backend/backend/src/services/ai/prompt-modules/sop-norm-distinction.module.d.ts.map +0 -1
  788. package/dist/backend/backend/src/services/ai/prompt-modules/sop-norm-distinction.module.js +0 -118
  789. package/dist/backend/backend/src/services/ai/prompt-modules/sop-norm-distinction.module.js.map +0 -1
  790. package/dist/backend/backend/src/services/cloud/cloud-event-bridge.service.d.ts +0 -113
  791. package/dist/backend/backend/src/services/cloud/cloud-event-bridge.service.d.ts.map +0 -1
  792. package/dist/backend/backend/src/services/cloud/cloud-event-bridge.service.js +0 -179
  793. package/dist/backend/backend/src/services/cloud/cloud-event-bridge.service.js.map +0 -1
  794. package/dist/backend/backend/src/services/cloud/cloud-event-forwarder.service.d.ts +0 -131
  795. package/dist/backend/backend/src/services/cloud/cloud-event-forwarder.service.d.ts.map +0 -1
  796. package/dist/backend/backend/src/services/cloud/cloud-event-forwarder.service.js +0 -227
  797. package/dist/backend/backend/src/services/cloud/cloud-event-forwarder.service.js.map +0 -1
  798. package/dist/backend/backend/src/services/knowledge/fts5-search-strategy.d.ts +0 -56
  799. package/dist/backend/backend/src/services/knowledge/fts5-search-strategy.d.ts.map +0 -1
  800. package/dist/backend/backend/src/services/knowledge/fts5-search-strategy.js +0 -91
  801. package/dist/backend/backend/src/services/knowledge/fts5-search-strategy.js.map +0 -1
  802. package/dist/backend/backend/src/services/memory/learning-format.validator.d.ts +0 -97
  803. package/dist/backend/backend/src/services/memory/learning-format.validator.d.ts.map +0 -1
  804. package/dist/backend/backend/src/services/memory/learning-format.validator.js +0 -209
  805. package/dist/backend/backend/src/services/memory/learning-format.validator.js.map +0 -1
  806. /package/dist/{backend → cli}/backend/src/services/knowledge/learnings-index.service.d.ts +0 -0
  807. /package/dist/{backend → cli}/backend/src/services/knowledge/learnings-index.service.d.ts.map +0 -0
  808. /package/dist/{backend → cli}/backend/src/services/knowledge/learnings-index.service.js +0 -0
  809. /package/dist/{backend → cli}/backend/src/services/knowledge/learnings-index.service.js.map +0 -0
@@ -7,8 +7,64 @@
7
7
  * @module services/v3/request.service
8
8
  */
9
9
  import { type Request, type CreateRequestInput, type UpdateRequestInput } from '../../types/v2/index.js';
10
+ import { type WorkItem } from '../../types/v2/work-item.types.js';
10
11
  import { type PlannedTask } from './v3-data.service.js';
11
12
  import type { EventBusService } from '../event-bus/event-bus.service.js';
13
+ /**
14
+ * Duck-typed interface RequestService uses to query child WorkItem
15
+ * states for the {@link RequestService.update} → done gate.
16
+ *
17
+ * Defined as an interface (not a TaskPoolService import) so request.service
18
+ * does NOT acquire a static dependency on task-pool.service. The dependency
19
+ * direction stays one-way: TaskPool → Request (via Bug B's
20
+ * `IRequestWorkItemLinker`), Request → TaskPool only via this duck-typed
21
+ * setter (Bug C). This breaks the otherwise-circular type graph that would
22
+ * form if either side imported the other concretely.
23
+ *
24
+ * Tests pass a fake; production wires the real TaskPoolService instance via
25
+ * {@link RequestService.setTaskPoolService}.
26
+ *
27
+ * P1 Bug C (Pool umbrella WI 72ca743a-3a66-4d0e-a6cf-1a861f849dbd, sub-WI
28
+ * 72ca743a Bug C): the F9 fixture closed a Request to status=done
29
+ * with a non-terminal child WI in the pool. The gate fetches each child by
30
+ * id and refuses the transition if any child is in a non-terminal state.
31
+ */
32
+ export interface IWorkItemQueryable {
33
+ /**
34
+ * Look up a WorkItem by id. Returns `null` if no item has that id —
35
+ * mirrors {@link TaskPoolService.findWorkItem}'s null-fallthrough idiom.
36
+ *
37
+ * @param workItemId - WorkItem id to look up
38
+ * @returns The WorkItem, or `null` if no item has that id
39
+ */
40
+ findWorkItem(workItemId: string): Promise<WorkItem | null>;
41
+ }
42
+ /**
43
+ * Structured error thrown when {@link RequestService.update} refuses to
44
+ * transition a Request to `done` because at least one of its child
45
+ * WorkItems is still in a non-terminal state.
46
+ *
47
+ * Distinct error class (not a generic `Error`) so callers can branch on
48
+ * `instanceof RequestStillHasOpenChildrenError` and surface a meaningful
49
+ * message — Slack bridge, REST consumers, audit, all want to differentiate
50
+ * "still has open children" from generic transition-validation errors.
51
+ *
52
+ * The structured payload exposes `requestId`, `openChildIds`, and
53
+ * `openChildCount` so consumers can render actionable messages without
54
+ * re-querying the pool.
55
+ */
56
+ export declare class RequestStillHasOpenChildrenError extends Error {
57
+ /** The Request id that was refused. */
58
+ readonly requestId: string;
59
+ /** WorkItem ids of children that are still in non-terminal status. */
60
+ readonly openChildIds: readonly string[];
61
+ /** Convenience: openChildIds.length, included for log/format symmetry. */
62
+ readonly openChildCount: number;
63
+ constructor(args: {
64
+ requestId: string;
65
+ openChildIds: readonly string[];
66
+ });
67
+ }
12
68
  /**
13
69
  * Wire the EventBusService that {@link RequestService} should publish
14
70
  * lifecycle events to. Called once from the backend boot path before any
@@ -34,6 +90,19 @@ export declare class RequestService {
34
90
  private static instance;
35
91
  private readonly logger;
36
92
  private readonly requestsDir;
93
+ /**
94
+ * Optional TaskPool reference used by the {@link update} → done gate
95
+ * to verify that all child WorkItems are in terminal state before the
96
+ * Request itself can close. Wired via {@link setTaskPoolService} from
97
+ * the backend boot path (P1 Bug C — Pool umbrella WI 72ca743a).
98
+ *
99
+ * When `null`, the gate degrades gracefully — closure proceeds with a
100
+ * warning log. This preserves backward compatibility for tests and
101
+ * boot orderings that happen to call `update` before the wiring step.
102
+ * Production paths always wire the dependency before any user-facing
103
+ * Request close request can land.
104
+ */
105
+ private taskPoolService;
37
106
  /**
38
107
  * Creates a new RequestService.
39
108
  *
@@ -51,6 +120,20 @@ export declare class RequestService {
51
120
  * Resets the singleton instance. For test isolation only.
52
121
  */
53
122
  static resetInstance(): void;
123
+ /**
124
+ * Wire the TaskPool-queryable used by the Request → done gate
125
+ * (P1 Bug C — Pool umbrella WI 72ca743a).
126
+ *
127
+ * Called from the backend boot path after both services exist. Mirrors
128
+ * Bug B's {@link TaskPoolService.setRequestService} — same setter shape,
129
+ * idempotent, accepts `null` to clear in tests. Keeps the dependency
130
+ * direction Request → TaskPool one-way and duck-typed, so neither
131
+ * service needs a static import of the other.
132
+ *
133
+ * @param svc - The TaskPoolService instance (or any object satisfying
134
+ * {@link IWorkItemQueryable}), or null to clear.
135
+ */
136
+ setTaskPoolService(svc: IWorkItemQueryable | null): void;
54
137
  /**
55
138
  * Returns the file path for a request JSON file.
56
139
  *
@@ -114,6 +197,30 @@ export declare class RequestService {
114
197
  * @throws Error if not found or invalid transition
115
198
  */
116
199
  update(id: string, updates: UpdateRequestInput): Promise<Request>;
200
+ /**
201
+ * P1 Bug C gate helper — verify that every WorkItem id in
202
+ * `request.workItemIds[]` resolves to a WorkItem in terminal state.
203
+ *
204
+ * Throws {@link RequestStillHasOpenChildrenError} when at least one child
205
+ * is non-terminal. Missing children (returned `null` by
206
+ * {@link IWorkItemQueryable.findWorkItem}) are treated as **terminal /
207
+ * harmless** — a deleted-or-purged WI does not block its parent's
208
+ * closure. This matches the option-a "graceful degrade" stance ORC took
209
+ * on historical orphan WIs and avoids a deadlock between data-cleanup
210
+ * jobs and lifecycle gates.
211
+ *
212
+ * Semantics: non-terminal = anything not in
213
+ * {@link TERMINAL_WORK_ITEM_STATUSES} (`done`, `verified`, `cancelled`).
214
+ * `failed` and `rejected` are treated as non-terminal because the WI
215
+ * state-machine in {@link WORK_ITEM_TRANSITIONS} explicitly allows them
216
+ * to re-enter `queued` — work the user requested is not actually
217
+ * complete.
218
+ *
219
+ * @param request - The Request whose children to verify
220
+ * @throws {@link RequestStillHasOpenChildrenError} when any child is
221
+ * non-terminal.
222
+ */
223
+ private assertAllChildrenTerminal;
117
224
  /**
118
225
  * Deletes a Request from disk. Used for purging old completed Requests.
119
226
  *
@@ -1 +1 @@
1
- {"version":3,"file":"request.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/request.service.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EAMxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAA0B,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAezE;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,eAAe,GAAG,IAAI,GAAG,IAAI,CAE3E;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,cAAc;IAWL,OAAO,CAAC,QAAQ,CAAC,WAAW;IAVhD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA+B;IAEtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuE;IAC9F,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IAErC;;;;OAIG;IACH,OAAO;IAIP;;;;;OAKG;WACW,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,cAAc;IAQ/D;;OAEG;WACW,aAAa,IAAI,IAAI;IAQnC;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAInB;;;;;OAKG;YACW,IAAI;IAMlB;;;;OAIG;YACW,IAAI;IASlB;;;;;;;;;;;OAWG;IACU,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAoBhE;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IAiC3B;;;;;OAKG;IACU,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAIzD;;;;OAIG;IACU,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IA4B1C;;;;;;;OAOG;IACU,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAwC9E;;;;OAIG;IACU,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU9C;;;;;;OAMG;IACU,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAczF;;;;;;OAMG;IACU,8BAA8B,CAAC,wBAAwB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAStG;;;;;;;;;;;;;;;;;;;;OAoBG;IACU,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;CAqChF;AAMD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,eAAe,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,sDAAsD;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,QAAQ,EAAE,YAAY,CAAC;CACxB"}
1
+ {"version":3,"file":"request.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/request.service.ts"],"names":[],"mappings":"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"}
@@ -11,9 +11,46 @@ import * as path from 'path';
11
11
  import { LoggerService } from '../core/logger.service.js';
12
12
  import { ensureDir, atomicWriteJson, safeReadJson } from '../../utils/file-io.utils.js';
13
13
  import { isRequest, isValidRequestTransition, validateCreateRequestInput, createRequest, } from '../../types/v2/index.js';
14
- import { planTasksFromObjective } from './v3-data.service.js';
14
+ import { TERMINAL_WORK_ITEM_STATUSES, } from '../../types/v2/work-item.types.js';
15
+ import { classifyIntent, planTasksFromObjective } from './v3-data.service.js';
15
16
  /** Directory name under .crewly for request storage. */
16
17
  const REQUESTS_DIR = 'requests';
18
+ /**
19
+ * Structured error thrown when {@link RequestService.update} refuses to
20
+ * transition a Request to `done` because at least one of its child
21
+ * WorkItems is still in a non-terminal state.
22
+ *
23
+ * Distinct error class (not a generic `Error`) so callers can branch on
24
+ * `instanceof RequestStillHasOpenChildrenError` and surface a meaningful
25
+ * message — Slack bridge, REST consumers, audit, all want to differentiate
26
+ * "still has open children" from generic transition-validation errors.
27
+ *
28
+ * The structured payload exposes `requestId`, `openChildIds`, and
29
+ * `openChildCount` so consumers can render actionable messages without
30
+ * re-querying the pool.
31
+ */
32
+ export class RequestStillHasOpenChildrenError extends Error {
33
+ /** The Request id that was refused. */
34
+ requestId;
35
+ /** WorkItem ids of children that are still in non-terminal status. */
36
+ openChildIds;
37
+ /** Convenience: openChildIds.length, included for log/format symmetry. */
38
+ openChildCount;
39
+ constructor(args) {
40
+ const count = args.openChildIds.length;
41
+ super(`Request '${args.requestId}' cannot transition to 'done': ` +
42
+ `${count} child WorkItem${count === 1 ? '' : 's'} still in non-terminal ` +
43
+ `state (${args.openChildIds.join(', ')}). Terminal WI statuses are: ` +
44
+ `${[...TERMINAL_WORK_ITEM_STATUSES].join(', ')}.`);
45
+ this.name = 'RequestStillHasOpenChildrenError';
46
+ this.requestId = args.requestId;
47
+ this.openChildIds = args.openChildIds;
48
+ this.openChildCount = count;
49
+ // Restore prototype chain — required when extending Error in TS targets
50
+ // older than ES2015 to keep `instanceof` working through transpilation.
51
+ Object.setPrototypeOf(this, RequestStillHasOpenChildrenError.prototype);
52
+ }
53
+ }
17
54
  /**
18
55
  * Module-level event bus reference, wired from `backend/src/index.ts` via
19
56
  * {@link setRequestServiceEventBus}. RequestService uses this to publish
@@ -50,6 +87,19 @@ export class RequestService {
50
87
  static instance = null;
51
88
  logger = LoggerService.getInstance().createComponentLogger('RequestService');
52
89
  requestsDir;
90
+ /**
91
+ * Optional TaskPool reference used by the {@link update} → done gate
92
+ * to verify that all child WorkItems are in terminal state before the
93
+ * Request itself can close. Wired via {@link setTaskPoolService} from
94
+ * the backend boot path (P1 Bug C — Pool umbrella WI 72ca743a).
95
+ *
96
+ * When `null`, the gate degrades gracefully — closure proceeds with a
97
+ * warning log. This preserves backward compatibility for tests and
98
+ * boot orderings that happen to call `update` before the wiring step.
99
+ * Production paths always wire the dependency before any user-facing
100
+ * Request close request can land.
101
+ */
102
+ taskPoolService = null;
53
103
  /**
54
104
  * Creates a new RequestService.
55
105
  *
@@ -78,6 +128,22 @@ export class RequestService {
78
128
  static resetInstance() {
79
129
  RequestService.instance = null;
80
130
  }
131
+ /**
132
+ * Wire the TaskPool-queryable used by the Request → done gate
133
+ * (P1 Bug C — Pool umbrella WI 72ca743a).
134
+ *
135
+ * Called from the backend boot path after both services exist. Mirrors
136
+ * Bug B's {@link TaskPoolService.setRequestService} — same setter shape,
137
+ * idempotent, accepts `null` to clear in tests. Keeps the dependency
138
+ * direction Request → TaskPool one-way and duck-typed, so neither
139
+ * service needs a static import of the other.
140
+ *
141
+ * @param svc - The TaskPoolService instance (or any object satisfying
142
+ * {@link IWorkItemQueryable}), or null to clear.
143
+ */
144
+ setTaskPoolService(svc) {
145
+ this.taskPoolService = svc;
146
+ }
81
147
  // ---------------------------------------------------------------------------
82
148
  // File helpers
83
149
  // ---------------------------------------------------------------------------
@@ -131,7 +197,23 @@ export class RequestService {
131
197
  if (errors.length > 0) {
132
198
  throw new Error(`Invalid CreateRequestInput: ${errors.join('; ')}`);
133
199
  }
134
- const request = createRequest(input);
200
+ // Auto-classify intent when caller didn't pass explicit values.
201
+ // Without this fallback, every Request from a non-classifying caller
202
+ // landed as L1+other and was silently skipped by the auto-decompose
203
+ // subscriber — Slack/chat ingress paths hit this, and the entire
204
+ // Request → WorkItem pipeline became a no-op for inbound user
205
+ // messages. Explicit caller values still win (an agent that
206
+ // computed L2+code_change at the source keeps that classification).
207
+ const needsClassify = input.intentLevel === undefined || input.intentCategory === undefined;
208
+ const classified = needsClassify ? classifyIntent(input.description) : null;
209
+ const enriched = classified
210
+ ? {
211
+ ...input,
212
+ intentLevel: input.intentLevel ?? classified.intentLevel,
213
+ intentCategory: input.intentCategory ?? classified.intentCategory,
214
+ }
215
+ : input;
216
+ const request = createRequest(enriched);
135
217
  await this.save(request);
136
218
  this.logger.debug('Request created', { id: request.id, title: request.title });
137
219
  // INBOUND-1: emit `request:created` for the SLA subscriber. The bus is
@@ -236,6 +318,25 @@ export class RequestService {
236
318
  if (!isValidRequestTransition(request.status, updates.status)) {
237
319
  throw new Error(`Invalid status transition: ${request.status} -> ${updates.status}`);
238
320
  }
321
+ // P1 Bug C (Pool umbrella WI 72ca743a) — child WorkItem terminal-state
322
+ // gate. Refuse Request → done if any child WI in workItemIds[] is in a
323
+ // non-terminal state. F9 fixture symptom: Request closed to done with a
324
+ // queued child WI still in the pool. Bug B (#467, merged 8bf58a11) made
325
+ // workItemIds[] authoritative on every addToPool, so the gate operates
326
+ // on reliable data.
327
+ //
328
+ // Only `done` is gated. `cancelled` is intentionally NOT gated — a
329
+ // user / TL may cancel a Request while children are mid-flight; the
330
+ // cancellation cascade (orphaned children) is a separate concern owned
331
+ // by a future work item.
332
+ //
333
+ // The gate degrades gracefully when `taskPoolService` is null (test or
334
+ // unwired boot order): a warning is logged and the transition proceeds
335
+ // with the original (pre-fix) behavior. Production wiring runs before
336
+ // any user-facing close path.
337
+ if (updates.status === 'done' && request.workItemIds.length > 0) {
338
+ await this.assertAllChildrenTerminal(request);
339
+ }
239
340
  request.status = updates.status;
240
341
  if (updates.status === 'done' || updates.status === 'cancelled') {
241
342
  request.completedAt = new Date().toISOString();
@@ -273,6 +374,58 @@ export class RequestService {
273
374
  this.logger.debug('Request updated', { id, status: request.status });
274
375
  return request;
275
376
  }
377
+ /**
378
+ * P1 Bug C gate helper — verify that every WorkItem id in
379
+ * `request.workItemIds[]` resolves to a WorkItem in terminal state.
380
+ *
381
+ * Throws {@link RequestStillHasOpenChildrenError} when at least one child
382
+ * is non-terminal. Missing children (returned `null` by
383
+ * {@link IWorkItemQueryable.findWorkItem}) are treated as **terminal /
384
+ * harmless** — a deleted-or-purged WI does not block its parent's
385
+ * closure. This matches the option-a "graceful degrade" stance ORC took
386
+ * on historical orphan WIs and avoids a deadlock between data-cleanup
387
+ * jobs and lifecycle gates.
388
+ *
389
+ * Semantics: non-terminal = anything not in
390
+ * {@link TERMINAL_WORK_ITEM_STATUSES} (`done`, `verified`, `cancelled`).
391
+ * `failed` and `rejected` are treated as non-terminal because the WI
392
+ * state-machine in {@link WORK_ITEM_TRANSITIONS} explicitly allows them
393
+ * to re-enter `queued` — work the user requested is not actually
394
+ * complete.
395
+ *
396
+ * @param request - The Request whose children to verify
397
+ * @throws {@link RequestStillHasOpenChildrenError} when any child is
398
+ * non-terminal.
399
+ */
400
+ async assertAllChildrenTerminal(request) {
401
+ if (!this.taskPoolService) {
402
+ // Graceful degrade — preserve pre-fix behavior when the gate hasn't
403
+ // been wired yet (test scaffold, unusual boot order). Production
404
+ // boot wires the dependency before any user-facing close path.
405
+ this.logger.warn('Request → done lifecycle gate skipped: taskPoolService not wired', { requestId: request.id, childCount: request.workItemIds.length });
406
+ return;
407
+ }
408
+ const queryable = this.taskPoolService;
409
+ const children = await Promise.all(request.workItemIds.map((id) => queryable.findWorkItem(id)));
410
+ const openChildIds = [];
411
+ for (let i = 0; i < children.length; i++) {
412
+ const wi = children[i];
413
+ if (wi !== null && !TERMINAL_WORK_ITEM_STATUSES.has(wi.status)) {
414
+ openChildIds.push(wi.id);
415
+ }
416
+ }
417
+ if (openChildIds.length > 0) {
418
+ this.logger.info('Request → done refused: open child WorkItems', {
419
+ requestId: request.id,
420
+ openChildCount: openChildIds.length,
421
+ openChildIds,
422
+ });
423
+ throw new RequestStillHasOpenChildrenError({
424
+ requestId: request.id,
425
+ openChildIds,
426
+ });
427
+ }
428
+ }
276
429
  /**
277
430
  * Deletes a Request from disk. Used for purging old completed Requests.
278
431
  *
@@ -1 +1 @@
1
- {"version":3,"file":"request.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/request.service.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACxF,OAAO,EAKL,SAAS,EACT,wBAAwB,EACxB,0BAA0B,EAC1B,aAAa,GACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAoB,MAAM,sBAAsB,CAAC;AAGhF,wDAAwD;AACxD,MAAM,YAAY,GAAG,UAAU,CAAC;AAEhC;;;;;;;GAOG;AACH,IAAI,gBAAgB,GAA2B,IAAI,CAAC;AAEpD;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAA2B;IACnE,gBAAgB,GAAG,GAAG,CAAC;AACzB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,cAAc;IAWY;IAV7B,MAAM,CAAC,QAAQ,GAA0B,IAAI,CAAC;IAErC,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;IAC7E,WAAW,CAAS;IAErC;;;;OAIG;IACH,YAAqC,WAAmB;QAAnB,gBAAW,GAAX,WAAW,CAAQ;QACtD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IACrE,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,WAAW,CAAC,WAAoB;QAC5C,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;YAC7B,MAAM,YAAY,GAAG,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YACrF,cAAc,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,YAAY,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,cAAc,CAAC,QAAQ,CAAC;IACjC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,aAAa;QACzB,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC;IACjC,CAAC;IAED,8EAA8E;IAC9E,eAAe;IACf,8EAA8E;IAE9E;;;;;OAKG;IACK,WAAW,CAAC,SAAiB;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,IAAI,CAAC,SAAiB;QAClC,MAAM,IAAI,GAAG,MAAM,YAAY,CAAiB,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;QACnF,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,IAAI,CAAC,OAAgB;QACjC,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAClC,MAAM,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;IAED,8EAA8E;IAC9E,aAAa;IACb,8EAA8E;IAE9E;;;;;;;;;;;OAWG;IACI,KAAK,CAAC,MAAM,CAAC,KAAyB;QAC3C,MAAM,MAAM,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAE/E,uEAAuE;QACvE,oEAAoE;QACpE,uEAAuE;QACvE,oEAAoE;QACpE,eAAe;QACf,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAElC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACK,mBAAmB,CAAC,OAAgB;QAC1C,IAAI,CAAC,gBAAgB;YAAE,OAAO;QAC9B,IAAI,CAAC;YACH,gBAAgB,CAAC,OAAO,CAAC;gBACvB,EAAE,EAAE,mBAAmB,OAAO,CAAC,EAAE,EAAE;gBACnC,IAAI,EAAE,iBAAiB;gBACvB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,mEAAmE;gBACnE,MAAM,EAAE,EAAE;gBACV,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,EAAE;gBACZ,UAAU,EAAE,EAAE;gBACd,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;gBACjB,QAAQ,EAAE,OAAO,CAAC,MAAM;gBACxB,kEAAkE;gBAClE,oEAAoE;gBACpE,sEAAsE;gBACtE,sEAAsE;gBACtE,wEAAwE;gBACxE,+BAA+B;gBAC/B,YAAY,EAAE,YAAY;gBAC1B,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,SAAS,EAAE,OAAO,CAAC,SAAS;aAC7B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yCAAyC,EAAE;gBAC1D,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,OAAO,CAAC,EAAU;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,OAAO;QAClB,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAElC,IAAI,KAAe,CAAC;QACpB,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAc,EAAE,CAAC;QAE/B,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACnD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAiB,QAAQ,EAAE,IAAI,CAAC,CAAC;YAChE,IAAI,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QAED,QAAQ,CAAC,IAAI,CACX,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAC5E,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,OAA2B;QACzD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,wDAAwD;QACxD,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;YACxD,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9D,MAAM,IAAI,KAAK,CACb,8BAA8B,OAAO,CAAC,MAAM,OAAO,OAAO,CAAC,MAAM,EAAE,CACpE,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAChC,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAChE,OAAO,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACjD,CAAC;QACH,CAAC;QAED,sBAAsB;QACtB,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC/D,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;YAAE,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACjF,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACxE,IAAI,OAAO,CAAC,oBAAoB,KAAK,SAAS;YAAE,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;QAC5G,IAAI,OAAO,CAAC,kBAAkB,KAAK,SAAS;YAAE,OAAO,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACtG,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;YAAE,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAC3E,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS;YAAE,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QACvF,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAClE,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC5D,IAAI,OAAO,CAAC,gBAAgB,KAAK,SAAS;YAAE,OAAO,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QAChG,IAAI,OAAO,CAAC,iBAAiB,KAAK,SAAS;YAAE,OAAO,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;QACnG,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;YAAE,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAC3E,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;YAAE,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAE9E,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACrE,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,MAAM,CAAC,EAAU;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC;YACP,8BAA8B;QAChC,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,YAAY,CAAC,SAAiB,EAAE,UAAkB;QAC7D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAE1B,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9C,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACrC,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC7C,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,8BAA8B,CAAC,wBAAgC;QAC1E,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACjC,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,wBAAwB,KAAK,wBAAwB,CAAC,IAAI,IAAI,CAAC;IAC1F,CAAC;IAED,8EAA8E;IAC9E,0CAA0C;IAC1C,8EAA8E;IAE9E;;;;;;;;;;;;;;;;;;;;OAoBG;IACI,KAAK,CAAC,IAAI,CAAC,OAAe,EAAE,OAAqB;QACtD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,OAAO;gBACL,OAAO;gBACP,KAAK,EAAE,EAAE;gBACT,SAAS,EAAE,4CAA4C;gBACvD,QAAQ,EAAE,MAAM;aACjB,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAE9C,qEAAqE;QACrE,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,QAAsB,CAAC;QAC3B,IAAI,6DAA6D,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACtH,QAAQ,GAAG,OAAO,CAAC;QACrB,CAAC;aAAM,IAAI,6DAA6D,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAChI,QAAQ,GAAG,KAAK,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,SAAS,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE;YACnC,aAAa,EAAE,OAAO,CAAC,MAAM;YAC7B,QAAQ;YACR,SAAS,EAAE,KAAK,CAAC,MAAM;SACxB,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,OAAO;YAChB,KAAK;YACL,SAAS,EAAE,qBAAqB,QAAQ,mBAAmB,KAAK,CAAC,MAAM,SAAS;YAChF,QAAQ;SACT,CAAC;IACJ,CAAC"}
1
+ {"version":3,"file":"request.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/request.service.ts"],"names":[],"mappings":"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"}
@@ -73,6 +73,21 @@ export declare class TriggerEngine {
73
73
  private oneShotTimers;
74
74
  /** Whether the engine is currently running. */
75
75
  private running;
76
+ /**
77
+ * Last persisted active-trigger count, used as the prior reference for
78
+ * the active-count-collapse warn-log in {@link persistTriggers}. Updated
79
+ * inside persistTriggers **only after a successful write** (i.e. inside the
80
+ * try block, post-`atomicWriteJsonWithGuard`); resets on `loadTriggers()`
81
+ * boot to whatever was on disk so post-restart writes are correctly
82
+ * baselined against the persisted state.
83
+ *
84
+ * Update-after-success ordering is load-bearing for the active-collapse
85
+ * warn-log: if the guard rejects a write, the baseline must remain at the
86
+ * pre-regression value so a subsequent persist call (still seeing the same
87
+ * regression) re-emits the warn-log. Updating before the write would
88
+ * silently suppress the signal after the very first guard rejection.
89
+ */
90
+ private lastKnownActiveCount;
76
91
  /**
77
92
  * Creates a new TriggerEngine.
78
93
  *
@@ -270,6 +285,30 @@ export declare class TriggerEngine {
270
285
  * trail survives.
271
286
  */
272
287
  private loadTriggers;
288
+ /**
289
+ * Reads the persisted triggers JSON from disk with corruption-aware
290
+ * fallback semantics.
291
+ *
292
+ * Behavior:
293
+ * - **ENOENT** (no prior file): silently return `[]`. Normal first-boot
294
+ * or post-clean-install state.
295
+ * - **Parse failure or non-array shape**: back up the corrupt file as
296
+ * `<path>.corrupt.<ts>`, emit a `system:trigger_persistence_corrupt`
297
+ * warn-log (per B1 spec — uses logger.warn, NOT a new event-bus type),
298
+ * and return `[]` so the engine boots clean. The next persistTriggers()
299
+ * call will overwrite the corrupt file with valid JSON (the
300
+ * integrity-guarded write tolerates an unreadable prior file per
301
+ * PR #420 design contract).
302
+ *
303
+ * Why this is custom (not safeReadJson): we need to distinguish
304
+ * "missing file" (silent) from "corrupt file" (loud warn-log) for the
305
+ * B1 acceptance criteria. The shared helper collapses both cases to
306
+ * "return default + back up", which is the right *behavior* but doesn't
307
+ * give us the corruption signal.
308
+ *
309
+ * @returns Parsed Trigger array, or empty array on missing/corrupt file
310
+ */
311
+ private readTriggersFromDisk;
273
312
  /**
274
313
  * Detects active triggers that are structurally identical (same owner,
275
314
  * same config, same action) and cancels all but the oldest in each group.
@@ -278,7 +317,36 @@ export declare class TriggerEngine {
278
317
  */
279
318
  private dedupeDuplicateTriggers;
280
319
  /**
281
- * Persists all triggers to disk.
320
+ * Persists all triggers to disk via the integrity-guarded atomic write.
321
+ *
322
+ * **Integrity guard (B1):** Uses
323
+ * {@link atomicWriteJsonWithGuard} so a regression that accidentally
324
+ * empties or aggressively shrinks the trigger registry between two
325
+ * persist calls is **rejected at write time** rather than silently
326
+ * propagating to disk and surviving a subsequent boot-replay.
327
+ *
328
+ * Guard configuration:
329
+ * - `countOf` = `data.length` (total trigger count, including
330
+ * `cancelled`/`exhausted` triggers — entries are kept after status
331
+ * change for audit trail, so length only drops on actual deletion).
332
+ * - `maxDecreasePct` = 50 (PR #420 default). Catches catastrophic
333
+ * length wipes (e.g. `rm -rf .crewly/triggers/`, `Map.clear()` bug,
334
+ * accidental empty-array assignment).
335
+ * - `allowExplicitDelete` = false. The CRUD operations that legitimately
336
+ * shrink the file (delete a single trigger) drop length by at most 1
337
+ * per call, well under the 50% threshold for any non-trivial registry.
338
+ *
339
+ * **Failure mode:** {@link IntegrityViolationError} surfaces to the
340
+ * caller (CRUD method or fire path). The in-memory map is preserved
341
+ * unchanged — the next legitimate persist call has a chance to re-sync
342
+ * disk to memory once the regression is corrected.
343
+ *
344
+ * **Active-count signal:** A separate warn-log fires if the active
345
+ * count collapses to zero from a known-positive value (status-flip
346
+ * failure mode that the length guard cannot catch — entries stay,
347
+ * statuses all flip to terminal). This is observational only (no
348
+ * throw) because legitimate bulk-cancel paths exist and we do not
349
+ * want to block them; ops can investigate the warn-log.
282
350
  */
283
351
  private persistTriggers;
284
352
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"trigger-engine.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/trigger-engine.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trigger-engine.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/trigger-engine.service.ts"],"names":[],"mappings":"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"}