crewly 1.5.18 → 1.5.20

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 (1158) hide show
  1. package/config/constants.ts +50 -0
  2. package/config/domain-sops/content-production-pipeline.sop.md +76 -0
  3. package/config/domain-sops/content-publishing-policy.sop.md +59 -0
  4. package/config/domain-sops/customer-onboarding.sop.md +74 -0
  5. package/config/domain-sops/expert-distillation.sop.md +70 -0
  6. package/config/domain-sops/innovation-strategy.sop.md +26 -0
  7. package/config/experts/EXAMPLE.json +11 -0
  8. package/config/experts/EXAMPLE.md +41 -0
  9. package/config/experts/empathetic-resolver/expert.json +11 -0
  10. package/config/experts/empathetic-resolver.md +32 -0
  11. package/config/experts/pragmatic-architect/expert.json +11 -0
  12. package/config/experts/pragmatic-architect.md +32 -0
  13. package/config/experts/viral-alchemist/expert.json +11 -0
  14. package/config/experts/viral-alchemist.md +32 -0
  15. package/config/orchestrator_tasks/prompts/checkin-orchestrator-prompt-template.md +2 -2
  16. package/config/orchestrator_tasks/prompts/orchestrator-prompt.md +57 -1
  17. package/config/risk-policies/no-local-browser.policy.md +43 -0
  18. package/config/roles/developer/prompt.md +43 -0
  19. package/config/roles/orchestrator/fragments/role-boundary.md +31 -0
  20. package/config/roles/orchestrator/prompt.md +104 -0
  21. package/config/skills/agent/computer-use/SKILL.md +144 -93
  22. package/config/skills/agent/computer-use/execute.sh +847 -211
  23. package/config/skills/agent/core/break-down-request/SKILL.md +128 -0
  24. package/config/skills/agent/core/break-down-request/execute.sh +200 -0
  25. package/config/skills/agent/core/claim-heartbeat/execute.sh +57 -0
  26. package/config/skills/agent/core/claim-heartbeat/execute.test.sh +130 -0
  27. package/config/skills/agent/core/create-intent-tasks/execute.sh +93 -0
  28. package/config/skills/agent/core/create-mission/SKILL.md +78 -0
  29. package/config/skills/agent/core/create-mission/execute.sh +141 -0
  30. package/config/skills/agent/core/create-request/SKILL.md +132 -0
  31. package/config/skills/agent/core/create-request/execute.sh +176 -0
  32. package/config/skills/agent/core/create-task/SKILL.md +76 -0
  33. package/config/skills/agent/core/create-task/execute.sh +134 -0
  34. package/config/skills/agent/core/decompose-intent/execute.sh +106 -0
  35. package/config/skills/agent/core/extend-lease/execute.sh +63 -0
  36. package/config/skills/agent/core/extend-lease/execute.test.sh +46 -0
  37. package/config/skills/agent/core/get-my-context/execute.sh +85 -8
  38. package/config/skills/agent/core/get-my-tasks/SKILL.md +58 -0
  39. package/config/skills/agent/core/get-my-tasks/execute.sh +77 -6
  40. package/config/skills/agent/core/handoff-task/execute.sh +139 -95
  41. package/config/skills/agent/core/handoff-task/execute.test.sh +348 -0
  42. package/config/skills/agent/core/poll-tasks/execute.sh +182 -0
  43. package/config/skills/agent/core/poll-tasks/execute.test.sh +215 -0
  44. package/config/skills/agent/core/register-self/execute.sh +102 -14
  45. package/config/skills/agent/core/release-claim/execute.sh +53 -0
  46. package/config/skills/agent/core/release-claim/execute.test.sh +46 -0
  47. package/config/skills/agent/core/report-status/execute.sh +44 -0
  48. package/config/skills/agent/core/update-intent-task/execute.sh +93 -0
  49. package/config/skills/agent/core/work-loop/execute.sh +130 -0
  50. package/config/skills/agent/core/work-loop/execute.test.sh +52 -0
  51. package/config/skills/agent/core/workspace/execute.sh +270 -0
  52. package/config/skills/agent/core/workspace/execute.test.sh +185 -0
  53. package/config/skills/agent/remote-browser/SOP-google-flow-video.md +202 -0
  54. package/config/skills/agent/remote-browser/execute.sh +287 -0
  55. package/config/skills/agent/v3/plan-request/SKILL.md +72 -0
  56. package/config/skills/agent/v3/plan-request/execute.sh +116 -0
  57. package/config/skills/orchestrator/decompose-mission/SKILL.md +78 -0
  58. package/config/skills/orchestrator/decompose-mission/execute.sh +138 -0
  59. package/config/skills/orchestrator/delegate-task/SKILL.md +4 -3
  60. package/config/skills/orchestrator/delegate-task/execute.sh +43 -97
  61. package/config/skills/orchestrator/design-team/SKILL.md +51 -0
  62. package/config/skills/orchestrator/design-team/execute.sh +145 -0
  63. package/config/skills/orchestrator/measure-kr/SKILL.md +47 -0
  64. package/config/skills/orchestrator/measure-kr/execute.sh +87 -0
  65. package/config/skills/orchestrator/review-mission/SKILL.md +61 -0
  66. package/config/skills/orchestrator/review-mission/execute.sh +127 -0
  67. package/config/skills/team-leader/aggregate-results/execute.sh +25 -74
  68. package/config/skills/team-leader/delegate-task/SKILL.md +10 -0
  69. package/config/skills/team-leader/delegate-task/execute.sh +42 -3
  70. package/config/skills/team-leader/design-checklist/SKILL.md +122 -0
  71. package/config/skills/team-leader/design-checklist/execute.sh +157 -0
  72. package/config/skills/team-leader/verify-output/execute.sh +42 -0
  73. package/config/sops/xhs-requirement-log.v1.md +238 -0
  74. package/config/templates/agent-gemini-md.md +3 -1
  75. package/config/templates/ai-video-social-team.json +22 -0
  76. package/config/templates/broker-squad-v1.json +22 -0
  77. package/config/templates/customer-loyalty-team.json +44 -0
  78. package/config/templates/customer-ops-team.json +22 -0
  79. package/config/templates/dtc-viral-content-team.json +58 -0
  80. package/config/templates/expert-innovation-team.json +60 -0
  81. package/config/templates/growth-marketing-team.json +22 -0
  82. package/config/templates/pragmatic-mvp-dev-team.json +58 -0
  83. package/config/templates/pro-sops/norms/content-production-pipeline.md +39 -0
  84. package/config/templates/pro-sops/norms/customer-onboarding-sop.md +40 -0
  85. package/config/templates/prop-manager-v1.json +22 -0
  86. package/dist/backend/backend/src/constants.d.ts +5 -0
  87. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  88. package/dist/backend/backend/src/constants.js +5 -0
  89. package/dist/backend/backend/src/constants.js.map +1 -1
  90. package/dist/backend/backend/src/controllers/browser/browser.controller.d.ts +12 -2
  91. package/dist/backend/backend/src/controllers/browser/browser.controller.d.ts.map +1 -1
  92. package/dist/backend/backend/src/controllers/browser/browser.controller.js +34 -20
  93. package/dist/backend/backend/src/controllers/browser/browser.controller.js.map +1 -1
  94. package/dist/backend/backend/src/controllers/browser/browser.routes.d.ts.map +1 -1
  95. package/dist/backend/backend/src/controllers/browser/browser.routes.js +4 -2
  96. package/dist/backend/backend/src/controllers/browser/browser.routes.js.map +1 -1
  97. package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts.map +1 -1
  98. package/dist/backend/backend/src/controllers/chat/chat.controller.js +28 -0
  99. package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
  100. package/dist/backend/backend/src/controllers/cloud/cloud.controller.d.ts.map +1 -1
  101. package/dist/backend/backend/src/controllers/cloud/cloud.controller.js +5 -2
  102. package/dist/backend/backend/src/controllers/cloud/cloud.controller.js.map +1 -1
  103. package/dist/backend/backend/src/controllers/content-approvals/content-approvals.controller.d.ts +72 -0
  104. package/dist/backend/backend/src/controllers/content-approvals/content-approvals.controller.d.ts.map +1 -0
  105. package/dist/backend/backend/src/controllers/content-approvals/content-approvals.controller.js +202 -0
  106. package/dist/backend/backend/src/controllers/content-approvals/content-approvals.controller.js.map +1 -0
  107. package/dist/backend/backend/src/controllers/content-approvals/content-approvals.routes.d.ts +16 -0
  108. package/dist/backend/backend/src/controllers/content-approvals/content-approvals.routes.d.ts.map +1 -0
  109. package/dist/backend/backend/src/controllers/content-approvals/content-approvals.routes.js +32 -0
  110. package/dist/backend/backend/src/controllers/content-approvals/content-approvals.routes.js.map +1 -0
  111. package/dist/backend/backend/src/controllers/eval/eval.controller.d.ts +63 -0
  112. package/dist/backend/backend/src/controllers/eval/eval.controller.d.ts.map +1 -0
  113. package/dist/backend/backend/src/controllers/eval/eval.controller.js +228 -0
  114. package/dist/backend/backend/src/controllers/eval/eval.controller.js.map +1 -0
  115. package/dist/backend/backend/src/controllers/eval/eval.routes.d.ts +23 -0
  116. package/dist/backend/backend/src/controllers/eval/eval.routes.d.ts.map +1 -0
  117. package/dist/backend/backend/src/controllers/eval/eval.routes.js +37 -0
  118. package/dist/backend/backend/src/controllers/eval/eval.routes.js.map +1 -0
  119. package/dist/backend/backend/src/controllers/expert/expert.controller.d.ts +29 -0
  120. package/dist/backend/backend/src/controllers/expert/expert.controller.d.ts.map +1 -0
  121. package/dist/backend/backend/src/controllers/expert/expert.controller.js +79 -0
  122. package/dist/backend/backend/src/controllers/expert/expert.controller.js.map +1 -0
  123. package/dist/backend/backend/src/controllers/expert/expert.routes.d.ts +15 -0
  124. package/dist/backend/backend/src/controllers/expert/expert.routes.d.ts.map +1 -0
  125. package/dist/backend/backend/src/controllers/expert/expert.routes.js +21 -0
  126. package/dist/backend/backend/src/controllers/expert/expert.routes.js.map +1 -0
  127. package/dist/backend/backend/src/controllers/expert/index.d.ts +9 -0
  128. package/dist/backend/backend/src/controllers/expert/index.d.ts.map +1 -0
  129. package/dist/backend/backend/src/controllers/expert/index.js +9 -0
  130. package/dist/backend/backend/src/controllers/expert/index.js.map +1 -0
  131. package/dist/backend/backend/src/controllers/fission/fission.controller.d.ts +80 -0
  132. package/dist/backend/backend/src/controllers/fission/fission.controller.d.ts.map +1 -0
  133. package/dist/backend/backend/src/controllers/fission/fission.controller.js +264 -0
  134. package/dist/backend/backend/src/controllers/fission/fission.controller.js.map +1 -0
  135. package/dist/backend/backend/src/controllers/fission/fission.routes.d.ts +15 -0
  136. package/dist/backend/backend/src/controllers/fission/fission.routes.d.ts.map +1 -0
  137. package/dist/backend/backend/src/controllers/fission/fission.routes.js +29 -0
  138. package/dist/backend/backend/src/controllers/fission/fission.routes.js.map +1 -0
  139. package/dist/backend/backend/src/controllers/growth/growth.controller.d.ts +29 -0
  140. package/dist/backend/backend/src/controllers/growth/growth.controller.d.ts.map +1 -0
  141. package/dist/backend/backend/src/controllers/growth/growth.controller.js +74 -0
  142. package/dist/backend/backend/src/controllers/growth/growth.controller.js.map +1 -0
  143. package/dist/backend/backend/src/controllers/growth/growth.routes.d.ts +20 -0
  144. package/dist/backend/backend/src/controllers/growth/growth.routes.d.ts.map +1 -0
  145. package/dist/backend/backend/src/controllers/growth/growth.routes.js +26 -0
  146. package/dist/backend/backend/src/controllers/growth/growth.routes.js.map +1 -0
  147. package/dist/backend/backend/src/controllers/index.d.ts +5 -1
  148. package/dist/backend/backend/src/controllers/index.d.ts.map +1 -1
  149. package/dist/backend/backend/src/controllers/index.js +9 -1
  150. package/dist/backend/backend/src/controllers/index.js.map +1 -1
  151. package/dist/backend/backend/src/controllers/intent-task/index.d.ts +9 -0
  152. package/dist/backend/backend/src/controllers/intent-task/index.d.ts.map +1 -0
  153. package/dist/backend/backend/src/controllers/intent-task/index.js +9 -0
  154. package/dist/backend/backend/src/controllers/intent-task/index.js.map +1 -0
  155. package/dist/backend/backend/src/controllers/intent-task/intent-task.controller.d.ts +85 -0
  156. package/dist/backend/backend/src/controllers/intent-task/intent-task.controller.d.ts.map +1 -0
  157. package/dist/backend/backend/src/controllers/intent-task/intent-task.controller.js +356 -0
  158. package/dist/backend/backend/src/controllers/intent-task/intent-task.controller.js.map +1 -0
  159. package/dist/backend/backend/src/controllers/intent-task/intent-task.routes.d.ts +19 -0
  160. package/dist/backend/backend/src/controllers/intent-task/intent-task.routes.d.ts.map +1 -0
  161. package/dist/backend/backend/src/controllers/intent-task/intent-task.routes.js +43 -0
  162. package/dist/backend/backend/src/controllers/intent-task/intent-task.routes.js.map +1 -0
  163. package/dist/backend/backend/src/controllers/knowledge-v3/index.d.ts +8 -0
  164. package/dist/backend/backend/src/controllers/knowledge-v3/index.d.ts.map +1 -0
  165. package/dist/backend/backend/src/controllers/knowledge-v3/index.js +8 -0
  166. package/dist/backend/backend/src/controllers/knowledge-v3/index.js.map +1 -0
  167. package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.controller.d.ts +63 -0
  168. package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.controller.d.ts.map +1 -0
  169. package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.controller.js +179 -0
  170. package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.controller.js.map +1 -0
  171. package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.routes.d.ts +22 -0
  172. package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.routes.d.ts.map +1 -0
  173. package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.routes.js +34 -0
  174. package/dist/backend/backend/src/controllers/knowledge-v3/knowledge-v3.routes.js.map +1 -0
  175. package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.d.ts.map +1 -1
  176. package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.js +38 -1
  177. package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.js.map +1 -1
  178. package/dist/backend/backend/src/controllers/marketplace/marketplace.routes.d.ts.map +1 -1
  179. package/dist/backend/backend/src/controllers/marketplace/marketplace.routes.js +11 -0
  180. package/dist/backend/backend/src/controllers/marketplace/marketplace.routes.js.map +1 -1
  181. package/dist/backend/backend/src/controllers/mission/kr.controller.d.ts +40 -0
  182. package/dist/backend/backend/src/controllers/mission/kr.controller.d.ts.map +1 -0
  183. package/dist/backend/backend/src/controllers/mission/kr.controller.js +131 -0
  184. package/dist/backend/backend/src/controllers/mission/kr.controller.js.map +1 -0
  185. package/dist/backend/backend/src/controllers/mission/mission-policy.controller.d.ts +71 -0
  186. package/dist/backend/backend/src/controllers/mission/mission-policy.controller.d.ts.map +1 -0
  187. package/dist/backend/backend/src/controllers/mission/mission-policy.controller.js +270 -0
  188. package/dist/backend/backend/src/controllers/mission/mission-policy.controller.js.map +1 -0
  189. package/dist/backend/backend/src/controllers/mission/mission-policy.routes.d.ts +16 -0
  190. package/dist/backend/backend/src/controllers/mission/mission-policy.routes.d.ts.map +1 -0
  191. package/dist/backend/backend/src/controllers/mission/mission-policy.routes.js +327 -0
  192. package/dist/backend/backend/src/controllers/mission/mission-policy.routes.js.map +1 -0
  193. package/dist/backend/backend/src/controllers/monitoring/monitoring.routes.d.ts.map +1 -1
  194. package/dist/backend/backend/src/controllers/monitoring/monitoring.routes.js +5 -1
  195. package/dist/backend/backend/src/controllers/monitoring/monitoring.routes.js.map +1 -1
  196. package/dist/backend/backend/src/controllers/monitoring/token-usage.controller.d.ts +19 -0
  197. package/dist/backend/backend/src/controllers/monitoring/token-usage.controller.d.ts.map +1 -1
  198. package/dist/backend/backend/src/controllers/monitoring/token-usage.controller.js +36 -0
  199. package/dist/backend/backend/src/controllers/monitoring/token-usage.controller.js.map +1 -1
  200. package/dist/backend/backend/src/controllers/onboarding/index.d.ts +7 -0
  201. package/dist/backend/backend/src/controllers/onboarding/index.d.ts.map +1 -0
  202. package/dist/backend/backend/src/controllers/onboarding/index.js +7 -0
  203. package/dist/backend/backend/src/controllers/onboarding/index.js.map +1 -0
  204. package/dist/backend/backend/src/controllers/onboarding/onboarding.routes.d.ts +24 -0
  205. package/dist/backend/backend/src/controllers/onboarding/onboarding.routes.d.ts.map +1 -0
  206. package/dist/backend/backend/src/controllers/onboarding/onboarding.routes.js +340 -0
  207. package/dist/backend/backend/src/controllers/onboarding/onboarding.routes.js.map +1 -0
  208. package/dist/backend/backend/src/controllers/onboarding/website-analysis.routes.d.ts +21 -0
  209. package/dist/backend/backend/src/controllers/onboarding/website-analysis.routes.d.ts.map +1 -0
  210. package/dist/backend/backend/src/controllers/onboarding/website-analysis.routes.js +181 -0
  211. package/dist/backend/backend/src/controllers/onboarding/website-analysis.routes.js.map +1 -0
  212. package/dist/backend/backend/src/controllers/payment/payment.controller.js +1 -1
  213. package/dist/backend/backend/src/controllers/payment/payment.controller.js.map +1 -1
  214. package/dist/backend/backend/src/controllers/payment/payment.types.d.ts +1 -1
  215. package/dist/backend/backend/src/controllers/payment/payment.types.d.ts.map +1 -1
  216. package/dist/backend/backend/src/controllers/payment/payment.types.js +1 -1
  217. package/dist/backend/backend/src/controllers/payment/payment.types.js.map +1 -1
  218. package/dist/backend/backend/src/controllers/project/project.controller.d.ts.map +1 -1
  219. package/dist/backend/backend/src/controllers/project/project.controller.js +0 -2
  220. package/dist/backend/backend/src/controllers/project/project.controller.js.map +1 -1
  221. package/dist/backend/backend/src/controllers/project/project.routes.d.ts.map +1 -1
  222. package/dist/backend/backend/src/controllers/project/project.routes.js +9 -5
  223. package/dist/backend/backend/src/controllers/project/project.routes.js.map +1 -1
  224. package/dist/backend/backend/src/controllers/provisioning/provisioning.controller.d.ts +84 -0
  225. package/dist/backend/backend/src/controllers/provisioning/provisioning.controller.d.ts.map +1 -0
  226. package/dist/backend/backend/src/controllers/provisioning/provisioning.controller.js +189 -0
  227. package/dist/backend/backend/src/controllers/provisioning/provisioning.controller.js.map +1 -0
  228. package/dist/backend/backend/src/controllers/provisioning/provisioning.routes.d.ts +16 -0
  229. package/dist/backend/backend/src/controllers/provisioning/provisioning.routes.d.ts.map +1 -0
  230. package/dist/backend/backend/src/controllers/provisioning/provisioning.routes.js +29 -0
  231. package/dist/backend/backend/src/controllers/provisioning/provisioning.routes.js.map +1 -0
  232. package/dist/backend/backend/src/controllers/reconciler/reconciler.controller.d.ts +51 -0
  233. package/dist/backend/backend/src/controllers/reconciler/reconciler.controller.d.ts.map +1 -0
  234. package/dist/backend/backend/src/controllers/reconciler/reconciler.controller.js +106 -0
  235. package/dist/backend/backend/src/controllers/reconciler/reconciler.controller.js.map +1 -0
  236. package/dist/backend/backend/src/controllers/reconciler/reconciler.routes.d.ts +15 -0
  237. package/dist/backend/backend/src/controllers/reconciler/reconciler.routes.d.ts.map +1 -0
  238. package/dist/backend/backend/src/controllers/reconciler/reconciler.routes.js +25 -0
  239. package/dist/backend/backend/src/controllers/reconciler/reconciler.routes.js.map +1 -0
  240. package/dist/backend/backend/src/controllers/request/request.controller.d.ts +55 -0
  241. package/dist/backend/backend/src/controllers/request/request.controller.d.ts.map +1 -0
  242. package/dist/backend/backend/src/controllers/request/request.controller.js +168 -0
  243. package/dist/backend/backend/src/controllers/request/request.controller.js.map +1 -0
  244. package/dist/backend/backend/src/controllers/request/request.routes.d.ts +23 -0
  245. package/dist/backend/backend/src/controllers/request/request.routes.d.ts.map +1 -0
  246. package/dist/backend/backend/src/controllers/request/request.routes.js +37 -0
  247. package/dist/backend/backend/src/controllers/request/request.routes.js.map +1 -0
  248. package/dist/backend/backend/src/controllers/slack/slack.controller.d.ts.map +1 -1
  249. package/dist/backend/backend/src/controllers/slack/slack.controller.js +18 -1
  250. package/dist/backend/backend/src/controllers/slack/slack.controller.js.map +1 -1
  251. package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts +20 -57
  252. package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts.map +1 -1
  253. package/dist/backend/backend/src/controllers/task-management/task-management.controller.js +283 -385
  254. package/dist/backend/backend/src/controllers/task-management/task-management.controller.js.map +1 -1
  255. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts +180 -0
  256. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts.map +1 -0
  257. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js +737 -0
  258. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js.map +1 -0
  259. package/dist/backend/backend/src/controllers/task-pool/task-pool.routes.d.ts +15 -0
  260. package/dist/backend/backend/src/controllers/task-pool/task-pool.routes.d.ts.map +1 -0
  261. package/dist/backend/backend/src/controllers/task-pool/task-pool.routes.js +45 -0
  262. package/dist/backend/backend/src/controllers/task-pool/task-pool.routes.js.map +1 -0
  263. package/dist/backend/backend/src/controllers/task-projection/task-projection.controller.d.ts +75 -0
  264. package/dist/backend/backend/src/controllers/task-projection/task-projection.controller.d.ts.map +1 -0
  265. package/dist/backend/backend/src/controllers/task-projection/task-projection.controller.js +170 -0
  266. package/dist/backend/backend/src/controllers/task-projection/task-projection.controller.js.map +1 -0
  267. package/dist/backend/backend/src/controllers/task-projection/task-projection.routes.d.ts +10 -0
  268. package/dist/backend/backend/src/controllers/task-projection/task-projection.routes.d.ts.map +1 -0
  269. package/dist/backend/backend/src/controllers/task-projection/task-projection.routes.js +29 -0
  270. package/dist/backend/backend/src/controllers/task-projection/task-projection.routes.js.map +1 -0
  271. package/dist/backend/backend/src/controllers/team/team.routes.d.ts.map +1 -1
  272. package/dist/backend/backend/src/controllers/team/team.routes.js +16 -12
  273. package/dist/backend/backend/src/controllers/team/team.routes.js.map +1 -1
  274. package/dist/backend/backend/src/controllers/template/template.controller.d.ts +4 -4
  275. package/dist/backend/backend/src/controllers/template/template.controller.d.ts.map +1 -1
  276. package/dist/backend/backend/src/controllers/template/template.controller.js +73 -31
  277. package/dist/backend/backend/src/controllers/template/template.controller.js.map +1 -1
  278. package/dist/backend/backend/src/controllers/trigger/trigger.controller.d.ts +50 -0
  279. package/dist/backend/backend/src/controllers/trigger/trigger.controller.d.ts.map +1 -0
  280. package/dist/backend/backend/src/controllers/trigger/trigger.controller.js +125 -0
  281. package/dist/backend/backend/src/controllers/trigger/trigger.controller.js.map +1 -0
  282. package/dist/backend/backend/src/controllers/trigger/trigger.routes.d.ts +26 -0
  283. package/dist/backend/backend/src/controllers/trigger/trigger.routes.d.ts.map +1 -0
  284. package/dist/backend/backend/src/controllers/trigger/trigger.routes.js +38 -0
  285. package/dist/backend/backend/src/controllers/trigger/trigger.routes.js.map +1 -0
  286. package/dist/backend/backend/src/controllers/user/user-validation.d.ts +86 -0
  287. package/dist/backend/backend/src/controllers/user/user-validation.d.ts.map +1 -0
  288. package/dist/backend/backend/src/controllers/user/user-validation.js +165 -0
  289. package/dist/backend/backend/src/controllers/user/user-validation.js.map +1 -0
  290. package/dist/backend/backend/src/controllers/user/user.routes.d.ts.map +1 -1
  291. package/dist/backend/backend/src/controllers/user/user.routes.js +7 -4
  292. package/dist/backend/backend/src/controllers/user/user.routes.js.map +1 -1
  293. package/dist/backend/backend/src/controllers/v2-workspace/workspace.controller.d.ts +72 -0
  294. package/dist/backend/backend/src/controllers/v2-workspace/workspace.controller.d.ts.map +1 -0
  295. package/dist/backend/backend/src/controllers/v2-workspace/workspace.controller.js +236 -0
  296. package/dist/backend/backend/src/controllers/v2-workspace/workspace.controller.js.map +1 -0
  297. package/dist/backend/backend/src/controllers/v2-workspace/workspace.routes.d.ts +15 -0
  298. package/dist/backend/backend/src/controllers/v2-workspace/workspace.routes.d.ts.map +1 -0
  299. package/dist/backend/backend/src/controllers/v2-workspace/workspace.routes.js +31 -0
  300. package/dist/backend/backend/src/controllers/v2-workspace/workspace.routes.js.map +1 -0
  301. package/dist/backend/backend/src/index.d.ts +18 -0
  302. package/dist/backend/backend/src/index.d.ts.map +1 -1
  303. package/dist/backend/backend/src/index.js +643 -11
  304. package/dist/backend/backend/src/index.js.map +1 -1
  305. package/dist/backend/backend/src/middleware/cache.middleware.d.ts +43 -0
  306. package/dist/backend/backend/src/middleware/cache.middleware.d.ts.map +1 -0
  307. package/dist/backend/backend/src/middleware/cache.middleware.js +103 -0
  308. package/dist/backend/backend/src/middleware/cache.middleware.js.map +1 -0
  309. package/dist/backend/backend/src/middleware/require-auth.middleware.d.ts +49 -9
  310. package/dist/backend/backend/src/middleware/require-auth.middleware.d.ts.map +1 -1
  311. package/dist/backend/backend/src/middleware/require-auth.middleware.js +115 -9
  312. package/dist/backend/backend/src/middleware/require-auth.middleware.js.map +1 -1
  313. package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
  314. package/dist/backend/backend/src/routes/api.routes.js +77 -0
  315. package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
  316. package/dist/backend/backend/src/routes/modules/task-management.routes.d.ts.map +1 -1
  317. package/dist/backend/backend/src/routes/modules/task-management.routes.js +4 -0
  318. package/dist/backend/backend/src/routes/modules/task-management.routes.js.map +1 -1
  319. package/dist/backend/backend/src/scripts/backfill-mission-priority.d.ts +43 -0
  320. package/dist/backend/backend/src/scripts/backfill-mission-priority.d.ts.map +1 -0
  321. package/dist/backend/backend/src/scripts/backfill-mission-priority.js +90 -0
  322. package/dist/backend/backend/src/scripts/backfill-mission-priority.js.map +1 -0
  323. package/dist/backend/backend/src/services/agent/agent-heartbeat-monitor.service.d.ts +6 -9
  324. package/dist/backend/backend/src/services/agent/agent-heartbeat-monitor.service.d.ts.map +1 -1
  325. package/dist/backend/backend/src/services/agent/agent-heartbeat-monitor.service.js +43 -30
  326. package/dist/backend/backend/src/services/agent/agent-heartbeat-monitor.service.js.map +1 -1
  327. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  328. package/dist/backend/backend/src/services/agent/agent-registration.service.js +14 -0
  329. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  330. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts +66 -1
  331. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts.map +1 -1
  332. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js +282 -4
  333. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js.map +1 -1
  334. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.d.ts +60 -0
  335. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.d.ts.map +1 -0
  336. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js +407 -0
  337. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js.map +1 -0
  338. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/cli-adapter.d.ts +130 -0
  339. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/cli-adapter.d.ts.map +1 -0
  340. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/cli-adapter.js +406 -0
  341. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/cli-adapter.js.map +1 -0
  342. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/crewly-agent-adapter.d.ts +68 -0
  343. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/crewly-agent-adapter.d.ts.map +1 -0
  344. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/crewly-agent-adapter.js +206 -0
  345. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/crewly-agent-adapter.js.map +1 -0
  346. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/index.d.ts +32 -0
  347. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/index.d.ts.map +1 -0
  348. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/index.js +46 -0
  349. package/dist/backend/backend/src/services/agent/crewly-agent/eval/adapters/index.js.map +1 -0
  350. package/dist/backend/backend/src/services/agent/crewly-agent/eval/context-generator.d.ts +87 -0
  351. package/dist/backend/backend/src/services/agent/crewly-agent/eval/context-generator.d.ts.map +1 -0
  352. package/dist/backend/backend/src/services/agent/crewly-agent/eval/context-generator.js +299 -0
  353. package/dist/backend/backend/src/services/agent/crewly-agent/eval/context-generator.js.map +1 -0
  354. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-runner.d.ts +59 -0
  355. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-runner.d.ts.map +1 -0
  356. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-runner.js +218 -0
  357. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-runner.js.map +1 -0
  358. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-scorer.d.ts +203 -0
  359. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-scorer.d.ts.map +1 -0
  360. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-scorer.js +467 -0
  361. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-scorer.js.map +1 -0
  362. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-types.d.ts +313 -0
  363. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-types.d.ts.map +1 -0
  364. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-types.js +45 -0
  365. package/dist/backend/backend/src/services/agent/crewly-agent/eval/eval-types.js.map +1 -0
  366. package/dist/backend/backend/src/services/agent/crewly-agent/eval/index.d.ts +21 -0
  367. package/dist/backend/backend/src/services/agent/crewly-agent/eval/index.d.ts.map +1 -0
  368. package/dist/backend/backend/src/services/agent/crewly-agent/eval/index.js +21 -0
  369. package/dist/backend/backend/src/services/agent/crewly-agent/eval/index.js.map +1 -0
  370. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-cli.d.ts +15 -0
  371. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-cli.d.ts.map +1 -0
  372. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-cli.js +349 -0
  373. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-cli.js.map +1 -0
  374. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-l4.d.ts +97 -0
  375. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-l4.d.ts.map +1 -0
  376. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-l4.js +414 -0
  377. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-l4.js.map +1 -0
  378. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-standalone.d.ts +42 -0
  379. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-standalone.d.ts.map +1 -0
  380. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-standalone.js +403 -0
  381. package/dist/backend/backend/src/services/agent/crewly-agent/eval/run-eval-standalone.js.map +1 -0
  382. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/index.d.ts +41 -0
  383. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/index.d.ts.map +1 -0
  384. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/index.js +58 -0
  385. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/index.js.map +1 -0
  386. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l1-tasks.d.ts +15 -0
  387. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l1-tasks.d.ts.map +1 -0
  388. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l1-tasks.js +396 -0
  389. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l1-tasks.js.map +1 -0
  390. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l2-tasks.d.ts +14 -0
  391. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l2-tasks.d.ts.map +1 -0
  392. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l2-tasks.js +564 -0
  393. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l2-tasks.js.map +1 -0
  394. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l3-tasks.d.ts +13 -0
  395. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l3-tasks.d.ts.map +1 -0
  396. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l3-tasks.js +634 -0
  397. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l3-tasks.js.map +1 -0
  398. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l4-tasks.d.ts +21 -0
  399. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l4-tasks.d.ts.map +1 -0
  400. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l4-tasks.js +1036 -0
  401. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tasks/l4-tasks.js.map +1 -0
  402. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tool-log-parser.d.ts +100 -0
  403. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tool-log-parser.d.ts.map +1 -0
  404. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tool-log-parser.js +187 -0
  405. package/dist/backend/backend/src/services/agent/crewly-agent/eval/tool-log-parser.js.map +1 -0
  406. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.d.ts.map +1 -1
  407. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js +43 -6
  408. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js.map +1 -1
  409. package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts +7 -0
  410. package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts.map +1 -1
  411. package/dist/backend/backend/src/services/agent/crewly-agent/types.js.map +1 -1
  412. package/dist/backend/backend/src/services/agent/idle-detection.service.d.ts +10 -0
  413. package/dist/backend/backend/src/services/agent/idle-detection.service.d.ts.map +1 -1
  414. package/dist/backend/backend/src/services/agent/idle-detection.service.js +63 -0
  415. package/dist/backend/backend/src/services/agent/idle-detection.service.js.map +1 -1
  416. package/dist/backend/backend/src/services/ai/prompt-modules/expert-profile.module.d.ts +41 -0
  417. package/dist/backend/backend/src/services/ai/prompt-modules/expert-profile.module.d.ts.map +1 -0
  418. package/dist/backend/backend/src/services/ai/prompt-modules/expert-profile.module.js +95 -0
  419. package/dist/backend/backend/src/services/ai/prompt-modules/expert-profile.module.js.map +1 -0
  420. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.d.ts.map +1 -1
  421. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.js +21 -0
  422. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.js.map +1 -1
  423. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts +47 -0
  424. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts.map +1 -1
  425. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.js.map +1 -1
  426. package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.d.ts +26 -2
  427. package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.d.ts.map +1 -1
  428. package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.js +191 -8
  429. package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.js.map +1 -1
  430. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
  431. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js +4 -0
  432. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
  433. package/dist/backend/backend/src/services/ai/prompt-modules/team-norms.module.d.ts +61 -0
  434. package/dist/backend/backend/src/services/ai/prompt-modules/team-norms.module.d.ts.map +1 -0
  435. package/dist/backend/backend/src/services/ai/prompt-modules/team-norms.module.js +197 -0
  436. package/dist/backend/backend/src/services/ai/prompt-modules/team-norms.module.js.map +1 -0
  437. package/dist/backend/backend/src/services/browser/browser-bridge.service.d.ts.map +1 -1
  438. package/dist/backend/backend/src/services/browser/browser-bridge.service.js +3 -1
  439. package/dist/backend/backend/src/services/browser/browser-bridge.service.js.map +1 -1
  440. package/dist/backend/backend/src/services/browser/browser-proxy.service.d.ts +11 -2
  441. package/dist/backend/backend/src/services/browser/browser-proxy.service.d.ts.map +1 -1
  442. package/dist/backend/backend/src/services/browser/browser-proxy.service.js +59 -10
  443. package/dist/backend/backend/src/services/browser/browser-proxy.service.js.map +1 -1
  444. package/dist/backend/backend/src/services/cache/redis-cache.service.d.ts +115 -0
  445. package/dist/backend/backend/src/services/cache/redis-cache.service.d.ts.map +1 -0
  446. package/dist/backend/backend/src/services/cache/redis-cache.service.js +316 -0
  447. package/dist/backend/backend/src/services/cache/redis-cache.service.js.map +1 -0
  448. package/dist/backend/backend/src/services/cloud/cloud-client.service.d.ts +8 -0
  449. package/dist/backend/backend/src/services/cloud/cloud-client.service.d.ts.map +1 -1
  450. package/dist/backend/backend/src/services/cloud/cloud-client.service.js +55 -4
  451. package/dist/backend/backend/src/services/cloud/cloud-client.service.js.map +1 -1
  452. package/dist/backend/backend/src/services/core/logger.service.js +1 -1
  453. package/dist/backend/backend/src/services/core/logger.service.js.map +1 -1
  454. package/dist/backend/backend/src/services/core/storage.service.d.ts +33 -0
  455. package/dist/backend/backend/src/services/core/storage.service.d.ts.map +1 -1
  456. package/dist/backend/backend/src/services/core/storage.service.js +54 -0
  457. package/dist/backend/backend/src/services/core/storage.service.js.map +1 -1
  458. package/dist/backend/backend/src/services/core/system-health.util.d.ts +23 -0
  459. package/dist/backend/backend/src/services/core/system-health.util.d.ts.map +1 -0
  460. package/dist/backend/backend/src/services/core/system-health.util.js +44 -0
  461. package/dist/backend/backend/src/services/core/system-health.util.js.map +1 -0
  462. package/dist/backend/backend/src/services/fission/fission-guard.service.d.ts +188 -0
  463. package/dist/backend/backend/src/services/fission/fission-guard.service.d.ts.map +1 -0
  464. package/dist/backend/backend/src/services/fission/fission-guard.service.js +372 -0
  465. package/dist/backend/backend/src/services/fission/fission-guard.service.js.map +1 -0
  466. package/dist/backend/backend/src/services/fission/fission-guard.types.d.ts +137 -0
  467. package/dist/backend/backend/src/services/fission/fission-guard.types.d.ts.map +1 -0
  468. package/dist/backend/backend/src/services/fission/fission-guard.types.js +133 -0
  469. package/dist/backend/backend/src/services/fission/fission-guard.types.js.map +1 -0
  470. package/dist/backend/backend/src/services/intent-task/intent-decomposition.service.d.ts +91 -0
  471. package/dist/backend/backend/src/services/intent-task/intent-decomposition.service.d.ts.map +1 -0
  472. package/dist/backend/backend/src/services/intent-task/intent-decomposition.service.js +179 -0
  473. package/dist/backend/backend/src/services/intent-task/intent-decomposition.service.js.map +1 -0
  474. package/dist/backend/backend/src/services/intent-task/intent-task-follow-up.service.d.ts +138 -0
  475. package/dist/backend/backend/src/services/intent-task/intent-task-follow-up.service.d.ts.map +1 -0
  476. package/dist/backend/backend/src/services/intent-task/intent-task-follow-up.service.js +244 -0
  477. package/dist/backend/backend/src/services/intent-task/intent-task-follow-up.service.js.map +1 -0
  478. package/dist/backend/backend/src/services/intent-task/intent-task.service.d.ts +333 -0
  479. package/dist/backend/backend/src/services/intent-task/intent-task.service.d.ts.map +1 -0
  480. package/dist/backend/backend/src/services/intent-task/intent-task.service.js +843 -0
  481. package/dist/backend/backend/src/services/intent-task/intent-task.service.js.map +1 -0
  482. package/dist/backend/backend/src/services/knowledge/fts5-index.service.d.ts +118 -0
  483. package/dist/backend/backend/src/services/knowledge/fts5-index.service.d.ts.map +1 -0
  484. package/dist/backend/backend/src/services/knowledge/fts5-index.service.js +220 -0
  485. package/dist/backend/backend/src/services/knowledge/fts5-index.service.js.map +1 -0
  486. package/dist/backend/backend/src/services/knowledge/fts5-search-strategy.d.ts +56 -0
  487. package/dist/backend/backend/src/services/knowledge/fts5-search-strategy.d.ts.map +1 -0
  488. package/dist/backend/backend/src/services/knowledge/fts5-search-strategy.js +91 -0
  489. package/dist/backend/backend/src/services/knowledge/fts5-search-strategy.js.map +1 -0
  490. package/dist/backend/backend/src/services/knowledge/wiki-compiler.service.d.ts +115 -0
  491. package/dist/backend/backend/src/services/knowledge/wiki-compiler.service.d.ts.map +1 -0
  492. package/dist/backend/backend/src/services/knowledge/wiki-compiler.service.js +215 -0
  493. package/dist/backend/backend/src/services/knowledge/wiki-compiler.service.js.map +1 -0
  494. package/dist/backend/backend/src/services/marketplace/marketplace-auto-update.service.d.ts +34 -0
  495. package/dist/backend/backend/src/services/marketplace/marketplace-auto-update.service.d.ts.map +1 -0
  496. package/dist/backend/backend/src/services/marketplace/marketplace-auto-update.service.js +128 -0
  497. package/dist/backend/backend/src/services/marketplace/marketplace-auto-update.service.js.map +1 -0
  498. package/dist/backend/backend/src/services/memory/agent-memory.service.d.ts +11 -0
  499. package/dist/backend/backend/src/services/memory/agent-memory.service.d.ts.map +1 -1
  500. package/dist/backend/backend/src/services/memory/agent-memory.service.js +76 -11
  501. package/dist/backend/backend/src/services/memory/agent-memory.service.js.map +1 -1
  502. package/dist/backend/backend/src/services/memory/embedding-provider.d.ts +78 -0
  503. package/dist/backend/backend/src/services/memory/embedding-provider.d.ts.map +1 -0
  504. package/dist/backend/backend/src/services/memory/embedding-provider.js +185 -0
  505. package/dist/backend/backend/src/services/memory/embedding-provider.js.map +1 -0
  506. package/dist/backend/backend/src/services/memory/vector-store.service.d.ts +331 -0
  507. package/dist/backend/backend/src/services/memory/vector-store.service.d.ts.map +1 -0
  508. package/dist/backend/backend/src/services/memory/vector-store.service.js +814 -0
  509. package/dist/backend/backend/src/services/memory/vector-store.service.js.map +1 -0
  510. package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts +15 -0
  511. package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts.map +1 -1
  512. package/dist/backend/backend/src/services/messaging/queue-processor.service.js +42 -0
  513. package/dist/backend/backend/src/services/messaging/queue-processor.service.js.map +1 -1
  514. package/dist/backend/backend/src/services/messaging/thread-status-queue.service.d.ts +8 -0
  515. package/dist/backend/backend/src/services/messaging/thread-status-queue.service.d.ts.map +1 -1
  516. package/dist/backend/backend/src/services/messaging/thread-status-queue.service.js +20 -0
  517. package/dist/backend/backend/src/services/messaging/thread-status-queue.service.js.map +1 -1
  518. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.d.ts +17 -0
  519. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.d.ts.map +1 -1
  520. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js +62 -0
  521. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js.map +1 -1
  522. package/dist/backend/backend/src/services/monitoring/claude-session-tokens.service.d.ts +81 -0
  523. package/dist/backend/backend/src/services/monitoring/claude-session-tokens.service.d.ts.map +1 -0
  524. package/dist/backend/backend/src/services/monitoring/claude-session-tokens.service.js +287 -0
  525. package/dist/backend/backend/src/services/monitoring/claude-session-tokens.service.js.map +1 -0
  526. package/dist/backend/backend/src/services/monitoring/runtime-token-parser.service.d.ts +73 -0
  527. package/dist/backend/backend/src/services/monitoring/runtime-token-parser.service.d.ts.map +1 -0
  528. package/dist/backend/backend/src/services/monitoring/runtime-token-parser.service.js +199 -0
  529. package/dist/backend/backend/src/services/monitoring/runtime-token-parser.service.js.map +1 -0
  530. package/dist/backend/backend/src/services/monitoring/system-resource-alert.service.d.ts +7 -0
  531. package/dist/backend/backend/src/services/monitoring/system-resource-alert.service.d.ts.map +1 -1
  532. package/dist/backend/backend/src/services/monitoring/system-resource-alert.service.js +37 -6
  533. package/dist/backend/backend/src/services/monitoring/system-resource-alert.service.js.map +1 -1
  534. package/dist/backend/backend/src/services/monitoring/token-usage.service.d.ts +56 -4
  535. package/dist/backend/backend/src/services/monitoring/token-usage.service.d.ts.map +1 -1
  536. package/dist/backend/backend/src/services/monitoring/token-usage.service.js +102 -7
  537. package/dist/backend/backend/src/services/monitoring/token-usage.service.js.map +1 -1
  538. package/dist/backend/backend/src/services/onboarding/brand-onboarding.service.d.ts +5 -1
  539. package/dist/backend/backend/src/services/onboarding/brand-onboarding.service.d.ts.map +1 -1
  540. package/dist/backend/backend/src/services/onboarding/brand-onboarding.service.js +41 -0
  541. package/dist/backend/backend/src/services/onboarding/brand-onboarding.service.js.map +1 -1
  542. package/dist/backend/backend/src/services/onboarding/brand-onboarding.types.d.ts +36 -0
  543. package/dist/backend/backend/src/services/onboarding/brand-onboarding.types.d.ts.map +1 -1
  544. package/dist/backend/backend/src/services/onboarding/brand-onboarding.types.js.map +1 -1
  545. package/dist/backend/backend/src/services/onboarding/onboarding-provision.service.d.ts +51 -0
  546. package/dist/backend/backend/src/services/onboarding/onboarding-provision.service.d.ts.map +1 -0
  547. package/dist/backend/backend/src/services/onboarding/onboarding-provision.service.js +136 -0
  548. package/dist/backend/backend/src/services/onboarding/onboarding-provision.service.js.map +1 -0
  549. package/dist/backend/backend/src/services/onboarding/onboarding-provision.types.d.ts +178 -0
  550. package/dist/backend/backend/src/services/onboarding/onboarding-provision.types.d.ts.map +1 -0
  551. package/dist/backend/backend/src/services/onboarding/onboarding-provision.types.js +163 -0
  552. package/dist/backend/backend/src/services/onboarding/onboarding-provision.types.js.map +1 -0
  553. package/dist/backend/backend/src/services/onboarding/website-analysis.service.d.ts +141 -0
  554. package/dist/backend/backend/src/services/onboarding/website-analysis.service.d.ts.map +1 -0
  555. package/dist/backend/backend/src/services/onboarding/website-analysis.service.js +411 -0
  556. package/dist/backend/backend/src/services/onboarding/website-analysis.service.js.map +1 -0
  557. package/dist/backend/backend/src/services/onboarding/website-analysis.types.d.ts +129 -0
  558. package/dist/backend/backend/src/services/onboarding/website-analysis.types.d.ts.map +1 -0
  559. package/dist/backend/backend/src/services/onboarding/website-analysis.types.js +10 -0
  560. package/dist/backend/backend/src/services/onboarding/website-analysis.types.js.map +1 -0
  561. package/dist/backend/backend/src/services/onboarding/website-extractor.service.d.ts +241 -0
  562. package/dist/backend/backend/src/services/onboarding/website-extractor.service.d.ts.map +1 -0
  563. package/dist/backend/backend/src/services/onboarding/website-extractor.service.js +605 -0
  564. package/dist/backend/backend/src/services/onboarding/website-extractor.service.js.map +1 -0
  565. package/dist/backend/backend/src/services/payment/stripe.service.d.ts.map +1 -1
  566. package/dist/backend/backend/src/services/payment/stripe.service.js +17 -11
  567. package/dist/backend/backend/src/services/payment/stripe.service.js.map +1 -1
  568. package/dist/backend/backend/src/services/policy/default-policies.d.ts +66 -0
  569. package/dist/backend/backend/src/services/policy/default-policies.d.ts.map +1 -0
  570. package/dist/backend/backend/src/services/policy/default-policies.js +120 -0
  571. package/dist/backend/backend/src/services/policy/default-policies.js.map +1 -0
  572. package/dist/backend/backend/src/services/policy/policy-enforcement.service.d.ts +77 -0
  573. package/dist/backend/backend/src/services/policy/policy-enforcement.service.d.ts.map +1 -0
  574. package/dist/backend/backend/src/services/policy/policy-enforcement.service.js +164 -0
  575. package/dist/backend/backend/src/services/policy/policy-enforcement.service.js.map +1 -0
  576. package/dist/backend/backend/src/services/project/active-projects.service.d.ts +0 -4
  577. package/dist/backend/backend/src/services/project/active-projects.service.d.ts.map +1 -1
  578. package/dist/backend/backend/src/services/project/active-projects.service.js +1 -43
  579. package/dist/backend/backend/src/services/project/active-projects.service.js.map +1 -1
  580. package/dist/backend/backend/src/services/project/task.service.d.ts.map +1 -1
  581. package/dist/backend/backend/src/services/project/task.service.js +88 -48
  582. package/dist/backend/backend/src/services/project/task.service.js.map +1 -1
  583. package/dist/backend/backend/src/services/provisioning/deployment-orchestrator.service.d.ts +137 -0
  584. package/dist/backend/backend/src/services/provisioning/deployment-orchestrator.service.d.ts.map +1 -0
  585. package/dist/backend/backend/src/services/provisioning/deployment-orchestrator.service.js +410 -0
  586. package/dist/backend/backend/src/services/provisioning/deployment-orchestrator.service.js.map +1 -0
  587. package/dist/backend/backend/src/services/provisioning/deployment-orchestrator.types.d.ts +182 -0
  588. package/dist/backend/backend/src/services/provisioning/deployment-orchestrator.types.d.ts.map +1 -0
  589. package/dist/backend/backend/src/services/provisioning/deployment-orchestrator.types.js +84 -0
  590. package/dist/backend/backend/src/services/provisioning/deployment-orchestrator.types.js.map +1 -0
  591. package/dist/backend/backend/src/services/provisioning/deployment-status.service.d.ts +149 -0
  592. package/dist/backend/backend/src/services/provisioning/deployment-status.service.d.ts.map +1 -0
  593. package/dist/backend/backend/src/services/provisioning/deployment-status.service.js +201 -0
  594. package/dist/backend/backend/src/services/provisioning/deployment-status.service.js.map +1 -0
  595. package/dist/backend/backend/src/services/provisioning/provisioning.service.d.ts +135 -0
  596. package/dist/backend/backend/src/services/provisioning/provisioning.service.d.ts.map +1 -0
  597. package/dist/backend/backend/src/services/provisioning/provisioning.service.js +261 -0
  598. package/dist/backend/backend/src/services/provisioning/provisioning.service.js.map +1 -0
  599. package/dist/backend/backend/src/services/provisioning/provisioning.types.d.ts +184 -0
  600. package/dist/backend/backend/src/services/provisioning/provisioning.types.d.ts.map +1 -0
  601. package/dist/backend/backend/src/services/provisioning/provisioning.types.js +119 -0
  602. package/dist/backend/backend/src/services/provisioning/provisioning.types.js.map +1 -0
  603. package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts +229 -0
  604. package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts.map +1 -0
  605. package/dist/backend/backend/src/services/reconciler/reconcile-rules.js +666 -0
  606. package/dist/backend/backend/src/services/reconciler/reconcile-rules.js.map +1 -0
  607. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts +141 -0
  608. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts.map +1 -0
  609. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js +470 -0
  610. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js.map +1 -0
  611. package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts +144 -0
  612. package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts.map +1 -0
  613. package/dist/backend/backend/src/services/reconciler/reconciler.service.js +360 -0
  614. package/dist/backend/backend/src/services/reconciler/reconciler.service.js.map +1 -0
  615. package/dist/backend/backend/src/services/session/pty/pty-session-backend.d.ts.map +1 -1
  616. package/dist/backend/backend/src/services/session/pty/pty-session-backend.js +4 -3
  617. package/dist/backend/backend/src/services/session/pty/pty-session-backend.js.map +1 -1
  618. package/dist/backend/backend/src/services/session/session-handoff.service.d.ts.map +1 -1
  619. package/dist/backend/backend/src/services/session/session-handoff.service.js +13 -0
  620. package/dist/backend/backend/src/services/session/session-handoff.service.js.map +1 -1
  621. package/dist/backend/backend/src/services/skill/skill-permission.service.d.ts +59 -0
  622. package/dist/backend/backend/src/services/skill/skill-permission.service.d.ts.map +1 -0
  623. package/dist/backend/backend/src/services/skill/skill-permission.service.js +141 -0
  624. package/dist/backend/backend/src/services/skill/skill-permission.service.js.map +1 -0
  625. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts +13 -0
  626. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
  627. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js +124 -0
  628. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
  629. package/dist/backend/backend/src/services/slack/slack.service.d.ts.map +1 -1
  630. package/dist/backend/backend/src/services/slack/slack.service.js +78 -0
  631. package/dist/backend/backend/src/services/slack/slack.service.js.map +1 -1
  632. package/dist/backend/backend/src/services/task-pool/claim.service.d.ts +190 -0
  633. package/dist/backend/backend/src/services/task-pool/claim.service.d.ts.map +1 -0
  634. package/dist/backend/backend/src/services/task-pool/claim.service.js +354 -0
  635. package/dist/backend/backend/src/services/task-pool/claim.service.js.map +1 -0
  636. package/dist/backend/backend/src/services/task-pool/pool-storage.d.ts +146 -0
  637. package/dist/backend/backend/src/services/task-pool/pool-storage.d.ts.map +1 -0
  638. package/dist/backend/backend/src/services/task-pool/pool-storage.js +243 -0
  639. package/dist/backend/backend/src/services/task-pool/pool-storage.js.map +1 -0
  640. package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts +288 -0
  641. package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -0
  642. package/dist/backend/backend/src/services/task-pool/task-pool.service.js +653 -0
  643. package/dist/backend/backend/src/services/task-pool/task-pool.service.js.map +1 -0
  644. package/dist/backend/backend/src/services/template/template.service.d.ts +2 -0
  645. package/dist/backend/backend/src/services/template/template.service.d.ts.map +1 -1
  646. package/dist/backend/backend/src/services/template/template.service.js +17 -3
  647. package/dist/backend/backend/src/services/template/template.service.js.map +1 -1
  648. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.d.ts +90 -0
  649. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.d.ts.map +1 -0
  650. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.js +394 -0
  651. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.js.map +1 -0
  652. package/dist/backend/backend/src/services/v3/escalation-router.service.d.ts +100 -0
  653. package/dist/backend/backend/src/services/v3/escalation-router.service.d.ts.map +1 -0
  654. package/dist/backend/backend/src/services/v3/escalation-router.service.js +357 -0
  655. package/dist/backend/backend/src/services/v3/escalation-router.service.js.map +1 -0
  656. package/dist/backend/backend/src/services/v3/escalation.service.d.ts +148 -0
  657. package/dist/backend/backend/src/services/v3/escalation.service.d.ts.map +1 -0
  658. package/dist/backend/backend/src/services/v3/escalation.service.js +371 -0
  659. package/dist/backend/backend/src/services/v3/escalation.service.js.map +1 -0
  660. package/dist/backend/backend/src/services/v3/kr-tracking.service.d.ts +109 -0
  661. package/dist/backend/backend/src/services/v3/kr-tracking.service.d.ts.map +1 -0
  662. package/dist/backend/backend/src/services/v3/kr-tracking.service.js +314 -0
  663. package/dist/backend/backend/src/services/v3/kr-tracking.service.js.map +1 -0
  664. package/dist/backend/backend/src/services/v3/mission-executor.service.d.ts +117 -0
  665. package/dist/backend/backend/src/services/v3/mission-executor.service.d.ts.map +1 -0
  666. package/dist/backend/backend/src/services/v3/mission-executor.service.js +301 -0
  667. package/dist/backend/backend/src/services/v3/mission-executor.service.js.map +1 -0
  668. package/dist/backend/backend/src/services/v3/mission-period.service.d.ts +73 -0
  669. package/dist/backend/backend/src/services/v3/mission-period.service.d.ts.map +1 -0
  670. package/dist/backend/backend/src/services/v3/mission-period.service.js +200 -0
  671. package/dist/backend/backend/src/services/v3/mission-period.service.js.map +1 -0
  672. package/dist/backend/backend/src/services/v3/okr-review.service.d.ts +58 -0
  673. package/dist/backend/backend/src/services/v3/okr-review.service.d.ts.map +1 -0
  674. package/dist/backend/backend/src/services/v3/okr-review.service.js +221 -0
  675. package/dist/backend/backend/src/services/v3/okr-review.service.js.map +1 -0
  676. package/dist/backend/backend/src/services/v3/project-task-watcher.service.d.ts +118 -0
  677. package/dist/backend/backend/src/services/v3/project-task-watcher.service.d.ts.map +1 -0
  678. package/dist/backend/backend/src/services/v3/project-task-watcher.service.js +326 -0
  679. package/dist/backend/backend/src/services/v3/project-task-watcher.service.js.map +1 -0
  680. package/dist/backend/backend/src/services/v3/request-notification.service.d.ts +52 -0
  681. package/dist/backend/backend/src/services/v3/request-notification.service.d.ts.map +1 -0
  682. package/dist/backend/backend/src/services/v3/request-notification.service.js +161 -0
  683. package/dist/backend/backend/src/services/v3/request-notification.service.js.map +1 -0
  684. package/dist/backend/backend/src/services/v3/request-tracker.service.d.ts +78 -0
  685. package/dist/backend/backend/src/services/v3/request-tracker.service.d.ts.map +1 -0
  686. package/dist/backend/backend/src/services/v3/request-tracker.service.js +108 -0
  687. package/dist/backend/backend/src/services/v3/request-tracker.service.js.map +1 -0
  688. package/dist/backend/backend/src/services/v3/request.service.d.ts +166 -0
  689. package/dist/backend/backend/src/services/v3/request.service.d.ts.map +1 -0
  690. package/dist/backend/backend/src/services/v3/request.service.js +310 -0
  691. package/dist/backend/backend/src/services/v3/request.service.js.map +1 -0
  692. package/dist/backend/backend/src/services/v3/service-contract-gate.service.d.ts +88 -0
  693. package/dist/backend/backend/src/services/v3/service-contract-gate.service.d.ts.map +1 -0
  694. package/dist/backend/backend/src/services/v3/service-contract-gate.service.js +138 -0
  695. package/dist/backend/backend/src/services/v3/service-contract-gate.service.js.map +1 -0
  696. package/dist/backend/backend/src/services/v3/task-projection.service.d.ts +128 -0
  697. package/dist/backend/backend/src/services/v3/task-projection.service.d.ts.map +1 -0
  698. package/dist/backend/backend/src/services/v3/task-projection.service.js +378 -0
  699. package/dist/backend/backend/src/services/v3/task-projection.service.js.map +1 -0
  700. package/dist/backend/backend/src/services/v3/team-trigger-reconciler.service.d.ts +77 -0
  701. package/dist/backend/backend/src/services/v3/team-trigger-reconciler.service.d.ts.map +1 -0
  702. package/dist/backend/backend/src/services/v3/team-trigger-reconciler.service.js +177 -0
  703. package/dist/backend/backend/src/services/v3/team-trigger-reconciler.service.js.map +1 -0
  704. package/dist/backend/backend/src/services/v3/tl-auto-verify.service.d.ts +63 -0
  705. package/dist/backend/backend/src/services/v3/tl-auto-verify.service.d.ts.map +1 -0
  706. package/dist/backend/backend/src/services/v3/tl-auto-verify.service.js +169 -0
  707. package/dist/backend/backend/src/services/v3/tl-auto-verify.service.js.map +1 -0
  708. package/dist/backend/backend/src/services/v3/trigger-engine.service.d.ts +263 -0
  709. package/dist/backend/backend/src/services/v3/trigger-engine.service.d.ts.map +1 -0
  710. package/dist/backend/backend/src/services/v3/trigger-engine.service.js +632 -0
  711. package/dist/backend/backend/src/services/v3/trigger-engine.service.js.map +1 -0
  712. package/dist/backend/backend/src/services/v3/v3-data.service.d.ts +298 -0
  713. package/dist/backend/backend/src/services/v3/v3-data.service.d.ts.map +1 -0
  714. package/dist/backend/backend/src/services/v3/v3-data.service.js +1075 -0
  715. package/dist/backend/backend/src/services/v3/v3-data.service.js.map +1 -0
  716. package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts +5 -11
  717. package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts.map +1 -1
  718. package/dist/backend/backend/src/services/workflow/scheduler.service.js +34 -23
  719. package/dist/backend/backend/src/services/workflow/scheduler.service.js.map +1 -1
  720. package/dist/backend/backend/src/services/workspace/workspace.service.d.ts +120 -0
  721. package/dist/backend/backend/src/services/workspace/workspace.service.d.ts.map +1 -0
  722. package/dist/backend/backend/src/services/workspace/workspace.service.js +271 -0
  723. package/dist/backend/backend/src/services/workspace/workspace.service.js.map +1 -0
  724. package/dist/backend/backend/src/types/index.d.ts +42 -0
  725. package/dist/backend/backend/src/types/index.d.ts.map +1 -1
  726. package/dist/backend/backend/src/types/index.js.map +1 -1
  727. package/dist/backend/backend/src/types/intent-task.types.d.ts +386 -0
  728. package/dist/backend/backend/src/types/intent-task.types.d.ts.map +1 -0
  729. package/dist/backend/backend/src/types/intent-task.types.js +231 -0
  730. package/dist/backend/backend/src/types/intent-task.types.js.map +1 -0
  731. package/dist/backend/backend/src/types/memory.types.d.ts +19 -0
  732. package/dist/backend/backend/src/types/memory.types.d.ts.map +1 -1
  733. package/dist/backend/backend/src/types/memory.types.js.map +1 -1
  734. package/dist/backend/backend/src/types/team-template.types.d.ts +54 -0
  735. package/dist/backend/backend/src/types/team-template.types.d.ts.map +1 -1
  736. package/dist/backend/backend/src/types/team-template.types.js.map +1 -1
  737. package/dist/backend/backend/src/types/v2/claim.types.d.ts +140 -0
  738. package/dist/backend/backend/src/types/v2/claim.types.d.ts.map +1 -0
  739. package/dist/backend/backend/src/types/v2/claim.types.js +180 -0
  740. package/dist/backend/backend/src/types/v2/claim.types.js.map +1 -0
  741. package/dist/backend/backend/src/types/v2/index.d.ts +30 -0
  742. package/dist/backend/backend/src/types/v2/index.d.ts.map +1 -0
  743. package/dist/backend/backend/src/types/v2/index.js +22 -0
  744. package/dist/backend/backend/src/types/v2/index.js.map +1 -0
  745. package/dist/backend/backend/src/types/v2/key-result.types.d.ts +195 -0
  746. package/dist/backend/backend/src/types/v2/key-result.types.d.ts.map +1 -0
  747. package/dist/backend/backend/src/types/v2/key-result.types.js +194 -0
  748. package/dist/backend/backend/src/types/v2/key-result.types.js.map +1 -0
  749. package/dist/backend/backend/src/types/v2/mission.types.d.ts +408 -0
  750. package/dist/backend/backend/src/types/v2/mission.types.d.ts.map +1 -0
  751. package/dist/backend/backend/src/types/v2/mission.types.js +482 -0
  752. package/dist/backend/backend/src/types/v2/mission.types.js.map +1 -0
  753. package/dist/backend/backend/src/types/v2/reconcile.types.d.ts +199 -0
  754. package/dist/backend/backend/src/types/v2/reconcile.types.d.ts.map +1 -0
  755. package/dist/backend/backend/src/types/v2/reconcile.types.js +121 -0
  756. package/dist/backend/backend/src/types/v2/reconcile.types.js.map +1 -0
  757. package/dist/backend/backend/src/types/v2/request.types.d.ts +188 -0
  758. package/dist/backend/backend/src/types/v2/request.types.d.ts.map +1 -0
  759. package/dist/backend/backend/src/types/v2/request.types.js +178 -0
  760. package/dist/backend/backend/src/types/v2/request.types.js.map +1 -0
  761. package/dist/backend/backend/src/types/v2/trigger.types.d.ts +201 -0
  762. package/dist/backend/backend/src/types/v2/trigger.types.d.ts.map +1 -0
  763. package/dist/backend/backend/src/types/v2/trigger.types.js +174 -0
  764. package/dist/backend/backend/src/types/v2/trigger.types.js.map +1 -0
  765. package/dist/backend/backend/src/types/v2/work-item.types.d.ts +333 -0
  766. package/dist/backend/backend/src/types/v2/work-item.types.d.ts.map +1 -0
  767. package/dist/backend/backend/src/types/v2/work-item.types.js +274 -0
  768. package/dist/backend/backend/src/types/v2/work-item.types.js.map +1 -0
  769. package/dist/backend/backend/src/types/v2/workspace.types.d.ts +157 -0
  770. package/dist/backend/backend/src/types/v2/workspace.types.d.ts.map +1 -0
  771. package/dist/backend/backend/src/types/v2/workspace.types.js +173 -0
  772. package/dist/backend/backend/src/types/v2/workspace.types.js.map +1 -0
  773. package/dist/backend/backend/src/types/v3/task-record.types.d.ts +98 -0
  774. package/dist/backend/backend/src/types/v3/task-record.types.d.ts.map +1 -0
  775. package/dist/backend/backend/src/types/v3/task-record.types.js +55 -0
  776. package/dist/backend/backend/src/types/v3/task-record.types.js.map +1 -0
  777. package/dist/backend/config/constants.d.ts +47 -0
  778. package/dist/backend/config/constants.d.ts.map +1 -1
  779. package/dist/backend/config/constants.js +49 -0
  780. package/dist/backend/config/constants.js.map +1 -1
  781. package/dist/cli/backend/src/constants.d.ts +5 -0
  782. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  783. package/dist/cli/backend/src/constants.js +5 -0
  784. package/dist/cli/backend/src/constants.js.map +1 -1
  785. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts +47 -0
  786. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts.map +1 -1
  787. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.js.map +1 -1
  788. package/dist/cli/backend/src/services/core/logger.service.js +1 -1
  789. package/dist/cli/backend/src/services/core/logger.service.js.map +1 -1
  790. package/dist/cli/backend/src/services/core/storage.service.d.ts +33 -0
  791. package/dist/cli/backend/src/services/core/storage.service.d.ts.map +1 -1
  792. package/dist/cli/backend/src/services/core/storage.service.js +54 -0
  793. package/dist/cli/backend/src/services/core/storage.service.js.map +1 -1
  794. package/dist/cli/backend/src/services/knowledge/fts5-index.service.d.ts +118 -0
  795. package/dist/cli/backend/src/services/knowledge/fts5-index.service.d.ts.map +1 -0
  796. package/dist/cli/backend/src/services/knowledge/fts5-index.service.js +220 -0
  797. package/dist/cli/backend/src/services/knowledge/fts5-index.service.js.map +1 -0
  798. package/dist/cli/backend/src/services/knowledge/fts5-search-strategy.d.ts +56 -0
  799. package/dist/cli/backend/src/services/knowledge/fts5-search-strategy.d.ts.map +1 -0
  800. package/dist/cli/backend/src/services/knowledge/fts5-search-strategy.js +91 -0
  801. package/dist/cli/backend/src/services/knowledge/fts5-search-strategy.js.map +1 -0
  802. package/dist/cli/backend/src/services/knowledge/wiki-compiler.service.d.ts +115 -0
  803. package/dist/cli/backend/src/services/knowledge/wiki-compiler.service.d.ts.map +1 -0
  804. package/dist/cli/backend/src/services/knowledge/wiki-compiler.service.js +215 -0
  805. package/dist/cli/backend/src/services/knowledge/wiki-compiler.service.js.map +1 -0
  806. package/dist/cli/backend/src/services/memory/agent-memory.service.d.ts +11 -0
  807. package/dist/cli/backend/src/services/memory/agent-memory.service.d.ts.map +1 -1
  808. package/dist/cli/backend/src/services/memory/agent-memory.service.js +76 -11
  809. package/dist/cli/backend/src/services/memory/agent-memory.service.js.map +1 -1
  810. package/dist/cli/backend/src/services/memory/embedding-provider.d.ts +78 -0
  811. package/dist/cli/backend/src/services/memory/embedding-provider.d.ts.map +1 -0
  812. package/dist/cli/backend/src/services/memory/embedding-provider.js +179 -0
  813. package/dist/cli/backend/src/services/memory/embedding-provider.js.map +1 -0
  814. package/dist/cli/backend/src/services/memory/vector-store.service.d.ts +331 -0
  815. package/dist/cli/backend/src/services/memory/vector-store.service.d.ts.map +1 -0
  816. package/dist/cli/backend/src/services/memory/vector-store.service.js +814 -0
  817. package/dist/cli/backend/src/services/memory/vector-store.service.js.map +1 -0
  818. package/dist/cli/backend/src/services/task-pool/claim.service.d.ts +190 -0
  819. package/dist/cli/backend/src/services/task-pool/claim.service.d.ts.map +1 -0
  820. package/dist/cli/backend/src/services/task-pool/claim.service.js +354 -0
  821. package/dist/cli/backend/src/services/task-pool/claim.service.js.map +1 -0
  822. package/dist/cli/backend/src/services/task-pool/pool-storage.d.ts +146 -0
  823. package/dist/cli/backend/src/services/task-pool/pool-storage.d.ts.map +1 -0
  824. package/dist/cli/backend/src/services/task-pool/pool-storage.js +243 -0
  825. package/dist/cli/backend/src/services/task-pool/pool-storage.js.map +1 -0
  826. package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts +263 -0
  827. package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -0
  828. package/dist/cli/backend/src/services/task-pool/task-pool.service.js +605 -0
  829. package/dist/cli/backend/src/services/task-pool/task-pool.service.js.map +1 -0
  830. package/dist/cli/backend/src/types/index.d.ts +42 -0
  831. package/dist/cli/backend/src/types/index.d.ts.map +1 -1
  832. package/dist/cli/backend/src/types/index.js.map +1 -1
  833. package/dist/cli/backend/src/types/memory.types.d.ts +19 -0
  834. package/dist/cli/backend/src/types/memory.types.d.ts.map +1 -1
  835. package/dist/cli/backend/src/types/memory.types.js.map +1 -1
  836. package/dist/cli/backend/src/types/team-template.types.d.ts +222 -0
  837. package/dist/cli/backend/src/types/team-template.types.d.ts.map +1 -0
  838. package/dist/cli/backend/src/types/team-template.types.js +139 -0
  839. package/dist/cli/backend/src/types/team-template.types.js.map +1 -0
  840. package/dist/cli/backend/src/types/v2/claim.types.d.ts +143 -0
  841. package/dist/cli/backend/src/types/v2/claim.types.d.ts.map +1 -0
  842. package/dist/cli/backend/src/types/v2/claim.types.js +183 -0
  843. package/dist/cli/backend/src/types/v2/claim.types.js.map +1 -0
  844. package/dist/cli/backend/src/types/v2/trigger.types.d.ts +201 -0
  845. package/dist/cli/backend/src/types/v2/trigger.types.d.ts.map +1 -0
  846. package/dist/cli/backend/src/types/v2/trigger.types.js +174 -0
  847. package/dist/cli/backend/src/types/v2/trigger.types.js.map +1 -0
  848. package/dist/cli/backend/src/types/v2/work-item.types.d.ts +333 -0
  849. package/dist/cli/backend/src/types/v2/work-item.types.d.ts.map +1 -0
  850. package/dist/cli/backend/src/types/v2/work-item.types.js +274 -0
  851. package/dist/cli/backend/src/types/v2/work-item.types.js.map +1 -0
  852. package/dist/cli/config/constants.d.ts +47 -0
  853. package/dist/cli/config/constants.d.ts.map +1 -1
  854. package/dist/cli/config/constants.js +49 -0
  855. package/dist/cli/config/constants.js.map +1 -1
  856. package/frontend/dist/assets/index-47564020.css +33 -0
  857. package/frontend/dist/assets/index-5e804749.js +5220 -0
  858. package/frontend/dist/index.html +2 -2
  859. package/package.json +3 -1
  860. package/config/skills/agent/computer-use/lib/accessibility.sh +0 -292
  861. package/config/skills/agent/computer-use/lib/applescript.sh +0 -117
  862. package/config/skills/agent/computer-use/lib/discover.sh +0 -122
  863. package/config/skills/agent/computer-use/lib/playwright.sh +0 -153
  864. package/config/skills/agent/computer-use/lib/screenshot.sh +0 -61
  865. package/config/templates/cloud-deploy.json +0 -119
  866. package/config/templates/code-review-team/README.md +0 -176
  867. package/config/templates/code-review-team/team-config.json +0 -23
  868. package/config/templates/code-review-team.json +0 -62
  869. package/config/templates/content-generation-team/README.md +0 -128
  870. package/config/templates/content-generation-team/norms/publish-checklist.md +0 -64
  871. package/config/templates/content-generation-team/team-config.json +0 -28
  872. package/config/templates/content-generation-team.json +0 -67
  873. package/config/templates/dev-fullstack/norms/docker-deploy-cleanup.md +0 -28
  874. package/config/templates/dev-fullstack/template.json +0 -178
  875. package/config/templates/education-smb/README.md +0 -27
  876. package/config/templates/education-smb/goals.md +0 -16
  877. package/config/templates/education-smb/knowledge/docs/content-standards.md +0 -24
  878. package/config/templates/education-smb/knowledge/docs/education-industry-context.md +0 -13
  879. package/config/templates/education-smb/knowledge/index.json +0 -24
  880. package/config/templates/education-smb/learned-patterns.json +0 -16
  881. package/config/templates/education-smb/quality-gates.yaml +0 -66
  882. package/config/templates/education-smb/roles/analytics-specialist.md +0 -6
  883. package/config/templates/education-smb/roles/content-creator.md +0 -6
  884. package/config/templates/education-smb/roles/curriculum-designer.md +0 -6
  885. package/config/templates/education-smb/roles/engagement-manager.md +0 -6
  886. package/config/templates/education-smb/team.json +0 -40
  887. package/config/templates/education-smb/template.json +0 -35
  888. package/config/templates/education-smb/workflows/course-content-generation.yaml +0 -44
  889. package/config/templates/education-smb/workflows/reporting.yaml +0 -31
  890. package/config/templates/education-smb/workflows/student-communication.yaml +0 -44
  891. package/config/templates/education-smb/workflows.yaml +0 -40
  892. package/config/templates/insurance-smb/README.md +0 -28
  893. package/config/templates/insurance-smb/goals.md +0 -21
  894. package/config/templates/insurance-smb/knowledge/docs/compliance-checklist.md +0 -28
  895. package/config/templates/insurance-smb/knowledge/docs/insurance-industry-context.md +0 -23
  896. package/config/templates/insurance-smb/knowledge/index.json +0 -24
  897. package/config/templates/insurance-smb/learned-patterns.json +0 -16
  898. package/config/templates/insurance-smb/quality-gates.yaml +0 -54
  899. package/config/templates/insurance-smb/roles/claims-processor.md +0 -6
  900. package/config/templates/insurance-smb/roles/client-manager.md +0 -6
  901. package/config/templates/insurance-smb/roles/compliance-officer.md +0 -6
  902. package/config/templates/insurance-smb/roles/marketing-specialist.md +0 -6
  903. package/config/templates/insurance-smb/roles/policy-analyst.md +0 -6
  904. package/config/templates/insurance-smb/team.json +0 -48
  905. package/config/templates/insurance-smb/template.json +0 -35
  906. package/config/templates/insurance-smb/workflows/claims-processing.yaml +0 -48
  907. package/config/templates/insurance-smb/workflows.yaml +0 -43
  908. package/config/templates/marketing-team/README.md +0 -42
  909. package/config/templates/marketing-team/goals.md +0 -21
  910. package/config/templates/marketing-team/knowledge/docs/brand-voice-guide.md +0 -61
  911. package/config/templates/marketing-team/knowledge/docs/content-best-practices.md +0 -64
  912. package/config/templates/marketing-team/knowledge/index.json +0 -24
  913. package/config/templates/marketing-team/learned-patterns.json +0 -5
  914. package/config/templates/marketing-team/norms/brand-consistency.md +0 -40
  915. package/config/templates/marketing-team/norms/content-quality-checklist.md +0 -45
  916. package/config/templates/marketing-team/quality-gates.yaml +0 -47
  917. package/config/templates/marketing-team/roles/analyst.md +0 -63
  918. package/config/templates/marketing-team/roles/strategist.md +0 -26
  919. package/config/templates/marketing-team/roles/writer.md +0 -58
  920. package/config/templates/marketing-team/template.json +0 -90
  921. package/config/templates/marketing-team/workflows/weekly-content-cycle.yaml +0 -48
  922. package/config/templates/research-analysis/template.json +0 -133
  923. package/config/templates/security-audit-team.json +0 -67
  924. package/config/templates/social-media-ops/template.json +0 -129
  925. package/config/templates/social-media-ops-team/README.md +0 -145
  926. package/config/templates/social-media-ops-team/team-config.json +0 -21
  927. package/config/templates/social-media-ops-team.json +0 -67
  928. package/config/templates/video-production/template.json +0 -132
  929. package/dist/backend/backend/src/controllers/admin/admin.controller.d.ts +0 -69
  930. package/dist/backend/backend/src/controllers/admin/admin.controller.d.ts.map +0 -1
  931. package/dist/backend/backend/src/controllers/admin/admin.controller.js +0 -187
  932. package/dist/backend/backend/src/controllers/admin/admin.controller.js.map +0 -1
  933. package/dist/backend/backend/src/controllers/admin/admin.routes.d.ts +0 -22
  934. package/dist/backend/backend/src/controllers/admin/admin.routes.d.ts.map +0 -1
  935. package/dist/backend/backend/src/controllers/admin/admin.routes.js +0 -31
  936. package/dist/backend/backend/src/controllers/admin/admin.routes.js.map +0 -1
  937. package/dist/backend/backend/src/controllers/cloud/admin/admin-auth.middleware.d.ts +0 -23
  938. package/dist/backend/backend/src/controllers/cloud/admin/admin-auth.middleware.d.ts.map +0 -1
  939. package/dist/backend/backend/src/controllers/cloud/admin/admin-auth.middleware.js +0 -42
  940. package/dist/backend/backend/src/controllers/cloud/admin/admin-auth.middleware.js.map +0 -1
  941. package/dist/backend/backend/src/controllers/cloud/admin/admin.controller.d.ts +0 -56
  942. package/dist/backend/backend/src/controllers/cloud/admin/admin.controller.d.ts.map +0 -1
  943. package/dist/backend/backend/src/controllers/cloud/admin/admin.controller.js +0 -173
  944. package/dist/backend/backend/src/controllers/cloud/admin/admin.controller.js.map +0 -1
  945. package/dist/backend/backend/src/controllers/cloud/admin/admin.routes.d.ts +0 -22
  946. package/dist/backend/backend/src/controllers/cloud/admin/admin.routes.d.ts.map +0 -1
  947. package/dist/backend/backend/src/controllers/cloud/admin/admin.routes.js +0 -33
  948. package/dist/backend/backend/src/controllers/cloud/admin/admin.routes.js.map +0 -1
  949. package/dist/backend/backend/src/controllers/cloud/admin/index.d.ts +0 -7
  950. package/dist/backend/backend/src/controllers/cloud/admin/index.d.ts.map +0 -1
  951. package/dist/backend/backend/src/controllers/cloud/admin/index.js +0 -7
  952. package/dist/backend/backend/src/controllers/cloud/admin/index.js.map +0 -1
  953. package/dist/backend/backend/src/controllers/cloud/auth/auth.controller.d.ts +0 -81
  954. package/dist/backend/backend/src/controllers/cloud/auth/auth.controller.d.ts.map +0 -1
  955. package/dist/backend/backend/src/controllers/cloud/auth/auth.controller.js +0 -234
  956. package/dist/backend/backend/src/controllers/cloud/auth/auth.controller.js.map +0 -1
  957. package/dist/backend/backend/src/controllers/cloud/auth/auth.routes.d.ts +0 -25
  958. package/dist/backend/backend/src/controllers/cloud/auth/auth.routes.d.ts.map +0 -1
  959. package/dist/backend/backend/src/controllers/cloud/auth/auth.routes.js +0 -42
  960. package/dist/backend/backend/src/controllers/cloud/auth/auth.routes.js.map +0 -1
  961. package/dist/backend/backend/src/controllers/cloud/auth/google-auth.controller.d.ts +0 -40
  962. package/dist/backend/backend/src/controllers/cloud/auth/google-auth.controller.d.ts.map +0 -1
  963. package/dist/backend/backend/src/controllers/cloud/auth/google-auth.controller.js +0 -161
  964. package/dist/backend/backend/src/controllers/cloud/auth/google-auth.controller.js.map +0 -1
  965. package/dist/backend/backend/src/controllers/cloud/cloud-auth.controller.d.ts +0 -69
  966. package/dist/backend/backend/src/controllers/cloud/cloud-auth.controller.d.ts.map +0 -1
  967. package/dist/backend/backend/src/controllers/cloud/cloud-auth.controller.js +0 -165
  968. package/dist/backend/backend/src/controllers/cloud/cloud-auth.controller.js.map +0 -1
  969. package/dist/backend/backend/src/controllers/cloud/cloud-auth.routes.d.ts +0 -23
  970. package/dist/backend/backend/src/controllers/cloud/cloud-auth.routes.d.ts.map +0 -1
  971. package/dist/backend/backend/src/controllers/cloud/cloud-auth.routes.js +0 -32
  972. package/dist/backend/backend/src/controllers/cloud/cloud-auth.routes.js.map +0 -1
  973. package/dist/backend/backend/src/controllers/cloud/device.controller.d.ts +0 -34
  974. package/dist/backend/backend/src/controllers/cloud/device.controller.d.ts.map +0 -1
  975. package/dist/backend/backend/src/controllers/cloud/device.controller.js +0 -70
  976. package/dist/backend/backend/src/controllers/cloud/device.controller.js.map +0 -1
  977. package/dist/backend/backend/src/controllers/cloud/device.routes.d.ts +0 -23
  978. package/dist/backend/backend/src/controllers/cloud/device.routes.d.ts.map +0 -1
  979. package/dist/backend/backend/src/controllers/cloud/device.routes.js +0 -34
  980. package/dist/backend/backend/src/controllers/cloud/device.routes.js.map +0 -1
  981. package/dist/backend/backend/src/controllers/cloud/files/cloud-file.controller.d.ts +0 -42
  982. package/dist/backend/backend/src/controllers/cloud/files/cloud-file.controller.d.ts.map +0 -1
  983. package/dist/backend/backend/src/controllers/cloud/files/cloud-file.controller.js +0 -138
  984. package/dist/backend/backend/src/controllers/cloud/files/cloud-file.controller.js.map +0 -1
  985. package/dist/backend/backend/src/controllers/cloud/files/cloud-file.routes.d.ts +0 -23
  986. package/dist/backend/backend/src/controllers/cloud/files/cloud-file.routes.d.ts.map +0 -1
  987. package/dist/backend/backend/src/controllers/cloud/files/cloud-file.routes.js +0 -34
  988. package/dist/backend/backend/src/controllers/cloud/files/cloud-file.routes.js.map +0 -1
  989. package/dist/backend/backend/src/controllers/cloud/files/cloud-file.types.d.ts +0 -43
  990. package/dist/backend/backend/src/controllers/cloud/files/cloud-file.types.d.ts.map +0 -1
  991. package/dist/backend/backend/src/controllers/cloud/files/cloud-file.types.js +0 -9
  992. package/dist/backend/backend/src/controllers/cloud/files/cloud-file.types.js.map +0 -1
  993. package/dist/backend/backend/src/controllers/cloud/files/index.d.ts +0 -7
  994. package/dist/backend/backend/src/controllers/cloud/files/index.d.ts.map +0 -1
  995. package/dist/backend/backend/src/controllers/cloud/files/index.js +0 -7
  996. package/dist/backend/backend/src/controllers/cloud/files/index.js.map +0 -1
  997. package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.controller.d.ts +0 -47
  998. package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.controller.d.ts.map +0 -1
  999. package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.controller.js +0 -131
  1000. package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.controller.js.map +0 -1
  1001. package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.routes.d.ts +0 -23
  1002. package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.routes.d.ts.map +0 -1
  1003. package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.routes.js +0 -30
  1004. package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.routes.js.map +0 -1
  1005. package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.types.d.ts +0 -81
  1006. package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.types.d.ts.map +0 -1
  1007. package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.types.js +0 -85
  1008. package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.types.js.map +0 -1
  1009. package/dist/backend/backend/src/controllers/cloud/h5/index.d.ts +0 -7
  1010. package/dist/backend/backend/src/controllers/cloud/h5/index.d.ts.map +0 -1
  1011. package/dist/backend/backend/src/controllers/cloud/h5/index.js +0 -7
  1012. package/dist/backend/backend/src/controllers/cloud/h5/index.js.map +0 -1
  1013. package/dist/backend/backend/src/controllers/cloud/magic-moment/index.d.ts +0 -7
  1014. package/dist/backend/backend/src/controllers/cloud/magic-moment/index.d.ts.map +0 -1
  1015. package/dist/backend/backend/src/controllers/cloud/magic-moment/index.js +0 -7
  1016. package/dist/backend/backend/src/controllers/cloud/magic-moment/index.js.map +0 -1
  1017. package/dist/backend/backend/src/controllers/cloud/magic-moment/magic-moment.controller.d.ts +0 -45
  1018. package/dist/backend/backend/src/controllers/cloud/magic-moment/magic-moment.controller.d.ts.map +0 -1
  1019. package/dist/backend/backend/src/controllers/cloud/magic-moment/magic-moment.controller.js +0 -155
  1020. package/dist/backend/backend/src/controllers/cloud/magic-moment/magic-moment.controller.js.map +0 -1
  1021. package/dist/backend/backend/src/controllers/cloud/magic-moment/magic-moment.routes.d.ts +0 -25
  1022. package/dist/backend/backend/src/controllers/cloud/magic-moment/magic-moment.routes.d.ts.map +0 -1
  1023. package/dist/backend/backend/src/controllers/cloud/magic-moment/magic-moment.routes.js +0 -32
  1024. package/dist/backend/backend/src/controllers/cloud/magic-moment/magic-moment.routes.js.map +0 -1
  1025. package/dist/backend/backend/src/controllers/cloud/relay.controller.d.ts +0 -97
  1026. package/dist/backend/backend/src/controllers/cloud/relay.controller.d.ts.map +0 -1
  1027. package/dist/backend/backend/src/controllers/cloud/relay.controller.js +0 -317
  1028. package/dist/backend/backend/src/controllers/cloud/relay.controller.js.map +0 -1
  1029. package/dist/backend/backend/src/controllers/cloud/relay.routes.d.ts +0 -25
  1030. package/dist/backend/backend/src/controllers/cloud/relay.routes.d.ts.map +0 -1
  1031. package/dist/backend/backend/src/controllers/cloud/relay.routes.js +0 -35
  1032. package/dist/backend/backend/src/controllers/cloud/relay.routes.js.map +0 -1
  1033. package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.controller.d.ts +0 -49
  1034. package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.controller.d.ts.map +0 -1
  1035. package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.controller.js +0 -152
  1036. package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.controller.js.map +0 -1
  1037. package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.routes.d.ts +0 -24
  1038. package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.routes.d.ts.map +0 -1
  1039. package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.routes.js +0 -34
  1040. package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.routes.js.map +0 -1
  1041. package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.types.d.ts +0 -90
  1042. package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.types.d.ts.map +0 -1
  1043. package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.types.js +0 -48
  1044. package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.types.js.map +0 -1
  1045. package/dist/backend/backend/src/controllers/cloud/tasks/index.d.ts +0 -10
  1046. package/dist/backend/backend/src/controllers/cloud/tasks/index.d.ts.map +0 -1
  1047. package/dist/backend/backend/src/controllers/cloud/tasks/index.js +0 -10
  1048. package/dist/backend/backend/src/controllers/cloud/tasks/index.js.map +0 -1
  1049. package/dist/backend/backend/src/controllers/payment/index.d.ts +0 -7
  1050. package/dist/backend/backend/src/controllers/payment/index.d.ts.map +0 -1
  1051. package/dist/backend/backend/src/controllers/payment/index.js +0 -7
  1052. package/dist/backend/backend/src/controllers/payment/index.js.map +0 -1
  1053. package/dist/backend/backend/src/scripts/run-log-rotation.d.ts +0 -3
  1054. package/dist/backend/backend/src/scripts/run-log-rotation.d.ts.map +0 -1
  1055. package/dist/backend/backend/src/scripts/run-log-rotation.js +0 -31
  1056. package/dist/backend/backend/src/scripts/run-log-rotation.js.map +0 -1
  1057. package/dist/backend/backend/src/services/agent/openhands-runtime.service.d.ts +0 -70
  1058. package/dist/backend/backend/src/services/agent/openhands-runtime.service.d.ts.map +0 -1
  1059. package/dist/backend/backend/src/services/agent/openhands-runtime.service.js +0 -131
  1060. package/dist/backend/backend/src/services/agent/openhands-runtime.service.js.map +0 -1
  1061. package/dist/backend/backend/src/services/cloud/admin-seed.service.d.ts +0 -18
  1062. package/dist/backend/backend/src/services/cloud/admin-seed.service.d.ts.map +0 -1
  1063. package/dist/backend/backend/src/services/cloud/admin-seed.service.js +0 -50
  1064. package/dist/backend/backend/src/services/cloud/admin-seed.service.js.map +0 -1
  1065. package/dist/backend/backend/src/services/cloud/auth/auth.service.d.ts +0 -203
  1066. package/dist/backend/backend/src/services/cloud/auth/auth.service.d.ts.map +0 -1
  1067. package/dist/backend/backend/src/services/cloud/auth/auth.service.js +0 -494
  1068. package/dist/backend/backend/src/services/cloud/auth/auth.service.js.map +0 -1
  1069. package/dist/backend/backend/src/services/cloud/auth/auth.types.d.ts +0 -110
  1070. package/dist/backend/backend/src/services/cloud/auth/auth.types.d.ts.map +0 -1
  1071. package/dist/backend/backend/src/services/cloud/auth/auth.types.js +0 -54
  1072. package/dist/backend/backend/src/services/cloud/auth/auth.types.js.map +0 -1
  1073. package/dist/backend/backend/src/services/cloud/auth/jwt-auth.middleware.d.ts +0 -47
  1074. package/dist/backend/backend/src/services/cloud/auth/jwt-auth.middleware.d.ts.map +0 -1
  1075. package/dist/backend/backend/src/services/cloud/auth/jwt-auth.middleware.js +0 -116
  1076. package/dist/backend/backend/src/services/cloud/auth/jwt-auth.middleware.js.map +0 -1
  1077. package/dist/backend/backend/src/services/cloud/auth/require-user.middleware.d.ts +0 -25
  1078. package/dist/backend/backend/src/services/cloud/auth/require-user.middleware.d.ts.map +0 -1
  1079. package/dist/backend/backend/src/services/cloud/auth/require-user.middleware.js +0 -52
  1080. package/dist/backend/backend/src/services/cloud/auth/require-user.middleware.js.map +0 -1
  1081. package/dist/backend/backend/src/services/cloud/auth/supabase-auth.middleware.d.ts +0 -61
  1082. package/dist/backend/backend/src/services/cloud/auth/supabase-auth.middleware.d.ts.map +0 -1
  1083. package/dist/backend/backend/src/services/cloud/auth/supabase-auth.middleware.js +0 -203
  1084. package/dist/backend/backend/src/services/cloud/auth/supabase-auth.middleware.js.map +0 -1
  1085. package/dist/backend/backend/src/services/cloud/cloud-auth.service.d.ts +0 -136
  1086. package/dist/backend/backend/src/services/cloud/cloud-auth.service.d.ts.map +0 -1
  1087. package/dist/backend/backend/src/services/cloud/cloud-auth.service.js +0 -204
  1088. package/dist/backend/backend/src/services/cloud/cloud-auth.service.js.map +0 -1
  1089. package/dist/backend/backend/src/services/cloud/cloud-features.d.ts +0 -19
  1090. package/dist/backend/backend/src/services/cloud/cloud-features.d.ts.map +0 -1
  1091. package/dist/backend/backend/src/services/cloud/cloud-features.js +0 -23
  1092. package/dist/backend/backend/src/services/cloud/cloud-features.js.map +0 -1
  1093. package/dist/backend/backend/src/services/cloud/cloud-file.service.d.ts +0 -97
  1094. package/dist/backend/backend/src/services/cloud/cloud-file.service.d.ts.map +0 -1
  1095. package/dist/backend/backend/src/services/cloud/cloud-file.service.js +0 -184
  1096. package/dist/backend/backend/src/services/cloud/cloud-file.service.js.map +0 -1
  1097. package/dist/backend/backend/src/services/cloud/cloud-image-analysis.service.d.ts +0 -114
  1098. package/dist/backend/backend/src/services/cloud/cloud-image-analysis.service.d.ts.map +0 -1
  1099. package/dist/backend/backend/src/services/cloud/cloud-image-analysis.service.js +0 -196
  1100. package/dist/backend/backend/src/services/cloud/cloud-image-analysis.service.js.map +0 -1
  1101. package/dist/backend/backend/src/services/cloud/cloud-task-processor.service.d.ts +0 -118
  1102. package/dist/backend/backend/src/services/cloud/cloud-task-processor.service.d.ts.map +0 -1
  1103. package/dist/backend/backend/src/services/cloud/cloud-task-processor.service.js +0 -326
  1104. package/dist/backend/backend/src/services/cloud/cloud-task-processor.service.js.map +0 -1
  1105. package/dist/backend/backend/src/services/cloud/cloud-task.service.d.ts +0 -115
  1106. package/dist/backend/backend/src/services/cloud/cloud-task.service.d.ts.map +0 -1
  1107. package/dist/backend/backend/src/services/cloud/cloud-task.service.js +0 -265
  1108. package/dist/backend/backend/src/services/cloud/cloud-task.service.js.map +0 -1
  1109. package/dist/backend/backend/src/services/cloud/device-heartbeat.service.d.ts +0 -103
  1110. package/dist/backend/backend/src/services/cloud/device-heartbeat.service.d.ts.map +0 -1
  1111. package/dist/backend/backend/src/services/cloud/device-heartbeat.service.js +0 -143
  1112. package/dist/backend/backend/src/services/cloud/device-heartbeat.service.js.map +0 -1
  1113. package/dist/backend/backend/src/services/cloud/mongodb.service.d.ts +0 -45
  1114. package/dist/backend/backend/src/services/cloud/mongodb.service.d.ts.map +0 -1
  1115. package/dist/backend/backend/src/services/cloud/mongodb.service.js +0 -76
  1116. package/dist/backend/backend/src/services/cloud/mongodb.service.js.map +0 -1
  1117. package/dist/backend/backend/src/services/cloud/relay-client.service.d.ts +0 -245
  1118. package/dist/backend/backend/src/services/cloud/relay-client.service.d.ts.map +0 -1
  1119. package/dist/backend/backend/src/services/cloud/relay-client.service.js +0 -586
  1120. package/dist/backend/backend/src/services/cloud/relay-client.service.js.map +0 -1
  1121. package/dist/backend/backend/src/services/cloud/relay-crypto.service.d.ts +0 -87
  1122. package/dist/backend/backend/src/services/cloud/relay-crypto.service.d.ts.map +0 -1
  1123. package/dist/backend/backend/src/services/cloud/relay-crypto.service.js +0 -140
  1124. package/dist/backend/backend/src/services/cloud/relay-crypto.service.js.map +0 -1
  1125. package/dist/backend/backend/src/services/cloud/relay-server.service.d.ts +0 -181
  1126. package/dist/backend/backend/src/services/cloud/relay-server.service.d.ts.map +0 -1
  1127. package/dist/backend/backend/src/services/cloud/relay-server.service.js +0 -485
  1128. package/dist/backend/backend/src/services/cloud/relay-server.service.js.map +0 -1
  1129. package/dist/backend/backend/src/services/cloud/relay.types.d.ts +0 -195
  1130. package/dist/backend/backend/src/services/cloud/relay.types.d.ts.map +0 -1
  1131. package/dist/backend/backend/src/services/cloud/relay.types.js +0 -69
  1132. package/dist/backend/backend/src/services/cloud/relay.types.js.map +0 -1
  1133. package/dist/backend/backend/src/services/messaging/adapters/wechat-messenger.adapter.d.ts +0 -47
  1134. package/dist/backend/backend/src/services/messaging/adapters/wechat-messenger.adapter.d.ts.map +0 -1
  1135. package/dist/backend/backend/src/services/messaging/adapters/wechat-messenger.adapter.js +0 -69
  1136. package/dist/backend/backend/src/services/messaging/adapters/wechat-messenger.adapter.js.map +0 -1
  1137. package/dist/backend/backend/src/services/payment/magic-moment.service.d.ts +0 -69
  1138. package/dist/backend/backend/src/services/payment/magic-moment.service.d.ts.map +0 -1
  1139. package/dist/backend/backend/src/services/payment/magic-moment.service.js +0 -158
  1140. package/dist/backend/backend/src/services/payment/magic-moment.service.js.map +0 -1
  1141. package/dist/backend/backend/src/services/payment/magic-moment.types.d.ts +0 -95
  1142. package/dist/backend/backend/src/services/payment/magic-moment.types.d.ts.map +0 -1
  1143. package/dist/backend/backend/src/services/payment/magic-moment.types.js +0 -91
  1144. package/dist/backend/backend/src/services/payment/magic-moment.types.js.map +0 -1
  1145. package/dist/backend/backend/src/services/wechat/wechat-bridge.service.d.ts +0 -69
  1146. package/dist/backend/backend/src/services/wechat/wechat-bridge.service.d.ts.map +0 -1
  1147. package/dist/backend/backend/src/services/wechat/wechat-bridge.service.js +0 -133
  1148. package/dist/backend/backend/src/services/wechat/wechat-bridge.service.js.map +0 -1
  1149. package/dist/backend/backend/src/services/wechat/wechat.controller.d.ts +0 -51
  1150. package/dist/backend/backend/src/services/wechat/wechat.controller.d.ts.map +0 -1
  1151. package/dist/backend/backend/src/services/wechat/wechat.controller.js +0 -104
  1152. package/dist/backend/backend/src/services/wechat/wechat.controller.js.map +0 -1
  1153. package/dist/backend/backend/src/services/wechat/wechat.service.d.ts +0 -171
  1154. package/dist/backend/backend/src/services/wechat/wechat.service.d.ts.map +0 -1
  1155. package/dist/backend/backend/src/services/wechat/wechat.service.js +0 -411
  1156. package/dist/backend/backend/src/services/wechat/wechat.service.js.map +0 -1
  1157. package/frontend/dist/assets/index-58e9f83b.js +0 -5215
  1158. package/frontend/dist/assets/index-a2db8a73.css +0 -33
