@real-life/trust-protocol 0.4.0 → 0.6.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 (91) hide show
  1. package/CHANGELOG.md +137 -0
  2. package/README.md +91 -24
  3. package/dist/adapters/vti-mediator.d.ts +36 -8
  4. package/dist/adapters/vti-mediator.d.ts.map +1 -1
  5. package/dist/adapters/vti-mediator.js +193 -29
  6. package/dist/adapters/vti-mediator.js.map +1 -1
  7. package/dist/codec.d.ts +2 -1
  8. package/dist/codec.d.ts.map +1 -1
  9. package/dist/codec.js +75 -26
  10. package/dist/codec.js.map +1 -1
  11. package/dist/engine.d.ts +77 -4
  12. package/dist/engine.d.ts.map +1 -1
  13. package/dist/engine.js +419 -31
  14. package/dist/engine.js.map +1 -1
  15. package/dist/entropy.d.ts +1 -1
  16. package/dist/entropy.d.ts.map +1 -1
  17. package/dist/entropy.js +1 -1
  18. package/dist/entropy.js.map +1 -1
  19. package/dist/events.d.ts +21 -0
  20. package/dist/events.d.ts.map +1 -1
  21. package/dist/events.js.map +1 -1
  22. package/dist/holder-api.d.ts +44 -2
  23. package/dist/holder-api.d.ts.map +1 -1
  24. package/dist/holder-api.js +40 -5
  25. package/dist/holder-api.js.map +1 -1
  26. package/dist/{holder-state-v1.d.ts → holder-state-v3.d.ts} +261 -201
  27. package/dist/holder-state-v3.d.ts.map +1 -0
  28. package/dist/holder-state-v3.js +2 -0
  29. package/dist/holder-state-v3.js.map +1 -0
  30. package/dist/index.d.ts +3 -2
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +10 -6
  33. package/dist/index.js.map +1 -1
  34. package/dist/internal.d.ts +2 -2
  35. package/dist/internal.d.ts.map +1 -1
  36. package/dist/internal.js +1 -1
  37. package/dist/internal.js.map +1 -1
  38. package/dist/introduction/holder.d.ts.map +1 -1
  39. package/dist/introduction/holder.js +7 -0
  40. package/dist/introduction/holder.js.map +1 -1
  41. package/dist/invariants.d.ts.map +1 -1
  42. package/dist/invariants.js +70 -0
  43. package/dist/invariants.js.map +1 -1
  44. package/dist/membership/holder.d.ts +3 -5
  45. package/dist/membership/holder.d.ts.map +1 -1
  46. package/dist/membership/holder.js +165 -88
  47. package/dist/membership/holder.js.map +1 -1
  48. package/dist/membership.d.ts +31 -0
  49. package/dist/membership.d.ts.map +1 -1
  50. package/dist/membership.js +25 -2
  51. package/dist/membership.js.map +1 -1
  52. package/dist/message/holder.d.ts +49 -0
  53. package/dist/message/holder.d.ts.map +1 -0
  54. package/dist/message/holder.js +290 -0
  55. package/dist/message/holder.js.map +1 -0
  56. package/dist/message.d.ts +43 -0
  57. package/dist/message.d.ts.map +1 -0
  58. package/dist/message.js +51 -0
  59. package/dist/message.js.map +1 -0
  60. package/dist/receive.d.ts +4 -3
  61. package/dist/receive.d.ts.map +1 -1
  62. package/dist/receive.js +23 -4
  63. package/dist/receive.js.map +1 -1
  64. package/dist/results.d.ts +22 -3
  65. package/dist/results.d.ts.map +1 -1
  66. package/dist/results.js.map +1 -1
  67. package/dist/schemas.d.ts.map +1 -1
  68. package/dist/schemas.js +9 -6
  69. package/dist/schemas.js.map +1 -1
  70. package/dist/state.d.ts +88 -14
  71. package/dist/state.d.ts.map +1 -1
  72. package/dist/state.js +2 -1
  73. package/dist/state.js.map +1 -1
  74. package/dist/trust/continuity.d.ts.map +1 -1
  75. package/dist/trust/continuity.js +7 -1
  76. package/dist/trust/continuity.js.map +1 -1
  77. package/dist/trust/entries.d.ts.map +1 -1
  78. package/dist/trust/entries.js +103 -2
  79. package/dist/trust/entries.js.map +1 -1
  80. package/dist/views.d.ts +34 -2
  81. package/dist/views.d.ts.map +1 -1
  82. package/dist/views.js +19 -1
  83. package/dist/views.js.map +1 -1
  84. package/dist/wire.d.ts +47 -6
  85. package/dist/wire.d.ts.map +1 -1
  86. package/dist/wire.js.map +1 -1
  87. package/package.json +6 -4
  88. package/schemas/{holder-state-v1.schema.json → holder-state-v3.schema.json} +300 -12
  89. package/dist/holder-state-v1.d.ts.map +0 -1
  90. package/dist/holder-state-v1.js +0 -2
  91. package/dist/holder-state-v1.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@real-life/trust-protocol",
3
- "version": "0.4.0",
3
+ "version": "0.6.0",
4
4
  "description": "The Real Life Trust Protocol (RLTP) \u2014 the executable form of the specification: encounters, introductions, trust disclosure, groups, continuity, and the delivery channel. Zero dependencies, WebCrypto only.",
5
5
  "license": "CC-BY-4.0",
