crewly 1.3.31 → 1.4.1

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 (673) hide show
  1. package/config/constants.ts +18 -3
  2. package/config/hooks/install-hooks.sh +88 -0
  3. package/config/hooks/pre-commit +104 -0
  4. package/config/orchestrator_tasks/prompts/orchestrator-prompt.md +17 -24
  5. package/config/roles/auditor/role.json +13 -0
  6. package/config/roles/orchestrator/prompt.md +25 -0
  7. package/config/roles/product-manager/prompt.md +18 -1
  8. package/config/roles/researcher/prompt.md +110 -0
  9. package/config/roles/team-leader/prompt.md +31 -8
  10. package/config/roles/team-leader/tl-addon.md +40 -9
  11. package/config/roles/ux-designer/prompt.md +111 -0
  12. package/config/skills/_common/lib.sh +33 -0
  13. package/config/skills/agent/browse-stealth/{instructions.md → SKILL.md} +40 -0
  14. package/config/skills/agent/chrome-attach/SKILL.md +84 -0
  15. package/config/skills/agent/chrome-attach/execute.sh +279 -0
  16. package/config/skills/agent/competitor-content-tracker/{instructions.md → SKILL.md} +34 -0
  17. package/config/skills/agent/computer-use/{instructions.md → SKILL.md} +43 -0
  18. package/config/skills/agent/content-calendar/{instructions.md → SKILL.md} +32 -0
  19. package/config/skills/agent/content-repurposer/{instructions.md → SKILL.md} +38 -0
  20. package/config/skills/agent/content-writer/{instructions.md → SKILL.md} +38 -0
  21. package/config/skills/agent/core/accept-task/{instructions.md → SKILL.md} +37 -0
  22. package/config/skills/agent/core/block-task/{instructions.md → SKILL.md} +37 -0
  23. package/config/skills/agent/core/check-quality-gates/{instructions.md → SKILL.md} +40 -0
  24. package/config/skills/agent/core/complete-task/{instructions.md → SKILL.md} +37 -0
  25. package/config/skills/agent/core/complete-task/execute.sh +15 -0
  26. package/config/skills/agent/core/generate-pdf/{instructions.md → SKILL.md} +42 -0
  27. package/config/skills/agent/core/get-my-context/{instructions.md → SKILL.md} +38 -0
  28. package/config/skills/agent/core/get-sops/{instructions.md → SKILL.md} +38 -0
  29. package/config/skills/agent/core/get-team-norms/execute.sh +106 -0
  30. package/config/skills/agent/core/get-team-status/SKILL.md +55 -0
  31. package/config/skills/agent/core/handoff-task/execute.sh +150 -0
  32. package/config/skills/agent/core/heartbeat/{instructions.md → SKILL.md} +27 -0
  33. package/config/skills/agent/core/marketplace-search/{instructions.md → SKILL.md} +41 -0
  34. package/config/skills/agent/core/query-knowledge/{instructions.md → SKILL.md} +40 -0
  35. package/config/skills/agent/core/read-task/SKILL.md +56 -0
  36. package/config/skills/agent/core/recall/{instructions.md → SKILL.md} +38 -0
  37. package/config/skills/agent/core/record-learning/{instructions.md → SKILL.md} +38 -0
  38. package/config/skills/agent/core/register-self/SKILL.md +54 -0
  39. package/config/skills/agent/core/remember/{instructions.md → SKILL.md} +37 -0
  40. package/config/skills/agent/core/remember/execute.sh +6 -0
  41. package/config/skills/agent/core/reply-chat/{instructions.md → SKILL.md} +37 -0
  42. package/config/skills/agent/core/report-progress/{instructions.md → SKILL.md} +38 -0
  43. package/config/skills/agent/core/report-status/{instructions.md → SKILL.md} +39 -0
  44. package/config/skills/agent/core/send-chat-response/{instructions.md → SKILL.md} +37 -0
  45. package/config/skills/agent/core/send-message/SKILL.md +58 -0
  46. package/config/skills/agent/core/update-team-norm/execute.sh +115 -0
  47. package/config/skills/agent/desktop-app-control/{instructions.md → SKILL.md} +42 -0
  48. package/config/skills/agent/trend-monitor/{instructions.md → SKILL.md} +34 -0
  49. package/config/skills/agent/vnc-browser/{instructions.md → SKILL.md} +38 -0
  50. package/config/skills/auditor/score-task/SKILL.md +28 -0
  51. package/config/skills/auditor/score-task/execute.sh +21 -0
  52. package/config/skills/examples/enterprise-skill-example.json +22 -0
  53. package/config/skills/examples/premium-skill-example.json +22 -0
  54. package/config/skills/orchestrator/assign-task/SKILL.md +41 -0
  55. package/config/skills/orchestrator/assign-team-to-project/{instructions.md → SKILL.md} +25 -0
  56. package/config/skills/orchestrator/broadcast/{instructions.md → SKILL.md} +24 -0
  57. package/config/skills/orchestrator/broadcast-to-org/{instructions.md → SKILL.md} +25 -0
  58. package/config/skills/orchestrator/cancel-all-schedules/{instructions.md → SKILL.md} +5 -0
  59. package/config/skills/orchestrator/cancel-schedule/SKILL.md +43 -0
  60. package/config/skills/orchestrator/complete-task/SKILL.md +41 -0
  61. package/config/skills/orchestrator/create-project/{instructions.md → SKILL.md} +24 -0
  62. package/config/skills/orchestrator/create-team/{instructions.md → SKILL.md} +24 -0
  63. package/config/skills/orchestrator/delegate-task/{instructions.md → SKILL.md} +27 -0
  64. package/config/skills/orchestrator/delegate-task/execute.sh +31 -2
  65. package/config/skills/orchestrator/get-agent-logs/{instructions.md → SKILL.md} +25 -0
  66. package/config/skills/orchestrator/get-agent-status/{instructions.md → SKILL.md} +24 -0
  67. package/config/skills/orchestrator/get-project-overview/SKILL.md +41 -0
  68. package/config/skills/orchestrator/get-tasks/SKILL.md +41 -0
  69. package/config/skills/orchestrator/get-team-status/SKILL.md +43 -0
  70. package/config/skills/orchestrator/handle-agent-failure/{instructions.md → SKILL.md} +27 -0
  71. package/config/skills/orchestrator/heartbeat/{instructions.md → SKILL.md} +24 -0
  72. package/config/skills/orchestrator/list-schedules/{instructions.md → SKILL.md} +5 -0
  73. package/config/skills/orchestrator/list-subscriptions/SKILL.md +41 -0
  74. package/config/skills/orchestrator/query-knowledge/{instructions.md → SKILL.md} +28 -0
  75. package/config/skills/orchestrator/read-session-logs/{instructions.md → SKILL.md} +26 -0
  76. package/config/skills/orchestrator/read-system-logs/{instructions.md → SKILL.md} +25 -0
  77. package/config/skills/orchestrator/recall/{instructions.md → SKILL.md} +24 -0
  78. package/config/skills/orchestrator/record-failure/{instructions.md → SKILL.md} +27 -0
  79. package/config/skills/orchestrator/record-learning/{instructions.md → SKILL.md} +24 -0
  80. package/config/skills/orchestrator/record-success/{instructions.md → SKILL.md} +26 -0
  81. package/config/skills/orchestrator/register-self/{instructions.md → SKILL.md} +24 -0
  82. package/config/skills/orchestrator/remember/{instructions.md → SKILL.md} +24 -0
  83. package/config/skills/orchestrator/reply-chat/{instructions.md → SKILL.md} +25 -0
  84. package/config/skills/orchestrator/reply-chat/execute.sh +0 -13
  85. package/config/skills/orchestrator/reply-gchat/{instructions.md → SKILL.md} +25 -0
  86. package/config/skills/orchestrator/reply-gchat/execute.sh +0 -18
  87. package/config/skills/orchestrator/reply-slack/{instructions.md → SKILL.md} +24 -0
  88. package/config/skills/orchestrator/reply-slack/execute.sh +18 -31
  89. package/config/skills/orchestrator/report-bug/{instructions.md → SKILL.md} +26 -0
  90. package/config/skills/orchestrator/restart-crewly/{instructions.md → SKILL.md} +26 -0
  91. package/config/skills/orchestrator/resume-session/{instructions.md → SKILL.md} +24 -0
  92. package/config/skills/orchestrator/schedule-check/{instructions.md → SKILL.md} +24 -0
  93. package/config/skills/orchestrator/send-key/{instructions.md → SKILL.md} +26 -0
  94. package/config/skills/orchestrator/send-message/{instructions.md → SKILL.md} +24 -0
  95. package/config/skills/orchestrator/send-pdf-to-slack/{instructions.md → SKILL.md} +27 -0
  96. package/config/skills/orchestrator/set-goal/{instructions.md → SKILL.md} +26 -0
  97. package/config/skills/orchestrator/start-agent/{instructions.md → SKILL.md} +24 -0
  98. package/config/skills/orchestrator/start-team/{instructions.md → SKILL.md} +24 -0
  99. package/config/skills/orchestrator/stop-agent/{instructions.md → SKILL.md} +24 -0
  100. package/config/skills/orchestrator/stop-team/SKILL.md +43 -0
  101. package/config/skills/orchestrator/subscribe-event/{instructions.md → SKILL.md} +24 -0
  102. package/config/skills/orchestrator/terminate-agent/{instructions.md → SKILL.md} +24 -0
  103. package/config/skills/orchestrator/unsubscribe-event/SKILL.md +42 -0
  104. package/config/skills/orchestrator/update-focus/{instructions.md → SKILL.md} +26 -0
  105. package/config/skills/orchestrator/update-team/{instructions.md → SKILL.md} +24 -0
  106. package/config/skills/team-leader/aggregate-results/{instructions.md → SKILL.md} +26 -0
  107. package/config/skills/team-leader/decompose-goal/{instructions.md → SKILL.md} +26 -0
  108. package/config/skills/team-leader/delegate-task/{instructions.md → SKILL.md} +26 -0
  109. package/config/skills/team-leader/delegate-task/execute.sh +14 -6
  110. package/config/skills/team-leader/delegate-task/execute.test.sh +401 -0
  111. package/config/skills/team-leader/handle-failure/{instructions.md → SKILL.md} +27 -0
  112. package/config/skills/team-leader/schedule-check/{instructions.md → SKILL.md} +26 -0
  113. package/config/skills/team-leader/start-agent/{instructions.md → SKILL.md} +26 -0
  114. package/config/skills/team-leader/stop-agent/{instructions.md → SKILL.md} +26 -0
  115. package/config/skills/team-leader/verify-output/{instructions.md → SKILL.md} +27 -0
  116. package/config/templates/agent-agents-md.md +35 -0
  117. package/config/templates/agent-gemini-md.md +35 -0
  118. package/config/templates/code-review-team/team-config.json +7 -0
  119. package/config/templates/content-generation-team/norms/brand-guidelines.md +64 -0
  120. package/config/templates/content-generation-team/norms/content-review.md +66 -0
  121. package/config/templates/content-generation-team/norms/publish-checklist.md +58 -0
  122. package/config/templates/content-generation-team/team-config.json +8 -0
  123. package/config/templates/dev-fullstack/norms/code-commit-sop.md +40 -0
  124. package/config/templates/dev-fullstack/norms/quality-gates.md +35 -0
  125. package/config/templates/dev-fullstack/template.json +17 -1
  126. package/config/templates/education-smb/template.json +10 -1
  127. package/config/templates/insurance-smb/template.json +10 -1
  128. package/config/templates/research-analysis/norms/research-methodology.md +36 -0
  129. package/config/templates/research-analysis/norms/source-citation.md +33 -0
  130. package/config/templates/research-analysis/template.json +17 -1
  131. package/config/templates/security-audit-team.json +67 -0
  132. package/config/templates/social-media-ops/norms/engagement-rules.md +35 -0
  133. package/config/templates/social-media-ops/norms/posting-schedule.md +43 -0
  134. package/config/templates/social-media-ops/template.json +17 -1
  135. package/config/templates/video-production/template.json +10 -1
  136. package/dist/backend/backend/src/constants.d.ts +80 -11
  137. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  138. package/dist/backend/backend/src/constants.js +85 -11
  139. package/dist/backend/backend/src/constants.js.map +1 -1
  140. package/dist/backend/backend/src/controllers/approvals/approvals.controller.d.ts +99 -0
  141. package/dist/backend/backend/src/controllers/approvals/approvals.controller.d.ts.map +1 -0
  142. package/dist/backend/backend/src/controllers/approvals/approvals.controller.js +183 -0
  143. package/dist/backend/backend/src/controllers/approvals/approvals.controller.js.map +1 -0
  144. package/dist/backend/backend/src/controllers/approvals/approvals.routes.d.ts +15 -0
  145. package/dist/backend/backend/src/controllers/approvals/approvals.routes.d.ts.map +1 -0
  146. package/dist/backend/backend/src/controllers/approvals/approvals.routes.js +27 -0
  147. package/dist/backend/backend/src/controllers/approvals/approvals.routes.js.map +1 -0
  148. package/dist/backend/backend/src/controllers/cloud/cloud-google-auth.controller.d.ts +70 -0
  149. package/dist/backend/backend/src/controllers/cloud/cloud-google-auth.controller.d.ts.map +1 -0
  150. package/dist/backend/backend/src/controllers/cloud/cloud-google-auth.controller.js +368 -0
  151. package/dist/backend/backend/src/controllers/cloud/cloud-google-auth.controller.js.map +1 -0
  152. package/dist/backend/backend/src/controllers/cloud/cloud.controller.d.ts +24 -0
  153. package/dist/backend/backend/src/controllers/cloud/cloud.controller.d.ts.map +1 -1
  154. package/dist/backend/backend/src/controllers/cloud/cloud.controller.js +202 -3
  155. package/dist/backend/backend/src/controllers/cloud/cloud.controller.js.map +1 -1
  156. package/dist/backend/backend/src/controllers/cloud/cloud.routes.d.ts +9 -4
  157. package/dist/backend/backend/src/controllers/cloud/cloud.routes.d.ts.map +1 -1
  158. package/dist/backend/backend/src/controllers/cloud/cloud.routes.js +19 -5
  159. package/dist/backend/backend/src/controllers/cloud/cloud.routes.js.map +1 -1
  160. package/dist/backend/backend/src/controllers/cloud/index.d.ts +1 -0
  161. package/dist/backend/backend/src/controllers/cloud/index.d.ts.map +1 -1
  162. package/dist/backend/backend/src/controllers/cloud/index.js +1 -0
  163. package/dist/backend/backend/src/controllers/cloud/index.js.map +1 -1
  164. package/dist/backend/backend/src/controllers/index.d.ts.map +1 -1
  165. package/dist/backend/backend/src/controllers/index.js +2 -0
  166. package/dist/backend/backend/src/controllers/index.js.map +1 -1
  167. package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.js +1 -1
  168. package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.js.map +1 -1
  169. package/dist/backend/backend/src/controllers/marketplace/template-marketplace.routes.d.ts +3 -3
  170. package/dist/backend/backend/src/controllers/marketplace/template-marketplace.routes.js +9 -9
  171. package/dist/backend/backend/src/controllers/marketplace/template-marketplace.routes.js.map +1 -1
  172. package/dist/backend/backend/src/controllers/memory/memory.controller.js +6 -6
  173. package/dist/backend/backend/src/controllers/memory/memory.controller.js.map +1 -1
  174. package/dist/backend/backend/src/controllers/messaging/messenger.routes.d.ts +0 -7
  175. package/dist/backend/backend/src/controllers/messaging/messenger.routes.d.ts.map +1 -1
  176. package/dist/backend/backend/src/controllers/messaging/messenger.routes.js +2 -135
  177. package/dist/backend/backend/src/controllers/messaging/messenger.routes.js.map +1 -1
  178. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts +14 -0
  179. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts.map +1 -1
  180. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js +96 -1
  181. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js.map +1 -1
  182. package/dist/backend/backend/src/controllers/oauth/oauth.routes.d.ts.map +1 -1
  183. package/dist/backend/backend/src/controllers/oauth/oauth.routes.js +8 -1
  184. package/dist/backend/backend/src/controllers/oauth/oauth.routes.js.map +1 -1
  185. package/dist/backend/backend/src/controllers/orchestrator/orchestrator.controller.d.ts +16 -0
  186. package/dist/backend/backend/src/controllers/orchestrator/orchestrator.controller.d.ts.map +1 -1
  187. package/dist/backend/backend/src/controllers/orchestrator/orchestrator.controller.js +124 -13
  188. package/dist/backend/backend/src/controllers/orchestrator/orchestrator.controller.js.map +1 -1
  189. package/dist/backend/backend/src/controllers/payment/payment.controller.js +2 -2
  190. package/dist/backend/backend/src/controllers/payment/payment.controller.js.map +1 -1
  191. package/dist/backend/backend/src/controllers/payment/payment.routes.d.ts +3 -3
  192. package/dist/backend/backend/src/controllers/payment/payment.routes.d.ts.map +1 -1
  193. package/dist/backend/backend/src/controllers/payment/payment.routes.js +4 -14
  194. package/dist/backend/backend/src/controllers/payment/payment.routes.js.map +1 -1
  195. package/dist/backend/backend/src/controllers/payment/payment.types.d.ts +15 -94
  196. package/dist/backend/backend/src/controllers/payment/payment.types.d.ts.map +1 -1
  197. package/dist/backend/backend/src/controllers/payment/payment.types.js +11 -35
  198. package/dist/backend/backend/src/controllers/payment/payment.types.js.map +1 -1
  199. package/dist/backend/backend/src/controllers/pr-review/pr-review.controller.d.ts +49 -0
  200. package/dist/backend/backend/src/controllers/pr-review/pr-review.controller.d.ts.map +1 -0
  201. package/dist/backend/backend/src/controllers/pr-review/pr-review.controller.js +138 -0
  202. package/dist/backend/backend/src/controllers/pr-review/pr-review.controller.js.map +1 -0
  203. package/dist/backend/backend/src/controllers/pr-review/pr-review.routes.d.ts +20 -0
  204. package/dist/backend/backend/src/controllers/pr-review/pr-review.routes.d.ts.map +1 -0
  205. package/dist/backend/backend/src/controllers/pr-review/pr-review.routes.js +30 -0
  206. package/dist/backend/backend/src/controllers/pr-review/pr-review.routes.js.map +1 -0
  207. package/dist/backend/backend/src/controllers/quality-gate/quality-gate.controller.d.ts +12 -0
  208. package/dist/backend/backend/src/controllers/quality-gate/quality-gate.controller.d.ts.map +1 -1
  209. package/dist/backend/backend/src/controllers/quality-gate/quality-gate.controller.js +107 -0
  210. package/dist/backend/backend/src/controllers/quality-gate/quality-gate.controller.js.map +1 -1
  211. package/dist/backend/backend/src/controllers/request-types.d.ts +20 -1
  212. package/dist/backend/backend/src/controllers/request-types.d.ts.map +1 -1
  213. package/dist/backend/backend/src/controllers/slack/slack.controller.d.ts.map +1 -1
  214. package/dist/backend/backend/src/controllers/slack/slack.controller.js +11 -5
  215. package/dist/backend/backend/src/controllers/slack/slack.controller.js.map +1 -1
  216. package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts +46 -0
  217. package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts.map +1 -1
  218. package/dist/backend/backend/src/controllers/task-management/task-management.controller.js +598 -326
  219. package/dist/backend/backend/src/controllers/task-management/task-management.controller.js.map +1 -1
  220. package/dist/backend/backend/src/controllers/team/team.controller.d.ts +12 -0
  221. package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
  222. package/dist/backend/backend/src/controllers/team/team.controller.js +105 -36
  223. package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
  224. package/dist/backend/backend/src/controllers/team/team.routes.d.ts.map +1 -1
  225. package/dist/backend/backend/src/controllers/team/team.routes.js +2 -1
  226. package/dist/backend/backend/src/controllers/team/team.routes.js.map +1 -1
  227. package/dist/backend/backend/src/controllers/template/template.controller.d.ts +11 -0
  228. package/dist/backend/backend/src/controllers/template/template.controller.d.ts.map +1 -1
  229. package/dist/backend/backend/src/controllers/template/template.controller.js +59 -0
  230. package/dist/backend/backend/src/controllers/template/template.controller.js.map +1 -1
  231. package/dist/backend/backend/src/controllers/template/template.routes.d.ts.map +1 -1
  232. package/dist/backend/backend/src/controllers/template/template.routes.js +2 -1
  233. package/dist/backend/backend/src/controllers/template/template.routes.js.map +1 -1
  234. package/dist/backend/backend/src/controllers/workspace/workspace.controller.d.ts +39 -0
  235. package/dist/backend/backend/src/controllers/workspace/workspace.controller.d.ts.map +1 -0
  236. package/dist/backend/backend/src/controllers/workspace/workspace.controller.js +120 -0
  237. package/dist/backend/backend/src/controllers/workspace/workspace.controller.js.map +1 -0
  238. package/dist/backend/backend/src/controllers/workspace/workspace.routes.d.ts +18 -0
  239. package/dist/backend/backend/src/controllers/workspace/workspace.routes.d.ts.map +1 -0
  240. package/dist/backend/backend/src/controllers/workspace/workspace.routes.js +27 -0
  241. package/dist/backend/backend/src/controllers/workspace/workspace.routes.js.map +1 -0
  242. package/dist/backend/backend/src/index.d.ts.map +1 -1
  243. package/dist/backend/backend/src/index.js +108 -15
  244. package/dist/backend/backend/src/index.js.map +1 -1
  245. package/dist/backend/backend/src/middleware/require-auth.middleware.d.ts +20 -0
  246. package/dist/backend/backend/src/middleware/require-auth.middleware.d.ts.map +1 -0
  247. package/dist/backend/backend/src/middleware/require-auth.middleware.js +21 -0
  248. package/dist/backend/backend/src/middleware/require-auth.middleware.js.map +1 -0
  249. package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
  250. package/dist/backend/backend/src/routes/api.routes.js +18 -5
  251. package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
  252. package/dist/backend/backend/src/routes/modules/quality-gate.routes.d.ts +2 -1
  253. package/dist/backend/backend/src/routes/modules/quality-gate.routes.d.ts.map +1 -1
  254. package/dist/backend/backend/src/routes/modules/quality-gate.routes.js +4 -2
  255. package/dist/backend/backend/src/routes/modules/quality-gate.routes.js.map +1 -1
  256. package/dist/backend/backend/src/routes/modules/task-management.routes.d.ts.map +1 -1
  257. package/dist/backend/backend/src/routes/modules/task-management.routes.js +8 -0
  258. package/dist/backend/backend/src/routes/modules/task-management.routes.js.map +1 -1
  259. package/dist/backend/backend/src/routes/modules/terminal.routes.d.ts.map +1 -1
  260. package/dist/backend/backend/src/routes/modules/terminal.routes.js +4 -0
  261. package/dist/backend/backend/src/routes/modules/terminal.routes.js.map +1 -1
  262. package/dist/backend/backend/src/services/agent/adaptive-heartbeat.service.d.ts +149 -0
  263. package/dist/backend/backend/src/services/agent/adaptive-heartbeat.service.d.ts.map +1 -0
  264. package/dist/backend/backend/src/services/agent/adaptive-heartbeat.service.js +200 -0
  265. package/dist/backend/backend/src/services/agent/adaptive-heartbeat.service.js.map +1 -0
  266. package/dist/backend/backend/src/services/agent/agent-heartbeat-monitor.service.d.ts +13 -0
  267. package/dist/backend/backend/src/services/agent/agent-heartbeat-monitor.service.d.ts.map +1 -1
  268. package/dist/backend/backend/src/services/agent/agent-heartbeat-monitor.service.js +65 -6
  269. package/dist/backend/backend/src/services/agent/agent-heartbeat-monitor.service.js.map +1 -1
  270. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +36 -0
  271. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  272. package/dist/backend/backend/src/services/agent/agent-registration.service.js +174 -52
  273. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  274. package/dist/backend/backend/src/services/agent/auditor-scheduler.service.d.ts +66 -20
  275. package/dist/backend/backend/src/services/agent/auditor-scheduler.service.d.ts.map +1 -1
  276. package/dist/backend/backend/src/services/agent/auditor-scheduler.service.js +261 -60
  277. package/dist/backend/backend/src/services/agent/auditor-scheduler.service.js.map +1 -1
  278. package/dist/backend/backend/src/services/agent/claude-runtime.service.d.ts +19 -0
  279. package/dist/backend/backend/src/services/agent/claude-runtime.service.d.ts.map +1 -1
  280. package/dist/backend/backend/src/services/agent/claude-runtime.service.js +80 -0
  281. package/dist/backend/backend/src/services/agent/claude-runtime.service.js.map +1 -1
  282. package/dist/backend/backend/src/services/agent/context-window-monitor.service.d.ts +11 -0
  283. package/dist/backend/backend/src/services/agent/context-window-monitor.service.d.ts.map +1 -1
  284. package/dist/backend/backend/src/services/agent/context-window-monitor.service.js +49 -1
  285. package/dist/backend/backend/src/services/agent/context-window-monitor.service.js.map +1 -1
  286. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts +74 -3
  287. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts.map +1 -1
  288. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js +248 -18
  289. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js.map +1 -1
  290. package/dist/backend/backend/src/services/agent/crewly-agent/approval-queue.service.d.ts +161 -0
  291. package/dist/backend/backend/src/services/agent/crewly-agent/approval-queue.service.d.ts.map +1 -0
  292. package/dist/backend/backend/src/services/agent/crewly-agent/approval-queue.service.js +237 -0
  293. package/dist/backend/backend/src/services/agent/crewly-agent/approval-queue.service.js.map +1 -0
  294. package/dist/backend/backend/src/services/agent/crewly-agent/audit-trail.service.d.ts +74 -0
  295. package/dist/backend/backend/src/services/agent/crewly-agent/audit-trail.service.d.ts.map +1 -0
  296. package/dist/backend/backend/src/services/agent/crewly-agent/audit-trail.service.js +140 -0
  297. package/dist/backend/backend/src/services/agent/crewly-agent/audit-trail.service.js.map +1 -0
  298. package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.d.ts.map +1 -1
  299. package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.js +50 -2
  300. package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.js.map +1 -1
  301. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.d.ts +16 -1
  302. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.d.ts.map +1 -1
  303. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js +45 -5
  304. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js.map +1 -1
  305. package/dist/backend/backend/src/services/agent/crewly-agent/index.d.ts +3 -1
  306. package/dist/backend/backend/src/services/agent/crewly-agent/index.d.ts.map +1 -1
  307. package/dist/backend/backend/src/services/agent/crewly-agent/index.js +3 -1
  308. package/dist/backend/backend/src/services/agent/crewly-agent/index.js.map +1 -1
  309. package/dist/backend/backend/src/services/agent/crewly-agent/mcp-tool-bridge.d.ts +135 -0
  310. package/dist/backend/backend/src/services/agent/crewly-agent/mcp-tool-bridge.d.ts.map +1 -0
  311. package/dist/backend/backend/src/services/agent/crewly-agent/mcp-tool-bridge.js +185 -0
  312. package/dist/backend/backend/src/services/agent/crewly-agent/mcp-tool-bridge.js.map +1 -0
  313. package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.d.ts +10 -2
  314. package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.d.ts.map +1 -1
  315. package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.js +22 -2
  316. package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.js.map +1 -1
  317. package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.d.ts +143 -0
  318. package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.d.ts.map +1 -0
  319. package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.js +264 -0
  320. package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.js.map +1 -0
  321. package/dist/backend/backend/src/services/agent/crewly-agent/smoke-test.js +2 -2
  322. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.d.ts +55 -1
  323. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.d.ts.map +1 -1
  324. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js +660 -45
  325. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js.map +1 -1
  326. package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts +75 -3
  327. package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts.map +1 -1
  328. package/dist/backend/backend/src/services/agent/crewly-agent/types.js +49 -2
  329. package/dist/backend/backend/src/services/agent/crewly-agent/types.js.map +1 -1
  330. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts.map +1 -1
  331. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js +17 -2
  332. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js.map +1 -1
  333. package/dist/backend/backend/src/services/ai/prompt-builder.service.d.ts +37 -0
  334. package/dist/backend/backend/src/services/ai/prompt-builder.service.d.ts.map +1 -1
  335. package/dist/backend/backend/src/services/ai/prompt-builder.service.js +170 -3
  336. package/dist/backend/backend/src/services/ai/prompt-builder.service.js.map +1 -1
  337. package/dist/backend/backend/src/services/browser/chrome-discovery.service.d.ts +108 -0
  338. package/dist/backend/backend/src/services/browser/chrome-discovery.service.d.ts.map +1 -0
  339. package/dist/backend/backend/src/services/browser/chrome-discovery.service.js +251 -0
  340. package/dist/backend/backend/src/services/browser/chrome-discovery.service.js.map +1 -0
  341. package/dist/backend/backend/src/services/cloud/cloud-auth.middleware.js +1 -1
  342. package/dist/backend/backend/src/services/cloud/cloud-auth.middleware.js.map +1 -1
  343. package/dist/backend/backend/src/services/cloud/cloud-client.service.d.ts +12 -0
  344. package/dist/backend/backend/src/services/cloud/cloud-client.service.d.ts.map +1 -1
  345. package/dist/backend/backend/src/services/cloud/cloud-client.service.js +19 -0
  346. package/dist/backend/backend/src/services/cloud/cloud-client.service.js.map +1 -1
  347. package/dist/backend/backend/src/services/cloud/device-auto-discovery.service.d.ts +191 -0
  348. package/dist/backend/backend/src/services/cloud/device-auto-discovery.service.d.ts.map +1 -0
  349. package/dist/backend/backend/src/services/cloud/device-auto-discovery.service.js +415 -0
  350. package/dist/backend/backend/src/services/cloud/device-auto-discovery.service.js.map +1 -0
  351. package/dist/backend/backend/src/services/cloud/device-identity.service.d.ts +89 -0
  352. package/dist/backend/backend/src/services/cloud/device-identity.service.d.ts.map +1 -0
  353. package/dist/backend/backend/src/services/cloud/device-identity.service.js +148 -0
  354. package/dist/backend/backend/src/services/cloud/device-identity.service.js.map +1 -0
  355. package/dist/backend/backend/src/services/cloud/relay-client.service.d.ts.map +1 -1
  356. package/dist/backend/backend/src/services/cloud/relay-client.service.js +5 -3
  357. package/dist/backend/backend/src/services/cloud/relay-client.service.js.map +1 -1
  358. package/dist/backend/backend/src/services/core/tracing.service.d.ts +127 -0
  359. package/dist/backend/backend/src/services/core/tracing.service.d.ts.map +1 -0
  360. package/dist/backend/backend/src/services/core/tracing.service.js +238 -0
  361. package/dist/backend/backend/src/services/core/tracing.service.js.map +1 -0
  362. package/dist/backend/backend/src/services/event-bus/event-bus.service.d.ts.map +1 -1
  363. package/dist/backend/backend/src/services/event-bus/event-bus.service.js +11 -3
  364. package/dist/backend/backend/src/services/event-bus/event-bus.service.js.map +1 -1
  365. package/dist/backend/backend/src/services/index.d.ts +1 -0
  366. package/dist/backend/backend/src/services/index.d.ts.map +1 -1
  367. package/dist/backend/backend/src/services/index.js +1 -0
  368. package/dist/backend/backend/src/services/index.js.map +1 -1
  369. package/dist/backend/backend/src/services/knowledge/embedding-provider.d.ts +78 -0
  370. package/dist/backend/backend/src/services/knowledge/embedding-provider.d.ts.map +1 -0
  371. package/dist/backend/backend/src/services/knowledge/embedding-provider.js +164 -0
  372. package/dist/backend/backend/src/services/knowledge/embedding-provider.js.map +1 -0
  373. package/dist/backend/backend/src/services/knowledge/knowledge-search.service.d.ts +39 -13
  374. package/dist/backend/backend/src/services/knowledge/knowledge-search.service.d.ts.map +1 -1
  375. package/dist/backend/backend/src/services/knowledge/knowledge-search.service.js +114 -17
  376. package/dist/backend/backend/src/services/knowledge/knowledge-search.service.js.map +1 -1
  377. package/dist/backend/backend/src/services/knowledge/vector-store.service.d.ts +170 -23
  378. package/dist/backend/backend/src/services/knowledge/vector-store.service.d.ts.map +1 -1
  379. package/dist/backend/backend/src/services/knowledge/vector-store.service.js +565 -73
  380. package/dist/backend/backend/src/services/knowledge/vector-store.service.js.map +1 -1
  381. package/dist/backend/backend/src/services/marketplace/marketplace-installer.service.d.ts.map +1 -1
  382. package/dist/backend/backend/src/services/marketplace/marketplace-installer.service.js +8 -11
  383. package/dist/backend/backend/src/services/marketplace/marketplace-installer.service.js.map +1 -1
  384. package/dist/backend/backend/src/services/marketplace/marketplace.service.d.ts.map +1 -1
  385. package/dist/backend/backend/src/services/marketplace/marketplace.service.js +1 -0
  386. package/dist/backend/backend/src/services/marketplace/marketplace.service.js.map +1 -1
  387. package/dist/backend/backend/src/services/memory/context-flush.service.d.ts +73 -0
  388. package/dist/backend/backend/src/services/memory/context-flush.service.d.ts.map +1 -0
  389. package/dist/backend/backend/src/services/memory/context-flush.service.js +131 -0
  390. package/dist/backend/backend/src/services/memory/context-flush.service.js.map +1 -0
  391. package/dist/backend/backend/src/services/memory/learning-accumulation.service.d.ts +23 -2
  392. package/dist/backend/backend/src/services/memory/learning-accumulation.service.d.ts.map +1 -1
  393. package/dist/backend/backend/src/services/memory/learning-accumulation.service.js +78 -16
  394. package/dist/backend/backend/src/services/memory/learning-accumulation.service.js.map +1 -1
  395. package/dist/backend/backend/src/services/memory/memory.service.d.ts +38 -0
  396. package/dist/backend/backend/src/services/memory/memory.service.d.ts.map +1 -1
  397. package/dist/backend/backend/src/services/memory/memory.service.js +121 -2
  398. package/dist/backend/backend/src/services/memory/memory.service.js.map +1 -1
  399. package/dist/backend/backend/src/services/messaging/adapters/google-chat-messenger.adapter.d.ts +29 -207
  400. package/dist/backend/backend/src/services/messaging/adapters/google-chat-messenger.adapter.d.ts.map +1 -1
  401. package/dist/backend/backend/src/services/messaging/adapters/google-chat-messenger.adapter.js +97 -683
  402. package/dist/backend/backend/src/services/messaging/adapters/google-chat-messenger.adapter.js.map +1 -1
  403. package/dist/backend/backend/src/services/messaging/google-chat-initializer.d.ts.map +1 -1
  404. package/dist/backend/backend/src/services/messaging/google-chat-initializer.js +13 -12
  405. package/dist/backend/backend/src/services/messaging/google-chat-initializer.js.map +1 -1
  406. package/dist/backend/backend/src/services/messaging/messenger-adapter.interface.d.ts +2 -0
  407. package/dist/backend/backend/src/services/messaging/messenger-adapter.interface.d.ts.map +1 -1
  408. package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts +6 -23
  409. package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts.map +1 -1
  410. package/dist/backend/backend/src/services/messaging/queue-processor.service.js +48 -184
  411. package/dist/backend/backend/src/services/messaging/queue-processor.service.js.map +1 -1
  412. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.d.ts.map +1 -1
  413. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js +51 -5
  414. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js.map +1 -1
  415. package/dist/backend/backend/src/services/orchestrator/index.d.ts +1 -1
  416. package/dist/backend/backend/src/services/orchestrator/index.d.ts.map +1 -1
  417. package/dist/backend/backend/src/services/orchestrator/index.js +1 -1
  418. package/dist/backend/backend/src/services/orchestrator/index.js.map +1 -1
  419. package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.d.ts +65 -0
  420. package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.d.ts.map +1 -1
  421. package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.js +165 -2
  422. package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.js.map +1 -1
  423. package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.d.ts +8 -0
  424. package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.d.ts.map +1 -1
  425. package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.js +23 -0
  426. package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.js.map +1 -1
  427. package/dist/backend/backend/src/services/payment/stripe.service.d.ts +95 -43
  428. package/dist/backend/backend/src/services/payment/stripe.service.d.ts.map +1 -1
  429. package/dist/backend/backend/src/services/payment/stripe.service.js +229 -190
  430. package/dist/backend/backend/src/services/payment/stripe.service.js.map +1 -1
  431. package/dist/backend/backend/src/services/pr-review/pr-review.service.d.ts +181 -0
  432. package/dist/backend/backend/src/services/pr-review/pr-review.service.d.ts.map +1 -0
  433. package/dist/backend/backend/src/services/pr-review/pr-review.service.js +336 -0
  434. package/dist/backend/backend/src/services/pr-review/pr-review.service.js.map +1 -0
  435. package/dist/backend/backend/src/services/project/task-tracking.service.d.ts +23 -0
  436. package/dist/backend/backend/src/services/project/task-tracking.service.d.ts.map +1 -1
  437. package/dist/backend/backend/src/services/project/task-tracking.service.js +88 -0
  438. package/dist/backend/backend/src/services/project/task-tracking.service.js.map +1 -1
  439. package/dist/backend/backend/src/services/session/index.d.ts +2 -0
  440. package/dist/backend/backend/src/services/session/index.d.ts.map +1 -1
  441. package/dist/backend/backend/src/services/session/index.js +2 -0
  442. package/dist/backend/backend/src/services/session/index.js.map +1 -1
  443. package/dist/backend/backend/src/services/session/session-handoff.service.d.ts +294 -0
  444. package/dist/backend/backend/src/services/session/session-handoff.service.d.ts.map +1 -0
  445. package/dist/backend/backend/src/services/session/session-handoff.service.js +674 -0
  446. package/dist/backend/backend/src/services/session/session-handoff.service.js.map +1 -0
  447. package/dist/backend/backend/src/services/skill/index.d.ts +1 -0
  448. package/dist/backend/backend/src/services/skill/index.d.ts.map +1 -1
  449. package/dist/backend/backend/src/services/skill/index.js +1 -0
  450. package/dist/backend/backend/src/services/skill/index.js.map +1 -1
  451. package/dist/backend/backend/src/services/skill/skill-catalog.service.d.ts +25 -6
  452. package/dist/backend/backend/src/services/skill/skill-catalog.service.d.ts.map +1 -1
  453. package/dist/backend/backend/src/services/skill/skill-catalog.service.js +78 -20
  454. package/dist/backend/backend/src/services/skill/skill-catalog.service.js.map +1 -1
  455. package/dist/backend/backend/src/services/skill/skill-tier.service.d.ts +116 -0
  456. package/dist/backend/backend/src/services/skill/skill-tier.service.d.ts.map +1 -0
  457. package/dist/backend/backend/src/services/skill/skill-tier.service.js +155 -0
  458. package/dist/backend/backend/src/services/skill/skill-tier.service.js.map +1 -0
  459. package/dist/backend/backend/src/services/skill/skill.service.d.ts +35 -7
  460. package/dist/backend/backend/src/services/skill/skill.service.d.ts.map +1 -1
  461. package/dist/backend/backend/src/services/skill/skill.service.js +128 -35
  462. package/dist/backend/backend/src/services/skill/skill.service.js.map +1 -1
  463. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts +50 -47
  464. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
  465. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js +267 -202
  466. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
  467. package/dist/backend/backend/src/services/slack/slack.service.d.ts +28 -2
  468. package/dist/backend/backend/src/services/slack/slack.service.d.ts.map +1 -1
  469. package/dist/backend/backend/src/services/slack/slack.service.js +69 -3
  470. package/dist/backend/backend/src/services/slack/slack.service.js.map +1 -1
  471. package/dist/backend/backend/src/services/template/template.service.d.ts +19 -1
  472. package/dist/backend/backend/src/services/template/template.service.d.ts.map +1 -1
  473. package/dist/backend/backend/src/services/template/template.service.js +110 -3
  474. package/dist/backend/backend/src/services/template/template.service.js.map +1 -1
  475. package/dist/backend/backend/src/services/whatsapp/whatsapp-orchestrator-bridge.d.ts +11 -0
  476. package/dist/backend/backend/src/services/whatsapp/whatsapp-orchestrator-bridge.d.ts.map +1 -1
  477. package/dist/backend/backend/src/services/whatsapp/whatsapp-orchestrator-bridge.js +57 -3
  478. package/dist/backend/backend/src/services/whatsapp/whatsapp-orchestrator-bridge.js.map +1 -1
  479. package/dist/backend/backend/src/services/workflow/message-scheduler.service.d.ts.map +1 -1
  480. package/dist/backend/backend/src/services/workflow/message-scheduler.service.js +6 -0
  481. package/dist/backend/backend/src/services/workflow/message-scheduler.service.js.map +1 -1
  482. package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts +52 -0
  483. package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts.map +1 -1
  484. package/dist/backend/backend/src/services/workflow/scheduler.service.js +319 -6
  485. package/dist/backend/backend/src/services/workflow/scheduler.service.js.map +1 -1
  486. package/dist/backend/backend/src/types/chat.types.d.ts +2 -2
  487. package/dist/backend/backend/src/types/chat.types.d.ts.map +1 -1
  488. package/dist/backend/backend/src/types/chat.types.js +18 -22
  489. package/dist/backend/backend/src/types/chat.types.js.map +1 -1
  490. package/dist/backend/backend/src/types/index.d.ts +37 -0
  491. package/dist/backend/backend/src/types/index.d.ts.map +1 -1
  492. package/dist/backend/backend/src/types/index.js.map +1 -1
  493. package/dist/backend/backend/src/types/marketplace.types.d.ts +1 -1
  494. package/dist/backend/backend/src/types/marketplace.types.d.ts.map +1 -1
  495. package/dist/backend/backend/src/types/scheduler.types.d.ts +4 -0
  496. package/dist/backend/backend/src/types/scheduler.types.d.ts.map +1 -1
  497. package/dist/backend/backend/src/types/scheduler.types.js.map +1 -1
  498. package/dist/backend/backend/src/types/skill.types.d.ts +4 -0
  499. package/dist/backend/backend/src/types/skill.types.d.ts.map +1 -1
  500. package/dist/backend/backend/src/types/skill.types.js.map +1 -1
  501. package/dist/backend/backend/src/types/task-tracking.types.d.ts +6 -0
  502. package/dist/backend/backend/src/types/task-tracking.types.d.ts.map +1 -1
  503. package/dist/backend/backend/src/types/task-tracking.types.js.map +1 -1
  504. package/dist/backend/backend/src/types/team-template.types.d.ts +2 -0
  505. package/dist/backend/backend/src/types/team-template.types.d.ts.map +1 -1
  506. package/dist/backend/backend/src/types/team-template.types.js.map +1 -1
  507. package/dist/backend/backend/src/utils/skill-md-parser.d.ts +38 -0
  508. package/dist/backend/backend/src/utils/skill-md-parser.d.ts.map +1 -0
  509. package/dist/backend/backend/src/utils/skill-md-parser.js +47 -0
  510. package/dist/backend/backend/src/utils/skill-md-parser.js.map +1 -0
  511. package/dist/backend/backend/src/websocket/terminal.gateway.d.ts +0 -154
  512. package/dist/backend/backend/src/websocket/terminal.gateway.d.ts.map +1 -1
  513. package/dist/backend/backend/src/websocket/terminal.gateway.js +0 -515
  514. package/dist/backend/backend/src/websocket/terminal.gateway.js.map +1 -1
  515. package/dist/backend/config/constants.d.ts +18 -3
  516. package/dist/backend/config/constants.d.ts.map +1 -1
  517. package/dist/backend/config/constants.js +18 -3
  518. package/dist/backend/config/constants.js.map +1 -1
  519. package/dist/cli/backend/src/constants.d.ts +80 -11
  520. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  521. package/dist/cli/backend/src/constants.js +85 -11
  522. package/dist/cli/backend/src/constants.js.map +1 -1
  523. package/dist/cli/backend/src/services/knowledge/embedding-provider.d.ts +78 -0
  524. package/dist/cli/backend/src/services/knowledge/embedding-provider.d.ts.map +1 -0
  525. package/dist/cli/backend/src/services/knowledge/embedding-provider.js +164 -0
  526. package/dist/cli/backend/src/services/knowledge/embedding-provider.js.map +1 -0
  527. package/dist/cli/backend/src/services/knowledge/knowledge-search.service.d.ts +39 -13
  528. package/dist/cli/backend/src/services/knowledge/knowledge-search.service.d.ts.map +1 -1
  529. package/dist/cli/backend/src/services/knowledge/knowledge-search.service.js +114 -17
  530. package/dist/cli/backend/src/services/knowledge/knowledge-search.service.js.map +1 -1
  531. package/dist/cli/backend/src/services/knowledge/vector-store.service.d.ts +170 -23
  532. package/dist/cli/backend/src/services/knowledge/vector-store.service.d.ts.map +1 -1
  533. package/dist/cli/backend/src/services/knowledge/vector-store.service.js +565 -73
  534. package/dist/cli/backend/src/services/knowledge/vector-store.service.js.map +1 -1
  535. package/dist/cli/backend/src/services/memory/memory.service.d.ts +38 -0
  536. package/dist/cli/backend/src/services/memory/memory.service.d.ts.map +1 -1
  537. package/dist/cli/backend/src/services/memory/memory.service.js +121 -2
  538. package/dist/cli/backend/src/services/memory/memory.service.js.map +1 -1
  539. package/dist/cli/backend/src/types/chat.types.d.ts +2 -2
  540. package/dist/cli/backend/src/types/chat.types.d.ts.map +1 -1
  541. package/dist/cli/backend/src/types/chat.types.js +18 -22
  542. package/dist/cli/backend/src/types/chat.types.js.map +1 -1
  543. package/dist/cli/backend/src/types/index.d.ts +37 -0
  544. package/dist/cli/backend/src/types/index.d.ts.map +1 -1
  545. package/dist/cli/backend/src/types/index.js.map +1 -1
  546. package/dist/cli/backend/src/types/scheduler.types.d.ts +4 -0
  547. package/dist/cli/backend/src/types/scheduler.types.d.ts.map +1 -1
  548. package/dist/cli/backend/src/types/scheduler.types.js.map +1 -1
  549. package/dist/cli/backend/src/types/skill.types.d.ts +4 -0
  550. package/dist/cli/backend/src/types/skill.types.d.ts.map +1 -1
  551. package/dist/cli/backend/src/types/skill.types.js.map +1 -1
  552. package/dist/cli/cli/src/commands/onboard.d.ts +19 -2
  553. package/dist/cli/cli/src/commands/onboard.d.ts.map +1 -1
  554. package/dist/cli/cli/src/commands/onboard.js +58 -15
  555. package/dist/cli/cli/src/commands/onboard.js.map +1 -1
  556. package/dist/cli/cli/src/commands/pair.d.ts +46 -0
  557. package/dist/cli/cli/src/commands/pair.d.ts.map +1 -0
  558. package/dist/cli/cli/src/commands/pair.js +258 -0
  559. package/dist/cli/cli/src/commands/pair.js.map +1 -0
  560. package/dist/cli/cli/src/commands/service.d.ts +86 -0
  561. package/dist/cli/cli/src/commands/service.d.ts.map +1 -0
  562. package/dist/cli/cli/src/commands/service.js +687 -0
  563. package/dist/cli/cli/src/commands/service.js.map +1 -0
  564. package/dist/cli/cli/src/index.js +17 -0
  565. package/dist/cli/cli/src/index.js.map +1 -1
  566. package/dist/cli/config/constants.d.ts +18 -3
  567. package/dist/cli/config/constants.d.ts.map +1 -1
  568. package/dist/cli/config/constants.js +18 -3
  569. package/dist/cli/config/constants.js.map +1 -1
  570. package/frontend/dist/assets/index-60a9e4ea.css +33 -0
  571. package/frontend/dist/assets/{index-e6d7db4a.js → index-e8162966.js} +353 -353
  572. package/frontend/dist/index.html +2 -2
  573. package/package.json +22 -10
  574. package/config/skills/agent/browse-stealth/skill.json +0 -20
  575. package/config/skills/agent/competitor-content-tracker/skill.json +0 -22
  576. package/config/skills/agent/computer-use/skill.json +0 -29
  577. package/config/skills/agent/content-calendar/skill.json +0 -22
  578. package/config/skills/agent/content-repurposer/skill.json +0 -22
  579. package/config/skills/agent/content-writer/skill.json +0 -22
  580. package/config/skills/agent/core/accept-task/skill.json +0 -20
  581. package/config/skills/agent/core/block-task/skill.json +0 -20
  582. package/config/skills/agent/core/check-quality-gates/skill.json +0 -20
  583. package/config/skills/agent/core/complete-task/skill.json +0 -20
  584. package/config/skills/agent/core/generate-pdf/skill.json +0 -20
  585. package/config/skills/agent/core/get-my-context/skill.json +0 -20
  586. package/config/skills/agent/core/get-sops/skill.json +0 -20
  587. package/config/skills/agent/core/get-team-status/instructions.md +0 -17
  588. package/config/skills/agent/core/get-team-status/skill.json +0 -20
  589. package/config/skills/agent/core/heartbeat/skill.json +0 -20
  590. package/config/skills/agent/core/marketplace-search/skill.json +0 -20
  591. package/config/skills/agent/core/query-knowledge/skill.json +0 -20
  592. package/config/skills/agent/core/read-task/instructions.md +0 -19
  593. package/config/skills/agent/core/read-task/skill.json +0 -20
  594. package/config/skills/agent/core/recall/skill.json +0 -20
  595. package/config/skills/agent/core/record-learning/skill.json +0 -20
  596. package/config/skills/agent/core/register-self/instructions.md +0 -18
  597. package/config/skills/agent/core/register-self/skill.json +0 -20
  598. package/config/skills/agent/core/remember/skill.json +0 -20
  599. package/config/skills/agent/core/reply-chat/skill.json +0 -20
  600. package/config/skills/agent/core/report-progress/skill.json +0 -20
  601. package/config/skills/agent/core/report-status/skill.json +0 -20
  602. package/config/skills/agent/core/send-chat-response/skill.json +0 -20
  603. package/config/skills/agent/core/send-message/instructions.md +0 -20
  604. package/config/skills/agent/core/send-message/skill.json +0 -20
  605. package/config/skills/agent/desktop-app-control/skill.json +0 -33
  606. package/config/skills/agent/trend-monitor/skill.json +0 -22
  607. package/config/skills/agent/vnc-browser/skill.json +0 -20
  608. package/config/skills/orchestrator/assign-task/instructions.md +0 -17
  609. package/config/skills/orchestrator/assign-task/skill.json +0 -20
  610. package/config/skills/orchestrator/assign-team-to-project/skill.json +0 -20
  611. package/config/skills/orchestrator/broadcast/skill.json +0 -20
  612. package/config/skills/orchestrator/broadcast-to-org/skill.json +0 -20
  613. package/config/skills/orchestrator/cancel-all-schedules/skill.json +0 -17
  614. package/config/skills/orchestrator/cancel-schedule/instructions.md +0 -19
  615. package/config/skills/orchestrator/cancel-schedule/skill.json +0 -20
  616. package/config/skills/orchestrator/complete-task/instructions.md +0 -17
  617. package/config/skills/orchestrator/complete-task/skill.json +0 -20
  618. package/config/skills/orchestrator/create-project/skill.json +0 -20
  619. package/config/skills/orchestrator/create-team/skill.json +0 -20
  620. package/config/skills/orchestrator/delegate-task/skill.json +0 -20
  621. package/config/skills/orchestrator/get-agent-logs/skill.json +0 -20
  622. package/config/skills/orchestrator/get-agent-status/skill.json +0 -20
  623. package/config/skills/orchestrator/get-project-overview/instructions.md +0 -17
  624. package/config/skills/orchestrator/get-project-overview/skill.json +0 -20
  625. package/config/skills/orchestrator/get-tasks/instructions.md +0 -17
  626. package/config/skills/orchestrator/get-tasks/skill.json +0 -20
  627. package/config/skills/orchestrator/get-team-status/instructions.md +0 -17
  628. package/config/skills/orchestrator/get-team-status/skill.json +0 -20
  629. package/config/skills/orchestrator/handle-agent-failure/skill.json +0 -20
  630. package/config/skills/orchestrator/heartbeat/skill.json +0 -20
  631. package/config/skills/orchestrator/list-schedules/skill.json +0 -12
  632. package/config/skills/orchestrator/list-subscriptions/instructions.md +0 -17
  633. package/config/skills/orchestrator/list-subscriptions/skill.json +0 -20
  634. package/config/skills/orchestrator/query-knowledge/skill.json +0 -20
  635. package/config/skills/orchestrator/read-session-logs/skill.json +0 -20
  636. package/config/skills/orchestrator/read-system-logs/skill.json +0 -20
  637. package/config/skills/orchestrator/recall/skill.json +0 -20
  638. package/config/skills/orchestrator/record-failure/skill.json +0 -20
  639. package/config/skills/orchestrator/record-learning/skill.json +0 -20
  640. package/config/skills/orchestrator/record-success/skill.json +0 -20
  641. package/config/skills/orchestrator/register-self/skill.json +0 -20
  642. package/config/skills/orchestrator/remember/skill.json +0 -20
  643. package/config/skills/orchestrator/reply-chat/skill.json +0 -20
  644. package/config/skills/orchestrator/reply-gchat/skill.json +0 -20
  645. package/config/skills/orchestrator/reply-slack/skill.json +0 -20
  646. package/config/skills/orchestrator/report-bug/skill.json +0 -20
  647. package/config/skills/orchestrator/restart-crewly/skill.json +0 -20
  648. package/config/skills/orchestrator/resume-session/skill.json +0 -20
  649. package/config/skills/orchestrator/schedule-check/skill.json +0 -20
  650. package/config/skills/orchestrator/send-key/skill.json +0 -20
  651. package/config/skills/orchestrator/send-message/skill.json +0 -20
  652. package/config/skills/orchestrator/send-pdf-to-slack/skill.json +0 -20
  653. package/config/skills/orchestrator/set-goal/skill.json +0 -20
  654. package/config/skills/orchestrator/start-agent/skill.json +0 -20
  655. package/config/skills/orchestrator/start-team/skill.json +0 -20
  656. package/config/skills/orchestrator/stop-agent/skill.json +0 -20
  657. package/config/skills/orchestrator/stop-team/instructions.md +0 -19
  658. package/config/skills/orchestrator/stop-team/skill.json +0 -20
  659. package/config/skills/orchestrator/subscribe-event/skill.json +0 -20
  660. package/config/skills/orchestrator/terminate-agent/skill.json +0 -20
  661. package/config/skills/orchestrator/unsubscribe-event/instructions.md +0 -19
  662. package/config/skills/orchestrator/unsubscribe-event/skill.json +0 -20
  663. package/config/skills/orchestrator/update-focus/skill.json +0 -20
  664. package/config/skills/orchestrator/update-team/skill.json +0 -20
  665. package/config/skills/team-leader/aggregate-results/skill.json +0 -20
  666. package/config/skills/team-leader/decompose-goal/skill.json +0 -20
  667. package/config/skills/team-leader/delegate-task/skill.json +0 -20
  668. package/config/skills/team-leader/handle-failure/skill.json +0 -20
  669. package/config/skills/team-leader/schedule-check/skill.json +0 -20
  670. package/config/skills/team-leader/start-agent/skill.json +0 -20
  671. package/config/skills/team-leader/stop-agent/skill.json +0 -20
  672. package/config/skills/team-leader/verify-output/skill.json +0 -20
  673. package/frontend/dist/assets/index-0e5673b0.css +0 -33
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Google Workspace Token Controller
3
+ *
4
+ * Provides a token-serving endpoint for agents to obtain short-lived
5
+ * Google access tokens for Workspace operations (Gmail, Drive, Calendar, Docs).
6
+ *
7
+ * Tokens are stored encrypted via UserIdentityService. This controller
8
+ * exchanges stored refresh tokens for fresh access tokens via Google's
9
+ * token endpoint, never exposing refresh tokens to callers.
10
+ *
11
+ * @module controllers/workspace/workspace.controller
12
+ */
13
+ import { Request, Response, NextFunction } from 'express';
14
+ /**
15
+ * GET /api/workspace/token — Provide a fresh Google access token.
16
+ *
17
+ * Looks up the authenticated user's stored Google refresh token,
18
+ * exchanges it for a short-lived access token, and returns it.
19
+ * The refresh token is never exposed to the caller.
20
+ *
21
+ * Query params:
22
+ * - userId (required): The user ID whose Google token to fetch
23
+ *
24
+ * @param req - Express request with query.userId
25
+ * @param res - Express response
26
+ * @param next - Express next function
27
+ */
28
+ export declare function getWorkspaceToken(req: Request, res: Response, next: NextFunction): Promise<void>;
29
+ /**
30
+ * GET /api/workspace/scopes — List available Workspace scopes.
31
+ *
32
+ * Returns the configured WORKSPACE_SCOPES from constants.
33
+ * Agents can use this to know which Google APIs are available.
34
+ *
35
+ * @param _req - Express request (unused)
36
+ * @param res - Express response
37
+ */
38
+ export declare function listWorkspaceScopes(_req: Request, res: Response): void;
39
+ //# sourceMappingURL=workspace.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/workspace/workspace.controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAmB1D;;;;;;;;;;;;;GAaG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA+EtG;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,CAOtE"}
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Google Workspace Token Controller
3
+ *
4
+ * Provides a token-serving endpoint for agents to obtain short-lived
5
+ * Google access tokens for Workspace operations (Gmail, Drive, Calendar, Docs).
6
+ *
7
+ * Tokens are stored encrypted via UserIdentityService. This controller
8
+ * exchanges stored refresh tokens for fresh access tokens via Google's
9
+ * token endpoint, never exposing refresh tokens to callers.
10
+ *
11
+ * @module controllers/workspace/workspace.controller
12
+ */
13
+ import { GOOGLE_OAUTH_CONSTANTS } from '../../constants.js';
14
+ import { UserIdentityService } from '../../services/user/user-identity.service.js';
15
+ import { LoggerService } from '../../services/core/logger.service.js';
16
+ const logger = LoggerService.getInstance().createComponentLogger('WorkspaceController');
17
+ /**
18
+ * GET /api/workspace/token — Provide a fresh Google access token.
19
+ *
20
+ * Looks up the authenticated user's stored Google refresh token,
21
+ * exchanges it for a short-lived access token, and returns it.
22
+ * The refresh token is never exposed to the caller.
23
+ *
24
+ * Query params:
25
+ * - userId (required): The user ID whose Google token to fetch
26
+ *
27
+ * @param req - Express request with query.userId
28
+ * @param res - Express response
29
+ * @param next - Express next function
30
+ */
31
+ export async function getWorkspaceToken(req, res, next) {
32
+ try {
33
+ const userId = req.query.userId ? String(req.query.userId) : '';
34
+ if (!userId) {
35
+ res.status(400).json({ success: false, error: 'Missing required query parameter: userId' });
36
+ return;
37
+ }
38
+ const clientId = process.env.GOOGLE_OAUTH_CLIENT_ID || '';
39
+ const clientSecret = process.env.GOOGLE_OAUTH_CLIENT_SECRET || '';
40
+ if (!clientId || !clientSecret) {
41
+ res.status(500).json({ success: false, error: 'Google OAuth credentials are not configured' });
42
+ return;
43
+ }
44
+ const users = UserIdentityService.getInstance();
45
+ const user = await users.getUserById(userId);
46
+ if (!user) {
47
+ res.status(404).json({ success: false, error: `User not found: ${userId}` });
48
+ return;
49
+ }
50
+ const googleService = user.connectedServices.find((s) => s.provider === 'google');
51
+ if (!googleService) {
52
+ res.status(404).json({ success: false, error: 'No Google account connected for this user' });
53
+ return;
54
+ }
55
+ // Decrypt the stored refresh token
56
+ const refreshToken = users.decryptToken(googleService.encryptedRefreshToken);
57
+ // Exchange refresh token for a fresh access token
58
+ const tokenResp = await fetch(GOOGLE_OAUTH_CONSTANTS.TOKEN_ENDPOINT, {
59
+ method: 'POST',
60
+ headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
61
+ body: new URLSearchParams({
62
+ client_id: clientId,
63
+ client_secret: clientSecret,
64
+ refresh_token: refreshToken,
65
+ grant_type: 'refresh_token',
66
+ }),
67
+ });
68
+ const tokenData = await tokenResp.json();
69
+ if (!tokenResp.ok || tokenData.error) {
70
+ logger.error('Failed to refresh Google access token', {
71
+ userId,
72
+ error: tokenData.error || 'unknown',
73
+ description: tokenData.error_description,
74
+ });
75
+ res.status(502).json({
76
+ success: false,
77
+ error: `Token refresh failed: ${tokenData.error_description || tokenData.error || 'unknown error'}`,
78
+ });
79
+ return;
80
+ }
81
+ logger.info('Issued fresh Google Workspace access token', {
82
+ userId,
83
+ expiresIn: tokenData.expires_in,
84
+ scopes: tokenData.scope,
85
+ });
86
+ res.json({
87
+ success: true,
88
+ data: {
89
+ accessToken: tokenData.access_token,
90
+ expiresIn: tokenData.expires_in,
91
+ tokenType: tokenData.token_type,
92
+ scopes: tokenData.scope ? tokenData.scope.split(' ') : googleService.scopes,
93
+ },
94
+ });
95
+ }
96
+ catch (error) {
97
+ logger.error('Workspace token endpoint error', {
98
+ error: error instanceof Error ? error.message : String(error),
99
+ });
100
+ next(error);
101
+ }
102
+ }
103
+ /**
104
+ * GET /api/workspace/scopes — List available Workspace scopes.
105
+ *
106
+ * Returns the configured WORKSPACE_SCOPES from constants.
107
+ * Agents can use this to know which Google APIs are available.
108
+ *
109
+ * @param _req - Express request (unused)
110
+ * @param res - Express response
111
+ */
112
+ export function listWorkspaceScopes(_req, res) {
113
+ res.json({
114
+ success: true,
115
+ data: {
116
+ scopes: [...GOOGLE_OAUTH_CONSTANTS.WORKSPACE_SCOPES],
117
+ },
118
+ });
119
+ }
120
+ //# sourceMappingURL=workspace.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.controller.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/workspace/workspace.controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,CAAC;AAcxF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;IACrF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0CAA0C,EAAE,CAAC,CAAC;YAC5F,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,EAAE,CAAC;QAC1D,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,EAAE,CAAC;QAClE,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;YAC/B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,6CAA6C,EAAE,CAAC,CAAC;YAC/F,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,mBAAmB,CAAC,WAAW,EAAE,CAAC;QAChD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,MAAM,EAAE,EAAE,CAAC,CAAC;YAC7E,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;QAClF,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,2CAA2C,EAAE,CAAC,CAAC;YAC7F,OAAO;QACT,CAAC;QAED,mCAAmC;QACnC,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;QAE7E,kDAAkD;QAClD,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,sBAAsB,CAAC,cAAc,EAAE;YACnE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,mCAAmC,EAAE;YAChE,IAAI,EAAE,IAAI,eAAe,CAAC;gBACxB,SAAS,EAAE,QAAQ;gBACnB,aAAa,EAAE,YAAY;gBAC3B,aAAa,EAAE,YAAY;gBAC3B,UAAU,EAAE,eAAe;aAC5B,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,IAAI,EAAyB,CAAC;QAEhE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;YACrC,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE;gBACpD,MAAM;gBACN,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,SAAS;gBACnC,WAAW,EAAE,SAAS,CAAC,iBAAiB;aACzC,CAAC,CAAC;YACH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,yBAAyB,SAAS,CAAC,iBAAiB,IAAI,SAAS,CAAC,KAAK,IAAI,eAAe,EAAE;aACpG,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE;YACxD,MAAM;YACN,SAAS,EAAE,SAAS,CAAC,UAAU;YAC/B,MAAM,EAAE,SAAS,CAAC,KAAK;SACxB,CAAC,CAAC;QAEH,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,IAAI;YACb,IAAI,EAAE;gBACJ,WAAW,EAAE,SAAS,CAAC,YAAY;gBACnC,SAAS,EAAE,SAAS,CAAC,UAAU;gBAC/B,SAAS,EAAE,SAAS,CAAC,UAAU;gBAC/B,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM;aAC5E;SACF,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE;YAC7C,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAa,EAAE,GAAa;IAC9D,GAAG,CAAC,IAAI,CAAC;QACP,OAAO,EAAE,IAAI;QACb,IAAI,EAAE;YACJ,MAAM,EAAE,CAAC,GAAG,sBAAsB,CAAC,gBAAgB,CAAC;SACrD;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Google Workspace API Routes
3
+ *
4
+ * Mounts workspace-related endpoints under /api/workspace/.
5
+ *
6
+ * @module controllers/workspace/workspace.routes
7
+ */
8
+ import { Router } from 'express';
9
+ /**
10
+ * Create the Workspace API router.
11
+ *
12
+ * All endpoints are protected by requireAuth middleware to ensure
13
+ * only authenticated users/agents can access Workspace tokens.
14
+ *
15
+ * @returns Express Router with workspace endpoints
16
+ */
17
+ export declare function createWorkspaceRouter(): Router;
18
+ //# sourceMappingURL=workspace.routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.routes.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/workspace/workspace.routes.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAIjC;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAU9C"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Google Workspace API Routes
3
+ *
4
+ * Mounts workspace-related endpoints under /api/workspace/.
5
+ *
6
+ * @module controllers/workspace/workspace.routes
7
+ */
8
+ import { Router } from 'express';
9
+ import { getWorkspaceToken, listWorkspaceScopes } from './workspace.controller.js';
10
+ import { requireAuth } from '../../middleware/require-auth.middleware.js';
11
+ /**
12
+ * Create the Workspace API router.
13
+ *
14
+ * All endpoints are protected by requireAuth middleware to ensure
15
+ * only authenticated users/agents can access Workspace tokens.
16
+ *
17
+ * @returns Express Router with workspace endpoints
18
+ */
19
+ export function createWorkspaceRouter() {
20
+ const router = Router();
21
+ // GET /api/workspace/token?userId=xxx — Get a fresh Google access token
22
+ router.get('/token', requireAuth, getWorkspaceToken);
23
+ // GET /api/workspace/scopes — List available Workspace scopes
24
+ router.get('/scopes', requireAuth, listWorkspaceScopes);
25
+ return router;
26
+ }
27
+ //# sourceMappingURL=workspace.routes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.routes.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/workspace/workspace.routes.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAE1E;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IAExB,wEAAwE;IACxE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;IAErD,8DAA8D;IAC9D,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,mBAAmB,CAAC,CAAC;IAExD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../backend/src/index.ts"],"names":[],"mappings":";AAyCA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AA4FjD,qBAAa,YAAY;IACxB,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAqE;IAEnF,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,gBAAgB,CAAoB;IAC5C,OAAO,CAAC,uBAAuB,CAA2B;IAC1D,OAAO,CAAC,sBAAsB,CAA0B;IACxD,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,4BAA4B,CAAgC;IACpE,OAAO,CAAC,uBAAuB,CAA2B;IAC1D,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,qBAAqB,CAAyB;IACtD,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,2BAA2B,CAA+B;IAClE,OAAO,CAAC,0BAA0B,CAA8B;IAGhE,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,wBAAwB,CAA+B;gBAEnD,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IAkD3C,OAAO,CAAC,kBAAkB;IAuH1B,OAAO,CAAC,mBAAmB;IAkC3B,OAAO,CAAC,eAAe;IAqFvB,OAAO,CAAC,kBAAkB;IAwBpB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAyW5B;;;OAGG;YACW,2BAA2B;IA4BzC;;;OAGG;YACW,8BAA8B;IAsB5C;;;OAGG;YACW,gCAAgC;IAsB9C;;;;OAIG;YACW,8BAA8B;IAoE5C;;;;;OAKG;YACW,iCAAiC;IAuF/C;;;;OAIG;YACW,2BAA2B;YA0B3B,qBAAqB;YAsBrB,eAAe;YAiCf,kBAAkB;IAgBhC,OAAO,CAAC,WAAW,CAAK;IAExB,OAAO,CAAC,sBAAsB;IAqD9B,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,cAAc;IAchB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAkL/B,SAAS,IAAI,aAAa;CAG1B;AAeD,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../backend/src/index.ts"],"names":[],"mappings":";AAyCA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AA2FjD,qBAAa,YAAY;IACxB,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAqE;IAEnF,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,gBAAgB,CAAoB;IAC5C,OAAO,CAAC,uBAAuB,CAA2B;IAC1D,OAAO,CAAC,sBAAsB,CAA0B;IACxD,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,4BAA4B,CAAgC;IACpE,OAAO,CAAC,uBAAuB,CAA2B;IAC1D,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,qBAAqB,CAAyB;IACtD,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,2BAA2B,CAA+B;IAClE,OAAO,CAAC,0BAA0B,CAA8B;IAGhE,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,wBAAwB,CAA+B;gBAEnD,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IAoD3C,OAAO,CAAC,kBAAkB;IAiH1B,OAAO,CAAC,mBAAmB;IA0C3B,OAAO,CAAC,eAAe;IAqFvB,OAAO,CAAC,kBAAkB;IAwBpB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAqZ5B;;;OAGG;YACW,2BAA2B;IA4BzC;;;OAGG;YACW,8BAA8B;IAsB5C;;;OAGG;YACW,gCAAgC;IAsB9C;;;;OAIG;YACW,8BAA8B;IA2F5C;;;;;OAKG;YACW,iCAAiC;IAqG/C;;;;OAIG;YACW,2BAA2B;YA0B3B,qBAAqB;YAsBrB,eAAe;YAiCf,kBAAkB;IAgBhC,OAAO,CAAC,WAAW,CAAK;IAExB,OAAO,CAAC,sBAAsB;IAqD9B,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,cAAc;IAchB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAqM/B,SAAS,IAAI,aAAa;CAG1B;AAeD,eAAe,YAAY,CAAC"}
@@ -39,7 +39,6 @@ import { setTeamControllerEventBusService } from './controllers/team/team.contro
39
39
  import { SkillCatalogService } from './services/skill/skill-catalog.service.js';
