crewly 1.6.4 → 1.7.0

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 (939) hide show
  1. package/config/roles/architect/prompt.md +68 -2
  2. package/config/roles/auditor/prompt.md +92 -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 +233 -5
  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 +285 -70
  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 +93 -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-request/SKILL.md +1 -1
  31. package/config/skills/agent/core/create-request/execute.sh +29 -2
  32. package/config/skills/agent/core/create-request/execute.test.sh +168 -0
  33. package/config/skills/agent/core/create-task/execute.sh +40 -12
  34. package/config/skills/agent/core/get-my-active-work/SKILL.md +3 -1
  35. package/config/skills/agent/core/get-my-tasks/execute.sh +7 -5
  36. package/config/skills/agent/core/handoff-task/execute.sh +34 -48
  37. package/config/skills/agent/core/list-my-followups/SKILL.md +18 -0
  38. package/config/skills/agent/core/read-task/execute.sh +21 -8
  39. package/config/skills/agent/core/recall/SKILL.md +7 -0
  40. package/config/skills/agent/core/remember/SKILL.md +17 -1
  41. package/config/skills/agent/core/remember/execute.sh +5 -1
  42. package/config/skills/agent/core/reply-channel/SKILL.md +19 -0
  43. package/config/skills/agent/core/report-progress/execute.sh +39 -16
  44. package/config/skills/agent/core/report-status/SKILL.md +8 -1
  45. package/config/skills/agent/core/report-status/execute.sh +59 -13
  46. package/config/skills/agent/core/save-working-state/execute.sh +17 -6
  47. package/config/skills/agent/core/schedule-followup/SKILL.md +19 -0
  48. package/config/skills/agent/core/send-message/SKILL.md +6 -0
  49. package/config/skills/agent/core/supersede-memory/SKILL.md +76 -0
  50. package/config/skills/agent/core/supersede-memory/execute.sh +108 -0
  51. package/config/skills/agent/core/watch-for-event/SKILL.md +19 -0
  52. package/config/skills/agent/onboarding/materialize-team/SKILL.md +94 -0
  53. package/config/skills/agent/onboarding/materialize-team/execute.sh +98 -0
  54. package/config/skills/agent/onboarding/recommend-team/SKILL.md +90 -0
  55. package/config/skills/agent/onboarding/recommend-team/execute.sh +96 -0
  56. package/config/skills/agent/xhs-article-to-image/SKILL.md +20 -0
  57. package/config/skills/auditor/score-task/SKILL.md +15 -0
  58. package/config/skills/orchestrator/assign-task/execute.sh +28 -4
  59. package/config/skills/orchestrator/cancel-all-schedules/SKILL.md +15 -1
  60. package/config/skills/orchestrator/complete-task/execute.sh +45 -4
  61. package/config/skills/orchestrator/delegate-task/SKILL.md +1 -0
  62. package/config/skills/orchestrator/delegate-task/execute.sh +41 -2
  63. package/config/skills/orchestrator/get-tasks/execute.sh +22 -18
  64. package/config/skills/orchestrator/heartbeat/execute.sh +48 -6
  65. package/config/skills/orchestrator/list-schedules/SKILL.md +15 -1
  66. package/config/skills/orchestrator/update-team-member/SKILL.md +20 -0
  67. package/config/skills/team-leader/decompose-goal/execute.sh +51 -20
  68. package/config/skills/team-leader/delegate-task/execute.sh +67 -26
  69. package/config/skills/team-leader/delegate-task/execute.test.sh +117 -0
  70. package/config/skills/team-leader/verify-output/execute.sh +19 -20
  71. package/config/slack-app-manifest.json +2 -1
  72. package/config/sops/common/dev-process-tiers.md +181 -0
  73. package/config/sops/common/mid-flight-milestone-surface.md +128 -0
  74. package/config/sops/common/owner-facing-communication.md +175 -0
  75. package/config/sops/developer/git-workflow.md +33 -0
  76. package/config/souls/orchestrator.md +8 -0
  77. package/config/souls/team-leader.md +77 -0
  78. package/dist/backend/backend/src/constants.d.ts +12 -0
  79. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  80. package/dist/backend/backend/src/constants.js +12 -0
  81. package/dist/backend/backend/src/constants.js.map +1 -1
  82. package/dist/backend/backend/src/controllers/active-work/active-work.controller.d.ts.map +1 -1
  83. package/dist/backend/backend/src/controllers/active-work/active-work.controller.js +4 -1
  84. package/dist/backend/backend/src/controllers/active-work/active-work.controller.js.map +1 -1
  85. package/dist/backend/backend/src/controllers/agent-stream/agent-stream.controller.d.ts +8 -1
  86. package/dist/backend/backend/src/controllers/agent-stream/agent-stream.controller.d.ts.map +1 -1
  87. package/dist/backend/backend/src/controllers/agent-stream/agent-stream.controller.js +30 -26
  88. package/dist/backend/backend/src/controllers/agent-stream/agent-stream.controller.js.map +1 -1
  89. package/dist/backend/backend/src/controllers/api.controller.d.ts +0 -9
  90. package/dist/backend/backend/src/controllers/api.controller.d.ts.map +1 -1
  91. package/dist/backend/backend/src/controllers/api.controller.js +4 -32
  92. package/dist/backend/backend/src/controllers/api.controller.js.map +1 -1
  93. package/dist/backend/backend/src/controllers/browser/browser.controller.js +2 -2
  94. package/dist/backend/backend/src/controllers/browser/browser.controller.js.map +1 -1
  95. package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts.map +1 -1
  96. package/dist/backend/backend/src/controllers/chat/chat.controller.js +11 -2
  97. package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
  98. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.d.ts +73 -0
  99. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.d.ts.map +1 -1
  100. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.js +133 -2
  101. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.js.map +1 -1
  102. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.routes.d.ts +3 -0
  103. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.routes.d.ts.map +1 -1
  104. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.routes.js +8 -0
  105. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.routes.js.map +1 -1
  106. package/dist/backend/backend/src/controllers/checklist/checklist.controller.d.ts +45 -0
  107. package/dist/backend/backend/src/controllers/checklist/checklist.controller.d.ts.map +1 -0
  108. package/dist/backend/backend/src/controllers/checklist/checklist.controller.js +122 -0
  109. package/dist/backend/backend/src/controllers/checklist/checklist.controller.js.map +1 -0
  110. package/dist/backend/backend/src/controllers/memory/memory.controller.d.ts +24 -0
  111. package/dist/backend/backend/src/controllers/memory/memory.controller.d.ts.map +1 -1
  112. package/dist/backend/backend/src/controllers/memory/memory.controller.js +69 -1
  113. package/dist/backend/backend/src/controllers/memory/memory.controller.js.map +1 -1
  114. package/dist/backend/backend/src/controllers/memory/memory.routes.d.ts +1 -0
  115. package/dist/backend/backend/src/controllers/memory/memory.routes.d.ts.map +1 -1
  116. package/dist/backend/backend/src/controllers/memory/memory.routes.js +3 -1
  117. package/dist/backend/backend/src/controllers/memory/memory.routes.js.map +1 -1
  118. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts.map +1 -1
  119. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js +80 -5
  120. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js.map +1 -1
  121. package/dist/backend/backend/src/controllers/onboarding/onboarding.routes.d.ts +1 -0
  122. package/dist/backend/backend/src/controllers/onboarding/onboarding.routes.d.ts.map +1 -1
  123. package/dist/backend/backend/src/controllers/onboarding/onboarding.routes.js +30 -0
  124. package/dist/backend/backend/src/controllers/onboarding/onboarding.routes.js.map +1 -1
  125. package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.controller.d.ts +41 -0
  126. package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.controller.d.ts.map +1 -0
  127. package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.controller.js +213 -0
  128. package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.controller.js.map +1 -0
  129. package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.routes.d.ts +21 -0
  130. package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.routes.d.ts.map +1 -0
  131. package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.routes.js +27 -0
  132. package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.routes.js.map +1 -0
  133. package/dist/backend/backend/src/controllers/session/session.controller.d.ts.map +1 -1
  134. package/dist/backend/backend/src/controllers/session/session.controller.js +50 -8
  135. package/dist/backend/backend/src/controllers/session/session.controller.js.map +1 -1
  136. package/dist/backend/backend/src/controllers/slack/slack.controller.d.ts.map +1 -1
  137. package/dist/backend/backend/src/controllers/slack/slack.controller.js +236 -18
  138. package/dist/backend/backend/src/controllers/slack/slack.controller.js.map +1 -1
  139. package/dist/backend/backend/src/controllers/task-management/in-progress-tasks.controller.d.ts +13 -3
  140. package/dist/backend/backend/src/controllers/task-management/in-progress-tasks.controller.d.ts.map +1 -1
  141. package/dist/backend/backend/src/controllers/task-management/in-progress-tasks.controller.js +29 -24
  142. package/dist/backend/backend/src/controllers/task-management/in-progress-tasks.controller.js.map +1 -1
  143. package/dist/backend/backend/src/controllers/task-management/tasks.controller.d.ts.map +1 -1
  144. package/dist/backend/backend/src/controllers/task-management/tasks.controller.js +61 -13
  145. package/dist/backend/backend/src/controllers/task-management/tasks.controller.js.map +1 -1
  146. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts +159 -7
  147. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts.map +1 -1
  148. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js +421 -37
  149. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js.map +1 -1
  150. package/dist/backend/backend/src/controllers/task-pool/task-pool.routes.d.ts.map +1 -1
  151. package/dist/backend/backend/src/controllers/task-pool/task-pool.routes.js +15 -1
  152. package/dist/backend/backend/src/controllers/task-pool/task-pool.routes.js.map +1 -1
  153. package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
  154. package/dist/backend/backend/src/controllers/team/team.controller.js +221 -10
  155. package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
  156. package/dist/backend/backend/src/controllers/teams-backup/teams-backup.controller.d.ts +22 -0
  157. package/dist/backend/backend/src/controllers/teams-backup/teams-backup.controller.d.ts.map +1 -1
  158. package/dist/backend/backend/src/controllers/teams-backup/teams-backup.controller.js +92 -0
  159. package/dist/backend/backend/src/controllers/teams-backup/teams-backup.controller.js.map +1 -1
  160. package/dist/backend/backend/src/controllers/teams-backup/teams-backup.routes.d.ts.map +1 -1
  161. package/dist/backend/backend/src/controllers/teams-backup/teams-backup.routes.js +6 -2
  162. package/dist/backend/backend/src/controllers/teams-backup/teams-backup.routes.js.map +1 -1
  163. package/dist/backend/backend/src/controllers/types.d.ts +1 -2
  164. package/dist/backend/backend/src/controllers/types.d.ts.map +1 -1
  165. package/dist/backend/backend/src/index.d.ts +5 -1
  166. package/dist/backend/backend/src/index.d.ts.map +1 -1
  167. package/dist/backend/backend/src/index.js +476 -100
  168. package/dist/backend/backend/src/index.js.map +1 -1
  169. package/dist/backend/backend/src/models/Project.d.ts +2 -0
  170. package/dist/backend/backend/src/models/Project.d.ts.map +1 -1
  171. package/dist/backend/backend/src/models/Project.js +10 -1
  172. package/dist/backend/backend/src/models/Project.js.map +1 -1
  173. package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
  174. package/dist/backend/backend/src/routes/api.routes.js +15 -2
  175. package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
  176. package/dist/backend/backend/src/routes/modules/task-management.routes.d.ts +15 -0
  177. package/dist/backend/backend/src/routes/modules/task-management.routes.d.ts.map +1 -1
  178. package/dist/backend/backend/src/routes/modules/task-management.routes.js +23 -43
  179. package/dist/backend/backend/src/routes/modules/task-management.routes.js.map +1 -1
  180. package/dist/backend/backend/src/scripts/cleanup-stale-pool.lib.d.ts +87 -0
  181. package/dist/backend/backend/src/scripts/cleanup-stale-pool.lib.d.ts.map +1 -0
  182. package/dist/backend/backend/src/scripts/cleanup-stale-pool.lib.js +116 -0
  183. package/dist/backend/backend/src/scripts/cleanup-stale-pool.lib.js.map +1 -0
  184. package/dist/backend/backend/src/services/agent/active-work-briefing.service.d.ts +46 -6
  185. package/dist/backend/backend/src/services/agent/active-work-briefing.service.d.ts.map +1 -1
  186. package/dist/backend/backend/src/services/agent/active-work-briefing.service.js +56 -13
  187. package/dist/backend/backend/src/services/agent/active-work-briefing.service.js.map +1 -1
  188. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +51 -0
  189. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  190. package/dist/backend/backend/src/services/agent/agent-registration.service.js +246 -9
  191. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  192. package/dist/backend/backend/src/services/agent/context-window-monitor.service.d.ts +31 -5
  193. package/dist/backend/backend/src/services/agent/context-window-monitor.service.d.ts.map +1 -1
  194. package/dist/backend/backend/src/services/agent/context-window-monitor.service.js +69 -29
  195. package/dist/backend/backend/src/services/agent/context-window-monitor.service.js.map +1 -1
  196. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts +61 -1
  197. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts.map +1 -1
  198. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js +230 -84
  199. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js.map +1 -1
  200. package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.d.ts.map +1 -1
  201. package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.js +5 -3
  202. package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.js.map +1 -1
  203. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.d.ts +35 -0
  204. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.d.ts.map +1 -1
  205. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js +127 -3
  206. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js.map +1 -1
  207. package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.d.ts +79 -0
  208. package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.d.ts.map +1 -0
  209. package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.js +145 -0
  210. package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.js.map +1 -0
  211. package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.d.ts +64 -9
  212. package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.d.ts.map +1 -1
  213. package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.js +125 -15
  214. package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.js.map +1 -1
  215. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.d.ts.map +1 -1
  216. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js +101 -33
  217. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js.map +1 -1
  218. package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts +76 -1
  219. package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts.map +1 -1
  220. package/dist/backend/backend/src/services/agent/crewly-agent/types.js +73 -1
  221. package/dist/backend/backend/src/services/agent/crewly-agent/types.js.map +1 -1
  222. package/dist/backend/backend/src/services/agent/idle-detection.service.d.ts +33 -0
  223. package/dist/backend/backend/src/services/agent/idle-detection.service.d.ts.map +1 -1
  224. package/dist/backend/backend/src/services/agent/idle-detection.service.js +108 -4
  225. package/dist/backend/backend/src/services/agent/idle-detection.service.js.map +1 -1
  226. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts +5 -5
  227. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts.map +1 -1
  228. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js +22 -8
  229. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js.map +1 -1
  230. package/dist/backend/backend/src/services/ai/prompt-builder.service.d.ts +10 -0
  231. package/dist/backend/backend/src/services/ai/prompt-builder.service.d.ts.map +1 -1
  232. package/dist/backend/backend/src/services/ai/prompt-builder.service.js +160 -4
  233. package/dist/backend/backend/src/services/ai/prompt-builder.service.js.map +1 -1
  234. package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.d.ts +37 -0
  235. package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.d.ts.map +1 -1
  236. package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.js +77 -3
  237. package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.js.map +1 -1
  238. package/dist/backend/backend/src/services/ai/prompt-modules/decision-rights.module.d.ts +59 -0
  239. package/dist/backend/backend/src/services/ai/prompt-modules/decision-rights.module.d.ts.map +1 -0
  240. package/dist/backend/backend/src/services/ai/prompt-modules/decision-rights.module.js +87 -0
  241. package/dist/backend/backend/src/services/ai/prompt-modules/decision-rights.module.js.map +1 -0
  242. package/dist/backend/backend/src/services/ai/prompt-modules/default-execution-loop.module.d.ts +67 -0
  243. package/dist/backend/backend/src/services/ai/prompt-modules/default-execution-loop.module.d.ts.map +1 -0
  244. package/dist/backend/backend/src/services/ai/prompt-modules/default-execution-loop.module.js +84 -0
  245. package/dist/backend/backend/src/services/ai/prompt-modules/default-execution-loop.module.js.map +1 -0
  246. package/dist/backend/backend/src/services/ai/prompt-modules/index.d.ts +4 -0
  247. package/dist/backend/backend/src/services/ai/prompt-modules/index.d.ts.map +1 -1
  248. package/dist/backend/backend/src/services/ai/prompt-modules/index.js +4 -0
  249. package/dist/backend/backend/src/services/ai/prompt-modules/index.js.map +1 -1
  250. package/dist/backend/backend/src/services/ai/prompt-modules/lazy-anti-patterns.module.d.ts +65 -0
  251. package/dist/backend/backend/src/services/ai/prompt-modules/lazy-anti-patterns.module.d.ts.map +1 -0
  252. package/dist/backend/backend/src/services/ai/prompt-modules/lazy-anti-patterns.module.js +79 -0
  253. package/dist/backend/backend/src/services/ai/prompt-modules/lazy-anti-patterns.module.js.map +1 -0
  254. package/dist/backend/backend/src/services/ai/prompt-modules/mission-context.module.d.ts +60 -0
  255. package/dist/backend/backend/src/services/ai/prompt-modules/mission-context.module.d.ts.map +1 -0
  256. package/dist/backend/backend/src/services/ai/prompt-modules/mission-context.module.js +104 -0
  257. package/dist/backend/backend/src/services/ai/prompt-modules/mission-context.module.js.map +1 -0
  258. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.d.ts.map +1 -1
  259. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.js +45 -0
  260. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.js.map +1 -1
  261. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts +16 -0
  262. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts.map +1 -1
  263. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.js.map +1 -1
  264. package/dist/backend/backend/src/services/ai/prompt-modules/request-contract.module.d.ts +106 -0
  265. package/dist/backend/backend/src/services/ai/prompt-modules/request-contract.module.d.ts.map +1 -0
  266. package/dist/backend/backend/src/services/ai/prompt-modules/request-contract.module.js +167 -0
  267. package/dist/backend/backend/src/services/ai/prompt-modules/request-contract.module.js.map +1 -0
  268. package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.d.ts.map +1 -1
  269. package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.js +28 -0
  270. package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.js.map +1 -1
  271. package/dist/backend/backend/src/services/ai/prompt-modules/soul.module.d.ts +38 -6
  272. package/dist/backend/backend/src/services/ai/prompt-modules/soul.module.d.ts.map +1 -1
  273. package/dist/backend/backend/src/services/ai/prompt-modules/soul.module.js +73 -10
  274. package/dist/backend/backend/src/services/ai/prompt-modules/soul.module.js.map +1 -1
  275. package/dist/backend/backend/src/services/ai/prompt-modules/working-memory.module.d.ts +91 -0
  276. package/dist/backend/backend/src/services/ai/prompt-modules/working-memory.module.d.ts.map +1 -0
  277. package/dist/backend/backend/src/services/ai/prompt-modules/working-memory.module.js +136 -0
  278. package/dist/backend/backend/src/services/ai/prompt-modules/working-memory.module.js.map +1 -0
  279. package/dist/backend/backend/src/services/autonomous/index.d.ts +7 -3
  280. package/dist/backend/backend/src/services/autonomous/index.d.ts.map +1 -1
  281. package/dist/backend/backend/src/services/autonomous/index.js +7 -3
  282. package/dist/backend/backend/src/services/autonomous/index.js.map +1 -1
  283. package/dist/backend/backend/src/services/browser/browser-bridge.service.d.ts.map +1 -1
  284. package/dist/backend/backend/src/services/browser/browser-bridge.service.js +16 -22
  285. package/dist/backend/backend/src/services/browser/browser-bridge.service.js.map +1 -1
  286. package/dist/backend/backend/src/services/browser/browser-proxy.service.d.ts +1 -1
  287. package/dist/backend/backend/src/services/browser/browser-proxy.service.d.ts.map +1 -1
  288. package/dist/backend/backend/src/services/browser/browser-proxy.service.js +40 -2
  289. package/dist/backend/backend/src/services/browser/browser-proxy.service.js.map +1 -1
  290. package/dist/backend/backend/src/services/chat/chat.service.d.ts +48 -331
  291. package/dist/backend/backend/src/services/chat/chat.service.d.ts.map +1 -1
  292. package/dist/backend/backend/src/services/chat/chat.service.js +261 -712
  293. package/dist/backend/backend/src/services/chat/chat.service.js.map +1 -1
  294. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +82 -1
  295. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
  296. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +120 -2
  297. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
  298. package/dist/backend/backend/src/services/chat-v2/chat-v2.providers.d.ts +114 -0
  299. package/dist/backend/backend/src/services/chat-v2/chat-v2.providers.d.ts.map +1 -0
  300. package/dist/backend/backend/src/services/chat-v2/chat-v2.providers.js +182 -0
  301. package/dist/backend/backend/src/services/chat-v2/chat-v2.providers.js.map +1 -0
  302. package/dist/backend/backend/src/services/chat-v2/chat-v2.relay-adapter.service.d.ts +188 -0
  303. package/dist/backend/backend/src/services/chat-v2/chat-v2.relay-adapter.service.d.ts.map +1 -0
  304. package/dist/backend/backend/src/services/chat-v2/chat-v2.relay-adapter.service.js +434 -0
  305. package/dist/backend/backend/src/services/chat-v2/chat-v2.relay-adapter.service.js.map +1 -0
  306. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts +414 -5
  307. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
  308. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js +634 -3
  309. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
  310. package/dist/backend/backend/src/services/chat-v2/legacy-dto.utils.d.ts +93 -0
  311. package/dist/backend/backend/src/services/chat-v2/legacy-dto.utils.d.ts.map +1 -0
  312. package/dist/backend/backend/src/services/chat-v2/legacy-dto.utils.js +138 -0
  313. package/dist/backend/backend/src/services/chat-v2/legacy-dto.utils.js.map +1 -0
  314. package/dist/backend/backend/src/services/chat-v2/sqlite/channel.store.d.ts +46 -0
  315. package/dist/backend/backend/src/services/chat-v2/sqlite/channel.store.d.ts.map +1 -1
  316. package/dist/backend/backend/src/services/chat-v2/sqlite/channel.store.js +75 -0
  317. package/dist/backend/backend/src/services/chat-v2/sqlite/channel.store.js.map +1 -1
  318. package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.d.ts +21 -2
  319. package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.d.ts.map +1 -1
  320. package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.js +229 -29
  321. package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.js.map +1 -1
  322. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts +55 -0
  323. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts.map +1 -1
  324. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js +94 -0
  325. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js.map +1 -1
  326. package/dist/backend/backend/src/services/chat-v2/types.d.ts +33 -1
  327. package/dist/backend/backend/src/services/chat-v2/types.d.ts.map +1 -1
  328. package/dist/backend/backend/src/services/chat-v2/types.js +1 -1
  329. package/dist/backend/backend/src/services/chat-v2/types.js.map +1 -1
  330. package/dist/backend/backend/src/services/cloud/cloud-sync.service.d.ts +22 -0
  331. package/dist/backend/backend/src/services/cloud/cloud-sync.service.d.ts.map +1 -1
  332. package/dist/backend/backend/src/services/cloud/cloud-sync.service.js +71 -1
  333. package/dist/backend/backend/src/services/cloud/cloud-sync.service.js.map +1 -1
  334. package/dist/backend/backend/src/services/cloud/cloud-sync.types.d.ts +102 -1
  335. package/dist/backend/backend/src/services/cloud/cloud-sync.types.d.ts.map +1 -1
  336. package/dist/backend/backend/src/services/cloud/cloud-sync.types.js +61 -0
  337. package/dist/backend/backend/src/services/cloud/cloud-sync.types.js.map +1 -1
  338. package/dist/backend/backend/src/services/cloud/device-auto-discovery.service.d.ts +21 -3
  339. package/dist/backend/backend/src/services/cloud/device-auto-discovery.service.d.ts.map +1 -1
  340. package/dist/backend/backend/src/services/cloud/device-auto-discovery.service.js +47 -13
  341. package/dist/backend/backend/src/services/cloud/device-auto-discovery.service.js.map +1 -1
  342. package/dist/backend/backend/src/services/core/config.service.d.ts.map +1 -1
  343. package/dist/backend/backend/src/services/core/config.service.js +8 -1
  344. package/dist/backend/backend/src/services/core/config.service.js.map +1 -1
  345. package/dist/backend/backend/src/services/core/crewly-home.utils.d.ts +51 -0
  346. package/dist/backend/backend/src/services/core/crewly-home.utils.d.ts.map +1 -0
  347. package/dist/backend/backend/src/services/core/crewly-home.utils.js +59 -0
  348. package/dist/backend/backend/src/services/core/crewly-home.utils.js.map +1 -0
  349. package/dist/backend/backend/src/services/core/state-invariant.types.d.ts +53 -0
  350. package/dist/backend/backend/src/services/core/state-invariant.types.d.ts.map +1 -0
  351. package/dist/backend/backend/src/services/core/state-invariant.types.js +61 -0
  352. package/dist/backend/backend/src/services/core/state-invariant.types.js.map +1 -0
  353. package/dist/backend/backend/src/services/core/storage.service.d.ts +20 -0
  354. package/dist/backend/backend/src/services/core/storage.service.d.ts.map +1 -1
  355. package/dist/backend/backend/src/services/core/storage.service.js +96 -8
  356. package/dist/backend/backend/src/services/core/storage.service.js.map +1 -1
  357. package/dist/backend/backend/src/services/core/system-health.util.d.ts +25 -4
  358. package/dist/backend/backend/src/services/core/system-health.util.d.ts.map +1 -1
  359. package/dist/backend/backend/src/services/core/system-health.util.js +30 -5
  360. package/dist/backend/backend/src/services/core/system-health.util.js.map +1 -1
  361. package/dist/backend/backend/src/services/core/teams-backup.service.d.ts +94 -4
  362. package/dist/backend/backend/src/services/core/teams-backup.service.d.ts.map +1 -1
  363. package/dist/backend/backend/src/services/core/teams-backup.service.js +172 -10
  364. package/dist/backend/backend/src/services/core/teams-backup.service.js.map +1 -1
  365. package/dist/backend/backend/src/services/event-bus/event-bus.service.d.ts.map +1 -1
  366. package/dist/backend/backend/src/services/event-bus/event-bus.service.js +22 -11
  367. package/dist/backend/backend/src/services/event-bus/event-bus.service.js.map +1 -1
  368. package/dist/backend/backend/src/services/index.d.ts +0 -2
  369. package/dist/backend/backend/src/services/index.d.ts.map +1 -1
  370. package/dist/backend/backend/src/services/index.js +0 -2
  371. package/dist/backend/backend/src/services/index.js.map +1 -1
  372. package/dist/backend/backend/src/services/intent-task/intent-classifier.fixture.d.ts +78 -0
  373. package/dist/backend/backend/src/services/intent-task/intent-classifier.fixture.d.ts.map +1 -0
  374. package/dist/backend/backend/src/services/intent-task/intent-classifier.fixture.js +209 -0
  375. package/dist/backend/backend/src/services/intent-task/intent-classifier.fixture.js.map +1 -0
  376. package/dist/backend/backend/src/services/intent-task/intent-classifier.rules.d.ts +331 -0
  377. package/dist/backend/backend/src/services/intent-task/intent-classifier.rules.d.ts.map +1 -0
  378. package/dist/backend/backend/src/services/intent-task/intent-classifier.rules.js +413 -0
  379. package/dist/backend/backend/src/services/intent-task/intent-classifier.rules.js.map +1 -0
  380. package/dist/backend/backend/src/services/intent-task/intent-task.service.d.ts.map +1 -1
  381. package/dist/backend/backend/src/services/intent-task/intent-task.service.js +13 -4
  382. package/dist/backend/backend/src/services/intent-task/intent-task.service.js.map +1 -1
  383. package/dist/backend/backend/src/services/knowledge/fts5-index.service.d.ts.map +1 -1
  384. package/dist/backend/backend/src/services/knowledge/fts5-index.service.js +18 -13
  385. package/dist/backend/backend/src/services/knowledge/fts5-index.service.js.map +1 -1
  386. package/dist/backend/backend/src/services/knowledge/fts5-query-sanitizer.d.ts +102 -0
  387. package/dist/backend/backend/src/services/knowledge/fts5-query-sanitizer.d.ts.map +1 -0
  388. package/dist/backend/backend/src/services/knowledge/fts5-query-sanitizer.js +118 -0
  389. package/dist/backend/backend/src/services/knowledge/fts5-query-sanitizer.js.map +1 -0
  390. package/dist/backend/backend/src/services/knowledge/vector-store.service.d.ts.map +1 -1
  391. package/dist/backend/backend/src/services/knowledge/vector-store.service.js +11 -15
  392. package/dist/backend/backend/src/services/knowledge/vector-store.service.js.map +1 -1
  393. package/dist/backend/backend/src/services/memory/agent-memory.service.d.ts +20 -0
  394. package/dist/backend/backend/src/services/memory/agent-memory.service.d.ts.map +1 -1
  395. package/dist/backend/backend/src/services/memory/agent-memory.service.js +27 -2
  396. package/dist/backend/backend/src/services/memory/agent-memory.service.js.map +1 -1
  397. package/dist/backend/backend/src/services/memory/memory-supersession.service.d.ts +104 -0
  398. package/dist/backend/backend/src/services/memory/memory-supersession.service.d.ts.map +1 -0
  399. package/dist/backend/backend/src/services/memory/memory-supersession.service.js +127 -0
  400. package/dist/backend/backend/src/services/memory/memory-supersession.service.js.map +1 -0
  401. package/dist/backend/backend/src/services/memory/memory.service.d.ts +48 -17
  402. package/dist/backend/backend/src/services/memory/memory.service.d.ts.map +1 -1
  403. package/dist/backend/backend/src/services/memory/memory.service.js +97 -35
  404. package/dist/backend/backend/src/services/memory/memory.service.js.map +1 -1
  405. package/dist/backend/backend/src/services/memory/mission-context.service.d.ts +168 -0
  406. package/dist/backend/backend/src/services/memory/mission-context.service.d.ts.map +1 -0
  407. package/dist/backend/backend/src/services/memory/mission-context.service.js +365 -0
  408. package/dist/backend/backend/src/services/memory/mission-context.service.js.map +1 -0
  409. package/dist/backend/backend/src/services/memory/role-knowledge-eligibility.d.ts +138 -0
  410. package/dist/backend/backend/src/services/memory/role-knowledge-eligibility.d.ts.map +1 -0
  411. package/dist/backend/backend/src/services/memory/role-knowledge-eligibility.js +183 -0
  412. package/dist/backend/backend/src/services/memory/role-knowledge-eligibility.js.map +1 -0
  413. package/dist/backend/backend/src/services/memory/vector-store.service.d.ts.map +1 -1
  414. package/dist/backend/backend/src/services/memory/vector-store.service.js +7 -11
  415. package/dist/backend/backend/src/services/memory/vector-store.service.js.map +1 -1
  416. package/dist/backend/backend/src/services/memory/working-memory.service.d.ts +232 -0
  417. package/dist/backend/backend/src/services/memory/working-memory.service.d.ts.map +1 -0
  418. package/dist/backend/backend/src/services/memory/working-memory.service.js +417 -0
  419. package/dist/backend/backend/src/services/memory/working-memory.service.js.map +1 -0
  420. package/dist/backend/backend/src/services/messaging/message-replay.service.d.ts +2 -4
  421. package/dist/backend/backend/src/services/messaging/message-replay.service.d.ts.map +1 -1
  422. package/dist/backend/backend/src/services/messaging/message-replay.service.js +22 -12
  423. package/dist/backend/backend/src/services/messaging/message-replay.service.js.map +1 -1
  424. package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts.map +1 -1
  425. package/dist/backend/backend/src/services/messaging/queue-processor.service.js +48 -7
  426. package/dist/backend/backend/src/services/messaging/queue-processor.service.js.map +1 -1
  427. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js +2 -2
  428. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js.map +1 -1
  429. package/dist/backend/backend/src/services/monitoring/system-resource-alert.service.d.ts.map +1 -1
  430. package/dist/backend/backend/src/services/monitoring/system-resource-alert.service.js +13 -3
  431. package/dist/backend/backend/src/services/monitoring/system-resource-alert.service.js.map +1 -1
  432. package/dist/backend/backend/src/services/monitoring/team-activity-websocket.service.d.ts +27 -7
  433. package/dist/backend/backend/src/services/monitoring/team-activity-websocket.service.d.ts.map +1 -1
  434. package/dist/backend/backend/src/services/monitoring/team-activity-websocket.service.js +66 -27
  435. package/dist/backend/backend/src/services/monitoring/team-activity-websocket.service.js.map +1 -1
  436. package/dist/backend/backend/src/services/monitoring/teams-json-watcher.service.d.ts.map +1 -1
  437. package/dist/backend/backend/src/services/monitoring/teams-json-watcher.service.js +2 -2
  438. package/dist/backend/backend/src/services/monitoring/teams-json-watcher.service.js.map +1 -1
  439. package/dist/backend/backend/src/services/notification/milestone-notification.subscriber.d.ts +99 -0
  440. package/dist/backend/backend/src/services/notification/milestone-notification.subscriber.d.ts.map +1 -0
  441. package/dist/backend/backend/src/services/notification/milestone-notification.subscriber.js +225 -0
  442. package/dist/backend/backend/src/services/notification/milestone-notification.subscriber.js.map +1 -0
  443. package/dist/backend/backend/src/services/observability/agent-behavior-log.service.d.ts +132 -0
  444. package/dist/backend/backend/src/services/observability/agent-behavior-log.service.d.ts.map +1 -0
  445. package/dist/backend/backend/src/services/observability/agent-behavior-log.service.js +284 -0
  446. package/dist/backend/backend/src/services/observability/agent-behavior-log.service.js.map +1 -0
  447. package/dist/backend/backend/src/services/observability/agent-behavior-log.singleton.d.ts +70 -0
  448. package/dist/backend/backend/src/services/observability/agent-behavior-log.singleton.d.ts.map +1 -0
  449. package/dist/backend/backend/src/services/observability/agent-behavior-log.singleton.js +121 -0
  450. package/dist/backend/backend/src/services/observability/agent-behavior-log.singleton.js.map +1 -0
  451. package/dist/backend/backend/src/services/observability/agent-behavior-log.types.d.ts +130 -0
  452. package/dist/backend/backend/src/services/observability/agent-behavior-log.types.d.ts.map +1 -0
  453. package/dist/backend/backend/src/services/observability/agent-behavior-log.types.js +48 -0
  454. package/dist/backend/backend/src/services/observability/agent-behavior-log.types.js.map +1 -0
  455. package/dist/backend/backend/src/services/observability/observability-db.d.ts +84 -0
  456. package/dist/backend/backend/src/services/observability/observability-db.d.ts.map +1 -0
  457. package/dist/backend/backend/src/services/observability/observability-db.js +165 -0
  458. package/dist/backend/backend/src/services/observability/observability-db.js.map +1 -0
  459. package/dist/backend/backend/src/services/onboarding/onboarding.service.d.ts +22 -0
  460. package/dist/backend/backend/src/services/onboarding/onboarding.service.d.ts.map +1 -1
  461. package/dist/backend/backend/src/services/onboarding/onboarding.service.js +36 -0
  462. package/dist/backend/backend/src/services/onboarding/onboarding.service.js.map +1 -1
  463. package/dist/backend/backend/src/services/onboarding/onboarding.types.d.ts +21 -2
  464. package/dist/backend/backend/src/services/onboarding/onboarding.types.d.ts.map +1 -1
  465. package/dist/backend/backend/src/services/orchestrator/improvement-marker.service.d.ts.map +1 -1
  466. package/dist/backend/backend/src/services/orchestrator/improvement-marker.service.js +12 -3
  467. package/dist/backend/backend/src/services/orchestrator/improvement-marker.service.js.map +1 -1
  468. package/dist/backend/backend/src/services/orchestrator/onboarding/materialize-team.d.ts +108 -0
  469. package/dist/backend/backend/src/services/orchestrator/onboarding/materialize-team.d.ts.map +1 -0
  470. package/dist/backend/backend/src/services/orchestrator/onboarding/materialize-team.js +165 -0
  471. package/dist/backend/backend/src/services/orchestrator/onboarding/materialize-team.js.map +1 -0
  472. package/dist/backend/backend/src/services/orchestrator/onboarding/recommend-team.d.ts +114 -0
  473. package/dist/backend/backend/src/services/orchestrator/onboarding/recommend-team.d.ts.map +1 -0
  474. package/dist/backend/backend/src/services/orchestrator/onboarding/recommend-team.js +299 -0
  475. package/dist/backend/backend/src/services/orchestrator/onboarding/recommend-team.js.map +1 -0
  476. package/dist/backend/backend/src/services/orchestrator/onboarding-bootstrap.service.d.ts +128 -0
  477. package/dist/backend/backend/src/services/orchestrator/onboarding-bootstrap.service.d.ts.map +1 -0
  478. package/dist/backend/backend/src/services/orchestrator/onboarding-bootstrap.service.js +195 -0
  479. package/dist/backend/backend/src/services/orchestrator/onboarding-bootstrap.service.js.map +1 -0
  480. package/dist/backend/backend/src/services/orchestrator/onboarding-mode-loader.d.ts +66 -0
  481. package/dist/backend/backend/src/services/orchestrator/onboarding-mode-loader.d.ts.map +1 -0
  482. package/dist/backend/backend/src/services/orchestrator/onboarding-mode-loader.js +145 -0
  483. package/dist/backend/backend/src/services/orchestrator/onboarding-mode-loader.js.map +1 -0
  484. package/dist/backend/backend/src/services/orchestrator/onboarding-mode.skill-allowlist.d.ts +59 -0
  485. package/dist/backend/backend/src/services/orchestrator/onboarding-mode.skill-allowlist.d.ts.map +1 -0
  486. package/dist/backend/backend/src/services/orchestrator/onboarding-mode.skill-allowlist.js +68 -0
  487. package/dist/backend/backend/src/services/orchestrator/onboarding-mode.skill-allowlist.js.map +1 -0
  488. package/dist/backend/backend/src/services/orchestrator/prompts/onboarding-mode.prompt.d.ts +67 -0
  489. package/dist/backend/backend/src/services/orchestrator/prompts/onboarding-mode.prompt.d.ts.map +1 -0
  490. package/dist/backend/backend/src/services/orchestrator/prompts/onboarding-mode.prompt.js +290 -0
  491. package/dist/backend/backend/src/services/orchestrator/prompts/onboarding-mode.prompt.js.map +1 -0
  492. package/dist/backend/backend/src/services/orchestrator/state-persistence.service.d.ts +23 -1
  493. package/dist/backend/backend/src/services/orchestrator/state-persistence.service.d.ts.map +1 -1
  494. package/dist/backend/backend/src/services/orchestrator/state-persistence.service.js +64 -1
  495. package/dist/backend/backend/src/services/orchestrator/state-persistence.service.js.map +1 -1
  496. package/dist/backend/backend/src/services/project/active-projects.service.d.ts.map +1 -1
  497. package/dist/backend/backend/src/services/project/active-projects.service.js +2 -2
  498. package/dist/backend/backend/src/services/project/active-projects.service.js.map +1 -1
  499. package/dist/backend/backend/src/services/project/task-tracking.service.d.ts.map +1 -1
  500. package/dist/backend/backend/src/services/project/task-tracking.service.js +2 -2
  501. package/dist/backend/backend/src/services/project/task-tracking.service.js.map +1 -1
  502. package/dist/backend/backend/src/services/prompt/prompt-generator.service.d.ts.map +1 -1
  503. package/dist/backend/backend/src/services/prompt/prompt-generator.service.js +2 -2
  504. package/dist/backend/backend/src/services/prompt/prompt-generator.service.js.map +1 -1
  505. package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts +73 -6
  506. package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts.map +1 -1
  507. package/dist/backend/backend/src/services/reconciler/reconcile-rules.js +200 -25
  508. package/dist/backend/backend/src/services/reconciler/reconcile-rules.js.map +1 -1
  509. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts +149 -2
  510. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts.map +1 -1
  511. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js +569 -24
  512. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js.map +1 -1
  513. package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts.map +1 -1
  514. package/dist/backend/backend/src/services/reconciler/reconciler.service.js +73 -7
  515. package/dist/backend/backend/src/services/reconciler/reconciler.service.js.map +1 -1
  516. package/dist/backend/backend/src/services/session/session-handoff.service.d.ts +31 -18
  517. package/dist/backend/backend/src/services/session/session-handoff.service.d.ts.map +1 -1
  518. package/dist/backend/backend/src/services/session/session-handoff.service.js +103 -84
  519. package/dist/backend/backend/src/services/session/session-handoff.service.js.map +1 -1
  520. package/dist/backend/backend/src/services/session/session-state-persistence.d.ts.map +1 -1
  521. package/dist/backend/backend/src/services/session/session-state-persistence.js +15 -4
  522. package/dist/backend/backend/src/services/session/session-state-persistence.js.map +1 -1
  523. package/dist/backend/backend/src/services/settings/settings.service.d.ts.map +1 -1
  524. package/dist/backend/backend/src/services/settings/settings.service.js +25 -0
  525. package/dist/backend/backend/src/services/settings/settings.service.js.map +1 -1
  526. package/dist/backend/backend/src/services/skill/skill-catalog.service.d.ts +14 -3
  527. package/dist/backend/backend/src/services/skill/skill-catalog.service.d.ts.map +1 -1
  528. package/dist/backend/backend/src/services/skill/skill-catalog.service.js +28 -3
  529. package/dist/backend/backend/src/services/skill/skill-catalog.service.js.map +1 -1
  530. package/dist/backend/backend/src/services/skill/skill-executor.service.d.ts.map +1 -1
  531. package/dist/backend/backend/src/services/skill/skill-executor.service.js +13 -1
  532. package/dist/backend/backend/src/services/skill/skill-executor.service.js.map +1 -1
  533. package/dist/backend/backend/src/services/slack/cross-machine-message.service.d.ts.map +1 -1
  534. package/dist/backend/backend/src/services/slack/cross-machine-message.service.js +13 -18
  535. package/dist/backend/backend/src/services/slack/cross-machine-message.service.js.map +1 -1
  536. package/dist/backend/backend/src/services/slack/notify-reconciliation.service.d.ts.map +1 -1
  537. package/dist/backend/backend/src/services/slack/notify-reconciliation.service.js +9 -6
  538. package/dist/backend/backend/src/services/slack/notify-reconciliation.service.js.map +1 -1
  539. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts +66 -2
  540. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
  541. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js +318 -61
  542. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
  543. package/dist/backend/backend/src/services/slack/slack.service.d.ts.map +1 -1
  544. package/dist/backend/backend/src/services/slack/slack.service.js +70 -0
  545. package/dist/backend/backend/src/services/slack/slack.service.js.map +1 -1
  546. package/dist/backend/backend/src/services/task-pool/pool-storage.d.ts +15 -1
  547. package/dist/backend/backend/src/services/task-pool/pool-storage.d.ts.map +1 -1
  548. package/dist/backend/backend/src/services/task-pool/pool-storage.js +31 -8
  549. package/dist/backend/backend/src/services/task-pool/pool-storage.js.map +1 -1
  550. package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts +216 -2
  551. package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
  552. package/dist/backend/backend/src/services/task-pool/task-pool.service.js +562 -14
  553. package/dist/backend/backend/src/services/task-pool/task-pool.service.js.map +1 -1
  554. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.d.ts +14 -1
  555. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.d.ts.map +1 -1
  556. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.js +128 -17
  557. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.js.map +1 -1
  558. package/dist/backend/backend/src/services/v3/cascade-request-status.d.ts +95 -0
  559. package/dist/backend/backend/src/services/v3/cascade-request-status.d.ts.map +1 -0
  560. package/dist/backend/backend/src/services/v3/cascade-request-status.js +200 -0
  561. package/dist/backend/backend/src/services/v3/cascade-request-status.js.map +1 -0
  562. package/dist/backend/backend/src/services/v3/escalation-router.service.d.ts.map +1 -1
  563. package/dist/backend/backend/src/services/v3/escalation-router.service.js +42 -0
  564. package/dist/backend/backend/src/services/v3/escalation-router.service.js.map +1 -1
  565. package/dist/backend/backend/src/services/v3/mission-executor.service.d.ts.map +1 -1
  566. package/dist/backend/backend/src/services/v3/mission-executor.service.js +25 -5
  567. package/dist/backend/backend/src/services/v3/mission-executor.service.js.map +1 -1
  568. package/dist/backend/backend/src/services/v3/request-cascade.subscriber.d.ts +87 -0
  569. package/dist/backend/backend/src/services/v3/request-cascade.subscriber.d.ts.map +1 -0
  570. package/dist/backend/backend/src/services/v3/request-cascade.subscriber.js +152 -0
  571. package/dist/backend/backend/src/services/v3/request-cascade.subscriber.js.map +1 -0
  572. package/dist/backend/backend/src/services/v3/request-decompose.subscriber.d.ts +253 -0
  573. package/dist/backend/backend/src/services/v3/request-decompose.subscriber.d.ts.map +1 -0
  574. package/dist/backend/backend/src/services/v3/request-decompose.subscriber.js +501 -0
  575. package/dist/backend/backend/src/services/v3/request-decompose.subscriber.js.map +1 -0
  576. package/dist/backend/backend/src/services/v3/request-sla.subscriber.d.ts +55 -0
  577. package/dist/backend/backend/src/services/v3/request-sla.subscriber.d.ts.map +1 -1
  578. package/dist/backend/backend/src/services/v3/request-sla.subscriber.js +262 -22
  579. package/dist/backend/backend/src/services/v3/request-sla.subscriber.js.map +1 -1
  580. package/dist/backend/backend/src/services/v3/request-status-update.subscriber.d.ts +204 -0
  581. package/dist/backend/backend/src/services/v3/request-status-update.subscriber.d.ts.map +1 -0
  582. package/dist/backend/backend/src/services/v3/request-status-update.subscriber.js +617 -0
  583. package/dist/backend/backend/src/services/v3/request-status-update.subscriber.js.map +1 -0
  584. package/dist/backend/backend/src/services/v3/request.service.d.ts +107 -0
  585. package/dist/backend/backend/src/services/v3/request.service.d.ts.map +1 -1
  586. package/dist/backend/backend/src/services/v3/request.service.js +155 -2
  587. package/dist/backend/backend/src/services/v3/request.service.js.map +1 -1
  588. package/dist/backend/backend/src/services/v3/trigger-engine.service.d.ts +108 -1
  589. package/dist/backend/backend/src/services/v3/trigger-engine.service.d.ts.map +1 -1
  590. package/dist/backend/backend/src/services/v3/trigger-engine.service.js +238 -4
  591. package/dist/backend/backend/src/services/v3/trigger-engine.service.js.map +1 -1
  592. package/dist/backend/backend/src/services/v3/v3-data.service.d.ts +50 -26
  593. package/dist/backend/backend/src/services/v3/v3-data.service.d.ts.map +1 -1
  594. package/dist/backend/backend/src/services/v3/v3-data.service.js +126 -161
  595. package/dist/backend/backend/src/services/v3/v3-data.service.js.map +1 -1
  596. package/dist/backend/backend/src/services/v3/work-item-projection.d.ts +40 -0
  597. package/dist/backend/backend/src/services/v3/work-item-projection.d.ts.map +1 -0
  598. package/dist/backend/backend/src/services/v3/work-item-projection.js +115 -0
  599. package/dist/backend/backend/src/services/v3/work-item-projection.js.map +1 -0
  600. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts +137 -0
  601. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts.map +1 -0
  602. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js +287 -0
  603. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js.map +1 -0
  604. package/dist/backend/backend/src/services/whatsapp/whatsapp-orchestrator-bridge.d.ts +1 -1
  605. package/dist/backend/backend/src/services/whatsapp/whatsapp-orchestrator-bridge.d.ts.map +1 -1
  606. package/dist/backend/backend/src/services/whatsapp/whatsapp-orchestrator-bridge.js +26 -10
  607. package/dist/backend/backend/src/services/whatsapp/whatsapp-orchestrator-bridge.js.map +1 -1
  608. package/dist/backend/backend/src/services/whatsapp/whatsapp.service.d.ts.map +1 -1
  609. package/dist/backend/backend/src/services/whatsapp/whatsapp.service.js +11 -2
  610. package/dist/backend/backend/src/services/whatsapp/whatsapp.service.js.map +1 -1
  611. package/dist/backend/backend/src/services/workflow/cron-task.service.d.ts.map +1 -1
  612. package/dist/backend/backend/src/services/workflow/cron-task.service.js +68 -5
  613. package/dist/backend/backend/src/services/workflow/cron-task.service.js.map +1 -1
  614. package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts.map +1 -1
  615. package/dist/backend/backend/src/services/workflow/scheduler.service.js +68 -14
  616. package/dist/backend/backend/src/services/workflow/scheduler.service.js.map +1 -1
  617. package/dist/backend/backend/src/services/workflow/team-identifier-resolver.d.ts +44 -0
  618. package/dist/backend/backend/src/services/workflow/team-identifier-resolver.d.ts.map +1 -0
  619. package/dist/backend/backend/src/services/workflow/team-identifier-resolver.js +57 -0
  620. package/dist/backend/backend/src/services/workflow/team-identifier-resolver.js.map +1 -0
  621. package/dist/backend/backend/src/types/credential.types.d.ts +17 -1
  622. package/dist/backend/backend/src/types/credential.types.d.ts.map +1 -1
  623. package/dist/backend/backend/src/types/credential.types.js +15 -5
  624. package/dist/backend/backend/src/types/credential.types.js.map +1 -1
  625. package/dist/backend/backend/src/types/cron-task.types.d.ts +17 -0
  626. package/dist/backend/backend/src/types/cron-task.types.d.ts.map +1 -1
  627. package/dist/backend/backend/src/types/event-bus.types.d.ts +1 -1
  628. package/dist/backend/backend/src/types/event-bus.types.d.ts.map +1 -1
  629. package/dist/backend/backend/src/types/event-bus.types.js +24 -0
  630. package/dist/backend/backend/src/types/event-bus.types.js.map +1 -1
  631. package/dist/backend/backend/src/types/index.d.ts +11 -1
  632. package/dist/backend/backend/src/types/index.d.ts.map +1 -1
  633. package/dist/backend/backend/src/types/index.js +0 -2
  634. package/dist/backend/backend/src/types/index.js.map +1 -1
  635. package/dist/backend/backend/src/types/intent-task.types.d.ts +27 -11
  636. package/dist/backend/backend/src/types/intent-task.types.d.ts.map +1 -1
  637. package/dist/backend/backend/src/types/intent-task.types.js +204 -40
  638. package/dist/backend/backend/src/types/intent-task.types.js.map +1 -1
  639. package/dist/backend/backend/src/types/memory.types.d.ts +53 -0
  640. package/dist/backend/backend/src/types/memory.types.d.ts.map +1 -1
  641. package/dist/backend/backend/src/types/memory.types.js.map +1 -1
  642. package/dist/backend/backend/src/types/orchestrator-state.types.d.ts +49 -0
  643. package/dist/backend/backend/src/types/orchestrator-state.types.d.ts.map +1 -1
  644. package/dist/backend/backend/src/types/orchestrator-state.types.js +27 -0
  645. package/dist/backend/backend/src/types/orchestrator-state.types.js.map +1 -1
  646. package/dist/backend/backend/src/types/settings.types.d.ts +38 -2
  647. package/dist/backend/backend/src/types/settings.types.d.ts.map +1 -1
  648. package/dist/backend/backend/src/types/settings.types.js +16 -2
  649. package/dist/backend/backend/src/types/settings.types.js.map +1 -1
  650. package/dist/backend/backend/src/types/v2/request.types.d.ts +5 -1
  651. package/dist/backend/backend/src/types/v2/request.types.d.ts.map +1 -1
  652. package/dist/backend/backend/src/types/v2/request.types.js +2 -2
  653. package/dist/backend/backend/src/types/v2/request.types.js.map +1 -1
  654. package/dist/backend/backend/src/types/v2/work-item.types.d.ts +63 -1
  655. package/dist/backend/backend/src/types/v2/work-item.types.d.ts.map +1 -1
  656. package/dist/backend/backend/src/types/v2/work-item.types.js +20 -0
  657. package/dist/backend/backend/src/types/v2/work-item.types.js.map +1 -1
  658. package/dist/backend/backend/src/utils/esm-require.utils.d.ts +111 -0
  659. package/dist/backend/backend/src/utils/esm-require.utils.d.ts.map +1 -0
  660. package/dist/backend/backend/src/utils/esm-require.utils.js +124 -0
  661. package/dist/backend/backend/src/utils/esm-require.utils.js.map +1 -0
  662. package/dist/backend/backend/src/utils/integrity-guarded-write.utils.d.ts +119 -0
  663. package/dist/backend/backend/src/utils/integrity-guarded-write.utils.d.ts.map +1 -0
  664. package/dist/backend/backend/src/utils/integrity-guarded-write.utils.js +212 -0
  665. package/dist/backend/backend/src/utils/integrity-guarded-write.utils.js.map +1 -0
  666. package/dist/backend/backend/src/utils/native-binding.utils.d.ts +128 -0
  667. package/dist/backend/backend/src/utils/native-binding.utils.d.ts.map +1 -0
  668. package/dist/backend/backend/src/utils/native-binding.utils.js +206 -0
  669. package/dist/backend/backend/src/utils/native-binding.utils.js.map +1 -0
  670. package/dist/backend/backend/src/utils/node-require.utils.d.ts +104 -0
  671. package/dist/backend/backend/src/utils/node-require.utils.d.ts.map +1 -0
  672. package/dist/backend/backend/src/utils/node-require.utils.js +111 -0
  673. package/dist/backend/backend/src/utils/node-require.utils.js.map +1 -0
  674. package/dist/backend/backend/src/utils/team.utils.d.ts +3 -1
  675. package/dist/backend/backend/src/utils/team.utils.d.ts.map +1 -1
  676. package/dist/backend/backend/src/utils/team.utils.js +26 -5
  677. package/dist/backend/backend/src/utils/team.utils.js.map +1 -1
  678. package/dist/backend/backend/src/websocket/chat-v2.gateway.d.ts +23 -0
  679. package/dist/backend/backend/src/websocket/chat-v2.gateway.d.ts.map +1 -1
  680. package/dist/backend/backend/src/websocket/chat-v2.gateway.js +56 -7
  681. package/dist/backend/backend/src/websocket/chat-v2.gateway.js.map +1 -1
  682. package/dist/backend/backend/src/websocket/chat.gateway.d.ts +19 -4
  683. package/dist/backend/backend/src/websocket/chat.gateway.d.ts.map +1 -1
  684. package/dist/backend/backend/src/websocket/chat.gateway.js +78 -63
  685. package/dist/backend/backend/src/websocket/chat.gateway.js.map +1 -1
  686. package/dist/backend/backend/src/websocket/terminal.gateway.d.ts.map +1 -1
  687. package/dist/backend/backend/src/websocket/terminal.gateway.js +10 -2
  688. package/dist/backend/backend/src/websocket/terminal.gateway.js.map +1 -1
  689. package/dist/cli/backend/src/constants.d.ts +12 -0
  690. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  691. package/dist/cli/backend/src/constants.js +12 -0
  692. package/dist/cli/backend/src/constants.js.map +1 -1
  693. package/dist/cli/backend/src/models/Project.d.ts +2 -0
  694. package/dist/cli/backend/src/models/Project.d.ts.map +1 -1
  695. package/dist/cli/backend/src/models/Project.js +10 -1
  696. package/dist/cli/backend/src/models/Project.js.map +1 -1
  697. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts +16 -0
  698. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts.map +1 -1
  699. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.js.map +1 -1
  700. package/dist/cli/backend/src/services/core/config.service.d.ts.map +1 -1
  701. package/dist/cli/backend/src/services/core/config.service.js +8 -1
  702. package/dist/cli/backend/src/services/core/config.service.js.map +1 -1
  703. package/dist/cli/backend/src/services/core/crewly-home.utils.d.ts +51 -0
  704. package/dist/cli/backend/src/services/core/crewly-home.utils.d.ts.map +1 -0
  705. package/dist/cli/backend/src/services/core/crewly-home.utils.js +59 -0
  706. package/dist/cli/backend/src/services/core/crewly-home.utils.js.map +1 -0
  707. package/dist/cli/backend/src/services/core/state-invariant.types.d.ts +53 -0
  708. package/dist/cli/backend/src/services/core/state-invariant.types.d.ts.map +1 -0
  709. package/dist/cli/backend/src/services/core/state-invariant.types.js +61 -0
  710. package/dist/cli/backend/src/services/core/state-invariant.types.js.map +1 -0
  711. package/dist/cli/backend/src/services/core/storage.service.d.ts +20 -0
  712. package/dist/cli/backend/src/services/core/storage.service.d.ts.map +1 -1
  713. package/dist/cli/backend/src/services/core/storage.service.js +96 -8
  714. package/dist/cli/backend/src/services/core/storage.service.js.map +1 -1
  715. package/dist/cli/backend/src/services/core/teams-backup.service.d.ts +94 -4
  716. package/dist/cli/backend/src/services/core/teams-backup.service.d.ts.map +1 -1
  717. package/dist/cli/backend/src/services/core/teams-backup.service.js +172 -10
  718. package/dist/cli/backend/src/services/core/teams-backup.service.js.map +1 -1
  719. package/dist/cli/backend/src/services/event-bus/event-bus.service.d.ts +245 -0
  720. package/dist/cli/backend/src/services/event-bus/event-bus.service.d.ts.map +1 -0
  721. package/dist/cli/backend/src/services/event-bus/event-bus.service.js +650 -0
  722. package/dist/cli/backend/src/services/event-bus/event-bus.service.js.map +1 -0
  723. package/dist/cli/backend/src/services/knowledge/fts5-index.service.d.ts.map +1 -1
  724. package/dist/cli/backend/src/services/knowledge/fts5-index.service.js +18 -13
  725. package/dist/cli/backend/src/services/knowledge/fts5-index.service.js.map +1 -1
  726. package/dist/cli/backend/src/services/knowledge/fts5-query-sanitizer.d.ts +102 -0
  727. package/dist/cli/backend/src/services/knowledge/fts5-query-sanitizer.d.ts.map +1 -0
  728. package/dist/cli/backend/src/services/knowledge/fts5-query-sanitizer.js +118 -0
  729. package/dist/cli/backend/src/services/knowledge/fts5-query-sanitizer.js.map +1 -0
  730. package/dist/cli/backend/src/services/knowledge/vector-store.service.d.ts.map +1 -1
  731. package/dist/cli/backend/src/services/knowledge/vector-store.service.js +11 -15
  732. package/dist/cli/backend/src/services/knowledge/vector-store.service.js.map +1 -1
  733. package/dist/cli/backend/src/services/memory/agent-memory.service.d.ts +20 -0
  734. package/dist/cli/backend/src/services/memory/agent-memory.service.d.ts.map +1 -1
  735. package/dist/cli/backend/src/services/memory/agent-memory.service.js +27 -2
  736. package/dist/cli/backend/src/services/memory/agent-memory.service.js.map +1 -1
  737. package/dist/cli/backend/src/services/memory/memory.service.d.ts +48 -17
  738. package/dist/cli/backend/src/services/memory/memory.service.d.ts.map +1 -1
  739. package/dist/cli/backend/src/services/memory/memory.service.js +97 -35
  740. package/dist/cli/backend/src/services/memory/memory.service.js.map +1 -1
  741. package/dist/cli/backend/src/services/memory/role-knowledge-eligibility.d.ts +138 -0
  742. package/dist/cli/backend/src/services/memory/role-knowledge-eligibility.d.ts.map +1 -0
  743. package/dist/cli/backend/src/services/memory/role-knowledge-eligibility.js +183 -0
  744. package/dist/cli/backend/src/services/memory/role-knowledge-eligibility.js.map +1 -0
  745. package/dist/cli/backend/src/services/messaging/message-queue.service.d.ts +236 -0
  746. package/dist/cli/backend/src/services/messaging/message-queue.service.d.ts.map +1 -0
  747. package/dist/cli/backend/src/services/messaging/message-queue.service.js +581 -0
  748. package/dist/cli/backend/src/services/messaging/message-queue.service.js.map +1 -0
  749. package/dist/cli/backend/src/services/project/task-tracking.service.d.ts.map +1 -1
  750. package/dist/cli/backend/src/services/project/task-tracking.service.js +2 -2
  751. package/dist/cli/backend/src/services/project/task-tracking.service.js.map +1 -1
  752. package/dist/cli/backend/src/services/settings/settings.service.d.ts.map +1 -1
  753. package/dist/cli/backend/src/services/settings/settings.service.js +25 -0
  754. package/dist/cli/backend/src/services/settings/settings.service.js.map +1 -1
  755. package/dist/cli/backend/src/services/skill/skill-executor.service.d.ts.map +1 -1
  756. package/dist/cli/backend/src/services/skill/skill-executor.service.js +13 -1
  757. package/dist/cli/backend/src/services/skill/skill-executor.service.js.map +1 -1
  758. package/dist/cli/backend/src/services/slack/slack-thread-store.service.d.ts +147 -0
  759. package/dist/cli/backend/src/services/slack/slack-thread-store.service.d.ts.map +1 -0
  760. package/dist/cli/backend/src/services/slack/slack-thread-store.service.js +258 -0
  761. package/dist/cli/backend/src/services/slack/slack-thread-store.service.js.map +1 -0
  762. package/dist/cli/backend/src/services/task-pool/pool-storage.d.ts +15 -1
  763. package/dist/cli/backend/src/services/task-pool/pool-storage.d.ts.map +1 -1
  764. package/dist/cli/backend/src/services/task-pool/pool-storage.js +31 -8
  765. package/dist/cli/backend/src/services/task-pool/pool-storage.js.map +1 -1
  766. package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts +490 -9
  767. package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
  768. package/dist/cli/backend/src/services/task-pool/task-pool.service.js +1197 -121
  769. package/dist/cli/backend/src/services/task-pool/task-pool.service.js.map +1 -1
  770. package/dist/cli/backend/src/services/v3/work-item-projection.d.ts +40 -0
  771. package/dist/cli/backend/src/services/v3/work-item-projection.d.ts.map +1 -0
  772. package/dist/cli/backend/src/services/v3/work-item-projection.js +115 -0
  773. package/dist/cli/backend/src/services/v3/work-item-projection.js.map +1 -0
  774. package/dist/cli/backend/src/types/credential.types.d.ts +17 -1
  775. package/dist/cli/backend/src/types/credential.types.d.ts.map +1 -1
  776. package/dist/cli/backend/src/types/credential.types.js +15 -5
  777. package/dist/cli/backend/src/types/credential.types.js.map +1 -1
  778. package/dist/cli/backend/src/types/event-bus.types.d.ts +173 -0
  779. package/dist/cli/backend/src/types/event-bus.types.d.ts.map +1 -0
  780. package/dist/cli/backend/src/types/event-bus.types.js +230 -0
  781. package/dist/cli/backend/src/types/event-bus.types.js.map +1 -0
  782. package/dist/cli/backend/src/types/index.d.ts +11 -1
  783. package/dist/cli/backend/src/types/index.d.ts.map +1 -1
  784. package/dist/cli/backend/src/types/index.js +0 -2
  785. package/dist/cli/backend/src/types/index.js.map +1 -1
  786. package/dist/cli/backend/src/types/memory.types.d.ts +53 -0
  787. package/dist/cli/backend/src/types/memory.types.d.ts.map +1 -1
  788. package/dist/cli/backend/src/types/memory.types.js.map +1 -1
  789. package/dist/cli/backend/src/types/messaging.types.d.ts +223 -0
  790. package/dist/cli/backend/src/types/messaging.types.d.ts.map +1 -0
  791. package/dist/cli/backend/src/types/messaging.types.js +231 -0
  792. package/dist/cli/backend/src/types/messaging.types.js.map +1 -0
  793. package/dist/cli/backend/src/types/settings.types.d.ts +38 -2
  794. package/dist/cli/backend/src/types/settings.types.d.ts.map +1 -1
  795. package/dist/cli/backend/src/types/settings.types.js +16 -2
  796. package/dist/cli/backend/src/types/settings.types.js.map +1 -1
  797. package/dist/cli/backend/src/types/slack.types.d.ts +356 -0
  798. package/dist/cli/backend/src/types/slack.types.d.ts.map +1 -0
  799. package/dist/cli/backend/src/types/slack.types.js +66 -0
  800. package/dist/cli/backend/src/types/slack.types.js.map +1 -0
  801. package/dist/cli/backend/src/types/v2/claim.types.d.ts +2 -5
  802. package/dist/cli/backend/src/types/v2/claim.types.d.ts.map +1 -1
  803. package/dist/cli/backend/src/types/v2/claim.types.js +2 -5
  804. package/dist/cli/backend/src/types/v2/claim.types.js.map +1 -1
  805. package/dist/cli/backend/src/types/v2/work-item.types.d.ts +63 -1
  806. package/dist/cli/backend/src/types/v2/work-item.types.d.ts.map +1 -1
  807. package/dist/cli/backend/src/types/v2/work-item.types.js +20 -0
  808. package/dist/cli/backend/src/types/v2/work-item.types.js.map +1 -1
  809. package/dist/cli/backend/src/utils/format-error.d.ts +8 -0
  810. package/dist/cli/backend/src/utils/format-error.d.ts.map +1 -0
  811. package/dist/cli/backend/src/utils/format-error.js +10 -0
  812. package/dist/cli/backend/src/utils/format-error.js.map +1 -0
  813. package/dist/cli/backend/src/utils/integrity-guarded-write.utils.d.ts +119 -0
  814. package/dist/cli/backend/src/utils/integrity-guarded-write.utils.d.ts.map +1 -0
  815. package/dist/cli/backend/src/utils/integrity-guarded-write.utils.js +212 -0
  816. package/dist/cli/backend/src/utils/integrity-guarded-write.utils.js.map +1 -0
  817. package/dist/cli/backend/src/utils/node-require.utils.d.ts +104 -0
  818. package/dist/cli/backend/src/utils/node-require.utils.d.ts.map +1 -0
  819. package/dist/cli/backend/src/utils/node-require.utils.js +111 -0
  820. package/dist/cli/backend/src/utils/node-require.utils.js.map +1 -0
  821. package/dist/cli/cli/src/commands/start.js +73 -12
  822. package/dist/cli/cli/src/commands/start.js.map +1 -1
  823. package/frontend/dist/assets/index-b279da34.js +4926 -0
  824. package/frontend/dist/assets/{index-b7e59b2b.css → index-c07e04c0.css} +2 -2
  825. package/frontend/dist/index.html +2 -2
  826. package/package.json +6 -2
  827. package/dist/backend/backend/src/controllers/eval/eval.controller.d.ts +0 -63
  828. package/dist/backend/backend/src/controllers/eval/eval.controller.d.ts.map +0 -1
  829. package/dist/backend/backend/src/controllers/eval/eval.controller.js +0 -228
  830. package/dist/backend/backend/src/controllers/eval/eval.controller.js.map +0 -1
  831. package/dist/backend/backend/src/controllers/eval/eval.routes.d.ts +0 -23
  832. package/dist/backend/backend/src/controllers/eval/eval.routes.d.ts.map +0 -1
  833. package/dist/backend/backend/src/controllers/eval/eval.routes.js +0 -37
  834. package/dist/backend/backend/src/controllers/eval/eval.routes.js.map +0 -1
  835. package/dist/backend/backend/src/controllers/knowledge-v3/index.d.ts +0 -8
  836. package/dist/backend/backend/src/controllers/knowledge-v3/index.d.ts.map +0 -1
  837. package/dist/backend/backend/src/controllers/knowledge-v3/index.js +0 -8
  838. package/dist/backend/backend/src/controllers/knowledge-v3/index.js.map +0 -1
  839. package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.controller.d.ts +0 -63
  840. package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.controller.d.ts.map +0 -1
  841. package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.controller.js +0 -179
  842. package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.controller.js.map +0 -1
  843. package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.routes.d.ts +0 -22
  844. package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.routes.d.ts.map +0 -1
  845. package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.routes.js +0 -34
  846. package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.routes.js.map +0 -1
  847. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/cli-adapter.d.ts +0 -130
  848. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/cli-adapter.d.ts.map +0 -1
  849. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/cli-adapter.js +0 -406
  850. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/cli-adapter.js.map +0 -1
  851. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/crewly-agent-adapter.d.ts +0 -68
  852. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/crewly-agent-adapter.d.ts.map +0 -1
  853. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/crewly-agent-adapter.js +0 -206
  854. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/crewly-agent-adapter.js.map +0 -1
  855. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/index.d.ts +0 -32
  856. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/index.d.ts.map +0 -1
  857. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/index.js +0 -46
  858. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/index.js.map +0 -1
  859. package/dist/backend/backend/src/services/agent/crewly-agent/eval/context-generator.d.ts +0 -87
  860. package/dist/backend/backend/src/services/agent/crewly-agent/eval/context-generator.d.ts.map +0 -1
  861. package/dist/backend/backend/src/services/agent/crewly-agent/eval/context-generator.js +0 -299
  862. package/dist/backend/backend/src/services/agent/crewly-agent/eval/context-generator.js.map +0 -1
  863. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-runner.d.ts +0 -59
  864. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-runner.d.ts.map +0 -1
  865. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-runner.js +0 -218
  866. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-runner.js.map +0 -1
  867. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-scorer.d.ts +0 -203
  868. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-scorer.d.ts.map +0 -1
  869. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-scorer.js +0 -467
  870. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-scorer.js.map +0 -1
  871. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-types.d.ts +0 -313
  872. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-types.d.ts.map +0 -1
  873. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-types.js +0 -45
  874. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-types.js.map +0 -1
  875. package/dist/backend/backend/src/services/agent/crewly-agent/eval/index.d.ts +0 -21
  876. package/dist/backend/backend/src/services/agent/crewly-agent/eval/index.d.ts.map +0 -1
  877. package/dist/backend/backend/src/services/agent/crewly-agent/eval/index.js +0 -21
  878. package/dist/backend/backend/src/services/agent/crewly-agent/eval/index.js.map +0 -1
  879. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-cli.d.ts +0 -15
  880. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-cli.d.ts.map +0 -1
  881. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-cli.js +0 -349
  882. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-cli.js.map +0 -1
  883. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-l4.d.ts +0 -97
  884. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-l4.d.ts.map +0 -1
  885. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-l4.js +0 -414
  886. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-l4.js.map +0 -1
  887. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-standalone.d.ts +0 -42
  888. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-standalone.d.ts.map +0 -1
  889. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-standalone.js +0 -403
  890. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-standalone.js.map +0 -1
  891. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/index.d.ts +0 -41
  892. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/index.d.ts.map +0 -1
  893. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/index.js +0 -58
  894. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/index.js.map +0 -1
  895. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l1-tasks.d.ts +0 -15
  896. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l1-tasks.d.ts.map +0 -1
  897. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l1-tasks.js +0 -396
  898. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l1-tasks.js.map +0 -1
  899. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l2-tasks.d.ts +0 -14
  900. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l2-tasks.d.ts.map +0 -1
  901. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l2-tasks.js +0 -564
  902. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l2-tasks.js.map +0 -1
  903. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l3-tasks.d.ts +0 -13
  904. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l3-tasks.d.ts.map +0 -1
  905. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l3-tasks.js +0 -634
  906. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l3-tasks.js.map +0 -1
  907. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l4-tasks.d.ts +0 -21
  908. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l4-tasks.d.ts.map +0 -1
  909. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l4-tasks.js +0 -1036
  910. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l4-tasks.js.map +0 -1
  911. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tool-log-parser.d.ts +0 -100
  912. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tool-log-parser.d.ts.map +0 -1
  913. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tool-log-parser.js +0 -187
  914. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tool-log-parser.js.map +0 -1
  915. package/dist/backend/backend/src/services/ai/prompt-modules/sop-norm-distinction.module.d.ts +0 -79
  916. package/dist/backend/backend/src/services/ai/prompt-modules/sop-norm-distinction.module.d.ts.map +0 -1
  917. package/dist/backend/backend/src/services/ai/prompt-modules/sop-norm-distinction.module.js +0 -118
  918. package/dist/backend/backend/src/services/ai/prompt-modules/sop-norm-distinction.module.js.map +0 -1
  919. package/dist/backend/backend/src/services/cloud/cloud-event-bridge.service.d.ts +0 -113
  920. package/dist/backend/backend/src/services/cloud/cloud-event-bridge.service.d.ts.map +0 -1
  921. package/dist/backend/backend/src/services/cloud/cloud-event-bridge.service.js +0 -179
  922. package/dist/backend/backend/src/services/cloud/cloud-event-bridge.service.js.map +0 -1
  923. package/dist/backend/backend/src/services/cloud/cloud-event-forwarder.service.d.ts +0 -131
  924. package/dist/backend/backend/src/services/cloud/cloud-event-forwarder.service.d.ts.map +0 -1
  925. package/dist/backend/backend/src/services/cloud/cloud-event-forwarder.service.js +0 -227
  926. package/dist/backend/backend/src/services/cloud/cloud-event-forwarder.service.js.map +0 -1
  927. package/dist/backend/backend/src/services/knowledge/fts5-search-strategy.d.ts +0 -56
  928. package/dist/backend/backend/src/services/knowledge/fts5-search-strategy.d.ts.map +0 -1
  929. package/dist/backend/backend/src/services/knowledge/fts5-search-strategy.js +0 -91
  930. package/dist/backend/backend/src/services/knowledge/fts5-search-strategy.js.map +0 -1
  931. package/dist/backend/backend/src/services/memory/learning-format.validator.d.ts +0 -97
  932. package/dist/backend/backend/src/services/memory/learning-format.validator.d.ts.map +0 -1
  933. package/dist/backend/backend/src/services/memory/learning-format.validator.js +0 -209
  934. package/dist/backend/backend/src/services/memory/learning-format.validator.js.map +0 -1
  935. package/frontend/dist/assets/index-7a4e7df5.js +0 -5228
  936. /package/dist/{backend → cli}/backend/src/services/knowledge/learnings-index.service.d.ts +0 -0
  937. /package/dist/{backend → cli}/backend/src/services/knowledge/learnings-index.service.d.ts.map +0 -0
  938. /package/dist/{backend → cli}/backend/src/services/knowledge/learnings-index.service.js +0 -0
  939. /package/dist/{backend → cli}/backend/src/services/knowledge/learnings-index.service.js.map +0 -0