@@ -43,7 +43,9 @@ import { SkillCatalogService } from './services/skill/skill-catalog.service.js';
43
43
  import { setMessageQueueService as setChatMessageQueueService, setThreadStatusQueueService as setChatThreadStatusQueueService } from './controllers/chat/chat.controller.js';
44
44
  import { setMessageQueueService as setMessagingControllerQueueService } from './controllers/messaging/messaging.controller.js';
45
45
  import { SystemResourceAlertService } from './services/monitoring/system-resource-alert.service.js';
46
+ import { TokenUsageService } from './services/monitoring/token-usage.service.js';
46
47
  import { agentHeartbeatMiddleware } from './middleware/agent-heartbeat.middleware.js';
48
+ import { RedisCacheService } from './services/cache/redis-cache.service.js';
47
49
  import { OrchestratorRestartService } from './services/orchestrator/orchestrator-restart.service.js';
48
50
  import { IdleDetectionService } from './services/agent/idle-detection.service.js';
49
51
  import { AgentSuspendService } from './services/agent/agent-suspend.service.js';
@@ -59,6 +61,12 @@ import { AuditorSchedulerService } from './services/agent/auditor-scheduler.serv
59
61
  import { setAuditorSchedulerService } from './controllers/auditor/auditor.controller.js';
