@moxt-ai/mobius 0.0.9 → 0.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/dist/acp/session-history.d.ts.map +1 -1
  2. package/dist/acp/session-history.js +1 -0
  3. package/dist/acp/session-history.js.map +1 -1
  4. package/dist/acp/session-manager.d.ts +4 -1
  5. package/dist/acp/session-manager.d.ts.map +1 -1
  6. package/dist/acp/session-manager.js +109 -25
  7. package/dist/acp/session-manager.js.map +1 -1
  8. package/dist/agent-catalog/acp-readiness-probe.d.ts +4 -0
  9. package/dist/agent-catalog/acp-readiness-probe.d.ts.map +1 -0
  10. package/dist/agent-catalog/acp-readiness-probe.js +153 -0
  11. package/dist/agent-catalog/acp-readiness-probe.js.map +1 -0
  12. package/dist/agent-catalog/agent-diagnostics.d.ts +1 -1
  13. package/dist/agent-catalog/agent-diagnostics.d.ts.map +1 -1
  14. package/dist/agent-catalog/agent-diagnostics.js +7 -3
  15. package/dist/agent-catalog/agent-diagnostics.js.map +1 -1
  16. package/dist/agent-catalog/agent-discovery-context.d.ts +8 -0
  17. package/dist/agent-catalog/agent-discovery-context.d.ts.map +1 -0
  18. package/dist/agent-catalog/agent-discovery-context.js +2 -0
  19. package/dist/agent-catalog/agent-discovery-context.js.map +1 -0
  20. package/dist/agent-catalog/agent-discovery.d.ts +55 -0
  21. package/dist/agent-catalog/agent-discovery.d.ts.map +1 -0
  22. package/dist/agent-catalog/agent-discovery.js +89 -0
  23. package/dist/agent-catalog/agent-discovery.js.map +1 -0
  24. package/dist/agent-catalog/agent-probe-error.d.ts +5 -0
  25. package/dist/agent-catalog/agent-probe-error.d.ts.map +1 -0
  26. package/dist/agent-catalog/agent-probe-error.js +9 -0
  27. package/dist/agent-catalog/agent-probe-error.js.map +1 -0
  28. package/dist/agent-catalog/agent-specification.d.ts +45 -0
  29. package/dist/agent-catalog/agent-specification.d.ts.map +1 -0
  30. package/dist/agent-catalog/agent-specification.js +59 -0
  31. package/dist/agent-catalog/agent-specification.js.map +1 -0
  32. package/dist/agent-catalog/agents/claude-code-agent.d.ts +14 -0
  33. package/dist/agent-catalog/agents/claude-code-agent.d.ts.map +1 -0
  34. package/dist/agent-catalog/agents/claude-code-agent.js +30 -0
  35. package/dist/agent-catalog/agents/claude-code-agent.js.map +1 -0
  36. package/dist/agent-catalog/agents/codex-agent.d.ts +14 -0
  37. package/dist/agent-catalog/agents/codex-agent.d.ts.map +1 -0
  38. package/dist/agent-catalog/agents/codex-agent.js +23 -0
  39. package/dist/agent-catalog/agents/codex-agent.js.map +1 -0
  40. package/dist/agent-catalog/agents/deepseek-harness-agent.d.ts +16 -0
  41. package/dist/agent-catalog/agents/deepseek-harness-agent.d.ts.map +1 -0
  42. package/dist/agent-catalog/agents/deepseek-harness-agent.js +94 -0
  43. package/dist/agent-catalog/agents/deepseek-harness-agent.js.map +1 -0
  44. package/dist/agent-catalog/agents/opencode-agent.d.ts +17 -0
  45. package/dist/agent-catalog/agents/opencode-agent.d.ts.map +1 -0
  46. package/dist/agent-catalog/agents/opencode-agent.js +36 -0
  47. package/dist/agent-catalog/agents/opencode-agent.js.map +1 -0
  48. package/dist/agent-catalog/agents/pi-agent.d.ts +21 -0
  49. package/dist/agent-catalog/agents/pi-agent.d.ts.map +1 -0
  50. package/dist/agent-catalog/agents/pi-agent.js +69 -0
  51. package/dist/agent-catalog/agents/pi-agent.js.map +1 -0
  52. package/dist/agent-catalog/agents/supported-agent-specifications.d.ts +3 -0
  53. package/dist/agent-catalog/agents/supported-agent-specifications.d.ts.map +1 -0
  54. package/dist/agent-catalog/agents/supported-agent-specifications.js +15 -0
  55. package/dist/agent-catalog/agents/supported-agent-specifications.js.map +1 -0
  56. package/dist/agent-catalog/discover-agent.d.ts +5 -0
  57. package/dist/agent-catalog/discover-agent.d.ts.map +1 -0
  58. package/dist/agent-catalog/discover-agent.js +100 -0
  59. package/dist/agent-catalog/discover-agent.js.map +1 -0
  60. package/dist/agent-catalog/discover-local-agents.d.ts +12 -73
  61. package/dist/agent-catalog/discover-local-agents.d.ts.map +1 -1
  62. package/dist/agent-catalog/discover-local-agents.js +11 -453
  63. package/dist/agent-catalog/discover-local-agents.js.map +1 -1
  64. package/dist/agent-catalog/executable-discovery.d.ts +16 -0
  65. package/dist/agent-catalog/executable-discovery.d.ts.map +1 -0
  66. package/dist/agent-catalog/executable-discovery.js +105 -0
  67. package/dist/agent-catalog/executable-discovery.js.map +1 -0
  68. package/dist/agent-catalog/local-agent.d.ts +2 -1
  69. package/dist/agent-catalog/local-agent.d.ts.map +1 -1
  70. package/dist/agent-catalog/local-agent.js +7 -1
  71. package/dist/agent-catalog/local-agent.js.map +1 -1
  72. package/dist/agent-installation/agent-installation-manager.d.ts +1 -1
  73. package/dist/agent-installation/agent-installation-manager.d.ts.map +1 -1
  74. package/dist/agent-installation/automatic-adapter-provisioner.d.ts +2 -1
  75. package/dist/agent-installation/automatic-adapter-provisioner.d.ts.map +1 -1
  76. package/dist/agent-installation/automatic-adapter-provisioner.js +11 -2
  77. package/dist/agent-installation/automatic-adapter-provisioner.js.map +1 -1
  78. package/dist/agent-installation/deepseek-managed-package.d.ts +9 -0
  79. package/dist/agent-installation/deepseek-managed-package.d.ts.map +1 -0
  80. package/dist/agent-installation/deepseek-managed-package.js +10 -0
  81. package/dist/agent-installation/deepseek-managed-package.js.map +1 -0
  82. package/dist/agent-installation/fixed-agent-install-recipes.d.ts +19 -0
  83. package/dist/agent-installation/fixed-agent-install-recipes.d.ts.map +1 -1
  84. package/dist/agent-installation/fixed-agent-install-recipes.js +145 -0
  85. package/dist/agent-installation/fixed-agent-install-recipes.js.map +1 -1
  86. package/dist/agent-installation/fixed-installation-executor.d.ts +1 -1
  87. package/dist/agent-installation/fixed-installation-executor.d.ts.map +1 -1
  88. package/dist/agent-installation/fixed-installation-executor.js +19 -3
  89. package/dist/agent-installation/fixed-installation-executor.js.map +1 -1
  90. package/dist/agent-installation/managed-adapter-installer.d.ts +7 -6
  91. package/dist/agent-installation/managed-adapter-installer.d.ts.map +1 -1
  92. package/dist/agent-installation/managed-adapter-installer.js +25 -126
  93. package/dist/agent-installation/managed-adapter-installer.js.map +1 -1
  94. package/dist/agent-installation/managed-agent-archive.d.ts +40 -0
  95. package/dist/agent-installation/managed-agent-archive.d.ts.map +1 -0
  96. package/dist/agent-installation/managed-agent-archive.js +274 -0
  97. package/dist/agent-installation/managed-agent-archive.js.map +1 -0
  98. package/dist/agent-installation/managed-npm-package.d.ts +27 -0
  99. package/dist/agent-installation/managed-npm-package.d.ts.map +1 -0
  100. package/dist/agent-installation/managed-npm-package.js +258 -0
  101. package/dist/agent-installation/managed-npm-package.js.map +1 -0
  102. package/dist/agent-installation/opencode-managed-release.d.ts +4 -0
  103. package/dist/agent-installation/opencode-managed-release.d.ts.map +1 -0
  104. package/dist/agent-installation/opencode-managed-release.js +25 -0
  105. package/dist/agent-installation/opencode-managed-release.js.map +1 -0
  106. package/dist/agent-installation/pi-managed-packages.d.ts +4 -0
  107. package/dist/agent-installation/pi-managed-packages.d.ts.map +1 -0
  108. package/dist/agent-installation/pi-managed-packages.js +4 -0
  109. package/dist/agent-installation/pi-managed-packages.js.map +1 -0
  110. package/dist/cli.js +2419 -950
  111. package/dist/cli.js.map +4 -4
  112. package/dist/index.js +2138 -669
  113. package/dist/index.js.map +4 -4
  114. package/dist/native-sessions/codex-history.d.ts.map +1 -1
  115. package/dist/native-sessions/codex-history.js +1 -0
  116. package/dist/native-sessions/codex-history.js.map +1 -1
  117. package/dist/process/executable.d.ts +6 -1
  118. package/dist/process/executable.d.ts.map +1 -1
  119. package/dist/process/executable.js +150 -7
  120. package/dist/process/executable.js.map +1 -1
  121. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"session-history.d.ts","sourceRoot":"","sources":["../../src/acp/session-history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAEL,KAAK,oBAAoB,EAK1B,MAAM,0BAA0B,CAAC;AAGlC,mFAAmF;AACnF,qBAAa,gBAAgB;;IAO3B,QAAQ,CAAC,MAAM,WAAY,mBAAmB,CAAC,QAAQ,CAAC,KAAG,IAAI,CAoE7D;IAEF,QAAQ,CAAC,QAAQ,QAAO,oBAAoB,CAKzC;CACJ"}
