@aikdna/kdna-core 0.37.0 → 0.37.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/README.md +28 -7
  2. package/package.json +11 -1
  3. package/src/public-contract/browser-native/generated-contract.json +3 -3
  4. package/src/public-contract/browser-native/sections/contract.json +2 -2
  5. package/src/public-contract/browser-native/whole.js +30 -1
  6. package/src/public-contract/browser-protected/request.js +77 -0
  7. package/src/public-contract/browser-protected/state.js +200 -0
  8. package/src/public-contract/browserwhole06/contract.json +2 -2
  9. package/src/public-contract/creation06/contract.json +2 -2
  10. package/src/public-contract/creation06/generation-manifest.json +8 -8
  11. package/src/public-contract/execution06/contract.json +2 -2
  12. package/src/public-contract/execution06/generation-manifest.json +8 -8
  13. package/src/public-contract/generated-contract.json +3 -3
  14. package/src/public-contract/issuer-contract.generated.json +6 -6
  15. package/src/public-contract/issuer-validators.generated.js +7 -7
  16. package/src/public-contract/key-grant-issuer-node.d.ts +1 -1
  17. package/src/public-contract/package-set-contract.generated.json +5 -5
  18. package/src/public-contract/package-set-node.d.ts +1 -1
  19. package/src/public-contract/package-set-validators.generated.js +9 -9
  20. package/src/public-contract/packageset06/contract.json +2 -2
  21. package/src/public-contract/packageset06/generation-manifest.json +8 -8
  22. package/src/public-contract/protected-browser-contract/contract.json +11824 -0
  23. package/src/public-contract/protected-browser-contract/descriptor.json +5 -0
  24. package/src/public-contract/protected-browser-contract/schemas/BrowserProtectedAdmissionResult.json +443 -0
  25. package/src/public-contract/protected-browser-contract/schemas/BrowserProtectedAuthorityContext.json +939 -0
  26. package/src/public-contract/protected-browser-contract/schemas/BrowserProtectedBinding.json +156 -0
  27. package/src/public-contract/protected-browser-contract/schemas/BrowserProtectedCallResult.json +10489 -0
  28. package/src/public-contract/protected-browser-contract/schemas/BrowserProtectedDeliveryToken.json +10 -0
  29. package/src/public-contract/protected-browser-contract/schemas/BrowserProtectedExpansionHandle.json +320 -0
  30. package/src/public-contract/protected-browser-contract/schemas/BrowserProtectedHostContext.json +677 -0
  31. package/src/public-contract/protected-browser-contract/schemas/BrowserProtectedHostObservation.json +208 -0
  32. package/src/public-contract/protected-browser-contract/schemas/BrowserProtectedReadAuthority.json +10 -0
  33. package/src/public-contract/protected-browser-contract/schemas/BrowserProtectedReadResult.json +10795 -0
  34. package/src/public-contract/protected-browser-contract/schemas/BrowserProtectedRequest.json +539 -0
  35. package/src/public-contract/protected-browser-contract/schemas/BrowserProtectedRequestAdmission.json +1016 -0
  36. package/src/public-contract/protected-browser-contract/schemas/BrowserProtectedSignaturePolicy.json +35 -0
  37. package/src/public-contract/protected-browser-contract/schemas/BrowserProtectedSnapshotData.json +8451 -0
  38. package/src/public-contract/protected-browser-contract/schemas/BrowserProtectedTransportCommitResult.json +304 -0
  39. package/src/public-contract/protected-browser-contract/schemas/TrustedBrowserProtectedHost.json +10 -0
  40. package/src/public-contract/protected-browser-contract/types.d.ts +389 -0
  41. package/src/public-contract/protected-browser-contract/validators.cjs +223756 -0
  42. package/src/public-contract/protected-sections-browser.d.ts +11 -0
  43. package/src/public-contract/protected-sections-browser.js +22 -0
  44. package/src/public-contract/protected-sections-browser.mjs +2 -0
  45. package/src/public-contract/protected-source-contract.generated.json +8 -8
  46. package/src/public-contract/protected-source-node.d.ts +1 -1
  47. package/src/public-contract/protection-admission-browser.js +21 -3
  48. package/src/public-contract/protection-contract.generated.json +9 -9
  49. package/src/public-contract/protection-envelope-codec.js +16 -12
  50. package/src/public-contract/protection-node.d.ts +2 -2
  51. package/src/public-contract/protection-validators.generated.js +5 -5
  52. package/src/public-contract/public-contract.d.ts +13 -0
  53. package/src/public-contract/public-contract.js +32 -0
  54. package/src/public-contract/public-contract.mjs +2 -0
  55. package/src/public-contract/retained/contract.json +2 -2
  56. package/src/public-contract/retained/generation-manifest.json +8 -8
  57. package/src/public-contract/retained-browser06/contract.json +2 -2
  58. package/src/public-contract/sectionbytes/contract.json +2 -2
  59. package/src/public-contract/sectionbytes/generation-manifest.json +8 -8
  60. package/src/public-contract/sections/contract.json +2 -2
  61. package/src/public-contract/sections/generation-manifest.json +8 -8
  62. package/src/public-contract/sections-bytes-node.js +31 -0
  63. package/src/public-contract/sections-node.js +36 -1
  64. package/src/public-contract/source-validators.generated.js +6 -6
  65. package/src/public-contract/source06/contract.json +2 -2
