crewly 1.6.4 → 1.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (795) hide show
  1. package/config/roles/architect/prompt.md +68 -2
  2. package/config/roles/auditor/prompt.md +68 -0
  3. package/config/roles/backend-developer/prompt.md +68 -2
  4. package/config/roles/content-strategist/prompt.md +73 -5
  5. package/config/roles/designer/prompt.md +69 -4
  6. package/config/roles/developer/prompt.md +231 -4
  7. package/config/roles/frontend-developer/prompt.md +68 -2
  8. package/config/roles/fullstack-dev/prompt.md +68 -2
  9. package/config/roles/generalist/prompt.md +68 -2
  10. package/config/roles/ops/prompt.md +69 -3
  11. package/config/roles/orchestrator/fragments/communication.md +27 -0
  12. package/config/roles/orchestrator/fragments/role-boundary.md +1 -1
  13. package/config/roles/orchestrator/prompt.md +215 -72
  14. package/config/roles/product-manager/prompt.md +140 -7
  15. package/config/roles/qa/prompt.md +70 -5
  16. package/config/roles/qa-engineer/prompt.md +70 -5
  17. package/config/roles/researcher/prompt.md +68 -2
  18. package/config/roles/sales/prompt.md +70 -5
  19. package/config/roles/support/prompt.md +69 -4
  20. package/config/roles/team-leader/prompt.md +87 -6
  21. package/config/roles/team-leader/role-boundaries.md +26 -0
  22. package/config/roles/team-leader/tl-addon.md +153 -1
  23. package/config/roles/tpm/prompt.md +68 -2
  24. package/config/roles/ux-designer/prompt.md +70 -5
  25. package/config/skills/_common/complete-body-shape.test.sh +249 -0
  26. package/config/skills/agent/core/accept-task/execute.sh +18 -15
  27. package/config/skills/agent/core/block-task/execute.sh +27 -9
  28. package/config/skills/agent/core/cancel-followup/SKILL.md +18 -0
  29. package/config/skills/agent/core/complete-task/execute.sh +45 -7
  30. package/config/skills/agent/core/create-task/execute.sh +40 -12
  31. package/config/skills/agent/core/get-my-active-work/SKILL.md +3 -1
  32. package/config/skills/agent/core/get-my-tasks/execute.sh +7 -5
  33. package/config/skills/agent/core/handoff-task/execute.sh +34 -48
  34. package/config/skills/agent/core/list-my-followups/SKILL.md +18 -0
  35. package/config/skills/agent/core/read-task/execute.sh +21 -8
  36. package/config/skills/agent/core/recall/SKILL.md +7 -0
  37. package/config/skills/agent/core/remember/SKILL.md +17 -1
  38. package/config/skills/agent/core/remember/execute.sh +5 -1
  39. package/config/skills/agent/core/reply-channel/SKILL.md +19 -0
  40. package/config/skills/agent/core/report-progress/execute.sh +39 -16
  41. package/config/skills/agent/core/report-status/execute.sh +36 -12
  42. package/config/skills/agent/core/save-working-state/execute.sh +17 -6
  43. package/config/skills/agent/core/schedule-followup/SKILL.md +19 -0
  44. package/config/skills/agent/core/send-message/SKILL.md +6 -0
  45. package/config/skills/agent/core/supersede-memory/SKILL.md +76 -0
  46. package/config/skills/agent/core/supersede-memory/execute.sh +108 -0
  47. package/config/skills/agent/core/watch-for-event/SKILL.md +19 -0
  48. package/config/skills/agent/onboarding/materialize-team/SKILL.md +94 -0
  49. package/config/skills/agent/onboarding/materialize-team/execute.sh +98 -0
  50. package/config/skills/agent/onboarding/recommend-team/SKILL.md +90 -0
  51. package/config/skills/agent/onboarding/recommend-team/execute.sh +96 -0
  52. package/config/skills/agent/xhs-article-to-image/SKILL.md +20 -0
  53. package/config/skills/auditor/score-task/SKILL.md +15 -0
  54. package/config/skills/orchestrator/assign-task/execute.sh +28 -4
  55. package/config/skills/orchestrator/cancel-all-schedules/SKILL.md +15 -1
  56. package/config/skills/orchestrator/complete-task/execute.sh +45 -4
  57. package/config/skills/orchestrator/delegate-task/SKILL.md +1 -0
  58. package/config/skills/orchestrator/delegate-task/execute.sh +41 -2
  59. package/config/skills/orchestrator/get-tasks/execute.sh +22 -18
  60. package/config/skills/orchestrator/list-schedules/SKILL.md +15 -1
  61. package/config/skills/orchestrator/update-team-member/SKILL.md +20 -0
  62. package/config/skills/team-leader/decompose-goal/execute.sh +51 -20
  63. package/config/skills/team-leader/delegate-task/execute.sh +67 -26
  64. package/config/skills/team-leader/delegate-task/execute.test.sh +117 -0
  65. package/config/skills/team-leader/verify-output/execute.sh +19 -20
  66. package/config/slack-app-manifest.json +2 -1
  67. package/config/sops/common/dev-process-tiers.md +181 -0
  68. package/config/sops/common/owner-facing-communication.md +131 -0
  69. package/config/souls/orchestrator.md +8 -0
  70. package/config/souls/team-leader.md +77 -0
  71. package/dist/backend/backend/src/controllers/active-work/active-work.controller.d.ts.map +1 -1
  72. package/dist/backend/backend/src/controllers/active-work/active-work.controller.js +4 -1
  73. package/dist/backend/backend/src/controllers/active-work/active-work.controller.js.map +1 -1
  74. package/dist/backend/backend/src/controllers/agent-stream/agent-stream.controller.d.ts +8 -1
  75. package/dist/backend/backend/src/controllers/agent-stream/agent-stream.controller.d.ts.map +1 -1
  76. package/dist/backend/backend/src/controllers/agent-stream/agent-stream.controller.js +30 -26
  77. package/dist/backend/backend/src/controllers/agent-stream/agent-stream.controller.js.map +1 -1
  78. package/dist/backend/backend/src/controllers/api.controller.d.ts +0 -9
  79. package/dist/backend/backend/src/controllers/api.controller.d.ts.map +1 -1
  80. package/dist/backend/backend/src/controllers/api.controller.js +4 -32
  81. package/dist/backend/backend/src/controllers/api.controller.js.map +1 -1
  82. package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts.map +1 -1
  83. package/dist/backend/backend/src/controllers/chat/chat.controller.js +5 -2
  84. package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
  85. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.d.ts.map +1 -1
  86. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.js +5 -2
  87. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.js.map +1 -1
  88. package/dist/backend/backend/src/controllers/checklist/checklist.controller.d.ts +45 -0
  89. package/dist/backend/backend/src/controllers/checklist/checklist.controller.d.ts.map +1 -0
  90. package/dist/backend/backend/src/controllers/checklist/checklist.controller.js +122 -0
  91. package/dist/backend/backend/src/controllers/checklist/checklist.controller.js.map +1 -0
  92. package/dist/backend/backend/src/controllers/memory/memory.controller.d.ts +24 -0
  93. package/dist/backend/backend/src/controllers/memory/memory.controller.d.ts.map +1 -1
  94. package/dist/backend/backend/src/controllers/memory/memory.controller.js +69 -1
  95. package/dist/backend/backend/src/controllers/memory/memory.controller.js.map +1 -1
  96. package/dist/backend/backend/src/controllers/memory/memory.routes.d.ts +1 -0
  97. package/dist/backend/backend/src/controllers/memory/memory.routes.d.ts.map +1 -1
  98. package/dist/backend/backend/src/controllers/memory/memory.routes.js +3 -1
  99. package/dist/backend/backend/src/controllers/memory/memory.routes.js.map +1 -1
  100. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts.map +1 -1
  101. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js +80 -5
  102. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js.map +1 -1
  103. package/dist/backend/backend/src/controllers/onboarding/onboarding.routes.d.ts +1 -0
  104. package/dist/backend/backend/src/controllers/onboarding/onboarding.routes.d.ts.map +1 -1
  105. package/dist/backend/backend/src/controllers/onboarding/onboarding.routes.js +30 -0
  106. package/dist/backend/backend/src/controllers/onboarding/onboarding.routes.js.map +1 -1
  107. package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.controller.d.ts +41 -0
  108. package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.controller.d.ts.map +1 -0
  109. package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.controller.js +213 -0
  110. package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.controller.js.map +1 -0
  111. package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.routes.d.ts +21 -0
  112. package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.routes.d.ts.map +1 -0
  113. package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.routes.js +27 -0
  114. package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.routes.js.map +1 -0
  115. package/dist/backend/backend/src/controllers/slack/slack.controller.d.ts.map +1 -1
  116. package/dist/backend/backend/src/controllers/slack/slack.controller.js +97 -0
  117. package/dist/backend/backend/src/controllers/slack/slack.controller.js.map +1 -1
  118. package/dist/backend/backend/src/controllers/task-management/in-progress-tasks.controller.d.ts +13 -3
  119. package/dist/backend/backend/src/controllers/task-management/in-progress-tasks.controller.d.ts.map +1 -1
  120. package/dist/backend/backend/src/controllers/task-management/in-progress-tasks.controller.js +29 -24
  121. package/dist/backend/backend/src/controllers/task-management/in-progress-tasks.controller.js.map +1 -1
  122. package/dist/backend/backend/src/controllers/task-management/tasks.controller.d.ts.map +1 -1
  123. package/dist/backend/backend/src/controllers/task-management/tasks.controller.js +61 -13
  124. package/dist/backend/backend/src/controllers/task-management/tasks.controller.js.map +1 -1
  125. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts +159 -7
  126. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts.map +1 -1
  127. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js +421 -37
  128. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js.map +1 -1
  129. package/dist/backend/backend/src/controllers/task-pool/task-pool.routes.d.ts.map +1 -1
  130. package/dist/backend/backend/src/controllers/task-pool/task-pool.routes.js +15 -1
  131. package/dist/backend/backend/src/controllers/task-pool/task-pool.routes.js.map +1 -1
  132. package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
  133. package/dist/backend/backend/src/controllers/team/team.controller.js +221 -10
  134. package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
  135. package/dist/backend/backend/src/controllers/teams-backup/teams-backup.controller.d.ts +22 -0
  136. package/dist/backend/backend/src/controllers/teams-backup/teams-backup.controller.d.ts.map +1 -1
  137. package/dist/backend/backend/src/controllers/teams-backup/teams-backup.controller.js +92 -0
  138. package/dist/backend/backend/src/controllers/teams-backup/teams-backup.controller.js.map +1 -1
  139. package/dist/backend/backend/src/controllers/teams-backup/teams-backup.routes.d.ts.map +1 -1
  140. package/dist/backend/backend/src/controllers/teams-backup/teams-backup.routes.js +6 -2
  141. package/dist/backend/backend/src/controllers/teams-backup/teams-backup.routes.js.map +1 -1
  142. package/dist/backend/backend/src/controllers/types.d.ts +1 -2
  143. package/dist/backend/backend/src/controllers/types.d.ts.map +1 -1
  144. package/dist/backend/backend/src/index.d.ts +4 -1
  145. package/dist/backend/backend/src/index.d.ts.map +1 -1
  146. package/dist/backend/backend/src/index.js +291 -64
  147. package/dist/backend/backend/src/index.js.map +1 -1
  148. package/dist/backend/backend/src/models/Project.d.ts +2 -0
  149. package/dist/backend/backend/src/models/Project.d.ts.map +1 -1
  150. package/dist/backend/backend/src/models/Project.js +10 -1
  151. package/dist/backend/backend/src/models/Project.js.map +1 -1
  152. package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
  153. package/dist/backend/backend/src/routes/api.routes.js +4 -1
  154. package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
  155. package/dist/backend/backend/src/routes/modules/task-management.routes.d.ts +15 -0
  156. package/dist/backend/backend/src/routes/modules/task-management.routes.d.ts.map +1 -1
  157. package/dist/backend/backend/src/routes/modules/task-management.routes.js +23 -43
  158. package/dist/backend/backend/src/routes/modules/task-management.routes.js.map +1 -1
  159. package/dist/backend/backend/src/scripts/cleanup-stale-pool.lib.d.ts +87 -0
  160. package/dist/backend/backend/src/scripts/cleanup-stale-pool.lib.d.ts.map +1 -0
  161. package/dist/backend/backend/src/scripts/cleanup-stale-pool.lib.js +116 -0
  162. package/dist/backend/backend/src/scripts/cleanup-stale-pool.lib.js.map +1 -0
  163. package/dist/backend/backend/src/services/agent/active-work-briefing.service.d.ts +46 -6
  164. package/dist/backend/backend/src/services/agent/active-work-briefing.service.d.ts.map +1 -1
  165. package/dist/backend/backend/src/services/agent/active-work-briefing.service.js +56 -13
  166. package/dist/backend/backend/src/services/agent/active-work-briefing.service.js.map +1 -1
  167. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +9 -0
  168. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  169. package/dist/backend/backend/src/services/agent/agent-registration.service.js +28 -3
  170. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  171. package/dist/backend/backend/src/services/agent/context-window-monitor.service.d.ts +31 -5
  172. package/dist/backend/backend/src/services/agent/context-window-monitor.service.d.ts.map +1 -1
  173. package/dist/backend/backend/src/services/agent/context-window-monitor.service.js +69 -29
  174. package/dist/backend/backend/src/services/agent/context-window-monitor.service.js.map +1 -1
  175. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts.map +1 -1
  176. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js +113 -75
  177. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js.map +1 -1
  178. package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.d.ts.map +1 -1
  179. package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.js +5 -3
  180. package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.js.map +1 -1
  181. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.d.ts +35 -0
  182. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.d.ts.map +1 -1
  183. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js +127 -3
  184. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js.map +1 -1
  185. package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.d.ts +79 -0
  186. package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.d.ts.map +1 -0
  187. package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.js +145 -0
  188. package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.js.map +1 -0
  189. package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.d.ts +64 -9
  190. package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.d.ts.map +1 -1
  191. package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.js +125 -15
  192. package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.js.map +1 -1
  193. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.d.ts.map +1 -1
  194. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js +101 -33
  195. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js.map +1 -1
  196. package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts +76 -1
  197. package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts.map +1 -1
  198. package/dist/backend/backend/src/services/agent/crewly-agent/types.js +73 -1
  199. package/dist/backend/backend/src/services/agent/crewly-agent/types.js.map +1 -1
  200. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts +5 -5
  201. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts.map +1 -1
  202. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js +22 -8
  203. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js.map +1 -1
  204. package/dist/backend/backend/src/services/ai/prompt-builder.service.d.ts +10 -0
  205. package/dist/backend/backend/src/services/ai/prompt-builder.service.d.ts.map +1 -1
  206. package/dist/backend/backend/src/services/ai/prompt-builder.service.js +160 -4
  207. package/dist/backend/backend/src/services/ai/prompt-builder.service.js.map +1 -1
  208. package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.d.ts +37 -0
  209. package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.d.ts.map +1 -1
  210. package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.js +77 -3
  211. package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.js.map +1 -1
  212. package/dist/backend/backend/src/services/ai/prompt-modules/decision-rights.module.d.ts +59 -0
  213. package/dist/backend/backend/src/services/ai/prompt-modules/decision-rights.module.d.ts.map +1 -0
  214. package/dist/backend/backend/src/services/ai/prompt-modules/decision-rights.module.js +87 -0
  215. package/dist/backend/backend/src/services/ai/prompt-modules/decision-rights.module.js.map +1 -0
  216. package/dist/backend/backend/src/services/ai/prompt-modules/default-execution-loop.module.d.ts +67 -0
  217. package/dist/backend/backend/src/services/ai/prompt-modules/default-execution-loop.module.d.ts.map +1 -0
  218. package/dist/backend/backend/src/services/ai/prompt-modules/default-execution-loop.module.js +84 -0
  219. package/dist/backend/backend/src/services/ai/prompt-modules/default-execution-loop.module.js.map +1 -0
  220. package/dist/backend/backend/src/services/ai/prompt-modules/index.d.ts +4 -0
  221. package/dist/backend/backend/src/services/ai/prompt-modules/index.d.ts.map +1 -1
  222. package/dist/backend/backend/src/services/ai/prompt-modules/index.js +4 -0
  223. package/dist/backend/backend/src/services/ai/prompt-modules/index.js.map +1 -1
  224. package/dist/backend/backend/src/services/ai/prompt-modules/lazy-anti-patterns.module.d.ts +65 -0
  225. package/dist/backend/backend/src/services/ai/prompt-modules/lazy-anti-patterns.module.d.ts.map +1 -0
  226. package/dist/backend/backend/src/services/ai/prompt-modules/lazy-anti-patterns.module.js +79 -0
  227. package/dist/backend/backend/src/services/ai/prompt-modules/lazy-anti-patterns.module.js.map +1 -0
  228. package/dist/backend/backend/src/services/ai/prompt-modules/mission-context.module.d.ts +60 -0
  229. package/dist/backend/backend/src/services/ai/prompt-modules/mission-context.module.d.ts.map +1 -0
  230. package/dist/backend/backend/src/services/ai/prompt-modules/mission-context.module.js +104 -0
  231. package/dist/backend/backend/src/services/ai/prompt-modules/mission-context.module.js.map +1 -0
  232. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.d.ts.map +1 -1
  233. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.js +45 -0
  234. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.js.map +1 -1
  235. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts +16 -0
  236. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts.map +1 -1
  237. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.js.map +1 -1
  238. package/dist/backend/backend/src/services/ai/prompt-modules/request-contract.module.d.ts +106 -0
  239. package/dist/backend/backend/src/services/ai/prompt-modules/request-contract.module.d.ts.map +1 -0
  240. package/dist/backend/backend/src/services/ai/prompt-modules/request-contract.module.js +167 -0
  241. package/dist/backend/backend/src/services/ai/prompt-modules/request-contract.module.js.map +1 -0
  242. package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.d.ts.map +1 -1
  243. package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.js +28 -0
  244. package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.js.map +1 -1
  245. package/dist/backend/backend/src/services/ai/prompt-modules/soul.module.d.ts +38 -6
  246. package/dist/backend/backend/src/services/ai/prompt-modules/soul.module.d.ts.map +1 -1
  247. package/dist/backend/backend/src/services/ai/prompt-modules/soul.module.js +73 -10
  248. package/dist/backend/backend/src/services/ai/prompt-modules/soul.module.js.map +1 -1
  249. package/dist/backend/backend/src/services/ai/prompt-modules/working-memory.module.d.ts +91 -0
  250. package/dist/backend/backend/src/services/ai/prompt-modules/working-memory.module.d.ts.map +1 -0
  251. package/dist/backend/backend/src/services/ai/prompt-modules/working-memory.module.js +136 -0
  252. package/dist/backend/backend/src/services/ai/prompt-modules/working-memory.module.js.map +1 -0
  253. package/dist/backend/backend/src/services/autonomous/index.d.ts +7 -3
  254. package/dist/backend/backend/src/services/autonomous/index.d.ts.map +1 -1
  255. package/dist/backend/backend/src/services/autonomous/index.js +7 -3
  256. package/dist/backend/backend/src/services/autonomous/index.js.map +1 -1
  257. package/dist/backend/backend/src/services/browser/browser-bridge.service.d.ts.map +1 -1
  258. package/dist/backend/backend/src/services/browser/browser-bridge.service.js +16 -22
  259. package/dist/backend/backend/src/services/browser/browser-bridge.service.js.map +1 -1
  260. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts +13 -0
  261. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
  262. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js +15 -0
  263. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
  264. package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.d.ts +11 -0
  265. package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.d.ts.map +1 -1
  266. package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.js +51 -19
  267. package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.js.map +1 -1
  268. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts +18 -0
  269. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts.map +1 -1
  270. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js +23 -0
  271. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js.map +1 -1
  272. package/dist/backend/backend/src/services/core/config.service.d.ts.map +1 -1
  273. package/dist/backend/backend/src/services/core/config.service.js +8 -1
  274. package/dist/backend/backend/src/services/core/config.service.js.map +1 -1
  275. package/dist/backend/backend/src/services/core/crewly-home.utils.d.ts +51 -0
  276. package/dist/backend/backend/src/services/core/crewly-home.utils.d.ts.map +1 -0
  277. package/dist/backend/backend/src/services/core/crewly-home.utils.js +59 -0
  278. package/dist/backend/backend/src/services/core/crewly-home.utils.js.map +1 -0
  279. package/dist/backend/backend/src/services/core/state-invariant.types.d.ts +53 -0
  280. package/dist/backend/backend/src/services/core/state-invariant.types.d.ts.map +1 -0
  281. package/dist/backend/backend/src/services/core/state-invariant.types.js +61 -0
  282. package/dist/backend/backend/src/services/core/state-invariant.types.js.map +1 -0
  283. package/dist/backend/backend/src/services/core/storage.service.d.ts +20 -0
  284. package/dist/backend/backend/src/services/core/storage.service.d.ts.map +1 -1
  285. package/dist/backend/backend/src/services/core/storage.service.js +96 -8
  286. package/dist/backend/backend/src/services/core/storage.service.js.map +1 -1
  287. package/dist/backend/backend/src/services/core/teams-backup.service.d.ts +94 -4
  288. package/dist/backend/backend/src/services/core/teams-backup.service.d.ts.map +1 -1
  289. package/dist/backend/backend/src/services/core/teams-backup.service.js +172 -10
  290. package/dist/backend/backend/src/services/core/teams-backup.service.js.map +1 -1
  291. package/dist/backend/backend/src/services/index.d.ts +0 -2
  292. package/dist/backend/backend/src/services/index.d.ts.map +1 -1
  293. package/dist/backend/backend/src/services/index.js +0 -2
  294. package/dist/backend/backend/src/services/index.js.map +1 -1
  295. package/dist/backend/backend/src/services/intent-task/intent-classifier.fixture.d.ts +78 -0
  296. package/dist/backend/backend/src/services/intent-task/intent-classifier.fixture.d.ts.map +1 -0
  297. package/dist/backend/backend/src/services/intent-task/intent-classifier.fixture.js +209 -0
  298. package/dist/backend/backend/src/services/intent-task/intent-classifier.fixture.js.map +1 -0
  299. package/dist/backend/backend/src/services/intent-task/intent-classifier.rules.d.ts +331 -0
  300. package/dist/backend/backend/src/services/intent-task/intent-classifier.rules.d.ts.map +1 -0
  301. package/dist/backend/backend/src/services/intent-task/intent-classifier.rules.js +413 -0
  302. package/dist/backend/backend/src/services/intent-task/intent-classifier.rules.js.map +1 -0
  303. package/dist/backend/backend/src/services/intent-task/intent-task.service.d.ts.map +1 -1
  304. package/dist/backend/backend/src/services/intent-task/intent-task.service.js +13 -4
  305. package/dist/backend/backend/src/services/intent-task/intent-task.service.js.map +1 -1
  306. package/dist/backend/backend/src/services/knowledge/fts5-index.service.d.ts.map +1 -1
  307. package/dist/backend/backend/src/services/knowledge/fts5-index.service.js +18 -13
  308. package/dist/backend/backend/src/services/knowledge/fts5-index.service.js.map +1 -1
  309. package/dist/backend/backend/src/services/knowledge/fts5-query-sanitizer.d.ts +102 -0
  310. package/dist/backend/backend/src/services/knowledge/fts5-query-sanitizer.d.ts.map +1 -0
  311. package/dist/backend/backend/src/services/knowledge/fts5-query-sanitizer.js +118 -0
  312. package/dist/backend/backend/src/services/knowledge/fts5-query-sanitizer.js.map +1 -0
  313. package/dist/backend/backend/src/services/knowledge/vector-store.service.d.ts.map +1 -1
  314. package/dist/backend/backend/src/services/knowledge/vector-store.service.js +11 -15
  315. package/dist/backend/backend/src/services/knowledge/vector-store.service.js.map +1 -1
  316. package/dist/backend/backend/src/services/memory/agent-memory.service.d.ts +20 -0
  317. package/dist/backend/backend/src/services/memory/agent-memory.service.d.ts.map +1 -1
  318. package/dist/backend/backend/src/services/memory/agent-memory.service.js +27 -2
  319. package/dist/backend/backend/src/services/memory/agent-memory.service.js.map +1 -1
  320. package/dist/backend/backend/src/services/memory/memory-supersession.service.d.ts +104 -0
  321. package/dist/backend/backend/src/services/memory/memory-supersession.service.d.ts.map +1 -0
  322. package/dist/backend/backend/src/services/memory/memory-supersession.service.js +127 -0
  323. package/dist/backend/backend/src/services/memory/memory-supersession.service.js.map +1 -0
  324. package/dist/backend/backend/src/services/memory/memory.service.d.ts +48 -17
  325. package/dist/backend/backend/src/services/memory/memory.service.d.ts.map +1 -1
  326. package/dist/backend/backend/src/services/memory/memory.service.js +65 -35
  327. package/dist/backend/backend/src/services/memory/memory.service.js.map +1 -1
  328. package/dist/backend/backend/src/services/memory/mission-context.service.d.ts +168 -0
  329. package/dist/backend/backend/src/services/memory/mission-context.service.d.ts.map +1 -0
  330. package/dist/backend/backend/src/services/memory/mission-context.service.js +365 -0
  331. package/dist/backend/backend/src/services/memory/mission-context.service.js.map +1 -0
  332. package/dist/backend/backend/src/services/memory/role-knowledge-eligibility.d.ts +138 -0
  333. package/dist/backend/backend/src/services/memory/role-knowledge-eligibility.d.ts.map +1 -0
  334. package/dist/backend/backend/src/services/memory/role-knowledge-eligibility.js +183 -0
  335. package/dist/backend/backend/src/services/memory/role-knowledge-eligibility.js.map +1 -0
  336. package/dist/backend/backend/src/services/memory/vector-store.service.d.ts.map +1 -1
  337. package/dist/backend/backend/src/services/memory/vector-store.service.js +7 -11
  338. package/dist/backend/backend/src/services/memory/vector-store.service.js.map +1 -1
  339. package/dist/backend/backend/src/services/memory/working-memory.service.d.ts +232 -0
  340. package/dist/backend/backend/src/services/memory/working-memory.service.d.ts.map +1 -0
  341. package/dist/backend/backend/src/services/memory/working-memory.service.js +417 -0
  342. package/dist/backend/backend/src/services/memory/working-memory.service.js.map +1 -0
  343. package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts.map +1 -1
  344. package/dist/backend/backend/src/services/messaging/queue-processor.service.js +23 -2
  345. package/dist/backend/backend/src/services/messaging/queue-processor.service.js.map +1 -1
  346. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js +2 -2
  347. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js.map +1 -1
  348. package/dist/backend/backend/src/services/monitoring/team-activity-websocket.service.d.ts +27 -7
  349. package/dist/backend/backend/src/services/monitoring/team-activity-websocket.service.d.ts.map +1 -1
  350. package/dist/backend/backend/src/services/monitoring/team-activity-websocket.service.js +66 -27
  351. package/dist/backend/backend/src/services/monitoring/team-activity-websocket.service.js.map +1 -1
  352. package/dist/backend/backend/src/services/monitoring/teams-json-watcher.service.d.ts.map +1 -1
  353. package/dist/backend/backend/src/services/monitoring/teams-json-watcher.service.js +2 -2
  354. package/dist/backend/backend/src/services/monitoring/teams-json-watcher.service.js.map +1 -1
  355. package/dist/backend/backend/src/services/observability/agent-behavior-log.service.d.ts +132 -0
  356. package/dist/backend/backend/src/services/observability/agent-behavior-log.service.d.ts.map +1 -0
  357. package/dist/backend/backend/src/services/observability/agent-behavior-log.service.js +284 -0
  358. package/dist/backend/backend/src/services/observability/agent-behavior-log.service.js.map +1 -0
  359. package/dist/backend/backend/src/services/observability/agent-behavior-log.singleton.d.ts +70 -0
  360. package/dist/backend/backend/src/services/observability/agent-behavior-log.singleton.d.ts.map +1 -0
  361. package/dist/backend/backend/src/services/observability/agent-behavior-log.singleton.js +121 -0
  362. package/dist/backend/backend/src/services/observability/agent-behavior-log.singleton.js.map +1 -0
  363. package/dist/backend/backend/src/services/observability/agent-behavior-log.types.d.ts +130 -0
  364. package/dist/backend/backend/src/services/observability/agent-behavior-log.types.d.ts.map +1 -0
  365. package/dist/backend/backend/src/services/observability/agent-behavior-log.types.js +48 -0
  366. package/dist/backend/backend/src/services/observability/agent-behavior-log.types.js.map +1 -0
  367. package/dist/backend/backend/src/services/observability/observability-db.d.ts +84 -0
  368. package/dist/backend/backend/src/services/observability/observability-db.d.ts.map +1 -0
  369. package/dist/backend/backend/src/services/observability/observability-db.js +165 -0
  370. package/dist/backend/backend/src/services/observability/observability-db.js.map +1 -0
  371. package/dist/backend/backend/src/services/onboarding/onboarding.service.d.ts +22 -0
  372. package/dist/backend/backend/src/services/onboarding/onboarding.service.d.ts.map +1 -1
  373. package/dist/backend/backend/src/services/onboarding/onboarding.service.js +36 -0
  374. package/dist/backend/backend/src/services/onboarding/onboarding.service.js.map +1 -1
  375. package/dist/backend/backend/src/services/onboarding/onboarding.types.d.ts +21 -2
  376. package/dist/backend/backend/src/services/onboarding/onboarding.types.d.ts.map +1 -1
  377. package/dist/backend/backend/src/services/orchestrator/improvement-marker.service.d.ts.map +1 -1
  378. package/dist/backend/backend/src/services/orchestrator/improvement-marker.service.js +12 -3
  379. package/dist/backend/backend/src/services/orchestrator/improvement-marker.service.js.map +1 -1
  380. package/dist/backend/backend/src/services/orchestrator/onboarding/materialize-team.d.ts +108 -0
  381. package/dist/backend/backend/src/services/orchestrator/onboarding/materialize-team.d.ts.map +1 -0
  382. package/dist/backend/backend/src/services/orchestrator/onboarding/materialize-team.js +165 -0
  383. package/dist/backend/backend/src/services/orchestrator/onboarding/materialize-team.js.map +1 -0
  384. package/dist/backend/backend/src/services/orchestrator/onboarding/recommend-team.d.ts +114 -0
  385. package/dist/backend/backend/src/services/orchestrator/onboarding/recommend-team.d.ts.map +1 -0
  386. package/dist/backend/backend/src/services/orchestrator/onboarding/recommend-team.js +299 -0
  387. package/dist/backend/backend/src/services/orchestrator/onboarding/recommend-team.js.map +1 -0
  388. package/dist/backend/backend/src/services/orchestrator/onboarding-bootstrap.service.d.ts +128 -0
  389. package/dist/backend/backend/src/services/orchestrator/onboarding-bootstrap.service.d.ts.map +1 -0
  390. package/dist/backend/backend/src/services/orchestrator/onboarding-bootstrap.service.js +195 -0
  391. package/dist/backend/backend/src/services/orchestrator/onboarding-bootstrap.service.js.map +1 -0
  392. package/dist/backend/backend/src/services/orchestrator/onboarding-mode-loader.d.ts +66 -0
  393. package/dist/backend/backend/src/services/orchestrator/onboarding-mode-loader.d.ts.map +1 -0
  394. package/dist/backend/backend/src/services/orchestrator/onboarding-mode-loader.js +145 -0
  395. package/dist/backend/backend/src/services/orchestrator/onboarding-mode-loader.js.map +1 -0
  396. package/dist/backend/backend/src/services/orchestrator/onboarding-mode.skill-allowlist.d.ts +59 -0
  397. package/dist/backend/backend/src/services/orchestrator/onboarding-mode.skill-allowlist.d.ts.map +1 -0
  398. package/dist/backend/backend/src/services/orchestrator/onboarding-mode.skill-allowlist.js +68 -0
  399. package/dist/backend/backend/src/services/orchestrator/onboarding-mode.skill-allowlist.js.map +1 -0
  400. package/dist/backend/backend/src/services/orchestrator/prompts/onboarding-mode.prompt.d.ts +67 -0
  401. package/dist/backend/backend/src/services/orchestrator/prompts/onboarding-mode.prompt.d.ts.map +1 -0
  402. package/dist/backend/backend/src/services/orchestrator/prompts/onboarding-mode.prompt.js +290 -0
  403. package/dist/backend/backend/src/services/orchestrator/prompts/onboarding-mode.prompt.js.map +1 -0
  404. package/dist/backend/backend/src/services/orchestrator/state-persistence.service.d.ts +23 -1
  405. package/dist/backend/backend/src/services/orchestrator/state-persistence.service.d.ts.map +1 -1
  406. package/dist/backend/backend/src/services/orchestrator/state-persistence.service.js +64 -1
  407. package/dist/backend/backend/src/services/orchestrator/state-persistence.service.js.map +1 -1
  408. package/dist/backend/backend/src/services/project/active-projects.service.d.ts.map +1 -1
  409. package/dist/backend/backend/src/services/project/active-projects.service.js +2 -2
  410. package/dist/backend/backend/src/services/project/active-projects.service.js.map +1 -1
  411. package/dist/backend/backend/src/services/project/task-tracking.service.d.ts.map +1 -1
  412. package/dist/backend/backend/src/services/project/task-tracking.service.js +2 -2
  413. package/dist/backend/backend/src/services/project/task-tracking.service.js.map +1 -1
  414. package/dist/backend/backend/src/services/prompt/prompt-generator.service.d.ts.map +1 -1
  415. package/dist/backend/backend/src/services/prompt/prompt-generator.service.js +2 -2
  416. package/dist/backend/backend/src/services/prompt/prompt-generator.service.js.map +1 -1
  417. package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts +51 -5
  418. package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts.map +1 -1
  419. package/dist/backend/backend/src/services/reconciler/reconcile-rules.js +162 -15
  420. package/dist/backend/backend/src/services/reconciler/reconcile-rules.js.map +1 -1
  421. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts +15 -2
  422. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts.map +1 -1
  423. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js +153 -11
  424. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js.map +1 -1
  425. package/dist/backend/backend/src/services/session/session-handoff.service.d.ts +31 -18
  426. package/dist/backend/backend/src/services/session/session-handoff.service.d.ts.map +1 -1
  427. package/dist/backend/backend/src/services/session/session-handoff.service.js +73 -80
  428. package/dist/backend/backend/src/services/session/session-handoff.service.js.map +1 -1
  429. package/dist/backend/backend/src/services/session/session-state-persistence.d.ts.map +1 -1
  430. package/dist/backend/backend/src/services/session/session-state-persistence.js +15 -4
  431. package/dist/backend/backend/src/services/session/session-state-persistence.js.map +1 -1
  432. package/dist/backend/backend/src/services/settings/settings.service.d.ts.map +1 -1
  433. package/dist/backend/backend/src/services/settings/settings.service.js +25 -0
  434. package/dist/backend/backend/src/services/settings/settings.service.js.map +1 -1
  435. package/dist/backend/backend/src/services/skill/skill-catalog.service.d.ts +14 -3
  436. package/dist/backend/backend/src/services/skill/skill-catalog.service.d.ts.map +1 -1
  437. package/dist/backend/backend/src/services/skill/skill-catalog.service.js +28 -3
  438. package/dist/backend/backend/src/services/skill/skill-catalog.service.js.map +1 -1
  439. package/dist/backend/backend/src/services/slack/cross-machine-message.service.d.ts.map +1 -1
  440. package/dist/backend/backend/src/services/slack/cross-machine-message.service.js +13 -18
  441. package/dist/backend/backend/src/services/slack/cross-machine-message.service.js.map +1 -1
  442. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts +45 -0
  443. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
  444. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js +202 -19
  445. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
  446. package/dist/backend/backend/src/services/slack/slack.service.d.ts.map +1 -1
  447. package/dist/backend/backend/src/services/slack/slack.service.js +21 -0
  448. package/dist/backend/backend/src/services/slack/slack.service.js.map +1 -1
  449. package/dist/backend/backend/src/services/task-pool/pool-storage.d.ts +15 -1
  450. package/dist/backend/backend/src/services/task-pool/pool-storage.d.ts.map +1 -1
  451. package/dist/backend/backend/src/services/task-pool/pool-storage.js +31 -8
  452. package/dist/backend/backend/src/services/task-pool/pool-storage.js.map +1 -1
  453. package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts +183 -0
  454. package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
  455. package/dist/backend/backend/src/services/task-pool/task-pool.service.js +404 -8
  456. package/dist/backend/backend/src/services/task-pool/task-pool.service.js.map +1 -1
  457. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.d.ts +14 -1
  458. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.d.ts.map +1 -1
  459. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.js +128 -17
  460. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.js.map +1 -1
  461. package/dist/backend/backend/src/services/v3/cascade-request-status.d.ts +95 -0
  462. package/dist/backend/backend/src/services/v3/cascade-request-status.d.ts.map +1 -0
  463. package/dist/backend/backend/src/services/v3/cascade-request-status.js +147 -0
  464. package/dist/backend/backend/src/services/v3/cascade-request-status.js.map +1 -0
  465. package/dist/backend/backend/src/services/v3/escalation-router.service.d.ts.map +1 -1
  466. package/dist/backend/backend/src/services/v3/escalation-router.service.js +42 -0
  467. package/dist/backend/backend/src/services/v3/escalation-router.service.js.map +1 -1
  468. package/dist/backend/backend/src/services/v3/mission-executor.service.d.ts.map +1 -1
  469. package/dist/backend/backend/src/services/v3/mission-executor.service.js +16 -4
  470. package/dist/backend/backend/src/services/v3/mission-executor.service.js.map +1 -1
  471. package/dist/backend/backend/src/services/v3/request-cascade.subscriber.d.ts +87 -0
  472. package/dist/backend/backend/src/services/v3/request-cascade.subscriber.d.ts.map +1 -0
  473. package/dist/backend/backend/src/services/v3/request-cascade.subscriber.js +152 -0
  474. package/dist/backend/backend/src/services/v3/request-cascade.subscriber.js.map +1 -0
  475. package/dist/backend/backend/src/services/v3/request-decompose.subscriber.d.ts +253 -0
  476. package/dist/backend/backend/src/services/v3/request-decompose.subscriber.d.ts.map +1 -0
  477. package/dist/backend/backend/src/services/v3/request-decompose.subscriber.js +476 -0
  478. package/dist/backend/backend/src/services/v3/request-decompose.subscriber.js.map +1 -0
  479. package/dist/backend/backend/src/services/v3/request-sla.subscriber.d.ts +55 -0
  480. package/dist/backend/backend/src/services/v3/request-sla.subscriber.d.ts.map +1 -1
  481. package/dist/backend/backend/src/services/v3/request-sla.subscriber.js +257 -20
  482. package/dist/backend/backend/src/services/v3/request-sla.subscriber.js.map +1 -1
  483. package/dist/backend/backend/src/services/v3/request-status-update.subscriber.d.ts +204 -0
  484. package/dist/backend/backend/src/services/v3/request-status-update.subscriber.d.ts.map +1 -0
  485. package/dist/backend/backend/src/services/v3/request-status-update.subscriber.js +575 -0
  486. package/dist/backend/backend/src/services/v3/request-status-update.subscriber.js.map +1 -0
  487. package/dist/backend/backend/src/services/v3/request.service.d.ts +107 -0
  488. package/dist/backend/backend/src/services/v3/request.service.d.ts.map +1 -1
  489. package/dist/backend/backend/src/services/v3/request.service.js +155 -2
  490. package/dist/backend/backend/src/services/v3/request.service.js.map +1 -1
  491. package/dist/backend/backend/src/services/v3/trigger-engine.service.d.ts +69 -1
  492. package/dist/backend/backend/src/services/v3/trigger-engine.service.d.ts.map +1 -1
  493. package/dist/backend/backend/src/services/v3/trigger-engine.service.js +157 -4
  494. package/dist/backend/backend/src/services/v3/trigger-engine.service.js.map +1 -1
  495. package/dist/backend/backend/src/services/v3/v3-data.service.d.ts +50 -26
  496. package/dist/backend/backend/src/services/v3/v3-data.service.d.ts.map +1 -1
  497. package/dist/backend/backend/src/services/v3/v3-data.service.js +126 -161
  498. package/dist/backend/backend/src/services/v3/v3-data.service.js.map +1 -1
  499. package/dist/backend/backend/src/services/v3/work-item-projection.d.ts +40 -0
  500. package/dist/backend/backend/src/services/v3/work-item-projection.d.ts.map +1 -0
  501. package/dist/backend/backend/src/services/v3/work-item-projection.js +115 -0
  502. package/dist/backend/backend/src/services/v3/work-item-projection.js.map +1 -0
  503. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts +121 -0
  504. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts.map +1 -0
  505. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js +268 -0
  506. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js.map +1 -0
  507. package/dist/backend/backend/src/services/whatsapp/whatsapp.service.d.ts.map +1 -1
  508. package/dist/backend/backend/src/services/whatsapp/whatsapp.service.js +11 -2
  509. package/dist/backend/backend/src/services/whatsapp/whatsapp.service.js.map +1 -1
  510. package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts.map +1 -1
  511. package/dist/backend/backend/src/services/workflow/scheduler.service.js +68 -14
  512. package/dist/backend/backend/src/services/workflow/scheduler.service.js.map +1 -1
  513. package/dist/backend/backend/src/types/event-bus.types.d.ts +1 -1
  514. package/dist/backend/backend/src/types/event-bus.types.d.ts.map +1 -1
  515. package/dist/backend/backend/src/types/event-bus.types.js +12 -0
  516. package/dist/backend/backend/src/types/event-bus.types.js.map +1 -1
  517. package/dist/backend/backend/src/types/index.d.ts +11 -1
  518. package/dist/backend/backend/src/types/index.d.ts.map +1 -1
  519. package/dist/backend/backend/src/types/index.js +0 -2
  520. package/dist/backend/backend/src/types/index.js.map +1 -1
  521. package/dist/backend/backend/src/types/intent-task.types.d.ts +22 -3
  522. package/dist/backend/backend/src/types/intent-task.types.d.ts.map +1 -1
  523. package/dist/backend/backend/src/types/intent-task.types.js +201 -40
  524. package/dist/backend/backend/src/types/intent-task.types.js.map +1 -1
  525. package/dist/backend/backend/src/types/memory.types.d.ts +53 -0
  526. package/dist/backend/backend/src/types/memory.types.d.ts.map +1 -1
  527. package/dist/backend/backend/src/types/memory.types.js.map +1 -1
  528. package/dist/backend/backend/src/types/orchestrator-state.types.d.ts +49 -0
  529. package/dist/backend/backend/src/types/orchestrator-state.types.d.ts.map +1 -1
  530. package/dist/backend/backend/src/types/orchestrator-state.types.js +27 -0
  531. package/dist/backend/backend/src/types/orchestrator-state.types.js.map +1 -1
  532. package/dist/backend/backend/src/types/settings.types.d.ts +38 -2
  533. package/dist/backend/backend/src/types/settings.types.d.ts.map +1 -1
  534. package/dist/backend/backend/src/types/settings.types.js +16 -2
  535. package/dist/backend/backend/src/types/settings.types.js.map +1 -1
  536. package/dist/backend/backend/src/types/v2/request.types.d.ts +5 -1
  537. package/dist/backend/backend/src/types/v2/request.types.d.ts.map +1 -1
  538. package/dist/backend/backend/src/types/v2/request.types.js +2 -2
  539. package/dist/backend/backend/src/types/v2/request.types.js.map +1 -1
  540. package/dist/backend/backend/src/types/v2/work-item.types.d.ts +40 -1
  541. package/dist/backend/backend/src/types/v2/work-item.types.d.ts.map +1 -1
  542. package/dist/backend/backend/src/types/v2/work-item.types.js +20 -0
  543. package/dist/backend/backend/src/types/v2/work-item.types.js.map +1 -1
  544. package/dist/backend/backend/src/utils/esm-require.utils.d.ts +111 -0
  545. package/dist/backend/backend/src/utils/esm-require.utils.d.ts.map +1 -0
  546. package/dist/backend/backend/src/utils/esm-require.utils.js +124 -0
  547. package/dist/backend/backend/src/utils/esm-require.utils.js.map +1 -0
  548. package/dist/backend/backend/src/utils/integrity-guarded-write.utils.d.ts +119 -0
  549. package/dist/backend/backend/src/utils/integrity-guarded-write.utils.d.ts.map +1 -0
  550. package/dist/backend/backend/src/utils/integrity-guarded-write.utils.js +212 -0
  551. package/dist/backend/backend/src/utils/integrity-guarded-write.utils.js.map +1 -0
  552. package/dist/backend/backend/src/utils/native-binding.utils.d.ts +128 -0
  553. package/dist/backend/backend/src/utils/native-binding.utils.d.ts.map +1 -0
  554. package/dist/backend/backend/src/utils/native-binding.utils.js +206 -0
  555. package/dist/backend/backend/src/utils/native-binding.utils.js.map +1 -0
  556. package/dist/backend/backend/src/utils/node-require.utils.d.ts +104 -0
  557. package/dist/backend/backend/src/utils/node-require.utils.d.ts.map +1 -0
  558. package/dist/backend/backend/src/utils/node-require.utils.js +111 -0
  559. package/dist/backend/backend/src/utils/node-require.utils.js.map +1 -0
  560. package/dist/cli/backend/src/models/Project.d.ts +2 -0
  561. package/dist/cli/backend/src/models/Project.d.ts.map +1 -1
  562. package/dist/cli/backend/src/models/Project.js +10 -1
  563. package/dist/cli/backend/src/models/Project.js.map +1 -1
  564. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts +16 -0
  565. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts.map +1 -1
  566. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.js.map +1 -1
  567. package/dist/cli/backend/src/services/core/config.service.d.ts.map +1 -1
  568. package/dist/cli/backend/src/services/core/config.service.js +8 -1
  569. package/dist/cli/backend/src/services/core/config.service.js.map +1 -1
  570. package/dist/cli/backend/src/services/core/crewly-home.utils.d.ts +51 -0
  571. package/dist/cli/backend/src/services/core/crewly-home.utils.d.ts.map +1 -0
  572. package/dist/cli/backend/src/services/core/crewly-home.utils.js +59 -0
  573. package/dist/cli/backend/src/services/core/crewly-home.utils.js.map +1 -0
  574. package/dist/cli/backend/src/services/core/state-invariant.types.d.ts +53 -0
  575. package/dist/cli/backend/src/services/core/state-invariant.types.d.ts.map +1 -0
  576. package/dist/cli/backend/src/services/core/state-invariant.types.js +61 -0
  577. package/dist/cli/backend/src/services/core/state-invariant.types.js.map +1 -0
  578. package/dist/cli/backend/src/services/core/storage.service.d.ts +20 -0
  579. package/dist/cli/backend/src/services/core/storage.service.d.ts.map +1 -1
  580. package/dist/cli/backend/src/services/core/storage.service.js +96 -8
  581. package/dist/cli/backend/src/services/core/storage.service.js.map +1 -1
  582. package/dist/cli/backend/src/services/core/teams-backup.service.d.ts +94 -4
  583. package/dist/cli/backend/src/services/core/teams-backup.service.d.ts.map +1 -1
  584. package/dist/cli/backend/src/services/core/teams-backup.service.js +172 -10
  585. package/dist/cli/backend/src/services/core/teams-backup.service.js.map +1 -1
  586. package/dist/cli/backend/src/services/event-bus/event-bus.service.d.ts +245 -0
  587. package/dist/cli/backend/src/services/event-bus/event-bus.service.d.ts.map +1 -0
  588. package/dist/cli/backend/src/services/event-bus/event-bus.service.js +639 -0
  589. package/dist/cli/backend/src/services/event-bus/event-bus.service.js.map +1 -0
  590. package/dist/cli/backend/src/services/knowledge/fts5-index.service.d.ts.map +1 -1
  591. package/dist/cli/backend/src/services/knowledge/fts5-index.service.js +18 -13
  592. package/dist/cli/backend/src/services/knowledge/fts5-index.service.js.map +1 -1
  593. package/dist/cli/backend/src/services/knowledge/fts5-query-sanitizer.d.ts +102 -0
  594. package/dist/cli/backend/src/services/knowledge/fts5-query-sanitizer.d.ts.map +1 -0
  595. package/dist/cli/backend/src/services/knowledge/fts5-query-sanitizer.js +118 -0
  596. package/dist/cli/backend/src/services/knowledge/fts5-query-sanitizer.js.map +1 -0
  597. package/dist/cli/backend/src/services/knowledge/vector-store.service.d.ts.map +1 -1
  598. package/dist/cli/backend/src/services/knowledge/vector-store.service.js +11 -15
  599. package/dist/cli/backend/src/services/knowledge/vector-store.service.js.map +1 -1
  600. package/dist/cli/backend/src/services/memory/agent-memory.service.d.ts +20 -0
  601. package/dist/cli/backend/src/services/memory/agent-memory.service.d.ts.map +1 -1
  602. package/dist/cli/backend/src/services/memory/agent-memory.service.js +27 -2
  603. package/dist/cli/backend/src/services/memory/agent-memory.service.js.map +1 -1
  604. package/dist/cli/backend/src/services/memory/memory.service.d.ts +48 -17
  605. package/dist/cli/backend/src/services/memory/memory.service.d.ts.map +1 -1
  606. package/dist/cli/backend/src/services/memory/memory.service.js +65 -35
  607. package/dist/cli/backend/src/services/memory/memory.service.js.map +1 -1
  608. package/dist/cli/backend/src/services/memory/role-knowledge-eligibility.d.ts +138 -0
  609. package/dist/cli/backend/src/services/memory/role-knowledge-eligibility.d.ts.map +1 -0
  610. package/dist/cli/backend/src/services/memory/role-knowledge-eligibility.js +183 -0
  611. package/dist/cli/backend/src/services/memory/role-knowledge-eligibility.js.map +1 -0
  612. package/dist/cli/backend/src/services/messaging/message-queue.service.d.ts +236 -0
  613. package/dist/cli/backend/src/services/messaging/message-queue.service.d.ts.map +1 -0
  614. package/dist/cli/backend/src/services/messaging/message-queue.service.js +581 -0
  615. package/dist/cli/backend/src/services/messaging/message-queue.service.js.map +1 -0
  616. package/dist/cli/backend/src/services/project/task-tracking.service.d.ts.map +1 -1
  617. package/dist/cli/backend/src/services/project/task-tracking.service.js +2 -2
  618. package/dist/cli/backend/src/services/project/task-tracking.service.js.map +1 -1
  619. package/dist/cli/backend/src/services/settings/settings.service.d.ts.map +1 -1
  620. package/dist/cli/backend/src/services/settings/settings.service.js +25 -0
  621. package/dist/cli/backend/src/services/settings/settings.service.js.map +1 -1
  622. package/dist/cli/backend/src/services/slack/slack-thread-store.service.d.ts +147 -0
  623. package/dist/cli/backend/src/services/slack/slack-thread-store.service.d.ts.map +1 -0
  624. package/dist/cli/backend/src/services/slack/slack-thread-store.service.js +258 -0
  625. package/dist/cli/backend/src/services/slack/slack-thread-store.service.js.map +1 -0
  626. package/dist/cli/backend/src/services/task-pool/pool-storage.d.ts +15 -1
  627. package/dist/cli/backend/src/services/task-pool/pool-storage.d.ts.map +1 -1
  628. package/dist/cli/backend/src/services/task-pool/pool-storage.js +31 -8
  629. package/dist/cli/backend/src/services/task-pool/pool-storage.js.map +1 -1
  630. package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts +459 -9
  631. package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
  632. package/dist/cli/backend/src/services/task-pool/task-pool.service.js +1050 -126
  633. package/dist/cli/backend/src/services/task-pool/task-pool.service.js.map +1 -1
  634. package/dist/cli/backend/src/services/v3/work-item-projection.d.ts +40 -0
  635. package/dist/cli/backend/src/services/v3/work-item-projection.d.ts.map +1 -0
  636. package/dist/cli/backend/src/services/v3/work-item-projection.js +115 -0
  637. package/dist/cli/backend/src/services/v3/work-item-projection.js.map +1 -0
  638. package/dist/cli/backend/src/types/event-bus.types.d.ts +173 -0
  639. package/dist/cli/backend/src/types/event-bus.types.d.ts.map +1 -0
  640. package/dist/cli/backend/src/types/event-bus.types.js +218 -0
  641. package/dist/cli/backend/src/types/event-bus.types.js.map +1 -0
  642. package/dist/cli/backend/src/types/index.d.ts +11 -1
  643. package/dist/cli/backend/src/types/index.d.ts.map +1 -1
  644. package/dist/cli/backend/src/types/index.js +0 -2
  645. package/dist/cli/backend/src/types/index.js.map +1 -1
  646. package/dist/cli/backend/src/types/memory.types.d.ts +53 -0
  647. package/dist/cli/backend/src/types/memory.types.d.ts.map +1 -1
  648. package/dist/cli/backend/src/types/memory.types.js.map +1 -1
  649. package/dist/cli/backend/src/types/messaging.types.d.ts +223 -0
  650. package/dist/cli/backend/src/types/messaging.types.d.ts.map +1 -0
  651. package/dist/cli/backend/src/types/messaging.types.js +231 -0
  652. package/dist/cli/backend/src/types/messaging.types.js.map +1 -0
  653. package/dist/cli/backend/src/types/settings.types.d.ts +38 -2
  654. package/dist/cli/backend/src/types/settings.types.d.ts.map +1 -1
  655. package/dist/cli/backend/src/types/settings.types.js +16 -2
  656. package/dist/cli/backend/src/types/settings.types.js.map +1 -1
  657. package/dist/cli/backend/src/types/slack.types.d.ts +356 -0
  658. package/dist/cli/backend/src/types/slack.types.d.ts.map +1 -0
  659. package/dist/cli/backend/src/types/slack.types.js +66 -0
  660. package/dist/cli/backend/src/types/slack.types.js.map +1 -0
  661. package/dist/cli/backend/src/types/v2/claim.types.d.ts +2 -5
  662. package/dist/cli/backend/src/types/v2/claim.types.d.ts.map +1 -1
  663. package/dist/cli/backend/src/types/v2/claim.types.js +2 -5
  664. package/dist/cli/backend/src/types/v2/claim.types.js.map +1 -1
  665. package/dist/cli/backend/src/types/v2/work-item.types.d.ts +40 -1
  666. package/dist/cli/backend/src/types/v2/work-item.types.d.ts.map +1 -1
  667. package/dist/cli/backend/src/types/v2/work-item.types.js +20 -0
  668. package/dist/cli/backend/src/types/v2/work-item.types.js.map +1 -1
  669. package/dist/cli/backend/src/utils/format-error.d.ts +8 -0
  670. package/dist/cli/backend/src/utils/format-error.d.ts.map +1 -0
  671. package/dist/cli/backend/src/utils/format-error.js +10 -0
  672. package/dist/cli/backend/src/utils/format-error.js.map +1 -0
  673. package/dist/cli/backend/src/utils/integrity-guarded-write.utils.d.ts +119 -0
  674. package/dist/cli/backend/src/utils/integrity-guarded-write.utils.d.ts.map +1 -0
  675. package/dist/cli/backend/src/utils/integrity-guarded-write.utils.js +212 -0
  676. package/dist/cli/backend/src/utils/integrity-guarded-write.utils.js.map +1 -0
  677. package/dist/cli/backend/src/utils/node-require.utils.d.ts +104 -0
  678. package/dist/cli/backend/src/utils/node-require.utils.d.ts.map +1 -0
  679. package/dist/cli/backend/src/utils/node-require.utils.js +111 -0
  680. package/dist/cli/backend/src/utils/node-require.utils.js.map +1 -0
  681. package/frontend/dist/assets/{index-7a4e7df5.js → index-698305f3.js} +337 -337
  682. package/frontend/dist/index.html +1 -1
  683. package/package.json +6 -2
  684. package/dist/backend/backend/src/controllers/eval/eval.controller.d.ts +0 -63
  685. package/dist/backend/backend/src/controllers/eval/eval.controller.d.ts.map +0 -1
  686. package/dist/backend/backend/src/controllers/eval/eval.controller.js +0 -228
  687. package/dist/backend/backend/src/controllers/eval/eval.controller.js.map +0 -1
  688. package/dist/backend/backend/src/controllers/eval/eval.routes.d.ts +0 -23
  689. package/dist/backend/backend/src/controllers/eval/eval.routes.d.ts.map +0 -1
  690. package/dist/backend/backend/src/controllers/eval/eval.routes.js +0 -37
  691. package/dist/backend/backend/src/controllers/eval/eval.routes.js.map +0 -1
  692. package/dist/backend/backend/src/controllers/knowledge-v3/index.d.ts +0 -8
  693. package/dist/backend/backend/src/controllers/knowledge-v3/index.d.ts.map +0 -1
  694. package/dist/backend/backend/src/controllers/knowledge-v3/index.js +0 -8
  695. package/dist/backend/backend/src/controllers/knowledge-v3/index.js.map +0 -1
  696. package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.controller.d.ts +0 -63
  697. package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.controller.d.ts.map +0 -1
  698. package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.controller.js +0 -179
  699. package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.controller.js.map +0 -1
  700. package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.routes.d.ts +0 -22
  701. package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.routes.d.ts.map +0 -1
  702. package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.routes.js +0 -34
  703. package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.routes.js.map +0 -1
  704. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/cli-adapter.d.ts +0 -130
  705. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/cli-adapter.d.ts.map +0 -1
  706. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/cli-adapter.js +0 -406
  707. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/cli-adapter.js.map +0 -1
  708. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/crewly-agent-adapter.d.ts +0 -68
  709. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/crewly-agent-adapter.d.ts.map +0 -1
  710. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/crewly-agent-adapter.js +0 -206
  711. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/crewly-agent-adapter.js.map +0 -1
  712. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/index.d.ts +0 -32
  713. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/index.d.ts.map +0 -1
  714. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/index.js +0 -46
  715. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/index.js.map +0 -1
  716. package/dist/backend/backend/src/services/agent/crewly-agent/eval/context-generator.d.ts +0 -87
  717. package/dist/backend/backend/src/services/agent/crewly-agent/eval/context-generator.d.ts.map +0 -1
  718. package/dist/backend/backend/src/services/agent/crewly-agent/eval/context-generator.js +0 -299
  719. package/dist/backend/backend/src/services/agent/crewly-agent/eval/context-generator.js.map +0 -1
  720. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-runner.d.ts +0 -59
  721. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-runner.d.ts.map +0 -1
  722. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-runner.js +0 -218
  723. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-runner.js.map +0 -1
  724. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-scorer.d.ts +0 -203
  725. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-scorer.d.ts.map +0 -1
  726. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-scorer.js +0 -467
  727. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-scorer.js.map +0 -1
  728. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-types.d.ts +0 -313
  729. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-types.d.ts.map +0 -1
  730. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-types.js +0 -45
  731. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-types.js.map +0 -1
  732. package/dist/backend/backend/src/services/agent/crewly-agent/eval/index.d.ts +0 -21
  733. package/dist/backend/backend/src/services/agent/crewly-agent/eval/index.d.ts.map +0 -1
  734. package/dist/backend/backend/src/services/agent/crewly-agent/eval/index.js +0 -21
  735. package/dist/backend/backend/src/services/agent/crewly-agent/eval/index.js.map +0 -1
  736. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-cli.d.ts +0 -15
  737. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-cli.d.ts.map +0 -1
  738. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-cli.js +0 -349
  739. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-cli.js.map +0 -1
  740. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-l4.d.ts +0 -97
  741. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-l4.d.ts.map +0 -1
  742. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-l4.js +0 -414
  743. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-l4.js.map +0 -1
  744. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-standalone.d.ts +0 -42
  745. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-standalone.d.ts.map +0 -1
  746. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-standalone.js +0 -403
  747. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-standalone.js.map +0 -1
  748. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/index.d.ts +0 -41
  749. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/index.d.ts.map +0 -1
  750. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/index.js +0 -58
  751. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/index.js.map +0 -1
  752. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l1-tasks.d.ts +0 -15
  753. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l1-tasks.d.ts.map +0 -1
  754. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l1-tasks.js +0 -396
  755. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l1-tasks.js.map +0 -1
  756. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l2-tasks.d.ts +0 -14
  757. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l2-tasks.d.ts.map +0 -1
  758. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l2-tasks.js +0 -564
  759. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l2-tasks.js.map +0 -1
  760. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l3-tasks.d.ts +0 -13
  761. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l3-tasks.d.ts.map +0 -1
  762. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l3-tasks.js +0 -634
  763. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l3-tasks.js.map +0 -1
  764. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l4-tasks.d.ts +0 -21
  765. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l4-tasks.d.ts.map +0 -1
  766. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l4-tasks.js +0 -1036
  767. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l4-tasks.js.map +0 -1
  768. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tool-log-parser.d.ts +0 -100
  769. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tool-log-parser.d.ts.map +0 -1
  770. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tool-log-parser.js +0 -187
  771. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tool-log-parser.js.map +0 -1
  772. package/dist/backend/backend/src/services/ai/prompt-modules/sop-norm-distinction.module.d.ts +0 -79
  773. package/dist/backend/backend/src/services/ai/prompt-modules/sop-norm-distinction.module.d.ts.map +0 -1
  774. package/dist/backend/backend/src/services/ai/prompt-modules/sop-norm-distinction.module.js +0 -118
  775. package/dist/backend/backend/src/services/ai/prompt-modules/sop-norm-distinction.module.js.map +0 -1
  776. package/dist/backend/backend/src/services/cloud/cloud-event-bridge.service.d.ts +0 -113
  777. package/dist/backend/backend/src/services/cloud/cloud-event-bridge.service.d.ts.map +0 -1
  778. package/dist/backend/backend/src/services/cloud/cloud-event-bridge.service.js +0 -179
  779. package/dist/backend/backend/src/services/cloud/cloud-event-bridge.service.js.map +0 -1
  780. package/dist/backend/backend/src/services/cloud/cloud-event-forwarder.service.d.ts +0 -131
  781. package/dist/backend/backend/src/services/cloud/cloud-event-forwarder.service.d.ts.map +0 -1
  782. package/dist/backend/backend/src/services/cloud/cloud-event-forwarder.service.js +0 -227
  783. package/dist/backend/backend/src/services/cloud/cloud-event-forwarder.service.js.map +0 -1
  784. package/dist/backend/backend/src/services/knowledge/fts5-search-strategy.d.ts +0 -56
  785. package/dist/backend/backend/src/services/knowledge/fts5-search-strategy.d.ts.map +0 -1
  786. package/dist/backend/backend/src/services/knowledge/fts5-search-strategy.js +0 -91
  787. package/dist/backend/backend/src/services/knowledge/fts5-search-strategy.js.map +0 -1
  788. package/dist/backend/backend/src/services/memory/learning-format.validator.d.ts +0 -97
  789. package/dist/backend/backend/src/services/memory/learning-format.validator.d.ts.map +0 -1
  790. package/dist/backend/backend/src/services/memory/learning-format.validator.js +0 -209
  791. package/dist/backend/backend/src/services/memory/learning-format.validator.js.map +0 -1
  792. /package/dist/{backend → cli}/backend/src/services/knowledge/learnings-index.service.d.ts +0 -0
  793. /package/dist/{backend → cli}/backend/src/services/knowledge/learnings-index.service.d.ts.map +0 -0
  794. /package/dist/{backend → cli}/backend/src/services/knowledge/learnings-index.service.js +0 -0
  795. /package/dist/{backend → cli}/backend/src/services/knowledge/learnings-index.service.js.map +0 -0