@@ -14,7 +14,8 @@ import { Readable } from 'stream';
14
14
  import { pipeline } from 'stream/promises';
15
15
  import { PDFParse } from 'pdf-parse';
16
16
  import { getSlackService } from './slack.service.js';
17
- import { getChatService } from '../chat/chat.service.js';
17
+ import { getChatV2Service } from '../chat-v2/chat-v2.singleton.js';
18
+ import { synthesizeSlackConversationId } from '../chat-v2/legacy-dto.utils.js';
18
19
  import { isOrchestratorActive, isAgentActive, getOrchestratorOfflineMessage, triggerOrchestratorSetup, } from '../orchestrator/index.js';
19
20
  import { parseCommandIntent, } from '../../types/slack.types.js';
20
21
  import { ContentApprovalService } from '../onboarding/content-approval.service.js';
@@ -23,6 +24,7 @@ import { ORCHESTRATOR_SESSION_NAME, MESSAGE_QUEUE_CONSTANTS, SLACK_IMAGE_CONSTAN
23
24
  import { LoggerService } from '../core/logger.service.js';
24
25
  import { CROSS_MACHINE_PREFIX } from '../../types/cross-machine.types.js';
25
26
  import { getCrossMachineMessageService } from './cross-machine-message.service.js';
27
+ import { TERMINAL_REQUEST_STATUSES } from '../../types/v2/request.types.js';
26
28
  /**
27
29
  * Default bridge configuration
28
30
  */
@@ -40,6 +42,51 @@ const DEFAULT_CONFIG = {
40
42
  * blocking the message ingress thread when setup is wedged.
41
43
  */
42
44
  const AUTO_RECOVERY_TIMEOUT_MS = 5_000;
45
+ // ---------------------------------------------------------------------------
46
+ // Auto-Request suppression gates (Pipeline-#4 fix, Patch D)
47
+ //
48
+ // Spec: 2026-05-05-request-decompose-pipeline-gap.md §4 Patch D.
49
+ // Live data measured ~80% of auto-Requests in D0AC7NF5N7L matched one of
50
+ // these gates and were never actionable.
51
+ // ---------------------------------------------------------------------------
52
+ /**
53
+ * Minimum trimmed text length required to create an auto-Request. Anything
54
+ * shorter is treated as "trivial" (length-gate). Set deliberately tight so a
55
+ * one-sentence command like "fix the build" (15 chars) still passes.
56
+ */
57
+ const MIN_AUTO_REQUEST_TEXT_LENGTH = 12;
58
+ /**
59
+ * Trimmed-text regex for trivial acknowledgement messages — anchored,
60
+ * case-insensitive, allows trailing punctuation/emoji whitespace. Matches
61
+ * "ok", "好的", "thx", "👍", etc. Add new locale tokens here as needed.
62
+ */
63
+ const TRIVIAL_ACK_PATTERN = /^(ok|好的|收到|thx|thanks|谢谢|👍|✅|got it|sure|yes|是|对|对的)\W*$/i;
64
+ /**
65
+ * Trimmed-text regex matching the synthetic `[Slack File: …]` titles
66
+ * generated by the file-handling path when a user uploads a file with no
67
+ * narrative. Caught before the thread-continuation gate to avoid the lookup.
68
+ */
69
+ const FILE_ONLY_TITLE_PATTERN = /^\[Slack File:[^\]]*\]\.?\s*$/;
70
+ /**
71
+ * Pure pre-fetch gates for auto-Request suppression (Patch D). Exported for
72
+ * focused unit testing — the full thread-continuation gate also lives in
73
+ * {@link SlackOrchestratorBridge.shouldSuppressAutoRequest} but requires a
74
+ * RequestService lookup so cannot be a pure function.
75
+ *
76
+ * Each function returns the suppression reason string (matches the values
77
+ * logged at debug level) or `null` when the gate does not match.
78
+ */
79
+ export function suppressTrivialOrShort(rawText) {
80
+ const trimmed = rawText.trim();
81
+ if (trimmed.length < MIN_AUTO_REQUEST_TEXT_LENGTH || TRIVIAL_ACK_PATTERN.test(trimmed)) {
82
+ return 'trivial_or_short';
83
+ }
84
+ return null;
85
+ }
86
+ export function suppressFileOnly(rawText) {
87
+ const trimmed = rawText.trim();
88
+ return FILE_ONLY_TITLE_PATTERN.test(trimmed) ? 'file_only' : null;
89
+ }
43
90
  /**
44
91
  * Slack-Orchestrator Bridge singleton
45
92
  */
@@ -62,7 +109,7 @@ let bridgeInstance = null;
62
109
  export class SlackOrchestratorBridge extends EventEmitter {
63
110
  logger = LoggerService.getInstance().createComponentLogger('SlackBridge');
64
111
  slackService;
65
- chatService;
112
+ chatV2;
66
113
  messageQueueService = null;
67
114
  threadStatusQueue = null;
68
115
  threadStore = null;
@@ -89,7 +136,7 @@ export class SlackOrchestratorBridge extends EventEmitter {
89
136
  constructor(config = {}) {
90
137
  super();
91
138
  this.slackService = getSlackService();
92
- this.chatService = getChatService();
139
+ this.chatV2 = getChatV2Service();
93
140
  this.config = { ...DEFAULT_CONFIG, ...config };
94
141
  }
95
142
  /**
@@ -259,8 +306,14 @@ export class SlackOrchestratorBridge extends EventEmitter {
259
306
  }
260
307
  // Strip the @mention prefix and send to the target agent
261
308
  const cleanMessage = enrichedText.replace(new RegExp(`^@${mentionTarget.name}\\s*`, 'i'), '').trim();
262
- const response = await this.sendToAgent(mentionTarget.sessionName, cleanMessage || enrichedText, context);
263
- await this.sendSlackResponse(message, response);
309
+ const agentResponse = await this.sendToAgent(mentionTarget.sessionName, cleanMessage || enrichedText, context);
310
+ // Issue #394: `fromOrcReply` comes from the envelope — only
311
+ // `true` when slackResolve fired with a non-empty body. The
312
+ // pre-fix `response.length > 0` proxy false-positived on the
313
+ // 3 placeholder strings (timeout, direct-delivery, error),
314
+ // any of which would have auto-resolved the SLA tracker on a
315
+ // non-reply.
316
+ await this.sendSlackResponse(message, agentResponse.response, agentResponse.fromOrcReply);
264
317
  if (this.config.showTypingIndicator) {
265
318
  await this.markComplete(message);
266
319
  }
@@ -317,24 +370,67 @@ export class SlackOrchestratorBridge extends EventEmitter {
317
370
  try {
318
371
  const { RequestService } = await import('../v3/request.service.js');
319
372
  const svc = RequestService.getInstance();
320
- const msgId = `slack-${message.channelId}-${message.ts}`;
373
+ // 2026-05-13 dogfood fix: encode BOTH thread root AND message
374
+ // ts in sourceConversationItemId. The previous form was
375
+ // `slack-{channel}-{message.ts}`, which made
376
+ // `extractSlackThreadTs(sourceConv)` return the per-message
377
+ // ts — never the actual Slack thread root. The SLA
378
+ // threadIndex therefore mapped per-message ts → requestId,
379
+ // but when orc replied via reply-slack → POST /api/slack/send
380
+ // → markResolvedByThread(realThreadRoot), the lookup missed
381
+ // and the Request never auto-closed (PR #538 hook was a
382
+ // no-op for thread-reply messages).
383
+ //
384
+ // New form:
385
+ // Top-level message (msg.ts == thread root):
386
+ // `slack-{channelId}-{ts}` (unchanged)
387
+ // Reply within an existing thread:
388
+ // `slack-{channelId}-{threadRoot}-msg-{messageTs}`
389
+ //
390
+ // The `-msg-{...}` suffix preserves per-message uniqueness
391
+ // so `findBySourceConversationItemId` still works. The
392
+ // updated `parseSlackThreadContext` strips the suffix
393
+ // before extracting the threadTs, so the SLA's threadIndex
394
+ // now keys on the actual thread root for both shapes.
395
+ const threadRoot = message.threadTs || message.ts;
396
+ const msgId = message.threadTs && message.threadTs !== message.ts
397
+ ? `slack-${message.channelId}-${threadRoot}-msg-${message.ts}`
398
+ : `slack-${message.channelId}-${message.ts}`;
321
399
  const existing = await svc.findBySourceConversationItemId(msgId);
322
- if (!existing) {
323
- const { generateRequestTitle } = await import('../v3/v3-data.service.js');
324
- const rawText = message.text || '';
325
- const request = await svc.create({
326
- title: generateRequestTitle(rawText, 'other'),
327
- description: rawText,
328
- sourceConversationItemId: msgId,
329
- priority: 'normal',
330
- tags: ['slack'],
331
- });
332
- // P2-2: RequestTracker.setActiveRequest write removed. The
333
- // companion read in v3-data.service.ts no longer falls back
334
- // to time-window correlation; downstream delegate-task
335
- // skills must now pass requestId explicitly.
336
- this.logger.debug('V3 Request created from Slack message', { msgId, requestId: request.id });
400
+ if (existing)
401
+ return;
402
+ const rawText = message.text || '';
403
+ // Pipeline-#4 fix (spec 2026-05-05-request-decompose-pipeline-gap.md,
404
+ // Patch D): suppress trivial / continuation / file-only Slack messages
405
+ // that pollute the Request stream without ever becoming actionable
406
+ // work. ~80% of historical auto-Requests in D0AC7NF5N7L matched one
407
+ // of these gates (dogfood data 2026-05-05).
408
+ const suppressionReason = await this.shouldSuppressAutoRequest(message, rawText, svc);
409
+ if (suppressionReason) {
410
+ this.logger.debug('V3 Request creation suppressed', { msgId, reason: suppressionReason });
411
+ return;
337
412
  }
413
+ const { generateRequestTitle, classifyIntent } = await import('../v3/v3-data.service.js');
414
+ // Auto-classify so request-decompose.subscriber sees correct
415
+ // intentLevel/intentCategory. Without this, every Slack-auto
416
+ // Request defaulted to L1+other and was never decomposed
417
+ // into delegation WorkItems — the entire Slack→WorkItem
418
+ // pipeline was silently no-op.
419
+ const { intentLevel, intentCategory } = classifyIntent(rawText);
420
+ const request = await svc.create({
421
+ title: generateRequestTitle(rawText, intentCategory),
422
+ description: rawText,
423
+ sourceConversationItemId: msgId,
424
+ priority: 'normal',
425
+ tags: ['slack'],
426
+ intentLevel,
427
+ intentCategory,
428
+ });
429
+ // P2-2: RequestTracker.setActiveRequest write removed. The
430
+ // companion read in v3-data.service.ts no longer falls back
431
+ // to time-window correlation; downstream delegate-task
432
+ // skills must now pass requestId explicitly.
433
+ this.logger.debug('V3 Request created from Slack message', { msgId, requestId: request.id });
338
434
  }
339
435
  catch (err) {
340
436
  this.logger.warn('V3 Request creation from Slack failed (non-critical)', {
@@ -490,6 +586,70 @@ export class SlackOrchestratorBridge extends EventEmitter {
490
586
  :speech_balloon: *Chat*
491
587
  Just type naturally to chat with the orchestrator!`;
492
588
  }
589
+ /**
590
+ * Determine whether an inbound Slack message should be suppressed from
591
+ * auto-Request creation. Returns a reason string when the message should
592
+ * be skipped, or `null` when a Request should be created normally.
593
+ *
594
+ * Three gates (Pipeline-#4 fix, spec
595
+ * 2026-05-05-request-decompose-pipeline-gap.md, Patch D):
596
+ *
597
+ * 1. **Length / acknowledgement gate.** Trimmed text is shorter than
598
+ * {@link MIN_AUTO_REQUEST_TEXT_LENGTH} OR matches the trivial
599
+ * acknowledgement allowlist ({@link TRIVIAL_ACK_PATTERN}). Catches
600
+ * "好的", "ok", "👍", "thx" — class noise that is never actionable.
601
+ *
602
+ * 2. **Thread continuation gate.** When the inbound message is a reply
603
+ * inside an existing thread (`message.threadTs` ≠ `message.ts`) AND a
604
+ * Request already exists for the **parent** message, suppress to
605
+ * prevent every "are we still in this thread?" follow-up from creating
606
+ * a new sibling Request. Existing Request continues to receive
607
+ * orchestrator routing.
608
+ *
609
+ * 3. **File-only / synthetic-title gate.** Messages whose text is a
610
+ * synthetic `[Slack File: …]` placeholder with no narrative are
611
+ * artefacts of slack-bridge file-handling, not user requests.
612
+ *
613
+ * Each gate returns a stable reason string for log auditability. The
614
+ * caller logs at `debug` so suppression decisions are observable without
615
+ * noise.
616
+ *
617
+ * @param message - The incoming Slack message (already validated)
618
+ * @param rawText - The raw text body, trimmed by caller if needed
619
+ * @param svc - The RequestService instance for the thread-continuation lookup
620
+ * @returns A reason string when suppressed; `null` when allowed
621
+ */
622
+ async shouldSuppressAutoRequest(message, rawText, svc) {
623
+ const trimmed = rawText.trim();
624
+ // Gate 1 — length + ack allowlist
625
+ if (trimmed.length < MIN_AUTO_REQUEST_TEXT_LENGTH || TRIVIAL_ACK_PATTERN.test(trimmed)) {
626
+ return 'trivial_or_short';
627
+ }
628
+ // Gate 3 — file-only synthetic title (run before gate 2 to skip the I/O)
629
+ if (FILE_ONLY_TITLE_PATTERN.test(trimmed)) {
630
+ return 'file_only';
631
+ }
632
+ // Gate 2 — thread continuation: this message is a reply, and the parent
633
+ // message already has a NON-TERMINAL Request. Cheaper than threading
634
+ // detection at the SLA layer.
635
+ //
636
+ // ARCH 2026-05-05 PR #453 review (NC-1): the gate MUST check
637
+ // `parentRequest.status` is non-terminal — otherwise a thread that
638
+ // completed (parent → done via orc_reply / orc_reply_recheck) and then
639
+ // received a NEW actionable user message would silently suppress the new
640
+ // Request, re-opening the user-visible reliability gap that INBOUND-1
641
+ // was built to close. Terminal-parent threads release suppression so the
642
+ // child message creates a fresh Request.
643
+ const threadTs = message.threadTs;
644
+ if (threadTs && threadTs !== message.ts) {
645
+ const parentMsgId = `slack-${message.channelId}-${threadTs}`;
646
+ const parentRequest = await svc.findBySourceConversationItemId(parentMsgId);
647
+ if (parentRequest && !TERMINAL_REQUEST_STATUSES.has(parentRequest.status)) {
648
+ return 'thread_continuation';
649
+ }
650
+ }
651
+ return null;
652
+ }
493
653
  /**
494
654
  * Handle status command
495
655
  *
@@ -635,16 +795,19 @@ Just type naturally to chat with the orchestrator!`;
635
795
  const threadFilePath = this.threadStore.getThreadFilePath(context.channelId, context.threadTs);
636
796
  enrichedMessage = `${message}\n\n[Thread context file: ${threadFilePath}]`;
637
797
  }
638
- // Store in chat service for persistence
639
- const result = await this.chatService.sendMessage({
640
- content: enrichedMessage,
641
- conversationId: context?.conversationId,
642
- metadata: {
643
- source: 'slack',
644
- userId: context?.userId,
645
- channelId: context?.channelId,
798
+ // Store in canonical chat-v2 for persistence
799
+ const result = {
800
+ conversation: {
801
+ id: this.persistSlackInbound({
802
+ content: enrichedMessage,
803
+ conversationId: context?.conversationId,
804
+ agentSession: 'crewly-orc',
805
+ channelId: context?.channelId,
806
+ threadTs: context?.threadTs,
807
+ userId: context?.userId,
808
+ }).conversationId,
646
809
  },
647
- });
810
+ };
648
811
  try {
649
812
  this.messageQueueService.enqueue({
650
813
  content: enrichedMessage,
@@ -708,16 +871,19 @@ Just type naturally to chat with the orchestrator!`;
708
871
  const threadFilePath = this.threadStore.getThreadFilePath(context.channelId, context.threadTs);
709
872
  enrichedMessage = `${message}\n\n[Thread context file: ${threadFilePath}]`;
710
873
  }
711
- // Send message via chat service to store it
712
- const result = await this.chatService.sendMessage({
713
- content: enrichedMessage,
714
- conversationId: context?.conversationId,
715
- metadata: {
716
- source: 'slack',
717
- userId: context?.userId,
718
- channelId: context?.channelId,
874
+ // Persist user message in canonical chat-v2 store
875
+ const result = {
876
+ conversation: {
877
+ id: this.persistSlackInbound({
878
+ content: enrichedMessage,
879
+ conversationId: context?.conversationId,
880
+ agentSession: 'crewly-orc',
881
+ channelId: context?.channelId,
882
+ threadTs: context?.threadTs,
883
+ userId: context?.userId,
884
+ }).conversationId,
719
885
  },
720
- });
886
+ };
721
887
  // Enqueue the message with a resolve callback for response routing.
722
888
  // The QueueProcessorService will call slackResolve() when the
723
889
  // orchestrator responds, unblocking this promise.
@@ -748,8 +914,35 @@ Just type naturally to chat with the orchestrator!`;
748
914
  if (!resolved) {
749
915
  resolved = true;
750
916
  clearTimeout(timeoutId);
751
- // Real orc reply path — safe to auto-resolve the SLA tracker.
752
- resolve({ response: resp, fromOrcReply: true });
917
+ // 2026-05-12 dogfood bug: the QueueProcessor fires
918
+ // `routeResponse(message, '')` immediately after PTY
919
+ // delivery to unblock this promise (see
920
+ // queue-processor.service.ts:692 "fire-and-forget"
921
+ // comment). That call carries an EMPTY response — orc
922
+ // has only RECEIVED the message, not REPLIED. The
923
+ // previous shape of this callback always returned
924
+ // `fromOrcReply: true`, so every Slack delivery
925
+ // triggered `markResolvedByThread('orc_reply')` →
926
+ // `maybeCloseRequest` → Request cascaded to `done`
927
+ // with `result: "Auto-closed by SLA: orc_reply"`
928
+ // before the user ever saw a reply.
929
+ //
930
+ // Real orc replies (via the reply-slack skill) come
931
+ // through a different route — the orc invokes
932
+ // `POST /slack/send`, which posts to Slack directly;
933
+ // the SLA tracker is resolved when the
934
+ // `respond_to_user` WI transitions to `verified` and
935
+ // the cascade subscriber picks it up. That path
936
+ // produces a non-empty response payload only when
937
+ // a worker explicitly drives reply text back through
938
+ // the queue (rare; most orc replies are direct API).
939
+ //
940
+ // Gate: treat empty resp as a delivery ack ONLY
941
+ // (fromOrcReply=false). Non-empty resp keeps the
942
+ // legacy `true` semantics for any worker path that
943
+ // does echo a reply through the queue.
944
+ const fromOrcReply = resp.length > 0;
945
+ resolve({ response: resp, fromOrcReply });
753
946
  }
754
947
  },
755
948
  userId: context?.userId,
@@ -836,16 +1029,18 @@ Just type naturally to chat with the orchestrator!`;
836
1029
  // Try to enqueue via the message queue (same path as orchestrator delivery)
837
1030
  if (this.messageQueueService) {
838
1031
  try {
839
- // Store in chat history
840
- const result = await this.chatService.sendMessage({
841
- content: enrichedMessage,
842
- conversationId: context?.conversationId,
843
- metadata: {
844
- source: 'slack',
845
- userId: context?.userId,
846
- channelId: context?.channelId,
1032
+ const result = {
1033
+ conversation: {
1034
+ id: this.persistSlackInbound({
1035
+ content: enrichedMessage,
1036
+ conversationId: context?.conversationId,
1037
+ agentSession: auditorSession,
1038
+ channelId: context?.channelId,
1039
+ threadTs: context?.threadTs,
1040
+ userId: context?.userId,
1041
+ }).conversationId,
847
1042
  },
848
- });
1043
+ };
849
1044
  this.messageQueueService.enqueue({
850
1045
  content: enrichedMessage,
851
1046
  conversationId: result.conversation.id,
@@ -1568,7 +1763,11 @@ Just type naturally to chat with the orchestrator!`;
1568
1763
  * @param sessionName - Target agent session
1569
1764
  * @param message - Message to send
1570
1765
  * @param context - Slack context for response routing
1571
- * @returns Agent response text
1766
+ * @returns OrcResponse envelope — `fromOrcReply` is `true` ONLY when the
1767
+ * reply came from the agent's `slackResolve` callback (a real reply
1768
+ * via the reply-slack skill). Timeout / direct-delivery / error
1769
+ * placeholders return `fromOrcReply: false` so callers can gate the
1770
+ * SLA cascade. Issue #394.
1572
1771
  */
1573
1772
  async sendToAgent(sessionName, message, context) {
1574
1773
  try {
@@ -1579,17 +1778,28 @@ Just type naturally to chat with the orchestrator!`;
1579
1778
  }
1580
1779
  // Use message queue for agents that support it, or deliver directly
1581
1780
  if (this.messageQueueService) {
1582
- const chatResult = await this.chatService.sendMessage({
1583
- content: enrichedMessage,
1584
- conversationId: context?.conversationId,
1585
- metadata: { source: 'slack', channelId: context?.channelId },
1586
- });
1781
+ const chatResult = {
1782
+ conversation: {
1783
+ id: this.persistSlackInbound({
1784
+ content: enrichedMessage,
1785
+ conversationId: context?.conversationId,
1786
+ agentSession: sessionName,
1787
+ channelId: context?.channelId,
1788
+ threadTs: context?.threadTs,
1789
+ userId: context?.userId,
1790
+ }).conversationId,
1791
+ },
1792
+ };
1587
1793
  return new Promise((resolve) => {
1588
1794
  let resolved = false;
1589
1795
  const timeoutId = setTimeout(() => {
1590
1796
  if (!resolved) {
1591
1797
  resolved = true;
1592
- resolve('Agent is processing your message. Check back shortly.');
1798
+ // Timeout placeholder explicitly NOT a real reply.
1799
+ resolve({
1800
+ response: 'Agent is processing your message. Check back shortly.',
1801
+ fromOrcReply: false,
1802
+ });
1593
1803
  }
1594
1804
  }, this.config.responseTimeoutMs);
1595
1805
  this.messageQueueService.enqueue({
@@ -1602,7 +1812,11 @@ Just type naturally to chat with the orchestrator!`;
1602
1812
  if (!resolved) {
1603
1813
  resolved = true;
1604
1814
  clearTimeout(timeoutId);
1605
- resolve(resp);
1815
+ // Real agent reply path. Empty `resp` is the
1816
+ // QueueProcessor fire-and-forget delivery ack — treat
1817
+ // it as a non-reply too (mirrors the orchestrator
1818
+ // path's empty-string gate in sendToOrchestrator).
1819
+ resolve({ response: resp, fromOrcReply: resp.length > 0 });
1606
1820
  }
1607
1821
  },
1608
1822
  channelId: context?.channelId,
@@ -1611,7 +1825,10 @@ Just type naturally to chat with the orchestrator!`;
1611
1825
  });
1612
1826
  });
1613
1827
  }
1614
- // Fallback: direct terminal delivery
1828
+ // Fallback: direct terminal delivery — the agent acknowledges the
1829
+ // write, but the actual reply hasn't been generated yet. Return a
1830
+ // placeholder with fromOrcReply=false so the SLA cascade does NOT
1831
+ // close on this.
1615
1832
  const { default: fetch } = await import('node-fetch').catch(() => ({ default: globalThis.fetch }));
1616
1833
  const apiUrl = process.env.CREWLY_API_URL || 'http://localhost:8787';
1617
1834
  await fetch(`${apiUrl}/api/terminal/${sessionName}/deliver`, {
@@ -1619,16 +1836,56 @@ Just type naturally to chat with the orchestrator!`;
1619
1836
  headers: { 'Content-Type': 'application/json' },
1620
1837
  body: JSON.stringify({ message: enrichedMessage, force: true }),
1621
1838
  });
1622
- return 'Message delivered to agent. Response will arrive shortly.';
1839
+ return {
1840
+ response: 'Message delivered to agent. Response will arrive shortly.',
1841
+ fromOrcReply: false,
1842
+ };
1623
1843
  }
1624
1844
  catch (err) {
1625
1845
  this.logger.error('Failed to send to agent', {
1626
1846
  session: sessionName,
1627
1847
  error: err instanceof Error ? err.message : String(err),
1628
1848
  });
1629
- return `Failed to reach agent. Error: ${err instanceof Error ? err.message : String(err)}`;
1849
+ return {
1850
+ response: `Failed to reach agent. Error: ${err instanceof Error ? err.message : String(err)}`,
1851
+ fromOrcReply: false,
1852
+ };
1630
1853
  }
1631
1854
  }
