macro-agent 0.2.4 → 0.2.5

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 (40) hide show
  1. package/dist/agent/agent-manager-v2.d.ts.map +1 -1
  2. package/dist/agent/agent-manager-v2.js +182 -43
  3. package/dist/agent/agent-manager-v2.js.map +1 -1
  4. package/dist/agent/agent-manager.d.ts +17 -0
  5. package/dist/agent/agent-manager.d.ts.map +1 -1
  6. package/dist/agent/agent-manager.js.map +1 -1
  7. package/dist/agent/types.d.ts +21 -2
  8. package/dist/agent/types.d.ts.map +1 -1
  9. package/dist/agent/types.js.map +1 -1
  10. package/dist/cognitive/macro-agent-backend.d.ts.map +1 -1
  11. package/dist/cognitive/macro-agent-backend.js +37 -8
  12. package/dist/cognitive/macro-agent-backend.js.map +1 -1
  13. package/dist/cognitive/types.d.ts +24 -0
  14. package/dist/cognitive/types.d.ts.map +1 -1
  15. package/dist/index.d.ts +1 -1
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js.map +1 -1
  18. package/dist/map/mail-bridge.d.ts +7 -0
  19. package/dist/map/mail-bridge.d.ts.map +1 -1
  20. package/dist/map/mail-bridge.js +39 -9
  21. package/dist/map/mail-bridge.js.map +1 -1
  22. package/dist/teams/team-runtime-v2.d.ts.map +1 -1
  23. package/dist/teams/team-runtime-v2.js +23 -6
  24. package/dist/teams/team-runtime-v2.js.map +1 -1
  25. package/package.json +1 -1
  26. package/src/agent/__tests__/agent-manager-v2.completion-signal.test.ts +284 -0
  27. package/src/agent/agent-manager-v2.ts +216 -50
  28. package/src/agent/agent-manager.ts +17 -0
  29. package/src/agent/types.ts +23 -2
  30. package/src/cognitive/__tests__/macro-agent-backend.test.ts +158 -5
  31. package/src/cognitive/macro-agent-backend.ts +39 -7
  32. package/src/cognitive/types.ts +24 -0
  33. package/src/index.ts +2 -0
  34. package/src/map/__tests__/mail-bridge.test.ts +39 -2
  35. package/src/map/mail-bridge.ts +61 -13
  36. package/src/teams/team-runtime-v2.ts +29 -6
  37. package/dist/workspace/dataplane-adapter.d.ts +0 -260
  38. package/dist/workspace/dataplane-adapter.d.ts.map +0 -1
  39. package/dist/workspace/dataplane-adapter.js +0 -416
  40. package/dist/workspace/dataplane-adapter.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"agent-manager-v2.d.ts","sourceRoot":"","sources":["../../src/agent/agent-manager-v2.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,UAAU,EAGX,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,KAAK,EACV,iBAAiB,EAelB,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,mBAAmB,CAAC;AAIlE,OAAO,KAAK,EAAE,gBAAgB,EAAa,MAAM,uBAAuB,CAAC;AAMzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,oBAAoB,CAAC;AAoFzE,oEAAoE;AACpE,UAAU,kBAAkB;IAC1B,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,oBAAoB;IACnC,qBAAqB,CAAC,EAAE,cAAc,CAAC;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,CACf,YAAY,EAAE,iBAAiB,KAC5B,OAAO,oBAAoB,EAAE,OAAO,GAAG,SAAS,CAAC;CACvD;AAMD,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,MAAM,GAAE,oBAAyB,GAChC,YAAY,CA0xDd"}
