@agentclientprotocol/claude-agent-acp 0.85.2-preview.24 → 0.85.2-preview.25
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/v2/agent.d.ts.map +1 -1
- package/dist/v2/agent.js +9 -1
- package/dist/v2/initialize.js +3 -1
- package/dist/v2/session.d.ts +15 -1
- package/dist/v2/session.d.ts.map +1 -1
- package/dist/v2/session.js +21 -0
- package/package.json +1 -1
package/dist/v2/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/v2/agent.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,MAAM,0CAA0C,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAkB,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/v2/agent.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,MAAM,0CAA0C,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAkB,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAkB9E;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,GACvC,EAAE,CAAC,QAAQ,CA4Db"}
|
package/dist/v2/agent.js
CHANGED
|
@@ -3,7 +3,7 @@ import { ClaudeAcpAgent } from "../acp-agent.js";
|
|
|
3
3
|
import { v1InitializeRequest, v2InitializeResponse } from "./initialize.js";
|
|
4
4
|
import { v1PermissionResponse, v2PermissionRequest } from "./permission.js";
|
|
5
5
|
import { v2Prompt } from "./prompt.js";
|
|
6
|
-
import { v1NewSessionRequest, v1RestoreSessionRequest, v1SetSessionConfigOptionRequest, v2ConfigOptions, v2NewSessionResponse, v2ResumeSessionResponse, } from "./session.js";
|
|
6
|
+
import { v1ForkSessionRequests, v1NewSessionRequest, v1RestoreSessionRequest, v1SetSessionConfigOptionRequest, v2ConfigOptions, v2NewSessionResponse, v2ResumeSessionResponse, } from "./session.js";
|
|
7
7
|
import { v2SessionUpdate } from "./session-update.js";
|
|
8
8
|
import { V2Terminals } from "./terminal.js";
|
|
9
9
|
/**
|
|
@@ -38,6 +38,14 @@ export function v2AgentApp(logger, onAgent) {
|
|
|
38
38
|
return v2ResumeSessionResponse(restore.method === "resume"
|
|
39
39
|
? await agent.resumeSession(restore.request)
|
|
40
40
|
: await client.replaying(params.sessionId, () => agent.loadSession(restore.request)));
|
|
41
|
+
})
|
|
42
|
+
.onRequest(v2.methods.agent.session.fork, async ({ params }) => {
|
|
43
|
+
const requests = v1ForkSessionRequests(params);
|
|
44
|
+
const { sessionId } = await agent.unstable_forkSession(requests.fork);
|
|
45
|
+
return {
|
|
46
|
+
sessionId,
|
|
47
|
+
...v2ResumeSessionResponse(await agent.resumeSession(requests.resume(sessionId))),
|
|
48
|
+
};
|
|
41
49
|
})
|
|
42
50
|
.onRequest(v2.methods.agent.session.close, async ({ params }) => {
|
|
43
51
|
const response = await agent.closeSession(params);
|
package/dist/v2/initialize.js
CHANGED
|
@@ -77,7 +77,8 @@ export function v2InitializeResponse(response) {
|
|
|
77
77
|
*
|
|
78
78
|
* - The session baseline: `session/new`, `list`, `resume` (with replay),
|
|
79
79
|
* `close`, `prompt`, `cancel`, and `update`.
|
|
80
|
-
* - `session/delete
|
|
80
|
+
* - `session/delete`, `session/fork` (which returns a session the client can
|
|
81
|
+
* prompt, see `v1ForkSessionRequests`), and `additionalDirectories`.
|
|
81
82
|
* - The prompt content and MCP transports that the agent's v1 `initialize`
|
|
82
83
|
* lists: images, embedded context, and HTTP servers. Stdio servers are in the
|
|
83
84
|
* v1 baseline; v2 has no SSE transport.
|
|
@@ -86,6 +87,7 @@ const V2_SESSION_CAPABILITIES = {
|
|
|
86
87
|
prompt: { image: {}, embeddedContext: {} },
|
|
87
88
|
mcp: { stdio: {}, http: {} },
|
|
88
89
|
delete: {},
|
|
90
|
+
fork: {},
|
|
89
91
|
additionalDirectories: {},
|
|
90
92
|
};
|
|
91
93
|
/** v2 names the id of a method `methodId`, requires `type`, and lists `env` as name and value pairs. */
|
package/dist/v2/session.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* `ClaudeAcpAgent`: v2 requests become the v1 requests that the agent serves,
|
|
4
4
|
* and its v1 responses become v2 responses.
|
|
5
5
|
*/
|
|
6
|
-
import { type AvailableCommand, type LoadSessionRequest, type NewSessionRequest, type NewSessionResponse, type ResumeSessionRequest, type ResumeSessionResponse, type SessionConfigOption, type SetSessionConfigOptionRequest } from "@agentclientprotocol/sdk";
|
|
6
|
+
import { type AvailableCommand, type ForkSessionRequest, type LoadSessionRequest, type NewSessionRequest, type NewSessionResponse, type ResumeSessionRequest, type ResumeSessionResponse, type SessionConfigOption, type SetSessionConfigOptionRequest } from "@agentclientprotocol/sdk";
|
|
7
7
|
import * as v2 from "@agentclientprotocol/sdk/experimental/v2";
|
|
8
8
|
export declare function v1NewSessionRequest(params: v2.NewSessionRequest): NewSessionRequest;
|
|
9
9
|
/**
|
|
@@ -22,6 +22,20 @@ export declare function v1RestoreSessionRequest(params: v2.ResumeSessionRequest)
|
|
|
22
22
|
method: "load";
|
|
23
23
|
request: LoadSessionRequest;
|
|
24
24
|
};
|
|
25
|
+
/**
|
|
26
|
+
* The v1 requests that a v2 `session/fork` means.
|
|
27
|
+
*
|
|
28
|
+
* The agent's v1 fork copies the transcript into a new session and returns
|
|
29
|
+
* only its id; a v1 client then resumes or loads it. A v2 fork returns the new
|
|
30
|
+
* session with its config options, like `session/new`, so the client can
|
|
31
|
+
* prompt it. The v2 surface therefore forks, then resumes the fork without
|
|
32
|
+
* replay, with the request's `cwd`, `additionalDirectories`, and
|
|
33
|
+
* `mcpServers`. The request's `_meta` goes to the fork alone.
|
|
34
|
+
*/
|
|
35
|
+
export declare function v1ForkSessionRequests(params: v2.ForkSessionRequest): {
|
|
36
|
+
fork: ForkSessionRequest;
|
|
37
|
+
resume: (sessionId: string) => ResumeSessionRequest;
|
|
38
|
+
};
|
|
25
39
|
/** v2 drops `modes`: the session mode is the `mode` config option, which the agent always lists. */
|
|
26
40
|
export declare function v2NewSessionResponse(response: NewSessionResponse): v2.NewSessionResponse;
|
|
27
41
|
export declare function v2ResumeSessionResponse(response: ResumeSessionResponse): v2.ResumeSessionResponse;
|
package/dist/v2/session.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/v2/session.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EAEvB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EAGxB,KAAK,6BAA6B,EACnC,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,0CAA0C,CAAC;AAE/D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,EAAE,CAAC,iBAAiB,GAAG,iBAAiB,CAInF;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,EAAE,CAAC,oBAAoB,GAE7B;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,oBAAoB,CAAA;CAAE,GACnD;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,kBAAkB,CAAA;CAAE,CAkBlD;AAED,oGAAoG;AACpG,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,EAAE,CAAC,kBAAkB,CAExF;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,EAAE,CAAC,qBAAqB,CAKjG;AAED,uEAAuE;AACvE,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,EAAE,CAAC,6BAA6B,GACvC,6BAA6B,CAgB/B;AAED,sFAAsF;AACtF,wBAAgB,eAAe,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,mBAAmB,EAAE,CAQxF;AAWD,oEAAoE;AACpE,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,gBAAgB,EAAE,CAKvF"}
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/v2/session.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EAEvB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EAGxB,KAAK,6BAA6B,EACnC,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,0CAA0C,CAAC;AAE/D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,EAAE,CAAC,iBAAiB,GAAG,iBAAiB,CAInF;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,EAAE,CAAC,oBAAoB,GAE7B;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,oBAAoB,CAAA;CAAE,GACnD;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,kBAAkB,CAAA;CAAE,CAkBlD;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,EAAE,CAAC,kBAAkB,GAAG;IACpE,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,oBAAoB,CAAC;CACrD,CAUA;AAED,oGAAoG;AACpG,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,EAAE,CAAC,kBAAkB,CAExF;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,EAAE,CAAC,qBAAqB,CAKjG;AAED,uEAAuE;AACvE,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,EAAE,CAAC,6BAA6B,GACvC,6BAA6B,CAgB/B;AAED,sFAAsF;AACtF,wBAAgB,eAAe,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,mBAAmB,EAAE,CAQxF;AAWD,oEAAoE;AACpE,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,gBAAgB,EAAE,CAKvF"}
|
package/dist/v2/session.js
CHANGED
|
@@ -35,6 +35,27 @@ export function v1RestoreSessionRequest(params) {
|
|
|
35
35
|
request: { ...request, mcpServers: (mcpServers ?? []).map(v1McpServer) },
|
|
36
36
|
};
|
|
37
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* The v1 requests that a v2 `session/fork` means.
|
|
40
|
+
*
|
|
41
|
+
* The agent's v1 fork copies the transcript into a new session and returns
|
|
42
|
+
* only its id; a v1 client then resumes or loads it. A v2 fork returns the new
|
|
43
|
+
* session with its config options, like `session/new`, so the client can
|
|
44
|
+
* prompt it. The v2 surface therefore forks, then resumes the fork without
|
|
45
|
+
* replay, with the request's `cwd`, `additionalDirectories`, and
|
|
46
|
+
* `mcpServers`. The request's `_meta` goes to the fork alone.
|
|
47
|
+
*/
|
|
48
|
+
export function v1ForkSessionRequests(params) {
|
|
49
|
+
const { mcpServers, _meta, ...request } = params;
|
|
50
|
+
const session = {
|
|
51
|
+
...request,
|
|
52
|
+
...(mcpServers ? { mcpServers: mcpServers.map(v1McpServer) } : {}),
|
|
53
|
+
};
|
|
54
|
+
return {
|
|
55
|
+
fork: { ...session, ...(_meta != null ? { _meta } : {}) },
|
|
56
|
+
resume: (sessionId) => ({ ...session, sessionId }),
|
|
57
|
+
};
|
|
58
|
+
}
|
|
38
59
|
/** v2 drops `modes`: the session mode is the `mode` config option, which the agent always lists. */
|
|
39
60
|
export function v2NewSessionResponse(response) {
|
|
40
61
|
return { sessionId: response.sessionId, ...v2ResumeSessionResponse(response) };
|
package/package.json
CHANGED