macro-agent 0.1.8 → 0.1.11

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 (306) hide show
  1. package/CLAUDE.md +263 -33
  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 +192 -7
  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/adapters/tasks-adapter.d.ts.map +1 -1
  14. package/dist/adapters/tasks-adapter.js +3 -0
  15. package/dist/adapters/tasks-adapter.js.map +1 -1
  16. package/dist/adapters/types.d.ts +1 -0
  17. package/dist/adapters/types.d.ts.map +1 -1
  18. package/dist/agent/agent-manager-v2.d.ts +21 -0
  19. package/dist/agent/agent-manager-v2.d.ts.map +1 -1
  20. package/dist/agent/agent-manager-v2.js +308 -54
  21. package/dist/agent/agent-manager-v2.js.map +1 -1
  22. package/dist/agent/agent-manager.d.ts +12 -0
  23. package/dist/agent/agent-manager.d.ts.map +1 -1
  24. package/dist/agent/agent-manager.js.map +1 -1
  25. package/dist/agent/agent-store.d.ts +10 -0
  26. package/dist/agent/agent-store.d.ts.map +1 -1
  27. package/dist/agent/agent-store.js +22 -0
  28. package/dist/agent/agent-store.js.map +1 -1
  29. package/dist/agent/types.d.ts +15 -2
  30. package/dist/agent/types.d.ts.map +1 -1
  31. package/dist/agent/types.js.map +1 -1
  32. package/dist/boot-v2.d.ts +129 -1
  33. package/dist/boot-v2.d.ts.map +1 -1
  34. package/dist/boot-v2.js +359 -8
  35. package/dist/boot-v2.js.map +1 -1
  36. package/dist/cli/acp.js +4 -0
  37. package/dist/cli/acp.js.map +1 -1
  38. package/dist/cli/index.js +56 -0
  39. package/dist/cli/index.js.map +1 -1
  40. package/dist/cognitive/macro-agent-backend.d.ts.map +1 -1
  41. package/dist/cognitive/macro-agent-backend.js +40 -22
  42. package/dist/cognitive/macro-agent-backend.js.map +1 -1
  43. package/dist/integrations/skilltree.d.ts.map +1 -1
  44. package/dist/integrations/skilltree.js +1 -0
  45. package/dist/integrations/skilltree.js.map +1 -1
  46. package/dist/lifecycle/cascade.d.ts +25 -2
  47. package/dist/lifecycle/cascade.d.ts.map +1 -1
  48. package/dist/lifecycle/cascade.js +70 -2
  49. package/dist/lifecycle/cascade.js.map +1 -1
  50. package/dist/lifecycle/cleanup.d.ts +33 -2
  51. package/dist/lifecycle/cleanup.d.ts.map +1 -1
  52. package/dist/lifecycle/cleanup.js +28 -6
  53. package/dist/lifecycle/cleanup.js.map +1 -1
  54. package/dist/lifecycle/handlers-v2.d.ts +7 -0
  55. package/dist/lifecycle/handlers-v2.d.ts.map +1 -1
  56. package/dist/lifecycle/handlers-v2.js +28 -2
  57. package/dist/lifecycle/handlers-v2.js.map +1 -1
  58. package/dist/lifecycle/types.d.ts +11 -0
  59. package/dist/lifecycle/types.d.ts.map +1 -1
  60. package/dist/lifecycle/types.js.map +1 -1
  61. package/dist/map/acp-bridge.d.ts +9 -0
  62. package/dist/map/acp-bridge.d.ts.map +1 -1
  63. package/dist/map/acp-bridge.js +15 -2
  64. package/dist/map/acp-bridge.js.map +1 -1
  65. package/dist/map/cascade-action-handler.d.ts +24 -0
  66. package/dist/map/cascade-action-handler.d.ts.map +1 -0
  67. package/dist/map/cascade-action-handler.js +170 -0
  68. package/dist/map/cascade-action-handler.js.map +1 -0
  69. package/dist/map/cascade-bridge.d.ts +44 -0
  70. package/dist/map/cascade-bridge.d.ts.map +1 -0
  71. package/dist/map/cascade-bridge.js +294 -0
  72. package/dist/map/cascade-bridge.js.map +1 -0
  73. package/dist/map/coordination-handler.d.ts.map +1 -1
  74. package/dist/map/coordination-handler.js +12 -1
  75. package/dist/map/coordination-handler.js.map +1 -1
  76. package/dist/map/lifecycle-bridge.d.ts +1 -1
  77. package/dist/map/lifecycle-bridge.d.ts.map +1 -1
  78. package/dist/map/lifecycle-bridge.js +58 -23
  79. package/dist/map/lifecycle-bridge.js.map +1 -1
  80. package/dist/map/server.d.ts.map +1 -1
  81. package/dist/map/server.js +219 -7
  82. package/dist/map/server.js.map +1 -1
  83. package/dist/map/sidecar.d.ts.map +1 -1
  84. package/dist/map/sidecar.js +49 -2
  85. package/dist/map/sidecar.js.map +1 -1
  86. package/dist/map/types.d.ts +22 -0
  87. package/dist/map/types.d.ts.map +1 -1
  88. package/dist/mcp/tools/done-v2.d.ts.map +1 -1
  89. package/dist/mcp/tools/done-v2.js +8 -0
  90. package/dist/mcp/tools/done-v2.js.map +1 -1
  91. package/dist/teams/team-manager-v2.d.ts.map +1 -1
  92. package/dist/teams/team-manager-v2.js +26 -0
  93. package/dist/teams/team-manager-v2.js.map +1 -1
  94. package/dist/teams/team-runtime-v2.d.ts.map +1 -1
  95. package/dist/teams/team-runtime-v2.js +16 -3
  96. package/dist/teams/team-runtime-v2.js.map +1 -1
  97. package/dist/workspace/config.d.ts +10 -10
  98. package/dist/workspace/config.d.ts.map +1 -1
  99. package/dist/workspace/config.js +4 -4
  100. package/dist/workspace/config.js.map +1 -1
  101. package/dist/workspace/git-cascade-adapter.d.ts +510 -0
  102. package/dist/workspace/git-cascade-adapter.d.ts.map +1 -0
  103. package/dist/workspace/git-cascade-adapter.js +934 -0
  104. package/dist/workspace/git-cascade-adapter.js.map +1 -0
  105. package/dist/workspace/index.d.ts +3 -3
  106. package/dist/workspace/index.d.ts.map +1 -1
  107. package/dist/workspace/index.js +4 -4
  108. package/dist/workspace/index.js.map +1 -1
  109. package/dist/workspace/landing/direct-push.d.ts +20 -0
  110. package/dist/workspace/landing/direct-push.d.ts.map +1 -0
  111. package/dist/workspace/landing/direct-push.js +74 -0
  112. package/dist/workspace/landing/direct-push.js.map +1 -0
  113. package/dist/workspace/landing/index.d.ts +29 -0
  114. package/dist/workspace/landing/index.d.ts.map +1 -0
  115. package/dist/workspace/landing/index.js +37 -0
  116. package/dist/workspace/landing/index.js.map +1 -0
  117. package/dist/workspace/landing/merge-to-parent.d.ts +41 -0
  118. package/dist/workspace/landing/merge-to-parent.d.ts.map +1 -0
  119. package/dist/workspace/landing/merge-to-parent.js +186 -0
  120. package/dist/workspace/landing/merge-to-parent.js.map +1 -0
  121. package/dist/workspace/landing/optimistic-push.d.ts +16 -0
  122. package/dist/workspace/landing/optimistic-push.d.ts.map +1 -0
  123. package/dist/workspace/landing/optimistic-push.js +27 -0
  124. package/dist/workspace/landing/optimistic-push.js.map +1 -0
  125. package/dist/workspace/landing/queue-to-branch.d.ts +24 -0
  126. package/dist/workspace/landing/queue-to-branch.d.ts.map +1 -0
  127. package/dist/workspace/landing/queue-to-branch.js +79 -0
  128. package/dist/workspace/landing/queue-to-branch.js.map +1 -0
  129. package/dist/workspace/merge-queue/merge-queue.d.ts +10 -0
  130. package/dist/workspace/merge-queue/merge-queue.d.ts.map +1 -1
  131. package/dist/workspace/merge-queue/merge-queue.js +10 -0
  132. package/dist/workspace/merge-queue/merge-queue.js.map +1 -1
  133. package/dist/workspace/merge-queue/types.d.ts +16 -2
  134. package/dist/workspace/merge-queue/types.d.ts.map +1 -1
  135. package/dist/workspace/merge-queue/types.js +9 -0
  136. package/dist/workspace/merge-queue/types.js.map +1 -1
  137. package/dist/workspace/pool/types.d.ts +1 -0
  138. package/dist/workspace/pool/types.d.ts.map +1 -1
  139. package/dist/workspace/pool/worktree-pool.d.ts.map +1 -1
  140. package/dist/workspace/pool/worktree-pool.js +1 -0
  141. package/dist/workspace/pool/worktree-pool.js.map +1 -1
  142. package/dist/workspace/recovery/abandon.d.ts +15 -0
  143. package/dist/workspace/recovery/abandon.d.ts.map +1 -0
  144. package/dist/workspace/recovery/abandon.js +45 -0
  145. package/dist/workspace/recovery/abandon.js.map +1 -0
  146. package/dist/workspace/recovery/auto-resolve.d.ts +27 -0
  147. package/dist/workspace/recovery/auto-resolve.d.ts.map +1 -0
  148. package/dist/workspace/recovery/auto-resolve.js +99 -0
  149. package/dist/workspace/recovery/auto-resolve.js.map +1 -0
  150. package/dist/workspace/recovery/defer.d.ts +15 -0
  151. package/dist/workspace/recovery/defer.d.ts.map +1 -0
  152. package/dist/workspace/recovery/defer.js +16 -0
  153. package/dist/workspace/recovery/defer.js.map +1 -0
  154. package/dist/workspace/recovery/escalate.d.ts +16 -0
  155. package/dist/workspace/recovery/escalate.d.ts.map +1 -0
  156. package/dist/workspace/recovery/escalate.js +24 -0
  157. package/dist/workspace/recovery/escalate.js.map +1 -0
  158. package/dist/workspace/recovery/index.d.ts +32 -0
  159. package/dist/workspace/recovery/index.d.ts.map +1 -0
  160. package/dist/workspace/recovery/index.js +45 -0
  161. package/dist/workspace/recovery/index.js.map +1 -0
  162. package/dist/workspace/recovery/spawn-resolver.d.ts +45 -0
  163. package/dist/workspace/recovery/spawn-resolver.d.ts.map +1 -0
  164. package/dist/workspace/recovery/spawn-resolver.js +118 -0
  165. package/dist/workspace/recovery/spawn-resolver.js.map +1 -0
  166. package/dist/workspace/recovery/types.d.ts +63 -0
  167. package/dist/workspace/recovery/types.d.ts.map +1 -0
  168. package/dist/workspace/recovery/types.js +12 -0
  169. package/dist/workspace/recovery/types.js.map +1 -0
  170. package/dist/workspace/topology/index.d.ts +9 -0
  171. package/dist/workspace/topology/index.d.ts.map +1 -0
  172. package/dist/workspace/topology/index.js +8 -0
  173. package/dist/workspace/topology/index.js.map +1 -0
  174. package/dist/workspace/topology/no-workspace.d.ts +18 -0
  175. package/dist/workspace/topology/no-workspace.d.ts.map +1 -0
  176. package/dist/workspace/topology/no-workspace.js +25 -0
  177. package/dist/workspace/topology/no-workspace.js.map +1 -0
  178. package/dist/workspace/topology/types.d.ts +97 -0
  179. package/dist/workspace/topology/types.d.ts.map +1 -0
  180. package/dist/workspace/topology/types.js +20 -0
  181. package/dist/workspace/topology/types.js.map +1 -0
  182. package/dist/workspace/topology/yaml-driven.d.ts +69 -0
  183. package/dist/workspace/topology/yaml-driven.d.ts.map +1 -0
  184. package/dist/workspace/topology/yaml-driven.js +273 -0
  185. package/dist/workspace/topology/yaml-driven.js.map +1 -0
  186. package/dist/workspace/types-v3.d.ts +117 -0
  187. package/dist/workspace/types-v3.d.ts.map +1 -0
  188. package/dist/workspace/types-v3.js +20 -0
  189. package/dist/workspace/types-v3.js.map +1 -0
  190. package/dist/workspace/types.d.ts +162 -17
  191. package/dist/workspace/types.d.ts.map +1 -1
  192. package/dist/workspace/workspace-manager.d.ts +101 -13
  193. package/dist/workspace/workspace-manager.d.ts.map +1 -1
  194. package/dist/workspace/workspace-manager.js +416 -13
  195. package/dist/workspace/workspace-manager.js.map +1 -1
  196. package/dist/workspace/yaml-schema.d.ts +254 -0
  197. package/dist/workspace/yaml-schema.d.ts.map +1 -0
  198. package/dist/workspace/yaml-schema.js +170 -0
  199. package/dist/workspace/yaml-schema.js.map +1 -0
  200. package/docs/conflict-recovery.md +472 -0
  201. package/docs/design/task-dispatcher.md +880 -0
  202. package/docs/git-cascade-integration-gaps.md +678 -0
  203. package/docs/workspace-interfaces.md +731 -0
  204. package/docs/workspace-redesign-plan.md +302 -0
  205. package/package.json +6 -5
  206. package/src/__tests__/boot-v2.test.ts +435 -0
  207. package/src/__tests__/e2e/acp-over-map.e2e.test.ts +92 -0
  208. package/src/__tests__/e2e/auto-sync.e2e.test.ts +257 -0
  209. package/src/__tests__/e2e/bootstrap.e2e.test.ts +319 -0
  210. package/src/__tests__/e2e/cascade-rebase.e2e.test.ts +254 -0
  211. package/src/__tests__/e2e/cli-run.e2e.test.ts +167 -0
  212. package/src/__tests__/e2e/dispatch-coordination.e2e.test.ts +495 -0
  213. package/src/__tests__/e2e/dispatch-live.e2e.test.ts +564 -0
  214. package/src/__tests__/e2e/dispatch-opentasks.e2e.test.ts +496 -0
  215. package/src/__tests__/e2e/dispatch-phase2-live.e2e.test.ts +456 -0
  216. package/src/__tests__/e2e/dispatch-phase2.e2e.test.ts +386 -0
  217. package/src/__tests__/e2e/dispatch.e2e.test.ts +376 -0
  218. package/src/__tests__/e2e/self-driving-v3.e2e.test.ts +197 -0
  219. package/src/__tests__/e2e/spawn-resolver.e2e.test.ts +200 -0
  220. package/src/__tests__/e2e/workspace-lifecycle.e2e.test.ts +30 -22
  221. package/src/__tests__/e2e/workspace-v3.e2e.test.ts +413 -0
  222. package/src/acp/__tests__/claude-code-replay.test.ts +225 -0
  223. package/src/acp/__tests__/macro-agent.test.ts +39 -1
  224. package/src/acp/claude-code-replay.ts +208 -0
  225. package/src/acp/macro-agent.ts +203 -10
  226. package/src/acp/types.ts +10 -0
  227. package/src/adapters/__tests__/tasks-adapter.test.ts +1 -0
  228. package/src/adapters/tasks-adapter.ts +3 -0
  229. package/src/adapters/types.ts +1 -0
  230. package/src/agent/__tests__/agent-manager-topology.test.ts +73 -0
  231. package/src/agent/__tests__/agent-manager-v2.test.ts +66 -0
  232. package/src/agent/__tests__/agent-store.test.ts +52 -0
  233. package/src/agent/__tests__/task-ref-resolution.test.ts +231 -0
  234. package/src/agent/agent-manager-v2.ts +372 -59
  235. package/src/agent/agent-manager.ts +14 -0
  236. package/src/agent/agent-store.ts +24 -0
  237. package/src/agent/types.ts +16 -2
  238. package/src/boot-v2.ts +589 -35
  239. package/src/cli/acp.ts +4 -0
  240. package/src/cli/index.ts +61 -0
  241. package/src/cognitive/macro-agent-backend.ts +45 -29
  242. package/src/integrations/skilltree.ts +1 -0
  243. package/src/lifecycle/__tests__/cascade-consolidation.test.ts +240 -0
  244. package/src/lifecycle/cascade.ts +77 -2
  245. package/src/lifecycle/cleanup.ts +52 -3
  246. package/src/lifecycle/handlers-v2.ts +40 -3
  247. package/src/lifecycle/types.ts +12 -0
  248. package/src/map/__tests__/cascade-bridge.test.ts +229 -0
  249. package/src/map/__tests__/emit-event.test.ts +71 -0
  250. package/src/map/__tests__/lifecycle-bridge.test.ts +86 -10
  251. package/src/map/acp-bridge.ts +26 -3
  252. package/src/map/cascade-action-handler.ts +205 -0
  253. package/src/map/cascade-bridge.ts +339 -0
  254. package/src/map/coordination-handler.ts +13 -1
  255. package/src/map/lifecycle-bridge.ts +52 -17
  256. package/src/map/server.ts +225 -7
  257. package/src/map/sidecar.ts +48 -1
  258. package/src/map/types.ts +23 -0
  259. package/src/mcp/tools/done-v2.ts +9 -0
  260. package/src/teams/team-manager-v2.ts +37 -0
  261. package/src/teams/team-runtime-v2.ts +23 -3
  262. package/src/workspace/__tests__/{dataplane-adapter.test.ts → git-cascade-adapter.test.ts} +209 -14
  263. package/src/workspace/__tests__/land-dispatch.test.ts +214 -0
  264. package/src/workspace/__tests__/self-driving-yaml.test.ts +114 -0
  265. package/src/workspace/__tests__/shared-worktree-refcount.test.ts +154 -0
  266. package/src/workspace/__tests__/standalone-mode.test.ts +118 -0
  267. package/src/workspace/__tests__/workspace-manager-v3.test.ts +245 -0
  268. package/src/workspace/__tests__/yaml-schema.test.ts +210 -0
  269. package/src/workspace/config.ts +11 -11
  270. package/src/workspace/git-cascade-adapter.ts +1213 -0
  271. package/src/workspace/index.ts +11 -11
  272. package/src/workspace/landing/__tests__/strategies.test.ts +184 -0
  273. package/src/workspace/landing/direct-push.ts +91 -0
  274. package/src/workspace/landing/index.ts +40 -0
  275. package/src/workspace/landing/merge-to-parent.ts +229 -0
  276. package/src/workspace/landing/optimistic-push.ts +36 -0
  277. package/src/workspace/landing/queue-to-branch.ts +108 -0
  278. package/src/workspace/merge-queue/merge-queue.ts +10 -0
  279. package/src/workspace/merge-queue/types.ts +16 -2
  280. package/src/workspace/pool/__tests__/worktree-pool.integration.test.ts +5 -5
  281. package/src/workspace/pool/types.ts +1 -0
  282. package/src/workspace/pool/worktree-pool.ts +1 -0
  283. package/src/workspace/recovery/__tests__/auto-resolve-integration.test.ts +127 -0
  284. package/src/workspace/recovery/__tests__/spawn-resolver.test.ts +139 -0
  285. package/src/workspace/recovery/__tests__/strategies.test.ts +145 -0
  286. package/src/workspace/recovery/abandon.ts +51 -0
  287. package/src/workspace/recovery/auto-resolve.ts +119 -0
  288. package/src/workspace/recovery/defer.ts +23 -0
  289. package/src/workspace/recovery/escalate.ts +30 -0
  290. package/src/workspace/recovery/index.ts +58 -0
  291. package/src/workspace/recovery/spawn-resolver.ts +152 -0
  292. package/src/workspace/recovery/types.ts +54 -0
  293. package/src/workspace/topology/__tests__/yaml-driven.test.ts +345 -0
  294. package/src/workspace/topology/index.ts +18 -0
  295. package/src/workspace/topology/no-workspace.ts +39 -0
  296. package/src/workspace/topology/types.ts +116 -0
  297. package/src/workspace/topology/yaml-driven.ts +316 -0
  298. package/src/workspace/types-v3.ts +162 -0
  299. package/src/workspace/types.ts +211 -20
  300. package/src/workspace/workspace-manager.ts +533 -19
  301. package/src/workspace/yaml-schema.ts +216 -0
  302. package/dist/workspace/dataplane-adapter.d.ts +0 -260
  303. package/dist/workspace/dataplane-adapter.d.ts.map +0 -1
  304. package/dist/workspace/dataplane-adapter.js +0 -416
  305. package/dist/workspace/dataplane-adapter.js.map +0 -1
  306. package/src/workspace/dataplane-adapter.ts +0 -546
