@wrongstack/acp 0.284.1 → 0.286.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.
Files changed (71) hide show
  1. package/dist/agent/index.d.ts +13 -0
  2. package/dist/agent/index.d.ts.map +1 -0
  3. package/dist/{wrongstack-acp-agent-nzrqmJnc.d.ts → agent/protocol-handler.d.ts} +26 -75
  4. package/dist/agent/protocol-handler.d.ts.map +1 -0
  5. package/dist/{server-agent-turn-C3U0lhA-.d.ts → agent/server-agent-turn.d.ts} +8 -63
  6. package/dist/agent/server-agent-turn.d.ts.map +1 -0
  7. package/dist/agent/session-store.d.ts +53 -0
  8. package/dist/agent/session-store.d.ts.map +1 -0
  9. package/dist/agent/stdio-transport.d.ts +82 -0
  10. package/dist/agent/stdio-transport.d.ts.map +1 -0
  11. package/dist/{tools-registry-D2xdbzN7.d.ts → agent/tools-registry.d.ts} +4 -7
  12. package/dist/agent/tools-registry.d.ts.map +1 -0
  13. package/dist/agent/wrongstack-acp-agent.d.ts +58 -0
  14. package/dist/agent/wrongstack-acp-agent.d.ts.map +1 -0
  15. package/dist/agent/ws-bridge-transport.d.ts +37 -0
  16. package/dist/agent/ws-bridge-transport.d.ts.map +1 -0
  17. package/dist/agent.d.ts +1 -45
  18. package/dist/agent.js +21 -11
  19. package/dist/agent.js.map +7 -1
  20. package/dist/client/acp-session.d.ts +349 -0
  21. package/dist/client/acp-session.d.ts.map +1 -0
  22. package/dist/client/file-server.d.ts +44 -0
  23. package/dist/client/file-server.d.ts.map +1 -0
  24. package/dist/client/index.d.ts +12 -0
  25. package/dist/client/index.d.ts.map +1 -0
  26. package/dist/client/permission.d.ts +45 -0
  27. package/dist/client/permission.d.ts.map +1 -0
  28. package/dist/client/terminal-server.d.ts +54 -0
  29. package/dist/client/terminal-server.d.ts.map +1 -0
  30. package/dist/{index-DEEYyEpu.d.ts → client/tool-translator.d.ts} +17 -8
  31. package/dist/client/tool-translator.d.ts.map +1 -0
  32. package/dist/client/websocket-transport.d.ts +40 -0
  33. package/dist/client/websocket-transport.d.ts.map +1 -0
  34. package/dist/client.d.ts +1 -5
  35. package/dist/client.js +36 -17
  36. package/dist/client.js.map +7 -1
  37. package/dist/index.d.ts +43 -457
  38. package/dist/index.d.ts.map +1 -0
  39. package/dist/index.js +126 -67
  40. package/dist/index.js.map +7 -1
  41. package/dist/integration/acp-bench.d.ts +68 -0
  42. package/dist/integration/acp-bench.d.ts.map +1 -0
  43. package/dist/integration/acp-subagent-runner.d.ts +194 -0
  44. package/dist/integration/acp-subagent-runner.d.ts.map +1 -0
  45. package/dist/integration/ensemble-runner.d.ts +147 -0
  46. package/dist/integration/ensemble-runner.d.ts.map +1 -0
  47. package/dist/integration/run-one-acp-task.d.ts +29 -0
  48. package/dist/integration/run-one-acp-task.d.ts.map +1 -0
  49. package/dist/registry/acp-registry-fetch.d.ts +86 -0
  50. package/dist/registry/acp-registry-fetch.d.ts.map +1 -0
  51. package/dist/registry/agents.catalog.d.ts +46 -0
  52. package/dist/registry/agents.catalog.d.ts.map +1 -0
  53. package/dist/registry/ensemble-registry.d.ts +104 -0
  54. package/dist/registry/ensemble-registry.d.ts.map +1 -0
  55. package/dist/sdk.d.ts +41 -12
  56. package/dist/sdk.d.ts.map +1 -0
  57. package/dist/sdk.js +142 -72
  58. package/dist/sdk.js.map +7 -1
  59. package/dist/types/acp-messages.d.ts +133 -0
  60. package/dist/types/acp-messages.d.ts.map +1 -0
  61. package/dist/types/acp-v1.d.ts +476 -0
  62. package/dist/types/acp-v1.d.ts.map +1 -0
  63. package/dist/win32-cmd.d.ts +7 -0
  64. package/dist/win32-cmd.d.ts.map +1 -0
  65. package/dist/wrongstack-acp-agent.d.ts +1 -3
  66. package/dist/wrongstack-acp-agent.js +11 -9
  67. package/dist/wrongstack-acp-agent.js.map +7 -1
  68. package/package.json +4 -4
  69. package/dist/acp-subagent-runner-BAlo23L-.d.ts +0 -644
  70. package/dist/acp-v1-BxskPsdo.d.ts +0 -520
  71. package/dist/terminal-server-P9KpMZTT.d.ts +0 -99
