teamshare-bridge 0.11.2 → 0.14.0

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 (63) hide show
  1. package/dist/bridge/daemon.js +91 -18
  2. package/dist/bridge/daemon.js.map +1 -1
  3. package/dist/bridge/index.js +38 -0
  4. package/dist/bridge/index.js.map +1 -1
  5. package/dist/bridge/service.d.ts +11 -0
  6. package/dist/bridge/service.js +137 -7
  7. package/dist/bridge/service.js.map +1 -1
  8. package/dist/bridge/spawn.d.ts +3 -1
  9. package/dist/bridge/spawn.js +6 -2
  10. package/dist/bridge/spawn.js.map +1 -1
  11. package/dist/cli/commands/build.js +1 -1
  12. package/dist/cli/commands/build.js.map +1 -1
  13. package/dist/cli/commands/chat.js +2 -1
  14. package/dist/cli/commands/chat.js.map +1 -1
  15. package/dist/cli/commands/doc.js +5 -1
  16. package/dist/cli/commands/doc.js.map +1 -1
  17. package/dist/cli/commands/harness.js +5 -9
  18. package/dist/cli/commands/harness.js.map +1 -1
  19. package/dist/cli/commands/link.js +1 -1
  20. package/dist/cli/commands/link.js.map +1 -1
  21. package/dist/cli/commands/run.js +1 -0
  22. package/dist/cli/commands/run.js.map +1 -1
  23. package/dist/cli/commands/worker.js +1 -0
  24. package/dist/cli/commands/worker.js.map +1 -1
  25. package/dist/cli/index.js +1 -1
  26. package/dist/cli/index.js.map +1 -1
  27. package/dist/cli/utils.d.ts +5 -0
  28. package/dist/cli/utils.js +19 -1
  29. package/dist/cli/utils.js.map +1 -1
  30. package/dist/lib/agy-pty.js +20 -7
  31. package/dist/lib/agy-pty.js.map +1 -1
  32. package/dist/lib/api.d.ts +1 -0
  33. package/dist/lib/api.js.map +1 -1
  34. package/dist/lib/chat-reply.d.ts +4 -0
  35. package/dist/lib/chat-reply.js +71 -12
  36. package/dist/lib/chat-reply.js.map +1 -1
  37. package/dist/lib/doc-reply.d.ts +8 -0
  38. package/dist/lib/doc-reply.js +104 -16
  39. package/dist/lib/doc-reply.js.map +1 -1
  40. package/dist/lib/git-auto.d.ts +6 -9
  41. package/dist/lib/git-auto.js +9 -23
  42. package/dist/lib/git-auto.js.map +1 -1
  43. package/dist/lib/git-pipeline.js +6 -23
  44. package/dist/lib/git-pipeline.js.map +1 -1
  45. package/dist/lib/harness-adapter.d.ts +5 -1
  46. package/dist/lib/harness-adapter.js +360 -35
  47. package/dist/lib/harness-adapter.js.map +1 -1
  48. package/dist/lib/harness-models.d.ts +17 -0
  49. package/dist/lib/harness-models.js +146 -0
  50. package/dist/lib/harness-models.js.map +1 -0
  51. package/dist/lib/harness-output.d.ts +19 -0
  52. package/dist/lib/harness-output.js +114 -0
  53. package/dist/lib/harness-output.js.map +1 -0
  54. package/dist/lib/harness.d.ts +13 -2
  55. package/dist/lib/harness.js +103 -19
  56. package/dist/lib/harness.js.map +1 -1
  57. package/dist/lib/llm.d.ts +11 -0
  58. package/dist/lib/llm.js +34 -4
  59. package/dist/lib/llm.js.map +1 -1
  60. package/dist/lib/opencode-model-seed.d.ts +7 -0
  61. package/dist/lib/opencode-model-seed.js +97 -0
  62. package/dist/lib/opencode-model-seed.js.map +1 -0
  63. package/package.json +47 -50
