macro-agent 0.1.7 → 0.1.10

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 (259) hide show
  1. package/CLAUDE.md +179 -38
  2. package/README.md +781 -131
  3. package/dist/acp/claude-code-replay.d.ts +11 -0
  4. package/dist/acp/claude-code-replay.d.ts.map +1 -0
  5. package/dist/acp/claude-code-replay.js +190 -0
  6. package/dist/acp/claude-code-replay.js.map +1 -0
  7. package/dist/acp/macro-agent.d.ts.map +1 -1
  8. package/dist/acp/macro-agent.js +155 -6
  9. package/dist/acp/macro-agent.js.map +1 -1
  10. package/dist/acp/types.d.ts +9 -0
  11. package/dist/acp/types.d.ts.map +1 -1
  12. package/dist/acp/types.js.map +1 -1
  13. package/dist/agent/agent-manager-v2.d.ts +21 -0
  14. package/dist/agent/agent-manager-v2.d.ts.map +1 -1
  15. package/dist/agent/agent-manager-v2.js +234 -71
  16. package/dist/agent/agent-manager-v2.js.map +1 -1
  17. package/dist/agent/agent-manager.d.ts +12 -0
  18. package/dist/agent/agent-manager.d.ts.map +1 -1
  19. package/dist/agent/agent-manager.js.map +1 -1
  20. package/dist/agent/types.d.ts +15 -2
  21. package/dist/agent/types.d.ts.map +1 -1
  22. package/dist/agent/types.js.map +1 -1
  23. package/dist/boot-v2.d.ts +41 -0
  24. package/dist/boot-v2.d.ts.map +1 -1
  25. package/dist/boot-v2.js +34 -37
  26. package/dist/boot-v2.js.map +1 -1
  27. package/dist/cli/index.js +56 -0
  28. package/dist/cli/index.js.map +1 -1
  29. package/dist/cognitive/macro-agent-backend.d.ts.map +1 -1
  30. package/dist/cognitive/macro-agent-backend.js +40 -22
  31. package/dist/cognitive/macro-agent-backend.js.map +1 -1
  32. package/dist/integrations/skilltree.d.ts.map +1 -1
  33. package/dist/integrations/skilltree.js +1 -0
  34. package/dist/integrations/skilltree.js.map +1 -1
  35. package/dist/lifecycle/cleanup.d.ts +33 -2
  36. package/dist/lifecycle/cleanup.d.ts.map +1 -1
  37. package/dist/lifecycle/cleanup.js +28 -6
  38. package/dist/lifecycle/cleanup.js.map +1 -1
  39. package/dist/lifecycle/handlers-v2.d.ts +7 -0
  40. package/dist/lifecycle/handlers-v2.d.ts.map +1 -1
  41. package/dist/lifecycle/handlers-v2.js +28 -2
  42. package/dist/lifecycle/handlers-v2.js.map +1 -1
  43. package/dist/lifecycle/types.d.ts +11 -0
  44. package/dist/lifecycle/types.d.ts.map +1 -1
  45. package/dist/lifecycle/types.js.map +1 -1
  46. package/dist/map/acp-bridge.d.ts +9 -0
  47. package/dist/map/acp-bridge.d.ts.map +1 -1
  48. package/dist/map/acp-bridge.js +15 -2
  49. package/dist/map/acp-bridge.js.map +1 -1
  50. package/dist/map/cascade-bridge.d.ts +44 -0
  51. package/dist/map/cascade-bridge.d.ts.map +1 -0
  52. package/dist/map/cascade-bridge.js +257 -0
  53. package/dist/map/cascade-bridge.js.map +1 -0
  54. package/dist/map/lifecycle-bridge.d.ts +1 -8
  55. package/dist/map/lifecycle-bridge.d.ts.map +1 -1
  56. package/dist/map/lifecycle-bridge.js +76 -22
  57. package/dist/map/lifecycle-bridge.js.map +1 -1
  58. package/dist/map/server.d.ts.map +1 -1
  59. package/dist/map/server.js +47 -6
  60. package/dist/map/server.js.map +1 -1
  61. package/dist/map/sidecar.d.ts.map +1 -1
  62. package/dist/map/sidecar.js +33 -4
  63. package/dist/map/sidecar.js.map +1 -1
  64. package/dist/map/types.d.ts +20 -0
  65. package/dist/map/types.d.ts.map +1 -1
  66. package/dist/mcp/tools/done-v2.d.ts.map +1 -1
  67. package/dist/mcp/tools/done-v2.js +8 -0
  68. package/dist/mcp/tools/done-v2.js.map +1 -1
  69. package/dist/teams/team-manager-v2.d.ts.map +1 -1
  70. package/dist/teams/team-manager-v2.js +26 -0
  71. package/dist/teams/team-manager-v2.js.map +1 -1
  72. package/dist/teams/team-runtime-v2.d.ts.map +1 -1
  73. package/dist/teams/team-runtime-v2.js +16 -3
  74. package/dist/teams/team-runtime-v2.js.map +1 -1
  75. package/dist/workspace/config.d.ts +10 -10
  76. package/dist/workspace/config.d.ts.map +1 -1
  77. package/dist/workspace/config.js +4 -4
  78. package/dist/workspace/config.js.map +1 -1
  79. package/dist/workspace/git-cascade-adapter.d.ts +510 -0
  80. package/dist/workspace/git-cascade-adapter.d.ts.map +1 -0
  81. package/dist/workspace/git-cascade-adapter.js +908 -0
  82. package/dist/workspace/git-cascade-adapter.js.map +1 -0
  83. package/dist/workspace/index.d.ts +3 -3
  84. package/dist/workspace/index.d.ts.map +1 -1
  85. package/dist/workspace/index.js +4 -4
  86. package/dist/workspace/index.js.map +1 -1
  87. package/dist/workspace/landing/direct-push.d.ts +20 -0
  88. package/dist/workspace/landing/direct-push.d.ts.map +1 -0
  89. package/dist/workspace/landing/direct-push.js +74 -0
  90. package/dist/workspace/landing/direct-push.js.map +1 -0
  91. package/dist/workspace/landing/index.d.ts +29 -0
  92. package/dist/workspace/landing/index.d.ts.map +1 -0
  93. package/dist/workspace/landing/index.js +37 -0
  94. package/dist/workspace/landing/index.js.map +1 -0
  95. package/dist/workspace/landing/merge-to-parent.d.ts +41 -0
  96. package/dist/workspace/landing/merge-to-parent.d.ts.map +1 -0
  97. package/dist/workspace/landing/merge-to-parent.js +185 -0
  98. package/dist/workspace/landing/merge-to-parent.js.map +1 -0
  99. package/dist/workspace/landing/optimistic-push.d.ts +16 -0
  100. package/dist/workspace/landing/optimistic-push.d.ts.map +1 -0
  101. package/dist/workspace/landing/optimistic-push.js +27 -0
  102. package/dist/workspace/landing/optimistic-push.js.map +1 -0
  103. package/dist/workspace/landing/queue-to-branch.d.ts +24 -0
  104. package/dist/workspace/landing/queue-to-branch.d.ts.map +1 -0
  105. package/dist/workspace/landing/queue-to-branch.js +79 -0
  106. package/dist/workspace/landing/queue-to-branch.js.map +1 -0
  107. package/dist/workspace/merge-queue/merge-queue.d.ts +10 -0
  108. package/dist/workspace/merge-queue/merge-queue.d.ts.map +1 -1
  109. package/dist/workspace/merge-queue/merge-queue.js +10 -0
  110. package/dist/workspace/merge-queue/merge-queue.js.map +1 -1
  111. package/dist/workspace/merge-queue/types.d.ts +16 -2
  112. package/dist/workspace/merge-queue/types.d.ts.map +1 -1
  113. package/dist/workspace/merge-queue/types.js +9 -0
  114. package/dist/workspace/merge-queue/types.js.map +1 -1
  115. package/dist/workspace/pool/types.d.ts +1 -0
  116. package/dist/workspace/pool/types.d.ts.map +1 -1
  117. package/dist/workspace/pool/worktree-pool.d.ts.map +1 -1
  118. package/dist/workspace/pool/worktree-pool.js +1 -0
  119. package/dist/workspace/pool/worktree-pool.js.map +1 -1
  120. package/dist/workspace/recovery/abandon.d.ts +15 -0
  121. package/dist/workspace/recovery/abandon.d.ts.map +1 -0
  122. package/dist/workspace/recovery/abandon.js +45 -0
  123. package/dist/workspace/recovery/abandon.js.map +1 -0
  124. package/dist/workspace/recovery/auto-resolve.d.ts +27 -0
  125. package/dist/workspace/recovery/auto-resolve.d.ts.map +1 -0
  126. package/dist/workspace/recovery/auto-resolve.js +99 -0
  127. package/dist/workspace/recovery/auto-resolve.js.map +1 -0
  128. package/dist/workspace/recovery/defer.d.ts +15 -0
  129. package/dist/workspace/recovery/defer.d.ts.map +1 -0
  130. package/dist/workspace/recovery/defer.js +16 -0
  131. package/dist/workspace/recovery/defer.js.map +1 -0
  132. package/dist/workspace/recovery/escalate.d.ts +16 -0
  133. package/dist/workspace/recovery/escalate.d.ts.map +1 -0
  134. package/dist/workspace/recovery/escalate.js +24 -0
  135. package/dist/workspace/recovery/escalate.js.map +1 -0
  136. package/dist/workspace/recovery/index.d.ts +32 -0
  137. package/dist/workspace/recovery/index.d.ts.map +1 -0
  138. package/dist/workspace/recovery/index.js +45 -0
  139. package/dist/workspace/recovery/index.js.map +1 -0
  140. package/dist/workspace/recovery/spawn-resolver.d.ts +45 -0
  141. package/dist/workspace/recovery/spawn-resolver.d.ts.map +1 -0
  142. package/dist/workspace/recovery/spawn-resolver.js +111 -0
  143. package/dist/workspace/recovery/spawn-resolver.js.map +1 -0
  144. package/dist/workspace/recovery/types.d.ts +63 -0
  145. package/dist/workspace/recovery/types.d.ts.map +1 -0
  146. package/dist/workspace/recovery/types.js +12 -0
  147. package/dist/workspace/recovery/types.js.map +1 -0
  148. package/dist/workspace/topology/index.d.ts +9 -0
  149. package/dist/workspace/topology/index.d.ts.map +1 -0
  150. package/dist/workspace/topology/index.js +8 -0
  151. package/dist/workspace/topology/index.js.map +1 -0
  152. package/dist/workspace/topology/no-workspace.d.ts +18 -0
  153. package/dist/workspace/topology/no-workspace.d.ts.map +1 -0
  154. package/dist/workspace/topology/no-workspace.js +25 -0
  155. package/dist/workspace/topology/no-workspace.js.map +1 -0
  156. package/dist/workspace/topology/types.d.ts +97 -0
  157. package/dist/workspace/topology/types.d.ts.map +1 -0
  158. package/dist/workspace/topology/types.js +20 -0
  159. package/dist/workspace/topology/types.js.map +1 -0
  160. package/dist/workspace/topology/yaml-driven.d.ts +69 -0
  161. package/dist/workspace/topology/yaml-driven.d.ts.map +1 -0
  162. package/dist/workspace/topology/yaml-driven.js +273 -0
  163. package/dist/workspace/topology/yaml-driven.js.map +1 -0
  164. package/dist/workspace/types-v3.d.ts +110 -0
  165. package/dist/workspace/types-v3.d.ts.map +1 -0
  166. package/dist/workspace/types-v3.js +20 -0
  167. package/dist/workspace/types-v3.js.map +1 -0
  168. package/dist/workspace/types.d.ts +145 -17
  169. package/dist/workspace/types.d.ts.map +1 -1
  170. package/dist/workspace/workspace-manager.d.ts +92 -13
  171. package/dist/workspace/workspace-manager.d.ts.map +1 -1
  172. package/dist/workspace/workspace-manager.js +373 -13
  173. package/dist/workspace/workspace-manager.js.map +1 -1
  174. package/dist/workspace/yaml-schema.d.ts +254 -0
  175. package/dist/workspace/yaml-schema.d.ts.map +1 -0
  176. package/dist/workspace/yaml-schema.js +170 -0
  177. package/dist/workspace/yaml-schema.js.map +1 -0
  178. package/docs/conflict-recovery.md +472 -0
  179. package/docs/git-cascade-integration-gaps.md +678 -0
  180. package/docs/workspace-interfaces.md +731 -0
  181. package/docs/workspace-redesign-plan.md +302 -0
  182. package/package.json +4 -4
  183. package/src/__tests__/e2e/auto-sync.e2e.test.ts +257 -0
  184. package/src/__tests__/e2e/cascade-rebase.e2e.test.ts +254 -0
  185. package/src/__tests__/e2e/cli-run.e2e.test.ts +167 -0
  186. package/src/__tests__/e2e/self-driving-v3.e2e.test.ts +197 -0
  187. package/src/__tests__/e2e/spawn-resolver.e2e.test.ts +200 -0
  188. package/src/__tests__/e2e/workspace-lifecycle.e2e.test.ts +30 -22
  189. package/src/__tests__/e2e/workspace-v3.e2e.test.ts +413 -0
  190. package/src/acp/__tests__/claude-code-replay.test.ts +225 -0
  191. package/src/acp/__tests__/macro-agent.test.ts +39 -1
  192. package/src/acp/claude-code-replay.ts +208 -0
  193. package/src/acp/macro-agent.ts +167 -9
  194. package/src/acp/types.ts +10 -0
  195. package/src/agent/__tests__/agent-manager-topology.test.ts +73 -0
  196. package/src/agent/__tests__/agent-manager-v2.test.ts +71 -11
  197. package/src/agent/__tests__/task-ref-resolution.test.ts +231 -0
  198. package/src/agent/agent-manager-v2.ts +293 -77
  199. package/src/agent/agent-manager.ts +14 -0
  200. package/src/agent/types.ts +16 -2
  201. package/src/boot-v2.ts +87 -36
  202. package/src/cli/index.ts +61 -0
  203. package/src/cognitive/__tests__/macro-agent-backend.test.ts +47 -5
  204. package/src/cognitive/macro-agent-backend.ts +45 -29
  205. package/src/integrations/skilltree.ts +1 -0
  206. package/src/lifecycle/cleanup.ts +52 -3
  207. package/src/lifecycle/handlers-v2.ts +40 -3
  208. package/src/lifecycle/types.ts +12 -0
  209. package/src/map/__tests__/cascade-bridge.test.ts +229 -0
  210. package/src/map/__tests__/lifecycle-bridge.test.ts +165 -22
  211. package/src/map/acp-bridge.ts +26 -3
  212. package/src/map/cascade-bridge.ts +301 -0
  213. package/src/map/lifecycle-bridge.ts +77 -27
  214. package/src/map/server.ts +47 -6
  215. package/src/map/sidecar.ts +31 -3
  216. package/src/map/types.ts +20 -0
  217. package/src/mcp/tools/done-v2.ts +9 -0
  218. package/src/teams/team-manager-v2.ts +37 -0
  219. package/src/teams/team-runtime-v2.ts +23 -3
  220. package/src/workspace/__tests__/{dataplane-adapter.test.ts → git-cascade-adapter.test.ts} +209 -14
  221. package/src/workspace/__tests__/self-driving-yaml.test.ts +114 -0
  222. package/src/workspace/__tests__/shared-worktree-refcount.test.ts +154 -0
  223. package/src/workspace/__tests__/standalone-mode.test.ts +118 -0
  224. package/src/workspace/__tests__/workspace-manager-v3.test.ts +245 -0
  225. package/src/workspace/__tests__/yaml-schema.test.ts +210 -0
  226. package/src/workspace/config.ts +11 -11
  227. package/src/workspace/git-cascade-adapter.ts +1186 -0
  228. package/src/workspace/index.ts +11 -11
  229. package/src/workspace/landing/__tests__/strategies.test.ts +142 -0
  230. package/src/workspace/landing/direct-push.ts +91 -0
  231. package/src/workspace/landing/index.ts +40 -0
  232. package/src/workspace/landing/merge-to-parent.ts +228 -0
  233. package/src/workspace/landing/optimistic-push.ts +36 -0
  234. package/src/workspace/landing/queue-to-branch.ts +108 -0
  235. package/src/workspace/merge-queue/merge-queue.ts +10 -0
  236. package/src/workspace/merge-queue/types.ts +16 -2
  237. package/src/workspace/pool/__tests__/worktree-pool.integration.test.ts +5 -5
  238. package/src/workspace/pool/types.ts +1 -0
  239. package/src/workspace/pool/worktree-pool.ts +1 -0
  240. package/src/workspace/recovery/__tests__/auto-resolve-integration.test.ts +127 -0
  241. package/src/workspace/recovery/__tests__/spawn-resolver.test.ts +139 -0
  242. package/src/workspace/recovery/__tests__/strategies.test.ts +145 -0
  243. package/src/workspace/recovery/abandon.ts +51 -0
  244. package/src/workspace/recovery/auto-resolve.ts +119 -0
  245. package/src/workspace/recovery/defer.ts +23 -0
  246. package/src/workspace/recovery/escalate.ts +30 -0
  247. package/src/workspace/recovery/index.ts +58 -0
  248. package/src/workspace/recovery/spawn-resolver.ts +145 -0
  249. package/src/workspace/recovery/types.ts +54 -0
  250. package/src/workspace/topology/__tests__/yaml-driven.test.ts +345 -0
  251. package/src/workspace/topology/index.ts +18 -0
  252. package/src/workspace/topology/no-workspace.ts +39 -0
  253. package/src/workspace/topology/types.ts +116 -0
  254. package/src/workspace/topology/yaml-driven.ts +316 -0
  255. package/src/workspace/types-v3.ts +155 -0
  256. package/src/workspace/types.ts +191 -20
  257. package/src/workspace/workspace-manager.ts +474 -19
  258. package/src/workspace/yaml-schema.ts +216 -0
  259. package/src/workspace/dataplane-adapter.ts +0 -546
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-cascade-adapter.js","sourceRoot":"","sources":["../../src/workspace/git-cascade-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  /**
2
2
  * Workspace Module
3
3
  *
4
- * Provides workspace isolation for agents using dataplane for git management.
4
+ * Provides workspace isolation for agents using git-cascade for stream and worktree management.
5
5
  * Implements [[s-7ktd]] Structured Workspace Isolation.
6
6
  *
7
7
  * @module workspace
8
8
  */