1
+ {"version":3,"file":"session-history.d.ts","sourceRoot":"","sources":["../../src/acp/session-history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAEL,KAAK,oBAAoB,EAK1B,MAAM,0BAA0B,CAAC;AAGlC,mFAAmF;AACnF,qBAAa,gBAAgB;;IAO3B,QAAQ,CAAC,MAAM,WAAY,mBAAmB,CAAC,QAAQ,CAAC,KAAG,IAAI,CAoE7D;IAEF,QAAQ,CAAC,QAAQ,QAAO,oBAAoB,CAMzC;CACJ"}
@@ -64,6 +64,7 @@ export class AcpHistoryReplay {
64
64
  messages: [...this.#messages],
65
65
  truncated: this.#truncated,
66
66
  coveredCommandIds: [],
67
+ coveredMessageIds: [],
67
68
  });
68
69
  }
69
70
  //# sourceMappingURL=session-history.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-history.js","sourceRoot":"","sources":["../../src/acp/session-history.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-history.js","sourceRoot":"","sources":["../../src/acp/session-history.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { type CompleteElicitationNotification, type CreateElicitationRequest, type CreateElicitationResponse, type RequestPermissionRequest, type RequestPermissionResponse, type SessionNotification } from "@agentclientprotocol/sdk";
