@cluesmith/codev 3.2.1 → 3.2.2

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 (146) hide show
  1. package/dashboard-dist/assets/{index-DM7OU-EI.js → index-BZ1x7x1X.js} +34 -34
  2. package/dashboard-dist/assets/index-BZ1x7x1X.js.map +1 -0
  3. package/dashboard-dist/index.html +1 -1
  4. package/dist/agent-farm/cli.d.ts.map +1 -1
  5. package/dist/agent-farm/cli.js +17 -0
  6. package/dist/agent-farm/cli.js.map +1 -1
  7. package/dist/agent-farm/commands/architect.d.ts.map +1 -1
  8. package/dist/agent-farm/commands/architect.js +6 -17
  9. package/dist/agent-farm/commands/architect.js.map +1 -1
  10. package/dist/agent-farm/commands/cleanup.js +3 -2
  11. package/dist/agent-farm/commands/cleanup.js.map +1 -1
  12. package/dist/agent-farm/commands/db.d.ts +10 -0
  13. package/dist/agent-farm/commands/db.d.ts.map +1 -1
  14. package/dist/agent-farm/commands/db.js +77 -0
  15. package/dist/agent-farm/commands/db.js.map +1 -1
  16. package/dist/agent-farm/commands/send.d.ts +40 -12
  17. package/dist/agent-farm/commands/send.d.ts.map +1 -1
  18. package/dist/agent-farm/commands/send.js +101 -34
  19. package/dist/agent-farm/commands/send.js.map +1 -1
  20. package/dist/agent-farm/commands/spawn-worktree.d.ts +12 -7
  21. package/dist/agent-farm/commands/spawn-worktree.d.ts.map +1 -1
  22. package/dist/agent-farm/commands/spawn-worktree.js +40 -19
  23. package/dist/agent-farm/commands/spawn-worktree.js.map +1 -1
  24. package/dist/agent-farm/commands/spawn.d.ts +15 -6
  25. package/dist/agent-farm/commands/spawn.d.ts.map +1 -1
  26. package/dist/agent-farm/commands/spawn.js +24 -17
  27. package/dist/agent-farm/commands/spawn.js.map +1 -1
  28. package/dist/agent-farm/commands/stop.js +2 -2
  29. package/dist/agent-farm/commands/stop.js.map +1 -1
  30. package/dist/agent-farm/commands/tower.d.ts +1 -0
  31. package/dist/agent-farm/commands/tower.d.ts.map +1 -1
  32. package/dist/agent-farm/commands/tower.js +50 -0
  33. package/dist/agent-farm/commands/tower.js.map +1 -1
  34. package/dist/agent-farm/db/consolidate.d.ts +66 -0
  35. package/dist/agent-farm/db/consolidate.d.ts.map +1 -0
  36. package/dist/agent-farm/db/consolidate.js +406 -0
  37. package/dist/agent-farm/db/consolidate.js.map +1 -0
  38. package/dist/agent-farm/db/index.d.ts +13 -4
  39. package/dist/agent-farm/db/index.d.ts.map +1 -1
  40. package/dist/agent-farm/db/index.js +100 -470
  41. package/dist/agent-farm/db/index.js.map +1 -1
  42. package/dist/agent-farm/db/schema.d.ts +11 -4
  43. package/dist/agent-farm/db/schema.d.ts.map +1 -1
  44. package/dist/agent-farm/db/schema.js +91 -2
  45. package/dist/agent-farm/db/schema.js.map +1 -1
  46. package/dist/agent-farm/db/types.d.ts +2 -0
  47. package/dist/agent-farm/db/types.d.ts.map +1 -1
  48. package/dist/agent-farm/db/types.js +1 -0
  49. package/dist/agent-farm/db/types.js.map +1 -1
  50. package/dist/agent-farm/lib/builder-lookup.d.ts.map +1 -1
  51. package/dist/agent-farm/lib/builder-lookup.js +9 -3
  52. package/dist/agent-farm/lib/builder-lookup.js.map +1 -1
  53. package/dist/agent-farm/servers/codev-config-watcher.d.ts +37 -0
  54. package/dist/agent-farm/servers/codev-config-watcher.d.ts.map +1 -0
  55. package/dist/agent-farm/servers/{worktree-config-watcher.js → codev-config-watcher.js} +15 -14
  56. package/dist/agent-farm/servers/codev-config-watcher.js.map +1 -0
  57. package/dist/agent-farm/servers/command-relay.d.ts +54 -0
  58. package/dist/agent-farm/servers/command-relay.d.ts.map +1 -0
  59. package/dist/agent-farm/servers/command-relay.js +94 -0
  60. package/dist/agent-farm/servers/command-relay.js.map +1 -0
  61. package/dist/agent-farm/servers/overview.d.ts.map +1 -1
  62. package/dist/agent-farm/servers/overview.js +12 -6
  63. package/dist/agent-farm/servers/overview.js.map +1 -1
  64. package/dist/agent-farm/servers/tower-instances.d.ts.map +1 -1
  65. package/dist/agent-farm/servers/tower-instances.js +65 -55
  66. package/dist/agent-farm/servers/tower-instances.js.map +1 -1
  67. package/dist/agent-farm/servers/tower-messages.d.ts +9 -0
  68. package/dist/agent-farm/servers/tower-messages.d.ts.map +1 -1
  69. package/dist/agent-farm/servers/tower-messages.js +24 -0
  70. package/dist/agent-farm/servers/tower-messages.js.map +1 -1
  71. package/dist/agent-farm/servers/tower-routes.d.ts +1 -1
  72. package/dist/agent-farm/servers/tower-routes.d.ts.map +1 -1
  73. package/dist/agent-farm/servers/tower-routes.js +111 -35
  74. package/dist/agent-farm/servers/tower-routes.js.map +1 -1
  75. package/dist/agent-farm/servers/tower-server.js +41 -27
  76. package/dist/agent-farm/servers/tower-server.js.map +1 -1
  77. package/dist/agent-farm/servers/tower-terminals.d.ts.map +1 -1
  78. package/dist/agent-farm/servers/tower-terminals.js +22 -5
  79. package/dist/agent-farm/servers/tower-terminals.js.map +1 -1
  80. package/dist/agent-farm/servers/tower-types.d.ts +2 -0
  81. package/dist/agent-farm/servers/tower-types.d.ts.map +1 -1
  82. package/dist/agent-farm/servers/tower-utils.d.ts +50 -5
  83. package/dist/agent-farm/servers/tower-utils.d.ts.map +1 -1
  84. package/dist/agent-farm/servers/tower-utils.js +64 -14
  85. package/dist/agent-farm/servers/tower-utils.js.map +1 -1
  86. package/dist/agent-farm/state.d.ts +34 -21
  87. package/dist/agent-farm/state.d.ts.map +1 -1
  88. package/dist/agent-farm/state.js +125 -79
  89. package/dist/agent-farm/state.js.map +1 -1
  90. package/dist/agent-farm/types.d.ts +14 -0
  91. package/dist/agent-farm/types.d.ts.map +1 -1
  92. package/dist/agent-farm/utils/config.d.ts +24 -1
  93. package/dist/agent-farm/utils/config.d.ts.map +1 -1
  94. package/dist/agent-farm/utils/config.js +59 -3
  95. package/dist/agent-farm/utils/config.js.map +1 -1
  96. package/dist/agent-farm/utils/harness.d.ts +45 -2
  97. package/dist/agent-farm/utils/harness.d.ts.map +1 -1
  98. package/dist/agent-farm/utils/harness.js +21 -0
  99. package/dist/agent-farm/utils/harness.js.map +1 -1
  100. package/dist/agent-farm/utils/workspace-path.d.ts +16 -0
  101. package/dist/agent-farm/utils/workspace-path.d.ts.map +1 -0
  102. package/dist/agent-farm/utils/workspace-path.js +26 -0
  103. package/dist/agent-farm/utils/workspace-path.js.map +1 -0
  104. package/dist/agent-farm/utils/worktree-write-guard.d.ts +56 -0
  105. package/dist/agent-farm/utils/worktree-write-guard.d.ts.map +1 -0
  106. package/dist/agent-farm/utils/worktree-write-guard.js +222 -0
  107. package/dist/agent-farm/utils/worktree-write-guard.js.map +1 -0
  108. package/dist/cli.d.ts.map +1 -1
  109. package/dist/cli.js +2 -0
  110. package/dist/cli.js.map +1 -1
  111. package/dist/commands/consult/index.d.ts +50 -2
  112. package/dist/commands/consult/index.d.ts.map +1 -1
  113. package/dist/commands/consult/index.js +121 -5
  114. package/dist/commands/consult/index.js.map +1 -1
  115. package/dist/commands/doctor.d.ts.map +1 -1
  116. package/dist/commands/doctor.js +24 -2
  117. package/dist/commands/doctor.js.map +1 -1
  118. package/dist/commands/porch/verdict.js +2 -2
  119. package/dist/commands/porch/verdict.js.map +1 -1
  120. package/dist/lib/config.d.ts +10 -0
  121. package/dist/lib/config.d.ts.map +1 -1
  122. package/dist/lib/config.js.map +1 -1
  123. package/dist/lib/forge-contracts.d.ts +8 -0
  124. package/dist/lib/forge-contracts.d.ts.map +1 -1
  125. package/dist/lib/forge-contracts.js.map +1 -1
  126. package/dist/lib/managed-block.d.ts +8 -2
  127. package/dist/lib/managed-block.d.ts.map +1 -1
  128. package/dist/lib/managed-block.js +32 -7
  129. package/dist/lib/managed-block.js.map +1 -1
  130. package/package.json +3 -3
  131. package/scripts/forge/gitea/issue-view.sh +4 -1
  132. package/scripts/forge/github/issue-view.sh +2 -2
  133. package/scripts/forge/gitlab/issue-view.sh +4 -1
  134. package/scripts/forge/linear/issue-view.sh +3 -2
  135. package/skeleton/resources/commands/consult.md +14 -0
  136. package/skeleton/roles/builder.md +21 -0
  137. package/skeleton/templates/AGENTS.md +16 -0
  138. package/skeleton/templates/CLAUDE.md +16 -0
  139. package/dashboard-dist/assets/index-DM7OU-EI.js.map +0 -1
  140. package/dist/agent-farm/db/migrate.d.ts +0 -20
  141. package/dist/agent-farm/db/migrate.d.ts.map +0 -1
  142. package/dist/agent-farm/db/migrate.js +0 -107
  143. package/dist/agent-farm/db/migrate.js.map +0 -1
  144. package/dist/agent-farm/servers/worktree-config-watcher.d.ts +0 -36
  145. package/dist/agent-farm/servers/worktree-config-watcher.d.ts.map +0 -1
  146. package/dist/agent-farm/servers/worktree-config-watcher.js.map +0 -1
