crewly 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1208) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +96 -0
  3. package/config/auto-assign/default-config.yaml +74 -0
  4. package/config/constants.d.ts.map +1 -0
  5. package/config/constants.test.ts +469 -0
  6. package/config/constants.ts +827 -0
  7. package/config/continuation/prompts/continue-work.md +60 -0
  8. package/config/continuation/prompts/max-iterations.md +41 -0
  9. package/config/continuation/prompts/quality-gates-failed.md +37 -0
  10. package/config/continuation/prompts/retry-error.md +59 -0
  11. package/config/continuation/prompts/task-assignment.md +60 -0
  12. package/config/index.d.ts.map +1 -0
  13. package/config/index.ts +87 -0
  14. package/config/orchestrator_tasks/prompts/assign-task-orchestrator-prompt-template.md +70 -0
  15. package/config/orchestrator_tasks/prompts/checkin-orchestrator-prompt-template.md +138 -0
  16. package/config/orchestrator_tasks/prompts/orchestrator-prompt.md +68 -0
  17. package/config/orchestrator_tasks/prompts/project-start-orchestrator-prompt-template.md +104 -0
  18. package/config/quality-gates/default-gates.test.ts +246 -0
  19. package/config/quality-gates/default-gates.ts +191 -0
  20. package/config/quality-gates/index.ts +21 -0
  21. package/config/roles/_common/memory-instructions.md +56 -0
  22. package/config/roles/architect/prompt.md +87 -0
  23. package/config/roles/architect/role.json +13 -0
  24. package/config/roles/backend-developer/prompt.md +86 -0
  25. package/config/roles/backend-developer/role.json +13 -0
  26. package/config/roles/designer/prompt.md +86 -0
  27. package/config/roles/designer/role.json +13 -0
  28. package/config/roles/developer/prompt.md +94 -0
  29. package/config/roles/developer/role.json +13 -0
  30. package/config/roles/frontend-developer/prompt.md +86 -0
  31. package/config/roles/frontend-developer/role.json +13 -0
  32. package/config/roles/fullstack-dev/prompt.md +86 -0
  33. package/config/roles/fullstack-dev/role.json +13 -0
  34. package/config/roles/generalist/prompt.md +87 -0
  35. package/config/roles/generalist/role.json +13 -0
  36. package/config/roles/orchestrator/prompt.md +865 -0
  37. package/config/roles/orchestrator/role.json +13 -0
  38. package/config/roles/product-manager/prompt.md +86 -0
  39. package/config/roles/product-manager/role.json +13 -0
  40. package/config/roles/qa/prompt.md +86 -0
  41. package/config/roles/qa/role.json +13 -0
  42. package/config/roles/qa-engineer/prompt.md +86 -0
  43. package/config/roles/qa-engineer/role.json +13 -0
  44. package/config/roles/sales/prompt.md +86 -0
  45. package/config/roles/sales/role.json +13 -0
  46. package/config/roles/support/prompt.md +86 -0
  47. package/config/roles/support/role.json +13 -0
  48. package/config/roles/tpm/prompt.md +87 -0
  49. package/config/roles/tpm/role.json +13 -0
  50. package/config/runtime_scripts/initialize_claude.sh +14 -0
  51. package/config/runtime_scripts/initialize_codex.sh +14 -0
  52. package/config/runtime_scripts/runtime-config.json +26 -0
  53. package/config/skills/_common/lib.sh +64 -0
  54. package/config/skills/agent/_common/lib.sh +4 -0
  55. package/config/skills/agent/accept-task/execute.sh +21 -0
  56. package/config/skills/agent/accept-task/instructions.md +20 -0
  57. package/config/skills/agent/accept-task/skill.json +20 -0
  58. package/config/skills/agent/block-task/execute.sh +26 -0
  59. package/config/skills/agent/block-task/instructions.md +22 -0
  60. package/config/skills/agent/block-task/skill.json +20 -0
  61. package/config/skills/agent/check-quality-gates/execute.sh +20 -0
  62. package/config/skills/agent/check-quality-gates/instructions.md +23 -0
  63. package/config/skills/agent/check-quality-gates/skill.json +20 -0
  64. package/config/skills/agent/complete-task/execute.sh +26 -0
  65. package/config/skills/agent/complete-task/instructions.md +22 -0
  66. package/config/skills/agent/complete-task/skill.json +20 -0
  67. package/config/skills/agent/get-my-context/execute.sh +23 -0
  68. package/config/skills/agent/get-my-context/instructions.md +21 -0
  69. package/config/skills/agent/get-my-context/skill.json +20 -0
  70. package/config/skills/agent/get-sops/execute.sh +24 -0
  71. package/config/skills/agent/get-sops/instructions.md +21 -0
  72. package/config/skills/agent/get-sops/skill.json +20 -0
  73. package/config/skills/agent/get-team-status/execute.sh +8 -0
  74. package/config/skills/agent/get-team-status/instructions.md +17 -0
  75. package/config/skills/agent/get-team-status/skill.json +20 -0
  76. package/config/skills/agent/manage-knowledge/execute.sh +60 -0
  77. package/config/skills/agent/manage-knowledge/instructions.md +46 -0
  78. package/config/skills/agent/nano-banana-image/.env +2 -0
  79. package/config/skills/agent/nano-banana-image/.env.example +6 -0
  80. package/config/skills/agent/nano-banana-image/generate.sh +73 -0
  81. package/config/skills/agent/nano-banana-image/instructions.md +50 -0
  82. package/config/skills/agent/nano-banana-image/skill.json +39 -0
  83. package/config/skills/agent/query-knowledge/execute.sh +30 -0
  84. package/config/skills/agent/query-knowledge/instructions.md +47 -0
  85. package/config/skills/agent/query-knowledge/skill.json +20 -0
  86. package/config/skills/agent/read-task/execute.sh +15 -0
  87. package/config/skills/agent/read-task/instructions.md +19 -0
  88. package/config/skills/agent/read-task/skill.json +20 -0
  89. package/config/skills/agent/recall/execute.sh +24 -0
  90. package/config/skills/agent/recall/instructions.md +23 -0
  91. package/config/skills/agent/recall/skill.json +20 -0
  92. package/config/skills/agent/record-learning/execute.sh +29 -0
  93. package/config/skills/agent/record-learning/instructions.md +24 -0
  94. package/config/skills/agent/record-learning/skill.json +20 -0
  95. package/config/skills/agent/register-self/execute.sh +28 -0
  96. package/config/skills/agent/register-self/instructions.md +18 -0
  97. package/config/skills/agent/register-self/skill.json +20 -0
  98. package/config/skills/agent/remember/execute.sh +29 -0
  99. package/config/skills/agent/remember/instructions.md +24 -0
  100. package/config/skills/agent/remember/skill.json +20 -0
  101. package/config/skills/agent/report-progress/execute.sh +28 -0
  102. package/config/skills/agent/report-progress/instructions.md +25 -0
  103. package/config/skills/agent/report-progress/skill.json +20 -0
  104. package/config/skills/agent/report-status/execute.sh +35 -0
  105. package/config/skills/agent/report-status/instructions.md +36 -0
  106. package/config/skills/agent/report-status/skill.json +20 -0
  107. package/config/skills/agent/send-chat-response/execute.sh +26 -0
  108. package/config/skills/agent/send-chat-response/instructions.md +22 -0
  109. package/config/skills/agent/send-chat-response/skill.json +20 -0
  110. package/config/skills/agent/send-message/execute.sh +17 -0
  111. package/config/skills/agent/send-message/instructions.md +20 -0
  112. package/config/skills/agent/send-message/skill.json +20 -0
  113. package/config/skills/agent/send-pdf-to-slack/execute.sh +182 -0
  114. package/config/skills/agent/send-pdf-to-slack/instructions.md +49 -0
  115. package/config/skills/agent/send-pdf-to-slack/skill.json +20 -0
  116. package/config/skills/chrome-browser/instructions.md +42 -0
  117. package/config/skills/chrome-browser/skill.json +39 -0
  118. package/config/skills/nano-banana-image/.env +2 -0
  119. package/config/skills/nano-banana-image/.env.example +6 -0
  120. package/config/skills/nano-banana-image/generate.sh +73 -0
  121. package/config/skills/nano-banana-image/instructions.md +50 -0
  122. package/config/skills/nano-banana-image/skill.json +39 -0
  123. package/config/skills/orchestrator/_common/lib.sh +4 -0
  124. package/config/skills/orchestrator/assign-task/execute.sh +11 -0
  125. package/config/skills/orchestrator/assign-task/instructions.md +17 -0
  126. package/config/skills/orchestrator/assign-task/skill.json +20 -0
  127. package/config/skills/orchestrator/assign-team-to-project/execute.sh +14 -0
  128. package/config/skills/orchestrator/assign-team-to-project/instructions.md +20 -0
  129. package/config/skills/orchestrator/assign-team-to-project/skill.json +20 -0
  130. package/config/skills/orchestrator/broadcast/execute.sh +35 -0
  131. package/config/skills/orchestrator/broadcast/instructions.md +19 -0
  132. package/config/skills/orchestrator/broadcast/skill.json +20 -0
  133. package/config/skills/orchestrator/cancel-schedule/execute.sh +13 -0
  134. package/config/skills/orchestrator/cancel-schedule/instructions.md +19 -0
  135. package/config/skills/orchestrator/cancel-schedule/skill.json +20 -0
  136. package/config/skills/orchestrator/complete-task/execute.sh +10 -0
  137. package/config/skills/orchestrator/complete-task/instructions.md +17 -0
  138. package/config/skills/orchestrator/complete-task/skill.json +20 -0
  139. package/config/skills/orchestrator/create-project/execute.sh +14 -0
  140. package/config/skills/orchestrator/create-project/instructions.md +21 -0
  141. package/config/skills/orchestrator/create-project/skill.json +20 -0
  142. package/config/skills/orchestrator/create-team/execute.sh +14 -0
  143. package/config/skills/orchestrator/create-team/instructions.md +21 -0
  144. package/config/skills/orchestrator/create-team/skill.json +20 -0
  145. package/config/skills/orchestrator/delegate-task/execute.sh +37 -0
  146. package/config/skills/orchestrator/delegate-task/instructions.md +23 -0
  147. package/config/skills/orchestrator/delegate-task/skill.json +20 -0
  148. package/config/skills/orchestrator/get-agent-logs/execute.sh +14 -0
  149. package/config/skills/orchestrator/get-agent-logs/instructions.md +20 -0
  150. package/config/skills/orchestrator/get-agent-logs/skill.json +20 -0
  151. package/config/skills/orchestrator/get-agent-status/execute.sh +22 -0
  152. package/config/skills/orchestrator/get-agent-status/instructions.md +19 -0
  153. package/config/skills/orchestrator/get-agent-status/skill.json +20 -0
  154. package/config/skills/orchestrator/get-project-overview/execute.sh +7 -0
  155. package/config/skills/orchestrator/get-project-overview/instructions.md +17 -0
  156. package/config/skills/orchestrator/get-project-overview/skill.json +20 -0
  157. package/config/skills/orchestrator/get-tasks/execute.sh +27 -0
  158. package/config/skills/orchestrator/get-tasks/instructions.md +17 -0
  159. package/config/skills/orchestrator/get-tasks/skill.json +20 -0
  160. package/config/skills/orchestrator/get-team-status/execute.sh +7 -0
  161. package/config/skills/orchestrator/get-team-status/instructions.md +17 -0
  162. package/config/skills/orchestrator/get-team-status/skill.json +20 -0
  163. package/config/skills/orchestrator/heartbeat/execute.sh +37 -0
  164. package/config/skills/orchestrator/heartbeat/instructions.md +24 -0
  165. package/config/skills/orchestrator/heartbeat/skill.json +20 -0
  166. package/config/skills/orchestrator/list-subscriptions/execute.sh +7 -0
  167. package/config/skills/orchestrator/list-subscriptions/instructions.md +17 -0
  168. package/config/skills/orchestrator/list-subscriptions/skill.json +20 -0
  169. package/config/skills/orchestrator/query-knowledge/execute.sh +30 -0
  170. package/config/skills/orchestrator/query-knowledge/instructions.md +47 -0
  171. package/config/skills/orchestrator/query-knowledge/skill.json +20 -0
  172. package/config/skills/orchestrator/recall/execute.sh +13 -0
  173. package/config/skills/orchestrator/recall/instructions.md +23 -0
  174. package/config/skills/orchestrator/recall/skill.json +20 -0
  175. package/config/skills/orchestrator/record-failure/execute.sh +13 -0
  176. package/config/skills/orchestrator/record-failure/instructions.md +22 -0
  177. package/config/skills/orchestrator/record-failure/skill.json +20 -0
  178. package/config/skills/orchestrator/record-learning/execute.sh +13 -0
  179. package/config/skills/orchestrator/record-learning/instructions.md +23 -0
  180. package/config/skills/orchestrator/record-learning/skill.json +20 -0
  181. package/config/skills/orchestrator/record-success/execute.sh +13 -0
  182. package/config/skills/orchestrator/record-success/instructions.md +22 -0
  183. package/config/skills/orchestrator/record-success/skill.json +20 -0
  184. package/config/skills/orchestrator/register-self/execute.sh +24 -0
  185. package/config/skills/orchestrator/register-self/instructions.md +21 -0
  186. package/config/skills/orchestrator/register-self/skill.json +20 -0
  187. package/config/skills/orchestrator/remember/execute.sh +15 -0
  188. package/config/skills/orchestrator/remember/instructions.md +24 -0
  189. package/config/skills/orchestrator/remember/skill.json +20 -0
  190. package/config/skills/orchestrator/reply-slack/execute.sh +174 -0
  191. package/config/skills/orchestrator/reply-slack/instructions.md +52 -0
  192. package/config/skills/orchestrator/reply-slack/skill.json +20 -0
  193. package/config/skills/orchestrator/restart-crewly/execute.sh +7 -0
  194. package/config/skills/orchestrator/restart-crewly/instructions.md +23 -0
  195. package/config/skills/orchestrator/restart-crewly/skill.json +20 -0
  196. package/config/skills/orchestrator/resume-session/execute.sh +22 -0
  197. package/config/skills/orchestrator/resume-session/instructions.md +31 -0
  198. package/config/skills/orchestrator/resume-session/skill.json +20 -0
  199. package/config/skills/orchestrator/schedule-check/execute.sh +35 -0
  200. package/config/skills/orchestrator/schedule-check/instructions.md +35 -0
  201. package/config/skills/orchestrator/schedule-check/skill.json +20 -0
  202. package/config/skills/orchestrator/send-key/execute.sh +17 -0
  203. package/config/skills/orchestrator/send-message/execute.sh +17 -0
  204. package/config/skills/orchestrator/send-message/instructions.md +20 -0
  205. package/config/skills/orchestrator/send-message/skill.json +20 -0
  206. package/config/skills/orchestrator/send-pdf-to-slack/execute.sh +182 -0
  207. package/config/skills/orchestrator/send-pdf-to-slack/instructions.md +49 -0
  208. package/config/skills/orchestrator/send-pdf-to-slack/skill.json +20 -0
  209. package/config/skills/orchestrator/set-goal/execute.sh +13 -0
  210. package/config/skills/orchestrator/set-goal/instructions.md +21 -0
  211. package/config/skills/orchestrator/set-goal/skill.json +20 -0
  212. package/config/skills/orchestrator/start-agent/execute.sh +15 -0
  213. package/config/skills/orchestrator/start-agent/instructions.md +20 -0
  214. package/config/skills/orchestrator/start-agent/skill.json +20 -0
  215. package/config/skills/orchestrator/start-team/execute.sh +14 -0
  216. package/config/skills/orchestrator/start-team/instructions.md +20 -0
  217. package/config/skills/orchestrator/start-team/skill.json +20 -0
  218. package/config/skills/orchestrator/stop-agent/execute.sh +15 -0
  219. package/config/skills/orchestrator/stop-agent/instructions.md +20 -0
  220. package/config/skills/orchestrator/stop-agent/skill.json +20 -0
  221. package/config/skills/orchestrator/stop-team/execute.sh +13 -0
  222. package/config/skills/orchestrator/stop-team/instructions.md +19 -0
  223. package/config/skills/orchestrator/stop-team/skill.json +20 -0
  224. package/config/skills/orchestrator/subscribe-event/execute.sh +19 -0
  225. package/config/skills/orchestrator/subscribe-event/instructions.md +21 -0
  226. package/config/skills/orchestrator/subscribe-event/skill.json +20 -0
  227. package/config/skills/orchestrator/terminate-agent/execute.sh +13 -0
  228. package/config/skills/orchestrator/terminate-agent/instructions.md +19 -0
  229. package/config/skills/orchestrator/terminate-agent/skill.json +20 -0
  230. package/config/skills/orchestrator/unsubscribe-event/execute.sh +13 -0
  231. package/config/skills/orchestrator/unsubscribe-event/instructions.md +19 -0
  232. package/config/skills/orchestrator/unsubscribe-event/skill.json +20 -0
  233. package/config/skills/orchestrator/update-focus/execute.sh +13 -0
  234. package/config/skills/orchestrator/update-focus/instructions.md +21 -0
  235. package/config/skills/orchestrator/update-focus/skill.json +20 -0
  236. package/config/skills/playwright-chrome-browser/instructions.md +95 -0
  237. package/config/skills/playwright-chrome-browser/skill.json +44 -0
  238. package/config/sops/common/blocker-handling.md +55 -0
  239. package/config/sops/common/communication-protocol.md +52 -0
  240. package/config/sops/developer/coding-standards.md +54 -0
  241. package/config/sops/developer/git-workflow.md +58 -0
  242. package/config/sops/developer/testing-requirements.md +62 -0
  243. package/config/sops/pm/progress-tracking.md +57 -0
  244. package/config/sops/pm/task-decomposition.md +59 -0
  245. package/config/sops/qa/testing-procedures.md +60 -0
  246. package/config/task_assignment/prompts/target-agent-assignment-prompt.md +119 -0
  247. package/config/task_starters/build_e2e_test_plan_prompt.json +51 -0
  248. package/config/task_starters/build_spec_prompt.json +79 -0
  249. package/config/task_starters/build_tasks_prompt.json +55 -0
  250. package/config/task_starters/prompts/build_spec_step1_project_requirements.md +120 -0
  251. package/config/task_starters/prompts/build_spec_step2_technical_design.md +147 -0
  252. package/config/task_starters/prompts/build_spec_step3_integration_testing.md +196 -0
  253. package/config/task_starters/prompts/build_tasks_step1_milestone_structure.md +274 -0
  254. package/config/task_starters/prompts/e2e_test_plan_step1_build_tests.md +391 -0
  255. package/config/task_starters/prompts/e2e_test_plan_step2_run_tests.md +240 -0
  256. package/dist/backend/backend/src/constants.d.ts +669 -0
  257. package/dist/backend/backend/src/constants.d.ts.map +1 -0
  258. package/dist/backend/backend/src/constants.js +482 -0
  259. package/dist/backend/backend/src/constants.js.map +1 -0
  260. package/dist/backend/backend/src/controllers/api.controller.d.ts +115 -0
  261. package/dist/backend/backend/src/controllers/api.controller.d.ts.map +1 -0
  262. package/dist/backend/backend/src/controllers/api.controller.js +427 -0
  263. package/dist/backend/backend/src/controllers/api.controller.js.map +1 -0
  264. package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts +160 -0
  265. package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts.map +1 -0
  266. package/dist/backend/backend/src/controllers/chat/chat.controller.js +555 -0
  267. package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -0
  268. package/dist/backend/backend/src/controllers/chat/chat.routes.d.ts +18 -0
  269. package/dist/backend/backend/src/controllers/chat/chat.routes.d.ts.map +1 -0
  270. package/dist/backend/backend/src/controllers/chat/chat.routes.js +39 -0
  271. package/dist/backend/backend/src/controllers/chat/chat.routes.js.map +1 -0
  272. package/dist/backend/backend/src/controllers/chat/index.d.ts +10 -0
  273. package/dist/backend/backend/src/controllers/chat/index.d.ts.map +1 -0
  274. package/dist/backend/backend/src/controllers/chat/index.js +10 -0
  275. package/dist/backend/backend/src/controllers/chat/index.js.map +1 -0
  276. package/dist/backend/backend/src/controllers/event-bus/event-bus.controller.d.ts +54 -0
  277. package/dist/backend/backend/src/controllers/event-bus/event-bus.controller.d.ts.map +1 -0
  278. package/dist/backend/backend/src/controllers/event-bus/event-bus.controller.js +123 -0
  279. package/dist/backend/backend/src/controllers/event-bus/event-bus.controller.js.map +1 -0
  280. package/dist/backend/backend/src/controllers/event-bus/event-bus.routes.d.ts +15 -0
  281. package/dist/backend/backend/src/controllers/event-bus/event-bus.routes.d.ts.map +1 -0
  282. package/dist/backend/backend/src/controllers/event-bus/event-bus.routes.js +27 -0
  283. package/dist/backend/backend/src/controllers/event-bus/event-bus.routes.js.map +1 -0
  284. package/dist/backend/backend/src/controllers/index.d.ts +10 -0
  285. package/dist/backend/backend/src/controllers/index.d.ts.map +1 -0
  286. package/dist/backend/backend/src/controllers/index.js +37 -0
  287. package/dist/backend/backend/src/controllers/index.js.map +1 -0
  288. package/dist/backend/backend/src/controllers/knowledge/index.d.ts +7 -0
  289. package/dist/backend/backend/src/controllers/knowledge/index.d.ts.map +1 -0
  290. package/dist/backend/backend/src/controllers/knowledge/index.js +7 -0
  291. package/dist/backend/backend/src/controllers/knowledge/index.js.map +1 -0
  292. package/dist/backend/backend/src/controllers/knowledge/knowledge.controller.d.ts +71 -0
  293. package/dist/backend/backend/src/controllers/knowledge/knowledge.controller.d.ts.map +1 -0
  294. package/dist/backend/backend/src/controllers/knowledge/knowledge.controller.js +237 -0
  295. package/dist/backend/backend/src/controllers/knowledge/knowledge.controller.js.map +1 -0
  296. package/dist/backend/backend/src/controllers/knowledge/knowledge.routes.d.ts +24 -0
  297. package/dist/backend/backend/src/controllers/knowledge/knowledge.routes.d.ts.map +1 -0
  298. package/dist/backend/backend/src/controllers/knowledge/knowledge.routes.js +34 -0
  299. package/dist/backend/backend/src/controllers/knowledge/knowledge.routes.js.map +1 -0
  300. package/dist/backend/backend/src/controllers/marketplace/index.d.ts +11 -0
  301. package/dist/backend/backend/src/controllers/marketplace/index.d.ts.map +1 -0
  302. package/dist/backend/backend/src/controllers/marketplace/index.js +11 -0
  303. package/dist/backend/backend/src/controllers/marketplace/index.js.map +1 -0
  304. package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.d.ts +135 -0
  305. package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.d.ts.map +1 -0
  306. package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.js +228 -0
  307. package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.js.map +1 -0
  308. package/dist/backend/backend/src/controllers/marketplace/marketplace.routes.d.ts +30 -0
  309. package/dist/backend/backend/src/controllers/marketplace/marketplace.routes.d.ts.map +1 -0
  310. package/dist/backend/backend/src/controllers/marketplace/marketplace.routes.js +44 -0
  311. package/dist/backend/backend/src/controllers/marketplace/marketplace.routes.js.map +1 -0
  312. package/dist/backend/backend/src/controllers/memory/index.d.ts +11 -0
  313. package/dist/backend/backend/src/controllers/memory/index.d.ts.map +1 -0
  314. package/dist/backend/backend/src/controllers/memory/index.js +11 -0
  315. package/dist/backend/backend/src/controllers/memory/index.js.map +1 -0
  316. package/dist/backend/backend/src/controllers/memory/memory.controller.d.ts +183 -0
  317. package/dist/backend/backend/src/controllers/memory/memory.controller.d.ts.map +1 -0
  318. package/dist/backend/backend/src/controllers/memory/memory.controller.js +505 -0
  319. package/dist/backend/backend/src/controllers/memory/memory.controller.js.map +1 -0
  320. package/dist/backend/backend/src/controllers/memory/memory.routes.d.ts +30 -0
  321. package/dist/backend/backend/src/controllers/memory/memory.routes.d.ts.map +1 -0
  322. package/dist/backend/backend/src/controllers/memory/memory.routes.js +46 -0
  323. package/dist/backend/backend/src/controllers/memory/memory.routes.js.map +1 -0
  324. package/dist/backend/backend/src/controllers/messaging/delivery-logs.controller.d.ts +5 -0
  325. package/dist/backend/backend/src/controllers/messaging/delivery-logs.controller.d.ts.map +1 -0
  326. package/dist/backend/backend/src/controllers/messaging/delivery-logs.controller.js +21 -0
  327. package/dist/backend/backend/src/controllers/messaging/delivery-logs.controller.js.map +1 -0
  328. package/dist/backend/backend/src/controllers/messaging/messaging.controller.d.ts +72 -0
  329. package/dist/backend/backend/src/controllers/messaging/messaging.controller.d.ts.map +1 -0
  330. package/dist/backend/backend/src/controllers/messaging/messaging.controller.js +164 -0
  331. package/dist/backend/backend/src/controllers/messaging/messaging.controller.js.map +1 -0
  332. package/dist/backend/backend/src/controllers/messaging/messaging.routes.d.ts +15 -0
  333. package/dist/backend/backend/src/controllers/messaging/messaging.routes.d.ts.map +1 -0
  334. package/dist/backend/backend/src/controllers/messaging/messaging.routes.js +31 -0
  335. package/dist/backend/backend/src/controllers/messaging/messaging.routes.js.map +1 -0
  336. package/dist/backend/backend/src/controllers/messaging/scheduled-messages.controller.d.ts +10 -0
  337. package/dist/backend/backend/src/controllers/messaging/scheduled-messages.controller.d.ts.map +1 -0
  338. package/dist/backend/backend/src/controllers/messaging/scheduled-messages.controller.js +223 -0
  339. package/dist/backend/backend/src/controllers/messaging/scheduled-messages.controller.js.map +1 -0
  340. package/dist/backend/backend/src/controllers/monitoring/file-watcher.controller.d.ts +121 -0
  341. package/dist/backend/backend/src/controllers/monitoring/file-watcher.controller.d.ts.map +1 -0
  342. package/dist/backend/backend/src/controllers/monitoring/file-watcher.controller.js +392 -0
  343. package/dist/backend/backend/src/controllers/monitoring/file-watcher.controller.js.map +1 -0
  344. package/dist/backend/backend/src/controllers/monitoring/monitoring.routes.d.ts +9 -0
  345. package/dist/backend/backend/src/controllers/monitoring/monitoring.routes.d.ts.map +1 -0
  346. package/dist/backend/backend/src/controllers/monitoring/monitoring.routes.js +15 -0
  347. package/dist/backend/backend/src/controllers/monitoring/monitoring.routes.js.map +1 -0
  348. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts +117 -0
  349. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts.map +1 -0
  350. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js +705 -0
  351. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js.map +1 -0
  352. package/dist/backend/backend/src/controllers/orchestrator/orchestrator.controller.d.ts +22 -0
  353. package/dist/backend/backend/src/controllers/orchestrator/orchestrator.controller.d.ts.map +1 -0
  354. package/dist/backend/backend/src/controllers/orchestrator/orchestrator.controller.js +465 -0
  355. package/dist/backend/backend/src/controllers/orchestrator/orchestrator.controller.js.map +1 -0
  356. package/dist/backend/backend/src/controllers/orchestrator/orchestrator.routes.d.ts +9 -0
  357. package/dist/backend/backend/src/controllers/orchestrator/orchestrator.routes.d.ts.map +1 -0
  358. package/dist/backend/backend/src/controllers/orchestrator/orchestrator.routes.js +26 -0
  359. package/dist/backend/backend/src/controllers/orchestrator/orchestrator.routes.js.map +1 -0
  360. package/dist/backend/backend/src/controllers/project/git.controller.d.ts +10 -0
  361. package/dist/backend/backend/src/controllers/project/git.controller.d.ts.map +1 -0
  362. package/dist/backend/backend/src/controllers/project/git.controller.js +160 -0
  363. package/dist/backend/backend/src/controllers/project/git.controller.js.map +1 -0
  364. package/dist/backend/backend/src/controllers/project/project.controller.d.ts +41 -0
  365. package/dist/backend/backend/src/controllers/project/project.controller.d.ts.map +1 -0
  366. package/dist/backend/backend/src/controllers/project/project.controller.js +1126 -0
  367. package/dist/backend/backend/src/controllers/project/project.controller.js.map +1 -0
  368. package/dist/backend/backend/src/controllers/project/project.routes.d.ts +19 -0
  369. package/dist/backend/backend/src/controllers/project/project.routes.d.ts.map +1 -0
  370. package/dist/backend/backend/src/controllers/project/project.routes.js +141 -0
  371. package/dist/backend/backend/src/controllers/project/project.routes.js.map +1 -0
  372. package/dist/backend/backend/src/controllers/quality-gate/quality-gate.controller.d.ts +32 -0
  373. package/dist/backend/backend/src/controllers/quality-gate/quality-gate.controller.d.ts.map +1 -0
  374. package/dist/backend/backend/src/controllers/quality-gate/quality-gate.controller.js +57 -0
  375. package/dist/backend/backend/src/controllers/quality-gate/quality-gate.controller.js.map +1 -0
  376. package/dist/backend/backend/src/controllers/request-types.d.ts +225 -0
  377. package/dist/backend/backend/src/controllers/request-types.d.ts.map +1 -0
  378. package/dist/backend/backend/src/controllers/request-types.js +8 -0
  379. package/dist/backend/backend/src/controllers/request-types.js.map +1 -0
  380. package/dist/backend/backend/src/controllers/self-improvement/index.d.ts +9 -0
  381. package/dist/backend/backend/src/controllers/self-improvement/index.d.ts.map +1 -0
  382. package/dist/backend/backend/src/controllers/self-improvement/index.js +9 -0
  383. package/dist/backend/backend/src/controllers/self-improvement/index.js.map +1 -0
  384. package/dist/backend/backend/src/controllers/self-improvement/self-improvement.controller.d.ts +11 -0
  385. package/dist/backend/backend/src/controllers/self-improvement/self-improvement.controller.d.ts.map +1 -0
  386. package/dist/backend/backend/src/controllers/self-improvement/self-improvement.controller.js +166 -0
  387. package/dist/backend/backend/src/controllers/self-improvement/self-improvement.controller.js.map +1 -0
  388. package/dist/backend/backend/src/controllers/session/session.controller.d.ts +80 -0
  389. package/dist/backend/backend/src/controllers/session/session.controller.d.ts.map +1 -0
  390. package/dist/backend/backend/src/controllers/session/session.controller.js +275 -0
  391. package/dist/backend/backend/src/controllers/session/session.controller.js.map +1 -0
  392. package/dist/backend/backend/src/controllers/session/session.routes.d.ts +19 -0
  393. package/dist/backend/backend/src/controllers/session/session.routes.d.ts.map +1 -0
  394. package/dist/backend/backend/src/controllers/session/session.routes.js +33 -0
  395. package/dist/backend/backend/src/controllers/session/session.routes.js.map +1 -0
  396. package/dist/backend/backend/src/controllers/settings/index.d.ts +18 -0
  397. package/dist/backend/backend/src/controllers/settings/index.d.ts.map +1 -0
  398. package/dist/backend/backend/src/controllers/settings/index.js +27 -0
  399. package/dist/backend/backend/src/controllers/settings/index.js.map +1 -0
  400. package/dist/backend/backend/src/controllers/settings/role.controller.d.ts +10 -0
  401. package/dist/backend/backend/src/controllers/settings/role.controller.d.ts.map +1 -0
  402. package/dist/backend/backend/src/controllers/settings/role.controller.js +365 -0
  403. package/dist/backend/backend/src/controllers/settings/role.controller.js.map +1 -0
  404. package/dist/backend/backend/src/controllers/settings/settings.controller.d.ts +10 -0
  405. package/dist/backend/backend/src/controllers/settings/settings.controller.d.ts.map +1 -0
  406. package/dist/backend/backend/src/controllers/settings/settings.controller.js +176 -0
  407. package/dist/backend/backend/src/controllers/settings/settings.controller.js.map +1 -0
  408. package/dist/backend/backend/src/controllers/skill/index.d.ts +17 -0
  409. package/dist/backend/backend/src/controllers/skill/index.d.ts.map +1 -0
  410. package/dist/backend/backend/src/controllers/skill/index.js +18 -0
  411. package/dist/backend/backend/src/controllers/skill/index.js.map +1 -0
  412. package/dist/backend/backend/src/controllers/skill/skill.controller.d.ts +10 -0
  413. package/dist/backend/backend/src/controllers/skill/skill.controller.d.ts.map +1 -0
  414. package/dist/backend/backend/src/controllers/skill/skill.controller.js +423 -0
  415. package/dist/backend/backend/src/controllers/skill/skill.controller.js.map +1 -0
  416. package/dist/backend/backend/src/controllers/slack/index.d.ts +17 -0
  417. package/dist/backend/backend/src/controllers/slack/index.d.ts.map +1 -0
  418. package/dist/backend/backend/src/controllers/slack/index.js +18 -0
  419. package/dist/backend/backend/src/controllers/slack/index.js.map +1 -0
  420. package/dist/backend/backend/src/controllers/slack/slack-thread.controller.d.ts +22 -0
  421. package/dist/backend/backend/src/controllers/slack/slack-thread.controller.d.ts.map +1 -0
  422. package/dist/backend/backend/src/controllers/slack/slack-thread.controller.js +59 -0
  423. package/dist/backend/backend/src/controllers/slack/slack-thread.controller.js.map +1 -0
  424. package/dist/backend/backend/src/controllers/slack/slack-thread.routes.d.ts +15 -0
  425. package/dist/backend/backend/src/controllers/slack/slack-thread.routes.d.ts.map +1 -0
  426. package/dist/backend/backend/src/controllers/slack/slack-thread.routes.js +21 -0
  427. package/dist/backend/backend/src/controllers/slack/slack-thread.routes.js.map +1 -0
  428. package/dist/backend/backend/src/controllers/slack/slack.controller.d.ts +11 -0
  429. package/dist/backend/backend/src/controllers/slack/slack.controller.d.ts.map +1 -0
  430. package/dist/backend/backend/src/controllers/slack/slack.controller.js +416 -0
  431. package/dist/backend/backend/src/controllers/slack/slack.controller.js.map +1 -0
  432. package/dist/backend/backend/src/controllers/system/config.controller.d.ts +4 -0
  433. package/dist/backend/backend/src/controllers/system/config.controller.d.ts.map +1 -0
  434. package/dist/backend/backend/src/controllers/system/config.controller.js +48 -0
  435. package/dist/backend/backend/src/controllers/system/config.controller.js.map +1 -0
  436. package/dist/backend/backend/src/controllers/system/errors.controller.d.ts +8 -0
  437. package/dist/backend/backend/src/controllers/system/errors.controller.d.ts.map +1 -0
  438. package/dist/backend/backend/src/controllers/system/errors.controller.js +99 -0
  439. package/dist/backend/backend/src/controllers/system/errors.controller.js.map +1 -0
  440. package/dist/backend/backend/src/controllers/system/scheduler.controller.d.ts +13 -0
  441. package/dist/backend/backend/src/controllers/system/scheduler.controller.d.ts.map +1 -0
  442. package/dist/backend/backend/src/controllers/system/scheduler.controller.js +63 -0
  443. package/dist/backend/backend/src/controllers/system/scheduler.controller.js.map +1 -0
  444. package/dist/backend/backend/src/controllers/system/system.controller.d.ts +67 -0
  445. package/dist/backend/backend/src/controllers/system/system.controller.d.ts.map +1 -0
  446. package/dist/backend/backend/src/controllers/system/system.controller.js +390 -0
  447. package/dist/backend/backend/src/controllers/system/system.controller.js.map +1 -0
  448. package/dist/backend/backend/src/controllers/system/system.routes.d.ts +9 -0
  449. package/dist/backend/backend/src/controllers/system/system.routes.d.ts.map +1 -0
  450. package/dist/backend/backend/src/controllers/system/system.routes.js +16 -0
  451. package/dist/backend/backend/src/controllers/system/system.routes.js.map +1 -0
  452. package/dist/backend/backend/src/controllers/task-management/assignments.controller.d.ts +5 -0
  453. package/dist/backend/backend/src/controllers/task-management/assignments.controller.d.ts.map +1 -0
  454. package/dist/backend/backend/src/controllers/task-management/assignments.controller.js +56 -0
  455. package/dist/backend/backend/src/controllers/task-management/assignments.controller.js.map +1 -0
  456. package/dist/backend/backend/src/controllers/task-management/in-progress-tasks.controller.d.ts +10 -0
  457. package/dist/backend/backend/src/controllers/task-management/in-progress-tasks.controller.d.ts.map +1 -0
  458. package/dist/backend/backend/src/controllers/task-management/in-progress-tasks.controller.js +43 -0
  459. package/dist/backend/backend/src/controllers/task-management/in-progress-tasks.controller.js.map +1 -0
  460. package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts +95 -0
  461. package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts.map +1 -0
  462. package/dist/backend/backend/src/controllers/task-management/task-management.controller.js +1034 -0
  463. package/dist/backend/backend/src/controllers/task-management/task-management.controller.js.map +1 -0
  464. package/dist/backend/backend/src/controllers/task-management/tasks.controller.d.ts +8 -0
  465. package/dist/backend/backend/src/controllers/task-management/tasks.controller.d.ts.map +1 -0
  466. package/dist/backend/backend/src/controllers/task-management/tasks.controller.js +117 -0
  467. package/dist/backend/backend/src/controllers/task-management/tasks.controller.js.map +1 -0
  468. package/dist/backend/backend/src/controllers/task-management/tickets.controller.d.ts +13 -0
  469. package/dist/backend/backend/src/controllers/task-management/tickets.controller.d.ts.map +1 -0
  470. package/dist/backend/backend/src/controllers/task-management/tickets.controller.js +212 -0
  471. package/dist/backend/backend/src/controllers/task-management/tickets.controller.js.map +1 -0
  472. package/dist/backend/backend/src/controllers/team/team.controller.d.ts +35 -0
  473. package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -0
  474. package/dist/backend/backend/src/controllers/team/team.controller.js +1629 -0
  475. package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -0
  476. package/dist/backend/backend/src/controllers/team/team.routes.d.ts +9 -0
  477. package/dist/backend/backend/src/controllers/team/team.routes.d.ts.map +1 -0
  478. package/dist/backend/backend/src/controllers/team/team.routes.js +41 -0
  479. package/dist/backend/backend/src/controllers/team/team.routes.js.map +1 -0
  480. package/dist/backend/backend/src/controllers/teams-backup/teams-backup.controller.d.ts +32 -0
  481. package/dist/backend/backend/src/controllers/teams-backup/teams-backup.controller.d.ts.map +1 -0
  482. package/dist/backend/backend/src/controllers/teams-backup/teams-backup.controller.js +99 -0
  483. package/dist/backend/backend/src/controllers/teams-backup/teams-backup.controller.js.map +1 -0
  484. package/dist/backend/backend/src/controllers/teams-backup/teams-backup.routes.d.ts +15 -0
  485. package/dist/backend/backend/src/controllers/teams-backup/teams-backup.routes.d.ts.map +1 -0
  486. package/dist/backend/backend/src/controllers/teams-backup/teams-backup.routes.js +23 -0
  487. package/dist/backend/backend/src/controllers/teams-backup/teams-backup.routes.js.map +1 -0
  488. package/dist/backend/backend/src/controllers/types.d.ts +18 -0
  489. package/dist/backend/backend/src/controllers/types.d.ts.map +1 -0
  490. package/dist/backend/backend/src/controllers/types.js +2 -0
  491. package/dist/backend/backend/src/controllers/types.js.map +1 -0
  492. package/dist/backend/backend/src/controllers/utils/file-utils.d.ts +3 -0
  493. package/dist/backend/backend/src/controllers/utils/file-utils.d.ts.map +1 -0
  494. package/dist/backend/backend/src/controllers/utils/file-utils.js +98 -0
  495. package/dist/backend/backend/src/controllers/utils/file-utils.js.map +1 -0
  496. package/dist/backend/backend/src/index.d.ts +60 -0
  497. package/dist/backend/backend/src/index.d.ts.map +1 -0
  498. package/dist/backend/backend/src/index.js +872 -0
  499. package/dist/backend/backend/src/index.js.map +1 -0
  500. package/dist/backend/backend/src/middleware/agent-heartbeat.middleware.d.ts +22 -0
  501. package/dist/backend/backend/src/middleware/agent-heartbeat.middleware.d.ts.map +1 -0
  502. package/dist/backend/backend/src/middleware/agent-heartbeat.middleware.js +36 -0
  503. package/dist/backend/backend/src/middleware/agent-heartbeat.middleware.js.map +1 -0
  504. package/dist/backend/backend/src/models/Project.d.ts +18 -0
  505. package/dist/backend/backend/src/models/Project.d.ts.map +1 -0
  506. package/dist/backend/backend/src/models/Project.js +70 -0
  507. package/dist/backend/backend/src/models/Project.js.map +1 -0
  508. package/dist/backend/backend/src/models/ScheduledMessage.d.ts +27 -0
  509. package/dist/backend/backend/src/models/ScheduledMessage.d.ts.map +1 -0
  510. package/dist/backend/backend/src/models/ScheduledMessage.js +50 -0
  511. package/dist/backend/backend/src/models/ScheduledMessage.js.map +1 -0
  512. package/dist/backend/backend/src/models/Team.d.ts +20 -0
  513. package/dist/backend/backend/src/models/Team.d.ts.map +1 -0
  514. package/dist/backend/backend/src/models/Team.js +120 -0
  515. package/dist/backend/backend/src/models/Team.js.map +1 -0
  516. package/dist/backend/backend/src/models/Ticket.d.ts +24 -0
  517. package/dist/backend/backend/src/models/Ticket.d.ts.map +1 -0
  518. package/dist/backend/backend/src/models/Ticket.js +102 -0
  519. package/dist/backend/backend/src/models/Ticket.js.map +1 -0
  520. package/dist/backend/backend/src/models/index.d.ts +5 -0
  521. package/dist/backend/backend/src/models/index.d.ts.map +1 -0
  522. package/dist/backend/backend/src/models/index.js +5 -0
  523. package/dist/backend/backend/src/models/index.js.map +1 -0
  524. package/dist/backend/backend/src/routes/api.routes.d.ts +9 -0
  525. package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -0
  526. package/dist/backend/backend/src/routes/api.routes.js +81 -0
  527. package/dist/backend/backend/src/routes/api.routes.js.map +1 -0
  528. package/dist/backend/backend/src/routes/factory.routes.d.ts +19 -0
  529. package/dist/backend/backend/src/routes/factory.routes.d.ts.map +1 -0
  530. package/dist/backend/backend/src/routes/factory.routes.js +103 -0
  531. package/dist/backend/backend/src/routes/factory.routes.js.map +1 -0
  532. package/dist/backend/backend/src/routes/modules/assignments.routes.d.ts +4 -0
  533. package/dist/backend/backend/src/routes/modules/assignments.routes.d.ts.map +1 -0
  534. package/dist/backend/backend/src/routes/modules/assignments.routes.js +7 -0
  535. package/dist/backend/backend/src/routes/modules/assignments.routes.js.map +1 -0
  536. package/dist/backend/backend/src/routes/modules/config.routes.d.ts +4 -0
  537. package/dist/backend/backend/src/routes/modules/config.routes.d.ts.map +1 -0
  538. package/dist/backend/backend/src/routes/modules/config.routes.js +6 -0
  539. package/dist/backend/backend/src/routes/modules/config.routes.js.map +1 -0
  540. package/dist/backend/backend/src/routes/modules/delivery-logs.routes.d.ts +4 -0
  541. package/dist/backend/backend/src/routes/modules/delivery-logs.routes.d.ts.map +1 -0
  542. package/dist/backend/backend/src/routes/modules/delivery-logs.routes.js +7 -0
  543. package/dist/backend/backend/src/routes/modules/delivery-logs.routes.js.map +1 -0
  544. package/dist/backend/backend/src/routes/modules/errors.routes.d.ts +4 -0
  545. package/dist/backend/backend/src/routes/modules/errors.routes.d.ts.map +1 -0
  546. package/dist/backend/backend/src/routes/modules/errors.routes.js +10 -0
  547. package/dist/backend/backend/src/routes/modules/errors.routes.js.map +1 -0
  548. package/dist/backend/backend/src/routes/modules/quality-gate.routes.d.ts +20 -0
  549. package/dist/backend/backend/src/routes/modules/quality-gate.routes.d.ts.map +1 -0
  550. package/dist/backend/backend/src/routes/modules/quality-gate.routes.js +25 -0
  551. package/dist/backend/backend/src/routes/modules/quality-gate.routes.js.map +1 -0
  552. package/dist/backend/backend/src/routes/modules/scheduled-messages.routes.d.ts +4 -0
  553. package/dist/backend/backend/src/routes/modules/scheduled-messages.routes.d.ts.map +1 -0
  554. package/dist/backend/backend/src/routes/modules/scheduled-messages.routes.js +12 -0
  555. package/dist/backend/backend/src/routes/modules/scheduled-messages.routes.js.map +1 -0
  556. package/dist/backend/backend/src/routes/modules/scheduler.routes.d.ts +4 -0
  557. package/dist/backend/backend/src/routes/modules/scheduler.routes.d.ts.map +1 -0
  558. package/dist/backend/backend/src/routes/modules/scheduler.routes.js +9 -0
  559. package/dist/backend/backend/src/routes/modules/scheduler.routes.js.map +1 -0
  560. package/dist/backend/backend/src/routes/modules/system.routes.d.ts +4 -0
  561. package/dist/backend/backend/src/routes/modules/system.routes.d.ts.map +1 -0
  562. package/dist/backend/backend/src/routes/modules/system.routes.js +24 -0
  563. package/dist/backend/backend/src/routes/modules/system.routes.js.map +1 -0
  564. package/dist/backend/backend/src/routes/modules/task-management.routes.d.ts +4 -0
  565. package/dist/backend/backend/src/routes/modules/task-management.routes.d.ts.map +1 -0
  566. package/dist/backend/backend/src/routes/modules/task-management.routes.js +25 -0
  567. package/dist/backend/backend/src/routes/modules/task-management.routes.js.map +1 -0
  568. package/dist/backend/backend/src/routes/modules/terminal.routes.d.ts +29 -0
  569. package/dist/backend/backend/src/routes/modules/terminal.routes.d.ts.map +1 -0
  570. package/dist/backend/backend/src/routes/modules/terminal.routes.js +49 -0
  571. package/dist/backend/backend/src/routes/modules/terminal.routes.js.map +1 -0
  572. package/dist/backend/backend/src/services/agent/agent-heartbeat.service.d.ts +240 -0
  573. package/dist/backend/backend/src/services/agent/agent-heartbeat.service.d.ts.map +1 -0
  574. package/dist/backend/backend/src/services/agent/agent-heartbeat.service.js +524 -0
  575. package/dist/backend/backend/src/services/agent/agent-heartbeat.service.js.map +1 -0
  576. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +398 -0
  577. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -0
  578. package/dist/backend/backend/src/services/agent/agent-registration.service.js +2863 -0
  579. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -0
  580. package/dist/backend/backend/src/services/agent/agent-suspend.service.d.ts +118 -0
  581. package/dist/backend/backend/src/services/agent/agent-suspend.service.d.ts.map +1 -0
  582. package/dist/backend/backend/src/services/agent/agent-suspend.service.js +304 -0
  583. package/dist/backend/backend/src/services/agent/agent-suspend.service.js.map +1 -0
  584. package/dist/backend/backend/src/services/agent/claude-runtime.service.d.ts +71 -0
  585. package/dist/backend/backend/src/services/agent/claude-runtime.service.d.ts.map +1 -0
  586. package/dist/backend/backend/src/services/agent/claude-runtime.service.js +220 -0
  587. package/dist/backend/backend/src/services/agent/claude-runtime.service.js.map +1 -0
  588. package/dist/backend/backend/src/services/agent/codex-runtime.service.d.ts +43 -0
  589. package/dist/backend/backend/src/services/agent/codex-runtime.service.d.ts.map +1 -0
  590. package/dist/backend/backend/src/services/agent/codex-runtime.service.js +118 -0
  591. package/dist/backend/backend/src/services/agent/codex-runtime.service.js.map +1 -0
  592. package/dist/backend/backend/src/services/agent/disk-cleanup.service.d.ts +79 -0
  593. package/dist/backend/backend/src/services/agent/disk-cleanup.service.d.ts.map +1 -0
  594. package/dist/backend/backend/src/services/agent/disk-cleanup.service.js +137 -0
  595. package/dist/backend/backend/src/services/agent/disk-cleanup.service.js.map +1 -0
  596. package/dist/backend/backend/src/services/agent/file-watcher.service.d.ts +87 -0
  597. package/dist/backend/backend/src/services/agent/file-watcher.service.d.ts.map +1 -0
  598. package/dist/backend/backend/src/services/agent/file-watcher.service.js +312 -0
  599. package/dist/backend/backend/src/services/agent/file-watcher.service.js.map +1 -0
  600. package/dist/backend/backend/src/services/agent/gemini-runtime.service.d.ts +83 -0
  601. package/dist/backend/backend/src/services/agent/gemini-runtime.service.d.ts.map +1 -0
  602. package/dist/backend/backend/src/services/agent/gemini-runtime.service.js +300 -0
  603. package/dist/backend/backend/src/services/agent/gemini-runtime.service.js.map +1 -0
  604. package/dist/backend/backend/src/services/agent/git-integration.service.d.ts +131 -0
  605. package/dist/backend/backend/src/services/agent/git-integration.service.d.ts.map +1 -0
  606. package/dist/backend/backend/src/services/agent/git-integration.service.js +368 -0
  607. package/dist/backend/backend/src/services/agent/git-integration.service.js.map +1 -0
  608. package/dist/backend/backend/src/services/agent/idle-detection.service.d.ts +54 -0
  609. package/dist/backend/backend/src/services/agent/idle-detection.service.d.ts.map +1 -0
  610. package/dist/backend/backend/src/services/agent/idle-detection.service.js +156 -0
  611. package/dist/backend/backend/src/services/agent/idle-detection.service.js.map +1 -0
  612. package/dist/backend/backend/src/services/agent/pty-activity-tracker.service.d.ts +77 -0
  613. package/dist/backend/backend/src/services/agent/pty-activity-tracker.service.d.ts.map +1 -0
  614. package/dist/backend/backend/src/services/agent/pty-activity-tracker.service.js +104 -0
  615. package/dist/backend/backend/src/services/agent/pty-activity-tracker.service.js.map +1 -0
  616. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.d.ts +114 -0
  617. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.d.ts.map +1 -0
  618. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js +437 -0
  619. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js.map +1 -0
  620. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts +81 -0
  621. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts.map +1 -0
  622. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js +284 -0
  623. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js.map +1 -0
  624. package/dist/backend/backend/src/services/agent/runtime-service.factory.d.ts +71 -0
  625. package/dist/backend/backend/src/services/agent/runtime-service.factory.d.ts.map +1 -0
  626. package/dist/backend/backend/src/services/agent/runtime-service.factory.js +165 -0
  627. package/dist/backend/backend/src/services/agent/runtime-service.factory.js.map +1 -0
  628. package/dist/backend/backend/src/services/agent/tmux-command.service.d.ts +163 -0
  629. package/dist/backend/backend/src/services/agent/tmux-command.service.d.ts.map +1 -0
  630. package/dist/backend/backend/src/services/agent/tmux-command.service.js +962 -0
  631. package/dist/backend/backend/src/services/agent/tmux-command.service.js.map +1 -0
  632. package/dist/backend/backend/src/services/agent/tmux.service.d.ts +189 -0
  633. package/dist/backend/backend/src/services/agent/tmux.service.d.ts.map +1 -0
  634. package/dist/backend/backend/src/services/agent/tmux.service.js +673 -0
  635. package/dist/backend/backend/src/services/agent/tmux.service.js.map +1 -0
  636. package/dist/backend/backend/src/services/ai/context-loader.service.d.ts +40 -0
  637. package/dist/backend/backend/src/services/ai/context-loader.service.d.ts.map +1 -0
  638. package/dist/backend/backend/src/services/ai/context-loader.service.js +311 -0
  639. package/dist/backend/backend/src/services/ai/context-loader.service.js.map +1 -0
  640. package/dist/backend/backend/src/services/ai/prompt-builder.service.d.ts +183 -0
  641. package/dist/backend/backend/src/services/ai/prompt-builder.service.d.ts.map +1 -0
  642. package/dist/backend/backend/src/services/ai/prompt-builder.service.js +591 -0
  643. package/dist/backend/backend/src/services/ai/prompt-builder.service.js.map +1 -0
  644. package/dist/backend/backend/src/services/ai/prompt-template.service.d.ts +51 -0
  645. package/dist/backend/backend/src/services/ai/prompt-template.service.d.ts.map +1 -0
  646. package/dist/backend/backend/src/services/ai/prompt-template.service.js +99 -0
  647. package/dist/backend/backend/src/services/ai/prompt-template.service.js.map +1 -0
  648. package/dist/backend/backend/src/services/autonomous/auto-assign.service.d.ts +429 -0
  649. package/dist/backend/backend/src/services/autonomous/auto-assign.service.d.ts.map +1 -0
  650. package/dist/backend/backend/src/services/autonomous/auto-assign.service.js +852 -0
  651. package/dist/backend/backend/src/services/autonomous/auto-assign.service.js.map +1 -0
  652. package/dist/backend/backend/src/services/autonomous/budget.service.d.ts +319 -0
  653. package/dist/backend/backend/src/services/autonomous/budget.service.d.ts.map +1 -0
  654. package/dist/backend/backend/src/services/autonomous/budget.service.js +594 -0
  655. package/dist/backend/backend/src/services/autonomous/budget.service.js.map +1 -0
  656. package/dist/backend/backend/src/services/autonomous/index.d.ts +11 -0
  657. package/dist/backend/backend/src/services/autonomous/index.d.ts.map +1 -0
  658. package/dist/backend/backend/src/services/autonomous/index.js +11 -0
  659. package/dist/backend/backend/src/services/autonomous/index.js.map +1 -0
  660. package/dist/backend/backend/src/services/chat/chat.service.d.ts +358 -0
  661. package/dist/backend/backend/src/services/chat/chat.service.d.ts.map +1 -0
  662. package/dist/backend/backend/src/services/chat/chat.service.js +727 -0
  663. package/dist/backend/backend/src/services/chat/chat.service.js.map +1 -0
  664. package/dist/backend/backend/src/services/chat/index.d.ts +10 -0
  665. package/dist/backend/backend/src/services/chat/index.d.ts.map +1 -0
  666. package/dist/backend/backend/src/services/chat/index.js +10 -0
  667. package/dist/backend/backend/src/services/chat/index.js.map +1 -0
  668. package/dist/backend/backend/src/services/continuation/continuation-events.service.d.ts +152 -0
  669. package/dist/backend/backend/src/services/continuation/continuation-events.service.d.ts.map +1 -0
  670. package/dist/backend/backend/src/services/continuation/continuation-events.service.js +293 -0
  671. package/dist/backend/backend/src/services/continuation/continuation-events.service.js.map +1 -0
  672. package/dist/backend/backend/src/services/continuation/continuation.service.d.ts +278 -0
  673. package/dist/backend/backend/src/services/continuation/continuation.service.d.ts.map +1 -0
  674. package/dist/backend/backend/src/services/continuation/continuation.service.js +616 -0
  675. package/dist/backend/backend/src/services/continuation/continuation.service.js.map +1 -0
  676. package/dist/backend/backend/src/services/continuation/index.d.ts +14 -0
  677. package/dist/backend/backend/src/services/continuation/index.d.ts.map +1 -0
  678. package/dist/backend/backend/src/services/continuation/index.js +15 -0
  679. package/dist/backend/backend/src/services/continuation/index.js.map +1 -0
  680. package/dist/backend/backend/src/services/continuation/output-analyzer.service.d.ts +199 -0
  681. package/dist/backend/backend/src/services/continuation/output-analyzer.service.d.ts.map +1 -0
  682. package/dist/backend/backend/src/services/continuation/output-analyzer.service.js +390 -0
  683. package/dist/backend/backend/src/services/continuation/output-analyzer.service.js.map +1 -0
  684. package/dist/backend/backend/src/services/continuation/patterns/completion-patterns.d.ts +44 -0
  685. package/dist/backend/backend/src/services/continuation/patterns/completion-patterns.d.ts.map +1 -0
  686. package/dist/backend/backend/src/services/continuation/patterns/completion-patterns.js +82 -0
  687. package/dist/backend/backend/src/services/continuation/patterns/completion-patterns.js.map +1 -0
  688. package/dist/backend/backend/src/services/continuation/patterns/error-patterns.d.ts +37 -0
  689. package/dist/backend/backend/src/services/continuation/patterns/error-patterns.d.ts.map +1 -0
  690. package/dist/backend/backend/src/services/continuation/patterns/error-patterns.js +105 -0
  691. package/dist/backend/backend/src/services/continuation/patterns/error-patterns.js.map +1 -0
  692. package/dist/backend/backend/src/services/continuation/patterns/idle-patterns.d.ts +29 -0
  693. package/dist/backend/backend/src/services/continuation/patterns/idle-patterns.d.ts.map +1 -0
  694. package/dist/backend/backend/src/services/continuation/patterns/idle-patterns.js +49 -0
  695. package/dist/backend/backend/src/services/continuation/patterns/idle-patterns.js.map +1 -0
  696. package/dist/backend/backend/src/services/continuation/patterns/index.d.ts +12 -0
  697. package/dist/backend/backend/src/services/continuation/patterns/index.d.ts.map +1 -0
  698. package/dist/backend/backend/src/services/continuation/patterns/index.js +12 -0
  699. package/dist/backend/backend/src/services/continuation/patterns/index.js.map +1 -0
  700. package/dist/backend/backend/src/services/continuation/patterns/waiting-patterns.d.ts +34 -0
  701. package/dist/backend/backend/src/services/continuation/patterns/waiting-patterns.d.ts.map +1 -0
  702. package/dist/backend/backend/src/services/continuation/patterns/waiting-patterns.js +64 -0
  703. package/dist/backend/backend/src/services/continuation/patterns/waiting-patterns.js.map +1 -0
  704. package/dist/backend/backend/src/services/continuation/template-loader.service.d.ts +196 -0
  705. package/dist/backend/backend/src/services/continuation/template-loader.service.d.ts.map +1 -0
  706. package/dist/backend/backend/src/services/continuation/template-loader.service.js +323 -0
  707. package/dist/backend/backend/src/services/continuation/template-loader.service.js.map +1 -0
  708. package/dist/backend/backend/src/services/core/config.service.d.ts +85 -0
  709. package/dist/backend/backend/src/services/core/config.service.d.ts.map +1 -0
  710. package/dist/backend/backend/src/services/core/config.service.js +226 -0
  711. package/dist/backend/backend/src/services/core/config.service.js.map +1 -0
  712. package/dist/backend/backend/src/services/core/error-tracking.service.d.ts +98 -0
  713. package/dist/backend/backend/src/services/core/error-tracking.service.d.ts.map +1 -0
  714. package/dist/backend/backend/src/services/core/error-tracking.service.js +291 -0
  715. package/dist/backend/backend/src/services/core/error-tracking.service.js.map +1 -0
  716. package/dist/backend/backend/src/services/core/logger.service.d.ts +70 -0
  717. package/dist/backend/backend/src/services/core/logger.service.d.ts.map +1 -0
  718. package/dist/backend/backend/src/services/core/logger.service.js +350 -0
  719. package/dist/backend/backend/src/services/core/logger.service.js.map +1 -0
  720. package/dist/backend/backend/src/services/core/storage.service.d.ts +261 -0
  721. package/dist/backend/backend/src/services/core/storage.service.d.ts.map +1 -0
  722. package/dist/backend/backend/src/services/core/storage.service.js +1390 -0
  723. package/dist/backend/backend/src/services/core/storage.service.js.map +1 -0
  724. package/dist/backend/backend/src/services/core/teams-backup.service.d.ts +92 -0
  725. package/dist/backend/backend/src/services/core/teams-backup.service.d.ts.map +1 -0
  726. package/dist/backend/backend/src/services/core/teams-backup.service.js +120 -0
  727. package/dist/backend/backend/src/services/core/teams-backup.service.js.map +1 -0
  728. package/dist/backend/backend/src/services/event-bus/event-bus.service.d.ts +144 -0
  729. package/dist/backend/backend/src/services/event-bus/event-bus.service.d.ts.map +1 -0
  730. package/dist/backend/backend/src/services/event-bus/event-bus.service.js +337 -0
  731. package/dist/backend/backend/src/services/event-bus/event-bus.service.js.map +1 -0
  732. package/dist/backend/backend/src/services/event-bus/index.d.ts +7 -0
  733. package/dist/backend/backend/src/services/event-bus/index.d.ts.map +1 -0
  734. package/dist/backend/backend/src/services/event-bus/index.js +7 -0
  735. package/dist/backend/backend/src/services/event-bus/index.js.map +1 -0
  736. package/dist/backend/backend/src/services/factory/factory-sse.service.d.ts +163 -0
  737. package/dist/backend/backend/src/services/factory/factory-sse.service.d.ts.map +1 -0
  738. package/dist/backend/backend/src/services/factory/factory-sse.service.js +274 -0
  739. package/dist/backend/backend/src/services/factory/factory-sse.service.js.map +1 -0
  740. package/dist/backend/backend/src/services/factory.service.d.ts +157 -0
  741. package/dist/backend/backend/src/services/factory.service.d.ts.map +1 -0
  742. package/dist/backend/backend/src/services/factory.service.js +545 -0
  743. package/dist/backend/backend/src/services/factory.service.js.map +1 -0
  744. package/dist/backend/backend/src/services/index.d.ts +37 -0
  745. package/dist/backend/backend/src/services/index.d.ts.map +1 -0
  746. package/dist/backend/backend/src/services/index.js +50 -0
  747. package/dist/backend/backend/src/services/index.js.map +1 -0
  748. package/dist/backend/backend/src/services/knowledge/index.d.ts +7 -0
  749. package/dist/backend/backend/src/services/knowledge/index.d.ts.map +1 -0
  750. package/dist/backend/backend/src/services/knowledge/index.js +7 -0
  751. package/dist/backend/backend/src/services/knowledge/index.js.map +1 -0
  752. package/dist/backend/backend/src/services/knowledge/knowledge-search.service.d.ts +125 -0
  753. package/dist/backend/backend/src/services/knowledge/knowledge-search.service.d.ts.map +1 -0
  754. package/dist/backend/backend/src/services/knowledge/knowledge-search.service.js +247 -0
  755. package/dist/backend/backend/src/services/knowledge/knowledge-search.service.js.map +1 -0
  756. package/dist/backend/backend/src/services/knowledge/knowledge.service.d.ts +153 -0
  757. package/dist/backend/backend/src/services/knowledge/knowledge.service.d.ts.map +1 -0
  758. package/dist/backend/backend/src/services/knowledge/knowledge.service.js +409 -0
  759. package/dist/backend/backend/src/services/knowledge/knowledge.service.js.map +1 -0
  760. package/dist/backend/backend/src/services/marketplace/index.d.ts +11 -0
  761. package/dist/backend/backend/src/services/marketplace/index.d.ts.map +1 -0
  762. package/dist/backend/backend/src/services/marketplace/index.js +13 -0
  763. package/dist/backend/backend/src/services/marketplace/index.js.map +1 -0
  764. package/dist/backend/backend/src/services/marketplace/marketplace-installer.service.d.ts +47 -0
  765. package/dist/backend/backend/src/services/marketplace/marketplace-installer.service.d.ts.map +1 -0
  766. package/dist/backend/backend/src/services/marketplace/marketplace-installer.service.js +127 -0
  767. package/dist/backend/backend/src/services/marketplace/marketplace-installer.service.js.map +1 -0
  768. package/dist/backend/backend/src/services/marketplace/marketplace.service.d.ts +101 -0
  769. package/dist/backend/backend/src/services/marketplace/marketplace.service.d.ts.map +1 -0
  770. package/dist/backend/backend/src/services/marketplace/marketplace.service.js +207 -0
  771. package/dist/backend/backend/src/services/marketplace/marketplace.service.js.map +1 -0
  772. package/dist/backend/backend/src/services/memory/agent-memory.service.d.ts +259 -0
  773. package/dist/backend/backend/src/services/memory/agent-memory.service.d.ts.map +1 -0
  774. package/dist/backend/backend/src/services/memory/agent-memory.service.js +539 -0
  775. package/dist/backend/backend/src/services/memory/agent-memory.service.js.map +1 -0
  776. package/dist/backend/backend/src/services/memory/daily-log.service.d.ts +159 -0
  777. package/dist/backend/backend/src/services/memory/daily-log.service.d.ts.map +1 -0
  778. package/dist/backend/backend/src/services/memory/daily-log.service.js +272 -0
  779. package/dist/backend/backend/src/services/memory/daily-log.service.js.map +1 -0
  780. package/dist/backend/backend/src/services/memory/goal-tracking.service.d.ts +239 -0
  781. package/dist/backend/backend/src/services/memory/goal-tracking.service.d.ts.map +1 -0
  782. package/dist/backend/backend/src/services/memory/goal-tracking.service.js +353 -0
  783. package/dist/backend/backend/src/services/memory/goal-tracking.service.js.map +1 -0
  784. package/dist/backend/backend/src/services/memory/index.d.ts +16 -0
  785. package/dist/backend/backend/src/services/memory/index.d.ts.map +1 -0
  786. package/dist/backend/backend/src/services/memory/index.js +15 -0
  787. package/dist/backend/backend/src/services/memory/index.js.map +1 -0
  788. package/dist/backend/backend/src/services/memory/learning-accumulation.service.d.ts +228 -0
  789. package/dist/backend/backend/src/services/memory/learning-accumulation.service.d.ts.map +1 -0
  790. package/dist/backend/backend/src/services/memory/learning-accumulation.service.js +336 -0
  791. package/dist/backend/backend/src/services/memory/learning-accumulation.service.js.map +1 -0
  792. package/dist/backend/backend/src/services/memory/memory.service.d.ts +306 -0
  793. package/dist/backend/backend/src/services/memory/memory.service.d.ts.map +1 -0
  794. package/dist/backend/backend/src/services/memory/memory.service.js +517 -0
  795. package/dist/backend/backend/src/services/memory/memory.service.js.map +1 -0
  796. package/dist/backend/backend/src/services/memory/project-memory.service.d.ts +252 -0
  797. package/dist/backend/backend/src/services/memory/project-memory.service.d.ts.map +1 -0
  798. package/dist/backend/backend/src/services/memory/project-memory.service.js +600 -0
  799. package/dist/backend/backend/src/services/memory/project-memory.service.js.map +1 -0
  800. package/dist/backend/backend/src/services/memory/session-memory.service.d.ts +197 -0
  801. package/dist/backend/backend/src/services/memory/session-memory.service.d.ts.map +1 -0
  802. package/dist/backend/backend/src/services/memory/session-memory.service.js +369 -0
  803. package/dist/backend/backend/src/services/memory/session-memory.service.js.map +1 -0
  804. package/dist/backend/backend/src/services/messaging/index.d.ts +9 -0
  805. package/dist/backend/backend/src/services/messaging/index.d.ts.map +1 -0
  806. package/dist/backend/backend/src/services/messaging/index.js +9 -0
  807. package/dist/backend/backend/src/services/messaging/index.js.map +1 -0
  808. package/dist/backend/backend/src/services/messaging/message-queue.service.d.ts +198 -0
  809. package/dist/backend/backend/src/services/messaging/message-queue.service.d.ts.map +1 -0
  810. package/dist/backend/backend/src/services/messaging/message-queue.service.js +445 -0
  811. package/dist/backend/backend/src/services/messaging/message-queue.service.js.map +1 -0
  812. package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts +90 -0
  813. package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts.map +1 -0
  814. package/dist/backend/backend/src/services/messaging/queue-processor.service.js +324 -0
  815. package/dist/backend/backend/src/services/messaging/queue-processor.service.js.map +1 -0
  816. package/dist/backend/backend/src/services/messaging/response-router.service.d.ts +56 -0
  817. package/dist/backend/backend/src/services/messaging/response-router.service.d.ts.map +1 -0
  818. package/dist/backend/backend/src/services/messaging/response-router.service.js +134 -0
  819. package/dist/backend/backend/src/services/messaging/response-router.service.js.map +1 -0
  820. package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.d.ts +84 -0
  821. package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.d.ts.map +1 -0
  822. package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.js +136 -0
  823. package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.js.map +1 -0
  824. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.d.ts +113 -0
  825. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.d.ts.map +1 -0
  826. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js +473 -0
  827. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js.map +1 -0
  828. package/dist/backend/backend/src/services/monitoring/monitoring.service.d.ts +129 -0
  829. package/dist/backend/backend/src/services/monitoring/monitoring.service.d.ts.map +1 -0
  830. package/dist/backend/backend/src/services/monitoring/monitoring.service.js +469 -0
  831. package/dist/backend/backend/src/services/monitoring/monitoring.service.js.map +1 -0
  832. package/dist/backend/backend/src/services/monitoring/system-resource-alert.service.d.ts +48 -0
  833. package/dist/backend/backend/src/services/monitoring/system-resource-alert.service.d.ts.map +1 -0
  834. package/dist/backend/backend/src/services/monitoring/system-resource-alert.service.js +151 -0
  835. package/dist/backend/backend/src/services/monitoring/system-resource-alert.service.js.map +1 -0
  836. package/dist/backend/backend/src/services/monitoring/task-assignment-monitor.service.d.ts +71 -0
  837. package/dist/backend/backend/src/services/monitoring/task-assignment-monitor.service.d.ts.map +1 -0
  838. package/dist/backend/backend/src/services/monitoring/task-assignment-monitor.service.js +304 -0
  839. package/dist/backend/backend/src/services/monitoring/task-assignment-monitor.service.js.map +1 -0
  840. package/dist/backend/backend/src/services/monitoring/team-activity-websocket.service.d.ts +100 -0
  841. package/dist/backend/backend/src/services/monitoring/team-activity-websocket.service.d.ts.map +1 -0
  842. package/dist/backend/backend/src/services/monitoring/team-activity-websocket.service.js +285 -0
  843. package/dist/backend/backend/src/services/monitoring/team-activity-websocket.service.js.map +1 -0
  844. package/dist/backend/backend/src/services/monitoring/teams-json-watcher.service.d.ts +107 -0
  845. package/dist/backend/backend/src/services/monitoring/teams-json-watcher.service.d.ts.map +1 -0
  846. package/dist/backend/backend/src/services/monitoring/teams-json-watcher.service.js +568 -0
  847. package/dist/backend/backend/src/services/monitoring/teams-json-watcher.service.js.map +1 -0
  848. package/dist/backend/backend/src/services/orchestrator/improvement-marker.service.d.ts +231 -0
  849. package/dist/backend/backend/src/services/orchestrator/improvement-marker.service.d.ts.map +1 -0
  850. package/dist/backend/backend/src/services/orchestrator/improvement-marker.service.js +344 -0
  851. package/dist/backend/backend/src/services/orchestrator/improvement-marker.service.js.map +1 -0
  852. package/dist/backend/backend/src/services/orchestrator/improvement-startup.service.d.ts +156 -0
  853. package/dist/backend/backend/src/services/orchestrator/improvement-startup.service.d.ts.map +1 -0
  854. package/dist/backend/backend/src/services/orchestrator/improvement-startup.service.js +481 -0
  855. package/dist/backend/backend/src/services/orchestrator/improvement-startup.service.js.map +1 -0
  856. package/dist/backend/backend/src/services/orchestrator/index.d.ts +15 -0
  857. package/dist/backend/backend/src/services/orchestrator/index.d.ts.map +1 -0
  858. package/dist/backend/backend/src/services/orchestrator/index.js +15 -0
  859. package/dist/backend/backend/src/services/orchestrator/index.js.map +1 -0
  860. package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.d.ts +112 -0
  861. package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.d.ts.map +1 -0
  862. package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.js +244 -0
  863. package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.js.map +1 -0
  864. package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.d.ts +61 -0
  865. package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.d.ts.map +1 -0
  866. package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.js +156 -0
  867. package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.js.map +1 -0
  868. package/dist/backend/backend/src/services/orchestrator/safe-restart.service.d.ts +191 -0
  869. package/dist/backend/backend/src/services/orchestrator/safe-restart.service.d.ts.map +1 -0
  870. package/dist/backend/backend/src/services/orchestrator/safe-restart.service.js +393 -0
  871. package/dist/backend/backend/src/services/orchestrator/safe-restart.service.js.map +1 -0
  872. package/dist/backend/backend/src/services/orchestrator/self-improvement.service.d.ts +200 -0
  873. package/dist/backend/backend/src/services/orchestrator/self-improvement.service.d.ts.map +1 -0
  874. package/dist/backend/backend/src/services/orchestrator/self-improvement.service.js +394 -0
  875. package/dist/backend/backend/src/services/orchestrator/self-improvement.service.js.map +1 -0
  876. package/dist/backend/backend/src/services/orchestrator/state-persistence.service.d.ts +226 -0
  877. package/dist/backend/backend/src/services/orchestrator/state-persistence.service.d.ts.map +1 -0
  878. package/dist/backend/backend/src/services/orchestrator/state-persistence.service.js +504 -0
  879. package/dist/backend/backend/src/services/orchestrator/state-persistence.service.js.map +1 -0
  880. package/dist/backend/backend/src/services/project/active-projects.service.d.ts +39 -0
  881. package/dist/backend/backend/src/services/project/active-projects.service.d.ts.map +1 -0
  882. package/dist/backend/backend/src/services/project/active-projects.service.js +295 -0
  883. package/dist/backend/backend/src/services/project/active-projects.service.js.map +1 -0
  884. package/dist/backend/backend/src/services/project/task-folder.service.d.ts +48 -0
  885. package/dist/backend/backend/src/services/project/task-folder.service.d.ts.map +1 -0
  886. package/dist/backend/backend/src/services/project/task-folder.service.js +193 -0
  887. package/dist/backend/backend/src/services/project/task-folder.service.js.map +1 -0
  888. package/dist/backend/backend/src/services/project/task-tracking.service.d.ts +47 -0
  889. package/dist/backend/backend/src/services/project/task-tracking.service.d.ts.map +1 -0
  890. package/dist/backend/backend/src/services/project/task-tracking.service.js +330 -0
  891. package/dist/backend/backend/src/services/project/task-tracking.service.js.map +1 -0
  892. package/dist/backend/backend/src/services/project/task.service.d.ts +31 -0
  893. package/dist/backend/backend/src/services/project/task.service.d.ts.map +1 -0
  894. package/dist/backend/backend/src/services/project/task.service.js +193 -0
  895. package/dist/backend/backend/src/services/project/task.service.js.map +1 -0
  896. package/dist/backend/backend/src/services/project/ticket-editor.service.d.ts +129 -0
  897. package/dist/backend/backend/src/services/project/ticket-editor.service.d.ts.map +1 -0
  898. package/dist/backend/backend/src/services/project/ticket-editor.service.js +405 -0
  899. package/dist/backend/backend/src/services/project/ticket-editor.service.js.map +1 -0
  900. package/dist/backend/backend/src/services/prompt/index.d.ts +7 -0
  901. package/dist/backend/backend/src/services/prompt/index.d.ts.map +1 -0
  902. package/dist/backend/backend/src/services/prompt/index.js +7 -0
  903. package/dist/backend/backend/src/services/prompt/index.js.map +1 -0
  904. package/dist/backend/backend/src/services/prompt/prompt-generator.service.d.ts +106 -0
  905. package/dist/backend/backend/src/services/prompt/prompt-generator.service.d.ts.map +1 -0
  906. package/dist/backend/backend/src/services/prompt/prompt-generator.service.js +287 -0
  907. package/dist/backend/backend/src/services/prompt/prompt-generator.service.js.map +1 -0
  908. package/dist/backend/backend/src/services/quality/index.d.ts +10 -0
  909. package/dist/backend/backend/src/services/quality/index.d.ts.map +1 -0
  910. package/dist/backend/backend/src/services/quality/index.js +10 -0
  911. package/dist/backend/backend/src/services/quality/index.js.map +1 -0
  912. package/dist/backend/backend/src/services/quality/quality-gate.service.d.ts +223 -0
  913. package/dist/backend/backend/src/services/quality/quality-gate.service.d.ts.map +1 -0
  914. package/dist/backend/backend/src/services/quality/quality-gate.service.js +388 -0
  915. package/dist/backend/backend/src/services/quality/quality-gate.service.js.map +1 -0
  916. package/dist/backend/backend/src/services/session/index.d.ts +43 -0
  917. package/dist/backend/backend/src/services/session/index.d.ts.map +1 -0
  918. package/dist/backend/backend/src/services/session/index.js +46 -0
  919. package/dist/backend/backend/src/services/session/index.js.map +1 -0
  920. package/dist/backend/backend/src/services/session/pty/index.d.ts +11 -0
  921. package/dist/backend/backend/src/services/session/pty/index.d.ts.map +1 -0
  922. package/dist/backend/backend/src/services/session/pty/index.js +11 -0
  923. package/dist/backend/backend/src/services/session/pty/index.js.map +1 -0
  924. package/dist/backend/backend/src/services/session/pty/pty-session-backend.d.ts +258 -0
  925. package/dist/backend/backend/src/services/session/pty/pty-session-backend.d.ts.map +1 -0
  926. package/dist/backend/backend/src/services/session/pty/pty-session-backend.js +435 -0
  927. package/dist/backend/backend/src/services/session/pty/pty-session-backend.js.map +1 -0
  928. package/dist/backend/backend/src/services/session/pty/pty-session.d.ts +196 -0
  929. package/dist/backend/backend/src/services/session/pty/pty-session.d.ts.map +1 -0
  930. package/dist/backend/backend/src/services/session/pty/pty-session.js +393 -0
  931. package/dist/backend/backend/src/services/session/pty/pty-session.js.map +1 -0
  932. package/dist/backend/backend/src/services/session/pty/pty-terminal-buffer.d.ts +241 -0
  933. package/dist/backend/backend/src/services/session/pty/pty-terminal-buffer.d.ts.map +1 -0
  934. package/dist/backend/backend/src/services/session/pty/pty-terminal-buffer.js +351 -0
  935. package/dist/backend/backend/src/services/session/pty/pty-terminal-buffer.js.map +1 -0
  936. package/dist/backend/backend/src/services/session/session-backend.factory.d.ts +127 -0
  937. package/dist/backend/backend/src/services/session/session-backend.factory.d.ts.map +1 -0
  938. package/dist/backend/backend/src/services/session/session-backend.factory.js +226 -0
  939. package/dist/backend/backend/src/services/session/session-backend.factory.js.map +1 -0
  940. package/dist/backend/backend/src/services/session/session-backend.interface.d.ts +358 -0
  941. package/dist/backend/backend/src/services/session/session-backend.interface.d.ts.map +1 -0
  942. package/dist/backend/backend/src/services/session/session-backend.interface.js +19 -0
  943. package/dist/backend/backend/src/services/session/session-backend.interface.js.map +1 -0
  944. package/dist/backend/backend/src/services/session/session-command-helper.d.ts +327 -0
  945. package/dist/backend/backend/src/services/session/session-command-helper.d.ts.map +1 -0
  946. package/dist/backend/backend/src/services/session/session-command-helper.js +687 -0
  947. package/dist/backend/backend/src/services/session/session-command-helper.js.map +1 -0
  948. package/dist/backend/backend/src/services/session/session-state-persistence.d.ts +228 -0
  949. package/dist/backend/backend/src/services/session/session-state-persistence.d.ts.map +1 -0
  950. package/dist/backend/backend/src/services/session/session-state-persistence.js +394 -0
  951. package/dist/backend/backend/src/services/session/session-state-persistence.js.map +1 -0
  952. package/dist/backend/backend/src/services/settings/index.d.ts +10 -0
  953. package/dist/backend/backend/src/services/settings/index.d.ts.map +1 -0
  954. package/dist/backend/backend/src/services/settings/index.js +12 -0
  955. package/dist/backend/backend/src/services/settings/index.js.map +1 -0
  956. package/dist/backend/backend/src/services/settings/role.service.d.ts +276 -0
  957. package/dist/backend/backend/src/services/settings/role.service.d.ts.map +1 -0
  958. package/dist/backend/backend/src/services/settings/role.service.js +726 -0
  959. package/dist/backend/backend/src/services/settings/role.service.js.map +1 -0
  960. package/dist/backend/backend/src/services/settings/settings.service.d.ts +160 -0
  961. package/dist/backend/backend/src/services/settings/settings.service.d.ts.map +1 -0
  962. package/dist/backend/backend/src/services/settings/settings.service.js +294 -0
  963. package/dist/backend/backend/src/services/settings/settings.service.js.map +1 -0
  964. package/dist/backend/backend/src/services/skill/index.d.ts +10 -0
  965. package/dist/backend/backend/src/services/skill/index.d.ts.map +1 -0
  966. package/dist/backend/backend/src/services/skill/index.js +10 -0
  967. package/dist/backend/backend/src/services/skill/index.js.map +1 -0
  968. package/dist/backend/backend/src/services/skill/skill-catalog.service.d.ts +236 -0
  969. package/dist/backend/backend/src/services/skill/skill-catalog.service.d.ts.map +1 -0
  970. package/dist/backend/backend/src/services/skill/skill-catalog.service.js +550 -0
  971. package/dist/backend/backend/src/services/skill/skill-catalog.service.js.map +1 -0
  972. package/dist/backend/backend/src/services/skill/skill-executor.service.d.ts +135 -0
  973. package/dist/backend/backend/src/services/skill/skill-executor.service.d.ts.map +1 -0
  974. package/dist/backend/backend/src/services/skill/skill-executor.service.js +493 -0
  975. package/dist/backend/backend/src/services/skill/skill-executor.service.js.map +1 -0
  976. package/dist/backend/backend/src/services/skill/skill.service.d.ts +241 -0
  977. package/dist/backend/backend/src/services/skill/skill.service.d.ts.map +1 -0
  978. package/dist/backend/backend/src/services/skill/skill.service.js +542 -0
  979. package/dist/backend/backend/src/services/skill/skill.service.js.map +1 -0
  980. package/dist/backend/backend/src/services/slack/index.d.ts +13 -0
  981. package/dist/backend/backend/src/services/slack/index.d.ts.map +1 -0
  982. package/dist/backend/backend/src/services/slack/index.js +13 -0
  983. package/dist/backend/backend/src/services/slack/index.js.map +1 -0
  984. package/dist/backend/backend/src/services/slack/notify-reconciliation.service.d.ts +63 -0
  985. package/dist/backend/backend/src/services/slack/notify-reconciliation.service.d.ts.map +1 -0
  986. package/dist/backend/backend/src/services/slack/notify-reconciliation.service.js +182 -0
  987. package/dist/backend/backend/src/services/slack/notify-reconciliation.service.js.map +1 -0
  988. package/dist/backend/backend/src/services/slack/slack-image.service.d.ts +113 -0
  989. package/dist/backend/backend/src/services/slack/slack-image.service.d.ts.map +1 -0
  990. package/dist/backend/backend/src/services/slack/slack-image.service.js +329 -0
  991. package/dist/backend/backend/src/services/slack/slack-image.service.js.map +1 -0
  992. package/dist/backend/backend/src/services/slack/slack-initializer.d.ts +71 -0
  993. package/dist/backend/backend/src/services/slack/slack-initializer.d.ts.map +1 -0
  994. package/dist/backend/backend/src/services/slack/slack-initializer.js +106 -0
  995. package/dist/backend/backend/src/services/slack/slack-initializer.js.map +1 -0
  996. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts +302 -0
  997. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -0
  998. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js +806 -0
  999. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -0
  1000. package/dist/backend/backend/src/services/slack/slack-thread-store.service.d.ts +147 -0
  1001. package/dist/backend/backend/src/services/slack/slack-thread-store.service.d.ts.map +1 -0
  1002. package/dist/backend/backend/src/services/slack/slack-thread-store.service.js +258 -0
  1003. package/dist/backend/backend/src/services/slack/slack-thread-store.service.js.map +1 -0
  1004. package/dist/backend/backend/src/services/slack/slack.service.d.ts +219 -0
  1005. package/dist/backend/backend/src/services/slack/slack.service.d.ts.map +1 -0
  1006. package/dist/backend/backend/src/services/slack/slack.service.js +551 -0
  1007. package/dist/backend/backend/src/services/slack/slack.service.js.map +1 -0
  1008. package/dist/backend/backend/src/services/sop/index.d.ts +9 -0
  1009. package/dist/backend/backend/src/services/sop/index.d.ts.map +1 -0
  1010. package/dist/backend/backend/src/services/sop/index.js +9 -0
  1011. package/dist/backend/backend/src/services/sop/index.js.map +1 -0
  1012. package/dist/backend/backend/src/services/sop/sop.service.d.ts +286 -0
  1013. package/dist/backend/backend/src/services/sop/sop.service.d.ts.map +1 -0
  1014. package/dist/backend/backend/src/services/sop/sop.service.js +583 -0
  1015. package/dist/backend/backend/src/services/sop/sop.service.js.map +1 -0
  1016. package/dist/backend/backend/src/services/system/version-check.service.d.ts +112 -0
  1017. package/dist/backend/backend/src/services/system/version-check.service.d.ts.map +1 -0
  1018. package/dist/backend/backend/src/services/system/version-check.service.js +195 -0
  1019. package/dist/backend/backend/src/services/system/version-check.service.js.map +1 -0
  1020. package/dist/backend/backend/src/services/workflow/message-scheduler.service.d.ts +99 -0
  1021. package/dist/backend/backend/src/services/workflow/message-scheduler.service.d.ts.map +1 -0
  1022. package/dist/backend/backend/src/services/workflow/message-scheduler.service.js +408 -0
  1023. package/dist/backend/backend/src/services/workflow/message-scheduler.service.js.map +1 -0
  1024. package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts +300 -0
  1025. package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts.map +1 -0
  1026. package/dist/backend/backend/src/services/workflow/scheduler.service.js +924 -0
  1027. package/dist/backend/backend/src/services/workflow/scheduler.service.js.map +1 -0
  1028. package/dist/backend/backend/src/types/auto-assign.types.d.ts +271 -0
  1029. package/dist/backend/backend/src/types/auto-assign.types.d.ts.map +1 -0
  1030. package/dist/backend/backend/src/types/auto-assign.types.js +136 -0
  1031. package/dist/backend/backend/src/types/auto-assign.types.js.map +1 -0
  1032. package/dist/backend/backend/src/types/budget.types.d.ts +217 -0
  1033. package/dist/backend/backend/src/types/budget.types.d.ts.map +1 -0
  1034. package/dist/backend/backend/src/types/budget.types.js +82 -0
  1035. package/dist/backend/backend/src/types/budget.types.js.map +1 -0
  1036. package/dist/backend/backend/src/types/chat.types.d.ts +550 -0
  1037. package/dist/backend/backend/src/types/chat.types.d.ts.map +1 -0
  1038. package/dist/backend/backend/src/types/chat.types.js +743 -0
  1039. package/dist/backend/backend/src/types/chat.types.js.map +1 -0
  1040. package/dist/backend/backend/src/types/continuation.types.d.ts +237 -0
  1041. package/dist/backend/backend/src/types/continuation.types.d.ts.map +1 -0
  1042. package/dist/backend/backend/src/types/continuation.types.js +10 -0
  1043. package/dist/backend/backend/src/types/continuation.types.js.map +1 -0
  1044. package/dist/backend/backend/src/types/event-bus.types.d.ts +112 -0
  1045. package/dist/backend/backend/src/types/event-bus.types.d.ts.map +1 -0
  1046. package/dist/backend/backend/src/types/event-bus.types.js +82 -0
  1047. package/dist/backend/backend/src/types/event-bus.types.js.map +1 -0
  1048. package/dist/backend/backend/src/types/index.d.ts +161 -0
  1049. package/dist/backend/backend/src/types/index.d.ts.map +1 -0
  1050. package/dist/backend/backend/src/types/index.js +23 -0
  1051. package/dist/backend/backend/src/types/index.js.map +1 -0
  1052. package/dist/backend/backend/src/types/knowledge.types.d.ts +195 -0
  1053. package/dist/backend/backend/src/types/knowledge.types.d.ts.map +1 -0
  1054. package/dist/backend/backend/src/types/knowledge.types.js +38 -0
  1055. package/dist/backend/backend/src/types/knowledge.types.js.map +1 -0
  1056. package/dist/backend/backend/src/types/marketplace.types.d.ts +68 -0
  1057. package/dist/backend/backend/src/types/marketplace.types.d.ts.map +1 -0
  1058. package/dist/backend/backend/src/types/marketplace.types.js +6 -0
  1059. package/dist/backend/backend/src/types/marketplace.types.js.map +1 -0
  1060. package/dist/backend/backend/src/types/memory.types.d.ts +587 -0
  1061. package/dist/backend/backend/src/types/memory.types.d.ts.map +1 -0
  1062. package/dist/backend/backend/src/types/memory.types.js +47 -0
  1063. package/dist/backend/backend/src/types/memory.types.js.map +1 -0
  1064. package/dist/backend/backend/src/types/messaging.types.d.ts +216 -0
  1065. package/dist/backend/backend/src/types/messaging.types.d.ts.map +1 -0
  1066. package/dist/backend/backend/src/types/messaging.types.js +224 -0
  1067. package/dist/backend/backend/src/types/messaging.types.js.map +1 -0
  1068. package/dist/backend/backend/src/types/orchestrator-state.types.d.ts +482 -0
  1069. package/dist/backend/backend/src/types/orchestrator-state.types.d.ts.map +1 -0
  1070. package/dist/backend/backend/src/types/orchestrator-state.types.js +83 -0
  1071. package/dist/backend/backend/src/types/orchestrator-state.types.js.map +1 -0
  1072. package/dist/backend/backend/src/types/quality-gate.types.d.ts +171 -0
  1073. package/dist/backend/backend/src/types/quality-gate.types.d.ts.map +1 -0
  1074. package/dist/backend/backend/src/types/quality-gate.types.js +42 -0
  1075. package/dist/backend/backend/src/types/quality-gate.types.js.map +1 -0
  1076. package/dist/backend/backend/src/types/role.types.d.ts +260 -0
  1077. package/dist/backend/backend/src/types/role.types.d.ts.map +1 -0
  1078. package/dist/backend/backend/src/types/role.types.js +238 -0
  1079. package/dist/backend/backend/src/types/role.types.js.map +1 -0
  1080. package/dist/backend/backend/src/types/scheduler.types.d.ts +237 -0
  1081. package/dist/backend/backend/src/types/scheduler.types.d.ts.map +1 -0
  1082. package/dist/backend/backend/src/types/scheduler.types.js +32 -0
  1083. package/dist/backend/backend/src/types/scheduler.types.js.map +1 -0
  1084. package/dist/backend/backend/src/types/settings.types.d.ts +178 -0
  1085. package/dist/backend/backend/src/types/settings.types.d.ts.map +1 -0
  1086. package/dist/backend/backend/src/types/settings.types.js +206 -0
  1087. package/dist/backend/backend/src/types/settings.types.js.map +1 -0
  1088. package/dist/backend/backend/src/types/skill.types.d.ts +515 -0
  1089. package/dist/backend/backend/src/types/skill.types.d.ts.map +1 -0
  1090. package/dist/backend/backend/src/types/skill.types.js +481 -0
  1091. package/dist/backend/backend/src/types/skill.types.js.map +1 -0
  1092. package/dist/backend/backend/src/types/slack.types.d.ts +329 -0
  1093. package/dist/backend/backend/src/types/slack.types.d.ts.map +1 -0
  1094. package/dist/backend/backend/src/types/slack.types.js +66 -0
  1095. package/dist/backend/backend/src/types/slack.types.js.map +1 -0
  1096. package/dist/backend/backend/src/types/sop.types.d.ts +224 -0
  1097. package/dist/backend/backend/src/types/sop.types.d.ts.map +1 -0
  1098. package/dist/backend/backend/src/types/sop.types.js +85 -0
  1099. package/dist/backend/backend/src/types/sop.types.js.map +1 -0
  1100. package/dist/backend/backend/src/types/task-tracking.types.d.ts +91 -0
  1101. package/dist/backend/backend/src/types/task-tracking.types.d.ts.map +1 -0
  1102. package/dist/backend/backend/src/types/task-tracking.types.js +5 -0
  1103. package/dist/backend/backend/src/types/task-tracking.types.js.map +1 -0
  1104. package/dist/backend/backend/src/utils/async.utils.d.ts +68 -0
  1105. package/dist/backend/backend/src/utils/async.utils.d.ts.map +1 -0
  1106. package/dist/backend/backend/src/utils/async.utils.js +80 -0
  1107. package/dist/backend/backend/src/utils/async.utils.js.map +1 -0
  1108. package/dist/backend/backend/src/utils/defaultPrompts.d.ts +5 -0
  1109. package/dist/backend/backend/src/utils/defaultPrompts.d.ts.map +1 -0
  1110. package/dist/backend/backend/src/utils/defaultPrompts.js +285 -0
  1111. package/dist/backend/backend/src/utils/defaultPrompts.js.map +1 -0
  1112. package/dist/backend/backend/src/utils/file-io.utils.d.ts +102 -0
  1113. package/dist/backend/backend/src/utils/file-io.utils.d.ts.map +1 -0
  1114. package/dist/backend/backend/src/utils/file-io.utils.js +214 -0
  1115. package/dist/backend/backend/src/utils/file-io.utils.js.map +1 -0
  1116. package/dist/backend/backend/src/utils/package-root.d.ts +15 -0
  1117. package/dist/backend/backend/src/utils/package-root.d.ts.map +1 -0
  1118. package/dist/backend/backend/src/utils/package-root.js +38 -0
  1119. package/dist/backend/backend/src/utils/package-root.js.map +1 -0
  1120. package/dist/backend/backend/src/utils/process-recovery.d.ts +81 -0
  1121. package/dist/backend/backend/src/utils/process-recovery.d.ts.map +1 -0
  1122. package/dist/backend/backend/src/utils/process-recovery.js +283 -0
  1123. package/dist/backend/backend/src/utils/process-recovery.js.map +1 -0
  1124. package/dist/backend/backend/src/utils/prompt-resolver.d.ts +79 -0
  1125. package/dist/backend/backend/src/utils/prompt-resolver.d.ts.map +1 -0
  1126. package/dist/backend/backend/src/utils/prompt-resolver.js +132 -0
  1127. package/dist/backend/backend/src/utils/prompt-resolver.js.map +1 -0
  1128. package/dist/backend/backend/src/utils/resource-monitor.d.ts +177 -0
  1129. package/dist/backend/backend/src/utils/resource-monitor.d.ts.map +1 -0
  1130. package/dist/backend/backend/src/utils/resource-monitor.js +404 -0
  1131. package/dist/backend/backend/src/utils/resource-monitor.js.map +1 -0
  1132. package/dist/backend/backend/src/utils/security.d.ts +194 -0
  1133. package/dist/backend/backend/src/utils/security.d.ts.map +1 -0
  1134. package/dist/backend/backend/src/utils/security.js +533 -0
  1135. package/dist/backend/backend/src/utils/security.js.map +1 -0
  1136. package/dist/backend/backend/src/utils/terminal-output.utils.d.ts +54 -0
  1137. package/dist/backend/backend/src/utils/terminal-output.utils.d.ts.map +1 -0
  1138. package/dist/backend/backend/src/utils/terminal-output.utils.js +97 -0
  1139. package/dist/backend/backend/src/utils/terminal-output.utils.js.map +1 -0
  1140. package/dist/backend/backend/src/websocket/chat.gateway.d.ts +127 -0
  1141. package/dist/backend/backend/src/websocket/chat.gateway.d.ts.map +1 -0
  1142. package/dist/backend/backend/src/websocket/chat.gateway.js +306 -0
  1143. package/dist/backend/backend/src/websocket/chat.gateway.js.map +1 -0
  1144. package/dist/backend/backend/src/websocket/file-watcher.gateway.d.ts +54 -0
  1145. package/dist/backend/backend/src/websocket/file-watcher.gateway.d.ts.map +1 -0
  1146. package/dist/backend/backend/src/websocket/file-watcher.gateway.js +202 -0
  1147. package/dist/backend/backend/src/websocket/file-watcher.gateway.js.map +1 -0
  1148. package/dist/backend/backend/src/websocket/terminal.gateway.d.ts +310 -0
  1149. package/dist/backend/backend/src/websocket/terminal.gateway.d.ts.map +1 -0
  1150. package/dist/backend/backend/src/websocket/terminal.gateway.js +980 -0
  1151. package/dist/backend/backend/src/websocket/terminal.gateway.js.map +1 -0
  1152. package/dist/backend/config/constants.d.ts +722 -0
  1153. package/dist/backend/config/constants.d.ts.map +1 -0
  1154. package/dist/backend/config/constants.js +752 -0
  1155. package/dist/backend/config/constants.js.map +1 -0
  1156. package/dist/backend/config/index.d.ts +344 -0
  1157. package/dist/backend/config/index.d.ts.map +1 -0
  1158. package/dist/backend/config/index.js +42 -0
  1159. package/dist/backend/config/index.js.map +1 -0
  1160. package/dist/backend/config/quality-gates/default-gates.d.ts +71 -0
  1161. package/dist/backend/config/quality-gates/default-gates.d.ts.map +1 -0
  1162. package/dist/backend/config/quality-gates/default-gates.js +168 -0
  1163. package/dist/backend/config/quality-gates/default-gates.js.map +1 -0
  1164. package/dist/cli/cli/src/commands/logs.d.ts +7 -0
  1165. package/dist/cli/cli/src/commands/logs.d.ts.map +1 -0
  1166. package/dist/cli/cli/src/commands/logs.js +198 -0
  1167. package/dist/cli/cli/src/commands/logs.js.map +1 -0
  1168. package/dist/cli/cli/src/commands/start.d.ts +8 -0
  1169. package/dist/cli/cli/src/commands/start.d.ts.map +1 -0
  1170. package/dist/cli/cli/src/commands/start.js +254 -0
  1171. package/dist/cli/cli/src/commands/start.js.map +1 -0
  1172. package/dist/cli/cli/src/commands/status.d.ts +6 -0
  1173. package/dist/cli/cli/src/commands/status.d.ts.map +1 -0
  1174. package/dist/cli/cli/src/commands/status.js +130 -0
  1175. package/dist/cli/cli/src/commands/status.js.map +1 -0
  1176. package/dist/cli/cli/src/commands/stop.d.ts +6 -0
  1177. package/dist/cli/cli/src/commands/stop.d.ts.map +1 -0
  1178. package/dist/cli/cli/src/commands/stop.js +140 -0
  1179. package/dist/cli/cli/src/commands/stop.js.map +1 -0
  1180. package/dist/cli/cli/src/commands/upgrade.d.ts +26 -0
  1181. package/dist/cli/cli/src/commands/upgrade.d.ts.map +1 -0
  1182. package/dist/cli/cli/src/commands/upgrade.js +54 -0
  1183. package/dist/cli/cli/src/commands/upgrade.js.map +1 -0
  1184. package/dist/cli/cli/src/constants.d.ts +106 -0
  1185. package/dist/cli/cli/src/constants.d.ts.map +1 -0
  1186. package/dist/cli/cli/src/constants.js +88 -0
  1187. package/dist/cli/cli/src/constants.js.map +1 -0
  1188. package/dist/cli/cli/src/index.d.ts +3 -0
  1189. package/dist/cli/cli/src/index.d.ts.map +1 -0
  1190. package/dist/cli/cli/src/index.js +60 -0
  1191. package/dist/cli/cli/src/index.js.map +1 -0
  1192. package/dist/cli/cli/src/utils/version-check.d.ts +66 -0
  1193. package/dist/cli/cli/src/utils/version-check.d.ts.map +1 -0
  1194. package/dist/cli/cli/src/utils/version-check.js +192 -0
  1195. package/dist/cli/cli/src/utils/version-check.js.map +1 -0
  1196. package/dist/cli/config/constants.d.ts +722 -0
  1197. package/dist/cli/config/constants.d.ts.map +1 -0
  1198. package/dist/cli/config/constants.js +752 -0
  1199. package/dist/cli/config/constants.js.map +1 -0
  1200. package/dist/cli/config/index.d.ts +344 -0
  1201. package/dist/cli/config/index.d.ts.map +1 -0
  1202. package/dist/cli/config/index.js +42 -0
  1203. package/dist/cli/config/index.js.map +1 -0
  1204. package/frontend/dist/assets/index-5ddf71c8.css +33 -0
  1205. package/frontend/dist/assets/index-77b6a2a0.js +4919 -0
  1206. package/frontend/dist/index.html +19 -0
  1207. package/frontend/dist/logo/crewly-icon.svg +118 -0
  1208. package/package.json +121 -0