2
2
  import { type AgentContentEvent, type AgentPromptResponse, type NativeSessionHistory, type PromptImage, type PromptResource, type SessionCapabilities, type SessionCommand, type SessionCommandsUpdatedEvent, type SessionConfigOption, type SessionConfigUpdatedEvent, type SessionElicitationRequestedEvent, type SessionElicitationResolvedEvent, type SessionInfoUpdatedEvent, type SessionPermissionRequestedEvent, type SessionPermissionResolvedEvent, type SessionUsageUpdatedEvent } from "@moxt-ai/mobius-protocol";
3
3
  import type { LocalAgentDefinition } from "../config.ts";
4
+ import { type ProcessTreeIdentity } from "../process/executable.ts";
4
5
  import { type AcpActivity } from "./activity.ts";
5
6
  import { type AcpClientHandler } from "./create-client.ts";
6
7
  import { type NativeSessionOrigin, type NativeSessionPage } from "./native-session.ts";
@@ -99,9 +100,11 @@ declare class AcpProcessSession implements AcpClientHandler {
99
100
  readonly onElicitation: (request: CreateElicitationRequest, signal: AbortSignal) => Promise<CreateElicitationResponse>;
100
101
  readonly onElicitationComplete: (notification: CompleteElicitationNotification) => Promise<void>;
101
102
  readonly onUpdate: (notification: SessionNotification) => Promise<void>;
103
+ readonly enqueueUpdate: (notification: SessionNotification) => Promise<void>;
104
+ readonly selectNativeSession: (sessionId: string) => void;
102
105
  readonly processUpdate: (notification: SessionNotification) => Promise<void>;
103
106
  readonly close: () => Promise<void>;
104
- readonly closeProcess: () => Promise<void>;
107
+ readonly closeProcess: (capturedProcesses?: readonly ProcessTreeIdentity[]) => Promise<void>;
105
108
  readonly race: <T>(operation: Promise<T>, exitMessage: string, signal: AbortSignal) => Promise<T>;
106
109
  readonly assertNativeSession: (sessionId: string) => void;
107
110
  readonly emitConfigUpdate: () => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/acp/session-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/acp/session-manager.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,15 @@
1
1
  import { spawn } from "node:child_process";
2
- import { methods, ndJsonStream, PROTOCOL_VERSION, } from "@agentclientprotocol/sdk";
2
+ import { methods, ndJsonStream, PROTOCOL_VERSION, RequestError, } from "@agentclientprotocol/sdk";
3
3
  import { AGENT_CONTENT_KIND, decodeAgentPromptResponse, SESSION_COMMANDS_UPDATED_KIND, SESSION_CONFIG_UPDATED_KIND, SESSION_ELICITATION_REQUESTED_KIND, SESSION_ELICITATION_RESOLVED_KIND, SESSION_INFO_UPDATED_KIND, SESSION_PERMISSION_REQUESTED_KIND, SESSION_PERMISSION_RESOLVED_KIND, SESSION_USAGE_UPDATED_KIND, } from "@moxt-ai/mobius-protocol";
4
- import { revalidateExecutable, stopProcessTree, } from "../process/executable.js";
4
+ import { captureProcessTree, revalidateExecutable, stopProcessTree, } from "../process/executable.js";
5
5
  import { AcpActivityTracker, isProgressMessage, normalizeContentBlock, } from "./activity.js";
6
6
  import { createAcpClient } from "./create-client.js";
7
7
  import { nativeSessionIdSchema, nativeSessionPageSchema, } from "./native-session.js";
8
8
  import { AcpHistoryReplay } from "./session-history.js";
9
9
  import { AcpStoredSession, DeletedAcpStoredSession, FoundAcpStoredSession, MemoryAcpSessionStore, } from "./session-store.js";
10
10
  const PROCESS_STOP_TIMEOUT_MILLISECONDS = 1_000;
11
+ const MAX_PRE_SESSION_UPDATES = 100;
12
+ const MAX_PRE_SESSION_UPDATE_BYTES = 1024 * 1024;
11
13
  const SESSION_CONTROL_COMMAND_ID = "session-control";
12
14
  export class NullAcpSessionObserver {
13
15
  onCommands = () => Promise.resolve();
@@ -577,8 +579,11 @@ class AcpProcessSession {
577
579
  #mobiusSessionId;
578
580
  #pendingElicitations = new Map();
579
581
  #pendingPermissions = new Map();
582
+ #preSessionUpdates = [];
580
583
  #processExit;
581
584
  #store;
585
+ #verifiedAgentVersion;
586
+ #preSessionUpdateBytes = 0;
582
587
  #agentName = "";
583
588
  #agentVersion = "";
584
589
  #capabilities = {
@@ -612,6 +617,7 @@ class AcpProcessSession {
612
617
  this.#getObserver = getObserver;
613
618
  this.#mobiusSessionId = mobiusSessionId;
614
619
  this.#store = store;
620
+ this.#verifiedAgentVersion = agent.agentVersion;
615
621
  this.#child = spawn(agent.adapterPath, [...agent.arguments], {
616
622
  cwd,
617
623
  detached: process.platform !== "win32",
@@ -718,7 +724,9 @@ class AcpProcessSession {
718
724
  this.#agentName = truncate(initialized.agentInfo?.title ??
719
725
  initialized.agentInfo?.name ??
720
726
  this.#agentId, 255);
721
- this.#agentVersion = truncate(initialized.agentInfo?.version ?? "", 128);
727
+ this.#agentVersion = truncate(this.#verifiedAgentVersion.length > 0
728
+ ? this.#verifiedAgentVersion
729
+ : (initialized.agentInfo?.version ?? ""), 128);
722
730
  }
723
731
  initialize = async (signal, origin) => {
724
732
  await this.#initializeAgent(signal);
@@ -741,7 +749,7 @@ class AcpProcessSession {
741
749
  additionalDirectories: [...this.#additionalDirectories],
742
750
  mcpServers: [],
743
751
  }, { cancellationSignal: signal }), "ACP agent exited while forking a session", signal);
744
- this.#nativeSessionId = nativeSessionIdSchema.parse(forked.sessionId);
752
+ this.selectNativeSession(forked.sessionId);
745
753
  if (this.#nativeSessionId === origin.nativeSessionId ||
746
754
  this.#store.findNative(this.#agentId, this.#nativeSessionId).length > 0) {
747
755
  throw new AcpExecutionError("The Agent did not create an independent fork", {}, "invalid_native_session_response");
@@ -754,7 +762,7 @@ class AcpProcessSession {
754
762
  stored.session.agentId === this.#agentId &&
755
763
  stored.session.cwd === this.#cwd &&
756
764
  arraysEqual(stored.session.additionalDirectories, this.#additionalDirectories)) {
757
- this.#nativeSessionId = stored.session.nativeSessionId;
765
+ this.selectNativeSession(stored.session.nativeSessionId);
758
766
  this.#prompted = stored.session.prompted;
759
767
  this.#restored = true;
760
768
  if (this.#capabilities.resumeSession) {
@@ -796,7 +804,7 @@ class AcpProcessSession {
796
804
  cwd: this.#cwd,
797
805
  mcpServers: [],
798
806
  }, { cancellationSignal: signal }), "ACP agent exited while starting a session", signal);
799
- this.#nativeSessionId = created.sessionId;
807
+ this.selectNativeSession(created.sessionId);
800
808
  lifecycleResponse = created;
801
809
  }
802
810
  const lifecycleRecord = isRecord(lifecycleResponse)
@@ -946,13 +954,18 @@ class AcpProcessSession {
946
954
  }
947
955
  };
948
956
  cancel = async () => {
949
- await this.cancelPendingInteractions();
950
- if (!this.#turn.running) {
951
- return;
957
+ const capturedProcesses = await captureProcessTree(this.#child);
958
+ try {
959
+ await this.cancelPendingInteractions();
960
+ if (this.#turn.running) {
961
+ await this.#connection.agent.notify(methods.agent.session.cancel, {
962
+ sessionId: this.#nativeSessionId,
963
+ });
964
+ }
965
+ }
966
+ finally {
967
+ await this.closeProcess(capturedProcesses);
952
968
  }
953
- await this.#connection.agent.notify(methods.agent.session.cancel, {
954
- sessionId: this.#nativeSessionId,
955
- });
956
969
  };
957
970
  respondPermission = async (options) => {
958
971
  const pending = this.#pendingPermissions.get(options.interactionId);
@@ -1108,9 +1121,36 @@ class AcpProcessSession {
1108
1121
  });
1109
1122
  };
