@openvtc/trust-tasks 0.28.23 → 0.28.24

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 (100) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/dist/_shared/components.d.ts +520 -0
  3. package/dist/_shared/components.d.ts.map +1 -1
  4. package/dist/index.d.ts +45 -0
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +45 -0
  7. package/dist/index.js.map +1 -1
  8. package/dist/messaging/mux/_shared/0.1/mux.d.ts +16 -0
  9. package/dist/messaging/mux/_shared/0.1/mux.d.ts.map +1 -0
  10. package/dist/messaging/mux/_shared/0.1/mux.js +6 -0
  11. package/dist/messaging/mux/_shared/0.1/mux.js.map +1 -0
  12. package/dist/messaging/mux/attach/0.1/payload.d.ts +996 -0
  13. package/dist/messaging/mux/attach/0.1/payload.d.ts.map +1 -0
  14. package/dist/messaging/mux/attach/0.1/payload.js +594 -0
  15. package/dist/messaging/mux/attach/0.1/payload.js.map +1 -0
  16. package/dist/messaging/mux/detach/0.1/payload.d.ts +398 -0
  17. package/dist/messaging/mux/detach/0.1/payload.d.ts.map +1 -0
  18. package/dist/messaging/mux/detach/0.1/payload.js +215 -0
  19. package/dist/messaging/mux/detach/0.1/payload.js.map +1 -0
  20. package/dist/messaging/mux/event/0.1/payload.d.ts +513 -0
  21. package/dist/messaging/mux/event/0.1/payload.d.ts.map +1 -0
  22. package/dist/messaging/mux/event/0.1/payload.js +260 -0
  23. package/dist/messaging/mux/event/0.1/payload.js.map +1 -0
  24. package/dist/messaging/mux/grant/0.1/payload.d.ts +1008 -0
  25. package/dist/messaging/mux/grant/0.1/payload.d.ts.map +1 -0
  26. package/dist/messaging/mux/grant/0.1/payload.js +606 -0
  27. package/dist/messaging/mux/grant/0.1/payload.js.map +1 -0
  28. package/dist/messaging/mux/list/0.1/payload.d.ts +1241 -0
  29. package/dist/messaging/mux/list/0.1/payload.d.ts.map +1 -0
  30. package/dist/messaging/mux/list/0.1/payload.js +715 -0
  31. package/dist/messaging/mux/list/0.1/payload.js.map +1 -0
  32. package/dist/messaging/mux/notice/0.1/payload.d.ts +489 -0
  33. package/dist/messaging/mux/notice/0.1/payload.d.ts.map +1 -0
  34. package/dist/messaging/mux/notice/0.1/payload.js +249 -0
  35. package/dist/messaging/mux/notice/0.1/payload.js.map +1 -0
  36. package/dist/messaging/mux/revoke/0.1/payload.d.ts +585 -0
  37. package/dist/messaging/mux/revoke/0.1/payload.d.ts.map +1 -0
  38. package/dist/messaging/mux/revoke/0.1/payload.js +311 -0
  39. package/dist/messaging/mux/revoke/0.1/payload.js.map +1 -0
  40. package/dist/messaging/mux/revoke-all/0.1/payload.d.ts +682 -0
  41. package/dist/messaging/mux/revoke-all/0.1/payload.d.ts.map +1 -0
  42. package/dist/messaging/mux/revoke-all/0.1/payload.js +397 -0
  43. package/dist/messaging/mux/revoke-all/0.1/payload.js.map +1 -0
  44. package/dist/messaging/mux/update/0.1/payload.d.ts +995 -0
  45. package/dist/messaging/mux/update/0.1/payload.d.ts.map +1 -0
  46. package/dist/messaging/mux/update/0.1/payload.js +586 -0
  47. package/dist/messaging/mux/update/0.1/payload.js.map +1 -0
  48. package/dist/vta/_shared/0.1/memory-record.d.ts +22 -0
  49. package/dist/vta/_shared/0.1/memory-record.d.ts.map +1 -0
  50. package/dist/vta/_shared/0.1/memory-record.js +6 -0
  51. package/dist/vta/_shared/0.1/memory-record.js.map +1 -0
  52. package/dist/vta/memory/delete/0.1/payload.d.ts +13 -2
  53. package/dist/vta/memory/delete/0.1/payload.d.ts.map +1 -1
  54. package/dist/vta/memory/delete/0.1/payload.js +1 -1
  55. package/dist/vta/memory/delete/0.1/payload.js.map +1 -1
  56. package/dist/vta/memory/delete/0.2/payload.d.ts +415 -0
  57. package/dist/vta/memory/delete/0.2/payload.d.ts.map +1 -0
  58. package/dist/vta/memory/delete/0.2/payload.js +224 -0
  59. package/dist/vta/memory/delete/0.2/payload.js.map +1 -0
  60. package/dist/vta/memory/get/0.1/payload.d.ts +646 -0
  61. package/dist/vta/memory/get/0.1/payload.d.ts.map +1 -0
  62. package/dist/vta/memory/get/0.1/payload.js +349 -0
  63. package/dist/vta/memory/get/0.1/payload.js.map +1 -0
  64. package/dist/vta/memory/list/0.1/payload.d.ts +13 -2
  65. package/dist/vta/memory/list/0.1/payload.d.ts.map +1 -1
  66. package/dist/vta/memory/list/0.1/payload.js +1 -1
  67. package/dist/vta/memory/list/0.1/payload.js.map +1 -1
  68. package/dist/vta/memory/list/0.2/payload.d.ts +693 -0
  69. package/dist/vta/memory/list/0.2/payload.d.ts.map +1 -0
  70. package/dist/vta/memory/list/0.2/payload.js +363 -0
  71. package/dist/vta/memory/list/0.2/payload.js.map +1 -0
  72. package/dist/vta/memory/put/0.1/payload.d.ts +13 -2
  73. package/dist/vta/memory/put/0.1/payload.d.ts.map +1 -1
  74. package/dist/vta/memory/put/0.1/payload.js +1 -1
  75. package/dist/vta/memory/put/0.1/payload.js.map +1 -1
  76. package/dist/vta/memory/put/0.2/payload.d.ts +490 -0
  77. package/dist/vta/memory/put/0.2/payload.d.ts.map +1 -0
  78. package/dist/vta/memory/put/0.2/payload.js +264 -0
  79. package/dist/vta/memory/put/0.2/payload.js.map +1 -0
  80. package/package.json +1 -1
  81. package/src/_shared/components.ts +581 -0
  82. package/src/index.ts +45 -0
  83. package/src/messaging/mux/_shared/0.1/mux.ts +17 -0
  84. package/src/messaging/mux/attach/0.1/payload.ts +682 -0
  85. package/src/messaging/mux/detach/0.1/payload.ts +278 -0
  86. package/src/messaging/mux/event/0.1/payload.ts +371 -0
  87. package/src/messaging/mux/grant/0.1/payload.ts +710 -0
  88. package/src/messaging/mux/list/0.1/payload.ts +793 -0
  89. package/src/messaging/mux/notice/0.1/payload.ts +362 -0
  90. package/src/messaging/mux/revoke/0.1/payload.ts +389 -0
  91. package/src/messaging/mux/revoke-all/0.1/payload.ts +452 -0
  92. package/src/messaging/mux/update/0.1/payload.ts +644 -0
  93. package/src/vta/_shared/0.1/memory-record.ts +23 -0
  94. package/src/vta/memory/delete/0.1/payload.ts +14 -3
  95. package/src/vta/memory/delete/0.2/payload.ts +288 -0
  96. package/src/vta/memory/get/0.1/payload.ts +414 -0
  97. package/src/vta/memory/list/0.1/payload.ts +14 -3
  98. package/src/vta/memory/list/0.2/payload.ts +445 -0
  99. package/src/vta/memory/put/0.1/payload.ts +14 -3
  100. package/src/vta/memory/put/0.2/payload.ts +333 -0