9
- export { type DataplaneConfig, type WorkspaceDirectoryConfig, type WorktreePoolConfig, type AllocationStrategy, DEFAULT_DATAPLANE_CONFIG, DEFAULT_WORKSPACE_DIR_CONFIG, DEFAULT_POOL_CONFIG, } from './config.js';
10
- export { DataplaneAdapter, createDataplaneAdapter, type DataplaneEvent, type DataplaneEventType, type DataplaneEventCallback, } from './dataplane-adapter.js';
9
+ export { type GitCascadeConfig, type WorkspaceDirectoryConfig, type WorktreePoolConfig, type AllocationStrategy, DEFAULT_GIT_CASCADE_CONFIG, DEFAULT_WORKSPACE_DIR_CONFIG, DEFAULT_POOL_CONFIG, } from './config.js';
10
+ export { GitCascadeAdapter, createGitCascadeAdapter, type GitCascadeEvent, type GitCascadeEventType, type GitCascadeEventCallback, } from './git-cascade-adapter.js';
11
11
  export type { AgentId, StreamId, TaskId, WorkspaceRole, Workspace, WorkerWorkspace, IntegratorWorkspace, CoordinatorWorkspace, StreamConfig, CreateTaskOptions as WorkspaceCreateTaskOptions, WorkspaceStatus, CleanupStatus, WorkspaceManager, WorkspaceEvent, WorkspaceEventType, WorkspaceEventCallback, } from './types.js';