@@ -0,0 +1,13 @@
1
+ export { StdioTransport } from './stdio-transport.js';
2
+ export { ACPToolsRegistry } from './tools-registry.js';
3
+ export { ACPProtocolHandler } from './protocol-handler.js';
4
+ export type { RunTurn, RunTurnApi, RunTurnInput, RunTurnResult, RunTurnPermissionRequest, SessionPersistence, ClientCapabilities, } from './protocol-handler.js';
5
+ export { ACPSessionStore } from './session-store.js';
6
+ export type { SessionStoreOptions, PersistedSession } from './session-store.js';
7
+ export { WsBridgeTransport } from './ws-bridge-transport.js';
8
+ export { WrongStackACPServer } from './wrongstack-acp-agent.js';
9
+ export type { WrongStackACPServerOptions } from './wrongstack-acp-agent.js';
10
+ export { makeACPServerAgentTurn } from './server-agent-turn.js';
11
+ export type { ACPServerAgentTurnOptions } from './server-agent-turn.js';
12
+ export type { AgentServerTransport } from './stdio-transport.js';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAC,gBAAgB,EAAC,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAC;AACzD,YAAY,EACV,OAAO,EACP,UAAU,EACV,YAAY,EACZ,aAAa,EACb,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAC,mBAAmB,EAAE,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAC,mBAAmB,EAAC,MAAM,2BAA2B,CAAC;AAC9D,YAAY,EAAC,0BAA0B,EAAC,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAC,sBAAsB,EAAC,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EAAC,yBAAyB,EAAC,MAAM,wBAAwB,CAAC;AACtE,YAAY,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC"}
@@ -1,5 +1,3 @@
1
- import { a as AgentServerTransport, C as ContentBlock, T as ToolKind, P as PermissionOption, R as RequestPermissionOutcome, e as StopReason, f as PlanEntry, U as UsageCost } from './acp-v1-BxskPsdo.js';
2
-
3
1
  /**
4
2
  * ACP v1 server-side protocol handler.
5
3
  *
@@ -44,16 +42,27 @@ import { a as AgentServerTransport, C as ContentBlock, T as ToolKind, P as Permi
44
42
  * notification can stop the running turn mid-stream without tearing
45
43
  * down the session. Multiple sessions can be active concurrently.
46
44
  */
