@xenosystem/acp-agent 0.2.1 → 0.2.3
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 +108 -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 +69 -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 +96 -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 +3 -3
- package/dist/fixtureProvider.d.ts +0 -13
- package/dist/fixtureProvider.d.ts.map +0 -1
- package/dist/fixtureProvider.js +0 -86
- package/dist/fixtureProvider.js.map +0 -1
- package/dist/hosted/xeno-agents-client.d.ts +0 -306
- package/dist/hosted/xeno-agents-client.d.ts.map +0 -1
- package/dist/hosted/xeno-agents-client.js +0 -520
- package/dist/hosted/xeno-agents-client.js.map +0 -1
- package/dist/providers/xenoAgentsApiEventMapper.d.ts +0 -52
- package/dist/providers/xenoAgentsApiEventMapper.d.ts.map +0 -1
- package/dist/providers/xenoAgentsApiEventMapper.js +0 -152
- package/dist/providers/xenoAgentsApiEventMapper.js.map +0 -1
- package/dist/providers/xenoAgentsApiProvider.d.ts +0 -60
- package/dist/providers/xenoAgentsApiProvider.d.ts.map +0 -1
- package/dist/providers/xenoAgentsApiProvider.js +0 -302
- package/dist/providers/xenoAgentsApiProvider.js.map +0 -1
|
@@ -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":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,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;AAa5E,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,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,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"}
|
|
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
|
}
|
|
@@ -138,11 +184,41 @@ export interface ProviderSteerResult {
|
|
|
138
184
|
/** Why not. Shown to the operator, so it must name something they can act on. */
|
|
139
185
|
reason?: string;
|
|
140
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
|
+
}
|
|
141
217
|
/** A live provider instance. One per agent process; sessions/prompts run against it. */
|
|
142
218
|
export interface ProviderRuntime {
|
|
143
219
|
readonly definition: ProviderDefinition;
|
|
144
220
|
initialize(): Promise<void> | void;
|
|
145
|
-
createSession(): ProviderSession;
|
|
221
|
+
createSession(options?: ProviderSessionStartOptions): ProviderSession;
|
|
146
222
|
prompt(request: ProviderPromptRequest, ctx: ProviderRuntimeContext): Promise<ProviderPromptResult>;
|
|
147
223
|
cancel(sessionId: string): void;
|
|
148
224
|
/**
|
|
@@ -157,6 +233,19 @@ export interface ProviderRuntime {
|
|
|
157
233
|
* a fact already derivable from this method.
|
|
158
234
|
*/
|
|
159
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>;
|
|
160
249
|
dispose(): Promise<void> | void;
|
|
161
250
|
diagnostics(): Record<string, unknown>;
|
|
162
251
|
}
|
|
@@ -181,6 +270,12 @@ export interface ProviderDefinition {
|
|
|
181
270
|
metadata?: ProviderMetadata;
|
|
182
271
|
/** Provider-owned model/default discovery metadata. Downstream UIs must not hardcode this. */
|
|
183
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;
|
|
184
279
|
/** Build a runtime. MUST throw a `ProviderError` if the provider is not enabled. */
|
|
185
280
|
createRuntime(config?: ProviderRuntimeConfig): ProviderRuntime;
|
|
186
281
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providerTypes.d.ts","sourceRoot":"","sources":["../../src/providers/providerTypes.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"providerTypes.d.ts","sourceRoot":"","sources":["../../src/providers/providerTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How many tokens are RESIDENT in an agent's context — XENO SPAWN §2.1's numerator, for every lane.
|
|
3
|
+
*
|
|
4
|
+
* 🔴 THIS EXISTS BECAUSE THE FIX WAS MADE ONCE AND NOT NEXT DOOR. `claudeStreamJsonParser` carried
|
|
5
|
+
* twenty lines explaining why `input_tokens + output_tokens` is wrong and why cache must be added —
|
|
6
|
+
* a **416x undercount** measured on a real session (`input_tokens: 2` beside
|
|
7
|
+
* `cache_read_input_tokens: 983343`). `codexExecJsonParser`, in the same directory, still computed
|
|
8
|
+
* `input_tokens + output_tokens`: the exact formula that docblock calls the previous, wrong one.
|
|
9
|
+
*
|
|
10
|
+
* Two lanes, two rules, one signal. A reader comparing pressure between a Claude session and a
|
|
11
|
+
* Codex session was comparing different quantities.
|
|
12
|
+
*
|
|
13
|
+
* ## The shapes disagree, and summing blindly is as wrong as ignoring caching
|
|
14
|
+
*
|
|
15
|
+
* Anthropic `input_tokens` EXCLUDES cache — `cache_read_input_tokens` and
|
|
16
|
+
* `cache_creation_input_tokens` must be ADDED
|
|
17
|
+
* OpenAI / Codex `input_tokens` INCLUDES cached tokens; `cached_input_tokens` is a SUBSET of it,
|
|
18
|
+
* so adding it DOUBLE-COUNTS
|
|
19
|
+
*
|
|
20
|
+
* 🔴 OUTPUT IS EXCLUDED ON BOTH. The reply does join the conversation — and on the NEXT request it
|
|
21
|
+
* arrives inside the input count. Adding it here reports the current turn's output twice: once now,
|
|
22
|
+
* and again in the next reading. For a reasoning model whose `output_tokens` runs to thousands,
|
|
23
|
+
* that is a numerator that is wrong by a visible margin on every single reading.
|
|
24
|
+
*
|
|
25
|
+
* ⚠️ WHAT WOULD FALSIFY THE OPENAI BRANCH. It assumes `cached_input_tokens` is a subset of
|
|
26
|
+
* `input_tokens`, which is OpenAI's documented convention and Codex is OpenAI's own tool. If a
|
|
27
|
+
* capture ever shows the two summing to the real prompt size instead, this branch is wrong and the
|
|
28
|
+
* Anthropic rule applies. The live capture in `tests/agent/codexExecJsonParser.test.ts`
|
|
29
|
+
* (`input_tokens: 11836, cached_input_tokens: 2432`) is consistent with the subset reading and does
|
|
30
|
+
* not prove it — one sample cannot.
|
|
31
|
+
*/
|
|
32
|
+
/**
|
|
33
|
+
* Resident prompt tokens for either vendor shape.
|
|
34
|
+
*
|
|
35
|
+
* ⚠️ The shape is identified by ITS OWN FIELDS, never by which provider we think we are talking to,
|
|
36
|
+
* so a gateway returning Anthropic-shaped usage is read correctly whatever it is configured as.
|
|
37
|
+
* `cache_read_input_tokens` is the Anthropic tell; `cached_input_tokens` is the OpenAI one, and it
|
|
38
|
+
* is deliberately NOT added.
|
|
39
|
+
*/
|
|
40
|
+
export declare function residentContextTokens(usage: Record<string, unknown>): number;
|
|
41
|
+
//# sourceMappingURL=residentContextTokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"residentContextTokens.d.ts","sourceRoot":"","sources":["../../src/providers/residentContextTokens.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAQH;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAS5E"}
|