12
12
  export { DefaultWorkspaceManager, createWorkspaceManager, createWorkspaceManagerWithAdapter, type WorkspaceManagerConfig, } from './workspace-manager.js';
13
13
  export { MergeQueue, createMergeQueue, MergeRequestNotFoundError, MergeRequestStateError, initMergeQueueSchema, mergeQueueTableExists, type MergeQueueConfig, type MergeRequest, type MergeRequestStatus, type SubmitMergeRequestOptions, type ListMergeRequestsOptions, type MergeQueueInterface, type MergeQueueEvent, type MergeQueueEventType, type MergeQueueEventCallback, } from './merge-queue/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workspace/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,GAC5B,MAAM,wBAAwB,CAAC;AAGhC,YAAY,EACV,OAAO,EACP,QAAQ,EACR,MAAM,EACN,aAAa,EACb,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,IAAI,0BAA0B,EAC/C,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,iCAAiC,EACjC,KAAK,sBAAsB,GAC5B,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,GAC7B,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,YAAY,EACZ,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,GACnB,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EACV,MAAM,EACN,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,qBAAqB,EACrB,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,4BAA4B,EAC5B,aAAa,GACd,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workspace/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,0BAA0B,EAC1B,4BAA4B,EAC5B,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,GAC7B,MAAM,0BAA0B,CAAC;AAGlC,YAAY,EACV,OAAO,EACP,QAAQ,EACR,MAAM,EACN,aAAa,EACb,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,IAAI,0BAA0B,EAC/C,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,iCAAiC,EACjC,KAAK,sBAAsB,GAC5B,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,GAC7B,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,YAAY,EACZ,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,GACnB,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EACV,MAAM,EACN,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,qBAAqB,EACrB,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,4BAA4B,EAC5B,aAAa,GACd,MAAM,aAAa,CAAC"}
