agent-embassy 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/CONTRIBUTING.md +61 -6
  3. package/README.md +6 -5
  4. package/README.zh-CN.md +4 -4
  5. package/SECURITY.md +128 -24
  6. package/dist/src/gateway/claude-peer.d.ts +8 -5
  7. package/dist/src/gateway/claude-peer.js +81 -36
  8. package/dist/src/gateway/claude-peer.js.map +1 -1
  9. package/dist/src/gateway/claude-runtime.d.ts +4 -0
  10. package/dist/src/gateway/claude-runtime.js +50 -39
  11. package/dist/src/gateway/claude-runtime.js.map +1 -1
  12. package/dist/src/gateway/cli-copy.d.ts +1 -1
  13. package/dist/src/gateway/cli-copy.en.d.ts +1 -1
  14. package/dist/src/gateway/cli-copy.en.js +1 -1
  15. package/dist/src/gateway/cli-copy.en.js.map +1 -1
  16. package/dist/src/gateway/cli-copy.js +1 -1
  17. package/dist/src/gateway/cli-copy.js.map +1 -1
  18. package/dist/src/gateway/cli-copy.zh-CN.d.ts +1 -1
  19. package/dist/src/gateway/cli-copy.zh-CN.js +1 -1
  20. package/dist/src/gateway/cli-copy.zh-CN.js.map +1 -1
  21. package/dist/src/gateway/cli.d.ts +1 -1
  22. package/dist/src/gateway/cli.js +3 -7
  23. package/dist/src/gateway/cli.js.map +1 -1
  24. package/dist/src/gateway/codex-app-server.d.ts +2 -1
  25. package/dist/src/gateway/codex-app-server.js +1 -1
  26. package/dist/src/gateway/codex-app-server.js.map +1 -1
  27. package/dist/src/gateway/codex-local-transport.d.ts +10 -6
  28. package/dist/src/gateway/codex-local-transport.js +101 -56
  29. package/dist/src/gateway/codex-local-transport.js.map +1 -1
  30. package/dist/src/gateway/compatibility.d.ts +11 -0
  31. package/dist/src/gateway/compatibility.js +104 -22
  32. package/dist/src/gateway/compatibility.js.map +1 -1
  33. package/dist/src/gateway/control.js +28 -30
  34. package/dist/src/gateway/control.js.map +1 -1
  35. package/dist/src/gateway/dashboard-copy.d.ts +1 -1
  36. package/dist/src/gateway/dashboard-copy.en.d.ts +36 -17
  37. package/dist/src/gateway/dashboard-copy.en.js +50 -31
  38. package/dist/src/gateway/dashboard-copy.en.js.map +1 -1
  39. package/dist/src/gateway/dashboard-copy.js +36 -17
  40. package/dist/src/gateway/dashboard-copy.js.map +1 -1
  41. package/dist/src/gateway/dashboard-copy.zh-CN.d.ts +36 -17
  42. package/dist/src/gateway/dashboard-copy.zh-CN.js +50 -31
  43. package/dist/src/gateway/dashboard-copy.zh-CN.js.map +1 -1
  44. package/dist/src/gateway/dashboard-model.d.ts +176 -8
  45. package/dist/src/gateway/dashboard-model.js +420 -70
  46. package/dist/src/gateway/dashboard-model.js.map +1 -1
  47. package/dist/src/gateway/dashboard.js +48 -135
  48. package/dist/src/gateway/dashboard.js.map +1 -1
  49. package/dist/src/gateway/live-dashboard-app/app.js +148 -247
  50. package/dist/src/gateway/live-dashboard-assets.js +2 -1
  51. package/dist/src/gateway/live-dashboard-assets.js.map +1 -1
  52. package/dist/src/gateway/live-dashboard-stream.d.ts +2 -2
  53. package/dist/src/gateway/live-dashboard-stream.js +2 -2
  54. package/dist/src/gateway/live-dashboard-stream.js.map +1 -1
  55. package/dist/src/gateway/progress-watch-machine.d.ts +50 -64
  56. package/dist/src/gateway/progress-watch-machine.js +42 -133
  57. package/dist/src/gateway/progress-watch-machine.js.map +1 -1
  58. package/dist/src/gateway/provenance-envelope.d.ts +2 -0
  59. package/dist/src/gateway/provenance-envelope.js +13 -3
  60. package/dist/src/gateway/provenance-envelope.js.map +1 -1
  61. package/dist/src/gateway/providers.d.ts +69 -15
  62. package/dist/src/gateway/providers.js +456 -109
  63. package/dist/src/gateway/providers.js.map +1 -1
  64. package/dist/src/gateway/server.d.ts +8 -5
  65. package/dist/src/gateway/server.js +94 -13
  66. package/dist/src/gateway/server.js.map +1 -1
  67. package/dist/src/gateway/service.d.ts +25 -1
  68. package/dist/src/gateway/service.js +252 -69
  69. package/dist/src/gateway/service.js.map +1 -1
  70. package/dist/src/gateway/store.d.ts +23 -28
  71. package/dist/src/gateway/store.js +479 -467
  72. package/dist/src/gateway/store.js.map +1 -1
  73. package/dist/src/gateway/types.d.ts +38 -11
  74. package/dist/src/gateway/types.js +141 -3
  75. package/dist/src/gateway/types.js.map +1 -1
  76. package/docs/CONFIGURATION.md +8 -8
  77. package/docs/CONFIGURATION.zh-CN.md +8 -8
  78. package/docs/DASHBOARD.md +29 -6
  79. package/docs/DASHBOARD.zh-CN.md +1 -1
  80. package/docs/GATEWAY-ARCHITECTURE.md +143 -57
  81. package/package.json +1 -1
  82. package/skills/embassy-peer/SKILL.md +2 -2