40
40
  import { setMessageQueueService as setChatMessageQueueService } from './controllers/chat/chat.controller.js';
41
41
  import { setMessageQueueService as setMessagingControllerQueueService } from './controllers/messaging/messaging.controller.js';
42
- import { setMessengerRouterQueueService } from './controllers/messaging/messenger.routes.js';
43
42
  import { SystemResourceAlertService } from './services/monitoring/system-resource-alert.service.js';
44
43
  import { agentHeartbeatMiddleware } from './middleware/agent-heartbeat.middleware.js';
45
44
  import { OrchestratorRestartService } from './services/orchestrator/orchestrator-restart.service.js';
@@ -141,7 +140,9 @@ export class CrewlyServer {
141
140
  this.httpServer = createServer(this.app);
142
141
  this.io = new SocketIOServer(this.httpServer, {
143
142
  cors: {
144
- origin: process.env.NODE_ENV === 'production' ? false : '*',
143
+ origin: process.env.NODE_ENV === 'production'
144
+ ? ['https://crewlyai.com', 'https://www.crewlyai.com']
145
+ : '*',
145
146
  methods: ['GET', 'POST'],
146
147
  },
147
148
  // Configure ping/pong to keep connections alive
@@ -176,16 +177,11 @@ export class CrewlyServer {
176
177
  this.schedulerService.setTaskTrackingService(this.taskTrackingService);
177
178
  this.schedulerService.setMessageQueueService(this.messageQueueService);
178
179
  this.schedulerService.setActivityMonitor(this.activityMonitorService);
180
+ // #167: Wire scheduler into agent registration for DLQ drain on activation
181
+ this.apiController.agentRegistrationService.setSchedulerService(this.schedulerService);
179
182
  this.terminalGateway = new TerminalGateway(this.io);
180
183
  // Set terminal gateway singleton for chat integration
181
184
  setTerminalGateway(this.terminalGateway);
182
- // Pre-load Gemini CLI session names so NOTIFY processing is skipped
183
- // for existing sessions before registerGeminiCliSession fires.
184
- this.terminalGateway.loadGeminiCliSessions().catch((error) => {
185
- this.logger.warn('Failed to pre-load Gemini CLI sessions', {
186
- error: error instanceof Error ? error.message : String(error),
187
- });
188
- });
189
185
  // Initialize ChatGateway for chat message forwarding
190
186
  // This sets up the event listeners that forward chat messages to WebSocket clients
191
187
  initializeChatGateway(this.io).catch((error) => {
@@ -204,7 +200,6 @@ export class CrewlyServer {
204
200
  // Wire queue service into controllers
205
201
  setChatMessageQueueService(this.messageQueueService);
206
202
  setMessagingControllerQueueService(this.messageQueueService);
207
- setMessengerRouterQueueService(this.messageQueueService);
208
203
  // Initialize system resource alert service for proactive monitoring
209
204
  this.systemResourceAlertService = new SystemResourceAlertService();
210
205
  // Initialize event bus service for agent lifecycle pub/sub
@@ -252,12 +247,20 @@ export class CrewlyServer {
252
247
  scriptSrc: ["'self'"],
253
248
  imgSrc: ["'self'", 'data:', 'https:'],
254
249
  connectSrc: ["'self'", 'ws:', 'wss:'],
250
+ // Disable upgrade-insecure-requests for HTTP-only deployments (ESTestNode)
251
+ // Without this, browsers on HTTP upgrade all asset requests to HTTPS → ERR_SSL_PROTOCOL_ERROR
252
+ upgradeInsecureRequests: null,
255
253
  },
256
254
  },
257
255
  }));
258
- // CORS
256
+ // CORS — allow Cloud Console frontend and localhost OSS instances
257
+ const CORS_ALLOWED_ORIGINS = process.env['CORS_ALLOWED_ORIGINS']
258
+ ? process.env['CORS_ALLOWED_ORIGINS'].split(',')
259
+ : ['https://crewlyai.com', 'https://www.crewlyai.com', 'http://localhost:8787', 'http://localhost:3000'];
259
260
  this.app.use(cors({
260
- origin: process.env.NODE_ENV === 'production' ? false : '*',
261
+ origin: process.env.NODE_ENV === 'production'
262
+ ? CORS_ALLOWED_ORIGINS
263
+ : '*',
261
264
  credentials: true,
262
265
  }));
263
266
  // Logging
@@ -364,6 +367,9 @@ export class CrewlyServer {
364
367
  if (!envValidation.valid) {
365
368
  throw new Error('Environment configuration validation failed — see errors above');
366
369
  }
370
+ // Initialize OpenTelemetry tracing (early, before other services)
371
+ const { TracingService } = await import('./services/core/tracing.service.js');
372
+ TracingService.getInstance().initialize();
367
373
  this.logger.info('Starting Crewly server...');
368
374
  this.logger.info('Server startup info', {
369
375
  pid: process.pid,
@@ -633,6 +639,40 @@ export class CrewlyServer {
633
639
  await this.autoStartOrchestratorIfEnabled();
634
640
  // Auto-restore agent sessions that were running before the last shutdown
635
641
  await this.autoRestoreAgentSessionsIfEnabled();
642
+ // #166: Auto-recover in-progress tasks after restart
643
+ try {
644
+ const inProgressTasks = await this.taskTrackingService.getAllInProgressTasks();
645
+ const activeTasks = inProgressTasks.filter(t => t.status === 'assigned' || t.status === 'active' || t.status === 'working');
646
+ if (activeTasks.length > 0) {
647
+ this.logger.info('Found in-progress tasks to recover after restart', {
648
+ count: activeTasks.length,
649
+ });
650
+ for (const task of activeTasks) {
651
+ try {
652
+ const recoveryMessage = `[SYSTEM — TASK RECOVERY] You were working on this task before the server restarted. Please continue:\n\nTask: ${task.taskName}\nPriority: ${task.priority || 'normal'}\nFile: ${task.taskFilePath}\n\nPlease check the current state and continue working.`;
653
+ await this.apiController.agentRegistrationService.sendMessageToAgent(task.assignedSessionName, recoveryMessage, undefined);
654
+ this.logger.info('Task recovery message sent', {
655
+ taskId: task.id,
656
+ sessionName: task.assignedSessionName,
657
+ taskName: task.taskName,
658
+ });
659
+ }
660
+ catch (err) {
661
+ // Agent might not be online yet — DLQ in scheduler will handle it
662
+ this.logger.warn('Task recovery delivery deferred (agent may not be online yet)', {
663
+ taskId: task.id,
664
+ sessionName: task.assignedSessionName,
665
+ error: err instanceof Error ? err.message : String(err),
666
+ });
667
+ }
668
+ }
669
+ }
670
+ }
671
+ catch (err) {
672
+ this.logger.warn('Task auto-recovery failed (non-critical)', {
673
+ error: err instanceof Error ? err.message : String(err),
674
+ });
675
+ }
636
676
  // Start log rotation service (non-critical — logs cleanup)
637
677
  try {
638
678
  const logRotation = LogRotationService.getInstance();
@@ -649,10 +689,11 @@ export class CrewlyServer {
649
689
  // Start AuditorSchedulerService (non-critical — audit scheduling)
650
690
  try {
651
691
  const auditorScheduler = AuditorSchedulerService.getInstance();
692
+ auditorScheduler.setAgentRegistrationService(this.apiController.agentRegistrationService);
652
693
  auditorScheduler.setEventBusService(this.eventBusService);
653
694
  setAuditorSchedulerService(auditorScheduler);
654
695
  auditorScheduler.start();
655
- this.logger.info('AuditorSchedulerService started');
696
+ this.logger.info('AuditorSchedulerService started (Claude Code PTY mode)');
656
697
  }
657
698
  catch (error) {
658
699
  this.logger.warn('Failed to start AuditorSchedulerService (non-critical)', {
@@ -771,8 +812,10 @@ export class CrewlyServer {
771
812
  return;
772
813
  }
773
814
  this.logger.info('Auto-start orchestrator is enabled, starting orchestrator...');
774
- // Determine runtime type from orchestrator status
815
+ // Determine runtime type: env var OVERRIDES stored status > default (claude-code)
816
+ // DEFAULT_RUNTIME env var is the authoritative config for Docker/headless deployments.
775
817
  let runtimeType = RUNTIME_TYPES.CLAUDE_CODE;
818
+ // Step 1: Check stored orchestrator status (user changed via UI in previous session)
776
819
  try {
777
820
  const orchestratorStatus = await this.storageService.getOrchestratorStatus();
778
821
  if (orchestratorStatus?.runtimeType) {
@@ -782,6 +825,25 @@ export class CrewlyServer {
782
825
  catch {
783
826
  // Use default runtime type
784
827
  }
828
+ // Step 2: DEFAULT_RUNTIME env var OVERRIDES stored status (product-level config)
829
+ // This ensures Docker/headless deployments always use the configured runtime
830
+ // regardless of what was stored from a previous (possibly different) deployment.
831
+ const envRuntime = process.env.DEFAULT_RUNTIME;
832
+ if (envRuntime && Object.values(RUNTIME_TYPES).includes(envRuntime)) {
833
+ const previousRuntime = runtimeType;
834
+ runtimeType = envRuntime;
835
+ this.logger.info('DEFAULT_RUNTIME env overrides stored runtime', { runtimeType, previousRuntime });
836
+ // #183: Persist the override so stored status stays in sync
837
+ if (previousRuntime !== runtimeType) {
838
+ try {
839
+ await this.storageService.updateOrchestratorRuntimeType(runtimeType);
840
+ this.logger.info('Synced orchestrator runtime to storage', { runtimeType });
841
+ }
842
+ catch {
843
+ this.logger.warn('Failed to sync orchestrator runtime to storage');
844
+ }
845
+ }
846
+ }
785
847
  // Create orchestrator agent session
786
848
  const result = await this.apiController.agentRegistrationService.createAgentSession({
787
849
  sessionName: ORCHESTRATOR_SESSION_NAME,
@@ -852,7 +914,18 @@ export class CrewlyServer {
852
914
  });
853
915
  let restored = 0;
854
916
  const failed = [];
855
- for (const session of agentSessions) {
917
+ const RESTORE_DELAY_MS = 10_000; // 10 seconds between each session restore to avoid resource pressure
918
+ for (let i = 0; i < agentSessions.length; i++) {
919
+ const session = agentSessions[i];
920
+ // Wait between session restores to avoid SIGTERM from resource pressure
921
+ if (i > 0) {
922
+ this.logger.info('Waiting before restoring next session to avoid resource pressure', {
923
+ delayMs: RESTORE_DELAY_MS,
924
+ nextSession: session.name,
925
+ progress: `${i}/${agentSessions.length}`,
926
+ });
927
+ await new Promise((resolve) => setTimeout(resolve, RESTORE_DELAY_MS));
928
+ }
856
929
  try {
857
930
  const result = await this.apiController.agentRegistrationService.createAgentSession({
858
931
  sessionName: session.name,
@@ -869,6 +942,7 @@ export class CrewlyServer {
869
942
  name: session.name,
870
943
  role: session.role,
871
944
  runtimeType: session.runtimeType,
945
+ progress: `${restored}/${agentSessions.length}`,
872
946
  });
873
947
  }
874
948
  else {
@@ -1081,6 +1155,17 @@ export class CrewlyServer {
1081
1155
  clearInterval(this.healthMonitoringInterval);
1082
1156
  this.healthMonitoringInterval = null;
1083
1157
  }
1158
+ // Generate session handoff summary before killing processes
1159
+ // This captures active thread state and agent status for restart recovery
1160
+ try {
1161
+ const { SessionHandoffService } = await import('./services/session/session-handoff.service.js');
1162
+ await SessionHandoffService.getInstance().generateSummary(this.storageService);
1163
+ }
1164
+ catch (error) {
1165
+ this.logger.warn('Failed to generate session handoff summary', {
1166
+ error: error instanceof Error ? error.message : String(error),
1167
+ });
1168
+ }
1084
1169
  // Save PTY session state and force-kill all child processes
1085
1170
  this.logger.info('Saving PTY session state and force-killing child processes...');
1086
1171
  try {
@@ -1164,6 +1249,14 @@ export class CrewlyServer {
1164
1249
  LogRotationService.getInstance().stop();
1165
1250
  // Stop auditor scheduler
1166
1251
  AuditorSchedulerService.getInstance().stop();
1252
+ // Flush and shutdown OpenTelemetry tracing
1253
+ try {
1254
+ const { TracingService: TracingSvc } = await import('./services/core/tracing.service.js');
1255
+ await TracingSvc.getInstance().shutdown();
1256
+ }
1257
+ catch {
1258
+ // Ignore if not initialized
1259
+ }
1167
1260
  // Clean up tmux service resources
1168
1261
  this.tmuxService.destroy();
1169
1262
  // Stop Slack image cleanup timer