@hue-run/sdk 0.1.4 → 0.2.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 (58) hide show
  1. package/ENVIRONMENTS.md +182 -0
  2. package/EVALUATIONS.md +12 -0
  3. package/README.md +204 -21
  4. package/dist/ai-sdk.d.ts +9 -1
  5. package/dist/ai-sdk.js +37 -2
  6. package/dist/client.d.ts +130 -5
  7. package/dist/client.js +518 -110
  8. package/dist/config.d.ts +11 -2
  9. package/dist/config.js +50 -4
  10. package/dist/environment/client.d.ts +73 -0
  11. package/dist/environment/client.js +209 -0
  12. package/dist/environment/tools.d.ts +30 -0
  13. package/dist/environment/tools.js +24 -0
  14. package/dist/environment/types.d.ts +429 -0
  15. package/dist/environment/types.js +1 -0
  16. package/dist/environment.d.ts +5 -0
  17. package/dist/environment.js +2 -0
  18. package/dist/evals/attempt.d.ts +454 -0
  19. package/dist/evals/attempt.js +687 -0
  20. package/dist/evals/client.d.ts +99 -5
  21. package/dist/evals/client.js +136 -7
  22. package/dist/evals/environment-evidence.d.ts +6 -0
  23. package/dist/evals/environment-evidence.js +123 -0
  24. package/dist/evals/environment-json.d.ts +3 -0
  25. package/dist/evals/environment-json.js +76 -0
  26. package/dist/evals/json.d.ts +9 -1
  27. package/dist/evals/json.js +14 -6
  28. package/dist/evals/runner.d.ts +61 -2
  29. package/dist/evals/runner.js +71 -9
  30. package/dist/evals/scorer-publication.d.ts +2 -0
  31. package/dist/evals/scorer-publication.js +84 -0
  32. package/dist/evals/scorers.d.ts +11 -0
  33. package/dist/evals/scorers.js +56 -5
  34. package/dist/evals/simulation.d.ts +184 -0
  35. package/dist/evals/simulation.js +603 -0
  36. package/dist/evals/types.d.ts +304 -0
  37. package/dist/evals.d.ts +5 -1
  38. package/dist/evals.js +3 -1
  39. package/dist/experimental-telemetry.d.ts +8 -0
  40. package/dist/experimental-telemetry.js +13 -0
  41. package/dist/index.d.ts +4 -1
  42. package/dist/index.js +3 -1
  43. package/dist/managed.d.ts +51 -1
  44. package/dist/managed.js +11 -1
  45. package/dist/privacy.d.ts +2 -0
  46. package/dist/privacy.js +54 -21
  47. package/dist/receipt.d.ts +12 -1
  48. package/dist/receipt.js +10 -1
  49. package/dist/safety.d.ts +7 -0
  50. package/dist/safety.js +179 -0
  51. package/dist/snapshot.d.ts +12 -0
  52. package/dist/snapshot.js +200 -0
  53. package/dist/transport.d.ts +46 -8
  54. package/dist/transport.js +266 -48
  55. package/dist/types.d.ts +167 -8
  56. package/dist/version.d.ts +2 -0
  57. package/dist/version.js +3 -0
  58. package/package.json +51 -15
