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
@@ -13,7 +13,7 @@ import helmet from 'helmet';
13
13
  import morgan from 'morgan';
14
14
  import os from 'os';
15
15
  import { fileURLToPath } from 'url';
16
- import { StorageService, TmuxService, SchedulerService, MessageSchedulerService, ActivityMonitorService, TaskTrackingService, TeamActivityWebSocketService, TeamsJsonWatcherService, } from './services/index.js';
16
+ import { StorageService, TmuxService, SchedulerService, MessageSchedulerService, ActivityMonitorService, TeamActivityWebSocketService, TeamsJsonWatcherService, } from './services/index.js';
17
17
  import { getSessionBackend, getSessionBackendSync, getSessionStatePersistence, destroySessionBackend, PtySessionBackend, } from './services/session/index.js';
18
18
  import { ApiController } from './controllers/api.controller.js';
19
19
  import { createApiRoutes } from './routes/api.routes.js';
@@ -35,6 +35,9 @@ import { EventBusService } from './services/event-bus/index.js';
35
35
  import { EventToWorkItemBridge } from './services/event-bus/event-to-workitem-bridge.service.js';
36
36
  import { AutoLearningSubscriber } from './services/memory/auto-learning.subscriber.js';
37
37
  import { RequestSlaSubscriber, setRequestSlaSubscriber, } from './services/v3/request-sla.subscriber.js';
38
+ import { RequestDecomposeSubscriber, setRequestDecomposeSubscriber, } from './services/v3/request-decompose.subscriber.js';
39
+ import { RequestStatusUpdateSubscriber } from './services/v3/request-status-update.subscriber.js';
40
+ import { RequestCascadeSubscriber } from './services/v3/request-cascade.subscriber.js';
38
41
  import { setRequestServiceEventBus, RequestService } from './services/v3/request.service.js';
39
42
  import { getSlackService } from './services/slack/slack.service.js';
40
43
  import { SlackThreadStoreService, setSlackThreadStore, getSlackThreadStore } from './services/slack/slack-thread-store.service.js';
@@ -42,7 +45,6 @@ import { GoogleChatThreadStoreService, setGchatThreadStore } from './services/me
42
45
  import { SlackImageService, setSlackImageService } from './services/slack/slack-image.service.js';
43
46
  import { NotifyReconciliationService } from './services/slack/notify-reconciliation.service.js';
44
47
  import { setEventBusService as setEventBusControllerService } from './controllers/event-bus/event-bus.controller.js';
45
- import { setEventBusServiceForTaskCleanup } from './controllers/task-management/task-management.controller.js';
46
48
  import { setTeamControllerEventBusService } from './controllers/team/team.controller.js';
47
49
  import { SkillCatalogService } from './services/skill/skill-catalog.service.js';
48
50
  import { setMessageQueueService as setChatMessageQueueService, setThreadStatusQueueService as setChatThreadStatusQueueService } from './controllers/chat/chat.controller.js';
@@ -52,6 +54,7 @@ import { TokenUsageService } from './services/monitoring/token-usage.service.js'
52
54
  import { agentHeartbeatMiddleware } from './middleware/agent-heartbeat.middleware.js';
53
55
  import { RedisCacheService } from './services/cache/redis-cache.service.js';
54
56
  import { OrchestratorRestartService } from './services/orchestrator/orchestrator-restart.service.js';
57
+ import { setOrchestratorSetupDependencies } from './services/orchestrator/orchestrator-setup.service.js';
55
58
  import { IdleDetectionService } from './services/agent/idle-detection.service.js';
56
59
  import { AgentSuspendService } from './services/agent/agent-suspend.service.js';
57
60
  import { AgentHeartbeatMonitorService } from './services/agent/agent-heartbeat-monitor.service.js';
@@ -60,6 +63,7 @@ import { RuntimeExitMonitorService } from './services/agent/runtime-exit-monitor
60
63
  import { ContextWindowMonitorService } from './services/agent/context-window-monitor.service.js';
61
64
  import { OAuthReloginMonitorService } from './services/agent/oauth-relogin-monitor.service.js';
62
65
  import { findPackageRoot } from './utils/package-root.js';
66
+ import { isNativeBindingFatalError } from './utils/native-binding.utils.js';
63
67
  import { VersionCheckService } from './services/system/version-check.service.js';
64
68
  import { LogRotationService } from './services/session/log-rotation.service.js';
65
69
  import { AuditorSchedulerService } from './services/agent/auditor-scheduler.service.js';