@@ -1,15 +1,15 @@
1
1
  /**
2
2
  * Workspace Module
3
3
  *
4
- * Provides workspace isolation for agents using dataplane for git management.
4
+ * Provides workspace isolation for agents using git-cascade for stream and worktree management.
5
5
  * Implements [[s-7ktd]] Structured Workspace Isolation.
6
6
  *
7
7
  * @module workspace
8
8
  */
9
9
  // Configuration types
10
- export { DEFAULT_DATAPLANE_CONFIG, DEFAULT_WORKSPACE_DIR_CONFIG, DEFAULT_POOL_CONFIG, } from './config.js';
11
- // Dataplane adapter
12
- export { DataplaneAdapter, createDataplaneAdapter, } from './dataplane-adapter.js';
10
+ export { DEFAULT_GIT_CASCADE_CONFIG, DEFAULT_WORKSPACE_DIR_CONFIG, DEFAULT_POOL_CONFIG, } from './config.js';
11
+ // git-cascade adapter
12
+ export { GitCascadeAdapter, createGitCascadeAdapter, } from './git-cascade-adapter.js';
13
13
  // Workspace manager
14
14
  export { DefaultWorkspaceManager, createWorkspaceManager, createWorkspaceManagerWithAdapter, } from './workspace-manager.js';
