acp-factory 0.0.1 → 0.1.0
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/agent-handle.d.ts +15 -2
- package/dist/agent-handle.d.ts.map +1 -1
- package/dist/agent-handle.js +47 -5
- package/dist/agent-handle.js.map +1 -1
- package/dist/client-handler.d.ts.map +1 -1
- package/dist/client-handler.js +2 -0
- package/dist/client-handler.js.map +1 -1
- package/dist/factory.d.ts.map +1 -1
- package/dist/factory.js +6 -0
- package/dist/factory.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/providers/claude-code.js +1 -1
- package/dist/providers/claude-code.js.map +1 -1
- package/dist/providers/codex.d.ts +9 -0
- package/dist/providers/codex.d.ts.map +1 -0
- package/dist/providers/codex.js +12 -0
- package/dist/providers/codex.js.map +1 -0
- package/dist/providers/gemini.d.ts +9 -0
- package/dist/providers/gemini.d.ts.map +1 -0
- package/dist/providers/gemini.js +12 -0
- package/dist/providers/gemini.js.map +1 -0
- package/dist/providers/opencode.d.ts +15 -0
- package/dist/providers/opencode.d.ts.map +1 -0
- package/dist/providers/opencode.js +18 -0
- package/dist/providers/opencode.js.map +1 -0
- package/dist/session.d.ts +173 -2
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +323 -5
- package/dist/session.js.map +1 -1
- package/dist/types.d.ts +50 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +24 -4
package/dist/agent-handle.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* AgentHandle - Represents a running agent with an ACP connection
|
|
3
3
|
*/
|
|
4
4
|
import * as acp from "@agentclientprotocol/sdk";
|
|
5
|
-
import type { AgentConfig, SpawnOptions, SessionOptions } from "./types.js";
|
|
5
|
+
import type { AgentConfig, SpawnOptions, SessionOptions, ForkSessionOptions } from "./types.js";
|
|
6
6
|
import type { AgentCapabilities } from "@agentclientprotocol/sdk";
|
|
7
7
|
import { Session } from "./session.js";
|
|
8
8
|
/**
|
|
@@ -13,6 +13,11 @@ export declare class AgentHandle {
|
|
|
13
13
|
private readonly connection;
|
|
14
14
|
private readonly clientHandler;
|
|
15
15
|
readonly capabilities: AgentCapabilities;
|
|
16
|
+
/**
|
|
17
|
+
* Map of session IDs to Session objects for tracking active sessions.
|
|
18
|
+
* Used for smart fork detection to determine if a session is processing.
|
|
19
|
+
*/
|
|
20
|
+
private readonly sessions;
|
|
16
21
|
private constructor();
|
|
17
22
|
/**
|
|
18
23
|
* Create and initialize an agent handle
|
|
@@ -36,9 +41,17 @@ export declare class AgentHandle {
|
|
|
36
41
|
* The forked session inherits the conversation history from the original,
|
|
37
42
|
* allowing operations without affecting the original session's state.
|
|
38
43
|
*
|
|
44
|
+
* This method uses smart detection to determine the best forking approach:
|
|
45
|
+
* - If the source session is actively processing or not persisted, uses forkWithFlush
|
|
46
|
+
* - If the source session is idle and persisted, uses direct fork
|
|
47
|
+
* - Use `forceFlush: true` to always use the flush approach
|
|
48
|
+
*
|
|
49
|
+
* @param sessionId - The ID of the session to fork
|
|
50
|
+
* @param cwd - The current working directory for the forked session
|
|
51
|
+
* @param options - Optional fork configuration
|
|
39
52
|
* @experimental This relies on the unstable session/fork ACP capability
|
|
40
53
|
*/
|
|
41
|
-
forkSession(sessionId: string): Promise<Session>;
|
|
54
|
+
forkSession(sessionId: string, cwd: string, options?: ForkSessionOptions): Promise<Session>;
|
|
42
55
|
/**
|
|
43
56
|
* Close the agent connection and terminate the process
|
|
44
57
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-handle.d.ts","sourceRoot":"","sources":["../src/agent-handle.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,GAAG,MAAM,0BAA0B,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-handle.d.ts","sourceRoot":"","sources":["../src/agent-handle.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,GAAG,MAAM,0BAA0B,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC;;GAEG;AACH,qBAAa,WAAW;IAUpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAXhC,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;IAEzC;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAE5D,OAAO;IASP;;;OAGG;WACU,MAAM,CACjB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,WAAW,CAAC;IA+EvB;;OAEG;IACG,aAAa,CACjB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,OAAO,CAAC;IA6BnB;;OAEG;IACG,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,UAAU,GAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAM,GACpD,OAAO,CAAC,OAAO,CAAC;IA0BnB;;;;;;;;;;;;;;;OAeG;IACG,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,OAAO,CAAC;IAiDnB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B;;OAEG;IACH,aAAa,IAAI,GAAG,CAAC,oBAAoB;IAIzC;;OAEG;IACH,SAAS,IAAI,OAAO;CAGrB"}
|
package/dist/agent-handle.js
CHANGED
|
@@ -14,6 +14,11 @@ export class AgentHandle {
|
|
|
14
14
|
connection;
|
|
15
15
|
clientHandler;
|
|
16
16
|
capabilities;
|
|
17
|
+
/**
|
|
18
|
+
* Map of session IDs to Session objects for tracking active sessions.
|
|
19
|
+
* Used for smart fork detection to determine if a session is processing.
|
|
20
|
+
*/
|
|
21
|
+
sessions = new Map();
|
|
17
22
|
constructor(process, connection, clientHandler, capabilities) {
|
|
18
23
|
this.process = process;
|
|
19
24
|
this.connection = connection;
|
|
@@ -97,7 +102,10 @@ export class AgentHandle {
|
|
|
97
102
|
modeId: options.mode,
|
|
98
103
|
});
|
|
99
104
|
}
|
|
100
|
-
|
|
105
|
+
const session = new Session(result.sessionId, this.connection, this.clientHandler, cwd, result.modes?.availableModes?.map((m) => m.id) ?? [], result.models?.availableModels?.map((m) => m.modelId) ?? []);
|
|
106
|
+
// Track session for smart fork detection
|
|
107
|
+
this.sessions.set(result.sessionId, session);
|
|
108
|
+
return session;
|
|
101
109
|
}
|
|
102
110
|
/**
|
|
103
111
|
* Load an existing session by ID
|
|
@@ -111,7 +119,10 @@ export class AgentHandle {
|
|
|
111
119
|
cwd,
|
|
112
120
|
mcpServers,
|
|
113
121
|
});
|
|
114
|
-
|
|
122
|
+
const session = new Session(sessionId, this.connection, this.clientHandler, cwd, result.modes?.availableModes?.map((m) => m.id) ?? [], result.models?.availableModels?.map((m) => m.modelId) ?? []);
|
|
123
|
+
// Track session for smart fork detection
|
|
124
|
+
this.sessions.set(sessionId, session);
|
|
125
|
+
return session;
|
|
115
126
|
}
|
|
116
127
|
/**
|
|
117
128
|
* Fork an existing session to create a new independent session
|
|
@@ -119,16 +130,47 @@ export class AgentHandle {
|
|
|
119
130
|
* The forked session inherits the conversation history from the original,
|
|
120
131
|
* allowing operations without affecting the original session's state.
|
|
121
132
|
*
|
|
133
|
+
* This method uses smart detection to determine the best forking approach:
|
|
134
|
+
* - If the source session is actively processing or not persisted, uses forkWithFlush
|
|
135
|
+
* - If the source session is idle and persisted, uses direct fork
|
|
136
|
+
* - Use `forceFlush: true` to always use the flush approach
|
|
137
|
+
*
|
|
138
|
+
* @param sessionId - The ID of the session to fork
|
|
139
|
+
* @param cwd - The current working directory for the forked session
|
|
140
|
+
* @param options - Optional fork configuration
|
|
122
141
|
* @experimental This relies on the unstable session/fork ACP capability
|
|
123
142
|
*/
|
|
124
|
-
async forkSession(sessionId) {
|
|
143
|
+
async forkSession(sessionId, cwd, options = {}) {
|
|
125
144
|
if (!this.capabilities.sessionCapabilities?.fork) {
|
|
126
145
|
throw new Error("Agent does not support forking sessions");
|
|
127
146
|
}
|
|
128
|
-
const
|
|
147
|
+
const sourceSession = this.sessions.get(sessionId);
|
|
148
|
+
// Determine if flush is needed:
|
|
149
|
+
// 1. forceFlush option is set
|
|
150
|
+
// 2. Source session is currently processing
|
|
151
|
+
// 3. Source session is not tracked (might be from previous process, needs flush to ensure persistence)
|
|
152
|
+
const needsFlush = options.forceFlush ||
|
|
153
|
+
(sourceSession && sourceSession.isProcessing) ||
|
|
154
|
+
!sourceSession;
|
|
155
|
+
if (needsFlush && sourceSession) {
|
|
156
|
+
// Use forkWithFlush for active or processing sessions
|
|
157
|
+
const forkedSession = await sourceSession.forkWithFlush({
|
|
158
|
+
idleTimeout: options.idleTimeout,
|
|
159
|
+
persistTimeout: options.persistTimeout,
|
|
160
|
+
});
|
|
161
|
+
// Track the forked session
|
|
162
|
+
this.sessions.set(forkedSession.id, forkedSession);
|
|
163
|
+
return forkedSession;
|
|
164
|
+
}
|
|
165
|
+
// Direct fork for persisted idle sessions (or when source session is unknown)
|
|
166
|
+
const result = await this.connection.unstable_forkSession({
|
|
129
167
|
sessionId,
|
|
168
|
+
cwd,
|
|
130
169
|
});
|
|
131
|
-
|
|
170
|
+
const forkedSession = new Session(result.sessionId, this.connection, this.clientHandler, cwd, result.modes?.availableModes?.map((m) => m.id) ?? [], result.models?.availableModels?.map((m) => m.modelId) ?? []);
|
|
171
|
+
// Track the forked session
|
|
172
|
+
this.sessions.set(result.sessionId, forkedSession);
|
|
173
|
+
return forkedSession;
|
|
132
174
|
}
|
|
133
175
|
/**
|
|
134
176
|
* Close the agent connection and terminate the process
|
package/dist/agent-handle.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-handle.js","sourceRoot":"","sources":["../src/agent-handle.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,GAAG,MAAM,0BAA0B,CAAC;AAGhD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;GAEG;AACH,MAAM,OAAO,WAAW;
|
|
1
|
+
{"version":3,"file":"agent-handle.js","sourceRoot":"","sources":["../src/agent-handle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-handler.d.ts","sourceRoot":"","sources":["../src/client-handler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,KAAK,GAAG,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EAEd,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,qBAAa,QAAQ,CAAC,CAAC,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;IAClD,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,IAAI,CAAS;IAErB,gCAAgC;IAChC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;IAWnB,+CAA+C;IAC/C,GAAG,IAAI,IAAI;IAQX,sCAAsC;IACtC,MAAM,IAAI,OAAO;IAIjB,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC;CAgB3C;AAWD;;GAEG;AACH,qBAAa,gBAAiB,YAAW,GAAG,CAAC,MAAM;IACjD,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,cAAc,CAAiB;IAEvC,iCAAiC;IACjC,OAAO,CAAC,cAAc,CAA2D;IAEjF,4EAA4E;IAC5E,OAAO,CAAC,kBAAkB,CAA6C;IAEvE,2DAA2D;IAC3D,OAAO,CAAC,wBAAwB,CAAK;gBAGnC,QAAQ,GAAE,cAAmB,EAC7B,cAAc,GAAE,cAA+B;IAMjD;;OAEG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAC,qBAAqB,CAAC;IASpE;;OAEG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"client-handler.d.ts","sourceRoot":"","sources":["../src/client-handler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,KAAK,GAAG,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EAEd,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,qBAAa,QAAQ,CAAC,CAAC,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;IAClD,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,IAAI,CAAS;IAErB,gCAAgC;IAChC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;IAWnB,+CAA+C;IAC/C,GAAG,IAAI,IAAI;IAQX,sCAAsC;IACtC,MAAM,IAAI,OAAO;IAIjB,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC;CAgB3C;AAWD;;GAEG;AACH,qBAAa,gBAAiB,YAAW,GAAG,CAAC,MAAM;IACjD,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,cAAc,CAAiB;IAEvC,iCAAiC;IACjC,OAAO,CAAC,cAAc,CAA2D;IAEjF,4EAA4E;IAC5E,OAAO,CAAC,kBAAkB,CAA6C;IAEvE,2DAA2D;IAC3D,OAAO,CAAC,wBAAwB,CAAK;gBAGnC,QAAQ,GAAE,cAAmB,EAC7B,cAAc,GAAE,cAA+B;IAMjD;;OAEG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAC,qBAAqB,CAAC;IASpE;;OAEG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IASzC;;;;OAIG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAe9D;;;OAGG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAczC;;OAEG;IACH,qBAAqB,IAAI,OAAO;IAIhC;;OAEG;IACH,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAUpD;;OAEG;IACG,iBAAiB,CACrB,MAAM,EAAE,GAAG,CAAC,wBAAwB,GACnC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;IAqFzC;;OAEG;IACG,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnE;;OAEG;IACG,YAAY,CAChB,MAAM,EAAE,GAAG,CAAC,mBAAmB,GAC9B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAiBpC;;OAEG;IACG,aAAa,CACjB,MAAM,EAAE,GAAG,CAAC,oBAAoB,GAC/B,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAiBrC;;OAEG;IACG,cAAc,CAClB,MAAM,EAAE,GAAG,CAAC,qBAAqB,GAChC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;IAStC;;OAEG;IACG,cAAc,CAClB,MAAM,EAAE,GAAG,CAAC,qBAAqB,GAChC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;IAUtC;;OAEG;IACG,YAAY,CAChB,MAAM,EAAE,GAAG,CAAC,0BAA0B,GACrC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;IAU3C;;OAEG;IACG,eAAe,CACnB,MAAM,EAAE,GAAG,CAAC,sBAAsB,GACjC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;IAUvC;;OAEG;IACG,mBAAmB,CACvB,MAAM,EAAE,GAAG,CAAC,0BAA0B,GACrC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;CAS5C"}
|
package/dist/client-handler.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-handler.js","sourceRoot":"","sources":["../src/client-handler.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client-handler.js","sourceRoot":"","sources":["../src/client-handler.ts"],"names":[],"mappings":"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"}
|
package/dist/factory.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAQhD;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAuC;IAU9D;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI;IAIxD;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAIvD;;OAEG;IACH,MAAM,CAAC,UAAU,IAAI,MAAM,EAAE;IAI7B;;OAEG;WACU,KAAK,CAChB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,WAAW,CAAC;CAgBxB"}
|
package/dist/factory.js
CHANGED
|
@@ -4,6 +4,9 @@
|
|
|
4
4
|
import { AgentHandle } from "./agent-handle.js";
|
|
5
5
|
// Import default providers
|
|
6
6
|
import { claudeCodeConfig } from "./providers/claude-code.js";
|
|
7
|
+
import { codexConfig } from "./providers/codex.js";
|
|
8
|
+
import { geminiConfig } from "./providers/gemini.js";
|
|
9
|
+
import { opencodeConfig } from "./providers/opencode.js";
|
|
7
10
|
/**
|
|
8
11
|
* Factory for spawning and managing agents
|
|
9
12
|
*/
|
|
@@ -12,6 +15,9 @@ export class AgentFactory {
|
|
|
12
15
|
// Static initialization - register default providers
|
|
13
16
|
static {
|
|
14
17
|
AgentFactory.register("claude-code", claudeCodeConfig);
|
|
18
|
+
AgentFactory.register("codex", codexConfig);
|
|
19
|
+
AgentFactory.register("gemini", geminiConfig);
|
|
20
|
+
AgentFactory.register("opencode", opencodeConfig); // Note: not e2e tested.
|
|
15
21
|
}
|
|
16
22
|
/**
|
|
17
23
|
* Register an agent configuration
|
package/dist/factory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,2BAA2B;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,2BAA2B;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD;;GAEG;AACH,MAAM,OAAO,YAAY;IACf,MAAM,CAAC,QAAQ,GAA6B,IAAI,GAAG,EAAE,CAAC;IAE9D,qDAAqD;IACrD;QACE,YAAY,CAAC,QAAQ,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;QACvD,YAAY,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC5C,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC9C,YAAY,CAAC,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,wBAAwB;IAC7E,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAY,EAAE,MAAmB;QAC/C,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,IAAY;QAC3B,OAAO,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAU;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,CAChB,IAAY,EACZ,UAAwB,EAAE;QAE1B,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CACb,uBAAuB,IAAI,gBAAgB,YAAY,CAAC,UAAU,EAAE,CAAC,IAAI,CACvE,IAAI,CACL,EAAE,CACJ,CAAC;QACJ,CAAC;QAED,8BAA8B;QAC9B,MAAM,GAAG,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC9C,MAAM,YAAY,GAAgB,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,CAAC;QAErD,OAAO,WAAW,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -10,7 +10,8 @@ export type { SessionUpdate, ContentBlock, TextContent, ImageContent, ResourceLi
|
|
|
10
10
|
export type { ToolCall, ToolCallUpdate, ToolCallStatus, ToolCallContent, ToolCallLocation, } from "./types.js";
|
|
11
11
|
export type { RequestPermissionRequest, RequestPermissionResponse, PermissionOption, } from "./types.js";
|
|
12
12
|
export type { PermissionRequestUpdate, ExtendedSessionUpdate, } from "./types.js";
|
|
13
|
+
export type { FlushOptions, FlushResult, ForkSessionOptions, InjectResult, } from "./types.js";
|
|
13
14
|
export type { CreateTerminalRequest, CreateTerminalResponse, TerminalOutputRequest, TerminalOutputResponse, } from "./types.js";
|
|
14
15
|
export type { McpServer, McpServerStdio, McpServerHttp, McpServerSse, } from "./types.js";
|
|
15
|
-
export type { NewSessionResponse, PromptResponse, InitializeRequest, InitializeResponse, } from "./types.js";
|
|
16
|
+
export type { NewSessionResponse, PromptResponse, InitializeRequest, InitializeResponse, ForkSessionRequest, ForkSessionResponse, } from "./types.js";
|
|
16
17
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAG/C,YAAY,EACV,WAAW,EACX,YAAY,EACZ,cAAc,EACd,cAAc,EACd,cAAc,EACd,aAAa,GACd,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,UAAU,GACX,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,QAAQ,EACR,cAAc,EACd,cAAc,EACd,eAAe,EACf,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,wBAAwB,EACxB,yBAAyB,EACzB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,SAAS,EACT,cAAc,EACd,aAAa,EACb,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAG/C,YAAY,EACV,WAAW,EACX,YAAY,EACZ,cAAc,EACd,cAAc,EACd,cAAc,EACd,aAAa,GACd,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,UAAU,GACX,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,QAAQ,EACR,cAAc,EACd,cAAc,EACd,eAAe,EACf,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,wBAAwB,EACxB,yBAAyB,EACzB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,SAAS,EACT,cAAc,EACd,aAAa,EACb,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/providers/claude-code.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAgB;IAC3C,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/providers/claude-code.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAgB;IAC3C,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,CAAC,8BAA8B,CAAC;IACtC,GAAG,EAAE,EAAE;CACR,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../src/providers/codex.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,WAIzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/providers/codex.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAgB;IACtC,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,CAAC,2BAA2B,CAAC;IACnC,GAAG,EAAE,EAAE;CACR,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gemini CLI agent configuration
|
|
3
|
+
*/
|
|
4
|
+
import type { AgentConfig } from "../types.js";
|
|
5
|
+
/**
|
|
6
|
+
* Default configuration for Gemini CLI agent via --experimental-acp flag
|
|
7
|
+
*/
|
|
8
|
+
export declare const geminiConfig: AgentConfig;
|
|
9
|
+
//# sourceMappingURL=gemini.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../src/providers/gemini.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,WAI1B,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gemini CLI agent configuration
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Default configuration for Gemini CLI agent via --experimental-acp flag
|
|
6
|
+
*/
|
|
7
|
+
export const geminiConfig = {
|
|
8
|
+
command: "npx",
|
|
9
|
+
args: ["@google/gemini-cli", "--experimental-acp"],
|
|
10
|
+
env: {},
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=gemini.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/providers/gemini.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAgB;IACvC,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAClD,GAAG,EAAE,EAAE;CACR,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenCode agent configuration
|
|
3
|
+
*
|
|
4
|
+
* OpenCode is an open source AI coding agent built in Go.
|
|
5
|
+
* Install via: curl -fsSL https://opencode.ai/install | bash
|
|
6
|
+
* Or: go install github.com/opencode-ai/opencode@latest
|
|
7
|
+
*
|
|
8
|
+
* @see https://opencode.ai/docs/acp/
|
|
9
|
+
*/
|
|
10
|
+
import type { AgentConfig } from "../types.js";
|
|
11
|
+
/**
|
|
12
|
+
* Default configuration for OpenCode agent via ACP mode
|
|
13
|
+
*/
|
|
14
|
+
export declare const opencodeConfig: AgentConfig;
|
|
15
|
+
//# sourceMappingURL=opencode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../src/providers/opencode.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,WAI5B,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenCode agent configuration
|
|
3
|
+
*
|
|
4
|
+
* OpenCode is an open source AI coding agent built in Go.
|
|
5
|
+
* Install via: curl -fsSL https://opencode.ai/install | bash
|
|
6
|
+
* Or: go install github.com/opencode-ai/opencode@latest
|
|
7
|
+
*
|
|
8
|
+
* @see https://opencode.ai/docs/acp/
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Default configuration for OpenCode agent via ACP mode
|
|
12
|
+
*/
|
|
13
|
+
export const opencodeConfig = {
|
|
14
|
+
command: "opencode",
|
|
15
|
+
args: ["acp"],
|
|
16
|
+
env: {},
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=opencode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/providers/opencode.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAgB;IACzC,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,CAAC,KAAK,CAAC;IACb,GAAG,EAAE,EAAE;CACR,CAAC"}
|
package/dist/session.d.ts
CHANGED
|
@@ -2,18 +2,24 @@
|
|
|
2
2
|
* Session - High-level interface for interacting with an agent session
|
|
3
3
|
*/
|
|
4
4
|
import type * as acp from "@agentclientprotocol/sdk";
|
|
5
|
-
import type { PromptContent, ExtendedSessionUpdate } from "./types.js";
|
|
5
|
+
import type { PromptContent, ExtendedSessionUpdate, FlushOptions, FlushResult, InjectResult } from "./types.js";
|
|
6
6
|
import type { ACPClientHandler } from "./client-handler.js";
|
|
7
7
|
/**
|
|
8
8
|
* Represents an active session with an agent
|
|
9
9
|
*/
|
|
10
10
|
export declare class Session {
|
|
11
11
|
readonly id: string;
|
|
12
|
+
readonly cwd: string;
|
|
12
13
|
readonly modes: string[];
|
|
13
14
|
readonly models: string[];
|
|
14
15
|
private readonly connection;
|
|
15
16
|
private readonly clientHandler;
|
|
16
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Whether the session is currently processing a prompt
|
|
19
|
+
* @internal
|
|
20
|
+
*/
|
|
21
|
+
isProcessing: boolean;
|
|
22
|
+
constructor(id: string, connection: acp.ClientSideConnection, clientHandler: ACPClientHandler, cwd: string, modes?: string[], models?: string[]);
|
|
17
23
|
/**
|
|
18
24
|
* Send a prompt and stream responses
|
|
19
25
|
*
|
|
@@ -78,6 +84,56 @@ export declare class Session {
|
|
|
78
84
|
* ```
|
|
79
85
|
*/
|
|
80
86
|
addContext(_content: PromptContent): Promise<void>;
|
|
87
|
+
/**
|
|
88
|
+
* Inject a message into the session for processing in the next turn.
|
|
89
|
+
*
|
|
90
|
+
* This method queues a message that will be processed when the next prompt()
|
|
91
|
+
* call is made. Unlike addContext(), the injected message is not processed
|
|
92
|
+
* immediately during the current turn - it becomes part of the next turn's input.
|
|
93
|
+
*
|
|
94
|
+
* Use cases:
|
|
95
|
+
* - Queuing clarifications or corrections while the agent is working
|
|
96
|
+
* - Adding context that should influence the next interaction
|
|
97
|
+
* - Providing additional instructions between prompt calls
|
|
98
|
+
*
|
|
99
|
+
* NOTE: This feature requires agent support for the `_session/inject` extension method.
|
|
100
|
+
* Check `supportsInject()` or handle the error result to detect unsupported agents.
|
|
101
|
+
*
|
|
102
|
+
* @param content - The message to inject (string or ContentBlock array)
|
|
103
|
+
* @param options - Optional configuration
|
|
104
|
+
* @param options.throwOnUnsupported - If true, throws an error when agent doesn't support inject (default: false)
|
|
105
|
+
* @returns Object with success status and optional error message
|
|
106
|
+
*
|
|
107
|
+
* @example
|
|
108
|
+
* ```typescript
|
|
109
|
+
* // While agent is processing a prompt
|
|
110
|
+
* for await (const update of session.prompt("Analyze the codebase")) {
|
|
111
|
+
* handleUpdate(update);
|
|
112
|
+
* if (userHasClarification) {
|
|
113
|
+
* // Queue a message for the next turn
|
|
114
|
+
* await session.inject("Focus on TypeScript files only");
|
|
115
|
+
* }
|
|
116
|
+
* }
|
|
117
|
+
*
|
|
118
|
+
* // The injected message will be processed in the next prompt
|
|
119
|
+
* for await (const update of session.prompt("Continue analysis")) {
|
|
120
|
+
* // Agent will see the injected message here
|
|
121
|
+
* handleUpdate(update);
|
|
122
|
+
* }
|
|
123
|
+
* ```
|
|
124
|
+
*/
|
|
125
|
+
inject(content: PromptContent, options?: {
|
|
126
|
+
throwOnUnsupported?: boolean;
|
|
127
|
+
}): Promise<InjectResult>;
|
|
128
|
+
/**
|
|
129
|
+
* Check if this session's agent supports the inject feature.
|
|
130
|
+
*
|
|
131
|
+
* Note: This only checks if the connection has extMethod capability.
|
|
132
|
+
* The actual _session/inject method support can only be verified by calling inject().
|
|
133
|
+
*
|
|
134
|
+
* @returns true if the agent may support inject, false if definitely not supported
|
|
135
|
+
*/
|
|
136
|
+
supportsInject(): boolean;
|
|
81
137
|
/**
|
|
82
138
|
* Set the session mode
|
|
83
139
|
*/
|
|
@@ -94,6 +150,36 @@ export declare class Session {
|
|
|
94
150
|
* @experimental This relies on the unstable session/fork ACP capability
|
|
95
151
|
*/
|
|
96
152
|
fork(): Promise<Session>;
|
|
153
|
+
/**
|
|
154
|
+
* Fork a running session by flushing it to disk first
|
|
155
|
+
*
|
|
156
|
+
* This method handles forking a session that is currently active by:
|
|
157
|
+
* 1. Waiting for the session to become idle (up to idleTimeout)
|
|
158
|
+
* 2. If still processing after timeout, interrupting gracefully
|
|
159
|
+
* 3. Calling the agent's flush extension to trigger disk persistence
|
|
160
|
+
* 4. Waiting for the session file to appear on disk
|
|
161
|
+
* 5. Restarting the original session so it can continue
|
|
162
|
+
* 6. Creating the forked session using the persisted data
|
|
163
|
+
*
|
|
164
|
+
* Use this when you need to fork a session that may be actively processing.
|
|
165
|
+
* For idle sessions where you know the data is already persisted, use fork() directly.
|
|
166
|
+
*
|
|
167
|
+
* @param options - Optional timeout configuration
|
|
168
|
+
* @param options.idleTimeout - Max time to wait for session to become idle (default: 5000ms)
|
|
169
|
+
* @param options.persistTimeout - Max time to wait for disk persistence (default: 5000ms)
|
|
170
|
+
* @returns A new Session object representing the forked session
|
|
171
|
+
* @throws Error if the session cannot be persisted or forked
|
|
172
|
+
*
|
|
173
|
+
* @example
|
|
174
|
+
* ```typescript
|
|
175
|
+
* // Fork a potentially active session
|
|
176
|
+
* const forkedSession = await session.forkWithFlush();
|
|
177
|
+
* // Original session continues working, forked session has full context
|
|
178
|
+
* ```
|
|
179
|
+
*
|
|
180
|
+
* @experimental This relies on the unstable session/fork ACP capability
|
|
181
|
+
*/
|
|
182
|
+
forkWithFlush(options?: FlushOptions): Promise<Session>;
|
|
97
183
|
/**
|
|
98
184
|
* Respond to a permission request (for interactive permission mode)
|
|
99
185
|
*
|
|
@@ -121,5 +207,90 @@ export declare class Session {
|
|
|
121
207
|
* Get all pending permission request IDs for this session
|
|
122
208
|
*/
|
|
123
209
|
getPendingPermissionIds(): string[];
|
|
210
|
+
/**
|
|
211
|
+
* Get the file path where Claude Code stores session data
|
|
212
|
+
*
|
|
213
|
+
* Claude Code stores sessions at:
|
|
214
|
+
* ~/.claude/projects/<cwd-hash>/<sessionId>.jsonl
|
|
215
|
+
*
|
|
216
|
+
* Where <cwd-hash> is the cwd with `/` replaced by `-`
|
|
217
|
+
* (e.g., `/private/tmp` → `-private-tmp`)
|
|
218
|
+
*
|
|
219
|
+
* @param sessionId - The session ID to get the file path for
|
|
220
|
+
* @returns The absolute path to the session file
|
|
221
|
+
* @internal
|
|
222
|
+
* @deprecated This method is Claude Code specific. The agent now returns
|
|
223
|
+
* the file path in the flush response. This method may be removed in a future version.
|
|
224
|
+
*/
|
|
225
|
+
getSessionFilePath(sessionId: string): string;
|
|
226
|
+
/**
|
|
227
|
+
* Wait for session data to be persisted to disk
|
|
228
|
+
*
|
|
229
|
+
* Polls for the session file existence every 100ms until the file appears
|
|
230
|
+
* or the timeout expires.
|
|
231
|
+
*
|
|
232
|
+
* @param sessionId - The session ID to wait for
|
|
233
|
+
* @param timeout - Maximum time to wait in milliseconds (default: 5000ms)
|
|
234
|
+
* @returns true if file appears within timeout, false if timeout expires
|
|
235
|
+
* @internal
|
|
236
|
+
* @deprecated This method is Claude Code specific and relies on getSessionFilePath().
|
|
237
|
+
* The agent now handles persistence verification internally. This method may be
|
|
238
|
+
* removed in a future version.
|
|
239
|
+
*/
|
|
240
|
+
waitForPersistence(sessionId: string, timeout?: number): Promise<boolean>;
|
|
241
|
+
/**
|
|
242
|
+
* Wait for the session to become idle (not processing a prompt)
|
|
243
|
+
*
|
|
244
|
+
* Polls the session's isProcessing state every 100ms until the session
|
|
245
|
+
* becomes idle or the timeout expires.
|
|
246
|
+
*
|
|
247
|
+
* @param timeout - Maximum time to wait in milliseconds (default: 5000ms)
|
|
248
|
+
* @returns true if session becomes idle within timeout, false if timeout expires
|
|
249
|
+
* @internal
|
|
250
|
+
*/
|
|
251
|
+
waitForIdle(timeout?: number): Promise<boolean>;
|
|
252
|
+
/**
|
|
253
|
+
* Flush session to disk, creating a checkpoint without forking
|
|
254
|
+
*
|
|
255
|
+
* This method triggers persistence of the session data by:
|
|
256
|
+
* 1. Waiting for the session to become idle (or timing out)
|
|
257
|
+
* 2. Cancelling any in-progress work if still busy
|
|
258
|
+
* 3. Calling the agent's _session/flush extension method
|
|
259
|
+
* 4. Waiting for the session file to appear on disk
|
|
260
|
+
* 5. Restarting the session so it can continue working
|
|
261
|
+
*
|
|
262
|
+
* Use this for creating checkpoints that can later be forked or restored.
|
|
263
|
+
*
|
|
264
|
+
* @param options - Optional timeout configuration
|
|
265
|
+
* @param options.idleTimeout - Max time to wait for session to become idle (default: 5000ms)
|
|
266
|
+
* @param options.persistTimeout - Max time to wait for disk persistence (default: 5000ms)
|
|
267
|
+
* @returns Object with success status, file path if successful, or error message
|
|
268
|
+
*
|
|
269
|
+
* @example
|
|
270
|
+
* ```typescript
|
|
271
|
+
* const result = await session.flush();
|
|
272
|
+
* if (result.success) {
|
|
273
|
+
* console.log(`Session saved to ${result.filePath}`);
|
|
274
|
+
* } else {
|
|
275
|
+
* console.error(`Flush failed: ${result.error}`);
|
|
276
|
+
* }
|
|
277
|
+
* ```
|
|
278
|
+
*/
|
|
279
|
+
flush(options?: FlushOptions): Promise<FlushResult>;
|
|
280
|
+
/**
|
|
281
|
+
* Restart this session after it has been flushed to disk
|
|
282
|
+
*
|
|
283
|
+
* This method is used as part of the fork-with-flush mechanism. After a session
|
|
284
|
+
* has been aborted to trigger disk persistence, this method restarts the session
|
|
285
|
+
* by loading it from the persisted state.
|
|
286
|
+
*
|
|
287
|
+
* The restarted session will have the same sessionId and conversation history,
|
|
288
|
+
* but with fresh internal state (new input stream, reset flags).
|
|
289
|
+
*
|
|
290
|
+
* @returns A new Session object representing the restarted session
|
|
291
|
+
* @throws Error if the agent does not support loading sessions
|
|
292
|
+
* @internal
|
|
293
|
+
*/
|
|
294
|
+
restartSession(): Promise<Session>;
|
|
124
295
|
}
|
|
125
296
|
//# sourceMappingURL=session.d.ts.map
|
package/dist/session.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,KAAK,GAAG,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAChH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D;;GAEG;AACH,qBAAa,OAAO;IAClB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAE1B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2B;IACtD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmB;IAEjD;;;OAGG;IACH,YAAY,EAAE,OAAO,CAAS;gBAG5B,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,GAAG,CAAC,oBAAoB,EACpC,aAAa,EAAE,gBAAgB,EAC/B,GAAG,EAAE,MAAM,EACX,KAAK,GAAE,MAAM,EAAO,EACpB,MAAM,GAAE,MAAM,EAAO;IAUvB;;;;;OAKG;IACI,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,CAAC,qBAAqB,CAAC;IAyD3E;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAM7B;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACI,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,CAAC,qBAAqB,CAAC;IAWlF;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,UAAU,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACG,MAAM,CACV,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE;QAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;KAAO,GAC7C,OAAO,CAAC,YAAY,CAAC;IAiDxB;;;;;;;OAOG;IACH,cAAc,IAAI,OAAO;IAKzB;;OAEG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU1C;;;;;;;;;;OAUG;IACG,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAoB9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACG,aAAa,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAgDjE;;;;;;;;;OASG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI9D;;;;;;OAMG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIzC;;OAEG;IACH,qBAAqB,IAAI,OAAO;IAIhC;;OAEG;IACH,uBAAuB,IAAI,MAAM,EAAE;IAInC;;;;;;;;;;;;;;OAcG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAS7C;;;;;;;;;;;;;OAaG;IACG,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,MAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAYrF;;;;;;;;;OASG;IACG,WAAW,CAAC,OAAO,GAAE,MAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAW3D;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACG,KAAK,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,CAAC;IAsC7D;;;;;;;;;;;;;OAaG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;CAoBzC"}
|
package/dist/session.js
CHANGED
|
@@ -1,19 +1,29 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Session - High-level interface for interacting with an agent session
|
|
3
3
|
*/
|
|
4
|
+
import * as fs from "node:fs";
|
|
5
|
+
import * as path from "node:path";
|
|
6
|
+
import * as os from "node:os";
|
|
4
7
|
/**
|
|
5
8
|
* Represents an active session with an agent
|
|
6
9
|
*/
|
|
7
10
|
export class Session {
|
|
8
11
|
id;
|
|
12
|
+
cwd;
|
|
9
13
|
modes;
|
|
10
14
|
models;
|
|
11
15
|
connection;
|
|
12
16
|
clientHandler;
|
|
13
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Whether the session is currently processing a prompt
|
|
19
|
+
* @internal
|
|
20
|
+
*/
|
|
21
|
+
isProcessing = false;
|
|
22
|
+
constructor(id, connection, clientHandler, cwd, modes = [], models = []) {
|
|
14
23
|
this.id = id;
|
|
15
24
|
this.connection = connection;
|
|
16
25
|
this.clientHandler = clientHandler;
|
|
26
|
+
this.cwd = cwd;
|
|
17
27
|
this.modes = modes;
|
|
18
28
|
this.models = models;
|
|
19
29
|
}
|
|
@@ -24,6 +34,8 @@ export class Session {
|
|
|
24
34
|
* that require a response via respondToPermission() before the prompt can continue.
|
|
25
35
|
*/
|
|
26
36
|
async *prompt(content) {
|
|
37
|
+
// Mark session as processing
|
|
38
|
+
this.isProcessing = true;
|
|
27
39
|
// Convert string to ContentBlock array
|
|
28
40
|
const promptBlocks = typeof content === "string"
|
|
29
41
|
? [{ type: "text", text: content }]
|
|
@@ -66,8 +78,9 @@ export class Session {
|
|
|
66
78
|
}
|
|
67
79
|
}
|
|
68
80
|
finally {
|
|
69
|
-
// Ensure stream is ended
|
|
81
|
+
// Ensure stream is ended and mark session as idle
|
|
70
82
|
this.clientHandler.endSessionStream(this.id);
|
|
83
|
+
this.isProcessing = false;
|
|
71
84
|
}
|
|
72
85
|
}
|
|
73
86
|
/**
|
|
@@ -150,6 +163,95 @@ export class Session {
|
|
|
150
163
|
"'_session/addContext' extension method. Use interruptWith() as an alternative, " +
|
|
151
164
|
"which cancels the current prompt and starts a new one.");
|
|
152
165
|
}
|
|
166
|
+
/**
|
|
167
|
+
* Inject a message into the session for processing in the next turn.
|
|
168
|
+
*
|
|
169
|
+
* This method queues a message that will be processed when the next prompt()
|
|
170
|
+
* call is made. Unlike addContext(), the injected message is not processed
|
|
171
|
+
* immediately during the current turn - it becomes part of the next turn's input.
|
|
172
|
+
*
|
|
173
|
+
* Use cases:
|
|
174
|
+
* - Queuing clarifications or corrections while the agent is working
|
|
175
|
+
* - Adding context that should influence the next interaction
|
|
176
|
+
* - Providing additional instructions between prompt calls
|
|
177
|
+
*
|
|
178
|
+
* NOTE: This feature requires agent support for the `_session/inject` extension method.
|
|
179
|
+
* Check `supportsInject()` or handle the error result to detect unsupported agents.
|
|
180
|
+
*
|
|
181
|
+
* @param content - The message to inject (string or ContentBlock array)
|
|
182
|
+
* @param options - Optional configuration
|
|
183
|
+
* @param options.throwOnUnsupported - If true, throws an error when agent doesn't support inject (default: false)
|
|
184
|
+
* @returns Object with success status and optional error message
|
|
185
|
+
*
|
|
186
|
+
* @example
|
|
187
|
+
* ```typescript
|
|
188
|
+
* // While agent is processing a prompt
|
|
189
|
+
* for await (const update of session.prompt("Analyze the codebase")) {
|
|
190
|
+
* handleUpdate(update);
|
|
191
|
+
* if (userHasClarification) {
|
|
192
|
+
* // Queue a message for the next turn
|
|
193
|
+
* await session.inject("Focus on TypeScript files only");
|
|
194
|
+
* }
|
|
195
|
+
* }
|
|
196
|
+
*
|
|
197
|
+
* // The injected message will be processed in the next prompt
|
|
198
|
+
* for await (const update of session.prompt("Continue analysis")) {
|
|
199
|
+
* // Agent will see the injected message here
|
|
200
|
+
* handleUpdate(update);
|
|
201
|
+
* }
|
|
202
|
+
* ```
|
|
203
|
+
*/
|
|
204
|
+
async inject(content, options = {}) {
|
|
205
|
+
const { throwOnUnsupported = false } = options;
|
|
206
|
+
// Check if the connection has extMethod capability
|
|
207
|
+
const connection = this.connection;
|
|
208
|
+
if (!connection.extMethod) {
|
|
209
|
+
const error = "Agent does not support extension methods required for inject.";
|
|
210
|
+
if (throwOnUnsupported) {
|
|
211
|
+
throw new Error(error);
|
|
212
|
+
}
|
|
213
|
+
return { success: false, error };
|
|
214
|
+
}
|
|
215
|
+
try {
|
|
216
|
+
// Convert string to ContentBlock array if needed
|
|
217
|
+
const message = typeof content === "string"
|
|
218
|
+
? [{ type: "text", text: content }]
|
|
219
|
+
: content;
|
|
220
|
+
// Call the agent's _session/inject extension method
|
|
221
|
+
const result = await connection.extMethod("_session/inject", {
|
|
222
|
+
sessionId: this.id,
|
|
223
|
+
message,
|
|
224
|
+
});
|
|
225
|
+
return result;
|
|
226
|
+
}
|
|
227
|
+
catch (error) {
|
|
228
|
+
const errorMessage = String(error);
|
|
229
|
+
// Check for "method not found" errors and provide a clearer message
|
|
230
|
+
if (errorMessage.includes("not found") || errorMessage.includes("not supported")) {
|
|
231
|
+
const friendlyError = "Agent does not support the inject feature.";
|
|
232
|
+
if (throwOnUnsupported) {
|
|
233
|
+
throw new Error(friendlyError);
|
|
234
|
+
}
|
|
235
|
+
return { success: false, error: friendlyError };
|
|
236
|
+
}
|
|
237
|
+
return {
|
|
238
|
+
success: false,
|
|
239
|
+
error: `Failed to inject message: ${errorMessage}`,
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Check if this session's agent supports the inject feature.
|
|
245
|
+
*
|
|
246
|
+
* Note: This only checks if the connection has extMethod capability.
|
|
247
|
+
* The actual _session/inject method support can only be verified by calling inject().
|
|
248
|
+
*
|
|
249
|
+
* @returns true if the agent may support inject, false if definitely not supported
|
|
250
|
+
*/
|
|
251
|
+
supportsInject() {
|
|
252
|
+
const connection = this.connection;
|
|
253
|
+
return typeof connection.extMethod === "function";
|
|
254
|
+
}
|
|
153
255
|
/**
|
|
154
256
|
* Set the session mode
|
|
155
257
|
*/
|
|
@@ -174,13 +276,76 @@ export class Session {
|
|
|
174
276
|
* @experimental This relies on the unstable session/fork ACP capability
|
|
175
277
|
*/
|
|
176
278
|
async fork() {
|
|
177
|
-
if (!this.connection.
|
|
279
|
+
if (!this.connection.unstable_forkSession) {
|
|
178
280
|
throw new Error("Agent does not support forking sessions");
|
|
179
281
|
}
|
|
180
|
-
const result = await this.connection.
|
|
282
|
+
const result = await this.connection.unstable_forkSession({
|
|
181
283
|
sessionId: this.id,
|
|
284
|
+
cwd: this.cwd,
|
|
182
285
|
});
|
|
183
|
-
return new Session(result.sessionId, this.connection, this.clientHandler, result.modes?.availableModes?.map((m) => m.id) ?? [], result.models?.availableModels?.map((m) => m.modelId) ?? []);
|
|
286
|
+
return new Session(result.sessionId, this.connection, this.clientHandler, this.cwd, result.modes?.availableModes?.map((m) => m.id) ?? [], result.models?.availableModels?.map((m) => m.modelId) ?? []);
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Fork a running session by flushing it to disk first
|
|
290
|
+
*
|
|
291
|
+
* This method handles forking a session that is currently active by:
|
|
292
|
+
* 1. Waiting for the session to become idle (up to idleTimeout)
|
|
293
|
+
* 2. If still processing after timeout, interrupting gracefully
|
|
294
|
+
* 3. Calling the agent's flush extension to trigger disk persistence
|
|
295
|
+
* 4. Waiting for the session file to appear on disk
|
|
296
|
+
* 5. Restarting the original session so it can continue
|
|
297
|
+
* 6. Creating the forked session using the persisted data
|
|
298
|
+
*
|
|
299
|
+
* Use this when you need to fork a session that may be actively processing.
|
|
300
|
+
* For idle sessions where you know the data is already persisted, use fork() directly.
|
|
301
|
+
*
|
|
302
|
+
* @param options - Optional timeout configuration
|
|
303
|
+
* @param options.idleTimeout - Max time to wait for session to become idle (default: 5000ms)
|
|
304
|
+
* @param options.persistTimeout - Max time to wait for disk persistence (default: 5000ms)
|
|
305
|
+
* @returns A new Session object representing the forked session
|
|
306
|
+
* @throws Error if the session cannot be persisted or forked
|
|
307
|
+
*
|
|
308
|
+
* @example
|
|
309
|
+
* ```typescript
|
|
310
|
+
* // Fork a potentially active session
|
|
311
|
+
* const forkedSession = await session.forkWithFlush();
|
|
312
|
+
* // Original session continues working, forked session has full context
|
|
313
|
+
* ```
|
|
314
|
+
*
|
|
315
|
+
* @experimental This relies on the unstable session/fork ACP capability
|
|
316
|
+
*/
|
|
317
|
+
async forkWithFlush(options = {}) {
|
|
318
|
+
const { idleTimeout = 5000, persistTimeout = 5000 } = options;
|
|
319
|
+
if (!this.connection.unstable_forkSession) {
|
|
320
|
+
throw new Error("Agent does not support forking sessions");
|
|
321
|
+
}
|
|
322
|
+
// Step 1: Wait for idle or interrupt
|
|
323
|
+
const becameIdle = await this.waitForIdle(idleTimeout);
|
|
324
|
+
if (!becameIdle && this.isProcessing) {
|
|
325
|
+
// Interrupt current operation gracefully
|
|
326
|
+
await this.cancel();
|
|
327
|
+
await new Promise(resolve => setTimeout(resolve, 500));
|
|
328
|
+
}
|
|
329
|
+
// Step 2: Call the agent's flush extension method to trigger persistence
|
|
330
|
+
// The agent handles waiting for persistence internally
|
|
331
|
+
const flushResult = await this.connection
|
|
332
|
+
.extMethod("_session/flush", {
|
|
333
|
+
sessionId: this.id,
|
|
334
|
+
idleTimeout,
|
|
335
|
+
persistTimeout,
|
|
336
|
+
});
|
|
337
|
+
// Check if the agent reported success
|
|
338
|
+
if (!flushResult.success) {
|
|
339
|
+
throw new Error(flushResult.error ?? `Failed to persist session ${this.id} to disk`);
|
|
340
|
+
}
|
|
341
|
+
// Step 3: Restart original session so it can continue working
|
|
342
|
+
await this.restartSession();
|
|
343
|
+
// Step 4: Create forked session using existing fork logic
|
|
344
|
+
const result = await this.connection.unstable_forkSession({
|
|
345
|
+
sessionId: this.id,
|
|
346
|
+
cwd: this.cwd,
|
|
347
|
+
});
|
|
348
|
+
return new Session(result.sessionId, this.connection, this.clientHandler, this.cwd, result.modes?.availableModes?.map((m) => m.id) ?? [], result.models?.availableModels?.map((m) => m.modelId) ?? []);
|
|
184
349
|
}
|
|
185
350
|
/**
|
|
186
351
|
* Respond to a permission request (for interactive permission mode)
|
|
@@ -217,5 +382,158 @@ export class Session {
|
|
|
217
382
|
getPendingPermissionIds() {
|
|
218
383
|
return this.clientHandler.getPendingPermissionIds(this.id);
|
|
219
384
|
}
|
|
385
|
+
/**
|
|
386
|
+
* Get the file path where Claude Code stores session data
|
|
387
|
+
*
|
|
388
|
+
* Claude Code stores sessions at:
|
|
389
|
+
* ~/.claude/projects/<cwd-hash>/<sessionId>.jsonl
|
|
390
|
+
*
|
|
391
|
+
* Where <cwd-hash> is the cwd with `/` replaced by `-`
|
|
392
|
+
* (e.g., `/private/tmp` → `-private-tmp`)
|
|
393
|
+
*
|
|
394
|
+
* @param sessionId - The session ID to get the file path for
|
|
395
|
+
* @returns The absolute path to the session file
|
|
396
|
+
* @internal
|
|
397
|
+
* @deprecated This method is Claude Code specific. The agent now returns
|
|
398
|
+
* the file path in the flush response. This method may be removed in a future version.
|
|
399
|
+
*/
|
|
400
|
+
getSessionFilePath(sessionId) {
|
|
401
|
+
// Resolve the real path to handle macOS symlinks like /var -> /private/var
|
|
402
|
+
// Claude Code uses the resolved path internally
|
|
403
|
+
const realCwd = fs.realpathSync(this.cwd);
|
|
404
|
+
// Claude Code replaces both / and _ with - in the cwd hash
|
|
405
|
+
const cwdHash = realCwd.replace(/[/_]/g, "-");
|
|
406
|
+
return path.join(os.homedir(), ".claude", "projects", cwdHash, `${sessionId}.jsonl`);
|
|
407
|
+
}
|
|
408
|
+
/**
|
|
409
|
+
* Wait for session data to be persisted to disk
|
|
410
|
+
*
|
|
411
|
+
* Polls for the session file existence every 100ms until the file appears
|
|
412
|
+
* or the timeout expires.
|
|
413
|
+
*
|
|
414
|
+
* @param sessionId - The session ID to wait for
|
|
415
|
+
* @param timeout - Maximum time to wait in milliseconds (default: 5000ms)
|
|
416
|
+
* @returns true if file appears within timeout, false if timeout expires
|
|
417
|
+
* @internal
|
|
418
|
+
* @deprecated This method is Claude Code specific and relies on getSessionFilePath().
|
|
419
|
+
* The agent now handles persistence verification internally. This method may be
|
|
420
|
+
* removed in a future version.
|
|
421
|
+
*/
|
|
422
|
+
async waitForPersistence(sessionId, timeout = 5000) {
|
|
423
|
+
const filePath = this.getSessionFilePath(sessionId);
|
|
424
|
+
const start = Date.now();
|
|
425
|
+
while (Date.now() - start < timeout) {
|
|
426
|
+
if (fs.existsSync(filePath)) {
|
|
427
|
+
return true;
|
|
428
|
+
}
|
|
429
|
+
await new Promise(resolve => setTimeout(resolve, 100));
|
|
430
|
+
}
|
|
431
|
+
return false;
|
|
432
|
+
}
|
|
433
|
+
/**
|
|
434
|
+
* Wait for the session to become idle (not processing a prompt)
|
|
435
|
+
*
|
|
436
|
+
* Polls the session's isProcessing state every 100ms until the session
|
|
437
|
+
* becomes idle or the timeout expires.
|
|
438
|
+
*
|
|
439
|
+
* @param timeout - Maximum time to wait in milliseconds (default: 5000ms)
|
|
440
|
+
* @returns true if session becomes idle within timeout, false if timeout expires
|
|
441
|
+
* @internal
|
|
442
|
+
*/
|
|
443
|
+
async waitForIdle(timeout = 5000) {
|
|
444
|
+
const start = Date.now();
|
|
445
|
+
while (Date.now() - start < timeout) {
|
|
446
|
+
if (!this.isProcessing) {
|
|
447
|
+
return true;
|
|
448
|
+
}
|
|
449
|
+
await new Promise(resolve => setTimeout(resolve, 100));
|
|
450
|
+
}
|
|
451
|
+
return false;
|
|
452
|
+
}
|
|
453
|
+
/**
|
|
454
|
+
* Flush session to disk, creating a checkpoint without forking
|
|
455
|
+
*
|
|
456
|
+
* This method triggers persistence of the session data by:
|
|
457
|
+
* 1. Waiting for the session to become idle (or timing out)
|
|
458
|
+
* 2. Cancelling any in-progress work if still busy
|
|
459
|
+
* 3. Calling the agent's _session/flush extension method
|
|
460
|
+
* 4. Waiting for the session file to appear on disk
|
|
461
|
+
* 5. Restarting the session so it can continue working
|
|
462
|
+
*
|
|
463
|
+
* Use this for creating checkpoints that can later be forked or restored.
|
|
464
|
+
*
|
|
465
|
+
* @param options - Optional timeout configuration
|
|
466
|
+
* @param options.idleTimeout - Max time to wait for session to become idle (default: 5000ms)
|
|
467
|
+
* @param options.persistTimeout - Max time to wait for disk persistence (default: 5000ms)
|
|
468
|
+
* @returns Object with success status, file path if successful, or error message
|
|
469
|
+
*
|
|
470
|
+
* @example
|
|
471
|
+
* ```typescript
|
|
472
|
+
* const result = await session.flush();
|
|
473
|
+
* if (result.success) {
|
|
474
|
+
* console.log(`Session saved to ${result.filePath}`);
|
|
475
|
+
* } else {
|
|
476
|
+
* console.error(`Flush failed: ${result.error}`);
|
|
477
|
+
* }
|
|
478
|
+
* ```
|
|
479
|
+
*/
|
|
480
|
+
async flush(options = {}) {
|
|
481
|
+
const { idleTimeout = 5000, persistTimeout = 5000 } = options;
|
|
482
|
+
try {
|
|
483
|
+
// Wait for idle or timeout
|
|
484
|
+
const becameIdle = await this.waitForIdle(idleTimeout);
|
|
485
|
+
if (!becameIdle && this.isProcessing) {
|
|
486
|
+
// Interrupt if still busy
|
|
487
|
+
await this.cancel();
|
|
488
|
+
await new Promise(resolve => setTimeout(resolve, 500));
|
|
489
|
+
}
|
|
490
|
+
// Call the agent's flush extension method to trigger persistence
|
|
491
|
+
// The agent handles waiting for persistence and returns the result
|
|
492
|
+
const flushResult = await this.connection
|
|
493
|
+
.extMethod("_session/flush", {
|
|
494
|
+
sessionId: this.id,
|
|
495
|
+
idleTimeout,
|
|
496
|
+
persistTimeout,
|
|
497
|
+
});
|
|
498
|
+
// Check if the agent reported success
|
|
499
|
+
if (!flushResult.success) {
|
|
500
|
+
return { success: false, error: flushResult.error ?? "Flush failed" };
|
|
501
|
+
}
|
|
502
|
+
// Restart session so it can continue working
|
|
503
|
+
await this.restartSession();
|
|
504
|
+
return {
|
|
505
|
+
success: true,
|
|
506
|
+
filePath: flushResult.filePath,
|
|
507
|
+
};
|
|
508
|
+
}
|
|
509
|
+
catch (error) {
|
|
510
|
+
return { success: false, error: String(error) };
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
/**
|
|
514
|
+
* Restart this session after it has been flushed to disk
|
|
515
|
+
*
|
|
516
|
+
* This method is used as part of the fork-with-flush mechanism. After a session
|
|
517
|
+
* has been aborted to trigger disk persistence, this method restarts the session
|
|
518
|
+
* by loading it from the persisted state.
|
|
519
|
+
*
|
|
520
|
+
* The restarted session will have the same sessionId and conversation history,
|
|
521
|
+
* but with fresh internal state (new input stream, reset flags).
|
|
522
|
+
*
|
|
523
|
+
* @returns A new Session object representing the restarted session
|
|
524
|
+
* @throws Error if the agent does not support loading sessions
|
|
525
|
+
* @internal
|
|
526
|
+
*/
|
|
527
|
+
async restartSession() {
|
|
528
|
+
if (!this.connection.loadSession) {
|
|
529
|
+
throw new Error("Agent does not support restarting sessions");
|
|
530
|
+
}
|
|
531
|
+
const result = await this.connection.loadSession({
|
|
532
|
+
sessionId: this.id,
|
|
533
|
+
cwd: this.cwd,
|
|
534
|
+
mcpServers: [],
|
|
535
|
+
});
|
|
536
|
+
return new Session(this.id, this.connection, this.clientHandler, this.cwd, result.modes?.availableModes?.map((m) => m.id) ?? this.modes, result.models?.availableModels?.map((m) => m.modelId) ?? this.models);
|
|
537
|
+
}
|
|
220
538
|
}
|
|
221
539
|
//# sourceMappingURL=session.js.map
|
package/dist/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -151,4 +151,54 @@ export interface SessionOptions {
|
|
|
151
151
|
* Content that can be sent as a prompt
|
|
152
152
|
*/
|
|
153
153
|
export type PromptContent = string | acp.ContentBlock[];
|
|
154
|
+
/**
|
|
155
|
+
* Options for flushing a session to disk
|
|
156
|
+
*/
|
|
157
|
+
export interface FlushOptions {
|
|
158
|
+
/** Maximum time to wait for session to become idle (default: 5000ms) */
|
|
159
|
+
idleTimeout?: number;
|
|
160
|
+
/** Maximum time to wait for disk persistence (default: 5000ms) */
|
|
161
|
+
persistTimeout?: number;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Result of a session flush operation
|
|
165
|
+
*/
|
|
166
|
+
export interface FlushResult {
|
|
167
|
+
/** Whether the flush succeeded */
|
|
168
|
+
success: boolean;
|
|
169
|
+
/** Path to the session file (if successful) */
|
|
170
|
+
filePath?: string;
|
|
171
|
+
/** Error message (if failed) */
|
|
172
|
+
error?: string;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Options for forking a session
|
|
176
|
+
*/
|
|
177
|
+
export interface ForkSessionOptions {
|
|
178
|
+
/**
|
|
179
|
+
* Force using flush-based forking even if the session appears idle.
|
|
180
|
+
* Use this when you want to ensure the session is definitely persisted
|
|
181
|
+
* before forking, regardless of its current state.
|
|
182
|
+
*/
|
|
183
|
+
forceFlush?: boolean;
|
|
184
|
+
/**
|
|
185
|
+
* Maximum time to wait for session to become idle (default: 5000ms).
|
|
186
|
+
* Only applicable when flush is needed.
|
|
187
|
+
*/
|
|
188
|
+
idleTimeout?: number;
|
|
189
|
+
/**
|
|
190
|
+
* Maximum time to wait for disk persistence (default: 5000ms).
|
|
191
|
+
* Only applicable when flush is needed.
|
|
192
|
+
*/
|
|
193
|
+
persistTimeout?: number;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Result of a session inject operation
|
|
197
|
+
*/
|
|
198
|
+
export interface InjectResult {
|
|
199
|
+
/** Whether the inject succeeded */
|
|
200
|
+
success: boolean;
|
|
201
|
+
/** Error message (if failed) */
|
|
202
|
+
error?: string;
|
|
203
|
+
}
|
|
154
204
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,KAAK,GAAG,MAAM,0BAA0B,CAAC;AAOrD,YAAY;AACV,gDAAgD;AAChD,aAAa;AACb,8CAA8C;AAC9C,YAAY;AACZ,yBAAyB;AACzB,WAAW;AACX,0BAA0B;AAC1B,YAAY;AACZ,kCAAkC;AAClC,YAAY;AACZ,0DAA0D;AAC1D,iBAAiB;AACjB,2CAA2C;AAC3C,UAAU,GACX,MAAM,0BAA0B,CAAC;AAGlC,YAAY;AACV,yCAAyC;AACzC,QAAQ;AACR,gDAAgD;AAChD,cAAc;AACd,4BAA4B;AAC5B,cAAc;AACd,iCAAiC;AACjC,eAAe;AACf,uCAAuC;AACvC,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAGlC,YAAY;AACV,kCAAkC;AAClC,wBAAwB;AACxB,qCAAqC;AACrC,yBAAyB;AACzB,gDAAgD;AAChD,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAGlC,YAAY;AACV,mCAAmC;AACnC,qBAAqB;AACrB,gCAAgC;AAChC,sBAAsB;AACtB,kCAAkC;AAClC,qBAAqB;AACrB,oCAAoC;AACpC,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAGlC,YAAY;AACV,qDAAqD;AACrD,SAAS;AACT,4BAA4B;AAC5B,cAAc;AACd,2BAA2B;AAC3B,aAAa;AACb,0BAA0B;AAC1B,YAAY,GACb,MAAM,0BAA0B,CAAC;AAGlC,YAAY;AACV,2CAA2C;AAC3C,kBAAkB;AAClB,iDAAiD;AACjD,cAAc;AACd,2CAA2C;AAC3C,iBAAiB;AACjB,iCAAiC;AACjC,kBAAkB;AAClB,qDAAqD;AACrD,kBAAkB;AAClB,iDAAiD;AACjD,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAElC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,mCAAmC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG,WAAW,GAAG,UAAU,GAAG,aAAa,CAAC;AAEvF;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,oBAAoB,CAAC;IACpC,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,QAAQ,EAAE;QACR,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,oDAAoD;IACpD,OAAO,EAAE,GAAG,CAAC,gBAAgB,EAAE,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,GAAG,CAAC,aAAa,GAAG,uBAAuB,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,gDAAgD;IAChD,mBAAmB,CAAC,EAAE,CACpB,OAAO,EAAE,GAAG,CAAC,wBAAwB,KAClC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAE5C,gCAAgC;IAChC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/C,iCAAiC;IACjC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/D,wCAAwC;IACxC,gBAAgB,CAAC,EAAE,CACjB,MAAM,EAAE,GAAG,CAAC,qBAAqB,KAC9B,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAEzC,sCAAsC;IACtC,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3D,oCAAoC;IACpC,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvD,uCAAuC;IACvC,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1D,6CAA6C;IAC7C,qBAAqB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACjE;AAED;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,cAAc;IAClD,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,yDAAyD;IACzD,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,6BAA6B;IAC7B,UAAU,CAAC,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;IAC7B,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "acp-factory",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.1.0",
|
|
4
4
|
"description": "A library for spawning and managing agents through the Agent Client Protocol (ACP)",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -22,6 +22,12 @@
|
|
|
22
22
|
"dev": "tsc --watch",
|
|
23
23
|
"test": "vitest",
|
|
24
24
|
"test:run": "vitest run",
|
|
25
|
+
"test:e2e": "RUN_E2E_TESTS=true vitest run test/e2e/",
|
|
26
|
+
"test:e2e:local": "RUN_E2E_TESTS=true USE_LOCAL_FORK=true vitest run test/e2e/",
|
|
27
|
+
"test:e2e:codex": "RUN_E2E_TESTS=true vitest run test/e2e/codex.e2e.test.ts",
|
|
28
|
+
"test:e2e:gemini": "RUN_E2E_TESTS=true vitest run test/e2e/gemini.e2e.test.ts",
|
|
29
|
+
"test:e2e:opencode": "RUN_E2E_TESTS=true vitest run test/e2e/opencode.e2e.test.ts",
|
|
30
|
+
"test:e2e:claude": "RUN_E2E_TESTS=true vitest run test/e2e/session-fork-resume.test.ts test/e2e/fork-with-flush.e2e.test.ts",
|
|
25
31
|
"lint": "eslint src --ext .ts",
|
|
26
32
|
"lint:fix": "eslint src --ext .ts --fix",
|
|
27
33
|
"clean": "rm -rf dist",
|
|
@@ -48,8 +54,6 @@
|
|
|
48
54
|
"acp",
|
|
49
55
|
"agent",
|
|
50
56
|
"agent-client-protocol",
|
|
51
|
-
"claude",
|
|
52
|
-
"claude-code",
|
|
53
57
|
"ai",
|
|
54
58
|
"llm",
|
|
55
59
|
"typescript",
|
|
@@ -61,7 +65,23 @@
|
|
|
61
65
|
"node": ">=18.0.0"
|
|
62
66
|
},
|
|
63
67
|
"dependencies": {
|
|
64
|
-
"@agentclientprotocol/sdk": "^0.
|
|
68
|
+
"@agentclientprotocol/sdk": "^0.12.0"
|
|
69
|
+
},
|
|
70
|
+
"peerDependencies": {
|
|
71
|
+
"@sudocode-ai/claude-code-acp": "^0.12.10",
|
|
72
|
+
"@zed-industries/codex-acp": "^0.7.4",
|
|
73
|
+
"@google/gemini-cli": "^0.21.0"
|
|
74
|
+
},
|
|
75
|
+
"peerDependenciesMeta": {
|
|
76
|
+
"@sudocode-ai/claude-code-acp": {
|
|
77
|
+
"optional": true
|
|
78
|
+
},
|
|
79
|
+
"@zed-industries/codex-acp": {
|
|
80
|
+
"optional": true
|
|
81
|
+
},
|
|
82
|
+
"@google/gemini-cli": {
|
|
83
|
+
"optional": true
|
|
84
|
+
}
|
|
65
85
|
},
|
|
66
86
|
"devDependencies": {
|
|
67
87
|
"@types/node": "^22.0.0",
|