@@ -0,0 +1,1126 @@
1
+ import * as fs from 'fs/promises';
2
+ import * as path from 'path';
3
+ import { promisify } from 'util';
4
+ import { exec } from 'child_process';
5
+ import { ProjectModel } from '../../models/index.js';
6
+ import { ContextLoaderService } from '../../services/index.js';
7
+ import { getFileIcon, countFiles } from '../utils/file-utils.js';
8
+ import { CREWLY_CONSTANTS } from '../../constants.js';
9
+ const execAsync = promisify(exec);
10
+ // Project Management
11
+ export async function createProject(req, res) {
12
+ try {
13
+ const { path: projectPath, name, description } = req.body;
14
+ if (!projectPath) {
15
+ res.status(400).json({
16
+ success: false,
17
+ error: 'Project path is required',
18
+ });
19
+ return;
20
+ }
21
+ const project = await this.storageService.addProject(projectPath);
22
+ let finalProject = project;
23
+ if (name || description) {
24
+ // Work directly with the project object to update name and description
25
+ // since ProjectModel doesn't support the description field
26
+ const updatedProject = {
27
+ ...project,
28
+ updatedAt: new Date().toISOString(),
29
+ };
30
+ if (name)
31
+ updatedProject.name = name;
32
+ if (description)
33
+ updatedProject.description = description;
34
+ await this.storageService.saveProject(updatedProject);
35
+ finalProject = updatedProject;
36
+ }
37
+ // For Gemini CLI orchestrator, add new project path to allowlist
38
+ try {
39
+ // Check if orchestrator is running and uses Gemini CLI
40
+ const orchestratorStatus = await this.storageService.getOrchestratorStatus();
41
+ const isGeminiOrchestrator = orchestratorStatus?.runtimeType === 'gemini-cli';
42
+ const isOrchestratorActive = orchestratorStatus?.agentStatus === CREWLY_CONSTANTS.AGENT_STATUSES.ACTIVE;
43
+ if (isGeminiOrchestrator && isOrchestratorActive) {
44
+ console.log('Orchestrator is running with Gemini CLI, adding new project to allowlist...', {
45
+ projectPath: finalProject.path,
46
+ projectName: finalProject.name,
47
+ });
48
+ // Import RuntimeServiceFactory dynamically to avoid circular dependency
49
+ const { RuntimeServiceFactory } = await import('../../services/agent/runtime-service.factory.js');
50
+ const { RUNTIME_TYPES, ORCHESTRATOR_SESSION_NAME } = await import('../../constants.js');
51
+ // Get Gemini runtime service instance
52
+ const geminiService = RuntimeServiceFactory.create(RUNTIME_TYPES.GEMINI_CLI, this.tmuxService.getTmuxCommandService(), process.cwd());
53
+ // Add new project path to allowlist
54
+ // Type assertion needed because RuntimeServiceFactory returns base interface
55
+ const geminiServiceWithAllowlist = geminiService;
56
+ const allowlistResult = await geminiServiceWithAllowlist.addProjectToAllowlist(ORCHESTRATOR_SESSION_NAME, finalProject.path);
57
+ console.log('Gemini CLI allowlist update result for new project:', {
58
+ projectPath: finalProject.path,
59
+ success: allowlistResult.success,
60
+ message: allowlistResult.message,
61
+ });
62
+ }
63
+ else if (isGeminiOrchestrator && !isOrchestratorActive) {
64
+ console.log('Orchestrator uses Gemini CLI but is not active, project allowlist will be updated when orchestrator starts');
65
+ }
66
+ }
67
+ catch (error) {
68
+ // Log error but continue - as per requirement, don't fail project creation
69
+ console.warn('Failed to add new project to Gemini CLI allowlist (continuing anyway):', {
70
+ projectPath: finalProject.path,
71
+ error: error instanceof Error ? error.message : String(error),
72
+ });
73
+ }
74
+ res.status(201).json({
75
+ success: true,
76
+ data: finalProject,
77
+ message: 'Project added successfully',
78
+ });
79
+ }
80
+ catch (error) {
81
+ console.error('Error creating project:', error);
82
+ res.status(500).json({ success: false, error: 'Failed to create project' });
83
+ }
84
+ }
85
+ export async function getProjects(req, res) {
86
+ try {
87
+ const projects = await this.storageService.getProjects();
88
+ res.json({ success: true, data: projects });
89
+ }
90
+ catch (error) {
91
+ console.error('Error getting projects:', error);
92
+ res.status(500).json({
93
+ success: false,
94
+ error: 'Failed to retrieve projects',
95
+ });
96
+ }
97
+ }
98
+ export async function getProject(req, res) {
99
+ try {
100
+ const { id } = req.params;
101
+ const projects = await this.storageService.getProjects();
102
+ const project = projects.find((p) => p.id === id);
103
+ if (!project) {
104
+ res.status(404).json({ success: false, error: 'Project not found' });
105
+ return;
106
+ }
107
+ res.json({ success: true, data: project });
108
+ }
109
+ catch (error) {
110
+ console.error('Error getting project:', error);
111
+ res.status(500).json({
112
+ success: false,
113
+ error: 'Failed to retrieve project',
114
+ });
115
+ }
116
+ }
117
+ export async function getProjectStatus(req, res) {
118
+ try {
119
+ const { id } = req.params;
120
+ const projects = await this.storageService.getProjects();
121
+ const project = projects.find((p) => p.id === id);
122
+ if (!project) {
123
+ res.status(404).json({ success: false, error: 'Project not found' });
124
+ return;
125
+ }
126
+ const tickets = await this.storageService.getTickets(project.path);
127
+ const activeTickets = tickets.filter((t) => t.status !== 'done');
128
+ res.json({
129
+ success: true,
130
+ data: {
131
+ project,
132
+ activeTickets: activeTickets.length,
133
+ totalTickets: tickets.length,
134
+ teams: project.teams || {},
135
+ },
136
+ });
137
+ }
138
+ catch (error) {
139
+ console.error('Error getting project status:', error);
140
+ res.status(500).json({
141
+ success: false,
142
+ error: 'Failed to get project status',
143
+ });
144
+ }
145
+ }
146
+ // Delegated complex project lifecycle operations (keep behavior intact)
147
+ export async function startProject(req, res) {
148
+ try {
149
+ const { id } = req.params;
150
+ const { teamIds } = req.body;
151
+ if (!teamIds || !Array.isArray(teamIds) || teamIds.length === 0) {
152
+ res.status(400).json({
153
+ success: false,
154
+ error: 'Team IDs array is required',
155
+ });
156
+ return;
157
+ }
158
+ const teamId = teamIds[0];
159
+ const projects = await this.storageService.getProjects();
160
+ const project = projects.find((p) => p.id === id);
161
+ if (!project) {
162
+ res.status(404).json({ success: false, error: 'Project not found' });
163
+ return;
164
+ }
165
+ const teams = await this.storageService.getTeams();
166
+ const team = teams.find((t) => t.id === teamId);
167
+ if (!team) {
168
+ res.status(404).json({ success: false, error: 'Team not found' });
169
+ return;
170
+ }
171
+ // Project orchestration now handled via scheduled messages to orchestrator
172
+ project.status = 'active';
173
+ // Create check-in scheduled message for 15-minute cycles (includes auto-assignment)
174
+ let checkinScheduleId;
175
+ if (this.messageSchedulerService) {
176
+ try {
177
+ const { PromptTemplateService } = await import('../../services/index.js');
178
+ const promptService = new PromptTemplateService();
179
+ const checkinMessage = await promptService.getCheckinPrompt({
180
+ projectName: project.name,
181
+ projectId: id,
182
+ projectPath: project.path,
183
+ currentTimestamp: new Date().toISOString(),
184
+ });
185
+ const scheduledMessage = {
186
+ id: `checkin-${id}-${Date.now()}`,
187
+ name: `Check-in for Project ${project.name}`,
188
+ targetTeam: CREWLY_CONSTANTS.SESSIONS.ORCHESTRATOR_NAME, // Send to orchestrator
189
+ targetProject: id,
190
+ message: checkinMessage,
191
+ delayAmount: 15,
192
+ delayUnit: 'minutes',
193
+ isRecurring: true,
194
+ isActive: true,
195
+ createdAt: new Date().toISOString(),
196
+ updatedAt: new Date().toISOString(),
197
+ };
198
+ this.messageSchedulerService.scheduleMessage(scheduledMessage);
199
+ checkinScheduleId = scheduledMessage.id;
200
+ // Create immediate orchestrator coordination message (5 second delay)
201
+ // Load the project start prompt from template
202
+ const projectStartMessage = await promptService.getProjectStartPrompt({
203
+ projectName: project.name,
204
+ projectPath: project.path,
205
+ teamName: team.name,
206
+ teamMemberCount: team.members.length.toString(),
207
+ });
208
+ const immediateCoordinationMessage = {
209
+ id: `immediate-coord-${id}-${Date.now()}`,
210
+ name: `Project Started - Immediate Coordination - ${project.name}`,
211
+ targetTeam: CREWLY_CONSTANTS.SESSIONS.ORCHESTRATOR_NAME, // Send to orchestrator
212
+ targetProject: id,
213
+ message: projectStartMessage,
214
+ delayAmount: 5, // 5 seconds
215
+ delayUnit: 'seconds',
216
+ isRecurring: false, // One-time immediate message
217
+ isActive: true,
218
+ createdAt: new Date().toISOString(),
219
+ updatedAt: new Date().toISOString(),
220
+ };
221
+ this.messageSchedulerService.scheduleMessage(immediateCoordinationMessage);
222
+ // Save the scheduled message ID to the project for stop functionality
223
+ project.scheduledMessageId = checkinScheduleId;
224
+ }
225
+ catch (e) {
226
+ console.warn('Failed to create check-in scheduled message:', e);
227
+ }
228
+ }
229
+ await this.storageService.saveProject(project);
230
+ let scheduleInfo;
231
+ try {
232
+ scheduleInfo = await this.activeProjectsService.startProject(id, this.messageSchedulerService);
233
+ }
234
+ catch (e) {
235
+ console.warn('Failed to start project lifecycle management:', e);
236
+ }
237
+ res.json({
238
+ success: true,
239
+ message: 'Project started successfully with scheduled orchestration',
240
+ data: {
241
+ projectId: id,
242
+ teamId,
243
+ orchestrationStarted: true,
244
+ checkInScheduleId: scheduleInfo?.checkInScheduleId,
245
+ gitCommitScheduleId: scheduleInfo?.gitCommitScheduleId,
246
+ checkinScheduleId,
247
+ },
248
+ });
249
+ }
250
+ catch (error) {
251
+ console.error('Error starting project:', error);
252
+ res.status(500).json({ success: false, error: 'Failed to start project' });
253
+ }
254
+ }
255
+ export async function stopProject(req, res) {
256
+ try {
257
+ const { id } = req.params;
258
+ const projects = await this.storageService.getProjects();
259
+ const project = projects.find((p) => p.id === id);
260
+ if (!project) {
261
+ res.status(404).json({ success: false, error: 'Project not found' });
262
+ return;
263
+ }
264
+ // Cancel ALL scheduled messages for this project with robust cleanup
265
+ const cleanupResult = await (this.cleanupProjectScheduledMessages ?
266
+ this.cleanupProjectScheduledMessages(id) :
267
+ cleanupProjectScheduledMessages.call(this, id));
268
+ if (cleanupResult.errors.length > 0) {
269
+ console.warn(`${cleanupResult.errors.length} errors occurred during message cleanup:`, cleanupResult.errors);
270
+ }
271
+ console.log(`Successfully cleaned up ${cleanupResult.cancelled}/${cleanupResult.found} scheduled messages for project ${id}`);
272
+ project.scheduledMessageId = undefined; // Clear the schedule ID
273
+ try {
274
+ await this.activeProjectsService.stopProject(id, this.messageSchedulerService);
275
+ }
276
+ catch (e) {
277
+ console.warn('Failed to stop project lifecycle management:', e);
278
+ }
279
+ project.status = 'stopped';
280
+ await this.storageService.saveProject(project);
281
+ res.json({
282
+ success: true,
283
+ message: 'Project stopped successfully. Auto-assignment scheduling has been cancelled.',
284
+ data: { projectId: id, status: 'stopped' },
285
+ });
286
+ }
287
+ catch (error) {
288
+ console.error('Error stopping project:', error);
289
+ res.status(500).json({ success: false, error: 'Failed to stop project' });
290
+ }
291
+ }
292
+ export async function restartProject(req, res) {
293
+ try {
294
+ const { id } = req.params;
295
+ const projects = await this.storageService.getProjects();
296
+ const project = projects.find((p) => p.id === id);
297
+ if (!project) {
298
+ res.status(404).json({ success: false, error: 'Project not found' });
299
+ return;
300
+ }
301
+ let scheduleInfo;
302
+ try {
303
+ scheduleInfo = await this.activeProjectsService.restartProject(id, this.messageSchedulerService);
304
+ }
305
+ catch (e) {
306
+ console.warn('Failed to restart project lifecycle management:', e);
307
+ }
308
+ project.status = 'active';
309
+ await this.storageService.saveProject(project);
310
+ res.json({
311
+ success: true,
312
+ message: 'Project restarted successfully',
313
+ data: {
314
+ projectId: id,
315
+ status: 'active',
316
+ checkInScheduleId: scheduleInfo?.checkInScheduleId,
317
+ gitCommitScheduleId: scheduleInfo?.gitCommitScheduleId,
318
+ },
319
+ });
320
+ }
321
+ catch (error) {
322
+ console.error('Error restarting project:', error);
323
+ res.status(500).json({ success: false, error: 'Failed to restart project' });
324
+ }
325
+ }
326
+ export async function assignTeamsToProject(req, res) {
327
+ try {
328
+ const { id } = req.params;
329
+ let { teamAssignments } = req.body;
330
+ // Support simple teamIds array as shorthand: ["id1","id2"] → { member: ["id1","id2"] }
331
+ const { teamIds } = req.body;
332
+ if (!teamAssignments && teamIds && Array.isArray(teamIds) && teamIds.length > 0) {
333
+ teamAssignments = { member: teamIds };
334
+ }
335
+ const projects = await this.storageService.getProjects();
336
+ const project = projects.find((p) => p.id === id);
337
+ if (!project) {
338
+ res.status(404).json({ success: false, error: 'Project not found' });
339
+ return;
340
+ }
341
+ const projectModel = ProjectModel.fromJSON(project);
342
+ if (teamAssignments) {
343
+ for (const [role, teamIds] of Object.entries(teamAssignments)) {
344
+ for (const teamId of teamIds) {
345
+ projectModel.assignTeam(teamId, role);
346
+ }
347
+ }
348
+ }
349
+ await this.storageService.saveProject(projectModel.toJSON());
350
+ const assignedTeamDetails = [];
351
+ if (teamAssignments) {
352
+ const teams = await this.storageService.getTeams();
353
+ for (const [role, teamIds] of Object.entries(teamAssignments)) {
354
+ for (const teamId of teamIds) {
355
+ const team = teams.find((t) => t.id === teamId);
356
+ if (team) {
357
+ if (!team.projectIds.includes(id)) {
358
+ team.projectIds.push(id);
359
+ }
360
+ team.updatedAt = new Date().toISOString();
361
+ await this.storageService.saveTeam(team);
362
+ assignedTeamDetails.push({ team, role });
363
+ }
364
+ }
365
+ }
366
+ }
367
+ if (assignedTeamDetails.length > 0) {
368
+ try {
369
+ const orchestratorSession = CREWLY_CONSTANTS.SESSIONS.ORCHESTRATOR_NAME;
370
+ const sessionExists = await this.tmuxService.sessionExists(orchestratorSession);
371
+ if (sessionExists) {
372
+ const teamsInfo = assignedTeamDetails
373
+ .map(({ team, role }) => {
374
+ const memberList = (team.members || [])
375
+ .map((m) => ` - ${m.name} (${m.role}) - ${m.sessionName || 'N/A'}`)
376
+ .join('\\n') || ' No members found';
377
+ const sessions = (team.members || [])
378
+ .map((m) => m.sessionName || 'N/A')
379
+ .join(', ') || 'No sessions';
380
+ return `### ${team.name} (${role})\n- **Team ID**: ${team.id}\n- **Members**: ${(team.members || []).length} members\n- **Session Names**: ${sessions}\n- **Member Details**:\n${memberList}`;
381
+ })
382
+ .join('\\n\\n');
383
+ const orchestratorPrompt = `## Team Assignment Notification\n\nNew team(s) have been assigned to project **${project.name}**!\n\n${teamsInfo}\n\n### Action Required:\nPlease use the MCP tooling to create and initialize the assigned team sessions. You should:\n\n1. **Create tmux sessions** for each team member using their designated session names\n2. **Initialize the project environment** in each session with the project path: \`${project.path}\`\n3. **Set up the development context** for each team member based on their role\n4. **Verify all sessions are active** and ready for collaboration\n\n### Project Details:\n- **Project Path**: ${project.path}\n- **Project ID**: ${project.id}\n- **Total Teams Assigned**: ${assignedTeamDetails.length}\n\n---\n*Please confirm when all team sessions have been created and initialized successfully.*`;
384
+ // Send message using robust tmux_robosend.sh script (includes Enter key automatically)
385
+ await this.tmuxService.sendMessage(orchestratorSession, orchestratorPrompt);
386
+ }
387
+ }
388
+ catch (notificationError) {
389
+ console.warn('Failed to notify orchestrator about team assignment:', notificationError);
390
+ }
391
+ }
392
+ res.json({
393
+ success: true,
394
+ data: projectModel.toJSON(),
395
+ message: 'Teams assigned to project successfully',
396
+ });
397
+ }
398
+ catch (error) {
399
+ console.error('Error assigning teams to project:', error);
400
+ res.status(500).json({
401
+ success: false,
402
+ error: 'Failed to assign teams to project',
403
+ });
404
+ }
405
+ }
406
+ export async function unassignTeamFromProject(req, res) {
407
+ try {
408
+ const { id: projectId } = req.params;
409
+ const { teamId } = req.body;
410
+ if (!teamId) {
411
+ res.status(400).json({
412
+ success: false,
413
+ error: 'Missing required field: teamId',
414
+ });
415
+ return;
416
+ }
417
+ const projects = await this.storageService.getProjects();
418
+ const project = projects.find((p) => p.id === projectId);
419
+ if (!project) {
420
+ res.status(404).json({ success: false, error: 'Project not found' });
421
+ return;
422
+ }
423
+ const teams = await this.storageService.getTeams();
424
+ const team = teams.find((t) => t.id === teamId);
425
+ if (!team) {
426
+ res.status(404).json({ success: false, error: 'Team not found' });
427
+ return;
428
+ }
429
+ if (!team.projectIds.includes(projectId)) {
430
+ res.status(400).json({
431
+ success: false,
432
+ error: 'Team is not assigned to this project',
433
+ });
434
+ return;
435
+ }
436
+ const projectModel = ProjectModel.fromJSON(project);
437
+ projectModel.unassignTeam(teamId);
438
+ await this.storageService.saveProject(projectModel.toJSON());
439
+ team.projectIds = team.projectIds.filter((pid) => pid !== projectId);
440
+ team.updatedAt = new Date().toISOString();
441
+ await this.storageService.saveTeam(team);
442
+ try {
443
+ const orchestratorSession = CREWLY_CONSTANTS.SESSIONS.ORCHESTRATOR_NAME;
444
+ const sessionExists = await this.tmuxService.sessionExists(orchestratorSession);
445
+ if (sessionExists) {
446
+ const memberLines = (team.members || [])
447
+ .map((m) => `- ${m.name} (${m.role}) - Session: ${m.sessionName || 'N/A'}`)
448
+ .join('\\n') || 'No members found';
449
+ const notificationMessage = `## Team Unassignment Notification\n\nTeam **${team.name}** has been unassigned from project **${project.name}**.\n\n### Team Details:\n- **Team ID**: ${team.id}\n- **Team Name**: ${team.name} \n- **Members**: ${(team.members || []).length} members\n- **Previous Project**: ${project.name}\n\n### Action Required:\nPlease coordinate the cleanup of team member sessions and update any active workflows accordingly.\n\n### Team Members to Clean Up:\n${memberLines}\n\n---\n*This notification was sent automatically when the team was unassigned from the project.*`;
450
+ // Send message using robust tmux_robosend.sh script (includes Enter key automatically)
451
+ await this.tmuxService.sendMessage(orchestratorSession, notificationMessage);
452
+ }
453
+ }
454
+ catch (notificationError) {
455
+ console.warn('Failed to notify orchestrator about team unassignment:', notificationError);
456
+ }
457
+ res.json({
458
+ success: true,
459
+ data: projectModel.toJSON(),
460
+ message: `Team "${team.name}" unassigned from project "${project.name}" successfully`,
461
+ });
462
+ }
463
+ catch (error) {
464
+ console.error('Error unassigning team from project:', error);
465
+ res.status(500).json({
466
+ success: false,
467
+ error: 'Failed to unassign team from project',
468
+ });
469
+ }
470
+ }
471
+ export async function getProjectFiles(req, res) {
472
+ try {
473
+ const { id } = req.params;
474
+ const { depth = '3', includeDotFiles = 'true' } = req.query;
475
+ const projects = await this.storageService.getProjects();
476
+ const project = projects.find((p) => p.id === id);
477
+ if (!project) {
478
+ res.status(404).json({ success: false, error: 'Project not found' });
479
+ return;
480
+ }
481
+ const buildFileTree = async (dirPath, relativePath = '', currentDepth = 0, maxDepth = parseInt(depth)) => {
482
+ if (currentDepth > maxDepth)
483
+ return [];
484
+ try {
485
+ const items = await fs.readdir(dirPath);
486
+ const tree = [];
487
+ for (const item of items) {
488
+ const isAgentmuxFolder = item === '.crewly';
489
+ const isDotFile = item.startsWith('.');
490
+ if (isDotFile && !isAgentmuxFolder && includeDotFiles !== 'true')
491
+ continue;
492
+ const fullPath = path.join(dirPath, item);
493
+ const relativeItemPath = relativePath ? path.join(relativePath, item) : item;
494
+ try {
495
+ const stats = await fs.stat(fullPath);
496
+ const node = {
497
+ name: item,
498
+ path: relativeItemPath,
499
+ type: stats.isDirectory() ? 'folder' : 'file',
500
+ size: stats.size,
501
+ modified: stats.mtime.toISOString(),
502
+ icon: getFileIcon(item, stats.isDirectory()),
503
+ };
504
+ if (stats.isDirectory()) {
505
+ node.children = await buildFileTree(fullPath, relativeItemPath, currentDepth + 1, maxDepth);
506
+ }
507
+ tree.push(node);
508
+ }
509
+ catch { }
510
+ }
511
+ return tree.sort((a, b) => {
512
+ if (a.name === '.crewly')
513
+ return -1;
514
+ if (b.name === '.crewly')
515
+ return 1;
516
+ if (a.type === 'folder' && b.type === 'file')
517
+ return -1;
518
+ if (a.type === 'file' && b.type === 'folder')
519
+ return 1;
520
+ return a.name.localeCompare(b.name);
521
+ });
522
+ }
523
+ catch {
524
+ return [];
525
+ }
526
+ };
527
+ // Resolve project path robustly
528
+ let resolvedPath;
529
+ if (path.isAbsolute(project.path)) {
530
+ resolvedPath = project.path;
531
+ }
532
+ else {
533
+ const parentDir = path.dirname(process.cwd());
534
+ const parentResolved = path.resolve(parentDir, project.path);
535
+ try {
536
+ await fs.stat(parentResolved);
537
+ resolvedPath = parentResolved;
538
+ }
539
+ catch {
540
+ resolvedPath = path.resolve(project.path);
541
+ }
542
+ }
543
+ try {
544
+ await fs.stat(resolvedPath);
545
+ }
546
+ catch (pathError) {
547
+ const errorMessage = pathError instanceof Error ? pathError.message : 'Unknown error';
548
+ res.status(400).json({
549
+ success: false,
550
+ error: `Project path "${resolvedPath}" is not accessible: ${errorMessage}`,
551
+ });
552
+ return;
553
+ }
554
+ const fileTree = await buildFileTree(resolvedPath);
555
+ const totalFiles = countFiles(fileTree);
556
+ res.json({
557
+ success: true,
558
+ data: {
559
+ project: { id: project.id, name: project.name, path: project.path },
560
+ files: fileTree,
561
+ totalFiles,
562
+ generatedAt: new Date().toISOString(),
563
+ },
564
+ });
565
+ }
566
+ catch (error) {
567
+ console.error('Error getting project files:', error);
568
+ res.status(500).json({
569
+ success: false,
570
+ error: 'Failed to get project files',
571
+ });
572
+ }
573
+ }
574
+ export async function getFileContent(req, res) {
575
+ try {
576
+ const { projectId } = req.params;
577
+ const { filePath } = req.query;
578
+ if (!filePath || typeof filePath !== 'string') {
579
+ res.status(400).json({ success: false, error: 'File path is required' });
580
+ return;
581
+ }
582
+ const projects = await this.storageService.getProjects();
583
+ const project = projects.find((p) => p.id === projectId);
584
+ if (!project) {
585
+ res.status(404).json({ success: false, error: 'Project not found' });
586
+ return;
587
+ }
588
+ const resolvedProjectPath = path.isAbsolute(project.path)
589
+ ? project.path
590
+ : path.resolve(process.cwd(), project.path);
591
+ try {
592
+ await fs.access(resolvedProjectPath);
593
+ }
594
+ catch {
595
+ res.status(404).json({
596
+ success: false,
597
+ error: 'Project directory does not exist',
598
+ });
599
+ return;
600
+ }
601
+ const fullFilePath = path.join(resolvedProjectPath, filePath);
602
+ const resolvedFilePath = path.resolve(fullFilePath);
603
+ if (!resolvedFilePath.startsWith(resolvedProjectPath)) {
604
+ res.status(403).json({
605
+ success: false,
606
+ error: 'Access denied: File outside project directory',
607
+ });
608
+ return;
609
+ }
610
+ try {
611
+ const content = await fs.readFile(fullFilePath, 'utf8');
612
+ res.json({ success: true, data: { content, filePath } });
613
+ }
614
+ catch (fileError) {
615
+ const err = fileError;
616
+ if (err.code === 'ENOENT')
617
+ res.status(404).json({ success: false, error: 'File not found' });
618
+ else if (err.code === 'EISDIR')
619
+ res.status(400).json({
620
+ success: false,
621
+ error: 'Path is a directory, not a file',
622
+ });
623
+ else
624
+ throw fileError;
625
+ }
626
+ }
627
+ catch (error) {
628
+ console.error('Error reading file content:', error);
629
+ res.status(500).json({
630
+ success: false,
631
+ error: 'Failed to read file content',
632
+ });
633
+ }
634
+ }
635
+ export async function getAgentmuxMarkdownFiles(req, res) {
636
+ try {
637
+ const { projectPath } = req.query;
638
+ if (!projectPath || typeof projectPath !== 'string') {
639
+ res.status(400).json({
640
+ success: false,
641
+ error: 'Project path is required',
642
+ });
643
+ return;
644
+ }
645
+ const crewlyPath = path.join(projectPath, '.crewly');
646
+ try {
647
+ await fs.access(crewlyPath);
648
+ }
649
+ catch {
650
+ await fs.mkdir(crewlyPath, { recursive: true });
651
+ await fs.mkdir(path.join(crewlyPath, 'specs'), { recursive: true });
652
+ }
653
+ const files = [];
654
+ const scanDirectory = async (dirPath, relativePath = '') => {
655
+ try {
656
+ const entries = await fs.readdir(dirPath, { withFileTypes: true });
657
+ for (const entry of entries) {
658
+ const fullPath = path.join(dirPath, entry.name);
659
+ const relativeFilePath = path.join(relativePath, entry.name);
660
+ if (entry.isDirectory())
661
+ await scanDirectory(fullPath, relativeFilePath);
662
+ else if (entry.name.endsWith('.md'))
663
+ files.push(relativeFilePath);
664
+ }
665
+ }
666
+ catch { }
667
+ };
668
+ await scanDirectory(crewlyPath);
669
+ res.json({ success: true, data: { files } });
670
+ }
671
+ catch (error) {
672
+ console.error('Error scanning .crewly files:', error);
673
+ res.status(500).json({
674
+ success: false,
675
+ error: 'Failed to scan .crewly files',
676
+ });
677
+ }
678
+ }
679
+ export async function saveMarkdownFile(req, res) {
680
+ try {
681
+ const { projectPath, filePath, content } = req.body;
682
+ if (!projectPath || !filePath || content === undefined) {
683
+ res.status(400).json({
684
+ success: false,
685
+ error: 'Project path, file path, and content are required',
686
+ });
687
+ return;
688
+ }
689
+ const fullFilePath = path.join(projectPath, filePath);
690
+ const resolvedProjectPath = path.resolve(projectPath);
691
+ const resolvedFilePath = path.resolve(fullFilePath);
692
+ if (!resolvedFilePath.startsWith(resolvedProjectPath)) {
693
+ res.status(403).json({
694
+ success: false,
695
+ error: 'Access denied: File outside project directory',
696
+ });
697
+ return;
698
+ }
699
+ await fs.mkdir(path.dirname(fullFilePath), { recursive: true });
700
+ await fs.writeFile(fullFilePath, content, 'utf8');
701
+ res.json({ success: true, message: 'File saved successfully' });
702
+ }
703
+ catch (error) {
704
+ console.error('Error saving markdown file:', error);
705
+ res.status(500).json({ success: false, error: 'Failed to save file' });
706
+ }
707
+ }
708
+ export async function getProjectCompletion(req, res) {
709
+ try {
710
+ const { id } = req.params;
711
+ const projects = await this.storageService.getProjects();
712
+ const project = projects.find((p) => p.id === id);
713
+ if (!project) {
714
+ res.status(404).json({ success: false, error: 'Project not found' });
715
+ return;
716
+ }
717
+ const tickets = await this.storageService.getTickets(project.path);
718
+ const completedTickets = tickets.filter((t) => t.status === 'done');
719
+ const completionRate = tickets.length > 0 ? Math.round((completedTickets.length / tickets.length) * 100) : 0;
720
+ res.json({
721
+ success: true,
722
+ data: {
723
+ totalTickets: tickets.length,
724
+ completedTickets: completedTickets.length,
725
+ completionRate,
726
+ isCompleted: completionRate === 100,
727
+ },
728
+ });
729
+ }
730
+ catch (error) {
731
+ console.error('Error getting project completion:', error);
732
+ res.status(500).json({
733
+ success: false,
734
+ error: 'Failed to get project completion',
735
+ });
736
+ }
737
+ }
738
+ export async function deleteProject(req, res) {
739
+ try {
740
+ const { id } = req.params;
741
+ const projects = await this.storageService.getProjects();
742
+ const project = projects.find((p) => p.id === id);
743
+ if (!project) {
744
+ res.status(404).json({ success: false, error: 'Project not found' });
745
+ return;
746
+ }
747
+ // Cancel ALL scheduled messages for this project BEFORE deletion with robust cleanup
748
+ const cleanupResult = await (this.cleanupProjectScheduledMessages ?
749
+ this.cleanupProjectScheduledMessages(id) :
750
+ cleanupProjectScheduledMessages.call(this, id));
751
+ if (cleanupResult.errors.length > 0) {
752
+ console.warn(`${cleanupResult.errors.length} errors occurred during message cleanup before deletion:`, cleanupResult.errors);
753
+ }
754
+ console.log(`Successfully cleaned up ${cleanupResult.cancelled}/${cleanupResult.found} scheduled messages before deleting project ${id}`);
755
+ const teams = await this.storageService.getTeams();
756
+ const activeTeams = teams.filter((t) => t.projectIds.includes(id));
757
+ if (activeTeams.length > 0) {
758
+ for (const team of activeTeams) {
759
+ const teamModel = (await import('../../models/index.js')).TeamModel.fromJSON(team);
760
+ teamModel.unassignFromProject(id);
761
+ await this.storageService.saveTeam(teamModel.toJSON());
762
+ }
763
+ }
764
+ await this.storageService.deleteProject(id);
765
+ res.json({
766
+ success: true,
767
+ message: `Project deleted successfully. ${activeTeams.length} teams were unassigned and ${cleanupResult.cancelled} scheduled messages were cancelled.`,
768
+ });
769
+ }
770
+ catch (error) {
771
+ console.error('Error deleting project:', error);
772
+ res.status(500).json({ success: false, error: 'Failed to delete project' });
773
+ }
774
+ }
775
+ export async function getProjectStats(req, res) {
776
+ try {
777
+ const { id } = req.params;
778
+ const projects = await this.storageService.getProjects();
779
+ const project = projects.find((p) => p.id === id);
780
+ if (!project) {
781
+ res.status(404).json({ success: false, error: 'Project not found' });
782
+ return;
783
+ }
784
+ // Resolve path similar to original controller
785
+ const resolvedProjectPath = path.isAbsolute(project.path)
786
+ ? project.path
787
+ : path.resolve(process.cwd(), project.path);
788
+ const specsPath = path.join(resolvedProjectPath, '.crewly', 'specs');
789
+ let mdFileCount = 0;
790
+ let hasProjectMd = false;
791
+ let hasUserJourneyMd = false;
792
+ let hasInitialGoalMd = false;
793
+ let hasInitialUserJourneyMd = false;
794
+ try {
795
+ await fs.access(specsPath);
796
+ const files = await fs.readdir(specsPath);
797
+ for (const file of files) {
798
+ const filePath = path.join(specsPath, file);
799
+ try {
800
+ const stat = await fs.stat(filePath);
801
+ if (stat.isFile() && file.endsWith('.md')) {
802
+ mdFileCount++;
803
+ if (file === 'project.md')
804
+ hasProjectMd = true;
805
+ if (file === 'user-journey.md')
806
+ hasUserJourneyMd = true;
807
+ if (file === 'initial_goal.md')
808
+ hasInitialGoalMd = true;
809
+ if (file === 'initial_user_journey.md')
810
+ hasInitialUserJourneyMd = true;
811
+ }
812
+ }
813
+ catch { }
814
+ }
815
+ }
816
+ catch {
817
+ // specs folder missing; keep defaults
818
+ }
819
+ const tickets = await this.storageService.getTickets(resolvedProjectPath, {
820
+ projectId: id,
821
+ });
822
+ const taskCount = tickets.length;
823
+ const stats = {
824
+ mdFileCount,
825
+ taskCount,
826
+ hasProjectMd,
827
+ hasUserJourneyMd,
828
+ hasInitialGoalMd,
829
+ hasInitialUserJourneyMd,
830
+ };
831
+ res.json({
832
+ success: true,
833
+ data: stats,
834
+ message: 'Project stats retrieved successfully',
835
+ });
836
+ }
837
+ catch (error) {
838
+ console.error('Error getting project stats:', error);
839
+ res.status(500).json({
840
+ success: false,
841
+ error: 'Failed to get project stats',
842
+ });
843
+ }
844
+ }
845
+ export async function openProjectInFinder(req, res) {
846
+ try {
847
+ const { id } = req.params;
848
+ const projects = await this.storageService.getProjects();
849
+ const project = projects.find((p) => p.id === id);
850
+ if (!project) {
851
+ res.status(404).json({ success: false, error: 'Project not found' });
852
+ return;
853
+ }
854
+ const resolvedProjectPath = path.isAbsolute(project.path)
855
+ ? project.path
856
+ : path.resolve(process.cwd(), project.path);
857
+ try {
858
+ await fs.access(resolvedProjectPath);
859
+ }
860
+ catch {
861
+ res.status(404).json({
862
+ success: false,
863
+ error: 'Project directory does not exist',
864
+ });
865
+ return;
866
+ }
867
+ try {
868
+ await execAsync(`open "${resolvedProjectPath}"`);
869
+ res.json({ success: true, message: 'Project folder opened in Finder' });
870
+ }
871
+ catch (e) {
872
+ console.error('Error opening Finder:', e);
873
+ res.status(500).json({ success: false, error: 'Failed to open Finder' });
874
+ }
875
+ }
876
+ catch (error) {
877
+ console.error('Error opening project in Finder:', error);
878
+ res.status(500).json({
879
+ success: false,
880
+ error: 'Failed to open project in Finder',
881
+ });
882
+ }
883
+ }
884
+ export async function createSpecFile(req, res) {
885
+ try {
886
+ const { id } = req.params;
887
+ const { fileName, content } = req.body;
888
+ if (!fileName || !content) {
889
+ res.status(400).json({
890
+ success: false,
891
+ error: 'Missing fileName or content',
892
+ });
893
+ return;
894
+ }
895
+ const projects = await this.storageService.getProjects();
896
+ const project = projects.find((p) => p.id === id);
897
+ if (!project) {
898
+ res.status(404).json({ success: false, error: 'Project not found' });
899
+ return;
900
+ }
901
+ const resolvedProjectPath = path.isAbsolute(project.path)
902
+ ? project.path
903
+ : path.resolve(process.cwd(), project.path);
904
+ const specsPath = path.join(resolvedProjectPath, '.crewly', 'specs');
905
+ const filePath = path.join(specsPath, fileName);
906
+ try {
907
+ await fs.mkdir(specsPath, { recursive: true });
908
+ await fs.writeFile(filePath, content, 'utf-8');
909
+ res.json({
910
+ success: true,
911
+ data: { fileName, filePath, specsPath },
912
+ message: `${fileName} saved successfully`,
913
+ });
914
+ }
915
+ catch (error) {
916
+ console.error('Error creating spec file:', error);
917
+ res.status(500).json({
918
+ success: false,
919
+ error: 'Failed to create spec file',
920
+ });
921
+ }
922
+ }
923
+ catch (error) {
924
+ console.error('Error creating spec file:', error);
925
+ res.status(500).json({
926
+ success: false,
927
+ error: 'Failed to create spec file',
928
+ });
929
+ }
930
+ }
931
+ export async function getSpecFileContent(req, res) {
932
+ try {
933
+ const { id } = req.params;
934
+ const { fileName } = req.query;
935
+ if (!fileName) {
936
+ res.status(400).json({
937
+ success: false,
938
+ error: 'Missing fileName parameter',
939
+ });
940
+ return;
941
+ }
942
+ const projects = await this.storageService.getProjects();
943
+ const project = projects.find((p) => p.id === id);
944
+ if (!project) {
945
+ res.status(404).json({ success: false, error: 'Project not found' });
946
+ return;
947
+ }
948
+ const resolvedProjectPath = path.isAbsolute(project.path)
949
+ ? project.path
950
+ : path.resolve(process.cwd(), project.path);
951
+ const specsPath = path.join(resolvedProjectPath, '.crewly', 'specs');
952
+ const filePath = path.join(specsPath, String(fileName));
953
+ try {
954
+ const content = await fs.readFile(filePath, 'utf-8');
955
+ res.json({
956
+ success: true,
957
+ data: { fileName, content, filePath },
958
+ message: `${fileName} content retrieved successfully`,
959
+ });
960
+ }
961
+ catch {
962
+ res.status(404).json({
963
+ success: false,
964
+ error: `File ${fileName} not found`,
965
+ });
966
+ }
967
+ }
968
+ catch (error) {
969
+ console.error('Error getting spec file content:', error);
970
+ res.status(500).json({
971
+ success: false,
972
+ error: 'Failed to get spec file content',
973
+ });
974
+ }
975
+ }
976
+ export async function getProjectContext(req, res) {
977
+ try {
978
+ const { projectId } = req.params;
979
+ const options = req.query;
980
+ const projects = await this.storageService.getProjects();
981
+ const project = projects.find((p) => p.id === projectId);
982
+ if (!project) {
983
+ res.status(404).json({ success: false, error: 'Project not found' });
984
+ return;
985
+ }
986
+ const contextLoader = new ContextLoaderService(project.path);
987
+ const context = await contextLoader.loadProjectContext({
988
+ includeFiles: options.includeFiles !== 'false',
989
+ includeGitHistory: options.includeGitHistory !== 'false',
990
+ includeTickets: options.includeTickets !== 'false',
991
+ maxFileSize: options.maxFileSize ? parseInt(options.maxFileSize) : undefined,
992
+ fileExtensions: options.fileExtensions
993
+ ? String(options.fileExtensions).split(',')
994
+ : undefined,
995
+ });
996
+ res.json({ success: true, data: context });
997
+ }
998
+ catch (error) {
999
+ console.error('Error loading project context:', error);
1000
+ res.status(500).json({
1001
+ success: false,
1002
+ error: 'Failed to load project context',
1003
+ });
1004
+ }
1005
+ }
1006
+ /**
1007
+ * Get alignment status for a project (stub implementation)
1008
+ * Returns default status indicating no alignment issues
1009
+ */
1010
+ export async function getAlignmentStatus(req, res) {
1011
+ try {
1012
+ const { id } = req.params;
1013
+ const projects = await this.storageService.getProjects();
1014
+ const project = projects.find((p) => p.id === id);
1015
+ if (!project) {
1016
+ res.status(404).json({ success: false, error: 'Project not found' });
1017
+ return;
1018
+ }
1019
+ // Return default alignment status (no issues)
1020
+ const alignmentStatus = {
1021
+ hasIssues: false,
1022
+ alignmentFilePath: null,
1023
+ };
1024
+ res.json({ success: true, data: alignmentStatus });
1025
+ }
1026
+ catch (error) {
1027
+ console.error('Error getting alignment status:', error);
1028
+ res.status(500).json({
1029
+ success: false,
1030
+ error: 'Failed to get alignment status',
1031
+ });
1032
+ }
1033
+ }
1034
+ /**
1035
+ * Continue with misalignment endpoint (stub implementation)
1036
+ * Acknowledges user decision to continue despite alignment issues
1037
+ */
1038
+ export async function continueWithMisalignment(req, res) {
1039
+ try {
1040
+ const { id } = req.params;
1041
+ const projects = await this.storageService.getProjects();
1042
+ const project = projects.find((p) => p.id === id);
1043
+ if (!project) {
1044
+ res.status(404).json({ success: false, error: 'Project not found' });
1045
+ return;
1046
+ }
1047
+ // Log the decision to continue with misalignment
1048
+ console.log(`User chose to continue with misalignment for project: ${project.name} (${id})`);
1049
+ res.json({
1050
+ success: true,
1051
+ message: 'Continuing with misalignment acknowledged',
1052
+ });
1053
+ }
1054
+ catch (error) {
1055
+ console.error('Error handling continue with misalignment:', error);
1056
+ res.status(500).json({
1057
+ success: false,
1058
+ error: 'Failed to handle continue with misalignment',
1059
+ });
1060
+ }
1061
+ }
1062
+ /**
1063
+ * Robust cleanup of scheduled messages for a project
1064
+ */
1065
+ export async function cleanupProjectScheduledMessages(projectId) {
1066
+ const result = {
1067
+ found: 0,
1068
+ cancelled: 0,
1069
+ errors: []
1070
+ };
1071
+ try {
1072
+ console.log(`Starting scheduled message cleanup for project ${projectId}...`);
1073
+ // Get all scheduled messages for this project
1074
+ const allMessages = await this.storageService.getScheduledMessages();
1075
+ const projectMessages = allMessages.filter((msg) => msg.targetProject === projectId);
1076
+ result.found = projectMessages.length;
1077
+ console.log(`Found ${result.found} scheduled messages to clean up for project ${projectId}`);
1078
+ if (result.found === 0) {
1079
+ console.log('No scheduled messages found for this project');
1080
+ return result;
1081
+ }
1082
+ // Cancel and delete each message with individual error handling
1083
+ for (const message of projectMessages) {
1084
+ try {
1085
+ // Cancel from scheduler if messageSchedulerService is available
1086
+ if (this.messageSchedulerService) {
1087
+ this.messageSchedulerService.cancelMessage(message.id);
1088
+ console.log(`Cancelled message "${message.name}" from scheduler`);
1089
+ }
1090
+ // Delete from storage
1091
+ await this.storageService.deleteScheduledMessage(message.id);
1092
+ console.log(`Deleted message "${message.name}" from storage`);
1093
+ result.cancelled++;
1094
+ }
1095
+ catch (msgError) {
1096
+ const errorMsg = `Failed to cleanup message "${message.name}" (${message.id}): ${msgError instanceof Error ? msgError.message : 'Unknown error'}`;
1097
+ result.errors.push(errorMsg);
1098
+ console.error(errorMsg);
1099
+ // Try to at least deactivate the message if we can't delete it
1100
+ try {
1101
+ const deactivatedMessage = {
1102
+ ...message,
1103
+ isActive: false,
1104
+ updatedAt: new Date().toISOString()
1105
+ };
1106
+ await this.storageService.saveScheduledMessage(deactivatedMessage);
1107
+ console.log(`Deactivated message "${message.name}" as fallback`);
1108
+ }
1109
+ catch (deactivateError) {
1110
+ console.error(`Failed to deactivate message "${message.name}":`, deactivateError);
1111
+ }
1112
+ }
1113
+ }
1114
+ console.log(`Message cleanup complete: ${result.cancelled}/${result.found} messages cleaned up successfully`);
1115
+ if (result.errors.length > 0) {
1116
+ console.warn(`${result.errors.length} errors occurred during cleanup`);
1117
+ }
1118
+ }
1119
+ catch (error) {
1120
+ const errorMsg = `Failed to cleanup scheduled messages for project ${projectId}: ${error instanceof Error ? error.message : 'Unknown error'}`;
1121
+ result.errors.push(errorMsg);
1122
+ console.error(errorMsg);
1123
+ }
1124
+ return result;
1125
+ }
1126
+ //# sourceMappingURL=project.controller.js.map