@pennixrv/trellis 0.7.0-beta.8 → 0.7.1-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (485) hide show
  1. package/README.md +1 -1
  2. package/dist/cli/index.d.ts.map +1 -1
  3. package/dist/cli/index.js +14 -26
  4. package/dist/cli/index.js.map +1 -1
  5. package/dist/commands/ablate.js +1 -1
  6. package/dist/commands/ablate.js.map +1 -1
  7. package/dist/commands/init.d.ts.map +1 -1
  8. package/dist/commands/init.js +30 -56
  9. package/dist/commands/init.js.map +1 -1
  10. package/dist/commands/task-progress.d.ts +2 -0
  11. package/dist/commands/task-progress.d.ts.map +1 -1
  12. package/dist/commands/task-progress.js +37 -30
  13. package/dist/commands/task-progress.js.map +1 -1
  14. package/dist/commands/{channel → teamwork}/adapters/claude.d.ts +3 -3
  15. package/dist/commands/teamwork/adapters/claude.d.ts.map +1 -0
  16. package/dist/commands/{channel → teamwork}/adapters/claude.js +3 -3
  17. package/dist/commands/teamwork/adapters/claude.js.map +1 -0
  18. package/dist/commands/{channel → teamwork}/adapters/codex.d.ts +1 -15
  19. package/dist/commands/teamwork/adapters/codex.d.ts.map +1 -0
  20. package/dist/commands/{channel → teamwork}/adapters/codex.js +5 -42
  21. package/dist/commands/teamwork/adapters/codex.js.map +1 -0
  22. package/dist/commands/{channel → teamwork}/adapters/index.d.ts +6 -6
  23. package/dist/commands/teamwork/adapters/index.d.ts.map +1 -0
  24. package/dist/commands/{channel → teamwork}/adapters/index.js +16 -52
  25. package/dist/commands/teamwork/adapters/index.js.map +1 -0
  26. package/dist/commands/{channel → teamwork}/adapters/types.d.ts +2 -2
  27. package/dist/commands/teamwork/adapters/types.d.ts.map +1 -0
  28. package/dist/commands/teamwork/adapters/types.js.map +1 -0
  29. package/dist/commands/{channel → teamwork}/agent-loader.d.ts +2 -4
  30. package/dist/commands/teamwork/agent-loader.d.ts.map +1 -0
  31. package/dist/commands/{channel → teamwork}/agent-loader.js +4 -35
  32. package/dist/commands/teamwork/agent-loader.js.map +1 -0
  33. package/dist/commands/teamwork/artifact.d.ts +177 -0
  34. package/dist/commands/teamwork/artifact.d.ts.map +1 -0
  35. package/dist/commands/teamwork/artifact.js +908 -0
  36. package/dist/commands/teamwork/artifact.js.map +1 -0
  37. package/dist/commands/{channel → teamwork}/context-loader.d.ts +1 -1
  38. package/dist/commands/teamwork/context-loader.d.ts.map +1 -0
  39. package/dist/commands/{channel → teamwork}/context-loader.js +12 -12
  40. package/dist/commands/teamwork/context-loader.js.map +1 -0
  41. package/dist/commands/{channel → teamwork}/context-trust.d.ts +6 -6
  42. package/dist/commands/teamwork/context-trust.d.ts.map +1 -0
  43. package/dist/commands/{channel → teamwork}/context-trust.js +16 -16
  44. package/dist/commands/teamwork/context-trust.js.map +1 -0
  45. package/dist/commands/teamwork/context.d.ts +16 -0
  46. package/dist/commands/teamwork/context.d.ts.map +1 -0
  47. package/dist/commands/{channel → teamwork}/context.js +17 -17
  48. package/dist/commands/teamwork/context.js.map +1 -0
  49. package/dist/commands/teamwork/coordinator.d.ts +89 -0
  50. package/dist/commands/teamwork/coordinator.d.ts.map +1 -0
  51. package/dist/commands/teamwork/coordinator.js +1198 -0
  52. package/dist/commands/teamwork/coordinator.js.map +1 -0
  53. package/dist/commands/teamwork/create.d.ts +23 -0
  54. package/dist/commands/teamwork/create.d.ts.map +1 -0
  55. package/dist/commands/teamwork/create.js +39 -0
  56. package/dist/commands/teamwork/create.js.map +1 -0
  57. package/dist/commands/{channel → teamwork}/dev-parse-trace.d.ts +1 -1
  58. package/dist/commands/teamwork/dev-parse-trace.d.ts.map +1 -0
  59. package/dist/commands/{channel → teamwork}/dev-parse-trace.js +1 -1
  60. package/dist/commands/teamwork/dev-parse-trace.js.map +1 -0
  61. package/dist/commands/{channel → teamwork}/guard.d.ts +27 -46
  62. package/dist/commands/teamwork/guard.d.ts.map +1 -0
  63. package/dist/commands/{channel → teamwork}/guard.js +54 -156
  64. package/dist/commands/teamwork/guard.js.map +1 -0
  65. package/dist/commands/teamwork/index.d.ts +3 -0
  66. package/dist/commands/teamwork/index.d.ts.map +1 -0
  67. package/dist/commands/{channel → teamwork}/index.js +135 -165
  68. package/dist/commands/teamwork/index.js.map +1 -0
  69. package/dist/commands/{channel → teamwork}/interrupt.d.ts +1 -1
  70. package/dist/commands/teamwork/interrupt.d.ts.map +1 -0
  71. package/dist/commands/teamwork/interrupt.js +22 -0
  72. package/dist/commands/teamwork/interrupt.js.map +1 -0
  73. package/dist/commands/teamwork/kill.d.ts +7 -0
  74. package/dist/commands/teamwork/kill.d.ts.map +1 -0
  75. package/dist/commands/{channel → teamwork}/kill.js +21 -21
  76. package/dist/commands/teamwork/kill.js.map +1 -0
  77. package/dist/commands/teamwork/list.d.ts +17 -0
  78. package/dist/commands/teamwork/list.d.ts.map +1 -0
  79. package/dist/commands/{channel → teamwork}/list.js +18 -27
  80. package/dist/commands/teamwork/list.js.map +1 -0
  81. package/dist/commands/{channel → teamwork}/messages.d.ts +1 -1
  82. package/dist/commands/teamwork/messages.d.ts.map +1 -0
  83. package/dist/commands/{channel → teamwork}/messages.js +18 -18
  84. package/dist/commands/teamwork/messages.js.map +1 -0
  85. package/dist/commands/teamwork/profiles.d.ts +25 -0
  86. package/dist/commands/teamwork/profiles.d.ts.map +1 -0
  87. package/dist/commands/teamwork/profiles.js +125 -0
  88. package/dist/commands/teamwork/profiles.js.map +1 -0
  89. package/dist/commands/teamwork/rm.d.ts +27 -0
  90. package/dist/commands/teamwork/rm.d.ts.map +1 -0
  91. package/dist/commands/{channel → teamwork}/rm.js +21 -22
  92. package/dist/commands/teamwork/rm.js.map +1 -0
  93. package/dist/commands/teamwork/run.d.ts +29 -0
  94. package/dist/commands/{channel → teamwork}/run.d.ts.map +1 -1
  95. package/dist/commands/teamwork/run.js +129 -0
  96. package/dist/commands/teamwork/run.js.map +1 -0
  97. package/dist/commands/{channel → teamwork}/send.d.ts +1 -1
  98. package/dist/commands/teamwork/send.d.ts.map +1 -0
  99. package/dist/commands/{channel → teamwork}/send.js +7 -7
  100. package/dist/commands/teamwork/send.js.map +1 -0
  101. package/dist/commands/{channel → teamwork}/spawn.d.ts +8 -12
  102. package/dist/commands/teamwork/spawn.d.ts.map +1 -0
  103. package/dist/commands/{channel → teamwork}/spawn.js +51 -112
  104. package/dist/commands/teamwork/spawn.js.map +1 -0
  105. package/dist/commands/teamwork/store/events.d.ts +22 -0
  106. package/dist/commands/teamwork/store/events.d.ts.map +1 -0
  107. package/dist/commands/{channel → teamwork}/store/events.js +8 -8
  108. package/dist/commands/teamwork/store/events.js.map +1 -0
  109. package/dist/commands/teamwork/store/filter.d.ts +3 -0
  110. package/dist/commands/teamwork/store/filter.d.ts.map +1 -0
  111. package/dist/commands/teamwork/store/filter.js +2 -0
  112. package/dist/commands/teamwork/store/filter.js.map +1 -0
  113. package/dist/commands/{channel → teamwork}/store/lock.d.ts +1 -1
  114. package/dist/commands/teamwork/store/lock.d.ts.map +1 -0
  115. package/dist/commands/{channel → teamwork}/store/lock.js +2 -2
  116. package/dist/commands/teamwork/store/lock.js.map +1 -0
  117. package/dist/commands/{channel → teamwork}/store/paths.d.ts +18 -32
  118. package/dist/commands/teamwork/store/paths.d.ts.map +1 -0
  119. package/dist/commands/{channel → teamwork}/store/paths.js +42 -109
  120. package/dist/commands/teamwork/store/paths.js.map +1 -0
  121. package/dist/commands/teamwork/store/schema.d.ts +18 -0
  122. package/dist/commands/teamwork/store/schema.d.ts.map +1 -0
  123. package/dist/commands/teamwork/store/schema.js +23 -0
  124. package/dist/commands/teamwork/store/schema.js.map +1 -0
  125. package/dist/commands/{channel → teamwork}/store/thread-state.d.ts +3 -3
  126. package/dist/commands/teamwork/store/thread-state.d.ts.map +1 -0
  127. package/dist/commands/{channel → teamwork}/store/thread-state.js +1 -1
  128. package/dist/commands/teamwork/store/thread-state.js.map +1 -0
  129. package/dist/commands/teamwork/store/watch.d.ts +19 -0
  130. package/dist/commands/teamwork/store/watch.d.ts.map +1 -0
  131. package/dist/commands/{channel → teamwork}/store/watch.js +8 -8
  132. package/dist/commands/teamwork/store/watch.js.map +1 -0
  133. package/dist/commands/teamwork/supervisor/idle.d.ts.map +1 -0
  134. package/dist/commands/teamwork/supervisor/idle.js.map +1 -0
  135. package/dist/commands/{channel → teamwork}/supervisor/inbox.d.ts +2 -2
  136. package/dist/commands/teamwork/supervisor/inbox.d.ts.map +1 -0
  137. package/dist/commands/{channel → teamwork}/supervisor/inbox.js +14 -14
  138. package/dist/commands/teamwork/supervisor/inbox.js.map +1 -0
  139. package/dist/commands/{channel → teamwork}/supervisor/shutdown.d.ts +3 -6
  140. package/dist/commands/teamwork/supervisor/shutdown.d.ts.map +1 -0
  141. package/dist/commands/{channel → teamwork}/supervisor/shutdown.js +7 -17
  142. package/dist/commands/teamwork/supervisor/shutdown.js.map +1 -0
  143. package/dist/commands/{channel → teamwork}/supervisor/stdout.d.ts +3 -5
  144. package/dist/commands/teamwork/supervisor/stdout.d.ts.map +1 -0
  145. package/dist/commands/{channel → teamwork}/supervisor/stdout.js +12 -23
  146. package/dist/commands/teamwork/supervisor/stdout.js.map +1 -0
  147. package/dist/commands/teamwork/supervisor/turns.d.ts.map +1 -0
  148. package/dist/commands/teamwork/supervisor/turns.js.map +1 -0
  149. package/dist/commands/{channel → teamwork}/supervisor/warning.d.ts +5 -5
  150. package/dist/commands/teamwork/supervisor/warning.d.ts.map +1 -0
  151. package/dist/commands/{channel → teamwork}/supervisor/warning.js +6 -6
  152. package/dist/commands/teamwork/supervisor/warning.js.map +1 -0
  153. package/dist/commands/{channel → teamwork}/supervisor.d.ts +21 -21
  154. package/dist/commands/teamwork/supervisor.d.ts.map +1 -0
  155. package/dist/commands/{channel → teamwork}/supervisor.js +53 -63
  156. package/dist/commands/teamwork/supervisor.js.map +1 -0
  157. package/dist/commands/teamwork/teammate-adapters.d.ts +31 -0
  158. package/dist/commands/teamwork/teammate-adapters.d.ts.map +1 -0
  159. package/dist/commands/teamwork/teammate-adapters.js +96 -0
  160. package/dist/commands/teamwork/teammate-adapters.js.map +1 -0
  161. package/dist/commands/teamwork/teammate-config.d.ts +19 -0
  162. package/dist/commands/teamwork/teammate-config.d.ts.map +1 -0
  163. package/dist/commands/teamwork/teammate-config.js +97 -0
  164. package/dist/commands/teamwork/teammate-config.js.map +1 -0
  165. package/dist/commands/teamwork/teammate-launch.d.ts +58 -0
  166. package/dist/commands/teamwork/teammate-launch.d.ts.map +1 -0
  167. package/dist/commands/teamwork/teammate-launch.js +125 -0
  168. package/dist/commands/teamwork/teammate-launch.js.map +1 -0
  169. package/dist/commands/teamwork/text-body.d.ts +13 -0
  170. package/dist/commands/teamwork/text-body.d.ts.map +1 -0
  171. package/dist/commands/{channel → teamwork}/text-body.js +3 -3
  172. package/dist/commands/teamwork/text-body.js.map +1 -0
  173. package/dist/commands/teamwork/threads.d.ts +35 -0
  174. package/dist/commands/teamwork/threads.d.ts.map +1 -0
  175. package/dist/commands/{channel → teamwork}/threads.js +19 -19
  176. package/dist/commands/teamwork/threads.js.map +1 -0
  177. package/dist/commands/teamwork/title.d.ts +12 -0
  178. package/dist/commands/teamwork/title.d.ts.map +1 -0
  179. package/dist/commands/teamwork/title.js +24 -0
  180. package/dist/commands/teamwork/title.js.map +1 -0
  181. package/dist/commands/{channel → teamwork}/wait.d.ts +1 -5
  182. package/dist/commands/teamwork/wait.d.ts.map +1 -0
  183. package/dist/commands/{channel → teamwork}/wait.js +8 -21
  184. package/dist/commands/teamwork/wait.js.map +1 -0
  185. package/dist/commands/update.d.ts.map +1 -1
  186. package/dist/commands/update.js +48 -89
  187. package/dist/commands/update.js.map +1 -1
  188. package/dist/commands/workflow.d.ts +1 -1
  189. package/dist/commands/workflow.d.ts.map +1 -1
  190. package/dist/commands/workflow.js +9 -10
  191. package/dist/commands/workflow.js.map +1 -1
  192. package/dist/configurators/claude.d.ts +0 -17
  193. package/dist/configurators/claude.d.ts.map +1 -1
  194. package/dist/configurators/claude.js +2 -61
  195. package/dist/configurators/claude.js.map +1 -1
  196. package/dist/configurators/shared.d.ts.map +1 -1
  197. package/dist/configurators/shared.js +2 -2
  198. package/dist/configurators/shared.js.map +1 -1
  199. package/dist/configurators/snow.js +1 -1
  200. package/dist/configurators/snow.js.map +1 -1
  201. package/dist/configurators/workflow.d.ts +1 -1
  202. package/dist/configurators/workflow.js +5 -5
  203. package/dist/configurators/workflow.js.map +1 -1
  204. package/dist/constants/paths.d.ts +1 -1
  205. package/dist/constants/paths.d.ts.map +1 -1
  206. package/dist/constants/paths.js +1 -1
  207. package/dist/constants/paths.js.map +1 -1
  208. package/dist/migrations/manifests/0.7.0-beta.10.json +9 -0
  209. package/dist/migrations/manifests/0.7.0-beta.11.json +9 -0
  210. package/dist/migrations/manifests/0.7.0-beta.12.json +9 -0
  211. package/dist/migrations/manifests/0.7.0-beta.13.json +9 -0
  212. package/dist/migrations/manifests/0.7.0-beta.14.json +9 -0
  213. package/dist/migrations/manifests/0.7.0-beta.15.json +9 -0
  214. package/dist/migrations/manifests/0.7.0-beta.16.json +9 -0
  215. package/dist/migrations/manifests/0.7.0-beta.17.json +9 -0
  216. package/dist/migrations/manifests/0.7.0-beta.18.json +9 -0
  217. package/dist/migrations/manifests/0.7.0-beta.19.json +9 -0
  218. package/dist/migrations/manifests/0.7.0-beta.20.json +9 -0
  219. package/dist/migrations/manifests/0.7.0-beta.21.json +17 -0
  220. package/dist/migrations/manifests/0.7.0-beta.22.json +9 -0
  221. package/dist/migrations/manifests/0.7.0-beta.23.json +9 -0
  222. package/dist/migrations/manifests/0.7.0-beta.24.json +9 -0
  223. package/dist/migrations/manifests/0.7.0-beta.25.json +9 -0
  224. package/dist/migrations/manifests/0.7.0-beta.26.json +9 -0
  225. package/dist/migrations/manifests/0.7.0-beta.27.json +9 -0
  226. package/dist/migrations/manifests/0.7.0-beta.28.json +9 -0
  227. package/dist/migrations/manifests/0.7.0-beta.29.json +9 -0
  228. package/dist/migrations/manifests/0.7.0-beta.30.json +9 -0
  229. package/dist/migrations/manifests/0.7.0-beta.31.json +9 -0
  230. package/dist/migrations/manifests/0.7.0-beta.32.json +9 -0
  231. package/dist/migrations/manifests/0.7.0-beta.33.json +9 -0
  232. package/dist/migrations/manifests/0.7.0-beta.34.json +9 -0
  233. package/dist/migrations/manifests/0.7.0-beta.35.json +9 -0
  234. package/dist/migrations/manifests/0.7.0-beta.36.json +9 -0
  235. package/dist/migrations/manifests/0.7.0-beta.37.json +9 -0
  236. package/dist/migrations/manifests/0.7.0-beta.38.json +9 -0
  237. package/dist/migrations/manifests/0.7.0-beta.39.json +9 -0
  238. package/dist/migrations/manifests/0.7.0-beta.40.json +9 -0
  239. package/dist/migrations/manifests/0.7.0-beta.41.json +9 -0
  240. package/dist/migrations/manifests/0.7.0-beta.42.json +9 -0
  241. package/dist/migrations/manifests/0.7.0-beta.43.json +9 -0
  242. package/dist/migrations/manifests/0.7.0-beta.44.json +9 -0
  243. package/dist/migrations/manifests/0.7.0-beta.45.json +9 -0
  244. package/dist/migrations/manifests/0.7.0-beta.46.json +9 -0
  245. package/dist/migrations/manifests/0.7.0-beta.47.json +9 -0
  246. package/dist/migrations/manifests/0.7.0-beta.48.json +9 -0
  247. package/dist/migrations/manifests/0.7.0-beta.49.json +13 -0
  248. package/dist/migrations/manifests/0.7.0-beta.50.json +12 -0
  249. package/dist/migrations/manifests/0.7.0-beta.51.json +9 -0
  250. package/dist/migrations/manifests/0.7.0-beta.52.json +9 -0
  251. package/dist/migrations/manifests/0.7.0-beta.53.json +27 -0
  252. package/dist/migrations/manifests/0.7.0-beta.54.json +8 -0
  253. package/dist/migrations/manifests/0.7.0-beta.9.json +9 -0
  254. package/dist/migrations/manifests/0.7.1-beta.0.json +9 -0
  255. package/dist/migrations/manifests/0.7.1.json +9 -0
  256. package/dist/templates/claude/hooks/statusline.py +0 -7
  257. package/dist/templates/codex/hooks/session-start.py +31 -38
  258. package/dist/templates/common/bundled-skills/trellis-decision-space-construction-and-merging/SKILL.md +10 -0
  259. package/dist/templates/common/bundled-skills/trellis-decision-space-construction-and-merging/workflow.md +40 -0
  260. package/dist/templates/common/bundled-skills/trellis-delivery-review-and-closeout/SKILL.md +10 -0
  261. package/dist/templates/common/bundled-skills/trellis-delivery-review-and-closeout/workflow.md +55 -0
  262. package/dist/templates/common/bundled-skills/trellis-goal-exploration-and-requirements/SKILL.md +10 -0
  263. package/dist/templates/common/bundled-skills/trellis-goal-exploration-and-requirements/workflow.md +33 -0
  264. package/dist/templates/common/bundled-skills/trellis-meta/SKILL.md +25 -25
  265. package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-agents.md +1 -1
  266. package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-skills-or-commands.md +13 -19
  267. package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-spec-structure.md +1 -1
  268. package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-task-lifecycle.md +27 -75
  269. package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-workflow.md +17 -56
  270. package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/overview.md +1 -1
  271. package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/bundled-skills.md +14 -11
  272. package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/generated-files.md +0 -33
  273. package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/multi-agent-teamwork.md +32 -0
  274. package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/spec-system.md +1 -1
  275. package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/task-system.md +25 -111
  276. package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/workflow.md +19 -60
  277. package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/skills-and-commands.md +1 -1
  278. package/dist/templates/common/bundled-skills/trellis-session-insight/SKILL.md +1 -1
  279. package/dist/templates/common/bundled-skills/trellis-session-insight/references/cli-quick-reference.md +1 -1
  280. package/dist/templates/common/bundled-skills/trellis-solution-design-and-convergence/SKILL.md +10 -0
  281. package/dist/templates/common/bundled-skills/trellis-solution-design-and-convergence/workflow.md +36 -0
  282. package/dist/templates/common/bundled-skills/trellis-task-implementation/SKILL.md +10 -0
  283. package/dist/templates/common/bundled-skills/trellis-task-implementation/workflow.md +29 -0
  284. package/dist/templates/common/bundled-skills/trellis-teamwork/SKILL.md +73 -0
  285. package/dist/templates/common/bundled-skills/trellis-teamwork/references/coordination-modes.md +29 -0
  286. package/dist/templates/common/bundled-skills/trellis-teamwork/references/teammate-configuration-matrix.md +31 -0
  287. package/dist/templates/common/bundled-skills/trellis-teamwork/references/teammate-processes.md +37 -0
  288. package/dist/templates/common/bundled-skills/trellis-teamwork/references/teamwork-plan-construction.md +78 -0
  289. package/dist/templates/common/commands/continue.md +9 -49
  290. package/dist/templates/common/commands/finish-work.md +10 -58
  291. package/dist/templates/common/commands/start.md +19 -49
  292. package/dist/templates/common/skills/brainstorm.md +11 -191
  293. package/dist/templates/copilot/hooks/session-start.py +30 -26
  294. package/dist/templates/copilot/prompts/brainstorm.prompt.md +7 -150
  295. package/dist/templates/copilot/prompts/finish-work.prompt.md +11 -88
  296. package/dist/templates/copilot/prompts/record-session.prompt.md +4 -12
  297. package/dist/templates/copilot/prompts/start.prompt.md +12 -10
  298. package/dist/templates/dsh/DSH.md +2 -2
  299. package/dist/templates/kiro/agents/trellis.json +2 -2
  300. package/dist/templates/markdown/agents.md +14 -3
  301. package/dist/templates/markdown/spec/guides/cross-layer-thinking-guide.md.txt +9 -8
  302. package/dist/templates/markdown/spec/guides/cross-platform-thinking-guide.md.txt +1 -1
  303. package/dist/templates/markdown/workspace-index.md +0 -1
  304. package/dist/templates/omp/extensions/trellis/index.ts.txt +28 -17
  305. package/dist/templates/opencode/lib/session-utils.js +20 -25
  306. package/dist/templates/opencode/lib/trellis-context.js +4 -76
  307. package/dist/templates/opencode/plugins/inject-subagent-context.js +5 -4
  308. package/dist/templates/opencode/plugins/inject-workflow-state.js +14 -17
  309. package/dist/templates/shared-hooks/inject-shell-session-context.py +3 -3
  310. package/dist/templates/shared-hooks/inject-subagent-context.py +445 -67
  311. package/dist/templates/shared-hooks/inject-workflow-state.py +44 -36
  312. package/dist/templates/shared-hooks/session-start.py +21 -33
  313. package/dist/templates/trellis/agents/delegated-worktree-primary-agent.md +18 -0
  314. package/dist/templates/trellis/agents/teammate-profiles.json +8 -0
  315. package/dist/templates/trellis/agents/teammate.md +63 -0
  316. package/dist/templates/trellis/config.yaml +29 -38
  317. package/dist/templates/trellis/gitignore.txt +1 -0
  318. package/dist/templates/trellis/index.d.ts +8 -12
  319. package/dist/templates/trellis/index.d.ts.map +1 -1
  320. package/dist/templates/trellis/index.js +14 -25
  321. package/dist/templates/trellis/index.js.map +1 -1
  322. package/dist/templates/trellis/scripts/add_session.py +1 -1
  323. package/dist/templates/trellis/scripts/common/__init__.py +0 -1
  324. package/dist/templates/trellis/scripts/common/active_task.py +136 -100
  325. package/dist/templates/trellis/scripts/common/config.py +7 -9
  326. package/dist/templates/trellis/scripts/common/git_context.py +1 -1
  327. package/dist/templates/trellis/scripts/common/io.py +19 -0
  328. package/dist/templates/trellis/scripts/common/paths.py +0 -1
  329. package/dist/templates/trellis/scripts/common/safe_commit.py +11 -90
  330. package/dist/templates/trellis/scripts/common/session_context.py +1 -8
  331. package/dist/templates/trellis/scripts/common/spec_match.py +1 -1
  332. package/dist/templates/trellis/scripts/common/task_context.py +152 -59
  333. package/dist/templates/trellis/scripts/common/task_continuity.py +598 -0
  334. package/dist/templates/trellis/scripts/common/task_store.py +70 -548
  335. package/dist/templates/trellis/scripts/common/task_utils.py +4 -98
  336. package/dist/templates/trellis/scripts/common/task_workflow.py +1096 -0
  337. package/dist/templates/trellis/scripts/common/tasks.py +5 -8
  338. package/dist/templates/trellis/scripts/common/workflow_phase.py +8 -7
  339. package/dist/templates/trellis/scripts/hooks/linear_sync.py +3 -3
  340. package/dist/templates/trellis/scripts/task.py +119 -377
  341. package/dist/templates/trellis/workflow.md +111 -699
  342. package/dist/utils/agent-refs.d.ts +5 -5
  343. package/dist/utils/agent-refs.js +6 -6
  344. package/dist/utils/file-writer.d.ts +3 -2
  345. package/dist/utils/file-writer.d.ts.map +1 -1
  346. package/dist/utils/file-writer.js +3 -2
  347. package/dist/utils/file-writer.js.map +1 -1
  348. package/dist/utils/managed-paths.d.ts +0 -7
  349. package/dist/utils/managed-paths.d.ts.map +1 -1
  350. package/dist/utils/managed-paths.js +0 -40
  351. package/dist/utils/managed-paths.js.map +1 -1
  352. package/dist/utils/manifest-prune.d.ts.map +1 -1
  353. package/dist/utils/manifest-prune.js +2 -11
  354. package/dist/utils/manifest-prune.js.map +1 -1
  355. package/dist/utils/uninstall-scrubbers.d.ts.map +1 -1
  356. package/dist/utils/uninstall-scrubbers.js +3 -3
  357. package/dist/utils/uninstall-scrubbers.js.map +1 -1
  358. package/dist/utils/workflow-resolver.d.ts +10 -16
  359. package/dist/utils/workflow-resolver.d.ts.map +1 -1
  360. package/dist/utils/workflow-resolver.js +25 -36
  361. package/dist/utils/workflow-resolver.js.map +1 -1
  362. package/package.json +2 -2
  363. package/dist/commands/channel/adapters/claude.d.ts.map +0 -1
  364. package/dist/commands/channel/adapters/claude.js.map +0 -1
  365. package/dist/commands/channel/adapters/codex.d.ts.map +0 -1
  366. package/dist/commands/channel/adapters/codex.js.map +0 -1
  367. package/dist/commands/channel/adapters/index.d.ts.map +0 -1
  368. package/dist/commands/channel/adapters/index.js.map +0 -1
  369. package/dist/commands/channel/adapters/types.d.ts.map +0 -1
  370. package/dist/commands/channel/adapters/types.js.map +0 -1
  371. package/dist/commands/channel/agent-loader.d.ts.map +0 -1
  372. package/dist/commands/channel/agent-loader.js.map +0 -1
  373. package/dist/commands/channel/context-loader.d.ts.map +0 -1
  374. package/dist/commands/channel/context-loader.js.map +0 -1
  375. package/dist/commands/channel/context-trust.d.ts.map +0 -1
  376. package/dist/commands/channel/context-trust.js.map +0 -1
  377. package/dist/commands/channel/context.d.ts +0 -16
  378. package/dist/commands/channel/context.d.ts.map +0 -1
  379. package/dist/commands/channel/context.js.map +0 -1
  380. package/dist/commands/channel/create.d.ts +0 -29
  381. package/dist/commands/channel/create.d.ts.map +0 -1
  382. package/dist/commands/channel/create.js +0 -47
  383. package/dist/commands/channel/create.js.map +0 -1
  384. package/dist/commands/channel/dev-parse-trace.d.ts.map +0 -1
  385. package/dist/commands/channel/dev-parse-trace.js.map +0 -1
  386. package/dist/commands/channel/guard.d.ts.map +0 -1
  387. package/dist/commands/channel/guard.js.map +0 -1
  388. package/dist/commands/channel/index.d.ts +0 -3
  389. package/dist/commands/channel/index.d.ts.map +0 -1
  390. package/dist/commands/channel/index.js.map +0 -1
  391. package/dist/commands/channel/interrupt.d.ts.map +0 -1
  392. package/dist/commands/channel/interrupt.js +0 -22
  393. package/dist/commands/channel/interrupt.js.map +0 -1
  394. package/dist/commands/channel/kill.d.ts +0 -7
  395. package/dist/commands/channel/kill.d.ts.map +0 -1
  396. package/dist/commands/channel/kill.js.map +0 -1
  397. package/dist/commands/channel/list.d.ts +0 -18
  398. package/dist/commands/channel/list.d.ts.map +0 -1
  399. package/dist/commands/channel/list.js.map +0 -1
  400. package/dist/commands/channel/messages.d.ts.map +0 -1
  401. package/dist/commands/channel/messages.js.map +0 -1
  402. package/dist/commands/channel/rm.d.ts +0 -27
  403. package/dist/commands/channel/rm.d.ts.map +0 -1
  404. package/dist/commands/channel/rm.js.map +0 -1
  405. package/dist/commands/channel/run.d.ts +0 -32
  406. package/dist/commands/channel/run.js +0 -141
  407. package/dist/commands/channel/run.js.map +0 -1
  408. package/dist/commands/channel/send.d.ts.map +0 -1
  409. package/dist/commands/channel/send.js.map +0 -1
  410. package/dist/commands/channel/spawn.d.ts.map +0 -1
  411. package/dist/commands/channel/spawn.js.map +0 -1
  412. package/dist/commands/channel/store/events.d.ts +0 -22
  413. package/dist/commands/channel/store/events.d.ts.map +0 -1
  414. package/dist/commands/channel/store/events.js.map +0 -1
  415. package/dist/commands/channel/store/filter.d.ts +0 -3
  416. package/dist/commands/channel/store/filter.d.ts.map +0 -1
  417. package/dist/commands/channel/store/filter.js +0 -2
  418. package/dist/commands/channel/store/filter.js.map +0 -1
  419. package/dist/commands/channel/store/lock.d.ts.map +0 -1
  420. package/dist/commands/channel/store/lock.js.map +0 -1
  421. package/dist/commands/channel/store/paths.d.ts.map +0 -1
  422. package/dist/commands/channel/store/paths.js.map +0 -1
  423. package/dist/commands/channel/store/schema.d.ts +0 -27
  424. package/dist/commands/channel/store/schema.d.ts.map +0 -1
  425. package/dist/commands/channel/store/schema.js +0 -34
  426. package/dist/commands/channel/store/schema.js.map +0 -1
  427. package/dist/commands/channel/store/thread-state.d.ts.map +0 -1
  428. package/dist/commands/channel/store/thread-state.js.map +0 -1
  429. package/dist/commands/channel/store/watch.d.ts +0 -19
  430. package/dist/commands/channel/store/watch.d.ts.map +0 -1
  431. package/dist/commands/channel/store/watch.js.map +0 -1
  432. package/dist/commands/channel/supervisor/idle.d.ts.map +0 -1
  433. package/dist/commands/channel/supervisor/idle.js.map +0 -1
  434. package/dist/commands/channel/supervisor/inbox.d.ts.map +0 -1
  435. package/dist/commands/channel/supervisor/inbox.js.map +0 -1
  436. package/dist/commands/channel/supervisor/shutdown.d.ts.map +0 -1
  437. package/dist/commands/channel/supervisor/shutdown.js.map +0 -1
  438. package/dist/commands/channel/supervisor/stdout.d.ts.map +0 -1
  439. package/dist/commands/channel/supervisor/stdout.js.map +0 -1
  440. package/dist/commands/channel/supervisor/turns.d.ts.map +0 -1
  441. package/dist/commands/channel/supervisor/turns.js.map +0 -1
  442. package/dist/commands/channel/supervisor/warning.d.ts.map +0 -1
  443. package/dist/commands/channel/supervisor/warning.js.map +0 -1
  444. package/dist/commands/channel/supervisor.d.ts.map +0 -1
  445. package/dist/commands/channel/supervisor.js.map +0 -1
  446. package/dist/commands/channel/text-body.d.ts +0 -13
  447. package/dist/commands/channel/text-body.d.ts.map +0 -1
  448. package/dist/commands/channel/text-body.js.map +0 -1
  449. package/dist/commands/channel/threads.d.ts +0 -39
  450. package/dist/commands/channel/threads.d.ts.map +0 -1
  451. package/dist/commands/channel/threads.js.map +0 -1
  452. package/dist/commands/channel/title.d.ts +0 -12
  453. package/dist/commands/channel/title.d.ts.map +0 -1
  454. package/dist/commands/channel/title.js +0 -24
  455. package/dist/commands/channel/title.js.map +0 -1
  456. package/dist/commands/channel/wait.d.ts.map +0 -1
  457. package/dist/commands/channel/wait.js.map +0 -1
  458. package/dist/commands/channel/workers.d.ts +0 -9
  459. package/dist/commands/channel/workers.d.ts.map +0 -1
  460. package/dist/commands/channel/workers.js +0 -31
  461. package/dist/commands/channel/workers.js.map +0 -1
  462. package/dist/templates/common/bundled-skills/trellis-channel/SKILL.md +0 -69
  463. package/dist/templates/common/bundled-skills/trellis-channel/references/command-reference.md +0 -549
  464. package/dist/templates/common/bundled-skills/trellis-channel/references/forum.md +0 -233
  465. package/dist/templates/common/bundled-skills/trellis-channel/references/progress-debugging.md +0 -237
  466. package/dist/templates/common/bundled-skills/trellis-channel/references/subnode-work.md +0 -193
  467. package/dist/templates/common/bundled-skills/trellis-channel/references/workers.md +0 -295
  468. package/dist/templates/common/bundled-skills/trellis-channel/references/workflows.md +0 -131
  469. package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/multi-agent-channel.md +0 -70
  470. package/dist/templates/common/bundled-skills/trellis-research-record/SKILL.md +0 -14
  471. package/dist/templates/copilot/prompts/parallel.prompt.md +0 -204
  472. package/dist/templates/trellis/agents/check.md +0 -70
  473. package/dist/templates/trellis/agents/implement.md +0 -71
  474. package/dist/templates/trellis/agents/subnode.env +0 -4
  475. package/dist/templates/trellis/agents/subnode.md +0 -69
  476. package/dist/templates/trellis/scripts/common/context_projection.py +0 -508
  477. package/dist/templates/trellis/scripts/common/continuation_record.py +0 -450
  478. package/dist/templates/trellis/scripts/common/ownership_record.py +0 -439
  479. package/dist/templates/trellis/scripts/subnode_artifact.py +0 -597
  480. package/dist/templates/trellis/scripts/workspace_note.py +0 -126
  481. /package/dist/commands/{channel → teamwork}/adapters/types.js +0 -0
  482. /package/dist/commands/{channel → teamwork}/supervisor/idle.d.ts +0 -0
  483. /package/dist/commands/{channel → teamwork}/supervisor/idle.js +0 -0
  484. /package/dist/commands/{channel → teamwork}/supervisor/turns.d.ts +0 -0
  485. /package/dist/commands/{channel → teamwork}/supervisor/turns.js +0 -0