60
62
  import { AddonLoaderService } from './services/addon/addon-loader.service.js';
61
63
  import { CronTaskService } from './services/workflow/cron-task.service.js';
64
+ import { ReconcilerService } from './services/reconciler/reconciler.service.js';
65
+ import { LiveReconcilerDataProvider } from './services/reconciler/reconciler-data-provider.js';
66
+ import { setReconcilerService } from './controllers/reconciler/reconciler.controller.js';
67
+ import { FissionGuardService } from './services/fission/fission-guard.service.js';
68
+ import { setFissionGuardService } from './controllers/fission/fission.controller.js';
69
+ import { TaskPoolService } from './services/task-pool/task-pool.service.js';
62
70
  // ESM __dirname equivalent using import.meta.url
63
71
  const __filename = fileURLToPath(import.meta.url);
64
72
  const __dirname = path.dirname(__filename);
@@ -119,6 +127,7 @@ export class CrewlyServer {
119
127
  eventBusService;
120
128
  notifyReconciliationService;
121
129
  systemResourceAlertService;
130
+ reconcilerService = null;
122
131
  // Shutdown state
123
132
  isShuttingDown = false;
124
133
  healthMonitoringInterval = null;
@@ -188,6 +197,16 @@ export class CrewlyServer {
188
197
  this.messageSchedulerService.setAgentRegistrationService(this.apiController.agentRegistrationService);
189
198
  this.schedulerService.setAgentRegistrationService(this.apiController.agentRegistrationService);
190
199
  this.schedulerService.setTaskTrackingService(this.taskTrackingService);
200
+ // Initialize message queue services (with disk persistence)
201
+ // NOTE: Must be created before services that depend on them (scheduler, thread status queue)
202
+ this.messageQueueService = new MessageQueueService(this.config.crewlyHome);
203
+ const responseRouter = new ResponseRouterService();
204
+ this.queueProcessorService = new QueueProcessorService(this.messageQueueService, responseRouter, this.apiController.agentRegistrationService);
205
+ // Initialize event bus service for agent lifecycle pub/sub
206
+ // NOTE: Must be created before services that depend on it (agent registration, thread status queue)
207
+ this.eventBusService = new EventBusService();
208
+ this.eventBusService.setMessageQueueService(this.messageQueueService);
209
+ // Now wire services that depend on messageQueueService and eventBusService
191
210
  this.schedulerService.setMessageQueueService(this.messageQueueService);
192
211
  this.schedulerService.setActivityMonitor(this.activityMonitorService);
193
212
  // #167: Wire scheduler into agent registration for DLQ drain on activation
@@ -208,14 +227,25 @@ export class CrewlyServer {
208
227
  this.teamActivityWebSocketService.setTerminalGateway(this.terminalGateway);
209
228
  // Connect teams.json watcher to team activity service for real-time updates
210
229
  this.teamsJsonWatcherService.setTeamActivityService(this.teamActivityWebSocketService);
211
- // Initialize message queue services (with disk persistence)
212
- this.messageQueueService = new MessageQueueService(this.config.crewlyHome);
213
- const responseRouter = new ResponseRouterService();
214
- this.queueProcessorService = new QueueProcessorService(this.messageQueueService, responseRouter, this.apiController.agentRegistrationService);
215
230
  // Initialize thread status queue for tracking inbound message lifecycle
216
231
  this.threadStatusQueueService = new ThreadStatusQueueService(this.config.crewlyHome);
217
232
  responseRouter.setThreadStatusQueue(this.threadStatusQueueService);
218
233
  this.queueProcessorService.setThreadStatusQueue(this.threadStatusQueueService);
234
+ // Wire Task Pool router so [TASK]-prefixed messages route through the pool
235
+ this.queueProcessorService.setTaskPoolRouter(async (messageContent, targetSession) => {
236
+ const { createWorkItem } = await import('./types/v2/work-item.types.js');
237
+ const taskPool = TaskPoolService.getInstance();
238
+ const workItem = createWorkItem({
239
+ type: 'delegate',
240
+ owner: 'orchestrator',
241
+ target: targetSession,
242
+ title: messageContent.slice(0, 100),
243
+ description: messageContent,
244
+ });
245
+ await taskPool.addToPool(workItem);
246
+ const claimed = await taskPool.claimFromPool(targetSession);
247
+ return claimed !== null;
248
+ });
219
249
  // Wire thread status queue with scheduler and event bus for follow-up tracking
220
250
  this.threadStatusQueueService.setSchedulerService(this.schedulerService);
221
251
  this.threadStatusQueueService.setEventBusService(this.eventBusService);
@@ -225,9 +255,6 @@ export class CrewlyServer {
225
255
  setMessagingControllerQueueService(this.messageQueueService);
226
256
  // Initialize system resource alert service for proactive monitoring
227
257
  this.systemResourceAlertService = new SystemResourceAlertService();
228
- // Initialize event bus service for agent lifecycle pub/sub
229
- this.eventBusService = new EventBusService();
230
- this.eventBusService.setMessageQueueService(this.messageQueueService);
231
258
  this.teamsJsonWatcherService.setEventBusService(this.eventBusService);
232
259
  this.activityMonitorService.setEventBusService(this.eventBusService);
233
260
  setEventBusControllerService(this.eventBusService);
@@ -277,8 +304,80 @@ export class CrewlyServer {
277
304
  error: err instanceof Error ? err.message : String(err),
278
305
  });
279
306
  }
307
+ // V3: Auto-close open Requests when the orchestrator goes idle
308
+ // Handles direct responses (no WorkItem delegation)
309
+ if (event.sessionName === ORCHESTRATOR_SESSION_NAME) {
310
+ setImmediate(() => this.autoCloseOpenRequests());
311
+ }
280
312
  }
281
313
  });