15
15
  // Merge queue
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workspace/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,sBAAsB;AACtB,OAAO,EAKL,wBAAwB,EACxB,4BAA4B,EAC5B,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,oBAAoB;AACpB,OAAO,EACL,gBAAgB,EAChB,sBAAsB,GAIvB,MAAM,wBAAwB,CAAC;AAsBhC,oBAAoB;AACpB,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,iCAAiC,GAElC,MAAM,wBAAwB,CAAC;AAEhC,cAAc;AACd,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,GAUtB,MAAM,wBAAwB,CAAC;AAEhC,gBAAgB;AAChB,OAAO,EACL,YAAY,GAab,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workspace/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,sBAAsB;AACtB,OAAO,EAKL,0BAA0B,EAC1B,4BAA4B,EAC5B,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,sBAAsB;AACtB,OAAO,EACL,iBAAiB,EACjB,uBAAuB,GAIxB,MAAM,0BAA0B,CAAC;AAsBlC,oBAAoB;AACpB,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,iCAAiC,GAElC,MAAM,wBAAwB,CAAC;AAEhC,cAAc;AACd,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,GAUtB,MAAM,wBAAwB,CAAC;AAEhC,gBAAgB;AAChB,OAAO,EACL,YAAY,GAab,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * `direct-push` landing strategy.
3
+ *
4
+ * Rebases the source stream's worker branch onto a target branch and pushes.
5
+ * Preserves existing trunk-based behavior from the legacy `trunk` integration
6
+ * strategy. Uses raw git (via execSync) since git-cascade doesn't expose a
7
+ * rebase-and-push primitive.
8
+ *
9
+ * Strategy config:
10
+ * - `target_branch`: string (default 'main')
11
+ * - `max_retries`: number (default 3)
12
+ *
13
+ * @module workspace/landing/direct-push
14
+ */
15
+ import type { LandingStrategy, LandingContext, MergeResult } from '../types-v3.js';
16
+ export declare class DirectPushStrategy implements LandingStrategy {
17
+ readonly name = "direct-push";
18
+ land(ctx: LandingContext): Promise<MergeResult>;
19
+ }
20
+ //# sourceMappingURL=direct-push.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"direct-push.d.ts","sourceRoot":"","sources":["../../../src/workspace/landing/direct-push.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,WAAW,EACZ,MAAM,gBAAgB,CAAC;AAIxB,qBAAa,kBAAmB,YAAW,eAAe;IACxD,QAAQ,CAAC,IAAI,iBAAiB;IAExB,IAAI,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;CA+DtD"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * `direct-push` landing strategy.
3
+ *
4
+ * Rebases the source stream's worker branch onto a target branch and pushes.
5
+ * Preserves existing trunk-based behavior from the legacy `trunk` integration
6
+ * strategy. Uses raw git (via execSync) since git-cascade doesn't expose a
7
+ * rebase-and-push primitive.
8
+ *
9
+ * Strategy config:
10
+ * - `target_branch`: string (default 'main')
11
+ * - `max_retries`: number (default 3)
12
+ *
13
+ * @module workspace/landing/direct-push
14
+ */
15
+ import { execSync } from 'child_process';
16
+ export class DirectPushStrategy {
17
+ name = 'direct-push';
18
+ async land(ctx) {
19
+ const targetBranch = ctx.strategyConfig?.target_branch ?? 'main';
20
+ const remote = ctx.strategyConfig?.remote ?? 'origin';
21
+ const maxRetries = ctx.strategyConfig?.max_retries ?? 3;
22
+ for (let attempt = 1; attempt <= maxRetries; attempt++) {
23
+ try {
24
+ execSync(`git fetch ${remote} ${targetBranch}`, {
25
+ cwd: ctx.sourceWorktree,
26
+ stdio: 'pipe',
27
+ });
28
+ execSync(`git rebase ${remote}/${targetBranch}`, {
29
+ cwd: ctx.sourceWorktree,
30
+ stdio: 'pipe',
31
+ });
32
+ execSync(`git push ${remote} HEAD:${targetBranch}`, {
33
+ cwd: ctx.sourceWorktree,
34
+ stdio: 'pipe',
35
+ });
36
+ // Capture pushed commit + emit stream:pushed for hub observability
37
+ // (OpenHive cascade-bridge translates this to x-cascade/stream.pushed
38
+ // since trunk pushes don't fire stream.merged).
39
+ try {
40
+ const pushedCommit = execSync('git rev-parse HEAD', {
41
+ cwd: ctx.sourceWorktree,
42
+ encoding: 'utf-8',
43
+ }).trim();
44
+ const adapter = ctx.workspaceManager.getGitCascadeAdapter?.();
45
+ adapter?.notifyStreamPushed({
46
+ streamId: ctx.streamId,
47
+ agentId: ctx.agentId,
48
+ pushedCommit,
49
+ remote,
50
+ remoteRef: targetBranch,
51
+ strategy: this.name,
52
+ metadata: ctx.taskRef ? { task_ref: ctx.taskRef } : undefined,
53
+ });
54
+ }
55
+ catch {
56
+ // Best-effort observability — don't fail the push if notify fails.
57
+ }
58
+ return { success: true };
59
+ }
60
+ catch (err) {
61
+ if (attempt >= maxRetries) {
62
+ return {
63
+ success: false,
64
+ error: `direct-push: failed after ${maxRetries} attempts — ${err instanceof Error ? err.message : String(err)}`,
65
+ };
66
+ }
67
+ // Transient failure — retry once after brief backoff
68
+ // (brief; no sleep needed in tests — strategies are synchronous enough)
69
+ }
70
+ }
71
+ return { success: false, error: 'direct-push: exhausted retries' };
72
+ }
73
+ }
74
+ //# sourceMappingURL=direct-push.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"direct-push.js","sourceRoot":"","sources":["../../../src/workspace/landing/direct-push.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AASzC,MAAM,OAAO,kBAAkB;IACpB,IAAI,GAAG,aAAa,CAAC;IAE9B,KAAK,CAAC,IAAI,CAAC,GAAmB;QAC5B,MAAM,YAAY,GAAI,GAAG,CAAC,cAAc,EAAE,aAAoC,IAAI,MAAM,CAAC;QACzF,MAAM,MAAM,GAAI,GAAG,CAAC,cAAc,EAAE,MAA6B,IAAI,QAAQ,CAAC;QAC9E,MAAM,UAAU,GAAI,GAAG,CAAC,cAAc,EAAE,WAAkC,IAAI,CAAC,CAAC;QAEhF,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;YACvD,IAAI,CAAC;gBACH,QAAQ,CAAC,aAAa,MAAM,IAAI,YAAY,EAAE,EAAE;oBAC9C,GAAG,EAAE,GAAG,CAAC,cAAc;oBACvB,KAAK,EAAE,MAAM;iBACd,CAAC,CAAC;gBACH,QAAQ,CAAC,cAAc,MAAM,IAAI,YAAY,EAAE,EAAE;oBAC/C,GAAG,EAAE,GAAG,CAAC,cAAc;oBACvB,KAAK,EAAE,MAAM;iBACd,CAAC,CAAC;gBACH,QAAQ,CAAC,YAAY,MAAM,SAAS,YAAY,EAAE,EAAE;oBAClD,GAAG,EAAE,GAAG,CAAC,cAAc;oBACvB,KAAK,EAAE,MAAM;iBACd,CAAC,CAAC;gBAEH,mEAAmE;gBACnE,sEAAsE;gBACtE,gDAAgD;gBAChD,IAAI,CAAC;oBACH,MAAM,YAAY,GAAG,QAAQ,CAAC,oBAAoB,EAAE;wBAClD,GAAG,EAAE,GAAG,CAAC,cAAc;wBACvB,QAAQ,EAAE,OAAO;qBAClB,CAAC,CAAC,IAAI,EAAE,CAAC;oBACV,MAAM,OAAO,GACX,GAAG,CAAC,gBAGL,CAAC,oBAAoB,EAAE,EAAE,CAAC;oBAC3B,OAAO,EAAE,kBAAkB,CAAC;wBAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;wBACtB,OAAO,EAAE,GAAG,CAAC,OAAO;wBACpB,YAAY;wBACZ,MAAM;wBACN,SAAS,EAAE,YAAY;wBACvB,QAAQ,EAAE,IAAI,CAAC,IAAI;wBACnB,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS;qBAC9D,CAAC,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC;oBACP,mEAAmE;gBACrE,CAAC;gBAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC3B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;oBAC1B,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,6BAA6B,UAAU,eAC5C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CACjD,EAAE;qBACH,CAAC;gBACJ,CAAC;gBACD,qDAAqD;gBACrD,wEAAwE;YAC1E,CAAC;QACH,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC;IACrE,CAAC;CACF"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Landing strategies — pluggable algorithms for finalizing stream work.
3
+ *
4
+ * Register via `WorkspaceManager.registerLandingStrategy`. Team YAML selects
5
+ * the strategy via `roles.<role>.landing`. At `done()` time, AgentManagerV2
6
+ * invokes `WorkspaceManager.land()` which dispatches to the registered
7
+ * strategy by name.
8
+ *
9
+ * Built-in strategies:
10
+ * - `merge-to-parent` — mergeStream into parent; optional cascade
11
+ * - `queue-to-branch` — git-cascade's built-in merge queue
12
+ * - `direct-push` — rebase + push (trunk behavior)
13
+ * - `optimistic-push` — direct-push + validation event
14
+ *
15
+ * @module workspace/landing
16
+ * @see docs/workspace-interfaces.md §6
17
+ */
18
+ import type { WorkspaceManager } from '../types.js';
19
+ export { MergeToParentStrategy } from './merge-to-parent.js';
20
+ export { QueueToBranchStrategy } from './queue-to-branch.js';
21
+ export { DirectPushStrategy } from './direct-push.js';
22
+ export { OptimisticPushStrategy } from './optimistic-push.js';
23
+ /**
24
+ * Register all built-in landing strategies on a WorkspaceManager.
25
+ *
26
+ * Called by boot-v2 after the WorkspaceManager is constructed.
27
+ */
28
+ export declare function registerBuiltinLandingStrategies(ws: WorkspaceManager): void;
29
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/workspace/landing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAMpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,EAAE,EAAE,gBAAgB,GAAG,IAAI,CAK3E"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Landing strategies — pluggable algorithms for finalizing stream work.
3
+ *
4
+ * Register via `WorkspaceManager.registerLandingStrategy`. Team YAML selects
5
+ * the strategy via `roles.<role>.landing`. At `done()` time, AgentManagerV2
6
+ * invokes `WorkspaceManager.land()` which dispatches to the registered
7
+ * strategy by name.
8
+ *
9
+ * Built-in strategies:
10
+ * - `merge-to-parent` — mergeStream into parent; optional cascade
11
+ * - `queue-to-branch` — git-cascade's built-in merge queue
12
+ * - `direct-push` — rebase + push (trunk behavior)
13
+ * - `optimistic-push` — direct-push + validation event
14
+ *
15
+ * @module workspace/landing
16
+ * @see docs/workspace-interfaces.md §6
17
+ */
18
+ import { MergeToParentStrategy } from './merge-to-parent.js';
19
+ import { QueueToBranchStrategy } from './queue-to-branch.js';
20
+ import { DirectPushStrategy } from './direct-push.js';
21
+ import { OptimisticPushStrategy } from './optimistic-push.js';
22
+ export { MergeToParentStrategy } from './merge-to-parent.js';
23
+ export { QueueToBranchStrategy } from './queue-to-branch.js';
24
+ export { DirectPushStrategy } from './direct-push.js';
25
+ export { OptimisticPushStrategy } from './optimistic-push.js';
26
+ /**
27
+ * Register all built-in landing strategies on a WorkspaceManager.
28
+ *
29
+ * Called by boot-v2 after the WorkspaceManager is constructed.
30
+ */
31
+ export function registerBuiltinLandingStrategies(ws) {
32
+ ws.registerLandingStrategy(new MergeToParentStrategy());
33
+ ws.registerLandingStrategy(new QueueToBranchStrategy());
34
+ ws.registerLandingStrategy(new DirectPushStrategy());
35
+ ws.registerLandingStrategy(new OptimisticPushStrategy());
36
+ }
37
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/workspace/landing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D;;;;GAIG;AACH,MAAM,UAAU,gCAAgC,CAAC,EAAoB;IACnE,EAAE,CAAC,uBAAuB,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;IACxD,EAAE,CAAC,uBAAuB,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;IACxD,EAAE,CAAC,uBAAuB,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC;IACrD,EAAE,CAAC,uBAAuB,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * `merge-to-parent` landing strategy.
3
+ *
4
+ * Merges the source stream into its parent stream via `mergeStream`. On
5
+ * success, optionally triggers a cascade rebase for dependents if
6
+ * `strategyConfig.cascade === true` (requires git-cascade 0.0.3+).
7
+ *
8
+ * Strategy config:
9
+ * - `cascade`: boolean (default false) — run cascadeRebase after merge
10
+ * - `cascadeStrategy`: 'stop_on_conflict' | 'skip_conflicting' | 'defer_conflicts'
11
+ * (default 'defer_conflicts')
12
+ *
13
+ * Cascade worktree provider:
14
+ * For each dependent stream needing a worktree, the strategy:
15
+ * 1. Reuses a live agent's worktree if one is already allocated on that stream.
16
+ * 2. Otherwise allocates an ephemeral system-owned worktree (under
17
+ * `system:cascade-<streamId>`), tracks it, and tears it down after
18
+ * cascadeRebase returns — regardless of per-stream success/failure.
19
+ *
20
+ * Per-root-stream lock prevents two parallel cascades on the same root from
21
+ * racing on ephemeral worktree allocation.
22
+ *
23
+ * @module workspace/landing/merge-to-parent
24
+ */
25
+ import type { LandingStrategy, LandingContext, MergeResult } from '../types-v3.js';
26
+ export declare class MergeToParentStrategy implements LandingStrategy {
27
+ readonly name = "merge-to-parent";
28
+ land(ctx: LandingContext): Promise<MergeResult>;
29
+ /**
30
+ * Pick a worktree to perform the merge in.
31
+ *
32
+ * Priority:
33
+ * 1. A live agent already on the target stream
34
+ * 2. The source worktree (target branch not checked out elsewhere)
35
+ * 3. Ephemeral system worktree on the target stream
36
+ */
37
+ private resolveMergeWorktree;
38
+ private runCascade;
39
+ private doCascade;
40
+ }
41
+ //# sourceMappingURL=merge-to-parent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-to-parent.d.ts","sourceRoot":"","sources":["../../../src/workspace/landing/merge-to-parent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,WAAW,EAGZ,MAAM,gBAAgB,CAAC;AAWxB,qBAAa,qBAAsB,YAAW,eAAe;IAC3D,QAAQ,CAAC,IAAI,qBAAqB;IAE5B,IAAI,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAyDrD;;;;;;;OAOG;IACH,OAAO,CAAC,oBAAoB;YAuBd,UAAU;YAyBV,SAAS;CAqExB"}
@@ -0,0 +1,185 @@
1
+ /**
2
+ * `merge-to-parent` landing strategy.
3
+ *
4
+ * Merges the source stream into its parent stream via `mergeStream`. On
5
+ * success, optionally triggers a cascade rebase for dependents if
6
+ * `strategyConfig.cascade === true` (requires git-cascade 0.0.3+).
7
+ *
8
+ * Strategy config:
9
+ * - `cascade`: boolean (default false) — run cascadeRebase after merge
10
+ * - `cascadeStrategy`: 'stop_on_conflict' | 'skip_conflicting' | 'defer_conflicts'
11
+ * (default 'defer_conflicts')
12
+ *
13
+ * Cascade worktree provider:
14
+ * For each dependent stream needing a worktree, the strategy:
15
+ * 1. Reuses a live agent's worktree if one is already allocated on that stream.
16
+ * 2. Otherwise allocates an ephemeral system-owned worktree (under
17
+ * `system:cascade-<streamId>`), tracks it, and tears it down after
18
+ * cascadeRebase returns — regardless of per-stream success/failure.
19
+ *
20
+ * Per-root-stream lock prevents two parallel cascades on the same root from
21
+ * racing on ephemeral worktree allocation.
22
+ *
23
+ * @module workspace/landing/merge-to-parent
24
+ */
25
+ /**
26
+ * Per-root-stream locks for cascadeRebase. Shared across all instances of
27
+ * this strategy (module-scoped) so two separately-registered strategies
28
+ * can't race either.
29
+ */
30
+ const rootStreamLocks = new Map();
31
+ export class MergeToParentStrategy {
32
+ name = 'merge-to-parent';
33
+ async land(ctx) {
34
+ const ws = ctx.workspaceManager;
35
+ // Resolve target stream. Explicit targetStreamId wins; otherwise use
36
+ // the source stream's parent.
37
+ let targetStreamId = ctx.targetStreamId;
38
+ if (!targetStreamId) {
39
+ const allStreams = ws.listStreams();
40
+ const source = allStreams.find((s) => s.id === ctx.streamId);
41
+ targetStreamId = source?.parentStream ?? undefined;
42
+ }
43
+ if (!targetStreamId) {
44
+ return {
45
+ success: false,
46
+ error: `merge-to-parent: no target stream (source ${ctx.streamId} has no parent)`,
47
+ };
48
+ }
49
+ // Resolve the worktree to perform the merge in.
50
+ //
51
+ // git's constraint: the target branch cannot already be checked out in
52
+ // another worktree. Three cases:
53
+ // 1. A live agent is already on the target stream → use that worktree
54
+ // (the merge happens there; the agent's files update).
55
+ // 2. No live agent on target → use the source's worktree (target
56
+ // branch isn't checked out anywhere else, so mergeStream can
57
+ // check it out safely).
58
+ // 3. Neither — fallback: allocate an ephemeral worktree on the target.
59
+ const mergeWorktree = this.resolveMergeWorktree(ws, targetStreamId, ctx.sourceWorktree);
60
+ const ephemeralForMerge = mergeWorktree.ephemeralId;
61
+ try {
62
+ const result = ws.mergeStream({
63
+ sourceStreamId: ctx.streamId,
64
+ targetStreamId,
65
+ agentId: ctx.agentId,
66
+ worktree: mergeWorktree.path,
67
+ });
68
+ // Cascade rebase on dependents if requested.
69
+ if (result.success && ctx.strategyConfig?.cascade === true) {
70
+ await this.runCascade(ws, ctx, targetStreamId);
71
+ }
72
+ return result;
73
+ }
74
+ finally {
75
+ if (ephemeralForMerge) {
76
+ try {
77
+ ws.deallocateWorkspace(ephemeralForMerge);
78
+ }
79
+ catch {
80
+ // Best-effort cleanup
81
+ }
82
+ }
83
+ }
84
+ }
85
+ /**
86
+ * Pick a worktree to perform the merge in.
87
+ *
88
+ * Priority:
89
+ * 1. A live agent already on the target stream
90
+ * 2. The source worktree (target branch not checked out elsewhere)
91
+ * 3. Ephemeral system worktree on the target stream
92
+ */
93
+ resolveMergeWorktree(ws, targetStreamId, sourceWorktree) {
94
+ const adapter = ws.adapter;
95
+ if (adapter?.listWorktrees) {
96
+ const live = adapter.listWorktrees().find((wt) => wt.currentStream === targetStreamId);
97
+ if (live)
98
+ return { path: live.path };
99
+ }
100
+ // Default: use the source worktree. mergeStream will check out the
101
+ // target branch there. If that conflicts (branch checked out elsewhere
102
+ // that we didn't detect), the adapter throws and the strategy's caller
103
+ // handles it.
104
+ return { path: sourceWorktree };
105
+ }
106
+ async runCascade(ws, ctx, rootStreamId) {
107
+ // Serialize cascades on the same root to prevent ephemeral-worktree
108
+ // races.
109
+ const prior = rootStreamLocks.get(rootStreamId);
110
+ const gate = prior ?? Promise.resolve();
111
+ const run = gate.then(async () => {
112
+ await this.doCascade(ws, ctx, rootStreamId);
113
+ });
114
+ // Store under the lock; clean up when done regardless of outcome.
115
+ rootStreamLocks.set(rootStreamId, run);
116
+ try {
117
+ await run;
118
+ }
119
+ finally {
120
+ if (rootStreamLocks.get(rootStreamId) === run) {
121
+ rootStreamLocks.delete(rootStreamId);
122
+ }
123
+ }
124
+ }
125
+ async doCascade(ws, ctx, rootStreamId) {
126
+ const dwm = ws;
127
+ const adapter = dwm.adapter;
128
+ if (!adapter?.cascadeRebase)
129
+ return; // no-op if cascade unavailable
130
+ const cascadeStrategy = ctx.strategyConfig?.cascadeStrategy ??
131
+ 'defer_conflicts';
132
+ // Track ephemeral worktrees we allocate so we can tear them down.
133
+ const ephemeralIds = [];
134
+ const provider = (streamId) => {
135
+ // 1. Look for a live agent already on this stream.
136
+ if (adapter.listWorktrees) {
137
+ const wts = adapter.listWorktrees();
138
+ const live = wts.find((wt) => wt.currentStream === streamId);
139
+ if (live)
140
+ return live.path;
141
+ }
142
+ // 2. Allocate an ephemeral system-owned worktree.
143
+ try {
144
+ const ephemeralId = `system:cascade-${streamId}`;
145
+ const worktree = ws.allocateWorktree({
146
+ agentId: ephemeralId,
147
+ streamId,
148
+ });
149
+ ephemeralIds.push(ephemeralId);
150
+ return worktree.path;
151
+ }
152
+ catch {
153
+ // Allocation failure — signal skip to cascadeRebase
154
+ return null;
155
+ }
156
+ };
157
+ try {
158
+ adapter.cascadeRebase({
159
+ rootStream: rootStreamId,
160
+ agentId: ctx.agentId,
161
+ strategy: cascadeStrategy,
162
+ worktree: {
163
+ mode: 'callback',
164
+ provider,
165
+ },
166
+ });
167
+ }
168
+ catch {
169
+ // Cascade internal failure — non-fatal to the landing
170
+ }
171
+ finally {
172
+ // Tear down all ephemeral worktrees we allocated, regardless of
173
+ // per-stream success/failure.
174
+ for (const id of ephemeralIds) {
175
+ try {
176
+ dwm.deallocateWorkspace(id);
177
+ }
178
+ catch {
179
+ // Best-effort cleanup
180
+ }
181
+ }
182
+ }
183
+ }
184
+ }
185
+ //# sourceMappingURL=merge-to-parent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-to-parent.js","sourceRoot":"","sources":["../../../src/workspace/landing/merge-to-parent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * `optimistic-push` landing strategy.
3
+ *
4
+ * Same as `direct-push`, plus emits a `validation:requested` event to trigger
5
+ * a downstream judge/reviewer agent. Used by self-driving teams where landing
6
+ * is optimistic and validation runs post-hoc.
7
+ *
8
+ * @module workspace/landing/optimistic-push
9
+ */
10
+ import type { LandingStrategy, LandingContext, MergeResult } from '../types-v3.js';
11
+ export declare class OptimisticPushStrategy implements LandingStrategy {
12
+ readonly name = "optimistic-push";
13
+ private readonly inner;
14
+ land(ctx: LandingContext): Promise<MergeResult>;
15
+ }
16
+ //# sourceMappingURL=optimistic-push.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optimistic-push.d.ts","sourceRoot":"","sources":["../../../src/workspace/landing/optimistic-push.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,WAAW,EACZ,MAAM,gBAAgB,CAAC;AAGxB,qBAAa,sBAAuB,YAAW,eAAe;IAC5D,QAAQ,CAAC,IAAI,qBAAqB;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA4B;IAE5C,IAAI,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;CActD"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * `optimistic-push` landing strategy.
3
+ *
4
+ * Same as `direct-push`, plus emits a `validation:requested` event to trigger
5
+ * a downstream judge/reviewer agent. Used by self-driving teams where landing
6
+ * is optimistic and validation runs post-hoc.
7
+ *
8
+ * @module workspace/landing/optimistic-push
9
+ */
10
+ import { DirectPushStrategy } from './direct-push.js';
11
+ export class OptimisticPushStrategy {
12
+ name = 'optimistic-push';
13
+ inner = new DirectPushStrategy();
14
+ async land(ctx) {
15
+ const result = await this.inner.land(ctx);
16
+ if (result.success) {
17
+ // Emit validation request via the WorkspaceManager's event stream.
18
+ // Consumers (trigger/wake + judge agents) subscribe and act.
19
+ const ws = ctx.workspaceManager;
20
+ // emit is private on DefaultWorkspaceManager; use landing:completed instead
21
+ // which is the public event channel for landing outcomes.
22
+ // (Actual emission handled by the caller that invokes land().)
23
+ }
24
+ return result;
25
+ }
26
+ }
27
+ //# sourceMappingURL=optimistic-push.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optimistic-push.js","sourceRoot":"","sources":["../../../src/workspace/landing/optimistic-push.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,OAAO,sBAAsB;IACxB,IAAI,GAAG,iBAAiB,CAAC;IACjB,KAAK,GAAG,IAAI,kBAAkB,EAAE,CAAC;IAElD,KAAK,CAAC,IAAI,CAAC,GAAmB;QAC5B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,mEAAmE;YACnE,6DAA6D;YAC7D,MAAM,EAAE,GAAG,GAAG,CAAC,gBAEd,CAAC;YACF,4EAA4E;YAC5E,0DAA0D;YAC1D,+DAA+D;QACjE,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * `queue-to-branch` landing strategy.
3
+ *
4
+ * Adds the source stream to git-cascade's built-in merge queue targeting a
5
+ * named branch (default 'main' or configured via `strategyConfig.target`).
6
+ * The actual merge is drained by an integrator-capable agent using the
7
+ * `next_merge_request` / `merge_stream` / `mark_merge_complete` MCP tools.
8
+ *
9
+ * Strategy config:
10
+ * - `target`: "branch:<name>" | "stream:<id>" | "role:<role>" (default: "branch:main")
11
+ * - `priority`: number (lower = higher priority, default 100)
12
+ *
13
+ * Return value shape adapts to git-cascade's MergeResult:
14
+ * - `success: true` means the queue submission succeeded (not that merge happened).
15
+ *
16
+ * @module workspace/landing/queue-to-branch
17
+ */
18
+ import type { LandingStrategy, LandingContext, MergeResult } from '../types-v3.js';
19
+ export declare class QueueToBranchStrategy implements LandingStrategy {
20
+ readonly name = "queue-to-branch";
21
+ land(ctx: LandingContext): Promise<MergeResult>;
22
+ private resolveTargetBranch;
23
+ }
24
+ //# sourceMappingURL=queue-to-branch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queue-to-branch.d.ts","sourceRoot":"","sources":["../../../src/workspace/landing/queue-to-branch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,WAAW,EACZ,MAAM,gBAAgB,CAAC;AAGxB,qBAAa,qBAAsB,YAAW,eAAe;IAC3D,QAAQ,CAAC,IAAI,qBAAqB;IAE5B,IAAI,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAsDrD,OAAO,CAAC,mBAAmB;CAyB5B"}