@@ -7,6 +7,8 @@ export declare class LocalCodexTransportError extends Error {
7
7
  }
8
8
  export type ManagedLocalCodexInstallation = {
9
9
  appServerVersion: string;
10
+ /** Bounded availability evidence; unsafe endpoint evidence still throws. */
11
+ availabilityFailure?: "CODEX_CONTROL_SOCKET_UNAVAILABLE";
10
12
  binaryPath: string;
11
13
  controlSocketPath: string;
12
14
  endpointGeneration: string;
@@ -52,6 +54,7 @@ export type LocalCodexWriteCompatibilityAttestation = CodexEndpointCompatibility
52
54
  };
53
55
  export type LocalCodexTransportFactory = {
54
56
  readonly appServerVersion: string;
57
+ readonly availabilityFailure?: "CODEX_CONTROL_SOCKET_UNAVAILABLE";
55
58
  /** Exact reviewed monitor schema; this does not authorize a turn write. */
56
59
  readonly schemaCompatibility: LocalCodexSchemaCompatibilityAttestation;
57
60
  /** Null until the separate writable notification/fanout gate is attested. */
@@ -75,14 +78,15 @@ export declare function terminateOwnedLocalProxy(child: ProxyChild, processGroup
75
78
  sleep?: (milliseconds: number) => Promise<void>;
76
79
  }): Promise<boolean>;
77
80
  /**
78
- * Resolve the startup factory at the exact reviewed build.
81
+ * Resolve and attest the installed factory without opening App Server.
82
+ * Unreviewed versions remain monitor-only; the server replaces unsupported
83
+ * majors with a no-I/O incompatible provider before any connector is built.
79
84
  */
80
85
  export declare function createLocalCodexTransportFactory(options: LocalCodexTransportFactoryOptions, dependencies?: LocalCodexTransportDependencies): Promise<LocalCodexTransportFactory>;
81
86
  /**
82
- * Resolve only a replacement endpoint candidate after an already-admitted
83
- * factory reports a generation change. This narrow path may describe the
84
- * currently installed numeric build so the provider can record an incompatible
85
- * transition. It never relaxes startup admission or provider writes.
87
+ * Resolve a replacement endpoint after an already-admitted factory reports a
88
+ * generation change. Unreviewed builds use the same monitor-only posture as
89
+ * startup and never authorize provider writes.
86
90
  */
87
- export declare function createLocalCodexRefreshCandidateTransportFactory(options: LocalCodexTransportFactoryOptions, dependencies?: LocalCodexTransportDependencies): Promise<LocalCodexTransportFactory>;
91
+ export declare const createLocalCodexRefreshCandidateTransportFactory: typeof createLocalCodexTransportFactory;
88
92
  export {};
@@ -6,7 +6,7 @@ import { userInfo } from "node:os";
6
6
  import path from "node:path";
7
7
  import { Duplex } from "node:stream";
8
8
  import { CODEX_APP_SERVER_WRITABLE_VERSIONS, WebSocketDuplexTransport, } from "./codex-app-server.js";
9
- import { sharesCompatibilityMajor } from "./compatibility.js";
9
+ import { isCompatibilityVersion, UNKNOWN_COMPATIBILITY_VERSION, } from "./compatibility.js";
10
10
  const APP_SERVER_CONTROL_DIRECTORY = "app-server-control";
