@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.
- package/dist/cli.js +943 -495
- package/dist/cli.js.map +4 -4
- package/dist/engine/acp/adapter/agent-initialization.d.ts +2 -2
- package/dist/engine/acp/adapter/agent-initialization.d.ts.map +1 -1
- package/dist/engine/acp/adapter/agent-initialization.js.map +1 -1
- package/dist/engine/acp/adapter/claude/adapter.d.ts +21 -4
- package/dist/engine/acp/adapter/claude/adapter.d.ts.map +1 -1
- package/dist/engine/acp/adapter/claude/adapter.js +52 -15
- package/dist/engine/acp/adapter/claude/adapter.js.map +1 -1
- package/dist/engine/acp/adapter/codex/adapter.d.ts +22 -5
- package/dist/engine/acp/adapter/codex/adapter.d.ts.map +1 -1
- package/dist/engine/acp/adapter/codex/adapter.js +70 -20
- package/dist/engine/acp/adapter/codex/adapter.js.map +1 -1
- package/dist/engine/acp/adapter/configuration-changes.d.ts +25 -0
- package/dist/engine/acp/adapter/configuration-changes.d.ts.map +1 -0
- package/dist/engine/acp/adapter/configuration-changes.js +47 -0
- package/dist/engine/acp/adapter/configuration-changes.js.map +1 -0
- package/dist/engine/acp/adapter/execution-connections.d.ts +26 -0
- package/dist/engine/acp/adapter/execution-connections.d.ts.map +1 -0
- package/dist/engine/acp/adapter/{live-sessions.js → execution-connections.js} +92 -24
- package/dist/engine/acp/adapter/execution-connections.js.map +1 -0
- package/dist/engine/acp/adapter/lifecycle-output.d.ts +10 -0
- package/dist/engine/acp/adapter/lifecycle-output.d.ts.map +1 -0
- package/dist/engine/acp/adapter/lifecycle-output.js +26 -0
- package/dist/engine/acp/adapter/lifecycle-output.js.map +1 -0
- package/dist/engine/acp/adapter/native-session-lookup.d.ts +2 -2
- package/dist/engine/acp/adapter/native-session-lookup.d.ts.map +1 -1
- package/dist/engine/acp/adapter/native-session-lookup.js +4 -4
- package/dist/engine/acp/adapter/native-session-lookup.js.map +1 -1
- package/dist/engine/acp/adapter/pi/adapter.d.ts +21 -4
- package/dist/engine/acp/adapter/pi/adapter.d.ts.map +1 -1
- package/dist/engine/acp/adapter/pi/adapter.js +52 -15
- package/dist/engine/acp/adapter/pi/adapter.js.map +1 -1
- package/dist/engine/acp/adapter/query-processes.d.ts +6 -5
- package/dist/engine/acp/adapter/query-processes.d.ts.map +1 -1
- package/dist/engine/acp/adapter/query-processes.js +36 -36
- package/dist/engine/acp/adapter/query-processes.js.map +1 -1
- package/dist/engine/acp/adapter/query-scope.d.ts +8 -0
- package/dist/engine/acp/adapter/query-scope.d.ts.map +1 -0
- package/dist/engine/acp/adapter/query-scope.js +16 -0
- package/dist/engine/acp/adapter/query-scope.js.map +1 -0
- package/dist/engine/acp/adapter/query-session.d.ts +3 -4
- package/dist/engine/acp/adapter/query-session.d.ts.map +1 -1
- package/dist/engine/acp/adapter/query-session.js +26 -31
- package/dist/engine/acp/adapter/query-session.js.map +1 -1
- package/dist/engine/acp/adapter/session-events.d.ts +34 -6
- package/dist/engine/acp/adapter/session-events.d.ts.map +1 -1
- package/dist/engine/acp/adapter/session-events.js +95 -3
- package/dist/engine/acp/adapter/session-events.js.map +1 -1
- package/dist/engine/acp/content/content-externalizer.d.ts +1 -0
- package/dist/engine/acp/content/content-externalizer.d.ts.map +1 -1
- package/dist/engine/acp/content/content-externalizer.js.map +1 -1
- package/dist/engine/acp/harness/codex/borrowed-agent.d.ts.map +1 -1
- package/dist/engine/acp/harness/codex/borrowed-agent.js +10 -3
- package/dist/engine/acp/harness/codex/borrowed-agent.js.map +1 -1
- package/dist/engine/acp/harness/codex/history.js +1 -1
- package/dist/engine/acp/harness/codex/history.js.map +1 -1
- package/dist/engine/acp/harness/codex/items.js +1 -1
- package/dist/engine/acp/harness/codex/owned-agent.d.ts.map +1 -1
- package/dist/engine/acp/harness/codex/owned-agent.js +3 -2
- package/dist/engine/acp/harness/codex/owned-agent.js.map +1 -1
- package/dist/engine/acp/native-history/preview-contract.d.ts +73 -16
- package/dist/engine/acp/native-history/preview-contract.d.ts.map +1 -1
- package/dist/engine/acp/protocol/session-config-protocol.d.ts +1 -0
- package/dist/engine/acp/protocol/session-config-protocol.d.ts.map +1 -1
- package/dist/engine/acp/protocol/session-config-protocol.js +1 -1
- package/dist/engine/acp/protocol/session-config-protocol.js.map +1 -1
- package/dist/engine/agent/runtime-agents.d.ts +4 -1
- package/dist/engine/agent/runtime-agents.d.ts.map +1 -1
- package/dist/engine/agent/runtime-agents.js +6 -4
- package/dist/engine/agent/runtime-agents.js.map +1 -1
- package/dist/engine/runtime/run.d.ts.map +1 -1
- package/dist/engine/runtime/run.js +6 -2
- package/dist/engine/runtime/run.js.map +1 -1
- package/dist/engine/session/api/session-api.d.ts +3 -0
- package/dist/engine/session/api/session-api.d.ts.map +1 -1
- package/dist/engine/session/api/session-api.js.map +1 -1
- package/dist/engine/session/live/agent-session-restore.d.ts +6 -16
- package/dist/engine/session/live/agent-session-restore.d.ts.map +1 -1
- package/dist/engine/session/live/agent-session.d.ts +7 -14
- package/dist/engine/session/live/agent-session.d.ts.map +1 -1
- package/dist/engine/session/live/agent-session.js +108 -87
- package/dist/engine/session/live/agent-session.js.map +1 -1
- package/dist/engine/session/live/session-restore.d.ts.map +1 -1
- package/dist/engine/session/live/session-restore.js +12 -35
- package/dist/engine/session/live/session-restore.js.map +1 -1
- package/dist/engine/session/manager/session-manager.d.ts.map +1 -1
- package/dist/engine/session/manager/session-manager.js +13 -5
- package/dist/engine/session/manager/session-manager.js.map +1 -1
- package/dist/engine/session/native/native-query.d.ts +5 -0
- package/dist/engine/session/native/native-query.d.ts.map +1 -0
- package/dist/engine/session/native/native-query.js +14 -0
- package/dist/engine/session/native/native-query.js.map +1 -0
- package/dist/engine/session/native/native-session-browser.d.ts.map +1 -1
- package/dist/engine/session/native/native-session-browser.js +27 -16
- package/dist/engine/session/native/native-session-browser.js.map +1 -1
- package/dist/engine/session/process/retained-agent-processes.d.ts +10 -10
- package/dist/engine/session/process/retained-agent-processes.d.ts.map +1 -1
- package/dist/engine/session/process/retained-agent-processes.js.map +1 -1
- package/dist/engine/session/prompt/execute-prompt.d.ts.map +1 -1
- package/dist/engine/session/prompt/execute-prompt.js +4 -1
- package/dist/engine/session/prompt/execute-prompt.js.map +1 -1
- package/dist/engine/util/branded-type.d.ts +4 -0
- package/dist/engine/util/branded-type.d.ts.map +1 -0
- package/dist/engine/util/branded-type.js +2 -0
- package/dist/engine/util/branded-type.js.map +1 -0
- package/dist/engine.js +882 -476
- package/dist/engine.js.map +4 -4
- package/package.json +2 -2
- package/dist/engine/acp/adapter/live-sessions.d.ts +0 -26
- package/dist/engine/acp/adapter/live-sessions.d.ts.map +0 -1
- package/dist/engine/acp/adapter/live-sessions.js.map +0 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { AcpExecutionError } from "../acp-error.ts";
|
|
2
2
|
import type { AcpAgentDefinition } from "../agent/agent-definition.ts";
|
|
3
|
-
import type {
|
|
3
|
+
import type { AgentConnection } from "../connection/agent-connection.ts";
|
|
4
4
|
export declare class RetryableAcpInitializationError extends AcpExecutionError {
|
|
5
5
|
constructor(cause: unknown);
|
|
6
6
|
}
|
|
7
7
|
export declare function validateAgentRuntime(agent: AcpAgentDefinition, signal: AbortSignal): Promise<void>;
|
|
8
|
-
export declare function initializeAgentConnection(connection:
|
|
8
|
+
export declare function initializeAgentConnection(connection: Pick<AgentConnection, "connection" | "initialize" | "race">, agentId: string, verifiedVersion: string, signal: AbortSignal): Promise<{
|
|
9
9
|
capabilities: Readonly<{
|
|
10
10
|
additionalDirectories: boolean;
|
|
11
11
|
audioPrompt: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-initialization.d.ts","sourceRoot":"","sources":["../../../../src/engine/acp/adapter/agent-initialization.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-initialization.d.ts","sourceRoot":"","sources":["../../../../src/engine/acp/adapter/agent-initialization.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAGzE,qBAAa,+BAAgC,SAAQ,iBAAiB;IAClE,YAAY,KAAK,EAAE,OAAO,EAGzB;CACJ;AAED,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAWxG;AAED,wBAAsB,yBAAyB,CAC3C,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE,YAAY,GAAG,YAAY,GAAG,MAAM,CAAC,EACvE,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,WAAW;;;;;;;;;;;;;;;;;;GA6CtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-initialization.js","sourceRoot":"","sources":["../../../../src/engine/acp/adapter/agent-initialization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-initialization.js","sourceRoot":"","sources":["../../../../src/engine/acp/adapter/agent-initialization.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
* Claude Code stores history that its harness replays as live ACP session updates
|
|
6
5
|
* during `session/load`, so previews resume the saved session over ACP.
|
|
@@ -9,10 +8,28 @@ export declare class ClaudeAdapter implements Adapter {
|
|
|
9
8
|
#private;
|
|
10
9
|
constructor(agent: AcpAgentDefinition, dependencies: AdapterDependencies);
|
|
11
10
|
readonly refreshAgent: Adapter["refreshAgent"];
|
|
12
|
-
readonly getCapabilities:
|
|
13
|
-
|
|
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/claude/adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../../src/engine/acp/adapter/claude/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,aAAc,YAAW,OAAO;;IAKzC,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 {
|
|
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 ClaudeAdapter {
|
|
11
13
|
#queryProcesses;
|
|
12
14
|
#connector;
|
|
13
|
-
#
|
|
15
|
+
#executionConnections;
|
|
14
16
|
constructor(agent, dependencies) {
|
|
15
17
|
this.#connector = new AcpSessionConnector(dependencies.contentExternalizer);
|
|
16
|
-
this.#
|
|
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 = (
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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/claude/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAG1D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../../src/engine/acp/adapter/claude/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { AcpAgentDefinition } from "../../agent/agent-definition.ts";
|
|
2
|
-
import type { Adapter, AdapterDependencies,
|
|
3
|
-
import { type LiveSessionConnectionOptions } from "../session-events.ts";
|
|
2
|
+
import type { Adapter, AdapterDependencies, NativeSessionQuery } from "../../native-history/preview-contract.ts";
|
|
4
3
|
/**
|
|
5
4
|
* Previews saved Codex threads by reading the Codex app-server directly. The read is
|
|
6
5
|
* short-lived and never resumes the source thread, so it needs no writer lock; ACP
|
|
@@ -10,10 +9,28 @@ export declare class CodexAdapter implements Adapter {
|
|
|
10
9
|
#private;
|
|
11
10
|
constructor(agent: AcpAgentDefinition, dependencies: AdapterDependencies);
|
|
12
11
|
readonly refreshAgent: Adapter["refreshAgent"];
|
|
13
|
-
readonly getCapabilities:
|
|
14
|
-
|
|
12
|
+
readonly getCapabilities: (query: NativeSessionQuery) => Promise<Readonly<{
|
|
13
|
+
additionalDirectories: boolean;
|
|
14
|
+
audioPrompt: boolean;
|
|
15
|
+
closeSession: boolean;
|
|
16
|
+
deleteSession: boolean;
|
|
17
|
+
embeddedContextPrompt: boolean;
|
|
18
|
+
imagePrompt: boolean;
|
|
19
|
+
listSessions: boolean;
|
|
20
|
+
loadSession: boolean;
|
|
21
|
+
promptQueueing: boolean;
|
|
22
|
+
renameSession: boolean;
|
|
23
|
+
resumeSession: boolean;
|
|
24
|
+
steering: boolean;
|
|
25
|
+
unstableForkSession: boolean;
|
|
26
|
+
}>>;
|
|
27
|
+
readonly createSession: Adapter["createSession"];
|
|
28
|
+
readonly forkSession: Adapter["forkSession"];
|
|
29
|
+
readonly openSession: Adapter["openSession"];
|
|
30
|
+
readonly openSessionWithReplay: Adapter["openSessionWithReplay"];
|
|
15
31
|
readonly cancel: Adapter["cancel"];
|
|
16
32
|
readonly closeSession: Adapter["closeSession"];
|
|
33
|
+
readonly releaseSession: Adapter["releaseSession"];
|
|
17
34
|
readonly prompt: Adapter["prompt"];
|
|
18
35
|
readonly steer: Adapter["steer"];
|
|
19
36
|
readonly renameSession: Adapter["renameSession"];
|
|
@@ -21,6 +38,6 @@ export declare class CodexAdapter implements Adapter {
|
|
|
21
38
|
readonly listSessions: Adapter["listSessions"];
|
|
22
39
|
readonly findSession: Adapter["findSession"];
|
|
23
40
|
readonly close: () => Promise<void>;
|
|
24
|
-
readonly readSessionHistory:
|
|
41
|
+
readonly readSessionHistory: Adapter["readSessionHistory"];
|
|
25
42
|
}
|
|
26
43
|
//# sourceMappingURL=adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../../src/engine/acp/adapter/codex/adapter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../../src/engine/acp/adapter/codex/adapter.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAI1E,OAAO,KAAK,EACR,OAAO,EACP,mBAAmB,EAEnB,kBAAkB,EAErB,MAAM,0CAA0C,CAAC;AAUlD;;;;GAIG;AACH,qBAAa,YAAa,YAAW,OAAO;;IASxC,YAAY,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,mBAAmB,EAcvE;IAED,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,cAAc,CAAC,CAG5C;IACF,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,CAMhC;IACF,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,KAAK,QAAa,OAAO,CAAC,IAAI,CAAC,CAMtC;IAEF,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAgFxD;CACL"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
|
+
import { methods } from "@agentclientprotocol/sdk";
|
|
2
3
|
import { decodeAcpSessionUpdate } from "@moxt-ai/mobius-sdk/protocol";
|
|
3
4
|
import { revalidateExecutable, stopProcessTree } from "../../../util/process/executable.js";
|
|
4
5
|
import { runCleanup } from "../../../util/run-cleanup.js";
|
|
@@ -6,7 +7,8 @@ import { AcpExecutionError } from "../../acp-error.js";
|
|
|
6
7
|
import { CodexAppServerClient } from "../../harness/codex/app-server-client.js";
|
|
7
8
|
import { replayCodexHistory } from "../../harness/codex/history.js";
|
|
8
9
|
import { nativeSessionIdSchema } from "../../protocol/native-session.js";
|
|
9
|
-
import {
|
|
10
|
+
import { AcpExecutionConnections } from "../execution-connections.js";
|
|
11
|
+
import { createdNativeSessionId, normalizeOpenedSession, sessionWorkspace } from "../lifecycle-output.js";
|
|
10
12
|
import { findNativeSession } from "../native-session-lookup.js";
|
|
11
13
|
import { openPreviewEventCache } from "../preview-event-cache.js";
|
|
12
14
|
import { AgentQueryProcesses } from "../query-processes.js";
|
|
@@ -21,7 +23,7 @@ export class CodexAdapter {
|
|
|
21
23
|
#agent;
|
|
22
24
|
#queryProcesses;
|
|
23
25
|
#connector;
|
|
24
|
-
#
|
|
26
|
+
#executionConnections;
|
|
25
27
|
#dependencies;
|
|
26
28
|
#contentExternalizer;
|
|
27
29
|
#previewCache = null;
|
|
@@ -37,36 +39,82 @@ export class CodexAdapter {
|
|
|
37
39
|
},
|
|
38
40
|
};
|
|
39
41
|
this.#connector = new AcpSessionConnector(this.#contentExternalizer, fitCodexToolEvent);
|
|
40
|
-
this.#
|
|
42
|
+
this.#executionConnections = new AcpExecutionConnections(this.#contentExternalizer, fitCodexToolEvent);
|
|
41
43
|
this.#queryProcesses = new AgentQueryProcesses(agent, dependencies.processes, this.#connector);
|
|
42
44
|
}
|
|
43
45
|
refreshAgent = (agent) => {
|
|
44
46
|
this.#agent = agent;
|
|
45
47
|
this.#queryProcesses.refreshAgent(agent);
|
|
46
48
|
};
|
|
47
|
-
getCapabilities = (
|
|
48
|
-
|
|
49
|
-
|
|
49
|
+
getCapabilities = async (query) => await this.#queryProcesses.capabilities(query);
|
|
50
|
+
#executionParams = (params) => {
|
|
51
|
+
const externalize = params.scope.externalizeUpdate;
|
|
52
|
+
return externalize === undefined
|
|
53
|
+
? params
|
|
54
|
+
: {
|
|
55
|
+
...params,
|
|
56
|
+
scope: {
|
|
57
|
+
...params.scope,
|
|
58
|
+
externalizeUpdate: (update, signal) => externalize(prepareCodexToolUpdate(update), signal),
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
createSession = (params) => this.#executionConnections.withConnection(this.#executionParams(params), async (execution, signal) => {
|
|
63
|
+
const { connection } = execution;
|
|
64
|
+
const response = await connection.race(connection.connection.agent.request(methods.agent.session.new, sessionWorkspace(params.scope), {
|
|
65
|
+
cancellationSignal: signal,
|
|
66
|
+
}), "ACP agent exited while starting a session", signal);
|
|
67
|
+
const nativeSessionId = createdNativeSessionId(response);
|
|
68
|
+
this.#executionConnections.bind(execution, nativeSessionId);
|
|
69
|
+
return normalizeOpenedSession(execution, nativeSessionId, response, signal);
|
|
70
|
+
});
|
|
71
|
+
forkSession = (params) => this.#executionConnections.withConnection(this.#executionParams(params), async (execution, signal) => {
|
|
72
|
+
const { connection } = execution;
|
|
73
|
+
const response = await connection.race(connection.connection.agent.request(methods.agent.session.fork, {
|
|
74
|
+
...sessionWorkspace(params.scope),
|
|
75
|
+
sessionId: nativeSessionIdSchema.parse(params.sourceNativeSessionId),
|
|
76
|
+
}, { cancellationSignal: signal }), "ACP agent exited while forking a session", signal);
|
|
77
|
+
const nativeSessionId = createdNativeSessionId(response);
|
|
78
|
+
this.#executionConnections.bind(execution, nativeSessionId);
|
|
79
|
+
return normalizeOpenedSession(execution, nativeSessionId, response, signal);
|
|
80
|
+
});
|
|
81
|
+
openSession = (params) => this.#executionConnections.withConnection(this.#executionParams(params), async (execution, signal) => {
|
|
82
|
+
const { connection } = execution;
|
|
83
|
+
const nativeSessionId = nativeSessionIdSchema.parse(params.nativeSessionId);
|
|
84
|
+
this.#executionConnections.bind(execution, nativeSessionId);
|
|
85
|
+
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);
|
|
86
|
+
return normalizeOpenedSession(execution, nativeSessionId, response, signal);
|
|
87
|
+
});
|
|
88
|
+
openSessionWithReplay = (params) => this.#executionConnections.withConnection(this.#executionParams(params), async (execution, signal) => {
|
|
89
|
+
const { connection } = execution;
|
|
90
|
+
const nativeSessionId = nativeSessionIdSchema.parse(params.nativeSessionId);
|
|
91
|
+
this.#executionConnections.bind(execution, nativeSessionId);
|
|
92
|
+
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);
|
|
93
|
+
await connection.race(connection.events.drained(), "ACP agent exited while loading a session", signal);
|
|
94
|
+
return normalizeOpenedSession(execution, nativeSessionId, response, signal);
|
|
95
|
+
});
|
|
96
|
+
cancel = async (params) => {
|
|
50
97
|
// turn/interrupt leaves unified-exec commands alive, including tools whose
|
|
51
98
|
// startup notification can arrive after the interrupted turn completes.
|
|
52
99
|
// The session's owned process tree is the authoritative stop boundary.
|
|
53
|
-
await this.#
|
|
100
|
+
await this.#executionConnections.closeSession(params);
|
|
54
101
|
return "closed";
|
|
55
102
|
};
|
|
56
|
-
closeSession = (...args) => this.#
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
103
|
+
closeSession = (...args) => this.#executionConnections.closeSession(...args);
|
|
104
|
+
releaseSession = (params) => this.#executionConnections.releaseSession(params);
|
|
105
|
+
prompt = (...args) => this.#executionConnections.prompt(...args);
|
|
106
|
+
steer = (...args) => this.#executionConnections.steer(...args);
|
|
107
|
+
renameSession = (...args) => this.#executionConnections.renameSession(...args);
|
|
108
|
+
configureSession = (...args) => this.#executionConnections.configureSession(...args);
|
|
109
|
+
listSessions = async ({ query, cursor }) => await this.#queryProcesses.listNativeSessions(query, cursor);
|
|
110
|
+
findSession = ({ query, nativeSessionId, budget }) => findNativeSession(this.listSessions, query, nativeSessionId, budget);
|
|
63
111
|
close = async () => {
|
|
64
|
-
await runCleanup(() => this.#queryProcesses.close(), () => this.#
|
|
112
|
+
await runCleanup(() => this.#queryProcesses.close(), () => this.#executionConnections.close(), () => this.#previewCache?.close());
|
|
65
113
|
};
|
|
66
|
-
readSessionHistory = async (
|
|
67
|
-
const agent =
|
|
68
|
-
const signal = AbortSignal.any([
|
|
69
|
-
const
|
|
114
|
+
readSessionHistory = async ({ query, request, }) => {
|
|
115
|
+
const { agent, cwd } = query;
|
|
116
|
+
const signal = AbortSignal.any([query.signal, AbortSignal.timeout(60_000)]);
|
|
117
|
+
const sessionId = request.nativeSessionId;
|
|
70
118
|
signal.throwIfAborted();
|
|
71
119
|
nativeSessionIdSchema.parse(request.nativeSessionId);
|
|
72
120
|
if (agent.id !== "codex") {
|
|
@@ -99,7 +147,9 @@ export class CodexAdapter {
|
|
|
99
147
|
}, async ({ client }) => {
|
|
100
148
|
await client.initialize(signal);
|
|
101
149
|
return await replayCodexHistory(client, request.nativeSessionId, async (update) => {
|
|
102
|
-
const externalized =
|
|
150
|
+
const externalized = query.externalizeUpdate === undefined
|
|
151
|
+
? await this.#contentExternalizer.update(sessionId, update, signal)
|
|
152
|
+
: await query.externalizeUpdate(prepareCodexToolUpdate(update), signal);
|
|
103
153
|
for (const event of externalized.events) {
|
|
104
154
|
events.push({
|
|
105
155
|
type: "acp",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../../src/engine/acp/adapter/codex/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAA4B,MAAM,8BAA8B,CAAC;AAChG,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../../src/engine/acp/adapter/codex/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { SessionConfigOption } from "@moxt-ai/mobius-sdk/protocol";
|
|
2
|
+
type ModeSelection = {
|
|
3
|
+
readonly kind: "unchanged";
|
|
4
|
+
} | {
|
|
5
|
+
readonly kind: "selected";
|
|
6
|
+
readonly modeId: string;
|
|
7
|
+
};
|
|
8
|
+
/** Bounded configuration deltas only; history and content never wait for a response. */
|
|
9
|
+
export type ConfigurationChanges = {
|
|
10
|
+
readonly kind: "unchanged";
|
|
11
|
+
} | {
|
|
12
|
+
readonly kind: "mode";
|
|
13
|
+
readonly modeId: string;
|
|
14
|
+
} | {
|
|
15
|
+
readonly kind: "replacement";
|
|
16
|
+
readonly options: readonly SessionConfigOption[];
|
|
17
|
+
readonly modes: readonly SessionConfigOption[];
|
|
18
|
+
readonly selection: ModeSelection;
|
|
19
|
+
};
|
|
20
|
+
export declare function recordConfigurationOptions(changes: ConfigurationChanges, options: readonly SessionConfigOption[]): ConfigurationChanges;
|
|
21
|
+
export declare function recordConfigurationMode(changes: ConfigurationChanges, modeId: string): ConfigurationChanges;
|
|
22
|
+
export declare function applyConfigurationMode(options: readonly SessionConfigOption[], modeId: string): readonly SessionConfigOption[];
|
|
23
|
+
export declare function applyConfigurationChanges(base: readonly SessionConfigOption[], changes: ConfigurationChanges): readonly SessionConfigOption[];
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=configuration-changes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configuration-changes.d.ts","sourceRoot":"","sources":["../../../../src/engine/acp/adapter/configuration-changes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAGxE,KAAK,aAAa,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7G,wFAAwF;AACxF,MAAM,MAAM,oBAAoB,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAC9B;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAClD;IACI,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACjD,QAAQ,CAAC,KAAK,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC/C,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;CACrC,CAAC;AAER,wBAAgB,0BAA0B,CACtC,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,SAAS,mBAAmB,EAAE,GACxC,oBAAoB,CAgBtB;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,GAAG,oBAAoB,CAI3G;AAED,wBAAgB,sBAAsB,CAClC,OAAO,EAAE,SAAS,mBAAmB,EAAE,EACvC,MAAM,EAAE,MAAM,GACf,SAAS,mBAAmB,EAAE,CAEhC;AAED,wBAAgB,yBAAyB,CACrC,IAAI,EAAE,SAAS,mBAAmB,EAAE,EACpC,OAAO,EAAE,oBAAoB,GAC9B,SAAS,mBAAmB,EAAE,CAoBhC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { MAXIMUM_CONFIG_OPTIONS } from "../protocol/session-config-protocol.js";
|
|
2
|
+
export function recordConfigurationOptions(changes, options) {
|
|
3
|
+
const modes = options.filter((option) => option.category === "mode");
|
|
4
|
+
const selection = modes.length > 0
|
|
5
|
+
? { kind: "unchanged" }
|
|
6
|
+
: changes.kind === "mode"
|
|
7
|
+
? { kind: "selected", modeId: changes.modeId }
|
|
8
|
+
: changes.kind === "replacement"
|
|
9
|
+
? changes.selection
|
|
10
|
+
: { kind: "unchanged" };
|
|
11
|
+
return {
|
|
12
|
+
kind: "replacement",
|
|
13
|
+
options,
|
|
14
|
+
modes: modes.length > 0 ? modes : changes.kind === "replacement" ? changes.modes : [],
|
|
15
|
+
selection,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export function recordConfigurationMode(changes, modeId) {
|
|
19
|
+
return changes.kind === "replacement"
|
|
20
|
+
? { ...changes, selection: { kind: "selected", modeId } }
|
|
21
|
+
: { kind: "mode", modeId };
|
|
22
|
+
}
|
|
23
|
+
export function applyConfigurationMode(options, modeId) {
|
|
24
|
+
return options.map((option) => (option.category === "mode" ? { ...option, currentValue: modeId } : option));
|
|
25
|
+
}
|
|
26
|
+
export function applyConfigurationChanges(base, changes) {
|
|
27
|
+
switch (changes.kind) {
|
|
28
|
+
case "unchanged":
|
|
29
|
+
return base;
|
|
30
|
+
case "mode":
|
|
31
|
+
return applyConfigurationMode(base, changes.modeId);
|
|
32
|
+
case "replacement": {
|
|
33
|
+
const options = changes.options.some((option) => option.category === "mode")
|
|
34
|
+
? changes.options
|
|
35
|
+
: [
|
|
36
|
+
...(changes.modes.length > 0
|
|
37
|
+
? changes.modes
|
|
38
|
+
: base.filter((option) => option.category === "mode")),
|
|
39
|
+
...changes.options,
|
|
40
|
+
].slice(0, MAXIMUM_CONFIG_OPTIONS);
|
|
41
|
+
return changes.selection.kind === "selected"
|
|
42
|
+
? applyConfigurationMode(options, changes.selection.modeId)
|
|
43
|
+
: options;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=configuration-changes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configuration-changes.js","sourceRoot":"","sources":["../../../../src/engine/acp/adapter/configuration-changes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAehF,MAAM,UAAU,0BAA0B,CACtC,OAA6B,EAC7B,OAAuC;IAEvC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC;IACrE,MAAM,SAAS,GACX,KAAK,CAAC,MAAM,GAAG,CAAC;QACZ,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE;QACvB,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM;YACvB,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;YAC9C,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,aAAa;gBAC9B,CAAC,CAAC,OAAO,CAAC,SAAS;gBACnB,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IACpC,OAAO;QACH,IAAI,EAAE,aAAa;QACnB,OAAO;QACP,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QACrF,SAAS;KACZ,CAAC;AACN,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAA6B,EAAE,MAAc;IACjF,OAAO,OAAO,CAAC,IAAI,KAAK,aAAa;QACjC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE;QACzD,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,sBAAsB,CAClC,OAAuC,EACvC,MAAc;IAEd,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAChH,CAAC;AAED,MAAM,UAAU,yBAAyB,CACrC,IAAoC,EACpC,OAA6B;IAE7B,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,WAAW;YACZ,OAAO,IAAI,CAAC;QAChB,KAAK,MAAM;YACP,OAAO,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACxD,KAAK,aAAa,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC;gBACxE,CAAC,CAAC,OAAO,CAAC,OAAO;gBACjB,CAAC,CAAC;oBACI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;wBACxB,CAAC,CAAC,OAAO,CAAC,KAAK;wBACf,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC;oBAC1D,GAAG,OAAO,CAAC,OAAO;iBACrB,CAAC,KAAK,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC;YACzC,OAAO,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,UAAU;gBACxC,CAAC,CAAC,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;gBAC3D,CAAC,CAAC,OAAO,CAAC;QAClB,CAAC;IACL,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { AcpContentExternalizer } from "../content/content-externalizer.ts";
|
|
2
|
+
import type { Adapter, AdapterSessionCreateParams, AdapterSessionScope } from "../native-history/preview-contract.ts";
|
|
3
|
+
import { AdapterSessionConnection } from "./session-events.ts";
|
|
4
|
+
export interface AcpExecutionConnection {
|
|
5
|
+
readonly connection: AdapterSessionConnection;
|
|
6
|
+
readonly scope: AdapterSessionScope;
|
|
7
|
+
readonly subscriber: AdapterSessionCreateParams;
|
|
8
|
+
}
|
|
9
|
+
/** Adapter-private active writers. Query sessions never enter this registry. */
|
|
10
|
+
export declare class AcpExecutionConnections {
|
|
11
|
+
#private;
|
|
12
|
+
constructor(externalizer: Pick<AcpContentExternalizer, "update">, normalizeEvent?: (event: unknown) => unknown);
|
|
13
|
+
readonly acquire: (params: AdapterSessionCreateParams) => AcpExecutionConnection;
|
|
14
|
+
/** Resource scope only: the concrete adapter supplies the protocol operation. */
|
|
15
|
+
readonly withConnection: <T>(params: AdapterSessionCreateParams, operation: (session: AcpExecutionConnection, signal: AbortSignal) => Promise<T>) => Promise<T>;
|
|
16
|
+
readonly bind: (session: AcpExecutionConnection, nativeSessionId: string) => void;
|
|
17
|
+
readonly cancel: Adapter["cancel"];
|
|
18
|
+
readonly closeSession: Adapter["closeSession"];
|
|
19
|
+
readonly releaseSession: Adapter["releaseSession"];
|
|
20
|
+
readonly prompt: Adapter["prompt"];
|
|
21
|
+
readonly steer: Adapter["steer"];
|
|
22
|
+
readonly renameSession: Adapter["renameSession"];
|
|
23
|
+
readonly configureSession: Adapter["configureSession"];
|
|
24
|
+
readonly close: () => Promise<void>;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=execution-connections.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-connections.d.ts","sourceRoot":"","sources":["../../../../src/engine/acp/adapter/execution-connections.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,KAAK,EACR,OAAO,EAEP,0BAA0B,EAC1B,mBAAmB,EAEtB,MAAM,uCAAuC,CAAC;AAG/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,MAAM,WAAW,sBAAsB;IACnC,QAAQ,CAAC,UAAU,EAAE,wBAAwB,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,0BAA0B,CAAC;CACnD;AASD,gFAAgF;AAChF,qBAAa,uBAAuB;;IAKhC,YACI,YAAY,EAAE,IAAI,CAAC,sBAAsB,EAAE,QAAQ,CAAC,EACpD,cAAc,GAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAA0B,EAIjE;IAED,QAAQ,CAAC,OAAO,WAAY,0BAA0B,KAAG,sBAAsB,CAuC7E;IAEF,iFAAiF;IACjF,QAAQ,CAAC,cAAc,GAAU,CAAC,UACtB,0BAA0B,aACvB,CAAC,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,KAChF,OAAO,CAAC,CAAC,CAAC,CAuBX;IAEF,QAAQ,CAAC,IAAI,YAAa,sBAAsB,mBAAmB,MAAM,KAAG,IAAI,CAU9E;IAoCF,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAYhC;IAEF,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,cAAc,CAAC,CA4B5C;IAEF,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAMhD;IAEF,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAkChC;IAEF,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CA4C9B;IAEF,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,CAgC9C;IAEF,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC,kBAAkB,CAAC,CA2EpD;IAEF,QAAQ,CAAC,KAAK,QAAa,OAAO,CAAC,IAAI,CAAC,CAStC;CACL"}
|