@@ -122,7 +126,6 @@ export class CrewlyServer {
122
126
  schedulerService;
123
127
  messageSchedulerService;
124
128
  activityMonitorService;
125
- taskTrackingService;
126
129
  teamActivityWebSocketService;
127
130
  teamsJsonWatcherService;
128
131
  apiController;
@@ -137,6 +140,10 @@ export class CrewlyServer {
137
140
  autoLearningSubscriber = null;
138
141
  /** INBOUND-1: subscribes to request:created and tracks 5/10 min SLA on respond_to_user WIs. */
139
142
  requestSlaSubscriber = null;
143
+ /** Pipeline-#4 follow-up: subscribes to request:created and auto-decomposes actionable L2 Requests via plan() → addToPool. */
144
+ requestDecomposeSubscriber = null;
145
+ requestStatusUpdateSubscriber = null;
146
+ requestCascadeSubscriber = null;
140
147
  notifyReconciliationService;
141
148
  systemResourceAlertService;
142
149
  reconcilerService = null;
@@ -206,15 +213,16 @@ export class CrewlyServer {
206
213
  this.schedulerService = new SchedulerService(this.storageService);
207
214
  this.messageSchedulerService = new MessageSchedulerService(this.tmuxService, this.storageService);
208
215
  this.activityMonitorService = ActivityMonitorService.getInstance();
209
- this.taskTrackingService = new TaskTrackingService();
210
- this.teamActivityWebSocketService = new TeamActivityWebSocketService(this.storageService, this.tmuxService, this.taskTrackingService);
216
+ // V3-only as of spec 2026-05-06-task-management-v1-deprecation.md.
217
+ // TaskTrackingService is deleted; in-progress task data and lifecycle
218
+ // events come from TaskPoolService + EventBusService respectively.
219
+ this.teamActivityWebSocketService = new TeamActivityWebSocketService(this.storageService, this.tmuxService);
211
220
  this.teamsJsonWatcherService = new TeamsJsonWatcherService();
212
221
  this.apiController = new ApiController(this.storageService, this.tmuxService, this.schedulerService, this.messageSchedulerService);
213
222
  // Wire up reliable delivery: both schedulers use AgentRegistrationService
214
223
  // for retry + progressive verification + background stuck-detection
215
224
  this.messageSchedulerService.setAgentRegistrationService(this.apiController.agentRegistrationService);
216
225
  this.schedulerService.setAgentRegistrationService(this.apiController.agentRegistrationService);
217
- this.schedulerService.setTaskTrackingService(this.taskTrackingService);
218
226
  // Initialize message queue services (with disk persistence)
219
227
  // NOTE: Must be created before services that depend on them (scheduler, thread status queue)
220
228
  this.messageQueueService = new MessageQueueService(this.config.crewlyHome);
@@ -254,6 +262,23 @@ export class CrewlyServer {
254
262
  // triggers addToPool — the slack listener / TaskPool router below both
255
263
  // depend on this for the auto-close path b chain. Idempotent.
256
264
  TaskPoolService.getInstance().setEventBusService(this.eventBusService);
265
+ // P1 Bug B (Pool umbrella WI 72ca743a): Wire RequestService into the
266
+ // TaskPool singleton so addToPool intrinsically links new WIs into
267
+ // their parent Request.workItemIds[] — independent of the
268
+ // subscriber-driven path (request-sla.subscriber, V3DataService).
269
+ // Pre-fix, manual / programmatic / cron callers that bypassed the
270
+ // event chain left Requests with empty workItemIds[]. The linker is
271
+ // idempotent (request.service.ts:328 short-circuits on duplicate id)
272
+ // so subscriber-driven linking stays as belt-and-suspenders.
273
+ TaskPoolService.getInstance().setRequestService(RequestService.getInstance());
274
+ // P1 Bug C (Pool umbrella WI 72ca743a, sub-WI Bug C): Wire the inverse
275
+ // dependency — RequestService → TaskPool — so RequestService.update
276
+ // can refuse `Request → done` when any child WorkItem is still in a
277
+ // non-terminal state. Bug B (above) makes Request.workItemIds[]
278
+ // authoritative on every addToPool; Bug C makes the closure honor
279
+ // that data. The setter is duck-typed on IWorkItemQueryable so
280
+ // neither side needs a static import of the other.
281
+ RequestService.getInstance().setTaskPoolService(TaskPoolService.getInstance());
257
282
  // Wire Task Pool router so [TASK]-prefixed messages route through the pool
258
283
  this.queueProcessorService.setTaskPoolRouter(async (messageContent, targetSession) => {
259
284
  const { createWorkItem } = await import('./types/v2/work-item.types.js');
@@ -282,24 +307,14 @@ export class CrewlyServer {
282
307
  this.activityMonitorService.setEventBusService(this.eventBusService);
283
308
  setEventBusControllerService(this.eventBusService);
284
309
  setTeamControllerEventBusService(this.eventBusService);
285
- setEventBusServiceForTaskCleanup(this.eventBusService);
286
- // Architecture Upgrade Phase 6: Bridge task workflow events to EventBus
287
- this.taskTrackingService.on('task_workflow_event', (payload) => {
288
- this.eventBusService.publish({
289
- id: `task-workflow-${payload.taskId || 'team'}-${Date.now()}`,
290
- type: payload.type,
291
- timestamp: new Date().toISOString(),
292
- teamId: payload.teamId || '',
293
- teamName: '',
294
- memberId: payload.ownerMemberId || '',
295
- memberName: '',
296
- sessionName: payload.assignedSessionName || '',
297
- previousValue: '',
298
- newValue: payload.taskStatus || payload.type,
299
- changedField: 'taskStatus',
300
- taskId: payload.taskId,
301
- });
302
- });
310
+ // Wire team-activity-websocket to EventBus so it reacts to V3
311
+ // WorkItem lifecycle events (replaces the legacy
312
+ // TaskTrackingService.on('task_workflow_event') bridge that was
313
+ // deleted with the v1 task-management subsystem).
314
+ this.teamActivityWebSocketService.setEventBus(this.eventBusService);
315
+ // V3-only autonomy: AgentAutoClaimService (started later in boot)
316
+ // is the single autonomy loop. The legacy AutoAssignService has
317
+ // been retired — see spec 2026-05-06-task-management-v1-deprecation.md.
303
318
  // BRIDGE-1: subscribe to autonomy events (task:done_by_worker,
304
319
  // task:rejected, task:blocked, team:all_tasks_done, mission:*) and
305
320
  // create the appropriate WorkItem(s) — verification WI for TL on
@@ -315,24 +330,115 @@ export class CrewlyServer {
315
330
  // contract (V1) and the V7/V9 self-checks in the co-located test.
316
331
  this.autoLearningSubscriber = AutoLearningSubscriber.boot(this.eventBusService);
317
332
  this.autoLearningSubscriber.start();
318
- // INBOUND-1: wire RequestService → bus, then subscribe SLA tracker.
319
- // Order matters: setRequestServiceEventBus must run BEFORE any code
320
- // path can call RequestService.create() the slack listener at
321
- // line ~370 is the first hot caller, but the slack service hasn't
322
- // been initialised yet at this point in boot, so we're safe.
323
- setRequestServiceEventBus(this.eventBusService);
324
- this.requestSlaSubscriber = RequestSlaSubscriber.boot(this.eventBusService, RequestService.getInstance(), TaskPoolService.getInstance(), async ({ channelId, threadTs, messageText }) => {
325
- // Production wiring of the 10-min escalation hook: nudge the user
326
- // in the same Slack thread so they're never blind to the miss.
327
- const slack = getSlackService();
328
- await slack.sendMessage({
329
- channelId,
330
- threadTs,
331
- text: messageText,
333
+ // INBOUND-1 + Pipeline-#4 follow-up: wire RequestService → bus, then
334
+ // boot both v3 subscribers (SLA tracker + auto-decompose). Order
335
+ // matters within the block: setRequestServiceEventBus must run
336
+ // BEFORE any code path can call RequestService.create() the slack
337
+ // listener at line ~370 is the first hot caller, but the slack
338
+ // service hasn't been initialised yet at this point in boot, so
339
+ // we're safe.
340
+ //
341
+ // Failure-isolated (issue #465): the entire v3 subscriber boot is
342
+ // wrapped in try/catch so a wiring failure logs + continues rather
343
+ // than crashing the whole backend. Neither subscriber is essential
344
+ // to API liveness — degrading them is preferable to losing the
345
+ // process. A single catch block treats both as a unit because the
346
+ // failure mode is "wiring is broken, fix the deploy" not
347
+ // "intermittently flaky"; partial recovery would be unnecessary
348
+ // complexity for v1. B0 broadcast (line ~2336) and TriggerEngine
349
+ // boot (line ~1464) already have equivalent isolation; this brings
350
+ // the v3 subscriber block in line with that pattern.
351
+ try {
352
+ setRequestServiceEventBus(this.eventBusService);
353
+ this.requestSlaSubscriber = RequestSlaSubscriber.boot(this.eventBusService, RequestService.getInstance(), TaskPoolService.getInstance(), async ({ channelId, threadTs, messageText }) => {
354
+ // Production wiring of the 10-min escalation hook: nudge the user
355
+ // in the same Slack thread so they're never blind to the miss.
356
+ const slack = getSlackService();
357
+ await slack.sendMessage({
358
+ channelId,
359
+ threadTs,
360
+ text: messageText,
361
+ });
332
362
  });
333
- });
334
- this.requestSlaSubscriber.start();
335
- setRequestSlaSubscriber(this.requestSlaSubscriber);
363
+ this.requestSlaSubscriber.start();
364
+ setRequestSlaSubscriber(this.requestSlaSubscriber);
365
+ // Pipeline-#4 follow-up: auto-decompose actionable L2 Requests on
366
+ // request:created. Sequenced AFTER the SLA subscriber so the
367
+ // respond_to_user WI seeding still runs first when both fire on
368
+ // the same event (deterministic listener-attach order; both run
369
+ // via the same in-process bus). Side note: order is semantically
370
+ // irrelevant — the linkWorkItem path keys on workitem:queued, not
371
+ // on relative listener position — but predictable startup ordering
372
+ // helps debug.
373
+ this.requestDecomposeSubscriber = RequestDecomposeSubscriber.boot(this.eventBusService, RequestService.getInstance(), TaskPoolService.getInstance());
374
+ this.requestDecomposeSubscriber.start();
375
+ setRequestDecomposeSubscriber(this.requestDecomposeSubscriber);
376
+ // Status-update subscriber: posts progress on Slack-originated
377
+ // Requests as their child WIs reach milestones, plus a heartbeat
378
+ // while work is still in flight. Closes the "long silence after
379
+ // orc's first ack" UX gap. Idempotent — duplicate boots are no-ops.
380
+ this.requestStatusUpdateSubscriber = new RequestStatusUpdateSubscriber({
381
+ eventBus: this.eventBusService,
382
+ requestService: RequestService.getInstance(),
383
+ taskPool: TaskPoolService.getInstance(),
384
+ slackPoster: async ({ channelId, text, threadTs }) => {
385
+ // Post via the in-process SlackService to avoid a self-HTTP
386
+ // hop. The /api/slack/send route's other side-effects (chat
387
+ // persistence, thread-status replied marker) don't apply
388
+ // to mid-thread heartbeat updates — those are only for
389
+ // the user's direct reply, not for orc's progress pings.
390
+ const slack = getSlackService();
391
+ if (!slack.isConnected())
392
+ return;
393
+ await slack.sendMessage({ channelId, text, threadTs });
394
+ },
395
+ heartbeatMinutes: 30,
396
+ });
397
+ this.requestStatusUpdateSubscriber.start();
398
+ // Cascade subscriber: keeps Request.status in sync with the
399
+ // aggregate state of its child WIs by reacting to live task
400
+ // lifecycle events. Closes the gap left by V3DataService's
401
+ // retired `v3:task_*` subscriptions (see 2026-05-09 dogfood
402
+ // note in request-cascade.subscriber.ts).
403
+ this.requestCascadeSubscriber = new RequestCascadeSubscriber({
404
+ eventBus: this.eventBusService,
405
+ requestService: RequestService.getInstance(),
406
+ taskPool: TaskPoolService.getInstance(),
407
+ notifier: this.eventBusService,
408
+ });
409
+ this.requestCascadeSubscriber.start();
410
+ }
411
+ catch (subscriberBootErr) {
412
+ // Degraded mode: SLA tracking + auto-decompose are off, but the
413
+ // API surface and rest of the backend continue to serve. Ops can
414
+ // grep for `v3 subscriber boot failed` in logs to triage.
415
+ this.logger.error('v3 subscriber boot failed — degrading SLA + auto-decompose paths, continuing backend startup', {
416
+ error: subscriberBootErr instanceof Error
417
+ ? subscriberBootErr.message
418
+ : String(subscriberBootErr),
419
+ });
420
+ // Best-effort cleanup of any partial wiring so a later restart
421
+ // doesn't see stale singletons. The setters are idempotent.
422
+ setRequestSlaSubscriber(null);
423
+ setRequestDecomposeSubscriber(null);
424
+ setRequestServiceEventBus(null);
425
+ this.requestSlaSubscriber = null;
426
+ this.requestDecomposeSubscriber = null;
427
+ if (this.requestStatusUpdateSubscriber) {
428
+ try {
429
+ this.requestStatusUpdateSubscriber.stop();
430
+ }
431
+ catch { /* best-effort */ }
432
+ this.requestStatusUpdateSubscriber = null;
433
+ }
434
+ if (this.requestCascadeSubscriber) {
435
+ try {
436
+ this.requestCascadeSubscriber.stop();
437
+ }
438
+ catch { /* best-effort */ }
439
+ this.requestCascadeSubscriber = null;
440
+ }
441
+ }
336
442
  // Initialize Slack thread store for persistent thread conversations
337
443
  const slackThreadStore = new SlackThreadStoreService(this.config.crewlyHome);
338
444
  setSlackThreadStore(slackThreadStore);
@@ -831,6 +937,21 @@ export class CrewlyServer {
831
937
  error: error instanceof Error ? error.message : String(error),
832
938
  });
833
939
  }
940
+ // Wire orchestrator-setup service for SlackBridge auto-recovery (B0).
941
+ // Without this, the bridge's auto-recovery path returns "deps not
942
+ // initialized" and falls through to the offline branch.
943
+ try {
944
+ setOrchestratorSetupDependencies({
945
+ agentRegistrationService: this.apiController.agentRegistrationService,
946
+ storageService: this.storageService,
947
+ });
948
+ this.logger.info('OrchestratorSetupService wired with dependencies');
949
+ }
950
+ catch (error) {
951
+ this.logger.warn('Failed to wire OrchestratorSetupService (non-critical)', {
952
+ error: error instanceof Error ? error.message : String(error),
953
+ });
954
+ }
834
955
  // Wire and start OrchestratorHeartbeatMonitorService for auto-restart
835
956
  try {
836
957
  const orchHbSessionBackend = getSessionBackendSync();
@@ -876,7 +997,7 @@ export class CrewlyServer {
876
997
  const ctxSessionBackend = getSessionBackendSync();
877
998
  if (ctxSessionBackend) {
878
999
  const contextWindowMonitor = ContextWindowMonitorService.getInstance();
879
- contextWindowMonitor.setDependencies(ctxSessionBackend, this.apiController.agentRegistrationService, this.storageService, this.taskTrackingService, this.eventBusService);
1000
+ contextWindowMonitor.setDependencies(ctxSessionBackend, this.apiController.agentRegistrationService, this.storageService, this.eventBusService);
880
1001
  contextWindowMonitor.start();
881
1002
  this.logger.info('ContextWindowMonitorService started');
882
1003
  }
@@ -899,7 +1020,6 @@ export class CrewlyServer {
899
1020
  try {
900
1021
  const runtimeExitMonitor = RuntimeExitMonitorService.getInstance();
901
1022
  runtimeExitMonitor.setAgentRegistrationService(this.apiController.agentRegistrationService);
902
- runtimeExitMonitor.setTaskTrackingService(this.taskTrackingService);
903
1023
  runtimeExitMonitor.setEventBusService(this.eventBusService);
904
1024
  }
905
1025
  catch (error) {
@@ -969,8 +1089,40 @@ export class CrewlyServer {
969
1089
  path: '/ws/chat',
970
1090
  authMode: jwtSecret ? 'jwt' : 'dev-anonymous',
971
1091
  });
1092
+ // Onboarding v3 (B1) — wire the cold-start detector with the
1093
+ // chat-v2 service we just stood up. The orc bootstrap path
1094
+ // (CrewlyAgentRuntimeService.detectOnboardingMode) probes this
1095
+ // singleton; null means "skip the cold-start probe", so this
1096
+ // wiring is what flips onboarding mode on for the demo path.
1097
+ try {
1098
+ const { OnboardingBootstrapService, setOnboardingBootstrapService } = await import('./services/orchestrator/onboarding-bootstrap.service.js');
1099
+ setOnboardingBootstrapService(new OnboardingBootstrapService({
1100
+ storage: this.storageService,
1101
+ chat: { countAllMessages: () => chatService.countAllMessages() },
1102
+ }));
1103
+ this.logger.info('OnboardingBootstrapService wired with storage + chat probes');
1104
+ }
1105
+ catch (wireErr) {
1106
+ this.logger.warn('Failed to wire OnboardingBootstrapService (non-critical)', {
1107
+ error: wireErr instanceof Error ? wireErr.message : String(wireErr),
1108
+ });
1109
+ }
972
1110
  }
973
1111
  catch (error) {
1112
+ // F-CYCLE7-1: a native-binding failure (e.g. better-sqlite3 built
1113
+ // for the wrong arch) MUST crash the boot rather than be downgraded
1114
+ // to a JSON-file fallback. The audit on 2026-05-07 caught this
1115
+ // exact path: chat.db went stale at 11:17Z because dlopen errors
1116
+ // were swallowed here as "non-critical", so operators had no signal
1117
+ // to run `npm rebuild better-sqlite3 --build-from-source`.
1118
+ //
1119
+ // `isNativeBindingFatalError` matches structurally (not just via
1120
+ // instanceof) so realm-boundary cases — same module loaded via
1121
+ // two require paths — still trip the rethrow.
1122
+ if (isNativeBindingFatalError(error)) {
1123
+ this.logger.error('FATAL native binding failed at chat-v2 boot — refusing to downgrade to JSON fallback. Run the printed remediation and restart.', { error: error.message });
1124
+ throw error;
1125
+ }
974
1126
  this.logger.warn('Failed to start chat-v2 WS gateway (non-critical)', {
975
1127
  error: error instanceof Error ? error.message : String(error),
976
1128
  });
@@ -1376,12 +1528,27 @@ export class CrewlyServer {
1376
1528
  error: v3Err instanceof Error ? v3Err.message : String(v3Err),
1377
1529
  });
1378
1530
  }
1531
+ // Start WorkItemDispatchSubscriber FIRST — AgentAutoClaim's recovery
1532
+ // path delegates to its dispatchTo() for the "active target session"
1533
+ // branch, so the singleton must be reachable when recovery fires.
1534
+ try {
1535
+ const { WorkItemDispatchSubscriber } = await import('./services/v3/workitem-dispatch.subscriber.js');
1536
+ const dispatchSubscriber = WorkItemDispatchSubscriber.getInstance();
1537
+ dispatchSubscriber.initialize(this.eventBusService);
1538
+ dispatchSubscriber.start();
1539
+ this.logger.info('WorkItemDispatchSubscriber started — workitem:queued events push to target sessions');
1540
+ }
1541
+ catch (dispatchErr) {
1542
+ this.logger.warn('WorkItemDispatchSubscriber initialization failed (non-critical)', {
1543
+ error: dispatchErr instanceof Error ? dispatchErr.message : String(dispatchErr),
1544
+ });
1545
+ }
1379
1546
  // Start AgentAutoClaimService — auto-assign work to idle agents
1380
1547
  try {
1381
1548
  const { AgentAutoClaimService } = await import('./services/v3/agent-auto-claim.service.js');
1382
1549
  const autoClaimService = AgentAutoClaimService.getInstance();
1383
1550
  autoClaimService.initialize(this.eventBusService);
1384
- autoClaimService.start();
1551
+ await autoClaimService.start();
1385
1552
  this.logger.info('AgentAutoClaimService started — idle agents will auto-claim work');
1386
1553
  }
1387
1554
  catch (autoClaimErr) {
@@ -1458,8 +1625,9 @@ export class CrewlyServer {
1458
1625
  VersionCheckService.getInstance().checkForUpdate().catch(() => {
1459
1626
  // Silently ignore — version check is non-critical
1460
1627
  });
1461
- // Start periodic task file system sync (#137) — cleans up stale tracking entries
1462
- this.taskTrackingService.startAutoSync();
1628
+ // V3-only as of spec 2026-05-06-task-management-v1-deprecation.md.
1629
+ // The legacy `TaskTrackingService.startAutoSync()` is gone — V3
1630
+ // task-pool reconciler owns lifecycle cleanup now.
1463
1631
  // Initialize token usage tracking: load persisted data and start periodic flush
1464
1632
  try {
1465
1633
  const tokenUsageService = TokenUsageService.getInstance();
@@ -1495,6 +1663,25 @@ export class CrewlyServer {
1495
1663
  });
1496
1664
  }
1497
1665
  }
1666
+ // C1 — boot-time state invariant check (Persistence P0 spec).
1667
+ // Refuses to start serving traffic if the live teams directory
1668
+ // is empty but a healthy backup snapshot exists. Override via
1669
+ // CREWLY_FORCE_EMPTY_BOOT=1 for legitimate fresh-install / reset.
1670
+ try {
1671
+ await this.storageService.verifyStateInvariantOnBoot();
1672
+ }
1673
+ catch (invariantErr) {
1674
+ const { StateInvariantViolation } = await import('./services/core/state-invariant.types.js');
1675
+ if (invariantErr instanceof StateInvariantViolation) {
1676
+ this.logger.error('Boot aborted by state invariant check — refusing to serve traffic with wiped state', {
1677
+ currentTeamCount: invariantErr.currentTeamCount,
1678
+ backupTeamCount: invariantErr.backupTeamCount,
1679
+ backupTimestamp: invariantErr.backupTimestamp,
1680
+ message: invariantErr.message,
1681
+ });
1682
+ }
1683
+ throw invariantErr;
1684
+ }
1498
1685
  // Start HTTP server with enhanced error handling
1499
1686
  await this.startHttpServer();
1500
1687
  // Load addons from ~/.crewly/addons/ (Pro features, extensions, etc.)
@@ -1518,21 +1705,27 @@ export class CrewlyServer {
1518
1705
  await this.autoStartOrchestratorIfEnabled();
1519
1706
  // Auto-restore agent sessions that were running before the last shutdown
1520
1707
  await this.autoRestoreAgentSessionsIfEnabled();
1521
- // #166: Auto-recover in-progress tasks after restart
1522
- // #196: Skip tasks older than 1 hour to avoid re-sending stale work
1708
+ // #166: Auto-recover in-progress tasks after restart.
1709
+ // #196: Skip tasks older than 1 hour to avoid re-sending stale work.
1710
+ // V3-only as of spec 2026-05-06-task-management-v1-deprecation.md —
1711
+ // reads WorkItems from TaskPoolService (replaces the prior
1712
+ // `TaskTrackingService.getAllInProgressTasks()` call).
1523
1713
  try {
1524
1714
  const TASK_RECOVERY_MAX_AGE_MS = 60 * 60 * 1000; // 1 hour
1525
- const inProgressTasks = await this.taskTrackingService.getAllInProgressTasks();
1715
+ const { TaskPoolService } = await import('./services/task-pool/task-pool.service.js');
1716
+ const allItems = await TaskPoolService.getInstance().getAllItems();
1526
1717
  const now = Date.now();
1527
- const activeTasks = inProgressTasks.filter(t => {
1528
- if (t.status !== 'assigned' && t.status !== 'active' && t.status !== 'working')
1718
+ const activeTasks = allItems.filter(wi => {
1719
+ if (wi.status !== 'queued' && wi.status !== 'accepted' && wi.status !== 'running')
1720
+ return false;
1721
+ if (!wi.target)
1529
1722
  return false;
1530
- // Skip stale tasks — assignedAt older than threshold
1531
- const taskTime = new Date(t.assignedAt || 0).getTime();
1723
+ // Skip stale tasks — startedAt/createdAt older than threshold
1724
+ const taskTime = new Date(wi.startedAt || wi.createdAt || 0).getTime();
1532
1725
  if (now - taskTime > TASK_RECOVERY_MAX_AGE_MS) {
1533
1726
  this.logger.info('Skipping stale task recovery (older than 1 hour)', {
1534
- taskId: t.id,
1535
- taskName: t.taskName,
1727
+ workItemId: wi.id,
1728
+ taskName: wi.title,
1536
1729
  age: `${Math.round((now - taskTime) / 60000)} minutes`,
1537
1730
  });
1538
1731
  return false;
@@ -1540,24 +1733,24 @@ export class CrewlyServer {
1540
1733
  return true;
1541
1734
  });
1542
1735
  if (activeTasks.length > 0) {
1543
- this.logger.info('Found in-progress tasks to recover after restart', {
1736
+ this.logger.info('Found in-progress WorkItems to recover after restart', {
1544
1737
  count: activeTasks.length,
1545
1738
  });
1546
- for (const task of activeTasks) {
1739
+ for (const wi of activeTasks) {
1547
1740
  try {
1548
- const recoveryMessage = `[SYSTEM — TASK RECOVERY] You were working on this task before the server restarted. Please continue:\n\nTask: ${task.taskName}\nPriority: ${task.priority || 'normal'}\nFile: ${task.taskFilePath}\n\nPlease check the current state and continue working.`;
1549
- await this.apiController.agentRegistrationService.sendMessageToAgent(task.assignedSessionName, recoveryMessage, undefined);
1741
+ const recoveryMessage = `[SYSTEM — TASK RECOVERY] You were working on this task before the server restarted. Please continue:\n\nTask: ${wi.title}\nWorkItem: ${wi.id}\n\nFetch full brief: bash config/skills/agent/core/read-task/execute.sh '{"workItemId":"${wi.id}"}'\n\nPlease check the current state and continue working.`;
1742
+ await this.apiController.agentRegistrationService.sendMessageToAgent(wi.target, recoveryMessage, undefined);
1550
1743
  this.logger.info('Task recovery message sent', {
1551
- taskId: task.id,
1552
- sessionName: task.assignedSessionName,
1553
- taskName: task.taskName,
1744
+ workItemId: wi.id,
1745
+ sessionName: wi.target,
1746
+ taskName: wi.title,
1554
1747
  });
1555
1748
  }
1556
1749
  catch (err) {
1557
1750
  // Agent might not be online yet — DLQ in scheduler will handle it
1558
1751
  this.logger.warn('Task recovery delivery deferred (agent may not be online yet)', {
1559
- taskId: task.id,
1560
- sessionName: task.assignedSessionName,
1752
+ workItemId: wi.id,
1753
+ sessionName: wi.target,
1561
1754
  error: err instanceof Error ? err.message : String(err),
1562
1755
  });
1563
1756
  }
@@ -1993,6 +2186,49 @@ export class CrewlyServer {
1993
2186
  websocketUrl: `ws://localhost:${this.config.webPort}`,
1994
2187
  home: this.config.crewlyHome
1995
2188
  });
2189
+ // B0 (interim) per `.crewly/specs/2026-05-05-trigger-persistence-bug.md`:
2190
+ // Broadcast `system:backend_restarted` exactly once per boot. The
2191
+ // trigger engine (`backend/src/services/v3/trigger-engine.service.ts`)
2192
+ // stores all `schedule-followup` / `watch-for-event` triggers in an
2193
+ // in-memory `Map<string, Trigger>` that is wiped on every restart.
2194
+ // Subscribers (e.g. self-watch-scribe, any TL using §3.0 universal
2195
+ // delegator-rule) listen for this event as a freshness signal and
2196
+ // re-arm their watchdogs. Re-arm latency drops from "manual cycle"
2197
+ // to "next event tick" — closes the wipe-coverage-gap to seconds.
2198
+ // B1 (full fix) is disk-backed declarative trigger config per the
2199
+ // spec Path A; B0 is the unblock-first interim until B1 lands.
2200
+ try {
2201
+ // AgentEvent shape (`backend/src/types/event-bus.types.ts:198`)
2202
+ // requires a fixed set of string fields. For system-scoped
2203
+ // events we use 'system' for member/session and leave team
2204
+ // fields empty — subscribers MUST gate on `type` rather than
2205
+ // team/member identity. Boot diagnostics (port, duration) are
2206
+ // already in the preceding `Crewly server started` log;
2207
+ // callers needing them can correlate by `timestamp`.
2208
+ this.eventBusService.publish({
2209
+ id: `system-backend-restarted-${Date.now()}`,
2210
+ type: 'system:backend_restarted',
2211
+ timestamp: new Date().toISOString(),
2212
+ teamId: '',
2213
+ teamName: '',
2214
+ memberId: '',
2215
+ memberName: 'system',
2216
+ sessionName: 'system',
2217
+ previousValue: 'stopped',
2218
+ newValue: 'started',
2219
+ changedField: 'agentStatus'
2220
+ });
2221
+ this.logger.info('Broadcast system:backend_restarted event', {
2222
+ port: this.config.webPort,
2223
+ bootDurationMs: duration
2224
+ });
2225
+ }
2226
+ catch (emitError) {
2227
+ // Failure isolation — never block boot on this telemetry.
2228
+ this.logger.warn('Failed to broadcast system:backend_restarted (non-fatal)', {
2229
+ error: emitError instanceof Error ? emitError.message : String(emitError)
2230
+ });
2231
+ }
1996
2232
  resolve();
1997
2233
  });
1998
2234
  this.httpServer.on('error', (error) => {
@@ -2455,6 +2691,13 @@ export class CrewlyServer {
2455
2691
  this.requestSlaSubscriber = null;
2456
2692
  }
2457
2693
  setRequestSlaSubscriber(null);
2694
+ // Pipeline-#4 follow-up: stop the decompose subscriber and clear
2695
+ // its module-level reference on the same shutdown window as SLA.
2696
+ if (this.requestDecomposeSubscriber) {
2697
+ this.requestDecomposeSubscriber.stop();
2698
+ this.requestDecomposeSubscriber = null;
2699
+ }
2700
+ setRequestDecomposeSubscriber(null);
2458
2701
  setRequestServiceEventBus(null);
2459
2702
  // Clean up event bus service
2460
2703
  this.eventBusService.cleanup();