1
+ {"version":3,"file":"agent-manager-v2.d.ts","sourceRoot":"","sources":["../../src/agent/agent-manager-v2.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,UAAU,EAGX,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,KAAK,EACV,iBAAiB,EAelB,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,mBAAmB,CAAC;AAIlE,OAAO,KAAK,EAAE,gBAAgB,EAAa,MAAM,uBAAuB,CAAC;AAMzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,oBAAoB,CAAC;AAoFzE,oEAAoE;AACpE,UAAU,kBAAkB;IAC1B,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,oBAAoB;IACnC,qBAAqB,CAAC,EAAE,cAAc,CAAC;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,CACf,YAAY,EAAE,iBAAiB,KAC5B,OAAO,oBAAoB,EAAE,OAAO,GAAG,SAAS,CAAC;CACvD;AAMD,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,MAAM,GAAE,oBAAyB,GAChC,YAAY,CAg8Dd"}
@@ -96,6 +96,12 @@ export function createAgentManagerV2(agentStore, inboxAdapter, tasksAdapter, con
96
96
  const activeSessions = new Map();
97
97
  const agentWorkspaces = new Map();
98
98
  const lifecycleListeners = new Set();
99
+ // In-flight fire-and-forget terminate() promises (e.g. the promptUntilDone
100
+ // completion poller tears the agent down without awaiting it, to keep
101
+ // completion latency low). close() awaits these so shutdown cannot return
102
+ // while a group-kill is still racing — which would let process.exit orphan
103
+ // the subtree.
104
+ const pendingTerminations = new Set();
99
105
  let spawnInterceptor = null;
100
106
  let isShuttingDown = false;
101
107
  let mapServerUrl;
@@ -530,15 +536,28 @@ export function createAgentManagerV2(agentStore, inboxAdapter, tasksAdapter, con
530
536
  value: v,
531
537
  })),
532
538
  },
533
- ...(agentConfig?.mcpServers?.map((s) => ({
534
- name: s.name,
535
- command: s.command,
536
- args: s.args ?? [],
537
- env: Object.entries(s.env ?? {}).map(([k, v]) => ({
538
- name: k,
539
- value: v,
540
- })),
541
- })) ?? []),
539
+ ...(agentConfig?.mcpServers?.map((s) => {
540
+ if ("command" in s) {
541
+ return {
542
+ name: s.name,
543
+ command: s.command,
544
+ args: s.args ?? [],
545
+ env: Object.entries(s.env ?? {}).map(([k, v]) => ({
546
+ name: k,
547
+ value: v,
548
+ })),
549
+ };
550
+ }
551
+ return {
552
+ name: s.name,
553
+ type: s.type,
554
+ url: s.url,
555
+ headers: Object.entries(s.headers ?? {}).map(([k, v]) => ({
556
+ name: k,
557
+ value: v,
558
+ })),
559
+ };
560
+ }) ?? []),
542
561
  ];
543
562
  // Always-on subsystem MCP servers (the "trinity"). The macro-agent
544
563
  // architecture docs describe agent-inbox + opentasks as separate MCP
@@ -1339,55 +1358,156 @@ export function createAgentManagerV2(agentStore, inboxAdapter, tasksAdapter, con
1339
1358
  }