1110
1123
  onUpdate = (notification) => {
1124
+ if (this.#nativeSessionId.length === 0) {
1125
+ const notificationBytes = Buffer.byteLength(JSON.stringify(notification));
1126
+ if (this.#preSessionUpdates.length >= MAX_PRE_SESSION_UPDATES ||
1127
+ this.#preSessionUpdateBytes + notificationBytes >
1128
+ MAX_PRE_SESSION_UPDATE_BYTES) {
1129
+ return Promise.reject(new AcpExecutionError("ACP agent sent too many updates before creating its session", {}, "agent_update_limit"));
1130
+ }
1131
+ this.#preSessionUpdates.push(notification);
1132
+ this.#preSessionUpdateBytes += notificationBytes;
1133
+ return Promise.resolve();
1134
+ }
1135
+ return this.enqueueUpdate(notification);
1136
+ };
1137
+ enqueueUpdate = (notification) => {
1111
1138
  this.#updateTail = this.#updateTail.then(async () => await this.processUpdate(notification));
1112
1139
  return this.#updateTail;
1113
1140
  };
1141
+ selectNativeSession = (sessionId) => {
1142
+ const selected = nativeSessionIdSchema.parse(sessionId);
1143
+ if (this.#nativeSessionId.length > 0 &&
1144
+ this.#nativeSessionId !== selected) {
1145
+ throw new AcpExecutionError("ACP agent attempted to replace the selected session", {}, "invalid_agent_session");
1146
+ }
1147
+ this.#nativeSessionId = selected;
1148
+ const pending = this.#preSessionUpdates.splice(0);
1149
+ this.#preSessionUpdateBytes = 0;
1150
+ for (const notification of pending) {
1151
+ void this.enqueueUpdate(notification);
1152
+ }
1153
+ };
1114
1154
  processUpdate = async (notification) => {
1115
1155
  this.assertNativeSession(notification.sessionId);
1116
1156
  const update = notification.update;
@@ -1247,9 +1287,13 @@ class AcpProcessSession {
1247
1287
  }
1248
1288
  await this.closeProcess();
1249
1289
  };