@@ -749,6 +749,22 @@ export type DeliveryStatus = "delivered" | "duplicate" | "refused" | "queued" |
749
749
  * What the listed party is, for the directory.
750
750
  */
751
751
  export type Description = string;
752
+ /**
753
+ * Why a member left a connection, or why a stored grant did not attach on connect. `revokedByMember` / `revokedByPrincipal`: messaging/mux/revoke by that side. `epochBumped`: the member DID ran messaging/mux/revoke-all. `suspendedUnknownKey`: the unknown-key rule suspended the grant. `keyRotated`: the grant's signing key left the member DID's current authentication relationship (grant state `staleKey`). `expired`: the grant or attach reached its effective expiry. `accountBlocked`: the member's account was blocked. `superseded`: the member DID's own direct connection, or a newer connection of the same kind, now receives its live traffic; the member stays on this connection inactive. `admin`: an operator acted. `detachRequested`: the principal removed a session attach with messaging/mux/detach. `accountRemoved`: the member's account, or the principal's, was removed. `resolutionFailed`: the member DID could not be resolved when the grant was re-validated; the grant is not changed and is re-checked later.
754
+ */
755
+ export type DetachReason =
756
+ | "revokedByMember"
757
+ | "revokedByPrincipal"
758
+ | "epochBumped"
759
+ | "suspendedUnknownKey"
760
+ | "keyRotated"
761
+ | "expired"
762
+ | "accountBlocked"
763
+ | "superseded"
764
+ | "admin"
765
+ | "detachRequested"
766
+ | "accountRemoved"
767
+ | "resolutionFailed";
752
768
  /**
753
769
  * Producer-supplied attestation at registration time, verifiable by the maintainer against the platform's attestation infrastructure. Tagged union over the discriminator `kind`.
754
770
  */
@@ -1025,6 +1041,14 @@ export type ForgeId_GitNsV0_1 = string;
1025
1041
  * An identifier the forge itself assigns — a repository id, a user or organisation id — carried as a string so a forge whose ids are not numbers needs no new version. GitHub, Forgejo and GitLab ids are decimal integers written as strings (`"812736451"`). Unlike a name, it survives renames and transfers, which is why rights and bindings are keyed by it.
1026
1042
  */
1027
1043
  export type ForgeId_GitNsV0_6 = string;
