@pennixrv/trellis-core 0.7.0-beta.9 → 0.7.1-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (231) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +3 -3
  4. package/dist/index.js.map +1 -1
  5. package/dist/mem/adapters/claude.d.ts +1 -1
  6. package/dist/mem/adapters/claude.js +1 -1
  7. package/dist/mem/adapters/codex.d.ts +1 -1
  8. package/dist/mem/adapters/codex.js +1 -1
  9. package/dist/mem/adapters/devin.d.ts +1 -1
  10. package/dist/mem/adapters/devin.js +1 -1
  11. package/dist/mem/adapters/grok.d.ts +1 -1
  12. package/dist/mem/adapters/grok.js +1 -1
  13. package/dist/mem/adapters/zcode.d.ts +1 -1
  14. package/dist/mem/adapters/zcode.js +1 -1
  15. package/dist/mem/index.d.ts +3 -3
  16. package/dist/mem/index.js +3 -3
  17. package/dist/mem/phase.d.ts +4 -4
  18. package/dist/mem/phase.d.ts.map +1 -1
  19. package/dist/mem/phase.js +23 -26
  20. package/dist/mem/phase.js.map +1 -1
  21. package/dist/mem/sessions.js +2 -2
  22. package/dist/mem/sessions.js.map +1 -1
  23. package/dist/mem/types.d.ts +6 -6
  24. package/dist/mem/types.d.ts.map +1 -1
  25. package/dist/mem/types.js +3 -3
  26. package/dist/task/index.d.ts +2 -2
  27. package/dist/task/index.d.ts.map +1 -1
  28. package/dist/task/index.js +2 -2
  29. package/dist/task/index.js.map +1 -1
  30. package/dist/task/phase.d.ts +61 -26
  31. package/dist/task/phase.d.ts.map +1 -1
  32. package/dist/task/phase.js +152 -21
  33. package/dist/task/phase.js.map +1 -1
  34. package/dist/teamwork/api/assert.d.ts +3 -0
  35. package/dist/teamwork/api/assert.d.ts.map +1 -0
  36. package/dist/teamwork/api/assert.js +11 -0
  37. package/dist/teamwork/api/assert.js.map +1 -0
  38. package/dist/{channel → teamwork}/api/context.d.ts +8 -8
  39. package/dist/teamwork/api/context.d.ts.map +1 -0
  40. package/dist/{channel → teamwork}/api/context.js +32 -32
  41. package/dist/teamwork/api/context.js.map +1 -0
  42. package/dist/teamwork/api/coordination.d.ts +40 -0
  43. package/dist/teamwork/api/coordination.d.ts.map +1 -0
  44. package/dist/teamwork/api/coordination.js +50 -0
  45. package/dist/teamwork/api/coordination.js.map +1 -0
  46. package/dist/teamwork/api/create.d.ts +9 -0
  47. package/dist/teamwork/api/create.d.ts.map +1 -0
  48. package/dist/{channel → teamwork}/api/create.js +17 -20
  49. package/dist/teamwork/api/create.js.map +1 -0
  50. package/dist/{channel → teamwork}/api/inbox.d.ts +9 -9
  51. package/dist/teamwork/api/inbox.d.ts.map +1 -0
  52. package/dist/{channel → teamwork}/api/inbox.js +22 -22
  53. package/dist/teamwork/api/inbox.js.map +1 -0
  54. package/dist/{channel → teamwork}/api/interrupt.d.ts +5 -5
  55. package/dist/teamwork/api/interrupt.d.ts.map +1 -0
  56. package/dist/{channel → teamwork}/api/interrupt.js +10 -10
  57. package/dist/teamwork/api/interrupt.js.map +1 -0
  58. package/dist/{channel → teamwork}/api/post-thread.d.ts +4 -4
  59. package/dist/teamwork/api/post-thread.d.ts.map +1 -0
  60. package/dist/{channel → teamwork}/api/post-thread.js +13 -13
  61. package/dist/teamwork/api/post-thread.js.map +1 -0
  62. package/dist/teamwork/api/read.d.ts +17 -0
  63. package/dist/teamwork/api/read.d.ts.map +1 -0
  64. package/dist/{channel → teamwork}/api/read.js +17 -17
  65. package/dist/teamwork/api/read.js.map +1 -0
  66. package/dist/teamwork/api/resolve.d.ts +21 -0
  67. package/dist/teamwork/api/resolve.d.ts.map +1 -0
  68. package/dist/teamwork/api/resolve.js +28 -0
  69. package/dist/teamwork/api/resolve.js.map +1 -0
  70. package/dist/{channel → teamwork}/api/runtime.d.ts +4 -4
  71. package/dist/teamwork/api/runtime.d.ts.map +1 -0
  72. package/dist/teamwork/api/runtime.js.map +1 -0
  73. package/dist/teamwork/api/send.d.ts +4 -0
  74. package/dist/teamwork/api/send.d.ts.map +1 -0
  75. package/dist/{channel → teamwork}/api/send.js +7 -7
  76. package/dist/teamwork/api/send.js.map +1 -0
  77. package/dist/{channel → teamwork}/api/spawn.d.ts +1 -1
  78. package/dist/teamwork/api/spawn.d.ts.map +1 -0
  79. package/dist/teamwork/api/spawn.js +54 -0
  80. package/dist/teamwork/api/spawn.js.map +1 -0
  81. package/dist/teamwork/api/title.d.ts +5 -0
  82. package/dist/teamwork/api/title.d.ts.map +1 -0
  83. package/dist/{channel → teamwork}/api/title.js +12 -12
  84. package/dist/teamwork/api/title.js.map +1 -0
  85. package/dist/{channel → teamwork}/api/types.d.ts +11 -13
  86. package/dist/teamwork/api/types.d.ts.map +1 -0
  87. package/dist/{channel → teamwork}/api/types.js.map +1 -1
  88. package/dist/teamwork/api/watch-sessions.d.ts +40 -0
  89. package/dist/teamwork/api/watch-sessions.d.ts.map +1 -0
  90. package/dist/{channel/api/watch-channels.js → teamwork/api/watch-sessions.js} +16 -16
  91. package/dist/teamwork/api/watch-sessions.js.map +1 -0
  92. package/dist/teamwork/api/watch.d.ts +11 -0
  93. package/dist/teamwork/api/watch.d.ts.map +1 -0
  94. package/dist/{channel → teamwork}/api/watch.js +5 -5
  95. package/dist/teamwork/api/watch.js.map +1 -0
  96. package/dist/{channel → teamwork}/api/workers.d.ts +10 -10
  97. package/dist/teamwork/api/workers.d.ts.map +1 -0
  98. package/dist/{channel → teamwork}/api/workers.js +14 -14
  99. package/dist/teamwork/api/workers.js.map +1 -0
  100. package/dist/teamwork/index.d.ts +42 -0
  101. package/dist/teamwork/index.d.ts.map +1 -0
  102. package/dist/teamwork/index.js +25 -0
  103. package/dist/teamwork/index.js.map +1 -0
  104. package/dist/teamwork/internal/store/coordination.d.ts +64 -0
  105. package/dist/teamwork/internal/store/coordination.d.ts.map +1 -0
  106. package/dist/teamwork/internal/store/coordination.js +311 -0
  107. package/dist/teamwork/internal/store/coordination.js.map +1 -0
  108. package/dist/teamwork/internal/store/delivery.d.ts.map +1 -0
  109. package/dist/teamwork/internal/store/delivery.js.map +1 -0
  110. package/dist/teamwork/internal/store/events.d.ts +232 -0
  111. package/dist/teamwork/internal/store/events.d.ts.map +1 -0
  112. package/dist/{channel → teamwork}/internal/store/events.js +24 -21
  113. package/dist/teamwork/internal/store/events.js.map +1 -0
  114. package/dist/{channel → teamwork}/internal/store/filter.d.ts +5 -5
  115. package/dist/teamwork/internal/store/filter.d.ts.map +1 -0
  116. package/dist/{channel → teamwork}/internal/store/filter.js +1 -1
  117. package/dist/teamwork/internal/store/filter.js.map +1 -0
  118. package/dist/{channel → teamwork}/internal/store/inbox.d.ts +3 -3
  119. package/dist/teamwork/internal/store/inbox.d.ts.map +1 -0
  120. package/dist/{channel → teamwork}/internal/store/inbox.js +1 -1
  121. package/dist/teamwork/internal/store/inbox.js.map +1 -0
  122. package/dist/teamwork/internal/store/lock.d.ts.map +1 -0
  123. package/dist/{channel → teamwork}/internal/store/lock.js +1 -1
  124. package/dist/teamwork/internal/store/lock.js.map +1 -0
  125. package/dist/{channel → teamwork}/internal/store/paths.d.ts +17 -23
  126. package/dist/teamwork/internal/store/paths.d.ts.map +1 -0
  127. package/dist/{channel → teamwork}/internal/store/paths.js +44 -98
  128. package/dist/teamwork/internal/store/paths.js.map +1 -0
  129. package/dist/{channel → teamwork}/internal/store/schema.d.ts +12 -19
  130. package/dist/teamwork/internal/store/schema.d.ts.map +1 -0
  131. package/dist/{channel → teamwork}/internal/store/schema.js +4 -7
  132. package/dist/teamwork/internal/store/schema.js.map +1 -0
  133. package/dist/{channel → teamwork}/internal/store/seq.d.ts +2 -2
  134. package/dist/teamwork/internal/store/seq.d.ts.map +1 -0
  135. package/dist/{channel → teamwork}/internal/store/seq.js +3 -3
  136. package/dist/teamwork/internal/store/seq.js.map +1 -0
  137. package/dist/teamwork/internal/store/teamwork-session-metadata.d.ts +15 -0
  138. package/dist/teamwork/internal/store/teamwork-session-metadata.d.ts.map +1 -0
  139. package/dist/{channel/internal/store/channel-metadata.js → teamwork/internal/store/teamwork-session-metadata.js} +13 -27
  140. package/dist/teamwork/internal/store/teamwork-session-metadata.js.map +1 -0
  141. package/dist/{channel → teamwork}/internal/store/thread-state.d.ts +4 -4
  142. package/dist/teamwork/internal/store/thread-state.d.ts.map +1 -0
  143. package/dist/{channel → teamwork}/internal/store/thread-state.js +1 -1
  144. package/dist/teamwork/internal/store/thread-state.js.map +1 -0
  145. package/dist/teamwork/internal/store/watch.d.ts +10 -0
  146. package/dist/teamwork/internal/store/watch.d.ts.map +1 -0
  147. package/dist/{channel → teamwork}/internal/store/watch.js +6 -6
  148. package/dist/teamwork/internal/store/watch.js.map +1 -0
  149. package/dist/{channel → teamwork}/internal/store/worker-state.d.ts +7 -9
  150. package/dist/teamwork/internal/store/worker-state.d.ts.map +1 -0
  151. package/dist/{channel → teamwork}/internal/store/worker-state.js +6 -29
  152. package/dist/teamwork/internal/store/worker-state.js.map +1 -0
  153. package/package.json +7 -7
  154. package/dist/channel/api/assert.d.ts +0 -3
  155. package/dist/channel/api/assert.d.ts.map +0 -1
  156. package/dist/channel/api/assert.js +0 -11
  157. package/dist/channel/api/assert.js.map +0 -1
  158. package/dist/channel/api/context.d.ts.map +0 -1
  159. package/dist/channel/api/context.js.map +0 -1
  160. package/dist/channel/api/create.d.ts +0 -9
  161. package/dist/channel/api/create.d.ts.map +0 -1
  162. package/dist/channel/api/create.js.map +0 -1
  163. package/dist/channel/api/inbox.d.ts.map +0 -1
  164. package/dist/channel/api/inbox.js.map +0 -1
  165. package/dist/channel/api/interrupt.d.ts.map +0 -1
  166. package/dist/channel/api/interrupt.js.map +0 -1
  167. package/dist/channel/api/post-thread.d.ts.map +0 -1
  168. package/dist/channel/api/post-thread.js.map +0 -1
  169. package/dist/channel/api/read.d.ts +0 -17
  170. package/dist/channel/api/read.d.ts.map +0 -1
  171. package/dist/channel/api/read.js.map +0 -1
  172. package/dist/channel/api/resolve.d.ts +0 -21
  173. package/dist/channel/api/resolve.d.ts.map +0 -1
  174. package/dist/channel/api/resolve.js +0 -28
  175. package/dist/channel/api/resolve.js.map +0 -1
  176. package/dist/channel/api/runtime.d.ts.map +0 -1
  177. package/dist/channel/api/runtime.js.map +0 -1
  178. package/dist/channel/api/send.d.ts +0 -4
  179. package/dist/channel/api/send.d.ts.map +0 -1
  180. package/dist/channel/api/send.js.map +0 -1
  181. package/dist/channel/api/spawn.d.ts.map +0 -1
  182. package/dist/channel/api/spawn.js +0 -74
  183. package/dist/channel/api/spawn.js.map +0 -1
  184. package/dist/channel/api/title.d.ts +0 -5
  185. package/dist/channel/api/title.d.ts.map +0 -1
  186. package/dist/channel/api/title.js.map +0 -1
  187. package/dist/channel/api/types.d.ts.map +0 -1
  188. package/dist/channel/api/watch-channels.d.ts +0 -40
  189. package/dist/channel/api/watch-channels.d.ts.map +0 -1
  190. package/dist/channel/api/watch-channels.js.map +0 -1
  191. package/dist/channel/api/watch.d.ts +0 -11
  192. package/dist/channel/api/watch.d.ts.map +0 -1
  193. package/dist/channel/api/watch.js.map +0 -1
  194. package/dist/channel/api/workers.d.ts.map +0 -1
  195. package/dist/channel/api/workers.js.map +0 -1
  196. package/dist/channel/index.d.ts +0 -38
  197. package/dist/channel/index.d.ts.map +0 -1
  198. package/dist/channel/index.js +0 -23
  199. package/dist/channel/index.js.map +0 -1
  200. package/dist/channel/internal/store/channel-metadata.d.ts +0 -23
  201. package/dist/channel/internal/store/channel-metadata.d.ts.map +0 -1
  202. package/dist/channel/internal/store/channel-metadata.js.map +0 -1
  203. package/dist/channel/internal/store/delivery.d.ts.map +0 -1
  204. package/dist/channel/internal/store/delivery.js.map +0 -1
  205. package/dist/channel/internal/store/events.d.ts +0 -221
  206. package/dist/channel/internal/store/events.d.ts.map +0 -1
  207. package/dist/channel/internal/store/events.js.map +0 -1
  208. package/dist/channel/internal/store/filter.d.ts.map +0 -1
  209. package/dist/channel/internal/store/filter.js.map +0 -1
  210. package/dist/channel/internal/store/inbox.d.ts.map +0 -1
  211. package/dist/channel/internal/store/inbox.js.map +0 -1
  212. package/dist/channel/internal/store/lock.d.ts.map +0 -1
  213. package/dist/channel/internal/store/lock.js.map +0 -1
  214. package/dist/channel/internal/store/paths.d.ts.map +0 -1
  215. package/dist/channel/internal/store/paths.js.map +0 -1
  216. package/dist/channel/internal/store/schema.d.ts.map +0 -1
  217. package/dist/channel/internal/store/schema.js.map +0 -1
  218. package/dist/channel/internal/store/seq.d.ts.map +0 -1
  219. package/dist/channel/internal/store/seq.js.map +0 -1
  220. package/dist/channel/internal/store/thread-state.d.ts.map +0 -1
  221. package/dist/channel/internal/store/thread-state.js.map +0 -1
  222. package/dist/channel/internal/store/watch.d.ts +0 -10
  223. package/dist/channel/internal/store/watch.d.ts.map +0 -1
  224. package/dist/channel/internal/store/watch.js.map +0 -1
  225. package/dist/channel/internal/store/worker-state.d.ts.map +0 -1
  226. package/dist/channel/internal/store/worker-state.js.map +0 -1
  227. /package/dist/{channel → teamwork}/api/runtime.js +0 -0
  228. /package/dist/{channel → teamwork}/api/types.js +0 -0
  229. /package/dist/{channel → teamwork}/internal/store/delivery.d.ts +0 -0
  230. /package/dist/{channel → teamwork}/internal/store/delivery.js +0 -0
  231. /package/dist/{channel → teamwork}/internal/store/lock.d.ts +0 -0