314
+ // Initialize Reconciler Service (V2 — system truth recomputation)
315
+ {
316
+ const reconcilerLogger = LoggerService.getInstance().createComponentLogger('ReconcilerInit');
317
+ // Live data provider — connects Reconciler to Task Pool, Claim Service,
318
+ // Storage Service, and Agent Suspend for real reconciliation including
319
+ // Hybrid Wake (auto-rehydrating suspended agents when tasks go unclaimed).
320
+ const liveDataProvider = new LiveReconcilerDataProvider();
321
+ this.reconcilerService = new ReconcilerService(liveDataProvider);
322
+ setReconcilerService(this.reconcilerService);
323
+ // Subscribe EventBus events for targeted reconciliation
324
+ if (this.reconcilerService) {
325
+ const reconciler = this.reconcilerService;
326
+ const eventTypes = ['agent:idle', 'task:completed', 'task:failed', 'agent:inactive'];
327
+ for (const eventType of eventTypes) {
328
+ this.eventBusService.subscribe({
329
+ eventType,
330
+ filter: {},
331
+ subscriberSession: '__reconciler__',
332
+ oneShot: false,
333
+ ttlMinutes: 525_600, // 1 year — permanent subscription
334
+ });
335
+ }
336
+ // Listen for all published events and trigger targeted reconciliation
337
+ this.eventBusService.on('event_published', (payload) => {
338
+ const targetedEventTypes = ['task:completed', 'task:failed', 'agent:idle', 'agent:inactive'];
339
+ if (targetedEventTypes.includes(payload.eventType)) {
340
+ reconciler.runFast().catch((err) => {
341
+ reconcilerLogger.warn('Event-triggered fast reconcile failed', {
342
+ eventType: payload.eventType,
343
+ error: err instanceof Error ? err.message : String(err),
344
+ });
345
+ });
346
+ }
347
+ });
348
+ }
349
+ reconcilerLogger.info('ReconcilerService initialized and wired to EventBus');
350
+ }
351
+ // Initialize Fission Guard Service
352
+ {
353
+ const fissionLogger = LoggerService.getInstance().createComponentLogger('FissionInit');
354
+ try {
355
+ const taskPool = TaskPoolService.getInstance();
356
+ // FissionDataProvider backed by TaskPoolService storage
357
+ const fissionDataProvider = {
358
+ async getWorkItemById(id) {
359
+ const items = await taskPool.getAllItems();
360
+ return items.find((i) => i.id === id) ?? null;
361
+ },
362
+ async countMissionWorkItems(missionId) {
363
+ const items = await taskPool.getAllItems();
364
+ return items.filter((i) => i.missionId === missionId).length;
365
+ },
366
+ async countChildWorkItems(parentWorkItemId) {
367
+ const items = await taskPool.getAllItems();
368
+ return items.filter((i) => i.parentWorkItemId === parentWorkItemId).length;
369
+ },
370
+ };
371
+ const fissionService = FissionGuardService.init(fissionDataProvider);
372
+ setFissionGuardService(fissionService);
373
+ fissionLogger.info('FissionGuardService initialized');
374
+ }
375
+ catch (fissionErr) {
376
+ fissionLogger.warn('FissionGuardService initialization failed (non-fatal)', {
377
+ error: fissionErr instanceof Error ? fissionErr.message : String(fissionErr),
378
+ });
379
+ }
380
+ }
282
381
  // Broadcast queue events via Socket.IO
