@xenosystem/acp-agent 0.2.0 → 0.2.2
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/acpAgentServer.d.ts +1 -0
- package/dist/acpAgentServer.d.ts.map +1 -1
- package/dist/acpAgentServer.js +164 -3
- package/dist/acpAgentServer.js.map +1 -1
- package/dist/cli.js +22 -1
- package/dist/cli.js.map +1 -1
- package/dist/config/providerPolicySchema.d.ts.map +1 -1
- package/dist/config/providerPolicySchema.js +3 -1
- package/dist/config/providerPolicySchema.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/providers/claudeLocalProvider.d.ts +3 -1
- package/dist/providers/claudeLocalProvider.d.ts.map +1 -1
- package/dist/providers/claudeLocalProvider.js +48 -5
- package/dist/providers/claudeLocalProvider.js.map +1 -1
- package/dist/providers/claudeStreamJsonParser.d.ts +36 -0
- package/dist/providers/claudeStreamJsonParser.d.ts.map +1 -1
- package/dist/providers/claudeStreamJsonParser.js +117 -3
- package/dist/providers/claudeStreamJsonParser.js.map +1 -1
- package/dist/providers/codexExecJsonParser.d.ts +2 -0
- package/dist/providers/codexExecJsonParser.d.ts.map +1 -1
- package/dist/providers/codexExecJsonParser.js +26 -3
- package/dist/providers/codexExecJsonParser.js.map +1 -1
- package/dist/providers/codexLocalProvider.d.ts +4 -1
- package/dist/providers/codexLocalProvider.d.ts.map +1 -1
- package/dist/providers/codexLocalProvider.js +74 -10
- package/dist/providers/codexLocalProvider.js.map +1 -1
- package/dist/providers/fixtureProvider.d.ts.map +1 -1
- package/dist/providers/fixtureProvider.js +89 -0
- package/dist/providers/fixtureProvider.js.map +1 -1
- package/dist/providers/providerEvents.d.ts +29 -0
- package/dist/providers/providerEvents.d.ts.map +1 -1
- package/dist/providers/providerEvents.js +15 -1
- package/dist/providers/providerEvents.js.map +1 -1
- package/dist/providers/providerRegistry.d.ts +24 -1
- package/dist/providers/providerRegistry.d.ts.map +1 -1
- package/dist/providers/providerRegistry.js +314 -1
- package/dist/providers/providerRegistry.js.map +1 -1
- package/dist/providers/providerTypes.d.ts +121 -1
- package/dist/providers/providerTypes.d.ts.map +1 -1
- package/dist/providers/residentContextTokens.d.ts +41 -0
- package/dist/providers/residentContextTokens.d.ts.map +1 -0
- package/dist/providers/residentContextTokens.js +55 -0
- package/dist/providers/residentContextTokens.js.map +1 -0
- package/dist/providers/xenoLocalProvider.d.ts.map +1 -1
- package/dist/providers/xenoLocalProvider.js +23 -0
- package/dist/providers/xenoLocalProvider.js.map +1 -1
- package/dist/providers/xenoSdkProvider.d.ts.map +1 -1
- package/dist/providers/xenoSdkProvider.js +23 -0
- package/dist/providers/xenoSdkProvider.js.map +1 -1
- package/dist/security/authPolicy.d.ts.map +1 -1
- package/dist/security/authPolicy.js +4 -1
- package/dist/security/authPolicy.js.map +1 -1
- package/dist/security/secretBinding.d.ts.map +1 -1
- package/dist/security/secretBinding.js +3 -1
- package/dist/security/secretBinding.js.map +1 -1
- package/dist/security/securityTypes.d.ts +13 -1
- package/dist/security/securityTypes.d.ts.map +1 -1
- package/dist/security/securityTypes.js +13 -0
- package/dist/security/securityTypes.js.map +1 -1
- package/dist/types.d.ts +9 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +14 -28
|
@@ -68,7 +68,21 @@ export function providerEventToAcpUpdate(event) {
|
|
|
68
68
|
}
|
|
69
69
|
case "usage": {
|
|
70
70
|
const p = event.payload;
|
|
71
|
-
|
|
71
|
+
// ⚠️ `_meta` ONLY when there is something to say. Attaching an empty envelope on every usage
|
|
72
|
+
// update would change the shape of a message every consumer already parses, for no signal —
|
|
73
|
+
// and would break the conformance test that pins this object exactly, which is precisely the
|
|
74
|
+
// check that tells us whether a change is additive.
|
|
75
|
+
return p.compaction
|
|
76
|
+
? {
|
|
77
|
+
sessionUpdate: "usage_update",
|
|
78
|
+
used: p.used,
|
|
79
|
+
size: p.size,
|
|
80
|
+
// The XENO extension namespace, same convention as the steer and context-inject
|
|
81
|
+
// capabilities. ACP itself has no compaction vocabulary, so this is the sanctioned way
|
|
82
|
+
// to carry one without inventing a session-update type nobody else understands.
|
|
83
|
+
_meta: { "xeno.dev": { compaction: p.compaction } },
|
|
84
|
+
}
|
|
85
|
+
: { sessionUpdate: "usage_update", used: p.used, size: p.size };
|
|
72
86
|
}
|
|
73
87
|
// Terminal + diagnostic events do not map to ACP session/update notifications.
|
|
74
88
|
case "completed":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providerEvents.js","sourceRoot":"","sources":["../../src/providers/providerEvents.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"providerEvents.js","sourceRoot":"","sources":["../../src/providers/providerEvents.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* returns a safe error. It does NOT import or depend on XENO Hub.
|
|
10
10
|
*/
|
|
11
11
|
import { type SafetyResult } from "./providerSafety.js";
|
|
12
|
-
import type { ProviderDefinition, ProviderRuntime, ProviderRuntimeConfig } from "./providerTypes.js";
|
|
12
|
+
import type { ProviderDefinition, ProviderNativeLauncherDescriptor, ProviderNativeLauncherRequest, ProviderRuntime, ProviderRuntimeConfig, ProviderSessionCapabilities, ProviderSessionCapabilityContext } from "./providerTypes.js";
|
|
13
13
|
export declare class ProviderRegistry {
|
|
14
14
|
private readonly defs;
|
|
15
15
|
register(def: ProviderDefinition): this;
|
|
@@ -19,6 +19,20 @@ export declare class ProviderRegistry {
|
|
|
19
19
|
safetyOf(id: string): SafetyResult | undefined;
|
|
20
20
|
/** A provider is runnable only if it is enabled AND passes the full capability gate. */
|
|
21
21
|
isRunnable(id: string): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Resolve effective session capabilities for a provider, guaranteeing advertisement
|
|
24
|
+
* cannot drift from implementation (native attach requires factory presence + durable exact resume + non-empty resumeCompatibilityKey).
|
|
25
|
+
*/
|
|
26
|
+
sessionCapabilitiesOf(id: string, context?: ProviderSessionCapabilityContext): ProviderSessionCapabilities | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* Build a typed native TUI launcher descriptor for an enabled provider with native attach capability.
|
|
29
|
+
* Throws a safe ProviderError if the provider is unknown, disabled, or lacks a native launcher factory.
|
|
30
|
+
*/
|
|
31
|
+
createNativeLauncher(id: string, request: ProviderNativeLauncherRequest): ProviderNativeLauncherDescriptor;
|
|
32
|
+
/**
|
|
33
|
+
* Resolve a typed native TUI launcher descriptor, or return undefined if unsupported/unavailable.
|
|
34
|
+
*/
|
|
35
|
+
resolveNativeLauncher(id: string, request: ProviderNativeLauncherRequest): ProviderNativeLauncherDescriptor | undefined;
|
|
22
36
|
/** Build a runtime, or throw a SAFE ProviderError (unknown / not-implemented / blocked). */
|
|
23
37
|
createRuntime(id: string, config?: ProviderRuntimeConfig): ProviderRuntime;
|
|
24
38
|
}
|
|
@@ -28,4 +42,13 @@ export declare function createPlaceholderDefinitions(): ProviderDefinition[];
|
|
|
28
42
|
* (XACP-014 — real but approval-gated), and the disabled third-party placeholders.
|
|
29
43
|
*/
|
|
30
44
|
export declare function createDefaultRegistry(): ProviderRegistry;
|
|
45
|
+
export declare function isValidNativeSessionId(locator: unknown): locator is string;
|
|
46
|
+
export declare function validateNativeSessionId(locator: unknown): string;
|
|
47
|
+
export declare function validateNativeLauncherCwd(cwd: unknown): string | undefined;
|
|
48
|
+
export declare function validateModelId(modelId: unknown): string;
|
|
49
|
+
export declare function validateConfigurationFingerprint(fingerprint: unknown): string;
|
|
50
|
+
export declare function validateSessionCapabilityContext(context: unknown): ProviderSessionCapabilityContext;
|
|
51
|
+
export declare function validateNativeLauncherRequest(request: unknown): ProviderNativeLauncherRequest;
|
|
52
|
+
export declare function resolveProviderResumeCompatibilityKey(def: ProviderDefinition, context?: ProviderSessionCapabilityContext): string | undefined;
|
|
53
|
+
export declare function resolveProviderSessionCapabilities(def: ProviderDefinition, context?: ProviderSessionCapabilityContext): ProviderSessionCapabilities;
|
|
31
54
|
//# sourceMappingURL=providerRegistry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providerRegistry.d.ts","sourceRoot":"","sources":["../../src/providers/providerRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"providerRegistry.d.ts","sourceRoot":"","sources":["../../src/providers/providerRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AASH,OAAO,EAA0B,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAUhF,OAAO,KAAK,EAGV,kBAAkB,EAGlB,gCAAgC,EAChC,6BAA6B,EAC7B,eAAe,EACf,qBAAqB,EACrB,2BAA2B,EAC3B,gCAAgC,EAEjC,MAAM,oBAAoB,CAAC;AAE5B,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAyC;IAE9D,QAAQ,CAAC,GAAG,EAAE,kBAAkB,GAAG,IAAI;IAKvC,IAAI,IAAI,kBAAkB,EAAE;IAG5B,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAG/C,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIxB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAK9C,wFAAwF;IACxF,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAK/B;;;OAGG;IACH,qBAAqB,CACnB,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,gCAAgC,GACzC,2BAA2B,GAAG,SAAS;IAM1C;;;OAGG;IACH,oBAAoB,CAClB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,6BAA6B,GACrC,gCAAgC;IA6BnC;;OAEG;IACH,qBAAqB,CACnB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,6BAA6B,GACrC,gCAAgC,GAAG,SAAS;IAQ/C,4FAA4F;IAC5F,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,qBAAqB,GAAG,eAAe;CAuC3E;AAkID,wBAAgB,4BAA4B,IAAI,kBAAkB,EAAE,CA6BnE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,gBAAgB,CASxD;AACD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,MAAM,CAM1E;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CA4BhE;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CA6B1E;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CA4BxD;AAED,wBAAgB,gCAAgC,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM,CA4B7E;AAED,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,OAAO,GAAG,gCAAgC,CAUnG;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,OAAO,GAAG,6BAA6B,CAkD7F;AAED,wBAAgB,qCAAqC,CACnD,GAAG,EAAE,kBAAkB,EACvB,OAAO,CAAC,EAAE,gCAAgC,GACzC,MAAM,GAAG,SAAS,CAUpB;AAED,wBAAgB,kCAAkC,CAChD,GAAG,EAAE,kBAAkB,EACvB,OAAO,CAAC,EAAE,gCAAgC,GACzC,2BAA2B,CAyD7B"}
|
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
* implemented. The registry never falls back to fixture for an unknown/blocked provider - it
|
|
9
9
|
* returns a safe error. It does NOT import or depend on XENO Hub.
|
|
10
10
|
*/
|
|
11
|
-
import {
|
|
11
|
+
import { isAbsolute } from "node:path";
|
|
12
|
+
import { ProviderConfigurationError, ProviderNotImplementedError, ProviderSafetyViolationError, ProviderUnavailableError, } from "./providerErrors.js";
|
|
12
13
|
import { validateProviderSafety } from "./providerSafety.js";
|
|
13
14
|
import { createFixtureProviderDefinition } from "./fixtureProvider.js";
|
|
14
15
|
import { createXenoLocalDefinition } from "./xenoLocalProvider.js";
|
|
@@ -41,6 +42,59 @@ export class ProviderRegistry {
|
|
|
41
42
|
const def = this.defs.get(id);
|
|
42
43
|
return Boolean(def && def.enabled && isGateAllowed(def));
|
|
43
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* Resolve effective session capabilities for a provider, guaranteeing advertisement
|
|
47
|
+
* cannot drift from implementation (native attach requires factory presence + durable exact resume + non-empty resumeCompatibilityKey).
|
|
48
|
+
*/
|
|
49
|
+
sessionCapabilitiesOf(id, context) {
|
|
50
|
+
const def = this.defs.get(id);
|
|
51
|
+
if (!def)
|
|
52
|
+
return undefined;
|
|
53
|
+
return resolveProviderSessionCapabilities(def, context);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Build a typed native TUI launcher descriptor for an enabled provider with native attach capability.
|
|
57
|
+
* Throws a safe ProviderError if the provider is unknown, disabled, or lacks a native launcher factory.
|
|
58
|
+
*/
|
|
59
|
+
createNativeLauncher(id, request) {
|
|
60
|
+
if (typeof id !== "string" || !id.trim()) {
|
|
61
|
+
throw new ProviderUnavailableError({
|
|
62
|
+
safeMessage: "providerId must be a non-empty string",
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
const def = this.defs.get(id.trim());
|
|
66
|
+
if (!def) {
|
|
67
|
+
throw new ProviderUnavailableError({
|
|
68
|
+
safeMessage: `unknown provider: ${id}`,
|
|
69
|
+
providerId: id,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
if (!def.enabled) {
|
|
73
|
+
throw new ProviderNotImplementedError({
|
|
74
|
+
safeMessage: `provider '${id}' is not implemented (blocked)`,
|
|
75
|
+
providerId: id,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
if (typeof def.createNativeLauncher !== "function") {
|
|
79
|
+
throw new ProviderUnavailableError({
|
|
80
|
+
safeMessage: `provider '${id}' does not support native TUI launch`,
|
|
81
|
+
providerId: id,
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
const validated = validateNativeLauncherRequest(request);
|
|
85
|
+
return def.createNativeLauncher(validated);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Resolve a typed native TUI launcher descriptor, or return undefined if unsupported/unavailable.
|
|
89
|
+
*/
|
|
90
|
+
resolveNativeLauncher(id, request) {
|
|
91
|
+
try {
|
|
92
|
+
return this.createNativeLauncher(id, request);
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
return undefined;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
44
98
|
/** Build a runtime, or throw a SAFE ProviderError (unknown / not-implemented / blocked). */
|
|
45
99
|
createRuntime(id, config) {
|
|
46
100
|
const def = this.defs.get(id);
|
|
@@ -210,6 +264,13 @@ export function createPlaceholderDefinitions() {
|
|
|
210
264
|
authPolicy: authPolicyFor(s.secretId, s.secretLabel, s.secretKind),
|
|
211
265
|
egressPolicy: egressPolicyFor(s.host),
|
|
212
266
|
metadata: s.metadata,
|
|
267
|
+
sessionCapabilities: {
|
|
268
|
+
chatExecution: { status: "unsupported", source: "policy", reason: `Placeholder for ${s.displayName} is not implemented` },
|
|
269
|
+
durableResume: { status: "unsupported", source: "policy", reason: `Placeholder for ${s.displayName} is not implemented` },
|
|
270
|
+
nativeTuiAttach: { status: "unsupported", source: "policy", reason: `Placeholder for ${s.displayName} is not implemented` },
|
|
271
|
+
reconciliation: { status: "unsupported", source: "policy", reason: `Placeholder for ${s.displayName} is not implemented` },
|
|
272
|
+
modelSwitchInPlace: { status: "unsupported", source: "policy", reason: `Placeholder for ${s.displayName} is not implemented` },
|
|
273
|
+
},
|
|
213
274
|
createRuntime() {
|
|
214
275
|
throw new ProviderNotImplementedError({
|
|
215
276
|
safeMessage: `provider '${s.id}' is not implemented (blocked)`,
|
|
@@ -233,4 +294,256 @@ export function createDefaultRegistry() {
|
|
|
233
294
|
registry.register(p);
|
|
234
295
|
return registry;
|
|
235
296
|
}
|
|
297
|
+
export function isValidNativeSessionId(locator) {
|
|
298
|
+
if (typeof locator !== "string")
|
|
299
|
+
return false;
|
|
300
|
+
const trimmed = locator.trim();
|
|
301
|
+
if (trimmed.length === 0 || trimmed.length > 256)
|
|
302
|
+
return false;
|
|
303
|
+
if (trimmed.startsWith("-"))
|
|
304
|
+
return false;
|
|
305
|
+
return /^[a-zA-Z0-9_.:-]+$/.test(trimmed);
|
|
306
|
+
}
|
|
307
|
+
export function validateNativeSessionId(locator) {
|
|
308
|
+
if (typeof locator !== "string") {
|
|
309
|
+
throw new ProviderConfigurationError({
|
|
310
|
+
safeMessage: "nativeSessionId must be a non-empty string",
|
|
311
|
+
});
|
|
312
|
+
}
|
|
313
|
+
const trimmed = locator.trim();
|
|
314
|
+
if (trimmed.length === 0) {
|
|
315
|
+
throw new ProviderConfigurationError({
|
|
316
|
+
safeMessage: "nativeSessionId cannot be empty",
|
|
317
|
+
});
|
|
318
|
+
}
|
|
319
|
+
if (trimmed.length > 256) {
|
|
320
|
+
throw new ProviderConfigurationError({
|
|
321
|
+
safeMessage: "nativeSessionId exceeds maximum allowed length of 256 characters",
|
|
322
|
+
});
|
|
323
|
+
}
|
|
324
|
+
if (trimmed.startsWith("-")) {
|
|
325
|
+
throw new ProviderConfigurationError({
|
|
326
|
+
safeMessage: "nativeSessionId cannot start with a hyphen (flag injection prevention)",
|
|
327
|
+
});
|
|
328
|
+
}
|
|
329
|
+
if (!/^[a-zA-Z0-9_.:-]+$/.test(trimmed)) {
|
|
330
|
+
throw new ProviderConfigurationError({
|
|
331
|
+
safeMessage: "nativeSessionId contains invalid characters; must match /^[a-zA-Z0-9_.:-]+$/",
|
|
332
|
+
});
|
|
333
|
+
}
|
|
334
|
+
return trimmed;
|
|
335
|
+
}
|
|
336
|
+
export function validateNativeLauncherCwd(cwd) {
|
|
337
|
+
if (cwd === undefined)
|
|
338
|
+
return undefined;
|
|
339
|
+
if (typeof cwd !== "string") {
|
|
340
|
+
throw new ProviderConfigurationError({
|
|
341
|
+
safeMessage: "cwd must be a string",
|
|
342
|
+
});
|
|
343
|
+
}
|
|
344
|
+
const trimmed = cwd.trim();
|
|
345
|
+
if (trimmed.length === 0) {
|
|
346
|
+
throw new ProviderConfigurationError({
|
|
347
|
+
safeMessage: "cwd cannot be empty",
|
|
348
|
+
});
|
|
349
|
+
}
|
|
350
|
+
if (trimmed.length > 4096) {
|
|
351
|
+
throw new ProviderConfigurationError({
|
|
352
|
+
safeMessage: "cwd exceeds maximum allowed length of 4096 characters",
|
|
353
|
+
});
|
|
354
|
+
}
|
|
355
|
+
if (!isAbsolute(trimmed)) {
|
|
356
|
+
throw new ProviderConfigurationError({
|
|
357
|
+
safeMessage: "cwd must be an absolute path",
|
|
358
|
+
});
|
|
359
|
+
}
|
|
360
|
+
if (/[\u0000-\u001f\u007f\r\n]/.test(trimmed)) {
|
|
361
|
+
throw new ProviderConfigurationError({
|
|
362
|
+
safeMessage: "cwd cannot contain control characters or newlines",
|
|
363
|
+
});
|
|
364
|
+
}
|
|
365
|
+
return trimmed;
|
|
366
|
+
}
|
|
367
|
+
export function validateModelId(modelId) {
|
|
368
|
+
if (typeof modelId !== "string") {
|
|
369
|
+
throw new ProviderConfigurationError({
|
|
370
|
+
safeMessage: "modelId must be a string",
|
|
371
|
+
});
|
|
372
|
+
}
|
|
373
|
+
const trimmed = modelId.trim();
|
|
374
|
+
if (trimmed.length === 0) {
|
|
375
|
+
throw new ProviderConfigurationError({
|
|
376
|
+
safeMessage: "modelId cannot be empty",
|
|
377
|
+
});
|
|
378
|
+
}
|
|
379
|
+
if (trimmed.length > 256) {
|
|
380
|
+
throw new ProviderConfigurationError({
|
|
381
|
+
safeMessage: "modelId exceeds maximum allowed length of 256 characters",
|
|
382
|
+
});
|
|
383
|
+
}
|
|
384
|
+
if (trimmed.startsWith("-")) {
|
|
385
|
+
throw new ProviderConfigurationError({
|
|
386
|
+
safeMessage: "modelId cannot start with a hyphen (flag injection prevention)",
|
|
387
|
+
});
|
|
388
|
+
}
|
|
389
|
+
if (!/^[a-zA-Z0-9_.:/@-]+$/.test(trimmed)) {
|
|
390
|
+
throw new ProviderConfigurationError({
|
|
391
|
+
safeMessage: "modelId contains invalid characters; must match /^[a-zA-Z0-9_.:/@-]+$/",
|
|
392
|
+
});
|
|
393
|
+
}
|
|
394
|
+
return trimmed;
|
|
395
|
+
}
|
|
396
|
+
export function validateConfigurationFingerprint(fingerprint) {
|
|
397
|
+
if (typeof fingerprint !== "string") {
|
|
398
|
+
throw new ProviderConfigurationError({
|
|
399
|
+
safeMessage: "configurationFingerprint must be a string",
|
|
400
|
+
});
|
|
401
|
+
}
|
|
402
|
+
const trimmed = fingerprint.trim();
|
|
403
|
+
if (trimmed.length === 0) {
|
|
404
|
+
throw new ProviderConfigurationError({
|
|
405
|
+
safeMessage: "configurationFingerprint cannot be empty",
|
|
406
|
+
});
|
|
407
|
+
}
|
|
408
|
+
if (trimmed.length > 256) {
|
|
409
|
+
throw new ProviderConfigurationError({
|
|
410
|
+
safeMessage: "configurationFingerprint exceeds maximum allowed length of 256 characters",
|
|
411
|
+
});
|
|
412
|
+
}
|
|
413
|
+
if (trimmed.startsWith("-")) {
|
|
414
|
+
throw new ProviderConfigurationError({
|
|
415
|
+
safeMessage: "configurationFingerprint cannot start with a hyphen (flag injection prevention)",
|
|
416
|
+
});
|
|
417
|
+
}
|
|
418
|
+
if (!/^[a-zA-Z0-9_.:/@-]+$/.test(trimmed)) {
|
|
419
|
+
throw new ProviderConfigurationError({
|
|
420
|
+
safeMessage: "configurationFingerprint contains invalid characters; must match /^[a-zA-Z0-9_.:/@-]+$/",
|
|
421
|
+
});
|
|
422
|
+
}
|
|
423
|
+
return trimmed;
|
|
424
|
+
}
|
|
425
|
+
export function validateSessionCapabilityContext(context) {
|
|
426
|
+
if (typeof context !== "object" || context === null || Array.isArray(context)) {
|
|
427
|
+
throw new ProviderConfigurationError({
|
|
428
|
+
safeMessage: "session capability context must be an object with modelId and configurationFingerprint",
|
|
429
|
+
});
|
|
430
|
+
}
|
|
431
|
+
const raw = context;
|
|
432
|
+
const modelId = validateModelId(raw.modelId);
|
|
433
|
+
const configurationFingerprint = validateConfigurationFingerprint(raw.configurationFingerprint);
|
|
434
|
+
return { modelId, configurationFingerprint };
|
|
435
|
+
}
|
|
436
|
+
export function validateNativeLauncherRequest(request) {
|
|
437
|
+
if (typeof request !== "object" || request === null || Array.isArray(request)) {
|
|
438
|
+
throw new ProviderConfigurationError({
|
|
439
|
+
safeMessage: "native launcher request must be an object with a valid nativeSessionId",
|
|
440
|
+
});
|
|
441
|
+
}
|
|
442
|
+
const raw = request;
|
|
443
|
+
if (raw.configuredExecutable !== undefined) {
|
|
444
|
+
throw new ProviderConfigurationError({
|
|
445
|
+
safeMessage: "configuredExecutable is not permitted; executable resolution is provider-owned",
|
|
446
|
+
});
|
|
447
|
+
}
|
|
448
|
+
if (raw.configuredArgs !== undefined) {
|
|
449
|
+
throw new ProviderConfigurationError({
|
|
450
|
+
safeMessage: "configuredArgs is not permitted; argument resolution is provider-owned",
|
|
451
|
+
});
|
|
452
|
+
}
|
|
453
|
+
if (raw.command !== undefined) {
|
|
454
|
+
throw new ProviderConfigurationError({
|
|
455
|
+
safeMessage: "command is not permitted; launchers return typed argv descriptors",
|
|
456
|
+
});
|
|
457
|
+
}
|
|
458
|
+
if (raw.certified !== undefined || raw.certificationStatus !== undefined) {
|
|
459
|
+
throw new ProviderConfigurationError({
|
|
460
|
+
safeMessage: "client-attested certification flags are not permitted",
|
|
461
|
+
});
|
|
462
|
+
}
|
|
463
|
+
if (raw.providerId !== undefined || raw.expectedProviderId !== undefined) {
|
|
464
|
+
throw new ProviderConfigurationError({
|
|
465
|
+
safeMessage: "caller-supplied providerId alias overrides are not permitted in launcher requests",
|
|
466
|
+
});
|
|
467
|
+
}
|
|
468
|
+
if (raw.env !== undefined) {
|
|
469
|
+
throw new ProviderConfigurationError({
|
|
470
|
+
safeMessage: "env is not permitted in launcher requests; host/PTY layer owns environment",
|
|
471
|
+
});
|
|
472
|
+
}
|
|
473
|
+
if (raw.authoritySnapshot !== undefined) {
|
|
474
|
+
throw new ProviderConfigurationError({
|
|
475
|
+
safeMessage: "authoritySnapshot is not permitted in launcher requests; host/PTY layer owns authority",
|
|
476
|
+
});
|
|
477
|
+
}
|
|
478
|
+
const nativeSessionId = validateNativeSessionId(raw.nativeSessionId);
|
|
479
|
+
const cwd = validateNativeLauncherCwd(raw.cwd);
|
|
480
|
+
return {
|
|
481
|
+
nativeSessionId,
|
|
482
|
+
...(cwd ? { cwd } : {}),
|
|
483
|
+
};
|
|
484
|
+
}
|
|
485
|
+
export function resolveProviderResumeCompatibilityKey(def, context) {
|
|
486
|
+
if (!context)
|
|
487
|
+
return undefined;
|
|
488
|
+
const validated = validateSessionCapabilityContext(context);
|
|
489
|
+
if (typeof def.resolveResumeCompatibilityKey === "function") {
|
|
490
|
+
return def.resolveResumeCompatibilityKey(validated);
|
|
491
|
+
}
|
|
492
|
+
if (def.sessionCapabilities?.durableResume?.status === "available") {
|
|
493
|
+
return `${def.id}:${validated.modelId}:${validated.configurationFingerprint}`;
|
|
494
|
+
}
|
|
495
|
+
return undefined;
|
|
496
|
+
}
|
|
497
|
+
export function resolveProviderSessionCapabilities(def, context) {
|
|
498
|
+
const baseCaps = def.sessionCapabilities;
|
|
499
|
+
const hasFactory = typeof def.createNativeLauncher === "function";
|
|
500
|
+
const hasDurableResume = baseCaps?.durableResume?.status === "available";
|
|
501
|
+
let resumeKey;
|
|
502
|
+
if (context !== undefined) {
|
|
503
|
+
resumeKey = resolveProviderResumeCompatibilityKey(def, context)?.trim();
|
|
504
|
+
}
|
|
505
|
+
const hasResumeKey = Boolean(resumeKey && resumeKey.length > 0);
|
|
506
|
+
const nativeAttachAvailable = Boolean(def.enabled &&
|
|
507
|
+
hasFactory &&
|
|
508
|
+
hasDurableResume &&
|
|
509
|
+
hasResumeKey &&
|
|
510
|
+
baseCaps?.nativeTuiAttach?.status === "available");
|
|
511
|
+
const nativeTuiAttach = nativeAttachAvailable
|
|
512
|
+
? (baseCaps?.nativeTuiAttach ?? { status: "available", source: "host" })
|
|
513
|
+
: {
|
|
514
|
+
status: "unsupported",
|
|
515
|
+
source: "policy",
|
|
516
|
+
reason: !def.enabled
|
|
517
|
+
? `Provider '${def.id}' is disabled / not implemented`
|
|
518
|
+
: !hasFactory
|
|
519
|
+
? `Provider '${def.id}' has no native launcher factory`
|
|
520
|
+
: !hasDurableResume
|
|
521
|
+
? `Provider '${def.id}' does not support durable resume`
|
|
522
|
+
: !context
|
|
523
|
+
? `Provider '${def.id}' requires session capability context (modelId and configurationFingerprint) to resolve native attach compatibility`
|
|
524
|
+
: !hasResumeKey
|
|
525
|
+
? `Provider '${def.id}' has no resumeCompatibilityKey`
|
|
526
|
+
: (baseCaps?.nativeTuiAttach?.reason ?? `Provider '${def.id}' does not support native TUI attach`),
|
|
527
|
+
};
|
|
528
|
+
return {
|
|
529
|
+
chatExecution: baseCaps?.chatExecution ?? (def.enabled ? { status: "available", source: "provider" } : { status: "unsupported", source: "policy" }),
|
|
530
|
+
durableResume: baseCaps?.durableResume ?? {
|
|
531
|
+
status: "unsupported",
|
|
532
|
+
source: "policy",
|
|
533
|
+
reason: `Provider '${def.id}' does not support durable resume`,
|
|
534
|
+
},
|
|
535
|
+
nativeTuiAttach,
|
|
536
|
+
reconciliation: {
|
|
537
|
+
status: "unsupported",
|
|
538
|
+
source: "policy",
|
|
539
|
+
reason: "Structured reconciliation adapter is not yet implemented",
|
|
540
|
+
},
|
|
541
|
+
modelSwitchInPlace: baseCaps?.modelSwitchInPlace ?? {
|
|
542
|
+
status: "unsupported",
|
|
543
|
+
source: "policy",
|
|
544
|
+
reason: `Provider '${def.id}' does not support in-place model switching`,
|
|
545
|
+
},
|
|
546
|
+
...(hasResumeKey ? { resumeCompatibilityKey: resumeKey } : {}),
|
|
547
|
+
};
|
|
548
|
+
}
|
|
236
549
|
//# sourceMappingURL=providerRegistry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providerRegistry.js","sourceRoot":"","sources":["../../src/providers/providerRegistry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"providerRegistry.js","sourceRoot":"","sources":["../../src/providers/providerRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,sBAAsB,EAAqB,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,+BAA+B,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAkB5E,MAAM,OAAO,gBAAgB;IACV,IAAI,GAAG,IAAI,GAAG,EAA8B,CAAC;IAE9D,QAAQ,CAAC,GAAuB;QAC9B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACjC,CAAC;IACD,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IACD,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED,QAAQ,CAAC,EAAU;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9B,OAAO,GAAG,CAAC,CAAC,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,CAAC;IAED,wFAAwF;IACxF,UAAU,CAAC,EAAU;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9B,OAAO,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACH,qBAAqB,CACnB,EAAU,EACV,OAA0C;QAE1C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC,GAAG;YAAE,OAAO,SAAS,CAAC;QAC3B,OAAO,kCAAkC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACH,oBAAoB,CAClB,EAAU,EACV,OAAsC;QAEtC,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;YACzC,MAAM,IAAI,wBAAwB,CAAC;gBACjC,WAAW,EAAE,uCAAuC;aACrD,CAAC,CAAC;QACL,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,wBAAwB,CAAC;gBACjC,WAAW,EAAE,qBAAqB,EAAE,EAAE;gBACtC,UAAU,EAAE,EAAE;aACf,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,2BAA2B,CAAC;gBACpC,WAAW,EAAE,aAAa,EAAE,gCAAgC;gBAC5D,UAAU,EAAE,EAAE;aACf,CAAC,CAAC;QACL,CAAC;QACD,IAAI,OAAO,GAAG,CAAC,oBAAoB,KAAK,UAAU,EAAE,CAAC;YACnD,MAAM,IAAI,wBAAwB,CAAC;gBACjC,WAAW,EAAE,aAAa,EAAE,sCAAsC;gBAClE,UAAU,EAAE,EAAE;aACf,CAAC,CAAC;QACL,CAAC;QACD,MAAM,SAAS,GAAG,6BAA6B,CAAC,OAAO,CAAC,CAAC;QACzD,OAAO,GAAG,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,qBAAqB,CACnB,EAAU,EACV,OAAsC;QAEtC,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,oBAAoB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,4FAA4F;IAC5F,aAAa,CAAC,EAAU,EAAE,MAA8B;QACtD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,wBAAwB,CAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;QACjG,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,2BAA2B,CAAC;gBACpC,WAAW,EAAE,aAAa,EAAE,gCAAgC;gBAC5D,UAAU,EAAE,EAAE;aACf,CAAC,CAAC;QACL,CAAC;QACD,4FAA4F;QAC5F,uFAAuF;QACvF,6FAA6F;QAC7F,yFAAyF;QACzF,+EAA+E;QAC/E,EAAE;QACF,8FAA8F;QAC9F,gFAAgF;QAChF,+FAA+F;QAC/F,0FAA0F;QAC1F,gGAAgG;QAChG,gGAAgG;QAChG,+FAA+F;QAC/F,gDAAgD;QAChD,MAAM,WAAW,GAAI,MAAM,EAAE,OAA0D,EAAE,WAAW,CAAC;QACrG,MAAM,YAAY,GAAG,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,uBAAuB,CAAC,GAAG,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAC5G,MAAM,IAAI,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9C,MAAM,IAAI,GAAG,WAAW,EAAE,WAAW;gBACnC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW;gBAClC,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,wFAAwF,CAAC;YAChI,MAAM,IAAI,4BAA4B,CAAC;gBACrC,WAAW,EAAE,aAAa,EAAE,iBAAiB,IAAI,EAAE;gBACnD,UAAU,EAAE,EAAE;aACf,CAAC,CAAC;QACL,CAAC;QACD,OAAO,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;CACF;AAED,uFAAuF;AACvF,MAAM,uBAAuB,GAA0B;IACrD,WAAW,EAAE,IAAI;IACjB,SAAS,EAAE,IAAI;IACf,cAAc,EAAE,IAAI;IACpB,UAAU,EAAE,IAAI;IAChB,cAAc,EAAE,IAAI;IACpB,wBAAwB,EAAE,IAAI;IAC9B,YAAY,EAAE,IAAI;IAClB,WAAW,EAAE,IAAI;IACjB,YAAY,EAAE,IAAI;IAClB,aAAa,EAAE,IAAI;IACnB,cAAc,EAAE,IAAI;CACrB,CAAC;AAEF,SAAS,aAAa,CAAC,QAAgB,EAAE,KAAa,EAAE,IAAsB;IAC5E,OAAO;QACL,WAAW,EAAE,UAAU;QACvB,iBAAiB,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;QAC/F,aAAa,EAAE,KAAK;QACpB,eAAe,EAAE,KAAK;QACtB,oBAAoB,EAAE,KAAK;QAC3B,qBAAqB,EAAE,KAAK;KAC7B,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,YAAY,EAAE,CAAC,IAAI,CAAC;QACpB,YAAY,EAAE,EAAE;QAChB,cAAc,EAAE,KAAK;QACrB,mBAAmB,EAAE,KAAK;QAC1B,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,CAAC;KAChB,CAAC;AACJ,CAAC;AAaD;;;;GAIG;AACH,MAAM,iBAAiB,GAAsB;IAC3C;QACE,EAAE,EAAE,OAAO;QACX,WAAW,EAAE,qBAAqB;QAClC,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE,gBAAgB;QAC1B,WAAW,EAAE,6BAA6B;QAC1C,UAAU,EAAE,QAAQ;QACpB,IAAI,EAAE,gBAAgB;QACtB,QAAQ,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,cAAc,EAAE,0DAA0D,EAAE,IAAI,EAAE,4FAA4F,EAAE;KAC/O;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,WAAW,EAAE,sBAAsB;QACnC,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE,mBAAmB;QAC7B,WAAW,EAAE,sBAAsB;QACnC,UAAU,EAAE,QAAQ;QACpB,IAAI,EAAE,mBAAmB;QACzB,QAAQ,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,cAAc,EAAE,oCAAoC,EAAE,IAAI,EAAE,6EAA6E,EAAE;KAC1M;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,WAAW,EAAE,YAAY;QACzB,IAAI,EAAE,cAAc;QACpB,QAAQ,EAAE,gBAAgB;QAC1B,WAAW,EAAE,4BAA4B;QACzC,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE,mCAAmC;QACzC,QAAQ,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,cAAc,EAAE,wCAAwC,EAAE,IAAI,EAAE,sCAAsC,EAAE;KACtK;IACD;QACE,EAAE,EAAE,UAAU;QACd,WAAW,EAAE,cAAc;QAC3B,IAAI,EAAE,cAAc;QACpB,QAAQ,EAAE,wBAAwB;QAClC,WAAW,EAAE,8BAA8B;QAC3C,UAAU,EAAE,QAAQ;QACpB,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,cAAc,EAAE,wCAAwC,EAAE,IAAI,EAAE,+CAA+C,EAAE;KAC/K;IACD;QACE,EAAE,EAAE,MAAM;QACV,WAAW,EAAE,cAAc;QAC3B,IAAI,EAAE,cAAc;QACpB,QAAQ,EAAE,oBAAoB;QAC9B,WAAW,EAAE,0BAA0B;QACvC,UAAU,EAAE,QAAQ;QACpB,IAAI,EAAE,iBAAiB;QACvB,QAAQ,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,cAAc,EAAE,8DAA8D,EAAE,IAAI,EAAE,+CAA+C,EAAE;KACtM;IACD;QACE,EAAE,EAAE,KAAK;QACT,WAAW,EAAE,eAAe;QAC5B,IAAI,EAAE,cAAc;QACpB,QAAQ,EAAE,cAAc;QACxB,WAAW,EAAE,6BAA6B;QAC1C,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,cAAc,EAAE,4DAA4D,EAAE,IAAI,EAAE,2CAA2C,EAAE;KAChM;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,WAAW,EAAE,YAAY;QACzB,IAAI,EAAE,cAAc;QACpB,QAAQ,EAAE,sBAAsB;QAChC,WAAW,EAAE,4BAA4B;QACzC,UAAU,EAAE,QAAQ;QACpB,IAAI,EAAE,+BAA+B;QACrC,QAAQ,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,cAAc,EAAE,qDAAqD,EAAE,IAAI,EAAE,qDAAqD,EAAE;KACnM;CACF,CAAC;AAEF,MAAM,UAAU,4BAA4B;IAC1C,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnC,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,WAAW,EAAE,mBAAmB,CAAC,CAAC,WAAW,6CAA6C;QAC1F,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,UAAU,EAAE,aAA2B;QACvC,eAAe,EAAE,UAAU;QAC3B,kBAAkB,EAAE,UAAU;QAC9B,WAAW,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE;QAC3D,YAAY,EAAE,uBAAuB;QACrC,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC;QAClE,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;QACrC,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,mBAAmB,EAAE;YACnB,aAAa,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC,WAAW,qBAAqB,EAAE;YACzH,aAAa,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC,WAAW,qBAAqB,EAAE;YACzH,eAAe,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC,WAAW,qBAAqB,EAAE;YAC3H,cAAc,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC,WAAW,qBAAqB,EAAE;YAC1H,kBAAkB,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC,WAAW,qBAAqB,EAAE;SAC/H;QACD,aAAa;YACX,MAAM,IAAI,2BAA2B,CAAC;gBACpC,WAAW,EAAE,aAAa,CAAC,CAAC,EAAE,gCAAgC;gBAC9D,UAAU,EAAE,CAAC,CAAC,EAAE;aACjB,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,+BAA+B,EAAE,CAAC,CAAC;IACrD,QAAQ,CAAC,QAAQ,CAAC,yBAAyB,EAAE,CAAC,CAAC;IAC/C,QAAQ,CAAC,QAAQ,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAC7C,QAAQ,CAAC,QAAQ,CAAC,2BAA2B,EAAE,CAAC,CAAC;IACjD,QAAQ,CAAC,QAAQ,CAAC,0BAA0B,EAAE,CAAC,CAAC;IAChD,KAAK,MAAM,CAAC,IAAI,4BAA4B,EAAE;QAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrE,OAAO,QAAQ,CAAC;AAClB,CAAC;AACD,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG;QAAE,OAAO,KAAK,CAAC;IAC/D,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,OAAO,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,0BAA0B,CAAC;YACnC,WAAW,EAAE,4CAA4C;SAC1D,CAAC,CAAC;IACL,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,0BAA0B,CAAC;YACnC,WAAW,EAAE,iCAAiC;SAC/C,CAAC,CAAC;IACL,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACzB,MAAM,IAAI,0BAA0B,CAAC;YACnC,WAAW,EAAE,kEAAkE;SAChF,CAAC,CAAC;IACL,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,0BAA0B,CAAC;YACnC,WAAW,EAAE,wEAAwE;SACtF,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,0BAA0B,CAAC;YACnC,WAAW,EAAE,8EAA8E;SAC5F,CAAC,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,GAAY;IACpD,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,IAAI,0BAA0B,CAAC;YACnC,WAAW,EAAE,sBAAsB;SACpC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,0BAA0B,CAAC;YACnC,WAAW,EAAE,qBAAqB;SACnC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;QAC1B,MAAM,IAAI,0BAA0B,CAAC;YACnC,WAAW,EAAE,uDAAuD;SACrE,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,0BAA0B,CAAC;YACnC,WAAW,EAAE,8BAA8B;SAC5C,CAAC,CAAC;IACL,CAAC;IACD,IAAI,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,0BAA0B,CAAC;YACnC,WAAW,EAAE,mDAAmD;SACjE,CAAC,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,0BAA0B,CAAC;YACnC,WAAW,EAAE,0BAA0B;SACxC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,0BAA0B,CAAC;YACnC,WAAW,EAAE,yBAAyB;SACvC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACzB,MAAM,IAAI,0BAA0B,CAAC;YACnC,WAAW,EAAE,0DAA0D;SACxE,CAAC,CAAC;IACL,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,0BAA0B,CAAC;YACnC,WAAW,EAAE,gEAAgE;SAC9E,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,0BAA0B,CAAC;YACnC,WAAW,EAAE,wEAAwE;SACtF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,WAAoB;IACnE,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,IAAI,0BAA0B,CAAC;YACnC,WAAW,EAAE,2CAA2C;SACzD,CAAC,CAAC;IACL,CAAC;IACD,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,0BAA0B,CAAC;YACnC,WAAW,EAAE,0CAA0C;SACxD,CAAC,CAAC;IACL,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACzB,MAAM,IAAI,0BAA0B,CAAC;YACnC,WAAW,EAAE,2EAA2E;SACzF,CAAC,CAAC;IACL,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,0BAA0B,CAAC;YACnC,WAAW,EAAE,iFAAiF;SAC/F,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,0BAA0B,CAAC;YACnC,WAAW,EAAE,yFAAyF;SACvG,CAAC,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,OAAgB;IAC/D,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9E,MAAM,IAAI,0BAA0B,CAAC;YACnC,WAAW,EAAE,wFAAwF;SACtG,CAAC,CAAC;IACL,CAAC;IACD,MAAM,GAAG,GAAG,OAAkC,CAAC;IAC/C,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,wBAAwB,GAAG,gCAAgC,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAChG,OAAO,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,OAAgB;IAC5D,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9E,MAAM,IAAI,0BAA0B,CAAC;YACnC,WAAW,EAAE,wEAAwE;SACtF,CAAC,CAAC;IACL,CAAC;IACD,MAAM,GAAG,GAAG,OAAkC,CAAC;IAC/C,IAAI,GAAG,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;QAC3C,MAAM,IAAI,0BAA0B,CAAC;YACnC,WAAW,EAAE,gFAAgF;SAC9F,CAAC,CAAC;IACL,CAAC;IACD,IAAI,GAAG,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACrC,MAAM,IAAI,0BAA0B,CAAC;YACnC,WAAW,EAAE,wEAAwE;SACtF,CAAC,CAAC;IACL,CAAC;IACD,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,0BAA0B,CAAC;YACnC,WAAW,EAAE,mEAAmE;SACjF,CAAC,CAAC;IACL,CAAC;IACD,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,GAAG,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;QACzE,MAAM,IAAI,0BAA0B,CAAC;YACnC,WAAW,EAAE,uDAAuD;SACrE,CAAC,CAAC;IACL,CAAC;IACD,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,GAAG,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACzE,MAAM,IAAI,0BAA0B,CAAC;YACnC,WAAW,EAAE,mFAAmF;SACjG,CAAC,CAAC;IACL,CAAC;IACD,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,0BAA0B,CAAC;YACnC,WAAW,EAAE,4EAA4E;SAC1F,CAAC,CAAC;IACL,CAAC;IACD,IAAI,GAAG,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACxC,MAAM,IAAI,0BAA0B,CAAC;YACnC,WAAW,EAAE,wFAAwF;SACtG,CAAC,CAAC;IACL,CAAC;IAED,MAAM,eAAe,GAAG,uBAAuB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACrE,MAAM,GAAG,GAAG,yBAAyB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAE/C,OAAO;QACL,eAAe;QACf,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qCAAqC,CACnD,GAAuB,EACvB,OAA0C;IAE1C,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,MAAM,SAAS,GAAG,gCAAgC,CAAC,OAAO,CAAC,CAAC;IAC5D,IAAI,OAAO,GAAG,CAAC,6BAA6B,KAAK,UAAU,EAAE,CAAC;QAC5D,OAAO,GAAG,CAAC,6BAA6B,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,GAAG,CAAC,mBAAmB,EAAE,aAAa,EAAE,MAAM,KAAK,WAAW,EAAE,CAAC;QACnE,OAAO,GAAG,GAAG,CAAC,EAAE,IAAI,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,wBAAwB,EAAE,CAAC;IAChF,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,GAAuB,EACvB,OAA0C;IAE1C,MAAM,QAAQ,GAAG,GAAG,CAAC,mBAAmB,CAAC;IACzC,MAAM,UAAU,GAAG,OAAO,GAAG,CAAC,oBAAoB,KAAK,UAAU,CAAC;IAClE,MAAM,gBAAgB,GAAG,QAAQ,EAAE,aAAa,EAAE,MAAM,KAAK,WAAW,CAAC;IAEzE,IAAI,SAA6B,CAAC;IAClC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,SAAS,GAAG,qCAAqC,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC;IAC1E,CAAC;IACD,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEhE,MAAM,qBAAqB,GAAG,OAAO,CACnC,GAAG,CAAC,OAAO;QACX,UAAU;QACV,gBAAgB;QAChB,YAAY;QACZ,QAAQ,EAAE,eAAe,EAAE,MAAM,KAAK,WAAW,CAClD,CAAC;IAEF,MAAM,eAAe,GAAiC,qBAAqB;QACzE,CAAC,CAAC,CAAC,QAAQ,EAAE,eAAe,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QACxE,CAAC,CAAC;YACE,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,CAAC,GAAG,CAAC,OAAO;gBAClB,CAAC,CAAC,aAAa,GAAG,CAAC,EAAE,iCAAiC;gBACtD,CAAC,CAAC,CAAC,UAAU;oBACX,CAAC,CAAC,aAAa,GAAG,CAAC,EAAE,kCAAkC;oBACvD,CAAC,CAAC,CAAC,gBAAgB;wBACjB,CAAC,CAAC,aAAa,GAAG,CAAC,EAAE,mCAAmC;wBACxD,CAAC,CAAC,CAAC,OAAO;4BACR,CAAC,CAAC,aAAa,GAAG,CAAC,EAAE,qHAAqH;4BAC1I,CAAC,CAAC,CAAC,YAAY;gCACb,CAAC,CAAC,aAAa,GAAG,CAAC,EAAE,iCAAiC;gCACtD,CAAC,CAAC,CAAC,QAAQ,EAAE,eAAe,EAAE,MAAM,IAAI,aAAa,GAAG,CAAC,EAAE,sCAAsC,CAAC;SAC7G,CAAC;IAEN,OAAO;QACL,aAAa,EAAE,QAAQ,EAAE,aAAa,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QACnJ,aAAa,EAAE,QAAQ,EAAE,aAAa,IAAI;YACxC,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,aAAa,GAAG,CAAC,EAAE,mCAAmC;SAC/D;QACD,eAAe;QACf,cAAc,EAAE;YACd,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,0DAA0D;SACnE;QACD,kBAAkB,EAAE,QAAQ,EAAE,kBAAkB,IAAI;YAClD,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,aAAa,GAAG,CAAC,EAAE,6CAA6C;SACzE;QACD,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/D,CAAC;AACJ,CAAC"}
|
|
@@ -37,6 +37,41 @@ export interface ProviderIoAuthority {
|
|
|
37
37
|
filesystem: IoAuthorityLevel;
|
|
38
38
|
terminal: IoAuthorityLevel;
|
|
39
39
|
}
|
|
40
|
+
export type ProviderCapabilityStatus = "available" | "degraded" | "blocked" | "unsupported";
|
|
41
|
+
export type ProviderCapabilitySource = "provider" | "host" | "policy";
|
|
42
|
+
export interface ProviderCapabilityDescriptor {
|
|
43
|
+
status: ProviderCapabilityStatus;
|
|
44
|
+
source: ProviderCapabilitySource;
|
|
45
|
+
reason?: string;
|
|
46
|
+
version?: string;
|
|
47
|
+
}
|
|
48
|
+
export interface ProviderSessionCapabilityContext {
|
|
49
|
+
modelId: string;
|
|
50
|
+
configurationFingerprint: string;
|
|
51
|
+
}
|
|
52
|
+
export type ProviderResumeCompatibilityKeyResolver = (context: ProviderSessionCapabilityContext) => string;
|
|
53
|
+
export interface ProviderSessionCapabilities {
|
|
54
|
+
chatExecution?: ProviderCapabilityDescriptor;
|
|
55
|
+
durableResume?: ProviderCapabilityDescriptor;
|
|
56
|
+
nativeTuiAttach?: ProviderCapabilityDescriptor;
|
|
57
|
+
reconciliation?: ProviderCapabilityDescriptor;
|
|
58
|
+
modelSwitchInPlace?: ProviderCapabilityDescriptor;
|
|
59
|
+
resumeCompatibilityKey?: string;
|
|
60
|
+
}
|
|
61
|
+
export interface ProviderNativeTuiLauncherDescriptor {
|
|
62
|
+
kind: "native-tui";
|
|
63
|
+
providerId: string;
|
|
64
|
+
executable: string;
|
|
65
|
+
args: string[];
|
|
66
|
+
cwd?: string;
|
|
67
|
+
}
|
|
68
|
+
export type ProviderNativeLauncherDescriptor = ProviderNativeTuiLauncherDescriptor;
|
|
69
|
+
export type ProviderNativeTuiLauncher = ProviderNativeTuiLauncherDescriptor;
|
|
70
|
+
export interface ProviderNativeLauncherRequest {
|
|
71
|
+
nativeSessionId: string;
|
|
72
|
+
cwd?: string;
|
|
73
|
+
}
|
|
74
|
+
export type ProviderNativeLauncherFactory = (request: ProviderNativeLauncherRequest) => ProviderNativeLauncherDescriptor;
|
|
40
75
|
export interface ProviderRuntimeConfig {
|
|
41
76
|
/** Provider-specific options (e.g. fixture's delayMs/fail/stderrTest). */
|
|
42
77
|
options?: Record<string, unknown>;
|
|
@@ -47,6 +82,12 @@ export interface ProviderSession {
|
|
|
47
82
|
sessionId: string;
|
|
48
83
|
createdAt: string;
|
|
49
84
|
}
|
|
85
|
+
export interface ProviderSessionStartOptions {
|
|
86
|
+
/** ACP session id allocated by the embedding agent endpoint. */
|
|
87
|
+
sessionId?: string;
|
|
88
|
+
/** Validated native continuation id supplied through XENO session-resume metadata. */
|
|
89
|
+
nativeSessionId?: string;
|
|
90
|
+
}
|
|
50
91
|
export interface ProviderPromptRequest {
|
|
51
92
|
sessionId: string;
|
|
52
93
|
requestId: string;
|
|
@@ -68,6 +109,11 @@ export interface ProviderUsage {
|
|
|
68
109
|
export interface ProviderPromptResult {
|
|
69
110
|
disposition: ProviderDisposition;
|
|
70
111
|
usage?: ProviderUsage;
|
|
112
|
+
/**
|
|
113
|
+
* Bounded, non-secret identifier for the provider's native conversation.
|
|
114
|
+
* Hosts may persist this only through the XENO session-resume metadata channel.
|
|
115
|
+
*/
|
|
116
|
+
nativeSessionId?: string;
|
|
71
117
|
/** Present when disposition === "failed"; carries a safe message. */
|
|
72
118
|
error?: ProviderError;
|
|
73
119
|
}
|
|
@@ -125,13 +171,81 @@ export interface ProviderRuntimeContext {
|
|
|
125
171
|
/** Optional client-mediated host helpers exposed by XENO ACP extensions. */
|
|
126
172
|
host?: ProviderHostContext;
|
|
127
173
|
}
|
|
174
|
+
/**
|
|
175
|
+
* The outcome of a mid-turn correction.
|
|
176
|
+
*
|
|
177
|
+
* 🔴 `accepted: false` is a RESULT, not an error. A provider that is between tool calls, or
|
|
178
|
+
* whose upstream will not take input mid-stream, must be able to say so — and the client must be
|
|
179
|
+
* able to tell that apart from "delivered". A correction the user believes landed and did not is
|
|
180
|
+
* the worst outcome available here.
|
|
181
|
+
*/
|
|
182
|
+
export interface ProviderSteerResult {
|
|
183
|
+
accepted: boolean;
|
|
184
|
+
/** Why not. Shown to the operator, so it must name something they can act on. */
|
|
185
|
+
reason?: string;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* The outcome of a context injection — XENO SPAWN §2.2 pin-forward.
|
|
189
|
+
*
|
|
190
|
+
* 🔴 INJECTION IS NOT A PROMPT, AND THAT DISTINCTION IS THE WHOLE FEATURE. §2.2 makes every canvas
|
|
191
|
+
* node addressable so any node can be pushed back into any agent's context on demand — the canvas
|
|
192
|
+
* becoming the memory the agents are missing. Sending that node as `session/prompt` instead would
|
|
193
|
+
* make the agent ANSWER it: a pinned design decision arrives as a user message and gets a reply
|
|
194
|
+
* nobody asked for, and the timeline records a turn the user did not intend.
|
|
195
|
+
*
|
|
196
|
+
* `messageId` is what the content became, so a caller can correlate the node it pinned with the
|
|
197
|
+
* message the agent now holds. §3 makes the graph a RECORD, and a re-injection that left no trace
|
|
198
|
+
* would break "what did this agent know?" — which is the backward-reachable set from a spawn point
|
|
199
|
+
* and is only answerable if every arrival into context is an edge.
|
|
200
|
+
*/
|
|
201
|
+
export interface ProviderContextInjectResult {
|
|
202
|
+
accepted: boolean;
|
|
203
|
+
/** Why not. Shown to the operator, so it must name something they can act on. */
|
|
204
|
+
reason?: string;
|
|
205
|
+
/** What the injected content became in the session's history, when the provider can say. */
|
|
206
|
+
messageId?: string;
|
|
207
|
+
}
|
|
208
|
+
/** What a caller is asking to push back into an agent's context. */
|
|
209
|
+
export interface ProviderContextInjectRequest {
|
|
210
|
+
sessionId: string;
|
|
211
|
+
content: string;
|
|
212
|
+
/** Human-facing name of the pinned node, for the agent and for the timeline. */
|
|
213
|
+
label?: string;
|
|
214
|
+
/** The canvas node this came from (§2.2 addressability). Opaque to the provider. */
|
|
215
|
+
sourceNodeId?: string;
|
|
216
|
+
}
|
|
128
217
|
/** A live provider instance. One per agent process; sessions/prompts run against it. */
|
|
129
218
|
export interface ProviderRuntime {
|
|
130
219
|
readonly definition: ProviderDefinition;
|
|
131
220
|
initialize(): Promise<void> | void;
|
|
132
|
-
createSession(): ProviderSession;
|
|
221
|
+
createSession(options?: ProviderSessionStartOptions): ProviderSession;
|
|
133
222
|
prompt(request: ProviderPromptRequest, ctx: ProviderRuntimeContext): Promise<ProviderPromptResult>;
|
|
134
223
|
cancel(sessionId: string): void;
|
|
224
|
+
/**
|
|
225
|
+
* Deliver a correction into a RUNNING prompt (ADE §5.5).
|
|
226
|
+
*
|
|
227
|
+
* ⚠️ OPTIONAL, and its presence IS the capability declaration — `acpAgentServer` derives what
|
|
228
|
+
* it advertises from `typeof runtime.steer === 'function'` rather than from a hand-written flag,
|
|
229
|
+
* so the advertisement cannot drift from the implementation.
|
|
230
|
+
*
|
|
231
|
+
* ⚠️ Deliberately NOT added to `ProviderCapabilitySet`: that is a required-field interface
|
|
232
|
+
* implemented by every provider definition, so a new field there would be a breaking change for
|
|
233
|
+
* a fact already derivable from this method.
|
|
234
|
+
*/
|
|
235
|
+
steer?(sessionId: string, instruction: string): ProviderSteerResult | Promise<ProviderSteerResult>;
|
|
236
|
+
/**
|
|
237
|
+
* Push content back into a session's context WITHOUT it being a turn (XENO SPAWN §2.2).
|
|
238
|
+
*
|
|
239
|
+
* ⚠️ OPTIONAL, and its presence IS the capability declaration — exactly as `steer` above.
|
|
240
|
+
* `acpAgentServer` derives what it advertises from `typeof runtime.injectContext === 'function'`,
|
|
241
|
+
* so the advertisement cannot drift from the implementation.
|
|
242
|
+
*
|
|
243
|
+
* ⚠️ Unlike `steer`, this is NOT restricted to a running prompt. Pin-forward is normally a
|
|
244
|
+
* BETWEEN-turns act: the operator pins a node so the agent has it for whatever comes next.
|
|
245
|
+
* A provider that cannot accept content mid-prompt says so in its result rather than having the
|
|
246
|
+
* server guess on its behalf.
|
|
247
|
+
*/
|
|
248
|
+
injectContext?(request: ProviderContextInjectRequest): ProviderContextInjectResult | Promise<ProviderContextInjectResult>;
|
|
135
249
|
dispose(): Promise<void> | void;
|
|
136
250
|
diagnostics(): Record<string, unknown>;
|
|
137
251
|
}
|
|
@@ -156,6 +270,12 @@ export interface ProviderDefinition {
|
|
|
156
270
|
metadata?: ProviderMetadata;
|
|
157
271
|
/** Provider-owned model/default discovery metadata. Downstream UIs must not hardcode this. */
|
|
158
272
|
modelDiscovery?: ProviderModelDiscovery;
|
|
273
|
+
/** Provider-owned session/lane capabilities (XACP foundation for cockpit lanes & native TUI). */
|
|
274
|
+
sessionCapabilities?: ProviderSessionCapabilities;
|
|
275
|
+
/** Optional provider-owned factory for interactive native TUI launch descriptors. */
|
|
276
|
+
createNativeLauncher?: ProviderNativeLauncherFactory;
|
|
277
|
+
/** Optional provider-owned resolver for exact resume compatibility keys. */
|
|
278
|
+
resolveResumeCompatibilityKey?: ProviderResumeCompatibilityKeyResolver;
|
|
159
279
|
/** Build a runtime. MUST throw a `ProviderError` if the provider is not enabled. */
|
|
160
280
|
createRuntime(config?: ProviderRuntimeConfig): ProviderRuntime;
|
|
161
281
|
}
|