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,510 @@
1
+ /**
2
+ * git-cascade Adapter
3
+ *
4
+ * Wraps git-cascade's MultiAgentRepoTracker to integrate with macro-agent's
5
+ * event system and provide a simplified interface for workspace management.
6
+ *
7
+ * @module workspace/git-cascade-adapter
8
+ */
9
+ import Database from 'better-sqlite3';
10
+ import { MultiAgentRepoTracker, type Stream, type StreamStatus, type StreamNode, type CreateStreamOptions, type ForkStreamOptions, type MergeStreamOptions, type MergeResult, type RebaseOntoStreamOptions, type RebaseResult, type ConflictStrategy, type ConflictRecord, type CreateConflictOptions, type AgentWorktree, type CreateWorktreeOptions, type WorkerTask, type CreateTaskOptions, type StartTaskOptions, type CompleteTaskOptions, type StartTaskResult, type CompleteTaskResult, type ListTasksOptions, type CleanupWorkerBranchesOptions, type CleanupResult, type Checkpoint, type Change, type ChangeStatus, mergeQueue as mergeQueueModule, reconcile as reconcileModule, cascade as cascadeModule } from 'git-cascade';
11
+ import type { GitCascadeConfig } from './config.js';
12
+ /**
13
+ * Event types emitted by GitCascadeAdapter.
14
+ *
15
+ * Grouped by source:
16
+ * - `stream:*` — from git-cascade `x-cascade/stream.*` events + local emits
17
+ * - `worktree:*`, `task:*` — local emits (macro-agent-only concepts)
18
+ * - `change:*` — change-id lifecycle from git-cascade
19
+ * - `cascade:*` — cascadeRebase completion
20
+ * - `conflict:*` — conflict lifecycle
21
+ * - `mergeQueue:*` — built-in merge queue lifecycle
22
+ */
23
+ export type GitCascadeEventType = 'stream:created' | 'stream:updated' | 'stream:forked' | 'stream:committed' | 'stream:merged' | 'stream:conflicted' | 'stream:abandoned' | 'stream:paused' | 'stream:resumed' | 'worktree:created' | 'worktree:deallocated' | 'task:created' | 'task:started' | 'task:completed' | 'task:abandoned' | 'change:merged' | 'change:dropped' | 'stream:pushed' | 'cascade:rebased' | 'cascade:completed' | 'conflict:created' | 'conflict:resolved' | 'mergeQueue:added' | 'mergeQueue:ready' | 'mergeQueue:cancelled' | 'mergeQueue:removed';
24
+ /**
25
+ * Event payload for git-cascade events
26
+ */
27
+ export interface GitCascadeEvent {
28
+ type: GitCascadeEventType;
29
+ timestamp: number;
30
+ data: Record<string, unknown>;
31
+ }
32
+ /**
33
+ * Callback for git-cascade events
34
+ */
35
+ export type GitCascadeEventCallback = (event: GitCascadeEvent) => void;
36
+ /**
37
+ * GitCascadeAdapter wraps MultiAgentRepoTracker for macro-agent integration.
38
+ *
39
+ * Key responsibilities:
40
+ * - Initialize tracker with shared or dedicated database
41
+ * - Emit events on tracker operations
42
+ * - Provide simplified API for workspace management
43
+ */
44
+ export declare class GitCascadeAdapter {
45
+ private readonly tracker;
46
+ private readonly config;
47
+ private readonly eventListeners;
48
+ private readonly ownsDb;
49
+ /**
50
+ * Create a new GitCascadeAdapter.
51
+ *
52
+ * @param config - git-cascade configuration
53
+ */
54
+ constructor(config: GitCascadeConfig);
55
+ /**
56
+ * Get whether the adapter is enabled.
57
+ */
58
+ get enabled(): boolean;
59
+ /**
60
+ * Get the repository path.
61
+ */
62
+ get repoPath(): string;
63
+ /**
64
+ * Get the underlying database connection.
65
+ * Use with caution - prefer adapter methods for operations.
66
+ */
67
+ get db(): Database.Database;
68
+ /**
69
+ * Get the underlying tracker.
70
+ * Use with caution - prefer adapter methods for operations.
71
+ */
72
+ get rawTracker(): MultiAgentRepoTracker;
73
+ /**
74
+ * Subscribe to git-cascade events.
75
+ *
76
+ * @param callback - Function called when events occur
77
+ * @returns Unsubscribe function
78
+ */
79
+ onEvent(callback: GitCascadeEventCallback): () => void;
80
+ /**
81
+ * Emit an event to all listeners.
82
+ */
83
+ private emit;
84
+ /**
85
+ * Forward events emitted by git-cascade (`x-cascade/stream.*`) into our
86
+ * structured `GitCascadeEvent` stream. Called via the `emit` callback wired
87
+ * into the tracker constructor.
88
+ *
89
+ * Note: `stream.opened` is mapped to `stream:created`. The local
90
+ * wrapper methods still emit their own events so consumers don't miss out
91
+ * on operations that don't round-trip through git-cascade's emit (e.g.,
92
+ * updateStream, pauseStream, mergeQueue events).
93
+ */
94
+ private forwardCascadeEvent;
95
+ /**
96
+ * Create a new stream (integration branch).
97
+ *
98
+ * Note: `stream:created` is emitted by the cascade event forwarder via
99
+ * git-cascade's `x-cascade/stream.opened`. We don't double-emit here.
100
+ *
101
+ * @param options - Stream creation options
102
+ * @returns Stream ID
103
+ */
104
+ createStream(options: CreateStreamOptions): string;
105
+ /**
106
+ * Get a stream by ID.
107
+ */
108
+ getStream(streamId: string): Stream | null;
109
+ /**
110
+ * List streams with optional filters.
111
+ */
112
+ listStreams(options?: {
113
+ agentId?: string;
114
+ status?: StreamStatus;
115
+ }): Stream[];
116
+ /**
117
+ * Update a stream.
118
+ */
119
+ updateStream(streamId: string, updates: Partial<Pick<Stream, 'name' | 'status' | 'metadata'>>): void;
120
+ /**
121
+ * Abandon a stream.
122
+ *
123
+ * Note: `stream:abandoned` is emitted by the cascade event forwarder.
124
+ */
125
+ abandonStream(streamId: string, options?: {
126
+ reason?: string;
127
+ cascade?: boolean;
128
+ }): void;
129
+ /**
130
+ * Get the git branch name for a stream.
131
+ */
132
+ getStreamBranchName(streamId: string): string;
133
+ /**
134
+ * Get the HEAD commit of a stream.
135
+ */
136
+ getStreamHead(streamId: string): string;
137
+ /**
138
+ * Fork a child stream off a parent.
139
+ */
140
+ forkStream(options: ForkStreamOptions): string;
141
+ /**
142
+ * Merge source stream into target stream.
143
+ *
144
+ * Note: `stream:merged` is emitted by the cascade event forwarder on success.
145
+ * On conflict, `stream:conflicted` is also forwarded.
146
+ */
147
+ mergeStream(options: MergeStreamOptions): MergeResult;
148
+ /**
149
+ * Rebase a stream onto its parent to pick up new commits.
150
+ */
151
+ syncWithParent(streamId: string, agentId: string, worktree: string, onConflict?: ConflictStrategy): RebaseResult;
152
+ /**
153
+ * Rebase a stream onto a specific target stream.
154
+ */
155
+ rebaseOntoStream(options: RebaseOntoStreamOptions): RebaseResult;
156
+ /**
157
+ * Async version of rebaseOntoStream — supports async conflict handlers.
158
+ */
159
+ rebaseOntoStreamAsync(options: RebaseOntoStreamOptions): Promise<RebaseResult>;
160
+ /**
161
+ * Pause a stream (halt work without abandoning).
162
+ */
163
+ pauseStream(streamId: string, reason?: string): void;
164
+ /**
165
+ * Resume a paused stream.
166
+ */
167
+ resumeStream(streamId: string): void;
168
+ /**
169
+ * Track an existing branch as a stream (local mode — no new `stream/<id>` branch).
170
+ */
171
+ trackExistingBranch(options: Parameters<MultiAgentRepoTracker['trackExistingBranch']>[0]): string;
172
+ /**
173
+ * Get stream hierarchy as a tree.
174
+ */
175
+ getStreamHierarchy(rootStreamId?: string): StreamNode | StreamNode[];
176
+ /**
177
+ * Get child streams (direct children only).
178
+ */
179
+ getChildStreams(streamId: string): Stream[];
180
+ /**
181
+ * Find the common ancestor of two streams.
182
+ */
183
+ findCommonAncestor(streamIdA: string, streamIdB: string): string;
184
+ /**
185
+ * Declare that one stream depends on another.
186
+ */
187
+ addDependency(streamId: string, dependsOnId: string): void;
188
+ /**
189
+ * Remove a dependency declaration.
190
+ */
191
+ removeDependency(streamId: string, dependsOnId: string): void;
192
+ /**
193
+ * Get direct dependencies of a stream.
194
+ */
195
+ getDependencies(streamId: string): string[];
196
+ /**
197
+ * Get direct dependents of a stream.
198
+ */
199
+ getDependents(streamId: string): string[];
200
+ /**
201
+ * Cascade-rebase all dependents of a root stream.
202
+ *
203
+ * Propagates rebases through the dependency graph. Uses a callback-based
204
+ * worktree provider so not every dependent needs a pre-allocated worktree.
205
+ *
206
+ * @param options - Cascade options including root stream, agent id, and worktree provider
207
+ * @returns CascadeResult with updated/failed/skipped stream lists
208
+ */
209
+ cascadeRebase(options: cascadeModule.CascadeRebaseOptions): ReturnType<typeof cascadeModule.cascadeRebase>;
210
+ /**
211
+ * Create a worktree for an agent.
212
+ *
213
+ * @param options - Worktree creation options
214
+ * @returns Created worktree info
215
+ */
216
+ createWorktree(options: CreateWorktreeOptions): AgentWorktree;
217
+ /**
218
+ * Get a worktree by agent ID.
219
+ */
220
+ getWorktree(agentId: string): AgentWorktree | null;
221
+ /**
222
+ * List all worktrees.
223
+ */
224
+ listWorktrees(): AgentWorktree[];
225
+ /**
226
+ * Update the stream associated with a worktree.
227
+ */
228
+ updateWorktreeStream(agentId: string, streamId: string | null): void;
229
+ /**
230
+ * Deallocate a worktree.
231
+ */
232
+ deallocateWorktree(agentId: string): void;
233
+ /**
234
+ * Create a worker task under a stream.
235
+ *
236
+ * @param options - Task creation options
237
+ * @returns Task ID
238
+ */
239
+ createTask(options: CreateTaskOptions): string;
240
+ /**
241
+ * Get a task by ID.
242
+ */
243
+ getTask(taskId: string): WorkerTask | null;
244
+ /**
245
+ * List tasks for a stream.
246
+ */
247
+ listTasks(streamId: string, options?: ListTasksOptions): WorkerTask[];
248
+ /**
249
+ * Start a task - assigns agent and creates worker branch.
250
+ *
251
+ * @param options - Start task options
252
+ * @returns Branch name and start commit
253
+ */
254
+ startTask(options: StartTaskOptions): StartTaskResult;
255
+ /**
256
+ * Complete a task - merges worker branch to stream.
257
+ *
258
+ * @param options - Complete task options
259
+ * @returns Merge result
260
+ */
261
+ completeTask(options: CompleteTaskOptions): CompleteTaskResult;
262
+ /**
263
+ * Abandon a task.
264
+ *
265
+ * @param taskId - Task ID
266
+ * @param options - Options
267
+ */
268
+ abandonTask(taskId: string, options?: {
269
+ deleteBranch?: boolean;
270
+ }): void;
271
+ /**
272
+ * Release a task back to 'open' status.
273
+ */
274
+ releaseTask(taskId: string): void;
275
+ /**
276
+ * Detect conflicts for a task before completing.
277
+ *
278
+ * @param taskId - Task ID
279
+ * @param worktree - Worktree path
280
+ * @returns Array of conflicting file paths, empty if no conflicts
281
+ */
282
+ detectTaskConflicts(taskId: string, worktree: string): string[];
283
+ /**
284
+ * Recover stale tasks that have been in_progress too long.
285
+ *
286
+ * @param thresholdMs - Tasks older than this are considered stale
287
+ * @returns Result with released task IDs
288
+ */
289
+ recoverStaleTasks(thresholdMs?: number): {
290
+ released: string[];
291
+ };
292
+ /**
293
+ * Create checkpoints for commits made during a task.
294
+ *
295
+ * Creates a checkpoint for each commit between the task's startCommit and
296
+ * the current HEAD of the task's stream. This captures the work done during
297
+ * the task for future review and merge workflows.
298
+ *
299
+ * @param taskId - Task ID to create checkpoints for
300
+ * @param agentId - Agent ID (used as createdBy)
301
+ * @returns Array of created checkpoints
302
+ */
303
+ createCheckpointsForTask(taskId: string, agentId: string): Checkpoint[];
304
+ /**
305
+ * Commit changes in a worktree with Change tracking.
306
+ *
307
+ * @param options - Commit options
308
+ * @returns Commit hash and change ID
309
+ */
310
+ commitChanges(options: {
311
+ streamId: string;
312
+ agentId: string;
313
+ worktree: string;
314
+ message: string;
315
+ /**
316
+ * Optional metadata threaded verbatim to git-cascade's
317
+ * `x-cascade/stream.committed` event. Use `{ task_ref: { resource_id,
318
+ * node_id } }` to bind this commit to an external task (see
319
+ * `SpawnAgentOptions.taskRef`). Each commit can carry a distinct ref —
320
+ * useful for workers handling multiple sub-tasks within one session.
321
+ */
322
+ metadata?: Record<string, unknown>;
323
+ }): {
324
+ commit: string;
325
+ changeId: string;
326
+ };
327
+ /**
328
+ * Clean up old worker branches.
329
+ *
330
+ * Deletes branches for:
331
+ * - Completed tasks older than threshold (default 24h)
332
+ * - Abandoned tasks
333
+ * - Orphaned branches (no task record)
334
+ *
335
+ * @param options - Cleanup options
336
+ * @returns Deleted branches and any errors
337
+ */
338
+ cleanupWorkerBranches(options?: CleanupWorkerBranchesOptions): CleanupResult;
339
+ /**
340
+ * Delete a specific worker branch.
341
+ *
342
+ * @param branchName - Branch name to delete
343
+ * @returns true if deleted, false if branch didn't exist
344
+ */
345
+ deleteWorkerBranch(branchName: string): boolean;
346
+ /**
347
+ * Get a change by ID.
348
+ */
349
+ getChange(changeId: string): Change | null;
350
+ /**
351
+ * Get a change by its current commit hash.
352
+ */
353
+ getChangeByCommit(commit: string): Change | null;
354
+ /**
355
+ * Get a change by any of its historical commit hashes (survives rebases).
356
+ */
357
+ getChangeByHistoricalCommit(commit: string): Change | null;
358
+ /**
359
+ * List changes for a stream, optionally filtered by status.
360
+ */
361
+ getChangesForStream(streamId: string, options?: {
362
+ status?: ChangeStatus;
363
+ }): Change[];
364
+ /**
365
+ * Mark changes as merged.
366
+ */
367
+ markChangesMerged(changeIds: string[]): void;
368
+ /**
369
+ * Mark a single change as dropped.
370
+ */
371
+ markChangeDropped(changeId: string): void;
372
+ /**
373
+ * Add a stream to the merge queue. Local `mergeQueue:added` event fires
374
+ * via forwardCascadeEvent (git-cascade 0.0.7+ emits queue.added natively).
375
+ */
376
+ addToMergeQueue(options: mergeQueueModule.AddToQueueOptions): string;
377
+ /**
378
+ * Get a merge queue entry by id.
379
+ */
380
+ getMergeQueueEntry(entryId: string): mergeQueueModule.MergeQueueEntry | null;
381
+ /**
382
+ * List merge queue entries with optional filters.
383
+ */
384
+ listMergeQueue(options?: {
385
+ targetBranch?: string;
386
+ status?: mergeQueueModule.MergeQueueStatus | mergeQueueModule.MergeQueueStatus[];
387
+ }): mergeQueueModule.MergeQueueEntry[];
388
+ /**
389
+ * Mark a queue entry as ready to merge. Local `mergeQueue:ready` event
390
+ * fires via forwardCascadeEvent (git-cascade 0.0.7+).
391
+ */
392
+ markMergeQueueReady(entryId: string): void;
393
+ /**
394
+ * Cancel a queue entry. Local `mergeQueue:cancelled` event fires via
395
+ * forwardCascadeEvent (git-cascade 0.0.7+).
396
+ */
397
+ cancelMergeQueueEntry(entryId: string): void;
398
+ /**
399
+ * Remove a queue entry. Local `mergeQueue:removed` event fires via
400
+ * forwardCascadeEvent (git-cascade 0.0.7+).
401
+ */
402
+ removeFromMergeQueue(entryId: string): void;
403
+ /**
404
+ * Get the next entry to process for a target branch.
405
+ */
406
+ getNextToMerge(targetBranch?: string): mergeQueueModule.MergeQueueEntry | null;
407
+ /**
408
+ * Process the merge queue — drains ready entries per provided handler.
409
+ */
410
+ processMergeQueue(options: mergeQueueModule.ProcessQueueOptions): mergeQueueModule.ProcessQueueResult;
411
+ /**
412
+ * Get a stream's position in the queue (lower = sooner).
413
+ */
414
+ getMergeQueuePosition(streamId: string, targetBranch?: string): number | null;
415
+ /**
416
+ * Create a conflict record.
417
+ *
418
+ * Usually conflicts are created implicitly by merge/rebase operations.
419
+ * This is for explicit creation (e.g., an external process detected a
420
+ * conflict that git-cascade didn't).
421
+ */
422
+ createConflict(options: CreateConflictOptions): string;
423
+ /**
424
+ * Get a conflict record by id.
425
+ */
426
+ getConflict(conflictId: string): ConflictRecord | null;
427
+ /**
428
+ * Get the active conflict record for a stream, if any.
429
+ */
430
+ getConflictForStream(streamId: string): ConflictRecord | null;
431
+ /**
432
+ * Emit a `stream:pushed` event for trunk-style landing strategies that push
433
+ * to a remote rather than merging into another stream. Strategies call this
434
+ * after a successful push so observers (the OpenHive cascade-bridge) can
435
+ * surface the push as `x-cascade/stream.pushed`.
436
+ */
437
+ notifyStreamPushed(args: {
438
+ streamId: string;
439
+ agentId: string;
440
+ pushedCommit: string;
441
+ remote: string;
442
+ remoteRef: string;
443
+ strategy?: string;
444
+ metadata?: Record<string, unknown>;
445
+ }): void;
446
+ /**
447
+ * Mark a conflict as resolved. Routes through git-cascade's tracker so
448
+ * `x-cascade/stream.conflict_resolved` fires for hub observers (closes
449
+ * cascade_conflicts.status from pending → resolved on the OpenHive side).
450
+ */
451
+ resolveConflict(args: {
452
+ conflictId: string;
453
+ resolution: import('git-cascade').ConflictResolution & {
454
+ summary?: string;
455
+ };
456
+ metadata?: Record<string, unknown>;
457
+ }): void;
458
+ /**
459
+ * Abandon a conflict (stream-level give-up). Emits a
460
+ * `stream.conflict_resolved` event with method='abandoned' so observers
461
+ * see the conflict is no longer pending.
462
+ */
463
+ abandonConflict(args: {
464
+ conflictId: string;
465
+ agentId?: string;
466
+ reason?: string;
467
+ metadata?: Record<string, unknown>;
468
+ }): void;
469
+ /**
470
+ * Check if a stream's database state is in sync with its git branch.
471
+ */
472
+ checkStreamSync(streamId: string): reconcileModule.StreamSyncStatus;
473
+ /**
474
+ * Check all active streams for sync status.
475
+ */
476
+ checkAllStreamsSync(options?: {
477
+ streamIds?: string[];
478
+ }): reconcileModule.ReconcileCheckResult;
479
+ /**
480
+ * Reconcile database state with git state. Fixes missing branches, resets
481
+ * diverged HEAD (per options), etc. Does NOT handle orphan worktrees — the
482
+ * macro-agent-level reconcile wrapper covers that.
483
+ */
484
+ reconcile(options?: reconcileModule.ReconcileOptions): reconcileModule.ReconcileResult;
485
+ /**
486
+ * Ensure a stream is in sync before performing an operation.
487
+ * @throws DesyncError if out of sync unless `force: true`.
488
+ */
489
+ ensureStreamInSync(streamId: string, options?: {
490
+ force?: boolean;
491
+ }): void;
492
+ /**
493
+ * Check system health.
494
+ */
495
+ healthCheck(): ReturnType<MultiAgentRepoTracker['healthCheck']>;
496
+ /**
497
+ * Close the adapter and release resources.
498
+ *
499
+ * Only closes the database if we created it (not if using shared DB).
500
+ */
501
+ close(): void;
502
+ }
503
+ /**
504
+ * Create a GitCascadeAdapter instance.
505
+ *
506
+ * @param config - Configuration options
507
+ * @returns GitCascadeAdapter instance
508
+ */
509
+ export declare function createGitCascadeAdapter(config: GitCascadeConfig): GitCascadeAdapter;
510
+ //# sourceMappingURL=git-cascade-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-cascade-adapter.d.ts","sourceRoot":"","sources":["../../src/workspace/git-cascade-adapter.ts"],"names":[],"mappings":"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"}