283
382
  this.messageQueueService.on('enqueued', (msg) => {
284
383
  this.io.emit(MESSAGE_QUEUE_CONSTANTS.SOCKET_EVENTS.MESSAGE_ENQUEUED, msg);
@@ -303,9 +402,9 @@ export class CrewlyServer {
303
402
  directives: {
304
403
  defaultSrc: ["'self'"],
305
404
  styleSrc: ["'self'", "'unsafe-inline'"],
306
- scriptSrc: ["'self'"],
307
- imgSrc: ["'self'", 'data:', 'https:'],
308
- connectSrc: ["'self'", 'ws:', 'wss:'],
405
+ scriptSrc: ["'self'", "'unsafe-eval'"],
406
+ imgSrc: ["'self'", 'data:', 'https:', 'blob:'],
407
+ connectSrc: ["'self'", 'ws:', 'wss:', 'blob:'],
309
408
  // Disable upgrade-insecure-requests for HTTP-only deployments (ESTestNode)
310
409
  // Without this, browsers on HTTP upgrade all asset requests to HTTPS → ERR_SSL_PROTOCOL_ERROR
311
410
  upgradeInsecureRequests: null,
@@ -453,6 +552,22 @@ export class CrewlyServer {
453
552
  targetPort: this.config.webPort,
454
553
  headless: this.config.headless,
455
554
  });
555
+ // Truncate service.log on startup — it's a raw stdout pipe duplicate of the
556
+ // daily crewly-YYYY-MM-DD.log files and grows unbounded otherwise.
557
+ try {
558
+ const serviceLogPath = path.join(this.config.crewlyHome, 'logs', 'service.log');
559
+ const { stat, truncate } = await import('fs/promises');
560
+ const logStat = await stat(serviceLogPath).catch(() => null);
561
+ if (logStat && logStat.size > 10 * 1024 * 1024) { // truncate if > 10MB
562
+ await truncate(serviceLogPath, 0);
563
+ this.logger.info('Truncated service.log on startup', {
564
+ previousSizeMB: Math.round(logStat.size / 1024 / 1024),
565
+ });
566
+ }
567
+ }
568
+ catch {
569
+ // Non-critical
570
+ }
456
571
  if (this.config.headless) {
457
572
  this.logger.info('Headless mode active: API-only, no frontend serving');
458
573
  }
@@ -515,6 +630,16 @@ export class CrewlyServer {
515
630
  error: loadError instanceof Error ? loadError.message : String(loadError),
516
631
  });
517
632
  }
633
+ // Initialize Redis cache (non-blocking — falls back to memory if Redis is unavailable)
634
+ try {
635
+ const redisConnected = await RedisCacheService.getInstance().connect();
636
+ this.logger.info('Redis cache initialized', { connected: redisConnected, backend: redisConnected ? 'redis' : 'memory' });
637
+ }
638
+ catch (cacheErr) {
639
+ this.logger.info('Redis cache not available, using in-memory fallback', {
640
+ error: cacheErr instanceof Error ? cacheErr.message : String(cacheErr),
641
+ });
642
+ }
518
643
  // Start message scheduler
519
644
  this.logger.info('Starting message scheduler...');
520
645
  await this.messageSchedulerService.start();
@@ -586,7 +711,7 @@ export class CrewlyServer {
586
711
  const agentHbSessionBackend = getSessionBackendSync();
587
712
  if (agentHbSessionBackend) {
588
713
  const agentHeartbeatMonitor = AgentHeartbeatMonitorService.getInstance();
589
- agentHeartbeatMonitor.setDependencies(agentHbSessionBackend, this.apiController.agentRegistrationService, this.storageService, this.taskTrackingService);
714
+ agentHeartbeatMonitor.setDependencies(agentHbSessionBackend, this.apiController.agentRegistrationService, this.storageService);
590
715
  agentHeartbeatMonitor.start();
591
716
  this.logger.info('AgentHeartbeatMonitorService started');
592
717
  }
@@ -722,6 +847,44 @@ export class CrewlyServer {
722
847
  error: err instanceof Error ? err.message : String(err),
723
848
  });
724
849
  }
