crewly 1.2.3 → 1.2.6

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 (735) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +1 -1
  3. package/config/constants.ts +48 -3
  4. package/config/index.ts +4 -0
  5. package/config/roles/auditor/prompt.md +84 -0
  6. package/config/roles/orchestrator/prompt.md +92 -9
  7. package/config/roles/team-leader/prompt.md +169 -0
  8. package/config/roles/team-leader/role.json +13 -0
  9. package/config/roles/team-leader/tl-addon.md +142 -0
  10. package/config/runtime_scripts/runtime-config.json +7 -0
  11. package/config/skills/_common/lib.sh +37 -0
  12. package/config/skills/agent/computer-use/execute.sh +228 -0
  13. package/config/skills/agent/computer-use/instructions.md +103 -0
  14. package/config/skills/agent/computer-use/lib/accessibility.sh +292 -0
  15. package/config/skills/agent/computer-use/lib/applescript.sh +117 -0
  16. package/config/skills/agent/computer-use/lib/discover.sh +122 -0
  17. package/config/skills/agent/computer-use/lib/playwright.sh +153 -0
  18. package/config/skills/agent/computer-use/lib/screenshot.sh +61 -0
  19. package/config/skills/agent/computer-use/skill.json +29 -0
  20. package/config/skills/agent/core/accept-task/execute.sh +7 -1
  21. package/config/skills/agent/core/complete-task/execute.sh +38 -1
  22. package/config/skills/agent/core/report-status/execute.sh +51 -2
  23. package/config/skills/agent/desktop-app-control/execute.sh +561 -0
  24. package/config/skills/agent/desktop-app-control/instructions.md +102 -0
  25. package/config/skills/agent/desktop-app-control/skill.json +33 -0
  26. package/config/skills/orchestrator/broadcast-to-org/execute.sh +88 -0
  27. package/config/skills/orchestrator/broadcast-to-org/instructions.md +51 -0
  28. package/config/skills/orchestrator/broadcast-to-org/skill.json +20 -0
  29. package/config/skills/orchestrator/cancel-all-schedules/execute.sh +24 -0
  30. package/config/skills/orchestrator/cancel-all-schedules/instructions.md +23 -0
  31. package/config/skills/orchestrator/cancel-all-schedules/skill.json +17 -0
  32. package/config/skills/orchestrator/delegate-task/execute.sh +75 -10
  33. package/config/skills/orchestrator/delegate-task/instructions.md +11 -1
  34. package/config/skills/orchestrator/handle-agent-failure/execute.sh +45 -0
  35. package/config/skills/orchestrator/handle-agent-failure/instructions.md +29 -0
  36. package/config/skills/orchestrator/handle-agent-failure/skill.json +20 -0
  37. package/config/skills/orchestrator/list-schedules/execute.sh +19 -0
  38. package/config/skills/orchestrator/list-schedules/instructions.md +24 -0
  39. package/config/skills/orchestrator/list-schedules/skill.json +12 -0
  40. package/config/skills/orchestrator/restart-crewly/instructions.md +9 -2
  41. package/config/skills/team-leader/_common/lib.sh +4 -0
  42. package/config/skills/team-leader/aggregate-results/execute.sh +168 -0
  43. package/config/skills/team-leader/aggregate-results/instructions.md +89 -0
  44. package/config/skills/team-leader/aggregate-results/skill.json +20 -0
  45. package/config/skills/team-leader/decompose-goal/execute.sh +86 -0
  46. package/config/skills/team-leader/decompose-goal/instructions.md +84 -0
  47. package/config/skills/team-leader/decompose-goal/skill.json +20 -0
  48. package/config/skills/team-leader/delegate-task/execute.sh +142 -0
  49. package/config/skills/team-leader/delegate-task/instructions.md +55 -0
  50. package/config/skills/team-leader/delegate-task/skill.json +20 -0
  51. package/config/skills/team-leader/handle-failure/execute.sh +119 -0
  52. package/config/skills/team-leader/handle-failure/instructions.md +93 -0
  53. package/config/skills/team-leader/handle-failure/skill.json +20 -0
  54. package/config/skills/team-leader/schedule-check/execute.sh +65 -0
  55. package/config/skills/team-leader/schedule-check/execute.test.sh +247 -0
  56. package/config/skills/team-leader/schedule-check/instructions.md +49 -0
  57. package/config/skills/team-leader/schedule-check/skill.json +20 -0
  58. package/config/skills/team-leader/start-agent/execute.sh +39 -0
  59. package/config/skills/team-leader/start-agent/instructions.md +48 -0
  60. package/config/skills/team-leader/start-agent/skill.json +20 -0
  61. package/config/skills/team-leader/stop-agent/execute.sh +39 -0
  62. package/config/skills/team-leader/stop-agent/instructions.md +49 -0
  63. package/config/skills/team-leader/stop-agent/skill.json +20 -0
  64. package/config/skills/team-leader/verify-output/execute.sh +296 -0
  65. package/config/skills/team-leader/verify-output/instructions.md +122 -0
  66. package/config/skills/team-leader/verify-output/skill.json +20 -0
  67. package/config/templates/core-team/demo-script.md +41 -0
  68. package/config/templates/core-team/goals.md +20 -0
  69. package/config/templates/core-team/team.json +22 -0
  70. package/config/templates/dev-fullstack/template.json +115 -0
  71. package/config/templates/education-smb/README.md +27 -0
  72. package/config/templates/education-smb/goals.md +16 -0
  73. package/config/templates/education-smb/knowledge/docs/content-standards.md +24 -0
  74. package/config/templates/education-smb/knowledge/docs/education-industry-context.md +13 -0
  75. package/config/templates/education-smb/knowledge/index.json +24 -0
  76. package/config/templates/education-smb/learned-patterns.json +16 -0
  77. package/config/templates/education-smb/quality-gates.yaml +66 -0
  78. package/config/templates/education-smb/roles/analytics-specialist.md +6 -0
  79. package/config/templates/education-smb/roles/content-creator.md +6 -0
  80. package/config/templates/education-smb/roles/curriculum-designer.md +6 -0
  81. package/config/templates/education-smb/roles/engagement-manager.md +6 -0
  82. package/config/templates/education-smb/team.json +40 -0
  83. package/config/templates/education-smb/template.json +26 -0
  84. package/config/templates/education-smb/workflows/course-content-generation.yaml +44 -0
  85. package/config/templates/education-smb/workflows/reporting.yaml +31 -0
  86. package/config/templates/education-smb/workflows/student-communication.yaml +44 -0
  87. package/config/templates/education-smb/workflows.yaml +40 -0
  88. package/config/templates/insurance-smb/README.md +28 -0
  89. package/config/templates/insurance-smb/goals.md +21 -0
  90. package/config/templates/insurance-smb/knowledge/docs/compliance-checklist.md +28 -0
  91. package/config/templates/insurance-smb/knowledge/docs/insurance-industry-context.md +23 -0
  92. package/config/templates/insurance-smb/knowledge/index.json +24 -0
  93. package/config/templates/insurance-smb/learned-patterns.json +16 -0
  94. package/config/templates/insurance-smb/quality-gates.yaml +54 -0
  95. package/config/templates/insurance-smb/roles/claims-processor.md +6 -0
  96. package/config/templates/insurance-smb/roles/client-manager.md +6 -0
  97. package/config/templates/insurance-smb/roles/compliance-officer.md +6 -0
  98. package/config/templates/insurance-smb/roles/marketing-specialist.md +6 -0
  99. package/config/templates/insurance-smb/roles/policy-analyst.md +6 -0
  100. package/config/templates/insurance-smb/team.json +48 -0
  101. package/config/templates/insurance-smb/template.json +26 -0
  102. package/config/templates/insurance-smb/workflows/claims-processing.yaml +48 -0
  103. package/config/templates/insurance-smb/workflows.yaml +43 -0
  104. package/config/templates/research-analysis/template.json +88 -0
  105. package/config/templates/social-media-ops/template.json +85 -0
  106. package/config/templates/video-production/template.json +123 -0
  107. package/dist/backend/backend/src/constants.d.ts +344 -16
  108. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  109. package/dist/backend/backend/src/constants.js +334 -15
  110. package/dist/backend/backend/src/constants.js.map +1 -1
  111. package/dist/backend/backend/src/controllers/auditor/auditor.controller.d.ts +37 -0
  112. package/dist/backend/backend/src/controllers/auditor/auditor.controller.d.ts.map +1 -0
  113. package/dist/backend/backend/src/controllers/auditor/auditor.controller.js +64 -0
  114. package/dist/backend/backend/src/controllers/auditor/auditor.controller.js.map +1 -0
  115. package/dist/backend/backend/src/controllers/auditor/auditor.routes.d.ts +15 -0
  116. package/dist/backend/backend/src/controllers/auditor/auditor.routes.d.ts.map +1 -0
  117. package/dist/backend/backend/src/controllers/auditor/auditor.routes.js +23 -0
  118. package/dist/backend/backend/src/controllers/auditor/auditor.routes.js.map +1 -0
  119. package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts.map +1 -1
  120. package/dist/backend/backend/src/controllers/chat/chat.controller.js +69 -48
  121. package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
  122. package/dist/backend/backend/src/controllers/cloud/admin/admin-auth.middleware.d.ts +23 -0
  123. package/dist/backend/backend/src/controllers/cloud/admin/admin-auth.middleware.d.ts.map +1 -0
  124. package/dist/backend/backend/src/controllers/cloud/admin/admin-auth.middleware.js +42 -0
  125. package/dist/backend/backend/src/controllers/cloud/admin/admin-auth.middleware.js.map +1 -0
  126. package/dist/backend/backend/src/controllers/cloud/admin/admin.controller.d.ts +56 -0
  127. package/dist/backend/backend/src/controllers/cloud/admin/admin.controller.d.ts.map +1 -0
  128. package/dist/backend/backend/src/controllers/cloud/admin/admin.controller.js +173 -0
  129. package/dist/backend/backend/src/controllers/cloud/admin/admin.controller.js.map +1 -0
  130. package/dist/backend/backend/src/controllers/cloud/admin/admin.routes.d.ts +22 -0
  131. package/dist/backend/backend/src/controllers/cloud/admin/admin.routes.d.ts.map +1 -0
  132. package/dist/backend/backend/src/controllers/cloud/admin/admin.routes.js +33 -0
  133. package/dist/backend/backend/src/controllers/cloud/admin/admin.routes.js.map +1 -0
  134. package/dist/backend/backend/src/controllers/cloud/admin/index.d.ts +7 -0
  135. package/dist/backend/backend/src/controllers/cloud/admin/index.d.ts.map +1 -0
  136. package/dist/backend/backend/src/controllers/cloud/admin/index.js +7 -0
  137. package/dist/backend/backend/src/controllers/cloud/admin/index.js.map +1 -0
  138. package/dist/backend/backend/src/controllers/cloud/auth/auth.controller.d.ts +81 -0
  139. package/dist/backend/backend/src/controllers/cloud/auth/auth.controller.d.ts.map +1 -0
  140. package/dist/backend/backend/src/controllers/cloud/auth/auth.controller.js +234 -0
  141. package/dist/backend/backend/src/controllers/cloud/auth/auth.controller.js.map +1 -0
  142. package/dist/backend/backend/src/controllers/cloud/auth/auth.routes.d.ts +25 -0
  143. package/dist/backend/backend/src/controllers/cloud/auth/auth.routes.d.ts.map +1 -0
  144. package/dist/backend/backend/src/controllers/cloud/auth/auth.routes.js +38 -0
  145. package/dist/backend/backend/src/controllers/cloud/auth/auth.routes.js.map +1 -0
  146. package/dist/backend/backend/src/controllers/cloud/cloud-auth.controller.d.ts +69 -0
  147. package/dist/backend/backend/src/controllers/cloud/cloud-auth.controller.d.ts.map +1 -0
  148. package/dist/backend/backend/src/controllers/cloud/cloud-auth.controller.js +165 -0
  149. package/dist/backend/backend/src/controllers/cloud/cloud-auth.controller.js.map +1 -0
  150. package/dist/backend/backend/src/controllers/cloud/cloud-auth.routes.d.ts +23 -0
  151. package/dist/backend/backend/src/controllers/cloud/cloud-auth.routes.d.ts.map +1 -0
  152. package/dist/backend/backend/src/controllers/cloud/cloud-auth.routes.js +32 -0
  153. package/dist/backend/backend/src/controllers/cloud/cloud-auth.routes.js.map +1 -0
  154. package/dist/backend/backend/src/controllers/cloud/cloud.controller.d.ts +52 -0
  155. package/dist/backend/backend/src/controllers/cloud/cloud.controller.d.ts.map +1 -0
  156. package/dist/backend/backend/src/controllers/cloud/cloud.controller.js +122 -0
  157. package/dist/backend/backend/src/controllers/cloud/cloud.controller.js.map +1 -0
  158. package/dist/backend/backend/src/controllers/cloud/cloud.routes.d.ts +21 -0
  159. package/dist/backend/backend/src/controllers/cloud/cloud.routes.d.ts.map +1 -0
  160. package/dist/backend/backend/src/controllers/cloud/cloud.routes.js +29 -0
  161. package/dist/backend/backend/src/controllers/cloud/cloud.routes.js.map +1 -0
  162. package/dist/backend/backend/src/controllers/cloud/files/cloud-file.controller.d.ts +42 -0
  163. package/dist/backend/backend/src/controllers/cloud/files/cloud-file.controller.d.ts.map +1 -0
  164. package/dist/backend/backend/src/controllers/cloud/files/cloud-file.controller.js +138 -0
  165. package/dist/backend/backend/src/controllers/cloud/files/cloud-file.controller.js.map +1 -0
  166. package/dist/backend/backend/src/controllers/cloud/files/cloud-file.routes.d.ts +23 -0
  167. package/dist/backend/backend/src/controllers/cloud/files/cloud-file.routes.d.ts.map +1 -0
  168. package/dist/backend/backend/src/controllers/cloud/files/cloud-file.routes.js +34 -0
  169. package/dist/backend/backend/src/controllers/cloud/files/cloud-file.routes.js.map +1 -0
  170. package/dist/backend/backend/src/controllers/cloud/files/cloud-file.types.d.ts +43 -0
  171. package/dist/backend/backend/src/controllers/cloud/files/cloud-file.types.d.ts.map +1 -0
  172. package/dist/backend/backend/src/controllers/cloud/files/cloud-file.types.js +9 -0
  173. package/dist/backend/backend/src/controllers/cloud/files/cloud-file.types.js.map +1 -0
  174. package/dist/backend/backend/src/controllers/cloud/files/index.d.ts +7 -0
  175. package/dist/backend/backend/src/controllers/cloud/files/index.d.ts.map +1 -0
  176. package/dist/backend/backend/src/controllers/cloud/files/index.js +7 -0
  177. package/dist/backend/backend/src/controllers/cloud/files/index.js.map +1 -0
  178. package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.controller.d.ts +47 -0
  179. package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.controller.d.ts.map +1 -0
  180. package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.controller.js +131 -0
  181. package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.controller.js.map +1 -0
  182. package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.routes.d.ts +23 -0
  183. package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.routes.d.ts.map +1 -0
  184. package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.routes.js +30 -0
  185. package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.routes.js.map +1 -0
  186. package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.types.d.ts +81 -0
  187. package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.types.d.ts.map +1 -0
  188. package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.types.js +85 -0
  189. package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.types.js.map +1 -0
  190. package/dist/backend/backend/src/controllers/cloud/h5/index.d.ts +7 -0
  191. package/dist/backend/backend/src/controllers/cloud/h5/index.d.ts.map +1 -0
  192. package/dist/backend/backend/src/controllers/cloud/h5/index.js +7 -0
  193. package/dist/backend/backend/src/controllers/cloud/h5/index.js.map +1 -0
  194. package/dist/backend/backend/src/controllers/cloud/index.d.ts +9 -0
  195. package/dist/backend/backend/src/controllers/cloud/index.d.ts.map +1 -0
  196. package/dist/backend/backend/src/controllers/cloud/index.js +9 -0
  197. package/dist/backend/backend/src/controllers/cloud/index.js.map +1 -0
  198. package/dist/backend/backend/src/controllers/cloud/magic-moment/index.d.ts +7 -0
  199. package/dist/backend/backend/src/controllers/cloud/magic-moment/index.d.ts.map +1 -0
  200. package/dist/backend/backend/src/controllers/cloud/magic-moment/index.js +7 -0
  201. package/dist/backend/backend/src/controllers/cloud/magic-moment/index.js.map +1 -0
  202. package/dist/backend/backend/src/controllers/cloud/magic-moment/magic-moment.controller.d.ts +45 -0
  203. package/dist/backend/backend/src/controllers/cloud/magic-moment/magic-moment.controller.d.ts.map +1 -0
  204. package/dist/backend/backend/src/controllers/cloud/magic-moment/magic-moment.controller.js +155 -0
  205. package/dist/backend/backend/src/controllers/cloud/magic-moment/magic-moment.controller.js.map +1 -0
  206. package/dist/backend/backend/src/controllers/cloud/magic-moment/magic-moment.routes.d.ts +25 -0
  207. package/dist/backend/backend/src/controllers/cloud/magic-moment/magic-moment.routes.d.ts.map +1 -0
  208. package/dist/backend/backend/src/controllers/cloud/magic-moment/magic-moment.routes.js +32 -0
  209. package/dist/backend/backend/src/controllers/cloud/magic-moment/magic-moment.routes.js.map +1 -0
  210. package/dist/backend/backend/src/controllers/cloud/relay.controller.d.ts +62 -0
  211. package/dist/backend/backend/src/controllers/cloud/relay.controller.d.ts.map +1 -0
  212. package/dist/backend/backend/src/controllers/cloud/relay.controller.js +184 -0
  213. package/dist/backend/backend/src/controllers/cloud/relay.controller.js.map +1 -0
  214. package/dist/backend/backend/src/controllers/cloud/relay.routes.d.ts +25 -0
  215. package/dist/backend/backend/src/controllers/cloud/relay.routes.d.ts.map +1 -0
  216. package/dist/backend/backend/src/controllers/cloud/relay.routes.js +34 -0
  217. package/dist/backend/backend/src/controllers/cloud/relay.routes.js.map +1 -0
  218. package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.controller.d.ts +49 -0
  219. package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.controller.d.ts.map +1 -0
  220. package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.controller.js +152 -0
  221. package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.controller.js.map +1 -0
  222. package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.routes.d.ts +24 -0
  223. package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.routes.d.ts.map +1 -0
  224. package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.routes.js +34 -0
  225. package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.routes.js.map +1 -0
  226. package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.types.d.ts +90 -0
  227. package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.types.d.ts.map +1 -0
  228. package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.types.js +48 -0
  229. package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.types.js.map +1 -0
  230. package/dist/backend/backend/src/controllers/cloud/tasks/index.d.ts +10 -0
  231. package/dist/backend/backend/src/controllers/cloud/tasks/index.d.ts.map +1 -0
  232. package/dist/backend/backend/src/controllers/cloud/tasks/index.js +10 -0
  233. package/dist/backend/backend/src/controllers/cloud/tasks/index.js.map +1 -0
  234. package/dist/backend/backend/src/controllers/marketplace/index.d.ts +2 -0
  235. package/dist/backend/backend/src/controllers/marketplace/index.d.ts.map +1 -1
  236. package/dist/backend/backend/src/controllers/marketplace/index.js +3 -0
  237. package/dist/backend/backend/src/controllers/marketplace/index.js.map +1 -1
  238. package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.d.ts +12 -12
  239. package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.d.ts.map +1 -1
  240. package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.js +1 -18
  241. package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.js.map +1 -1
  242. package/dist/backend/backend/src/controllers/marketplace/marketplace.routes.d.ts.map +1 -1
  243. package/dist/backend/backend/src/controllers/marketplace/marketplace.routes.js +3 -0
  244. package/dist/backend/backend/src/controllers/marketplace/marketplace.routes.js.map +1 -1
  245. package/dist/backend/backend/src/controllers/marketplace/template-marketplace.controller.d.ts +111 -0
  246. package/dist/backend/backend/src/controllers/marketplace/template-marketplace.controller.d.ts.map +1 -0
  247. package/dist/backend/backend/src/controllers/marketplace/template-marketplace.controller.js +220 -0
  248. package/dist/backend/backend/src/controllers/marketplace/template-marketplace.controller.js.map +1 -0
  249. package/dist/backend/backend/src/controllers/marketplace/template-marketplace.routes.d.ts +37 -0
  250. package/dist/backend/backend/src/controllers/marketplace/template-marketplace.routes.d.ts.map +1 -0
  251. package/dist/backend/backend/src/controllers/marketplace/template-marketplace.routes.js +54 -0
  252. package/dist/backend/backend/src/controllers/marketplace/template-marketplace.routes.js.map +1 -0
  253. package/dist/backend/backend/src/controllers/messaging/messenger.routes.d.ts.map +1 -1
  254. package/dist/backend/backend/src/controllers/messaging/messenger.routes.js +4 -1
  255. package/dist/backend/backend/src/controllers/messaging/messenger.routes.js.map +1 -1
  256. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts.map +1 -1
  257. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js +50 -6
  258. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js.map +1 -1
  259. package/dist/backend/backend/src/controllers/payment/index.d.ts +7 -0
  260. package/dist/backend/backend/src/controllers/payment/index.d.ts.map +1 -0
  261. package/dist/backend/backend/src/controllers/payment/index.js +7 -0
  262. package/dist/backend/backend/src/controllers/payment/index.js.map +1 -0
  263. package/dist/backend/backend/src/controllers/payment/payment.controller.d.ts +68 -0
  264. package/dist/backend/backend/src/controllers/payment/payment.controller.d.ts.map +1 -0
  265. package/dist/backend/backend/src/controllers/payment/payment.controller.js +136 -0
  266. package/dist/backend/backend/src/controllers/payment/payment.controller.js.map +1 -0
  267. package/dist/backend/backend/src/controllers/payment/payment.routes.d.ts +31 -0
  268. package/dist/backend/backend/src/controllers/payment/payment.routes.d.ts.map +1 -0
  269. package/dist/backend/backend/src/controllers/payment/payment.routes.js +52 -0
  270. package/dist/backend/backend/src/controllers/payment/payment.routes.js.map +1 -0
  271. package/dist/backend/backend/src/controllers/payment/payment.types.d.ts +109 -0
  272. package/dist/backend/backend/src/controllers/payment/payment.types.d.ts.map +1 -0
  273. package/dist/backend/backend/src/controllers/payment/payment.types.js +54 -0
  274. package/dist/backend/backend/src/controllers/payment/payment.types.js.map +1 -0
  275. package/dist/backend/backend/src/controllers/request-types.d.ts +34 -5
  276. package/dist/backend/backend/src/controllers/request-types.d.ts.map +1 -1
  277. package/dist/backend/backend/src/controllers/session/session.controller.d.ts +14 -0
  278. package/dist/backend/backend/src/controllers/session/session.controller.d.ts.map +1 -1
  279. package/dist/backend/backend/src/controllers/session/session.controller.js +48 -0
  280. package/dist/backend/backend/src/controllers/session/session.controller.js.map +1 -1
  281. package/dist/backend/backend/src/controllers/session/session.routes.d.ts.map +1 -1
  282. package/dist/backend/backend/src/controllers/session/session.routes.js +3 -1
  283. package/dist/backend/backend/src/controllers/session/session.routes.js.map +1 -1
  284. package/dist/backend/backend/src/controllers/system/scheduler.controller.d.ts +19 -0
  285. package/dist/backend/backend/src/controllers/system/scheduler.controller.d.ts.map +1 -1
  286. package/dist/backend/backend/src/controllers/system/scheduler.controller.js +55 -3
  287. package/dist/backend/backend/src/controllers/system/scheduler.controller.js.map +1 -1
  288. package/dist/backend/backend/src/controllers/system/system.controller.d.ts.map +1 -1
  289. package/dist/backend/backend/src/controllers/system/system.controller.js +13 -15
  290. package/dist/backend/backend/src/controllers/system/system.controller.js.map +1 -1
  291. package/dist/backend/backend/src/controllers/task-management/assignments.controller.d.ts.map +1 -1
  292. package/dist/backend/backend/src/controllers/task-management/assignments.controller.js.map +1 -1
  293. package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts.map +1 -1
  294. package/dist/backend/backend/src/controllers/task-management/task-management.controller.js +40 -4
  295. package/dist/backend/backend/src/controllers/task-management/task-management.controller.js.map +1 -1
  296. package/dist/backend/backend/src/controllers/task-management/tasks.controller.js.map +1 -1
  297. package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
  298. package/dist/backend/backend/src/controllers/team/team.controller.js +272 -18
  299. package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
  300. package/dist/backend/backend/src/controllers/template/index.d.ts +8 -0
  301. package/dist/backend/backend/src/controllers/template/index.d.ts.map +1 -0
  302. package/dist/backend/backend/src/controllers/template/index.js +8 -0
  303. package/dist/backend/backend/src/controllers/template/index.js.map +1 -0
  304. package/dist/backend/backend/src/controllers/template/template.controller.d.ts +63 -0
  305. package/dist/backend/backend/src/controllers/template/template.controller.d.ts.map +1 -0
  306. package/dist/backend/backend/src/controllers/template/template.controller.js +112 -0
  307. package/dist/backend/backend/src/controllers/template/template.controller.js.map +1 -0
  308. package/dist/backend/backend/src/controllers/template/template.routes.d.ts +24 -0
  309. package/dist/backend/backend/src/controllers/template/template.routes.d.ts.map +1 -0
  310. package/dist/backend/backend/src/controllers/template/template.routes.js +33 -0
  311. package/dist/backend/backend/src/controllers/template/template.routes.js.map +1 -0
  312. package/dist/backend/backend/src/index.d.ts.map +1 -1
  313. package/dist/backend/backend/src/index.js +106 -13
  314. package/dist/backend/backend/src/index.js.map +1 -1
  315. package/dist/backend/backend/src/middleware/agent-heartbeat.middleware.js +3 -3
  316. package/dist/backend/backend/src/middleware/agent-heartbeat.middleware.js.map +1 -1
  317. package/dist/backend/backend/src/models/Team.d.ts +5 -0
  318. package/dist/backend/backend/src/models/Team.d.ts.map +1 -1
  319. package/dist/backend/backend/src/models/Team.js +24 -0
  320. package/dist/backend/backend/src/models/Team.js.map +1 -1
  321. package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
  322. package/dist/backend/backend/src/routes/api.routes.js +13 -0
  323. package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
  324. package/dist/backend/backend/src/routes/modules/log-rotation.routes.d.ts +8 -0
  325. package/dist/backend/backend/src/routes/modules/log-rotation.routes.d.ts.map +1 -0
  326. package/dist/backend/backend/src/routes/modules/log-rotation.routes.js +62 -0
  327. package/dist/backend/backend/src/routes/modules/log-rotation.routes.js.map +1 -0
  328. package/dist/backend/backend/src/routes/modules/scheduler.routes.d.ts.map +1 -1
  329. package/dist/backend/backend/src/routes/modules/scheduler.routes.js +2 -0
  330. package/dist/backend/backend/src/routes/modules/scheduler.routes.js.map +1 -1
  331. package/dist/backend/backend/src/scripts/run-log-rotation.d.ts +3 -0
  332. package/dist/backend/backend/src/scripts/run-log-rotation.d.ts.map +1 -0
  333. package/dist/backend/backend/src/scripts/run-log-rotation.js +31 -0
  334. package/dist/backend/backend/src/scripts/run-log-rotation.js.map +1 -0
  335. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +11 -6
  336. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  337. package/dist/backend/backend/src/services/agent/agent-registration.service.js +296 -288
  338. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  339. package/dist/backend/backend/src/services/agent/auditor-scheduler.service.d.ts +150 -0
  340. package/dist/backend/backend/src/services/agent/auditor-scheduler.service.d.ts.map +1 -0
  341. package/dist/backend/backend/src/services/agent/auditor-scheduler.service.js +307 -0
  342. package/dist/backend/backend/src/services/agent/auditor-scheduler.service.js.map +1 -0
  343. package/dist/backend/backend/src/services/agent/claude-runtime.service.d.ts +7 -1
  344. package/dist/backend/backend/src/services/agent/claude-runtime.service.d.ts.map +1 -1
  345. package/dist/backend/backend/src/services/agent/claude-runtime.service.js +11 -2
  346. package/dist/backend/backend/src/services/agent/claude-runtime.service.js.map +1 -1
  347. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts +105 -0
  348. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts.map +1 -0
  349. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js +199 -0
  350. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js.map +1 -0
  351. package/dist/backend/backend/src/services/agent/crewly-agent/api-client.d.ts +68 -0
  352. package/dist/backend/backend/src/services/agent/crewly-agent/api-client.d.ts.map +1 -0
  353. package/dist/backend/backend/src/services/agent/crewly-agent/api-client.js +131 -0
  354. package/dist/backend/backend/src/services/agent/crewly-agent/api-client.js.map +1 -0
  355. package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.d.ts +29 -0
  356. package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.d.ts.map +1 -0
  357. package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.js +229 -0
  358. package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.js.map +1 -0
  359. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.d.ts +127 -0
  360. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.d.ts.map +1 -0
  361. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js +242 -0
  362. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js.map +1 -0
  363. package/dist/backend/backend/src/services/agent/crewly-agent/in-process-log-buffer.d.ts +95 -0
  364. package/dist/backend/backend/src/services/agent/crewly-agent/in-process-log-buffer.d.ts.map +1 -0
  365. package/dist/backend/backend/src/services/agent/crewly-agent/in-process-log-buffer.js +130 -0
  366. package/dist/backend/backend/src/services/agent/crewly-agent/in-process-log-buffer.js.map +1 -0
  367. package/dist/backend/backend/src/services/agent/crewly-agent/index.d.ts +14 -0
  368. package/dist/backend/backend/src/services/agent/crewly-agent/index.d.ts.map +1 -0
  369. package/dist/backend/backend/src/services/agent/crewly-agent/index.js +14 -0
  370. package/dist/backend/backend/src/services/agent/crewly-agent/index.js.map +1 -0
  371. package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.d.ts +57 -0
  372. package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.d.ts.map +1 -0
  373. package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.js +93 -0
  374. package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.js.map +1 -0
  375. package/dist/backend/backend/src/services/agent/crewly-agent/smoke-test.d.ts +13 -0
  376. package/dist/backend/backend/src/services/agent/crewly-agent/smoke-test.d.ts.map +1 -0
  377. package/dist/backend/backend/src/services/agent/crewly-agent/smoke-test.js +91 -0
  378. package/dist/backend/backend/src/services/agent/crewly-agent/smoke-test.js.map +1 -0
  379. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.d.ts +29 -0
  380. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.d.ts.map +1 -0
  381. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js +519 -0
  382. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js.map +1 -0
  383. package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts +159 -0
  384. package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts.map +1 -0
  385. package/dist/backend/backend/src/services/agent/crewly-agent/types.js +63 -0
  386. package/dist/backend/backend/src/services/agent/crewly-agent/types.js.map +1 -0
  387. package/dist/backend/backend/src/services/agent/gemini-runtime.service.d.ts +1 -0
  388. package/dist/backend/backend/src/services/agent/gemini-runtime.service.d.ts.map +1 -1
  389. package/dist/backend/backend/src/services/agent/gemini-runtime.service.js +30 -43
  390. package/dist/backend/backend/src/services/agent/gemini-runtime.service.js.map +1 -1
  391. package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.d.ts +216 -0
  392. package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.d.ts.map +1 -0
  393. package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.js +496 -0
  394. package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.js.map +1 -0
  395. package/dist/backend/backend/src/services/agent/openhands-runtime.service.d.ts +70 -0
  396. package/dist/backend/backend/src/services/agent/openhands-runtime.service.d.ts.map +1 -0
  397. package/dist/backend/backend/src/services/agent/openhands-runtime.service.js +131 -0
  398. package/dist/backend/backend/src/services/agent/openhands-runtime.service.js.map +1 -0
  399. package/dist/backend/backend/src/services/agent/pty-activity-tracker.service.d.ts +21 -1
  400. package/dist/backend/backend/src/services/agent/pty-activity-tracker.service.d.ts.map +1 -1
  401. package/dist/backend/backend/src/services/agent/pty-activity-tracker.service.js +32 -1
  402. package/dist/backend/backend/src/services/agent/pty-activity-tracker.service.js.map +1 -1
  403. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts +133 -4
  404. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts.map +1 -1
  405. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js +492 -183
  406. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js.map +1 -1
  407. package/dist/backend/backend/src/services/agent/runtime-service.factory.d.ts.map +1 -1
  408. package/dist/backend/backend/src/services/agent/runtime-service.factory.js +9 -0
  409. package/dist/backend/backend/src/services/agent/runtime-service.factory.js.map +1 -1
  410. package/dist/backend/backend/src/services/ai/prompt-builder.service.d.ts +49 -2
  411. package/dist/backend/backend/src/services/ai/prompt-builder.service.d.ts.map +1 -1
  412. package/dist/backend/backend/src/services/ai/prompt-builder.service.js +124 -2
  413. package/dist/backend/backend/src/services/ai/prompt-builder.service.js.map +1 -1
  414. package/dist/backend/backend/src/services/chat/chat.service.d.ts +17 -3
  415. package/dist/backend/backend/src/services/chat/chat.service.d.ts.map +1 -1
  416. package/dist/backend/backend/src/services/chat/chat.service.js +63 -13
  417. package/dist/backend/backend/src/services/chat/chat.service.js.map +1 -1
  418. package/dist/backend/backend/src/services/cloud/admin-seed.service.d.ts +18 -0
  419. package/dist/backend/backend/src/services/cloud/admin-seed.service.d.ts.map +1 -0
  420. package/dist/backend/backend/src/services/cloud/admin-seed.service.js +50 -0
  421. package/dist/backend/backend/src/services/cloud/admin-seed.service.js.map +1 -0
  422. package/dist/backend/backend/src/services/cloud/auth/auth.service.d.ts +174 -0
  423. package/dist/backend/backend/src/services/cloud/auth/auth.service.d.ts.map +1 -0
  424. package/dist/backend/backend/src/services/cloud/auth/auth.service.js +402 -0
  425. package/dist/backend/backend/src/services/cloud/auth/auth.service.js.map +1 -0
  426. package/dist/backend/backend/src/services/cloud/auth/auth.types.d.ts +110 -0
  427. package/dist/backend/backend/src/services/cloud/auth/auth.types.d.ts.map +1 -0
  428. package/dist/backend/backend/src/services/cloud/auth/auth.types.js +54 -0
  429. package/dist/backend/backend/src/services/cloud/auth/auth.types.js.map +1 -0
  430. package/dist/backend/backend/src/services/cloud/auth/auth.utils.d.ts +36 -0
  431. package/dist/backend/backend/src/services/cloud/auth/auth.utils.d.ts.map +1 -0
  432. package/dist/backend/backend/src/services/cloud/auth/auth.utils.js +31 -0
  433. package/dist/backend/backend/src/services/cloud/auth/auth.utils.js.map +1 -0
  434. package/dist/backend/backend/src/services/cloud/auth/jwt-auth.middleware.d.ts +47 -0
  435. package/dist/backend/backend/src/services/cloud/auth/jwt-auth.middleware.d.ts.map +1 -0
  436. package/dist/backend/backend/src/services/cloud/auth/jwt-auth.middleware.js +116 -0
  437. package/dist/backend/backend/src/services/cloud/auth/jwt-auth.middleware.js.map +1 -0
  438. package/dist/backend/backend/src/services/cloud/auth/supabase-auth.middleware.d.ts +61 -0
  439. package/dist/backend/backend/src/services/cloud/auth/supabase-auth.middleware.d.ts.map +1 -0
  440. package/dist/backend/backend/src/services/cloud/auth/supabase-auth.middleware.js +203 -0
  441. package/dist/backend/backend/src/services/cloud/auth/supabase-auth.middleware.js.map +1 -0
  442. package/dist/backend/backend/src/services/cloud/cloud-auth.middleware.d.ts +46 -0
  443. package/dist/backend/backend/src/services/cloud/cloud-auth.middleware.d.ts.map +1 -0
  444. package/dist/backend/backend/src/services/cloud/cloud-auth.middleware.js +95 -0
  445. package/dist/backend/backend/src/services/cloud/cloud-auth.middleware.js.map +1 -0
  446. package/dist/backend/backend/src/services/cloud/cloud-auth.service.d.ts +136 -0
  447. package/dist/backend/backend/src/services/cloud/cloud-auth.service.d.ts.map +1 -0
  448. package/dist/backend/backend/src/services/cloud/cloud-auth.service.js +204 -0
  449. package/dist/backend/backend/src/services/cloud/cloud-auth.service.js.map +1 -0
  450. package/dist/backend/backend/src/services/cloud/cloud-client.service.d.ts +179 -0
  451. package/dist/backend/backend/src/services/cloud/cloud-client.service.d.ts.map +1 -0
  452. package/dist/backend/backend/src/services/cloud/cloud-client.service.js +237 -0
  453. package/dist/backend/backend/src/services/cloud/cloud-client.service.js.map +1 -0
  454. package/dist/backend/backend/src/services/cloud/cloud-features.d.ts +19 -0
  455. package/dist/backend/backend/src/services/cloud/cloud-features.d.ts.map +1 -0
  456. package/dist/backend/backend/src/services/cloud/cloud-features.js +23 -0
  457. package/dist/backend/backend/src/services/cloud/cloud-features.js.map +1 -0
  458. package/dist/backend/backend/src/services/cloud/cloud-file.service.d.ts +97 -0
  459. package/dist/backend/backend/src/services/cloud/cloud-file.service.d.ts.map +1 -0
  460. package/dist/backend/backend/src/services/cloud/cloud-file.service.js +184 -0
  461. package/dist/backend/backend/src/services/cloud/cloud-file.service.js.map +1 -0
  462. package/dist/backend/backend/src/services/cloud/cloud-image-analysis.service.d.ts +114 -0
  463. package/dist/backend/backend/src/services/cloud/cloud-image-analysis.service.d.ts.map +1 -0
  464. package/dist/backend/backend/src/services/cloud/cloud-image-analysis.service.js +196 -0
  465. package/dist/backend/backend/src/services/cloud/cloud-image-analysis.service.js.map +1 -0
  466. package/dist/backend/backend/src/services/cloud/cloud-task-processor.service.d.ts +118 -0
  467. package/dist/backend/backend/src/services/cloud/cloud-task-processor.service.d.ts.map +1 -0
  468. package/dist/backend/backend/src/services/cloud/cloud-task-processor.service.js +326 -0
  469. package/dist/backend/backend/src/services/cloud/cloud-task-processor.service.js.map +1 -0
  470. package/dist/backend/backend/src/services/cloud/cloud-task.service.d.ts +115 -0
  471. package/dist/backend/backend/src/services/cloud/cloud-task.service.d.ts.map +1 -0
  472. package/dist/backend/backend/src/services/cloud/cloud-task.service.js +265 -0
  473. package/dist/backend/backend/src/services/cloud/cloud-task.service.js.map +1 -0
  474. package/dist/backend/backend/src/services/cloud/mongodb.service.d.ts +45 -0
  475. package/dist/backend/backend/src/services/cloud/mongodb.service.d.ts.map +1 -0
  476. package/dist/backend/backend/src/services/cloud/mongodb.service.js +76 -0
  477. package/dist/backend/backend/src/services/cloud/mongodb.service.js.map +1 -0
  478. package/dist/backend/backend/src/services/cloud/relay-client.service.d.ts +175 -0
  479. package/dist/backend/backend/src/services/cloud/relay-client.service.d.ts.map +1 -0
  480. package/dist/backend/backend/src/services/cloud/relay-client.service.js +392 -0
  481. package/dist/backend/backend/src/services/cloud/relay-client.service.js.map +1 -0
  482. package/dist/backend/backend/src/services/cloud/relay-crypto.service.d.ts +87 -0
  483. package/dist/backend/backend/src/services/cloud/relay-crypto.service.d.ts.map +1 -0
  484. package/dist/backend/backend/src/services/cloud/relay-crypto.service.js +140 -0
  485. package/dist/backend/backend/src/services/cloud/relay-crypto.service.js.map +1 -0
  486. package/dist/backend/backend/src/services/cloud/relay-server.service.d.ts +181 -0
  487. package/dist/backend/backend/src/services/cloud/relay-server.service.d.ts.map +1 -0
  488. package/dist/backend/backend/src/services/cloud/relay-server.service.js +494 -0
  489. package/dist/backend/backend/src/services/cloud/relay-server.service.js.map +1 -0
  490. package/dist/backend/backend/src/services/cloud/relay.types.d.ts +170 -0
  491. package/dist/backend/backend/src/services/cloud/relay.types.d.ts.map +1 -0
  492. package/dist/backend/backend/src/services/cloud/relay.types.js +69 -0
  493. package/dist/backend/backend/src/services/cloud/relay.types.js.map +1 -0
  494. package/dist/backend/backend/src/services/continuation/continuation.service.d.ts.map +1 -1
  495. package/dist/backend/backend/src/services/continuation/continuation.service.js +5 -10
  496. package/dist/backend/backend/src/services/continuation/continuation.service.js.map +1 -1
  497. package/dist/backend/backend/src/services/continuation/patterns/idle-patterns.d.ts +9 -1
  498. package/dist/backend/backend/src/services/continuation/patterns/idle-patterns.d.ts.map +1 -1
  499. package/dist/backend/backend/src/services/continuation/patterns/idle-patterns.js +18 -4
  500. package/dist/backend/backend/src/services/continuation/patterns/idle-patterns.js.map +1 -1
  501. package/dist/backend/backend/src/services/core/env.config.d.ts +147 -0
  502. package/dist/backend/backend/src/services/core/env.config.d.ts.map +1 -0
  503. package/dist/backend/backend/src/services/core/env.config.js +226 -0
  504. package/dist/backend/backend/src/services/core/env.config.js.map +1 -0
  505. package/dist/backend/backend/src/services/core/storage.service.d.ts.map +1 -1
  506. package/dist/backend/backend/src/services/core/storage.service.js +5 -0
  507. package/dist/backend/backend/src/services/core/storage.service.js.map +1 -1
  508. package/dist/backend/backend/src/services/event-bus/event-bus.service.d.ts +30 -2
  509. package/dist/backend/backend/src/services/event-bus/event-bus.service.d.ts.map +1 -1
  510. package/dist/backend/backend/src/services/event-bus/event-bus.service.js +82 -12
  511. package/dist/backend/backend/src/services/event-bus/event-bus.service.js.map +1 -1
  512. package/dist/backend/backend/src/services/hierarchy/hierarchy-escalation.service.d.ts +160 -0
  513. package/dist/backend/backend/src/services/hierarchy/hierarchy-escalation.service.d.ts.map +1 -0
  514. package/dist/backend/backend/src/services/hierarchy/hierarchy-escalation.service.js +261 -0
  515. package/dist/backend/backend/src/services/hierarchy/hierarchy-escalation.service.js.map +1 -0
  516. package/dist/backend/backend/src/services/hierarchy/hierarchy-reporting.service.d.ts +161 -0
  517. package/dist/backend/backend/src/services/hierarchy/hierarchy-reporting.service.d.ts.map +1 -0
  518. package/dist/backend/backend/src/services/hierarchy/hierarchy-reporting.service.js +276 -0
  519. package/dist/backend/backend/src/services/hierarchy/hierarchy-reporting.service.js.map +1 -0
  520. package/dist/backend/backend/src/services/marketplace/index.d.ts +1 -0
  521. package/dist/backend/backend/src/services/marketplace/index.d.ts.map +1 -1
  522. package/dist/backend/backend/src/services/marketplace/index.js +2 -0
  523. package/dist/backend/backend/src/services/marketplace/index.js.map +1 -1
  524. package/dist/backend/backend/src/services/marketplace/marketplace.service.js +2 -2
  525. package/dist/backend/backend/src/services/marketplace/template-marketplace.service.d.ts +149 -0
  526. package/dist/backend/backend/src/services/marketplace/template-marketplace.service.d.ts.map +1 -0
  527. package/dist/backend/backend/src/services/marketplace/template-marketplace.service.js +500 -0
  528. package/dist/backend/backend/src/services/marketplace/template-marketplace.service.js.map +1 -0
  529. package/dist/backend/backend/src/services/mcp-server.js +1 -1
  530. package/dist/backend/backend/src/services/mcp-server.js.map +1 -1
  531. package/dist/backend/backend/src/services/messaging/adapters/google-chat-messenger.adapter.d.ts +90 -0
  532. package/dist/backend/backend/src/services/messaging/adapters/google-chat-messenger.adapter.d.ts.map +1 -0
  533. package/dist/backend/backend/src/services/messaging/adapters/google-chat-messenger.adapter.js +233 -0
  534. package/dist/backend/backend/src/services/messaging/adapters/google-chat-messenger.adapter.js.map +1 -0
  535. package/dist/backend/backend/src/services/messaging/message-queue.service.d.ts.map +1 -1
  536. package/dist/backend/backend/src/services/messaging/message-queue.service.js +1 -0
  537. package/dist/backend/backend/src/services/messaging/message-queue.service.js.map +1 -1
  538. package/dist/backend/backend/src/services/messaging/messenger-adapter.interface.d.ts +1 -1
  539. package/dist/backend/backend/src/services/messaging/messenger-adapter.interface.d.ts.map +1 -1
  540. package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts.map +1 -1
  541. package/dist/backend/backend/src/services/messaging/queue-processor.service.js +23 -5
  542. package/dist/backend/backend/src/services/messaging/queue-processor.service.js.map +1 -1
  543. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.d.ts.map +1 -1
  544. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js +3 -3
  545. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js.map +1 -1
  546. package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.d.ts.map +1 -1
  547. package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.js +29 -5
  548. package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.js.map +1 -1
  549. package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.d.ts.map +1 -1
  550. package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.js +6 -0
  551. package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.js.map +1 -1
  552. package/dist/backend/backend/src/services/payment/magic-moment.service.d.ts +69 -0
  553. package/dist/backend/backend/src/services/payment/magic-moment.service.d.ts.map +1 -0
  554. package/dist/backend/backend/src/services/payment/magic-moment.service.js +158 -0
  555. package/dist/backend/backend/src/services/payment/magic-moment.service.js.map +1 -0
  556. package/dist/backend/backend/src/services/payment/magic-moment.types.d.ts +95 -0
  557. package/dist/backend/backend/src/services/payment/magic-moment.types.d.ts.map +1 -0
  558. package/dist/backend/backend/src/services/payment/magic-moment.types.js +91 -0
  559. package/dist/backend/backend/src/services/payment/magic-moment.types.js.map +1 -0
  560. package/dist/backend/backend/src/services/payment/stripe.service.d.ts +83 -0
  561. package/dist/backend/backend/src/services/payment/stripe.service.d.ts.map +1 -0
  562. package/dist/backend/backend/src/services/payment/stripe.service.js +279 -0
  563. package/dist/backend/backend/src/services/payment/stripe.service.js.map +1 -0
  564. package/dist/backend/backend/src/services/plugin/index.d.ts +9 -0
  565. package/dist/backend/backend/src/services/plugin/index.d.ts.map +1 -0
  566. package/dist/backend/backend/src/services/plugin/index.js +8 -0
  567. package/dist/backend/backend/src/services/plugin/index.js.map +1 -0
  568. package/dist/backend/backend/src/services/plugin/plugin.service.d.ts +102 -0
  569. package/dist/backend/backend/src/services/plugin/plugin.service.d.ts.map +1 -0
  570. package/dist/backend/backend/src/services/plugin/plugin.service.js +179 -0
  571. package/dist/backend/backend/src/services/plugin/plugin.service.js.map +1 -0
  572. package/dist/backend/backend/src/services/plugin/plugin.types.d.ts +88 -0
  573. package/dist/backend/backend/src/services/plugin/plugin.types.d.ts.map +1 -0
  574. package/dist/backend/backend/src/services/plugin/plugin.types.js +17 -0
  575. package/dist/backend/backend/src/services/plugin/plugin.types.js.map +1 -0
  576. package/dist/backend/backend/src/services/project/task-tracking.service.d.ts +17 -0
  577. package/dist/backend/backend/src/services/project/task-tracking.service.d.ts.map +1 -1
  578. package/dist/backend/backend/src/services/project/task-tracking.service.js +63 -0
  579. package/dist/backend/backend/src/services/project/task-tracking.service.js.map +1 -1
  580. package/dist/backend/backend/src/services/session/index.d.ts +2 -0
  581. package/dist/backend/backend/src/services/session/index.d.ts.map +1 -1
  582. package/dist/backend/backend/src/services/session/index.js +2 -0
  583. package/dist/backend/backend/src/services/session/index.js.map +1 -1
  584. package/dist/backend/backend/src/services/session/log-rotation.service.d.ts +163 -0
  585. package/dist/backend/backend/src/services/session/log-rotation.service.d.ts.map +1 -0
  586. package/dist/backend/backend/src/services/session/log-rotation.service.js +362 -0
  587. package/dist/backend/backend/src/services/session/log-rotation.service.js.map +1 -0
  588. package/dist/backend/backend/src/services/session/session-command-helper.d.ts +14 -0
  589. package/dist/backend/backend/src/services/session/session-command-helper.d.ts.map +1 -1
  590. package/dist/backend/backend/src/services/session/session-command-helper.js +54 -0
  591. package/dist/backend/backend/src/services/session/session-command-helper.js.map +1 -1
  592. package/dist/backend/backend/src/services/settings/settings.service.d.ts.map +1 -1
  593. package/dist/backend/backend/src/services/settings/settings.service.js +1 -0
  594. package/dist/backend/backend/src/services/settings/settings.service.js.map +1 -1
  595. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts +11 -0
  596. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
  597. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js +98 -6
  598. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
  599. package/dist/backend/backend/src/services/template/template.service.d.ts +118 -0
  600. package/dist/backend/backend/src/services/template/template.service.d.ts.map +1 -0
  601. package/dist/backend/backend/src/services/template/template.service.js +299 -0
  602. package/dist/backend/backend/src/services/template/template.service.js.map +1 -0
  603. package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts +86 -0
  604. package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts.map +1 -1
  605. package/dist/backend/backend/src/services/workflow/scheduler.service.js +251 -2
  606. package/dist/backend/backend/src/services/workflow/scheduler.service.js.map +1 -1
  607. package/dist/backend/backend/src/types/chat.types.d.ts +39 -1
  608. package/dist/backend/backend/src/types/chat.types.d.ts.map +1 -1
  609. package/dist/backend/backend/src/types/chat.types.js +65 -18
  610. package/dist/backend/backend/src/types/chat.types.js.map +1 -1
  611. package/dist/backend/backend/src/types/event-bus.types.d.ts +45 -2
  612. package/dist/backend/backend/src/types/event-bus.types.d.ts.map +1 -1
  613. package/dist/backend/backend/src/types/event-bus.types.js +65 -0
  614. package/dist/backend/backend/src/types/event-bus.types.js.map +1 -1
  615. package/dist/backend/backend/src/types/hierarchy-message.types.d.ts +101 -0
  616. package/dist/backend/backend/src/types/hierarchy-message.types.d.ts.map +1 -0
  617. package/dist/backend/backend/src/types/hierarchy-message.types.js +15 -0
  618. package/dist/backend/backend/src/types/hierarchy-message.types.js.map +1 -0
  619. package/dist/backend/backend/src/types/index.d.ts +54 -4
  620. package/dist/backend/backend/src/types/index.d.ts.map +1 -1
  621. package/dist/backend/backend/src/types/index.js.map +1 -1
  622. package/dist/backend/backend/src/types/marketplace.types.d.ts +99 -0
  623. package/dist/backend/backend/src/types/marketplace.types.d.ts.map +1 -1
  624. package/dist/backend/backend/src/types/messaging.types.d.ts +4 -0
  625. package/dist/backend/backend/src/types/messaging.types.d.ts.map +1 -1
  626. package/dist/backend/backend/src/types/messaging.types.js.map +1 -1
  627. package/dist/backend/backend/src/types/settings.types.d.ts +1 -1
  628. package/dist/backend/backend/src/types/settings.types.d.ts.map +1 -1
  629. package/dist/backend/backend/src/types/settings.types.js +4 -0
  630. package/dist/backend/backend/src/types/settings.types.js.map +1 -1
  631. package/dist/backend/backend/src/types/task-tracking.types.d.ts +79 -1
  632. package/dist/backend/backend/src/types/task-tracking.types.d.ts.map +1 -1
  633. package/dist/backend/backend/src/types/task-tracking.types.js.map +1 -1
  634. package/dist/backend/backend/src/types/team-template.types.d.ts +166 -0
  635. package/dist/backend/backend/src/types/team-template.types.d.ts.map +1 -0
  636. package/dist/backend/backend/src/types/team-template.types.js +139 -0
  637. package/dist/backend/backend/src/types/team-template.types.js.map +1 -0
  638. package/dist/backend/backend/src/utils/async-handler.d.ts +20 -0
  639. package/dist/backend/backend/src/utils/async-handler.d.ts.map +1 -0
  640. package/dist/backend/backend/src/utils/async-handler.js +29 -0
  641. package/dist/backend/backend/src/utils/async-handler.js.map +1 -0
  642. package/dist/backend/backend/src/utils/defaultPrompts.d.ts +4 -4
  643. package/dist/backend/backend/src/utils/defaultPrompts.d.ts.map +1 -1
  644. package/dist/backend/backend/src/utils/defaultPrompts.js +16 -0
  645. package/dist/backend/backend/src/utils/defaultPrompts.js.map +1 -1
  646. package/dist/backend/backend/src/utils/gemini-trusted-folders.d.ts +43 -0
  647. package/dist/backend/backend/src/utils/gemini-trusted-folders.d.ts.map +1 -0
  648. package/dist/backend/backend/src/utils/gemini-trusted-folders.js +94 -0
  649. package/dist/backend/backend/src/utils/gemini-trusted-folders.js.map +1 -0
  650. package/dist/backend/backend/src/utils/message-serializer.d.ts +74 -0
  651. package/dist/backend/backend/src/utils/message-serializer.d.ts.map +1 -0
  652. package/dist/backend/backend/src/utils/message-serializer.js +380 -0
  653. package/dist/backend/backend/src/utils/message-serializer.js.map +1 -0
  654. package/dist/backend/backend/src/utils/terminal-string-ops.d.ts.map +1 -1
  655. package/dist/backend/backend/src/utils/terminal-string-ops.js +20 -11
  656. package/dist/backend/backend/src/utils/terminal-string-ops.js.map +1 -1
  657. package/dist/backend/backend/src/websocket/terminal.gateway.d.ts +4 -4
  658. package/dist/backend/backend/src/websocket/terminal.gateway.d.ts.map +1 -1
  659. package/dist/backend/backend/src/websocket/terminal.gateway.js +9 -6
  660. package/dist/backend/backend/src/websocket/terminal.gateway.js.map +1 -1
  661. package/dist/backend/config/constants.d.ts +44 -3
  662. package/dist/backend/config/constants.d.ts.map +1 -1
  663. package/dist/backend/config/constants.js +45 -3
  664. package/dist/backend/config/constants.js.map +1 -1
  665. package/dist/backend/config/index.d.ts +2 -2
  666. package/dist/backend/config/index.d.ts.map +1 -1
  667. package/dist/backend/config/index.js +2 -2
  668. package/dist/backend/config/index.js.map +1 -1
  669. package/dist/cli/backend/src/constants.d.ts +344 -16
  670. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  671. package/dist/cli/backend/src/constants.js +334 -15
  672. package/dist/cli/backend/src/constants.js.map +1 -1
  673. package/dist/cli/backend/src/models/Team.d.ts +5 -0
  674. package/dist/cli/backend/src/models/Team.d.ts.map +1 -1
  675. package/dist/cli/backend/src/models/Team.js +24 -0
  676. package/dist/cli/backend/src/models/Team.js.map +1 -1
  677. package/dist/cli/backend/src/services/core/storage.service.d.ts.map +1 -1
  678. package/dist/cli/backend/src/services/core/storage.service.js +5 -0
  679. package/dist/cli/backend/src/services/core/storage.service.js.map +1 -1
  680. package/dist/cli/backend/src/services/mcp-server.js +1 -1
  681. package/dist/cli/backend/src/services/mcp-server.js.map +1 -1
  682. package/dist/cli/backend/src/types/chat.types.d.ts +39 -1
  683. package/dist/cli/backend/src/types/chat.types.d.ts.map +1 -1
  684. package/dist/cli/backend/src/types/chat.types.js +65 -18
  685. package/dist/cli/backend/src/types/chat.types.js.map +1 -1
  686. package/dist/cli/backend/src/types/index.d.ts +54 -4
  687. package/dist/cli/backend/src/types/index.d.ts.map +1 -1
  688. package/dist/cli/backend/src/types/index.js.map +1 -1
  689. package/dist/cli/backend/src/types/settings.types.d.ts +1 -1
  690. package/dist/cli/backend/src/types/settings.types.d.ts.map +1 -1
  691. package/dist/cli/backend/src/types/settings.types.js +4 -0
  692. package/dist/cli/backend/src/types/settings.types.js.map +1 -1
  693. package/dist/cli/backend/src/utils/gemini-trusted-folders.d.ts +43 -0
  694. package/dist/cli/backend/src/utils/gemini-trusted-folders.d.ts.map +1 -0
  695. package/dist/cli/backend/src/utils/gemini-trusted-folders.js +94 -0
  696. package/dist/cli/backend/src/utils/gemini-trusted-folders.js.map +1 -0
  697. package/dist/cli/backend/src/utils/terminal-string-ops.d.ts.map +1 -1
  698. package/dist/cli/backend/src/utils/terminal-string-ops.js +20 -11
  699. package/dist/cli/backend/src/utils/terminal-string-ops.js.map +1 -1
  700. package/dist/cli/cli/src/commands/onboard.d.ts +2 -1
  701. package/dist/cli/cli/src/commands/onboard.d.ts.map +1 -1
  702. package/dist/cli/cli/src/commands/onboard.js +21 -8
  703. package/dist/cli/cli/src/commands/onboard.js.map +1 -1
  704. package/dist/cli/cli/src/commands/start.d.ts +1 -0
  705. package/dist/cli/cli/src/commands/start.d.ts.map +1 -1
  706. package/dist/cli/cli/src/commands/start.js +71 -23
  707. package/dist/cli/cli/src/commands/start.js.map +1 -1
  708. package/dist/cli/cli/src/constants.d.ts +1 -1
  709. package/dist/cli/cli/src/constants.d.ts.map +1 -1
  710. package/dist/cli/cli/src/constants.js +1 -1
  711. package/dist/cli/cli/src/constants.js.map +1 -1
  712. package/dist/cli/cli/src/index.js +1 -0
  713. package/dist/cli/cli/src/index.js.map +1 -1
  714. package/dist/cli/cli/src/utils/project-scaffold.d.ts +109 -0
  715. package/dist/cli/cli/src/utils/project-scaffold.d.ts.map +1 -0
  716. package/dist/cli/cli/src/utils/project-scaffold.js +346 -0
  717. package/dist/cli/cli/src/utils/project-scaffold.js.map +1 -0
  718. package/dist/cli/cli/src/utils/templates.d.ts +7 -2
  719. package/dist/cli/cli/src/utils/templates.d.ts.map +1 -1
  720. package/dist/cli/cli/src/utils/templates.js +76 -7
  721. package/dist/cli/cli/src/utils/templates.js.map +1 -1
  722. package/dist/cli/config/constants.d.ts +44 -3
  723. package/dist/cli/config/constants.d.ts.map +1 -1
  724. package/dist/cli/config/constants.js +45 -3
  725. package/dist/cli/config/constants.js.map +1 -1
  726. package/dist/cli/config/index.d.ts +2 -2
  727. package/dist/cli/config/index.d.ts.map +1 -1
  728. package/dist/cli/config/index.js +2 -2
  729. package/dist/cli/config/index.js.map +1 -1
  730. package/frontend/dist/assets/index-3558d1a2.js +4919 -0
  731. package/frontend/dist/assets/index-4c4dcc31.css +33 -0
  732. package/frontend/dist/index.html +2 -2
  733. package/package.json +14 -3
  734. package/frontend/dist/assets/index-a23214ae.js +0 -4919
  735. package/frontend/dist/assets/index-c407fe13.css +0 -33