1044
+ /**
1045
+ * A grant's identifier, chosen by the member DID's signer and carried in its grant statement; a UUID is RECOMMENDED. A mediator refuses a grant whose identifier is already on the member DID's record.
1046
+ */
1047
+ export type GrantId = string;
1048
+ /**
1049
+ * A stored grant's state. `active`: valid; the member is attached whenever the principal is connected. `suspended`: the member DID proved control with a key that signed none of its active grants (the unknown-key rule); terminal — the grant cannot be resumed and must be recreated by a fresh member signature. `staleKey`: the key that signed the grant is no longer in the member DID's current authentication relationship; terminal — it does not become active again if the key reappears. `expired`: an active grant past its effective expiry; computed when read, never stored. `epochRevoked`: the member DID advanced its epoch with messaging/mux/revoke-all. A grant revoked with messaging/mux/revoke has no state: it is deleted. A dead grant (every state but `active`) stays listable for the mediator's retention window after its effective expiry, then is pruned.
1050
+ */
1051
+ export type GrantState = "active" | "suspended" | "staleKey" | "expired" | "epochRevoked";
1028
1052
  /**
1029
1053
  * Validity of a grant the sweep issues, in seconds: between one day and two years, the bounds vtc/vetting/vetters/grant applies to an administrator's grants.
1030
1054
  */
@@ -1259,6 +1283,26 @@ export type MemberAction = "read" | "write" | "curate";
1259
1283
  * @maxItems 3
1260
1284
  */
1261
1285
  export type MemberActions = [MemberAction] | [MemberAction, MemberAction] | [MemberAction, MemberAction, MemberAction];
1286
+ /**
1287
+ * The reason carried by one member's change in a messaging/mux/event `attached` or `detached` event: exactly the AttachReason values followed by the DetachReason values, with their meanings. An `attached` event carries only AttachReason values and a `detached` event only DetachReason values. One closed set rather than a union, so every generated binding types it as one enumeration; it MUST be kept equal to the two sets it joins.
1288
+ */
1289
+ export type MemberChangeReason =
1290
+ | "connect"
1291
+ | "grant"
1292
+ | "attach"
1293
+ | "reactivated"
1294
+ | "revokedByMember"
1295
+ | "revokedByPrincipal"
1296
+ | "epochBumped"
1297
+ | "suspendedUnknownKey"
1298
+ | "keyRotated"
1299
+ | "expired"
1300
+ | "accountBlocked"
1301
+ | "superseded"
1302
+ | "admin"
1303
+ | "detachRequested"
1304
+ | "accountRemoved"
1305
+ | "resolutionFailed";
1262
1306
  /**
1263
1307
  * Where an admission stands. `offered`: credentials issued and waiting for the member to collect and accept them. `admitted`: accepted — on a sealed tier, the member is in the room's group. `removed`: an administrator removed them; on a sealed tier the room has advanced past them.
1264
1308
  */
@@ -1275,6 +1319,22 @@ export type MembersOnly = boolean;
1275
1319
  * How the member came to be in the group. `added`: by a manager. `joined`: they joined an open group. `requestApproved`: a manager approved their request. `rule`: a dynamic group's rule admits them.
1276
1320
  */
1277
1321
  export type MembershipSource = "added" | "joined" | "requestApproved" | "rule";
1322
+ /**
1323
+ * Optimistic-concurrency precondition on a write. A positive value requires that the item's current `version` equals it exactly. Zero means "create only" — the write applies only if no LIVE item exists at the key. A tombstone is not a live item, so `expectedVersion: 0` succeeds over one; the created item takes the context's next counter value, which is necessarily greater than the tombstone's.
1324
+ */
1325
+ export type MemoryExpectedVersion = number;
1326
+ /**
1327
+ * Agent-chosen identifier for an item within a context. Opaque to the maintainer: it MUST NOT be parsed, normalized, or case-folded, and prefix matching in `vta/memory/list` is a byte-prefix comparison over the UTF-8 encoding. Agents SHOULD use `/`-delimited hierarchical keys (`contact/billing`, `preference/timezone`) so that `prefix` can address a family of items, but the delimiter is a convention between an agent and itself. A key is content as well as an address: a key naming a person, a condition or a dispute discloses something to anyone who can list the context, even without its value.
1328
+ */
1329
+ export type MemoryKey = string;
1330
+ /**
1331
+ * The remembered text: a fact, a summary, a preference. Opaque to the maintainer, which stores it as given and never interprets, rewrites or summarises it. The maintainer enforces a documented per-item cap on its size (see `vta/memory/put`).
1332
+ */
1333
+ export type MemoryValue = string;
1334
+ /**
1335
+ * A value of the context's monotonic write counter (see this schema's description). Server-assigned; a producer never chooses one.
1336
+ */
1337
+ export type MemoryVersion = number;
1278
1338
  /**
1279
1339
  * An RFC 9162 audit or consistency path: the node hashes, in the order §2.1.3 / §2.1.4 define.
1280
1340
  *
@@ -1305,6 +1365,162 @@ export type Multibase_VotingV0_1 = string;
1305
1365
  * A binary value, multibase base58btc over the suite's canonical encoding.
1306
1366
  */
1307
1367
  export type Multibase_VtaV0_4 = string;