@@ -0,0 +1,11 @@
1
+ import type { SessionUpdate } from "@agentclientprotocol/sdk";
2
+ /**
3
+ * Read Claude Code's JSONL transcript for a session and yield ACP SessionUpdate
4
+ * events suitable for emitting via `connection.sessionUpdate({ sessionId, update })`.
5
+ *
6
+ * Yields events in chronological order. Returns early (yields nothing) if the
7
+ * transcript file doesn't exist — e.g., the agent is running on a different
8
+ * machine.
9
+ */
10
+ export declare function replayClaudeCodeTranscript(providerSessionId: string): AsyncGenerator<SessionUpdate>;
11
+ //# sourceMappingURL=claude-code-replay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-code-replay.d.ts","sourceRoot":"","sources":["../../src/acp/claude-code-replay.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAwH9D;;;;;;;GAOG;AACH,wBAAuB,0BAA0B,CAC/C,iBAAiB,EAAE,MAAM,GACxB,cAAc,CAAC,aAAa,CAAC,CAsD/B"}
@@ -0,0 +1,190 @@
1
+ /**
2
+ * Claude Code JSONL → ACP SessionUpdate replay
3
+ *
4
+ * Works around a gap in claude-code-acp where `loadSession` does NOT emit
5
+ * `session/update` notifications for historical conversation content — it only
6
+ * tells the Claude Code subprocess to restore context internally. That means
7
+ * clients (like OpenHive) calling ACP's `session/load` get back an empty
8
+ * session.
9
+ *
10
+ * Per the ACP spec (https://agentclientprotocol.com/protocol/session-setup#loading-sessions),
11
+ * loadSession SHOULD stream the conversation history back via session/update
12
+ * notifications. This module reads Claude Code's native JSONL transcript (which
13
+ * Claude Code always persists, no hooks required) and converts each entry to
14
+ * ACP SessionUpdate events so the client can reconstruct the conversation.
15
+ *
16
+ * TODO(upstream): fix claude-code-acp so this workaround becomes unnecessary.
17
+ * See node_modules/@sudocode-ai/claude-code-acp/dist/acp-agent.js:344-353.
18
+ *
19
+ * @module acp/claude-code-replay
20
+ */
21
+ import * as fs from "node:fs/promises";
22
+ import * as path from "node:path";
23
+ import * as os from "node:os";
24
+ /**
25
+ * Locate Claude Code's JSONL transcript for the given session.
26
+ *
27
+ * Claude Code writes transcripts to `~/.claude/projects/{encoded-cwd}/{session-id}.jsonl`.
28
+ * The cwd encoding replaces `/` with `-` (e.g., `/tmp/x` → `-private-tmp-x` on macOS
29
+ * where /tmp is a symlink). Rather than replicating the encoding exactly, we scan
30
+ * project directories for a file matching the session ID — the ID is a UUID so
31
+ * collisions are not a concern.
32
+ */
33
+ async function locateTranscript(providerSessionId) {
34
+ const projectsRoot = path.join(os.homedir(), ".claude", "projects");
35
+ let dirents;
36
+ try {
37
+ // @ts-expect-error — withFileTypes overload returns Dirent[]
38
+ dirents = await fs.readdir(projectsRoot, { withFileTypes: true });
39
+ }
40
+ catch {
41
+ return null;
42
+ }
43
+ for (const d of dirents) {
44
+ if (!d.isDirectory())
45
+ continue;
46
+ const candidate = path.join(projectsRoot, d.name, `${providerSessionId}.jsonl`);
47
+ try {
48
+ await fs.access(candidate);
49
+ return candidate;
50
+ }
51
+ catch {
52
+ // Not in this dir — keep scanning
53
+ }
54
+ }
55
+ return null;
56
+ }
57
+ /**
58
+ * Convert a user message content block into an ACP SessionUpdate.
59
+ */
60
+ function userBlockToUpdate(block) {
61
+ if (block.type === "text" && block.text) {
62
+ return {
63
+ sessionUpdate: "user_message_chunk",
64
+ content: { type: "text", text: block.text },
65
+ };
66
+ }
67
+ if (block.type === "tool_result") {
68
+ const output = typeof block.content === "string"
69
+ ? block.content
70
+ : JSON.stringify(block.content);
71
+ return {
72
+ sessionUpdate: "tool_call_update",
73
+ toolCallId: block.tool_use_id,
74
+ output,
75
+ status: block.is_error ? "failed" : "completed",
76
+ };
77
+ }
78
+ return null;
79
+ }
80
+ /**
81
+ * Convert an assistant message content block into an ACP SessionUpdate.
82
+ */
83
+ function assistantBlockToUpdate(block) {
84
+ if (block.type === "text" && block.text) {
85
+ return {
86
+ sessionUpdate: "agent_message_chunk",
87
+ content: { type: "text", text: block.text },
88
+ };
89
+ }
90
+ if (block.type === "tool_use") {
91
+ return {
92
+ sessionUpdate: "tool_call",
93
+ toolCallId: block.id,
94
+ title: block.name,
95
+ rawInput: block.input,
96
+ status: "pending",
97
+ };
98
+ }
99
+ if (block.type === "thinking") {
100
+ const text = block.thinking ?? block.text ?? "";
101
+ if (!text)
102
+ return null;
103
+ return {
104
+ sessionUpdate: "agent_thought_chunk",
105
+ content: { type: "text", text },
106
+ };
107
+ }
108
+ return null;
109
+ }
110
+ /**
111
+ * Check if a string user-message looks like a Claude Code internal command
112
+ * (e.g., `<command-name>/model</command-name>`, `<local-command-stdout>...`).
113
+ * These get recorded in the JSONL but aren't part of the conversation UX.
114
+ */
115
+ function isInternalCommand(text) {
116
+ const t = text.trimStart();
117
+ return (t.startsWith("<command-") ||
118
+ t.startsWith("<local-command-") ||
119
+ t.startsWith("<system-reminder") ||
120
+ t.startsWith("Caveat:"));
121
+ }
122
+ /**
123
+ * Read Claude Code's JSONL transcript for a session and yield ACP SessionUpdate
124
+ * events suitable for emitting via `connection.sessionUpdate({ sessionId, update })`.
125
+ *
126
+ * Yields events in chronological order. Returns early (yields nothing) if the
127
+ * transcript file doesn't exist — e.g., the agent is running on a different
128
+ * machine.
129
+ */
130
+ export async function* replayClaudeCodeTranscript(providerSessionId) {
131
+ const jsonlPath = await locateTranscript(providerSessionId);
132
+ if (!jsonlPath)
133
+ return;
134
+ let raw;
135
+ try {
136
+ raw = await fs.readFile(jsonlPath, "utf-8");
137
+ }
138
+ catch {
139
+ return;
140
+ }
141
+ for (const line of raw.split("\n")) {
142
+ const trimmed = line.trim();
143
+ if (!trimmed)
144
+ continue;
145
+ let entry;
146
+ try {
147
+ entry = JSON.parse(trimmed);
148
+ }
149
+ catch {
150
+ continue;
151
+ }
152
+ // Skip non-conversation entries (queue-operations, summaries, etc.)
153
+ if (entry.type !== "user" && entry.type !== "assistant")
154
+ continue;
155
+ // Skip meta messages (local command output, system injections)
156
+ if (entry.isMeta)
157
+ continue;
158
+ const message = entry.message;
159
+ if (!message)
160
+ continue;
161
+ const content = message.content;
162
+ if (entry.type === "user") {
163
+ if (typeof content === "string") {
164
+ if (isInternalCommand(content))
165
+ continue;
166
+ yield {
167
+ sessionUpdate: "user_message_chunk",
168
+ content: { type: "text", text: content },
169
+ };
170
+ }
171
+ else if (Array.isArray(content)) {
172
+ for (const block of content) {
173
+ const upd = userBlockToUpdate(block);
174
+ if (upd)
175
+ yield upd;
176
+ }
177
+ }
178
+ }
179
+ else if (entry.type === "assistant") {
180
+ if (Array.isArray(content)) {
181
+ for (const block of content) {
182
+ const upd = assistantBlockToUpdate(block);
183
+ if (upd)
184
+ yield upd;
185
+ }
186
+ }
187
+ }
188
+ }
189
+ }
190
+ //# sourceMappingURL=claude-code-replay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-code-replay.js","sourceRoot":"","sources":["../../src/acp/claude-code-replay.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"macro-agent.d.ts","sourceRoot":"","sources":["../../src/acp/macro-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,KAAK,IAAI,QAAQ,EAclB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAKpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAQvD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,UAAU,CAAC,EAAE,oBAAoB,CAAC;CACnC;AAoFD;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,mBAAmB,EAC/B,MAAM,EAAE,gBAAgB,GACvB,QAAQ,CAiqBV;AAED;;;GAGG;AACH,OAAO,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"macro-agent.d.ts","sourceRoot":"","sources":["../../src/acp/macro-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,KAAK,IAAI,QAAQ,EAclB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAKpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAQvD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,UAAU,CAAC,EAAE,oBAAoB,CAAC;CACnC;AAoFD;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,mBAAmB,EAC/B,MAAM,EAAE,gBAAgB,GACvB,QAAQ,CAk2BV;AAED;;;GAGG;AACH,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -93,6 +93,20 @@ export function createMacroAgent(connection, config) {
93
93
  let checkpointCounter = 0;
