@moxt-ai/mobius 0.0.358 → 0.0.360

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 (112) hide show
  1. package/dist/cli.js +943 -495
  2. package/dist/cli.js.map +4 -4
  3. package/dist/engine/acp/adapter/agent-initialization.d.ts +2 -2
  4. package/dist/engine/acp/adapter/agent-initialization.d.ts.map +1 -1
  5. package/dist/engine/acp/adapter/agent-initialization.js.map +1 -1
  6. package/dist/engine/acp/adapter/claude/adapter.d.ts +21 -4
  7. package/dist/engine/acp/adapter/claude/adapter.d.ts.map +1 -1
  8. package/dist/engine/acp/adapter/claude/adapter.js +52 -15
  9. package/dist/engine/acp/adapter/claude/adapter.js.map +1 -1
  10. package/dist/engine/acp/adapter/codex/adapter.d.ts +22 -5
  11. package/dist/engine/acp/adapter/codex/adapter.d.ts.map +1 -1
  12. package/dist/engine/acp/adapter/codex/adapter.js +70 -20
  13. package/dist/engine/acp/adapter/codex/adapter.js.map +1 -1
  14. package/dist/engine/acp/adapter/configuration-changes.d.ts +25 -0
  15. package/dist/engine/acp/adapter/configuration-changes.d.ts.map +1 -0
  16. package/dist/engine/acp/adapter/configuration-changes.js +47 -0
  17. package/dist/engine/acp/adapter/configuration-changes.js.map +1 -0
  18. package/dist/engine/acp/adapter/execution-connections.d.ts +26 -0
  19. package/dist/engine/acp/adapter/execution-connections.d.ts.map +1 -0
  20. package/dist/engine/acp/adapter/{live-sessions.js → execution-connections.js} +92 -24
  21. package/dist/engine/acp/adapter/execution-connections.js.map +1 -0
  22. package/dist/engine/acp/adapter/lifecycle-output.d.ts +10 -0
  23. package/dist/engine/acp/adapter/lifecycle-output.d.ts.map +1 -0
  24. package/dist/engine/acp/adapter/lifecycle-output.js +26 -0
  25. package/dist/engine/acp/adapter/lifecycle-output.js.map +1 -0
  26. package/dist/engine/acp/adapter/native-session-lookup.d.ts +2 -2
  27. package/dist/engine/acp/adapter/native-session-lookup.d.ts.map +1 -1
  28. package/dist/engine/acp/adapter/native-session-lookup.js +4 -4
  29. package/dist/engine/acp/adapter/native-session-lookup.js.map +1 -1
  30. package/dist/engine/acp/adapter/pi/adapter.d.ts +21 -4
  31. package/dist/engine/acp/adapter/pi/adapter.d.ts.map +1 -1
  32. package/dist/engine/acp/adapter/pi/adapter.js +52 -15
  33. package/dist/engine/acp/adapter/pi/adapter.js.map +1 -1
  34. package/dist/engine/acp/adapter/query-processes.d.ts +6 -5
  35. package/dist/engine/acp/adapter/query-processes.d.ts.map +1 -1
  36. package/dist/engine/acp/adapter/query-processes.js +36 -36
  37. package/dist/engine/acp/adapter/query-processes.js.map +1 -1
  38. package/dist/engine/acp/adapter/query-scope.d.ts +8 -0
  39. package/dist/engine/acp/adapter/query-scope.d.ts.map +1 -0
  40. package/dist/engine/acp/adapter/query-scope.js +16 -0
  41. package/dist/engine/acp/adapter/query-scope.js.map +1 -0
  42. package/dist/engine/acp/adapter/query-session.d.ts +3 -4
  43. package/dist/engine/acp/adapter/query-session.d.ts.map +1 -1
  44. package/dist/engine/acp/adapter/query-session.js +26 -31
  45. package/dist/engine/acp/adapter/query-session.js.map +1 -1
  46. package/dist/engine/acp/adapter/session-events.d.ts +34 -6
  47. package/dist/engine/acp/adapter/session-events.d.ts.map +1 -1
  48. package/dist/engine/acp/adapter/session-events.js +95 -3
  49. package/dist/engine/acp/adapter/session-events.js.map +1 -1
  50. package/dist/engine/acp/content/content-externalizer.d.ts +1 -0
  51. package/dist/engine/acp/content/content-externalizer.d.ts.map +1 -1
  52. package/dist/engine/acp/content/content-externalizer.js.map +1 -1
  53. package/dist/engine/acp/harness/codex/borrowed-agent.d.ts.map +1 -1
  54. package/dist/engine/acp/harness/codex/borrowed-agent.js +10 -3
  55. package/dist/engine/acp/harness/codex/borrowed-agent.js.map +1 -1
  56. package/dist/engine/acp/harness/codex/history.js +1 -1
  57. package/dist/engine/acp/harness/codex/history.js.map +1 -1
  58. package/dist/engine/acp/harness/codex/items.js +1 -1
  59. package/dist/engine/acp/harness/codex/owned-agent.d.ts.map +1 -1
  60. package/dist/engine/acp/harness/codex/owned-agent.js +3 -2
  61. package/dist/engine/acp/harness/codex/owned-agent.js.map +1 -1
  62. package/dist/engine/acp/native-history/preview-contract.d.ts +73 -16
  63. package/dist/engine/acp/native-history/preview-contract.d.ts.map +1 -1
  64. package/dist/engine/acp/protocol/session-config-protocol.d.ts +1 -0
  65. package/dist/engine/acp/protocol/session-config-protocol.d.ts.map +1 -1
  66. package/dist/engine/acp/protocol/session-config-protocol.js +1 -1
  67. package/dist/engine/acp/protocol/session-config-protocol.js.map +1 -1
  68. package/dist/engine/agent/runtime-agents.d.ts +4 -1
  69. package/dist/engine/agent/runtime-agents.d.ts.map +1 -1
  70. package/dist/engine/agent/runtime-agents.js +6 -4
  71. package/dist/engine/agent/runtime-agents.js.map +1 -1
  72. package/dist/engine/runtime/run.d.ts.map +1 -1
  73. package/dist/engine/runtime/run.js +6 -2
  74. package/dist/engine/runtime/run.js.map +1 -1
  75. package/dist/engine/session/api/session-api.d.ts +3 -0
  76. package/dist/engine/session/api/session-api.d.ts.map +1 -1
  77. package/dist/engine/session/api/session-api.js.map +1 -1
  78. package/dist/engine/session/live/agent-session-restore.d.ts +6 -16
  79. package/dist/engine/session/live/agent-session-restore.d.ts.map +1 -1
  80. package/dist/engine/session/live/agent-session.d.ts +7 -14
  81. package/dist/engine/session/live/agent-session.d.ts.map +1 -1
  82. package/dist/engine/session/live/agent-session.js +108 -87
  83. package/dist/engine/session/live/agent-session.js.map +1 -1
  84. package/dist/engine/session/live/session-restore.d.ts.map +1 -1
  85. package/dist/engine/session/live/session-restore.js +12 -35
  86. package/dist/engine/session/live/session-restore.js.map +1 -1
  87. package/dist/engine/session/manager/session-manager.d.ts.map +1 -1
  88. package/dist/engine/session/manager/session-manager.js +13 -5
  89. package/dist/engine/session/manager/session-manager.js.map +1 -1
  90. package/dist/engine/session/native/native-query.d.ts +5 -0
  91. package/dist/engine/session/native/native-query.d.ts.map +1 -0
  92. package/dist/engine/session/native/native-query.js +14 -0
  93. package/dist/engine/session/native/native-query.js.map +1 -0
  94. package/dist/engine/session/native/native-session-browser.d.ts.map +1 -1
  95. package/dist/engine/session/native/native-session-browser.js +27 -16
  96. package/dist/engine/session/native/native-session-browser.js.map +1 -1
  97. package/dist/engine/session/process/retained-agent-processes.d.ts +10 -10
  98. package/dist/engine/session/process/retained-agent-processes.d.ts.map +1 -1
  99. package/dist/engine/session/process/retained-agent-processes.js.map +1 -1
  100. package/dist/engine/session/prompt/execute-prompt.d.ts.map +1 -1
  101. package/dist/engine/session/prompt/execute-prompt.js +4 -1
  102. package/dist/engine/session/prompt/execute-prompt.js.map +1 -1
  103. package/dist/engine/util/branded-type.d.ts +4 -0
  104. package/dist/engine/util/branded-type.d.ts.map +1 -0
  105. package/dist/engine/util/branded-type.js +2 -0
  106. package/dist/engine/util/branded-type.js.map +1 -0
  107. package/dist/engine.js +882 -476
  108. package/dist/engine.js.map +4 -4
  109. package/package.json +2 -2
  110. package/dist/engine/acp/adapter/live-sessions.d.ts +0 -26
  111. package/dist/engine/acp/adapter/live-sessions.d.ts.map +0 -1
  112. package/dist/engine/acp/adapter/live-sessions.js.map +0 -1
