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,39 @@
1
+ #!/bin/bash
2
+ # Start a worker agent within this Team Leader's subordinate scope.
3
+ # Validates hierarchy (worker.parentMemberId == TL.memberId) before starting.
4
+ set -euo pipefail
5
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
6
+ source "${SCRIPT_DIR}/../_common/lib.sh"
7
+
8
+ INPUT="${1:-}"
9
+ [ -z "$INPUT" ] && error_exit "Usage: execute.sh '{\"teamId\":\"team-uuid\",\"memberId\":\"member-uuid\",\"tlMemberId\":\"tl-member-id\"}'"
10
+
11
+ TEAM_ID=$(echo "$INPUT" | jq -r '.teamId // empty')
12
+ MEMBER_ID=$(echo "$INPUT" | jq -r '.memberId // empty')
13
+ TL_MEMBER_ID=$(echo "$INPUT" | jq -r '.tlMemberId // empty')
14
+ require_param "teamId" "$TEAM_ID"
15
+ require_param "memberId" "$MEMBER_ID"
16
+ require_param "tlMemberId" "$TL_MEMBER_ID"
17
+
18
+ # Validate hierarchy: target worker must be a subordinate of this TL
19
+ TEAM_DATA=$(api_call GET "/teams/${TEAM_ID}" 2>/dev/null || echo '{}')
20
+ TEAM_SUCCESS=$(echo "$TEAM_DATA" | jq -r '.success // false' 2>/dev/null || echo "false")
21
+
22
+ if [ "$TEAM_SUCCESS" != "true" ]; then
23
+ error_exit "Failed to fetch team data for team ${TEAM_ID}"
24
+ fi
25
+
26
+ # Find the target member and check parentMemberId
27
+ WORKER_PARENT=$(echo "$TEAM_DATA" | jq -r --arg mid "$MEMBER_ID" \
28
+ '.data.members[] | select(.id == $mid) | .parentMemberId // empty' 2>/dev/null || true)
29
+
30
+ if [ -z "$WORKER_PARENT" ]; then
31
+ error_exit "Member ${MEMBER_ID} not found in team ${TEAM_ID} or has no parentMemberId set"
32
+ fi
33
+
34
+ if [ "$WORKER_PARENT" != "$TL_MEMBER_ID" ]; then
35
+ error_exit "Hierarchy violation: member ${MEMBER_ID} (parentMemberId=${WORKER_PARENT}) is not a subordinate of TL ${TL_MEMBER_ID}"
36
+ fi
37
+
38
+ # Hierarchy validated — start the agent
39
+ api_call POST "/teams/${TEAM_ID}/members/${MEMBER_ID}/start"
@@ -0,0 +1,48 @@
1
+ # Start Agent (TL Version)
2
+
3
+ Starts a worker agent within the Team Leader's subordinate scope. Validates hierarchy before starting — the target worker's `parentMemberId` must match the TL's `memberId`.
4
+
5
+ ## When to Use
6
+
7
+ - When a worker needs to be activated for task assignment
8
+ - After a worker was previously stopped and needs to be restarted
9
+ - When scaling up the sub-team for a new objective
10
+
11
+ ## Usage
12
+
13
+ ```bash
14
+ bash {{TL_SKILLS_PATH}}/start-agent/execute.sh '{"teamId":"{{TEAM_ID}}","memberId":"worker-member-uuid","tlMemberId":"{{MEMBER_ID}}"}'
15
+ ```
16
+
17
+ ## Parameters
18
+
19
+ | Parameter | Required | Description |
20
+ |-----------|----------|-------------|
21
+ | `teamId` | Yes | The team's UUID |
22
+ | `memberId` | Yes | The target worker's member UUID |
23
+ | `tlMemberId` | Yes | The TL's own member ID for hierarchy validation |
24
+
25
+ ## Hierarchy Validation
26
+
27
+ The script fetches team data and validates:
28
+ - The target member exists in the team
29
+ - The member's `parentMemberId` matches the TL's `memberId`
30
+
31
+ If validation fails, the start is rejected with a hierarchy violation error. TLs can only start their own subordinates — not agents in other teams or under other TLs.
32
+
33
+ ## Differences from Orchestrator start-agent
34
+
35
+ | Aspect | Orchestrator | Team Leader |
36
+ |--------|-------------|-------------|
37
+ | Scope | Any agent in any team | Only subordinates |
38
+ | Hierarchy check | None | Validates parentMemberId |
39
+ | Extra parameter | None | `tlMemberId` required |
40
+
41
+ ## Output
42
+
43
+ JSON confirmation with agent startup status, same format as orchestrator start-agent.
44
+
45
+ ## Related Skills
46
+
47
+ - `stop-agent` — Stop a subordinate worker
48
+ - `delegate-task` — Assign tasks to workers after starting them
@@ -0,0 +1,20 @@
1
+ {
2
+ "id": "tl-start-agent",
3
+ "name": "Start Agent (TL)",
4
+ "description": "Start a worker agent within the Team Leader's subordinate scope. Validates that the target worker's parentMemberId matches the TL's memberId before starting.",
5
+ "category": "management",
6
+ "skillType": "claude-skill",
7
+ "promptFile": "instructions.md",
8
+ "execution": {
9
+ "type": "script",
10
+ "script": {
11
+ "file": "execute.sh",
12
+ "interpreter": "bash",
13
+ "timeoutMs": 60000
14
+ }
15
+ },
16
+ "assignableRoles": ["team-leader"],
17
+ "triggers": ["start agent", "start worker", "activate worker", "boot worker"],
18
+ "tags": ["agent", "management", "lifecycle", "hierarchy"],
19
+ "version": "1.0.0"
20
+ }
@@ -0,0 +1,39 @@
1
+ #!/bin/bash
2
+ # Stop a worker agent within this Team Leader's subordinate scope.
3
+ # Validates hierarchy (worker.parentMemberId == TL.memberId) before stopping.
4
+ set -euo pipefail
5
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
6
+ source "${SCRIPT_DIR}/../_common/lib.sh"
7
+
8
+ INPUT="${1:-}"
9
+ [ -z "$INPUT" ] && error_exit "Usage: execute.sh '{\"teamId\":\"team-uuid\",\"memberId\":\"member-uuid\",\"tlMemberId\":\"tl-member-id\"}'"
10
+
11
+ TEAM_ID=$(echo "$INPUT" | jq -r '.teamId // empty')
12
+ MEMBER_ID=$(echo "$INPUT" | jq -r '.memberId // empty')
13
+ TL_MEMBER_ID=$(echo "$INPUT" | jq -r '.tlMemberId // empty')
14
+ require_param "teamId" "$TEAM_ID"
15
+ require_param "memberId" "$MEMBER_ID"
16
+ require_param "tlMemberId" "$TL_MEMBER_ID"
17
+
18
+ # Validate hierarchy: target worker must be a subordinate of this TL
19
+ TEAM_DATA=$(api_call GET "/teams/${TEAM_ID}" 2>/dev/null || echo '{}')
20
+ TEAM_SUCCESS=$(echo "$TEAM_DATA" | jq -r '.success // false' 2>/dev/null || echo "false")
21
+
22
+ if [ "$TEAM_SUCCESS" != "true" ]; then
23
+ error_exit "Failed to fetch team data for team ${TEAM_ID}"
24
+ fi
25
+
26
+ # Find the target member and check parentMemberId
27
+ WORKER_PARENT=$(echo "$TEAM_DATA" | jq -r --arg mid "$MEMBER_ID" \
28
+ '.data.members[] | select(.id == $mid) | .parentMemberId // empty' 2>/dev/null || true)
29
+
30
+ if [ -z "$WORKER_PARENT" ]; then
31
+ error_exit "Member ${MEMBER_ID} not found in team ${TEAM_ID} or has no parentMemberId set"
32
+ fi
33
+
34
+ if [ "$WORKER_PARENT" != "$TL_MEMBER_ID" ]; then
35
+ error_exit "Hierarchy violation: member ${MEMBER_ID} (parentMemberId=${WORKER_PARENT}) is not a subordinate of TL ${TL_MEMBER_ID}"
36
+ fi
37
+
38
+ # Hierarchy validated — stop the agent
39
+ api_call POST "/teams/${TEAM_ID}/members/${MEMBER_ID}/stop"
@@ -0,0 +1,49 @@
1
+ # Stop Agent (TL Version)
2
+
3
+ Stops a worker agent within the Team Leader's subordinate scope. Validates hierarchy before stopping — the target worker's `parentMemberId` must match the TL's `memberId`.
4
+
5
+ ## When to Use
6
+
7
+ - When a worker is no longer needed for current objectives
8
+ - When scaling down the sub-team after task completion
9
+ - When a worker is stuck and needs to be restarted (stop then start)
10
+
11
+ ## Usage
12
+
13
+ ```bash
14
+ bash {{TL_SKILLS_PATH}}/stop-agent/execute.sh '{"teamId":"{{TEAM_ID}}","memberId":"worker-member-uuid","tlMemberId":"{{MEMBER_ID}}"}'
15
+ ```
16
+
17
+ ## Parameters
18
+
19
+ | Parameter | Required | Description |
20
+ |-----------|----------|-------------|
21
+ | `teamId` | Yes | The team's UUID |
22
+ | `memberId` | Yes | The target worker's member UUID |
23
+ | `tlMemberId` | Yes | The TL's own member ID for hierarchy validation |
24
+
25
+ ## Hierarchy Validation
26
+
27
+ The script fetches team data and validates:
28
+ - The target member exists in the team
29
+ - The member's `parentMemberId` matches the TL's `memberId`
30
+
31
+ If validation fails, the stop is rejected with a hierarchy violation error. TLs can only stop their own subordinates — not agents in other teams or under other TLs.
32
+
33
+ ## Differences from Orchestrator stop-agent
34
+
35
+ | Aspect | Orchestrator | Team Leader |
36
+ |--------|-------------|-------------|
37
+ | Scope | Any agent in any team | Only subordinates |
38
+ | Hierarchy check | None | Validates parentMemberId |
39
+ | Extra parameter | None | `tlMemberId` required |
40
+
41
+ ## Output
42
+
43
+ JSON confirmation with agent shutdown status, same format as orchestrator stop-agent.
44
+
45
+ ## Related Skills
46
+
47
+ - `start-agent` — Start a subordinate worker
48
+ - `delegate-task` — Assign tasks to running workers
49
+ - `handle-failure` — Handle worker failures (may need stop + restart)
@@ -0,0 +1,20 @@
1
+ {
2
+ "id": "tl-stop-agent",
3
+ "name": "Stop Agent (TL)",
4
+ "description": "Stop a worker agent within the Team Leader's subordinate scope. Validates that the target worker's parentMemberId matches the TL's memberId before stopping.",
5
+ "category": "management",
6
+ "skillType": "claude-skill",
7
+ "promptFile": "instructions.md",
8
+ "execution": {
9
+ "type": "script",
10
+ "script": {
11
+ "file": "execute.sh",
12
+ "interpreter": "bash",
13
+ "timeoutMs": 30000
14
+ }
15
+ },
16
+ "assignableRoles": ["team-leader"],
17
+ "triggers": ["stop agent", "stop worker", "deactivate worker", "shutdown worker"],
18
+ "tags": ["agent", "management", "lifecycle", "hierarchy"],
19
+ "version": "1.0.0"
20
+ }
@@ -0,0 +1,296 @@
1
+ #!/bin/bash
2
+ # Verify a completed task's output against the team's verification pipeline.
3
+ # Reads the task output and runs verification steps based on the team template.
4
+ #
5
+ # Supports two modes:
6
+ # 1. Explicit checks: pass checks[] array directly (legacy behavior)
7
+ # 2. Template pipeline: pass templateId to load verification steps from template
8
+ #
9
+ # When templateId is provided and checks is empty, pipeline steps are loaded
10
+ # from the template API and executed according to the passPolicy.
11
+ set -euo pipefail
12
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
13
+ source "${SCRIPT_DIR}/../_common/lib.sh"
14
+
15
+ INPUT="${1:-}"
16
+ [ -z "$INPUT" ] && error_exit "Usage: execute.sh '{\"taskId\":\"...\",\"taskPath\":\"...\",\"workerId\":\"...\",\"teamId\":\"...\",\"projectPath\":\"...\",\"templateId\":\"dev-fullstack\",\"checks\":[...]}'"
17
+
18
+ TASK_ID=$(echo "$INPUT" | jq -r '.taskId // empty')
19
+ TASK_PATH=$(echo "$INPUT" | jq -r '.taskPath // empty')
20
+ WORKER_ID=$(echo "$INPUT" | jq -r '.workerId // empty')
21
+ TEAM_ID=$(echo "$INPUT" | jq -r '.teamId // empty')
22
+ PROJECT_PATH=$(echo "$INPUT" | jq -r '.projectPath // empty')
23
+ TEMPLATE_ID=$(echo "$INPUT" | jq -r '.templateId // empty')
24
+ CHECKS=$(echo "$INPUT" | jq -c '.checks // []')
25
+
26
+ # At least taskPath or taskId is needed
27
+ if [ -z "$TASK_PATH" ] && [ -z "$TASK_ID" ]; then
28
+ error_exit "Either taskPath or taskId is required"
29
+ fi
30
+
31
+ # Read task output if taskPath is provided
32
+ TASK_OUTPUT=""
33
+ if [ -n "$TASK_PATH" ]; then
34
+ TASK_READ_BODY=$(jq -n --arg taskPath "$TASK_PATH" '{taskPath: $taskPath}')
35
+ TASK_DATA=$(api_call POST "/task-management/read-task" "$TASK_READ_BODY" 2>/dev/null || echo '{}')
36
+ TASK_OUTPUT=$(echo "$TASK_DATA" | jq -r '.data.content // empty' 2>/dev/null || true)
37
+ fi
38
+
39
+ # If taskId is provided, try to get output from task tracking
40
+ if [ -n "$TASK_ID" ]; then
41
+ OUTPUT_BODY=$(jq -n --arg taskId "$TASK_ID" '{taskId: $taskId}')
42
+ OUTPUT_DATA=$(api_call POST "/task-management/get-output" "$OUTPUT_BODY" 2>/dev/null || echo '{}')
43
+ TASK_OUTPUT_FROM_ID=$(echo "$OUTPUT_DATA" | jq -r '.data.output // empty' 2>/dev/null || true)
44
+ [ -z "$TASK_OUTPUT" ] && TASK_OUTPUT="$TASK_OUTPUT_FROM_ID"
45
+ fi
46
+
47
+ # =============================================================================
48
+ # Pipeline loading: convert template pipeline steps to checks
49
+ # =============================================================================
50
+
51
+ PASS_POLICY="all"
52
+ MAX_RETRIES=2
53
+ CHECK_COUNT=$(echo "$CHECKS" | jq 'length')
54
+
55
+ if [ "$CHECK_COUNT" = "0" ] && [ -n "$TEMPLATE_ID" ]; then
56
+ # Load pipeline from template API
57
+ TEMPLATE_DATA=$(api_call GET "/templates/${TEMPLATE_ID}" 2>/dev/null || echo '{}')
58
+ TEMPLATE_SUCCESS=$(echo "$TEMPLATE_DATA" | jq -r '.success // false' 2>/dev/null || echo "false")
59
+
60
+ if [ "$TEMPLATE_SUCCESS" = "true" ]; then
61
+ PIPELINE=$(echo "$TEMPLATE_DATA" | jq -c '.data.verificationPipeline // {}' 2>/dev/null || echo '{}')
62
+ PASS_POLICY=$(echo "$PIPELINE" | jq -r '.passPolicy // "all"')
63
+ MAX_RETRIES=$(echo "$PIPELINE" | jq -r '.maxRetries // 2')
64
+ STEPS=$(echo "$PIPELINE" | jq -c '.steps // []')
65
+ STEP_COUNT=$(echo "$STEPS" | jq 'length')
66
+
67
+ # Convert pipeline steps to checks format
68
+ CHECKS="[]"
69
+ for i in $(seq 0 $((STEP_COUNT - 1))); do
70
+ STEP_ID=$(echo "$STEPS" | jq -r ".[$i].id // \"step-${i}\"")
71
+ STEP_NAME=$(echo "$STEPS" | jq -r ".[$i].name // \"Step ${i}\"")
72
+ STEP_METHOD=$(echo "$STEPS" | jq -r ".[$i].method // \"manual_review\"")
73
+ STEP_CRITICAL=$(echo "$STEPS" | jq -r ".[$i].critical // false")
74
+ STEP_CONFIG=$(echo "$STEPS" | jq -c ".[$i].config // {}")
75
+
76
+ case "$STEP_METHOD" in
77
+ quality_gates)
78
+ # Map quality gates to command checks using the gates config
79
+ GATES=$(echo "$STEP_CONFIG" | jq -r '.gates // [] | .[]' 2>/dev/null || true)
80
+ if [ -n "$GATES" ] && [ -n "$PROJECT_PATH" ]; then
81
+ for GATE in $GATES; do
82
+ GATE_CMD=""
83
+ case "$GATE" in
84
+ typecheck) GATE_CMD="npm run typecheck 2>&1 || npx tsc --noEmit 2>&1" ;;
85
+ tests) GATE_CMD="npm test 2>&1" ;;
86
+ build) GATE_CMD="npm run build 2>&1" ;;
87
+ lint) GATE_CMD="npm run lint 2>&1" ;;
88
+ esac
89
+ if [ -n "$GATE_CMD" ]; then
90
+ CHECKS=$(echo "$CHECKS" | jq \
91
+ --arg name "${STEP_ID}-${GATE}" \
92
+ --arg command "$GATE_CMD" \
93
+ --arg critical "$STEP_CRITICAL" \
94
+ '. + [{name: $name, command: $command, type: "command", critical: ($critical == "true")}]')
95
+ fi
96
+ done
97
+ else
98
+ # No gates specified — default to build check
99
+ CHECKS=$(echo "$CHECKS" | jq \
100
+ --arg name "$STEP_ID" \
101
+ --arg command "npm run build 2>&1" \
102
+ --arg critical "$STEP_CRITICAL" \
103
+ '. + [{name: $name, command: $command, type: "command", critical: ($critical == "true")}]')
104
+ fi
105
+ ;;
106
+ e2e_test)
107
+ # Map to e2e test command
108
+ FRAMEWORK=$(echo "$STEP_CONFIG" | jq -r '.framework // "playwright"')
109
+ TEST_DIR=$(echo "$STEP_CONFIG" | jq -r '.testDir // "tests/e2e"')
110
+ CHECKS=$(echo "$CHECKS" | jq \
111
+ --arg name "$STEP_ID" \
112
+ --arg command "npx ${FRAMEWORK} test ${TEST_DIR} 2>&1" \
113
+ --arg critical "$STEP_CRITICAL" \
114
+ '. + [{name: $name, command: $command, type: "command", critical: ($critical == "true")}]')
115
+ ;;
116
+ code_review|screenshot_review|gemini_vision|content_check|fact_check|source_verify|data_validate|browser_test|custom_script|manual_review)
117
+ # These methods require TL judgment — record as manual review steps
118
+ CHECKS=$(echo "$CHECKS" | jq \
119
+ --arg name "$STEP_ID" \
120
+ --arg desc "$STEP_NAME" \
121
+ --arg method "$STEP_METHOD" \
122
+ --arg critical "$STEP_CRITICAL" \
123
+ '. + [{name: $name, type: "manual", method: $method, description: $desc, critical: ($critical == "true")}]')
124
+ ;;
125
+ *)
126
+ # Unknown method — skip
127
+ CHECKS=$(echo "$CHECKS" | jq \
128
+ --arg name "$STEP_ID" \
129
+ --arg method "$STEP_METHOD" \
130
+ --arg critical "$STEP_CRITICAL" \
131
+ '. + [{name: $name, type: "skip", method: $method, critical: ($critical == "true")}]')
132
+ ;;
133
+ esac
134
+ done
135
+
136
+ CHECK_COUNT=$(echo "$CHECKS" | jq 'length')
137
+ fi
138
+ fi
139
+
140
+ # =============================================================================
141
+ # Run verification checks
142
+ # =============================================================================
143
+
144
+ RESULTS="[]"
145
+ TOTAL_PASSED=0
146
+ TOTAL_FAILED=0
147
+ CRITICAL_PASSED=0
148
+ CRITICAL_FAILED=0
149
+ FAILED_STEPS="[]"
150
+
151
+ if [ "$CHECK_COUNT" = "0" ]; then
152
+ # No checks at all — report a pass-through verification
153
+ RESULTS=$(jq -n '[{
154
+ "name": "manual-review",
155
+ "passed": true,
156
+ "critical": false,
157
+ "message": "No automated checks configured. Task output available for manual review."
158
+ }]')
159
+ TOTAL_PASSED=1
160
+ else
161
+ for i in $(seq 0 $((CHECK_COUNT - 1))); do
162
+ CHECK_NAME=$(echo "$CHECKS" | jq -r ".[$i].name // \"check-${i}\"")
163
+ CHECK_CMD=$(echo "$CHECKS" | jq -r ".[$i].command // empty")
164
+ CHECK_TYPE=$(echo "$CHECKS" | jq -r ".[$i].type // \"command\"")
165
+ CHECK_CRITICAL=$(echo "$CHECKS" | jq -r ".[$i].critical // false")
166
+
167
+ if [ "$CHECK_TYPE" = "command" ] && [ -n "$CHECK_CMD" ] && [ -n "$PROJECT_PATH" ]; then
168
+ # Execute the verification command in the project directory
169
+ CHECK_OUTPUT=""
170
+ CHECK_PASSED=true
171
+ CHECK_OUTPUT=$(cd "$PROJECT_PATH" && eval "$CHECK_CMD" 2>&1) || CHECK_PASSED=false
172
+
173
+ # Truncate output to avoid huge payloads
174
+ CHECK_OUTPUT=$(echo "$CHECK_OUTPUT" | tail -50)
175
+
176
+ if [ "$CHECK_PASSED" = "true" ]; then
177
+ TOTAL_PASSED=$((TOTAL_PASSED + 1))
178
+ [ "$CHECK_CRITICAL" = "true" ] && CRITICAL_PASSED=$((CRITICAL_PASSED + 1))
179
+ else
180
+ TOTAL_FAILED=$((TOTAL_FAILED + 1))
181
+ [ "$CHECK_CRITICAL" = "true" ] && CRITICAL_FAILED=$((CRITICAL_FAILED + 1))
182
+ FAILED_STEPS=$(echo "$FAILED_STEPS" | jq --arg name "$CHECK_NAME" '. + [$name]')
183
+ fi
184
+
185
+ RESULTS=$(echo "$RESULTS" | jq \
186
+ --arg name "$CHECK_NAME" \
187
+ --arg passed "$CHECK_PASSED" \
188
+ --arg output "$CHECK_OUTPUT" \
189
+ --arg critical "$CHECK_CRITICAL" \
190
+ '. + [{name: $name, passed: ($passed == "true"), critical: ($critical == "true"), output: $output}]')
191
+ elif [ "$CHECK_TYPE" = "content-scan" ]; then
192
+ # Content-based verification (check task output contains expected patterns)
193
+ CHECK_PATTERN=$(echo "$CHECKS" | jq -r ".[$i].pattern // empty")
194
+ if [ -n "$CHECK_PATTERN" ] && [ -n "$TASK_OUTPUT" ]; then
195
+ if echo "$TASK_OUTPUT" | grep -qiE "$CHECK_PATTERN"; then
196
+ TOTAL_PASSED=$((TOTAL_PASSED + 1))
197
+ [ "$CHECK_CRITICAL" = "true" ] && CRITICAL_PASSED=$((CRITICAL_PASSED + 1))
198
+ RESULTS=$(echo "$RESULTS" | jq --arg name "$CHECK_NAME" --arg critical "$CHECK_CRITICAL" \
199
+ '. + [{name: $name, passed: true, critical: ($critical == "true"), output: "Pattern found"}]')
200
+ else
201
+ TOTAL_FAILED=$((TOTAL_FAILED + 1))
202
+ [ "$CHECK_CRITICAL" = "true" ] && CRITICAL_FAILED=$((CRITICAL_FAILED + 1))
203
+ FAILED_STEPS=$(echo "$FAILED_STEPS" | jq --arg name "$CHECK_NAME" '. + [$name]')
204
+ RESULTS=$(echo "$RESULTS" | jq --arg name "$CHECK_NAME" --arg critical "$CHECK_CRITICAL" \
205
+ '. + [{name: $name, passed: false, critical: ($critical == "true"), output: "Pattern not found"}]')
206
+ fi
207
+ else
208
+ TOTAL_PASSED=$((TOTAL_PASSED + 1))
209
+ [ "$CHECK_CRITICAL" = "true" ] && CRITICAL_PASSED=$((CRITICAL_PASSED + 1))
210
+ RESULTS=$(echo "$RESULTS" | jq --arg name "$CHECK_NAME" --arg critical "$CHECK_CRITICAL" \
211
+ '. + [{name: $name, passed: true, critical: ($critical == "true"), output: "Skipped (no pattern or output)"}]')
212
+ fi
213
+ elif [ "$CHECK_TYPE" = "manual" ]; then
214
+ # Manual review steps — require TL judgment, auto-pass with note
215
+ CHECK_METHOD=$(echo "$CHECKS" | jq -r ".[$i].method // \"manual_review\"")
216
+ CHECK_DESC=$(echo "$CHECKS" | jq -r ".[$i].description // \"Manual review required\"")
217
+ TOTAL_PASSED=$((TOTAL_PASSED + 1))
218
+ [ "$CHECK_CRITICAL" = "true" ] && CRITICAL_PASSED=$((CRITICAL_PASSED + 1))
219
+ RESULTS=$(echo "$RESULTS" | jq \
220
+ --arg name "$CHECK_NAME" \
221
+ --arg method "$CHECK_METHOD" \
222
+ --arg desc "$CHECK_DESC" \
223
+ --arg critical "$CHECK_CRITICAL" \
224
+ '. + [{name: $name, passed: true, critical: ($critical == "true"), output: ("Requires TL judgment: " + $desc), method: $method, requiresReview: true}]')
225
+ else
226
+ # Unknown check type — skip
227
+ RESULTS=$(echo "$RESULTS" | jq --arg name "$CHECK_NAME" --arg type "$CHECK_TYPE" --arg critical "$CHECK_CRITICAL" \
228
+ '. + [{name: $name, passed: true, critical: ($critical == "true"), output: ("Skipped: unknown check type " + $type)}]')
229
+ TOTAL_PASSED=$((TOTAL_PASSED + 1))
230
+ [ "$CHECK_CRITICAL" = "true" ] && CRITICAL_PASSED=$((CRITICAL_PASSED + 1))
231
+ fi
232
+ done
233
+ fi
234
+
235
+ # =============================================================================
236
+ # Calculate pass/fail based on passPolicy
237
+ # =============================================================================
238
+
239
+ TOTAL_CHECKS=$((TOTAL_PASSED + TOTAL_FAILED))
240
+ if [ "$TOTAL_CHECKS" -gt 0 ]; then
241
+ SCORE=$(echo "scale=0; $TOTAL_PASSED * 100 / $TOTAL_CHECKS" | bc)
242
+ else
243
+ SCORE=100
244
+ fi
245
+
246
+ # Determine overall pass based on passPolicy
247
+ case "$PASS_POLICY" in
248
+ critical_only)
249
+ # Only critical steps must pass
250
+ PASSED=$( [ "$CRITICAL_FAILED" -eq 0 ] && echo "true" || echo "false" )
251
+ ;;
252
+ majority)
253
+ # >50% of total checks must pass
254
+ HALF=$(echo "scale=0; $TOTAL_CHECKS / 2" | bc)
255
+ PASSED=$( [ "$TOTAL_PASSED" -gt "$HALF" ] && echo "true" || echo "false" )
256
+ ;;
257
+ all|*)
258
+ # All checks must pass (default)
259
+ PASSED=$( [ "$TOTAL_FAILED" -eq 0 ] && echo "true" || echo "false" )
260
+ ;;
261
+ esac
262
+
263
+ # Build feedback message
264
+ if [ "$PASSED" = "true" ]; then
265
+ FEEDBACK="Verification passed (${TOTAL_PASSED}/${TOTAL_CHECKS} checks, policy: ${PASS_POLICY})."
266
+ else
267
+ FEEDBACK="Verification failed: ${TOTAL_FAILED}/${TOTAL_CHECKS} checks failed (policy: ${PASS_POLICY})."
268
+ fi
269
+
270
+ # Check if any results require manual TL review
271
+ REQUIRES_REVIEW=$(echo "$RESULTS" | jq '[.[] | select(.requiresReview == true)] | length')
272
+ if [ "$REQUIRES_REVIEW" -gt 0 ]; then
273
+ FEEDBACK="${FEEDBACK} ${REQUIRES_REVIEW} step(s) require Team Leader review."
274
+ fi
275
+
276
+ jq -n \
277
+ --arg passed "$PASSED" \
278
+ --arg score "$SCORE" \
279
+ --arg feedback "$FEEDBACK" \
280
+ --arg passPolicy "$PASS_POLICY" \
281
+ --argjson failedSteps "$FAILED_STEPS" \
282
+ --argjson results "$RESULTS" \
283
+ --arg taskId "$TASK_ID" \
284
+ --arg workerId "$WORKER_ID" \
285
+ --arg templateId "$TEMPLATE_ID" \
286
+ '{
287
+ passed: ($passed == "true"),
288
+ score: ($score | tonumber),
289
+ feedback: $feedback,
290
+ passPolicy: $passPolicy,
291
+ failedSteps: $failedSteps,
292
+ results: $results,
293
+ taskId: $taskId,
294
+ workerId: $workerId,
295
+ templateId: $templateId
296
+ }'
@@ -0,0 +1,122 @@
1
+ # Verify Output
2
+
3
+ Executes the team's verification pipeline against a completed task. Reads the task output and runs verification checks (build, tests, content scans) based on the team template configuration.
4
+
5
+ Supports two modes:
6
+ 1. **Explicit checks**: Pass `checks[]` array directly with specific verification steps
7
+ 2. **Template pipeline**: Pass `templateId` to automatically load verification steps from the team template's `verificationPipeline`
8
+
9
+ ## When to Use
10
+
11
+ - When a worker reports a task as `done`
12
+ - When `report-status` indicates task completion
13
+ - Before marking a task as verified and reporting to the Orchestrator
14
+
15
+ ## Usage
16
+
17
+ ### With explicit checks (legacy)
18
+ ```bash
19
+ bash {{SKILLS_PATH}}/team-leader/verify-output/execute.sh '{"taskId":"task-123","taskPath":"/project/.crewly/tasks/m1/done/task.md","workerId":"worker-1","teamId":"team-123","projectPath":"/path/to/project","checks":[{"name":"build","command":"npm run build"},{"name":"tests","command":"npm test"}]}'
20
+ ```
21
+
22
+ ### With template pipeline (recommended)
23
+ ```bash
24
+ bash {{SKILLS_PATH}}/team-leader/verify-output/execute.sh '{"taskId":"task-123","taskPath":"/project/.crewly/tasks/m1/done/task.md","workerId":"worker-1","teamId":"team-123","projectPath":"/path/to/project","templateId":"dev-fullstack"}'
25
+ ```
26
+
27
+ ## Parameters
28
+
29
+ | Parameter | Required | Description |
30
+ |-----------|----------|-------------|
31
+ | `taskId` | No* | Task ID for tracking lookup |
32
+ | `taskPath` | No* | Absolute path to the task markdown file |
33
+ | `workerId` | No | ID of the worker who completed the task |
34
+ | `teamId` | No | Team ID (for context) |
35
+ | `projectPath` | No | Project directory (required for command-type checks) |
36
+ | `templateId` | No | Template ID to load verification pipeline from |
37
+ | `checks` | No | Array of verification steps (overrides template pipeline) |
38
+
39
+ *At least one of `taskId` or `taskPath` is required.
40
+
41
+ ## Check Types
42
+
43
+ ### Command checks (default)
44
+ Run a shell command in the project directory and check exit code:
45
+ ```json
46
+ { "name": "build", "type": "command", "command": "npm run build" }
47
+ ```
48
+
49
+ ### Content scan checks
50
+ Search task output for a regex pattern:
51
+ ```json
52
+ { "name": "has-tests", "type": "content-scan", "pattern": "test.*pass|coverage.*[89]\\d%" }
53
+ ```
54
+
55
+ ### Manual review steps
56
+ Steps that require Team Leader judgment (auto-loaded from template pipeline):
57
+ ```json
58
+ { "name": "code-review", "type": "manual", "method": "code_review", "description": "Review code diff" }
59
+ ```
60
+
61
+ ## Template Pipeline Integration
62
+
63
+ When `templateId` is provided and `checks` is empty, the skill loads the verification pipeline from the template API (`GET /api/templates/:id`) and converts pipeline steps to checks:
64
+
65
+ | Pipeline Method | Execution |
66
+ |----------------|-----------|
67
+ | `quality_gates` | Runs gate commands (typecheck, tests, build, lint) |
68
+ | `e2e_test` | Runs end-to-end test framework |
69
+ | `code_review` | Marked as manual review for TL |
70
+ | `screenshot_review` | Marked as manual review for TL |
71
+ | `gemini_vision` | Marked as manual review for TL |
72
+ | `content_check` | Marked as manual review for TL |
73
+ | `fact_check` | Marked as manual review for TL |
74
+ | `source_verify` | Marked as manual review for TL |
75
+ | `data_validate` | Marked as manual review for TL |
76
+ | `browser_test` | Marked as manual review for TL |
77
+ | `manual_review` | Marked as manual review for TL |
78
+ | `custom_script` | Marked as manual review for TL |
79
+
80
+ ### Pass Policies
81
+
82
+ The template's `passPolicy` controls the overall pass/fail determination:
83
+
84
+ | Policy | Behavior |
85
+ |--------|----------|
86
+ | `all` | All checks must pass (default) |
87
+ | `majority` | More than 50% of checks must pass |
88
+ | `critical_only` | Only critical steps must pass |
89
+
90
+ ## Output
91
+
92
+ ```json
93
+ {
94
+ "passed": false,
95
+ "score": 67,
96
+ "feedback": "Verification failed: 1/3 checks failed (policy: critical_only).",
97
+ "passPolicy": "critical_only",
98
+ "failedSteps": ["quality-gates-tests"],
99
+ "results": [
100
+ { "name": "quality-gates-build", "passed": true, "critical": true, "output": "..." },
101
+ { "name": "quality-gates-tests", "passed": false, "critical": true, "output": "3 tests failed..." },
102
+ { "name": "code-review", "passed": true, "critical": true, "output": "Requires TL judgment: Code Review", "method": "code_review", "requiresReview": true }
103
+ ],
104
+ "taskId": "task-123",
105
+ "workerId": "worker-1",
106
+ "templateId": "dev-fullstack"
107
+ }
108
+ ```
109
+
110
+ ## Decision Flow After Verification
111
+
112
+ ```
113
+ passed: true → Report success to Orchestrator via aggregate-results
114
+ passed: false → Call handle-failure with the failure details
115
+ requiresReview: true → TL must manually evaluate these steps
116
+ ```
117
+
118
+ ## Related Skills
119
+
120
+ - `handle-failure` — Handle verification failures
121
+ - `aggregate-results` — Include verification results in reports
122
+ - `decompose-goal` — Original task decomposition
@@ -0,0 +1,20 @@
1
+ {
2
+ "id": "tl-verify-output",
3
+ "name": "Verify Output",
4
+ "description": "Execute the team's verification pipeline against a completed task. Reads verificationPipeline configuration from the team template and runs each verification step sequentially.",
5
+ "category": "quality",
6
+ "skillType": "claude-skill",
7
+ "promptFile": "instructions.md",
8
+ "execution": {
9
+ "type": "script",
10
+ "script": {
11
+ "file": "execute.sh",
12
+ "interpreter": "bash",
13
+ "timeoutMs": 60000
14
+ }
15
+ },
16
+ "assignableRoles": ["team-leader"],
17
+ "triggers": ["verify output", "check work", "review task", "quality check", "verify task"],
18
+ "tags": ["verification", "quality", "review", "management"],
19
+ "version": "1.0.0"
20
+ }