94
94
  let firstPrompt = null;
95
95
  const sessionStartedAt = new Date().toISOString();
96
+ // Per-session update history for ACP session/load replay.
97
+ // Per the ACP spec, loadSession should re-emit all session/update notifications
98
+ // previously sent so the client can reconstruct state. We buffer them here
99
+ // keyed by ACP session ID.
100
+ const sessionUpdateHistory = new Map();
101
+ function appendSessionUpdate(acpSessionId, update) {
102
+ const arr = sessionUpdateHistory.get(acpSessionId);
103
+ if (arr) {
104
+ arr.push(update);
105
+ }
106
+ else {
107
+ sessionUpdateHistory.set(acpSessionId, [update]);
108
+ }
109
+ }
96
110
  // Git info (cached — read once per session)
97
111
  let gitInfo = null;
98
112
  function getGitInfo(cwd) {
@@ -289,15 +303,38 @@ export function createMacroAgent(connection, config) {
289
303
  },
290
304
  async newSession(params) {
291
305
  const cwd = params.cwd ?? defaultCwd;
292
- // Get or create a head manager for this workspace
293
- const headManager = await agentManager.getOrCreateHeadManager({ cwd });
306
+ // Two paths into newSession:
307
+ //
308
+ // 1. MAP-bound stream — initConfig.targetAgentId is set by the ACP
309
+ // bridge to the local agent ID this stream was opened against.
310
+ // Bind the session to that specific agent (any role), preserving
311
+ // the routing intent that brought the stream here. This matters
312
+ // when multiple coordinators share a cwd: cwd-based lookup would
313
+ // pick whichever the store returned first, which may not be the
314
+ // one the client actually wanted to talk to.
315
+ //
316
+ // 2. Fallback — pure ACP client with no agent context. Use
317
+ // cwd-based head-manager lookup (spawning one if needed). This
318
+ // keeps stock ACP clients working without protocol changes.
319
+ let target;
320
+ if (initConfig?.targetAgentId) {
321
+ const bound = agentManager.getActiveAgentSession(initConfig.targetAgentId);
322
+ if (!bound) {
323
+ throw new ACPError(`Agent ${initConfig.targetAgentId} is not running or has no active session`, "AGENT_NOT_FOUND", { agentId: initConfig.targetAgentId });
324
+ }
325
+ target = { id: bound.id, session_id: bound.session_id };
326
+ }
327
+ else {
328
+ const headManager = await agentManager.getOrCreateHeadManager({ cwd });
329
+ target = { id: headManager.id, session_id: headManager.session_id };
330
+ }
294
331
  // Create session mapping
295
- const mapping = sessionMapper.createMapping(headManager.session_id, headManager.id);
332
+ const mapping = sessionMapper.createMapping(target.session_id, target.id);
296
333
  // Annotate sessionlog with swarm metadata (best effort)
297
334
  try {
298
335
  const { annotateSession } = await import("../integrations/sessionlog.js");
299
336
  annotateSession(cwd, {
300
- swarmId: headManager.id,
337
+ swarmId: target.id,
301
338
  scope: "macro-agent",
302
339
  });
303
340
  }
@@ -310,9 +347,90 @@ export function createMacroAgent(connection, config) {
310
347
  },
311
348
  async loadSession(params) {
312
349
  const sessionId = params.sessionId;
350
+ /**
351
+ * Resolve the provider_session_id (Claude Code's UUID for the session)
352
+ * for a given macro-agent acp session. Needed to locate the JSONL
353
+ * transcript on disk as a fallback when the in-memory buffer is empty.
354
+ */
355
+ const resolveProviderSessionId = (agentId) => {
356
+ const store = system.agentStore;
357
+ const rec = store?.getAgent?.(agentId);
358
+ const meta = rec?.metadata;
359
+ const psid = meta?.provider_session_id;
360
+ return typeof psid === "string" ? psid : undefined;
361
+ };
362
+ // Replay helper: re-emit session/update notifications so the client can
363
+ // rebuild its view of the conversation. Per the ACP spec, loadSession
364
+ // SHOULD emit all previously-sent session/update events.
365
+ //
366
+ // Two sources in priority order:
367
+ // 1. In-memory buffer (populated by prior prompts in this process).
368
+ // Fast and accurate — exactly what was streamed to the client.
369
+ // 2. Claude Code's JSONL transcript on disk (durable across restarts).
370
+ // Used when the buffer is empty — e.g., we got a loadSession for a
371
+ // session that was prompted but whose updates were never buffered,
372
+ // or after a process restart within the same session's lifetime.
373
+ //
374
+ // This is a workaround: the ACP spec expects the underlying agent
375
+ // (claude-code-acp) to emit session/update during loadSession, but its
376
+ // current implementation only passes `resume: sessionId` to Claude Code
377
+ // SDK for internal context restoration without surfacing history to the
378
+ // client. See claude-code-replay.ts for details.
379
+ const replayHistory = async (agentIdForLookup, explicitProviderSessionId) => {
380
+ const buffered = sessionUpdateHistory.get(sessionId);
381
+ if (buffered && buffered.length > 0) {
382
+ for (const update of buffered) {
383
+ try {
384
+ await connection.sessionUpdate({ sessionId, update });
385
+ }
386
+ catch {
387
+ // Best effort — continue replaying remaining updates
388
+ }
389
+ }
390
+ return;
391
+ }
392
+ // Buffer empty — fall back to Claude Code JSONL if we can locate it.
393
+ // Provider session ID resolution priority:
394
+ // 1. Explicit — passed via ACP LoadSessionRequest._meta.provider_session_id
395
+ // (survives macro-agent restart since it comes from the client)
396
+ // 2. From agent metadata — when sessionMapper still has the mapping
397
+ const providerSessionId = explicitProviderSessionId ??
398
+ (agentIdForLookup ? resolveProviderSessionId(agentIdForLookup) : undefined);
399
+ if (!providerSessionId)
400
+ return;
401
+ try {
402
+ const { replayClaudeCodeTranscript } = await import("./claude-code-replay.js");
403
+ const bufferForFuture = [];
404
+ for await (const update of replayClaudeCodeTranscript(providerSessionId)) {
405
+ try {
406
+ await connection.sessionUpdate({ sessionId, update });
407
+ bufferForFuture.push(update);
408
+ }
409
+ catch {
410
+ // Best effort — continue
411
+ }
412
+ }
413
+ // Populate the in-memory buffer so subsequent loadSession calls use
414
+ // the fast path. Only if we actually read something.
415
+ if (bufferForFuture.length > 0) {
416
+ sessionUpdateHistory.set(sessionId, bufferForFuture);
417
+ }
418
+ }
419
+ catch {
420
+ // Transcript read failed — no history to emit
421
+ }
422
+ };
423
+ // Extract optional provider_session_id from ACP LoadSessionRequest._meta.
424
+ // Clients (like OpenHive) that know the underlying Claude Code session ID
425
+ // can pass it here to enable history recovery across macro-agent restarts
426
+ // (when sessionMapper is empty because it's in-memory only).
427
+ const metaProviderSessionId = typeof params._meta?.provider_session_id === "string"
428
+ ? params._meta.provider_session_id
429
+ : undefined;
313
430
  // Check if we already have a mapping for this session
314
431
  let mapping = sessionMapper.getMapping(sessionId);
315
432
  if (mapping) {
433
+ await replayHistory(mapping.agentId, metaProviderSessionId);
316
434
  return {};
317
435
  }
318
436
  // Try to resume the agent associated with this session
@@ -321,6 +439,52 @@ export function createMacroAgent(connection, config) {
321
439
  if (agent) {
322
440
  const resumed = await agentManager.resume(sessionId);
323
441
  mapping = sessionMapper.createMapping(resumed.session_id, resumed.id);
442
+ await replayHistory(resumed.id, metaProviderSessionId);
443
+ return {};
444
+ }
445
+ // No in-memory mapping and the ACP sessionId isn't an agent ID. If the
446
+ // client supplied provider_session_id via _meta, reverse-lookup the
447
+ // owning agent in the agent-store and resume it. This is the durable
448
+ // cross-restart recovery path: macro-agent's sessionMapper is
449
+ // in-memory, so after a process restart it's empty, but the agent +
450
+ // session records survive on disk keyed by provider_session_id.
451
+ //
452
+ // The critical piece is creating the sessionMapper entry here — without
453
+ // it, subsequent `prompt` calls throw `session not found` and the ACP
454
+ // layer catches that and returns stopReason:"cancelled", making the
455
+ // session appear unresponsive.
456
+ if (metaProviderSessionId) {
457
+ const store = system.agentStore;
458
+ const sessionRec = typeof store?.findSessionByProviderSessionId === "function"
459
+ ? store.findSessionByProviderSessionId(metaProviderSessionId)
460
+ : undefined;
461
+ if (sessionRec?.agent_id) {
462
+ const agentId = sessionRec.agent_id;
463
+ try {
464
+ // Idempotent: resume() throws ALREADY_RUNNING if the agent is
465
+ // already active (e.g. _macro/resumeAgent just brought it back).
466
+ // We still need to bind the ACP session to this agent.
467
+ if (!agentManager.hasActiveSession(agentId)) {
468
+ await agentManager.resume(agentId);
469
+ }
470
+ // Bind under BOTH the macro-agent ACP sessionId AND the provider
471
+ // session UUID. The MAP SDK's ACPStreamConnection often ends up
472
+ // storing _meta.provider_session_id as its stream.sessionId —
473
+ // which is what swarmcraft echoes back in session/prompt. Without
474
+ // the UUID mapping, prompt hits sessionMapper with the UUID key
475
+ // and fails (→ stopReason: cancelled).
476
+ sessionMapper.createMapping(sessionId, agentId);
477
+ if (metaProviderSessionId !== sessionId) {
478
+ sessionMapper.createMapping(metaProviderSessionId, agentId);
479
+ }
480
+ await replayHistory(agentId, metaProviderSessionId);
481
+ return {};
482
+ }
483
+ catch {
484
+ // Fall through to history-only replay below
485
+ }
486
+ }
487
+ await replayHistory(undefined, metaProviderSessionId);
324
488
  return {};
325
489
  }
326
490
  throw RequestError.invalidParams({ sessionId }, `Session not found: ${sessionId}`);
@@ -340,6 +504,19 @@ export function createMacroAgent(connection, config) {
340
504
  }
341
505
  }
342
506
  const message = textParts.join("\n") || "";
507
+ // Record the user prompt as a user_message_chunk update in the replay
508
+ // buffer so session/load can reconstruct the full conversation. The
509
+ // agent itself doesn't emit this — the client sent it — but it IS part
510
+ // of the session's logical state.
511
+ for (const block of params.prompt) {
512
+ if ("text" in block && typeof block.text === "string" && block.text) {
513
+ const userChunk = {
514
+ sessionUpdate: "user_message_chunk",
515
+ content: { type: "text", text: block.text },
516
+ };
517
+ appendSessionUpdate(params.sessionId, userChunk);
518
+ }
519
+ }
343
520
  sessionMapper.setProcessing(params.sessionId, true);
344
521
  // Capture first prompt for trajectory metadata (used as session description in OpenHive UI)
345
522
  if (!firstPrompt) {
@@ -355,7 +532,7 @@ export function createMacroAgent(connection, config) {
355
532
  const mapServer = system.mapServerInstance;
356
533
  if (mapServer) {
357
534
  const agents = mapServer.agents?.list?.() ?? [];
358
- const mapAgent = agents.find((a) => a.metadata?.localAgentId === agentId);
535
+ const mapAgent = agents.find((a) => a.metadata?.peerAgentId === agentId);
359
536
  if (mapAgent) {
360
537
  mapServer.agents.updateState(mapAgent.id, "busy");
361
538
  }
@@ -555,6 +732,10 @@ export function createMacroAgent(connection, config) {
555
732
  sessionId: params.sessionId,
556
733
  update,
557
734
  };
735
+ // Buffer for replay on session/load. Per the ACP spec, loadSession
736
+ // should re-emit all previously sent session/update notifications
737
+ // so the client can reconstruct state after reconnect.
738
+ appendSessionUpdate(params.sessionId, update);
558
739
  await connection.sessionUpdate(notification);
559
740
  }
560
741
  }
@@ -590,6 +771,10 @@ export function createMacroAgent(connection, config) {
590
771
  phase: "active",
591
772
  startedAt: sessionStartedAt,
592
773
  label: `Step ${checkpointCounter} (${toolCallCount} tool calls)`,
774
+ // Underlying Claude Code session ID — lets OpenHive find the
775
+ // JSONL transcript on disk for history recovery even if the
776
+ // macro-agent process dies.
777
+ provider_session_id: agentRecord?.metadata?.provider_session_id ?? undefined,
593
778
  // metrics fields
594
779
  ...(isMetrics ? {
595
780
  duration_ms: Date.now() - promptStartTime,
@@ -621,7 +806,7 @@ export function createMacroAgent(connection, config) {
621
806
  }
622
807
  return { stopReason: "end_turn" };
623
808
  }
624
- catch (err) {
809
+ catch {
625
810
  // If prompt fails, still return a valid response
626
811
  return { stopReason: "cancelled" };
627
812
  }
@@ -632,7 +817,7 @@ export function createMacroAgent(connection, config) {
632
817
  const mapServer = system.mapServerInstance;
633
818
  if (mapServer) {
634
819
  const agents = mapServer.agents?.list?.() ?? [];
635
- const mapAgent = agents.find((a) => a.metadata?.localAgentId === agentId);
820
+ const mapAgent = agents.find((a) => a.metadata?.peerAgentId === agentId);
636
821
  if (mapAgent) {
637
822
  mapServer.agents.updateState(mapAgent.id, "idle");
638
823
  }
@@ -1 +1 @@
1
- {"version":3,"file":"macro-agent.js","sourceRoot":"","sources":["../../src/acp/macro-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"macro-agent.js","sourceRoot":"","sources":["../../src/acp/macro-agent.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,15 @@ export interface MacroAgentInitConfig {
36
36
  systemPromptPrefix?: string;
37
37
  /** Suffix appended to system prompts */
38
38
  systemPromptSuffix?: string;
39
+ /**
40
+ * Local agent ID this ACP stream is bound to. When set, `session/new` binds
41
+ * the new session to this specific agent (any role) instead of falling back
42
+ * to cwd-based head-manager lookup. Set by the ACP-over-MAP bridge so that
43
+ * MAP-level routing (which already targets a specific agent) is preserved
44
+ * end-to-end through the ACP layer — important when multiple coordinators
45
+ * share the same cwd.
46
+ */
47
+ targetAgentId?: string;
39
48
  }
40
49
  export type ACPErrorCode = "SESSION_NOT_FOUND" | "AGENT_NOT_FOUND" | "MOUNT_FAILED" | "FORK_FAILED" | "INVALID_EXTENSION" | "PERMISSION_DENIED" | "NO_PEER_MANAGER";
41
50
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/acp/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAElC;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,8BAA8B;IAC9B,YAAY,EAAE,YAAY,CAAC;IAE3B,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAEhB,qDAAqD;IACrD,aAAa,EAAE,MAAM,CAAC;IAEtB,0CAA0C;IAC1C,SAAS,EAAE,OAAO,CAAC;IAEnB,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAElB,8CAA8C;IAC9C,YAAY,EAAE,OAAO,CAAC;CACvB;AAMD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,yCAAyC;IACzC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,wCAAwC;IACxC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAMD,MAAM,MAAM,YAAY,GACpB,mBAAmB,GACnB,iBAAiB,GACjB,cAAc,GACd,aAAa,GACb,mBAAmB,GACnB,mBAAmB,GACnB,iBAAiB,CAAC;AAEtB;;GAEG;AACH,qBAAa,QAAS,SAAQ,KAAK;IACjC,SAAgB,IAAI,EAAE,YAAY,CAAC;IACnC,SAAgB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAGhD,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAOpC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/acp/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAElC;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,8BAA8B;IAC9B,YAAY,EAAE,YAAY,CAAC;IAE3B,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAEhB,qDAAqD;IACrD,aAAa,EAAE,MAAM,CAAC;IAEtB,0CAA0C;IAC1C,SAAS,EAAE,OAAO,CAAC;IAEnB,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAElB,8CAA8C;IAC9C,YAAY,EAAE,OAAO,CAAC;CACvB;AAMD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,yCAAyC;IACzC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,wCAAwC;IACxC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAMD,MAAM,MAAM,YAAY,GACpB,mBAAmB,GACnB,iBAAiB,GACjB,cAAc,GACd,aAAa,GACb,mBAAmB,GACnB,mBAAmB,GACnB,iBAAiB,CAAC;AAEtB;;GAEG;AACH,qBAAa,QAAS,SAAQ,KAAK;IACjC,SAAgB,IAAI,EAAE,YAAY,CAAC;IACnC,SAAgB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAGhD,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAOpC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/acp/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAgEH;;GAEG;AACH,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjB,IAAI,CAAe;IACnB,OAAO,CAA2B;IAElD,YACE,OAAe,EACf,IAAkB,EAClB,OAAiC;QAEjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/acp/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA0EH;;GAEG;AACH,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjB,IAAI,CAAe;IACnB,OAAO,CAA2B;IAElD,YACE,OAAe,EACf,IAAkB,EAClB,OAAiC;QAEjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF"}