6
6
  "type": "module",
@@ -48,6 +48,7 @@
48
48
  "dist/trust/",
49
49
  "dist/encounter/",
50
50
  "dist/membership.*",
51
+ "dist/message.*",
51
52
  "dist/membership/",
52
53
  "dist/introduction.*",
53
54
  "dist/introduction/",
@@ -56,9 +57,10 @@
56
57
  "dist/internal.*",
57
58
  "dist/util-freeze.*",
58
59
  "dist/forge.*",
59
- "dist/holder-state-v1.*",
60
+ "dist/holder-state-v3.*",
60
61
  "dist/adapters/",
61
- "schemas/holder-state-v1.schema.json",
62
+ "dist/message/",
63
+ "schemas/holder-state-v3.schema.json",
62
64
  "README.md",
63
65
  "CHANGELOG.md"
64
66
  ],
@@ -82,7 +84,7 @@
82
84
  },
83
85
  "scripts": {
84
86
  "build": "tsc -p tsconfig.json",
85
- "test": "node --test test/vectors.test.mjs test/vectors2.test.mjs test/vectors3.test.mjs test/vectors4.test.mjs test/carrier.test.mjs test/loopback.test.mjs test/adapter-vti-mediator.test.mjs test/anchor.test.mjs test/codec.test.mjs test/codec-fixture.test.mjs test/holder-state-schema.test.mjs test/entropy.test.mjs test/entropy-lint.test.mjs test/store.test.mjs test/keys-seed.test.mjs test/engine.test.mjs test/views.test.mjs test/prompts.test.mjs test/receive.test.mjs test/duties.test.mjs test/retention.test.mjs test/crypto-lazy.test.mjs test/trust-mapping.test.mjs test/trust-admission.test.mjs test/trust-classes.test.mjs test/trust-star.test.mjs test/trust-group-star.test.mjs test/trust-continuity.test.mjs test/trust-entries.test.mjs test/trust-ported.test.mjs test/trust-duties.test.mjs test/invariants.test.mjs test/invariants-generator.test.mjs test/invariants-coverage.test.mjs test/identity.test.mjs test/profile.test.mjs test/sha256.test.mjs test/encounter-holder.test.mjs test/encounter-ported.test.mjs test/membership-holder.test.mjs test/introduction-holder.test.mjs",
87
+ "test": "node --test test/vectors.test.mjs test/vectors2.test.mjs test/vectors3.test.mjs test/vectors4.test.mjs test/carrier.test.mjs test/loopback.test.mjs test/adapter-vti-mediator.test.mjs test/anchor.test.mjs test/codec.test.mjs test/codec-fixture.test.mjs test/holder-state-schema.test.mjs test/entropy.test.mjs test/entropy-lint.test.mjs test/store.test.mjs test/keys-seed.test.mjs test/engine.test.mjs test/views.test.mjs test/prompts.test.mjs test/receive.test.mjs test/duties.test.mjs test/retention.test.mjs test/crypto-lazy.test.mjs test/trust-mapping.test.mjs test/trust-admission.test.mjs test/trust-classes.test.mjs test/trust-star.test.mjs test/trust-group-star.test.mjs test/trust-continuity.test.mjs test/trust-entries.test.mjs test/trust-ported.test.mjs test/trust-duties.test.mjs test/invariants.test.mjs test/invariants-generator.test.mjs test/invariants-coverage.test.mjs test/identity.test.mjs test/profile.test.mjs test/sha256.test.mjs test/encounter-holder.test.mjs test/encounter-ported.test.mjs test/membership-holder.test.mjs test/introduction-holder.test.mjs test/block-holder.test.mjs test/message-vectors.test.mjs test/message-holder.test.mjs test/message-interleavings.test.mjs test/transport-custody.test.mjs test/transport-interleavings.test.mjs",
86
88
  "prepack": "npm run build && npm test"
87
89
  },
