@disclosureos/instruments 1.0.0 → 2.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @disclosureos/instruments
2
2
 
3
+ ## 2.0.0-beta.0
4
+
5
+ ### Major Changes
6
+
7
+ - Prepare the coordinated v2 beta package set. This prerelease packages the merged
8
+ experimental observation and claim contracts, acquisition and dataset exchange,
9
+ versioned evaluation, and bounded migration tooling for external consumer testing.
10
+ Existing root APIs and schema identities remain available; the new contracts keep
11
+ explicit `/experimental/v2` imports. Observables and origins retain their existing
12
+ catalogs within the pinned beta dependency graph. This is not a stable v2 release,
13
+ scientific certification, or publication of partner data. See
14
+ `docs/releases/2.0.0-beta.0.md` for package-specific scope and validation boundaries.
15
+
16
+ ### Patch Changes
17
+
18
+ - Updated dependencies
19
+ - @disclosureos/records@2.0.0-beta.0
20
+
3
21
  All notable changes to `@disclosureos/instruments` are documented here. The format is
4
22
  based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and this project
5
23
  adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
package/README.md CHANGED
@@ -129,3 +129,7 @@ Non-TS toolchains validate manifests against that `$id` directly.
129
129
  ## License
130
130
 
131
131
  MIT © Disclosure Foundation