@@ -1,9 +1,9 @@
1
1
  /**
2
- * Channel worker OOM guard policy.
2
+ * Teamwork teammate process guard policy.
3
3
  *
4
- * Resolves idle-cleanup TTL and live-worker budget from CLI flag /
4
+ * Resolves idle-cleanup TTL and live-teammate budget from CLI flag /
5
5
  * environment / project config / built-in defaults (in that precedence
6
- * order), then scans the live worker registry inside a project bucket
6
+ * order), then scans the live teammate registry inside a project bucket
7
7
  * to enforce both constraints at spawn time.
8
8
  *
9
9
  * Boundary: this module lives in the CLI runtime layer. Core owns
@@ -14,38 +14,31 @@
14
14
  import { execFileSync } from "node:child_process";
15
15
  import fs from "node:fs";
16
16
  import path from "node:path";
17
- import { isTerminalLifecycle, reduceWorkerRegistry, } from "@pennixrv/trellis-core/channel";
17
+ import { isTerminalLifecycle, reduceWorkerRegistry, } from "@pennixrv/trellis-core/teamwork";
18
18
  import { DIR_NAMES } from "../../constants/paths.js";
19
- import { channelDir, channelRoot, currentProjectKey, isSafeName, projectDir, workerFile, } from "./store/paths.js";
19
+ import { sessionDir, teamworkRoot, currentProjectKey, isSafeName, projectDir, workerFile, } from "./store/paths.js";
20
20
  import { parseDuration } from "./wait.js";
21
- /** Built-in default idle-cleanup TTL for spawned workers (5 minutes). */
21
+ /** Built-in default idle-cleanup TTL for spawned teammates (5 minutes). */
22
22
  export const DEFAULT_IDLE_TTL_MS = 5 * 60 * 1000;