@@ -56,37 +56,32 @@ function writeMcpJsonConfig(configPath, agentKey, apiBaseUrl, sessionMode) {
56
56
  function opencodeMcpWriter(agentKey, apiBaseUrl, sessionMode) {
57
57
  return writeMcpJsonConfig('opencode.json', agentKey, apiBaseUrl, sessionMode);
58
58
  }
59
- function claudeMcpWriter(agentKey, apiBaseUrl, sessionMode) {
60
- return writeMcpJsonConfig('settings.json', agentKey, apiBaseUrl, sessionMode);
61
- }
62
- function codexMcpWriter(agentKey, apiBaseUrl, sessionMode) {
63
- return writeMcpJsonConfig('config.json', agentKey, apiBaseUrl, sessionMode);
64
- }
65
59
  /**
66
- * Antigravity workspace MCP config (`<cwd>/.agents/mcp_config.json`).
67
- * Merges the teamshare remote server into the existing file and restores the
68
- * original content on cleanup — never clobbers a user-managed config. If the
69
- * entry already matches, this is a no-op. Returns null when cwd is unknown or
70
- * the existing file is unparseable (refuse to overwrite what we can't read).
60
+ * Generic workspace-scoped JSON MCP writer: merge a `teamshare` server entry
61
+ * into `rootKey` inside `<cwd>/<configPath>` and restore the original on
62
+ * cleanup — never clobbers a user-managed config. `entry` builds the
63
+ * per-harness server object (antigravity uses `serverUrl`; claude/copilot use
64
+ * `type: http` + `url`; cursor/openhands use `url`). Returns null when cwd is
65
+ * unknown or the existing file is unparseable (refuse to overwrite what we
66
+ * can't read).
71
67
  */
72
- function antigravityMcpWriter(agentKey, apiBaseUrl, sessionMode, opts) {
68
+ function workspaceMcpWriter(agentKey, apiBaseUrl, sessionMode, opts, configPath, entry, rootKey = 'mcpServers') {
73
69
  if (!opts?.cwd)
74
70
  return null;
75
71
  const base = apiBaseUrl.replace(/\/+$/, '');
76
72
  const headers = { 'X-Api-Key': agentKey };
77
73
  if (sessionMode)
78
74
  headers['X-TeamShare-Session-Mode'] = sessionMode;
79
- const server = { serverUrl: `${base}/mcp`, headers };
80
- const file = (0, node_path_1.join)(opts.cwd, '.agents', 'mcp_config.json');
75
+ const server = entry(`${base}/mcp`, headers);
76
+ const file = (0, node_path_1.join)(opts.cwd, configPath);
81
77
  let originalRaw = null;
82
78
  let servers = {};
83
79
  try {
84
80
  originalRaw = (0, node_fs_1.readFileSync)(file, 'utf8');
85
81
  const parsed = JSON.parse(originalRaw);
86
- servers = parsed.mcpServers ?? {};
82
+ servers = parsed[rootKey] ?? {};
87
83
  const existing = servers.teamshare;
88
- if (existing?.serverUrl === server.serverUrl &&
89
- JSON.stringify(existing.headers) === JSON.stringify(server.headers)) {
84
+ if (existing && JSON.stringify(existing) === JSON.stringify(server)) {
90
85
  // Already wired exactly as needed - nothing to write, nothing to restore.
91
86
  return { file, cleanup: () => { } };
92
87
  }
@@ -97,7 +92,7 @@ function antigravityMcpWriter(agentKey, apiBaseUrl, sessionMode, opts) {
97
92
  }
98
93
  try {
99
94
  (0, node_fs_1.mkdirSync)((0, node_path_1.dirname)(file), { recursive: true });
100
- (0, node_fs_1.writeFileSync)(file, JSON.stringify({ mcpServers: { ...servers, teamshare: server } }, null, 2), 'utf8');
95
+ (0, node_fs_1.writeFileSync)(file, JSON.stringify({ [rootKey]: { ...servers, teamshare: server } }, null, 2), 'utf8');
101
96
  }
102
97
  catch {
103
98
  return null;
@@ -115,6 +110,260 @@ function antigravityMcpWriter(agentKey, apiBaseUrl, sessionMode, opts) {
115
110
  },
116
111
  };
117
112
  }
113
+ /**
114
+ * Antigravity / Gemini global MCP config (`~/.gemini/config/mcp_config.json`).
115
+ * The workspace `.agents/mcp_config.json` is only loaded in interactive mode;
116
+ * headless `-p` / `--output-format json` runs (the bridge's only use case)
117
+ * read ONLY the global file. Merged + restored around the session like codex.
118
+ */
119
+ function antigravityMcpWriter(agentKey, apiBaseUrl, sessionMode) {
120
+ const home = process.env.USERPROFILE ?? process.env.HOME;
121
+ if (!home)
122
+ return null;
123
+ const file = (0, node_path_1.join)(home, '.gemini', 'config', 'mcp_config.json');
124
+ let originalRaw = null;
125
+ let servers = {};
126
+ try {
127
+ originalRaw = (0, node_fs_1.readFileSync)(file, 'utf8');
128
+ const parsed = JSON.parse(originalRaw);
129
+ servers = parsed.mcpServers ?? {};
130
+ const existing = servers.teamshare;
131
+ const base = apiBaseUrl.replace(/\/+$/, '');
132
+ const headers = { 'X-Api-Key': agentKey };
133
+ if (sessionMode)
134
+ headers['X-TeamShare-Session-Mode'] = sessionMode;
135
+ if (existing?.serverUrl === `${base}/mcp` &&
136
+ JSON.stringify(existing.headers) === JSON.stringify(headers)) {
137
+ return { file, cleanup: () => { } };
138
+ }
139
+ }
140
+ catch (err) {
141
+ if (err.code !== 'ENOENT')
142
+ return null;
143
+ }
144
+ const base = apiBaseUrl.replace(/\/+$/, '');
145
+ const headers = { 'X-Api-Key': agentKey };
146
+ if (sessionMode)
147
+ headers['X-TeamShare-Session-Mode'] = sessionMode;
148
+ const server = { serverUrl: `${base}/mcp`, headers };
149
+ try {
150
+ (0, node_fs_1.mkdirSync)((0, node_path_1.dirname)(file), { recursive: true });
151
+ (0, node_fs_1.writeFileSync)(file, JSON.stringify({ mcpServers: { ...servers, teamshare: server } }, null, 2), 'utf8');
152
+ }
153
+ catch {
154
+ return null;
155
+ }
156
+ return {
157
+ file,
158
+ cleanup: () => {
159
+ try {
160
+ if (originalRaw === null)
161
+ (0, node_fs_1.rmSync)(file, { force: true });
162
+ else
163
+ (0, node_fs_1.writeFileSync)(file, originalRaw, 'utf8');
164
+ }
165
+ catch { /* best-effort */ }
166
+ },
167
+ };
168
+ }
169
+ /** Claude Code project-scoped `.mcp.json` (headless `-p` loads it w/o approval). */
170
+ function claudeMcpWriter(agentKey, apiBaseUrl, sessionMode, opts) {
171
+ return workspaceMcpWriter(agentKey, apiBaseUrl, sessionMode, opts, '.mcp.json', (url, headers) => ({ type: 'http', url, headers }));
172
+ }
173
+ /** Cursor `.cursor/mcp.json` in the workspace root. */
174
+ function cursorMcpWriter(agentKey, apiBaseUrl, sessionMode, opts) {
175
+ return workspaceMcpWriter(agentKey, apiBaseUrl, sessionMode, opts, (0, node_path_1.join)('.cursor', 'mcp.json'), (url, headers) => ({ url, headers }));
176
+ }
177
+ /** GitHub Copilot CLI project-scoped `.mcp.json` (walks up to the git root). */
178
+ function copilotMcpWriter(agentKey, apiBaseUrl, sessionMode, opts) {
179
+ return workspaceMcpWriter(agentKey, apiBaseUrl, sessionMode, opts, '.mcp.json', (url, headers) => ({ type: 'http', url, headers }));
180
+ }
181
+ /** OpenHands CLI global `~/.openhands/mcp.json` (mcpServers shape). */
182
+ function openhandsMcpWriter(agentKey, apiBaseUrl, sessionMode, opts) {
183
+ const home = process.env.USERPROFILE ?? process.env.HOME;
184
+ if (!home)
185
+ return null;
186
+ return workspaceMcpWriter(agentKey, apiBaseUrl, sessionMode, { ...(opts ?? {}), cwd: home }, (0, node_path_1.join)('.openhands', 'mcp.json'), (url, headers) => ({ url, headers }));
187
+ }
188
+ /** Remove one `[section]`... block from a TOML string (rest preserved verbatim). */
189
+ function stripTomlSection(toml, header) {
190
+ const out = [];
191
+ let inSection = false;
192
+ for (const line of toml.split(/\r?\n/)) {
193
+ const trimmed = line.trim();
194
+ if (trimmed === header) {
195
+ inSection = true;
196
+ continue;
197
+ }
198
+ if (inSection && /^\[/.test(trimmed))
199
+ inSection = false;
200
+ if (!inSection)
201
+ out.push(line);
202
+ }
203
+ return out.join('\n').replace(/\n{3,}/g, '\n\n').trimEnd();
204
+ }
205
+ /**
206
+ * Codex global `~/.codex/config.toml` merge. Codex reads MCP ONLY from
207
+ * config.toml (TOML, not JSON — the `.mcp.json` PR was rejected upstream), and
208
+ * a project-scoped `.codex/config.toml` only loads for *trusted* projects.
209
+ * Merging the GLOBAL file guarantees the server is always seen, regardless of
210
+ * folder trust. Restored on cleanup; serialized under the caller's mention /
211
+ * task lock so concurrent sessions don't race.
212
+ */
213
+ function codexGlobalTomlWriter(agentKey, apiBaseUrl, sessionMode) {
214
+ const home = process.env.USERPROFILE ?? process.env.HOME;
215
+ if (!home)
216
+ return null;
217
+ const file = (0, node_path_1.join)(home, '.codex', 'config.toml');
218
+ let originalRaw = null;
219
+ try {
220
+ originalRaw = (0, node_fs_1.readFileSync)(file, 'utf8');
221
+ }
222
+ catch (err) {
223
+ if (err.code !== 'ENOENT')
224
+ return null;
225
+ }
226
+ const base = apiBaseUrl.replace(/\/+$/, '');
227
+ const headers = { 'X-Api-Key': agentKey };
228
+ if (sessionMode)
229
+ headers['X-TeamShare-Session-Mode'] = sessionMode;
230
+ const headerParts = Object.entries(headers)
231
+ .map(([k, v]) => `"${k}" = "${v}"`)
232
+ .join(', ');
233
+ const block = [
234
+ '',
235
+ '[mcp_servers.teamshare]',
236
+ `url = "${base}/mcp"`,
237
+ `http_headers = { ${headerParts} }`,
238
+ 'enabled = true',
239
+ '',
240
+ ].join('\n');
241
+ const next = originalRaw === null ? block : `${stripTomlSection(originalRaw, '[mcp_servers.teamshare]')}\n${block}`;
242
+ try {
243
+ (0, node_fs_1.mkdirSync)((0, node_path_1.dirname)(file), { recursive: true });
244
+ (0, node_fs_1.writeFileSync)(file, next, 'utf8');
245
+ }
246
+ catch {
247
+ return null;
248
+ }
249
+ return {
250
+ file,
251
+ cleanup: () => {
252
+ try {
253
+ if (originalRaw === null)
254
+ (0, node_fs_1.rmSync)(file, { force: true });
255
+ else
256
+ (0, node_fs_1.writeFileSync)(file, originalRaw, 'utf8');
257
+ }
258
+ catch { /* best-effort */ }
259
+ },
260
+ };
261
+ }
262
+ /**
263
+ * Insert/replace a `teamshare` entry under the top-level `extensions:` key of
264
+ * a goose config.yaml, preserving every other line verbatim. Hand-rolled
265
+ * minimal YAML (one controlled block) - no dependency needed.
266
+ */
267
+ function upsertYamlExtensions(raw, entry) {
268
+ const lines = (raw ?? '').split(/\r?\n/);
269
+ const out = [];
270
+ let inExtensions = false;
271
+ let inTeamshare = false;
272
+ for (const line of lines) {
273
+ const trimmed = line.trim();
274
+ if (/^\S/.test(line)) {
275
+ inExtensions = trimmed === 'extensions:';
276
+ if (inExtensions)
277
+ inTeamshare = false;
278
+ }
279
+ if (inExtensions && trimmed === 'teamshare:') {
280
+ inTeamshare = true;
281
+ continue;
282
+ }
283
+ if (inTeamshare) {
284
+ if (/^\S/.test(line))
285
+ inTeamshare = false;
286
+ else
287
+ continue;
288
+ }
289
+ out.push(line);
290
+ }
291
+ let text = out.join('\n');
292
+ const idx = text.split(/\r?\n/).findIndex((l) => l.trim() === 'extensions:');
293
+ if (idx === -1) {
294
+ text = `${text.trimEnd()}\nextensions:\n${entry.join('\n')}\n`;
295
+ }
296
+ else {
297
+ const lines2 = text.split(/\r?\n/);
298
+ lines2.splice(idx + 1, 0, ...entry);
299
+ text = lines2.join('\n');
300
+ }
301
+ return text.replace(/\n{3,}/g, '\n\n').trimEnd() + '\n';
302
+ }
303
+ /**
304
+ * Goose global `~/.config/goose/config.yaml` merge (YAML `extensions:` block -
305
+ * remote streamable-http uses `type: streamable_http` + `uri`). Goose has no
306
+ * project-scoped MCP config, so the GLOBAL file is merged + restored.
307
+ */
308
+ function gooseYamlWriter(agentKey, apiBaseUrl, sessionMode) {
309
+ const home = process.env.USERPROFILE ?? process.env.HOME;
310
+ const appData = process.env.APPDATA;
311
+ const candidates = [];
312
+ if (appData) {
313
+ candidates.push((0, node_path_1.join)(appData, 'Block', 'goose', 'config', 'config.yaml'));
314
+ candidates.push((0, node_path_1.join)(appData, 'goose', 'config.yaml'));
315
+ }
316
+ if (home)
317
+ candidates.push((0, node_path_1.join)(home, '.config', 'goose', 'config.yaml'));
318
+ const file = candidates.find((c) => (0, node_fs_1.existsSync)(c)) ?? candidates[0];
319
+ if (!file)
320
+ return null;
321
+ let originalRaw = null;
322
+ try {
323
+ originalRaw = (0, node_fs_1.readFileSync)(file, 'utf8');
324
+ }
325
+ catch (err) {
326
+ if (err.code !== 'ENOENT')
327
+ return null;
328
+ }
329
+ const base = apiBaseUrl.replace(/\/+$/, '');
330
+ const headers = { 'X-Api-Key': agentKey };
331
+ if (sessionMode)
332
+ headers['X-TeamShare-Session-Mode'] = sessionMode;
333
+ const entry = [
334
+ ' teamshare:',
335
+ ' name: teamshare',
336
+ ' type: streamable_http',
337
+ ` uri: "${base}/mcp"`,
338
+ ' enabled: true',
339
+ ' timeout: 300',
340
+ ];
341
+ if (Object.keys(headers).length) {
342
+ entry.push(' headers:');
343
+ for (const [k, v] of Object.entries(headers))
344
+ entry.push(` ${k}: "${v}"`);
345
+ }
346
+ const next = upsertYamlExtensions(originalRaw, entry);
347
+ try {
348
+ (0, node_fs_1.mkdirSync)((0, node_path_1.dirname)(file), { recursive: true });
349
+ (0, node_fs_1.writeFileSync)(file, next, 'utf8');
350
+ }
351
+ catch {
352
+ return null;
353
+ }
354
+ return {
355
+ file,
356
+ cleanup: () => {
357
+ try {
358
+ if (originalRaw === null)
359
+ (0, node_fs_1.rmSync)(file, { force: true });
360
+ else
361
+ (0, node_fs_1.writeFileSync)(file, originalRaw, 'utf8');
362
+ }
363
+ catch { /* best-effort */ }
364
+ },
365
+ };
366
+ }
118
367
  // ── Adapter implementations ─────────────────────────────────────────────────
119
368
  const adapters = {
120
369
  opencode: {
@@ -159,6 +408,9 @@ const adapters = {
159
408
  return env;
160
409
  },
161
410
  supportsMcp: true,
411
+ // Claude Code reads MCP from `.mcp.json` in the project root (project
412
+ // scope) - `-p` headless loads it without an approval prompt. The old
413
+ // settings.json/temp approach was never read by Claude Code.
162
414
  writeMcpConfig: claudeMcpWriter,
163
415
  sessionResumeFlag: '--resume',
164
416
  structuredOutput: true,
@@ -169,9 +421,29 @@ const adapters = {
169
421
  autoDetect: true,
170
422
  priority: 2,
171
423
  headlessArgs(prompt, opts) {
172
- const args = ['exec', '--json'];
173
- if (opts.model)
174
- args.push('--model', opts.model);
424
+ // IMP-9xx: plain-text exec (NOT --json - that emits an event stream
425
+ // nobody parses for chat replies) + skip the git-repo guard since
426
+ // sessions can start outside repos. Model must be a bare codex slug
427
+ // (gpt-5.5, gpt-5.4-mini, ...); foreign provider ids fail fast.
428
+ const args = ['exec', '--skip-git-repo-check', '--sandbox', 'danger-full-access'];
429
+ let model = opts.model?.trim();
430
+ if (model) {
431
+ if (model.includes(':')) {
432
+ const prefix = model.split(':')[0].toLowerCase();
433
+ if (prefix === 'codex')
434
+ model = model.slice(prefix.length + 1);
435
+ else {
436
+ throw new Error(`model "${opts.model}" is not a codex id - use a bare slug ` +
437
+ '(e.g. gpt-5.5, gpt-5.4-mini), prefix it "codex:", or switch ' +
438
+ "the agent's Execution method");
439
+ }
440
+ }
441
+ args.push('--model', model);
442
+ }
443
+ // Reasoning effort (IMP-9xx): codex exposes low|medium|high|xhigh via
444
+ // its config override; other harnesses ignore it.
445
+ if (opts.effort)
446
+ args.push('-c', `model_reasoning_effort="${opts.effort}"`);
175
447
  args.push(prompt);
176
448
  return args;
177
449
  },
@@ -182,7 +454,10 @@ const adapters = {
182
454
  return env;
183
455
  },
184
456
  supportsMcp: true,
185
- writeMcpConfig: codexMcpWriter,
457
+ // Codex reads MCP ONLY from config.toml (global or trusted-project
458
+ // .codex/config.toml) - it does NOT read .mcp.json. We merge the GLOBAL
459
+ // config so untrusted folders still get the server, and restore it after.
460
+ writeMcpConfig: codexGlobalTomlWriter,
186
461
  sessionResumeFlag: '--resume',
187
462
  structuredOutput: true,
188
463
  },
@@ -204,9 +479,10 @@ const adapters = {
204
479
  return env;
205
480
  },
206
481
  supportsMcp: true,
207
- writeMcpConfig: (agentKey, apiBaseUrl, sessionMode) => {
208
- return writeMcpJsonConfig('settings.json', agentKey, apiBaseUrl, sessionMode);
209
- },
482
+ // Gemini CLI is the same product family as antigravity (rebranded) - it
483
+ // reads `.agents/mcp_config.json` in the workspace root, not a settings
484
+ // file in a temp dir.
485
+ writeMcpConfig: antigravityMcpWriter,
210
486
  sessionResumeFlag: '--resume',
211
487
  structuredOutput: true,
212
488
  },
@@ -216,6 +492,17 @@ const adapters = {
216
492
  autoDetect: true,
217
493
  priority: 4,
218
494
  headlessArgs(prompt, opts) {
495
+ // IMP-9xx fail-fast guard: agy only understands bare slugs (or its own
496
+ // antigravity: prefix). Foreign provider ids used to reach the CLI
497
+ // verbatim and die as an opaque launcher error after burning retries.
498
+ if (opts.model && opts.model.includes(':')) {
499
+ const prefix = opts.model.split(':')[0].toLowerCase();
500
+ if (prefix !== 'antigravity') {
501
+ throw new Error(`model "${opts.model}" is not an antigravity id - use a bare slug ` +
502
+ '(e.g. gemini-3.1-flash), prefix it "antigravity:", or switch the ' +
503
+ "agent's Execution method to opencode");
504
+ }
505
+ }
219
506
  const args = ['-p', prompt, '--dangerously-skip-permissions'];
220
507
  if (opts.model) {
221
508
  // Accept both 'antigravity:<slug>' and bare agy model slugs.
@@ -224,10 +511,17 @@ const adapters = {
224
511
  : opts.model;
225
512
  args.push('--model', slug);
226
513
  }
514
+ // IMP-9xx: reasoning effort (low|medium|high) - agy supports it natively.
515
+ if (opts.effort)
516
+ args.push('--effort', opts.effort);
227
517
  // agy aborts a headless run after 5m by default - lift the ceiling to
228
518
  // match the bridge session cap so long build tasks are not cut short.
229
519
  const min = Math.max(1, opts.timeoutMin ?? 60);
230
520
  args.push('--print-timeout', `${min}m`);
521
+ // IMP-9xx: agy 1.1.20+ emits clean JSON through a plain pipe (no TTY
522
+ // needed) - the reply is parsed from `.response`. This removes the
523
+ // node-pty dependency for agy entirely.
524
+ args.push('--output-format', 'json');
231
525
  return args;
232
526
  },
233
527
  envForSession() {
@@ -236,10 +530,12 @@ const adapters = {
236
530
  return {};
237
531
  },
238
532
  supportsMcp: true,
533
+ // antigravity reads `.agents/mcp_config.json` in the workspace root.
239
534
  writeMcpConfig: antigravityMcpWriter,
240
535
  sessionResumeFlag: '--continue',
241
- structuredOutput: false,
242
- needsTty: true,
536
+ // IMP-9xx: agy 1.1.20+ prints JSON when piped - no pseudo-terminal needed.
537
+ structuredOutput: true,
538
+ needsTty: false,
243
539
  },
244
540
  copilot: {
245
541
  name: 'copilot',
@@ -256,12 +552,42 @@ const adapters = {
256
552
  const env = {};
257
553
  if (opts.model)
258
554
  env.COPILOT_MODEL = opts.model;
555
+ // Prompt mode (-p) cannot show a trust prompt - force workspace `.mcp.json`
556
+ // MCP servers to load even in untrusted directories.
557
+ env.GITHUB_COPILOT_PROMPT_MODE_WORKSPACE_MCP = 'true';
259
558
  return env;
260
559
  },
261
560
  supportsMcp: true,
262
- writeMcpConfig: (agentKey, apiBaseUrl, sessionMode) => {
263
- return writeMcpJsonConfig('config.json', agentKey, apiBaseUrl, sessionMode);
561
+ // Copilot CLI reads project-scoped `.mcp.json` (walks up to the git root).
562
+ writeMcpConfig: copilotMcpWriter,
563
+ sessionResumeFlag: '--resume',
564
+ structuredOutput: true,
565
+ },
566
+ cursor: {
567
+ name: 'cursor',
568
+ binary: 'cursor',
569
+ autoDetect: true,
570
+ priority: 3,
571
+ headlessArgs(prompt, opts) {
572
+ // IMP-9xx: Cursor CLI headless mode uses `cursor agent -p` with
573
+ // --trust (skip workspace prompts) and --yolo (auto-approve tools).
574
+ // Model ids are bare slugs from `cursor agent models`.
575
+ const args = ['agent', '-p', prompt, '--trust', '--yolo', '--approve-mcps'];
576
+ if (opts.model)
577
+ args.push('--model', opts.model);
578
+ args.push('--output-format', 'text');
579
+ return args;
264
580
  },
581
+ envForSession(opts) {
582
+ const env = {};
583
+ if (opts.model)
584
+ env.CURSOR_MODEL = opts.model;
585
+ return env;
586
+ },
587
+ supportsMcp: true,
588
+ // Cursor reads MCP servers from `.cursor/mcp.json` in the workspace root
589
+ // and needs --approve-mcps to load them in headless `agent -p` runs.
590
+ writeMcpConfig: cursorMcpWriter,
265
591
  sessionResumeFlag: '--resume',
266
592
  structuredOutput: true,
267
593
  },
@@ -291,9 +617,9 @@ const adapters = {
291
617
  return env;
292
618
  },
293
619
  supportsMcp: true,
294
- writeMcpConfig: (agentKey, apiBaseUrl, sessionMode) => {
295
- return writeMcpJsonConfig('extensions.json', agentKey, apiBaseUrl, sessionMode);
296
- },
620
+ // Goose stores MCP "extensions" in the global config.yaml (YAML, no
621
+ // project scope) - merged + restored around the session.
622
+ writeMcpConfig: gooseYamlWriter,
297
623
  structuredOutput: true,
298
624
  },
299
625
  openhands: {
@@ -314,9 +640,8 @@ const adapters = {
314
640
  return env;
315
641
  },
316
642
  supportsMcp: true,
317
- writeMcpConfig: (agentKey, apiBaseUrl, sessionMode) => {
318
- return writeMcpJsonConfig('mcp-config.json', agentKey, apiBaseUrl, sessionMode);
319
- },
643
+ // OpenHands CLI reads `~/.openhands/mcp.json` (mcpServers shape).
644
+ writeMcpConfig: openhandsMcpWriter,
320
645
  structuredOutput: true,
321
646
  },
322
647
  aider: {
@@ -1 +1 @@
1
- {"version":3,"file":"harness-adapter.js","sourceRoot":"","sources":["../../src/lib/harness-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"harness-adapter.js","sourceRoot":"","sources":["../../src/lib/harness-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ export interface DiscoveredBatch {
2
+ source: 'discovered' | 'seed';
3
+ models: DiscoveredModel[];
4
+ }
5
+ export interface DiscoveredModel {
6
+ modelId: string;
7
+ label?: string;
8
+ meta?: Record<string, unknown>;
9
+ }
10
+ /**
11
+ * Native discovery per harness — attempts the CLI, returns null on failure
12
+ * (never throws). Callers treat null as "no models available" and skip
13
+ * the push silently so a broken/absent CLI never blocks sessions.
14
+ */
15
+ export declare function discoverHarnessModels(harness: string): DiscoveredBatch | null;
16
+ /** Pushes one harness batch to the TeamShare catalog (agent-key auth). */
17
+ export declare function pushHarnessCatalog(baseUrl: string, apiKey: string, harness: string, batch: DiscoveredBatch): Promise<number>;