88
90
  "keywords": [
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://real-life.org/trust-protocol/lib/holder-state-v1.schema.json",
4
- "title": "HolderState, codec 1",
5
- "description": "NON-NORMATIVE. The stored state of an @real-life/trust-protocol holder at codec 1 (lib/src/codec.ts): the library's storage format, not a protocol artifact. lib/src/holder-state-v1.ts is generated from it (scripts/build-holder-state-types.mjs). Not expressible here and checked by the codec alone: a record's id equals its key (contacts, relationships, groups, duties, rotations, prompts, acts, roster, invitations, records, introductions, offers, challenges), and an envelope's rkid equals its recipient's keyAgreement.",
3
+ "$id": "https://real-life.org/trust-protocol/lib/holder-state-v3.schema.json",
4
+ "title": "HolderState, codec 3",
5
+ "description": "NON-NORMATIVE. The stored state of an @real-life/trust-protocol holder at codec 3 (lib/src/codec.ts): the library's storage format, not a protocol artifact. lib/src/holder-state-v3.ts is generated from it (scripts/build-holder-state-types.mjs). Not expressible here and checked by the codec alone: a record's id equals its key (contacts, relationships, groups, duties, rotations, prompts, acts, roster, invitations, records, introductions, offers, challenges, the inbox), an envelope's rkid equals its recipient's keyAgreement, and a set of strings (joining.surfaced, joining.declined, messages.blocked, messages.ready) is sorted. A stored acknowledgement counts as sent exactly when it names why (sentBy), and only an unsent one may be held by the adapter (held); the schema states both, and that a due answer (answerDue) comes with its number (answers).",
6
6
  "type": "object",
7
7
  "properties": {
8
8
  "codec": {
9
- "const": 1
9
+ "const": 3
10
10
  },
11
11
  "commitSeq": {
12
12
  "$ref": "#/$defs/Dec"
@@ -443,7 +443,8 @@
443
443
  "type": "string"
444
444
  },
445
445
  "contactId": {
446
- "type": "string"
446
+ "type": "string",
447
+ "description": "the contact of the relationship its prelude binding attributed it to (RLTP-MT-3100); absent for an invitation attributed to none"
447
448
  },
448
449
  "rkid": {
449
450
  "type": "string"
@@ -479,8 +480,6 @@
479
480
  "credDigest",
480
481
  "group",
481
482
  "name",
482
- "contactId",
483
- "rkid",
484
483
  "memberLabel",
485
484
  "invite",
486
485
  "promptId",
@@ -488,13 +487,154 @@
488
487
  "status",
489
488
  "at"
490
489
  ],
491
- "additionalProperties": false
490
+ "additionalProperties": false,
491
+ "dependentRequired": {
492
+ "contactId": [
493
+ "rkid"
494
+ ],
495
+ "rkid": [
496
+ "contactId"
497
+ ]
498
+ }
492
499
  }
500
+ },
501
+ "surfaced": {
502
+ "type": "array",
503
+ "items": {
504
+ "type": "string"
505
+ },
506
+ "uniqueItems": true,
507
+ "description": "the credential digest of every invitation surfaced, for the life of the holder (RLTP-MT-3130); sorted"
508
+ },
509
+ "declined": {
510
+ "type": "array",
511
+ "items": {
512
+ "type": "string"
513
+ },
514
+ "uniqueItems": true,
515
+ "description": "the register of declined invitations (Message Tasks 6.4): credential digests, holder-wide, for the life of the holder; sorted"
493
516
  }
494
517
  },
495
518
  "required": [
496
519
  "preludes",
497
- "invites"
520
+ "invites",
521
+ "surfaced",
522
+ "declined"
523
+ ],
524
+ "additionalProperties": false
525
+ },
526
+ "messages": {
527
+ "type": "object",
528
+ "description": "Message Tasks 0.1 on the holder (message/holder.ts); the time mark of RLTP-MSG-4060 is lastWhen",
529
+ "properties": {
530
+ "blocked": {
531
+ "type": "array",
532
+ "items": {
533
+ "type": "string"
534
+ },
535
+ "uniqueItems": true,
536
+ "description": "the relationships under a block (Message Tasks 6.1), by relationship id; sorted"
537
+ },
538
+ "rates": {
539
+ "type": "object",
540
+ "description": "per relationship id: acceptance times inside the last 24 hours (Message Tasks 4.2)",
541
+ "additionalProperties": {
542
+ "type": "object",
543
+ "properties": {
544
+ "invites": {
545
+ "type": "array",
546
+ "items": {
547
+ "$ref": "#/$defs/Millis"
548
+ }
549
+ },
550
+ "messages": {
551
+ "type": "array",
552
+ "items": {
553
+ "$ref": "#/$defs/Millis"
554
+ }
555
+ }
556
+ },
557
+ "required": [
558
+ "invites",
559
+ "messages"
560
+ ],
561
+ "additionalProperties": false
562
+ }
563
+ },
564
+ "ready": {
565
+ "type": "array",
566
+ "items": {
567
+ "type": "string"
568
+ },
569
+ "uniqueItems": true,
570
+ "description": "the own pair labels of the ready tuples (Message Tasks 5.1); sorted"
571
+ },
572
+ "records": {
573
+ "type": "object",
574
+ "description": "the completion record (Message Tasks 4.4), per own pair label: mid → bodyDigest and sentAt",
575
+ "additionalProperties": {
576
+ "type": "object",
577
+ "additionalProperties": {
578
+ "type": "object",
579
+ "properties": {
580
+ "bodyDigest": {
581
+ "type": "string"
582
+ },
583
+ "sentAt": {
584
+ "$ref": "#/$defs/Millis"
585
+ }
586
+ },
587
+ "required": [
588
+ "bodyDigest",
589
+ "sentAt"
590
+ ],
591
+ "additionalProperties": false
592
+ }
593
+ }
594
+ },
595
+ "inbox": {
596
+ "type": "object",
597
+ "description": "the inbox (Message Tasks 4.5), by the accepted document digest",
598
+ "additionalProperties": {
599
+ "type": "object",
600
+ "properties": {
601
+ "id": {
602
+ "type": "string"
603
+ },
604
+ "tuple": {
605
+ "type": "string"
606
+ },
607
+ "mid": {
608
+ "type": "string"
609
+ },
610
+ "body": {
611
+ "type": "object"
612
+ },
613
+ "receivedAt": {
614
+ "$ref": "#/$defs/Millis"
615
+ },
616
+ "displayAt": {
617
+ "$ref": "#/$defs/Millis"
618
+ }
619
+ },
620
+ "required": [
621
+ "id",
622
+ "tuple",
623
+ "mid",
624
+ "body",
625
+ "receivedAt",
626
+ "displayAt"
627
+ ],
628
+ "additionalProperties": false
629
+ }
630
+ }
631
+ },
632
+ "required": [
633
+ "blocked",
634
+ "rates",
635
+ "ready",
636
+ "records",
637
+ "inbox"
498
638
  ],
499
639
  "additionalProperties": false
500
640
  }
