@zclaudia/plugin-sdk 0.2.0 → 0.3.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/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/invocations.d.ts +276 -0
- package/dist/invocations.d.ts.map +1 -0
- package/dist/invocations.js +142 -0
- package/dist/invocations.js.map +1 -0
- package/dist/providers.d.ts +40 -1
- package/dist/providers.d.ts.map +1 -1
- package/dist/providers.js +7 -0
- package/dist/providers.js.map +1 -1
- package/package.json +6 -1
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
import type { PermissionCallback } from './interactions.js';
|
|
2
|
+
import type { ExternalAgentRunContext, ExternalAgentAdapter, InvocationExecutionMode } from './providers.js';
|
|
3
|
+
/**
|
|
4
|
+
* Unified Runtime Invocation Protocol (URIP) — public contracts
|
|
5
|
+
* (design: docs/specs/2026-09-12-unified-runtime-invocation-protocol-design.md).
|
|
6
|
+
*
|
|
7
|
+
* The internal abstraction is the invocable, not the slash command. Canonical
|
|
8
|
+
* IDs cross the client boundary; native locators and skill content stay inside
|
|
9
|
+
* the host/plugin process; raw unqualified slash text belongs to the active
|
|
10
|
+
* runtime; emulation is always labeled best-effort. The normative text lives in
|
|
11
|
+
* the design doc — this file is the type-level source of truth.
|
|
12
|
+
*/
|
|
13
|
+
export type StandardInvocableKind = 'host.action' | 'runtime.command' | 'runtime.skill' | 'prompt.template' | 'portable.skill';
|
|
14
|
+
/** Forward-compatible plugin-defined kinds use an x- namespace. */
|
|
15
|
+
export type InvocableKind = StandardInvocableKind | `x-${string}`;
|
|
16
|
+
export type InvocableScope = 'session' | 'project' | 'user' | 'system';
|
|
17
|
+
export type InvocableOwner = 'host' | 'runtime' | 'plugin' | 'user' | 'project';
|
|
18
|
+
/** Re-exported for adapter convenience; normative definition in providers.ts. */
|
|
19
|
+
export type { InvocationExecutionMode };
|
|
20
|
+
export type InvocationArgumentKind = 'raw' | 'structured';
|
|
21
|
+
export interface InvocationArgumentContract {
|
|
22
|
+
/** Non-empty, unique values. The server rejects every other representation. */
|
|
23
|
+
accepted: InvocationArgumentKind[];
|
|
24
|
+
/** Must be one of `accepted`; used by generated composer UI only. */
|
|
25
|
+
preferred: InvocationArgumentKind;
|
|
26
|
+
/** Required when `structured` is accepted; JSON Schema draft 2020-12. */
|
|
27
|
+
schema?: Record<string, unknown>;
|
|
28
|
+
/** Server-owned policy with one key for each accepted representation. */
|
|
29
|
+
transcript: {
|
|
30
|
+
raw?: 'verbatim' | 'omit-arguments';
|
|
31
|
+
structured?: 'schema-redacted' | 'omit-arguments';
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export interface InvocableDescriptor {
|
|
35
|
+
/** Opaque to clients. Never derive execution behavior from this value. */
|
|
36
|
+
id: string;
|
|
37
|
+
kind: InvocableKind;
|
|
38
|
+
/** Execution target for this session; `host` only for host actions. */
|
|
39
|
+
runtimeType: string | 'host';
|
|
40
|
+
name: string;
|
|
41
|
+
label: string;
|
|
42
|
+
description?: string;
|
|
43
|
+
/** Composer-facing syntax. It is not a globally unique key. */
|
|
44
|
+
displayTrigger: string;
|
|
45
|
+
aliases?: string[];
|
|
46
|
+
argumentHint?: string;
|
|
47
|
+
origin: {
|
|
48
|
+
owner: InvocableOwner;
|
|
49
|
+
scope: InvocableScope;
|
|
50
|
+
displayName?: string;
|
|
51
|
+
};
|
|
52
|
+
execution: {
|
|
53
|
+
mode: InvocationExecutionMode;
|
|
54
|
+
fidelity: 'exact' | 'best-effort';
|
|
55
|
+
arguments: InvocationArgumentContract;
|
|
56
|
+
};
|
|
57
|
+
availability: {
|
|
58
|
+
available: true;
|
|
59
|
+
} | {
|
|
60
|
+
available: false;
|
|
61
|
+
reason: string;
|
|
62
|
+
code?: string;
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
export interface RuntimeInvocableRecord {
|
|
66
|
+
/** Descriptor fields before the host assigns its canonical public ID. */
|
|
67
|
+
descriptor: Omit<InvocableDescriptor, 'id'>;
|
|
68
|
+
/** Stable within this adapter/runtime and opaque to the host. */
|
|
69
|
+
providerLocalKey: string;
|
|
70
|
+
/** Returned only to this adapter when the item is invoked. */
|
|
71
|
+
nativeLocator: unknown;
|
|
72
|
+
contentDigest?: string;
|
|
73
|
+
trustedRoot?: string;
|
|
74
|
+
}
|
|
75
|
+
export interface InvocableDiagnostic {
|
|
76
|
+
severity: 'info' | 'warning' | 'error';
|
|
77
|
+
code: string;
|
|
78
|
+
message: string;
|
|
79
|
+
runtimeType?: string;
|
|
80
|
+
invocableId?: string;
|
|
81
|
+
}
|
|
82
|
+
export interface RuntimeInvocableCatalog {
|
|
83
|
+
items: RuntimeInvocableRecord[];
|
|
84
|
+
diagnostics: InvocableDiagnostic[];
|
|
85
|
+
phase: CatalogPhase;
|
|
86
|
+
completeness: 'partial' | 'complete';
|
|
87
|
+
runtimeRevision?: string;
|
|
88
|
+
/** Changes whenever runtime initialization creates a new live catalog epoch. */
|
|
89
|
+
runtimeSessionEpoch?: string;
|
|
90
|
+
}
|
|
91
|
+
export type CatalogPhase = 'bootstrap' | 'initializing' | 'live' | 'degraded';
|
|
92
|
+
export type RuntimeCatalogDelta = {
|
|
93
|
+
type: 'invalidate';
|
|
94
|
+
reason: string;
|
|
95
|
+
} | {
|
|
96
|
+
type: 'replace';
|
|
97
|
+
catalog: RuntimeInvocableCatalog;
|
|
98
|
+
};
|
|
99
|
+
export interface InvocableCatalogSnapshot {
|
|
100
|
+
protocolVersion: 1;
|
|
101
|
+
revision: string;
|
|
102
|
+
generatedAt: number;
|
|
103
|
+
contextFingerprint: string;
|
|
104
|
+
phase: CatalogPhase;
|
|
105
|
+
completeness: 'partial' | 'complete';
|
|
106
|
+
invocables: InvocableDescriptor[];
|
|
107
|
+
diagnostics: InvocableDiagnostic[];
|
|
108
|
+
}
|
|
109
|
+
export type InvocationArguments = {
|
|
110
|
+
type: 'raw';
|
|
111
|
+
value: string;
|
|
112
|
+
} | {
|
|
113
|
+
type: 'structured';
|
|
114
|
+
value: Record<string, unknown>;
|
|
115
|
+
};
|
|
116
|
+
export interface InvocationRequest {
|
|
117
|
+
invocableId: string;
|
|
118
|
+
catalogRevision: string;
|
|
119
|
+
contextFingerprint: string;
|
|
120
|
+
/** Exactly one representation; validated against the descriptor contract. */
|
|
121
|
+
arguments: InvocationArguments;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Host attachment contract. URIP deliberately reuses the existing host format
|
|
125
|
+
* instead of defining a second one; hosts with richer attachments may narrow
|
|
126
|
+
* this type.
|
|
127
|
+
*/
|
|
128
|
+
export interface RuntimeAttachment {
|
|
129
|
+
name: string;
|
|
130
|
+
mimeType: string;
|
|
131
|
+
/** Size in bytes when known. */
|
|
132
|
+
size?: number;
|
|
133
|
+
[key: string]: unknown;
|
|
134
|
+
}
|
|
135
|
+
export interface PortableSkillResourceEntry {
|
|
136
|
+
relativePath: string;
|
|
137
|
+
size: number;
|
|
138
|
+
contentDigest: string;
|
|
139
|
+
mediaType?: string;
|
|
140
|
+
}
|
|
141
|
+
export type PortableSkillResourceAccess = {
|
|
142
|
+
type: 'host-read-handle';
|
|
143
|
+
handleId: string;
|
|
144
|
+
entries: PortableSkillResourceEntry[];
|
|
145
|
+
} | {
|
|
146
|
+
type: 'read-only-mount';
|
|
147
|
+
rootPath: string;
|
|
148
|
+
entries: PortableSkillResourceEntry[];
|
|
149
|
+
};
|
|
150
|
+
export interface MaterializedPortableSkill {
|
|
151
|
+
id: string;
|
|
152
|
+
name: string;
|
|
153
|
+
description: string;
|
|
154
|
+
body: string;
|
|
155
|
+
metadata: Record<string, unknown>;
|
|
156
|
+
resources?: PortableSkillResourceAccess;
|
|
157
|
+
contentDigest: string;
|
|
158
|
+
}
|
|
159
|
+
export type RuntimeTurnInput = {
|
|
160
|
+
type: 'message';
|
|
161
|
+
text: string;
|
|
162
|
+
attachments?: RuntimeAttachment[];
|
|
163
|
+
} | {
|
|
164
|
+
type: 'runtime-invocation';
|
|
165
|
+
descriptor: InvocableDescriptor;
|
|
166
|
+
nativeLocator: unknown;
|
|
167
|
+
arguments: InvocationArguments;
|
|
168
|
+
attachments?: RuntimeAttachment[];
|
|
169
|
+
} | {
|
|
170
|
+
type: 'portable-skill';
|
|
171
|
+
skill: MaterializedPortableSkill;
|
|
172
|
+
assessment: PortableSkillAssessment;
|
|
173
|
+
arguments: InvocationArguments;
|
|
174
|
+
attachments?: RuntimeAttachment[];
|
|
175
|
+
};
|
|
176
|
+
export interface RuntimeDiscoveryContext {
|
|
177
|
+
readonly runtimeType: string;
|
|
178
|
+
readonly engineMode: string;
|
|
179
|
+
readonly runtimeVersion?: string;
|
|
180
|
+
readonly adapterVersion: string;
|
|
181
|
+
readonly canonicalCwd: string;
|
|
182
|
+
readonly canonicalRepositoryRoot?: string;
|
|
183
|
+
readonly configurationRoots: readonly string[];
|
|
184
|
+
readonly settingsSourcePolicy: readonly string[];
|
|
185
|
+
readonly configurationRootFingerprint: string;
|
|
186
|
+
readonly session?: {
|
|
187
|
+
readonly id: string;
|
|
188
|
+
readonly phase: CatalogPhase;
|
|
189
|
+
readonly runtimeSessionEpoch?: string;
|
|
190
|
+
/** Opaque, non-secret value that changes when catalog-relevant state changes. */
|
|
191
|
+
readonly catalogStateToken?: string;
|
|
192
|
+
};
|
|
193
|
+
readonly cliPath?: string;
|
|
194
|
+
}
|
|
195
|
+
export interface RuntimeInvocationCapabilities {
|
|
196
|
+
catalog: 'none' | 'static' | 'filesystem' | 'runtime' | 'hybrid';
|
|
197
|
+
executionModes: InvocationExecutionMode[];
|
|
198
|
+
refresh: 'manual' | 'watch' | 'runtime-events';
|
|
199
|
+
discoveryScope: 'shared-context' | 'session';
|
|
200
|
+
catalogLifecycle: 'bootstrap-only' | 'bootstrap-then-live' | 'live-only';
|
|
201
|
+
unknownTextPassthrough: boolean;
|
|
202
|
+
/** Runtime-wide maximum only; every portable skill is assessed separately. */
|
|
203
|
+
portableSkills: 'native' | 'context' | 'emulated' | 'unsupported';
|
|
204
|
+
}
|
|
205
|
+
export interface PortableSkillCandidate {
|
|
206
|
+
id: string;
|
|
207
|
+
name: string;
|
|
208
|
+
description: string;
|
|
209
|
+
metadata: Record<string, unknown>;
|
|
210
|
+
requirements?: Record<string, unknown>;
|
|
211
|
+
resourceManifest: PortableSkillResourceEntry[];
|
|
212
|
+
contentDigest: string;
|
|
213
|
+
}
|
|
214
|
+
export type PortableSkillAssessment = {
|
|
215
|
+
supported: true;
|
|
216
|
+
mode: 'native' | 'context' | 'emulated';
|
|
217
|
+
executionMode: Exclude<InvocationExecutionMode, 'host'>;
|
|
218
|
+
fidelity: 'exact' | 'best-effort';
|
|
219
|
+
resourceAccess: 'none' | 'host-read-handle' | 'read-only-mount';
|
|
220
|
+
} | {
|
|
221
|
+
supported: false;
|
|
222
|
+
mode: 'unsupported';
|
|
223
|
+
code: string;
|
|
224
|
+
reason: string;
|
|
225
|
+
};
|
|
226
|
+
export interface PortableSkillResourceReader {
|
|
227
|
+
/** Validates handle ownership, manifest membership, traversal, size, expiry. */
|
|
228
|
+
read(handleId: string, relativePath: string, signal: AbortSignal): Promise<Uint8Array>;
|
|
229
|
+
}
|
|
230
|
+
export interface RuntimeTurnContext extends ExternalAgentRunContext {
|
|
231
|
+
services: {
|
|
232
|
+
/** The only way to dereference a `host-read-handle`. */
|
|
233
|
+
portableSkillResources: PortableSkillResourceReader;
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
export interface RuntimeInvocationProvider {
|
|
237
|
+
capabilities(context: RuntimeDiscoveryContext): Promise<RuntimeInvocationCapabilities>;
|
|
238
|
+
discover(context: RuntimeDiscoveryContext, signal: AbortSignal): Promise<RuntimeInvocableCatalog>;
|
|
239
|
+
watch?(context: RuntimeDiscoveryContext, signal: AbortSignal): AsyncIterable<RuntimeCatalogDelta>;
|
|
240
|
+
/** Required whenever `portableSkills` is not `unsupported`. */
|
|
241
|
+
assessPortableSkill?(skill: PortableSkillCandidate, context: RuntimeDiscoveryContext, signal: AbortSignal): Promise<PortableSkillAssessment>;
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Long-term adapter interface. `startTurn` receives the complete typed turn
|
|
245
|
+
* input; the existing cancellation/approval/persistence/terminal machinery is
|
|
246
|
+
* shared unchanged.
|
|
247
|
+
*/
|
|
248
|
+
export interface ExternalAgentAdapterV2 extends Omit<ExternalAgentAdapter, 'run'> {
|
|
249
|
+
readonly invocations?: RuntimeInvocationProvider;
|
|
250
|
+
startTurn(input: RuntimeTurnInput, context: RuntimeTurnContext, onPermission: PermissionCallback): AsyncGenerator<import('./providers.js').ProviderRuntimeEvent, void, void>;
|
|
251
|
+
}
|
|
252
|
+
export declare const INVOCATION_ERROR_CODES: readonly ["INVOCATION_NOT_FOUND", "INVOCATION_CATALOG_STALE", "INVOCATION_CONTEXT_CHANGED", "INVOCATION_UNAVAILABLE", "INVOCATION_UNSUPPORTED", "INVOCATION_ARGUMENTS_INVALID", "INVOCATION_PROTOCOL_MISMATCH", "INVOCATION_DISCOVERY_FAILED", "INVOCATION_PREPARE_FAILED", "INVOCATION_PROVIDER_REJECTED", "PORTABLE_SKILL_UNSUPPORTED", "PORTABLE_SKILL_RESOURCE_UNAVAILABLE", "PORTABLE_SKILL_CHANGED"];
|
|
253
|
+
export type InvocationErrorCode = (typeof INVOCATION_ERROR_CODES)[number];
|
|
254
|
+
/** Typed error carrying a stable invocation error code. */
|
|
255
|
+
export declare class InvocationError extends Error {
|
|
256
|
+
readonly code: InvocationErrorCode;
|
|
257
|
+
constructor(code: InvocationErrorCode, message: string);
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Validate the relationship between a provider's declared invocation
|
|
261
|
+
* capabilities and its implemented methods (design doc §9). Returns
|
|
262
|
+
* human-readable error strings; an empty array means the declaration is
|
|
263
|
+
* consistent.
|
|
264
|
+
*/
|
|
265
|
+
export declare function validateInvocationRegistration(provider: unknown): string[];
|
|
266
|
+
/**
|
|
267
|
+
* Validate per-skill assessment consistency with the runtime-wide maximum and
|
|
268
|
+
* the mode invariants (§9: native → native-*; context → bridged; emulated →
|
|
269
|
+
* emulated/best-effort).
|
|
270
|
+
*/
|
|
271
|
+
export declare function validatePortableSkillAssessment(assessment: PortableSkillAssessment, runtimeMaximum: RuntimeInvocationCapabilities['portableSkills']): string[];
|
|
272
|
+
/** Argument-contract invariants enforced at descriptor creation (§8.1). */
|
|
273
|
+
export declare function validateInvocationArgumentContract(contract: unknown): string[];
|
|
274
|
+
/** Valid execution modes for each adapter-facing mode value. */
|
|
275
|
+
export declare function isInvocationExecutionMode(value: unknown): value is InvocationExecutionMode;
|
|
276
|
+
//# sourceMappingURL=invocations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invocations.d.ts","sourceRoot":"","sources":["../src/invocations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EACV,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AAExB;;;;;;;;;GASG;AAIH,MAAM,MAAM,qBAAqB,GAC7B,aAAa,GACb,iBAAiB,GACjB,eAAe,GACf,iBAAiB,GACjB,gBAAgB,CAAC;AAErB,mEAAmE;AACnE,MAAM,MAAM,aAAa,GAAG,qBAAqB,GAAG,KAAK,MAAM,EAAE,CAAC;AAElE,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AACvE,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;AAEhF,iFAAiF;AACjF,YAAY,EAAE,uBAAuB,EAAE,CAAC;AAExC,MAAM,MAAM,sBAAsB,GAAG,KAAK,GAAG,YAAY,CAAC;AAE1D,MAAM,WAAW,0BAA0B;IACzC,+EAA+E;IAC/E,QAAQ,EAAE,sBAAsB,EAAE,CAAC;IACnC,qEAAqE;IACrE,SAAS,EAAE,sBAAsB,CAAC;IAClC,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,yEAAyE;IACzE,UAAU,EAAE;QACV,GAAG,CAAC,EAAE,UAAU,GAAG,gBAAgB,CAAC;QACpC,UAAU,CAAC,EAAE,iBAAiB,GAAG,gBAAgB,CAAC;KACnD,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,0EAA0E;IAC1E,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,aAAa,CAAC;IACpB,uEAAuE;IACvE,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,+DAA+D;IAC/D,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,MAAM,EAAE;QACN,KAAK,EAAE,cAAc,CAAC;QACtB,KAAK,EAAE,cAAc,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IAEF,SAAS,EAAE;QACT,IAAI,EAAE,uBAAuB,CAAC;QAC9B,QAAQ,EAAE,OAAO,GAAG,aAAa,CAAC;QAClC,SAAS,EAAE,0BAA0B,CAAC;KACvC,CAAC;IAEF,YAAY,EAAE;QAAE,SAAS,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,SAAS,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACzF;AAID,MAAM,WAAW,sBAAsB;IACrC,yEAAyE;IACzE,UAAU,EAAE,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAC5C,iEAAiE;IACjE,gBAAgB,EAAE,MAAM,CAAC;IACzB,8DAA8D;IAC9D,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,sBAAsB,EAAE,CAAC;IAChC,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACnC,KAAK,EAAE,YAAY,CAAC;IACpB,YAAY,EAAE,SAAS,GAAG,UAAU,CAAC;IACrC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gFAAgF;IAChF,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,cAAc,GAAG,MAAM,GAAG,UAAU,CAAC;AAE9E,MAAM,MAAM,mBAAmB,GAC3B;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,uBAAuB,CAAA;CAAE,CAAC;AAI1D,MAAM,WAAW,wBAAwB;IACvC,eAAe,EAAE,CAAC,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,YAAY,CAAC;IACpB,YAAY,EAAE,SAAS,GAAG,UAAU,CAAC;IACrC,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,WAAW,EAAE,mBAAmB,EAAE,CAAC;CACpC;AAID,MAAM,MAAM,mBAAmB,GAC3B;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAE3D,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,6EAA6E;IAC7E,SAAS,EAAE,mBAAmB,CAAC;CAChC;AAID;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,0BAA0B;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,2BAA2B,GACnC;IACE,IAAI,EAAE,kBAAkB,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,0BAA0B,EAAE,CAAC;CACvC,GACD;IACE,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,0BAA0B,EAAE,CAAC;CACvC,CAAC;AAEN,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,SAAS,CAAC,EAAE,2BAA2B,CAAC;IACxC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,gBAAgB,GACxB;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACnC,GACD;IACE,IAAI,EAAE,oBAAoB,CAAC;IAC3B,UAAU,EAAE,mBAAmB,CAAC;IAChC,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,mBAAmB,CAAC;IAC/B,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACnC,GACD;IACE,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,yBAAyB,CAAC;IACjC,UAAU,EAAE,uBAAuB,CAAC;IACpC,SAAS,EAAE,mBAAmB,CAAC;IAC/B,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACnC,CAAC;AAIN,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,oBAAoB,EAAE,SAAS,MAAM,EAAE,CAAC;IACjD,QAAQ,CAAC,4BAA4B,EAAE,MAAM,CAAC;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE;QACjB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;QAC7B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;QACtC,iFAAiF;QACjF,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;KACrC,CAAC;IACF,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC;IACjE,cAAc,EAAE,uBAAuB,EAAE,CAAC;IAC1C,OAAO,EAAE,QAAQ,GAAG,OAAO,GAAG,gBAAgB,CAAC;IAC/C,cAAc,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC7C,gBAAgB,EAAE,gBAAgB,GAAG,qBAAqB,GAAG,WAAW,CAAC;IACzE,sBAAsB,EAAE,OAAO,CAAC;IAChC,8EAA8E;IAC9E,cAAc,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,aAAa,CAAC;CACnE;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,gBAAgB,EAAE,0BAA0B,EAAE,CAAC;IAC/C,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,uBAAuB,GAC/B;IACE,SAAS,EAAE,IAAI,CAAC;IAChB,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;IACxC,aAAa,EAAE,OAAO,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;IACxD,QAAQ,EAAE,OAAO,GAAG,aAAa,CAAC;IAClC,cAAc,EAAE,MAAM,GAAG,kBAAkB,GAAG,iBAAiB,CAAC;CACjE,GACD;IACE,SAAS,EAAE,KAAK,CAAC;IACjB,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEN,MAAM,WAAW,2BAA2B;IAC1C,gFAAgF;IAChF,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CACxF;AAED,MAAM,WAAW,kBAAmB,SAAQ,uBAAuB;IACjE,QAAQ,EAAE;QACR,wDAAwD;QACxD,sBAAsB,EAAE,2BAA2B,CAAC;KACrD,CAAC;CACH;AAED,MAAM,WAAW,yBAAyB;IACxC,YAAY,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAEvF,QAAQ,CAAC,OAAO,EAAE,uBAAuB,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAElG,KAAK,CAAC,CAAC,OAAO,EAAE,uBAAuB,EAAE,MAAM,EAAE,WAAW,GAAG,aAAa,CAAC,mBAAmB,CAAC,CAAC;IAElG,+DAA+D;IAC/D,mBAAmB,CAAC,CAClB,KAAK,EAAE,sBAAsB,EAC7B,OAAO,EAAE,uBAAuB,EAChC,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,uBAAuB,CAAC,CAAC;CACrC;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,oBAAoB,EAAE,KAAK,CAAC;IAC/E,QAAQ,CAAC,WAAW,CAAC,EAAE,yBAAyB,CAAC;IACjD,SAAS,CACP,KAAK,EAAE,gBAAgB,EACvB,OAAO,EAAE,kBAAkB,EAC3B,YAAY,EAAE,kBAAkB,GAC/B,cAAc,CAAC,OAAO,gBAAgB,EAAE,oBAAoB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;CAC9E;AAID,eAAO,MAAM,sBAAsB,4YAczB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1E,2DAA2D;AAC3D,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;gBAEvB,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM;CAKvD;AAgBD;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,EAAE,CAa1E;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,uBAAuB,EACnC,cAAc,EAAE,6BAA6B,CAAC,gBAAgB,CAAC,GAC9D,MAAM,EAAE,CAwBV;AAED,2EAA2E;AAC3E,wBAAgB,kCAAkC,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,EAAE,CA6C9E;AAED,gEAAgE;AAChE,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,uBAAuB,CAE1F"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
// ── Error codes ──────────────────────────────────────────────────────────────
|
|
2
|
+
export const INVOCATION_ERROR_CODES = [
|
|
3
|
+
'INVOCATION_NOT_FOUND',
|
|
4
|
+
'INVOCATION_CATALOG_STALE',
|
|
5
|
+
'INVOCATION_CONTEXT_CHANGED',
|
|
6
|
+
'INVOCATION_UNAVAILABLE',
|
|
7
|
+
'INVOCATION_UNSUPPORTED',
|
|
8
|
+
'INVOCATION_ARGUMENTS_INVALID',
|
|
9
|
+
'INVOCATION_PROTOCOL_MISMATCH',
|
|
10
|
+
'INVOCATION_DISCOVERY_FAILED',
|
|
11
|
+
'INVOCATION_PREPARE_FAILED',
|
|
12
|
+
'INVOCATION_PROVIDER_REJECTED',
|
|
13
|
+
'PORTABLE_SKILL_UNSUPPORTED',
|
|
14
|
+
'PORTABLE_SKILL_RESOURCE_UNAVAILABLE',
|
|
15
|
+
'PORTABLE_SKILL_CHANGED',
|
|
16
|
+
];
|
|
17
|
+
/** Typed error carrying a stable invocation error code. */
|
|
18
|
+
export class InvocationError extends Error {
|
|
19
|
+
code;
|
|
20
|
+
constructor(code, message) {
|
|
21
|
+
super(message);
|
|
22
|
+
this.name = 'InvocationError';
|
|
23
|
+
this.code = code;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
// ── Registration validation ──────────────────────────────────────────────────
|
|
27
|
+
const INVOCATION_EXECUTION_MODES = [
|
|
28
|
+
'host',
|
|
29
|
+
'native-text',
|
|
30
|
+
'native-structured',
|
|
31
|
+
'bridged',
|
|
32
|
+
'emulated',
|
|
33
|
+
];
|
|
34
|
+
function isRecord(value) {
|
|
35
|
+
return value !== null && typeof value === 'object' && !Array.isArray(value);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Validate the relationship between a provider's declared invocation
|
|
39
|
+
* capabilities and its implemented methods (design doc §9). Returns
|
|
40
|
+
* human-readable error strings; an empty array means the declaration is
|
|
41
|
+
* consistent.
|
|
42
|
+
*/
|
|
43
|
+
export function validateInvocationRegistration(provider) {
|
|
44
|
+
if (!isRecord(provider))
|
|
45
|
+
return ['invocations must be an object when declared'];
|
|
46
|
+
const errors = [];
|
|
47
|
+
if (typeof provider.capabilities !== 'function') {
|
|
48
|
+
errors.push('invocations.capabilities must be a function');
|
|
49
|
+
}
|
|
50
|
+
if (typeof provider.discover !== 'function') {
|
|
51
|
+
errors.push('invocations.discover must be a function');
|
|
52
|
+
}
|
|
53
|
+
if (provider.watch !== undefined && typeof provider.watch !== 'function') {
|
|
54
|
+
errors.push('invocations.watch must be a function when declared');
|
|
55
|
+
}
|
|
56
|
+
return errors;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Validate per-skill assessment consistency with the runtime-wide maximum and
|
|
60
|
+
* the mode invariants (§9: native → native-*; context → bridged; emulated →
|
|
61
|
+
* emulated/best-effort).
|
|
62
|
+
*/
|
|
63
|
+
export function validatePortableSkillAssessment(assessment, runtimeMaximum) {
|
|
64
|
+
if (!assessment.supported) {
|
|
65
|
+
return runtimeMaximum === 'unsupported'
|
|
66
|
+
? []
|
|
67
|
+
: [];
|
|
68
|
+
}
|
|
69
|
+
const errors = [];
|
|
70
|
+
if (runtimeMaximum === 'unsupported') {
|
|
71
|
+
errors.push('assessment claims support while the runtime declares portableSkills unsupported');
|
|
72
|
+
return errors;
|
|
73
|
+
}
|
|
74
|
+
if (runtimeMaximum === 'emulated' && assessment.mode === 'native') {
|
|
75
|
+
errors.push('assessment claims native above the runtime-wide emulated maximum');
|
|
76
|
+
}
|
|
77
|
+
if (assessment.mode === 'native' && assessment.executionMode !== 'native-text' && assessment.executionMode !== 'native-structured') {
|
|
78
|
+
errors.push('native assessment requires native-text or native-structured execution mode');
|
|
79
|
+
}
|
|
80
|
+
if (assessment.mode === 'context' && assessment.executionMode !== 'bridged') {
|
|
81
|
+
errors.push('context assessment requires bridged execution mode');
|
|
82
|
+
}
|
|
83
|
+
if (assessment.mode === 'emulated' && (assessment.executionMode !== 'emulated' || assessment.fidelity !== 'best-effort')) {
|
|
84
|
+
errors.push('emulated assessment requires emulated execution mode and best-effort fidelity');
|
|
85
|
+
}
|
|
86
|
+
return errors;
|
|
87
|
+
}
|
|
88
|
+
/** Argument-contract invariants enforced at descriptor creation (§8.1). */
|
|
89
|
+
export function validateInvocationArgumentContract(contract) {
|
|
90
|
+
if (!isRecord(contract))
|
|
91
|
+
return ['argument contract must be an object'];
|
|
92
|
+
const errors = [];
|
|
93
|
+
const accepted = contract.accepted;
|
|
94
|
+
if (!Array.isArray(accepted) ||
|
|
95
|
+
accepted.length === 0 ||
|
|
96
|
+
!accepted.every(kind => kind === 'raw' || kind === 'structured') ||
|
|
97
|
+
new Set(accepted).size !== accepted.length) {
|
|
98
|
+
errors.push('accepted must be a non-empty array of unique raw/structured kinds');
|
|
99
|
+
return errors;
|
|
100
|
+
}
|
|
101
|
+
const preferred = contract.preferred;
|
|
102
|
+
if (preferred !== 'raw' && preferred !== 'structured') {
|
|
103
|
+
errors.push('preferred must be raw or structured');
|
|
104
|
+
}
|
|
105
|
+
else if (!accepted.includes(preferred)) {
|
|
106
|
+
errors.push('preferred must be a member of accepted');
|
|
107
|
+
}
|
|
108
|
+
const transcript = contract.transcript;
|
|
109
|
+
if (!isRecord(transcript)) {
|
|
110
|
+
errors.push('transcript policy must be an object');
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
const keys = Object.keys(transcript).sort();
|
|
114
|
+
const expected = [...accepted].sort();
|
|
115
|
+
if (keys.join(',') !== expected.join(',')) {
|
|
116
|
+
errors.push('transcript policy must contain exactly the accepted representation keys');
|
|
117
|
+
}
|
|
118
|
+
for (const key of accepted) {
|
|
119
|
+
const value = transcript[key];
|
|
120
|
+
if (key === 'raw' && value !== undefined && value !== 'verbatim' && value !== 'omit-arguments') {
|
|
121
|
+
errors.push('transcript.raw must be verbatim or omit-arguments');
|
|
122
|
+
}
|
|
123
|
+
if (key === 'structured' && value !== undefined && value !== 'schema-redacted' && value !== 'omit-arguments') {
|
|
124
|
+
errors.push('transcript.structured must be schema-redacted or omit-arguments');
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
const schema = contract.schema;
|
|
129
|
+
if (accepted.includes('structured')) {
|
|
130
|
+
if (!isRecord(schema))
|
|
131
|
+
errors.push('schema is required when structured arguments are accepted');
|
|
132
|
+
}
|
|
133
|
+
else if (schema !== undefined) {
|
|
134
|
+
errors.push('schema is only allowed when structured arguments are accepted');
|
|
135
|
+
}
|
|
136
|
+
return errors;
|
|
137
|
+
}
|
|
138
|
+
/** Valid execution modes for each adapter-facing mode value. */
|
|
139
|
+
export function isInvocationExecutionMode(value) {
|
|
140
|
+
return INVOCATION_EXECUTION_MODES.includes(value);
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=invocations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invocations.js","sourceRoot":"","sources":["../src/invocations.ts"],"names":[],"mappings":"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"}
|
package/dist/providers.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { PermissionCallback } from './interactions.js';
|
|
2
2
|
import type { ContextWindowSource, ProviderUsage, RuntimeCapabilityMode, ThinkingLevel, ThinkingLevelMode, ModelConfigKind, ToolEffect, ToolSemantic } from './types.js';
|
|
3
3
|
export type { PermissionCallback, PermissionDecision, PermissionRequest } from './interactions.js';
|
|
4
|
-
export type PCPCapabilityId = 'chat.generate' | 'chat.stream' | 'tool.call' | 'tool.inject' | 'interaction.form' | 'interaction.approval' | 'interaction.todo' | 'input.image' | 'input.text_file' | 'input.binary_file' | 'permission.mode' | 'session.abort' | 'session.steer' | 'session.background_task';
|
|
4
|
+
export type PCPCapabilityId = 'chat.generate' | 'chat.stream' | 'tool.call' | 'tool.inject' | 'interaction.form' | 'interaction.approval' | 'interaction.todo' | 'input.image' | 'input.text_file' | 'input.binary_file' | 'permission.mode' | 'session.abort' | 'session.steer' | 'session.background_task' | 'invocation.catalog' | 'invocation.execute' | 'invocation.refresh' | 'invocation.structured-input' | 'skill.portable';
|
|
5
5
|
export type CapabilityMode = 'native' | 'bridged' | 'emulated';
|
|
6
6
|
export type ReliabilityTier = 'strict' | 'best_effort' | 'display_only';
|
|
7
7
|
export type DegradationPolicy = 'reject' | 'fallback_to_text' | 'fallback_to_notice' | 'server_emulation';
|
|
@@ -150,6 +150,13 @@ export interface ModeTransition {
|
|
|
150
150
|
export type ToolInteractionKind = 'todo_update';
|
|
151
151
|
export interface SystemInfo {
|
|
152
152
|
model?: string;
|
|
153
|
+
/**
|
|
154
|
+
* Provider-native model identifier that produced `model`, when the provider
|
|
155
|
+
* separates a parameterized wire id from a display name (e.g. Cursor ACP's
|
|
156
|
+
* `claude-opus-5[thinking=true,...]` vs `claude-opus-5`). Diagnostics only;
|
|
157
|
+
* UI should keep showing `model`.
|
|
158
|
+
*/
|
|
159
|
+
modelId?: string;
|
|
153
160
|
contextWindow?: number;
|
|
154
161
|
contextWindowSource?: ContextWindowSource;
|
|
155
162
|
contextWindowMatchedProvider?: string;
|
|
@@ -177,6 +184,13 @@ export interface ProviderRuntimeEvent {
|
|
|
177
184
|
status?: number;
|
|
178
185
|
};
|
|
179
186
|
sessionId?: string;
|
|
187
|
+
/**
|
|
188
|
+
* Transport a provider session is bound to (e.g. `cursor-acp-v1` vs
|
|
189
|
+
* `cursor-stream-json-v1`). Emitted on `init` before the first prompt so the
|
|
190
|
+
* host can persist it atomically with the provider session id; resumes must
|
|
191
|
+
* honor the persisted binding instead of guessing.
|
|
192
|
+
*/
|
|
193
|
+
providerTransport?: string;
|
|
180
194
|
content?: string;
|
|
181
195
|
systemInfo?: SystemInfo;
|
|
182
196
|
toolUseId?: string;
|
|
@@ -222,6 +236,13 @@ export interface ProviderToolBridgeRequest {
|
|
|
222
236
|
export interface ExternalAgentRunContext {
|
|
223
237
|
cwd: string;
|
|
224
238
|
sessionId?: string;
|
|
239
|
+
/**
|
|
240
|
+
* Persisted transport of the provider session being resumed (see
|
|
241
|
+
* `ProviderRuntimeEvent.providerTransport`). Null/undefined for new sessions
|
|
242
|
+
* or runtimes without transport binding. Resumes must honor it; the choice
|
|
243
|
+
* for unbound sessions belongs to the adapter's release policy.
|
|
244
|
+
*/
|
|
245
|
+
providerTransport?: string | null;
|
|
225
246
|
env?: Record<string, string>;
|
|
226
247
|
mode?: string;
|
|
227
248
|
systemPrompt?: string;
|
|
@@ -241,6 +262,24 @@ export interface ExternalAgentRunState {
|
|
|
241
262
|
providerSessionId?: string;
|
|
242
263
|
providerCwd: string;
|
|
243
264
|
}
|
|
265
|
+
/**
|
|
266
|
+
* How an invocation executes. `host` is reserved for host actions; adapters use
|
|
267
|
+
* the remaining four (URIP design doc §8.1).
|
|
268
|
+
*/
|
|
269
|
+
export type InvocationExecutionMode = 'host' | 'native-text' | 'native-structured' | 'bridged' | 'emulated';
|
|
270
|
+
/**
|
|
271
|
+
* Compatibility adapter surface during the URIP migration (design doc §9.2):
|
|
272
|
+
* `run(string)` keeps existing adapters working, `startTurn` opts into typed
|
|
273
|
+
* turn input, and `invocations` publishes a runtime catalog. Hosts require at
|
|
274
|
+
* least one of `run`/`startTurn`.
|
|
275
|
+
*/
|
|
276
|
+
export interface ExternalAgentAdapterCompat extends Omit<ExternalAgentAdapter, 'run'> {
|
|
277
|
+
run?(input: string, context: ExternalAgentRunContext, onPermission: PermissionCallback): AsyncGenerator<ProviderRuntimeEvent, void, void>;
|
|
278
|
+
startTurn?(input: unknown, context: ExternalAgentRunContext, onPermission: PermissionCallback): AsyncGenerator<ProviderRuntimeEvent, void, void>;
|
|
279
|
+
invocations?: unknown;
|
|
280
|
+
}
|
|
281
|
+
/** True when an adapter object implements the minimum runnable surface. */
|
|
282
|
+
export declare function adapterIsRunnable(adapter: unknown): boolean;
|
|
244
283
|
export interface ExternalAgentAdapter {
|
|
245
284
|
readonly type: string;
|
|
246
285
|
run(input: string, context: ExternalAgentRunContext, onPermission: PermissionCallback): AsyncGenerator<ProviderRuntimeEvent, void, void>;
|
package/dist/providers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EACV,mBAAmB,EACnB,aAAa,EACb,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,YAAY,EACb,MAAM,YAAY,CAAC;AAIpB,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEnG,MAAM,MAAM,eAAe,GACvB,eAAe,GACf,aAAa,GACb,WAAW,GACX,aAAa,GACb,kBAAkB,GAClB,sBAAsB,GACtB,kBAAkB,GAClB,aAAa,GACb,iBAAiB,GACjB,mBAAmB,GACnB,iBAAiB,GACjB,eAAe,GACf,eAAe,GACf,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"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"}
|
package/dist/providers.js
CHANGED
|
@@ -140,4 +140,11 @@ export const PROVIDER_RUNTIME_EVENT_TYPES = [
|
|
|
140
140
|
'thinking_delta',
|
|
141
141
|
'retry_scheduled',
|
|
142
142
|
];
|
|
143
|
+
/** True when an adapter object implements the minimum runnable surface. */
|
|
144
|
+
export function adapterIsRunnable(adapter) {
|
|
145
|
+
return (typeof adapter === 'object' &&
|
|
146
|
+
adapter !== null &&
|
|
147
|
+
(('run' in adapter && typeof adapter.run === 'function') ||
|
|
148
|
+
('startTurn' in adapter && typeof adapter.startTurn === 'function')));
|
|
149
|
+
}
|
|
143
150
|
//# sourceMappingURL=providers.js.map
|
package/dist/providers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zclaudia/plugin-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Public contracts and development helpers for ZClaudia plugins.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -21,6 +21,11 @@
|
|
|
21
21
|
"types": "./dist/interactions.d.ts",
|
|
22
22
|
"import": "./dist/interactions.js"
|
|
23
23
|
},
|
|
24
|
+
"./invocations": {
|
|
25
|
+
"types": "./dist/invocations.d.ts",
|
|
26
|
+
"import": "./dist/invocations.js",
|
|
27
|
+
"default": "./dist/invocations.js"
|
|
28
|
+
},
|
|
24
29
|
"./managed-runtimes": {
|
|
25
30
|
"types": "./dist/managed-runtimes.d.ts",
|
|
26
31
|
"import": "./dist/managed-runtimes.js"
|