@@ -0,0 +1,299 @@
1
+ /**
2
+ * Recommend-Team Logic (Onboarding v3, v0)
3
+ *
4
+ * Pure function: turns a business-context payload (collected during the
5
+ * onboarding conversation) into a concrete team recommendation
6
+ * (template + agents + responsibilities).
7
+ *
8
+ * v0 strategy: 5 hardcoded heuristic mappings that cover the ~80% case
9
+ * Steve and Sam expect to see during the Mon 5/4 EOD demo, plus a
10
+ * generic 2-agent fallback for everything else. Real RAG over Mia's
11
+ * spec v3 + doc 69 + the live template registry lands Wed–Fri.
12
+ *
13
+ * Importantly, the function is **pure** (no FS, no API, no clock) —
14
+ * tests exercise the mapping logic directly without mocks.
15
+ *
16
+ * @module services/orchestrator/onboarding/recommend-team
17
+ */
18
+ /**
19
+ * Build a recommendation given a key + template + agents + rationale.
20
+ * Internal helper to avoid repeating the source/reasoning shape.
21
+ */
22
+ function build(key, templateId, agents, reasoning) {
23
+ return {
24
+ templateId,
25
+ agents,
26
+ reasoning,
27
+ source: `hardcoded:${key}`,
28
+ };
29
+ }
30
+ /**
31
+ * The 5 hardcoded mappings — ordered most-specific first.
32
+ *
33
+ * Each mapping is keyed off a small lowercase keyword set; the
34
+ * highest-scoring mapping wins. If no mapping scores ≥1, the generic
35
+ * fallback fires.
36
+ */
37
+ const HARDCODED_MAPPINGS = [
38
+ // --- 1. E-commerce + content + customer support (Steve's anchor demo)
39
+ {
40
+ key: 'ecommerce-content-support',
41
+ keywords: [
42
+ 'shopify',
43
+ 'e-commerce',
44
+ 'ecommerce',
45
+ 'dtc',
46
+ 'skincare',
47
+ 'apparel',
48
+ 'retail',
49
+ 'storefront',
50
+ 'support',
51
+ 'content',
52
+ ],
53
+ build: (ctx) => build('ecommerce-content-support', 'dtc-viral-content-team', [
54
+ {
55
+ role: 'content-drafter',
56
+ responsibilities: 'Drafts weekly blog + social content tuned to your storefront and audience.',
57
+ skillIds: ['content-drafter', 'content-calendar'],
58
+ },
59
+ {
60
+ role: 'support-triage',
61
+ responsibilities: 'Triages incoming customer messages and prepares first-draft replies for your approval.',
62
+ skillIds: ['support-triage'],
63
+ },
64
+ ], `You named e-commerce + content + support. The content drafter handles your weekly publishing cadence; the support triage agent keeps inbound from piling up while leaving the send button to you. ${ctx.scale === 'solo' ? 'Sized 2-agent because solo founders should not babysit a big team.' : ''}`.trim()),
65
+ },
66
+ // --- 2. Solo content creator / social-first
67
+ {
68
+ key: 'solo-creator',
69
+ keywords: [
70
+ 'creator',
71
+ 'youtube',
72
+ 'tiktok',
73
+ 'instagram',
74
+ 'newsletter',
75
+ 'blog',
76
+ 'podcast',
77
+ 'video',
78
+ 'social',
79
+ ],
80
+ build: () => build('solo-creator', 'ai-video-social-team', [
81
+ {
82
+ role: 'content-drafter',
83
+ responsibilities: 'Plans + drafts your content schedule across platforms.',
84
+ skillIds: ['content-drafter', 'content-calendar', 'content-repurposer'],
85
+ },
86
+ {
87
+ role: 'trend-monitor',
88
+ responsibilities: 'Watches the trends and topic signals in your niche so your drafts ride the wave.',
89
+ skillIds: ['trend-monitor'],
90
+ },
91
+ ], 'Your work centres on content production. Drafting + trend monitoring is the smallest team that meaningfully removes the daily-content treadmill.'),
92
+ },
93
+ // --- 3. Engineering / SaaS dev team
94
+ {
95
+ key: 'engineering',
96
+ keywords: [
97
+ 'saas',
98
+ 'software',
99
+ 'engineering',
100
+ 'dev',
101
+ 'developer',
102
+ 'startup',
103
+ 'product',
104
+ 'b2b',
105
+ 'platform',
106
+ 'mvp',
107
+ ],
108
+ build: (ctx) => build('engineering', ctx.scale === 'solo' ? 'pragmatic-mvp-dev-team' : 'web-dev-team', [
109
+ {
110
+ role: 'code-reviewer',
111
+ responsibilities: 'Reviews pull requests for style, obvious bugs, and missing tests.',
112
+ skillIds: ['code-reviewer'],
113
+ },
114
+ {
115
+ role: 'data-analyst',
116
+ responsibilities: 'Pulls product metrics into a daily report so you do not lose signal in the build cycle.',
117
+ skillIds: ['data-summarizer', 'scheduled-reporter'],
118
+ },
119
+ ], `For a ${ctx.scale === 'solo' ? 'solo MVP push' : 'small engineering team'}, the highest-leverage agents are code review + a data summariser that surfaces the metrics you forget to check.`),
120
+ },
121
+ // --- 4. Customer support / ops focus
122
+ {
123
+ key: 'support-ops',
124
+ keywords: [
125
+ 'support',
126
+ 'helpdesk',
127
+ 'tickets',
128
+ 'customer service',
129
+ 'cs',
130
+ 'ops',
131
+ 'operations',
132
+ 'feedback',
133
+ ],
134
+ build: () => build('support-ops', 'customer-ops-team', [
135
+ {
136
+ role: 'support-triage',
137
+ responsibilities: 'Triages inbound and drafts replies; you stay in the loop on send.',
138
+ skillIds: ['support-triage'],
139
+ },
140
+ {
141
+ role: 'data-analyst',
142
+ responsibilities: 'Summarises ticket trends so the same issue does not surprise you twice.',
143
+ skillIds: ['feedback-analyzer', 'data-summarizer'],
144
+ },
145
+ ], 'Your time-sinks are on the support side. A triage agent removes the inbox sprint; a feedback analyst catches the patterns under the noise.'),
146
+ },
147
+ // --- 5. Growth / marketing-heavy
148
+ {
149
+ key: 'growth-marketing',
150
+ keywords: [
151
+ 'marketing',
152
+ 'growth',
153
+ 'seo',
154
+ 'ads',
155
+ 'paid',
156
+ 'distribution',
157
+ 'pipeline',
158
+ 'lead gen',
159
+ 'leadgen',
160
+ 'agency',
161
+ ],
162
+ build: () => build('growth-marketing', 'growth-marketing-team', [
163
+ {
164
+ role: 'content-drafter',
165
+ responsibilities: 'Drafts the content side of your growth pipeline (blog / social / newsletter).',
166
+ skillIds: ['content-drafter', 'content-calendar'],
167
+ },
168
+ {
169
+ role: 'data-analyst',
170
+ responsibilities: 'Tracks growth metrics across channels and flags drops before they compound.',
171
+ skillIds: ['data-summarizer', 'scheduled-reporter'],
172
+ },
173
+ {
174
+ role: 'trend-monitor',
175
+ responsibilities: 'Surfaces topic + competitor signals so your distribution stays current.',
176
+ skillIds: ['trend-monitor', 'competitor-content-tracker'],
177
+ },
178
+ ], 'You named growth / distribution as the core. Three agents — drafting + analytics + trend-watching — cover the production / measurement / sensing loop.'),
179
+ },
180
+ ];
181
+ // =============================================================================
182
+ // Public API
183
+ // =============================================================================
184
+ /**
185
+ * Map a {@link BusinessContext} to a {@link TeamRecommendation}.
186
+ *
187
+ * Strategy (v0):
188
+ * 1. Score every hardcoded mapping by counting keyword hits across
189
+ * `industry` + each task name.
190
+ * 2. Highest-scoring mapping wins (ties broken by declaration order).
191
+ * 3. If no mapping scores ≥1, fire the generic 2-agent fallback.
192
+ *
193
+ * The function never throws — invalid input degrades to the fallback so
194
+ * the conversation can keep moving even if discovery captured nothing
195
+ * useful.
196
+ *
197
+ * @param ctx - Business context collected during phases 1–3.
198
+ * @returns A team recommendation ready for phase 4.
199
+ *
200
+ * @example
201
+ * ```ts
202
+ * recommendTeam({
203
+ * industry: 'small Shopify skincare shop',
204
+ * scale: 'solo',
205
+ * tasks: [
206
+ * { name: 'weekly blog content', tier: 'yes-today' },
207
+ * { name: 'customer support replies', tier: 'yes-today' },
208
+ * ],
209
+ * });
210
+ * // → templateId: 'dtc-viral-content-team', 2 agents, …
211
+ * ```
212
+ */
213
+ export function recommendTeam(ctx) {
214
+ const haystack = buildHaystack(ctx);
215
+ let bestScore = 0;
216
+ let best = null;
217
+ for (const mapping of HARDCODED_MAPPINGS) {
218
+ const score = scoreMapping(mapping, haystack);
219
+ if (score > bestScore) {
220
+ bestScore = score;
221
+ best = mapping;
222
+ }
223
+ }
224
+ if (best && bestScore > 0) {
225
+ return best.build(ctx);
226
+ }
227
+ return genericFallback(ctx);
228
+ }
229
+ /**
230
+ * Generic 2-agent fallback when no hardcoded mapping fires. Picks
231
+ * `startup-team` (the most general template) and a content + analyst
232
+ * pair, which has been the highest-utility default in our discovery
233
+ * data.
234
+ *
235
+ * @param ctx - Original business context (used only for rationale).
236
+ * @returns A safe, neutral recommendation.
237
+ */
238
+ function genericFallback(ctx) {
239
+ const tasksLine = ctx.tasks.length
240
+ ? `you mentioned ${ctx.tasks.map((t) => t.name).join(' / ')}`
241
+ : 'we did not nail the time-sinks down yet';
242
+ return {
243
+ templateId: 'startup-team',
244
+ agents: [
245
+ {
246
+ role: 'content-drafter',
247
+ responsibilities: 'Drafts written content (blog / social / internal updates) on a schedule.',
248
+ skillIds: ['content-drafter'],
249
+ },
250
+ {
251
+ role: 'data-analyst',
252
+ responsibilities: 'Summarises whatever data feed you connect (sheets / API / CSV) into a daily report.',
253
+ skillIds: ['data-summarizer', 'scheduled-reporter'],
254
+ },
255
+ ],
256
+ reasoning: `I did not match a precise mapping for your shape — ${tasksLine} — so I am proposing a safe 2-agent default. We can adjust before I create anything.`,
257
+ source: 'fallback',
258
+ };
259
+ }
260
+ // =============================================================================
261
+ // Internals
262
+ // =============================================================================
263
+ /**
264
+ * Build a single lowercase haystack string from the context's industry
265
+ * + task names. Keyword matches are checked against this string.
266
+ */
267
+ function buildHaystack(ctx) {
268
+ const parts = [];
269
+ parts.push(ctx.industry ?? '');
270
+ for (const t of ctx.tasks) {
271
+ parts.push(t.name);
272
+ }
273
+ return parts.join(' ').toLowerCase();
274
+ }
275
+ /**
276
+ * Count how many of a mapping's keywords appear in the haystack.
277
+ */
278
+ function scoreMapping(mapping, haystack) {
279
+ let score = 0;
280
+ for (const kw of mapping.keywords) {
281
+ if (haystack.includes(kw))
282
+ score += 1;
283
+ }
284
+ return score;
285
+ }
286
+ // =============================================================================
287
+ // Exports for tests / wiring
288
+ // =============================================================================
289
+ /**
290
+ * Exposed for test introspection — the count is asserted against the
291
+ * spec ("5 hardcoded mappings cover 80% of users").
292
+ */
293
+ export const HARDCODED_MAPPING_COUNT = HARDCODED_MAPPINGS.length;
294
+ /**
295
+ * Exposed for test introspection — list of mapping keys, useful for
296
+ * asserting coverage without opening the array.
297
+ */
298
+ export const HARDCODED_MAPPING_KEYS = HARDCODED_MAPPINGS.map((m) => m.key);
299
+ //# sourceMappingURL=recommend-team.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recommend-team.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/orchestrator/onboarding/recommend-team.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * Onboarding Bootstrap Service (Onboarding v3 — B1).
3
+ *
4
+ * Detects whether a freshly-launched Crewly OSS instance should enter
5
+ * onboarding mode. Two AND-ed signals are required:
6
+ *
7
+ * 1. **Project marker** — `Project.firstLaunchedAt` is unset (or no project
8
+ * record exists yet). Set on first successful orc bootstrap and never
9
+ * overwritten thereafter; defends the cold-start signal against the
10
+ * edge case where chat-v2 is wiped accidentally on an existing install.
11
+ *
12
+ * 2. **Chat-v2 emptiness** — `ChatV2Service.countAllMessages() === 0`.
13
+ * Captures "user has not spoken to Crewly yet" — Steve's exact phrasing.
14
+ *
15
+ * If EITHER signal says "user has been here before", onboarding does NOT
16
+ * trigger. This intentional belt-and-braces design follows Sam's substrate
17
+ * note 2026-05-03.
18
+ *
19
+ * Hook point: `crewly-agent-runtime.service.initializeInProcess()` calls
20
+ * `shouldEnterOnboardingMode()` before composing the system prompt and
21
+ * branches on the result (B3). After bootstrap success, the orc bootstrap
22
+ * also calls `markProjectAsLaunched()` to set the marker.
23
+ *
24
+ * @module services/orchestrator/onboarding-bootstrap.service
25
+ */
26
+ import type { StorageService } from '../core/storage.service.js';
27
+ /**
28
+ * Minimal contract for the chat-v2 emptiness probe.
29
+ *
30
+ * Decoupled from the concrete `ChatV2Service` so tests can inject a fake
31
+ * counter without bringing up sqlite. Production wiring resolves to
32
+ * `getChatV2Service().countAllMessages.bind(...)`.
33
+ */
34
+ export interface ChatMessageCounter {
35
+ /** @returns Total count of persisted chat messages across all channels */
36
+ countAllMessages(): number;
37
+ }
38
+ /**
39
+ * Constructor dependencies for `OnboardingBootstrapService`.
40
+ */
41
+ export interface OnboardingBootstrapDependencies {
42
+ /** Source of project records (provides `getProjects` + `saveProject`). */
43
+ storage: StorageService;
44
+ /** Source of chat-v2 emptiness signal. */
45
+ chat: ChatMessageCounter;
46
+ }
47
+ /**
48
+ * Cold-start detector for the orchestrator's onboarding mode.
49
+ *
50
+ * The two helpers are called from the orc bootstrap path:
51
+ * - `shouldEnterOnboardingMode()` — branch on this BEFORE composing the
52
+ * system prompt; if true, load `ONBOARDING_MODE_SYSTEM_PROMPT` instead
53
+ * of the role prompt.
54
+ * - `markProjectAsLaunched(projectId)` — call AFTER bootstrap succeeds,
55
+ * regardless of mode, to write the per-project first-launch marker.
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * const detector = new OnboardingBootstrapService({ storage, chat });
60
+ * if (await detector.shouldEnterOnboardingMode()) {
61
+ * stateService.setMode('onboarding');
62
+ * }
63
+ * // ... orc init succeeds ...
64
+ * if (currentProjectId) {
65
+ * await detector.markProjectAsLaunched(currentProjectId);
66
+ * }
67
+ * ```
68
+ */
69
+ export declare class OnboardingBootstrapService {
70
+ private readonly storage;
71
+ private readonly chat;
72
+ private readonly logger;
73
+ constructor(deps: OnboardingBootstrapDependencies);
74
+ /**
75
+ * Decide whether the orchestrator should enter onboarding mode.
76
+ *
77
+ * Both signals must agree on "this is a cold start":
78
+ *
79
+ * 1. The targeted project's `firstLaunchedAt` marker is unset. When
80
+ * `projectId` is omitted, the check broadens to "no project at all
81
+ * has the marker set" — appropriate for the orc bootstrap path,
82
+ * which runs before any user has bound a project.
83
+ * 2. Chat-v2 has zero persisted messages.
84
+ *
85
+ * Errors in either probe are treated as "user has been here before"
86
+ * (returns false) — failing closed avoids false-triggering onboarding
87
+ * on a transient storage hiccup.
88
+ *
89
+ * @param projectId - Optional project to scope the marker check to.
90
+ * Omit during orc bootstrap (no project context yet).
91
+ * @returns True iff this looks like a fresh OSS install
92
+ */
93
+ shouldEnterOnboardingMode(projectId?: string): Promise<boolean>;
94
+ /**
95
+ * Set `firstLaunchedAt` on the named project record.
96
+ *
97
+ * Idempotent: a no-op if the marker is already set (logged at debug),
98
+ * preserving the original launch timestamp. No-op (warn) if the project
99
+ * record cannot be located. Errors are caught and logged so the
100
+ * bootstrap path is not destabilised by a marker-write failure.
101
+ *
102
+ * @param projectId - Target project ID
103
+ */
104
+ markProjectAsLaunched(projectId: string): Promise<void>;
105
+ }
106
+ /**
107
+ * Wire (or replace) the process-wide `OnboardingBootstrapService`.
108
+ *
109
+ * Called once during server bootstrap after `StorageService` and
110
+ * `ChatV2Service` are constructed. Subsequent calls overwrite the binding
111
+ * (used by tests and graceful-restart paths).
112
+ *
113
+ * @param service - The configured service instance
114
+ */
115
+ export declare function setOnboardingBootstrapService(service: OnboardingBootstrapService | null): void;
116
+ /**
117
+ * Resolve the process-wide `OnboardingBootstrapService`.
118
+ *
119
+ * Returns null when not yet wired — callers must tolerate that case
120
+ * (the orc bootstrap path does, because cold-start detection is a "best
121
+ * effort, default to normal mode" probe).
122
+ *
123
+ * @returns The shared service instance, or null if not wired
124
+ */
125
+ export declare function getOnboardingBootstrapService(): OnboardingBootstrapService | null;
126
+ /** Reset the singleton — test-only helper. */
127
+ export declare function resetOnboardingBootstrapServiceForTesting(): void;
128
+ //# sourceMappingURL=onboarding-bootstrap.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboarding-bootstrap.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/orchestrator/onboarding-bootstrap.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGjE;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,0EAA0E;IAC1E,gBAAgB,IAAI,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,0EAA0E;IAC1E,OAAO,EAAE,cAAc,CAAC;IACxB,0CAA0C;IAC1C,IAAI,EAAE,kBAAkB,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,0BAA0B;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;gBAE7B,IAAI,EAAE,+BAA+B;IAMjD;;;;;;;;;;;;;;;;;;OAkBG;IACG,yBAAyB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA8CrE;;;;;;;;;OASG;IACG,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CA+B9D;AAQD;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,0BAA0B,GAAG,IAAI,GAAG,IAAI,CAE9F;AAED;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,IAAI,0BAA0B,GAAG,IAAI,CAEjF;AAED,8CAA8C;AAC9C,wBAAgB,yCAAyC,IAAI,IAAI,CAEhE"}
@@ -0,0 +1,195 @@
1
+ /**
2
+ * Onboarding Bootstrap Service (Onboarding v3 — B1).
3
+ *
4
+ * Detects whether a freshly-launched Crewly OSS instance should enter
5
+ * onboarding mode. Two AND-ed signals are required:
6
+ *
7
+ * 1. **Project marker** — `Project.firstLaunchedAt` is unset (or no project
8
+ * record exists yet). Set on first successful orc bootstrap and never
9
+ * overwritten thereafter; defends the cold-start signal against the
10
+ * edge case where chat-v2 is wiped accidentally on an existing install.
11
+ *
12
+ * 2. **Chat-v2 emptiness** — `ChatV2Service.countAllMessages() === 0`.
13
+ * Captures "user has not spoken to Crewly yet" — Steve's exact phrasing.
14
+ *
15
+ * If EITHER signal says "user has been here before", onboarding does NOT
16
+ * trigger. This intentional belt-and-braces design follows Sam's substrate
17
+ * note 2026-05-03.
18
+ *
19
+ * Hook point: `crewly-agent-runtime.service.initializeInProcess()` calls
20
+ * `shouldEnterOnboardingMode()` before composing the system prompt and
21
+ * branches on the result (B3). After bootstrap success, the orc bootstrap
22
+ * also calls `markProjectAsLaunched()` to set the marker.
23
+ *
24
+ * @module services/orchestrator/onboarding-bootstrap.service
25
+ */
26
+ import { LoggerService } from '../core/logger.service.js';
27
+ /**
28
+ * Cold-start detector for the orchestrator's onboarding mode.
29
+ *
30
+ * The two helpers are called from the orc bootstrap path:
31
+ * - `shouldEnterOnboardingMode()` — branch on this BEFORE composing the
32
+ * system prompt; if true, load `ONBOARDING_MODE_SYSTEM_PROMPT` instead
33
+ * of the role prompt.
34
+ * - `markProjectAsLaunched(projectId)` — call AFTER bootstrap succeeds,
35
+ * regardless of mode, to write the per-project first-launch marker.
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * const detector = new OnboardingBootstrapService({ storage, chat });
40
+ * if (await detector.shouldEnterOnboardingMode()) {
41
+ * stateService.setMode('onboarding');
42
+ * }
43
+ * // ... orc init succeeds ...
44
+ * if (currentProjectId) {
45
+ * await detector.markProjectAsLaunched(currentProjectId);
46
+ * }
47
+ * ```
48
+ */
49
+ export class OnboardingBootstrapService {
50
+ storage;
51
+ chat;
52
+ logger;
53
+ constructor(deps) {
54
+ this.storage = deps.storage;
55
+ this.chat = deps.chat;
56
+ this.logger = LoggerService.getInstance().createComponentLogger('OnboardingBootstrap');
57
+ }
58
+ /**
59
+ * Decide whether the orchestrator should enter onboarding mode.
60
+ *
61
+ * Both signals must agree on "this is a cold start":
62
+ *
63
+ * 1. The targeted project's `firstLaunchedAt` marker is unset. When
64
+ * `projectId` is omitted, the check broadens to "no project at all
65
+ * has the marker set" — appropriate for the orc bootstrap path,
66
+ * which runs before any user has bound a project.
67
+ * 2. Chat-v2 has zero persisted messages.
68
+ *
69
+ * Errors in either probe are treated as "user has been here before"
70
+ * (returns false) — failing closed avoids false-triggering onboarding
71
+ * on a transient storage hiccup.
72
+ *
73
+ * @param projectId - Optional project to scope the marker check to.
74
+ * Omit during orc bootstrap (no project context yet).
75
+ * @returns True iff this looks like a fresh OSS install
76
+ */
77
+ async shouldEnterOnboardingMode(projectId) {
78
+ // --- Signal 1: project firstLaunchedAt marker ---
79
+ let projectMarkerIsCold;
80
+ try {
81
+ const projects = await this.storage.getProjects();
82
+ if (projectId !== undefined) {
83
+ const target = projects.find((p) => p.id === projectId);
84
+ // Missing project (deleted under us) and absent marker both count
85
+ // as "cold". Any value (string, even empty string) means the user
86
+ // has been here before — only `undefined` clears the gate.
87
+ projectMarkerIsCold = !target || target.firstLaunchedAt === undefined;
88
+ }
89
+ else {
90
+ projectMarkerIsCold = !projects.some((p) => p.firstLaunchedAt !== undefined);
91
+ }
92
+ }
93
+ catch (err) {
94
+ this.logger.warn('Failed to read project marker; failing closed (no onboarding)', {
95
+ error: err instanceof Error ? err.message : String(err),
96
+ });
97
+ return false;
98
+ }
99
+ if (!projectMarkerIsCold) {
100
+ this.logger.debug('Project firstLaunchedAt is set — skipping onboarding', { projectId });
101
+ return false;
102
+ }
103
+ // --- Signal 2: chat-v2 emptiness ---
104
+ let chatIsEmpty;
105
+ try {
106
+ chatIsEmpty = this.chat.countAllMessages() === 0;
107
+ }
108
+ catch (err) {
109
+ this.logger.warn('Failed to read chat-v2 count; failing closed (no onboarding)', {
110
+ error: err instanceof Error ? err.message : String(err),
111
+ });
112
+ return false;
113
+ }
114
+ if (!chatIsEmpty) {
115
+ this.logger.debug('Chat-v2 has prior messages — skipping onboarding');
116
+ return false;
117
+ }
118
+ this.logger.info('Cold-start detected — entering onboarding mode', { projectId });
119
+ return true;
120
+ }
121
+ /**
122
+ * Set `firstLaunchedAt` on the named project record.
123
+ *
124
+ * Idempotent: a no-op if the marker is already set (logged at debug),
125
+ * preserving the original launch timestamp. No-op (warn) if the project
126
+ * record cannot be located. Errors are caught and logged so the
127
+ * bootstrap path is not destabilised by a marker-write failure.
128
+ *
129
+ * @param projectId - Target project ID
130
+ */
131
+ async markProjectAsLaunched(projectId) {
132
+ try {
133
+ const projects = await this.storage.getProjects();
134
+ const target = projects.find((p) => p.id === projectId);
135
+ if (!target) {
136
+ this.logger.warn('markProjectAsLaunched: project not found', { projectId });
137
+ return;
138
+ }
139
+ if (target.firstLaunchedAt) {
140
+ this.logger.debug('markProjectAsLaunched: marker already set, no-op', {
141
+ projectId,
142
+ existingValue: target.firstLaunchedAt,
143
+ });
144
+ return;
145
+ }
146
+ const now = new Date().toISOString();
147
+ const updated = {
148
+ ...target,
149
+ firstLaunchedAt: now,
150
+ updatedAt: now,
151
+ };
152
+ await this.storage.saveProject(updated);
153
+ this.logger.info('Project marked as launched', { projectId, firstLaunchedAt: now });
154
+ }
155
+ catch (err) {
156
+ this.logger.error('markProjectAsLaunched: storage write failed', {
157
+ projectId,
158
+ error: err instanceof Error ? err.message : String(err),
159
+ });
160
+ }
161
+ }
162
+ }
163
+ // ---------------------------------------------------------------------------
164
+ // Singleton accessor — wired by the bootstrap layer once dependencies exist
165
+ // ---------------------------------------------------------------------------
166
+ let onboardingBootstrapInstance = null;
167
+ /**
168
+ * Wire (or replace) the process-wide `OnboardingBootstrapService`.
169
+ *
170
+ * Called once during server bootstrap after `StorageService` and
171
+ * `ChatV2Service` are constructed. Subsequent calls overwrite the binding
172
+ * (used by tests and graceful-restart paths).
173
+ *
174
+ * @param service - The configured service instance
175
+ */
176
+ export function setOnboardingBootstrapService(service) {
177
+ onboardingBootstrapInstance = service;
178
+ }
179
+ /**
180
+ * Resolve the process-wide `OnboardingBootstrapService`.
181
+ *
182
+ * Returns null when not yet wired — callers must tolerate that case
183
+ * (the orc bootstrap path does, because cold-start detection is a "best
184
+ * effort, default to normal mode" probe).
185
+ *
186
+ * @returns The shared service instance, or null if not wired
187
+ */
188
+ export function getOnboardingBootstrapService() {
189
+ return onboardingBootstrapInstance;
190
+ }
191
+ /** Reset the singleton — test-only helper. */
192
+ export function resetOnboardingBootstrapServiceForTesting() {
193
+ onboardingBootstrapInstance = null;
194
+ }
195
+ //# sourceMappingURL=onboarding-bootstrap.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboarding-bootstrap.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/orchestrator/onboarding-bootstrap.service.ts"],"names":[],"mappings":"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"}