crewly 1.2.3 → 1.2.4

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 (610) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +1 -1
  3. package/config/constants.ts +44 -1
  4. package/config/index.ts +4 -0
  5. package/config/roles/orchestrator/prompt.md +30 -2
  6. package/config/roles/team-leader/prompt.md +169 -0
  7. package/config/roles/team-leader/role.json +13 -0
  8. package/config/roles/team-leader/tl-addon.md +142 -0
  9. package/config/runtime_scripts/runtime-config.json +7 -0
  10. package/config/skills/_common/lib.sh +37 -0
  11. package/config/skills/agent/computer-use/execute.sh +228 -0
  12. package/config/skills/agent/computer-use/instructions.md +103 -0
  13. package/config/skills/agent/computer-use/lib/accessibility.sh +292 -0
  14. package/config/skills/agent/computer-use/lib/applescript.sh +117 -0
  15. package/config/skills/agent/computer-use/lib/discover.sh +122 -0
  16. package/config/skills/agent/computer-use/lib/playwright.sh +153 -0
  17. package/config/skills/agent/computer-use/lib/screenshot.sh +61 -0
  18. package/config/skills/agent/computer-use/skill.json +29 -0
  19. package/config/skills/agent/core/accept-task/execute.sh +7 -1
  20. package/config/skills/agent/core/complete-task/execute.sh +38 -1
  21. package/config/skills/agent/core/report-status/execute.sh +51 -2
  22. package/config/skills/agent/desktop-app-control/execute.sh +561 -0
  23. package/config/skills/agent/desktop-app-control/instructions.md +102 -0
  24. package/config/skills/agent/desktop-app-control/skill.json +33 -0
  25. package/config/skills/orchestrator/broadcast-to-org/execute.sh +88 -0
  26. package/config/skills/orchestrator/broadcast-to-org/instructions.md +51 -0
  27. package/config/skills/orchestrator/broadcast-to-org/skill.json +20 -0
  28. package/config/skills/orchestrator/delegate-task/execute.sh +75 -10
  29. package/config/skills/orchestrator/delegate-task/instructions.md +11 -1
  30. package/config/skills/orchestrator/handle-agent-failure/execute.sh +45 -0
  31. package/config/skills/orchestrator/handle-agent-failure/instructions.md +29 -0
  32. package/config/skills/orchestrator/handle-agent-failure/skill.json +20 -0
  33. package/config/skills/orchestrator/restart-crewly/instructions.md +9 -2
  34. package/config/skills/team-leader/_common/lib.sh +4 -0
  35. package/config/skills/team-leader/aggregate-results/execute.sh +168 -0
  36. package/config/skills/team-leader/aggregate-results/instructions.md +89 -0
  37. package/config/skills/team-leader/aggregate-results/skill.json +20 -0
  38. package/config/skills/team-leader/decompose-goal/execute.sh +86 -0
  39. package/config/skills/team-leader/decompose-goal/instructions.md +84 -0
  40. package/config/skills/team-leader/decompose-goal/skill.json +20 -0
  41. package/config/skills/team-leader/delegate-task/execute.sh +142 -0
  42. package/config/skills/team-leader/delegate-task/instructions.md +55 -0
  43. package/config/skills/team-leader/delegate-task/skill.json +20 -0
  44. package/config/skills/team-leader/handle-failure/execute.sh +119 -0
  45. package/config/skills/team-leader/handle-failure/instructions.md +93 -0
  46. package/config/skills/team-leader/handle-failure/skill.json +20 -0
  47. package/config/skills/team-leader/schedule-check/execute.sh +65 -0
  48. package/config/skills/team-leader/schedule-check/execute.test.sh +247 -0
  49. package/config/skills/team-leader/schedule-check/instructions.md +49 -0
  50. package/config/skills/team-leader/schedule-check/skill.json +20 -0
  51. package/config/skills/team-leader/start-agent/execute.sh +39 -0
  52. package/config/skills/team-leader/start-agent/instructions.md +48 -0
  53. package/config/skills/team-leader/start-agent/skill.json +20 -0
  54. package/config/skills/team-leader/stop-agent/execute.sh +39 -0
  55. package/config/skills/team-leader/stop-agent/instructions.md +49 -0
  56. package/config/skills/team-leader/stop-agent/skill.json +20 -0
  57. package/config/skills/team-leader/verify-output/execute.sh +296 -0
  58. package/config/skills/team-leader/verify-output/instructions.md +122 -0
  59. package/config/skills/team-leader/verify-output/skill.json +20 -0
  60. package/config/templates/core-team/demo-script.md +41 -0
  61. package/config/templates/core-team/goals.md +20 -0
  62. package/config/templates/core-team/team.json +22 -0
  63. package/config/templates/dev-fullstack/template.json +115 -0
  64. package/config/templates/education-smb/README.md +27 -0
  65. package/config/templates/education-smb/goals.md +16 -0
  66. package/config/templates/education-smb/knowledge/docs/content-standards.md +24 -0
  67. package/config/templates/education-smb/knowledge/docs/education-industry-context.md +13 -0
  68. package/config/templates/education-smb/knowledge/index.json +24 -0
  69. package/config/templates/education-smb/learned-patterns.json +16 -0
  70. package/config/templates/education-smb/quality-gates.yaml +66 -0
  71. package/config/templates/education-smb/roles/analytics-specialist.md +6 -0
  72. package/config/templates/education-smb/roles/content-creator.md +6 -0
  73. package/config/templates/education-smb/roles/curriculum-designer.md +6 -0
  74. package/config/templates/education-smb/roles/engagement-manager.md +6 -0
  75. package/config/templates/education-smb/team.json +40 -0
  76. package/config/templates/education-smb/template.json +26 -0
  77. package/config/templates/education-smb/workflows/course-content-generation.yaml +44 -0
  78. package/config/templates/education-smb/workflows/reporting.yaml +31 -0
  79. package/config/templates/education-smb/workflows/student-communication.yaml +44 -0
  80. package/config/templates/education-smb/workflows.yaml +40 -0
  81. package/config/templates/insurance-smb/README.md +28 -0
  82. package/config/templates/insurance-smb/goals.md +21 -0
  83. package/config/templates/insurance-smb/knowledge/docs/compliance-checklist.md +28 -0
  84. package/config/templates/insurance-smb/knowledge/docs/insurance-industry-context.md +23 -0
  85. package/config/templates/insurance-smb/knowledge/index.json +24 -0
  86. package/config/templates/insurance-smb/learned-patterns.json +16 -0
  87. package/config/templates/insurance-smb/quality-gates.yaml +54 -0
  88. package/config/templates/insurance-smb/roles/claims-processor.md +6 -0
  89. package/config/templates/insurance-smb/roles/client-manager.md +6 -0
  90. package/config/templates/insurance-smb/roles/compliance-officer.md +6 -0
  91. package/config/templates/insurance-smb/roles/marketing-specialist.md +6 -0
  92. package/config/templates/insurance-smb/roles/policy-analyst.md +6 -0
  93. package/config/templates/insurance-smb/team.json +48 -0
  94. package/config/templates/insurance-smb/template.json +26 -0
  95. package/config/templates/insurance-smb/workflows/claims-processing.yaml +48 -0
  96. package/config/templates/insurance-smb/workflows.yaml +43 -0
  97. package/config/templates/research-analysis/template.json +88 -0
  98. package/config/templates/social-media-ops/template.json +85 -0
  99. package/config/templates/video-production/template.json +123 -0
  100. package/dist/backend/backend/src/constants.d.ts +303 -15
  101. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  102. package/dist/backend/backend/src/constants.js +296 -15
  103. package/dist/backend/backend/src/constants.js.map +1 -1
  104. package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts.map +1 -1
  105. package/dist/backend/backend/src/controllers/chat/chat.controller.js +69 -48
  106. package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
  107. package/dist/backend/backend/src/controllers/cloud/auth/auth.controller.d.ts +81 -0
  108. package/dist/backend/backend/src/controllers/cloud/auth/auth.controller.d.ts.map +1 -0
  109. package/dist/backend/backend/src/controllers/cloud/auth/auth.controller.js +234 -0
  110. package/dist/backend/backend/src/controllers/cloud/auth/auth.controller.js.map +1 -0
  111. package/dist/backend/backend/src/controllers/cloud/auth/auth.routes.d.ts +25 -0
  112. package/dist/backend/backend/src/controllers/cloud/auth/auth.routes.d.ts.map +1 -0
  113. package/dist/backend/backend/src/controllers/cloud/auth/auth.routes.js +38 -0
  114. package/dist/backend/backend/src/controllers/cloud/auth/auth.routes.js.map +1 -0
  115. package/dist/backend/backend/src/controllers/cloud/cloud-auth.controller.d.ts +69 -0
  116. package/dist/backend/backend/src/controllers/cloud/cloud-auth.controller.d.ts.map +1 -0
  117. package/dist/backend/backend/src/controllers/cloud/cloud-auth.controller.js +165 -0
  118. package/dist/backend/backend/src/controllers/cloud/cloud-auth.controller.js.map +1 -0
  119. package/dist/backend/backend/src/controllers/cloud/cloud-auth.routes.d.ts +23 -0
  120. package/dist/backend/backend/src/controllers/cloud/cloud-auth.routes.d.ts.map +1 -0
  121. package/dist/backend/backend/src/controllers/cloud/cloud-auth.routes.js +32 -0
  122. package/dist/backend/backend/src/controllers/cloud/cloud-auth.routes.js.map +1 -0
  123. package/dist/backend/backend/src/controllers/cloud/cloud.controller.d.ts +52 -0
  124. package/dist/backend/backend/src/controllers/cloud/cloud.controller.d.ts.map +1 -0
  125. package/dist/backend/backend/src/controllers/cloud/cloud.controller.js +122 -0
  126. package/dist/backend/backend/src/controllers/cloud/cloud.controller.js.map +1 -0
  127. package/dist/backend/backend/src/controllers/cloud/cloud.routes.d.ts +21 -0
  128. package/dist/backend/backend/src/controllers/cloud/cloud.routes.d.ts.map +1 -0
  129. package/dist/backend/backend/src/controllers/cloud/cloud.routes.js +32 -0
  130. package/dist/backend/backend/src/controllers/cloud/cloud.routes.js.map +1 -0
  131. package/dist/backend/backend/src/controllers/cloud/files/cloud-file.controller.d.ts +42 -0
  132. package/dist/backend/backend/src/controllers/cloud/files/cloud-file.controller.d.ts.map +1 -0
  133. package/dist/backend/backend/src/controllers/cloud/files/cloud-file.controller.js +138 -0
  134. package/dist/backend/backend/src/controllers/cloud/files/cloud-file.controller.js.map +1 -0
  135. package/dist/backend/backend/src/controllers/cloud/files/cloud-file.routes.d.ts +23 -0
  136. package/dist/backend/backend/src/controllers/cloud/files/cloud-file.routes.d.ts.map +1 -0
  137. package/dist/backend/backend/src/controllers/cloud/files/cloud-file.routes.js +34 -0
  138. package/dist/backend/backend/src/controllers/cloud/files/cloud-file.routes.js.map +1 -0
  139. package/dist/backend/backend/src/controllers/cloud/files/cloud-file.types.d.ts +43 -0
  140. package/dist/backend/backend/src/controllers/cloud/files/cloud-file.types.d.ts.map +1 -0
  141. package/dist/backend/backend/src/controllers/cloud/files/cloud-file.types.js +9 -0
  142. package/dist/backend/backend/src/controllers/cloud/files/cloud-file.types.js.map +1 -0
  143. package/dist/backend/backend/src/controllers/cloud/files/index.d.ts +7 -0
  144. package/dist/backend/backend/src/controllers/cloud/files/index.d.ts.map +1 -0
  145. package/dist/backend/backend/src/controllers/cloud/files/index.js +7 -0
  146. package/dist/backend/backend/src/controllers/cloud/files/index.js.map +1 -0
  147. package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.controller.d.ts +47 -0
  148. package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.controller.d.ts.map +1 -0
  149. package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.controller.js +131 -0
  150. package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.controller.js.map +1 -0
  151. package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.routes.d.ts +23 -0
  152. package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.routes.d.ts.map +1 -0
  153. package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.routes.js +30 -0
  154. package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.routes.js.map +1 -0
  155. package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.types.d.ts +81 -0
  156. package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.types.d.ts.map +1 -0
  157. package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.types.js +85 -0
  158. package/dist/backend/backend/src/controllers/cloud/h5/h5-entry.types.js.map +1 -0
  159. package/dist/backend/backend/src/controllers/cloud/h5/index.d.ts +7 -0
  160. package/dist/backend/backend/src/controllers/cloud/h5/index.d.ts.map +1 -0
  161. package/dist/backend/backend/src/controllers/cloud/h5/index.js +7 -0
  162. package/dist/backend/backend/src/controllers/cloud/h5/index.js.map +1 -0
  163. package/dist/backend/backend/src/controllers/cloud/index.d.ts +14 -0
  164. package/dist/backend/backend/src/controllers/cloud/index.d.ts.map +1 -0
  165. package/dist/backend/backend/src/controllers/cloud/index.js +14 -0
  166. package/dist/backend/backend/src/controllers/cloud/index.js.map +1 -0
  167. package/dist/backend/backend/src/controllers/cloud/magic-moment/index.d.ts +7 -0
  168. package/dist/backend/backend/src/controllers/cloud/magic-moment/index.d.ts.map +1 -0
  169. package/dist/backend/backend/src/controllers/cloud/magic-moment/index.js +7 -0
  170. package/dist/backend/backend/src/controllers/cloud/magic-moment/index.js.map +1 -0
  171. package/dist/backend/backend/src/controllers/cloud/magic-moment/magic-moment.controller.d.ts +45 -0
  172. package/dist/backend/backend/src/controllers/cloud/magic-moment/magic-moment.controller.d.ts.map +1 -0
  173. package/dist/backend/backend/src/controllers/cloud/magic-moment/magic-moment.controller.js +155 -0
  174. package/dist/backend/backend/src/controllers/cloud/magic-moment/magic-moment.controller.js.map +1 -0
  175. package/dist/backend/backend/src/controllers/cloud/magic-moment/magic-moment.routes.d.ts +25 -0
  176. package/dist/backend/backend/src/controllers/cloud/magic-moment/magic-moment.routes.d.ts.map +1 -0
  177. package/dist/backend/backend/src/controllers/cloud/magic-moment/magic-moment.routes.js +32 -0
  178. package/dist/backend/backend/src/controllers/cloud/magic-moment/magic-moment.routes.js.map +1 -0
  179. package/dist/backend/backend/src/controllers/cloud/relay.controller.d.ts +101 -0
  180. package/dist/backend/backend/src/controllers/cloud/relay.controller.d.ts.map +1 -0
  181. package/dist/backend/backend/src/controllers/cloud/relay.controller.js +343 -0
  182. package/dist/backend/backend/src/controllers/cloud/relay.controller.js.map +1 -0
  183. package/dist/backend/backend/src/controllers/cloud/relay.routes.d.ts +29 -0
  184. package/dist/backend/backend/src/controllers/cloud/relay.routes.d.ts.map +1 -0
  185. package/dist/backend/backend/src/controllers/cloud/relay.routes.js +44 -0
  186. package/dist/backend/backend/src/controllers/cloud/relay.routes.js.map +1 -0
  187. package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.controller.d.ts +49 -0
  188. package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.controller.d.ts.map +1 -0
  189. package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.controller.js +152 -0
  190. package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.controller.js.map +1 -0
  191. package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.routes.d.ts +24 -0
  192. package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.routes.d.ts.map +1 -0
  193. package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.routes.js +34 -0
  194. package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.routes.js.map +1 -0
  195. package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.types.d.ts +90 -0
  196. package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.types.d.ts.map +1 -0
  197. package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.types.js +48 -0
  198. package/dist/backend/backend/src/controllers/cloud/tasks/cloud-task.types.js.map +1 -0
  199. package/dist/backend/backend/src/controllers/cloud/tasks/index.d.ts +7 -0
  200. package/dist/backend/backend/src/controllers/cloud/tasks/index.d.ts.map +1 -0
  201. package/dist/backend/backend/src/controllers/cloud/tasks/index.js +7 -0
  202. package/dist/backend/backend/src/controllers/cloud/tasks/index.js.map +1 -0
  203. package/dist/backend/backend/src/controllers/marketplace/index.d.ts +2 -0
  204. package/dist/backend/backend/src/controllers/marketplace/index.d.ts.map +1 -1
  205. package/dist/backend/backend/src/controllers/marketplace/index.js +3 -0
  206. package/dist/backend/backend/src/controllers/marketplace/index.js.map +1 -1
  207. package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.d.ts +12 -12
  208. package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.d.ts.map +1 -1
  209. package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.js +1 -18
  210. package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.js.map +1 -1
  211. package/dist/backend/backend/src/controllers/marketplace/marketplace.routes.d.ts.map +1 -1
  212. package/dist/backend/backend/src/controllers/marketplace/marketplace.routes.js +3 -0
  213. package/dist/backend/backend/src/controllers/marketplace/marketplace.routes.js.map +1 -1
  214. package/dist/backend/backend/src/controllers/marketplace/template-marketplace.controller.d.ts +111 -0
  215. package/dist/backend/backend/src/controllers/marketplace/template-marketplace.controller.d.ts.map +1 -0
  216. package/dist/backend/backend/src/controllers/marketplace/template-marketplace.controller.js +220 -0
  217. package/dist/backend/backend/src/controllers/marketplace/template-marketplace.controller.js.map +1 -0
  218. package/dist/backend/backend/src/controllers/marketplace/template-marketplace.routes.d.ts +33 -0
  219. package/dist/backend/backend/src/controllers/marketplace/template-marketplace.routes.d.ts.map +1 -0
  220. package/dist/backend/backend/src/controllers/marketplace/template-marketplace.routes.js +50 -0
  221. package/dist/backend/backend/src/controllers/marketplace/template-marketplace.routes.js.map +1 -0
  222. package/dist/backend/backend/src/controllers/messaging/messenger.routes.d.ts.map +1 -1
  223. package/dist/backend/backend/src/controllers/messaging/messenger.routes.js +4 -1
  224. package/dist/backend/backend/src/controllers/messaging/messenger.routes.js.map +1 -1
  225. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts.map +1 -1
  226. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js +18 -2
  227. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js.map +1 -1
  228. package/dist/backend/backend/src/controllers/payment/index.d.ts +7 -0
  229. package/dist/backend/backend/src/controllers/payment/index.d.ts.map +1 -0
  230. package/dist/backend/backend/src/controllers/payment/index.js +7 -0
  231. package/dist/backend/backend/src/controllers/payment/index.js.map +1 -0
  232. package/dist/backend/backend/src/controllers/payment/payment.controller.d.ts +57 -0
  233. package/dist/backend/backend/src/controllers/payment/payment.controller.d.ts.map +1 -0
  234. package/dist/backend/backend/src/controllers/payment/payment.controller.js +136 -0
  235. package/dist/backend/backend/src/controllers/payment/payment.controller.js.map +1 -0
  236. package/dist/backend/backend/src/controllers/payment/payment.routes.d.ts +27 -0
  237. package/dist/backend/backend/src/controllers/payment/payment.routes.d.ts.map +1 -0
  238. package/dist/backend/backend/src/controllers/payment/payment.routes.js +38 -0
  239. package/dist/backend/backend/src/controllers/payment/payment.routes.js.map +1 -0
  240. package/dist/backend/backend/src/controllers/payment/payment.types.d.ts +109 -0
  241. package/dist/backend/backend/src/controllers/payment/payment.types.d.ts.map +1 -0
  242. package/dist/backend/backend/src/controllers/payment/payment.types.js +54 -0
  243. package/dist/backend/backend/src/controllers/payment/payment.types.js.map +1 -0
  244. package/dist/backend/backend/src/controllers/request-types.d.ts +34 -5
  245. package/dist/backend/backend/src/controllers/request-types.d.ts.map +1 -1
  246. package/dist/backend/backend/src/controllers/session/session.controller.d.ts +14 -0
  247. package/dist/backend/backend/src/controllers/session/session.controller.d.ts.map +1 -1
  248. package/dist/backend/backend/src/controllers/session/session.controller.js +48 -0
  249. package/dist/backend/backend/src/controllers/session/session.controller.js.map +1 -1
  250. package/dist/backend/backend/src/controllers/session/session.routes.d.ts.map +1 -1
  251. package/dist/backend/backend/src/controllers/session/session.routes.js +3 -1
  252. package/dist/backend/backend/src/controllers/session/session.routes.js.map +1 -1
  253. package/dist/backend/backend/src/controllers/system/scheduler.controller.d.ts.map +1 -1
  254. package/dist/backend/backend/src/controllers/system/scheduler.controller.js +4 -3
  255. package/dist/backend/backend/src/controllers/system/scheduler.controller.js.map +1 -1
  256. package/dist/backend/backend/src/controllers/system/system.controller.d.ts.map +1 -1
  257. package/dist/backend/backend/src/controllers/system/system.controller.js +13 -15
  258. package/dist/backend/backend/src/controllers/system/system.controller.js.map +1 -1
  259. package/dist/backend/backend/src/controllers/task-management/assignments.controller.d.ts.map +1 -1
  260. package/dist/backend/backend/src/controllers/task-management/assignments.controller.js.map +1 -1
  261. package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts.map +1 -1
  262. package/dist/backend/backend/src/controllers/task-management/task-management.controller.js +40 -4
  263. package/dist/backend/backend/src/controllers/task-management/task-management.controller.js.map +1 -1
  264. package/dist/backend/backend/src/controllers/task-management/tasks.controller.js.map +1 -1
  265. package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
  266. package/dist/backend/backend/src/controllers/team/team.controller.js +259 -13
  267. package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
  268. package/dist/backend/backend/src/controllers/template/index.d.ts +8 -0
  269. package/dist/backend/backend/src/controllers/template/index.d.ts.map +1 -0
  270. package/dist/backend/backend/src/controllers/template/index.js +8 -0
  271. package/dist/backend/backend/src/controllers/template/index.js.map +1 -0
  272. package/dist/backend/backend/src/controllers/template/template.controller.d.ts +63 -0
  273. package/dist/backend/backend/src/controllers/template/template.controller.d.ts.map +1 -0
  274. package/dist/backend/backend/src/controllers/template/template.controller.js +112 -0
  275. package/dist/backend/backend/src/controllers/template/template.controller.js.map +1 -0
  276. package/dist/backend/backend/src/controllers/template/template.routes.d.ts +24 -0
  277. package/dist/backend/backend/src/controllers/template/template.routes.d.ts.map +1 -0
  278. package/dist/backend/backend/src/controllers/template/template.routes.js +33 -0
  279. package/dist/backend/backend/src/controllers/template/template.routes.js.map +1 -0
  280. package/dist/backend/backend/src/index.d.ts.map +1 -1
  281. package/dist/backend/backend/src/index.js +105 -13
  282. package/dist/backend/backend/src/index.js.map +1 -1
  283. package/dist/backend/backend/src/middleware/agent-heartbeat.middleware.js +3 -3
  284. package/dist/backend/backend/src/middleware/agent-heartbeat.middleware.js.map +1 -1
  285. package/dist/backend/backend/src/models/Team.d.ts +5 -0
  286. package/dist/backend/backend/src/models/Team.d.ts.map +1 -1
  287. package/dist/backend/backend/src/models/Team.js +24 -0
  288. package/dist/backend/backend/src/models/Team.js.map +1 -1
  289. package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
  290. package/dist/backend/backend/src/routes/api.routes.js +21 -0
  291. package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
  292. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +1 -6
  293. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  294. package/dist/backend/backend/src/services/agent/agent-registration.service.js +211 -287
  295. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  296. package/dist/backend/backend/src/services/agent/claude-runtime.service.d.ts +7 -1
  297. package/dist/backend/backend/src/services/agent/claude-runtime.service.d.ts.map +1 -1
  298. package/dist/backend/backend/src/services/agent/claude-runtime.service.js +11 -2
  299. package/dist/backend/backend/src/services/agent/claude-runtime.service.js.map +1 -1
  300. package/dist/backend/backend/src/services/agent/gemini-runtime.service.d.ts +1 -0
  301. package/dist/backend/backend/src/services/agent/gemini-runtime.service.d.ts.map +1 -1
  302. package/dist/backend/backend/src/services/agent/gemini-runtime.service.js +30 -43
  303. package/dist/backend/backend/src/services/agent/gemini-runtime.service.js.map +1 -1
  304. package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.d.ts +216 -0
  305. package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.d.ts.map +1 -0
  306. package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.js +496 -0
  307. package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.js.map +1 -0
  308. package/dist/backend/backend/src/services/agent/openhands-runtime.service.d.ts +70 -0
  309. package/dist/backend/backend/src/services/agent/openhands-runtime.service.d.ts.map +1 -0
  310. package/dist/backend/backend/src/services/agent/openhands-runtime.service.js +131 -0
  311. package/dist/backend/backend/src/services/agent/openhands-runtime.service.js.map +1 -0
  312. package/dist/backend/backend/src/services/agent/pty-activity-tracker.service.d.ts +21 -1
  313. package/dist/backend/backend/src/services/agent/pty-activity-tracker.service.d.ts.map +1 -1
  314. package/dist/backend/backend/src/services/agent/pty-activity-tracker.service.js +32 -1
  315. package/dist/backend/backend/src/services/agent/pty-activity-tracker.service.js.map +1 -1
  316. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts +77 -3
  317. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts.map +1 -1
  318. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js +281 -30
  319. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js.map +1 -1
  320. package/dist/backend/backend/src/services/agent/runtime-service.factory.d.ts.map +1 -1
  321. package/dist/backend/backend/src/services/agent/runtime-service.factory.js +9 -0
  322. package/dist/backend/backend/src/services/agent/runtime-service.factory.js.map +1 -1
  323. package/dist/backend/backend/src/services/ai/prompt-builder.service.d.ts +49 -2
  324. package/dist/backend/backend/src/services/ai/prompt-builder.service.d.ts.map +1 -1
  325. package/dist/backend/backend/src/services/ai/prompt-builder.service.js +124 -2
  326. package/dist/backend/backend/src/services/ai/prompt-builder.service.js.map +1 -1
  327. package/dist/backend/backend/src/services/chat/chat.service.d.ts +10 -2
  328. package/dist/backend/backend/src/services/chat/chat.service.d.ts.map +1 -1
  329. package/dist/backend/backend/src/services/chat/chat.service.js +49 -8
  330. package/dist/backend/backend/src/services/chat/chat.service.js.map +1 -1
  331. package/dist/backend/backend/src/services/cloud/auth/auth.service.d.ts +174 -0
  332. package/dist/backend/backend/src/services/cloud/auth/auth.service.d.ts.map +1 -0
  333. package/dist/backend/backend/src/services/cloud/auth/auth.service.js +402 -0
  334. package/dist/backend/backend/src/services/cloud/auth/auth.service.js.map +1 -0
  335. package/dist/backend/backend/src/services/cloud/auth/auth.types.d.ts +110 -0
  336. package/dist/backend/backend/src/services/cloud/auth/auth.types.d.ts.map +1 -0
  337. package/dist/backend/backend/src/services/cloud/auth/auth.types.js +54 -0
  338. package/dist/backend/backend/src/services/cloud/auth/auth.types.js.map +1 -0
  339. package/dist/backend/backend/src/services/cloud/auth/auth.utils.d.ts +36 -0
  340. package/dist/backend/backend/src/services/cloud/auth/auth.utils.d.ts.map +1 -0
  341. package/dist/backend/backend/src/services/cloud/auth/auth.utils.js +31 -0
  342. package/dist/backend/backend/src/services/cloud/auth/auth.utils.js.map +1 -0
  343. package/dist/backend/backend/src/services/cloud/auth/jwt-auth.middleware.d.ts +47 -0
  344. package/dist/backend/backend/src/services/cloud/auth/jwt-auth.middleware.d.ts.map +1 -0
  345. package/dist/backend/backend/src/services/cloud/auth/jwt-auth.middleware.js +116 -0
  346. package/dist/backend/backend/src/services/cloud/auth/jwt-auth.middleware.js.map +1 -0
  347. package/dist/backend/backend/src/services/cloud/auth/supabase-auth.middleware.d.ts +61 -0
  348. package/dist/backend/backend/src/services/cloud/auth/supabase-auth.middleware.d.ts.map +1 -0
  349. package/dist/backend/backend/src/services/cloud/auth/supabase-auth.middleware.js +203 -0
  350. package/dist/backend/backend/src/services/cloud/auth/supabase-auth.middleware.js.map +1 -0
  351. package/dist/backend/backend/src/services/cloud/cloud-auth.middleware.d.ts +46 -0
  352. package/dist/backend/backend/src/services/cloud/cloud-auth.middleware.d.ts.map +1 -0
  353. package/dist/backend/backend/src/services/cloud/cloud-auth.middleware.js +95 -0
  354. package/dist/backend/backend/src/services/cloud/cloud-auth.middleware.js.map +1 -0
  355. package/dist/backend/backend/src/services/cloud/cloud-auth.service.d.ts +136 -0
  356. package/dist/backend/backend/src/services/cloud/cloud-auth.service.d.ts.map +1 -0
  357. package/dist/backend/backend/src/services/cloud/cloud-auth.service.js +204 -0
  358. package/dist/backend/backend/src/services/cloud/cloud-auth.service.js.map +1 -0
  359. package/dist/backend/backend/src/services/cloud/cloud-client.service.d.ts +179 -0
  360. package/dist/backend/backend/src/services/cloud/cloud-client.service.d.ts.map +1 -0
  361. package/dist/backend/backend/src/services/cloud/cloud-client.service.js +237 -0
  362. package/dist/backend/backend/src/services/cloud/cloud-client.service.js.map +1 -0
  363. package/dist/backend/backend/src/services/cloud/cloud-file.service.d.ts +97 -0
  364. package/dist/backend/backend/src/services/cloud/cloud-file.service.d.ts.map +1 -0
  365. package/dist/backend/backend/src/services/cloud/cloud-file.service.js +184 -0
  366. package/dist/backend/backend/src/services/cloud/cloud-file.service.js.map +1 -0
  367. package/dist/backend/backend/src/services/cloud/cloud-image-analysis.service.d.ts +114 -0
  368. package/dist/backend/backend/src/services/cloud/cloud-image-analysis.service.d.ts.map +1 -0
  369. package/dist/backend/backend/src/services/cloud/cloud-image-analysis.service.js +196 -0
  370. package/dist/backend/backend/src/services/cloud/cloud-image-analysis.service.js.map +1 -0
  371. package/dist/backend/backend/src/services/cloud/cloud-task-processor.service.d.ts +118 -0
  372. package/dist/backend/backend/src/services/cloud/cloud-task-processor.service.d.ts.map +1 -0
  373. package/dist/backend/backend/src/services/cloud/cloud-task-processor.service.js +322 -0
  374. package/dist/backend/backend/src/services/cloud/cloud-task-processor.service.js.map +1 -0
  375. package/dist/backend/backend/src/services/cloud/cloud-task.service.d.ts +115 -0
  376. package/dist/backend/backend/src/services/cloud/cloud-task.service.d.ts.map +1 -0
  377. package/dist/backend/backend/src/services/cloud/cloud-task.service.js +265 -0
  378. package/dist/backend/backend/src/services/cloud/cloud-task.service.js.map +1 -0
  379. package/dist/backend/backend/src/services/cloud/relay-client.service.d.ts +175 -0
  380. package/dist/backend/backend/src/services/cloud/relay-client.service.d.ts.map +1 -0
  381. package/dist/backend/backend/src/services/cloud/relay-client.service.js +392 -0
  382. package/dist/backend/backend/src/services/cloud/relay-client.service.js.map +1 -0
  383. package/dist/backend/backend/src/services/cloud/relay-crypto.service.d.ts +87 -0
  384. package/dist/backend/backend/src/services/cloud/relay-crypto.service.d.ts.map +1 -0
  385. package/dist/backend/backend/src/services/cloud/relay-crypto.service.js +140 -0
  386. package/dist/backend/backend/src/services/cloud/relay-crypto.service.js.map +1 -0
  387. package/dist/backend/backend/src/services/cloud/relay-server.service.d.ts +183 -0
  388. package/dist/backend/backend/src/services/cloud/relay-server.service.d.ts.map +1 -0
  389. package/dist/backend/backend/src/services/cloud/relay-server.service.js +523 -0
  390. package/dist/backend/backend/src/services/cloud/relay-server.service.js.map +1 -0
  391. package/dist/backend/backend/src/services/cloud/relay.types.d.ts +170 -0
  392. package/dist/backend/backend/src/services/cloud/relay.types.d.ts.map +1 -0
  393. package/dist/backend/backend/src/services/cloud/relay.types.js +69 -0
  394. package/dist/backend/backend/src/services/cloud/relay.types.js.map +1 -0
  395. package/dist/backend/backend/src/services/continuation/patterns/idle-patterns.d.ts +9 -1
  396. package/dist/backend/backend/src/services/continuation/patterns/idle-patterns.d.ts.map +1 -1
  397. package/dist/backend/backend/src/services/continuation/patterns/idle-patterns.js +18 -4
  398. package/dist/backend/backend/src/services/continuation/patterns/idle-patterns.js.map +1 -1
  399. package/dist/backend/backend/src/services/core/env.config.d.ts +147 -0
  400. package/dist/backend/backend/src/services/core/env.config.d.ts.map +1 -0
  401. package/dist/backend/backend/src/services/core/env.config.js +226 -0
  402. package/dist/backend/backend/src/services/core/env.config.js.map +1 -0
  403. package/dist/backend/backend/src/services/core/storage.service.d.ts.map +1 -1
  404. package/dist/backend/backend/src/services/core/storage.service.js +5 -0
  405. package/dist/backend/backend/src/services/core/storage.service.js.map +1 -1
  406. package/dist/backend/backend/src/services/event-bus/event-bus.service.d.ts +20 -0
  407. package/dist/backend/backend/src/services/event-bus/event-bus.service.d.ts.map +1 -1
  408. package/dist/backend/backend/src/services/event-bus/event-bus.service.js +35 -0
  409. package/dist/backend/backend/src/services/event-bus/event-bus.service.js.map +1 -1
  410. package/dist/backend/backend/src/services/hierarchy/hierarchy-escalation.service.d.ts +160 -0
  411. package/dist/backend/backend/src/services/hierarchy/hierarchy-escalation.service.d.ts.map +1 -0
  412. package/dist/backend/backend/src/services/hierarchy/hierarchy-escalation.service.js +261 -0
  413. package/dist/backend/backend/src/services/hierarchy/hierarchy-escalation.service.js.map +1 -0
  414. package/dist/backend/backend/src/services/hierarchy/hierarchy-reporting.service.d.ts +161 -0
  415. package/dist/backend/backend/src/services/hierarchy/hierarchy-reporting.service.d.ts.map +1 -0
  416. package/dist/backend/backend/src/services/hierarchy/hierarchy-reporting.service.js +276 -0
  417. package/dist/backend/backend/src/services/hierarchy/hierarchy-reporting.service.js.map +1 -0
  418. package/dist/backend/backend/src/services/marketplace/index.d.ts +1 -0
  419. package/dist/backend/backend/src/services/marketplace/index.d.ts.map +1 -1
  420. package/dist/backend/backend/src/services/marketplace/index.js +2 -0
  421. package/dist/backend/backend/src/services/marketplace/index.js.map +1 -1
  422. package/dist/backend/backend/src/services/marketplace/marketplace.service.js +2 -2
  423. package/dist/backend/backend/src/services/marketplace/template-marketplace.service.d.ts +149 -0
  424. package/dist/backend/backend/src/services/marketplace/template-marketplace.service.d.ts.map +1 -0
  425. package/dist/backend/backend/src/services/marketplace/template-marketplace.service.js +500 -0
  426. package/dist/backend/backend/src/services/marketplace/template-marketplace.service.js.map +1 -0
  427. package/dist/backend/backend/src/services/mcp-server.js +1 -1
  428. package/dist/backend/backend/src/services/mcp-server.js.map +1 -1
  429. package/dist/backend/backend/src/services/messaging/adapters/google-chat-messenger.adapter.d.ts +90 -0
  430. package/dist/backend/backend/src/services/messaging/adapters/google-chat-messenger.adapter.d.ts.map +1 -0
  431. package/dist/backend/backend/src/services/messaging/adapters/google-chat-messenger.adapter.js +233 -0
  432. package/dist/backend/backend/src/services/messaging/adapters/google-chat-messenger.adapter.js.map +1 -0
  433. package/dist/backend/backend/src/services/messaging/messenger-adapter.interface.d.ts +1 -1
  434. package/dist/backend/backend/src/services/messaging/messenger-adapter.interface.d.ts.map +1 -1
  435. package/dist/backend/backend/src/services/messaging/queue-processor.service.js +1 -1
  436. package/dist/backend/backend/src/services/messaging/queue-processor.service.js.map +1 -1
  437. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.d.ts.map +1 -1
  438. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js +3 -3
  439. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js.map +1 -1
  440. package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.d.ts.map +1 -1
  441. package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.js +29 -5
  442. package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.js.map +1 -1
  443. package/dist/backend/backend/src/services/payment/magic-moment.service.d.ts +69 -0
  444. package/dist/backend/backend/src/services/payment/magic-moment.service.d.ts.map +1 -0
  445. package/dist/backend/backend/src/services/payment/magic-moment.service.js +158 -0
  446. package/dist/backend/backend/src/services/payment/magic-moment.service.js.map +1 -0
  447. package/dist/backend/backend/src/services/payment/magic-moment.types.d.ts +95 -0
  448. package/dist/backend/backend/src/services/payment/magic-moment.types.d.ts.map +1 -0
  449. package/dist/backend/backend/src/services/payment/magic-moment.types.js +91 -0
  450. package/dist/backend/backend/src/services/payment/magic-moment.types.js.map +1 -0
  451. package/dist/backend/backend/src/services/payment/stripe.service.d.ts +122 -0
  452. package/dist/backend/backend/src/services/payment/stripe.service.d.ts.map +1 -0
  453. package/dist/backend/backend/src/services/payment/stripe.service.js +403 -0
  454. package/dist/backend/backend/src/services/payment/stripe.service.js.map +1 -0
  455. package/dist/backend/backend/src/services/plugin/index.d.ts +9 -0
  456. package/dist/backend/backend/src/services/plugin/index.d.ts.map +1 -0
  457. package/dist/backend/backend/src/services/plugin/index.js +8 -0
  458. package/dist/backend/backend/src/services/plugin/index.js.map +1 -0
  459. package/dist/backend/backend/src/services/plugin/plugin.service.d.ts +102 -0
  460. package/dist/backend/backend/src/services/plugin/plugin.service.d.ts.map +1 -0
  461. package/dist/backend/backend/src/services/plugin/plugin.service.js +179 -0
  462. package/dist/backend/backend/src/services/plugin/plugin.service.js.map +1 -0
  463. package/dist/backend/backend/src/services/plugin/plugin.types.d.ts +88 -0
  464. package/dist/backend/backend/src/services/plugin/plugin.types.d.ts.map +1 -0
  465. package/dist/backend/backend/src/services/plugin/plugin.types.js +17 -0
  466. package/dist/backend/backend/src/services/plugin/plugin.types.js.map +1 -0
  467. package/dist/backend/backend/src/services/project/task-tracking.service.d.ts +17 -0
  468. package/dist/backend/backend/src/services/project/task-tracking.service.d.ts.map +1 -1
  469. package/dist/backend/backend/src/services/project/task-tracking.service.js +63 -0
  470. package/dist/backend/backend/src/services/project/task-tracking.service.js.map +1 -1
  471. package/dist/backend/backend/src/services/session/session-command-helper.d.ts +14 -0
  472. package/dist/backend/backend/src/services/session/session-command-helper.d.ts.map +1 -1
  473. package/dist/backend/backend/src/services/session/session-command-helper.js +54 -0
  474. package/dist/backend/backend/src/services/session/session-command-helper.js.map +1 -1
  475. package/dist/backend/backend/src/services/settings/settings.service.d.ts.map +1 -1
  476. package/dist/backend/backend/src/services/settings/settings.service.js +1 -0
  477. package/dist/backend/backend/src/services/settings/settings.service.js.map +1 -1
  478. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
  479. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js +15 -5
  480. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
  481. package/dist/backend/backend/src/services/template/template.service.d.ts +153 -0
  482. package/dist/backend/backend/src/services/template/template.service.d.ts.map +1 -0
  483. package/dist/backend/backend/src/services/template/template.service.js +372 -0
  484. package/dist/backend/backend/src/services/template/template.service.js.map +1 -0
  485. package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts +51 -0
  486. package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts.map +1 -1
  487. package/dist/backend/backend/src/services/workflow/scheduler.service.js +118 -2
  488. package/dist/backend/backend/src/services/workflow/scheduler.service.js.map +1 -1
  489. package/dist/backend/backend/src/types/chat.types.d.ts +39 -1
  490. package/dist/backend/backend/src/types/chat.types.d.ts.map +1 -1
  491. package/dist/backend/backend/src/types/chat.types.js +45 -2
  492. package/dist/backend/backend/src/types/chat.types.js.map +1 -1
  493. package/dist/backend/backend/src/types/event-bus.types.d.ts +14 -2
  494. package/dist/backend/backend/src/types/event-bus.types.d.ts.map +1 -1
  495. package/dist/backend/backend/src/types/event-bus.types.js +15 -0
  496. package/dist/backend/backend/src/types/event-bus.types.js.map +1 -1
  497. package/dist/backend/backend/src/types/hierarchy-message.types.d.ts +101 -0
  498. package/dist/backend/backend/src/types/hierarchy-message.types.d.ts.map +1 -0
  499. package/dist/backend/backend/src/types/hierarchy-message.types.js +15 -0
  500. package/dist/backend/backend/src/types/hierarchy-message.types.js.map +1 -0
  501. package/dist/backend/backend/src/types/index.d.ts +54 -4
  502. package/dist/backend/backend/src/types/index.d.ts.map +1 -1
  503. package/dist/backend/backend/src/types/index.js.map +1 -1
  504. package/dist/backend/backend/src/types/marketplace.types.d.ts +99 -0
  505. package/dist/backend/backend/src/types/marketplace.types.d.ts.map +1 -1
  506. package/dist/backend/backend/src/types/settings.types.d.ts +1 -1
  507. package/dist/backend/backend/src/types/settings.types.d.ts.map +1 -1
  508. package/dist/backend/backend/src/types/settings.types.js +4 -0
  509. package/dist/backend/backend/src/types/settings.types.js.map +1 -1
  510. package/dist/backend/backend/src/types/task-tracking.types.d.ts +79 -1
  511. package/dist/backend/backend/src/types/task-tracking.types.d.ts.map +1 -1
  512. package/dist/backend/backend/src/types/task-tracking.types.js.map +1 -1
  513. package/dist/backend/backend/src/types/team-template.types.d.ts +166 -0
  514. package/dist/backend/backend/src/types/team-template.types.d.ts.map +1 -0
  515. package/dist/backend/backend/src/types/team-template.types.js +139 -0
  516. package/dist/backend/backend/src/types/team-template.types.js.map +1 -0
  517. package/dist/backend/backend/src/utils/async-handler.d.ts +20 -0
  518. package/dist/backend/backend/src/utils/async-handler.d.ts.map +1 -0
  519. package/dist/backend/backend/src/utils/async-handler.js +29 -0
  520. package/dist/backend/backend/src/utils/async-handler.js.map +1 -0
  521. package/dist/backend/backend/src/utils/defaultPrompts.d.ts +4 -4
  522. package/dist/backend/backend/src/utils/defaultPrompts.d.ts.map +1 -1
  523. package/dist/backend/backend/src/utils/defaultPrompts.js +16 -0
  524. package/dist/backend/backend/src/utils/defaultPrompts.js.map +1 -1
  525. package/dist/backend/backend/src/utils/gemini-trusted-folders.d.ts +43 -0
  526. package/dist/backend/backend/src/utils/gemini-trusted-folders.d.ts.map +1 -0
  527. package/dist/backend/backend/src/utils/gemini-trusted-folders.js +94 -0
  528. package/dist/backend/backend/src/utils/gemini-trusted-folders.js.map +1 -0
  529. package/dist/backend/backend/src/utils/message-serializer.d.ts +74 -0
  530. package/dist/backend/backend/src/utils/message-serializer.d.ts.map +1 -0
  531. package/dist/backend/backend/src/utils/message-serializer.js +380 -0
  532. package/dist/backend/backend/src/utils/message-serializer.js.map +1 -0
  533. package/dist/backend/backend/src/utils/terminal-string-ops.d.ts.map +1 -1
  534. package/dist/backend/backend/src/utils/terminal-string-ops.js +20 -11
  535. package/dist/backend/backend/src/utils/terminal-string-ops.js.map +1 -1
  536. package/dist/backend/config/constants.d.ts +40 -1
  537. package/dist/backend/config/constants.d.ts.map +1 -1
  538. package/dist/backend/config/constants.js +41 -1
  539. package/dist/backend/config/constants.js.map +1 -1
  540. package/dist/backend/config/index.d.ts +2 -2
  541. package/dist/backend/config/index.d.ts.map +1 -1
  542. package/dist/backend/config/index.js +2 -2
  543. package/dist/backend/config/index.js.map +1 -1
  544. package/dist/cli/backend/src/constants.d.ts +303 -15
  545. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  546. package/dist/cli/backend/src/constants.js +296 -15
  547. package/dist/cli/backend/src/constants.js.map +1 -1
  548. package/dist/cli/backend/src/models/Team.d.ts +5 -0
  549. package/dist/cli/backend/src/models/Team.d.ts.map +1 -1
  550. package/dist/cli/backend/src/models/Team.js +24 -0
  551. package/dist/cli/backend/src/models/Team.js.map +1 -1
  552. package/dist/cli/backend/src/services/core/storage.service.d.ts.map +1 -1
  553. package/dist/cli/backend/src/services/core/storage.service.js +5 -0
  554. package/dist/cli/backend/src/services/core/storage.service.js.map +1 -1
  555. package/dist/cli/backend/src/services/mcp-server.js +1 -1
  556. package/dist/cli/backend/src/services/mcp-server.js.map +1 -1
  557. package/dist/cli/backend/src/types/chat.types.d.ts +39 -1
  558. package/dist/cli/backend/src/types/chat.types.d.ts.map +1 -1
  559. package/dist/cli/backend/src/types/chat.types.js +45 -2
  560. package/dist/cli/backend/src/types/chat.types.js.map +1 -1
  561. package/dist/cli/backend/src/types/index.d.ts +54 -4
  562. package/dist/cli/backend/src/types/index.d.ts.map +1 -1
  563. package/dist/cli/backend/src/types/index.js.map +1 -1
  564. package/dist/cli/backend/src/types/settings.types.d.ts +1 -1
  565. package/dist/cli/backend/src/types/settings.types.d.ts.map +1 -1
  566. package/dist/cli/backend/src/types/settings.types.js +4 -0
  567. package/dist/cli/backend/src/types/settings.types.js.map +1 -1
  568. package/dist/cli/backend/src/utils/gemini-trusted-folders.d.ts +43 -0
  569. package/dist/cli/backend/src/utils/gemini-trusted-folders.d.ts.map +1 -0
  570. package/dist/cli/backend/src/utils/gemini-trusted-folders.js +94 -0
  571. package/dist/cli/backend/src/utils/gemini-trusted-folders.js.map +1 -0
  572. package/dist/cli/backend/src/utils/terminal-string-ops.d.ts.map +1 -1
  573. package/dist/cli/backend/src/utils/terminal-string-ops.js +20 -11
  574. package/dist/cli/backend/src/utils/terminal-string-ops.js.map +1 -1
  575. package/dist/cli/cli/src/commands/onboard.d.ts +2 -1
  576. package/dist/cli/cli/src/commands/onboard.d.ts.map +1 -1
  577. package/dist/cli/cli/src/commands/onboard.js +21 -8
  578. package/dist/cli/cli/src/commands/onboard.js.map +1 -1
  579. package/dist/cli/cli/src/commands/start.d.ts +1 -0
  580. package/dist/cli/cli/src/commands/start.d.ts.map +1 -1
  581. package/dist/cli/cli/src/commands/start.js +71 -23
  582. package/dist/cli/cli/src/commands/start.js.map +1 -1
  583. package/dist/cli/cli/src/constants.d.ts +1 -1
  584. package/dist/cli/cli/src/constants.d.ts.map +1 -1
  585. package/dist/cli/cli/src/constants.js +1 -1
  586. package/dist/cli/cli/src/constants.js.map +1 -1
  587. package/dist/cli/cli/src/index.js +1 -0
  588. package/dist/cli/cli/src/index.js.map +1 -1
  589. package/dist/cli/cli/src/utils/project-scaffold.d.ts +109 -0
  590. package/dist/cli/cli/src/utils/project-scaffold.d.ts.map +1 -0
  591. package/dist/cli/cli/src/utils/project-scaffold.js +346 -0
  592. package/dist/cli/cli/src/utils/project-scaffold.js.map +1 -0
  593. package/dist/cli/cli/src/utils/templates.d.ts +7 -2
  594. package/dist/cli/cli/src/utils/templates.d.ts.map +1 -1
  595. package/dist/cli/cli/src/utils/templates.js +76 -7
  596. package/dist/cli/cli/src/utils/templates.js.map +1 -1
  597. package/dist/cli/config/constants.d.ts +40 -1
  598. package/dist/cli/config/constants.d.ts.map +1 -1
  599. package/dist/cli/config/constants.js +41 -1
  600. package/dist/cli/config/constants.js.map +1 -1
  601. package/dist/cli/config/index.d.ts +2 -2
  602. package/dist/cli/config/index.d.ts.map +1 -1
  603. package/dist/cli/config/index.js +2 -2
  604. package/dist/cli/config/index.js.map +1 -1
  605. package/frontend/dist/assets/index-510ab719.css +33 -0
  606. package/frontend/dist/assets/index-935cd846.js +4961 -0
  607. package/frontend/dist/index.html +2 -2
  608. package/package.json +9 -4
  609. package/frontend/dist/assets/index-a23214ae.js +0 -4919
  610. package/frontend/dist/assets/index-c407fe13.css +0 -33