@@ -0,0 +1,346 @@
1
+ /**
2
+ * Project Scaffolding Utilities
3
+ *
4
+ * Detects project type, generates project-specific team.json and goals.md,
5
+ * and provides preset team templates for common verticals (Dev Team,
6
+ * Content Agency, Support Team).
7
+ *
8
+ * Used by `crewly init` to create a fully configured .crewly/ directory
9
+ * tailored to the user's project.
10
+ *
11
+ * @module cli/utils/project-scaffold
12
+ */
13
+ import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'fs';
14
+ import { join, basename } from 'path';
15
+ import { randomUUID } from 'crypto';
16
+ // ========================= Project Detection =========================
17
+ /**
18
+ * Detects the project type by examining files in the given directory.
19
+ *
20
+ * Checks for common project markers:
21
+ * - Node.js: package.json, tsconfig.json, node_modules/
22
+ * - Python: requirements.txt, setup.py, pyproject.toml, Pipfile
23
+ * - Generic: everything else
24
+ *
25
+ * @param projectDir - The directory to inspect (defaults to cwd)
26
+ * @returns Detection result with type, label, project name, and signals
27
+ */
28
+ export function detectProjectType(projectDir = process.cwd()) {
29
+ const signals = [];
30
+ let projectName = basename(projectDir);
31
+ // Check Node.js signals
32
+ const hasPackageJson = existsSync(join(projectDir, 'package.json'));
33
+ const hasTsconfig = existsSync(join(projectDir, 'tsconfig.json'));
34
+ const hasNodeModules = existsSync(join(projectDir, 'node_modules'));
35
+ const hasYarnLock = existsSync(join(projectDir, 'yarn.lock'));
36
+ const hasPnpmLock = existsSync(join(projectDir, 'pnpm-lock.yaml'));
37
+ const hasPackageLock = existsSync(join(projectDir, 'package-lock.json'));
38
+ if (hasPackageJson)
39
+ signals.push('package.json');
40
+ if (hasTsconfig)
41
+ signals.push('tsconfig.json');
42
+ if (hasNodeModules)
43
+ signals.push('node_modules/');
44
+ if (hasYarnLock)
45
+ signals.push('yarn.lock');
46
+ if (hasPnpmLock)
47
+ signals.push('pnpm-lock.yaml');
48
+ if (hasPackageLock)
49
+ signals.push('package-lock.json');
50
+ // Check Python signals
51
+ const hasRequirements = existsSync(join(projectDir, 'requirements.txt'));
52
+ const hasSetupPy = existsSync(join(projectDir, 'setup.py'));
53
+ const hasPyproject = existsSync(join(projectDir, 'pyproject.toml'));
54
+ const hasPipfile = existsSync(join(projectDir, 'Pipfile'));
55
+ const hasSetupCfg = existsSync(join(projectDir, 'setup.cfg'));
56
+ if (hasRequirements)
57
+ signals.push('requirements.txt');
58
+ if (hasSetupPy)
59
+ signals.push('setup.py');
60
+ if (hasPyproject)
61
+ signals.push('pyproject.toml');
62
+ if (hasPipfile)
63
+ signals.push('Pipfile');
64
+ if (hasSetupCfg)
65
+ signals.push('setup.cfg');
66
+ // Try to extract project name from config files
67
+ if (hasPackageJson) {
68
+ try {
69
+ const pkg = JSON.parse(readFileSync(join(projectDir, 'package.json'), 'utf-8'));
70
+ if (pkg.name && typeof pkg.name === 'string') {
71
+ projectName = pkg.name;
72
+ }
73
+ }
74
+ catch {
75
+ // Fall through to directory name
76
+ }
77
+ }
78
+ else if (hasSetupPy) {
79
+ try {
80
+ const content = readFileSync(join(projectDir, 'setup.py'), 'utf-8');
81
+ const match = content.match(/name\s*=\s*['"]([^'"]+)['"]/);
82
+ if (match) {
83
+ projectName = match[1];
84
+ }
85
+ }
86
+ catch {
87
+ // Fall through to directory name
88
+ }
89
+ }
90
+ else if (hasPyproject) {
91
+ try {
92
+ const content = readFileSync(join(projectDir, 'pyproject.toml'), 'utf-8');
93
+ const match = content.match(/name\s*=\s*"([^"]+)"/);
94
+ if (match) {
95
+ projectName = match[1];
96
+ }
97
+ }
98
+ catch {
99
+ // Fall through to directory name
100
+ }
101
+ }
102
+ // Determine type based on signal count
103
+ const nodeSignals = [hasPackageJson, hasTsconfig, hasNodeModules, hasYarnLock, hasPnpmLock, hasPackageLock].filter(Boolean).length;
104
+ const pythonSignals = [hasRequirements, hasSetupPy, hasPyproject, hasPipfile, hasSetupCfg].filter(Boolean).length;
105
+ if (nodeSignals > pythonSignals && nodeSignals > 0) {
106
+ return { type: 'node', label: 'Node.js / TypeScript', projectName, signals };
107
+ }
108
+ if (pythonSignals > 0) {
109
+ return { type: 'python', label: 'Python', projectName, signals };
110
+ }
111
+ return { type: 'generic', label: 'General', projectName, signals };
112
+ }
113
+ // ========================= Preset Teams =========================
114
+ /** Dev Team preset — optimized for software development projects */
115
+ const DEV_TEAM_PRESET = {
116
+ id: 'dev-team',
117
+ name: 'Dev Team',
118
+ description: 'Developer + Code Reviewer + QA for building and shipping software. Ideal for Node.js, Python, or any codebase.',
119
+ members: [
120
+ {
121
+ name: 'Developer',
122
+ role: 'developer',
123
+ systemPrompt: 'You are the lead developer. Implement features, fix bugs, and write clean, tested code. Follow project conventions and maintain high code quality. Coordinate with the reviewer for code reviews and QA for testing.',
124
+ },
125
+ {
126
+ name: 'Code Reviewer',
127
+ role: 'developer',
128
+ systemPrompt: 'You are the code reviewer. Review all code changes for correctness, performance, security, and adherence to project standards. Provide constructive feedback and approve changes when they meet quality bar. Help maintain consistent architecture.',
129
+ },
130
+ {
131
+ name: 'QA Engineer',
132
+ role: 'qa',
133
+ systemPrompt: 'You are the QA engineer. Write and run tests, identify edge cases, and verify features work as expected. Report bugs with clear reproduction steps. Maintain test coverage and help improve the testing strategy.',
134
+ },
135
+ ],
136
+ suggestedGoals: [
137
+ 'Ship features with high code quality and test coverage',
138
+ 'Maintain clean architecture and follow project conventions',
139
+ 'Catch and fix bugs before they reach production',
140
+ ],
141
+ };
142
+ /** Content Agency preset — optimized for content creation and marketing */
143
+ const CONTENT_AGENCY_PRESET = {
144
+ id: 'content-agency',
145
+ name: 'Content Agency',
146
+ description: 'Content Strategist + Writer + Editor for producing blog posts, social media content, and marketing materials.',
147
+ members: [
148
+ {
149
+ name: 'Content Strategist',
150
+ role: 'content-strategist',
151
+ systemPrompt: 'You are the content strategist. Research topics, identify keywords, and create content briefs. Define the content calendar and quality standards. Review all output before publication.',
152
+ },
153
+ {
154
+ name: 'Writer',
155
+ role: 'generalist',
156
+ systemPrompt: 'You are the writer. Take content briefs and produce full-length blog posts, social media copy, and marketing materials. Focus on engaging, accurate, on-brand content that follows the brief guidelines.',
157
+ },
158
+ {
159
+ name: 'Editor',
160
+ role: 'qa',
161
+ systemPrompt: 'You are the editor. Review all content for accuracy, tone consistency, SEO compliance, and brand voice. Approve content for publication or return with specific revision notes.',
162
+ },
163
+ ],
164
+ suggestedGoals: [
165
+ 'Produce consistent, high-quality content on schedule',
166
+ 'Build audience engagement and grow traffic',
167
+ 'Maintain brand voice across all channels',
168
+ ],
169
+ };
170
+ /** Support Team preset — optimized for customer support and documentation */
171
+ const SUPPORT_TEAM_PRESET = {
172
+ id: 'support-team',
173
+ name: 'Support Team',
174
+ description: 'Support Lead + Technical Writer + Triage Agent for handling customer inquiries, writing docs, and managing issues.',
175
+ members: [
176
+ {
177
+ name: 'Support Lead',
178
+ role: 'support',
179
+ systemPrompt: 'You are the support lead. Manage incoming support requests, prioritize issues, and coordinate the team response. Escalate technical issues to the appropriate team. Track resolution times and customer satisfaction.',
180
+ },
181
+ {
182
+ name: 'Technical Writer',
183
+ role: 'generalist',
184
+ systemPrompt: 'You are the technical writer. Create and maintain documentation, FAQs, troubleshooting guides, and knowledge base articles. Turn common support questions into self-service resources to reduce ticket volume.',
185
+ },
186
+ {
187
+ name: 'Triage Agent',
188
+ role: 'generalist',
189
+ systemPrompt: 'You are the triage agent. Categorize and prioritize incoming issues. Gather reproduction steps and relevant context. Route issues to the right team member. Handle simple requests directly when possible.',
190
+ },
191
+ ],
192
+ suggestedGoals: [
193
+ 'Respond to all inquiries within 24 hours',
194
+ 'Build comprehensive documentation and FAQs',
195
+ 'Reduce repeat questions through better self-service resources',
196
+ ],
197
+ };
198
+ /** All available preset teams */
199
+ export const PRESET_TEAMS = [
200
+ DEV_TEAM_PRESET,
201
+ CONTENT_AGENCY_PRESET,
202
+ SUPPORT_TEAM_PRESET,
203
+ ];
204
+ /**
205
+ * Gets a preset team by ID.
206
+ *
207
+ * @param id - The preset identifier (e.g. "dev-team")
208
+ * @returns The matching preset, or undefined if not found
209
+ */
210
+ export function getPresetTeam(id) {
211
+ return PRESET_TEAMS.find(p => p.id === id);
212
+ }
213
+ // ========================= Scaffolding =========================
214
+ /**
215
+ * Generates a goals.md file content based on the project name, type, and selected team.
216
+ *
217
+ * @param projectName - The project's name
218
+ * @param projectType - The detected project type
219
+ * @param preset - The selected preset team (optional)
220
+ * @returns The goals.md content as a string
221
+ */
222
+ export function generateGoalsContent(projectName, projectType, preset) {
223
+ const lines = [
224
+ `# ${projectName} - Project Goals`,
225
+ '',
226
+ `> Generated by \`crewly init\` on ${new Date().toISOString().split('T')[0]}`,
227
+ `> Project type: ${projectType}`,
228
+ '',
229
+ ];
230
+ if (preset) {
231
+ lines.push(`## Team: ${preset.name}`);
232
+ lines.push('');
233
+ lines.push('### Goals');
234
+ lines.push('');
235
+ for (const goal of preset.suggestedGoals) {
236
+ lines.push(`- [ ] ${goal}`);
237
+ }
238
+ lines.push('');
239
+ }
240
+ lines.push('## Milestones');
241
+ lines.push('');
242
+ lines.push('### Phase 1: Setup');
243
+ lines.push('- [ ] Configure team and project settings');
244
+ lines.push('- [ ] Define initial task backlog');
245
+ lines.push('- [ ] Establish working conventions');
246
+ lines.push('');
247
+ lines.push('### Phase 2: Execution');
248
+ lines.push('- [ ] Complete first deliverable');
249
+ lines.push('- [ ] Review and iterate');
250
+ lines.push('');
251
+ lines.push('## Notes');
252
+ lines.push('');
253
+ lines.push('Add project-specific notes, decisions, and context here.');
254
+ lines.push('');
255
+ return lines.join('\n');
256
+ }
257
+ /**
258
+ * Generates a team.json object for the .crewly/ directory from a preset team.
259
+ *
260
+ * Creates full member objects with UUIDs, session names, and status fields.
261
+ *
262
+ * @param preset - The preset team to generate from
263
+ * @param projectName - The project name for session name generation
264
+ * @returns The team config object ready to be serialized to JSON
265
+ */
266
+ export function generateTeamConfig(preset, projectName) {
267
+ const now = new Date().toISOString();
268
+ const safeProjectName = projectName.replace(/[^a-z0-9]+/gi, '-').toLowerCase();
269
+ const members = preset.members.map((m) => {
270
+ const memberId = randomUUID().split('-')[0];
271
+ const safeName = m.name.toLowerCase().replace(/[^a-z0-9]+/g, '-');
272
+ const sessionName = `${safeProjectName}-${safeName}-${memberId}`;
273
+ return {
274
+ id: randomUUID(),
275
+ name: m.name,
276
+ role: m.role,
277
+ sessionName,
278
+ systemPrompt: m.systemPrompt,
279
+ runtimeType: 'claude-code',
280
+ agentStatus: 'inactive',
281
+ workingStatus: 'idle',
282
+ skillOverrides: [],
283
+ excludedRoleSkills: [],
284
+ createdAt: now,
285
+ updatedAt: now,
286
+ };
287
+ });
288
+ return {
289
+ id: `${safeProjectName}-${preset.id}`,
290
+ name: `${projectName} ${preset.name}`,
291
+ description: preset.description,
292
+ members,
293
+ projectIds: [],
294
+ createdAt: now,
295
+ updatedAt: now,
296
+ };
297
+ }
298
+ /**
299
+ * Writes the enhanced project scaffold to the .crewly/ directory.
300
+ *
301
+ * Creates:
302
+ * - .crewly/team.json — project-specific team configuration
303
+ * - .crewly/goals.md — project goals and milestones
304
+ * - .crewly/docs/, memory/, tasks/ directories
305
+ * - .crewly/config.env — environment configuration stub
306
+ *
307
+ * Skips files that already exist to avoid overwriting user changes.
308
+ *
309
+ * @param projectDir - The project root directory
310
+ * @param preset - The selected preset team
311
+ * @param detection - The project detection result
312
+ * @returns Object indicating which files were created
313
+ */
314
+ export function writeProjectScaffold(projectDir, preset, detection) {
315
+ const crewlyDir = join(projectDir, '.crewly');
316
+ let teamJsonCreated = false;
317
+ let goalsCreated = false;
318
+ let dirsCreated = false;
319
+ // Create directory structure
320
+ const subdirs = ['docs', 'memory', 'tasks', 'teams'];
321
+ for (const subdir of subdirs) {
322
+ mkdirSync(join(crewlyDir, subdir), { recursive: true });
323
+ }
324
+ dirsCreated = true;
325
+ // Write config.env if not present
326
+ const configEnvPath = join(crewlyDir, 'config.env');
327
+ if (!existsSync(configEnvPath)) {
328
+ writeFileSync(configEnvPath, '# Crewly configuration\n# Add API keys and settings here\n');
329
+ }
330
+ // Write team.json if not present
331
+ const teamJsonPath = join(crewlyDir, 'team.json');
332
+ if (!existsSync(teamJsonPath)) {
333
+ const teamConfig = generateTeamConfig(preset, detection.projectName);
334
+ writeFileSync(teamJsonPath, JSON.stringify(teamConfig, null, 2) + '\n');
335
+ teamJsonCreated = true;
336
+ }
337
+ // Write goals.md if not present
338
+ const goalsPath = join(crewlyDir, 'goals.md');
339
+ if (!existsSync(goalsPath)) {
340
+ const goalsContent = generateGoalsContent(detection.projectName, detection.type, preset);
341
+ writeFileSync(goalsPath, goalsContent);
342
+ goalsCreated = true;
343
+ }
344
+ return { teamJsonCreated, goalsCreated, dirsCreated };
345
+ }
346
+ //# sourceMappingURL=project-scaffold.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-scaffold.js","sourceRoot":"","sources":["../../../../../cli/src/utils/project-scaffold.ts"],"names":[],"mappings":"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"}
@@ -43,9 +43,14 @@ export declare function getTemplatesDir(): string;
43
43
  /**
44
44
  * Lists all available team templates.
45
45
  *
46
- * Reads JSON files from config/templates/ and returns them sorted by name.
46
+ * Reads templates from config/templates/ in both formats:
47
+ * - New format: subdirectory/template.json with roles[] and verificationPipeline
48
+ * - Legacy format: flat JSON files with members[] at root level
47
49
  *
48
- * @returns Array of team templates
50
+ * New-format templates are converted to the CLI TeamTemplate interface
51
+ * by mapping roles to members.
52
+ *
53
+ * @returns Array of team templates sorted by name
49
54
  *
50
55
  * @example
51
56
  * ```typescript
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../../../cli/src/utils/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,+CAA+C;AAC/C,MAAM,WAAW,cAAc;IAC7B,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,YAAY,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,sDAAsD;IACtD,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,gEAAgE;AAChE,MAAM,WAAW,YAAY;IAC3B,8CAA8C;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAID;;;;;;;;GAQG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAcxC;AAID;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,IAAI,YAAY,EAAE,CAyB9C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEhE"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../../../cli/src/utils/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,+CAA+C;AAC/C,MAAM,WAAW,cAAc;IAC7B,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,YAAY,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,sDAAsD;IACtD,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,gEAAgE;AAChE,MAAM,WAAW,YAAY;IAC3B,8CAA8C;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAID;;;;;;;;GAQG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAcxC;AAID;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,IAAI,YAAY,EAAE,CAsD9C;AA+CD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEhE"}
@@ -7,7 +7,7 @@
7
7
  * @module cli/utils/templates
8
8
  */