850
+ // Backfill: mark Slack threads for done Requests as terminal so the
851
+ // resume notification won't re-send already-answered conversations.
852
+ try {
853
+ const { RequestService } = await import('./services/v3/request.service.js');
854
+ const reqSvc = RequestService.getInstance();
855
+ const allReqs = await reqSvc.listAll();
856
+ let backfilled = 0;
857
+ for (const req of allReqs) {
858
+ if (req.status !== 'done')
859
+ continue;
860
+ const scid = req.sourceConversationItemId || '';
861
+ if (!scid.startsWith('slack-'))
862
+ continue;
863
+ const m = scid.match(/^slack-(.+)-(\d+)[.-](\d+)$/);
864
+ if (!m)
865
+ continue;
866
+ const [, channelId, t1, t2] = m;
867
+ const threadKey = `${channelId}:${t1}.${t2}`;
868
+ if (this.threadStatusQueueService.get(threadKey))
869
+ continue;
870
+ this.threadStatusQueueService.trackInbound({
871
+ threadKey,
872
+ conversationId: scid,
873
+ source: 'slack',
874
+ messagePreview: req.title.slice(0, 200),
875
+ });
876
+ this.threadStatusQueueService.markReplied(threadKey, 'replied_completed');
877
+ backfilled++;
878
+ }
879
+ if (backfilled > 0) {
880
+ this.logger.info('Backfilled thread status for done Requests', { count: backfilled });
881
+ }
882
+ }
883
+ catch (err) {
884
+ this.logger.warn('Thread status backfill failed (non-critical)', {
885
+ error: err instanceof Error ? err.message : String(err),
886
+ });
887
+ }
725
888
  // #247: Replay pending messages that arrived while the orchestrator was offline.