@@ -0,0 +1,166 @@
1
+ /**
2
+ * Team Template Types
3
+ *
4
+ * Defines the structure for team templates — reusable team recipes
5
+ * that include roles, hierarchy configuration, and verification pipelines.
6
+ * Templates are stored in config/templates/ and loaded by TemplateService.
7
+ *
8
+ * @module types/team-template
9
+ */
10
+ /**
11
+ * Template categories matching common team types.
12
+ */
13
+ export type TemplateCategory = 'development' | 'content' | 'research' | 'operations' | 'custom';
14
+ export declare const TEMPLATE_CATEGORIES: TemplateCategory[];
15
+ /**
16
+ * Verification methods available to Team Leaders.
17
+ * Each method corresponds to a specific skill or tool chain.
18
+ */
19
+ export type VerificationMethod = 'quality_gates' | 'e2e_test' | 'code_review' | 'browser_test' | 'screenshot_review' | 'gemini_vision' | 'content_check' | 'fact_check' | 'source_verify' | 'data_validate' | 'manual_review' | 'custom_script';
20
+ export declare const VERIFICATION_METHODS: VerificationMethod[];
21
+ /**
22
+ * A single verification step in the pipeline.
23
+ */
24
+ export interface VerificationStep {
25
+ /** Step identifier */
26
+ id: string;
27
+ /** Human-readable step name */
28
+ name: string;
29
+ /** Description of what this step verifies */
30
+ description: string;
31
+ /** Verification method */
32
+ method: VerificationMethod;
33
+ /** Whether this step is critical for overall pass/fail */
34
+ critical: boolean;
35
+ /** Step-specific configuration (depends on method) */
36
+ config: Record<string, unknown>;
37
+ }
38
+ /**
39
+ * Defines the verification steps the Team Leader executes
40
+ * when reviewing worker output.
41
+ */
42
+ export interface VerificationPipeline {
43
+ /** Pipeline display name */
44
+ name: string;
45
+ /** Verification steps executed in order */
46
+ steps: VerificationStep[];
47
+ /**
48
+ * Overall pass policy:
49
+ * - 'all': All steps must pass
50
+ * - 'majority': >50% of steps must pass
51
+ * - 'critical_only': Only critical steps must pass
52
+ */
53
+ passPolicy: 'all' | 'majority' | 'critical_only';
54
+ /** Maximum retry attempts for failed verification (default: 2) */
55
+ maxRetries: number;
56
+ }
57
+ /**
58
+ * A role definition within a template.
59
+ */
60
+ export interface TemplateRole {
61
+ /** Role identifier (matches TeamMember.role) */
62
+ role: string;
63
+ /** Human-readable label for this position */
64
+ label: string;
65
+ /** Default member name */
66
+ defaultName: string;
67
+ /** Number of members with this role to create (default: 1) */
68
+ count: number;
69
+ /** Hierarchy level (0=orchestrator, 1=leader, 2=worker) */
70
+ hierarchyLevel: number;
71
+ /** Whether this role can delegate tasks to subordinates */
72
+ canDelegate: boolean;
73
+ /** Parent role identifier (undefined = reports to Orchestrator) */
74
+ reportsTo?: string;
75
+ /** Default skills assigned to this role */
76
+ defaultSkills: string[];
77
+ /** Skills to exclude from the role's default set */
78
+ excludedSkills?: string[];
79
+ /** Custom system prompt additions */
80
+ promptAdditions?: string;
81
+ /** AI runtime override for this role */
82
+ runtimeOverride?: 'claude-code' | 'gemini-cli' | 'codex-cli' | 'openhands';
83
+ /** Whether to enable browser automation for this role */
84
+ enableBrowser?: boolean;
85
+ }
86
+ /**
87
+ * A complete team recipe: roles, skills, hierarchy, and verification pipeline.
88
+ */
89
+ export interface TeamTemplate {
90
+ /** Unique template identifier (slug format) */
91
+ id: string;
92
+ /** Human-readable template name */
93
+ name: string;
94
+ /** Template description */
95
+ description: string;
96
+ /** Template category */
97
+ category: TemplateCategory;
98
+ /** Version string (semver) */
99
+ version: string;
100
+ /** Template author */
101
+ author?: string;
102
+ /** Tags for search/discovery */
103
+ tags?: string[];
104
+ /** Icon URL or emoji */
105
+ icon?: string;
106
+ /** Whether this template creates a hierarchical team */
107
+ hierarchical: boolean;
108
+ /** Role definitions with hierarchy configuration */
109
+ roles: TemplateRole[];
110
+ /** Default runtime for all members */
111
+ defaultRuntime: 'claude-code' | 'gemini-cli' | 'codex-cli' | 'openhands';
112
+ /** Verification pipeline configuration */
113
+ verificationPipeline: VerificationPipeline;
114
+ /** Default monitoring configuration */
115
+ monitoringDefaults?: {
116
+ idleEvent: boolean;
117
+ fallbackCheckMinutes: number;
118
+ };
119
+ /** Maximum workers per team leader */
120
+ maxWorkersPerLeader?: number;
121
+ /** Auto-assign tasks to idle workers */
122
+ autoAssign?: boolean;
123
+ }
124
+ /**
125
+ * Check if a value is a valid TemplateCategory.
126
+ *
127
+ * @param value - Value to check
128
+ * @returns True if valid
129
+ */
130
+ export declare function isValidTemplateCategory(value: unknown): value is TemplateCategory;
131
+ /**
132
+ * Check if a value is a valid VerificationMethod.
133
+ *
134
+ * @param value - Value to check
135
+ * @returns True if valid
136
+ */
137
+ export declare function isValidVerificationMethod(value: unknown): value is VerificationMethod;
138
+ /**
139
+ * Validate a VerificationStep object.
140
+ *
141
+ * @param value - Value to check
142
+ * @returns True if valid
143
+ */
144
+ export declare function isValidVerificationStep(value: unknown): value is VerificationStep;
145
+ /**
146
+ * Validate a VerificationPipeline object.
147
+ *
148
+ * @param value - Value to check
149
+ * @returns True if valid
150
+ */
151
+ export declare function isValidVerificationPipeline(value: unknown): value is VerificationPipeline;
152
+ /**
153
+ * Validate a TemplateRole object.
154
+ *
155
+ * @param value - Value to check
156
+ * @returns True if valid
157
+ */
158
+ export declare function isValidTemplateRole(value: unknown): value is TemplateRole;
159
+ /**
160
+ * Validate a TeamTemplate object.
161
+ *
162
+ * @param value - Value to check
163
+ * @returns True if valid
164
+ */
165
+ export declare function isValidTeamTemplate(value: unknown): value is TeamTemplate;
166
+ //# sourceMappingURL=team-template.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team-template.types.d.ts","sourceRoot":"","sources":["../../../../../backend/src/types/team-template.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * Team Template Types
3
+ *
4
+ * Defines the structure for team templates — reusable team recipes
5
+ * that include roles, hierarchy configuration, and verification pipelines.
6
+ * Templates are stored in config/templates/ and loaded by TemplateService.
7
+ *
8
+ * @module types/team-template
9
+ */
10
+ export const TEMPLATE_CATEGORIES = [
11
+ 'development',
12
+ 'content',
13
+ 'research',
14
+ 'operations',
15
+ 'custom',
16
+ ];
17
+ export const VERIFICATION_METHODS = [
18
+ 'quality_gates',
19
+ 'e2e_test',
20
+ 'code_review',
21
+ 'browser_test',
22
+ 'screenshot_review',
23
+ 'gemini_vision',
24
+ 'content_check',
25
+ 'fact_check',
26
+ 'source_verify',
27
+ 'data_validate',
28
+ 'manual_review',
29
+ 'custom_script',
30
+ ];
31
+ // =============================================================================
32
+ // Validators
33
+ // =============================================================================
34
+ /**
35
+ * Check if a value is a valid TemplateCategory.
36
+ *
37
+ * @param value - Value to check
38
+ * @returns True if valid
39
+ */
40
+ export function isValidTemplateCategory(value) {
41
+ return typeof value === 'string' && TEMPLATE_CATEGORIES.includes(value);
42
+ }
43
+ /**
44
+ * Check if a value is a valid VerificationMethod.
45
+ *
46
+ * @param value - Value to check
47
+ * @returns True if valid
48
+ */
49
+ export function isValidVerificationMethod(value) {
50
+ return typeof value === 'string' && VERIFICATION_METHODS.includes(value);
51
+ }
52
+ /**
53
+ * Validate a VerificationStep object.
54
+ *
55
+ * @param value - Value to check
56
+ * @returns True if valid
57
+ */
58
+ export function isValidVerificationStep(value) {
59
+ if (!value || typeof value !== 'object')
60
+ return false;
61
+ const step = value;
62
+ return (typeof step.id === 'string' && step.id.length > 0 &&
63
+ typeof step.name === 'string' && step.name.length > 0 &&
64
+ typeof step.description === 'string' &&
65
+ isValidVerificationMethod(step.method) &&
66
+ typeof step.critical === 'boolean' &&
67
+ step.config !== null && typeof step.config === 'object');
68
+ }
69
+ /**
70
+ * Validate a VerificationPipeline object.
71
+ *
72
+ * @param value - Value to check
73
+ * @returns True if valid
74
+ */
75
+ export function isValidVerificationPipeline(value) {
76
+ if (!value || typeof value !== 'object')
77
+ return false;
78
+ const pipeline = value;
79
+ if (typeof pipeline.name !== 'string' || pipeline.name.length === 0)
80
+ return false;
81
+ if (!Array.isArray(pipeline.steps) || pipeline.steps.length === 0)
82
+ return false;
83
+ if (!['all', 'majority', 'critical_only'].includes(pipeline.passPolicy))
84
+ return false;
85
+ if (typeof pipeline.maxRetries !== 'number' || pipeline.maxRetries < 0)
86
+ return false;
87
+ return pipeline.steps.every((s) => isValidVerificationStep(s));
88
+ }
89
+ /**
90
+ * Validate a TemplateRole object.
91
+ *
92
+ * @param value - Value to check
93
+ * @returns True if valid
94
+ */
95
+ export function isValidTemplateRole(value) {
96
+ if (!value || typeof value !== 'object')
97
+ return false;
98
+ const role = value;
99
+ return (typeof role.role === 'string' && role.role.length > 0 &&
100
+ typeof role.label === 'string' && role.label.length > 0 &&
101
+ typeof role.defaultName === 'string' && role.defaultName.length > 0 &&
102
+ typeof role.count === 'number' && role.count >= 1 &&
103
+ typeof role.hierarchyLevel === 'number' && role.hierarchyLevel >= 0 &&
104
+ typeof role.canDelegate === 'boolean' &&
105
+ Array.isArray(role.defaultSkills));
106
+ }
107
+ /**
108
+ * Validate a TeamTemplate object.
109
+ *
110
+ * @param value - Value to check
111
+ * @returns True if valid
112
+ */
113
+ export function isValidTeamTemplate(value) {
114
+ if (!value || typeof value !== 'object')
115
+ return false;
116
+ const t = value;
117
+ if (typeof t.id !== 'string' || t.id.length === 0)
118
+ return false;
119
+ if (typeof t.name !== 'string' || t.name.length === 0)
120
+ return false;
121
+ if (typeof t.description !== 'string')
122
+ return false;
123
+ if (!isValidTemplateCategory(t.category))
124
+ return false;
125
+ if (typeof t.version !== 'string')
126
+ return false;
127
+ if (typeof t.hierarchical !== 'boolean')
128
+ return false;
129
+ if (!Array.isArray(t.roles) || t.roles.length === 0)
130
+ return false;
131
+ if (!t.roles.every((r) => isValidTemplateRole(r)))
132
+ return false;
133
+ if (!['claude-code', 'gemini-cli', 'codex-cli', 'openhands'].includes(t.defaultRuntime))
134
+ return false;
135
+ if (!isValidVerificationPipeline(t.verificationPipeline))
136
+ return false;
137
+ return true;
138
+ }
139
+ //# sourceMappingURL=team-template.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team-template.types.js","sourceRoot":"","sources":["../../../../../backend/src/types/team-template.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAgBH,MAAM,CAAC,MAAM,mBAAmB,GAAuB;IACrD,aAAa;IACb,SAAS;IACT,UAAU;IACV,YAAY;IACZ,QAAQ;CACT,CAAC;AAwBF,MAAM,CAAC,MAAM,oBAAoB,GAAyB;IACxD,eAAe;IACf,UAAU;IACV,aAAa;IACb,cAAc;IACd,mBAAmB;IACnB,eAAe;IACf,eAAe;IACf,YAAY;IACZ,eAAe;IACf,eAAe;IACf,eAAe;IACf,eAAe;CAChB,CAAC;AAqHF,gFAAgF;AAChF,aAAa;AACb,gFAAgF;AAEhF;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,mBAAmB,CAAC,QAAQ,CAAC,KAAyB,CAAC,CAAC;AAC9F,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,oBAAoB,CAAC,QAAQ,CAAC,KAA2B,CAAC,CAAC;AACjG,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,IAAI,GAAG,KAAgC,CAAC;IAC9C,OAAO,CACL,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC;QACjD,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;QACrD,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ;QACpC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC;QACtC,OAAO,IAAI,CAAC,QAAQ,KAAK,SAAS;QAClC,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CACxD,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAAc;IACxD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,QAAQ,GAAG,KAAgC,CAAC;IAClD,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAClF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAChF,IAAI,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAoB,CAAC;QAAE,OAAO,KAAK,CAAC;IAChG,IAAI,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ,IAAI,QAAQ,CAAC,UAAU,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACrF,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,IAAI,GAAG,KAAgC,CAAC;IAC9C,OAAO,CACL,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;QACrD,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;QACvD,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;QACnE,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC;QACjD,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC;QACnE,OAAO,IAAI,CAAC,WAAW,KAAK,SAAS;QACrC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAClC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,CAAC,GAAG,KAAgC,CAAC;IAC3C,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAChE,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACpE,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACpD,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IACvD,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAChD,IAAI,OAAO,CAAC,CAAC,YAAY,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACtD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAClE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACzE,IAAI,CAAC,CAAC,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAwB,CAAC;QAAE,OAAO,KAAK,CAAC;IAChH,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,oBAAoB,CAAC;QAAE,OAAO,KAAK,CAAC;IACvE,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Shared async handler for Express route handlers.
3
+ *
4
+ * Wraps an async route handler with a standard try/catch that returns
5
+ * a consistent JSON error response on unhandled exceptions.
6
+ *
7
+ * @module utils/async-handler
8
+ */
9
+ import type { Request, Response, NextFunction } from 'express';
10
+ /**
11
+ * Wraps an async route handler with error catching.
12
+ *
13
+ * Catches unhandled errors and either forwards them to Express error middleware
14
+ * (if next is available) or responds with a 500 JSON error.
15
+ *
16
+ * @param fn - The async handler function to wrap
17
+ * @returns A wrapped handler that catches errors
18
+ */
19
+ export declare function asyncHandler(fn: (req: Request, res: Response, next: NextFunction) => Promise<void>): (req: Request, res: Response, next: NextFunction) => Promise<void>;
20
+ //# sourceMappingURL=async-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async-handler.d.ts","sourceRoot":"","sources":["../../../../../backend/src/utils/async-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE/D;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,IACpF,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,KAAG,OAAO,CAAC,IAAI,CAAC,CAQ7E"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Shared async handler for Express route handlers.
3
+ *
4
+ * Wraps an async route handler with a standard try/catch that returns
5
+ * a consistent JSON error response on unhandled exceptions.
6
+ *
7
+ * @module utils/async-handler
8
+ */
9
+ /**
10
+ * Wraps an async route handler with error catching.
11
+ *
12
+ * Catches unhandled errors and either forwards them to Express error middleware
13
+ * (if next is available) or responds with a 500 JSON error.
14
+ *
15
+ * @param fn - The async handler function to wrap
16
+ * @returns A wrapped handler that catches errors
17
+ */
18
+ export function asyncHandler(fn) {
19
+ return async (req, res, next) => {
20
+ try {
21
+ await fn(req, res, next);
22
+ }
23
+ catch (error) {
24
+ const msg = error instanceof Error ? error.message : String(error);
25
+ res.status(500).json({ success: false, error: msg });
26
+ }
27
+ };
28
+ }
29
+ //# sourceMappingURL=async-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async-handler.js","sourceRoot":"","sources":["../../../../../backend/src/utils/async-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,EAAsE;IAClG,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAiB,EAAE;QAC/E,IAAI,CAAC;YACJ,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACtD,CAAC;IACF,CAAC,CAAC;AACH,CAAC"}
@@ -1,5 +1,5 @@
1
- import { TeamMember } from '../types/index.js';
2
- export declare const DEFAULT_SYSTEM_PROMPTS: Record<TeamMember['role'], string>;
3
- export declare function getDefaultPrompt(role: TeamMember['role']): string;
4
- export declare function getDefaultTeamMemberName(role: TeamMember['role'], index?: number): string;
1
+ import { TeamMemberRole } from '../types/index.js';
2
+ export declare const DEFAULT_SYSTEM_PROMPTS: Record<TeamMemberRole, string>;
3
+ export declare function getDefaultPrompt(role: TeamMemberRole): string;
4
+ export declare function getDefaultTeamMemberName(role: TeamMemberRole, index?: number): string;
5
5
  //# sourceMappingURL=defaultPrompts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaultPrompts.d.ts","sourceRoot":"","sources":["../../../../../backend/src/utils/defaultPrompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,CAiRrE,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,MAAM,CAEjE;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,GAAE,MAAU,GAAG,MAAM,CAqB5F"}