1250
- closeProcess = async () => {
1251
- this.#connection.close();
1252
- await stopProcessTree(this.#child);
1290
+ closeProcess = async (capturedProcesses = []) => {
1291
+ try {
1292
+ await stopProcessTree(this.#child, capturedProcesses);
1293
+ }
1294
+ finally {
1295
+ this.#connection.close();
1296
+ }
1253
1297
  };
1254
1298
  race = async (operation, exitMessage, signal) => {
1255
1299
  signal.throwIfAborted();
@@ -1264,13 +1308,22 @@ class AcpProcessSession {
1264
1308
  };
1265
1309
  });
1266
1310
  try {
1267
- return await Promise.race([
1268
- operation,
1269
- this.#processExit.then(() => {
1270
- throw new AcpExecutionError(exitMessage);
1271
- }),
1272
- aborted,
1273
- ]);
1311
+ try {
1312
+ return await Promise.race([
1313
+ operation,
1314
+ this.#processExit.then(() => {
1315
+ throw new AcpExecutionError(exitMessage);
1316
+ }),
1317
+ aborted,
1318
+ ]);
1319
+ }
1320
+ catch (error) {
1321
+ signal.throwIfAborted();
1322
+ if (error instanceof RequestError && error.code === -32_000) {
1323
+ throw new AcpExecutionError("Agent authentication is required", { cause: error }, "authentication_required");
1324
+ }
1325
+ throw error;
1326
+ }
1274
1327
  }