726
889
  // This must happen after loadPersistedState() (so we know what's already queued)
727
890
  // but before the queue processor starts (so replayed messages are ready for delivery).
@@ -832,6 +995,228 @@ export class CrewlyServer {
832
995
  error: cronErr instanceof Error ? cronErr.message : String(cronErr),
833
996
  });
834
997
  }
998
+ // Start TriggerEngine (V3 unified trigger system) and wire action handler
999
+ try {
1000
+ const { TriggerEngine } = await import('./services/v3/trigger-engine.service.js');
1001
+ const { TaskProjectionService } = await import('./services/v3/task-projection.service.js');
1002
+ const triggerEngine = TriggerEngine.getInstance();
1003
+ const taskProjection = TaskProjectionService.getInstance();
1004
+ // Load TaskProjection state from disk
1005
+ await taskProjection.load();
1006
+ // Wire EventBus so signal triggers can subscribe to events
1007
+ triggerEngine.setEventBus(this.eventBusService);
1008
+ // Wire action handler — executes the effect when a trigger fires
1009
+ triggerEngine.setActionHandler(async (trigger, action) => {
1010
+ const triggerId = trigger.id;
1011
+ const logger = this.logger;
1012
+ // 1. sendMessage — enqueue a message to the orchestrator session
1013
+ if (action.sendMessage) {
1014
+ const { target, message } = action.sendMessage;
1015
+ try {
1016
+ // Format with trigger context so Agent knows why it was woken
1017
+ const formattedContent = `[SYSTEM ALERT] Trigger '${triggerId}' says: ${message}`;
1018
+ this.messageQueueService.enqueue({
1019
+ content: formattedContent,
1020
+ conversationId: target || 'system',
1021
+ source: 'system_event',
1022
+ });
1023
+ logger.info('TriggerEngine: sendMessage enqueued', { triggerId, target });
1024
+ }
1025
+ catch (err) {
1026
+ logger.warn('TriggerEngine: sendMessage failed', {
1027
+ triggerId,
1028
+ error: err instanceof Error ? err.message : String(err),
1029
+ });
1030
+ }
1031
+ }
1032
+ // 2. createWorkItem — push a new WorkItem into the task pool
1033
+ if (action.createWorkItem) {
1034
+ try {
1035
+ const { TaskPoolService } = await import('./services/task-pool/task-pool.service.js');
1036
+ const { createWorkItem } = await import('./types/v2/work-item.types.js');
1037
+ const template = action.createWorkItem;
1038
+ const workItem = createWorkItem({
1039
+ title: template.title || `Triggered task (${trigger.id})`,
1040
+ description: template.description || `Auto-created by trigger ${trigger.id}`,
1041
+ type: template.type ?? 'delegate',
1042
+ owner: template.owner ?? 'orchestrator',
1043
+ target: template.target,
1044
+ triggerId,
1045
+ requestId: template.requestId,
1046
+ });
1047
+ await TaskPoolService.getInstance().addToPool(workItem);
1048
+ // Project as a trigger_action TaskRecord
1049
+ await taskProjection.createRecord({
1050
+ title: workItem.title,
1051
+ type: 'trigger_action',
1052
+ ownerAgent: 'system',
1053
+ triggerId,
1054
+ workItemId: workItem.id,
1055
+ });
1056
+ logger.info('TriggerEngine: WorkItem enqueued', { triggerId, workItemId: workItem.id });
1057
+ }
1058
+ catch (err) {
1059
+ logger.warn('TriggerEngine: createWorkItem failed', {
1060
+ triggerId,
1061
+ error: err instanceof Error ? err.message : String(err),
1062
+ });
1063
+ }
1064
+ }
1065
+ // 3. wakeWorkItemId — re-queue a suspended/blocked WorkItem with context note
1066
+ if (action.wakeWorkItemId) {
1067
+ try {
1068
+ const { TaskPoolService } = await import('./services/task-pool/task-pool.service.js');
1069
+ const taskPool = TaskPoolService.getInstance();
1070
+ // Append system note to description so Agent knows why it was woken
1071
+ const wakeNote = `\n\n[SYSTEM NOTE] Woken automatically by Trigger '${triggerId}' at ${new Date().toISOString()}.`;
1072
+ await taskPool.updateItemStatus(action.wakeWorkItemId, 'queued');
1073
+ // Append wake reason to WorkItem description via storage
1074
+ try {
1075
+ const item = (await taskPool.getAllItems()).find(wi => wi.id === action.wakeWorkItemId);
1076
+ if (item) {
1077
+ await taskPool.updateTokenUsage(action.wakeWorkItemId, item.inputTokens, item.outputTokens, item.cost);
1078
+ // We use the storage directly through the service — patch description via a minimal re-add isn't feasible,
1079
+ // so we write the note to the task projection instead:
1080
+ await taskProjection.createRecord({
1081
+ title: `[TRIGGER WAKE] ${item.title}`,
1082
+ type: 'trigger_action',
1083
+ ownerAgent: 'system',
1084
+ triggerId,
1085
+ workItemId: item.id,
1086
+ requestId: item.requestId,
1087
+ });
1088
+ }
1089
+ }
1090
+ catch { /* non-critical */ }
1091
+ logger.info('TriggerEngine: WorkItem woken', { triggerId, workItemId: action.wakeWorkItemId, note: wakeNote });
1092
+ }
1093
+ catch (err) {
1094
+ logger.warn('TriggerEngine: wakeWorkItemId failed', {
1095
+ triggerId,
1096
+ workItemId: action.wakeWorkItemId,
1097
+ error: err instanceof Error ? err.message : String(err),
1098
+ });
1099
+ }
1100
+ }
1101
+ // 4. runReconciler — trigger a targeted reconciliation cycle
1102
+ if (action.runReconciler && this.reconcilerService) {
1103
+ try {
1104
+ await this.reconcilerService.runFull();
1105
+ logger.info('TriggerEngine: Reconciler run triggered', { triggerId });
1106
+ }
1107
+ catch (err) {
1108
+ logger.warn('TriggerEngine: runReconciler failed', {
1109
+ triggerId,
1110
+ error: err instanceof Error ? err.message : String(err),
1111
+ });
1112
+ }
1113
+ }
1114
+ });
1115
+ await triggerEngine.start();
1116
+ this.logger.info('TriggerEngine started with action handler wired');
1117
+ // Wire team-scoped triggers: reconcile declarative Team.triggers spec
1118
+ // against the running engine on every team save, and cancel all of a
1119
+ // team's triggers when it's deleted. Listener is fire-and-forget.
1120
+ try {
1121
+ const { TeamTriggerReconciler } = await import('./services/v3/team-trigger-reconciler.service.js');
1122
+ const reconciler = new TeamTriggerReconciler(triggerEngine);
1123
+ // Initial converge: reconcile every team that already exists on disk.
1124
+ const existingTeams = await this.storageService.getTeams();
1125
+ for (const team of existingTeams) {
1126
+ try {
1127
+ await reconciler.reconcile(team);
1128
+ }
1129
+ catch (recErr) {
1130
+ this.logger.warn('Initial team-trigger reconcile failed', {
1131
+ teamId: team.id,
1132
+ error: recErr instanceof Error ? recErr.message : String(recErr),
1133
+ });
1134
+ }
1135
+ }
1136
+ // Ongoing: subscribe to storage events.
1137
+ this.storageService.onStorageEvent(async (event) => {
1138
+ if (event.kind === 'team-saved') {
1139
+ await reconciler.reconcile(event.team);
1140
+ }
1141
+ else if (event.kind === 'team-deleted') {
1142
+ await reconciler.unregisterAll(event.teamId);
1143
+ }
1144
+ });
1145
+ this.logger.info('TeamTriggerReconciler subscribed to storage events', {
1146
+ initialTeams: existingTeams.length,
1147
+ });
1148
+ }
1149
+ catch (recErr) {
1150
+ this.logger.warn('TeamTriggerReconciler wiring failed (non-critical)', {
1151
+ error: recErr instanceof Error ? recErr.message : String(recErr),
1152
+ });
1153
+ }
1154
+ }
1155
+ catch (triggerErr) {
1156
+ this.logger.warn('TriggerEngine initialization failed (non-critical)', {
1157
+ error: triggerErr instanceof Error ? triggerErr.message : String(triggerErr),
1158
+ });
1159
+ }
1160
+ // Start V3DataService — listens for v3:task_delegated / v3:task_completed events
1161
+ // and links WorkItems to their parent Requests via requestService.linkWorkItem().
1162
+ // Must be initialized after EventBusService is ready.
1163
+ try {
1164
+ const { V3DataService } = await import('./services/v3/v3-data.service.js');
1165
+ new V3DataService(this.eventBusService, process.cwd());
1166
+ this.logger.info('V3DataService started — WorkItem↔Request linking active');
1167
+ }
1168
+ catch (v3Err) {
1169
+ this.logger.warn('V3DataService initialization failed (non-critical)', {
1170
+ error: v3Err instanceof Error ? v3Err.message : String(v3Err),
1171
+ });
1172
+ }
1173
+ // Start AgentAutoClaimService — auto-assign work to idle agents
1174
+ try {
1175
+ const { AgentAutoClaimService } = await import('./services/v3/agent-auto-claim.service.js');
1176
+ const autoClaimService = AgentAutoClaimService.getInstance();
1177
+ autoClaimService.initialize(this.eventBusService);
1178
+ autoClaimService.start();
1179
+ this.logger.info('AgentAutoClaimService started — idle agents will auto-claim work');
1180
+ }
1181
+ catch (autoClaimErr) {
1182
+ this.logger.warn('AgentAutoClaimService initialization failed (non-critical)', {
1183
+ error: autoClaimErr instanceof Error ? autoClaimErr.message : String(autoClaimErr),
1184
+ });
1185
+ }
1186
+ // Start TLAutoVerifyService — auto-trigger TL verification on worker task completion
1187
+ try {
1188
+ const { TLAutoVerifyService } = await import('./services/v3/tl-auto-verify.service.js');
1189
+ const tlVerifyService = TLAutoVerifyService.getInstance();
1190
+ tlVerifyService.initialize(this.eventBusService);
1191
+ tlVerifyService.start();
1192
+ this.logger.info('TLAutoVerifyService started — worker completions trigger TL verification');
1193
+ }
1194
+ catch (tlVerifyErr) {
1195
+ this.logger.warn('TLAutoVerifyService initialization failed (non-critical)', {
1196
+ error: tlVerifyErr instanceof Error ? tlVerifyErr.message : String(tlVerifyErr),
1197
+ });
1198
+ }
1199
+ // Initialize MissionExecutorService — Mission lifecycle + decomposition processing
1200
+ try {
1201
+ const { MissionExecutorService } = await import('./services/v3/mission-executor.service.js');
1202
+ MissionExecutorService.getInstance();
1203
+ this.logger.info('MissionExecutorService initialized — Mission decomposition + progress tracking ready');
1204
+ }
1205
+ catch (missionErr) {
1206
+ this.logger.warn('MissionExecutorService initialization failed (non-critical)', {
1207
+ error: missionErr instanceof Error ? missionErr.message : String(missionErr),
1208
+ });
1209
+ }
1210
+ // Start marketplace auto-update (check registry every 6 hours)
1211
+ try {
1212
+ const { startAutoUpdate } = await import('./services/marketplace/marketplace-auto-update.service.js');
1213
+ startAutoUpdate();
1214
+ }
1215
+ catch (autoUpdateErr) {
1216
+ this.logger.warn('Marketplace auto-update startup failed (non-fatal)', {
1217
+ error: autoUpdateErr instanceof Error ? autoUpdateErr.message : String(autoUpdateErr),
1218
+ });
1219
+ }
835
1220
  // Start Slack image cleanup (download temp files)