1368
+ /**
1369
+ * A DID, carried verbatim and compared by exact string equality. Unlike the messaging family's `Vid`, never a hash: the mediator resolves it to verify a statement signed by it. For a member DID reached over TSP, the TSP VID is the DID itself.
1370
+ */
1371
+ export type MuxDid = string;
1372
+ /**
1373
+ * 32 random bytes, base64url without padding, that belong to exactly one connection and are never reused. Attach statements sign over it, which is what makes an attach statement unusable on any other connection.
1374
+ */
1375
+ export type MuxNonce = string;
1376
+ /**
1377
+ * The side of a delegation a requester acts as. `principal`: the DID that authenticated the connection and to which members' traffic is delegated. `member`: a DID whose traffic is delegated.
1378
+ */
1379
+ export type MuxRole = "principal" | "member";
1380
+ /**
1381
+ * A set of capabilities: a non-empty JSON array of MuxScopeValue, compared as a set — order is not significant and a repeated value collapses into one. Never empty: an empty scope is refused, never read as "all". There is no default scope anywhere — every attach and every grant names its scope explicitly. A scope is always bounded by the member DID's own access-control capabilities at the mediator.
1382
+ *
1383
+ * @minItems 1
1384
+ * @maxItems 16
1385
+ */
1386
+ export type MuxScope =
1387
+ | [MuxScopeValue]
1388
+ | [MuxScopeValue, MuxScopeValue]
1389
+ | [MuxScopeValue, MuxScopeValue, MuxScopeValue]
1390
+ | [MuxScopeValue, MuxScopeValue, MuxScopeValue, MuxScopeValue]
1391
+ | [MuxScopeValue, MuxScopeValue, MuxScopeValue, MuxScopeValue, MuxScopeValue]
1392
+ | [MuxScopeValue, MuxScopeValue, MuxScopeValue, MuxScopeValue, MuxScopeValue, MuxScopeValue]
1393
+ | [MuxScopeValue, MuxScopeValue, MuxScopeValue, MuxScopeValue, MuxScopeValue, MuxScopeValue, MuxScopeValue]
1394
+ | [
1395
+ MuxScopeValue,
1396
+ MuxScopeValue,
1397
+ MuxScopeValue,
1398
+ MuxScopeValue,
1399
+ MuxScopeValue,
1400
+ MuxScopeValue,
1401
+ MuxScopeValue,
1402
+ MuxScopeValue
1403
+ ]
1404
+ | [
1405
+ MuxScopeValue,
1406
+ MuxScopeValue,
1407
+ MuxScopeValue,
1408
+ MuxScopeValue,
1409
+ MuxScopeValue,
1410
+ MuxScopeValue,
1411
+ MuxScopeValue,
1412
+ MuxScopeValue,
1413
+ MuxScopeValue
1414
+ ]
1415
+ | [
1416
+ MuxScopeValue,
1417
+ MuxScopeValue,
1418
+ MuxScopeValue,
1419
+ MuxScopeValue,
1420
+ MuxScopeValue,
1421
+ MuxScopeValue,
1422
+ MuxScopeValue,
1423
+ MuxScopeValue,
1424
+ MuxScopeValue,
1425
+ MuxScopeValue
1426
+ ]
1427
+ | [
1428
+ MuxScopeValue,
1429
+ MuxScopeValue,
1430
+ MuxScopeValue,
1431
+ MuxScopeValue,
1432
+ MuxScopeValue,
1433
+ MuxScopeValue,
1434
+ MuxScopeValue,
1435
+ MuxScopeValue,
1436
+ MuxScopeValue,
1437
+ MuxScopeValue,
1438
+ MuxScopeValue
1439
+ ]
1440
+ | [
1441
+ MuxScopeValue,
1442
+ MuxScopeValue,
1443
+ MuxScopeValue,
1444
+ MuxScopeValue,
1445
+ MuxScopeValue,
1446
+ MuxScopeValue,
1447
+ MuxScopeValue,
1448
+ MuxScopeValue,
1449
+ MuxScopeValue,
1450
+ MuxScopeValue,
1451
+ MuxScopeValue,
1452
+ MuxScopeValue
1453
+ ]
1454
+ | [
1455
+ MuxScopeValue,
1456
+ MuxScopeValue,
1457
+ MuxScopeValue,
1458
+ MuxScopeValue,
1459
+ MuxScopeValue,
1460
+ MuxScopeValue,
1461
+ MuxScopeValue,
1462
+ MuxScopeValue,
1463
+ MuxScopeValue,
1464
+ MuxScopeValue,
1465
+ MuxScopeValue,
1466
+ MuxScopeValue,
1467
+ MuxScopeValue
1468
+ ]
1469
+ | [
1470
+ MuxScopeValue,
1471
+ MuxScopeValue,
1472
+ MuxScopeValue,
1473
+ MuxScopeValue,
1474
+ MuxScopeValue,
1475
+ MuxScopeValue,
1476
+ MuxScopeValue,
1477
+ MuxScopeValue,
1478
+ MuxScopeValue,
1479
+ MuxScopeValue,
1480
+ MuxScopeValue,
1481
+ MuxScopeValue,
1482
+ MuxScopeValue,
1483
+ MuxScopeValue
1484
+ ]
1485
+ | [
1486
+ MuxScopeValue,
1487
+ MuxScopeValue,
1488
+ MuxScopeValue,
1489
+ MuxScopeValue,
1490
+ MuxScopeValue,
1491
+ MuxScopeValue,
1492
+ MuxScopeValue,
1493
+ MuxScopeValue,
1494
+ MuxScopeValue,
1495
+ MuxScopeValue,
1496
+ MuxScopeValue,
1497
+ MuxScopeValue,
1498
+ MuxScopeValue,
1499
+ MuxScopeValue,
1500
+ MuxScopeValue
1501
+ ]
1502
+ | [
1503
+ MuxScopeValue,
1504
+ MuxScopeValue,
1505
+ MuxScopeValue,
1506
+ MuxScopeValue,
1507
+ MuxScopeValue,
1508
+ MuxScopeValue,
1509
+ MuxScopeValue,
1510
+ MuxScopeValue,
1511
+ MuxScopeValue,
1512
+ MuxScopeValue,
1513
+ MuxScopeValue,
1514
+ MuxScopeValue,
1515
+ MuxScopeValue,
1516
+ MuxScopeValue,
1517
+ MuxScopeValue,
1518
+ MuxScopeValue
1519
+ ];
1520
+ /**
1521
+ * One capability a member DID extends to a principal's connection. `receive`: live delivery of the member's inbound messages on the connection. `pickup`: message-pickup status and delivery requests naming the member as `recipient_did`, and inclusion in a raw-TSP inbox drain. `delete`: deleting the member's stored messages, including delete-on-ack and delete-on-send; a member without `delete` keeps its messages in its inbox until something holding `delete` collects them. `send`: the mediator accepts on this connection frames whose sender is the member DID — the frame is still signed or authcrypted with the member's own keys; the scope only lets the mediator accept it on this socket.
1522
+ */
1523
+ export type MuxScopeValue = "receive" | "pickup" | "delete" | "send";
1308
1524
  /**
1309
1525
  * Scopes one application's records within a context, so several tools can share a context without colliding — `openvtc`, `cnm`, an agent runtime. The maintainer MUST NOT interpret the value; it is an opaque partition name. Namespaces are first-come and unreserved, so an application SHOULD pick a stable, specific one: a future per-namespace ACL would grant on this exact string, which makes renaming a namespace a migration rather than an edit.
1310
1526
  */