@@ -0,0 +1,28 @@
1
+ import { sessionDir, resolveTeamworkSessionProjectForCreate, resolveExistingTeamworkSession, } from "../internal/store/paths.js";
2
+ /**
3
+ * Resolve a `TeamworkSessionRef` honoring `--scope`, an explicit `projectKey`,
4
+ * or cwd-derived defaults. Mirrors the CLI's scope-resolution rules so
5
+ * downstream consumers behave the same way.
6
+ */
7
+ export function resolveTeamworkSession(opts) {
8
+ if (opts.projectKey) {
9
+ const project = opts.projectKey;
10
+ return {
11
+ name: opts.sessionId,
12
+ scope: opts.scope ?? "project",
13
+ project,
14
+ dir: sessionDir(opts.sessionId, project),
15
+ };
16
+ }
17
+ if (opts.forCreate) {
18
+ return resolveTeamworkSessionProjectForCreate(opts.sessionId, {
19
+ scope: opts.scope,
20
+ cwd: opts.cwd,
21
+ });
22
+ }
23
+ return resolveExistingTeamworkSession(opts.sessionId, {
24
+ scope: opts.scope,
25
+ cwd: opts.cwd,
26
+ });
27
+ }
28
+ //# sourceMappingURL=resolve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../src/teamwork/api/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,sCAAsC,EACtC,8BAA8B,GAC/B,MAAM,4BAA4B,CAAC;AAoBpC;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAmC;IACxE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;QAChC,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,SAAS;YACpB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,SAAS;YAC9B,OAAO;YACP,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC;SACzC,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,OAAO,sCAAsC,CAAC,IAAI,CAAC,SAAS,EAAE;YAC5D,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC,CAAC;IACL,CAAC;IACD,OAAO,8BAA8B,CAAC,IAAI,CAAC,SAAS,EAAE;QACpD,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,GAAG,EAAE,IAAI,CAAC,GAAG;KACd,CAAC,CAAC;AACL,CAAC"}
@@ -8,9 +8,9 @@
8
8
  * {@link interruptWorker}.