47
-
48
- declare const WRONGSTACK_VERSION = "0.274.1";
49
- interface RunTurnInput {
45
+ import { type StopReason, type ContentBlock, type PermissionOption, type PlanEntry, type RequestPermissionOutcome, type ToolKind, type UsageCost } from '../types/acp-v1.js';
46
+ import type { AgentServerTransport } from './stdio-transport.js';
47
+ export declare const WRONGSTACK_VERSION = "0.274.1";
48
+ /** What kinds of content the agent accepts in a prompt. */
49
+ export interface PromptCapabilities {
50
+ image: boolean;
51
+ audio: boolean;
52
+ embeddedContext: boolean;
53
+ }
54
+ export interface AgentCapabilities {
55
+ loadSession: boolean;
56
+ promptCapabilities: PromptCapabilities;
57
+ }
58
+ export interface RunTurnInput {
50
59
  sessionId: string;
51
60
  /** Content blocks the client sent. */
52
61
  prompt: readonly ContentBlock[];
53
62
  /** Cancelled when the client sends `session/cancel` for this session. */
54
63
  signal: AbortSignal;
55
64
  }
56
- interface RunTurnResult {
65
+ export interface RunTurnResult {
57
66
  stopReason: StopReason;
58
67
  /** Optional summary text the agent produced. */
59
68
  text?: string;
@@ -67,7 +76,7 @@ interface RunTurnResult {
67
76
  /**
68
77
  * A tool-call permission request the agent surfaces to the client.
69
78
  */
70
- interface RunTurnPermissionRequest {
79
+ export interface RunTurnPermissionRequest {
71
80
  toolCall: {
72
81
  toolCallId: string;
73
82
  title: string;
@@ -76,7 +85,7 @@ interface RunTurnPermissionRequest {
76
85
  options: PermissionOption[];
77
86
  }
78
87
  /** Client filesystem/terminal capabilities advertised at initialize. */
79
- interface ClientCapabilities {
88
+ export interface ClientCapabilities {
80
89
  fs?: {
81
90
  readTextFile?: boolean | undefined;
82
91
  writeTextFile?: boolean | undefined;
@@ -89,7 +98,7 @@ interface ClientCapabilities {
89
98
  * advertises the capability) use the client's filesystem and terminal so the
90
99
  * editor's view (including unsaved buffers) is the source of truth.
91
100
  */
92
- interface RunTurnApi {
101
+ export interface RunTurnApi {
93
102
  /**
94
103
  * Ask the connected ACP client to approve/reject a tool call via the
95
104
  * `session/request_permission` method. Resolves with the client's
@@ -132,8 +141,8 @@ interface RunTurnApi {
132
141
  * `api` is an optional client-callback surface (permission requests).
133
142
  * Older runTurn implementations that ignore it keep working unchanged.
134
143
  */
135
- type RunTurn = (input: RunTurnInput, emit: (update: unknown) => void, api?: RunTurnApi) => Promise<RunTurnResult>;
136
- interface SessionState {
144
+ export type RunTurn = (input: RunTurnInput, emit: (update: unknown) => void, api?: RunTurnApi) => Promise<RunTurnResult>;
145
+ export interface SessionState {
137
146
  id: string;
138
147
  cwd: string;
139
148
  /** Per-turn abort signal — aborted when the session is cancelled or closed. */
@@ -148,12 +157,12 @@ interface SessionState {
148
157
  title?: string;
149
158
  }
150
159
  /** MCP-style session mode advertised in current_mode_update. */
151
- interface SessionMode {
160
+ export interface SessionMode {
152
161
  id: string;
153
162
  name: string;
154
163
  description?: string | undefined;
155
164
  }
156
- interface SessionConfigOption {
165
+ export interface SessionConfigOption {
157
166
  id: string;
158
167
  name: string;
159
168
  type: 'select' | string;
@@ -164,7 +173,7 @@ interface SessionConfigOption {
164
173
  description?: string | undefined;
165
174
  }[];
166
175
  }
167
- interface ProtocolHandlerOptions {
176
+ export interface ProtocolHandlerOptions {
168
177
  transport: AgentServerTransport;
169
178
  /** Where the server is running; used for new sessions' default cwd. */
170
179
  defaultCwd: string;
@@ -210,7 +219,7 @@ interface ProtocolHandlerOptions {
210
219
  store?: SessionPersistence | undefined;
211
220
  }
212
221
  /** Minimal durable-store contract the handler uses (ACPSessionStore satisfies it). */
213
- interface SessionPersistence {
222
+ export interface SessionPersistence {
214
223
  save(state: SessionState, history?: Array<{
215
224
  sessionUpdate: string;
216
225
  content: unknown;
@@ -222,7 +231,7 @@ interface SessionPersistence {
222
231
  }> | undefined;
223
232
  }) | null>;
224
233
  }
225
- declare class ACPProtocolHandler {
234
+ export declare class ACPProtocolHandler {
226
235
  private readonly transport;
227
236
  private readonly defaultCwd;
228
237
  private readonly runTurn;
@@ -280,62 +289,4 @@ declare class ACPProtocolHandler {
280
289
  private sendError;
281
290
  private allocId;
282
291
  }
283
-
284
- interface WrongStackACPServerOptions {
285
- runTurn?: RunTurn | undefined;
286
- defaultCwd?: string | undefined;
287
- agentName?: string | undefined;
288
- /**
289
- * Transport mode. 'stdio' (default) communicates over stdin/stdout.
290
- * When a number is provided, the server listens as an HTTP server on
291
- * that port, accepting Streamable HTTP (JSON-RPC over HTTP POST).
292
- */
293
- transport?: 'stdio' | number | undefined;
294
- /** Host for HTTP transport. Defaults to '127.0.0.1'. */
295
- host?: string | undefined;
296
- /** Emit the pre-v1 startup marker on stdio. Defaults to false. */
297
- legacyStartupMarker?: boolean | undefined;
298
- /**
299
- * Conversation-history source for `session/load` replay. Pass
300
- * `makeACPServerAgentTurn(...).replay` here so a reconnecting client
301
- * gets prior turns streamed back.
302
- */
303
- replayFor?: ((sessionId: string) => Array<{
304
- sessionUpdate: string;
305
- content: unknown;
306
- }>) | undefined;
307
- /**
308
- * Cold-load seed hook. Pass `makeACPServerAgentTurn(...).seed` so a
309
- * restored session's Agent resumes the model context, not just the UI.
310
- */
311
- seedFor?: ((sessionId: string, history: Array<{
312
- sessionUpdate: string;
313
- content: unknown;
314
- }>) => void) | undefined;
315
- /**
316
- * Durable session store. When set, sessions + history are persisted and
317
- * restored across restarts for `session/load`. Pass an `ACPSessionStore`.
318
- */
319
- store?: SessionPersistence | undefined;
320
- }
321
- declare class WrongStackACPServer {
322
- private readonly transport;
323
- private readonly handler;
324
- private readonly options;
325
- /** HTTP server when transport mode is HTTP. */
326
- private httpServer;
327
- private running;
328
- constructor(opts?: WrongStackACPServerOptions);
329
- /**
330
- * Start the server. Mode depends on `options.transport`:
331
- * - 'stdio' (default): reads JSON-RPC from stdin, writes to stdout.
332
- * - number: listens as HTTP on the given port.
333
- */
334
- start(): Promise<void>;
335
- private startStdio;
336
- private startHttp;
337
- /** Stop the server. */
338
- stop(): void;
339
- }
340
-
341
- export { ACPProtocolHandler as A, type ClientCapabilities as C, type ProtocolHandlerOptions as P, type RunTurn as R, type SessionConfigOption as S, WRONGSTACK_VERSION as W, type RunTurnInput as a, type RunTurnResult as b, type SessionMode as c, type SessionState as d, WrongStackACPServer as e, type WrongStackACPServerOptions as f, type RunTurnApi as g, type RunTurnPermissionRequest as h, type SessionPersistence as i };
292
+ //# sourceMappingURL=protocol-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol-handler.d.ts","sourceRoot":"","sources":["../../src/agent/protocol-handler.ts"],"names":[],"mappings":"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"}
@@ -1,58 +1,3 @@
1
- import { d as SessionState, g as RunTurnApi, R as RunTurn, b as RunTurnResult } from './wrongstack-acp-agent-nzrqmJnc.js';
2
- import { Agent } from '@wrongstack/core';
3
-
4
- /** A persisted conversation turn (user/agent message chunk) for replay. */
5
- interface PersistedHistoryUpdate {
6
- sessionUpdate: string;
7
- content: unknown;
8
- }
9
- /** A persisted session: metadata + replayable conversation history. */
10
- interface PersistedSession extends Partial<SessionState> {
11
- history?: PersistedHistoryUpdate[] | undefined;
12
- }
13
- interface SessionStoreOptions {
14
- /** Directory to store session files. Defaults to a temp dir. */
15
- dir?: string | undefined;
16
- }
17
- declare class ACPSessionStore {
18
- private readonly dir;
19
- /**
20
- * Memoized result of the first successful `init()`. Saved sessions
21
- * are the hot path — calling `mkdir(..., {recursive:true})` on every
22
- * turn adds an avoidable syscall to the per-prompt persistence flow.
23
- * Cleared automatically if the directory disappears between calls.
24
- */
25
- private initialized;
26
- constructor(opts?: SessionStoreOptions);
27
- /** Ensure the store directory exists. Memoized — only mkdirs once. */
28
- init(): Promise<void>;
29
- /**
30
- * Persist a session state (and optionally its conversation history) to
31
- * disk. Returns the session id. `history` enables cross-restart
32
- * `session/load` replay.
33
- */
34
- save(state: SessionState, history?: PersistedHistoryUpdate[]): Promise<string>;
35
- /** Load a persisted session (metadata + history) from disk, or null. */
36
- load(sessionId: string): Promise<PersistedSession | null>;
37
- /** List all persisted sessions. */
38
- list(): Promise<Array<{
39
- id: string;
40
- updatedAt: string;
41
- }>>;
42
- /** Sidecar path that stores `{id, updatedAt}` for every saved session. */
43
- private indexPath;
44
- /** Read the sidecar index. Returns `null` when missing or unreadable. */
45
- private readIndex;
46
- /** Atomically replace the sidecar index with the supplied entries. */
47
- private writeIndex;
48
- /** Update one entry in the index, adding it if missing. Best-effort. */
49
- private updateIndex;
50
- /** Delete a session file. */
51
- delete(sessionId: string): Promise<void>;
52
- /** Get the store directory path. */
53
- getDirectory(): string;
54
- }
55
-
56
1
  /**
57
2
  * ACPServerAgentTurn — `RunTurn` adapter for the v1 server side.
58
3
  *
@@ -93,8 +38,9 @@ declare class ACPSessionStore {
93
38
  * it. On abort, the adapter maps the resulting `AbortError` to
94
39
  * `{stopReason: 'cancelled'}`.
95
40
  */
96
-
97
- interface ACPServerAgentTurnOptions {
41
+ import type { Agent } from '@wrongstack/core';
42
+ import type { RunTurn, RunTurnApi, RunTurnResult } from './protocol-handler.js';
43
+ export interface ACPServerAgentTurnOptions {
98
44
  /**
99
45
  * Factory that creates a fresh `Agent` for a given session.
100
46
  * Called once per session on the first `session/prompt` turn.
@@ -116,7 +62,7 @@ interface ACPServerAgentTurnOptions {
116
62
  timeoutMs?: number | undefined;
117
63
  }
118
64
  /** A recorded conversation turn, replayable on `session/load`. */
119
- interface SessionReplayUpdate {
65
+ export interface SessionReplayUpdate {
120
66
  sessionUpdate: 'user_message_chunk' | 'agent_message_chunk';
121
67
  content: {
122
68
  type: 'text';
@@ -127,7 +73,7 @@ interface SessionReplayUpdate {
127
73
  * A `RunTurn` that also exposes the recorded per-session history so the
128
74
  * server can replay it on `session/load`.
129
75
  */
130
- interface ACPServerAgentTurn {
76
+ export interface ACPServerAgentTurn {
131
77
  (input: Parameters<RunTurn>[0], emit: Parameters<RunTurn>[1], api?: Parameters<RunTurn>[2]): Promise<RunTurnResult>;
132
78
  /** Recorded user/agent text turns for a session, in order. */
133
79
  replay(sessionId: string): SessionReplayUpdate[];
@@ -150,14 +96,13 @@ interface ACPServerAgentTurn {
150
96
  * text so the server can replay history on `session/load` (see
151
97
  * `.replay(sessionId)`).
152
98
  */
153
- declare function makeACPServerAgentTurn(opts: ACPServerAgentTurnOptions): ACPServerAgentTurn;
99
+ export declare function makeACPServerAgentTurn(opts: ACPServerAgentTurnOptions): ACPServerAgentTurn;
154
100
  /**
155
101
  * Tear down the agents and timers held by a turn factory. The
156
102
  * server's `close()` should call this so child connections don't
157
103
  * outlive the server.
158
104
  */
159
- declare function disposeACPServerAgentTurn(opts: {
105
+ export declare function disposeACPServerAgentTurn(opts: {
160
106
  agents: Map<string, Agent>;
161
107
  }): Promise<void>;
162
-
163
- export { type ACPServerAgentTurnOptions as A, type PersistedSession as P, type SessionStoreOptions as S, ACPSessionStore as a, disposeACPServerAgentTurn as d, makeACPServerAgentTurn as m };
108
+ //# sourceMappingURL=server-agent-turn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-agent-turn.d.ts","sourceRoot":"","sources":["../../src/agent/server-agent-turn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,OAAO,KAAK,EAAE,KAAK,EAAc,MAAM,kBAAkB,CAAC;AAQ1D,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EACV,aAAa,EACd,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,yBAAyB;IACxC;;;;;;;;;;;OAWG;IACH,QAAQ,EAAE,CACR,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,GAAG,CAAC,EAAE,UAAU,KACb,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;IAC5B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED,kEAAkE;AAClE,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,oBAAoB,GAAG,qBAAqB,CAAC;IAC5D,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACpH,8DAA8D;IAC9D,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAAC;IACjD;;;;;OAKG;IACH,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,GAAG,IAAI,CAAC;CACpG;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,yBAAyB,GAC9B,kBAAkB,CA8JpB;AAwFD;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE;IAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;CAAE,GACnC,OAAO,CAAC,IAAI,CAAC,CAIf"}
@@ -0,0 +1,53 @@
1
+ import type { SessionState } from './protocol-handler.js';
2
+ /** A persisted conversation turn (user/agent message chunk) for replay. */
3
+ export interface PersistedHistoryUpdate {
4
+ sessionUpdate: string;
5
+ content: unknown;
6
+ }
7
+ /** A persisted session: metadata + replayable conversation history. */
8
+ export interface PersistedSession extends Partial<SessionState> {
9
+ history?: PersistedHistoryUpdate[] | undefined;
10
+ }
11
+ export interface SessionStoreOptions {
12
+ /** Directory to store session files. Defaults to a temp dir. */
13
+ dir?: string | undefined;
14
+ }
15
+ export declare class ACPSessionStore {
16
+ private readonly dir;
17
+ /**
18
+ * Memoized result of the first successful `init()`. Saved sessions
19
+ * are the hot path — calling `mkdir(..., {recursive:true})` on every
20
+ * turn adds an avoidable syscall to the per-prompt persistence flow.
21
+ * Cleared automatically if the directory disappears between calls.
22
+ */
23
+ private initialized;
24
+ constructor(opts?: SessionStoreOptions);
25
+ /** Ensure the store directory exists. Memoized — only mkdirs once. */
26
+ init(): Promise<void>;
27
+ /**
28
+ * Persist a session state (and optionally its conversation history) to
29
+ * disk. Returns the session id. `history` enables cross-restart
30
+ * `session/load` replay.
31
+ */
32
+ save(state: SessionState, history?: PersistedHistoryUpdate[]): Promise<string>;
33
+ /** Load a persisted session (metadata + history) from disk, or null. */
34
+ load(sessionId: string): Promise<PersistedSession | null>;
35
+ /** List all persisted sessions. */
36
+ list(): Promise<Array<{
37
+ id: string;
38
+ updatedAt: string;
39
+ }>>;
40
+ /** Sidecar path that stores `{id, updatedAt}` for every saved session. */
41
+ private indexPath;
42
+ /** Read the sidecar index. Returns `null` when missing or unreadable. */
43
+ private readIndex;
44
+ /** Atomically replace the sidecar index with the supplied entries. */
45
+ private writeIndex;
46
+ /** Update one entry in the index, adding it if missing. Best-effort. */
47
+ private updateIndex;
48
+ /** Delete a session file. */
49
+ delete(sessionId: string): Promise<void>;
50
+ /** Get the store directory path. */
51
+ getDirectory(): string;
52
+ }
53
+ //# sourceMappingURL=session-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../../src/agent/session-store.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,2EAA2E;AAC3E,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,uEAAuE;AACvE,MAAM,WAAW,gBAAiB,SAAQ,OAAO,CAAC,YAAY,CAAC;IAC7D,OAAO,CAAC,EAAE,sBAAsB,EAAE,GAAG,SAAS,CAAC;CAChD;AAED,MAAM,WAAW,mBAAmB;IAClC,gEAAgE;IAChE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B;;;;;OAKG;IACH,OAAO,CAAC,WAAW,CAAS;IAE5B,YAAY,IAAI,GAAE,mBAAwB,EAEzC;IAED,sEAAsE;IAChE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAI1B;IAED;;;;OAIG;IACG,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAiBnF;IAED,wEAAwE;IAClE,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAO9D;IAED,mCAAmC;IAC7B,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAsC9D;IAED,0EAA0E;IAC1E,OAAO,CAAC,SAAS;IAIjB,yEAAyE;YAC3D,SAAS;IAwBvB,sEAAsE;YACxD,UAAU;IAOxB,wEAAwE;YAC1D,WAAW;IAiBzB,6BAA6B;IACvB,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB7C;IAED,oCAAoC;IACpC,YAAY,IAAI,MAAM,CAErB;CACF"}
@@ -0,0 +1,82 @@
1
+ import type { ACPMessage } from '../types/acp-messages.js';
2
+ export interface AgentServerTransport {
3
+ send(msg: ACPMessage): Promise<void>;
4
+ sendRaw(chunk: string): void;
5
+ read(): Promise<ACPMessage | null>;
6
+ close(): void;
7
+ onMessage(handler: (msg: ACPMessage) => void): () => void;
8
+ }
9
+ /**
10
+ * Minimal client-side transport contract `ACPSession` drives. `ClientTransport`
11
+ * (stdio subprocess) and `WebSocketClientTransport` (remote) both implement it,
12
+ * so the session is agnostic to how bytes reach the agent.
13
+ */
14
+ export interface ACPClientTransport {
15
+ start(): Promise<void>;
16
+ send(msg: ACPMessage): Promise<void>;
17
+ onMessage(handler: (msg: ACPMessage) => void): () => void;
18
+ stop(): void;
19
+ }
20
+ export declare class StdioTransport implements AgentServerTransport {
21
+ private readonly stdin;
22
+ private readonly stdout;
23
+ private readonly stderr;
24
+ private buffer;
25
+ private readonly handlers;
26
+ private closed;
27
+ private resolveRead;
28
+ private messageQueue;
29
+ constructor();
30
+ sendStartupMarker(): void;
31
+ send(msg: ACPMessage): Promise<void>;
32
+ sendRaw(chunk: string): void;
33
+ read(): Promise<ACPMessage | null>;
34
+ onMessage(handler: (msg: ACPMessage) => void): () => void;
35
+ close(): void;
36
+ private onData;
37
+ private dispatch;
38
+ private handleClose;
39
+ private failAll;
40
+ }
41
+ import type { EventEmitter } from 'node:events';
42
+ export interface ClientTransportOptions {
43
+ command: string;
44
+ args?: string[] | undefined;
45
+ env?: Record<string, string>;
46
+ cwd?: string | undefined;
47
+ handshakeTimeoutMs?: number | undefined;
48
+ /**
49
+ * Set to true when the child is an external ACP agent (Claude Code,
50
+ * Gemini CLI, Codex CLI, …) that does NOT emit a `[wstack-acp]\n`
51
+ * marker on startup. The v1 client (`ACPSession`) sets this; the
52
+ * server-side transport (the default) keeps the marker check.
53
+ */
54
+ skipHandshakeMarker?: boolean | undefined;
55
+ }
56
+ export interface ACPChildProcess extends EventEmitter {
57
+ stdout: NodeJS.ReadableStream;
58
+ stdin: NodeJS.WritableStream;
59
+ stderr: NodeJS.ReadableStream;
60
+ pid: number | undefined;
61
+ kill(): void;
62
+ }
63
+ export declare class ClientTransport implements ACPClientTransport {
64
+ private child;
65
+ private buffer;
66
+ private readonly handlers;
67
+ private closed;
68
+ private resolveRead;
69
+ private messageQueue;
70
+ private readonly opts;
71
+ constructor(options: ClientTransportOptions);
72
+ start(): Promise<void>;
73
+ send(msg: ACPMessage): Promise<void>;
74
+ read(): Promise<ACPMessage | null>;
75
+ onMessage(handler: (msg: ACPMessage) => void): () => void;
76
+ stop(): void;
77
+ private onChildData;
78
+ private onChildError;
79
+ private onChildClose;
80
+ private dispatch;
81
+ }
82
+ //# sourceMappingURL=stdio-transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stdio-transport.d.ts","sourceRoot":"","sources":["../../src/agent/stdio-transport.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,12 @@
1
- import { Tool } from '@wrongstack/core';
2
- import { c as ACPToolList, d as ACPToolResult } from './acp-v1-BxskPsdo.js';
3
-
4
1
  /**
5
2
  * Tools registry for ACP agent-side.
6
3
  *
7
4
  * Translates WrongStack Tool definitions → ACP ACPToolDefinition format.
8
5
  * Provides tool lookup and result assembly for the ACP protocol handler.
9
6
  */
10
-
11
- declare class ACPToolsRegistry {
7
+ import type { Tool } from '@wrongstack/core';
8
+ import type { ACPToolList, ACPToolResult } from '../types/acp-messages.js';
9
+ export declare class ACPToolsRegistry {
12
10
  private tools;
13
11
  private readonly owner;
14
12
  constructor(owner?: string);
@@ -32,5 +30,4 @@ declare class ACPToolsRegistry {
32
30
  */
33
31
  execute(name: string, args: Record<string, unknown>, ctx: unknown, signal: AbortSignal): Promise<ACPToolResult | null>;
34
32
  }
35
-
36
- export { ACPToolsRegistry as A };
33
+ //# sourceMappingURL=tools-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools-registry.d.ts","sourceRoot":"","sources":["../../src/agent/tools-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AAC3C,OAAO,KAAK,EAEV,WAAW,EAEX,aAAa,EAEd,MAAM,0BAA0B,CAAC;AAElC,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAE/B,YAAY,KAAK,SAAe,EAE/B;IAED;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAI5B;IAED;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAG5B;IAED,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAElC;IAED,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzB;IAED,IAAI,IAAI,IAAI,EAAE,CAEb;IAED,8DAA8D;IAC9D,aAAa,IAAI,WAAW,CAM3B;IAED;;;OAGG;IACG,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAa/B;CACF"}
@@ -0,0 +1,58 @@
1
+ import { type RunTurn, type SessionPersistence } from './protocol-handler.js';
2
+ export interface WrongStackACPServerOptions {
3
+ runTurn?: RunTurn | undefined;
4
+ defaultCwd?: string | undefined;
5
+ agentName?: string | undefined;
6
+ /**
7
+ * Transport mode. 'stdio' (default) communicates over stdin/stdout.
8
+ * When a number is provided, the server listens as an HTTP server on
9
+ * that port, accepting Streamable HTTP (JSON-RPC over HTTP POST).
10
+ */
11
+ transport?: 'stdio' | number | undefined;
12
+ /** Host for HTTP transport. Defaults to '127.0.0.1'. */
13
+ host?: string | undefined;
14
+ /** Emit the pre-v1 startup marker on stdio. Defaults to false. */
15
+ legacyStartupMarker?: boolean | undefined;
16
+ /**
17
+ * Conversation-history source for `session/load` replay. Pass
18
+ * `makeACPServerAgentTurn(...).replay` here so a reconnecting client
19
+ * gets prior turns streamed back.
20
+ */
21
+ replayFor?: ((sessionId: string) => Array<{
22
+ sessionUpdate: string;
23
+ content: unknown;
24
+ }>) | undefined;
25
+ /**
26
+ * Cold-load seed hook. Pass `makeACPServerAgentTurn(...).seed` so a
27
+ * restored session's Agent resumes the model context, not just the UI.
28
+ */
29
+ seedFor?: ((sessionId: string, history: Array<{
30
+ sessionUpdate: string;
31
+ content: unknown;
32
+ }>) => void) | undefined;
33
+ /**
34
+ * Durable session store. When set, sessions + history are persisted and
35
+ * restored across restarts for `session/load`. Pass an `ACPSessionStore`.
36
+ */
37
+ store?: SessionPersistence | undefined;
38
+ }
39
+ export declare class WrongStackACPServer {
40
+ private readonly transport;
41
+ private readonly handler;
42
+ private readonly options;
43
+ /** HTTP server when transport mode is HTTP. */
44
+ private httpServer;
45
+ private running;
46
+ constructor(opts?: WrongStackACPServerOptions);
47
+ /**
48
+ * Start the server. Mode depends on `options.transport`:
49
+ * - 'stdio' (default): reads JSON-RPC from stdin, writes to stdout.
50
+ * - number: listens as HTTP on the given port.
51
+ */
52
+ start(): Promise<void>;
53
+ private startStdio;
54
+ private startHttp;
55
+ /** Stop the server. */
56
+ stop(): void;
57
+ }
58
+ //# sourceMappingURL=wrongstack-acp-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrongstack-acp-agent.d.ts","sourceRoot":"","sources":["../../src/agent/wrongstack-acp-agent.ts"],"names":[],"mappings":"AA8BA,OAAO,EAEL,KAAK,OAAO,EAEZ,KAAK,kBAAkB,EACxB,MAAM,uBAAuB,CAAC;AAG/B,MAAM,WAAW,0BAA0B;IACzC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IACzC,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,kEAAkE;IAClE,mBAAmB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1C;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,KAAK,KAAK,CAAC;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC,GAAG,SAAS,CAAC;IACpG;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACjH;;;OAGG;IACH,KAAK,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;CACxC;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,+CAA+C;IAC/C,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,OAAO,CAAS;IAExB,YAAY,IAAI,GAAE,0BAA+B,EAahD;IAED;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAO3B;YAEa,UAAU;YAcV,SAAS;IAkGvB,uBAAuB;IACvB,IAAI,IAAI,IAAI,CAOX;CACF"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * WsBridgeTransport — an `AgentServerTransport` backed by a single
3
+ * bidirectional message channel (one WebSocket connection).
4
+ *
5
+ * Unlike stdio (a process-wide pipe driven by a read loop) or HTTP (one
6
+ * request/response per POST, notifications buffered), a WebSocket is a live
7
+ * full-duplex channel: the agent can stream `session/update` notifications
8
+ * and make `session/request_permission` callbacks WHILE a turn runs. This
9
+ * transport is the seam that lets `ACPProtocolHandler` drive one such
10
+ * connection.
11
+ *
12
+ * It is dependency-free and structural: the caller (the CLI, which already
13
+ * depends on `ws`) constructs it with a `send` sink and feeds inbound
14
+ * messages via `receive(msg)`. One handler + one transport per connection.
15
+ */
16
+ import type { ACPMessage } from '../types/acp-messages.js';
17
+ import type { AgentServerTransport } from './stdio-transport.js';
18
+ export declare class WsBridgeTransport implements AgentServerTransport {
19
+ private readonly sink;
20
+ private readonly handlers;
21
+ private closed;
22
+ /** @param sink Called with each outbound message to write to the socket. */
23
+ constructor(sink: (msg: ACPMessage) => void);
24
+ send(msg: ACPMessage): Promise<void>;
25
+ sendRaw(): void;
26
+ read(): Promise<ACPMessage | null>;
27
+ onMessage(handler: (msg: ACPMessage) => void): () => void;
28
+ close(): void;
29
+ /**
30
+ * Feed one inbound message from the socket. Fires the registered
31
+ * `onMessage` handlers (which route JSON-RPC responses to pending
32
+ * outbound requests inside the handler). Inbound *requests* are processed
33
+ * by the caller via `handler.handleMessage(msg)` — call both per message.
34
+ */
35
+ receive(msg: ACPMessage): void;
36
+ }
37
+ //# sourceMappingURL=ws-bridge-transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ws-bridge-transport.d.ts","sourceRoot":"","sources":["../../src/agent/ws-bridge-transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,qBAAa,iBAAkB,YAAW,oBAAoB;IAKhD,OAAO,CAAC,QAAQ,CAAC,IAAI;IAJjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwC;IACjE,OAAO,CAAC,MAAM,CAAS;IAEvB,4EAA4E;IAC5E,YAA6B,IAAI,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,EAAI;IAEhE,IAAI,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAQnC;IAED,OAAO,IAAI,IAAI,CAEd;IAED,IAAI,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAIjC;IAED,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,GAAG,MAAM,IAAI,CAGxD;IAED,KAAK,IAAI,IAAI,CAGZ;IAED;;;;;OAKG;IACH,OAAO,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAS7B;CACF"}
package/dist/agent.d.ts CHANGED
@@ -1,45 +1 @@
1
- import { a as AgentServerTransport, b as ACPMessage } from './acp-v1-BxskPsdo.js';
2
- export { S as StdioTransport } from './acp-v1-BxskPsdo.js';
3
- export { A as ACPToolsRegistry } from './tools-registry-D2xdbzN7.js';
4
- export { A as ACPProtocolHandler, C as ClientCapabilities, R as RunTurn, g as RunTurnApi, a as RunTurnInput, h as RunTurnPermissionRequest, b as RunTurnResult, i as SessionPersistence, e as WrongStackACPServer, f as WrongStackACPServerOptions } from './wrongstack-acp-agent-nzrqmJnc.js';
5
- export { A as ACPServerAgentTurnOptions, a as ACPSessionStore, P as PersistedSession, S as SessionStoreOptions, m as makeACPServerAgentTurn } from './server-agent-turn-C3U0lhA-.js';
6
- import 'node:events';
7
- import '@wrongstack/core';
8
-
9
- /**
10
- * WsBridgeTransport — an `AgentServerTransport` backed by a single
11
- * bidirectional message channel (one WebSocket connection).
12
- *
13
- * Unlike stdio (a process-wide pipe driven by a read loop) or HTTP (one
14
- * request/response per POST, notifications buffered), a WebSocket is a live
15
- * full-duplex channel: the agent can stream `session/update` notifications
16
- * and make `session/request_permission` callbacks WHILE a turn runs. This
17
- * transport is the seam that lets `ACPProtocolHandler` drive one such
18
- * connection.
19
- *
20
- * It is dependency-free and structural: the caller (the CLI, which already
21
- * depends on `ws`) constructs it with a `send` sink and feeds inbound
22
- * messages via `receive(msg)`. One handler + one transport per connection.
23
- */
24
-
25
- declare class WsBridgeTransport implements AgentServerTransport {
26
- private readonly sink;
27
- private readonly handlers;
28
- private closed;
29
- /** @param sink Called with each outbound message to write to the socket. */
30
- constructor(sink: (msg: ACPMessage) => void);
31
- send(msg: ACPMessage): Promise<void>;
32
- sendRaw(): void;
33
- read(): Promise<ACPMessage | null>;
34
- onMessage(handler: (msg: ACPMessage) => void): () => void;
35
- close(): void;
36
- /**
37
- * Feed one inbound message from the socket. Fires the registered
38
- * `onMessage` handlers (which route JSON-RPC responses to pending
39
- * outbound requests inside the handler). Inbound *requests* are processed
40
- * by the caller via `handler.handleMessage(msg)` — call both per message.
41
- */
42
- receive(msg: ACPMessage): void;
43
- }
44
-
45
- export { AgentServerTransport, WsBridgeTransport };
1
+ export * from './agent/index.js';