@@ -0,0 +1,939 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "urn:kdna:candidate:protected-browser:BrowserProtectedAuthorityContext",
4
+ "title": "BrowserProtectedAuthorityContext",
5
+ "description": "Browser protected retained projection contract. Original base tuple and host-supplied-triple provenance; no native authentication claims.",
6
+ "$ref": "#/$defs/BrowserProtectedAuthorityContext",
7
+ "$defs": {
8
+ "AssetDigests": {
9
+ "type": "object",
10
+ "properties": {
11
+ "A": {
12
+ "$ref": "#/$defs/DigestA"
13
+ },
14
+ "C": {
15
+ "$ref": "#/$defs/DigestC"
16
+ },
17
+ "E": {
18
+ "$ref": "#/$defs/DigestE"
19
+ }
20
+ },
21
+ "required": [
22
+ "A",
23
+ "C",
24
+ "E"
25
+ ],
26
+ "additionalProperties": false
27
+ },
28
+ "AssetIdentity": {
29
+ "type": "object",
30
+ "properties": {
31
+ "asset_id": {
32
+ "$ref": "#/$defs/Identifier"
33
+ },
34
+ "asset_version": {
35
+ "$ref": "#/$defs/VersionLabel"
36
+ },
37
+ "judgment_version": {
38
+ "$ref": "#/$defs/VersionLabel"
39
+ }
40
+ },
41
+ "required": [
42
+ "asset_id",
43
+ "asset_version",
44
+ "judgment_version"
45
+ ],
46
+ "additionalProperties": false
47
+ },
48
+ "BrowserProtectedAdmissionDisclosure": {
49
+ "type": "object",
50
+ "properties": {
51
+ "slot_selection": {
52
+ "type": "object",
53
+ "properties": {
54
+ "slotIndex": {
55
+ "$ref": "#/$defs/UInt"
56
+ },
57
+ "slot": {
58
+ "$ref": "#/$defs/Identifier"
59
+ },
60
+ "kdf_profile": {
61
+ "type": "string",
62
+ "enum": [
63
+ "scrypt-sha256",
64
+ "argon2id"
65
+ ]
66
+ }
67
+ },
68
+ "required": [
69
+ "slotIndex",
70
+ "slot",
71
+ "kdf_profile"
72
+ ],
73
+ "additionalProperties": false
74
+ },
75
+ "observation_not_authority": {
76
+ "type": "boolean",
77
+ "const": true
78
+ },
79
+ "provenance": {
80
+ "type": "string",
81
+ "const": "host_supplied_triple"
82
+ }
83
+ },
84
+ "required": [
85
+ "slot_selection",
86
+ "observation_not_authority",
87
+ "provenance"
88
+ ],
89
+ "additionalProperties": false
90
+ },
91
+ "BrowserProtectedAuthorityContext": {
92
+ "type": "object",
93
+ "properties": {
94
+ "request": {
95
+ "$ref": "#/$defs/BrowserProtectedRequest"
96
+ },
97
+ "request_digest": {
98
+ "$ref": "#/$defs/Digest"
99
+ },
100
+ "tuple": {
101
+ "$ref": "#/$defs/VersionTuple"
102
+ },
103
+ "asset": {
104
+ "$ref": "#/$defs/AssetIdentity"
105
+ },
106
+ "digests": {
107
+ "$ref": "#/$defs/AssetDigests"
108
+ },
109
+ "read_intent": {
110
+ "$ref": "#/$defs/BrowserProtectedReadIntent"
111
+ },
112
+ "read_intent_digest": {
113
+ "$ref": "#/$defs/Digest"
114
+ },
115
+ "signature_policy": {
116
+ "$ref": "#/$defs/BrowserProtectedSignaturePolicy"
117
+ },
118
+ "disclosure": {
119
+ "$ref": "#/$defs/BrowserProtectedAdmissionDisclosure"
120
+ }
121
+ },
122
+ "required": [
123
+ "request",
124
+ "request_digest",
125
+ "tuple",
126
+ "asset",
127
+ "digests",
128
+ "read_intent",
129
+ "read_intent_digest",
130
+ "signature_policy",
131
+ "disclosure"
132
+ ],
133
+ "additionalProperties": false
134
+ },
135
+ "BrowserProtectedExpansionHandle": {
136
+ "oneOf": [
137
+ {
138
+ "$ref": "#/$defs/BrowserProtectedWholeHandle"
139
+ },
140
+ {
141
+ "$ref": "#/$defs/BrowserProtectedSetHandle"
142
+ }
143
+ ]
144
+ },
145
+ "BrowserProtectedReadIntent": {
146
+ "type": "object",
147
+ "properties": {
148
+ "operation": {
149
+ "type": "string",
150
+ "enum": [
151
+ "admit_retained_protected_snapshot",
152
+ "read_protected_projection",
153
+ "expand_protected_projection",
154
+ "projection",
155
+ "host_observation",
156
+ "host_handoff",
157
+ "read_return",
158
+ "transport_commit"
159
+ ]
160
+ },
161
+ "operation_id": {
162
+ "$ref": "#/$defs/Identifier"
163
+ },
164
+ "capture_id": {
165
+ "$ref": "#/$defs/Identifier"
166
+ },
167
+ "snapshot_id": {
168
+ "$ref": "#/$defs/Identifier"
169
+ },
170
+ "request_digest": {
171
+ "$ref": "#/$defs/Digest"
172
+ },
173
+ "mode": {
174
+ "type": "string",
175
+ "enum": [
176
+ "whole_asset",
177
+ "catalog",
178
+ "exact_selection",
179
+ "expand"
180
+ ]
181
+ },
182
+ "physical_reads": {
183
+ "type": "string",
184
+ "const": "none"
185
+ },
186
+ "provenance": {
187
+ "type": "string",
188
+ "const": "host_supplied_triple"
189
+ },
190
+ "new_decryption": {
191
+ "type": "boolean",
192
+ "const": false
193
+ },
194
+ "new_domain_validation": {
195
+ "type": "boolean",
196
+ "const": false
197
+ },
198
+ "new_signature_verification": {
199
+ "type": "boolean",
200
+ "const": false
201
+ }
202
+ },
203
+ "required": [
204
+ "operation",
205
+ "operation_id",
206
+ "capture_id",
207
+ "snapshot_id",
208
+ "request_digest",
209
+ "mode",
210
+ "physical_reads",
211
+ "provenance",
212
+ "new_decryption",
213
+ "new_domain_validation",
214
+ "new_signature_verification"
215
+ ],
216
+ "additionalProperties": false
217
+ },
218
+ "BrowserProtectedRequest": {
219
+ "oneOf": [
220
+ {
221
+ "$ref": "#/$defs/BrowserProtectedRequest_whole_asset"
222
+ },
223
+ {
224
+ "$ref": "#/$defs/BrowserProtectedRequest_catalog"
225
+ },
226
+ {
227
+ "$ref": "#/$defs/BrowserProtectedRequest_exact_selection"
228
+ },
229
+ {
230
+ "$ref": "#/$defs/BrowserProtectedRequest_expand"
231
+ }
232
+ ]
233
+ },
234
+ "BrowserProtectedRequest_catalog": {
235
+ "type": "object",
236
+ "properties": {
237
+ "request_id": {
238
+ "$ref": "#/$defs/Identifier"
239
+ },
240
+ "tuple": {
241
+ "$ref": "#/$defs/VersionTuple"
242
+ },
243
+ "budget_bytes": {
244
+ "$ref": "#/$defs/UInt"
245
+ },
246
+ "mode": {
247
+ "const": "catalog",
248
+ "type": "string"
249
+ },
250
+ "selection": {
251
+ "const": null,
252
+ "type": "null"
253
+ },
254
+ "handle": {
255
+ "type": "null",
256
+ "const": null
257
+ }
258
+ },
259
+ "required": [
260
+ "request_id",
261
+ "tuple",
262
+ "budget_bytes",
263
+ "mode",
264
+ "selection",
265
+ "handle"
266
+ ],
267
+ "additionalProperties": false
268
+ },
269
+ "BrowserProtectedRequest_exact_selection": {
270
+ "type": "object",
271
+ "properties": {
272
+ "request_id": {
273
+ "$ref": "#/$defs/Identifier"
274
+ },
275
+ "tuple": {
276
+ "$ref": "#/$defs/VersionTuple"
277
+ },
278
+ "budget_bytes": {
279
+ "$ref": "#/$defs/UInt"
280
+ },
281
+ "mode": {
282
+ "const": "exact_selection",
283
+ "type": "string"
284
+ },
285
+ "selection": {
286
+ "$ref": "#/$defs/BrowserProtectedSelection"
287
+ },
288
+ "handle": {
289
+ "type": "null",
290
+ "const": null
291
+ }
292
+ },
293
+ "required": [
294
+ "request_id",
295
+ "tuple",
296
+ "budget_bytes",
297
+ "mode",
298
+ "selection",
299
+ "handle"
300
+ ],
301
+ "additionalProperties": false
302
+ },
303
+ "BrowserProtectedRequest_expand": {
304
+ "type": "object",
305
+ "properties": {
306
+ "request_id": {
307
+ "$ref": "#/$defs/Identifier"
308
+ },
309
+ "tuple": {
310
+ "$ref": "#/$defs/VersionTuple"
311
+ },
312
+ "budget_bytes": {
313
+ "$ref": "#/$defs/UInt"
314
+ },
315
+ "mode": {
316
+ "type": "string",
317
+ "const": "expand"
318
+ },
319
+ "selection": {
320
+ "anyOf": [
321
+ {
322
+ "$ref": "#/$defs/BrowserProtectedSelection"
323
+ },
324
+ {
325
+ "type": "null",
326
+ "const": null
327
+ }
328
+ ]
329
+ },
330
+ "handle": {
331
+ "$ref": "#/$defs/BrowserProtectedExpansionHandle"
332
+ }
333
+ },
334
+ "required": [
335
+ "request_id",
336
+ "tuple",
337
+ "budget_bytes",
338
+ "mode",
339
+ "selection",
340
+ "handle"
341
+ ],
342
+ "additionalProperties": false
343
+ },
344
+ "BrowserProtectedRequest_whole_asset": {
345
+ "type": "object",
346
+ "properties": {
347
+ "request_id": {
348
+ "$ref": "#/$defs/Identifier"
349
+ },
350
+ "tuple": {
351
+ "$ref": "#/$defs/VersionTuple"
352
+ },
353
+ "budget_bytes": {
354
+ "$ref": "#/$defs/UInt"
355
+ },
356
+ "mode": {
357
+ "const": "whole_asset",
358
+ "type": "string"
359
+ },
360
+ "selection": {
361
+ "const": null,
362
+ "type": "null"
363
+ },
364
+ "handle": {
365
+ "type": "null",
366
+ "const": null
367
+ }
368
+ },
369
+ "required": [
370
+ "request_id",
371
+ "tuple",
372
+ "budget_bytes",
373
+ "mode",
374
+ "selection",
375
+ "handle"
376
+ ],
377
+ "additionalProperties": false
378
+ },
379
+ "BrowserProtectedSelection": {
380
+ "type": "object",
381
+ "properties": {
382
+ "asset_id": {
383
+ "$ref": "#/$defs/Identifier"
384
+ },
385
+ "asset_version": {
386
+ "$ref": "#/$defs/VersionLabel"
387
+ },
388
+ "judgment_ids": {
389
+ "type": "array",
390
+ "items": {
391
+ "$ref": "#/$defs/Identifier"
392
+ },
393
+ "minItems": 1
394
+ }
395
+ },
396
+ "required": [
397
+ "asset_id",
398
+ "asset_version",
399
+ "judgment_ids"
400
+ ],
401
+ "additionalProperties": false
402
+ },
403
+ "BrowserProtectedSetHandle": {
404
+ "type": "object",
405
+ "properties": {
406
+ "handle_id": {
407
+ "$ref": "#/$defs/Identifier"
408
+ },
409
+ "asset_id": {
410
+ "$ref": "#/$defs/Identifier"
411
+ },
412
+ "asset_version": {
413
+ "$ref": "#/$defs/VersionLabel"
414
+ },
415
+ "A": {
416
+ "$ref": "#/$defs/Digest"
417
+ },
418
+ "C": {
419
+ "$ref": "#/$defs/Digest"
420
+ },
421
+ "snapshot_id": {
422
+ "$ref": "#/$defs/Identifier"
423
+ },
424
+ "core_version": {
425
+ "$ref": "#/$defs/Identifier"
426
+ },
427
+ "ir_version": {
428
+ "$ref": "#/$defs/Identifier"
429
+ },
430
+ "read_version": {
431
+ "$ref": "#/$defs/Identifier"
432
+ },
433
+ "target": {
434
+ "$ref": "#/$defs/Ref"
435
+ },
436
+ "scope": {
437
+ "type": "array",
438
+ "items": {
439
+ "$ref": "#/$defs/Identifier"
440
+ },
441
+ "minItems": 1,
442
+ "uniqueItems": true
443
+ },
444
+ "issued_at": {
445
+ "$ref": "#/$defs/UInt"
446
+ },
447
+ "expires_at": {
448
+ "$ref": "#/$defs/UInt"
449
+ },
450
+ "host_id": {
451
+ "$ref": "#/$defs/Identifier"
452
+ },
453
+ "host_epoch": {
454
+ "$ref": "#/$defs/Identifier"
455
+ },
456
+ "anchor": {
457
+ "type": "object",
458
+ "properties": {
459
+ "kind": {
460
+ "type": "string",
461
+ "const": "selection_set"
462
+ },
463
+ "selection": {
464
+ "$ref": "#/$defs/BrowserProtectedSelection"
465
+ }
466
+ },
467
+ "required": [
468
+ "kind",
469
+ "selection"
470
+ ],
471
+ "additionalProperties": false
472
+ },
473
+ "binding_kind": {
474
+ "type": "string",
475
+ "const": "protected_selection_set"
476
+ },
477
+ "operation_id": {
478
+ "$ref": "#/$defs/Identifier"
479
+ },
480
+ "capture_id": {
481
+ "$ref": "#/$defs/Identifier"
482
+ }
483
+ },
484
+ "required": [
485
+ "handle_id",
486
+ "asset_id",
487
+ "asset_version",
488
+ "A",
489
+ "C",
490
+ "snapshot_id",
491
+ "core_version",
492
+ "ir_version",
493
+ "read_version",
494
+ "anchor",
495
+ "target",
496
+ "scope",
497
+ "issued_at",
498
+ "expires_at",
499
+ "host_id",
500
+ "host_epoch",
501
+ "binding_kind",
502
+ "operation_id",
503
+ "capture_id"
504
+ ],
505
+ "additionalProperties": false
506
+ },
507
+ "BrowserProtectedSignaturePolicy": {
508
+ "type": "object",
509
+ "properties": {
510
+ "requireSignature": {
511
+ "type": "boolean"
512
+ },
513
+ "expectedPublicKeyHex": {
514
+ "anyOf": [
515
+ {
516
+ "type": "string",
517
+ "pattern": "^[0-9a-f]{64}$",
518
+ "minLength": 64,
519
+ "maxLength": 64
520
+ },
521
+ {
522
+ "type": "null"
523
+ }
524
+ ]
525
+ }
526
+ },
527
+ "required": [
528
+ "requireSignature",
529
+ "expectedPublicKeyHex"
530
+ ],
531
+ "additionalProperties": false
532
+ },
533
+ "BrowserProtectedWholeHandle": {
534
+ "type": "object",
535
+ "properties": {
536
+ "handle_id": {
537
+ "$ref": "#/$defs/Identifier"
538
+ },
539
+ "asset_id": {
540
+ "$ref": "#/$defs/Identifier"
541
+ },
542
+ "asset_version": {
543
+ "$ref": "#/$defs/VersionLabel"
544
+ },
545
+ "A": {
546
+ "$ref": "#/$defs/Digest"
547
+ },
548
+ "C": {
549
+ "$ref": "#/$defs/Digest"
550
+ },
551
+ "snapshot_id": {
552
+ "$ref": "#/$defs/Identifier"
553
+ },
554
+ "core_version": {
555
+ "$ref": "#/$defs/Identifier"
556
+ },
557
+ "ir_version": {
558
+ "$ref": "#/$defs/Identifier"
559
+ },
560
+ "read_version": {
561
+ "$ref": "#/$defs/Identifier"
562
+ },
563
+ "target": {
564
+ "$ref": "#/$defs/Ref"
565
+ },
566
+ "scope": {
567
+ "type": "array",
568
+ "items": {
569
+ "$ref": "#/$defs/Identifier"
570
+ },
571
+ "minItems": 1,
572
+ "uniqueItems": true
573
+ },
574
+ "issued_at": {
575
+ "$ref": "#/$defs/UInt"
576
+ },
577
+ "expires_at": {
578
+ "$ref": "#/$defs/UInt"
579
+ },
580
+ "host_id": {
581
+ "$ref": "#/$defs/Identifier"
582
+ },
583
+ "host_epoch": {
584
+ "$ref": "#/$defs/Identifier"
585
+ },
586
+ "anchor": {
587
+ "type": "object",
588
+ "properties": {
589
+ "kind": {
590
+ "type": "string",
591
+ "const": "asset"
592
+ }
593
+ },
594
+ "required": [
595
+ "kind"
596
+ ],
597
+ "additionalProperties": false
598
+ }
599
+ },
600
+ "required": [
601
+ "handle_id",
602
+ "asset_id",
603
+ "asset_version",
604
+ "A",
605
+ "C",
606
+ "snapshot_id",
607
+ "core_version",
608
+ "ir_version",
609
+ "read_version",
610
+ "anchor",
611
+ "target",
612
+ "scope",
613
+ "issued_at",
614
+ "expires_at",
615
+ "host_id",
616
+ "host_epoch"
617
+ ],
618
+ "additionalProperties": false
619
+ },
620
+ "Compared": {
621
+ "type": "object",
622
+ "properties": {
623
+ "state": {
624
+ "$ref": "#/$defs/ComparedState"
625
+ },
626
+ "expected": {
627
+ "$ref": "#/$defs/Digest"
628
+ },
629
+ "expected_source": {
630
+ "$ref": "#/$defs/ExpectedSource"
631
+ }
632
+ },
633
+ "required": [
634
+ "state",
635
+ "expected",
636
+ "expected_source"
637
+ ],
638
+ "additionalProperties": false
639
+ },
640
+ "ComparedState": {
641
+ "type": "string",
642
+ "enum": [
643
+ "matched",
644
+ "mismatched"
645
+ ]
646
+ },
647
+ "Comparison": {
648
+ "oneOf": [
649
+ {
650
+ "$ref": "#/$defs/NoComparison"
651
+ },
652
+ {
653
+ "$ref": "#/$defs/Compared"
654
+ }
655
+ ]
656
+ },
657
+ "Digest": {
658
+ "type": "string",
659
+ "pattern": "^sha256:[0-9a-f]{64}$"
660
+ },
661
+ "DigestA": {
662
+ "type": "object",
663
+ "properties": {
664
+ "basis": {
665
+ "const": "container_bytes",
666
+ "type": "string"
667
+ },
668
+ "profile": {
669
+ "const": "kdna.digest-basis.container-bytes",
670
+ "type": "string"
671
+ },
672
+ "profile_version": {
673
+ "const": "0.2.0",
674
+ "type": "string"
675
+ },
676
+ "algorithm": {
677
+ "const": "SHA-256",
678
+ "type": "string"
679
+ },
680
+ "observed": {
681
+ "$ref": "#/$defs/Digest"
682
+ },
683
+ "comparison": {
684
+ "$ref": "#/$defs/Comparison"
685
+ }
686
+ },
687
+ "required": [
688
+ "basis",
689
+ "profile",
690
+ "profile_version",
691
+ "algorithm",
692
+ "observed",
693
+ "comparison"
694
+ ],
695
+ "additionalProperties": false
696
+ },
697
+ "DigestC": {
698
+ "type": "object",
699
+ "properties": {
700
+ "basis": {
701
+ "const": "content_tree",
702
+ "type": "string"
703
+ },
704
+ "profile": {
705
+ "const": "kdna.digest-basis.content-tree",
706
+ "type": "string"
707
+ },
708
+ "profile_version": {
709
+ "const": "0.2.0",
710
+ "type": "string"
711
+ },
712
+ "algorithm": {
713
+ "const": "SHA-256",
714
+ "type": "string"
715
+ },
716
+ "observed": {
717
+ "$ref": "#/$defs/Digest"
718
+ },
719
+ "comparison": {
720
+ "$ref": "#/$defs/Comparison"
721
+ }
722
+ },
723
+ "required": [
724
+ "basis",
725
+ "profile",
726
+ "profile_version",
727
+ "algorithm",
728
+ "observed",
729
+ "comparison"
730
+ ],
731
+ "additionalProperties": false
732
+ },
733
+ "DigestE": {
734
+ "type": "object",
735
+ "properties": {
736
+ "basis": {
737
+ "const": "runtime_entry_set",
738
+ "type": "string"
739
+ },
740
+ "profile": {
741
+ "const": "kdna.digest-basis.runtime-entry-set",
742
+ "type": "string"
743
+ },
744
+ "profile_version": {
745
+ "const": "0.2.0",
746
+ "type": "string"
747
+ },
748
+ "algorithm": {
749
+ "const": "SHA-256",
750
+ "type": "string"
751
+ },
752
+ "observed": {
753
+ "$ref": "#/$defs/Digest"
754
+ },
755
+ "comparison": {
756
+ "$ref": "#/$defs/Comparison"
757
+ }
758
+ },
759
+ "required": [
760
+ "basis",
761
+ "profile",
762
+ "profile_version",
763
+ "algorithm",
764
+ "observed",
765
+ "comparison"
766
+ ],
767
+ "additionalProperties": false
768
+ },
769
+ "ExpectedSource": {
770
+ "type": "object",
771
+ "properties": {
772
+ "kind": {
773
+ "$ref": "#/$defs/ExpectedSourceKind"
774
+ },
775
+ "source_id": {
776
+ "$ref": "#/$defs/Identifier"
777
+ }
778
+ },
779
+ "required": [
780
+ "kind",
781
+ "source_id"
782
+ ],
783
+ "additionalProperties": false
784
+ },
785
+ "ExpectedSourceKind": {
786
+ "type": "string",
787
+ "enum": [
788
+ "caller",
789
+ "manifest_declaration",
790
+ "checksums_declaration",
791
+ "trusted_receipt",
792
+ "host_observation"
793
+ ]
794
+ },
795
+ "Identifier": {
796
+ "type": "string",
797
+ "minLength": 1,
798
+ "maxLength": 256,
799
+ "pattern": "^[^\\u0000-\\u001f\\u007f-\\u009f\\ud800-\\udfff]+$"
800
+ },
801
+ "NoComparison": {
802
+ "type": "object",
803
+ "properties": {
804
+ "state": {
805
+ "const": "not_compared",
806
+ "type": "string"
807
+ },
808
+ "expected": {
809
+ "const": null,
810
+ "type": "null"
811
+ },
812
+ "expected_source": {
813
+ "const": null,
814
+ "type": "null"
815
+ }
816
+ },
817
+ "required": [
818
+ "state",
819
+ "expected",
820
+ "expected_source"
821
+ ],
822
+ "additionalProperties": false
823
+ },
824
+ "Ref": {
825
+ "type": "object",
826
+ "properties": {
827
+ "kind": {
828
+ "type": "string",
829
+ "enum": [
830
+ "asset",
831
+ "judgment",
832
+ "result",
833
+ "contract",
834
+ "condition",
835
+ "component",
836
+ "unit",
837
+ "plan",
838
+ "plan_node",
839
+ "policy",
840
+ "branch_entry",
841
+ "candidate",
842
+ "material",
843
+ "shared_declaration",
844
+ "boundary",
845
+ "exception",
846
+ "misuse",
847
+ "reason",
848
+ "source",
849
+ "source_use",
850
+ "resource",
851
+ "relationship",
852
+ "dependency",
853
+ "example",
854
+ "example_result",
855
+ "revision",
856
+ "actor"
857
+ ]
858
+ },
859
+ "id": {
860
+ "$ref": "#/$defs/Identifier"
861
+ },
862
+ "asset": {
863
+ "$ref": "#/$defs/AssetIdentity"
864
+ }
865
+ },
866
+ "required": [
867
+ "kind",
868
+ "id"
869
+ ],
870
+ "additionalProperties": false
871
+ },
872
+ "UInt": {
873
+ "type": "integer",
874
+ "minimum": 0,
875
+ "maximum": 9007199254740991
876
+ },
877
+ "VersionLabel": {
878
+ "$ref": "#/$defs/Identifier"
879
+ },
880
+ "VersionTuple": {
881
+ "type": "object",
882
+ "properties": {
883
+ "container": {
884
+ "const": "0.5.0",
885
+ "type": "string"
886
+ },
887
+ "payload_profile": {
888
+ "const": "kdna.payload.judgment",
889
+ "type": "string"
890
+ },
891
+ "payload_version": {
892
+ "const": "0.5.1",
893
+ "type": "string"
894
+ },
895
+ "core": {
896
+ "const": "kdna.core/0.8.2",
897
+ "type": "string"
898
+ },
899
+ "ir": {
900
+ "const": "kdna.canonical-ir/0.6.1",
901
+ "type": "string"
902
+ },
903
+ "runtime": {
904
+ "const": "kdna.runtime-capsule/0.3.1",
905
+ "type": "string"
906
+ },
907
+ "plan": {
908
+ "const": "kdna.consumption-plan/0.3.1",
909
+ "type": "string"
910
+ },
911
+ "host": {
912
+ "const": "kdna.agent-host/0.3.1",
913
+ "type": "string"
914
+ },
915
+ "trace": {
916
+ "const": "kdna.judgment-trace/0.3.1",
917
+ "type": "string"
918
+ },
919
+ "read": {
920
+ "const": "kdna.read/0.6.4",
921
+ "type": "string"
922
+ }
923
+ },
924
+ "required": [
925
+ "container",
926
+ "payload_profile",
927
+ "payload_version",
928
+ "core",
929
+ "ir",
930
+ "runtime",
931
+ "plan",
932
+ "host",
933
+ "trace",
934
+ "read"
935
+ ],
936
+ "additionalProperties": false
937
+ }
938
+ }
939
+ }