9
9
  */
10
10
  import type { InterruptMethod, InterruptOutcome, InterruptReason } from "../internal/store/events.js";
11
- import type { ChannelRef, ChannelScope, InboxPolicy } from "../internal/store/schema.js";
11
+ import type { TeamworkSessionRef, TeamworkSessionScope, InboxPolicy } from "../internal/store/schema.js";
12
12
  export interface WorkerStartInput {
13
- channel: ChannelRef;
13
+ sessionId: TeamworkSessionRef;
14
14
  workerId: string;
15
15
  cwd: string;
16
16
  systemPrompt: string;
@@ -52,8 +52,8 @@ export interface WorkerRuntime {
52
52
  stop?(input: WorkerStopInput): Promise<WorkerStopResult>;
53
53
  }
54
54
  export interface SpawnWorkerInput {
55
- channel: string;
56
- scope?: ChannelScope;
55
+ sessionId: string;
56
+ scope?: TeamworkSessionScope;
57
57
  projectKey?: string;
58
58
  cwd: string;
59
59
  by: string;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/teamwork/api/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,eAAe,EAChB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,WAAW,EACZ,MAAM,6BAA6B,CAAC;AAErC,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,kBAAkB,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,eAAe,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,SAAS,GAAG,iBAAiB,GAAG,QAAQ,CAAC;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC7D,SAAS,CAAC,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACxE,IAAI,CAAC,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC1D;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/teamwork/api/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
@@ -0,0 +1,4 @@
1
+ import { type MessageTeamworkEvent } from "../internal/store/events.js";
2
+ import type { SendMessageOptions } from "./types.js";
3
+ export declare function sendMessage(opts: SendMessageOptions): Promise<MessageTeamworkEvent>;
4
+ //# sourceMappingURL=send.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../../src/teamwork/api/send.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,6BAA6B,CAAC;AAIrC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,wBAAsB,WAAW,CAC/B,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,oBAAoB,CAAC,CAwD/B"}
@@ -1,15 +1,15 @@
1
- import { appendEvent, readChannelEvents, } from "../internal/store/events.js";
1
+ import { appendEvent, readTeamworkEvents, } from "../internal/store/events.js";
2
2
  import { classifyDelivery } from "../internal/store/delivery.js";
3
3
  import { reduceWorkerRegistry } from "../internal/store/worker-state.js";
4
- import { resolveChannelRef } from "./resolve.js";
4
+ import { resolveTeamworkSession } from "./resolve.js";
5
5
  export async function sendMessage(opts) {
6
- const ref = resolveChannelRef({
7
- channel: opts.channel,
6
+ const ref = resolveTeamworkSession({
7
+ sessionId: opts.sessionId,
8
8
  ...(opts.scope !== undefined ? { scope: opts.scope } : {}),
9
9
  ...(opts.projectKey !== undefined ? { projectKey: opts.projectKey } : {}),
10
10
  ...(opts.cwd !== undefined ? { cwd: opts.cwd } : {}),
11
11
  });
12
- const event = (await appendEvent(opts.channel, {
12
+ const event = (await appendEvent(opts.sessionId, {
13
13
  kind: "message",
14
14
  by: opts.by,
15
15
  ...(opts.idempotencyKey !== undefined
@@ -27,11 +27,11 @@ export async function sendMessage(opts) {
27
27
  const mode = opts.deliveryMode ?? "appendOnly";
28
28
  if (mode !== "appendOnly" && event.to !== undefined) {
29
29
  const targets = Array.isArray(event.to) ? event.to : [event.to];
30
- const events = await readChannelEvents(opts.channel, ref.project);
30
+ const events = await readTeamworkEvents(opts.sessionId, ref.project);
31
31
  const registry = reduceWorkerRegistry(events);
32
32
  const failures = classifyDelivery(registry, targets, mode);
33
33
  for (const failure of failures) {
34
- await appendEvent(opts.channel, {
34
+ await appendEvent(opts.sessionId, {
35
35
  kind: "undeliverable",
36
36
  by: opts.by,
37
37
  ...(opts.idempotencyKey !== undefined
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send.js","sourceRoot":"","sources":["../../../src/teamwork/api/send.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import type { SpawnWorkerInput, WorkerRuntime } from "./runtime.js";
3
3
  /**
4
4
  * Spawn a worker through a provider-injected runtime.
5
5
  *
6
- * Core resolves the channel, asks the injected runtime to start the
6
+ * Core resolves the Teamwork Session, asks the injected runtime to start the
7
7
  * worker process, appends the durable `spawned` event (with runtime
8
8
  * metadata and the selected inbox policy), and returns the projected
9
9
  * {@link WorkerState}. The runtime owns process launch details; core
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["../../../src/teamwork/api/spawn.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EAEd,MAAM,cAAc,CAAC;AAEtB;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAC/B,KAAK,EAAE,gBAAgB,EACvB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,WAAW,CAAC,CAkDtB"}
@@ -0,0 +1,54 @@
1
+ import { appendEvent, readTeamworkEvents, } from "../internal/store/events.js";
2
+ import { DEFAULT_INBOX_POLICY } from "../internal/store/inbox.js";
3
+ import { reduceWorkerRegistry, } from "../internal/store/worker-state.js";
4
+ import { resolveTeamworkSession } from "./resolve.js";
5
+ /**
6
+ * Spawn a worker through a provider-injected runtime.
7
+ *
8
+ * Core resolves the Teamwork Session, asks the injected runtime to start the
9
+ * worker process, appends the durable `spawned` event (with runtime
10
+ * metadata and the selected inbox policy), and returns the projected
11
+ * {@link WorkerState}. The runtime owns process launch details; core
12
+ * owns event writes and state projection.
13
+ */
14
+ export async function spawnWorker(input, runtime) {
15
+ const ref = resolveTeamworkSession({
16
+ sessionId: input.sessionId,
17
+ ...(input.scope !== undefined ? { scope: input.scope } : {}),
18
+ ...(input.projectKey !== undefined
19
+ ? { projectKey: input.projectKey }
20
+ : {}),
21
+ ...(input.cwd !== undefined ? { cwd: input.cwd } : {}),
22
+ });
23
+ const startInput = {
24
+ sessionId: ref,
25
+ workerId: input.workerId,
26
+ cwd: input.cwd,
27
+ systemPrompt: input.systemPrompt,
28
+ ...(input.model !== undefined ? { model: input.model } : {}),
29
+ ...(input.resume !== undefined ? { resume: input.resume } : {}),
30
+ };
31
+ const handle = await runtime.start(startInput);
32
+ const inboxPolicy = input.inboxPolicy ?? DEFAULT_INBOX_POLICY;
33
+ await appendEvent(input.sessionId, {
34
+ kind: "spawned",
35
+ by: input.by,
36
+ as: input.workerId,
37
+ inboxPolicy,
38
+ ...(input.provider ?? handle.provider
39
+ ? { provider: input.provider ?? handle.provider }
40
+ : {}),
41
+ ...(handle.pid !== undefined ? { pid: handle.pid } : {}),
42
+ ...(input.agent !== undefined ? { agent: input.agent } : {}),
43
+ ...(input.meta !== undefined ? { meta: input.meta } : {}),
44
+ }, ref.project);
45
+ const events = await readTeamworkEvents(input.sessionId, ref.project);
46
+ const registry = reduceWorkerRegistry(events, ref);
47
+ const state = registry.workers.find((w) => w.workerId === input.workerId);
48
+ if (!state) {
49
+ // Should never happen — we just appended the spawned event.
50
+ throw new Error(`spawnWorker: worker '${input.workerId}' missing from registry after spawn`);
51
+ }
52
+ return state;
53
+ }
54
+ //# sourceMappingURL=spawn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spawn.js","sourceRoot":"","sources":["../../../src/teamwork/api/spawn.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { type TeamworkMetadataEvent } from "../internal/store/events.js";
2
+ import type { ClearTeamworkSessionTitleOptions, SetTeamworkSessionTitleOptions } from "./types.js";
3
+ export declare function setTeamworkSessionTitle(opts: SetTeamworkSessionTitleOptions): Promise<TeamworkMetadataEvent>;
4
+ export declare function clearTeamworkSessionTitle(opts: ClearTeamworkSessionTitleOptions): Promise<TeamworkMetadataEvent>;
5
+ //# sourceMappingURL=title.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"title.d.ts","sourceRoot":"","sources":["../../../src/teamwork/api/title.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EACV,gCAAgC,EAChC,8BAA8B,EAC/B,MAAM,YAAY,CAAC;AAEpB,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,8BAA8B,GACnC,OAAO,CAAC,qBAAqB,CAAC,CAuBhC;AAED,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,gCAAgC,GACrC,OAAO,CAAC,qBAAqB,CAAC,CAoBhC"}
@@ -1,17 +1,17 @@
1
1
  import { appendEvent, } from "../internal/store/events.js";
2
- import { resolveChannelRef } from "./resolve.js";
3
- export async function setChannelTitle(opts) {
2
+ import { resolveTeamworkSession } from "./resolve.js";
3
+ export async function setTeamworkSessionTitle(opts) {
4
4
  if (!opts.title || opts.title.length === 0) {
5
- throw new Error("Channel title must not be empty (use clearChannelTitle)");
5
+ throw new Error("Teamwork Session title must not be empty (use clearTeamworkSessionTitle)");
6
6
  }
7
- const ref = resolveChannelRef({
8
- channel: opts.channel,
7
+ const ref = resolveTeamworkSession({
8
+ sessionId: opts.sessionId,
9
9
  ...(opts.scope !== undefined ? { scope: opts.scope } : {}),
10
10
  ...(opts.projectKey !== undefined ? { projectKey: opts.projectKey } : {}),
11
11
  ...(opts.cwd !== undefined ? { cwd: opts.cwd } : {}),
12
12
  });
13
- const event = await appendEvent(opts.channel, {
14
- kind: "channel",
13
+ const event = await appendEvent(opts.sessionId, {
14
+ kind: "teamwork",
15
15
  action: "title",
16
16
  by: opts.by,
17
17
  title: opts.title,
@@ -20,15 +20,15 @@ export async function setChannelTitle(opts) {
20
20
  }, ref.project);
21
21
  return event;
22
22
  }
23
- export async function clearChannelTitle(opts) {
24
- const ref = resolveChannelRef({
25
- channel: opts.channel,
23
+ export async function clearTeamworkSessionTitle(opts) {
24
+ const ref = resolveTeamworkSession({
25
+ sessionId: opts.sessionId,
26
26
  ...(opts.scope !== undefined ? { scope: opts.scope } : {}),
27
27
  ...(opts.projectKey !== undefined ? { projectKey: opts.projectKey } : {}),
28
28
  ...(opts.cwd !== undefined ? { cwd: opts.cwd } : {}),
29
29
  });
30
- const event = await appendEvent(opts.channel, {
31
- kind: "channel",
30
+ const event = await appendEvent(opts.sessionId, {
31
+ kind: "teamwork",
32
32
  action: "title",
33
33
  by: opts.by,
34
34
  title: null,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"title.js","sourceRoot":"","sources":["../../../src/teamwork/api/title.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,GAEZ,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAMtD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,IAAoC;IAEpC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;IAC9F,CAAC;IACD,MAAM,GAAG,GAAG,sBAAsB,CAAC;QACjC,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrD,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,MAAM,WAAW,CAC7B,IAAI,CAAC,SAAS,EACd;QACE,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,OAAO;QACf,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxD,EACD,GAAG,CAAC,OAAO,CACZ,CAAC;IACF,OAAO,KAA8B,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,IAAsC;IAEtC,MAAM,GAAG,GAAG,sBAAsB,CAAC;QACjC,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrD,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,MAAM,WAAW,CAC7B,IAAI,CAAC,SAAS,EACd;QACE,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,OAAO;QACf,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,KAAK,EAAE,IAAI;QACX,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxD,EACD,GAAG,CAAC,OAAO,CACZ,CAAC;IACF,OAAO,KAA8B,CAAC;AACxC,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import type { DeliveryMode } from "../internal/store/delivery.js";
2
- import type { ChannelScope, ContextEntry, EventOrigin } from "../internal/store/schema.js";
3
- export interface ChannelAddressOptions {
4
- channel: string;
5
- scope?: ChannelScope;
2
+ import type { TeamworkSessionScope, ContextEntry, EventOrigin } from "../internal/store/schema.js";
3
+ export interface TeamworkSessionAddressOptions {
4
+ sessionId: string;
5
+ scope?: TeamworkSessionScope;
6
6
  /** Storage project bucket key. Not the create-event `project` slug. */
7
7
  projectKey?: string;
8
8
  /** cwd used to derive the project bucket when scope is "project". */
@@ -13,7 +13,7 @@ export interface MutationCommonOptions {
13
13
  origin?: EventOrigin;
14
14
  meta?: Record<string, unknown>;
15
15
  }
16
- export interface CreateChannelOptions extends ChannelAddressOptions, MutationCommonOptions {
16
+ export interface CreateTeamworkSessionOptions extends TeamworkSessionAddressOptions, MutationCommonOptions {
17
17
  type?: "chat" | "forum";
18
18
  task?: string;
19
19
  project?: string;
@@ -21,11 +21,9 @@ export interface CreateChannelOptions extends ChannelAddressOptions, MutationCom
21
21
  description?: string;
22
22
  context?: ContextEntry[];
23
23
  ephemeral?: boolean;
24
- /** Opaque main Codex session identity for read-only observability. */
25
- ownerSessionId?: string;
26
24
  force?: boolean;
27
25
  }
28
- export interface SendMessageOptions extends ChannelAddressOptions, MutationCommonOptions {
26
+ export interface SendMessageOptions extends TeamworkSessionAddressOptions, MutationCommonOptions {
29
27
  idempotencyKey?: string;
30
28
  text: string;
31
29
  to?: string | string[];
@@ -37,7 +35,7 @@ export interface SendMessageOptions extends ChannelAddressOptions, MutationCommo
37
35
  */
38
36
  deliveryMode?: DeliveryMode;
39
37
  }
40
- export interface PostThreadOptions extends ChannelAddressOptions, MutationCommonOptions {
38
+ export interface PostThreadOptions extends TeamworkSessionAddressOptions, MutationCommonOptions {
41
39
  idempotencyKey?: string;
42
40
  action: "opened" | "comment" | "status" | "labels" | "assignees" | "summary" | "processed";
43
41
  thread: string;
@@ -50,18 +48,18 @@ export interface PostThreadOptions extends ChannelAddressOptions, MutationCommon
50
48
  summary?: string;
51
49
  context?: ContextEntry[];
52
50
  }
53
- export interface ContextMutationOptions extends ChannelAddressOptions, MutationCommonOptions {
51
+ export interface ContextMutationOptions extends TeamworkSessionAddressOptions, MutationCommonOptions {
54
52
  context: ContextEntry[];
55
53
  }
56
54
  export interface ThreadContextMutationOptions extends ContextMutationOptions {
57
55
  thread: string;
58
56
  }
59
- export interface RenameThreadOptions extends ChannelAddressOptions, MutationCommonOptions {
57
+ export interface RenameThreadOptions extends TeamworkSessionAddressOptions, MutationCommonOptions {
60
58
  thread: string;
61
59
  newThread: string;
62
60
  }
63
- export interface SetChannelTitleOptions extends ChannelAddressOptions, MutationCommonOptions {
61
+ export interface SetTeamworkSessionTitleOptions extends TeamworkSessionAddressOptions, MutationCommonOptions {
64
62
  title: string;
65
63
  }
66
- export type ClearChannelTitleOptions = ChannelAddressOptions & MutationCommonOptions;
64
+ export type ClearTeamworkSessionTitleOptions = TeamworkSessionAddressOptions & MutationCommonOptions;
67
65
  //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/teamwork/api/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EACV,oBAAoB,EACpB,YAAY,EACZ,WAAW,EACZ,MAAM,6BAA6B,CAAC;AAErC,MAAM,WAAW,6BAA6B;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,4BACf,SAAQ,6BAA6B,EACnC,qBAAqB;IACvB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CAEjB;AAED,MAAM,WAAW,kBACf,SAAQ,6BAA6B,EACnC,qBAAqB;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACvB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,MAAM,WAAW,iBACf,SAAQ,6BAA6B,EACnC,qBAAqB;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,EACF,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,WAAW,GACX,SAAS,GACT,WAAW,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,sBACf,SAAQ,6BAA6B,EACnC,qBAAqB;IACvB,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,4BAA6B,SAAQ,sBAAsB;IAC1E,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBACf,SAAQ,6BAA6B,EACnC,qBAAqB;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,8BACf,SAAQ,6BAA6B,EACnC,qBAAqB;IACvB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,gCAAgC,GAAG,6BAA6B,GAC1E,qBAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/channel/api/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/teamwork/api/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,40 @@
1
+ import type { TeamworkEvent } from "../internal/store/events.js";
2
+ import type { TeamworkEventFilter } from "../internal/store/filter.js";
3
+ import { type TeamworkSessionRef } from "../internal/store/schema.js";
4
+ /** Stable per-session cursor key: `${scope}/${project}/${name}`. */
5
+ export type TeamworkSessionCursorKey = string;
6
+ /** Per-session resume cursor for the cross-session watcher. */
7
+ export type TeamworkSessionCursor = Record<TeamworkSessionCursorKey, number>;
8
+ export declare function teamworkSessionCursorKey(ref: TeamworkSessionRef): TeamworkSessionCursorKey;
9
+ export interface WatchTeamworkSessionsInput {
10
+ /** Project bucket scope, or the global bucket. */
11
+ scope: {
12
+ projectKey: string;
13
+ } | "global";
14
+ filter?: TeamworkEventFilter;
15
+ /** Per-session resume cursors keyed by {@link teamworkSessionCursorKey}. */
16
+ cursor?: TeamworkSessionCursor;
17
+ signal?: AbortSignal;
18
+ /**
19
+ * When a Teamwork Session is discovered after the watcher starts, read its
20
+ * backlog from seq 0. Default false (tail from end).
21
+ */
22
+ fromStartNewTeamworkSessions?: boolean;
23
+ /** TeamworkSession-discovery poll interval in ms. Default 500. */
24
+ discoveryIntervalMs?: number;
25
+ }
26
+ export interface CrossTeamworkEvent {
27
+ sessionId: TeamworkSessionRef;
28
+ event: TeamworkEvent;
29
+ /** Snapshot of the full cursor map after applying this event. */
30
+ cursor: TeamworkSessionCursor;
31
+ }
32
+ /**
33
+ * Watch every Teamwork Session in a project (or the global) scope and fan its
34
+ * events into a single stream. Sessions created inside the scope after
35
+ * the watcher starts are discovered dynamically. Each yielded event
36
+ * carries a snapshot of the per-session cursor map so consumers can
37
+ * checkpoint `(session ID, seq)` — delivery is at-least-once.
38
+ */
39
+ export declare function watchTeamworkSessions(input: WatchTeamworkSessionsInput): AsyncGenerator<CrossTeamworkEvent, void, unknown>;
40
+ //# sourceMappingURL=watch-sessions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch-sessions.d.ts","sourceRoot":"","sources":["../../../src/teamwork/api/watch-sessions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAKvE,OAAO,EAEL,KAAK,kBAAkB,EAExB,MAAM,6BAA6B,CAAC;AAGrC,oEAAoE;AACpE,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAE9C,+DAA+D;AAC/D,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;AAE7E,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,kBAAkB,GAAG,wBAAwB,CAE1F;AAED,MAAM,WAAW,0BAA0B;IACzC,kDAAkD;IAClD,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,QAAQ,CAAC;IACzC,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,4EAA4E;IAC5E,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;OAGG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,kEAAkE;IAClE,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,kBAAkB,CAAC;IAC9B,KAAK,EAAE,aAAa,CAAC;IACrB,iEAAiE;IACjE,MAAM,EAAE,qBAAqB,CAAC;CAC/B;AAYD;;;;;;GAMG;AACH,wBAAuB,qBAAqB,CAC1C,KAAK,EAAE,0BAA0B,GAChC,cAAc,CAAC,kBAAkB,EAAE,IAAI,EAAE,OAAO,CAAC,CAgInD"}
@@ -1,7 +1,7 @@
1
- import { channelDir, listChannelNamesInProject, } from "../internal/store/paths.js";
1
+ import { sessionDir, listSessionIdsInProject, } from "../internal/store/paths.js";
2
2
  import { GLOBAL_PROJECT_KEY, } from "../internal/store/schema.js";
3
3
  import { watchEvents } from "../internal/store/watch.js";
4
- export function channelCursorKey(ref) {
4
+ export function teamworkSessionCursorKey(ref) {
5
5
  return `${ref.scope}/${ref.project}/${ref.name}`;
6
6
  }
7
7
  function resolveScope(input) {
@@ -11,13 +11,13 @@ function resolveScope(input) {
11
11
  return { project: input.scope.projectKey, scope: "project" };
12
12
  }
13
13
  /**
14
- * Watch every channel in a project (or the global) scope and fan their
15
- * events into a single stream. Channels created inside the scope after
14
+ * Watch every Teamwork Session in a project (or the global) scope and fan its
15
+ * events into a single stream. Sessions created inside the scope after
16
16
  * the watcher starts are discovered dynamically. Each yielded event
17
- * carries a snapshot of the per-channel cursor map so consumers can
18
- * checkpoint `(channel, seq)` — delivery is at-least-once.
17
+ * carries a snapshot of the per-session cursor map so consumers can
18
+ * checkpoint `(session ID, seq)` — delivery is at-least-once.
19
19
  */
20
- export async function* watchChannels(input) {
20
+ export async function* watchTeamworkSessions(input) {
21
21
  const { project, scope } = resolveScope(input);
22
22
  const filter = input.filter ?? {};
23
23
  const discoveryIntervalMs = input.discoveryIntervalMs ?? 500;
@@ -63,9 +63,9 @@ export async function* watchChannels(input) {
63
63
  name,
64
64
  scope,
65
65
  project,
66
- dir: channelDir(name, project),
66
+ dir: sessionDir(name, project),
67
67
  };
68
- const key = channelCursorKey(ref);
68
+ const key = teamworkSessionCursorKey(ref);
69
69
  if (active.has(key))
70
70
  return;
71
71
  active.add(key);
@@ -78,17 +78,17 @@ export async function* watchChannels(input) {
78
78
  watchOpts.sinceSeq = resume;
79
79
  }
80
80
  else {
81
- // No prior cursor: initial channels read their backlog; channels
82
- // discovered later follow `fromStartNewChannels`.
81
+ // No prior cursor: newly discovered sessions read their backlog; sessions
82
+ // discovered later follow `fromStartNewTeamworkSessions`.
83
83
  watchOpts.fromStart = initialScan
84
84
  ? true
85
- : (input.fromStartNewChannels ?? false);
85
+ : (input.fromStartNewTeamworkSessions ?? false);
86
86
  }
87
87
  const task = (async () => {
88
88
  try {
89
89
  for await (const ev of watchEvents(name, filter, watchOpts)) {
90
90
  cursor[key] = ev.seq;
91
- queue.push({ channel: ref, event: ev, cursor: { ...cursor } });
91
+ queue.push({ sessionId: ref, event: ev, cursor: { ...cursor } });
92
92
  notify();
93
93
  }
94
94
  }
@@ -106,14 +106,14 @@ export async function* watchChannels(input) {
106
106
  tasks.delete(task);
107
107
  });
108
108
  };
109
- for (const name of listChannelNamesInProject(project)) {
109
+ for (const name of listSessionIdsInProject(project)) {
110
110
  startWatcher(name);
111
111
  }
112
112
  initialScan = false;
113
113
  discovery = setInterval(() => {
114
114
  if (done)
115
115
  return;
116
- for (const name of listChannelNamesInProject(project)) {
116
+ for (const name of listSessionIdsInProject(project)) {
117
117
  startWatcher(name);
118
118
  }
119
119
  }, discoveryIntervalMs);
@@ -140,4 +140,4 @@ export async function* watchChannels(input) {
140
140
  await Promise.allSettled([...tasks]);
141
141
  }
142
142
  }
143
- //# sourceMappingURL=watch-channels.js.map
143
+ //# sourceMappingURL=watch-sessions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch-sessions.js","sourceRoot":"","sources":["../../../src/teamwork/api/watch-sessions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { type WatchFilter } from "../internal/store/watch.js";
2
+ import type { TeamworkEvent } from "../internal/store/events.js";
3
+ import type { TeamworkSessionAddressOptions } from "./types.js";
4
+ export interface WatchTeamworkSessionOptions extends TeamworkSessionAddressOptions {
5
+ filter?: WatchFilter;
6
+ signal?: AbortSignal;
7
+ fromStart?: boolean;
8
+ sinceSeq?: number;
9
+ }
10
+ export declare function watchTeamworkEvents(opts: WatchTeamworkSessionOptions): AsyncGenerator<TeamworkEvent, void, unknown>;
11
+ //# sourceMappingURL=watch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../src/teamwork/api/watch.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAEhE,MAAM,WAAW,2BAA4B,SAAQ,6BAA6B;IAChF,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,2BAA2B,GAChC,cAAc,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,CAAC,CAa9C"}
@@ -1,13 +1,13 @@
1
1
  import { watchEvents, } from "../internal/store/watch.js";
2
- import { resolveChannelRef } from "./resolve.js";
3
- export function watchChannelEvents(opts) {
4
- const ref = resolveChannelRef({
5
- channel: opts.channel,
2
+ import { resolveTeamworkSession } from "./resolve.js";
3
+ export function watchTeamworkEvents(opts) {
4
+ const ref = resolveTeamworkSession({
5
+ sessionId: opts.sessionId,
6
6
  ...(opts.scope !== undefined ? { scope: opts.scope } : {}),
7
7
  ...(opts.projectKey !== undefined ? { projectKey: opts.projectKey } : {}),
8
8
  ...(opts.cwd !== undefined ? { cwd: opts.cwd } : {}),
9
9
  });
10
- return watchEvents(opts.channel, opts.filter ?? {}, {
10
+ return watchEvents(opts.sessionId, opts.filter ?? {}, {
11
11
  project: ref.project,
12
12
  ...(opts.signal !== undefined ? { signal: opts.signal } : {}),
13
13
  ...(opts.fromStart !== undefined ? { fromStart: opts.fromStart } : {}),
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../src/teamwork/api/watch.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,GAEZ,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAUtD,MAAM,UAAU,mBAAmB,CACjC,IAAiC;IAEjC,MAAM,GAAG,GAAG,sBAAsB,CAAC;QACjC,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrD,CAAC,CAAC;IACH,OAAO,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE;QACpD,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpE,CAAC,CAAC;AACL,CAAC"}
@@ -1,16 +1,16 @@
1
- import { type ChannelEvent } from "../internal/store/events.js";
2
- import type { ChannelScope } from "../internal/store/schema.js";
1
+ import { type TeamworkEvent } from "../internal/store/events.js";
2
+ import type { TeamworkSessionScope } from "../internal/store/schema.js";
3
3
  import { type WorkerState } from "../internal/store/worker-state.js";
4
4
  export interface ListWorkersInput {
5
- channel: string;
6
- scope?: ChannelScope;
5
+ sessionId: string;
6
+ scope?: TeamworkSessionScope;
7
7
  projectKey?: string;
8
8
  cwd?: string;
9
9
  /** Include `done` / `error` / `killed` / `crashed` workers. Default false. */
10
10
  includeTerminal?: boolean;
11
11
  }
12
12
  /**
13
- * Project the durable worker registry for a channel. SOT for CLI list /
13
+ * Project the durable worker registry for a Teamwork Session. Source of truth for CLI list /
14
14
  * status, daemon runtime cards, and tests — do not reparse event logs
15
15
  * independently.
16
16
  */
@@ -37,15 +37,15 @@ export interface WorkerRuntimeObservation {
37
37
  source: "local-pid-files";
38
38
  }
39
39
  export interface ProbeWorkerRuntimeInput {
40
- channel: string;
41
- scope?: ChannelScope;
40
+ sessionId: string;
41
+ scope?: TeamworkSessionScope;
42
42
  projectKey?: string;
43
43
  cwd?: string;
44
44
  }
45
45
  /**
46
46
  * Host-local runtime observation. Reads `<worker>.pid` /
47
47
  * `<worker>.worker-pid` files and checks OS liveness. This is NOT
48
- * durable channel truth — `reduceWorkerRegistry` must never read pid
48
+ * durable event truth — `reduceWorkerRegistry` must never read pid
49
49
  * files. Only valid on the machine that owns the supervisor files.
50
50
  */
51
51
  export declare function probeWorkerRuntime(input: ProbeWorkerRuntimeInput): Promise<WorkerRuntimeObservation[]>;
@@ -56,8 +56,8 @@ export interface ReconcileWorkerLivenessInput extends ProbeWorkerRuntimeInput {
56
56
  }
57
57
  export interface ReconcileWorkerLivenessResult {
58
58
  observations: WorkerRuntimeObservation[];
59
- proposedEvents: ChannelEvent[];
60
- appended: ChannelEvent[];
59
+ proposedEvents: TeamworkEvent[];
60
+ appended: TeamworkEvent[];
61
61
  }
62
62
  /**
63
63
  * Reconcile durable worker state against host-local pid files. Reports
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workers.d.ts","sourceRoot":"","sources":["../../../src/teamwork/api/workers.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAExE,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,mCAAmC,CAAC;AAG3C,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAkBD;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,WAAW,EAAE,CAAC,CAOxB;AAED,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAuB,YAAY,CACjC,KAAK,EAAE,iBAAiB,GACvB,cAAc,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CA6B9C;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,iBAAiB,CAAC;CAC3B;AAoBD,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,wBAAwB,EAAE,CAAC,CA2BrC;AAED,MAAM,WAAW,4BAA6B,SAAQ,uBAAuB;IAC3E,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,8EAA8E;IAC9E,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,6BAA6B;IAC5C,YAAY,EAAE,wBAAwB,EAAE,CAAC;IACzC,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,4BAA4B,GAClC,OAAO,CAAC,6BAA6B,CAAC,CA4CxC"}