@@ -6,7 +6,7 @@ import { arraysEqual, isRecord, truncate } from "../../util/value-utils.js";
6
6
  import { AcpConfigurationValueUnavailableError, AcpExecutionError } from "../acp-error.js";
7
7
  import { buildPromptContent } from "../client/prompt-content.js";
8
8
  import { nativeSessionIdSchema } from "../protocol/native-session.js";
9
- import { SessionConfigProtocolError, sessionConfigProtocolForAgent, } from "../protocol/session-config-protocol.js";
9
+ import { SessionConfigProtocolError, sessionConfigProtocolForAgent } from "../protocol/session-config-protocol.js";
10
10
  import { AdapterSessionConnection } from "./session-events.js";
11
11
  const absolutePathSchema = z.string().min(1).refine(isAbsolute);
12
12
  const targetSchema = z.object({
@@ -15,7 +15,7 @@ const targetSchema = z.object({
15
15
  additionalDirectories: z.array(absolutePathSchema),
16
16
  });
17
17
  /** Adapter-private active writers. Query sessions never enter this registry. */
18
- export class AcpLiveSessions {
18
+ export class AcpExecutionConnections {
19
19
  #sessions = new Set();
20
20
  #externalizer;
21
21
  #normalizeEvent;
@@ -23,11 +23,70 @@ export class AcpLiveSessions {
23
23
  this.#externalizer = externalizer;
24
24
  this.#normalizeEvent = normalizeEvent;
25
25
  }
26
- connectSession = (scope) => {
27
- const connection = new AdapterSessionConnection(scope, this.#externalizer, this.#normalizeEvent, () => this.#sessions.delete(session));
28
- const session = { connection, scope };
26
+ acquire = (params) => {
27
+ params.signal.throwIfAborted();
28
+ const existing = [...this.#sessions].find(({ subscriber }) => subscriber.onSessionEvent === params.onSessionEvent);
29
+ if (existing !== undefined) {
30
+ if (existing.scope.agent !== params.scope.agent ||
31
+ existing.scope.cwd !== params.scope.cwd ||
32
+ !arraysEqual(existing.scope.additionalDirectories, params.scope.additionalDirectories)) {
33
+ throw new AcpExecutionError("The agent or workspace cannot change after a conversation has started", {}, "session_identity_mismatch");
34
+ }
35
+ return existing;
36
+ }
37
+ const connection = new AdapterSessionConnection({
38
+ agent: params.scope.agent,
39
+ cwd: params.scope.cwd,
40
+ ...(params.scope.externalizeUpdate === undefined
41
+ ? {}
42
+ : { externalizeUpdate: params.scope.externalizeUpdate }),
43
+ onEvent: (event) => params.onSessionEvent(connection.events.sessionId(), event),
44
+ ...(params.onBackgroundActivity === undefined
45
+ ? {}
46
+ : { onBackgroundActivity: params.onBackgroundActivity }),
47
+ interactions: params.interactions,
48
+ }, this.#externalizer, this.#normalizeEvent, () => this.#sessions.delete(session));
49
+ const session = { connection, scope: params.scope, subscriber: params };
29
50
  this.#sessions.add(session);
30
- return connection;
51
+ return session;
52
+ };
53
+ /** Resource scope only: the concrete adapter supplies the protocol operation. */
54
+ withConnection = async (params, operation) => {
55
+ const signal = AbortSignal.any([params.signal, AbortSignal.timeout(60_000)]);
56
+ signal.throwIfAborted();
57
+ const session = this.acquire(params);
58
+ const wasBound = session.connection.events.sessionId().length > 0;
59
+ try {
60
+ await session.connection.initializeAgent(signal);
61
+ session.connection.beginStateChange();
62
+ try {
63
+ const result = await operation(session, signal);
64
+ signal.throwIfAborted();
65
+ return result;
66
+ }
67
+ catch (cause) {
68
+ // Only this invocation's successfully acquired state change may be rolled back.
69
+ session.connection.cancelStateChange();
70
+ throw cause;
71
+ }
72
+ }
73
+ catch (cause) {
74
+ if (!wasBound) {
75
+ await session.connection.closeProcess();
76
+ }
77
+ throw cause;
78
+ }
79
+ };
80
+ bind = (session, nativeSessionId) => {
81
+ const existing = this.#find({
82
+ nativeSessionId,
83
+ cwd: session.scope.cwd,
84
+ additionalDirectories: session.scope.additionalDirectories,
85
+ });
86
+ if (existing !== undefined && existing !== session) {
87
+ throw new AcpExecutionError("Another writer is using this native session", {}, "session_busy");
88
+ }
89
+ session.connection.events.select(nativeSessionId);
31
90
  };
32
91
  #find = (target) => {
33
92
  const decoded = targetSchema.safeParse(target);
@@ -51,7 +110,7 @@ export class AcpLiveSessions {
51
110
  }
52
111
  return session;
53
112
  };
54
- cancel = async (target, signal) => {
113
+ cancel = async ({ signal, ...target }) => {
55
114
  const bounded = AbortSignal.any([signal, AbortSignal.timeout(30_000)]);
56
115
  bounded.throwIfAborted();
57
116
  const { connection } = this.#resolve(target);
@@ -60,7 +119,7 @@ export class AcpLiveSessions {
60
119
  }), "ACP agent exited while cancelling a prompt", bounded);
61
120
  return "retained";
62
121
  };
63
- closeSession = async (target, signal) => {
122
+ closeSession = async ({ signal, ...target }) => {
64
123
  // Once teardown is requested, release the writer even if its caller is
65
124
  // cancelled. Only the graceful protocol request is interruptible.
66
125
  const session = this.#find(target);
@@ -68,10 +127,10 @@ export class AcpLiveSessions {
68
127
  signal.throwIfAborted();
69
128
  return;
70
129
  }
71
- const { connection, scope } = session;
130
+ const { connection } = session;
72
131
  try {
73
132
  signal.throwIfAborted();
74
- if (scope.capabilities().closeSession) {
133
+ if (connection.snapshot().capabilities.closeSession) {
75
134
  try {
76
135
  await connection.connection.agent.request(methods.agent.session.close, { sessionId: connection.events.sessionId() }, { cancellationSignal: AbortSignal.any([signal, AbortSignal.timeout(1_000)]) });
77
136
  }
@@ -87,10 +146,17 @@ export class AcpLiveSessions {
87
146
  }
88
147
  signal.throwIfAborted();
89
148
  };
90
- prompt = async (target, content, signal) => {
149
+ releaseSession = async ({ signal, ...target }) => {
150
+ const session = this.#find(target);
151
+ if (session !== undefined) {
152
+ await session.connection.closeProcess();
153
+ }
91
154
  signal.throwIfAborted();
92
- const { connection, scope } = this.#resolve(target);
93
- const prompt = buildPromptContent(content, scope.capabilities());
155
+ };
156
+ prompt = async ({ content, signal, ...target }) => {
157
+ signal.throwIfAborted();
158
+ const { connection } = this.#resolve(target);
159
+ const prompt = buildPromptContent(content, connection.snapshot().capabilities);
94
160
  const response = await connection
95
161
  .race(connection.connection.agent.request(methods.agent.session.prompt, { prompt, sessionId: target.nativeSessionId }, { cancellationSignal: signal }), "ACP agent exited during a prompt", signal)
96
162
  .catch(async (cause) => {
@@ -111,15 +177,15 @@ export class AcpLiveSessions {
111
177
  throw new AcpExecutionError("ACP agent returned an invalid prompt response", { cause }, "acp_invalid_prompt_response");
112
178
  }
113
179
  };
114
- steer = async (target, content, signal) => {
180
+ steer = async ({ content, signal, ...target }) => {
115
181
  signal.throwIfAborted();
116
- const { connection, scope } = this.#resolve(target);
117
- if (!scope.capabilities().steering) {
182
+ const { connection } = this.#resolve(target);
183
+ if (!connection.snapshot().capabilities.steering) {
118
184
  throw new AcpExecutionError("The selected agent does not support mid-turn steering", {}, "steering_unsupported");
119
185
  }
120
186
  const response = await connection.race(connection.connection.agent.request("_session/steering", {
121
187
  _meta: { steering: { idleBehavior: "promptRequired" } },
122
- prompt: buildPromptContent(content, scope.capabilities()),
188
+ prompt: buildPromptContent(content, connection.snapshot().capabilities),
123
189
  sessionId: target.nativeSessionId,
124
190
  }, { cancellationSignal: signal }), "ACP agent exited during steering", signal);
125
191
  if (isRecord(response)) {
@@ -136,14 +202,14 @@ export class AcpLiveSessions {
136
202
  }
137
203
  throw new AcpExecutionError("ACP agent returned an invalid steering response", {}, "acp_invalid_steering_response");
138
204
  };
139
- renameSession = async (target, title, signal) => {
205
+ renameSession = async ({ title, signal, ...target }) => {
140
206
  signal.throwIfAborted();
141
- const { connection, scope } = this.#resolve(target);
207
+ const { connection } = this.#resolve(target);
142
208
  const normalized = truncate(title, 500);
143
209
  if (normalized.length === 0) {
144
210
  throw new AcpExecutionError("The Session title cannot be empty", {}, "invalid_session_title");
145
211
  }
146
- if (!scope.capabilities().renameSession) {
212
+ if (!connection.snapshot().capabilities.renameSession) {
147
213
  return { nativeRenameApplied: false };
148
214
  }
149
215
  try {
@@ -158,10 +224,10 @@ export class AcpLiveSessions {
158
224
  }
159
225
  return { nativeRenameApplied: true };
160
226
  };
161
- configureSession = async (target, selection, signal) => {
227
+ configureSession = async ({ selection, signal, ...target }) => {
162
228
  signal.throwIfAborted();
163
229
  const { connection, scope } = this.#resolve(target);
164
- const current = scope.configOptions();
230
+ const current = connection.snapshot().configOptions;
165
231
  const existing = current.find((option) => option.id === selection.configId);
166
232
  if (existing === undefined ||
167
233
  existing.type !== selection.type ||
@@ -173,6 +239,7 @@ export class AcpLiveSessions {
173
239
  !existing.values.some((entry) => entry.value === selection.value)) {
174
240
  throw new AcpConfigurationValueUnavailableError(selection.configId, selection.value, existing.values.map((entry) => entry.value));
175
241
  }
242
+ connection.beginStateChange();
176
243
  try {
177
244
  const configured = await sessionConfigProtocolForAgent(scope.agent.id).configure(current, {
178
245
  booleanValue: selection.type === "boolean" ? selection.booleanValue : false,
@@ -192,9 +259,10 @@ export class AcpLiveSessions {
192
259
  throw new AcpExecutionError("The Agent did not apply the requested session configuration", {}, "invalid_session_configuration");
193
260
  }
194
261
  await connection.events.drained();
195
- return configured;
262
+ return connection.commitConfiguration(configured);
196
263
  }
197
264
  catch (error) {
265
+ connection.cancelStateChange();
198
266
  if (error instanceof SessionConfigProtocolError) {
199
267
  throw new AcpExecutionError(error.message, { cause: error }, error.code);
200
268
  }
@@ -210,4 +278,4 @@ export class AcpLiveSessions {
210
278
  }
211
279
  };
212
280
  }
213
- //# sourceMappingURL=live-sessions.js.map
281
+ //# sourceMappingURL=execution-connections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-connections.js","sourceRoot":"","sources":["../../../../src/engine/acp/adapter/execution-connections.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { AdapterSessionOpened, AdapterSessionScope } from "../native-history/preview-contract.ts";
2
+ import type { AcpExecutionConnection } from "./execution-connections.ts";
3
+ export declare function sessionWorkspace(scope: AdapterSessionScope): {
4
+ cwd: string;
5
+ additionalDirectories: string[];
6
+ mcpServers: never[];
7
+ };
8
+ export declare function createdNativeSessionId(response: unknown): string;
9
+ export declare function normalizeOpenedSession(session: AcpExecutionConnection, nativeSessionId: string, response: unknown, signal: AbortSignal): Promise<AdapterSessionOpened>;
10
+ //# sourceMappingURL=lifecycle-output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle-output.d.ts","sourceRoot":"","sources":["../../../../src/engine/acp/adapter/lifecycle-output.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAEvG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEzE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,mBAAmB;IAC9C,GAAG;IAAa,qBAAqB;IAAoC,UAAU;EAC/F;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAUhE;AAED,wBAAsB,sBAAsB,CACxC,OAAO,EAAE,sBAAsB,EAC/B,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,WAAW,GACpB,OAAO,CAAC,oBAAoB,CAAC,CAe/B"}
@@ -0,0 +1,26 @@
1
+ import { z } from "zod";
2
+ import { AcpExecutionError } from "../acp-error.js";
3
+ import { nativeSessionIdSchema } from "../protocol/native-session.js";
4
+ export function sessionWorkspace(scope) {
5
+ return { cwd: scope.cwd, additionalDirectories: [...scope.additionalDirectories], mcpServers: [] };
6
+ }
7
+ export function createdNativeSessionId(response) {
8
+ const decoded = z.object({ sessionId: nativeSessionIdSchema }).safeParse(response);
9
+ if (!decoded.success) {
10
+ throw new AcpExecutionError("The Agent returned an invalid native session", { cause: decoded.error }, "invalid_native_session_response");
11
+ }
12
+ return decoded.data.sessionId;
13
+ }
14
+ export async function normalizeOpenedSession(session, nativeSessionId, response, signal) {
15
+ await session.connection.race(session.connection.events.drained(), "ACP agent exited while opening a session", signal);
16
+ signal.throwIfAborted();
17
+ const initialized = await session.connection.initializeAgent(signal);
18
+ return {
19
+ nativeSessionId,
20
+ agentName: initialized.agentName,
21
+ agentVersion: initialized.agentVersion,
22
+ agentSettingsModelEffort: session.connection.agentSettingsModelEffort(),
23
+ ...session.connection.commitLifecycle(response),
24
+ };
25
+ }
26
+ //# sourceMappingURL=lifecycle-output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle-output.js","sourceRoot":"","sources":["../../../../src/engine/acp/adapter/lifecycle-output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,MAAM,UAAU,gBAAgB,CAAC,KAA0B;IACvD,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,qBAAqB,EAAE,CAAC,GAAG,KAAK,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;AACvG,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,QAAiB;IACpD,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACnF,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACnB,MAAM,IAAI,iBAAiB,CACvB,8CAA8C,EAC9C,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EACxB,iCAAiC,CACpC,CAAC;IACN,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CACxC,OAA+B,EAC/B,eAAuB,EACvB,QAAiB,EACjB,MAAmB;IAEnB,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CACzB,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,EACnC,0CAA0C,EAC1C,MAAM,CACT,CAAC;IACF,MAAM,CAAC,cAAc,EAAE,CAAC;IACxB,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACrE,OAAO;QACH,eAAe;QACf,SAAS,EAAE,WAAW,CAAC,SAAS;QAChC,YAAY,EAAE,WAAW,CAAC,YAAY;QACtC,wBAAwB,EAAE,OAAO,CAAC,UAAU,CAAC,wBAAwB,EAAE;QACvE,GAAG,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,QAAQ,CAAC;KAClD,CAAC;AACN,CAAC"}
@@ -1,5 +1,5 @@
1
- import type { Adapter, NativeSessionLookupBudget } from "../native-history/preview-contract.ts";
1
+ import type { Adapter, NativeSessionLookupBudget, NativeSessionQuery } from "../native-history/preview-contract.ts";
2
2
  import type { NativeSessionInfo } from "../protocol/native-session.ts";
3
3
  /** ACP has no direct lookup operation; keep its bounded pagination inside the adapter. */
4
- export declare function findNativeSession(list: Adapter["listSessions"], cwd: string, nativeSessionId: string, budget: NativeSessionLookupBudget, signal: AbortSignal): Promise<NativeSessionInfo>;
4
+ export declare function findNativeSession(list: Adapter["listSessions"], query: NativeSessionQuery, nativeSessionId: string, budget: NativeSessionLookupBudget): Promise<NativeSessionInfo>;
5
5
  //# sourceMappingURL=native-session-lookup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"native-session-lookup.d.ts","sourceRoot":"","sources":["../../../../src/engine/acp/adapter/native-session-lookup.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAChG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAWvE,0FAA0F;AAC1F,wBAAsB,iBAAiB,CACnC,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,EAC7B,GAAG,EAAE,MAAM,EACX,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,yBAAyB,EACjC,MAAM,EAAE,WAAW,GACpB,OAAO,CAAC,iBAAiB,CAAC,CAoC5B"}
1
+ {"version":3,"file":"native-session-lookup.d.ts","sourceRoot":"","sources":["../../../../src/engine/acp/adapter/native-session-lookup.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AACpH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAWvE,0FAA0F;AAC1F,wBAAsB,iBAAiB,CACnC,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,EAC7B,KAAK,EAAE,kBAAkB,EACzB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,yBAAyB,GAClC,OAAO,CAAC,iBAAiB,CAAC,CAoC5B"}
@@ -9,7 +9,7 @@ const lookupSchema = z.object({
9
9
  }),
10
10
  });
11
11
  /** ACP has no direct lookup operation; keep its bounded pagination inside the adapter. */
12
- export async function findNativeSession(list, cwd, nativeSessionId, budget, signal) {
12
+ export async function findNativeSession(list, query, nativeSessionId, budget) {
13
13
  const decoded = lookupSchema.safeParse({ nativeSessionId, budget });
14
14
  if (!decoded.success) {
15
15
  throw new AcpExecutionError("The native session lookup is invalid", { cause: decoded.error }, "invalid_native_session_query");
@@ -19,9 +19,9 @@ export async function findNativeSession(list, cwd, nativeSessionId, budget, sign
19
19
  let inspected = 0;
20
20
  const visited = new Set();
21
21
  for (let pageNumber = 0; pageNumber < limits.maximumPages; pageNumber += 1) {
22
- signal.throwIfAborted();
23
- const page = await list(cwd, cursor, signal);
24
- signal.throwIfAborted();
22
+ query.signal.throwIfAborted();
23
+ const page = await list({ query, cursor });
24
+ query.signal.throwIfAborted();
25
25
  inspected += page.sessions.length;
26
26
  const found = page.sessions.find((session) => session.sessionId === decoded.data.nativeSessionId);
27
27
  if (found !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"native-session-lookup.js","sourceRoot":"","sources":["../../../../src/engine/acp/adapter/native-session-lookup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,eAAe,EAAE,qBAAqB;IACtC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QAC9C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;KACzD,CAAC;CACL,CAAC,CAAC;AAEH,0FAA0F;AAC1F,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACnC,IAA6B,EAC7B,GAAW,EACX,eAAuB,EACvB,MAAiC,EACjC,MAAmB;IAEnB,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC;IACpE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACnB,MAAM,IAAI,iBAAiB,CACvB,sCAAsC,EACtC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EACxB,8BAA8B,CACjC,CAAC;IACN,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;IACnC,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC,YAAY,EAAE,UAAU,IAAI,CAAC,EAAE,CAAC;QACzE,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAClG,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,KAAK,IAAI,IAAI,SAAS,IAAI,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;YACpG,MAAM;QACV,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,iBAAiB,CACvB,8CAA8C,EAC9C,EAAE,EACF,iCAAiC,CACpC,CAAC;QACN,CAAC;QACD,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IACD,MAAM,IAAI,iBAAiB,CAAC,kCAAkC,EAAE,EAAE,EAAE,0BAA0B,CAAC,CAAC;AACpG,CAAC"}
1
+ {"version":3,"file":"native-session-lookup.js","sourceRoot":"","sources":["../../../../src/engine/acp/adapter/native-session-lookup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,eAAe,EAAE,qBAAqB;IACtC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QAC9C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;KACzD,CAAC;CACL,CAAC,CAAC;AAEH,0FAA0F;AAC1F,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACnC,IAA6B,EAC7B,KAAyB,EACzB,eAAuB,EACvB,MAAiC;IAEjC,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC;IACpE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACnB,MAAM,IAAI,iBAAiB,CACvB,sCAAsC,EACtC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EACxB,8BAA8B,CACjC,CAAC;IACN,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;IACnC,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC,YAAY,EAAE,UAAU,IAAI,CAAC,EAAE,CAAC;QACzE,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3C,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAC9B,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAClG,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,KAAK,IAAI,IAAI,SAAS,IAAI,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;YACpG,MAAM;QACV,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,iBAAiB,CACvB,8CAA8C,EAC9C,EAAE,EACF,iCAAiC,CACpC,CAAC;QACN,CAAC;QACD,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IACD,MAAM,IAAI,iBAAiB,CAAC,kCAAkC,EAAE,EAAE,EAAE,0BAA0B,CAAC,CAAC;AACpG,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import type { AcpAgentDefinition } from "../../agent/agent-definition.ts";
2
- import type { Adapter, AdapterDependencies } from "../../native-history/preview-contract.ts";
3
- import { type LiveSessionConnectionOptions } from "../session-events.ts";
2
+ import type { Adapter, AdapterDependencies, NativeSessionQuery } from "../../native-history/preview-contract.ts";
4
3
  /**
5
4
  * Pi replays its stored session messages as live ACP session updates during
6
5
  * `session/load`, so previews resume the saved session over ACP.
@@ -9,10 +8,28 @@ export declare class PiAdapter implements Adapter {
9
8
  #private;
10
9
  constructor(agent: AcpAgentDefinition, dependencies: AdapterDependencies);
11
10
  readonly refreshAgent: Adapter["refreshAgent"];
12
- readonly getCapabilities: Adapter["getCapabilities"];
13
- readonly connectSession: (options: LiveSessionConnectionOptions) => import("../session-events.ts").AdapterSessionConnection;
11
+ readonly getCapabilities: (query: NativeSessionQuery) => Promise<Readonly<{
12
+ additionalDirectories: boolean;
13
+ audioPrompt: boolean;
14
+ closeSession: boolean;
15
+ deleteSession: boolean;
16
+ embeddedContextPrompt: boolean;
17
+ imagePrompt: boolean;
18
+ listSessions: boolean;
19
+ loadSession: boolean;
20
+ promptQueueing: boolean;
21
+ renameSession: boolean;
22
+ resumeSession: boolean;
23
+ steering: boolean;
24
+ unstableForkSession: boolean;
25
+ }>>;
26
+ readonly createSession: Adapter["createSession"];
27
+ readonly forkSession: Adapter["forkSession"];
28
+ readonly openSession: Adapter["openSession"];
29
+ readonly openSessionWithReplay: Adapter["openSessionWithReplay"];
14
30
  readonly cancel: Adapter["cancel"];
15
31
  readonly closeSession: Adapter["closeSession"];
32
+ readonly releaseSession: Adapter["releaseSession"];
16
33
  readonly prompt: Adapter["prompt"];
17
34
  readonly steer: Adapter["steer"];
18
35
  readonly renameSession: Adapter["renameSession"];
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../../src/engine/acp/adapter/pi/adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAI7F,OAAO,EAAuB,KAAK,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAE9F;;;GAGG;AACH,qBAAa,SAAU,YAAW,OAAO;;IAKrC,YAAY,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,mBAAmB,EAIvE;IAED,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,cAAc,CAAC,CAAuD;IACrG,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,iBAAiB,CAAC,CACD;IACnD,QAAQ,CAAC,cAAc,YAAa,4BAA4B,6DAAgD;IAChH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAmD;IACrF,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,cAAc,CAAC,CAAyD;IACvG,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAmD;IACrF,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAkD;IAClF,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,CAA0D;IAC1G,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAA6D;IACnH,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,cAAc,CAAC,CACmB;IACjE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC,CACmC;IAC/E,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC,oBAAoB,CAAC,CACiC;IAC3F,QAAQ,CAAC,KAAK,QAAa,OAAO,CAAC,IAAI,CAAC,CAIlC;CACT"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../../src/engine/acp/adapter/pi/adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAQjH;;;GAGG;AACH,qBAAa,SAAU,YAAW,OAAO;;IAKrC,YAAY,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,mBAAmB,EAIvE;IAED,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,cAAc,CAAC,CAAuD;IACrG,QAAQ,CAAC,eAAe,UAAiB,kBAAkB;;;;;;;;;;;;;;QAAoD;IAC/G,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,CAazC;IACP,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC,CAkBrC;IACP,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC,CAerC;IACP,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAgBzD;IACP,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAA2D;IAC7F,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,cAAc,CAAC,CAAiE;IAC/G,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAiE;IACnH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAA2D;IAC7F,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAA0D;IAC1F,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,CAAkE;IAClH,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC,kBAAkB,CAAC,CACG;IACzD,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,cAAc,CAAC,CACmB;IACjE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC,CAC6B;IACzE,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC,oBAAoB,CAAC,CACU;IACpE,QAAQ,CAAC,KAAK,QAAa,OAAO,CAAC,IAAI,CAAC,CAIlC;CACT"}
@@ -1,5 +1,7 @@
1
1
  import { runCleanup } from "../../../util/run-cleanup.js";
2
- import { AcpLiveSessions } from "../live-sessions.js";
2
+ import { nativeSessionIdSchema } from "../../protocol/native-session.js";
3
+ import { AcpExecutionConnections } from "../execution-connections.js";
4
+ import { createdNativeSessionId, normalizeOpenedSession, sessionWorkspace } from "../lifecycle-output.js";
3
5
  import { findNativeSession } from "../native-session-lookup.js";
4
6
  import { AgentQueryProcesses } from "../query-processes.js";
5
7
  import { AcpSessionConnector } from "../session-events.js";
@@ -10,24 +12,59 @@ import { AcpSessionConnector } from "../session-events.js";
10
12
  export class PiAdapter {
11
13
  #queryProcesses;
12
14
  #connector;
13
- #liveSessions;
15
+ #executionConnections;
14
16
  constructor(agent, dependencies) {
15
17
  this.#connector = new AcpSessionConnector(dependencies.contentExternalizer);
16
- this.#liveSessions = new AcpLiveSessions(dependencies.contentExternalizer);
18
+ this.#executionConnections = new AcpExecutionConnections(dependencies.contentExternalizer);
17
19
  this.#queryProcesses = new AgentQueryProcesses(agent, dependencies.processes, this.#connector);
18
20
  }
19
21
  refreshAgent = (agent) => this.#queryProcesses.refreshAgent(agent);
20
- getCapabilities = (cwd, signal) => this.#queryProcesses.capabilities(cwd, signal);
21
- connectSession = (options) => this.#liveSessions.connectSession(options);
22
- cancel = (...args) => this.#liveSessions.cancel(...args);
23
- closeSession = (...args) => this.#liveSessions.closeSession(...args);
24
- prompt = (...args) => this.#liveSessions.prompt(...args);
25
- steer = (...args) => this.#liveSessions.steer(...args);
26
- renameSession = (...args) => this.#liveSessions.renameSession(...args);
27
- configureSession = (...args) => this.#liveSessions.configureSession(...args);
28
- listSessions = (cwd, cursor, signal) => this.#queryProcesses.listNativeSessions(cwd, cursor, signal);
29
- findSession = (cwd, nativeSessionId, budget, signal) => findNativeSession(this.listSessions, cwd, nativeSessionId, budget, signal);
30
- readSessionHistory = (cwd, additionalDirectories, request, signal) => this.#queryProcesses.previewSessionEvents(cwd, additionalDirectories, request, signal);
31
- close = async () => await runCleanup(() => this.#queryProcesses.close(), () => this.#liveSessions.close());
22
+ getCapabilities = async (query) => await this.#queryProcesses.capabilities(query);
23
+ createSession = (params) => this.#executionConnections.withConnection(params, async (execution, signal) => {
24
+ const { connection } = execution;
25
+ const response = await connection.race(connection.connection.agent.request(methods.agent.session.new, sessionWorkspace(params.scope), {
26
+ cancellationSignal: signal,
27
+ }), "ACP agent exited while starting a session", signal);
28
+ const nativeSessionId = createdNativeSessionId(response);
29
+ this.#executionConnections.bind(execution, nativeSessionId);
30
+ return normalizeOpenedSession(execution, nativeSessionId, response, signal);
31
+ });
32
+ forkSession = (params) => this.#executionConnections.withConnection(params, async (execution, signal) => {
33
+ const { connection } = execution;
34
+ const response = await connection.race(connection.connection.agent.request(methods.agent.session.fork, {
35
+ ...sessionWorkspace(params.scope),
36
+ sessionId: nativeSessionIdSchema.parse(params.sourceNativeSessionId),
37
+ }, { cancellationSignal: signal }), "ACP agent exited while forking a session", signal);
38
+ const nativeSessionId = createdNativeSessionId(response);
39
+ this.#executionConnections.bind(execution, nativeSessionId);
40
+ return normalizeOpenedSession(execution, nativeSessionId, response, signal);
41
+ });
42
+ openSession = (params) => this.#executionConnections.withConnection(params, async (execution, signal) => {
43
+ const { connection } = execution;
44
+ const nativeSessionId = nativeSessionIdSchema.parse(params.nativeSessionId);
45
+ this.#executionConnections.bind(execution, nativeSessionId);
46
+ const response = await connection.race(connection.connection.agent.request(methods.agent.session.resume, { ...sessionWorkspace(params.scope), sessionId: nativeSessionId }, { cancellationSignal: signal }), "ACP agent exited while resuming a session", signal);
47
+ return normalizeOpenedSession(execution, nativeSessionId, response, signal);
48
+ });
49
+ openSessionWithReplay = (params) => this.#executionConnections.withConnection(params, async (execution, signal) => {
50
+ const { connection } = execution;
51
+ const nativeSessionId = nativeSessionIdSchema.parse(params.nativeSessionId);
52
+ this.#executionConnections.bind(execution, nativeSessionId);
53
+ const response = await connection.race(connection.connection.agent.request(methods.agent.session.load, { ...sessionWorkspace(params.scope), sessionId: nativeSessionId }, { cancellationSignal: signal }), "ACP agent exited while loading a session", signal);
54
+ await connection.race(connection.events.drained(), "ACP agent exited while loading a session", signal);
55
+ return normalizeOpenedSession(execution, nativeSessionId, response, signal);
56
+ });
57
+ cancel = (...args) => this.#executionConnections.cancel(...args);
58
+ closeSession = (...args) => this.#executionConnections.closeSession(...args);
59
+ releaseSession = (params) => this.#executionConnections.releaseSession(params);
60
+ prompt = (...args) => this.#executionConnections.prompt(...args);
61
+ steer = (...args) => this.#executionConnections.steer(...args);
62
+ renameSession = (...args) => this.#executionConnections.renameSession(...args);
63
+ configureSession = (...args) => this.#executionConnections.configureSession(...args);
64
+ listSessions = async ({ query, cursor }) => await this.#queryProcesses.listNativeSessions(query, cursor);
65
+ findSession = ({ query, nativeSessionId, budget }) => findNativeSession(this.listSessions, query, nativeSessionId, budget);
66
+ readSessionHistory = async ({ query, request }) => await this.#queryProcesses.previewSessionEvents(query, request);
67
+ close = async () => await runCleanup(() => this.#queryProcesses.close(), () => this.#executionConnections.close());
32
68
  }
69
+ import { methods } from "@agentclientprotocol/sdk";
33
70
  //# sourceMappingURL=adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../../src/engine/acp/adapter/pi/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAG1D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAqC,MAAM,sBAAsB,CAAC;AAE9F;;;GAGG;AACH,MAAM,OAAO,SAAS;IACT,eAAe,CAAsB;IACrC,UAAU,CAAsB;IAChC,aAAa,CAAkB;IAExC,YAAY,KAAyB,EAAE,YAAiC;QACpE,IAAI,CAAC,UAAU,GAAG,IAAI,mBAAmB,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;QAC5E,IAAI,CAAC,aAAa,GAAG,IAAI,eAAe,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;QAC3E,IAAI,CAAC,eAAe,GAAG,IAAI,mBAAmB,CAAC,KAAK,EAAE,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACnG,CAAC;IAEQ,YAAY,GAA4B,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC5F,eAAe,GAA+B,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CACnE,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC1C,cAAc,GAAG,CAAC,OAAqC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACvG,MAAM,GAAsB,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC5E,YAAY,GAA4B,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9F,MAAM,GAAsB,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC5E,KAAK,GAAqB,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IACzE,aAAa,GAA6B,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,CAAC;IACjG,gBAAgB,GAAgC,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1G,YAAY,GAA4B,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CACrE,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACxD,WAAW,GAA2B,CAAC,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CACpF,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtE,kBAAkB,GAAkC,CAAC,GAAG,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CACzG,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,GAAG,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAClF,KAAK,GAAG,KAAK,IAAmB,EAAE,CACvC,MAAM,UAAU,CACZ,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,EAClC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CACnC,CAAC;CACT"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../../src/engine/acp/adapter/pi/adapter.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,9 @@ import { type SessionEventPage } from "../../session/history/session-event-store
3
3
  import type { AgentProcessPool } from "../../session/process/agent-process-pool.ts";
4
4
  import { RetainedAgentProcesses } from "../../session/process/retained-agent-processes.ts";
5
5
  import type { AcpAgentDefinition } from "../agent/agent-definition.ts";
6
- import type { NativeSessionPreviewRequest } from "../native-history/preview-contract.ts";
6
+ import type { NativeSessionPreviewRequest, NativeSessionQuery } from "../native-history/preview-contract.ts";
7
7
  import type { NativeSessionPage } from "../protocol/native-session.ts";
8
+ import { type NativeSessionQueryKey } from "./query-scope.ts";
8
9
  import { AcpQuerySession } from "./query-session.ts";
9
10
  import type { AcpSessionConnector } from "./session-events.ts";
10
11
  /** Owns workspace-scoped readers, independently of execution conversations. */
@@ -12,10 +13,10 @@ export declare class AgentQueryProcesses {
12
13
  #private;
13
14
  constructor(agent: AcpAgentDefinition, processes: AgentProcessPool, connector: AcpSessionConnector);
14
15
  readonly refreshAgent: (agent: AcpAgentDefinition) => void;
15
- readonly retire: (readers: RetainedAgentProcesses<AcpQuerySession>, cwd: string, runtime: AcpQuerySession) => Promise<void>;
16
- readonly capabilities: (cwd: string, signal: AbortSignal) => Promise<SessionCapabilities>;
17
- readonly listNativeSessions: (cwd: string, cursor: string | null, signal: AbortSignal) => Promise<NativeSessionPage>;
18
- readonly previewSessionEvents: (cwd: string, additionalDirectories: readonly string[], request: NativeSessionPreviewRequest, signal: AbortSignal) => Promise<SessionEventPage>;
16
+ readonly retire: (readers: RetainedAgentProcesses<AcpQuerySession, NativeSessionQueryKey>, key: NativeSessionQueryKey, runtime: AcpQuerySession) => Promise<void>;
17
+ readonly capabilities: (query: NativeSessionQuery) => Promise<SessionCapabilities>;
18
+ readonly listNativeSessions: (query: NativeSessionQuery, cursor: string | null) => Promise<NativeSessionPage>;
19
+ readonly previewSessionEvents: (query: NativeSessionQuery, request: NativeSessionPreviewRequest) => Promise<SessionEventPage>;
19
20
  readonly close: () => Promise<void>;
20
21
  }
21
22
  //# sourceMappingURL=query-processes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-processes.d.ts","sourceRoot":"","sources":["../../../../src/engine/acp/adapter/query-processes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAE9G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAC3F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,+EAA+E;AAC/E,qBAAa,mBAAmB;;IAW5B,YAAY,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,mBAAmB,EAIjG;IAED,QAAQ,CAAC,YAAY,UAAW,kBAAkB,KAAG,IAAI,CAEvD;IAEF,QAAQ,CAAC,MAAM,YACF,sBAAsB,CAAC,eAAe,CAAC,OAC3C,MAAM,WACF,eAAe,KACzB,OAAO,CAAC,IAAI,CAAC,CAOd;IAyDF,QAAQ,CAAC,YAAY,QAAe,MAAM,UAAU,WAAW,KAAG,OAAO,CAAC,mBAAmB,CAAC,CAClB;IAE5E,QAAQ,CAAC,kBAAkB,QAClB,MAAM,UACH,MAAM,GAAG,IAAI,UACb,WAAW,KACpB,OAAO,CAAC,iBAAiB,CAAC,CACyE;IAEtG,QAAQ,CAAC,oBAAoB,QACpB,MAAM,yBACY,SAAS,MAAM,EAAE,WAC/B,2BAA2B,UAC5B,WAAW,KACpB,OAAO,CAAC,gBAAgB,CAAC,CA8B1B;IAEF,QAAQ,CAAC,KAAK,QAAa,OAAO,CAAC,IAAI,CAAC,CAYtC;CACL"}
1
+ {"version":3,"file":"query-processes.d.ts","sourceRoot":"","sources":["../../../../src/engine/acp/adapter/query-processes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAE9G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAC3F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC7G,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAEH,KAAK,qBAAqB,EAG7B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,+EAA+E;AAC/E,qBAAa,mBAAmB;;IAc5B,YAAY,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,mBAAmB,EAIjG;IAED,QAAQ,CAAC,YAAY,UAAW,kBAAkB,KAAG,IAAI,CAEvD;IAEF,QAAQ,CAAC,MAAM,YACF,sBAAsB,CAAC,eAAe,EAAE,qBAAqB,CAAC,OAClE,qBAAqB,WACjB,eAAe,KACzB,OAAO,CAAC,IAAI,CAAC,CAOd;IAyDF,QAAQ,CAAC,YAAY,UAAiB,kBAAkB,KAAG,OAAO,CAAC,mBAAmB,CAAC,CACjB;IAEtE,QAAQ,CAAC,kBAAkB,UAChB,kBAAkB,UACjB,MAAM,GAAG,IAAI,KACtB,OAAO,CAAC,iBAAiB,CAAC,CACyE;IAEtG,QAAQ,CAAC,oBAAoB,UAClB,kBAAkB,WAChB,2BAA2B,KACrC,OAAO,CAAC,gBAAgB,CAAC,CA6B1B;IAEF,QAAQ,CAAC,KAAK,QAAa,OAAO,CAAC,IAAI,CAAC,CAYtC;CACL"}