11
11
  const APP_SERVER_CONTROL_SOCKET = "app-server-control.sock";
12
12
  const DEFAULT_MAX_STDERR_BYTES = 64 * 1024;
@@ -14,6 +14,11 @@ const DEFAULT_SPAWN_TIMEOUT_MS = 5_000;
14
14
  const DEFAULT_GRACEFUL_EXIT_MS = 2_000;
15
15
  const DEFAULT_SIGNAL_TIMEOUT_MS = 750;
16
16
  const VERSION_PATTERN = /^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/;
17
+ const RELEASE_LEAF_PATTERN = /^[0-9A-Za-z][0-9A-Za-z._-]{0,127}$/;
18
+ const MANAGED_TARGET_TRIPLES = [
19
+ "aarch64-apple-darwin",
20
+ "x86_64-apple-darwin",
21
+ ];
17
22
  const HOST_PATTERN = /^[a-z0-9](?:[a-z0-9.-]{0,61}[a-z0-9])?$/;
18
23
  export class LocalCodexTransportError extends Error {
19
24
  code;
@@ -79,7 +84,7 @@ function managedCodexTargetTriple(target) {
79
84
  return "x86_64-apple-darwin";
80
85
  return undefined;
81
86
  }
82
- async function resolveRefreshCandidateManagedLocalCodexInstallation(home, certifiedVersion, runtimeTarget) {
87
+ async function resolveRefreshCandidateManagedLocalCodexInstallation(home, runtimeTarget) {
83
88
  const currentLink = path.join(home, ".codex", "packages", "standalone", "current");
84
89
  let releaseLeaf;
85
90
  try {
@@ -92,19 +97,16 @@ async function resolveRefreshCandidateManagedLocalCodexInstallation(home, certif
92
97
  const observedVersion = targetTriple !== undefined && releaseLeaf.endsWith(`-${targetTriple}`)
93
98
  ? releaseLeaf.slice(0, -1 - targetTriple.length)
94
99
  : releaseLeaf;
95
- if (!VERSION_PATTERN.test(observedVersion) ||
96
- !sharesCompatibilityMajor(certifiedVersion, observedVersion)) {
100
+ if (isCompatibilityVersion(observedVersion)) {
101
+ return await resolveManagedLocalCodexInstallation(home, observedVersion, runtimeTarget);
102
+ }
103
+ if (!RELEASE_LEAF_PATTERN.test(releaseLeaf) ||
104
+ MANAGED_TARGET_TRIPLES.some((candidate) => releaseLeaf.endsWith(`-${candidate}`) && candidate !== targetTriple)) {
97
105
  throw new LocalCodexTransportError("APP_SERVER_VERSION_MISMATCH");
98
106
  }
99
- return await resolveManagedLocalCodexInstallation(home, observedVersion, runtimeTarget);
107
+ return await resolveManagedLocalCodexInstallationWithReleaseLeaves(home, UNKNOWN_COMPATIBILITY_VERSION, runtimeTarget, new Set([releaseLeaf]));
100
108
  }
101
- export async function resolveManagedLocalCodexInstallation(home, appServerVersion, runtimeTarget = {
102
- platform: process.platform,
103
- architecture: process.arch,
104
- }) {
105
- if (!VERSION_PATTERN.test(appServerVersion)) {
106
- throw new LocalCodexTransportError("INVALID_CONFIGURATION");
107
- }
109
+ async function resolveManagedLocalCodexInstallationWithReleaseLeaves(home, appServerVersion, _runtimeTarget, allowedReleaseLeaves) {
108
110
  const standalone = path.join(home, ".codex", "packages", "standalone");
109
111
  const currentLink = path.join(standalone, "current");
110
112
  const releasesDirectory = path.join(standalone, "releases");
@@ -139,16 +141,6 @@ export async function resolveManagedLocalCodexInstallation(home, appServerVersio
139
141
  !resolvedBinary.startsWith(currentPrefix)) {
140
142
  throw new LocalCodexTransportError("MANAGED_CODEX_INVALID");
141
143
  }
142
- // Managed packages use either the version alone or the version plus the
143
- // exact target triple for this runtime. Never accept a caller-invented
144
- // suffix or a binary for a different architecture.
145
- const targetTriple = managedCodexTargetTriple(runtimeTarget);
146
- const allowedReleaseLeaves = new Set([
147
- appServerVersion,
148
- ...(targetTriple === undefined
149
- ? []
150
- : [`${appServerVersion}-${targetTriple}`]),
151
- ]);
152
144
  const releaseLeaf = path.basename(resolvedCurrent);
153
145
  if (!allowedReleaseLeaves.has(releaseLeaf)) {
154
146
  throw new LocalCodexTransportError("APP_SERVER_VERSION_MISMATCH");
@@ -175,17 +167,14 @@ export async function resolveManagedLocalCodexInstallation(home, appServerVersio
175
167
  const controlDirectory = path.join(home, ".codex", APP_SERVER_CONTROL_DIRECTORY);
176
168
  const controlSocketPath = path.join(controlDirectory, APP_SERVER_CONTROL_SOCKET);
177
169
  let socketMetadata;
170
+ let availabilityFailure;
178
171
  try {
179
172
  const directoryMetadata = await lstat(controlDirectory);
180
- socketMetadata = await lstat(controlSocketPath);
181
173
  if (directoryMetadata.isSymbolicLink() ||
182
- !directoryMetadata.isDirectory() ||
183
- socketMetadata.isSymbolicLink() ||
184
- !socketMetadata.isSocket()) {
174
+ !directoryMetadata.isDirectory()) {
185
175
  throw new LocalCodexTransportError("LOCAL_APP_SERVER_ENDPOINT_UNSAFE");
186
176
  }
187
177
  assertOwnedPrivate(directoryMetadata, 0o700);
188
- assertOwnedPrivate(socketMetadata, 0o600);
189
178
  }
190
179
  catch (error) {
191
180
  if (error instanceof LocalCodexTransportError) {
@@ -195,11 +184,38 @@ export async function resolveManagedLocalCodexInstallation(home, appServerVersio
195
184
  throw error;
196
185
  }
197
186
  if (error instanceof Error && "code" in error && error.code === "ENOENT") {
198
- throw new LocalCodexTransportError("LOCAL_APP_SERVER_NOT_RUNNING");
187
+ availabilityFailure = "CODEX_CONTROL_SOCKET_UNAVAILABLE";
188
+ }
189
+ else {
190
+ throw new LocalCodexTransportError("LOCAL_APP_SERVER_ENDPOINT_UNSAFE");
191
+ }
192
+ }
193
+ if (availabilityFailure === undefined) {
194
+ try {
195
+ socketMetadata = await lstat(controlSocketPath);
196
+ if (socketMetadata.isSymbolicLink() || !socketMetadata.isSocket()) {
197
+ throw new LocalCodexTransportError("LOCAL_APP_SERVER_ENDPOINT_UNSAFE");
198
+ }
199
+ assertOwnedPrivate(socketMetadata, 0o600);
200
+ }
201
+ catch (error) {
202
+ if (error instanceof LocalCodexTransportError) {
203
+ if (error.code === "MANAGED_CODEX_INVALID") {
204
+ throw new LocalCodexTransportError("LOCAL_APP_SERVER_ENDPOINT_UNSAFE");
205
+ }
206
+ throw error;
207
+ }
208
+ if (error instanceof Error &&
209
+ "code" in error &&
210
+ error.code === "ENOENT") {
211
+ availabilityFailure = "CODEX_CONTROL_SOCKET_UNAVAILABLE";
212
+ }
213
+ else {
214
+ throw new LocalCodexTransportError("LOCAL_APP_SERVER_ENDPOINT_UNSAFE");
215
+ }
199
216
  }
200
- throw new LocalCodexTransportError("LOCAL_APP_SERVER_ENDPOINT_UNSAFE");
201
217
  }
202
- const endpointGeneration = `local_${createHash("sha256")
218
+ const generationHash = createHash("sha256")
203
219
  .update(appServerVersion)
204
220
  .update("\0")
205
221
  .update(releaseLeaf)
@@ -213,24 +229,50 @@ export async function resolveManagedLocalCodexInstallation(home, appServerVersio
213
229
  .update(String(binaryMetadata.birthtimeMs))
214
230
  .update(":")
215
231
  .update(String(binaryMetadata.ctimeMs))
216
- .update("\0")
217
- .update(String(socketMetadata.dev))
218
- .update(":")
219
- .update(String(socketMetadata.ino))
220
- .update(":")
221
- .update(String(socketMetadata.birthtimeMs))
222
- .update(":")
223
- .update(String(socketMetadata.ctimeMs))
232
+ .update("\0");
233
+ if (socketMetadata === undefined) {
234
+ generationHash.update("control_socket_unavailable");
235
+ }
236
+ else {
237
+ generationHash
238
+ .update(String(socketMetadata.dev))
239
+ .update(":")
240
+ .update(String(socketMetadata.ino))
241
+ .update(":")
242
+ .update(String(socketMetadata.birthtimeMs))
243
+ .update(":")
244
+ .update(String(socketMetadata.ctimeMs));
245
+ }
246
+ const endpointGeneration = `local_${generationHash
224
247
  .digest("hex")
225
248
  .slice(0, 32)}`;
226
249
  return {
227
250
  appServerVersion,
251
+ ...(availabilityFailure === undefined ? {} : { availabilityFailure }),
228
252
  binaryPath: resolvedBinary,
229
253
  controlSocketPath,
230
254
  endpointGeneration,
231
255
  home,
232
256
  };
233
257
  }
258
+ export async function resolveManagedLocalCodexInstallation(home, appServerVersion, runtimeTarget = {
259
+ platform: process.platform,
260
+ architecture: process.arch,
261
+ }) {
262
+ if (!VERSION_PATTERN.test(appServerVersion)) {
263
+ throw new LocalCodexTransportError("INVALID_CONFIGURATION");
264
+ }
265
+ // Managed packages use either the version alone or the version plus the
266
+ // exact target triple for this runtime. Never accept a caller-invented
267
+ // suffix or a binary for a different architecture.
268
+ const targetTriple = managedCodexTargetTriple(runtimeTarget);
269
+ return await resolveManagedLocalCodexInstallationWithReleaseLeaves(home, appServerVersion, runtimeTarget, new Set([
270
+ appServerVersion,
271
+ ...(targetTriple === undefined
272
+ ? []
273
+ : [`${appServerVersion}-${targetTriple}`]),
274
+ ]));
275
+ }
234
276
  class ChildProxyDuplex extends Duplex {
235
277
  child;
236
278
  constructor(child) {
@@ -436,6 +478,7 @@ class Factory {
436
478
  dependencies;
437
479
  protocol = "codex-app-server";
438
480
  protocolVersion;
481
+ availabilityFailure;
439
482
  schemaCompatibility;
440
483
  writeCompatibility;
441
484
  endpointGeneration;
@@ -450,10 +493,14 @@ class Factory {
450
493
  this.dependencies = dependencies;
451
494
  this.endpointGeneration = installation.endpointGeneration;
452
495
  this.appServerVersion = installation.appServerVersion;
496
+ if (installation.availabilityFailure !== undefined) {
497
+ this.availabilityFailure = installation.availabilityFailure;
498
+ }
453
499
  this.protocolVersion = installation.appServerVersion;
454
500
  this.hostId = options.hostId ?? "this-mac";
455
501
  this.writableReady =
456
- options.writableProtocolAttested === true &&
502
+ installation.availabilityFailure === undefined &&
503
+ options.writableProtocolAttested === true &&
457
504
  CODEX_APP_SERVER_WRITABLE_VERSIONS.includes(this.appServerVersion);
458
505
  const compatibility = {
459
506
  appServerVersion: this.appServerVersion,
@@ -477,6 +524,9 @@ class Factory {
477
524
  async connectTransport() {
478
525
  if (this.closed)
479
526
  throw new LocalCodexTransportError("FACTORY_CLOSED");
527
+ if (this.availabilityFailure !== undefined) {
528
+ throw new LocalCodexTransportError("LOCAL_APP_SERVER_NOT_RUNNING");
529
+ }
480
530
  const current = await resolveManagedLocalCodexInstallation(this.installation.home, this.installation.appServerVersion);
481
531
  if (current.endpointGeneration !== this.installation.endpointGeneration ||
482
532
  current.binaryPath !== this.installation.binaryPath) {
@@ -573,7 +623,12 @@ class Factory {
573
623
  }
574
624
  }
575
625
  }
576
- async function createLocalCodexTransportFactoryForResolution(options, dependencies, resolution) {
626
+ /**
627
+ * Resolve and attest the installed factory without opening App Server.
628
+ * Unreviewed versions remain monitor-only; the server replaces unsupported
629
+ * majors with a no-I/O incompatible provider before any connector is built.
630
+ */
631
+ export async function createLocalCodexTransportFactory(options, dependencies = {}) {
577
632
  if (!VERSION_PATTERN.test(options.appServerVersion) ||
578
633
  !HOST_PATTERN.test(options.hostId ?? "this-mac")) {
579
634
  throw new LocalCodexTransportError("INVALID_CONFIGURATION");
@@ -590,12 +645,11 @@ async function createLocalCodexTransportFactoryForResolution(options, dependenci
590
645
  installation = await resolveManagedLocalCodexInstallation(home, options.appServerVersion, runtimeTarget);
591
646
  }
592
647
  catch (error) {
593
- if (resolution !== "refresh_candidate" ||
594
- !(error instanceof LocalCodexTransportError) ||
648
+ if (!(error instanceof LocalCodexTransportError) ||
595
649
  error.code !== "APP_SERVER_VERSION_MISMATCH") {
596
650
  throw error;
597
651
  }
598
- installation = await resolveRefreshCandidateManagedLocalCodexInstallation(home, options.appServerVersion, runtimeTarget);
652
+ installation = await resolveRefreshCandidateManagedLocalCodexInstallation(home, runtimeTarget);
599
653
  }
600
654
  const normalizedOptions = {
601
655
  ...options,
@@ -616,18 +670,9 @@ async function createLocalCodexTransportFactoryForResolution(options, dependenci
616
670
  return new Factory(installation, normalizedOptions, normalizedDependencies);
617
671
  }
618
672
  /**
619
- * Resolve the startup factory at the exact reviewed build.
673
+ * Resolve a replacement endpoint after an already-admitted factory reports a
674
+ * generation change. Unreviewed builds use the same monitor-only posture as
675
+ * startup and never authorize provider writes.
620
676
  */
621
- export async function createLocalCodexTransportFactory(options, dependencies = {}) {
622
- return await createLocalCodexTransportFactoryForResolution(options, dependencies, "startup");
623
- }
624
- /**
625
- * Resolve only a replacement endpoint candidate after an already-admitted
626
- * factory reports a generation change. This narrow path may describe the
627
- * currently installed numeric build so the provider can record an incompatible
628
- * transition. It never relaxes startup admission or provider writes.
629
- */
630
- export async function createLocalCodexRefreshCandidateTransportFactory(options, dependencies = {}) {
631
- return await createLocalCodexTransportFactoryForResolution(options, dependencies, "refresh_candidate");
632
- }
677
+ export const createLocalCodexRefreshCandidateTransportFactory = createLocalCodexTransportFactory;
633
678
  //# sourceMappingURL=codex-local-transport.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"codex-local-transport.js","sourceRoot":"","sources":["../../../src/gateway/codex-local-transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-local-transport.js","sourceRoot":"","sources":["../../../src/gateway/codex-local-transport.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,8 @@ export declare const certifiedCompatibilityVersions: Readonly<{
5
5
  claude: readonly string[];
6
6
  codex: readonly string[];
7
7
  }>;
8
+ /** Bounded evidence used when a version banner is present but not parseable. */
9
+ export declare const UNKNOWN_COMPATIBILITY_VERSION: "unknown";
8
10
  export declare const compatibilityTiers: readonly ["certified", "schema_attested", "incompatible"];
9
11
  export type CompatibilityTier = (typeof compatibilityTiers)[number];
10
12
  export declare const compatibilityProbeNames: {
@@ -31,6 +33,7 @@ export type CompatibilitySurfaceObservation = Readonly<{
31
33
  version: string;
32
34
  }>;
33
35
  export declare function isCompatibilityVersion(value: unknown): value is string;
36
+ export declare function isCompatibilityVersionEvidence(value: unknown): value is string;
34
37
  export declare function sharesCompatibilityMajor(left: string, right: string): boolean;
35
38
  export declare function evaluateCompatibilityAttestation(input: Readonly<{
36
39
  surface: CompatibilitySurface;
@@ -39,5 +42,13 @@ export declare function evaluateCompatibilityAttestation(input: Readonly<{
39
42
  certifiedVersions: readonly string[];
40
43
  probes: readonly CompatibilityProbeResult[];
41
44
  }>): CompatibilityAttestation;
45
+ /**
46
+ * Validate the immutable evidence carried by a persisted attestation without
47
+ * consulting this build's release inventory. A release may later certify or
48
+ * stop certifying the observed version; neither change can corrupt evidence
49
+ * written by an earlier release.
50
+ */
51
+ export declare function isPersistedCompatibilityAttestation(value: unknown): value is CompatibilityAttestation;
52
+ /** Validate a fresh attestation against this build's admission policy. */
42
53
  export declare function isCompatibilityAttestation(value: unknown): value is CompatibilityAttestation;
43
54
  export declare function compatibilityCacheKey(attestation: Pick<CompatibilityAttestation, "surface" | "version">): string;