@@ -2086,6 +2302,10 @@ export type ServiceKind = "didcomm" | "rest" | "tsp" | "webauthn";
2086
2302
  * The id of the witness/session document the VTA built in vta/witness/open: the session's name, the thread every document of the session is on, and the value the VWC carries as taskContext. The VTA keys its state for the session by it.
2087
2303
  */
2088
2304
  export type SessionId = string;
2305
+ /**
2306
+ * The mediator's identifier for one authenticated connection, as announced in that connection's `ready` event.
2307
+ */
2308
+ export type SessionId_MessagingMuxV0_1 = string;
2089
2309
  /**
2090
2310
  * `EdDSA` pairs with an `ed25519` key; `ES256` pairs with a `p256` key; `ML-DSA-44` and `ML-DSA-65` pair with `mldsa44` and `mldsa65` keys respectively. An `x25519` key performs key agreement and can sign nothing, so no algorithm here is valid for one. These are JOSE algorithm identifiers, externally owned, so they are carried verbatim and never re-cased (SPEC.md §4.10 rule 5); the ML-DSA names are those RFC 9964 registers in the JOSE Web Signature and Encryption Algorithms registry, which is why their hyphenated casing differs from the `keyType` values beside them — those are specification-defined. The set is expected to grow as algorithms are registered. The enumeration remains closed: an unrecognised algorithm is refused rather than silently substituted with a supported one.
2091
2311
  */
@@ -2137,6 +2357,146 @@ export type Slot = string;
2137
2357
  * The principal's disposition of a held notification: `active`, or `dismissed` by vta/notifications/dismiss. Dismissal is the principal's alone and changes nothing outside the VTA (VTI-NTF-052).
2138
2358
  */
2139
2359
  export type State = "active" | "dismissed";