1855
+ /**
1856
+ * Persist a Slack inbound user message to chat-v2 and return the
1857
+ * `(conversationId, messageId)` pair callers thread downstream
1858
+ * into `MessageQueueService.enqueue` and `ThreadStatusQueueService.trackInbound`.
1859
+ *
1860
+ * Phase 6c of unified-chat-message-store spec: replaces the
1861
+ * legacy `chatService.sendMessage` call sites on this bridge.
1862
+ * Synthesizes a stable conversationId from Slack channel + thread
1863
+ * ts when the caller didn't supply one, so re-enqueue paths
1864
+ * (offline replay, recovery) reuse the same channel.
1865
+ *
1866
+ * @param args - Persistence inputs (content + slack context + recipient agent)
1867
+ * @returns The chat-v2 channelId and the freshly persisted messageId
1868
+ */
1869
+ persistSlackInbound(args) {
1870
+ const cid = args.conversationId ??
1871
+ synthesizeSlackConversationId(args.channelId ?? 'unknown', args.threadTs ?? String(Date.now()));
1872
+ const channel = this.chatV2.ensureChannelForLegacyConversation({
1873
+ conversationId: cid,
1874
+ agentSession: args.agentSession,
1875
+ });
1876
+ const { message } = this.chatV2.recordTurn({
1877
+ channelId: channel.id,
1878
+ senderType: 'user',
1879
+ senderId: args.userId ?? 'slack-user',
1880
+ content: args.content,
1881
+ metadata: {
1882
+ source: 'slack',
1883
+ slackChannelId: args.channelId,
1884
+ slackThreadTs: args.threadTs,
1885
+ },
1886
+ });
1887
+ return { conversationId: channel.id, messageId: message.id };
1888
+ }
1632
1889
  }
1633
1890
  /**
1634
1891
  * Get bridge singleton