1275
1328
  finally {
1276
1329
  removeAbortListener();
@@ -1478,7 +1531,14 @@ export class AcpSessionManager {
1478
1531
  this.#cancellationRequests.add(sessionId);
1479
1532
  const runtime = this.#sessions.get(sessionId);
1480
1533
  if (runtime !== undefined) {
1481
- await runtime.cancel();
1534
+ try {
1535
+ await runtime.cancel();
1536
+ }
1537
+ finally {
1538
+ if (this.#sessions.get(sessionId) === runtime) {
1539
+ this.#sessions.delete(sessionId);
1540
+ }
1541
+ }
1482
1542
  }
1483
1543
  };
1484
1544
  runPrompt = async (options) => {
@@ -1490,18 +1550,41 @@ export class AcpSessionManager {
1490
1550
  if (this.#activeSessionIds.has(options.sessionId)) {
1491
1551
  throw new AcpExecutionError("Another prompt is already running in this conversation", {}, "session_busy");
1492
1552
  }
1553
+ const deadlineController = new AbortController();
1554
+ const deadlineError = new AcpExecutionError("The local Agent prompt exceeded its deadline", {}, "prompt_timeout");
1555
+ const deadline = setTimeout(() => deadlineController.abort(deadlineError), options.agent.promptTimeoutMilliseconds);
1556
+ deadline.unref();
1557
+ const boundedOptions = {
1558
+ ...options,
1559
+ signal: AbortSignal.any([options.signal, deadlineController.signal]),
1560
+ };
1493
1561
  this.#activeSessionIds.add(options.sessionId);
1494
1562
  try {
1495
1563
  if (this.#cancellationRequests.has(options.sessionId)) {
1496
1564
  return { stopReason: "cancelled" };
1497
1565
  }
1498
- const runtime = await this.ensureSession(options);
1566
+ const runtime = await this.ensureSession(boundedOptions);
1499
1567
  if (this.#nativeOperations.has(`${options.agent.id}:${runtime.nativeSessionId()}`))
1500
1568
  throw new AcpExecutionError("The native session is being managed", {}, "session_busy");
1501
1569
  if (this.#cancellationRequests.has(options.sessionId)) {
1502
1570
  return { stopReason: "cancelled" };
1503
1571
  }
1504
- return await runtime.prompt(options);
1572
+ try {
1573
+ const result = await runtime.prompt(boundedOptions);
1574
+ return this.#cancellationRequests.has(options.sessionId)
1575
+ ? { stopReason: "cancelled" }
1576
+ : result;
1577
+ }
1578
+ catch (error) {
1579
+ if (this.#cancellationRequests.has(options.sessionId)) {
1580
+ if (this.#sessions.get(options.sessionId) === runtime) {
1581
+ this.#sessions.delete(options.sessionId);
1582
+ }
1583
+ await runtime.closeProcess();
1584
+ return { stopReason: "cancelled" };
1585
+ }
1586
+ throw error;
1587
+ }
1505
1588
  }
1506
1589
  catch (error) {
1507
1590
  const failedRuntime = this.#sessions.get(options.sessionId);
@@ -1517,6 +1600,7 @@ export class AcpSessionManager {
1517
1600
  });
1518
1601
  }
1519
1602
  finally {
1603
+ clearTimeout(deadline);
1520
1604
  this.#activeSessionIds.delete(options.sessionId);
1521
1605
  this.#cancellationRequests.delete(options.sessionId);
1522
1606
  }