2360
+ /**
2361
+ * The scope a member DID signs into a statement: a JSON array of MuxScopeValue, compared as a set — order is not significant and a repeated value collapses. It MUST NOT be empty; an empty signed scope is refused with the task's `emptyScope` code, never read as "all". Unlike MuxScope, emptiness is not a schema failure here, so that the refusal is reported per statement rather than failing the whole batch.
2362
+ *
2363
+ * @maxItems 16
2364
+ */
2365
+ export type StatementScope =
2366
+ | []
2367
+ | [MuxScopeValue]
2368
+ | [MuxScopeValue, MuxScopeValue]
2369
+ | [MuxScopeValue, MuxScopeValue, MuxScopeValue]
2370
+ | [MuxScopeValue, MuxScopeValue, MuxScopeValue, MuxScopeValue]
2371
+ | [MuxScopeValue, MuxScopeValue, MuxScopeValue, MuxScopeValue, MuxScopeValue]
2372
+ | [MuxScopeValue, MuxScopeValue, MuxScopeValue, MuxScopeValue, MuxScopeValue, MuxScopeValue]
2373
+ | [MuxScopeValue, MuxScopeValue, MuxScopeValue, MuxScopeValue, MuxScopeValue, MuxScopeValue, MuxScopeValue]
2374
+ | [
2375
+ MuxScopeValue,
2376
+ MuxScopeValue,
2377
+ MuxScopeValue,
2378
+ MuxScopeValue,
2379
+ MuxScopeValue,
2380
+ MuxScopeValue,
2381
+ MuxScopeValue,
2382
+ MuxScopeValue
2383
+ ]
2384
+ | [
2385
+ MuxScopeValue,
2386
+ MuxScopeValue,
2387
+ MuxScopeValue,
2388
+ MuxScopeValue,
2389
+ MuxScopeValue,
2390
+ MuxScopeValue,
2391
+ MuxScopeValue,
2392
+ MuxScopeValue,
2393
+ MuxScopeValue
2394
+ ]
2395
+ | [
2396
+ MuxScopeValue,
2397
+ MuxScopeValue,
2398
+ MuxScopeValue,
2399
+ MuxScopeValue,
2400
+ MuxScopeValue,
2401
+ MuxScopeValue,
2402
+ MuxScopeValue,
2403
+ MuxScopeValue,
2404
+ MuxScopeValue,
2405
+ MuxScopeValue
2406
+ ]
2407
+ | [
2408
+ MuxScopeValue,
2409
+ MuxScopeValue,
2410
+ MuxScopeValue,
2411
+ MuxScopeValue,
2412
+ MuxScopeValue,
2413
+ MuxScopeValue,
2414
+ MuxScopeValue,
2415
+ MuxScopeValue,
2416
+ MuxScopeValue,
2417
+ MuxScopeValue,
2418
+ MuxScopeValue
2419
+ ]
2420
+ | [
2421
+ MuxScopeValue,
2422
+ MuxScopeValue,
2423
+ MuxScopeValue,
2424
+ MuxScopeValue,
2425
+ MuxScopeValue,
2426
+ MuxScopeValue,
2427
+ MuxScopeValue,
2428
+ MuxScopeValue,
2429
+ MuxScopeValue,
2430
+ MuxScopeValue,
2431
+ MuxScopeValue,
2432
+ MuxScopeValue
2433
+ ]
2434
+ | [
2435
+ MuxScopeValue,
2436
+ MuxScopeValue,
2437
+ MuxScopeValue,
2438
+ MuxScopeValue,
2439
+ MuxScopeValue,
2440
+ MuxScopeValue,
2441
+ MuxScopeValue,
2442
+ MuxScopeValue,
2443
+ MuxScopeValue,
2444
+ MuxScopeValue,
2445
+ MuxScopeValue,
2446
+ MuxScopeValue,
2447
+ MuxScopeValue
2448
+ ]
2449
+ | [
2450
+ MuxScopeValue,
2451
+ MuxScopeValue,
2452
+ MuxScopeValue,
2453
+ MuxScopeValue,
2454
+ MuxScopeValue,
2455
+ MuxScopeValue,
2456
+ MuxScopeValue,
2457
+ MuxScopeValue,
2458
+ MuxScopeValue,
2459
+ MuxScopeValue,
2460
+ MuxScopeValue,
2461
+ MuxScopeValue,
2462
+ MuxScopeValue,
2463
+ MuxScopeValue
2464
+ ]
2465
+ | [
2466
+ MuxScopeValue,
2467
+ MuxScopeValue,
2468
+ MuxScopeValue,
2469
+ MuxScopeValue,
2470
+ MuxScopeValue,
2471
+ MuxScopeValue,
2472
+ MuxScopeValue,
2473
+ MuxScopeValue,
2474
+ MuxScopeValue,
2475
+ MuxScopeValue,
2476
+ MuxScopeValue,
2477
+ MuxScopeValue,
2478
+ MuxScopeValue,
2479
+ MuxScopeValue,
2480
+ MuxScopeValue
2481
+ ]
2482
+ | [
2483
+ MuxScopeValue,
2484
+ MuxScopeValue,
2485
+ MuxScopeValue,
2486
+ MuxScopeValue,
2487
+ MuxScopeValue,
2488
+ MuxScopeValue,
2489
+ MuxScopeValue,
2490
+ MuxScopeValue,
2491
+ MuxScopeValue,
2492
+ MuxScopeValue,
2493
+ MuxScopeValue,
2494
+ MuxScopeValue,
2495
+ MuxScopeValue,
2496
+ MuxScopeValue,
2497
+ MuxScopeValue,
2498
+ MuxScopeValue
2499
+ ];
2140
2500
  /**
2141
2501
  * Whether the thing is still open to the audience: `available`, or `withdrawn` — cancelled by its holder, or no longer open to the audience — in which case the recipient keeps the record only to show that it was withdrawn (VTI-NTF-024).
2142
2502
  */
@@ -5584,6 +5944,57 @@ export interface ApproverBinding {
5584
5944
  */
5585
5945
  routeHint?: string;
5586
5946
  }
5947
+ /**
5948
+ * A member DID's statement that the named principal may carry its traffic on one connection — the one whose `sessionId` and `muxNonce` it names — until `exp`, within `scope`. Signed by the member with an embedded Data Integrity proof whose purpose is `authentication`.
5949
+ */
5950
+ export interface AttachStatement {
5951
+ /**
5952
+ * Always `muxAttach`; names the statement kind, so a statement of one kind is never accepted as another.
5953
+ */
5954
+ type: "muxAttach";
5955
+ /**
5956
+ * The member DID: the signer, and the DID the statement concerns.
5957
+ */
5958
+ issuer: MuxDid;
5959
+ /**
5960
+ * The mediator's DID. A statement names exactly one mediator and is refused by every other.
5961
+ */
5962
+ audience: MuxDid;
5963
+ /**
5964
+ * The principal DID the connection is authenticated as. MUST differ from `issuer`.
5965
+ */
5966
+ principal: MuxDid;
5967
+ sessionId: SessionId_MessagingMuxV0_1;
5968
+ muxNonce: MuxNonce;
5969
+ scope: StatementScope;
5970
+ /**
5971
+ * JWT NumericDate (RFC 7519 §2), whole seconds since 1970-01-01T00:00:00Z UTC: when the statement was signed. MUST NOT be more than 60 seconds in the mediator's future.
5972
+ */
5973
+ iat: number;
5974
+ /**
5975
+ * JWT NumericDate (RFC 7519 §2): when the statement stops being accepted. REQUIRED; MUST be after `iat` and in the future.
5976
+ */
5977
+ exp: number;
5978
+ proof: MuxDataIntegrityProof;
5979
+ }
5980
+ /**
5981
+ * One session attach on a connection.
5982
+ */
5983
+ export interface AttachView {
5984
+ /**
5985
+ * The member DID.
5986
+ */
5987
+ did: MuxDid;
5988
+ scope: MuxScope;
5989
+ /**
5990
+ * When the attach lapses: its signed `exp`.
5991
+ */
5992
+ expiresAt: string;
5993
+ /**
5994
+ * False while live traffic for the member goes elsewhere — to the member DID's own direct connection, which takes precedence over a mux connection.
5995
+ */
5996
+ deliveryActive: boolean;
5997
+ }
5587
5998
  export interface AttachmentRef_VaultV0_1 {
5588
5999
  /**
5589
6000
  * Opaque maintainer-assigned id for this attachment; used to fetch the blob via a separate mechanism.
@@ -9985,6 +10396,82 @@ export interface GitNamespace_GitNsV0_6 {
9985
10396
  */
9986
10397
  state: "pending" | "bound";
9987
10398
  }