9
9
  import path from 'path';
10
- import { readFileSync, readdirSync, existsSync } from 'fs';
10
+ import { readFileSync, readdirSync, existsSync, statSync } from 'fs';
11
11
  // ========================= Internals =========================
12
12
  /**
13
13
  * Resolves the absolute path to the config/templates/ directory.
@@ -38,9 +38,14 @@ export function getTemplatesDir() {
38
38
  /**
39
39
  * Lists all available team templates.
40
40
  *
41
- * Reads JSON files from config/templates/ and returns them sorted by name.
41
+ * Reads templates from config/templates/ in both formats:
42
+ * - New format: subdirectory/template.json with roles[] and verificationPipeline
43
+ * - Legacy format: flat JSON files with members[] at root level
42
44
  *
43
- * @returns Array of team templates
45
+ * New-format templates are converted to the CLI TeamTemplate interface
46
+ * by mapping roles to members.
47
+ *
48
+ * @returns Array of team templates sorted by name
44
49
  *
45
50
  * @example
46
51
  * ```typescript
@@ -50,20 +55,49 @@ export function getTemplatesDir() {
50
55
  */
51
56
  export function listTemplates() {
52
57
  const templatesDir = getTemplatesDir();
53
- let files;
58
+ let entries;
54
59
  try {
55
- files = readdirSync(templatesDir).filter(f => f.endsWith('.json'));
60
+ entries = readdirSync(templatesDir);
56
61
  }
57
62
  catch {
58
63
  return [];
59
64
  }
60
65
  const templates = [];
61
- for (const file of files) {
66
+ const seenIds = new Set();
67
+ // First pass: load new-format templates from subdirectories
68
+ for (const entry of entries) {
69
+ const fullPath = path.join(templatesDir, entry);
70
+ try {
71
+ const stat = statSync(fullPath);
72
+ if (stat.isDirectory()) {
73
+ const templateJsonPath = path.join(fullPath, 'template.json');
74
+ if (existsSync(templateJsonPath)) {
75
+ const content = readFileSync(templateJsonPath, 'utf-8');
76
+ const parsed = JSON.parse(content);
77
+ // New format: has roles[] array and verificationPipeline
78
+ if (parsed.id && parsed.name && Array.isArray(parsed.roles) && parsed.roles.length > 0) {
79
+ const converted = convertNewFormatTemplate(parsed);
80
+ if (converted) {
81
+ templates.push(converted);
82
+ seenIds.add(converted.id);
83
+ }
84
+ }
85
+ }
86
+ }
87
+ }
88
+ catch {
89
+ // Skip invalid directories
90
+ }
91
+ }
92
+ // Second pass: load legacy flat JSON templates (skip if ID already seen)
93
+ const jsonFiles = entries.filter(f => f.endsWith('.json') && !f.startsWith('.'));
94
+ for (const file of jsonFiles) {
62
95
  try {
63
96
  const content = readFileSync(path.join(templatesDir, file), 'utf-8');
64
97
  const parsed = JSON.parse(content);
65
- if (parsed.id && parsed.name && Array.isArray(parsed.members)) {
98
+ if (parsed.id && parsed.name && Array.isArray(parsed.members) && !seenIds.has(parsed.id)) {
66
99
  templates.push(parsed);
100
+ seenIds.add(parsed.id);
67
101
  }
68
102
  }
69
103
  catch {
@@ -72,6 +106,41 @@ export function listTemplates() {
72
106
  }
73
107
  return templates.sort((a, b) => a.name.localeCompare(b.name));
74
108
  }
109
+ /**
110
+ * Converts a new-format template (with roles[]) to CLI TeamTemplate (with members[]).
111
+ *
112
+ * Maps each role to one or more TemplateMember entries based on the role's count.
113
+ *
114
+ * @param data - Raw parsed template.json data
115
+ * @returns Converted TeamTemplate, or null if conversion fails
116
+ */
117
+ function convertNewFormatTemplate(data) {
118
+ try {
119
+ const roles = data.roles;
120
+ const members = [];
121
+ for (const role of roles) {
122
+ for (let i = 0; i < (role.count || 1); i++) {
123
+ const suffix = role.count > 1 ? ` ${i + 1}` : '';
124
+ members.push({
125
+ name: `${role.defaultName}${suffix}`,
126
+ role: role.role,
127
+ systemPrompt: role.promptAdditions ?? `You are a ${role.label}.`,
128
+ skillOverrides: role.defaultSkills,
129
+ excludedRoleSkills: role.excludedSkills,
130
+ });
131
+ }
132
+ }
133
+ return {
134
+ id: data.id,
135
+ name: data.name,
136
+ description: data.description ?? '',
137
+ members,
138
+ };
139
+ }
140
+ catch {
141
+ return null;
142
+ }
143
+ }
75
144
  /**
76
145
  * Gets a specific team template by ID.
77
146
  *
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../../../cli/src/utils/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AA8B3D,gEAAgE;AAEhE;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe;IAC7B,8DAA8D;IAC9D,IAAI,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IACxF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QACxD,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM;QAC1B,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;IACD,wDAAwD;IACxD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;AACzD,CAAC;AAED,iEAAiE;AAEjE;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IAEvC,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,SAAS,GAAmB,EAAE,CAAC;IAErC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YACrE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAiB,CAAC;YACnD,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9D,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,gCAAgC;QAClC,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,WAAW,CAAC,EAAU;IACpC,OAAO,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../../../cli/src/utils/templates.ts"],"names":[],"mappings":"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"}
@@ -155,6 +155,18 @@ export declare const AGENT_IDENTITY_CONSTANTS: {
155
155
  readonly ROLE: "orchestrator";
156
156
  };
157
157
  };
158
+ /**
159
+ * Process exit codes used for inter-process communication between the CLI
160
+ * parent process and the backend child process.
161
+ */
162
+ export declare const PROCESS_EXIT_CODES: {
163
+ /** Normal shutdown — do not respawn */
164
+ readonly SUCCESS: 0;
165
+ /** Error — do not respawn */
166
+ readonly ERROR: 1;
167
+ /** Graceful restart requested — CLI should respawn the backend */
168
+ readonly RESTART_REQUESTED: 120;
169
+ };
158
170
  /**
159
171
  * Web server and API configuration
160
172
  */
@@ -695,8 +707,10 @@ export declare const ORCHESTRATOR_HEARTBEAT_CONSTANTS: {
695
707
  readonly RESTART_THRESHOLD_MS: 60000;
696
708
  /** Message sent to orchestrator PTY to request a heartbeat */
697
709
  readonly HEARTBEAT_REQUEST_MESSAGE: "Please run your heartbeat skill now: bash config/skills/orchestrator/heartbeat/execute.sh";
698
- /** Grace period after server start before monitoring begins (30 seconds) */
699
- readonly STARTUP_GRACE_PERIOD_MS: 30000;
710
+ /** Grace period after server start before monitoring begins (120 seconds).
711
+ * Increased from 30s to account for orchestrator boot time + first API call delay,
712
+ * preventing false-positive heartbeat timeouts on slow starts or restarts. */
713
+ readonly STARTUP_GRACE_PERIOD_MS: 120000;
700
714
  /** Maximum time the orchestrator can stay in_progress before triggering
701
715
  * a heartbeat/restart (30 minutes). Spinner animation counts as "activity"
702
716
  * in the idle tracker, so a stuck orchestrator may appear active forever.
@@ -765,7 +779,7 @@ export declare const MARKETPLACE_CONSTANTS: {
765
779
  /** GitHub raw content base URL for downloading public skill files */
766
780
  readonly PUBLIC_CDN_BASE: "https://raw.githubusercontent.com/stevehuang0115/crewly/main";
767
781
  /** Base URL for the Crewly marketplace webapp (premium/private registry) */
768
- readonly PREMIUM_BASE_URL: "https://crewly.stevesprompt.com";
782
+ readonly PREMIUM_BASE_URL: "https://crewlyai.com";
769
783
  /** API endpoint for premium skills registry */
770
784
  readonly PREMIUM_REGISTRY_ENDPOINT: "/api/registry/skills";
771
785
  /** API endpoint for downloading marketplace assets */
@@ -793,6 +807,33 @@ export declare const MARKETPLACE_CONSTANTS: {
793
807
  /** Category mapping from skill.json categories to marketplace display categories */
794
808
  readonly CATEGORY_MAP: Record<string, string>;
795
809
  };
810
+ /**
811
+ * Template Marketplace constants for creating, versioning, and publishing
812
+ * team configuration templates. Templates are stored as JSON files under
813
+ * ~/.crewly/marketplace/templates/.
814
+ */
815
+ export declare const TEMPLATE_MARKETPLACE_CONSTANTS: {
816
+ /** Subdirectory under marketplace dir for template data */
817
+ readonly TEMPLATES_DIR: "templates";
818
+ /** File name for the template store index */
819
+ readonly STORE_FILE: "templates.json";
820
+ /** Subdirectory under each template for version files */
821
+ readonly VERSIONS_DIR: "versions";
822
+ /** File name for the version store within each template dir */
823
+ readonly VERSIONS_FILE: "versions.json";
824
+ /** Schema version for template store files */
825
+ readonly SCHEMA_VERSION: 1;
826
+ /** Maximum template name length */
827
+ readonly MAX_NAME_LENGTH: 100;
828
+ /** Maximum template description length */
829
+ readonly MAX_DESCRIPTION_LENGTH: 2000;
830
+ /** Maximum changelog length per version */
831
+ readonly MAX_CHANGELOG_LENGTH: 5000;
832
+ /** Maximum number of tags per template */
833
+ readonly MAX_TAGS: 20;
834
+ /** Maximum tag length */
835
+ readonly MAX_TAG_LENGTH: 50;
836
+ };
796
837
  /** Shorthand for debounce value */
797
838
  export declare const EVENT_DEBOUNCE_MS: 5000;
798
839
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../config/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../config/constants.ts"],"names":[],"mappings":"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"}