1340
1359
  async function promptUntilDone(agentId, message, options) {
1341
1360
  const maxFollowUps = options?.maxFollowUps ?? 2;
1361
+ const pollIntervalMs = options?.pollIntervalMs ?? 2000;
1342
1362
  const allUpdates = [];
1343
1363
  let doneCalled = false;
1344
1364
  let doneStatus;
1365
+ let completedExternally = false;
1345
1366
  let currentMessage = message;
1346
1367
  for (let attempt = 0; attempt <= maxFollowUps; attempt++) {
1347
- for await (const update of prompt(agentId, currentMessage)) {
1348
- allUpdates.push(update);
1349
- options?.onUpdate?.(update);
1350
- // Detect done() tool call from session updates.
1351
- // acp-factory uses { sessionUpdate: "tool_call", title: "mcp__macro-agent__done" }
1352
- const uAny = update;
1353
- // Check title field (primary detection)
1354
- if ((uAny.sessionUpdate === "tool_call" || uAny.sessionUpdate === "tool_call_update") &&
1355
- typeof uAny.title === "string" &&
1356
- uAny.title.endsWith("__done")) {
1357
- doneCalled = true;
1358
- // Extract status from rawInput (may arrive across multiple updates —
1359
- // first update has rawInput={}, subsequent has full input)
1360
- try {
1361
- const raw = uAny.rawInput;
1362
- const input = typeof raw === "string" ? JSON.parse(raw) :
1363
- typeof raw === "object" ? raw :
1364
- uAny.input;
1365
- if (input?.status) {
1366
- doneStatus = input.status;
1368
+ // ── Concurrent completion poller ─────────────────────────────────────
1369
+ // Only armed when the caller supplies a predicate (back-compat: no
1370
+ // predicate → no poller, identical behavior). The live failure mode is a
1371
+ // prompt() stream that has gone SILENT but not CLOSED after the episode
1372
+ // externally completed; the reactive per-update check never fires again
1373
+ // because no updates arrive. This timer re-evaluates isComplete()
1374
+ // independent of update arrival. On true it flips completedExternally and
1375
+ // terminate()s the agent, which ends the in-flight prompt() generator
1376
+ // (return or throw) so the for-await below unblocks. The interval is
1377
+ // always cleared in `finally` so no timer leaks across attempts.
1378
+ let pollTimer;
1379
+ let polling = false;
1380
+ // Resolves the instant completion is detected (external predicate OR the
1381
+ // macro done() tool). The attempt is RACED against this signal so it
1382
+ // returns WITHOUT waiting for the prompt() generator to drain or for
1383
+ // terminate() to finish. The prior design relied on terminate() ending
1384
+ // the silent in-flight stream to unblock the for-await; when that teardown
1385
+ // stalled (e.g. a long, busy real episode whose subprocess is slow to die),
1386
+ // promptUntilDone never returned and the macro session stayed "running"
1387
+ // until the multi-hour hard-timer — the refinement "finalization hang".
1388
+ let signalDone = () => { };
1389
+ const doneSignal = new Promise((resolve) => {
1390
+ signalDone = resolve;
1391
+ });
1392
+ const startPoller = () => {
1393
+ if (!options?.isComplete)
1394
+ return;
1395
+ pollTimer = setInterval(() => {
1396
+ if (polling || completedExternally)
1397
+ return;
1398
+ polling = true;
1399
+ void (async () => {
1400
+ try {
1401
+ if (!completedExternally && options.isComplete && (await options.isComplete())) {
1402
+ completedExternally = true;
1403
+ signalDone();
1404
+ // Tear down the agent/session in the BACKGROUND — never await it
1405
+ // here, so a slow teardown cannot gate the return. Tracked in
1406
+ // pendingTerminations so close() awaits it before shutdown
1407
+ // returns (else a still-racing group-kill is abandoned by a
1408
+ // subsequent process.exit, orphaning the subtree). Best effort.
1409
+ {
1410
+ const t = terminate(agentId, "completed").catch(() => { });
1411
+ pendingTerminations.add(t);
1412
+ void t.finally(() => pendingTerminations.delete(t));
1413
+ }
1414
+ }
1367
1415
  }
1416
+ catch {
1417
+ // Predicate errored — leave completion to the reactive checks.
1418
+ }
1419
+ finally {
1420
+ polling = false;
1421
+ }
1422
+ })();
1423
+ }, pollIntervalMs);
1424
+ };
1425
+ // Consume the stream as a background task so a silent-but-open generator
1426
+ // can be raced against the completion signal below.
1427
+ const consume = (async () => {
1428
+ for await (const update of prompt(agentId, currentMessage)) {
1429
+ allUpdates.push(update);
1430
+ options?.onUpdate?.(update);
1431
+ // External completion predicate (reactive fast path).
1432
+ if (options?.isComplete && (await options.isComplete())) {
1433
+ completedExternally = true;
1434
+ signalDone();
1435
+ break;
1368
1436
  }
1369
- catch {
1370
- // Best effort — rawInput may not be parseable yet
1437
+ if (completedExternally)
1438
+ break;
1439
+ // Detect done() tool call from session updates.
1440
+ // acp-factory uses { sessionUpdate: "tool_call", title: "mcp__macro-agent__done" }
1441
+ const uAny = update;
1442
+ // Check title field (primary detection)
1443
+ if ((uAny.sessionUpdate === "tool_call" || uAny.sessionUpdate === "tool_call_update") &&
1444
+ typeof uAny.title === "string" &&
1445
+ uAny.title.endsWith("__done")) {
1446
+ doneCalled = true;
1447
+ // Extract status from rawInput (may arrive across multiple updates —
1448
+ // first update has rawInput={}, subsequent has full input)
1449
+ try {
1450
+ const raw = uAny.rawInput;
1451
+ const input = typeof raw === "string" ? JSON.parse(raw) :
1452
+ typeof raw === "object" ? raw :
1453
+ uAny.input;
1454
+ if (input?.status) {
1455
+ doneStatus = input.status;
1456
+ }
1457
+ }
1458
+ catch {
1459
+ // Best effort — rawInput may not be parseable yet
1460
+ }
1461
+ signalDone();
1462
+ }
1463
+ // Fallback: check older format
1464
+ if (uAny.type === "result" &&
1465
+ uAny.subtype === "tool_result" &&
1466
+ uAny.toolName === "done") {
1467
+ doneCalled = true;
1468
+ doneStatus = uAny.result?.status;
1469
+ signalDone();
1371
1470
  }
1372
1471
  }
1373
- // Fallback: check older format
1374
- if (uAny.type === "result" &&
1375
- uAny.subtype === "tool_result" &&
1376
- uAny.toolName === "done") {
1377
- doneCalled = true;
1378
- doneStatus = uAny.result?.status;
1379
- }
1472
+ })();
1473
+ // Prevent an unhandled rejection if we return via doneSignal before the
1474
+ // now-orphaned stream throws from a background teardown.
1475
+ consume.catch(() => { });
1476
+ try {
1477
+ startPoller();
1478
+ // Return as soon as EITHER the stream drains naturally OR completion is
1479
+ // signalled — whichever comes first. This is the key change: completion
1480
+ // no longer depends on the generator unblocking.
1481
+ await Promise.race([consume, doneSignal]);
1482
+ }
1483
+ catch (err) {
1484
+ // A genuine stream error (not a post-completion teardown) re-throws.
1485
+ if (!completedExternally && !doneCalled)
1486
+ throw err;
1487
+ }
1488
+ finally {
1489
+ // Always clear the concurrent poller so no timer leaks across attempts.
1490
+ if (pollTimer)
1491
+ clearInterval(pollTimer);
1492
+ }
1493
+ // Re-check after the stream ends in case completion landed exactly as the
1494
+ // attempt's stream drained (the inner break / poller already set the flag
1495
+ // when it fired mid-stream).
1496
+ if (!completedExternally && options?.isComplete && (await options.isComplete())) {
1497
+ completedExternally = true;
1380
1498
  }
1381
- if (doneCalled)
1499
+ if (doneCalled || completedExternally)
1382
1500
  break;
1383
1501
  if (attempt < maxFollowUps) {
1384
1502
  currentMessage =
1385
1503
  "Please call the done() tool to signal that you have completed your work.";
1386
1504
  }
1387
1505
  }
1388
- // Auto-terminate when done() was called and the handler signaled shouldTerminate.
1389
- // This closes the lifecycle gap: without this, agents stay in "running" state
1390
- // after calling done() because nothing triggers terminate().
1506
+ // Auto-terminate when the agent completed either via the macro done() tool
1507
+ // or via the caller's external completion predicate. This closes the
1508
+ // lifecycle gap: without this, agents stay in "running" state because
1509
+ // nothing triggers terminate(). The external path mirrors the done() path
1510
+ // (terminate as "completed").
1391
1511
  if (doneCalled) {
1392
1512
  const reason = doneStatus === "completed" ? "completed" : (doneStatus ?? "failed");
1393
1513
  try {
@@ -1397,7 +1517,15 @@ export function createAgentManagerV2(agentStore, inboxAdapter, tasksAdapter, con
1397
1517
  // Best effort — agent may already be stopping
1398
1518
  }
1399
1519
  }
1400
- return { doneCalled, doneStatus, updates: allUpdates };
1520
+ else if (completedExternally) {
1521
+ try {
1522
+ await terminate(agentId, "completed");
1523
+ }
1524
+ catch {
1525
+ // Best effort — agent may already be stopping
1526
+ }
1527
+ }
1528
+ return { doneCalled, doneStatus, completedExternally, updates: allUpdates };
1401
1529
  }
1402
1530
  function getSession(agentId) {
1403
1531
  return activeSessions.get(agentId)?.session ?? null;
@@ -1511,6 +1639,17 @@ export function createAgentManagerV2(agentStore, inboxAdapter, tasksAdapter, con
1511
1639
  });
1512
1640
  }
1513
1641
  activeSessions.clear();
1642
+ // Await any in-flight fire-and-forget terminations (e.g. the completion
1643
+ // poller's background teardown) so shutdown does not return while a
1644
+ // group-kill is still racing — otherwise a follow-on process.exit abandons
1645
+ // it and orphans the acp/claude/mcp_env subtree. Bounded by a backstop so a
1646
+ // genuinely stuck close() cannot wedge shutdown.
1647
+ if (pendingTerminations.size > 0) {
1648
+ await Promise.race([
1649
+ Promise.allSettled([...pendingTerminations]),
1650
+ new Promise((resolve) => setTimeout(resolve, 6000)),
1651
+ ]);
1652
+ }
1514
1653
  agentWorkspaces.clear();
1515
1654
  lifecycleListeners.clear();
1516
1655
  // Note: isShuttingDown stays true after close() to prevent further spawns
@@ -1 +1 @@
1
- {"version":3,"file":"agent-manager-v2.js","sourceRoot":"","sources":["../../src/agent/agent-manager-v2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-manager-v2.js","sourceRoot":"","sources":["../../src/agent/agent-manager-v2.ts"],"names":[],"mappings":"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"}
@@ -104,9 +104,26 @@ export interface AgentManager {
104
104
  maxFollowUps?: number;
105
105
  /** Callback for each update during prompting */
106
106
  onUpdate?: (update: ExtendedSessionUpdate) => void;
107
+ /**
108
+ * Optional caller-supplied completion predicate. When it returns true the
109
+ * loop stops early and terminates the agent as "completed" WITHOUT
110
+ * requiring the macro done() tool. Back-compat: absent → unchanged.
111
+ *
112
+ * Evaluated reactively per-update/per-attempt AND on a concurrent timer
113
+ * (see implementation) so a silent-but-open prompt() stream still
114
+ * completes. No predicate → no poller, unchanged behavior.
115
+ */
116
+ isComplete?: () => boolean | Promise<boolean>;
117
+ /**
118
+ * Override the concurrent isComplete() poll cadence in ms (default 2000).
119
+ * Only meaningful alongside `isComplete`; primarily a test seam.
120
+ */
121
+ pollIntervalMs?: number;
107
122
  }): Promise<{
108
123
  doneCalled: boolean;
109
124
  doneStatus?: string;
125
+ /** True when the caller's isComplete() predicate ended the loop. */
126
+ completedExternally: boolean;
110
127
  updates: ExtendedSessionUpdate[];
111
128
  }>;
112
129
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"agent-manager.d.ts","sourceRoot":"","sources":["../../src/agent/agent-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,KAAK,EACV,KAAK,EACL,OAAO,EAGR,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EACV,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,cAAc,EAEd,gBAAgB,EAEhB,eAAe,EACf,kBAAkB,EAElB,sBAAsB,EAEtB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAM9D,MAAM,WAAW,YAAY;IAG3B;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAEzD;;;OAGG;IACH,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpE;;;OAGG;IACH,MAAM,CACJ,OAAO,EAAE,OAAO,EAChB,cAAc,CAAC,EAAE,cAAc,GAC9B,OAAO,CAAC,YAAY,CAAC,CAAC;IAEzB;;;;;;;;OAQG;IACH,aAAa,CACX,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,YAAY,CAAC,CAAC;IAEzB;;;;;;;OAOG;IACH,SAAS,CACP,aAAa,EAAE,OAAO,EACtB,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GACzD,OAAO,CAAC,YAAY,CAAC,CAAC;IAIzB;;OAEG;IACH,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC;IAEpC;;OAEG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,KAAK,EAAE,CAAC;IAEpC;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,KAAK,EAAE,CAAC;IAEvC;;;OAGG;IACH,YAAY,CACV,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,gBAAgB,GACzB,cAAc,GAAG,IAAI,CAAC;IAIzB;;;OAGG;IACH,sBAAsB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAE3E;;OAEG;IACH,gBAAgB,IAAI,KAAK,EAAE,CAAC;IAE5B;;;OAGG;IACH,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI,CAAC;IAI7D;;OAEG;IACH,MAAM,CACJ,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,GACd,aAAa,CAAC,qBAAqB,CAAC,CAAC;IAExC;;;;;;;;OAQG;IACH,eAAe,CACb,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QACR,uDAAuD;QACvD,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,gDAAgD;QAChD,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,IAAI,CAAC;KACpD,GACA,OAAO,CAAC;QACT,UAAU,EAAE,OAAO,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,qBAAqB,EAAE,CAAC;KAClC,CAAC,CAAC;IAEH;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC;IAE7C;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;IAE5C;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;IAEvC;;;OAGG;IACH,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtD;;;OAGG;IACH,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;IAI5C;;;;;;;;OAQG;IACH,mBAAmB,CACjB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAEX;;;;;;OAMG;IACH,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAE/D;;;;;;;OAOG;IACH,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC;IAEnE;;;;;OAKG;IACH,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,cAAc,GAAG,IAAI,CAAC;IAI3D;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,MAAM,IAAI,CAAC;IAI/D;;;OAGG;IACH,mBAAmB,CAAC,WAAW,EAAE,gBAAgB,GAAG,IAAI,GAAG,IAAI,CAAC;IAEhE;;OAEG;IACH,eAAe,IAAI,YAAY,CAAC;IAIhC;;;;OAIG;IACH,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjD;;;;OAIG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnC;;;OAGG;IACH,qBAAqB,CAAC,OAAO,EAAE;QAC7B,OAAO,CAAC,EAAE;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;QAClF,SAAS,CAAC,EAAE;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,cAAc,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC7E,UAAU,CAAC,EAAE;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAClD,GAAG,IAAI,CAAC;IAET;;;OAGG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAErD;;;;OAIG;IACH,UAAU,CAAC,OAAO,EAAE;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,gBAAgB,CAAC,EAAE,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;KAAE,GAAG,IAAI,GAAG,IAAI,CAAC;IAElG;;;;;OAKG;IACH,iBAAiB,CAAC,MAAM,EAAE,OAAO,gCAAgC,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC;IAIhG;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAMD,MAAM,WAAW,kBAAkB;IACjC,iDAAiD;IACjD,qBAAqB,CAAC,EAAE,cAAc,CAAC;IAEvC,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAEpC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAMD;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAC7B,OAAO,EAAE,iBAAiB,KACvB,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAMpD,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"agent-manager.d.ts","sourceRoot":"","sources":["../../src/agent/agent-manager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-manager.js","sourceRoot":"","sources":["../../src/agent/agent-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAkXH,oEAAoE;AACpE,wEAAwE;AACxE,oEAAoE;AAEpE,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"agent-manager.js","sourceRoot":"","sources":["../../src/agent/agent-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAmYH,oEAAoE;AACpE,wEAAwE;AACxE,oEAAoE;AAEpE,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -152,14 +152,33 @@ export interface AgentConfig {
152
152
  mcpServers?: MCPServerConfig[];
153
153
  }
154
154
  /**
155
- * MCP server configuration
155
+ * MCP server configuration.
156
+ *
157
+ * A discriminated union over transport. The legacy stdio shape (no `type`,
158
+ * or `type: "stdio"`) is preserved byte-for-byte; new `http`/`sse` variants
159
+ * carry a `url` + optional `headers` instead of a `command`. These map
160
+ * directly onto the ACP wire's `McpServerStdio` / `McpServerHttp` /
161
+ * `McpServerSse` shapes (see acp-factory `createSession({ mcpServers })`).
156
162
  */
157
- export interface MCPServerConfig {
163
+ export type MCPServerConfig = MCPServerStdioConfig | MCPServerHttpConfig;
164
+ /** Stdio transport (legacy default — preserved for M0 compatibility). */
165
+ export interface MCPServerStdioConfig {
158
166
  name: string;
167
+ /** Optional transport discriminant; absent means stdio. */
168
+ type?: "stdio";
159
169
  command: string;
160
170
  args?: string[];
161
171
  env?: Record<string, string>;
162
172
  }
173
+ /** HTTP (streamable-http) or SSE transport for a remote MCP server. */
174
+ export interface MCPServerHttpConfig {
175
+ name: string;
176
+ type: "http" | "sse";
177
+ /** URL to the remote MCP server. */
178
+ url: string;
179
+ /** HTTP headers to set on requests to the server. */
180
+ headers?: Record<string, string>;
181
+ }
163
182
  /**
164
183
  * Result of spawning an agent
165
184
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agent/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agent/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,KAAK,EACV,OAAO,EACP,MAAM,EACN,SAAS,EACT,KAAK,EACL,UAAU,EACX,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,SAAS,EACV,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAMlD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IAEb,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAExB,sCAAsC;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,qCAAqC;IACrC,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC,8DAA8D;IAC9D,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAElB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAM/B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,8EAA8E;IAC9E,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;;;;;;;;;;;;;OAgBG;IACH,WAAW,CAAC,EAAE;QACZ,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;KAChB,CAAC;IAEF;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;OAGG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,+DAA+D;IAC/D,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7B,6BAA6B;IAC7B,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;CAChC;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,eAAe,GAAG,oBAAoB,GAAG,mBAAmB,CAAC;AAEzE,yEAAyE;AACzE,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,uEAAuE;AACvE,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAMD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,eAAe;IACf,EAAE,EAAE,OAAO,CAAC;IAEZ,kCAAkC;IAClC,UAAU,EAAE,MAAM,CAAC;IAEnB,yCAAyC;IACzC,KAAK,EAAE,KAAK,CAAC;IAEb,qCAAqC;IACrC,OAAO,EAAE,OAAO,CAAC;IAEjB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAMD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,sBAAsB;IACtB,KAAK,CAAC,EAAE,UAAU,CAAC;IAEnB,uBAAuB;IACvB,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAExB,wBAAwB;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,qCAAqC;IACrC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,kBAAkB,EAAE,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,kBAAkB,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,eAAe;IACf,OAAO,EAAE,OAAO,CAAC;IAEjB,yCAAyC;IACzC,MAAM,EAAE,WAAW,CAAC;IAEpB,0BAA0B;IAC1B,OAAO,EAAE,OAAO,CAAC;IAEjB,mCAAmC;IACnC,SAAS,EAAE,SAAS,CAAC;IAErB,6CAA6C;IAC7C,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GACvB,WAAW,GACX,QAAQ,GACR,WAAW,GACX,SAAS,GACT,gBAAgB,GAChB,QAAQ,CAAC;AAMb;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,wBAAwB;IACxB,GAAG,EAAE,MAAM,CAAC;IAEZ,oCAAoC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,sBAAsB;IACtB,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC,qCAAqC;IACrC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAElB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAMD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,eAAe;IACf,OAAO,EAAE,OAAO,CAAC;IAEjB,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IAEb,0BAA0B;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAE1B,qCAAqC;IACrC,aAAa,EAAE,OAAO,CAAC;IAEvB,gCAAgC;IAChC,OAAO,EAAE,OAAO,EAAE,CAAC;IAEnB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAMpB,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,sCAAsC;IACtC,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IAEb,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;IAEpB,sBAAsB;IACtB,YAAY,EAAE,MAAM,CAAC;IAErB,iCAAiC;IACjC,oBAAoB,EAAE,MAAM,CAAC;IAE7B,wBAAwB;IACxB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAMD;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAC3B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,eAAe,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;AAM1E;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;aAGxB,IAAI,EAAE,qBAAqB;aAC3B,OAAO,CAAC,EAAE,OAAO;gBAFjC,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,qBAAqB,EAC3B,OAAO,CAAC,EAAE,OAAO,YAAA;CAKpC;AAED,MAAM,MAAM,qBAAqB,GAC7B,iBAAiB,GACjB,mBAAmB,GACnB,cAAc,GACd,iBAAiB,GACjB,aAAa,GACb,eAAe,GACf,mBAAmB,GACnB,mBAAmB,GACnB,sBAAsB,GACtB,oBAAoB,CAAC"}