10399
+ /**
10400
+ * Identifies one stored grant and the two parties to it.
10401
+ */
10402
+ export interface GrantRef {
10403
+ grantId: GrantId;
10404
+ /**
10405
+ * The member DID.
10406
+ */
10407
+ did: MuxDid;
10408
+ /**
10409
+ * The principal DID the grant delegates to.
10410
+ */
10411
+ principal: MuxDid;
10412
+ }
10413
+ /**
10414
+ * A member DID's standing statement that the named principal may carry its traffic at this mediator, on any connection, until `exp`, within `scope`, under the member's current `epoch`. Signed by the member with an embedded Data Integrity proof whose purpose is `authentication`, and stored verbatim by the mediator as the only evidence of the delegation.
10415
+ */
10416
+ export interface GrantStatement {
10417
+ /**
10418
+ * Always `muxGrant`; names the statement kind, so a statement of one kind is never accepted as another.
10419
+ */
10420
+ type: "muxGrant";
10421
+ /**
10422
+ * The member DID: the signer, and the DID the statement concerns.
10423
+ */
10424
+ issuer: MuxDid;
10425
+ /**
10426
+ * The mediator's DID. A statement names exactly one mediator and is refused by every other.
10427
+ */
10428
+ audience: MuxDid;
10429
+ grantId: GrantId;
10430
+ /**
10431
+ * The principal DID that may carry the member's traffic. MUST differ from `issuer`.
10432
+ */
10433
+ principal: MuxDid;
10434
+ scope: StatementScope;
10435
+ /**
10436
+ * The member DID's current epoch at the mediator. Only messaging/mux/revoke-all advances it.
10437
+ */
10438
+ epoch: number;
10439
+ /**
10440
+ * JWT NumericDate (RFC 7519 §2), whole seconds since 1970-01-01T00:00:00Z UTC: when the statement was signed. MUST NOT be more than 60 seconds in the mediator's future.
10441
+ */
10442
+ iat: number;
10443
+ /**
10444
+ * JWT NumericDate (RFC 7519 §2): when the statement stops being accepted. REQUIRED; MUST be after `iat` and in the future.
10445
+ */
10446
+ exp: number;
10447
+ proof: MuxDataIntegrityProof;
10448
+ }
10449
+ /**
10450
+ * The mediator's view of one stored grant, as messaging/mux/list and messaging/mux/update return it: the grant statement verbatim, with the state and the effective scope and expiry beside it.
10451
+ */
10452
+ export interface GrantView {
10453
+ /**
10454
+ * The grant statement exactly as the member signed it and the mediator stored it, proof included, so either party can re-verify it.
10455
+ */
10456
+ statement: GrantStatement;
10457
+ state: GrantState;
10458
+ /**
10459
+ * The effective scope: the signed scope, or the narrower one messaging/mux/update set.
10460
+ */
10461
+ scope: MuxScope;
10462
+ /**
10463
+ * The effective expiry: the signed `exp` rendered as RFC 3339, or the earlier one messaging/mux/update set.
10464
+ */
10465
+ expiresAt: string;
10466
+ /**
10467
+ * True when messaging/mux/update narrowed the effective scope or expiry below what the statement signs.
10468
+ */
10469
+ narrowed?: boolean;
10470
+ /**
10471
+ * Principal view only: whether the member is attached through this grant to the connection that carried the list request.
10472
+ */
10473
+ attachedNow?: boolean;
10474
+ }
9988
10475
  /**
9989
10476
  * A grant set the group confers: each capability is written onto every member's access-control entry as a resource grant whose source is the group, bounded by the member's role ceiling and by the binder's own holdings.
9990
10477
  */