@@ -517,7 +657,8 @@
517
657
  "prompts",
518
658
  "acts",
519
659
  "encounter",
520
- "joining"
660
+ "joining",
661
+ "messages"
521
662
  ],
522
663
  "additionalProperties": false,
523
664
  "$defs": {
@@ -1768,7 +1909,8 @@
1768
1909
  "enum": [
1769
1910
  "unroutable",
1770
1911
  "oversize",
1771
- "expired-by-adapter-policy"
1912
+ "expired-by-adapter-policy",
1913
+ "task-expired"
1772
1914
  ]
1773
1915
  }
1774
1916
  },
@@ -1841,6 +1983,10 @@
1841
1983
  },
1842
1984
  "nextAttemptAt": {
1843
1985
  "$ref": "#/$defs/Millis"
1986
+ },
1987
+ "expiresAt": {
1988
+ "$ref": "#/$defs/Millis",
1989
+ "description": "the sender lifetime its type declares (Delivery RLTP-DEL-7020)"
1844
1990
  }
1845
1991
  },
1846
1992
  "required": [
@@ -1884,9 +2030,25 @@
1884
2030
  },
1885
2031
  "sentBy": {
1886
2032
  "enum": [
1887
- "report",
2033
+ "accepted",
2034
+ "failed",
1888
2035
  "horizon"
1889
2036
  ]
2037
+ },
2038
+ "held": {
2039
+ "enum": [
2040
+ "offline",
2041
+ "transport-unreachable",
2042
+ "carrier-refused-retriable"
2043
+ ]
2044
+ },
2045
+ "answers": {
2046
+ "type": "integer",
2047
+ "minimum": 1,
2048
+ "maximum": 9007199254740991
2049
+ },
2050
+ "answerDue": {
2051
+ "const": true
1890
2052
  }
1891
2053
  },
1892
2054
  "required": [
@@ -1898,6 +2060,35 @@
1898
2060
  "attempt",
1899
2061
  "sent"
1900
2062
  ],
2063
+ "if": {
2064
+ "properties": {
2065
+ "sent": {
2066
+ "const": true
2067
+ }
2068
+ }
2069
+ },
2070
+ "then": {
2071
+ "required": [
2072
+ "sentBy"
2073
+ ],
2074
+ "not": {
2075
+ "required": [
2076
+ "held"
2077
+ ]
2078
+ }
2079
+ },
2080
+ "else": {
2081
+ "not": {
2082
+ "required": [
2083
+ "sentBy"
2084
+ ]
2085
+ }
2086
+ },
2087
+ "dependentRequired": {
2088
+ "answerDue": [
2089
+ "answers"
2090
+ ]
2091
+ },
1901
2092
  "additionalProperties": false
1902
2093
  },
1903
2094
  "ReissueMappingDuty": {
@@ -3215,6 +3406,103 @@
3215
3406
  "member"
3216
3407
  ],
3217
3408
  "additionalProperties": false
3409
+ },
3410
+ {
3411
+ "type": "object",
3412
+ "properties": {
3413
+ "type": {
3414
+ "const": "contact.blocked"
3415
+ },
3416
+ "eventId": {
3417
+ "type": "string"
3418
+ },
3419
+ "commitSeq": {
3420
+ "$ref": "#/$defs/Dec"
3421
+ },
3422
+ "contactId": {
3423
+ "type": "string"
3424
+ },
3425
+ "blocked": {
3426
+ "type": "boolean"
3427
+ },
3428
+ "actId": {
3429
+ "type": "string"
3430
+ }
3431
+ },
3432
+ "required": [
3433
+ "type",
3434
+ "eventId",
3435
+ "commitSeq",
3436
+ "contactId",
3437
+ "blocked"
3438
+ ],
3439
+ "additionalProperties": false
3440
+ },
3441
+ {
3442
+ "type": "object",
3443
+ "properties": {
3444
+ "type": {
3445
+ "const": "message.sent"
3446
+ },
3447
+ "eventId": {
3448
+ "type": "string"
3449
+ },
3450
+ "commitSeq": {
3451
+ "$ref": "#/$defs/Dec"
3452
+ },
3453
+ "contactId": {
3454
+ "type": "string"
3455
+ },
3456
+ "mid": {
3457
+ "type": "string"
3458
+ },
3459
+ "digest": {
3460
+ "type": "string"
3461
+ },
3462
+ "actId": {
3463
+ "type": "string"
3464
+ }
3465
+ },
3466
+ "required": [
3467
+ "type",
3468
+ "eventId",
3469
+ "commitSeq",
3470
+ "contactId",
3471
+ "mid",
3472
+ "digest"
3473
+ ],
3474
+ "additionalProperties": false
3475
+ },
3476
+ {
3477
+ "type": "object",
3478
+ "properties": {
3479
+ "type": {
3480
+ "const": "message.received"
3481
+ },
3482
+ "eventId": {
3483
+ "type": "string"
3484
+ },
3485
+ "commitSeq": {
3486
+ "$ref": "#/$defs/Dec"
3487
+ },
3488
+ "contactId": {
3489
+ "type": "string"
3490
+ },
3491
+ "inboxId": {
3492
+ "type": "string"
3493
+ },
3494
+ "actId": {
3495
+ "type": "string"
3496
+ }
3497
+ },
3498
+ "required": [
3499
+ "type",
3500
+ "eventId",
3501
+ "commitSeq",
3502
+ "contactId",
3503
+ "inboxId"
3504
+ ],
3505
+ "additionalProperties": false
3218
3506
  }