23
- /** Built-in default live-worker budget per project/scope. */
24
- export const DEFAULT_MAX_LIVE_WORKERS = 6;
25
- /** Default active-assignment budget for the bounded subnode procedure. */
26
- export const DEFAULT_SUBNODE_MAX_LIVE_WORKERS = 8;
27
- /** Default hard lifetime for a bounded subnode worker. */
28
- export const DEFAULT_SUBNODE_TIMEOUT_MS = 30 * 60 * 1000;
29
- /** Default warning lead time for a bounded subnode worker timeout. */
30
- export const DEFAULT_SUBNODE_WARN_BEFORE_MS = 5 * 60 * 1000;
23
+ /** Built-in default live-teammate budget per project/scope. */
24
+ export const DEFAULT_MAX_LIVE_TEAMMATES = 6;
31
25
  /** Env var override for the idle-cleanup TTL. */
32
- export const ENV_IDLE_TIMEOUT = "TRELLIS_CHANNEL_WORKER_IDLE_TIMEOUT";
33
- /** Env var override for the live-worker budget. */
34
- export const ENV_MAX_LIVE_WORKERS = "TRELLIS_CHANNEL_MAX_LIVE_WORKERS";
26
+ export const ENV_IDLE_TIMEOUT = "TRELLIS_TEAMWORK_IDLE_TIMEOUT";
27
+ /** Env var override for the live-teammate budget. */
28
+ export const ENV_MAX_LIVE_TEAMMATES = "TRELLIS_TEAMWORK_MAX_LIVE_TEAMMATES";
35
29
  /**
36
30
  * Resolve the effective guard policy. Precedence:
37
31
  * 1. CLI flag (`flag*Ms` / `flagMaxLiveWorkers`)
38
32
  * 2. environment variable
39
- * 3. role-specific defaults (when supplied by `--agent subnode`)
40
- * 4. `.trellis/config.yaml` `channel.worker_guard`
41
- * 5. built-in default constant
33
+ * 3. `.trellis/config.yaml` `teamwork.teammate_guard`
34
+ * 4. built-in default constant
42
35
  */