@@ -11416,6 +11903,44 @@ export interface MemberResponse {
11416
11903
  * A person's membership credential (VMC) from a community that is a member of this network, holder-bound to the requester's identity. Open for the same reason as `Credential`.
11417
11904
  */
11418
11905
  export interface Membership {}
11906
+ /**
11907
+ * A memory item as the maintainer holds it. `value` is absent in two distinct situations and a consumer MUST NOT conflate them: the item is a tombstone (`deleted` is true), or the caller asked for a metadata-only view (`vta/memory/list` without `includeValues`). This is why `deleted` is required rather than defaulted — a consumer that infers deletion from an absent value gets the tombstone case wrong exactly when convergence depends on it.
11908
+ */
11909
+ export interface MemoryRecord {
11910
+ /**
11911
+ * The VTA context the item is scoped to; the isolation boundary.
11912
+ */
11913
+ contextId: string;
11914
+ key: MemoryKey;
11915
+ /**
11916
+ * The context counter value this item's most recent write took. Supply it as `expectedVersion` on the next write to make that write conditional on nothing having changed in between.
11917
+ */
11918
+ version: MemoryVersion;
11919
+ /**
11920
+ * The remembered text. Absent when this is a tombstone or a metadata-only view.
11921
+ */
11922
+ value?: MemoryValue;
11923
+ /**
11924
+ * Size of the stored value in bytes over its UTF-8 encoding, as the maintainer measures it for the per-item cap. Present in metadata-only views so a consumer can decide what to fetch without fetching it; absent on a tombstone.
11925
+ */
11926
+ valueBytes?: number;
11927
+ /**
11928
+ * True when this is a tombstone: the item was deleted, and this entry exists so that a consumer syncing incrementally learns of the deletion. Tombstones are reaped after the maintainer's retention window; see `vta/memory/list`.
11929
+ */
11930
+ deleted: boolean;
11931
+ /**
11932
+ * When the item was first created at this key. MAY be absent on a tombstone whose body has been discarded, and on an item written before the maintainer kept versions.
11933
+ */
11934
+ createdAt?: string;
11935
+ /**
11936
+ * When the write that produced this `version` was applied. For a tombstone, when the delete was applied.
11937
+ */
11938
+ updatedAt: string;
11939
+ /**
11940
+ * When the item was deleted. Present only when `deleted` is true; equal to `updatedAt` for a tombstone the maintainer has not since rewritten.
11941
+ */
11942
+ deletedAt?: string;
11943
+ }
11419
11944
  /**
11420
11945
  * Metadata of one stored message. Never carries the message body.
11421
11946
  */
@@ -11742,6 +12267,32 @@ export interface MonitorFilter {
11742
12267
  */
11743
12268
  failuresOnly?: boolean;
11744
12269
  }
12270
+ /**
12271
+ * The W3C Data Integrity proof embedded in a mux statement, made by the member DID: the format and verifier Trust Tasks already use for document proofs (SPEC §4.7). The proof covers the whole statement except `proof` itself, as the cryptosuite defines. Closed: a member Data Integrity defines but this list omits is refused.
12272
+ */
12273
+ export interface MuxDataIntegrityProof {
12274
+ type: "DataIntegrityProof";
12275
+ /**
12276
+ * The W3C Data Integrity EdDSA cryptosuite used.
12277
+ */
12278
+ cryptosuite: "eddsa-jcs-2022" | "eddsa-rdfc-2022";
12279
+ /**
12280
+ * The DID URL of the verification method that signed. MUST be controlled by the statement's `issuer` and listed in that DID's current `authentication` relationship.
12281
+ */
12282
+ verificationMethod: string;
12283
+ /**
12284
+ * MUST be `authentication`. Any other value is refused with `messaging/mux:proofPurposeInvalid` — a proof made for another relationship (an `assertionMethod` credential signature, say) is never accepted as control of the DID.
12285
+ */
12286
+ proofPurpose: string;
12287
+ /**
12288
+ * OPTIONAL: when the proof was made, as Data Integrity defines it. Covered by the proof; the statement's own `iat` is what the mediator checks.
12289
+ */
12290
+ created?: string;
12291
+ /**
12292
+ * The multibase (base58btc) signature.
12293
+ */
12294
+ proofValue: string;
12295
+ }
11745
12296
  /**
11746
12297
  * A badge as its holder sees it in their own list: the wall entry plus what only the holder knows — whether they hid it, their position for it, and the credential that evidences it.
11747
12298
  */
@@ -13763,6 +14314,36 @@ export interface RevocationReceipt {
13763
14314
  */
13764
14315
  revokedAt: string;
13765
14316
  }
14317
+ /**
14318
+ * A member DID's statement, proving current control of it, that every grant on it signed under `epoch` or earlier is void. Signed by the member with an embedded Data Integrity proof whose purpose is `authentication`.
14319
+ */
14320
+ export interface RevokeAllStatement {
14321
+ /**
14322
+ * Always `muxRevokeAll`; names the statement kind, so a statement of one kind is never accepted as another.
14323
+ */
14324
+ type: "muxRevokeAll";
14325
+ /**
14326
+ * The member DID: the signer, and the DID the statement concerns.
14327
+ */
14328
+ issuer: MuxDid;
14329
+ /**
14330
+ * The mediator's DID. A statement names exactly one mediator and is refused by every other.
14331
+ */
14332
+ audience: MuxDid;
14333
+ /**
14334
+ * The epoch being voided: the member DID's current one.
14335
+ */
14336
+ epoch: number;
14337
+ /**
14338
+ * JWT NumericDate (RFC 7519 §2), whole seconds since 1970-01-01T00:00:00Z UTC: when the statement was signed. MUST NOT be more than 60 seconds in the mediator's future.
14339
+ */
14340
+ iat: number;
14341
+ /**
14342
+ * JWT NumericDate (RFC 7519 §2): when the statement stops being accepted. REQUIRED; MUST be after `iat` and in the future.
14343
+ */
14344
+ exp: number;
14345
+ proof: MuxDataIntegrityProof;
14346
+ }
13766
14347
  /**
13767
14348
  * One recorded right. Implied rights (§4.2 of the rights model: `own` implies `maintain` implies `commit.sign` on the same resource; `ns.admin` implies `repo.create` and `own` across its namespace) are not records and never appear as RightRecords.
13768
14349
  */