1
+ {"version":3,"file":"defaultPrompts.d.ts","sourceRoot":"","sources":["../../../../../backend/src/utils/defaultPrompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAiSjE,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAE7D;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,GAAE,MAAU,GAAG,MAAM,CAsBxF"}
@@ -13,6 +13,21 @@ Communication style:
13
13
  - Ask clarifying questions when requirements are unclear
14
14
  - Provide regular status updates to stakeholders
15
15
  - Focus on maintaining team productivity and morale`,
16
+ 'team-leader': `You are an AI Team Leader responsible for managing a sub-team of workers.
17
+
18
+ Your responsibilities:
19
+ - Decompose high-level goals into specific worker tasks
20
+ - Delegate tasks to appropriate workers based on role and workload
21
+ - Monitor worker progress and handle blockers
22
+ - Verify completed work meets quality standards
23
+ - Aggregate results and report up to the Orchestrator
24
+ - Handle worker failures with retries or reassignment
25
+
26
+ Communication style:
27
+ - Give clear, actionable task instructions to workers
28
+ - Provide constructive feedback when reviewing outputs
29
+ - Escalate to Orchestrator when issues cannot be resolved locally
30
+ - Report progress and results concisely`,
16
31
  tpm: `You are an AI Technical Product Manager (TPM) responsible for scoping projects and translating business logic into technical requirements.
17
32
 
18
33
  Your responsibilities:
@@ -264,6 +279,7 @@ export function getDefaultPrompt(role) {
264
279
  export function getDefaultTeamMemberName(role, index = 0) {
265
280
  const roleNames = {
266
281
  orchestrator: 'Orchestrator',
282
+ 'team-leader': 'Team Leader',
267
283
  tpm: 'Technical Product Manager',
268
284
  architect: 'Architect',
269
285
  pgm: 'Program Manager',
@@ -1 +1 @@
1
- {"version":3,"file":"defaultPrompts.js","sourceRoot":"","sources":["../../../../../backend/src/utils/defaultPrompts.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAAuC;IACxE,YAAY,EAAE;;;;;;;;;;;;;oDAaoC;IAElD,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;6DAsBsD;IAE3D,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;2DAsBoD;IAEzD,SAAS,EAAE;;;;;;;;;;;;;2CAa8B;IAEzC,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;2DAmBmC;IAEzD,mBAAmB,EAAE;;;;;;;;;;;;;;;;;;;yDAmBkC;IAEvD,EAAE,EAAE;;;;;;;;;;;;;0CAaoC;IAExC,MAAM,EAAE;;;;;;;;;;;;;8CAaoC;IAE5C,QAAQ,EAAE;;;;;;;;;;;;;6CAaiC;IAE3C,SAAS,EAAE;;;;;;;;;;;;;;;;;;;8DAmBiD;IAE5D,eAAe,EAAE;;;;;;;;;;;;;;;;;;;wDAmBqC;IAEtD,aAAa,EAAE;;;;;;;;;;;;;;;;;;;6CAmB4B;IAE3C,iBAAiB,EAAE;;;;;;;;;;;;;0CAaqB;IAExC,KAAK,EAAE;;;;;;;;;;;;;wDAa+C;IAEtD,OAAO,EAAE;;;;;;;;;;;;;uDAa4C;CACtD,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,IAAwB;IACvD,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAwB,EAAE,QAAgB,CAAC;IAClF,MAAM,SAAS,GAAuC;QACpD,YAAY,EAAE,cAAc;QAC5B,GAAG,EAAE,2BAA2B;QAChC,SAAS,EAAE,WAAW;QACtB,GAAG,EAAE,iBAAiB;QACtB,SAAS,EAAE,WAAW;QACtB,oBAAoB,EAAE,oBAAoB;QAC1C,mBAAmB,EAAE,mBAAmB;QACxC,eAAe,EAAE,sBAAsB;QACvC,EAAE,EAAE,aAAa;QACjB,aAAa,EAAE,aAAa;QAC5B,MAAM,EAAE,eAAe;QACvB,QAAQ,EAAE,UAAU;QACpB,iBAAiB,EAAE,iBAAiB;QACpC,KAAK,EAAE,sBAAsB;QAC7B,OAAO,EAAE,kBAAkB;KAC5B,CAAC;IAEF,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"defaultPrompts.js","sourceRoot":"","sources":["../../../../../backend/src/utils/defaultPrompts.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAAmC;IACpE,YAAY,EAAE;;;;;;;;;;;;;oDAaoC;IAElD,aAAa,EAAE;;;;;;;;;;;;;;wCAcuB;IAEtC,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;6DAsBsD;IAE3D,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;2DAsBoD;IAEzD,SAAS,EAAE;;;;;;;;;;;;;2CAa8B;IAEzC,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;2DAmBmC;IAEzD,mBAAmB,EAAE;;;;;;;;;;;;;;;;;;;yDAmBkC;IAEvD,EAAE,EAAE;;;;;;;;;;;;;0CAaoC;IAExC,MAAM,EAAE;;;;;;;;;;;;;8CAaoC;IAE5C,QAAQ,EAAE;;;;;;;;;;;;;6CAaiC;IAE3C,SAAS,EAAE;;;;;;;;;;;;;;;;;;;8DAmBiD;IAE5D,eAAe,EAAE;;;;;;;;;;;;;;;;;;;wDAmBqC;IAEtD,aAAa,EAAE;;;;;;;;;;;;;;;;;;;6CAmB4B;IAE3C,iBAAiB,EAAE;;;;;;;;;;;;;0CAaqB;IAExC,KAAK,EAAE;;;;;;;;;;;;;wDAa+C;IAEtD,OAAO,EAAE;;;;;;;;;;;;;uDAa4C;CACtD,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,IAAoB;IACnD,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAoB,EAAE,QAAgB,CAAC;IAC9E,MAAM,SAAS,GAAmC;QAChD,YAAY,EAAE,cAAc;QAC5B,aAAa,EAAE,aAAa;QAC5B,GAAG,EAAE,2BAA2B;QAChC,SAAS,EAAE,WAAW;QACtB,GAAG,EAAE,iBAAiB;QACtB,SAAS,EAAE,WAAW;QACtB,oBAAoB,EAAE,oBAAoB;QAC1C,mBAAmB,EAAE,mBAAmB;QACxC,eAAe,EAAE,sBAAsB;QACvC,EAAE,EAAE,aAAa;QACjB,aAAa,EAAE,aAAa;QAC5B,MAAM,EAAE,eAAe;QACvB,QAAQ,EAAE,UAAU;QACpB,iBAAiB,EAAE,iBAAiB;QACpC,KAAK,EAAE,sBAAsB;QAC7B,OAAO,EAAE,kBAAkB;KAC5B,CAAC;IAEF,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;AAC7D,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Gemini CLI Trusted Folders Utility
3
+ *
4
+ * Provides a standalone function to add folder paths to
5
+ * ~/.gemini/trustedFolders.json so that Gemini CLI does not
6
+ * show an interactive trust prompt when launched in those directories.
7
+ *
8
+ * @module utils/gemini-trusted-folders
9
+ */
10
+ /**
11
+ * Minimal logger interface for trusted-folder operations.
12
+ * Compatible with ComponentLogger from LoggerService.
13
+ */
14
+ export interface TrustedFoldersLogger {
15
+ warn(message: string, meta?: Record<string, unknown>): void;
16
+ info(message: string, meta?: Record<string, unknown>): void;
17
+ }
18
+ /**
19
+ * Return the default path to the Gemini trusted folders JSON file.
20
+ */
21
+ export declare function getDefaultTrustedFoldersPath(): string;
22
+ /**
23
+ * Add one or more folder paths to the Gemini trusted folders JSON file.
24
+ *
25
+ * The function is idempotent — paths that are already present are skipped.
26
+ * The file and its parent directory are created if they do not exist.
27
+ * Errors are caught and logged (non-fatal) so callers are never blocked.
28
+ *
29
+ * @param paths - Absolute or resolvable folder paths to trust
30
+ * @param logger - Optional logger for diagnostics; if omitted, failures are silent
31
+ * @param trustedFoldersPath - Override path for testing; defaults to ~/.gemini/trustedFolders.json
32
+ * @returns true if any paths were added, false if nothing changed or an error occurred
33
+ */
34
+ export declare function addGeminiTrustedFolders(paths: string[], logger?: TrustedFoldersLogger, trustedFoldersPath?: string): Promise<boolean>;
35
+ /**
36
+ * Build a list of paths that should be trusted for a given project path.
37
+ * Includes the project path itself and its parent directory.
38
+ *
39
+ * @param projectPath - Absolute path to the project
40
+ * @returns Array of paths to add to trusted folders
41
+ */
42
+ export declare function getProjectTrustPaths(projectPath: string): string[];
43
+ //# sourceMappingURL=gemini-trusted-folders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini-trusted-folders.d.ts","sourceRoot":"","sources":["../../../../../backend/src/utils/gemini-trusted-folders.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACpC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC5D;AAKD;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,MAAM,CAErD;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,uBAAuB,CAC5C,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,CAAC,EAAE,oBAAoB,EAC7B,kBAAkB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,OAAO,CAAC,CAgDlB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAKlE"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Gemini CLI Trusted Folders Utility
3
+ *
4
+ * Provides a standalone function to add folder paths to
5
+ * ~/.gemini/trustedFolders.json so that Gemini CLI does not
6
+ * show an interactive trust prompt when launched in those directories.
7
+ *
8
+ * @module utils/gemini-trusted-folders
9
+ */
10
+ import { promises as fsPromises } from 'fs';
11
+ import * as os from 'os';
12
+ import * as path from 'path';
13
+ /** Sentinel value used by Gemini CLI to mark a folder as trusted. */
14
+ const TRUST_VALUE = 'TRUST_FOLDER';
15
+ /**
16
+ * Return the default path to the Gemini trusted folders JSON file.
17
+ */
18
+ export function getDefaultTrustedFoldersPath() {
19
+ return path.join(os.homedir(), '.gemini', 'trustedFolders.json');
20
+ }
21
+ /**
22
+ * Add one or more folder paths to the Gemini trusted folders JSON file.
23
+ *
24
+ * The function is idempotent — paths that are already present are skipped.
25
+ * The file and its parent directory are created if they do not exist.
26
+ * Errors are caught and logged (non-fatal) so callers are never blocked.
27
+ *
28
+ * @param paths - Absolute or resolvable folder paths to trust
29
+ * @param logger - Optional logger for diagnostics; if omitted, failures are silent
30
+ * @param trustedFoldersPath - Override path for testing; defaults to ~/.gemini/trustedFolders.json
31
+ * @returns true if any paths were added, false if nothing changed or an error occurred
32
+ */
33
+ export async function addGeminiTrustedFolders(paths, logger, trustedFoldersPath) {
34
+ if (paths.length === 0)
35
+ return false;
36
+ const filePath = trustedFoldersPath ?? getDefaultTrustedFoldersPath();
37
+ const normalizedPaths = [...new Set(paths.map((p) => path.resolve(p)))];
38
+ try {
39
+ let trustedFolders = {};
40
+ try {
41
+ const raw = await fsPromises.readFile(filePath, 'utf8');
42
+ const parsed = JSON.parse(raw);
43
+ if (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {
44
+ trustedFolders = parsed;
45
+ }
46
+ }
47
+ catch (readError) {
48
+ // Missing file is expected on first run; malformed content is reset.
49
+ if (readError?.code !== 'ENOENT') {
50
+ logger?.warn('Failed to read Gemini trusted folders, resetting file', {
51
+ trustedFoldersPath: filePath,
52
+ error: readError instanceof Error ? readError.message : String(readError),
53
+ });
54
+ }
55
+ }
56
+ let changed = false;
57
+ for (const folderPath of normalizedPaths) {
58
+ if (trustedFolders[folderPath] !== TRUST_VALUE) {
59
+ trustedFolders[folderPath] = TRUST_VALUE;
60
+ changed = true;
61
+ }
62
+ }
63
+ if (!changed)
64
+ return false;
65
+ await fsPromises.mkdir(path.dirname(filePath), { recursive: true });
66
+ await fsPromises.writeFile(filePath, `${JSON.stringify(trustedFolders, null, 2)}\n`, 'utf8');
67
+ logger?.info('Gemini trusted folders updated', {
68
+ trustedFoldersPath: filePath,
69
+ addedPaths: normalizedPaths,
70
+ });
71
+ return true;
72
+ }
73
+ catch (error) {
74
+ logger?.warn('Failed to update Gemini trusted folders (non-fatal)', {
75
+ trustedFoldersPath: filePath,
76
+ error: error instanceof Error ? error.message : String(error),
77
+ });
78
+ return false;
79
+ }
80
+ }
81
+ /**
82
+ * Build a list of paths that should be trusted for a given project path.
83
+ * Includes the project path itself and its parent directory.
84
+ *
85
+ * @param projectPath - Absolute path to the project
86
+ * @returns Array of paths to add to trusted folders
87
+ */
88
+ export function getProjectTrustPaths(projectPath) {
89
+ const resolved = path.resolve(projectPath);
90
+ const parentDir = path.dirname(resolved);
91
+ // Deduplicate in case projectPath is at the filesystem root
92
+ return [...new Set([resolved, parentDir])];
93
+ }
94
+ //# sourceMappingURL=gemini-trusted-folders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini-trusted-folders.js","sourceRoot":"","sources":["../../../../../backend/src/utils/gemini-trusted-folders.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Serialization and deserialization for hierarchy message types.
3
+ *
4
+ * Converts structured message objects to markdown for PTY delivery,
5
+ * and parses markdown back into typed objects on the agent side.
6
+ *
7
+ * Format uses header blocks with bracketed type identifiers:
8
+ * [TASK ASSIGNMENT], [STATUS REPORT], [VERIFICATION REQUEST], [VERIFICATION RESULT]
9
+ */
10
+ import type { TaskAssignment, StatusReport, VerificationRequest, VerificationResult } from '../types/hierarchy-message.types.js';
11
+ /**
12
+ * Serialize a TaskAssignment to markdown for PTY delivery.
13
+ *
14
+ * @param msg - The task assignment message
15
+ * @returns Markdown-formatted string with [TASK ASSIGNMENT] header
16
+ */
17
+ export declare function serializeTaskAssignment(msg: TaskAssignment): string;
18
+ /**
19
+ * Serialize a StatusReport to markdown for PTY delivery.
20
+ *
21
+ * @param msg - The status report message
22
+ * @returns Markdown-formatted string with [STATUS REPORT] header
23
+ */
24
+ export declare function serializeStatusReport(msg: StatusReport): string;
25
+ /**
26
+ * Serialize a VerificationRequest to markdown for PTY delivery.
27
+ *
28
+ * @param msg - The verification request message
29
+ * @returns Markdown-formatted string with [VERIFICATION REQUEST] header
30
+ */
31
+ export declare function serializeVerificationRequest(msg: VerificationRequest): string;
32
+ /**
33
+ * Serialize a VerificationResult to markdown for PTY delivery.
34
+ *
35
+ * @param msg - The verification result message
36
+ * @returns Markdown-formatted string with [VERIFICATION RESULT] header
37
+ */
38
+ export declare function serializeVerificationResult(msg: VerificationResult): string;
39
+ /**
40
+ * Parse a TaskAssignment from serialized markdown.
41
+ *
42
+ * @param text - Markdown text with [TASK ASSIGNMENT] header
43
+ * @returns Parsed TaskAssignment or null if parsing fails
44
+ */
45
+ export declare function parseTaskAssignment(text: string): TaskAssignment | null;
46
+ /**
47
+ * Parse a StatusReport from serialized markdown.
48
+ *
49
+ * @param text - Markdown text with [STATUS REPORT] header
50
+ * @returns Parsed StatusReport or null if parsing fails
51
+ */
52
+ export declare function parseStatusReport(text: string): StatusReport | null;
53
+ /**
54
+ * Parse a VerificationRequest from serialized markdown.
55
+ *
56
+ * @param text - Markdown text with [VERIFICATION REQUEST] header
57
+ * @returns Parsed VerificationRequest or null if parsing fails
58
+ */
59
+ export declare function parseVerificationRequest(text: string): VerificationRequest | null;
60
+ /**
61
+ * Parse a VerificationResult from serialized markdown.
62
+ *
63
+ * @param text - Markdown text with [VERIFICATION RESULT] header
64
+ * @returns Parsed VerificationResult or null if parsing fails
65
+ */
66
+ export declare function parseVerificationResult(text: string): VerificationResult | null;
67
+ /**
68
+ * Detect the message type from serialized markdown text.
69
+ *
70
+ * @param text - Markdown text to analyze
71
+ * @returns The detected message type, or null if not recognized
72
+ */
73
+ export declare function detectMessageType(text: string): TaskAssignment['type'] | StatusReport['type'] | VerificationRequest['type'] | VerificationResult['type'] | null;
74
+ //# sourceMappingURL=message-serializer.d.ts.map