@harapter/transport-acp 0.1.1
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/LICENSE +201 -0
- package/README.md +184 -0
- package/dist/client.d.ts +81 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +644 -0
- package/dist/client.js.map +1 -0
- package/dist/errors.d.ts +18 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +22 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +395 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/validation.d.ts +47 -0
- package/dist/validation.d.ts.map +1 -0
- package/dist/validation.js +1181 -0
- package/dist/validation.js.map +1 -0
- package/package.json +49 -0
package/dist/errors.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { inspect } from 'node:util';
|
|
2
|
+
/** Stable, content-free ACP client failure categories. */
|
|
3
|
+
export type AcpClientErrorCode = 'already_initialized' | 'capability_not_advertised' | 'client_closed' | 'event_capacity_exceeded' | 'invalid_configuration' | 'invalid_message' | 'invalid_params' | 'not_initialized' | 'unsupported_protocol_version';
|
|
4
|
+
/** Safe ACP protocol error that never captures peer payloads. */
|
|
5
|
+
export declare class AcpClientError extends Error {
|
|
6
|
+
readonly code: AcpClientErrorCode;
|
|
7
|
+
constructor(code: AcpClientErrorCode, message: string);
|
|
8
|
+
/** Keep generic JSON logging bounded and content-free. */
|
|
9
|
+
toJSON(): Readonly<{
|
|
10
|
+
message: string;
|
|
11
|
+
name: string;
|
|
12
|
+
code: AcpClientErrorCode;
|
|
13
|
+
}>;
|
|
14
|
+
/** Keep Node inspection bounded and content-free. */
|
|
15
|
+
[inspect.custom](): string;
|
|
16
|
+
}
|
|
17
|
+
export declare function acpError(code: AcpClientErrorCode, message: string): AcpClientError;
|
|
18
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,0DAA0D;AAC1D,MAAM,MAAM,kBAAkB,GAC1B,qBAAqB,GACrB,2BAA2B,GAC3B,eAAe,GACf,yBAAyB,GACzB,uBAAuB,GACvB,iBAAiB,GACjB,gBAAgB,GAChB,iBAAiB,GACjB,8BAA8B,CAAC;AAEnC,iEAAiE;AACjE,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;gBAEtB,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM;IAMrD,0DAA0D;IAC1D,MAAM,IAAI,QAAQ,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,kBAAkB,CAAC;KAC1B,CAAC;IAIF,qDAAqD;IACrD,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM;CAG3B;AAED,wBAAgB,QAAQ,CACtB,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,MAAM,GACd,cAAc,CAEhB"}
|
package/dist/errors.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { inspect } from 'node:util';
|
|
2
|
+
/** Safe ACP protocol error that never captures peer payloads. */
|
|
3
|
+
export class AcpClientError extends Error {
|
|
4
|
+
code;
|
|
5
|
+
constructor(code, message) {
|
|
6
|
+
super(message);
|
|
7
|
+
Object.defineProperty(this, 'name', { value: 'AcpClientError' });
|
|
8
|
+
this.code = code;
|
|
9
|
+
}
|
|
10
|
+
/** Keep generic JSON logging bounded and content-free. */
|
|
11
|
+
toJSON() {
|
|
12
|
+
return { message: this.message, name: this.name, code: this.code };
|
|
13
|
+
}
|
|
14
|
+
/** Keep Node inspection bounded and content-free. */
|
|
15
|
+
[inspect.custom]() {
|
|
16
|
+
return `${this.name} [${this.code}]: ${this.message}`;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export function acpError(code, message) {
|
|
20
|
+
return new AcpClientError(code, message);
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC,iEAAiE;AACjE,MAAM,OAAO,cAAe,SAAQ,KAAK;IAC9B,IAAI,CAAqB;IAElC,YAAY,IAAwB,EAAE,OAAe;QACnD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,0DAA0D;IAC1D,MAAM;QAKJ,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACrE,CAAC;IAED,qDAAqD;IACrD,CAAC,OAAO,CAAC,MAAM,CAAC;QACd,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACxD,CAAC;CACF;AAED,MAAM,UAAU,QAAQ,CACtB,IAAwB,EACxB,OAAe;IAEf,OAAO,IAAI,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { AcpClient } from './client.js';
|
|
2
|
+
export { AcpClientError, type AcpClientErrorCode } from './errors.js';
|
|
3
|
+
export { ACP_PROTOCOL_VERSION, type AcpAgentCapabilities, type AcpAnnotations, type AcpAvailableCommand, type AcpAvailableCommandInput, type AcpClientCapabilities, type AcpClientHandlers, type AcpClientOptions, type AcpContentBlock, type AcpEnvVariable, type AcpEvent, type AcpHttpHeader, type AcpImplementation, type AcpInitializeInput, type AcpInitializeResult, type AcpListSessionsInput, type AcpListSessionsResult, type AcpLoadSessionInput, type AcpMcpServer, type AcpMeta, type AcpNewSessionInput, type AcpNewSessionResult, type AcpPermissionOption, type AcpPermissionOutcome, type AcpPermissionRequest, type AcpPlanEntry, type AcpPromptInput, type AcpPromptResult, type AcpRawObservation, type AcpRequestOptions, type AcpResumeSessionInput, type AcpSessionInfo, type AcpSessionConfigOption, type AcpSessionConfigSelectGroup, type AcpSessionConfigSelectOption, type AcpSessionMode, type AcpSessionModeState, type AcpSessionState, type AcpSessionUpdate, type AcpStopReason, type AcpToolCallStatus, type AcpToolCallContent, type AcpToolCallLocation, type AcpToolCallUpdate, type AcpToolKind, type AcpTransportDiagnostic, } from './types.js';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EACL,oBAAoB,EACpB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EACjC,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,sBAAsB,GAC5B,MAAM,YAAY,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,cAAc,EAA2B,MAAM,aAAa,CAAC;AACtE,OAAO,EACL,oBAAoB,GA8CrB,MAAM,YAAY,CAAC"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,395 @@
|
|
|
1
|
+
import type { JsonRpcDiagnostic, JsonRpcRequestOptions, JsonRpcStdioTransportOptions } from '@harapter/transport-jsonrpc-stdio';
|
|
2
|
+
/** Stable ACP wire protocol implemented by this package. */
|
|
3
|
+
export declare const ACP_PROTOCOL_VERSION: 1;
|
|
4
|
+
/** ACP metadata extension container. Values remain untrusted. */
|
|
5
|
+
export type AcpMeta = Readonly<Record<string, unknown>> | null;
|
|
6
|
+
/** Client or Agent implementation identity returned by ACP negotiation. */
|
|
7
|
+
export interface AcpImplementation {
|
|
8
|
+
readonly name: string;
|
|
9
|
+
readonly version: string;
|
|
10
|
+
readonly title?: string | null;
|
|
11
|
+
readonly _meta?: AcpMeta;
|
|
12
|
+
}
|
|
13
|
+
/** Client capabilities advertised during initialization. */
|
|
14
|
+
export interface AcpClientCapabilities {
|
|
15
|
+
readonly fs?: {
|
|
16
|
+
readonly readTextFile?: boolean;
|
|
17
|
+
readonly writeTextFile?: boolean;
|
|
18
|
+
readonly _meta?: AcpMeta;
|
|
19
|
+
};
|
|
20
|
+
readonly terminal?: boolean;
|
|
21
|
+
readonly auth?: {
|
|
22
|
+
readonly terminal?: boolean;
|
|
23
|
+
readonly _meta?: AcpMeta;
|
|
24
|
+
};
|
|
25
|
+
readonly _meta?: AcpMeta;
|
|
26
|
+
}
|
|
27
|
+
/** Normalized stable capabilities observed in an Agent initialize response. */
|
|
28
|
+
export interface AcpAgentCapabilities {
|
|
29
|
+
readonly loadSession: boolean;
|
|
30
|
+
readonly prompt: {
|
|
31
|
+
readonly image: boolean;
|
|
32
|
+
readonly audio: boolean;
|
|
33
|
+
readonly embeddedContext: boolean;
|
|
34
|
+
};
|
|
35
|
+
readonly mcp: {
|
|
36
|
+
readonly http: boolean;
|
|
37
|
+
readonly sse: boolean;
|
|
38
|
+
};
|
|
39
|
+
readonly session: {
|
|
40
|
+
readonly list: boolean;
|
|
41
|
+
readonly delete: boolean;
|
|
42
|
+
readonly additionalDirectories: boolean;
|
|
43
|
+
readonly resume: boolean;
|
|
44
|
+
readonly close: boolean;
|
|
45
|
+
};
|
|
46
|
+
readonly _meta?: AcpMeta;
|
|
47
|
+
}
|
|
48
|
+
/** Initialization values sent by the Harapter-side ACP client. */
|
|
49
|
+
export interface AcpInitializeInput {
|
|
50
|
+
readonly clientCapabilities?: AcpClientCapabilities;
|
|
51
|
+
readonly clientInfo?: AcpImplementation;
|
|
52
|
+
readonly _meta?: AcpMeta;
|
|
53
|
+
}
|
|
54
|
+
/** Validated and normalized initialization result. */
|
|
55
|
+
export interface AcpInitializeResult {
|
|
56
|
+
readonly protocolVersion: typeof ACP_PROTOCOL_VERSION;
|
|
57
|
+
readonly capabilities: AcpAgentCapabilities;
|
|
58
|
+
readonly agentInfo?: AcpImplementation;
|
|
59
|
+
readonly authMethods: readonly unknown[];
|
|
60
|
+
readonly _meta?: AcpMeta;
|
|
61
|
+
}
|
|
62
|
+
/** Environment entry for an ACP stdio MCP server. */
|
|
63
|
+
export interface AcpEnvVariable {
|
|
64
|
+
readonly name: string;
|
|
65
|
+
readonly value: string;
|
|
66
|
+
readonly _meta?: AcpMeta;
|
|
67
|
+
}
|
|
68
|
+
/** Header entry for an ACP HTTP or SSE MCP server. */
|
|
69
|
+
export interface AcpHttpHeader {
|
|
70
|
+
readonly name: string;
|
|
71
|
+
readonly value: string;
|
|
72
|
+
readonly _meta?: AcpMeta;
|
|
73
|
+
}
|
|
74
|
+
/** MCP connection declared when creating, loading, or resuming a Session. */
|
|
75
|
+
export type AcpMcpServer = {
|
|
76
|
+
readonly name: string;
|
|
77
|
+
readonly command: string;
|
|
78
|
+
readonly args: readonly string[];
|
|
79
|
+
readonly env: readonly AcpEnvVariable[];
|
|
80
|
+
readonly _meta?: AcpMeta;
|
|
81
|
+
} | {
|
|
82
|
+
readonly type: 'http' | 'sse';
|
|
83
|
+
readonly name: string;
|
|
84
|
+
readonly url: string;
|
|
85
|
+
readonly headers: readonly AcpHttpHeader[];
|
|
86
|
+
readonly _meta?: AcpMeta;
|
|
87
|
+
};
|
|
88
|
+
interface AcpSessionConnectionInput {
|
|
89
|
+
readonly cwd: string;
|
|
90
|
+
readonly additionalDirectories?: readonly string[];
|
|
91
|
+
readonly mcpServers?: readonly AcpMcpServer[];
|
|
92
|
+
readonly _meta?: AcpMeta;
|
|
93
|
+
}
|
|
94
|
+
/** ACP session/new input. */
|
|
95
|
+
export interface AcpNewSessionInput extends AcpSessionConnectionInput {
|
|
96
|
+
readonly mcpServers: readonly AcpMcpServer[];
|
|
97
|
+
}
|
|
98
|
+
/** ACP session/load input. */
|
|
99
|
+
export interface AcpLoadSessionInput extends AcpSessionConnectionInput {
|
|
100
|
+
readonly sessionId: string;
|
|
101
|
+
readonly mcpServers: readonly AcpMcpServer[];
|
|
102
|
+
}
|
|
103
|
+
/** ACP session/resume input. */
|
|
104
|
+
export interface AcpResumeSessionInput extends AcpSessionConnectionInput {
|
|
105
|
+
readonly sessionId: string;
|
|
106
|
+
}
|
|
107
|
+
/** Shared optional Session state returned from setup operations. */
|
|
108
|
+
export interface AcpSessionState {
|
|
109
|
+
readonly modes?: AcpSessionModeState | null;
|
|
110
|
+
readonly configOptions?: readonly AcpSessionConfigOption[] | null;
|
|
111
|
+
readonly _meta?: AcpMeta;
|
|
112
|
+
}
|
|
113
|
+
/** One stable ACP Session mode. */
|
|
114
|
+
export interface AcpSessionMode {
|
|
115
|
+
readonly id: string;
|
|
116
|
+
readonly name: string;
|
|
117
|
+
readonly description?: string | null;
|
|
118
|
+
readonly _meta?: AcpMeta;
|
|
119
|
+
}
|
|
120
|
+
/** Available Session modes and the currently selected mode. */
|
|
121
|
+
export interface AcpSessionModeState {
|
|
122
|
+
readonly currentModeId: string;
|
|
123
|
+
readonly availableModes: readonly AcpSessionMode[];
|
|
124
|
+
readonly _meta?: AcpMeta;
|
|
125
|
+
}
|
|
126
|
+
/** One selectable value for an ACP Session configuration option. */
|
|
127
|
+
export interface AcpSessionConfigSelectOption {
|
|
128
|
+
readonly value: string;
|
|
129
|
+
readonly name: string;
|
|
130
|
+
readonly description?: string | null;
|
|
131
|
+
readonly _meta?: AcpMeta;
|
|
132
|
+
}
|
|
133
|
+
/** One named group of ACP Session configuration values. */
|
|
134
|
+
export interface AcpSessionConfigSelectGroup {
|
|
135
|
+
readonly group: string;
|
|
136
|
+
readonly name: string;
|
|
137
|
+
readonly options: readonly AcpSessionConfigSelectOption[];
|
|
138
|
+
readonly _meta?: AcpMeta;
|
|
139
|
+
}
|
|
140
|
+
interface AcpSessionConfigBase {
|
|
141
|
+
readonly id: string;
|
|
142
|
+
readonly name: string;
|
|
143
|
+
readonly description?: string | null;
|
|
144
|
+
readonly category?: string | null;
|
|
145
|
+
readonly _meta?: AcpMeta;
|
|
146
|
+
}
|
|
147
|
+
/** Stable ACP Session configuration selector variants. */
|
|
148
|
+
export type AcpSessionConfigOption = AcpSessionConfigBase & ({
|
|
149
|
+
readonly type: 'select';
|
|
150
|
+
readonly currentValue: string;
|
|
151
|
+
readonly options: readonly AcpSessionConfigSelectOption[] | readonly AcpSessionConfigSelectGroup[];
|
|
152
|
+
} | {
|
|
153
|
+
readonly type: 'boolean';
|
|
154
|
+
readonly currentValue: boolean;
|
|
155
|
+
});
|
|
156
|
+
/** ACP session/new response. */
|
|
157
|
+
export interface AcpNewSessionResult extends AcpSessionState {
|
|
158
|
+
readonly sessionId: string;
|
|
159
|
+
}
|
|
160
|
+
/** ACP session/list filter and cursor. */
|
|
161
|
+
export interface AcpListSessionsInput {
|
|
162
|
+
readonly cwd?: string | null;
|
|
163
|
+
readonly cursor?: string | null;
|
|
164
|
+
readonly _meta?: AcpMeta;
|
|
165
|
+
}
|
|
166
|
+
/** One validated ACP session/list entry. */
|
|
167
|
+
export interface AcpSessionInfo {
|
|
168
|
+
readonly sessionId: string;
|
|
169
|
+
readonly cwd: string;
|
|
170
|
+
readonly additionalDirectories?: readonly string[];
|
|
171
|
+
readonly title?: string | null;
|
|
172
|
+
readonly updatedAt?: string | null;
|
|
173
|
+
readonly _meta?: AcpMeta;
|
|
174
|
+
}
|
|
175
|
+
/** Validated ACP session/list response. */
|
|
176
|
+
export interface AcpListSessionsResult {
|
|
177
|
+
readonly sessions: readonly AcpSessionInfo[];
|
|
178
|
+
readonly nextCursor?: string | null;
|
|
179
|
+
readonly _meta?: AcpMeta;
|
|
180
|
+
}
|
|
181
|
+
/** Optional annotations on an ACP content block. */
|
|
182
|
+
export interface AcpAnnotations {
|
|
183
|
+
readonly audience?: readonly ('assistant' | 'user')[] | null;
|
|
184
|
+
readonly priority?: number | null;
|
|
185
|
+
readonly lastModified?: string | null;
|
|
186
|
+
readonly _meta?: AcpMeta;
|
|
187
|
+
}
|
|
188
|
+
interface AcpAnnotatedContent {
|
|
189
|
+
readonly annotations?: AcpAnnotations | null;
|
|
190
|
+
readonly _meta?: AcpMeta;
|
|
191
|
+
}
|
|
192
|
+
/** Stable ACP v1 content block variants. */
|
|
193
|
+
export type AcpContentBlock = (AcpAnnotatedContent & {
|
|
194
|
+
readonly type: 'text';
|
|
195
|
+
readonly text: string;
|
|
196
|
+
}) | (AcpAnnotatedContent & {
|
|
197
|
+
readonly type: 'image';
|
|
198
|
+
readonly data: string;
|
|
199
|
+
readonly mimeType: string;
|
|
200
|
+
readonly uri?: string | null;
|
|
201
|
+
}) | (AcpAnnotatedContent & {
|
|
202
|
+
readonly type: 'audio';
|
|
203
|
+
readonly data: string;
|
|
204
|
+
readonly mimeType: string;
|
|
205
|
+
}) | (AcpAnnotatedContent & {
|
|
206
|
+
readonly type: 'resource_link';
|
|
207
|
+
readonly name: string;
|
|
208
|
+
readonly uri: string;
|
|
209
|
+
readonly title?: string | null;
|
|
210
|
+
readonly description?: string | null;
|
|
211
|
+
readonly mimeType?: string | null;
|
|
212
|
+
readonly size?: number | null;
|
|
213
|
+
}) | (AcpAnnotatedContent & {
|
|
214
|
+
readonly type: 'resource';
|
|
215
|
+
readonly resource: {
|
|
216
|
+
readonly uri: string;
|
|
217
|
+
readonly text: string;
|
|
218
|
+
readonly mimeType?: string | null;
|
|
219
|
+
readonly _meta?: AcpMeta;
|
|
220
|
+
} | {
|
|
221
|
+
readonly uri: string;
|
|
222
|
+
readonly blob: string;
|
|
223
|
+
readonly mimeType?: string | null;
|
|
224
|
+
readonly _meta?: AcpMeta;
|
|
225
|
+
};
|
|
226
|
+
});
|
|
227
|
+
/** ACP session/prompt input. */
|
|
228
|
+
export interface AcpPromptInput {
|
|
229
|
+
readonly sessionId: string;
|
|
230
|
+
readonly prompt: readonly AcpContentBlock[];
|
|
231
|
+
readonly _meta?: AcpMeta;
|
|
232
|
+
}
|
|
233
|
+
/** Authoritative ACP v1 prompt terminal reason. */
|
|
234
|
+
export type AcpStopReason = 'end_turn' | 'max_tokens' | 'max_turn_requests' | 'refusal' | 'cancelled';
|
|
235
|
+
/** ACP session/prompt result. */
|
|
236
|
+
export interface AcpPromptResult {
|
|
237
|
+
readonly stopReason: AcpStopReason;
|
|
238
|
+
readonly _meta?: AcpMeta;
|
|
239
|
+
}
|
|
240
|
+
/** ACP tool category. */
|
|
241
|
+
export type AcpToolKind = 'read' | 'edit' | 'delete' | 'move' | 'search' | 'execute' | 'think' | 'fetch' | 'switch_mode' | 'other';
|
|
242
|
+
/** ACP tool lifecycle status. */
|
|
243
|
+
export type AcpToolCallStatus = 'pending' | 'in_progress' | 'completed' | 'failed';
|
|
244
|
+
/** Stable content variants attached to an ACP tool call. */
|
|
245
|
+
export type AcpToolCallContent = {
|
|
246
|
+
readonly type: 'content';
|
|
247
|
+
readonly content: AcpContentBlock;
|
|
248
|
+
readonly _meta?: AcpMeta;
|
|
249
|
+
} | {
|
|
250
|
+
readonly type: 'diff';
|
|
251
|
+
readonly path: string;
|
|
252
|
+
readonly newText: string;
|
|
253
|
+
readonly oldText?: string | null;
|
|
254
|
+
readonly _meta?: AcpMeta;
|
|
255
|
+
} | {
|
|
256
|
+
readonly type: 'terminal';
|
|
257
|
+
readonly terminalId: string;
|
|
258
|
+
readonly _meta?: AcpMeta;
|
|
259
|
+
};
|
|
260
|
+
/** File location associated with an ACP tool call. */
|
|
261
|
+
export interface AcpToolCallLocation {
|
|
262
|
+
readonly path: string;
|
|
263
|
+
readonly line?: number | null;
|
|
264
|
+
readonly _meta?: AcpMeta;
|
|
265
|
+
}
|
|
266
|
+
/** Fields shared by tool creation and update events. */
|
|
267
|
+
export interface AcpToolCallUpdate {
|
|
268
|
+
readonly toolCallId: string;
|
|
269
|
+
readonly title?: string | null;
|
|
270
|
+
readonly kind?: AcpToolKind | null;
|
|
271
|
+
readonly status?: AcpToolCallStatus | null;
|
|
272
|
+
readonly content?: readonly AcpToolCallContent[] | null;
|
|
273
|
+
readonly locations?: readonly AcpToolCallLocation[] | null;
|
|
274
|
+
readonly rawInput?: unknown;
|
|
275
|
+
readonly rawOutput?: unknown;
|
|
276
|
+
readonly _meta?: AcpMeta;
|
|
277
|
+
}
|
|
278
|
+
/** Permission option supplied by an ACP Agent. */
|
|
279
|
+
export interface AcpPermissionOption {
|
|
280
|
+
readonly optionId: string;
|
|
281
|
+
readonly name: string;
|
|
282
|
+
readonly kind: 'allow_once' | 'allow_always' | 'reject_once' | 'reject_always';
|
|
283
|
+
readonly _meta?: AcpMeta;
|
|
284
|
+
}
|
|
285
|
+
/** Validated session/request_permission request. */
|
|
286
|
+
export interface AcpPermissionRequest {
|
|
287
|
+
readonly sessionId: string;
|
|
288
|
+
readonly toolCall: AcpToolCallUpdate;
|
|
289
|
+
readonly options: readonly AcpPermissionOption[];
|
|
290
|
+
readonly _meta?: AcpMeta;
|
|
291
|
+
}
|
|
292
|
+
/** Host outcome returned to an ACP permission request. */
|
|
293
|
+
export type AcpPermissionOutcome = {
|
|
294
|
+
readonly outcome: 'cancelled';
|
|
295
|
+
readonly _meta?: AcpMeta;
|
|
296
|
+
} | {
|
|
297
|
+
readonly outcome: 'selected';
|
|
298
|
+
readonly optionId: string;
|
|
299
|
+
readonly _meta?: AcpMeta;
|
|
300
|
+
};
|
|
301
|
+
interface AcpContentChunk {
|
|
302
|
+
readonly content: AcpContentBlock;
|
|
303
|
+
readonly messageId?: string | null;
|
|
304
|
+
readonly _meta?: AcpMeta;
|
|
305
|
+
}
|
|
306
|
+
/** One item in an ACP execution plan. */
|
|
307
|
+
export interface AcpPlanEntry {
|
|
308
|
+
readonly content: string;
|
|
309
|
+
readonly priority: 'high' | 'medium' | 'low';
|
|
310
|
+
readonly status: 'pending' | 'in_progress' | 'completed';
|
|
311
|
+
readonly _meta?: AcpMeta;
|
|
312
|
+
}
|
|
313
|
+
/** Optional unstructured input hint for an ACP command. */
|
|
314
|
+
export interface AcpAvailableCommandInput {
|
|
315
|
+
readonly hint: string;
|
|
316
|
+
readonly _meta?: AcpMeta;
|
|
317
|
+
}
|
|
318
|
+
/** One command currently exposed by an ACP Agent. */
|
|
319
|
+
export interface AcpAvailableCommand {
|
|
320
|
+
readonly name: string;
|
|
321
|
+
readonly description: string;
|
|
322
|
+
readonly input?: AcpAvailableCommandInput | null;
|
|
323
|
+
readonly _meta?: AcpMeta;
|
|
324
|
+
}
|
|
325
|
+
/** Validated ACP v1 session/update variants consumed by Provider Adapters. */
|
|
326
|
+
export type AcpSessionUpdate = (AcpContentChunk & {
|
|
327
|
+
readonly sessionUpdate: 'user_message_chunk' | 'agent_message_chunk' | 'agent_thought_chunk';
|
|
328
|
+
}) | (AcpToolCallUpdate & {
|
|
329
|
+
readonly sessionUpdate: 'tool_call';
|
|
330
|
+
readonly title: string;
|
|
331
|
+
}) | (AcpToolCallUpdate & {
|
|
332
|
+
readonly sessionUpdate: 'tool_call_update';
|
|
333
|
+
}) | {
|
|
334
|
+
readonly sessionUpdate: 'plan';
|
|
335
|
+
readonly entries: readonly AcpPlanEntry[];
|
|
336
|
+
readonly _meta?: AcpMeta;
|
|
337
|
+
} | {
|
|
338
|
+
readonly sessionUpdate: 'available_commands_update';
|
|
339
|
+
readonly availableCommands: readonly AcpAvailableCommand[];
|
|
340
|
+
readonly _meta?: AcpMeta;
|
|
341
|
+
} | {
|
|
342
|
+
readonly sessionUpdate: 'current_mode_update';
|
|
343
|
+
readonly currentModeId: string;
|
|
344
|
+
readonly _meta?: AcpMeta;
|
|
345
|
+
} | {
|
|
346
|
+
readonly sessionUpdate: 'config_option_update';
|
|
347
|
+
readonly configOptions: readonly AcpSessionConfigOption[];
|
|
348
|
+
readonly _meta?: AcpMeta;
|
|
349
|
+
} | {
|
|
350
|
+
readonly sessionUpdate: 'session_info_update';
|
|
351
|
+
readonly title?: string | null;
|
|
352
|
+
readonly updatedAt?: string | null;
|
|
353
|
+
readonly _meta?: AcpMeta;
|
|
354
|
+
} | {
|
|
355
|
+
readonly sessionUpdate: 'usage_update';
|
|
356
|
+
readonly used: number;
|
|
357
|
+
readonly size: number;
|
|
358
|
+
readonly cost?: {
|
|
359
|
+
readonly amount: number;
|
|
360
|
+
readonly currency: string;
|
|
361
|
+
readonly _meta?: AcpMeta;
|
|
362
|
+
} | null;
|
|
363
|
+
readonly _meta?: AcpMeta;
|
|
364
|
+
};
|
|
365
|
+
/** Bounded structural observation for an unknown or future ACP message. */
|
|
366
|
+
export interface AcpRawObservation {
|
|
367
|
+
readonly kind: 'unknown_notification' | 'unknown_request' | 'unknown_session_update';
|
|
368
|
+
readonly method: string;
|
|
369
|
+
readonly params: unknown;
|
|
370
|
+
}
|
|
371
|
+
/** Ordered inbound event emitted by the ACP client. */
|
|
372
|
+
export type AcpEvent = {
|
|
373
|
+
readonly kind: 'session_update';
|
|
374
|
+
readonly sessionId: string;
|
|
375
|
+
readonly update: AcpSessionUpdate;
|
|
376
|
+
} | {
|
|
377
|
+
readonly kind: 'unknown';
|
|
378
|
+
readonly observation: AcpRawObservation;
|
|
379
|
+
};
|
|
380
|
+
/** Runtime hooks for baseline bidirectional ACP behavior. */
|
|
381
|
+
export interface AcpClientHandlers {
|
|
382
|
+
readonly requestPermission?: (request: AcpPermissionRequest) => Promise<AcpPermissionOutcome> | AcpPermissionOutcome;
|
|
383
|
+
readonly extensionRequest?: (method: string, params: unknown) => unknown;
|
|
384
|
+
readonly extensionNotification?: (method: string, params: unknown) => unknown;
|
|
385
|
+
}
|
|
386
|
+
/** Construction options for one Provider-neutral ACP stream connection. */
|
|
387
|
+
export interface AcpClientOptions extends Omit<JsonRpcStdioTransportOptions, 'emitJsonRpcVersion' | 'requireIntegerNumericIds' | 'requireJsonRpcVersion'>, AcpClientHandlers {
|
|
388
|
+
readonly maxBufferedEvents?: number;
|
|
389
|
+
}
|
|
390
|
+
/** Request-local timeout and wait-abort controls; neither sends cancellation. */
|
|
391
|
+
export type AcpRequestOptions = JsonRpcRequestOptions;
|
|
392
|
+
/** Transport diagnostic callback type re-exported for ACP callers. */
|
|
393
|
+
export type AcpTransportDiagnostic = JsonRpcDiagnostic;
|
|
394
|
+
export {};
|
|
395
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAMA,4DAA4D;AAC5D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAU,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { type AcpAgentCapabilities, type AcpInitializeInput, type AcpInitializeResult, type AcpListSessionsInput, type AcpListSessionsResult, type AcpLoadSessionInput, type AcpMeta, type AcpNewSessionInput, type AcpNewSessionResult, type AcpPermissionOutcome, type AcpPermissionRequest, type AcpPromptInput, type AcpPromptResult, type AcpRawObservation, type AcpResumeSessionInput, type AcpSessionState, type AcpSessionUpdate } from './types.js';
|
|
2
|
+
/** Validate and normalize the stable initialize payload sent to the Agent. */
|
|
3
|
+
export declare function prepareInitializeInput(input?: AcpInitializeInput): Readonly<Record<string, unknown>>;
|
|
4
|
+
/** Parse and normalize one stable initialize response. */
|
|
5
|
+
export declare function parseInitializeResult(value: unknown): AcpInitializeResult;
|
|
6
|
+
/** Validate a session/new request before it reaches the wire. */
|
|
7
|
+
export declare function prepareNewSessionInput(input: AcpNewSessionInput, capabilities: AcpAgentCapabilities): Readonly<Record<string, unknown>>;
|
|
8
|
+
/** Validate a session/load request before it reaches the wire. */
|
|
9
|
+
export declare function prepareLoadSessionInput(input: AcpLoadSessionInput, capabilities: AcpAgentCapabilities): Readonly<Record<string, unknown>>;
|
|
10
|
+
/** Validate a session/resume request before it reaches the wire. */
|
|
11
|
+
export declare function prepareResumeSessionInput(input: AcpResumeSessionInput, capabilities: AcpAgentCapabilities): Readonly<Record<string, unknown>>;
|
|
12
|
+
/** Parse a session/new response. */
|
|
13
|
+
export declare function parseNewSessionResult(value: unknown): AcpNewSessionResult;
|
|
14
|
+
/** Parse a session/load or session/resume response. */
|
|
15
|
+
export declare function parseSessionStateResult(value: unknown): AcpSessionState;
|
|
16
|
+
/** Validate a session/list request. */
|
|
17
|
+
export declare function prepareListSessionsInput(input?: AcpListSessionsInput): Readonly<Record<string, unknown>>;
|
|
18
|
+
/** Parse a session/list response. */
|
|
19
|
+
export declare function parseListSessionsResult(value: unknown): AcpListSessionsResult;
|
|
20
|
+
/** Parse an empty object response while retaining only ACP metadata. */
|
|
21
|
+
export declare function parseEmptyResult(value: unknown): Readonly<{
|
|
22
|
+
_meta?: AcpMeta;
|
|
23
|
+
}>;
|
|
24
|
+
/** Validate a session/prompt request against negotiated content capabilities. */
|
|
25
|
+
export declare function preparePromptInput(input: AcpPromptInput, capabilities: AcpAgentCapabilities): Readonly<Record<string, unknown>>;
|
|
26
|
+
/** Parse the authoritative terminal result for one prompt turn. */
|
|
27
|
+
export declare function parsePromptResult(value: unknown): AcpPromptResult;
|
|
28
|
+
/** Parse one session/update notification, preserving future variants safely. */
|
|
29
|
+
export declare function parseSessionNotification(value: unknown): {
|
|
30
|
+
readonly kind: 'update';
|
|
31
|
+
readonly sessionId: string;
|
|
32
|
+
readonly update: AcpSessionUpdate;
|
|
33
|
+
} | {
|
|
34
|
+
readonly kind: 'unknown';
|
|
35
|
+
readonly observation: AcpRawObservation;
|
|
36
|
+
};
|
|
37
|
+
/** Parse one bidirectional permission request. */
|
|
38
|
+
export declare function parsePermissionRequest(value: unknown): AcpPermissionRequest;
|
|
39
|
+
/** Validate a host decision before replying to a permission request. */
|
|
40
|
+
export declare function preparePermissionOutcome(value: AcpPermissionOutcome, request: AcpPermissionRequest): Readonly<Record<string, unknown>>;
|
|
41
|
+
/** Produce a bounded structural view of unknown ACP traffic. */
|
|
42
|
+
export declare function redactAcpObservation(kind: AcpRawObservation['kind'], method: string, params: unknown): AcpRawObservation;
|
|
43
|
+
/** Require a valid extension method name reserved by ACP. */
|
|
44
|
+
export declare function extensionMethod(method: string): string;
|
|
45
|
+
/** Validate a public Session identifier for an outbound method. */
|
|
46
|
+
export declare function sessionIdentifier(value: string): string;
|
|
47
|
+
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,oBAAoB,EAMzB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,OAAO,EACZ,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAEzB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAO1B,KAAK,eAAe,EACpB,KAAK,gBAAgB,EAMtB,MAAM,YAAY,CAAC;AAgEpB,8EAA8E;AAC9E,wBAAgB,sBAAsB,CACpC,KAAK,GAAE,kBAAuB,GAC7B,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAenC;AAED,0DAA0D;AAC1D,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CAqCzE;AAED,iEAAiE;AACjE,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,kBAAkB,EACzB,YAAY,EAAE,oBAAoB,GACjC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAEnC;AAED,kEAAkE;AAClE,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,mBAAmB,EAC1B,YAAY,EAAE,oBAAoB,GACjC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAGnC;AAED,oEAAoE;AACpE,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,qBAAqB,EAC5B,YAAY,EAAE,oBAAoB,GACjC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAGnC;AAED,oCAAoC;AACpC,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CAMzE;AAED,uDAAuD;AACvD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAKvE;AAED,uCAAuC;AACvC,wBAAgB,wBAAwB,CACtC,KAAK,GAAE,oBAAyB,GAC/B,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAcnC;AAED,qCAAqC;AACrC,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,qBAAqB,CAkB7E;AAED,wEAAwE;AACxE,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,OAAO,GACb,QAAQ,CAAC;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAK/B;AAED,iFAAiF;AACjF,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,cAAc,EACrB,YAAY,EAAE,oBAAoB,GACjC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CASnC;AAED,mEAAmE;AACnE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAYjE;AAED,gFAAgF;AAChF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GACnD;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;CACnC,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAA;CAAE,CAsBxE;AAED,kDAAkD;AAClD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,CA8C3E;AAED,wEAAwE;AACxE,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,oBAAoB,EAC3B,OAAO,EAAE,oBAAoB,GAC5B,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAanC;AAED,gEAAgE;AAChE,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAC/B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,GACd,iBAAiB,CAMnB;AAED,6DAA6D;AAC7D,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQtD;AAED,mEAAmE;AACnE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvD"}
|