836
1221
  try {
837
1222
  const { getSlackImageService: getImgService } = await import('./services/slack/slack-image.service.js');
@@ -869,6 +1254,41 @@ export class CrewlyServer {
869
1254
  });
870
1255
  // Start periodic task file system sync (#137) — cleans up stale tracking entries
871
1256
  this.taskTrackingService.startAutoSync();
1257
+ // Initialize token usage tracking: load persisted data and start periodic flush
1258
+ try {
1259
+ const tokenUsageService = TokenUsageService.getInstance();
1260
+ await tokenUsageService.loadFromDisk();
1261
+ tokenUsageService.startPeriodicFlush();
1262
+ // Sync Claude Code session JSONL files → TokenUsageService
1263
+ // so the Usage dashboard has data from claude-code runtime agents
1264
+ const { syncSessionsToTokenUsageService } = await import('./services/monitoring/claude-session-tokens.service.js');
1265
+ const synced = await syncSessionsToTokenUsageService(this.config.crewlyHome, 7);
1266
+ this.logger.info('Token usage tracking initialized', { syncedClaudeSessions: synced });
1267
+ }
1268
+ catch (tokenErr) {
1269
+ this.logger.warn('Token usage initialization failed (non-fatal)', {
1270
+ error: tokenErr instanceof Error ? tokenErr.message : String(tokenErr),
1271
+ });
1272
+ }
1273
+ // Start Reconciler: run initial full reconcile and start loops
1274
+ if (this.reconcilerService) {
1275
+ try {
1276
+ this.logger.info('Running initial full reconciliation...');
1277
+ const initialResult = await this.reconcilerService.runFull();
1278
+ this.logger.info('Initial reconciliation complete', {
1279
+ durationMs: initialResult.durationMs,
1280
+ corrections: initialResult.corrections.length,
1281
+ errors: initialResult.errors.length,
1282
+ });
1283
+ this.reconcilerService.start();
1284
+ this.logger.info('Reconciler loops started (fast: 10s, full: 60s)');
1285
+ }
1286
+ catch (reconcilerErr) {
1287
+ this.logger.warn('Reconciler startup failed (non-fatal)', {
1288
+ error: reconcilerErr instanceof Error ? reconcilerErr.message : String(reconcilerErr),
1289
+ });
1290
+ }
1291
+ }
872
1292
  // Start HTTP server with enhanced error handling
873
1293
  await this.startHttpServer();
874
1294
  // Load addons from ~/.crewly/addons/ (Pro features, extensions, etc.)
@@ -1450,6 +1870,194 @@ export class CrewlyServer {
1450
1870
  this.healthMonitoringInterval = setInterval(() => {
1451
1871
  this.logMemoryUsage();
1452
1872
  }, 30000);
1873
+ // V3: Periodic TTL-based auto-close for open Requests (every 2 min)
1874
+ // Catches direct orchestrator responses that finish within a single poll cycle
1875
+ // and never trigger the EventBus agent:idle event
1876
+ setInterval(() => this.autoCloseOpenRequests(), 2 * 60 * 1000);
1877
+ // Purge done Requests and WorkItems older than 24h (every hour)
1878
+ setInterval(() => this.purgeCompletedData(), 60 * 60 * 1000);
1879
+ // Run once at startup after a short delay
1880
+ setTimeout(() => this.purgeCompletedData(), 30 * 1000);
1881
+ }
1882
+ /**
1883
+ * Removes done/cancelled Requests older than 24h from disk,
1884
+ * and purges done/cancelled/failed WorkItems from the task pool.
1885
+ * Memory, knowledge, and learnings are never purged.
1886
+ */
1887
+ purgeCompletedData() {
1888
+ setImmediate(async () => {
1889
+ const RETENTION_MS = 24 * 60 * 60 * 1000;
1890
+ const cutoff = Date.now() - RETENTION_MS;
1891
+ // 1. Purge done Requests
1892
+ try {
1893
+ const { RequestService } = await import('./services/v3/request.service.js');
1894
+ const svc = RequestService.getInstance();
1895
+ const all = await svc.listAll();
1896
+ let purgedRequests = 0;
1897
+ for (const req of all) {
1898
+ if (req.status !== 'done' && req.status !== 'cancelled')
1899
+ continue;
1900
+ const completedAt = req.completedAt ? new Date(req.completedAt).getTime() : 0;
1901
+ const createdAt = new Date(req.createdAt).getTime();
1902
+ const age = completedAt || createdAt;
1903
+ if (age < cutoff) {
1904
+ await svc.delete(req.id);
1905
+ purgedRequests++;
1906
+ }
1907
+ }
1908
+ if (purgedRequests > 0) {
1909
+ this.logger.info('Purged old completed Requests', { count: purgedRequests });
1910
+ }
1911
+ }
1912
+ catch (err) {
1913
+ this.logger.warn('Request purge failed (non-critical)', {
1914
+ error: err instanceof Error ? err.message : String(err),
1915
+ });
1916
+ }
1917
+ // 2. Purge done/cancelled/failed WorkItems from pool
1918
+ try {
1919
+ const { TaskPoolService } = await import('./services/task-pool/task-pool.service.js');
1920
+ const pool = TaskPoolService.getInstance();
1921
+ const allItems = await pool.getAllItems();
1922
+ const terminalStatuses = new Set(['done', 'cancelled', 'failed']);
1923
+ let purgedItems = 0;
1924
+ for (const wi of allItems) {
1925
+ if (!terminalStatuses.has(wi.status))
1926
+ continue;
1927
+ const completedAt = wi.completedAt ? new Date(wi.completedAt).getTime() : 0;
1928
+ const createdAt = new Date(wi.createdAt).getTime();
1929
+ const age = completedAt || createdAt;
1930
+ if (age < cutoff) {
1931
+ await pool.removeItem(wi.id);
1932
+ purgedItems++;
1933
+ }
1934
+ }
1935
+ if (purgedItems > 0) {
1936
+ this.logger.info('Purged old completed WorkItems', { count: purgedItems });
1937
+ }
1938
+ }
1939
+ catch (err) {
1940
+ this.logger.warn('WorkItem purge failed (non-critical)', {
1941
+ error: err instanceof Error ? err.message : String(err),
1942
+ });
1943
+ }
1944
+ });
1945
+ }
1946
+ /**
1947
+ * Closes open Requests that were created within the last 10 minutes.
1948
+ * Used to handle direct orchestrator responses that don't go through WorkItems.
1949
+ * Also rolls up orchestrator token usage and sets ownerAgent for the Request.
1950
+ *
1951
+ * Token source varies by runtime:
1952
+ * - claude-code: reads session JSONL (TUI status bar not capturable from PTY)
1953
+ * - gemini-cli / codex-cli: reads from TokenUsageService (fed by PTY parser)
1954
+ * - crewly-agent: reads from TokenUsageService (fed by SDK)
1955
+ */
1956
+ autoCloseOpenRequests() {
1957
+ setImmediate(async () => {
1958
+ try {
1959
+ const { RequestService } = await import('./services/v3/request.service.js');
1960
+ const { TokenUsageService } = await import('./services/monitoring/token-usage.service.js');
1961
+ const { getTokensSince } = await import('./services/monitoring/claude-session-tokens.service.js');
1962
+ const { getSessionStatePersistence } = await import('./services/session/session-state-persistence.js');
1963
+ const svc = RequestService.getInstance();
1964
+ const tokenSvc = TokenUsageService.getInstance();
1965
+ const all = await svc.listAll();
1966
+ const cutoff = Date.now() - 10 * 60 * 1000; // 10 min window
1967
+ const minAgeMs = 3 * 60 * 1000; // Don't close requests younger than 3 min — gives orchestrator time to delegate
1968
+ // Resolve orchestrator runtime type once per cycle
1969
+ const persistence = getSessionStatePersistence();
1970
+ const orcMeta = persistence.getSessionMetadata(ORCHESTRATOR_SESSION_NAME);
1971
+ const orcRuntimeType = orcMeta?.runtimeType || 'claude-code';
1972
+ for (const req of all) {
1973
+ if (req.status !== 'open')
1974
+ continue;
1975
+ const reqAge = Date.now() - new Date(req.createdAt).getTime();
1976
+ if (reqAge > 10 * 60 * 1000)
1977
+ continue; // older than 10 min — skip
1978
+ if (reqAge < minAgeMs)
1979
+ continue; // too young — orchestrator may still be delegating
1980
+ const update = { status: 'done' };
1981
+ // Roll up orchestrator tokens only for direct responses (no WorkItem delegation)
1982
+ if (req.workItemIds.length === 0) {
1983
+ const since = new Date(req.createdAt);
1984
+ let inputTokens = 0;
1985
+ let outputTokens = 0;
1986
+ let cost = 0;
1987
+ if (orcRuntimeType === 'claude-code') {
1988
+ // Claude Code: read from session JSONL (ground truth from API)
1989
+ // Falls back to auto-detecting the latest session file if ID unknown.
1990
+ // Use current time as upper bound to avoid counting tokens from
1991
+ // subsequent requests in the same session.
1992
+ const sessionId = persistence.getSessionId(ORCHESTRATOR_SESSION_NAME) || null;
1993
+ const summary = await getTokensSince(this.config.crewlyHome, sessionId, since, new Date());
1994
+ if (summary && summary.turnCount > 0) {
1995
+ inputTokens = summary.inputTokens;
1996
+ outputTokens = summary.outputTokens;
1997
+ cost = summary.cost;
1998
+ }
1999
+ }
2000
+ else {
2001
+ // Gemini CLI / Codex CLI / crewly-agent: read from TokenUsageService
2002
+ // (fed by PTY terminal output parser or SDK)
2003
+ const usage = tokenSvc.getSessionUsageSince(ORCHESTRATOR_SESSION_NAME, since);
2004
+ inputTokens = usage.inputTokens;
2005
+ outputTokens = usage.outputTokens;
2006
+ cost = usage.cost;
2007
+ }
2008
+ if (inputTokens > 0 || outputTokens > 0) {
2009
+ update.totalInputTokens = (req.totalInputTokens || 0) + inputTokens;
2010
+ update.totalOutputTokens = (req.totalOutputTokens || 0) + outputTokens;
2011
+ update.totalCost = (req.totalCost || 0) + cost;
2012
+ }
2013
+ update.ownerAgent = ORCHESTRATOR_SESSION_NAME;
2014
+ }
2015
+ await svc.update(req.id, update);
2016
+ // Mark the corresponding Slack/chat thread as terminal so the
2017
+ // SessionHandoff resume notification won't re-send it after restart.
2018
+ if (req.sourceConversationItemId.startsWith('slack-')) {
2019
+ try {
2020
+ const { ThreadStatusQueueService } = await import('./services/messaging/thread-status-queue.service.js');
2021
+ const tsq = ThreadStatusQueueService.getInstance();
2022
+ // sourceConversationItemId format: "slack-{channelId}-{messageTs}"
2023
+ // messageTs format in the ID uses hyphens: "1775935980-197679"
2024
+ // Slack threadTs uses dots: "1775935980.197679"
2025
+ const match = req.sourceConversationItemId.match(/^slack-(.+)-(\d+)[.-](\d+)$/);
2026
+ if (match) {
2027
+ const channelId = match[1];
2028
+ const threadTs = `${match[2]}.${match[3]}`;
2029
+ const threadKey = `${channelId}:${threadTs}`;
2030
+ // Create entry if not tracked, then mark terminal
2031
+ if (!tsq.get(threadKey)) {
2032
+ tsq.trackInbound({
2033
+ threadKey,
2034
+ conversationId: req.sourceConversationItemId,
2035
+ source: 'slack',
2036
+ messagePreview: req.title,
2037
+ });
2038
+ }
2039
+ tsq.markReplied(threadKey, 'replied_completed');
2040
+ }
2041
+ }
2042
+ catch {
2043
+ // Non-critical — thread status is best-effort
2044
+ }
2045
+ }
2046
+ this.logger.debug('V3 Request auto-closed', {
2047
+ requestId: req.id,
2048
+ ownerAgent: update.ownerAgent,
2049
+ inputTokens: update.totalInputTokens,
2050
+ outputTokens: update.totalOutputTokens,
2051
+ cost: update.totalCost,
2052
+ });
2053
+ }
2054
+ }
2055
+ catch (err) {
2056
+ this.logger.warn('V3 Request auto-close failed (non-critical)', {
2057
+ error: err instanceof Error ? err.message : String(err),
2058
+ });
2059
+ }
2060
+ });
1453
2061
  }
1454
2062
  logMemoryUsage() {
1455
2063
  const usage = process.memoryUsage();
@@ -1505,6 +2113,13 @@ export class CrewlyServer {
1505
2113
  error: error instanceof Error ? error.message : String(error),
1506
2114
  });
1507
2115
  }
2116
+ // Disconnect Redis cache
2117
+ try {
2118
+ RedisCacheService.getInstance().disconnect();
2119
+ }
2120
+ catch {
2121
+ // Non-critical — ignore
2122
+ }
1508
2123
  // Save PTY session state and force-kill all child processes
1509
2124
  this.logger.info('Saving PTY session state and force-killing child processes...');
1510
2125
  try {
@@ -1562,10 +2177,27 @@ export class CrewlyServer {
1562
2177
  error: error instanceof Error ? error.message : String(error),
1563
2178
  });
1564
2179
  }
2180
+ // Flush task pool (WorkItems) to disk — prevents data loss on restart
2181
+ try {
2182
+ const { TaskPoolService } = await import('./services/task-pool/task-pool.service.js');
2183
+ const pool = TaskPoolService.getInstance();
2184
+ await pool.flush();
2185
+ this.logger.info('Task pool flushed to disk');
2186
+ }
2187
+ catch (error) {
2188
+ this.logger.warn('Failed to flush task pool', {
2189
+ error: error instanceof Error ? error.message : String(error),
2190
+ });
2191
+ }
1565
2192
  // Stop system resource alert monitoring
1566
2193
  if (this.systemResourceAlertService) {
1567
2194
  this.systemResourceAlertService.stopMonitoring();
1568
2195
  }
2196
+ // Stop Reconciler loops (V2)
2197
+ if (this.reconcilerService) {
2198
+ this.reconcilerService.stop();
2199
+ this.logger.info('Reconciler stopped');
2200
+ }
1569
2201
  // Stop NOTIFY reconciliation service
1570
2202
  if (this.notifyReconciliationService) {
1571
2203
  this.notifyReconciliationService.stop();