@@ -0,0 +1,454 @@
1
+ import { z } from "zod";
2
+ import type { CoverageGap } from "../environment/types.js";
3
+ import type { SimulationMcpCapability } from "./types.js";
4
+ /** Canonical caller-observed agent configuration after missing evidence is made explicit. */
5
+ export type ActualAgentManifestV2 = {
6
+ /** Manifest schema discriminator. */
7
+ schemaVersion: 2;
8
+ /** Digests for the six strict parity components. */
9
+ components: {
10
+ /** Agent implementation identity. */
11
+ agent: {
12
+ /** Canonical SHA-256 digest, or `null` when the evidence is missing. */
13
+ digest: string | null;
14
+ /** How the caller obtained the digest. */
15
+ evidence: "observed" | "declared" | "missing";
16
+ };
17
+ /** Prompt identity. */
18
+ prompt: ActualAgentManifestV2["components"]["agent"];
19
+ /** Model configuration identity. */
20
+ model: ActualAgentManifestV2["components"]["agent"];
21
+ /** Effective tool configuration identity. */
22
+ tools: ActualAgentManifestV2["components"]["agent"];
23
+ /** Approval-policy identity. */
24
+ approvals: ActualAgentManifestV2["components"]["agent"];
25
+ /** Orchestration identity. */
26
+ orchestration: ActualAgentManifestV2["components"]["agent"];
27
+ };
28
+ /** MCP catalogs in effective model-visible order; this array is never sorted. */
29
+ catalogs: Array<{
30
+ /** Caller-selected provider instance. */
31
+ providerInstanceKey: string;
32
+ /** MCP surface whose catalog was observed or declared. */
33
+ surfaceKey: "google.gmail/mcp" | "slack/mcp";
34
+ /** Catalog digest, or `null` when missing. */
35
+ digest: string | null;
36
+ /** How the caller obtained the digest. */
37
+ evidence: "observed" | "declared" | "missing";
38
+ }>;
39
+ /** Native helper configurations in their effective order. */
40
+ helperConfigurations: Array<{
41
+ /** Caller-selected provider instance. */
42
+ providerInstanceKey: string;
43
+ /** Native provider surface whose helper configuration is described. */
44
+ surfaceKey: "google.gmail/rest" | "slack/web-api";
45
+ /** Helper-configuration digest, or `null` when missing. */
46
+ digest: string | null;
47
+ /** How the caller obtained the digest. */
48
+ evidence: "observed" | "declared" | "missing";
49
+ }>;
50
+ };
51
+ /** Input form of {@link ActualAgentManifestV2}; omitted evidence normalizes to missing. */
52
+ export type ActualAgentManifestInputV2 = {
53
+ /** Optional schema assertion; when present it must be V2. */
54
+ schemaVersion?: 2;
55
+ /** Any omitted component is recorded as missing. */
56
+ components?: Partial<ActualAgentManifestV2["components"]>;
57
+ /** MCP catalogs in effective model-visible order. */
58
+ catalogs?: ActualAgentManifestV2["catalogs"];
59
+ /** Native helper configurations in effective order. */
60
+ helperConfigurations?: ActualAgentManifestV2["helperConfigurations"];
61
+ } | undefined;
62
+ /** Immutable expected agent evidence pinned by an experiment. */
63
+ export type ExpectedAgentManifestV2 = {
64
+ /** Manifest schema discriminator. */
65
+ schemaVersion: 2;
66
+ /** Required digests and minimum provenance for all strict components. */
67
+ components: {
68
+ /** Agent implementation requirement. */
69
+ agent: {
70
+ /** Canonical SHA-256 digest pinned by the experiment. */
71
+ digest: string;
72
+ /** Weakest provenance the caller may supply. */
73
+ minimumEvidence: "observed" | "declared";
74
+ };
75
+ /** Prompt requirement. */
76
+ prompt: ExpectedAgentManifestV2["components"]["agent"];
77
+ /** Model configuration requirement. */
78
+ model: ExpectedAgentManifestV2["components"]["agent"];
79
+ /** Effective tool configuration requirement. */
80
+ tools: ExpectedAgentManifestV2["components"]["agent"];
81
+ /** Approval-policy requirement. */
82
+ approvals: ExpectedAgentManifestV2["components"]["agent"];
83
+ /** Orchestration requirement. */
84
+ orchestration: ExpectedAgentManifestV2["components"]["agent"];
85
+ };
86
+ /** Required MCP catalogs in effective model-visible order. */
87
+ catalogs: Array<{
88
+ /** Pinned provider instance. */
89
+ providerInstanceKey: string;
90
+ /** Pinned MCP surface. */
91
+ surfaceKey: "google.gmail/mcp" | "slack/mcp";
92
+ /** Expected catalog digest. */
93
+ digest: string;
94
+ /** Weakest accepted provenance for this catalog. */
95
+ minimumEvidence: "observed" | "declared";
96
+ }>;
97
+ /** Required native helper configurations in effective order. */
98
+ helperConfigurations: Array<{
99
+ /** Pinned provider instance. */
100
+ providerInstanceKey: string;
101
+ /** Pinned native surface. */
102
+ surfaceKey: "google.gmail/rest" | "slack/web-api";
103
+ /** Expected helper-configuration digest. */
104
+ digest: string;
105
+ /** Weakest accepted provenance for this helper configuration. */
106
+ minimumEvidence: "observed" | "declared";
107
+ }>;
108
+ };
109
+ /** Secret-free registration identity for one selected provider surface. */
110
+ export type SurfaceBindingV2 = {
111
+ /** Factory-issued registration identity. */
112
+ surfaceRegistrationId: string;
113
+ /** Selected MCP surface. */
114
+ surfaceKey: "google.gmail/mcp" | "slack/mcp";
115
+ /** Provider protocol revision. */
116
+ protocolVersion: string;
117
+ /** Agent-visible contract digest. */
118
+ contractDigest: string;
119
+ /** Effective MCP catalog digest. */
120
+ catalogDigest: string;
121
+ /** Native helper evidence is inapplicable to MCP. */
122
+ helperConfigurationDigest: null;
123
+ /** Runtime registration implementation digest. */
124
+ runtimeRegistrationDigest: string;
125
+ } | {
126
+ /** Factory-issued registration identity. */
127
+ surfaceRegistrationId: string;
128
+ /** Selected native provider surface. */
129
+ surfaceKey: "google.gmail/rest" | "slack/web-api";
130
+ /** Provider protocol revision. */
131
+ protocolVersion: string;
132
+ /** Agent-visible contract digest. */
133
+ contractDigest: string;
134
+ /** MCP catalog evidence is inapplicable to native surfaces. */
135
+ catalogDigest: null;
136
+ /** Effective native helper-configuration digest. */
137
+ helperConfigurationDigest: string;
138
+ /** Runtime registration implementation digest. */
139
+ runtimeRegistrationDigest: string;
140
+ };
141
+ /** One provider instance and its immutable profile/surface pins. */
142
+ export type DependencyProviderV2 = {
143
+ /** Caller-visible provider instance key. */
144
+ providerInstanceKey: string;
145
+ /** Provider family. */
146
+ providerId: "google.gmail" | "slack";
147
+ /** Synthetic principal bound to this world. */
148
+ syntheticPrincipalId: string;
149
+ /** Sorted scopes granted to the synthetic principal. */
150
+ scopes: string[];
151
+ /** Immutable profile identity and coverage pins. */
152
+ profile: {
153
+ /** Versioned profile identifier. */
154
+ profileId: string;
155
+ /** Canonical profile digest. */
156
+ profileDigest: string;
157
+ /** Adapter build digest. */
158
+ buildDigest: string;
159
+ /** Covered-workflow digest. */
160
+ coverageDigest: string;
161
+ /** Contract digests sorted by surface key. */
162
+ contractDigests: Array<{
163
+ /** Surface described by the contract. */
164
+ surfaceKey: "google.gmail/mcp" | "google.gmail/rest" | "slack/mcp" | "slack/web-api";
165
+ /** Agent-visible contract digest. */
166
+ contractDigest: string;
167
+ }>;
168
+ };
169
+ /** Digest of the supported provider workflow slice. */
170
+ workflowDigest: string;
171
+ /** Selected, secret-free surface bindings. */
172
+ surfaces: SurfaceBindingV2[];
173
+ };
174
+ /** Secret-free dependency manifest pinned to one attempt. */
175
+ export type DependencyManifestV2 = {
176
+ /** Manifest schema discriminator. */
177
+ schemaVersion: 2;
178
+ /** Uniquely keyed provider instances sharing the same world. */
179
+ providers: DependencyProviderV2[];
180
+ };
181
+ /** Immutable V2 parity and provider baseline stored with an experiment version. */
182
+ export type AttemptBaselineV2 = {
183
+ /** Baseline schema discriminator. */
184
+ schemaVersion: 2;
185
+ /** Immutable expected-manifest identity. */
186
+ expectedAgentManifestId: string;
187
+ /** Digest of the expected manifest. */
188
+ expectedAgentManifestDigest: string;
189
+ /** Full expected agent evidence. */
190
+ expectedAgentManifest: ExpectedAgentManifestV2;
191
+ /** Secret-free provider dependencies. */
192
+ dependencyManifest: DependencyManifestV2;
193
+ };
194
+ /** Exact provider instance and surface selection requested for an attempt. */
195
+ export type RequestedAttemptProviderV2 = {
196
+ /** Provider instance pinned by the baseline. */
197
+ providerInstanceKey: string;
198
+ /** Selected surface keys in effective order. */
199
+ surfaceKeys: Array<"google.gmail/mcp" | "google.gmail/rest" | "slack/mcp" | "slack/web-api">;
200
+ };
201
+ /** Canonical V2 prepare input after defaulting caller evidence. */
202
+ export type PrepareAttemptInputV2 = {
203
+ /** Request schema discriminator. */
204
+ schemaVersion: 2;
205
+ /** Stable idempotency key for this preparation decision. */
206
+ idempotencyKey: string;
207
+ /** Execution identity inserted into the route, not the JSON body. */
208
+ executionId: string;
209
+ /** Isolated world bound to the execution. */
210
+ environmentRunId: string;
211
+ /** Stale-client assertion for the experiment's expected manifest. */
212
+ expectedAgentManifestDigest: string;
213
+ /** Caller-observed agent evidence with missing fields made explicit. */
214
+ actualManifest: ActualAgentManifestV2;
215
+ /** Exact provider/surface selection. */
216
+ requestedProviders: RequestedAttemptProviderV2[];
217
+ };
218
+ /** Caller input to {@link EvaluationClient.prepareAttempt}. */
219
+ export type PrepareAttemptRequestV2 = Omit<PrepareAttemptInputV2, "actualManifest"> & {
220
+ /** Caller-observed evidence; omission records an all-missing V2 manifest. */
221
+ actualManifest?: ActualAgentManifestInputV2;
222
+ };
223
+ /** One strict parity, profile, binding or coverage finding. */
224
+ export type PreflightFindingV2 = {
225
+ /** Stable finding category. */
226
+ code: "baseline_missing" | "baseline_assertion_mismatch" | "manifest_mismatch" | "evidence_missing" | "evidence_insufficient" | "helper_configuration_mismatch" | "catalog_mismatch" | "provider_selection_mismatch" | "profile_unavailable" | "profile_mismatch" | "surface_unsupported" | "coverage_gap";
227
+ /** Agent component involved, when applicable. */
228
+ component: "agent" | "prompt" | "model" | "tools" | "approvals" | "orchestration" | null;
229
+ /** Provider instance involved, when applicable. */
230
+ providerInstanceKey: string | null;
231
+ /** Provider surface involved, when applicable. */
232
+ surfaceKey: "google.gmail/mcp" | "google.gmail/rest" | "slack/mcp" | "slack/web-api" | null;
233
+ /** Fixed nonsecret explanation for the finding code. */
234
+ message: string;
235
+ };
236
+ /** Credential-free V2 preflight decision. */
237
+ export type PreflightReportV2 = {
238
+ /** Report schema discriminator. */
239
+ schemaVersion: 2;
240
+ /** Whether strict preflight succeeded. */
241
+ status: "ready" | "environment_incomplete";
242
+ /** Provenance class for the actual manifest. */
243
+ evidenceSource: "caller_supplied";
244
+ /** Empty for ready; otherwise the bounded reasons the environment is incomplete. */
245
+ findings: PreflightFindingV2[];
246
+ };
247
+ /** Stable parity evidence stored without endpoints or credentials. */
248
+ export type ParityEvidenceV2 = {
249
+ /** Immutable expected-manifest identity. */
250
+ expectedAgentManifestId: string;
251
+ /** Expected manifest digest asserted by the request. */
252
+ expectedAgentManifestDigest: string;
253
+ /** Canonical digest of the caller-observed manifest. */
254
+ actualAgentManifestDigest: string;
255
+ /** Caller-observed manifest used for preflight. */
256
+ actualManifest: ActualAgentManifestV2;
257
+ /** Digest of the secret-free dependency manifest. */
258
+ dependencyManifestDigest: string;
259
+ /** Digest binding agent evidence, dependencies and attempt identity. */
260
+ executionManifestDigest: string;
261
+ /** Provenance class for the actual manifest. */
262
+ evidenceSource: "caller_supplied";
263
+ };
264
+ /** Stable identities shared by every credential generation of an attempt. */
265
+ export type AttemptIdentityV2 = {
266
+ /** Prepared binding identity. */
267
+ bindingId: string;
268
+ /** Local target execution identity. */
269
+ executionId: string;
270
+ /** Isolated simulated-world identity. */
271
+ environmentRunId: string;
272
+ };
273
+ /** Credential-bearing V2 provider connections delivered only to the callback. */
274
+ export type AttemptConnectionBundleV2 = AttemptIdentityV2 & {
275
+ /** Bundle schema discriminator. */
276
+ schemaVersion: 2;
277
+ /** Expiry shared by every selected credential in this generation. */
278
+ expiresAt: string;
279
+ /** Monotonic credential generation; immutable evidence does not change on rotation. */
280
+ credentialGeneration: number;
281
+ /** Selected provider instances and their short-lived connection details. */
282
+ providers: Array<Omit<DependencyProviderV2, "surfaces"> & {
283
+ /** Selected surfaces with attempt-scoped connection material. */
284
+ surfaces: Array<SurfaceBindingV2 & {
285
+ /** HTTPS provider-facade endpoint. */
286
+ endpoint: string;
287
+ /** Short-lived attempt bearer; never persist or log it. */
288
+ bearer: string;
289
+ }>;
290
+ }>;
291
+ /** Credential-free evidence binding this connection to the strict preflight. */
292
+ parity: ParityEvidenceV2;
293
+ };
294
+ /** Secret-free persisted binding state, discriminated without converting V1 evidence. */
295
+ export type AttemptBindingRead = {
296
+ /** Stable binding identity. */
297
+ bindingId: string;
298
+ /** Bound execution identity. */
299
+ executionId: string;
300
+ /** Bound simulated-world identity. */
301
+ environmentRunId: string;
302
+ /** Persisted preflight outcome. */
303
+ outcome: "ready" | "environment_incomplete";
304
+ /** Last credential generation, or `null` when no live credential was issued. */
305
+ credentialGeneration: number | null;
306
+ /** Expected-manifest identity, or `null` for an incomplete legacy baseline. */
307
+ expectedAgentManifestId: string | null;
308
+ /** Expected-manifest digest, or `null` for an incomplete legacy baseline. */
309
+ expectedAgentManifestDigest: string | null;
310
+ /** Execution-manifest digest, or `null` when strict parity was not established. */
311
+ executionManifestDigest: string | null;
312
+ /** Binding creation timestamp. */
313
+ createdAt: string;
314
+ /** Revocation timestamp, or `null` while active. */
315
+ revokedAt: string | null;
316
+ } & ({
317
+ /** Legacy evidence remains V1 and is never upgraded in place. */
318
+ schemaVersion: 1;
319
+ /** Legacy actual manifest without native-helper evidence. */
320
+ actualManifest: Omit<ActualAgentManifestV2, "schemaVersion" | "catalogs" | "helperConfigurations"> & {
321
+ /** Legacy manifest schema discriminator. */
322
+ schemaVersion: 1;
323
+ /** Legacy catalogs may refer to any V1 surface. */
324
+ catalogs: Array<{
325
+ /** Provider instance described by the catalog. */
326
+ providerInstanceKey: string;
327
+ /** Legacy provider surface. */
328
+ surfaceKey: "google.gmail/mcp" | "google.gmail/rest" | "slack/mcp" | "slack/web-api";
329
+ /** Catalog digest, or `null` when missing. */
330
+ digest: string | null;
331
+ /** How the caller obtained the digest. */
332
+ evidence: "observed" | "declared" | "missing";
333
+ }>;
334
+ };
335
+ /** Legacy secret-free dependency pins, or `null` for incomplete evidence. */
336
+ dependencyManifest: null | {
337
+ /** Legacy manifest schema discriminator. */
338
+ schemaVersion: 1;
339
+ /** Legacy provider dependencies. */
340
+ providers: Array<Omit<DependencyProviderV2, "surfaces"> & {
341
+ /** Legacy surfaces carried only a catalog digest. */
342
+ surfaces: Array<{
343
+ /** Factory-issued registration identity. */
344
+ surfaceRegistrationId: string;
345
+ /** Legacy selected surface. */
346
+ surfaceKey: "google.gmail/mcp" | "google.gmail/rest" | "slack/mcp" | "slack/web-api";
347
+ /** Provider protocol revision. */
348
+ protocolVersion: string;
349
+ /** Agent-visible contract digest. */
350
+ contractDigest: string;
351
+ /** Legacy catalog digest. */
352
+ catalogDigest: string;
353
+ }>;
354
+ }>;
355
+ };
356
+ /** Coupled legacy preflight evidence. */
357
+ preflightReport: Omit<PreflightReportV2, "schemaVersion" | "findings"> & {
358
+ /** Legacy report schema discriminator. */
359
+ schemaVersion: 1;
360
+ /** Legacy findings do not include native-helper mismatch. */
361
+ findings: Array<Omit<PreflightFindingV2, "code"> & {
362
+ /** Legacy finding category. */
363
+ code: Exclude<PreflightFindingV2["code"], "helper_configuration_mismatch">;
364
+ }>;
365
+ };
366
+ } | {
367
+ /** Current binding evidence schema. */
368
+ schemaVersion: 2;
369
+ /** Actual V2 agent evidence. */
370
+ actualManifest: ActualAgentManifestV2;
371
+ /** Secret-free V2 dependency pins, or `null` for incomplete evidence. */
372
+ dependencyManifest: DependencyManifestV2 | null;
373
+ /** Coupled V2 preflight evidence. */
374
+ preflightReport: PreflightReportV2;
375
+ });
376
+ /** Successful V2 preparation result with fresh callback-only credentials. */
377
+ export interface PrepareAttemptReadyV2 {
378
+ /** Ready discriminator. */
379
+ status: "ready";
380
+ /** Finding-free preflight report. */
381
+ preflightReport: PreflightReportV2 & {
382
+ /** Ready discriminator narrowed from the report union. */
383
+ status: "ready";
384
+ };
385
+ /** Fresh credential-bearing connection bundle. */
386
+ bundle: AttemptConnectionBundleV2;
387
+ }
388
+ /** Inconclusive V2 preparation result; no target or scorer may run. */
389
+ export interface PrepareAttemptIncompleteV2 {
390
+ /** Incomplete discriminator. */
391
+ status: "environment_incomplete";
392
+ /** Stable binding identity recorded with the gap. */
393
+ bindingId: string;
394
+ /** Preflight findings that prevented strict parity. */
395
+ preflightReport: PreflightReportV2 & {
396
+ /** Incomplete discriminator narrowed from the report union. */
397
+ status: "environment_incomplete";
398
+ };
399
+ /** Durable first coverage/preflight gap on the world. */
400
+ gap: CoverageGap;
401
+ }
402
+ /** Discriminated result of preparing one V2 attempt. */
403
+ export type PrepareAttemptResultV2 = PrepareAttemptReadyV2 | PrepareAttemptIncompleteV2;
404
+ /** Successful credential rotation; immutable binding evidence is unchanged. */
405
+ export type RefreshAttemptResultV2 = PrepareAttemptReadyV2;
406
+ /** Confirmation that one attempt binding was revoked. */
407
+ export interface RevokeAttemptResult {
408
+ /** Revoked binding identity. */
409
+ bindingId: string;
410
+ /** Server timestamp of revocation. */
411
+ revokedAt: string;
412
+ }
413
+ /** Runtime validator for the caller-observed V2 agent manifest supplied before target execution. */
414
+ export declare const actualAgentManifestV2: z.ZodType<ActualAgentManifestV2, ActualAgentManifestInputV2>;
415
+ /** Runtime validator for the immutable expected V2 agent manifest. */
416
+ export declare const expectedAgentManifestV2: z.ZodType<ExpectedAgentManifestV2>;
417
+ /** Runtime validator for one secret-free V2 surface binding. */
418
+ export declare const surfaceBindingV2: z.ZodType<SurfaceBindingV2>;
419
+ /** Runtime validator for one V2 provider dependency. */
420
+ export declare const dependencyProviderV2: z.ZodType<DependencyProviderV2>;
421
+ /** Runtime validator for the secret-free V2 dependency manifest. */
422
+ export declare const dependencyManifestV2: z.ZodType<DependencyManifestV2>;
423
+ /** Computes the canonical digest shared by actual and expected V2 agent manifests. */
424
+ export declare function agentManifestDigestV2(manifest: ActualAgentManifestV2 | ExpectedAgentManifestV2): string;
425
+ /** Runtime validator for an immutable V2 experiment baseline. */
426
+ export declare const attemptBaselineV2: z.ZodType<AttemptBaselineV2>;
427
+ /** Internal parser reused by `runSimulation` before an execution exists. */
428
+ export declare const requestedAttemptProvidersV2: z.ZodType<RequestedAttemptProviderV2[], RequestedAttemptProviderV2[]>;
429
+ /** Runtime validator for the full V2 prepare input, including its route identity. */
430
+ export declare const prepareAttemptInputV2: z.ZodType<PrepareAttemptInputV2, PrepareAttemptRequestV2>;
431
+ /** Runtime validator for one V2 preflight finding. */
432
+ export declare const preflightFindingV2: z.ZodType<PreflightFindingV2>;
433
+ /** Runtime validator for the V2 preflight report. */
434
+ export declare const preflightReportV2: z.ZodType<PreflightReportV2>;
435
+ /** Runtime validator for stable, credential-free V2 parity evidence. */
436
+ export declare const parityEvidenceV2: z.ZodType<ParityEvidenceV2>;
437
+ /** Runtime validator for the stable V2 attempt identity. */
438
+ export declare const attemptIdentityV2: z.ZodType<AttemptIdentityV2>;
439
+ /** Binds actual agent evidence, secret-free dependencies and stable attempt identities. */
440
+ export declare function executionManifestDigestV2(actualManifest: ActualAgentManifestV2, dependencyManifest: DependencyManifestV2, identity: AttemptIdentityV2): string;
441
+ /** Runtime validator for a credential-bearing V2 connection bundle. */
442
+ export declare const attemptConnectionBundleV2: z.ZodType<AttemptConnectionBundleV2>;
443
+ /** Removes endpoints and bearers from a validated bundle, retaining its dependency identity. */
444
+ export declare function secretFreeBindingV2(bundle: AttemptConnectionBundleV2): DependencyManifestV2;
445
+ /** Legacy context.mcp is a credential-bearing projection, never another source of binding truth. */
446
+ export declare function projectMcpConnectionV2(bundle: AttemptConnectionBundleV2, instanceKey: string): SimulationMcpCapability | null;
447
+ /** Runtime validator for a coupled, secret-free V1 or V2 binding read. */
448
+ export declare const attemptBindingRead: z.ZodType<AttemptBindingRead>;
449
+ export declare function validateAttemptConnectionBundleV2(value: unknown, options?: {
450
+ requireFresh?: boolean;
451
+ }): AttemptConnectionBundleV2;
452
+ export declare function parsePrepareAttemptResultV2(value: unknown, expected: PrepareAttemptInputV2): PrepareAttemptResultV2;
453
+ export declare function parseRefreshedAttemptResultV2(value: unknown, previous: AttemptConnectionBundleV2): RefreshAttemptResultV2;
454
+ export declare function parseRevocationResult(value: unknown, expectedBindingId: string): RevokeAttemptResult;