@@ -12,6 +12,8 @@ import { dirname, join } from 'node:path';
12
12
  import Database from 'better-sqlite3';
13
13
  import { logger, fatal } from '../utils/logger.js';
14
14
  import { loadState } from '../state.js';
15
+ import { getGlobalDbPath } from '../db/index.js';
16
+ import { normalizeWorkspacePath } from '../utils/workspace-path.js';
15
17
  import { TowerClient } from '../lib/tower-client.js';
16
18
  const MAX_FILE_SIZE = 48 * 1024; // 48KB limit per spec
17
19
  /**
@@ -23,8 +25,13 @@ const MAX_FILE_SIZE = 48 * 1024; // 48KB limit per spec
23
25
  */
24
26
  export function detectWorkspaceRoot() {
25
27
  let dir = process.cwd();
26
- // If inside .builders/<id>/, the workspace root is two levels up
27
- const buildersMatch = dir.match(/^(.+?)\/\.builders\/[^/]+/);
28
+ // If inside .builders/<id>/, the workspace root is the prefix before the
29
+ // LAST `/.builders/`. Greedy `.+` (not lazy `.+?`) so a nested worktree path
30
+ // like `<repo>/.builders/a/.builders/b` resolves the inner builder's
31
+ // workspace, not the outer one — mirrors deriveWorkspaceFromWorktree's
32
+ // lastIndexOf (Issue #1118 codex review). Nesting is an unsupported
33
+ // anti-pattern, but the parse should be consistent with the rest of the code.
34
+ const buildersMatch = dir.match(/^(.+)\/\.builders\/[^/]+/);
28
35
  if (buildersMatch)
29
36
  return buildersMatch[1];
30
37
  // Walk up looking for markers
@@ -39,61 +46,112 @@ export function detectWorkspaceRoot() {
39
46
  return null;
40
47
  }
41
48
  /**
42
- * Detect the current builder ID from worktree path.
49
+ * Thrown when CWD is confirmed to be inside `.builders/<id>/` but the canonical
50
+ * builder identity cannot be verified against the workspace `state.db`.
43
51
  *
44
- * Looks up the canonical builder ID by opening the **workspace's** state.db
45
- * directly (not the singleton). When CWD is `.builders/<id>/`, the singleton
46
- * `getDb()` resolves to the worktree's own state.db — which is empty because
47
- * the worktree is itself a full git checkout with its own `codev/`. Reading
48
- * that empty DB causes the lookup to miss and the function to fall back to
49
- * the worktree directory name (e.g. `bugfix-774`), breaking multi-architect
50
- * routing downstream because the canonical ID is `builder-bugfix-774`.
52
+ * We refuse to fall back to the bare worktree directory name (e.g. `bugfix-774`)
53
+ * here: that non-canonical id does not match any `builders.id` (`builder-bugfix-774`),
54
+ * so Tower's affinity resolver (`lookupBuilderSpawningArchitect` → undefined)
55
+ * silently drops to the "non-builder sender → main first" branch — the builder's
56
+ * `afx send architect` lands on `main` instead of its spawning architect.
51
57
  *
52
- * Mirrors the per-workspace-handle pattern used by
53
- * `lookupBuilderSpawningArchitect` in state.ts. Issue #774.
58
+ * Per "fail fast, never implement fallbacks": a fatal environmental fault must
59
+ * surface loudly, not be laundered into a subtle misroute (issue #1094).
60
+ */
61
+ export class BuilderIdResolutionError extends Error {
62
+ constructor(message) {
63
+ super(message);
64
+ this.name = 'BuilderIdResolutionError';
65
+ }
66
+ }
67
+ /**
68
+ * Build an actionable message for a `state.db` open failure, naming the likely
69
+ * cause. A better-sqlite3 ABI mismatch (a `node` on PATH built for a different
70
+ * NODE_MODULE_VERSION than codev's native module) is the real-world trigger
71
+ * from issue #1094 and gets a specific reinstall hint.
72
+ */
73
+ export function describeStateDbOpenFailure(dbPath, worktreeDirName, err) {
74
+ const detail = err instanceof Error ? err.message : String(err);
75
+ const abiMismatch = /NODE_MODULE_VERSION|different Node\.js version|was compiled against/i.test(detail);
76
+ const hint = abiMismatch
77
+ ? "This is a better-sqlite3 native-module ABI mismatch: the 'node' on your PATH differs from the one codev was built for. Reinstall codev under your current node (e.g. `npm install -g @cluesmith/codev`)."
78
+ : 'Check the file for corruption, a permissions problem, or a stale lock.';
79
+ return (`Cannot resolve builder identity for worktree '${worktreeDirName}': ` +
80
+ `failed to open workspace state.db at ${dbPath} (${detail}). ${hint} ` +
81
+ `Refusing to send with an unverified identity — it would silently misroute to 'main' (issue #1094).`);
82
+ }
83
+ /**
84
+ * Detect the current builder ID from the worktree path.
54
85
  *
55
- * Falls back to the worktree directory name only as a safety net.
56
- * Returns null if not in a builder worktree.
86
+ * Issue #1118: builders live in the single shared `global.db`, scoped by
87
+ * `workspace_path` (per-workspace `state.db` is retired). This resolves the
88
+ * canonical builder ID by reading `global.db` (read-only), scoped to the
89
+ * worktree's owning workspace — NOT the singleton `getDb()`. The miss must NOT
90
+ * fall back to the bare worktree directory name (e.g. `bugfix-774`), because the
91
+ * canonical ID is `builder-bugfix-774` and a non-canonical id misroutes affinity
92
+ * routing downstream (issue #774, then issue #1094 for the silent-fallback class).
93
+ *
94
+ * Mirrors the workspace-scoped lookup used by `lookupBuilderSpawningArchitect`
95
+ * in state.ts.
96
+ *
97
+ * Contract:
98
+ * - Returns `null` when CWD is not inside a builder worktree (not a builder).
99
+ * - Returns the canonical builder ID when it can be verified against global.db.
100
+ * - **Throws `BuilderIdResolutionError`** when CWD *is* a builder worktree but
101
+ * the canonical ID cannot be verified (global.db missing, unopenable, or no
102
+ * matching row). Failing loud here is deliberate: returning a bare,
103
+ * unverified id silently misroutes `afx send architect` to `main` (#1094).
57
104
  */
58
105
  export function detectCurrentBuilderId() {
59
106
  const cwd = process.cwd();
60
- // Builder worktrees are at .builders/<dir-name>/
61
- const match = cwd.match(/^(.+?)\/\.builders\/([^/]+)/);
107
+ // Builder worktrees are at .builders/<dir-name>/. Greedy `.+` (not lazy `.+?`)
108
+ // so a nested worktree resolves the INNER builder (the LAST `/.builders/`).
109
+ const match = cwd.match(/^(.+)\/\.builders\/([^/]+)/);
62
110
  if (!match)
63
111
  return null;
64
112
  const workspacePath = match[1];
65
113
  const worktreeDirName = match[2];
66
- // Open the WORKSPACE's state.db readonly — not the singleton getDb(),
67
- // which resolves to the worktree-local state.db when CWD is inside
68
- // .builders/<id>/.
69
- const dbPath = join(workspacePath, '.agent-farm', 'state.db');
70
- if (!existsSync(dbPath))
71
- return worktreeDirName;
72
- let wsDb;
114
+ // Issue #1118: builders live in the single shared global.db, scoped by
115
+ // workspace_path (state.db is retired). Open global.db readonly and scope the
116
+ // query to THIS workspace — so a same-id builder in another repo can't be
117
+ // matched. From here on we are unambiguously in a builder worktree, so any
118
+ // inability to resolve the canonical id is an ERROR condition, not a "this
119
+ // isn't a builder" condition (issue #1094 anti-spoofing).
120
+ const dbPath = getGlobalDbPath();
121
+ if (!existsSync(dbPath)) {
122
+ throw new BuilderIdResolutionError(`Cannot resolve builder identity for worktree '${worktreeDirName}': ` +
123
+ `global.db not found at ${dbPath} (has Tower ever run?). ` +
124
+ `Refusing to send with an unverified identity — it would silently misroute to 'main' (issue #1094).`);
125
+ }
126
+ let gdb;
73
127
  try {
74
- wsDb = new Database(dbPath, { readonly: true });
128
+ gdb = new Database(dbPath, { readonly: true });
75
129
  }
76
- catch {
77
- return worktreeDirName;
130
+ catch (err) {
131
+ throw new BuilderIdResolutionError(describeStateDbOpenFailure(dbPath, worktreeDirName, err));
78
132
  }
79
133
  try {
80
134
  // Match by canonical worktree path first (most precise), then fall back
81
135
  // to a tail-segment match for legacy rows that recorded a different
82
- // absolute prefix.
136
+ // absolute prefix. Scoped by workspace_path so only this workspace's
137
+ // builders are considered.
138
+ const ws = normalizeWorkspacePath(workspacePath);
83
139
  const canonicalWorktree = join(workspacePath, '.builders', worktreeDirName);
84
- const rows = wsDb
85
- .prepare('SELECT id, worktree FROM builders WHERE worktree IS NOT NULL')
86
- .all();
140
+ const rows = gdb
141
+ .prepare('SELECT id, worktree FROM builders WHERE workspace_path = ? AND worktree IS NOT NULL')
142
+ .all(ws);
87
143
  const exact = rows.find(r => r.worktree === canonicalWorktree);
88
144
  if (exact)
89
145
  return exact.id;
90
146
  const tail = rows.find(r => r.worktree.split('/').pop() === worktreeDirName);
91
147
  if (tail)
92
148
  return tail.id;
93
- return worktreeDirName;
149
+ throw new BuilderIdResolutionError(`Cannot resolve canonical builder id for worktree '${worktreeDirName}': ` +
150
+ `no matching builder row in ${dbPath} for workspace ${ws} (the worktree may be stale or unregistered). ` +
151
+ `Refusing to send with an unverified identity — it would silently misroute to 'main' (issue #1094).`);
94
152
  }
95
153
  finally {
96
- wsDb.close();
154
+ gdb.close();
97
155
  }
98
156
  }
99
157
  /**
@@ -192,8 +250,17 @@ export async function send(options) {
192
250
  logger.header('Sending Instruction');
193
251
  // Detect workspace for target resolution and sender provenance
194
252
  const workspace = detectWorkspaceRoot() ?? undefined;
195
- // Detect sender identity (builder ID if in a worktree, otherwise 'architect')
196
- const from = detectCurrentBuilderId() ?? 'architect';
253
+ // Detect sender identity (builder ID if in a worktree, otherwise 'architect').
254
+ // In a confirmed builder worktree, detectCurrentBuilderId throws when the
255
+ // canonical id can't be verified — abort loudly here rather than send an
256
+ // unverified `from` that Tower would silently route to 'main' (issue #1094).
257
+ let from;
258
+ try {
259
+ from = detectCurrentBuilderId() ?? 'architect';
260
+ }
261
+ catch (err) {
262
+ fatal(err instanceof Error ? err.message : String(err));
263
+ }
197
264
  // Ensure Tower is running
198
265
  const client = new TowerClient();
199
266
  const towerRunning = await client.isRunning();
@@ -1 +1 @@
1
- {"version":3,"file":"send.js","sourceRoot":"","sources":["../../../src/agent-farm/commands/send.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,MAAM,aAAa,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,sBAAsB;AAEvD;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB;IACjC,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACxB,iEAAiE;IACjE,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC7D,IAAI,aAAa;QAAE,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;IAC3C,8BAA8B;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAAE,OAAO,GAAG,CAAC;QAChG,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM;QAC1B,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,sBAAsB;IACpC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,iDAAiD;IACjD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACvD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEjC,sEAAsE;IACtE,mEAAmE;IACnE,mBAAmB;IACnB,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;IAC9D,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,eAAe,CAAC;IAEhD,IAAI,IAAuB,CAAC;IAC5B,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,IAAI,CAAC;QACH,wEAAwE;QACxE,oEAAoE;QACpE,mBAAmB;QACnB,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;QAC5E,MAAM,IAAI,GAAG,IAAI;aACd,OAAO,CAAC,8DAA8D,CAAC;aACvE,GAAG,EAA6C,CAAC;QAEpD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,iBAAiB,CAAC,CAAC;QAC/D,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC,EAAE,CAAC;QAE3B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,eAAe,CAAC,CAAC;QAC7E,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,EAAE,CAAC;QAEzB,OAAO,eAAe,CAAC;IACzB,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,QAAgB;IACvC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,UAAU,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CACb,mBAAmB,UAAU,CAAC,MAAM,eAAe,aAAa,gBAAgB,CACjF,CAAC;IACJ,CAAC;IACD,OAAO,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,SAAS;IACtB,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,SAAS,CACtB,MAAmB,EACnB,OAAe,EACf,SAA6B,EAC7B,IAAY,EACZ,OAAoB;IAEpB,uEAAuE;IACvE,uEAAuE;IACvE,uEAAuE;IACvE,oEAAoE;IACpE,MAAM,KAAK,GAAG,SAAS,CAAC,mBAAmB,EAAE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,EAAc,EAAE,MAAM,EAAE,EAAc,EAAE,CAAC;IAEjE,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACzC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE;gBAC3D,IAAI;gBACJ,SAAS;gBACT,aAAa,EAAE,SAAS;gBACxB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,SAAS,EAAE,OAAO,CAAC,SAAS;aAC7B,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,eAAe,CAAC,CAAC;YACnD,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,qBAAqB,OAAO,CAAC,EAAE,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3G,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,OAAoB;IAC7C,wBAAwB;IACxB,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAC9B,IAAI,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAE7B,+EAA+E;IAC/E,IAAI,OAAO,CAAC,GAAG,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACtC,OAAO,GAAG,MAAM,CAAC;QACjB,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC;IAED,sCAAsC;IACtC,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;QACpB,OAAO,GAAG,MAAM,SAAS,EAAE,CAAC;IAC9B,CAAC;IAED,kBAAkB;IAClB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,KAAK,CAAC,sFAAsF,CAAC,CAAC;IAChG,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC5B,KAAK,CAAC,kFAAkF,CAAC,CAAC;IAC5F,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,IAAI,MAAM,EAAE,CAAC;QAC1B,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACxD,CAAC;IAED,qDAAqD;IACrD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClD,OAAO,GAAG,OAAO,GAAG,8BAA8B,GAAG,WAAW,GAAG,OAAO,CAAC;IAC7E,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAErC,+DAA+D;IAC/D,MAAM,SAAS,GAAG,mBAAmB,EAAE,IAAI,SAAS,CAAC;IAErD,8EAA8E;IAC9E,MAAM,IAAI,GAAG,sBAAsB,EAAE,IAAI,WAAW,CAAC;IAErD,0BAA0B;IAC1B,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;IACjC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;IAC9C,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,4BAA4B;QAC5B,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAE3E,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,OAAO,CAAC,WAAW,OAAO,CAAC,IAAI,CAAC,MAAM,gBAAgB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1F,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,cAAc,OAAO,CAAC,MAAM,CAAC,MAAM,gBAAgB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;SAAM,CAAC;QACN,yEAAyE;QACzE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,MAAO,EAAE,OAAO,EAAE;gBACxD,IAAI;gBACJ,SAAS;gBACT,aAAa,EAAE,SAAS;gBACxB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,SAAS,EAAE,OAAO,CAAC,SAAS;aAC7B,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,eAAe,CAAC,CAAC;YACnD,CAAC;YAED,MAAM,CAAC,OAAO,CAAC,mBAAmB,MAAM,CAAC,UAAU,IAAI,MAAM,EAAE,CAAC,CAAC;QACnE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"send.js","sourceRoot":"","sources":["../../../src/agent-farm/commands/send.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,MAAM,aAAa,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,sBAAsB;AAEvD;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB;IACjC,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACxB,yEAAyE;IACzE,6EAA6E;IAC7E,qEAAqE;IACrE,uEAAuE;IACvE,oEAAoE;IACpE,8EAA8E;IAC9E,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC5D,IAAI,aAAa;QAAE,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;IAC3C,8BAA8B;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAAE,OAAO,GAAG,CAAC;QAChG,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM;QAC1B,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACjD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAAc,EAAE,eAAuB,EAAE,GAAY;IAC9F,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAChE,MAAM,WAAW,GAAG,sEAAsE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxG,MAAM,IAAI,GAAG,WAAW;QACtB,CAAC,CAAC,0MAA0M;QAC5M,CAAC,CAAC,wEAAwE,CAAC;IAC7E,OAAO,CACL,iDAAiD,eAAe,KAAK;QACrE,wCAAwC,MAAM,KAAK,MAAM,MAAM,IAAI,GAAG;QACtE,oGAAoG,CACrG,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,sBAAsB;IACpC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,+EAA+E;IAC/E,4EAA4E;IAC5E,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IACtD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEjC,uEAAuE;IACvE,8EAA8E;IAC9E,0EAA0E;IAC1E,2EAA2E;IAC3E,2EAA2E;IAC3E,0DAA0D;IAC1D,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,wBAAwB,CAChC,iDAAiD,eAAe,KAAK;YACnE,0BAA0B,MAAM,0BAA0B;YAC1D,oGAAoG,CACvG,CAAC;IACJ,CAAC;IAED,IAAI,GAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,wBAAwB,CAAC,0BAA0B,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/F,CAAC;IAED,IAAI,CAAC;QACH,wEAAwE;QACxE,oEAAoE;QACpE,qEAAqE;QACrE,2BAA2B;QAC3B,MAAM,EAAE,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;QACjD,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;QAC5E,MAAM,IAAI,GAAG,GAAG;aACb,OAAO,CAAC,qFAAqF,CAAC;aAC9F,GAAG,CAAC,EAAE,CAA4C,CAAC;QAEtD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,iBAAiB,CAAC,CAAC;QAC/D,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC,EAAE,CAAC;QAE3B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,eAAe,CAAC,CAAC;QAC7E,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,EAAE,CAAC;QAEzB,MAAM,IAAI,wBAAwB,CAChC,qDAAqD,eAAe,KAAK;YACvE,8BAA8B,MAAM,kBAAkB,EAAE,gDAAgD;YACxG,oGAAoG,CACvG,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,GAAG,CAAC,KAAK,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,QAAgB;IACvC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,UAAU,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CACb,mBAAmB,UAAU,CAAC,MAAM,eAAe,aAAa,gBAAgB,CACjF,CAAC;IACJ,CAAC;IACD,OAAO,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,SAAS;IACtB,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,SAAS,CACtB,MAAmB,EACnB,OAAe,EACf,SAA6B,EAC7B,IAAY,EACZ,OAAoB;IAEpB,uEAAuE;IACvE,uEAAuE;IACvE,uEAAuE;IACvE,oEAAoE;IACpE,MAAM,KAAK,GAAG,SAAS,CAAC,mBAAmB,EAAE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,EAAc,EAAE,MAAM,EAAE,EAAc,EAAE,CAAC;IAEjE,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACzC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE;gBAC3D,IAAI;gBACJ,SAAS;gBACT,aAAa,EAAE,SAAS;gBACxB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,SAAS,EAAE,OAAO,CAAC,SAAS;aAC7B,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,eAAe,CAAC,CAAC;YACnD,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,qBAAqB,OAAO,CAAC,EAAE,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3G,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,OAAoB;IAC7C,wBAAwB;IACxB,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAC9B,IAAI,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAE7B,+EAA+E;IAC/E,IAAI,OAAO,CAAC,GAAG,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACtC,OAAO,GAAG,MAAM,CAAC;QACjB,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC;IAED,sCAAsC;IACtC,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;QACpB,OAAO,GAAG,MAAM,SAAS,EAAE,CAAC;IAC9B,CAAC;IAED,kBAAkB;IAClB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,KAAK,CAAC,sFAAsF,CAAC,CAAC;IAChG,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC5B,KAAK,CAAC,kFAAkF,CAAC,CAAC;IAC5F,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,IAAI,MAAM,EAAE,CAAC;QAC1B,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACxD,CAAC;IAED,qDAAqD;IACrD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClD,OAAO,GAAG,OAAO,GAAG,8BAA8B,GAAG,WAAW,GAAG,OAAO,CAAC;IAC7E,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAErC,+DAA+D;IAC/D,MAAM,SAAS,GAAG,mBAAmB,EAAE,IAAI,SAAS,CAAC;IAErD,+EAA+E;IAC/E,0EAA0E;IAC1E,yEAAyE;IACzE,6EAA6E;IAC7E,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,sBAAsB,EAAE,IAAI,WAAW,CAAC;IACjD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,0BAA0B;IAC1B,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;IACjC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;IAC9C,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,4BAA4B;QAC5B,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAE3E,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,OAAO,CAAC,WAAW,OAAO,CAAC,IAAI,CAAC,MAAM,gBAAgB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1F,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,cAAc,OAAO,CAAC,MAAM,CAAC,MAAM,gBAAgB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;SAAM,CAAC;QACN,yEAAyE;QACzE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,MAAO,EAAE,OAAO,EAAE;gBACxD,IAAI;gBACJ,SAAS;gBACT,aAAa,EAAE,SAAS;gBACxB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,SAAS,EAAE,OAAO,CAAC,SAAS;aAC7B,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,eAAe,CAAC,CAAC;YACnD,CAAC;YAED,MAAM,CAAC,OAAO,CAAC,mBAAmB,MAAM,CAAC,UAAU,IAAI,MAAM,EAAE,CAAC,CAAC;QACnE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -143,13 +143,18 @@ export declare function createPtySession(config: Config, command: string, args:
143
143
  /**
144
144
  * Start a terminal session for a builder.
145
145
  *
146
- * When `resumeSessionId` is provided, the launch script invokes
147
- * `claude --resume <uuid>` instead of a fresh prompt+role invocation. The
148
- * saved Claude conversation contains the system prompt / role context
149
- * already, so role injection and the initial prompt are intentionally
150
- * skipped on that path.
151
- */
152
- export declare function startBuilderSession(config: Config, builderId: string, worktreePath: string, baseCmd: string, prompt: string, roleContent: string | null, roleSource: string | null, resumeSessionId?: string): Promise<{
146
+ * When `resume` is provided, the launch script invokes the harness's resume
147
+ * form (e.g. `claude --resume <uuid>`) via the pre-escaped `scriptFragment`
148
+ * instead of a fresh prompt+role invocation. The saved conversation contains
149
+ * the system prompt / role context already, so role injection and the initial
150
+ * prompt are intentionally skipped on that path. Only the Claude harness
151
+ * produces a resume object (Issue #929); codex/gemini pass `undefined` here
152
+ * and take the fresh role-injection path.
153
+ */
154
+ export declare function startBuilderSession(config: Config, builderId: string, worktreePath: string, baseCmd: string, prompt: string, roleContent: string | null, roleSource: string | null, resume?: {
155
+ sessionId: string;
156
+ scriptFragment: string;
157
+ }): Promise<{
153
158
  terminalId: string;
154
159
  }>;
155
160
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"spawn-worktree.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/commands/spawn-worktree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spawn-worktree.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/commands/spawn-worktree.ts"],"names":[],"mappings":"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"}
@@ -576,6 +576,9 @@ export async function createPtySession(config, command, args, cwd, registration)
576
576
  function writeWorktreeFiles(files, worktreePath) {
577
577
  for (const file of files) {
578
578
  const targetPath = resolve(worktreePath, file.relativePath);
579
+ // Generated files may live in a subdir that doesn't exist yet in a fresh
580
+ // worktree (e.g. .claude/hooks/ for the write-guard — Issue #1018).
581
+ mkdirSync(dirname(targetPath), { recursive: true });
579
582
  if (file.relativePath.endsWith('.json') && existsSync(targetPath)) {
580
583
  try {
581
584
  const existing = JSON.parse(readFileSync(targetPath, 'utf-8'));
@@ -608,27 +611,41 @@ function writeWorktreeFiles(files, worktreePath) {
608
611
  }
609
612
  }
610
613
  }
614
+ /**
615
+ * Install harness-specific worktree files. Role-independent — keyed on the
616
+ * worktree path — so the Claude write-guard hook (Issue #1018) lands for EVERY
617
+ * fresh Claude spawn mode, not only role-bearing ones. `roleContent`/`roleFile`
618
+ * are '' for no-role spawns; CLAUDE_HARNESS ignores them and uses only the path.
619
+ */
620
+ function installHarnessWorktreeFiles(harness, roleContent, roleFile, worktreePath) {
621
+ if (harness.getWorktreeFiles) {
622
+ writeWorktreeFiles(harness.getWorktreeFiles(roleContent, roleFile, worktreePath), worktreePath);
623
+ }
624
+ }
611
625
  /**
612
626
  * Start a terminal session for a builder.
613
627
  *
614
- * When `resumeSessionId` is provided, the launch script invokes
615
- * `claude --resume <uuid>` instead of a fresh prompt+role invocation. The
616
- * saved Claude conversation contains the system prompt / role context
617
- * already, so role injection and the initial prompt are intentionally
618
- * skipped on that path.
628
+ * When `resume` is provided, the launch script invokes the harness's resume
629
+ * form (e.g. `claude --resume <uuid>`) via the pre-escaped `scriptFragment`
630
+ * instead of a fresh prompt+role invocation. The saved conversation contains
631
+ * the system prompt / role context already, so role injection and the initial
632
+ * prompt are intentionally skipped on that path. Only the Claude harness
633
+ * produces a resume object (Issue #929); codex/gemini pass `undefined` here
634
+ * and take the fresh role-injection path.
619
635
  */
620
- export async function startBuilderSession(config, builderId, worktreePath, baseCmd, prompt, roleContent, roleSource, resumeSessionId) {
636
+ export async function startBuilderSession(config, builderId, worktreePath, baseCmd, prompt, roleContent, roleSource, resume) {
621
637
  logger.info('Creating terminal session...');
622
638
  const scriptPath = resolve(worktreePath, '.builder-start.sh');
623
639
  let scriptContent;
624
- if (resumeSessionId) {
625
- // Resume path: load the prior Claude conversation by UUID. No prompt file,
626
- // no role injection — both are already part of the saved conversation.
627
- logger.info(`Resuming Claude session ${resumeSessionId.slice(0, 8)}…`);
640
+ if (resume) {
641
+ // Resume path: load the prior conversation via the harness-provided,
642
+ // shell-escaped resume fragment. No prompt file, no role injection — both
643
+ // are already part of the saved conversation.
644
+ logger.info(`Resuming session ${resume.sessionId.slice(0, 8)}…`);
628
645
  scriptContent = `#!/bin/bash
629
646
  cd "${worktreePath}"
630
647
  while true; do
631
- ${baseCmd} --resume "${resumeSessionId}"
648
+ ${baseCmd} ${resume.scriptFragment}
632
649
  echo ""
633
650
  echo "Agent exited. Restarting in 2 seconds... (Ctrl+C to quit)"
634
651
  sleep 2
@@ -653,10 +670,9 @@ done
653
670
  .map(([k, v]) => `export ${k}='${shellEscapeSingleQuote(v)}'`)
654
671
  .join('\n');
655
672
  const envBlock = envExports ? `${envExports}\n` : '';
656
- // Write any harness-specific worktree files (e.g., opencode.json for OpenCode)
657
- if (harness.getWorktreeFiles) {
658
- writeWorktreeFiles(harness.getWorktreeFiles(roleWithPort, roleFile), worktreePath);
659
- }
673
+ // Write any harness-specific worktree files (e.g., opencode.json for OpenCode,
674
+ // the write-guard hook for Claude — Issue #1018)
675
+ installHarnessWorktreeFiles(harness, roleWithPort, roleFile, worktreePath);
660
676
  scriptContent = `#!/bin/bash
661
677
  cd "${worktreePath}"
662
678
  ${envBlock}while true; do
@@ -671,6 +687,9 @@ done
671
687
  // Fresh spawn without role injection.
672
688
  const promptFile = resolve(worktreePath, '.builder-prompt.txt');
673
689
  writeFileSync(promptFile, prompt);
690
+ // Install harness worktree files even without a role, so the write-guard
691
+ // (Issue #1018) is deterministic across all Claude spawn modes.
692
+ installHarnessWorktreeFiles(getBuilderHarness(config.workspaceRoot), '', '', worktreePath);
674
693
  scriptContent = `#!/bin/bash
675
694
  cd "${worktreePath}"
676
695
  while true; do
@@ -715,10 +734,9 @@ export function buildWorktreeLaunchScript(worktreePath, baseCmd, role, workspace
715
734
  .map(([k, v]) => `export ${k}='${shellEscapeSingleQuote(v)}'`)
716
735
  .join('\n');
717
736
  const envBlock = envExports ? `${envExports}\n` : '';
718
- // Write any harness-specific worktree files (e.g., opencode.json for OpenCode)
719
- if (harness.getWorktreeFiles) {
720
- writeWorktreeFiles(harness.getWorktreeFiles(roleWithPort, roleFile), worktreePath);
721
- }
737
+ // Write any harness-specific worktree files (e.g., opencode.json for OpenCode,
738
+ // the write-guard hook for Claude — Issue #1018)
739
+ installHarnessWorktreeFiles(harness, roleWithPort, roleFile, worktreePath);
722
740
  return `#!/bin/bash
723
741
  cd "${worktreePath}"
724
742
  ${envBlock}while true; do
@@ -729,6 +747,9 @@ ${envBlock}while true; do
729
747
  done
730
748
  `;
731
749
  }
750
+ // Install harness worktree files even without a role, so the write-guard
751
+ // (Issue #1018) is deterministic across all Claude spawn modes.
752
+ installHarnessWorktreeFiles(getBuilderHarness(workspaceRoot), '', '', worktreePath);
732
753
  return `#!/bin/bash
733
754
  cd "${worktreePath}"
734
755
  while true; do
@@ -1 +1 @@
1
- {"version":3,"file":"spawn-worktree.js","sourceRoot":"","sources":["../../../src/agent-farm/commands/spawn-worktree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spawn-worktree.js","sourceRoot":"","sources":["../../../src/agent-farm/commands/spawn-worktree.ts"],"names":[],"mappings":"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"}
@@ -14,14 +14,23 @@
14
14
  * Worktree/git logic extracted to spawn-worktree.ts.
15
15
  */
16
16
  import type { SpawnOptions } from '../types.js';
17
+ import type { HarnessProvider } from '../utils/harness.js';
17
18
  /**
18
- * On --resume, look up the prior Claude conversation jsonl for the worktree
19
- * so the revived builder can pick up the saved conversation via
20
- * `claude --resume <uuid>` instead of starting fresh with a resume-notice
21
- * prompt. (Issue #831.) Returns undefined when not resuming or when no
22
- * jsonl exists; callers fall back to the fresh-spawn path in that case.
19
+ * On --resume, ask the builder's harness for a resumable prior session for the
20
+ * worktree so the revived builder can pick up the saved conversation (e.g.
21
+ * `claude --resume <uuid>`) instead of starting fresh with a resume-notice
22
+ * prompt. (Issues #831 / #929.) Returns undefined when not resuming, when the
23
+ * harness has no resumable session, or when the harness doesn't support resume
24
+ * (codex/gemini → buildResume undefined); callers fall back to the fresh-spawn
25
+ * path in that case. Returning the harness's bundled resume object (with the
26
+ * shell-escaped `scriptFragment`) keeps the resume flag-shape owned by the
27
+ * provider rather than the bash-script generator.
23
28
  */
24
- export declare function discoverResumeSession(worktreePath: string, isResume: boolean | undefined): string | undefined;
29
+ export declare function discoverResumeSession(worktreePath: string, isResume: boolean | undefined, harness: HarnessProvider): {
30
+ sessionId: string;
31
+ args: string[];
32
+ scriptFragment: string;
33
+ } | undefined;
25
34
  /**
26
35
  * Spawn a new builder
27
36
  */
@@ -1 +1 @@
1
- {"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/commands/spawn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAuB,MAAM,aAAa,CAAC;AAyDrE;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAS7G;AA4wBD;;GAEG;AACH,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA8ChE"}
1
+ {"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/commands/spawn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAuB,MAAM,aAAa,CAAC;AAErE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAuD3D;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,OAAO,GAAG,SAAS,EAC7B,OAAO,EAAE,eAAe,GACvB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAa3E;AA4wBD;;GAEG;AACH,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA8ChE"}
@@ -15,7 +15,7 @@
15
15
  */
16
16
  import { resolve, basename } from 'node:path';
17
17
  import { existsSync, writeFileSync, readdirSync } from 'node:fs';
18
- import { getConfig, ensureDirectories, getResolvedCommands } from '../utils/index.js';
18
+ import { getConfig, ensureDirectories, getResolvedCommands, getBuilderHarness } from '../utils/index.js';
19
19
  import { logger, fatal } from '../utils/logger.js';
20
20
  import { run } from '../utils/shell.js';
21
21
  import { hasUncommittedTrackedChanges } from '../utils/git.js';
@@ -33,7 +33,6 @@ import { DEFAULT_ARCHITECT_NAME } from '../utils/architect-name.js';
33
33
  const SPAWNING_ARCHITECT_NAME = (process.env.CODEV_ARCHITECT_NAME && process.env.CODEV_ARCHITECT_NAME.trim()) || DEFAULT_ARCHITECT_NAME;
34
34
  import { loadRolePrompt } from '../utils/roles.js';
35
35
  import { buildAgentName, stripLeadingZeros } from '../utils/agent-names.js';
36
- import { findLatestSessionId } from '../utils/claude-session-discovery.js';
37
36
  import { fetchIssue as fetchIssueNonFatal } from '../../lib/github.js';
38
37
  import { buildPromptFromTemplate, buildResumeNotice, loadProtocolRole, findSpecFile, validateProtocol, loadProtocol, resolveMode, } from './spawn-roles.js';
39
38
  import { getResolver } from '../../commands/porch/artifacts.js';
@@ -44,21 +43,29 @@ import { executeForgeCommand, loadForgeConfig } from '../../lib/forge.js';
44
43
  // ID and Session Management
45
44
  // =============================================================================
46
45
  /**
47
- * On --resume, look up the prior Claude conversation jsonl for the worktree
48
- * so the revived builder can pick up the saved conversation via
49
- * `claude --resume <uuid>` instead of starting fresh with a resume-notice
50
- * prompt. (Issue #831.) Returns undefined when not resuming or when no
51
- * jsonl exists; callers fall back to the fresh-spawn path in that case.
46
+ * On --resume, ask the builder's harness for a resumable prior session for the
47
+ * worktree so the revived builder can pick up the saved conversation (e.g.
48
+ * `claude --resume <uuid>`) instead of starting fresh with a resume-notice
49
+ * prompt. (Issues #831 / #929.) Returns undefined when not resuming, when the
50
+ * harness has no resumable session, or when the harness doesn't support resume
51
+ * (codex/gemini → buildResume undefined); callers fall back to the fresh-spawn
52
+ * path in that case. Returning the harness's bundled resume object (with the
53
+ * shell-escaped `scriptFragment`) keeps the resume flag-shape owned by the
54
+ * provider rather than the bash-script generator.
52
55
  */
53
- export function discoverResumeSession(worktreePath, isResume) {
56
+ export function discoverResumeSession(worktreePath, isResume, harness) {
54
57
  if (!isResume)
55
58
  return undefined;
56
- const found = findLatestSessionId(worktreePath);
57
- if (found) {
58
- logger.kv('Claude session', `${found.slice(0, 8)}… (resuming conversation)`);
59
- return found;
59
+ if (!harness.buildResume) {
60
+ logger.info('This harness does not support conversation resume; starting a fresh session.');
61
+ return undefined;
62
+ }
63
+ const resume = harness.buildResume(worktreePath);
64
+ if (resume) {
65
+ logger.kv('Session', `${resume.sessionId.slice(0, 8)}… (resuming conversation)`);
66
+ return resume;
60
67
  }
61
- logger.info('No prior Claude conversation found for this worktree; starting a fresh session.');
68
+ logger.info('No prior conversation found for this worktree; starting a fresh session.');
62
69
  return undefined;
63
70
  }
64
71
  function logSpawnSuccess(label, terminalId, mode) {
@@ -396,7 +403,7 @@ async function spawnSpec(options, config) {
396
403
  if (options.branch) {
397
404
  templateContext.existing_branch = options.branch;
398
405
  }
399
- const resumeSessionId = discoverResumeSession(worktreePath, options.resume);
406
+ const resume = discoverResumeSession(worktreePath, options.resume, getBuilderHarness(config.workspaceRoot));
400
407
  const initialPrompt = buildPromptFromTemplate(config, protocol, templateContext);
401
408
  const resumeNotice = options.resume ? `\n${buildResumeNotice(projectId)}\n` : '';
402
409
  const branchNotice = options.branch
@@ -405,7 +412,7 @@ async function spawnSpec(options, config) {
405
412
  const builderPrompt = `You are a Builder. Read codev/roles/builder.md for your full role definition.\n${resumeNotice}${branchNotice}\n${initialPrompt}`;
406
413
  const role = options.noRole ? null : loadRolePrompt(config, 'builder');
407
414
  const commands = getResolvedCommands();
408
- const { terminalId } = await startBuilderSession(config, builderId, worktreePath, commands.builder, builderPrompt, role?.content ?? null, role?.source ?? null, resumeSessionId);
415
+ const { terminalId } = await startBuilderSession(config, builderId, worktreePath, commands.builder, builderPrompt, role?.content ?? null, role?.source ?? null, resume);
409
416
  upsertBuilder({
410
417
  id: builderId, name: specName, status: 'implementing', phase: 'init',
411
418
  worktree: worktreePath, branch: branchName, type: 'spec', issueNumber, terminalId,
@@ -715,10 +722,10 @@ async function spawnIssueDrivenBuilder(options, config, prefix) {
715
722
  ? `\n## Existing Branch\nYou are continuing work on existing branch \`${options.branch}\`. This branch may have commits from another contributor. Review the existing commits before making changes.\n`
716
723
  : '';
717
724
  const builderPrompt = `You are a Builder. Read codev/roles/builder.md for your full role definition.\n${resumeNotice}${branchNotice}\n${prompt}`;
718
- const resumeSessionId = discoverResumeSession(worktreePath, options.resume);
725
+ const resume = discoverResumeSession(worktreePath, options.resume, getBuilderHarness(config.workspaceRoot));
719
726
  const role = options.noRole ? null : loadRolePrompt(config, 'builder');
720
727
  const commands = getResolvedCommands();
721
- const { terminalId } = await startBuilderSession(config, builderId, worktreePath, commands.builder, builderPrompt, role?.content ?? null, role?.source ?? null, resumeSessionId);
728
+ const { terminalId } = await startBuilderSession(config, builderId, worktreePath, commands.builder, builderPrompt, role?.content ?? null, role?.source ?? null, resume);
722
729
  upsertBuilder({
723
730
  id: builderId,
724
731
  name: `${protocolLabel} #${issueNumber}: ${issue.title.substring(0, 40)}${issue.title.length > 40 ? '...' : ''}`,