132
+
133
+ ## Experimental acquisition context
134
+
135
+ `@disclosureos/instruments/experimental/v2` adds pinned manifest, deployment, and channel-calibration history with explicit unresolved states. See the [contract and synthetic example](../../docs/experimental/acquisition-context.md). This additive metadata contract does not change the v1 manifest or certify scientific validity.
@@ -0,0 +1,626 @@
1
+ import { z } from 'zod';
2
+
3
+ declare const ContextArtifactSchema: z.ZodObject<{
4
+ digest: z.ZodObject<{
5
+ algorithm: z.ZodLiteral<"sha256">;
6
+ value: z.ZodString;
7
+ }, z.core.$strict>;
8
+ mediaType: z.ZodString;
9
+ byteLength: z.ZodNumber;
10
+ uri: z.ZodOptional<z.ZodURL>;
11
+ }, z.core.$strict>;
12
+ declare const InstrumentInstanceSchema: z.ZodObject<{
13
+ id: z.ZodString;
14
+ identity: z.ZodUnion<readonly [z.ZodObject<{
15
+ state: z.ZodLiteral<"known">;
16
+ manufacturer: z.ZodString;
17
+ model: z.ZodString;
18
+ serialNumber: z.ZodOptional<z.ZodString>;
19
+ }, z.core.$strict>, z.ZodObject<{
20
+ state: z.ZodLiteral<"unknown">;
21
+ reason: z.ZodString;
22
+ }, z.core.$strict>]>;
23
+ }, z.core.$strict>;
24
+ declare const ManifestRevisionSchema: z.ZodObject<{
25
+ id: z.ZodString;
26
+ instrumentRef: z.ZodString;
27
+ version: z.ZodString;
28
+ publishedAt: z.ZodISODateTime;
29
+ artifact: z.ZodObject<{
30
+ digest: z.ZodObject<{
31
+ algorithm: z.ZodLiteral<"sha256">;
32
+ value: z.ZodString;
33
+ }, z.core.$strict>;
34
+ mediaType: z.ZodString;
35
+ byteLength: z.ZodNumber;
36
+ uri: z.ZodOptional<z.ZodURL>;
37
+ }, z.core.$strict>;
38
+ configuration: z.ZodObject<{
39
+ hardware: z.ZodUnion<readonly [z.ZodObject<{
40
+ state: z.ZodLiteral<"known">;
41
+ value: z.ZodString;
42
+ }, z.core.$strict>, z.ZodObject<{
43
+ state: z.ZodLiteral<"unknown">;
44
+ reason: z.ZodString;
45
+ }, z.core.$strict>]>;
46
+ firmware: z.ZodUnion<readonly [z.ZodObject<{
47
+ state: z.ZodLiteral<"known">;
48
+ value: z.ZodString;
49
+ }, z.core.$strict>, z.ZodObject<{
50
+ state: z.ZodLiteral<"unknown">;
51
+ reason: z.ZodString;
52
+ }, z.core.$strict>]>;
53
+ }, z.core.$strict>;
54
+ channels: z.ZodArray<z.ZodObject<{
55
+ id: z.ZodString;
56
+ quantity: z.ZodString;
57
+ unit: z.ZodString;
58
+ sampling: z.ZodUnion<readonly [z.ZodObject<{
59
+ state: z.ZodLiteral<"known">;
60
+ rateHz: z.ZodNumber;
61
+ }, z.core.$strict>, z.ZodObject<{
62
+ state: z.ZodLiteral<"unknown">;
63
+ reason: z.ZodString;
64
+ }, z.core.$strict>]>;
65
+ }, z.core.$strict>>;
66
+ }, z.core.$strict>;
67
+ declare const DeploymentContextSchema: z.ZodObject<{
68
+ id: z.ZodString;
69
+ instrumentRef: z.ZodString;
70
+ manifest: z.ZodUnion<readonly [z.ZodObject<{
71
+ state: z.ZodLiteral<"pinned">;
72
+ ref: z.ZodString;
73
+ }, z.core.$strict>, z.ZodObject<{
74
+ state: z.ZodLiteral<"unresolved">;
75
+ reason: z.ZodString;
76
+ legacyRef: z.ZodOptional<z.ZodString>;
77
+ }, z.core.$strict>]>;
78
+ period: z.ZodUnion<readonly [z.ZodObject<{
79
+ state: z.ZodLiteral<"known">;
80
+ start: z.ZodISODateTime;
81
+ end: z.ZodISODateTime;
82
+ timeScale: z.ZodLiteral<"UTC">;
83
+ }, z.core.$strict>, z.ZodObject<{
84
+ state: z.ZodLiteral<"unknown">;
85
+ reason: z.ZodString;
86
+ }, z.core.$strict>]>;
87
+ site: z.ZodUnion<readonly [z.ZodObject<{
88
+ state: z.ZodLiteral<"known">;
89
+ value: z.ZodString;
90
+ }, z.core.$strict>, z.ZodObject<{
91
+ state: z.ZodLiteral<"unknown">;
92
+ reason: z.ZodString;
93
+ }, z.core.$strict>]>;
94
+ }, z.core.$strict>;
95
+ declare const CalibrationContextSchema: z.ZodObject<{
96
+ id: z.ZodString;
97
+ instrumentRef: z.ZodString;
98
+ manifestRef: z.ZodString;
99
+ channelId: z.ZodString;
100
+ performedAt: z.ZodUnion<readonly [z.ZodObject<{
101
+ state: z.ZodLiteral<"known">;
102
+ value: z.ZodISODateTime;
103
+ }, z.core.$strict>, z.ZodObject<{
104
+ state: z.ZodLiteral<"unknown">;
105
+ reason: z.ZodString;
106
+ }, z.core.$strict>]>;
107
+ validity: z.ZodUnion<readonly [z.ZodObject<{
108
+ state: z.ZodLiteral<"known">;
109
+ start: z.ZodISODateTime;
110
+ end: z.ZodISODateTime;
111
+ timeScale: z.ZodLiteral<"UTC">;
112
+ }, z.core.$strict>, z.ZodObject<{
113
+ state: z.ZodLiteral<"unknown">;
114
+ reason: z.ZodString;
115
+ }, z.core.$strict>]>;
116
+ method: z.ZodUnion<readonly [z.ZodObject<{
117
+ state: z.ZodLiteral<"known">;
118
+ id: z.ZodString;
119
+ version: z.ZodString;
120
+ description: z.ZodString;
121
+ }, z.core.$strict>, z.ZodObject<{
122
+ state: z.ZodLiteral<"unknown">;
123
+ reason: z.ZodString;
124
+ }, z.core.$strict>]>;
125
+ report: z.ZodUnion<readonly [z.ZodObject<{
126
+ state: z.ZodLiteral<"known">;
127
+ artifact: z.ZodObject<{
128
+ digest: z.ZodObject<{
129
+ algorithm: z.ZodLiteral<"sha256">;
130
+ value: z.ZodString;
131
+ }, z.core.$strict>;
132
+ mediaType: z.ZodString;
133
+ byteLength: z.ZodNumber;
134
+ uri: z.ZodOptional<z.ZodURL>;
135
+ }, z.core.$strict>;
136
+ }, z.core.$strict>, z.ZodObject<{
137
+ state: z.ZodLiteral<"unknown">;
138
+ reason: z.ZodString;
139
+ }, z.core.$strict>]>;
140
+ uncertainty: z.ZodUnion<readonly [z.ZodObject<{
141
+ kind: z.ZodLiteral<"unknown">;
142
+ reason: z.ZodString;
143
+ }, z.core.$strict>, z.ZodObject<{
144
+ magnitude: z.ZodNumber;
145
+ unit: z.ZodString;
146
+ kind: z.ZodLiteral<"standard">;
147
+ }, z.core.$strict>, z.ZodObject<{
148
+ magnitude: z.ZodNumber;
149
+ unit: z.ZodString;
150
+ kind: z.ZodLiteral<"bound">;
151
+ }, z.core.$strict>, z.ZodObject<{
152
+ coverageFactor: z.ZodNumber;
153
+ coverageProbability: z.ZodOptional<z.ZodNumber>;
154
+ magnitude: z.ZodNumber;
155
+ unit: z.ZodString;
156
+ kind: z.ZodLiteral<"expanded">;
157
+ }, z.core.$strict>]>;
158
+ review: z.ZodUnion<readonly [z.ZodObject<{
159
+ state: z.ZodLiteral<"unreviewed">;
160
+ }, z.core.$strict>, z.ZodObject<{
161
+ state: z.ZodLiteral<"unknown">;
162
+ reason: z.ZodString;
163
+ }, z.core.$strict>, z.ZodObject<{
164
+ state: z.ZodLiteral<"reviewed">;
165
+ reviewedBy: z.ZodString;
166
+ reviewedAt: z.ZodISODateTime;
167
+ outcome: z.ZodEnum<{
168
+ accepted: "accepted";
169
+ rejected: "rejected";
170
+ inconclusive: "inconclusive";
171
+ }>;
172
+ report: z.ZodObject<{
173
+ digest: z.ZodObject<{
174
+ algorithm: z.ZodLiteral<"sha256">;
175
+ value: z.ZodString;
176
+ }, z.core.$strict>;
177
+ mediaType: z.ZodString;
178
+ byteLength: z.ZodNumber;
179
+ uri: z.ZodOptional<z.ZodURL>;
180
+ }, z.core.$strict>;
181
+ }, z.core.$strict>]>;
182
+ }, z.core.$strict>;
183
+ declare const AcquisitionContextEntrySchema: z.ZodObject<{
184
+ id: z.ZodString;
185
+ instrumentRef: z.ZodString;
186
+ manifest: z.ZodUnion<readonly [z.ZodObject<{
187
+ state: z.ZodLiteral<"pinned">;
188
+ ref: z.ZodString;
189
+ }, z.core.$strict>, z.ZodObject<{
190
+ state: z.ZodLiteral<"unresolved">;
191
+ reason: z.ZodString;
192
+ legacyRef: z.ZodOptional<z.ZodString>;
193
+ }, z.core.$strict>]>;
194
+ deployment: z.ZodUnion<readonly [z.ZodObject<{
195
+ state: z.ZodLiteral<"pinned">;
196
+ ref: z.ZodString;
197
+ }, z.core.$strict>, z.ZodObject<{
198
+ state: z.ZodLiteral<"unresolved">;
199
+ reason: z.ZodString;
200
+ legacyRef: z.ZodOptional<z.ZodString>;
201
+ }, z.core.$strict>]>;
202
+ time: z.ZodUnion<readonly [z.ZodObject<{
203
+ state: z.ZodLiteral<"known">;
204
+ kind: z.ZodLiteral<"instant">;
205
+ value: z.ZodISODateTime;
206
+ timeScale: z.ZodLiteral<"UTC">;
207
+ }, z.core.$strict>, z.ZodObject<{
208
+ state: z.ZodLiteral<"known">;
209
+ start: z.ZodISODateTime;
210
+ end: z.ZodISODateTime;
211
+ timeScale: z.ZodLiteral<"UTC">;
212
+ kind: z.ZodLiteral<"interval">;
213
+ }, z.core.$strict>, z.ZodObject<{
214
+ state: z.ZodLiteral<"unknown">;
215
+ reason: z.ZodString;
216
+ }, z.core.$strict>]>;
217
+ classification: z.ZodEnum<{
218
+ unknown: "unknown";
219
+ background: "background";
220
+ known_control: "known_control";
221
+ candidate: "candidate";
222
+ other: "other";
223
+ }>;
224
+ clock: z.ZodObject<{
225
+ source: z.ZodUnion<readonly [z.ZodObject<{
226
+ state: z.ZodLiteral<"known">;
227
+ value: z.ZodString;
228
+ }, z.core.$strict>, z.ZodObject<{
229
+ state: z.ZodLiteral<"unknown">;
230
+ reason: z.ZodString;
231
+ }, z.core.$strict>]>;
232
+ synchronization: z.ZodUnion<readonly [z.ZodObject<{
233
+ state: z.ZodLiteral<"known">;
234
+ value: z.ZodString;
235
+ }, z.core.$strict>, z.ZodObject<{
236
+ state: z.ZodLiteral<"unknown">;
237
+ reason: z.ZodString;
238
+ }, z.core.$strict>]>;
239
+ resolution: z.ZodUnion<readonly [z.ZodObject<{
240
+ state: z.ZodLiteral<"known">;
241
+ magnitude: z.ZodNumber;
242
+ unit: z.ZodEnum<{
243
+ s: "s";
244
+ ms: "ms";
245
+ us: "us";
246
+ ns: "ns";
247
+ }>;
248
+ }, z.core.$strict>, z.ZodObject<{
249
+ state: z.ZodLiteral<"unknown">;
250
+ reason: z.ZodString;
251
+ }, z.core.$strict>]>;
252
+ uncertainty: z.ZodUnion<readonly [z.ZodObject<{
253
+ state: z.ZodLiteral<"known">;
254
+ magnitude: z.ZodNumber;
255
+ unit: z.ZodEnum<{
256
+ s: "s";
257
+ ms: "ms";
258
+ us: "us";
259
+ ns: "ns";
260
+ }>;
261
+ }, z.core.$strict>, z.ZodObject<{
262
+ state: z.ZodLiteral<"unknown">;
263
+ reason: z.ZodString;
264
+ }, z.core.$strict>]>;
265
+ }, z.core.$strict>;
266
+ channels: z.ZodArray<z.ZodObject<{
267
+ channelId: z.ZodString;
268
+ calibration: z.ZodUnion<readonly [z.ZodObject<{
269
+ state: z.ZodLiteral<"pinned">;
270
+ ref: z.ZodString;
271
+ }, z.core.$strict>, z.ZodObject<{
272
+ state: z.ZodLiteral<"unresolved">;
273
+ reason: z.ZodString;
274
+ legacyRef: z.ZodOptional<z.ZodString>;
275
+ }, z.core.$strict>]>;
276
+ }, z.core.$strict>>;
277
+ }, z.core.$strict>;
278
+ declare const RawAcquisitionProductSchema: z.ZodObject<{
279
+ id: z.ZodString;
280
+ acquisitionRef: z.ZodString;
281
+ kind: z.ZodLiteral<"raw">;
282
+ artifact: z.ZodObject<{
283
+ digest: z.ZodObject<{
284
+ algorithm: z.ZodLiteral<"sha256">;
285
+ value: z.ZodString;
286
+ }, z.core.$strict>;
287
+ mediaType: z.ZodString;
288
+ byteLength: z.ZodNumber;
289
+ uri: z.ZodOptional<z.ZodURL>;
290
+ }, z.core.$strict>;
291
+ }, z.core.$strict>;
292
+ declare const ACQUISITION_CONTEXT_SCHEMA_ID = "urn:disclosureos:experimental:acquisition-context:0.1.0";
293
+ declare const ACQUISITION_CONTEXT_RULESET_VERSION = "0.1.0";
294
+ declare const AcquisitionContextSchema: z.ZodObject<{
295
+ kind: z.ZodLiteral<"acquisition_context">;
296
+ schemaVersion: z.ZodLiteral<"0.1.0">;
297
+ id: z.ZodString;
298
+ instruments: z.ZodArray<z.ZodObject<{
299
+ id: z.ZodString;
300
+ identity: z.ZodUnion<readonly [z.ZodObject<{
301
+ state: z.ZodLiteral<"known">;
302
+ manufacturer: z.ZodString;
303
+ model: z.ZodString;
304
+ serialNumber: z.ZodOptional<z.ZodString>;
305
+ }, z.core.$strict>, z.ZodObject<{
306
+ state: z.ZodLiteral<"unknown">;
307
+ reason: z.ZodString;
308
+ }, z.core.$strict>]>;
309
+ }, z.core.$strict>>;
310
+ manifests: z.ZodArray<z.ZodObject<{
311
+ id: z.ZodString;
312
+ instrumentRef: z.ZodString;
313
+ version: z.ZodString;
314
+ publishedAt: z.ZodISODateTime;
315
+ artifact: z.ZodObject<{
316
+ digest: z.ZodObject<{
317
+ algorithm: z.ZodLiteral<"sha256">;
318
+ value: z.ZodString;
319
+ }, z.core.$strict>;
320
+ mediaType: z.ZodString;
321
+ byteLength: z.ZodNumber;
322
+ uri: z.ZodOptional<z.ZodURL>;
323
+ }, z.core.$strict>;
324
+ configuration: z.ZodObject<{
325
+ hardware: z.ZodUnion<readonly [z.ZodObject<{
326
+ state: z.ZodLiteral<"known">;
327
+ value: z.ZodString;
328
+ }, z.core.$strict>, z.ZodObject<{
329
+ state: z.ZodLiteral<"unknown">;
330
+ reason: z.ZodString;
331
+ }, z.core.$strict>]>;
332
+ firmware: z.ZodUnion<readonly [z.ZodObject<{
333
+ state: z.ZodLiteral<"known">;
334
+ value: z.ZodString;
335
+ }, z.core.$strict>, z.ZodObject<{
336
+ state: z.ZodLiteral<"unknown">;
337
+ reason: z.ZodString;
338
+ }, z.core.$strict>]>;
339
+ }, z.core.$strict>;
340
+ channels: z.ZodArray<z.ZodObject<{
341
+ id: z.ZodString;
342
+ quantity: z.ZodString;
343
+ unit: z.ZodString;
344
+ sampling: z.ZodUnion<readonly [z.ZodObject<{
345
+ state: z.ZodLiteral<"known">;
346
+ rateHz: z.ZodNumber;
347
+ }, z.core.$strict>, z.ZodObject<{
348
+ state: z.ZodLiteral<"unknown">;
349
+ reason: z.ZodString;
350
+ }, z.core.$strict>]>;
351
+ }, z.core.$strict>>;
352
+ }, z.core.$strict>>;
353
+ deployments: z.ZodArray<z.ZodObject<{
354
+ id: z.ZodString;
355
+ instrumentRef: z.ZodString;
356
+ manifest: z.ZodUnion<readonly [z.ZodObject<{
357
+ state: z.ZodLiteral<"pinned">;
358
+ ref: z.ZodString;
359
+ }, z.core.$strict>, z.ZodObject<{
360
+ state: z.ZodLiteral<"unresolved">;
361
+ reason: z.ZodString;
362
+ legacyRef: z.ZodOptional<z.ZodString>;
363
+ }, z.core.$strict>]>;
364
+ period: z.ZodUnion<readonly [z.ZodObject<{
365
+ state: z.ZodLiteral<"known">;
366
+ start: z.ZodISODateTime;
367
+ end: z.ZodISODateTime;
368
+ timeScale: z.ZodLiteral<"UTC">;
369
+ }, z.core.$strict>, z.ZodObject<{
370
+ state: z.ZodLiteral<"unknown">;
371
+ reason: z.ZodString;
372
+ }, z.core.$strict>]>;
373
+ site: z.ZodUnion<readonly [z.ZodObject<{
374
+ state: z.ZodLiteral<"known">;
375
+ value: z.ZodString;
376
+ }, z.core.$strict>, z.ZodObject<{
377
+ state: z.ZodLiteral<"unknown">;
378
+ reason: z.ZodString;
379
+ }, z.core.$strict>]>;
380
+ }, z.core.$strict>>;
381
+ calibrations: z.ZodArray<z.ZodObject<{
382
+ id: z.ZodString;
383
+ instrumentRef: z.ZodString;
384
+ manifestRef: z.ZodString;
385
+ channelId: z.ZodString;
386
+ performedAt: z.ZodUnion<readonly [z.ZodObject<{
387
+ state: z.ZodLiteral<"known">;
388
+ value: z.ZodISODateTime;
389
+ }, z.core.$strict>, z.ZodObject<{
390
+ state: z.ZodLiteral<"unknown">;
391
+ reason: z.ZodString;
392
+ }, z.core.$strict>]>;
393
+ validity: z.ZodUnion<readonly [z.ZodObject<{
394
+ state: z.ZodLiteral<"known">;
395
+ start: z.ZodISODateTime;
396
+ end: z.ZodISODateTime;
397
+ timeScale: z.ZodLiteral<"UTC">;
398
+ }, z.core.$strict>, z.ZodObject<{
399
+ state: z.ZodLiteral<"unknown">;
400
+ reason: z.ZodString;
401
+ }, z.core.$strict>]>;
402
+ method: z.ZodUnion<readonly [z.ZodObject<{
403
+ state: z.ZodLiteral<"known">;
404
+ id: z.ZodString;
405
+ version: z.ZodString;
406
+ description: z.ZodString;
407
+ }, z.core.$strict>, z.ZodObject<{
408
+ state: z.ZodLiteral<"unknown">;
409
+ reason: z.ZodString;
410
+ }, z.core.$strict>]>;
411
+ report: z.ZodUnion<readonly [z.ZodObject<{
412
+ state: z.ZodLiteral<"known">;
413
+ artifact: z.ZodObject<{
414
+ digest: z.ZodObject<{
415
+ algorithm: z.ZodLiteral<"sha256">;
416
+ value: z.ZodString;
417
+ }, z.core.$strict>;
418
+ mediaType: z.ZodString;
419
+ byteLength: z.ZodNumber;
420
+ uri: z.ZodOptional<z.ZodURL>;
421
+ }, z.core.$strict>;
422
+ }, z.core.$strict>, z.ZodObject<{
423
+ state: z.ZodLiteral<"unknown">;
424
+ reason: z.ZodString;
425
+ }, z.core.$strict>]>;
426
+ uncertainty: z.ZodUnion<readonly [z.ZodObject<{
427
+ kind: z.ZodLiteral<"unknown">;
428
+ reason: z.ZodString;
429
+ }, z.core.$strict>, z.ZodObject<{
430
+ magnitude: z.ZodNumber;
431
+ unit: z.ZodString;
432
+ kind: z.ZodLiteral<"standard">;
433
+ }, z.core.$strict>, z.ZodObject<{
434
+ magnitude: z.ZodNumber;
435
+ unit: z.ZodString;
436
+ kind: z.ZodLiteral<"bound">;
437
+ }, z.core.$strict>, z.ZodObject<{
438
+ coverageFactor: z.ZodNumber;
439
+ coverageProbability: z.ZodOptional<z.ZodNumber>;
440
+ magnitude: z.ZodNumber;
441
+ unit: z.ZodString;
442
+ kind: z.ZodLiteral<"expanded">;
443
+ }, z.core.$strict>]>;
444
+ review: z.ZodUnion<readonly [z.ZodObject<{
445
+ state: z.ZodLiteral<"unreviewed">;
446
+ }, z.core.$strict>, z.ZodObject<{
447
+ state: z.ZodLiteral<"unknown">;
448
+ reason: z.ZodString;
449
+ }, z.core.$strict>, z.ZodObject<{
450
+ state: z.ZodLiteral<"reviewed">;
451
+ reviewedBy: z.ZodString;
452
+ reviewedAt: z.ZodISODateTime;
453
+ outcome: z.ZodEnum<{
454
+ accepted: "accepted";
455
+ rejected: "rejected";
456
+ inconclusive: "inconclusive";
457
+ }>;
458
+ report: z.ZodObject<{
459
+ digest: z.ZodObject<{
460
+ algorithm: z.ZodLiteral<"sha256">;
461
+ value: z.ZodString;
462
+ }, z.core.$strict>;
463
+ mediaType: z.ZodString;
464
+ byteLength: z.ZodNumber;
465
+ uri: z.ZodOptional<z.ZodURL>;
466
+ }, z.core.$strict>;
467
+ }, z.core.$strict>]>;
468
+ }, z.core.$strict>>;
469
+ acquisitions: z.ZodArray<z.ZodObject<{
470
+ id: z.ZodString;
471
+ instrumentRef: z.ZodString;
472
+ manifest: z.ZodUnion<readonly [z.ZodObject<{
473
+ state: z.ZodLiteral<"pinned">;
474
+ ref: z.ZodString;
475
+ }, z.core.$strict>, z.ZodObject<{
476
+ state: z.ZodLiteral<"unresolved">;
477
+ reason: z.ZodString;
478
+ legacyRef: z.ZodOptional<z.ZodString>;
479
+ }, z.core.$strict>]>;
480
+ deployment: z.ZodUnion<readonly [z.ZodObject<{
481
+ state: z.ZodLiteral<"pinned">;
482
+ ref: z.ZodString;
483
+ }, z.core.$strict>, z.ZodObject<{
484
+ state: z.ZodLiteral<"unresolved">;
485
+ reason: z.ZodString;
486
+ legacyRef: z.ZodOptional<z.ZodString>;
487
+ }, z.core.$strict>]>;
488
+ time: z.ZodUnion<readonly [z.ZodObject<{
489
+ state: z.ZodLiteral<"known">;
490
+ kind: z.ZodLiteral<"instant">;
491
+ value: z.ZodISODateTime;
492
+ timeScale: z.ZodLiteral<"UTC">;
493
+ }, z.core.$strict>, z.ZodObject<{
494
+ state: z.ZodLiteral<"known">;
495
+ start: z.ZodISODateTime;
496
+ end: z.ZodISODateTime;
497
+ timeScale: z.ZodLiteral<"UTC">;
498
+ kind: z.ZodLiteral<"interval">;
499
+ }, z.core.$strict>, z.ZodObject<{
500
+ state: z.ZodLiteral<"unknown">;
501
+ reason: z.ZodString;
502
+ }, z.core.$strict>]>;
503
+ classification: z.ZodEnum<{
504
+ unknown: "unknown";
505
+ background: "background";
506
+ known_control: "known_control";
507
+ candidate: "candidate";
508
+ other: "other";
509
+ }>;
510
+ clock: z.ZodObject<{
511
+ source: z.ZodUnion<readonly [z.ZodObject<{
512
+ state: z.ZodLiteral<"known">;
513
+ value: z.ZodString;
514
+ }, z.core.$strict>, z.ZodObject<{
515
+ state: z.ZodLiteral<"unknown">;
516
+ reason: z.ZodString;
517
+ }, z.core.$strict>]>;
518
+ synchronization: z.ZodUnion<readonly [z.ZodObject<{
519
+ state: z.ZodLiteral<"known">;
520
+ value: z.ZodString;
521
+ }, z.core.$strict>, z.ZodObject<{
522
+ state: z.ZodLiteral<"unknown">;
523
+ reason: z.ZodString;
524
+ }, z.core.$strict>]>;
525
+ resolution: z.ZodUnion<readonly [z.ZodObject<{
526
+ state: z.ZodLiteral<"known">;
527
+ magnitude: z.ZodNumber;
528
+ unit: z.ZodEnum<{
529
+ s: "s";
530
+ ms: "ms";
531
+ us: "us";
532
+ ns: "ns";
533
+ }>;
534
+ }, z.core.$strict>, z.ZodObject<{
535
+ state: z.ZodLiteral<"unknown">;
536
+ reason: z.ZodString;
537
+ }, z.core.$strict>]>;
538
+ uncertainty: z.ZodUnion<readonly [z.ZodObject<{
539
+ state: z.ZodLiteral<"known">;
540
+ magnitude: z.ZodNumber;
541
+ unit: z.ZodEnum<{
542
+ s: "s";
543
+ ms: "ms";
544
+ us: "us";
545
+ ns: "ns";
546
+ }>;
547
+ }, z.core.$strict>, z.ZodObject<{
548
+ state: z.ZodLiteral<"unknown">;
549
+ reason: z.ZodString;
550
+ }, z.core.$strict>]>;
551
+ }, z.core.$strict>;
552
+ channels: z.ZodArray<z.ZodObject<{
553
+ channelId: z.ZodString;
554
+ calibration: z.ZodUnion<readonly [z.ZodObject<{
555
+ state: z.ZodLiteral<"pinned">;
556
+ ref: z.ZodString;
557
+ }, z.core.$strict>, z.ZodObject<{
558
+ state: z.ZodLiteral<"unresolved">;
559
+ reason: z.ZodString;
560
+ legacyRef: z.ZodOptional<z.ZodString>;
561
+ }, z.core.$strict>]>;
562
+ }, z.core.$strict>>;
563
+ }, z.core.$strict>>;
564
+ products: z.ZodArray<z.ZodObject<{
565
+ id: z.ZodString;
566
+ acquisitionRef: z.ZodString;
567
+ kind: z.ZodLiteral<"raw">;
568
+ artifact: z.ZodObject<{
569
+ digest: z.ZodObject<{
570
+ algorithm: z.ZodLiteral<"sha256">;
571
+ value: z.ZodString;
572
+ }, z.core.$strict>;
573
+ mediaType: z.ZodString;
574
+ byteLength: z.ZodNumber;
575
+ uri: z.ZodOptional<z.ZodURL>;
576
+ }, z.core.$strict>;
577
+ }, z.core.$strict>>;
578
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
579
+ }, z.core.$strict>;
580
+ type AcquisitionContext = z.infer<typeof AcquisitionContextSchema>;
581
+ type AcquisitionContextEntry = z.infer<typeof AcquisitionContextEntrySchema>;
582
+ type CalibrationContext = z.infer<typeof CalibrationContextSchema>;
583
+ type ManifestRevision = z.infer<typeof ManifestRevisionSchema>;
584
+ type ContextArtifact = z.infer<typeof ContextArtifactSchema>;
585
+ declare function acquisitionContextJsonSchema(): Record<string, unknown>;
586
+
587
+ type AcquisitionContextIssueCode = 'STRUCT.VALUE' | 'REF.UNIQUE_ID' | 'REF.LOCAL_RESOLUTION' | 'REF.INSTRUMENT_MISMATCH' | 'MANIFEST.AMBIGUOUS_VERSION' | 'MANIFEST.MISMATCH' | 'CHANNEL.UNKNOWN' | 'TIME.INTERVAL' | 'TIME.INSTANT' | 'TIME.OUTSIDE_DEPLOYMENT' | 'CALIBRATION.CHANNEL_MISMATCH' | 'CALIBRATION.AFTER_ACQUISITION' | 'CALIBRATION.OUTSIDE_VALIDITY' | 'CALIBRATION.REVIEW_ORDER' | 'UNIT.MISMATCH' | 'CONTEXT.UNRESOLVED' | 'CONTEXT.UNKNOWN';
588
+ interface AcquisitionContextIssue {
589
+ code: AcquisitionContextIssueCode;
590
+ stage: 'structural' | 'semantic';
591
+ severity: 'error' | 'warning';
592
+ pointer: string;
593
+ message: string;
594
+ }
595
+ interface AcquisitionResolution {
596
+ acquisitionRef: string;
597
+ status: 'resolved' | 'incomplete';
598
+ manifestRef?: string;
599
+ calibrationRefs: string[];
600
+ missingPointers: string[];
601
+ }
602
+ interface ResultBase {
603
+ checks: {
604
+ structural: 'passed' | 'failed';
605
+ semantic: 'passed' | 'failed' | 'not_checked';
606
+ profile: 'not_checked';
607
+ external: 'not_checked';
608
+ };
609
+ contract: {
610
+ schemaId: typeof ACQUISITION_CONTEXT_SCHEMA_ID;
611
+ rulesetVersion: typeof ACQUISITION_CONTEXT_RULESET_VERSION;
612
+ };
613
+ issues: AcquisitionContextIssue[];
614
+ uncheckedArtifactPointers: string[];
615
+ }
616
+ type AcquisitionContextResult = ResultBase & ({
617
+ success: true;
618
+ data: AcquisitionContext;
619
+ acquisitions: AcquisitionResolution[];
620
+ } | {
621
+ success: false;
622
+ });
623
+ /** Validates pinned declarations, not scientific calibration adequacy or artifact bytes. */
624
+ declare function parseAcquisitionContext(input: unknown): AcquisitionContextResult;
625
+
626
+ export { ACQUISITION_CONTEXT_RULESET_VERSION, ACQUISITION_CONTEXT_SCHEMA_ID, type AcquisitionContext, type AcquisitionContextEntry, AcquisitionContextEntrySchema, type AcquisitionContextIssue, type AcquisitionContextIssueCode, type AcquisitionContextResult, AcquisitionContextSchema, type AcquisitionResolution, type CalibrationContext, CalibrationContextSchema, type ContextArtifact, ContextArtifactSchema, DeploymentContextSchema, InstrumentInstanceSchema, type ManifestRevision, ManifestRevisionSchema, RawAcquisitionProductSchema, acquisitionContextJsonSchema, parseAcquisitionContext };