43
- export function resolveWorkerGuardConfig(opts = {}) {
36
+ export function resolveTeammateGuardConfig(opts = {}) {
44
37
  const cwd = opts.cwd ?? process.cwd();
45
38
  const env = opts.env ?? process.env;
46
- const fromConfig = loadWorkerGuardConfig(cwd);
47
- const idleTimeoutMs = pickNonNegativeMs(opts.flagIdleTimeoutMs, parseEnvDuration(env[ENV_IDLE_TIMEOUT], ENV_IDLE_TIMEOUT), opts.roleDefaults?.idleTimeoutMs, fromConfig?.idleTimeoutMs, DEFAULT_IDLE_TTL_MS);
48
- const maxLiveWorkers = pickNonNegativeInt(opts.flagMaxLiveWorkers, parseEnvInt(env[ENV_MAX_LIVE_WORKERS], ENV_MAX_LIVE_WORKERS), opts.roleDefaults?.maxLiveWorkers, fromConfig?.maxLiveWorkers, DEFAULT_MAX_LIVE_WORKERS);
39
+ const fromConfig = loadTeammateGuardConfig(cwd);
40
+ const idleTimeoutMs = pickNonNegativeMs(opts.flagIdleTimeoutMs, parseEnvDuration(env[ENV_IDLE_TIMEOUT], ENV_IDLE_TIMEOUT), fromConfig?.idleTimeoutMs, DEFAULT_IDLE_TTL_MS);
41
+ const maxLiveWorkers = pickNonNegativeInt(opts.flagMaxLiveWorkers, parseEnvInt(env[ENV_MAX_LIVE_TEAMMATES], ENV_MAX_LIVE_TEAMMATES), fromConfig?.maxLiveWorkers, DEFAULT_MAX_LIVE_TEAMMATES);
49
42
  return { idleTimeoutMs, maxLiveWorkers };
50
43
  }
51
44
  function pickNonNegativeMs(...candidates) {
@@ -64,11 +57,11 @@ function pickNonNegativeInt(...candidates) {
64
57
  if (c === undefined)
65
58
  continue;
66
59
  if (!Number.isInteger(c) || c < 0) {
67
- throw new Error(`Max live workers must be a non-negative integer (got ${c})`);
60
+ throw new Error(`Max live teammates must be a non-negative integer (got ${c})`);
68
61
  }
69
62
  return c;
70
63
  }
71
- return DEFAULT_MAX_LIVE_WORKERS;
64
+ return DEFAULT_MAX_LIVE_TEAMMATES;
72
65
  }
73
66
  function parseEnvDuration(raw, envName) {
74
67
  if (raw === undefined || raw === "")
@@ -90,11 +83,11 @@ function parseEnvInt(raw, envName) {
90
83
  return n;
91
84
  }
92
85
  /**
93
- * Parse the `channel.worker_guard` section out of `.trellis/config.yaml`.
86
+ * Parse the `teamwork.teammate_guard` section out of `.trellis/config.yaml`.
94
87
  * Mirrors the lightweight line-scanner used elsewhere in update.ts so we
95
88
  * don't pull in a YAML dependency just for this two-field section.
96
89
  */
97
- export function loadWorkerGuardConfig(cwd) {
90
+ export function loadTeammateGuardConfig(cwd) {
98
91
  const configPath = path.join(cwd, DIR_NAMES.WORKFLOW, "config.yaml");
99
92
  if (!fs.existsSync(configPath))
100
93
  return undefined;
@@ -105,12 +98,12 @@ export function loadWorkerGuardConfig(cwd) {
105
98
  catch {
106
99
  return undefined;
107
100
  }
108
- return parseWorkerGuardSection(content);
101
+ return parseTeammateGuardSection(content);
109
102
  }
110
103
  /** Exposed for unit tests. */
111
- export function parseWorkerGuardSection(content) {
104
+ export function parseTeammateGuardSection(content) {
112
105
  const lines = content.split("\n");
113
- let inChannel = false;
106
+ let inTeamwork = false;
114
107
  let inGuard = false;
115
108
  const found = {};
116
109
  let any = false;
@@ -119,12 +112,12 @@ export function parseWorkerGuardSection(content) {
119
112
  const trimmed = line.trimEnd();
120
113
  if (trimmed === "" || trimmed.trimStart().startsWith("#"))
121
114
  continue;
122
- if (/^channel:\s*$/.test(trimmed)) {
123
- inChannel = true;
115
+ if (/^teamwork:\s*$/.test(trimmed)) {
116
+ inTeamwork = true;
124
117
  inGuard = false;
125
118
  continue;
126
119
  }
127
- if (inChannel && /^ {2}worker_guard:\s*$/.test(trimmed)) {
120
+ if (inTeamwork && /^ {2}teammate_guard:\s*$/.test(trimmed)) {
128
121
  inGuard = true;
129
122
  continue;
130
123
  }
@@ -136,12 +129,12 @@ export function parseWorkerGuardSection(content) {
136
129
  any = true;
137
130
  continue;
138
131
  }
139
- const max = trimmed.match(/^ {4}max_live_workers:\s*(.+)$/);
132
+ const max = trimmed.match(/^ {4}max_live_teammates:\s*(.+)$/);
140
133
  if (max) {
141
134
  const val = stripValue(max[1]);
142
135
  const n = Number(val);
143
136
  if (!Number.isInteger(n) || n < 0) {
144
- throw new Error(`channel.worker_guard.max_live_workers must be a non-negative integer (got '${val}')`);
137
+ throw new Error(`teamwork.teammate_guard.max_live_teammates must be a non-negative integer (got '${val}')`);
145
138
  }
146
139
  found.maxLiveWorkers = n;
147
140
  any = true;
@@ -152,89 +145,13 @@ export function parseWorkerGuardSection(content) {
152
145
  inGuard = false;
153
146
  }
154
147
  }
155
- if (inChannel && !/^ {2}\S/.test(line) && /^\S/.test(line)) {
156
- inChannel = false;
148
+ if (inTeamwork && /^\S/.test(line) && !/^teamwork:\s*$/.test(trimmed)) {
149
+ inTeamwork = false;
157
150
  inGuard = false;
158
151
  }
159
152
  }
160
153
  return any ? found : undefined;
161
154
  }
162
- /** Parse the role-specific `channel.subnode` dispatch defaults. */
163
- export function parseSubnodeDispatchSection(content) {
164
- const lines = content.split("\n");
165
- let inChannel = false;
166
- let inSubnode = false;
167
- const found = {};
168
- let any = false;
169
- for (const raw of lines) {
170
- const line = raw.replace(/\r$/, "");
171
- const trimmed = line.trimEnd();
172
- if (trimmed === "" || trimmed.trimStart().startsWith("#"))
173
- continue;
174
- if (/^channel:\s*$/.test(trimmed)) {
175
- inChannel = true;
176
- inSubnode = false;
177
- continue;
178
- }
179
- if (inChannel && /^ {2}subnode:\s*$/.test(trimmed)) {
180
- inSubnode = true;
181
- continue;
182
- }
183
- if (inSubnode) {
184
- const idle = trimmed.match(/^ {4}idle_timeout:\s*(.+)$/);
185
- if (idle) {
186
- found.idleTimeoutMs = parseChannelDuration(stripValue(idle[1]), "channel.subnode.idle_timeout");
187
- any = true;
188
- continue;
189
- }
190
- const max = trimmed.match(/^ {4}max_live_workers:\s*(.+)$/);
191
- if (max) {
192
- found.maxLiveWorkers = parseChannelInteger(stripValue(max[1]), "channel.subnode.max_live_workers");
193
- any = true;
194
- continue;
195
- }
196
- const timeout = trimmed.match(/^ {4}timeout:\s*(.+)$/);
197
- if (timeout) {
198
- found.timeoutMs = parseChannelDuration(stripValue(timeout[1]), "channel.subnode.timeout");
199
- any = true;
200
- continue;
201
- }
202
- const warnBefore = trimmed.match(/^ {4}warn_before:\s*(.+)$/);
203
- if (warnBefore) {
204
- found.warnBeforeMs = parseChannelDuration(stripValue(warnBefore[1]), "channel.subnode.warn_before");
205
- any = true;
206
- continue;
207
- }
208
- if (!/^ {4}\S/.test(line))
209
- inSubnode = false;
210
- }
211
- if (inChannel && !/^ {2}\S/.test(line) && /^\S/.test(line)) {
212
- inChannel = false;
213
- inSubnode = false;
214
- }
215
- }
216
- return any ? found : undefined;
217
- }
218
- /** Resolve subnode defaults without changing ordinary worker defaults. */
219
- export function loadSubnodeDispatchConfig(cwd) {
220
- const configPath = path.join(cwd, DIR_NAMES.WORKFLOW, "config.yaml");
221
- let content = "";
222
- try {
223
- content = fs.readFileSync(configPath, "utf-8");
224
- }
225
- catch {
226
- // Existing projects without the section still get the procedure default.
227
- }
228
- const fromConfig = parseSubnodeDispatchSection(content);
229
- return {
230
- maxLiveWorkers: fromConfig?.maxLiveWorkers ?? DEFAULT_SUBNODE_MAX_LIVE_WORKERS,
231
- timeoutMs: fromConfig?.timeoutMs ?? DEFAULT_SUBNODE_TIMEOUT_MS,
232
- warnBeforeMs: fromConfig?.warnBeforeMs ?? DEFAULT_SUBNODE_WARN_BEFORE_MS,
233
- ...(fromConfig?.idleTimeoutMs !== undefined
234
- ? { idleTimeoutMs: fromConfig.idleTimeoutMs }
235
- : {}),
236
- };
237
- }
238
155
  function stripValue(s) {
239
156
  return s
240
157
  .trim()
@@ -247,7 +164,7 @@ function parseGuardDuration(raw, key) {
247
164
  const asInt = Number(raw);
248
165
  if (Number.isFinite(asInt) && /^\d+$/.test(raw)) {
249
166
  if (asInt < 0) {
250
- throw new Error(`channel.worker_guard.${key} must be non-negative (got '${raw}')`);
167
+ throw new Error(`teamwork.teammate_guard.${key} must be non-negative (got '${raw}')`);
251
168
  }
252
169
  // Bare integer 0 = disabled; >0 with no unit = milliseconds.
253
170
  return asInt;
@@ -256,30 +173,12 @@ function parseGuardDuration(raw, key) {
256
173
  return parseDuration(raw) ?? 0;
257
174
  }
258
175
  catch (err) {
259
- throw new Error(`channel.worker_guard.${key}: ${err instanceof Error ? err.message : String(err)}`);
260
- }
261
- }
262
- function parseChannelInteger(raw, key) {
263
- const n = Number(raw);
264
- if (!Number.isInteger(n) || n < 0) {
265
- throw new Error(`${key} must be a non-negative integer (got '${raw}')`);
266
- }
267
- return n;
268
- }
269
- function parseChannelDuration(raw, key) {
270
- const asInt = Number(raw);
271
- if (Number.isFinite(asInt) && /^\d+$/.test(raw))
272
- return asInt;
273
- try {
274
- return parseDuration(raw) ?? 0;
275
- }
276
- catch (err) {
277
- throw new Error(`${key}: ${err instanceof Error ? err.message : String(err)}`);
176
+ throw new Error(`teamwork.teammate_guard.${key}: ${err instanceof Error ? err.message : String(err)}`);
278
177
  }
279
178
  }
280
179
  /**
281
180
  * Enumerate live (non-terminal + supervisor-pid alive) workers across
282
- * every channel in the given project bucket.
181
+ * every Teamwork Session in the given project bucket.
283
182
  */
284
183
  export function scanLiveWorkers(opts = {}) {
285
184
  const project = opts.projectKey ?? currentProjectKey();
@@ -299,9 +198,9 @@ export function scanLiveWorkers(opts = {}) {
299
198
  for (const entry of entries) {
300
199
  if (entry.startsWith("."))
301
200
  continue;
302
- // Stores created before name validation may hold channel dirs with
201
+ // Stores created before name validation may hold directories with
303
202
  // now-invalid names (spaces, CJK, ...). They can never host workers —
304
- // skip them instead of letting workerFile/channelDir throw mid-scan.
203
+ // skip them instead of letting workerFile/sessionDir throw mid-scan.
305
204
  if (!isSafeName(entry))
306
205
  continue;
307
206
  const dir = path.join(bucket, entry);
@@ -338,7 +237,7 @@ export function scanLiveWorkers(opts = {}) {
338
237
  : isSupervisorProcess(supervisorPid, entry, state.workerId);
339
238
  const workerPid = readPid(workerFile(entry, state.workerId, "worker-pid", project));
340
239
  out.push({
341
- channel: entry,
240
+ sessionId: entry,
342
241
  workerId: state.workerId,
343
242
  state,
344
243
  supervisorPid,
@@ -347,7 +246,7 @@ export function scanLiveWorkers(opts = {}) {
347
246
  });
348
247
  }
349
248
  for (const state of readReservationWorkers(entry, project)) {
350
- if (out.some((w) => w.channel === entry && w.workerId === state.workerId)) {
249
+ if (out.some((w) => w.sessionId === entry && w.workerId === state.workerId)) {
351
250
  continue;
352
251
  }
353
252
  const supervisorPid = readPid(workerFile(entry, state.workerId, "pid", project));
@@ -357,7 +256,7 @@ export function scanLiveWorkers(opts = {}) {
357
256
  ? opts.isSupervisorProcess(supervisorPid, entry, state.workerId)
358
257
  : isSupervisorProcess(supervisorPid, entry, state.workerId);
359
258
  out.push({
360
- channel: entry,
259
+ sessionId: entry,
361
260
  workerId: state.workerId,
362
261
  state,
363
262
  supervisorPid,
@@ -367,8 +266,8 @@ export function scanLiveWorkers(opts = {}) {
367
266
  }
368
267
  return out;
369
268
  }
370
- function readReservationWorkers(channel, project) {
371
- const dir = channelDir(channel, project);
269
+ function readReservationWorkers(sessionId, project) {
270
+ const dir = sessionDir(sessionId, project);
372
271
  let files;
373
272
  try {
374
273
  files = fs.readdirSync(dir);
@@ -386,7 +285,6 @@ function readReservationWorkers(channel, project) {
386
285
  lifecycle: "starting",
387
286
  terminal: false,
388
287
  activity: "idle",
389
- sessionIds: [],
390
288
  pendingMessageCount: 0,
391
289
  inboxPolicy: "explicitOnly",
392
290
  updatedAt: new Date(0).toISOString(),
@@ -428,7 +326,7 @@ function pidAlive(pid) {
428
326
  return false;
429
327
  }
430
328
  }
431
- export function isSupervisorProcess(pid, channel, worker) {
329
+ export function isSupervisorProcess(pid, sessionId, worker) {
432
330
  if (process.platform === "win32")
433
331
  return false;
434
332
  try {
@@ -438,8 +336,8 @@ export function isSupervisorProcess(pid, channel, worker) {
438
336
  stdio: ["ignore", "pipe", "ignore"],
439
337
  }).trim();
440
338
  const pattern = new RegExp([
441
- "(?:^|\\s)channel\\s+__supervisor\\s+",
442
- escapeRegExp(channel),
339
+ "(?:^|\\s)teamwork\\s+__supervisor\\s+",
340
+ escapeRegExp(sessionId),
443
341
  "\\s+",
444
342
  escapeRegExp(worker),
445
343
  "(?:\\s|$)",
@@ -496,7 +394,7 @@ export async function cleanupExpiredIdleWorkers(candidates, idleTimeoutMs, opts
496
394
  !pidAlive(live.supervisorPid)) {
497
395
  continue;
498
396
  }
499
- const reasonFile = workerFile(live.channel, live.workerId, "shutdown-reason", project);
397
+ const reasonFile = workerFile(live.sessionId, live.workerId, "shutdown-reason", project);
500
398
  fs.writeFileSync(reasonFile, "idle-timeout\n", "utf-8");
501
399
  try {
502
400
  process.kill(live.supervisorPid, "SIGTERM");
@@ -542,8 +440,8 @@ export async function enforceSpawnBudget(input) {
542
440
  // Wait briefly for the SIGTERM to translate into pid-file removal; if
543
441
  // a worker is taking its grace period, just exclude killed workers
544
442
  // from the count.
545
- const killedIds = new Set(cleanup.killed.map((w) => `${w.channel}::${w.workerId}`));
546
- const remaining = scanLiveWorkers(scanOpts).filter((w) => !killedIds.has(`${w.channel}::${w.workerId}`));
443
+ const killedIds = new Set(cleanup.killed.map((w) => `${w.sessionId}::${w.workerId}`));
444
+ const remaining = scanLiveWorkers(scanOpts).filter((w) => !killedIds.has(`${w.sessionId}::${w.workerId}`));
547
445
  const allowed = input.policy.maxLiveWorkers <= 0 ||
548
446
  remaining.length < input.policy.maxLiveWorkers;
549
447
  return { cleaned: cleanup.killed, remaining, allowed };
@@ -551,7 +449,7 @@ export async function enforceSpawnBudget(input) {
551
449
  /** Build a multi-line, actionable overflow error string. */
552
450
  export function formatBudgetOverflowError(args) {
553
451
  const { projectKey, live, limit } = args;
554
- const header = `Live worker budget exhausted for project '${projectKey}': ${live.length}/${limit} live worker(s).`;
452
+ const header = `Live teammate budget exhausted for project '${projectKey}': ${live.length}/${limit} live teammate(s).`;
555
453
  const rows = live
556
454
  .map((w) => {
557
455
  const provider = w.state.provider ?? "?";
@@ -559,23 +457,23 @@ export function formatBudgetOverflowError(args) {
559
457
  const activity = w.state.activity;
560
458
  const pid = w.supervisorPid ?? "?";
561
459
  const verified = w.supervisorVerified === false ? " supervisor=unverified" : "";
562
- return ` • channel='${w.channel}' worker='${w.workerId}' provider=${provider} lifecycle=${lifecycle} activity=${activity} pid=${pid}${verified}`;
460
+ return ` • session='${w.sessionId}' teammate='${w.workerId}' provider=${provider} lifecycle=${lifecycle} activity=${activity} pid=${pid}${verified}`;
563
461
  })
564
462
  .join("\n");
565
463
  const hint = [
566
464
  "Free a slot before spawning, e.g.:",
567
- ` trellis channel kill <channel> --as <worker>`,
465
+ ` trellis teamwork kill <sessionId> --as <teammate>`,
568
466
  "Or override per spawn:",
569
- ` trellis channel spawn ... --max-live-workers ${live.length + 1}`,
570
- "Or raise the default in .trellis/config.yaml under channel.worker_guard.max_live_workers.",
467
+ ` trellis teamwork spawn ... --max-live-teammates ${live.length + 1}`,
468
+ "Or raise the default in .trellis/config.yaml under teamwork.teammate_guard.max_live_teammates.",
571
469
  ].join("\n");
572
470
  return [header, rows, hint].join("\n");
573
471
  }
574
472
  /**
575
- * Convenience helper: ensure `channelRoot()` is initialised before scan
473
+ * Convenience helper: ensure `teamworkRoot()` is initialised before scan
576
474
  * (otherwise the project dir may not yet exist on first spawn).
577
475
  */
578
476
  export function ensureRootExists() {
579
- fs.mkdirSync(channelRoot(), { recursive: true });
477
+ fs.mkdirSync(teamworkRoot(), { recursive: true });
580
478
  }
581
479
  //# sourceMappingURL=guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guard.js","sourceRoot":"","sources":["../../../src/commands/teamwork/guard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type Command } from "commander";
2
+ export declare function registerTeamworkCommand(program: Command): void;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/teamwork/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAwC/D,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAq5B9D"}