3219
3507
  ]
3220
3508
  },
@@ -1 +0,0 @@
1
- {"version":3,"file":"holder-state-v1.d.ts","sourceRoot":"","sources":["../src/holder-state-v1.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=holder-state-v1.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"holder-state-v1.js","sourceRoot":"","sources":["../src/holder-state-v1.ts"],"names":[],"mappings":"","sourcesContent":["// GENERATED by scripts/build-holder-state-types.mjs — DO NOT EDIT.\n// Source: lib/schemas/holder-state-v1.schema.json (NON-NORMATIVE: the\n// library's storage format at codec 1, not a protocol artifact). The\n// structural projection only; the codec's validator (codec.ts) and the\n// schema carry what a type cannot. holder-state-check.ts holds this type\n// and state.ts's HolderState against each other.\nimport type { Json } from './core.js'\n\n/** NON-NORMATIVE. The stored state of an @real-life/trust-protocol holder at codec 1 (lib/src/codec.ts): the library's storage format, not a protocol artifact. lib/src/holder-state-v1.ts is generated from it (scripts/build-holder-state-types.mjs). Not expressible here and checked by the codec alone: a record's id equals its key (contacts, relationships, groups, duties, rotations, prompts, acts, roster, invitations, records, introductions, offers, challenges), and an envelope's rkid equals its recipient's keyAgreement. */\nexport type HolderStateV1 = {\n codec: 1\n commitSeq: DecV1\n lastWhen: MillisV1\n register: {\n labels: string[]\n pairNonces: Record<string, string>\n carriers: Record<string, {\n nonce: string\n generation: DecV1\n }[]>\n devices: {\n names: string[]\n revoked: string[]\n }\n community: ({\n genesis: string\n head: DecV1\n }) | (null)\n lineage: { [k: string]: Json }[]\n }\n addresses: {\n keys: Record<string, {\n label: string\n lastShown: MillisV1\n retiredAt?: MillisV1\n }>\n tombstones: string[]\n }\n contacts: Record<string, ContactV1>\n relationships: Record<string, RelationshipV1>\n entryOrder: {\n nextPos: DecV1\n heads: string[]\n }\n groups: Record<string, GroupV1>\n profile: {\n body: Json\n revision: DecV1\n }\n effects: Record<string, {\n ack: (StoredAckV1) | (null)\n expiresAt: MillisV1\n }>\n outbox: Record<string, OutboxItemV1>\n duties: Record<string, DutyV1>\n rotations: Record<string, RotationV1>\n prompts: Record<string, PromptV1>\n acts: Record<string, ActRecordV1>\n encounter: {\n challenges: Record<string, {\n value: string\n tCh: MillisV1\n label: string\n card: { [k: string]: Json }\n }>\n records: Record<string, EnactmentRecordV1>\n introductions: Record<string, IntroActV1>\n offers: Record<string, {\n id: string\n mediatorContactId: string\n pin: string\n target: string\n at: MillisV1\n label?: string\n }>\n designators: Record<string, string>\n declarations: Record<string, {\n issuer: string\n role: string\n revision: DecV1\n constants: Record<string, string>\n at: MillisV1\n }>\n }\n joining: {\n preludes: Record<string, {\n group: string\n inviter: string\n contactId: string\n rkid: string\n memberLabel: string\n at: MillisV1\n }>\n invites: Record<string, {\n credDigest: string\n group: string\n name: string\n contactId: string\n rkid: string\n memberLabel: string\n invite: { [k: string]: Json }\n promptId: string\n validUntil: MillisV1\n status: \"open\" | \"accepted\" | \"declined\" | \"joined\"\n at: MillisV1\n acceptDigest?: string\n }>\n }\n}\n\n/** a counter as a canonical decimal string */\nexport type DecV1 = string\n\n/** milliseconds since the epoch, a safe non-negative integer */\nexport type MillisV1 = number\n\nexport type SettingV1 = \"default\" | \"on\" | \"off\"\n\nexport type TrustClassV1 = \"star\" | \"groupStar\" | \"anchorMapping\" | \"sealedGroupStar\" | \"profile\"\n\nexport type RecipientV1 = {\n contactId: string\n rkid: string\n keyAgreement: string\n anchor?: string\n via?: string\n}\n\nexport type EnvelopeV1 = {\n rkid: string\n epk: string\n nonce: string\n ciphertext: string\n}\n\nexport type AssemblyV1 = {\n salt: DecV1\n chunks: { [k: string]: Json }\n}\n\nexport type StarPairV1 = {\n member: string\n head: string\n}\n\nexport type GroupStarItemV1 = ({\n group: string\n mode: \"digest\"\n}) | ({\n group: string\n mode: \"sealed\"\n member: string\n memberOp: string\n})\n\nexport type StarOutInflightV1 = {\n view: StarPairV1[]\n viewDigest: string\n digests: string[]\n acked: string[]\n}\n\n/** the sender side of one reconciled sequence (5.4); snapshot and snapshotDigest are null together */\nexport type StarOutV1 = {\n lastSalt: DecV1\n exhausted: boolean\n hwm: DecV1\n snapshot: (StarPairV1[]) | (null)\n snapshotDigest: (string) | (null)\n inflight: Record<string, StarOutInflightV1>\n}\n\nexport type StarInV1 = {\n hwm: DecV1\n lowerBound: DecV1\n assembly: (AssemblyV1) | (null)\n accepted: ({\n salt: DecV1\n blinded: string[]\n matches: string[]\n }) | (null)\n}\n\nexport type GroupStarOutInflightV1 = {\n view: GroupStarItemV1[]\n viewDigest: string\n digests: string[]\n acked: string[]\n}\n\n/** the sender side of one reconciled sequence (5.4); snapshot and snapshotDigest are null together */\nexport type GroupStarOutV1 = {\n lastSalt: DecV1\n exhausted: boolean\n hwm: DecV1\n snapshot: (GroupStarItemV1[]) | (null)\n snapshotDigest: (string) | (null)\n inflight: Record<string, GroupStarOutInflightV1>\n}\n\nexport type GroupStarInV1 = {\n hwm: DecV1\n lowerBound: DecV1\n assembly: (AssemblyV1) | (null)\n accepted: ({\n salt: DecV1\n entries: {\n d: string\n c: string\n }[]\n groups: string[]\n }) | (null)\n}\n\nexport type ContinuityDueV1 = ({\n kind: \"choice\"\n prior: string\n alts: string[]\n}) | ({\n kind: \"report\" | \"align\"\n prior: string\n})\n\nexport type LogHeadV1 = ({\n genesis: string\n empty: true\n}) | ({\n genesis: string\n entryId: string\n gen: number\n next: string\n commit: string\n})\n\n/** one enactment's tuple of a relationship (Trust 6.4) */\nexport type TupleV1 = {\n ownPairLabel: string\n counterpartAnchor: string\n counterpartKeyAgreement: string\n rkid: string\n entryId: string\n priorCandidates: {\n ownPairLabel: string\n counterpartAnchor: string\n replaces?: string[]\n }[]\n starOut: StarOutV1\n starIn: StarInV1\n groupStarOut: GroupStarOutV1\n groupStarIn: GroupStarInV1\n probeOut: {\n seq: DecV1\n inflight: Record<string, {\n digests: string[]\n acked: string[]\n }>\n done: boolean\n }\n probeIn: {\n hwm: DecV1\n lowerBound: DecV1\n assembly: (AssemblyV1) | (null)\n }\n continuityOut: {\n rev: DecV1\n body: Json\n proof: Json\n sent: string[]\n align: boolean\n chosen: (string) | (null)\n reported: (string) | (null)\n aligned: boolean\n due: (ContinuityDueV1) | (null)\n }\n continuityIn: {\n rev: DecV1\n body: Json\n recordPrior: (string) | (null)\n }\n mappingOut: {\n rev: DecV1\n body: Json\n underAnchor: (string) | (null)\n }\n mappingIn: {\n rev: DecV1\n body: Json\n self: (string) | (null)\n card: Json\n }\n profileOut: {\n rev: DecV1\n }\n profileIn: {\n rev: DecV1\n body: Json\n verifiedSeq: DecV1\n }\n deactivated: boolean\n}\n\nexport type RelationshipV1 = {\n id: string\n contactId: string\n tuples: TupleV1[]\n activeHead: string\n earliestAnchor: (string) | (null)\n links: {\n prev: string\n next: string\n }[]\n bindings: Record<string, string[]>\n heldCounterpartHead: (string) | (null)\n memory: { [k: string]: Json }\n provenance: {\n kind: \"ceremony\" | \"introduced\"\n at: MillisV1\n via?: string\n viaPin?: string\n }\n chainedInto: (string) | (null)\n firstVerified: (DecV1) | (null)\n}\n\n/** one entry of the deliverable set (Trust 2120, 2140); its id equals its key */\nexport type ContactV1 = {\n id: string\n pos: (DecV1) | (null)\n status: \"none\" | \"admitted\" | \"pending\"\n aliases: string[]\n relIds: string[]\n anchorHead: (string) | (null)\n settings: {\n star: SettingV1\n groupStar: SettingV1\n anchorMapping: SettingV1\n sealedGroupStar: SettingV1\n profile: SettingV1\n }\n groupSettings: Record<string, SettingV1>\n}\n\nexport type OutboxStepV1 = ({\n status: \"submitted\"\n at: MillisV1\n attempt: number\n}) | ({\n status: \"awaiting-transport\"\n at: MillisV1\n reason: \"offline\" | \"transport-unreachable\" | \"carrier-refused-retriable\"\n}) | ({\n status: \"accepted\"\n at: MillisV1\n}) | ({\n status: \"delivered\"\n at: MillisV1\n late: boolean\n}) | ({\n status: \"failed\"\n at: MillisV1\n reason: \"unroutable\" | \"oversize\" | \"expired-by-adapter-policy\"\n}) | ({\n status: \"failed\"\n at: MillisV1\n reason: \"rejected-by-receiver\"\n code: \"malformedRequest\" | \"unsupportedType\" | \"proofRequired\" | \"proofInvalid\" | \"wrongRecipient\" | \"identityMismatch\"\n})\n\n/** an issued document; its envelope's rkid equals recipient.keyAgreement (not expressible here, checked by the codec) */\nexport type OutboxItemV1 = {\n type: string\n threadId: string\n recipient: RecipientV1\n envelope: EnvelopeV1\n attempt: number\n history: OutboxStepV1[]\n nextAttemptAt?: MillisV1\n}\n\nexport type StoredAckV1 = {\n digest: string\n envelope: EnvelopeV1\n threadId: string\n recipient: RecipientV1\n at: MillisV1\n attempt: number\n sent: boolean\n nextAttemptAt?: MillisV1\n sentBy?: \"report\" | \"horizon\"\n}\n\nexport type ReissueMappingDutyV1 = {\n kind: \"reissue-mapping\"\n v: 1\n id: string\n contactId: string\n relId: string\n awaitHead: (string) | (null)\n dueAt?: MillisV1\n}\n\nexport type ClassOnDutyV1 = {\n kind: \"class-on\"\n v: 1\n id: string\n contactId: string\n relId: string\n cls: TrustClassV1\n dueAt?: MillisV1\n}\n\nexport type ProfileDutyV1 = {\n kind: \"profile\"\n v: 1\n id: string\n contactId: string\n relId: string\n rev: DecV1\n dueAt?: MillisV1\n}\n\nexport type ContinuityDutyV1 = {\n kind: \"continuity\"\n v: 1\n id: string\n relId: string\n tuple: string\n step: \"probe\" | \"mapping\"\n dueAt?: MillisV1\n attempt?: number\n lastAt?: MillisV1\n}\n\nexport type MergeDutyV1 = {\n kind: \"merge\"\n v: 1\n id: string\n entryIds: string[]\n relId: string\n witness: {\n heads: Record<string, string>\n superseded: Record<string, string[]>\n }\n dueAt?: MillisV1\n}\n\nexport type RotationDutyV1 = {\n kind: \"rotation\"\n v: 1\n id: string\n rotationId: string\n dueAt?: MillisV1\n attempt?: number\n lastAt?: MillisV1\n}\n\nexport type IntroAckDutyV1 = {\n kind: \"intro-ack\"\n v: 1\n id: string\n act: string\n dueAt?: MillisV1\n}\n\n/** a duty of a kind or version this library does not handle: kept as it is */\nexport type UnknownDutyV1 = {\n kind: string\n v: number\n id: string\n [k: string]: Json\n}\n\nexport type DutyV1 = (ReissueMappingDutyV1) | (ClassOnDutyV1) | (ProfileDutyV1) | (ContinuityDutyV1) | (MergeDutyV1) | (RotationDutyV1) | (IntroAckDutyV1) | (UnknownDutyV1)\n\n/** a journaled event (events.ts) */\nexport type EventV1 = ({\n type: \"contact.added\"\n eventId: string\n commitSeq: DecV1\n contactId: string\n actId?: string\n}) | ({\n type: \"contact.verified\"\n eventId: string\n commitSeq: DecV1\n contactId: string\n relationshipId: string\n actId?: string\n}) | ({\n type: \"contact.chained\"\n eventId: string\n commitSeq: DecV1\n contactId: string\n from: string\n into: string\n actId?: string\n}) | ({\n type: \"contact.merged\"\n eventId: string\n commitSeq: DecV1\n contactId: string\n merged: string[]\n actId?: string\n}) | ({\n type: \"contact.split\"\n eventId: string\n commitSeq: DecV1\n contactId: string\n leaver: string\n relationshipId: string\n actId?: string\n}) | ({\n type: \"contact.departed\"\n eventId: string\n commitSeq: DecV1\n contactId: string\n relationshipIds: string[]\n removed: boolean\n actId?: string\n}) | ({\n type: \"trust.given\"\n eventId: string\n commitSeq: DecV1\n contactId: string\n actId?: string\n}) | ({\n type: \"trust.received\"\n eventId: string\n commitSeq: DecV1\n contactId: string\n actId?: string\n}) | ({\n type: \"trust.paused\"\n eventId: string\n commitSeq: DecV1\n contactId: string\n paused: boolean\n actId?: string\n}) | ({\n type: \"group.joined\"\n eventId: string\n commitSeq: DecV1\n groupId: string\n actId?: string\n}) | ({\n type: \"prompt.opened\"\n eventId: string\n commitSeq: DecV1\n promptId: string\n kind: \"encounter-confirm\" | \"group-invite\" | \"introduction\"\n actId?: string\n}) | ({\n type: \"prompt.decided\"\n eventId: string\n commitSeq: DecV1\n promptId: string\n kind: \"encounter-confirm\" | \"group-invite\" | \"introduction\"\n choice: \"accept\" | \"decline\"\n actId?: string\n}) | ({\n type: \"delivery.status\"\n eventId: string\n commitSeq: DecV1\n digest: string\n threadId: string\n status: \"submitted\" | \"accepted\" | \"delivered\" | \"failed\"\n actId?: string\n late?: boolean\n}) | ({\n type: \"profile.updated\"\n eventId: string\n commitSeq: DecV1\n contactId: (string) | (null)\n actId?: string\n}) | ({\n type: \"anchor.rotated\"\n eventId: string\n commitSeq: DecV1\n generation: DecV1\n actId?: string\n}) | ({\n type: \"device.added\"\n eventId: string\n commitSeq: DecV1\n name: string\n actId?: string\n}) | ({\n type: \"device.revoked\"\n eventId: string\n commitSeq: DecV1\n name: string\n actId?: string\n}) | ({\n type: \"duty.unsupported\"\n eventId: string\n commitSeq: DecV1\n dutyId: string\n kind: string\n v: number\n actId?: string\n}) | ({\n type: \"star.accepted\"\n eventId: string\n commitSeq: DecV1\n contactId: string\n relationshipId: string\n salt: DecV1\n actId?: string\n}) | ({\n type: \"groupStar.accepted\"\n eventId: string\n commitSeq: DecV1\n contactId: string\n relationshipId: string\n salt: DecV1\n actId?: string\n}) | ({\n type: \"encounter.shown\"\n eventId: string\n commitSeq: DecV1\n challenge: string\n card: { [k: string]: Json }\n actId?: string\n}) | ({\n type: \"encounter.scanned\"\n eventId: string\n commitSeq: DecV1\n contactId: string\n card: { [k: string]: Json }\n actId?: string\n}) | ({\n type: \"encounter.recorded\"\n eventId: string\n commitSeq: DecV1\n contactId: string\n relationshipId: string\n role: \"scanner\" | \"displayer\"\n actId?: string\n}) | ({\n type: \"encounter.accepted\"\n eventId: string\n commitSeq: DecV1\n contactId: string\n relationshipId: string\n mutual: boolean\n actId?: string\n}) | ({\n type: \"group.founded\"\n eventId: string\n commitSeq: DecV1\n groupId: string\n actId?: string\n}) | ({\n type: \"group.admitted\"\n eventId: string\n commitSeq: DecV1\n groupId: string\n member: string\n actId?: string\n}) | ({\n type: \"group.vouched\"\n eventId: string\n commitSeq: DecV1\n groupId: string\n member: string\n actId?: string\n})\n\nexport type RosterEntryV1 = {\n anchor: string\n op: string\n keyAgreement: string\n addedAt: MillisV1\n name?: string\n contactId?: string\n rkid?: string\n}\n\nexport type OpenInvitationV1 = {\n invitee: string\n keyAgreement: string\n contactId: string\n rkid: string\n threadId: string\n credDigest: string\n invite: { [k: string]: Json }\n validUntil: MillisV1\n}\n\nexport type EvidenceV1 = {\n invite: { [k: string]: Json }\n accept: { [k: string]: Json }\n vouches: { [k: string]: Json }[]\n at: MillisV1\n}\n\n/** a group the holder is in; a listed group carries memberAnchor and memberOp (Trust 5400) */\nexport type GroupV1 = {\n id: string\n name: string\n memberLabel: string\n rules: {\n vouchThreshold: DecV1\n }\n listed: boolean\n roster: Record<string, RosterEntryV1>\n invitations: Record<string, OpenInvitationV1>\n evidence: Record<string, EvidenceV1>\n preludes: Record<string, {\n contactId: string\n rkid: string\n at: MillisV1\n }>\n did?: string\n genesis?: { [k: string]: Json }\n memberAnchor?: string\n memberOp?: string\n acceptDigest?: string\n}\n\nexport type HeldCredentialV1 = {\n digest: string\n credential: { [k: string]: Json }\n}\n\nexport type EnactmentRecordV1 = {\n ceremony: string\n own: string\n tCh: MillisV1\n peer: string\n counterpart: string\n card: { [k: string]: Json }\n bind: string\n at: MillisV1\n label: string\n relId: string\n role: \"scanner\" | \"displayer\"\n out: (HeldCredentialV1) | (null)\n in: (HeldCredentialV1) | (null)\n thread: (string) | (null)\n bundleDigest: (string) | (null)\n threads: Record<string, string>\n sentCard: ({ [k: string]: Json }) | (null)\n counterPending: boolean\n}\n\nexport type IntroActV1 = {\n key: string\n act: string\n role: \"requester\" | \"mediator\" | \"target\"\n status: \"sent\" | \"acked\" | \"completed\" | \"failed\" | \"received\" | \"forwarded\" | \"consented\" | \"refused\"\n issuedAt: MillisV1\n request: { [k: string]: Json }\n requestCard: { [k: string]: Json }\n reply: ({ [k: string]: Json }) | (null)\n replyCard: ({ [k: string]: Json }) | (null)\n pins: {\n requester?: string\n target?: string\n mediator?: string\n }\n threads: {\n request: string\n forward?: string\n }\n at: MillisV1\n ackDelayMs: number\n ownLabel: (string) | (null)\n ack: ({ [k: string]: Json }) | (null)\n replyForwarded: boolean\n vouchersSent: boolean\n pendingVoucher: ({ [k: string]: Json }) | (null)\n voucher: ({ [k: string]: Json }) | (null)\n vouched: boolean\n promptId: (string) | (null)\n peerName?: string\n}\n\nexport type RotationV1 = {\n id: string\n from: DecV1\n to: DecV1\n step: \"register\" | \"log\" | \"duties\"\n startedAt: MillisV1\n entry: Json\n overHead: LogHeadV1\n awaitHead: Record<string, (string) | (null)>\n}\n\nexport type PromptV1 = {\n id: string\n kind: \"encounter-confirm\" | \"group-invite\" | \"introduction\"\n openedAt: MillisV1\n contactId?: string\n groupId?: string\n expiresAt?: MillisV1\n}\n\nexport type ActRecordV1 = {\n actId: string\n inputHash: string\n commitSeq: DecV1\n outboundDigests: string[]\n events: EventV1[]\n at: MillisV1\n}\n"]}