@origintrail-official/dkg-agent 10.0.21 → 10.0.23

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 (207) hide show
  1. package/dist/approved-private-replica-proof-runs.d.ts +40 -0
  2. package/dist/approved-private-replica-proof-runs.d.ts.map +1 -0
  3. package/dist/approved-private-replica-proof-runs.js +49 -0
  4. package/dist/approved-private-replica-proof-runs.js.map +1 -0
  5. package/dist/approved-private-replica.d.ts +18 -1
  6. package/dist/approved-private-replica.d.ts.map +1 -1
  7. package/dist/approved-private-replica.js +9 -3
  8. package/dist/approved-private-replica.js.map +1 -1
  9. package/dist/context-graph-chain-discovery-binding.d.ts +2 -0
  10. package/dist/context-graph-chain-discovery-binding.d.ts.map +1 -1
  11. package/dist/context-graph-chain-discovery-binding.js +7 -0
  12. package/dist/context-graph-chain-discovery-binding.js.map +1 -1
  13. package/dist/context-graph-dormant-identity.d.ts +8 -0
  14. package/dist/context-graph-dormant-identity.d.ts.map +1 -0
  15. package/dist/context-graph-dormant-identity.js +48 -0
  16. package/dist/context-graph-dormant-identity.js.map +1 -0
  17. package/dist/context-graph-meta-projection.d.ts +19 -55
  18. package/dist/context-graph-meta-projection.d.ts.map +1 -1
  19. package/dist/context-graph-meta-projection.js +94 -46
  20. package/dist/context-graph-meta-projection.js.map +1 -1
  21. package/dist/context-graph-name-binding-target.d.ts +21 -0
  22. package/dist/context-graph-name-binding-target.d.ts.map +1 -0
  23. package/dist/context-graph-name-binding-target.js +68 -0
  24. package/dist/context-graph-name-binding-target.js.map +1 -0
  25. package/dist/context-graph-persisted-name-aliases.d.ts +47 -0
  26. package/dist/context-graph-persisted-name-aliases.d.ts.map +1 -0
  27. package/dist/context-graph-persisted-name-aliases.js +173 -0
  28. package/dist/context-graph-persisted-name-aliases.js.map +1 -0
  29. package/dist/context-graph-read-authority.d.ts +26 -11
  30. package/dist/context-graph-read-authority.d.ts.map +1 -1
  31. package/dist/context-graph-read-authority.js +26 -2
  32. package/dist/context-graph-read-authority.js.map +1 -1
  33. package/dist/context-graph-subscription-authority-recovery.d.ts +4 -0
  34. package/dist/context-graph-subscription-authority-recovery.d.ts.map +1 -1
  35. package/dist/context-graph-subscription-authority-recovery.js +8 -2
  36. package/dist/context-graph-subscription-authority-recovery.js.map +1 -1
  37. package/dist/context-graph-subscription-policy.d.ts +34 -1
  38. package/dist/context-graph-subscription-policy.d.ts.map +1 -1
  39. package/dist/context-graph-subscription-policy.js +143 -1
  40. package/dist/context-graph-subscription-policy.js.map +1 -1
  41. package/dist/curator-meta-refresh.d.ts.map +1 -1
  42. package/dist/curator-meta-refresh.js +31 -9
  43. package/dist/curator-meta-refresh.js.map +1 -1
  44. package/dist/dkg-agent-base.d.ts.map +1 -1
  45. package/dist/dkg-agent-base.js +0 -1
  46. package/dist/dkg-agent-base.js.map +1 -1
  47. package/dist/dkg-agent-cg-name-resolution.d.ts +6 -24
  48. package/dist/dkg-agent-cg-name-resolution.d.ts.map +1 -1
  49. package/dist/dkg-agent-cg-name-resolution.js +42 -58
  50. package/dist/dkg-agent-cg-name-resolution.js.map +1 -1
  51. package/dist/dkg-agent-cg-on-chain-id.d.ts +3 -3
  52. package/dist/dkg-agent-cg-on-chain-id.d.ts.map +1 -1
  53. package/dist/dkg-agent-cg-on-chain-id.js +7 -23
  54. package/dist/dkg-agent-cg-on-chain-id.js.map +1 -1
  55. package/dist/dkg-agent-cg-registry.d.ts +7 -3
  56. package/dist/dkg-agent-cg-registry.d.ts.map +1 -1
  57. package/dist/dkg-agent-cg-registry.js +30 -16
  58. package/dist/dkg-agent-cg-registry.js.map +1 -1
  59. package/dist/dkg-agent-cg-resolve.d.ts +10 -6
  60. package/dist/dkg-agent-cg-resolve.d.ts.map +1 -1
  61. package/dist/dkg-agent-cg-resolve.js +16 -19
  62. package/dist/dkg-agent-cg-resolve.js.map +1 -1
  63. package/dist/dkg-agent-context-graph.d.ts.map +1 -1
  64. package/dist/dkg-agent-context-graph.js +0 -4
  65. package/dist/dkg-agent-context-graph.js.map +1 -1
  66. package/dist/dkg-agent-crypto.d.ts.map +1 -1
  67. package/dist/dkg-agent-crypto.js +53 -57
  68. package/dist/dkg-agent-crypto.js.map +1 -1
  69. package/dist/dkg-agent-lifecycle.d.ts +5 -0
  70. package/dist/dkg-agent-lifecycle.d.ts.map +1 -1
  71. package/dist/dkg-agent-lifecycle.js +156 -133
  72. package/dist/dkg-agent-lifecycle.js.map +1 -1
  73. package/dist/dkg-agent-publish.d.ts.map +1 -1
  74. package/dist/dkg-agent-publish.js +2 -3
  75. package/dist/dkg-agent-publish.js.map +1 -1
  76. package/dist/dkg-agent-query.d.ts.map +1 -1
  77. package/dist/dkg-agent-query.js +12 -9
  78. package/dist/dkg-agent-query.js.map +1 -1
  79. package/dist/dkg-agent-registered-private-empty-vm.d.ts +8 -0
  80. package/dist/dkg-agent-registered-private-empty-vm.d.ts.map +1 -1
  81. package/dist/dkg-agent-registered-private-empty-vm.js +15 -0
  82. package/dist/dkg-agent-registered-private-empty-vm.js.map +1 -1
  83. package/dist/dkg-agent-rfc64-catalog-auto-publish.d.ts.map +1 -1
  84. package/dist/dkg-agent-rfc64-catalog-auto-publish.js +4 -0
  85. package/dist/dkg-agent-rfc64-catalog-auto-publish.js.map +1 -1
  86. package/dist/dkg-agent-rfc64-catalog-upsert.d.ts.map +1 -1
  87. package/dist/dkg-agent-rfc64-catalog-upsert.js +7 -0
  88. package/dist/dkg-agent-rfc64-catalog-upsert.js.map +1 -1
  89. package/dist/dkg-agent-rfc64-catalog.d.ts +4 -0
  90. package/dist/dkg-agent-rfc64-catalog.d.ts.map +1 -1
  91. package/dist/dkg-agent-rfc64-catalog.js +12 -2
  92. package/dist/dkg-agent-rfc64-catalog.js.map +1 -1
  93. package/dist/dkg-agent-rfc64-swm-catalog-projection-supervisor.d.ts +2 -1
  94. package/dist/dkg-agent-rfc64-swm-catalog-projection-supervisor.d.ts.map +1 -1
  95. package/dist/dkg-agent-rfc64-swm-catalog-projection-supervisor.js +23 -15
  96. package/dist/dkg-agent-rfc64-swm-catalog-projection-supervisor.js.map +1 -1
  97. package/dist/dkg-agent-rfc64-swm-catalog-projection.d.ts.map +1 -1
  98. package/dist/dkg-agent-rfc64-swm-catalog-projection.js +3 -0
  99. package/dist/dkg-agent-rfc64-swm-catalog-projection.js.map +1 -1
  100. package/dist/dkg-agent-swm-host.d.ts +13 -22
  101. package/dist/dkg-agent-swm-host.d.ts.map +1 -1
  102. package/dist/dkg-agent-swm-host.js +179 -81
  103. package/dist/dkg-agent-swm-host.js.map +1 -1
  104. package/dist/dkg-agent-swm-substrate.d.ts +2 -0
  105. package/dist/dkg-agent-swm-substrate.d.ts.map +1 -1
  106. package/dist/dkg-agent-swm-substrate.js +5 -9
  107. package/dist/dkg-agent-swm-substrate.js.map +1 -1
  108. package/dist/dkg-agent-types.d.ts +3 -2
  109. package/dist/dkg-agent-types.d.ts.map +1 -1
  110. package/dist/dkg-agent.d.ts +4 -10
  111. package/dist/dkg-agent.d.ts.map +1 -1
  112. package/dist/dkg-agent.js +43 -58
  113. package/dist/dkg-agent.js.map +1 -1
  114. package/dist/index.d.ts +1 -1
  115. package/dist/index.d.ts.map +1 -1
  116. package/dist/index.js.map +1 -1
  117. package/dist/internal/context-graph-authority/context-graph-agent-gate-authority.d.ts +6 -1
  118. package/dist/internal/context-graph-authority/context-graph-agent-gate-authority.d.ts.map +1 -1
  119. package/dist/internal/context-graph-authority/context-graph-agent-gate-authority.js +5 -5
  120. package/dist/internal/context-graph-authority/context-graph-agent-gate-authority.js.map +1 -1
  121. package/dist/internal/context-graph-authority/context-graph-authority.d.ts +14 -1
  122. package/dist/internal/context-graph-authority/context-graph-authority.d.ts.map +1 -1
  123. package/dist/internal/context-graph-authority/context-graph-authority.js +19 -0
  124. package/dist/internal/context-graph-authority/context-graph-authority.js.map +1 -1
  125. package/dist/internal/context-graph-cache-invalidating-store.d.ts +10 -2
  126. package/dist/internal/context-graph-cache-invalidating-store.d.ts.map +1 -1
  127. package/dist/internal/context-graph-cache-invalidating-store.js +67 -67
  128. package/dist/internal/context-graph-cache-invalidating-store.js.map +1 -1
  129. package/dist/internal/context-graph-meta-record-copy.d.ts +1 -1
  130. package/dist/internal/context-graph-meta-record-copy.d.ts.map +1 -1
  131. package/dist/internal/context-graph-meta-record.d.ts +40 -0
  132. package/dist/internal/context-graph-meta-record.d.ts.map +1 -0
  133. package/dist/internal/context-graph-meta-record.js +3 -0
  134. package/dist/internal/context-graph-meta-record.js.map +1 -0
  135. package/dist/internal/peer-gate-revision.d.ts +28 -0
  136. package/dist/internal/peer-gate-revision.d.ts.map +1 -0
  137. package/dist/internal/peer-gate-revision.js +46 -0
  138. package/dist/internal/peer-gate-revision.js.map +1 -0
  139. package/dist/internal/projection-mutation-observer.d.ts +5 -0
  140. package/dist/internal/projection-mutation-observer.d.ts.map +1 -0
  141. package/dist/internal/projection-mutation-observer.js +24 -0
  142. package/dist/internal/projection-mutation-observer.js.map +1 -0
  143. package/dist/internal/promote/assertion-promote-precommit.d.ts +8 -6
  144. package/dist/internal/promote/assertion-promote-precommit.d.ts.map +1 -1
  145. package/dist/internal/promote/assertion-promote-precommit.js +8 -6
  146. package/dist/internal/promote/assertion-promote-precommit.js.map +1 -1
  147. package/dist/internal/recipient-key-route-fence.d.ts +57 -0
  148. package/dist/internal/recipient-key-route-fence.d.ts.map +1 -0
  149. package/dist/internal/recipient-key-route-fence.js +169 -0
  150. package/dist/internal/recipient-key-route-fence.js.map +1 -0
  151. package/dist/internal/store-mutation.d.ts +28 -0
  152. package/dist/internal/store-mutation.d.ts.map +1 -0
  153. package/dist/internal/store-mutation.js +3 -0
  154. package/dist/internal/store-mutation.js.map +1 -0
  155. package/dist/main-thread-time-slice.d.ts +19 -0
  156. package/dist/main-thread-time-slice.d.ts.map +1 -0
  157. package/dist/main-thread-time-slice.js +32 -0
  158. package/dist/main-thread-time-slice.js.map +1 -0
  159. package/dist/p2p/storage-ack-registrar.d.ts.map +1 -1
  160. package/dist/p2p/storage-ack-registrar.js +3 -5
  161. package/dist/p2p/storage-ack-registrar.js.map +1 -1
  162. package/dist/registered-context-graph-authority.d.ts +17 -0
  163. package/dist/registered-context-graph-authority.d.ts.map +1 -1
  164. package/dist/registered-private-empty-vm-attempt-v1.d.ts.map +1 -1
  165. package/dist/registered-private-empty-vm-attempt-v1.js +8 -4
  166. package/dist/registered-private-empty-vm-attempt-v1.js.map +1 -1
  167. package/dist/rfc64/catalog-repair-retry-v1.d.ts +9 -3
  168. package/dist/rfc64/catalog-repair-retry-v1.d.ts.map +1 -1
  169. package/dist/rfc64/catalog-repair-retry-v1.js +22 -6
  170. package/dist/rfc64/catalog-repair-retry-v1.js.map +1 -1
  171. package/dist/rfc64/control-envelope-signer-v1.d.ts +8 -0
  172. package/dist/rfc64/control-envelope-signer-v1.d.ts.map +1 -1
  173. package/dist/rfc64/control-envelope-signer-v1.js +20 -0
  174. package/dist/rfc64/control-envelope-signer-v1.js.map +1 -1
  175. package/dist/rfc64/legacy-swm-boundary-fence-v1.d.ts +109 -0
  176. package/dist/rfc64/legacy-swm-boundary-fence-v1.d.ts.map +1 -0
  177. package/dist/rfc64/legacy-swm-boundary-fence-v1.js +236 -0
  178. package/dist/rfc64/legacy-swm-boundary-fence-v1.js.map +1 -0
  179. package/dist/rfc64/legacy-swm-boundary-v1.d.ts +28 -1
  180. package/dist/rfc64/legacy-swm-boundary-v1.d.ts.map +1 -1
  181. package/dist/rfc64/legacy-swm-boundary-v1.js +74 -145
  182. package/dist/rfc64/legacy-swm-boundary-v1.js.map +1 -1
  183. package/dist/rfc64/public-catalog-successor-producer-v1.d.ts +2 -0
  184. package/dist/rfc64/public-catalog-successor-producer-v1.d.ts.map +1 -1
  185. package/dist/rfc64/public-catalog-successor-producer-v1.js +77 -33
  186. package/dist/rfc64/public-catalog-successor-producer-v1.js.map +1 -1
  187. package/dist/rfc64/public-catalog-successor-row-binding-v1.d.ts +16 -0
  188. package/dist/rfc64/public-catalog-successor-row-binding-v1.d.ts.map +1 -0
  189. package/dist/rfc64/public-catalog-successor-row-binding-v1.js +28 -0
  190. package/dist/rfc64/public-catalog-successor-row-binding-v1.js.map +1 -0
  191. package/dist/rfc64/swm-inventory-catalog-reconciler-v1.d.ts +6 -0
  192. package/dist/rfc64/swm-inventory-catalog-reconciler-v1.d.ts.map +1 -1
  193. package/dist/rfc64/swm-inventory-catalog-reconciler-v1.js +9 -3
  194. package/dist/rfc64/swm-inventory-catalog-reconciler-v1.js.map +1 -1
  195. package/dist/rfc64/swm-inventory-settlement-outlook-v1.d.ts +8 -0
  196. package/dist/rfc64/swm-inventory-settlement-outlook-v1.d.ts.map +1 -0
  197. package/dist/rfc64/swm-inventory-settlement-outlook-v1.js +32 -0
  198. package/dist/rfc64/swm-inventory-settlement-outlook-v1.js.map +1 -0
  199. package/dist/sync/requester/swm-recovery-apply.d.ts +1 -1
  200. package/dist/sync/requester/swm-recovery-apply.d.ts.map +1 -1
  201. package/dist/sync/requester/swm-recovery-apply.js +0 -1
  202. package/dist/sync/requester/swm-recovery-apply.js.map +1 -1
  203. package/dist/sync/requester/swm-target-executor.d.ts +2 -2
  204. package/dist/sync/requester/swm-target-executor.d.ts.map +1 -1
  205. package/dist/sync/requester/swm-target-executor.js +1 -2
  206. package/dist/sync/requester/swm-target-executor.js.map +1 -1
  207. package/package.json +11 -8
@@ -0,0 +1,46 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ import { isSafeIri } from '@origintrail-official/dkg-core';
3
+ const CONTEXT_GRAPH_PREFIX = 'did:dkg:context-graph:';
4
+ const DELEGATION_PREFIX = 'did:dkg:agent-delegation:';
5
+ /**
6
+ * A revision per context graph that moves only when a write can change the
7
+ * metadata facts its peer allowlist and its agent roster are built from. The
8
+ * graph's own cache is invalidated by every write to its meta graph, among them
9
+ * the knowledge-asset metadata that every publish writes, so that revision says
10
+ * nothing about either; this one lets a resolution check, synchronously and
11
+ * right after its last asynchronous read, that what it collected still holds.
12
+ */
13
+ export class PeerGateRevision {
14
+ recordPredicates;
15
+ everything = 0;
16
+ graphs = new Map();
17
+ /** `recordPredicates` is every predicate the projection reads from a context graph's metadata. */
18
+ constructor(recordPredicates) {
19
+ this.recordPredicates = recordPredicates;
20
+ }
21
+ read(contextGraphId) {
22
+ return `${this.everything}:${this.graphs.get(contextGraphId) ?? 0}`;
23
+ }
24
+ /** A write that changes the metadata facts of one context graph. */
25
+ noteFacts(contextGraphId) {
26
+ this.graphs.set(contextGraphId, (this.graphs.get(contextGraphId) ?? 0) + 1);
27
+ }
28
+ /** A write that may have changed the metadata facts of any context graph. */
29
+ noteEverything() {
30
+ this.everything += 1;
31
+ }
32
+ /**
33
+ * A removal from a context graph's meta or catalog graph. It is harmless only
34
+ * when it names a subject its facts cannot have (they are about the graph, its
35
+ * sub-graphs and its delegations) or a predicate the projection does not read.
36
+ */
37
+ noteRemoval(contextGraphId, { subject, predicate }) {
38
+ if (subject !== undefined && isSafeIri(subject)
39
+ && !subject.startsWith(CONTEXT_GRAPH_PREFIX) && !subject.startsWith(DELEGATION_PREFIX))
40
+ return;
41
+ if (predicate !== undefined && isSafeIri(predicate) && !this.recordPredicates.has(predicate))
42
+ return;
43
+ this.noteFacts(contextGraphId);
44
+ }
45
+ }
46
+ //# sourceMappingURL=peer-gate-revision.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"peer-gate-revision.js","sourceRoot":"","sources":["../../src/internal/peer-gate-revision.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAG3D,MAAM,oBAAoB,GAAG,wBAAwB,CAAC;AACtD,MAAM,iBAAiB,GAAG,2BAA2B,CAAC;AAEtD;;;;;;;GAOG;AACH,MAAM,OAAO,gBAAgB;IAKE;IAJrB,UAAU,GAAG,CAAC,CAAC;IACN,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEpD,kGAAkG;IAClG,YAA6B,gBAAqC;QAArC,qBAAgB,GAAhB,gBAAgB,CAAqB;IAAG,CAAC;IAEtE,IAAI,CAAC,cAAsB;QACzB,OAAO,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;IACtE,CAAC;IAED,oEAAoE;IACpE,SAAS,CAAC,cAAsB;QAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,6EAA6E;IAC7E,cAAc;QACZ,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,cAAsB,EAAE,EAAE,OAAO,EAAE,SAAS,EAAgB;QACtE,IAAI,OAAO,KAAK,SAAS,IAAI,SAAS,CAAC,OAAO,CAAC;eAC1C,CAAC,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC;YAAE,OAAO;QACjG,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAO;QACrG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IACjC,CAAC;CACF"}
@@ -0,0 +1,5 @@
1
+ import type { ContextGraphMetaProjection } from '../context-graph-meta-projection.js';
2
+ import type { StoreMutationObserver } from './store-mutation.js';
3
+ /** How the agent's store wrapper tells the metadata projection what a write is about to change and did change. */
4
+ export declare function createProjectionMutationObserver(getProjection: () => ContextGraphMetaProjection | undefined): StoreMutationObserver;
5
+ //# sourceMappingURL=projection-mutation-observer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projection-mutation-observer.d.ts","sourceRoot":"","sources":["../../src/internal/projection-mutation-observer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACtF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEjE,kHAAkH;AAClH,wBAAgB,gCAAgC,CAC9C,aAAa,EAAE,MAAM,0BAA0B,GAAG,SAAS,GAC1D,qBAAqB,CAiBvB"}
@@ -0,0 +1,24 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ /** How the agent's store wrapper tells the metadata projection what a write is about to change and did change. */
3
+ export function createProjectionMutationObserver(getProjection) {
4
+ return {
5
+ begin(mutation) {
6
+ const projection = getProjection();
7
+ const release = projection?.recipientKeyRouteFence.begin(mutation);
8
+ let settled = false;
9
+ return (outcome) => {
10
+ if (settled)
11
+ return;
12
+ settled = true;
13
+ try {
14
+ if (outcome !== 'unchanged' && projection)
15
+ projection.invalidateStoreMutation(mutation);
16
+ }
17
+ finally {
18
+ release?.(outcome);
19
+ }
20
+ };
21
+ },
22
+ };
23
+ }
24
+ //# sourceMappingURL=projection-mutation-observer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projection-mutation-observer.js","sourceRoot":"","sources":["../../src/internal/projection-mutation-observer.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAKtC,kHAAkH;AAClH,MAAM,UAAU,gCAAgC,CAC9C,aAA2D;IAE3D,OAAO;QACL,KAAK,CAAC,QAAQ;YACZ,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,UAAU,EAAE,sBAAsB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACnE,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,OAAO,CAAC,OAAO,EAAE,EAAE;gBACjB,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,IAAI,CAAC;oBACH,IAAI,OAAO,KAAK,WAAW,IAAI,UAAU;wBAAE,UAAU,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;gBAC1F,CAAC;wBAAS,CAAC;oBACT,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -40,14 +40,16 @@ export interface PromoteRecipientRetryTiming {
40
40
  * Repeat a promote's recipient read while it fails with a retryable authority
41
41
  * outage and the bound allows.
42
42
  *
43
- * The recipient read accepts its roster only while the node-wide authority
44
- * facts revision stands still, and it gives up after a few attempts. Work that
43
+ * The recipient read accepts its roster only while the facts it depends on
44
+ * stand still, and it gives up after a few attempts. For a private roster those
45
+ * are the roster, the peer allowlist and the members' keys and routes (GH#3067);
46
+ * the other kinds also watch the node-wide authority facts revision. Work that
45
47
  * has nothing to do with this promote moves that revision: after a Context
46
48
  * Graph is registered the node reconciles the new graph's gossip subscription
47
- * several times within a few hundred milliseconds. A share sent straight after
48
- * a registration can therefore use up those attempts and report the roster as
49
- * temporarily unavailable, although no fact changed and the same read succeeds
50
- * moments later.
49
+ * several times within a few hundred milliseconds. A share of one of the other
50
+ * kinds sent straight after a registration can therefore use up those attempts
51
+ * and report the roster as temporarily unavailable, although no fact changed
52
+ * and the same read succeeds moments later.
51
53
  *
52
54
  * Repeating it is safe. It only reads authority and recipient keys, it fails
53
55
  * closed every time, and the publisher asks for it before the attempt claims
@@ -1 +1 @@
1
- {"version":3,"file":"assertion-promote-precommit.d.ts","sourceRoot":"","sources":["../../../src/internal/promote/assertion-promote-precommit.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,gCAAgC,EACtC,MAAM,qCAAqC,CAAC;AAM7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACxE,KAAK,YAAY,GAAG,OAAO,CACzB,UAAU,CAAC,QAAQ,CAAC,oCAAoC,CAAC,CAAC,CAC3D,CAAC;AAEF,KAAK,gCAAgC,GAAG,IAAI,CAC1C,uBAAuB,EACrB,cAAc,GACd,iBAAiB,GACjB,qBAAqB,GACrB,cAAc,GACd,cAAc,CACjB,CAAC;AAEF,KAAK,mCAAmC,GACpC,oCAAoC,GACpC,0BAA0B,GAC1B,iCAAiC,GACjC,8BAA8B,GAC9B,2BAA2B,CAAC;AAEhC,KAAK,6BAA6B,GAAG;KAClC,MAAM,IAAI,mCAAmC,GAAG,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;CACrF,CAAC;AAEF,UAAU,8BAA8B;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,gCAAgC,CAAC;CAC5C;AAED,KAAK,+BAA+B,GAAG;IACrC,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,gCAAgC,CAAC;CACpD,CAAC;AAuBF;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CASxE;AAED,8DAA8D;AAC9D,eAAO,MAAM,iCAAiC,EAAE,SAAS,MAAM,EAAmC,CAAC;AAEnG;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,OAAQ,CAAC;AAEvD,yEAAyE;AACzE,MAAM,WAAW,2BAA2B;IAC1C,GAAG,IAAI,MAAM,CAAC;IACd,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAOD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,mCAAmC,CAAC,CAAC,EACzD,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACzB,MAAM,GAAE,2BAAiE,GACxE,OAAO,CAAC,CAAC,CAAC,CAiBZ;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,6BAA6B,EACnC,KAAK,EAAE,8BAA8B,EACrC,oBAAoB,CAAC,EAAE,2BAA2B,GACjD,OAAO,CAAC,+BAA+B,CAAC,CA+C1C"}
1
+ {"version":3,"file":"assertion-promote-precommit.d.ts","sourceRoot":"","sources":["../../../src/internal/promote/assertion-promote-precommit.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,gCAAgC,EACtC,MAAM,qCAAqC,CAAC;AAM7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACxE,KAAK,YAAY,GAAG,OAAO,CACzB,UAAU,CAAC,QAAQ,CAAC,oCAAoC,CAAC,CAAC,CAC3D,CAAC;AAEF,KAAK,gCAAgC,GAAG,IAAI,CAC1C,uBAAuB,EACrB,cAAc,GACd,iBAAiB,GACjB,qBAAqB,GACrB,cAAc,GACd,cAAc,CACjB,CAAC;AAEF,KAAK,mCAAmC,GACpC,oCAAoC,GACpC,0BAA0B,GAC1B,iCAAiC,GACjC,8BAA8B,GAC9B,2BAA2B,CAAC;AAEhC,KAAK,6BAA6B,GAAG;KAClC,MAAM,IAAI,mCAAmC,GAAG,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;CACrF,CAAC;AAEF,UAAU,8BAA8B;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,gCAAgC,CAAC;CAC5C;AAED,KAAK,+BAA+B,GAAG;IACrC,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,gCAAgC,CAAC;CACpD,CAAC;AAuBF;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CASxE;AAED,8DAA8D;AAC9D,eAAO,MAAM,iCAAiC,EAAE,SAAS,MAAM,EAAmC,CAAC;AAEnG;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,OAAQ,CAAC;AAEvD,yEAAyE;AACzE,MAAM,WAAW,2BAA2B;IAC1C,GAAG,IAAI,MAAM,CAAC;IACd,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAOD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,mCAAmC,CAAC,CAAC,EACzD,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACzB,MAAM,GAAE,2BAAiE,GACxE,OAAO,CAAC,CAAC,CAAC,CAiBZ;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,6BAA6B,EACnC,KAAK,EAAE,8BAA8B,EACrC,oBAAoB,CAAC,EAAE,2BAA2B,GACjD,OAAO,CAAC,+BAA+B,CAAC,CA+C1C"}
@@ -55,14 +55,16 @@ const REAL_PROMOTE_RECIPIENT_RETRY_TIMING = Object.freeze({
55
55
  * Repeat a promote's recipient read while it fails with a retryable authority
56
56
  * outage and the bound allows.
57
57
  *
58
- * The recipient read accepts its roster only while the node-wide authority
59
- * facts revision stands still, and it gives up after a few attempts. Work that
58
+ * The recipient read accepts its roster only while the facts it depends on
59
+ * stand still, and it gives up after a few attempts. For a private roster those
60
+ * are the roster, the peer allowlist and the members' keys and routes (GH#3067);
61
+ * the other kinds also watch the node-wide authority facts revision. Work that
60
62
  * has nothing to do with this promote moves that revision: after a Context
61
63
  * Graph is registered the node reconciles the new graph's gossip subscription
62
- * several times within a few hundred milliseconds. A share sent straight after
63
- * a registration can therefore use up those attempts and report the roster as
64
- * temporarily unavailable, although no fact changed and the same read succeeds
65
- * moments later.
64
+ * several times within a few hundred milliseconds. A share of one of the other
65
+ * kinds sent straight after a registration can therefore use up those attempts
66
+ * and report the roster as temporarily unavailable, although no fact changed
67
+ * and the same read succeeds moments later.
66
68
  *
67
69
  * Repeating it is safe. It only reads authority and recipient keys, it fails
68
70
  * closed every time, and the publisher asks for it before the attempt claims
@@ -1 +1 @@
1
- {"version":3,"file":"assertion-promote-precommit.js","sourceRoot":"","sources":["../../../src/internal/promote/assertion-promote-precommit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assertion-promote-precommit.js","sourceRoot":"","sources":["../../../src/internal/promote/assertion-promote-precommit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import type { Quad, TripleStore } from '@origintrail-official/dkg-storage';
2
+ import type { StoreMutation, StoreMutationOutcome, StoreRemoval } from './store-mutation.js';
3
+ /** The predicates a recipient key lookup reads. Each is read only on an agent DID or key IRI subject. */
4
+ export declare const RECIPIENT_KEY_ROUTE_PREDICATES: ReadonlySet<string>;
5
+ /**
6
+ * A revision that moves only when a write can change which recipient keys or
7
+ * routes a private-roster resolution finds. It ignores the job, share, metadata
8
+ * and content writes that move the node-wide authority revision on a busy node.
9
+ *
10
+ * Fail closed: anything this class cannot prove harmless moves the revision.
11
+ * A removal is harmless when its subject is not an agent DID, its predicate is
12
+ * not a key or route predicate, or its graph has never held such a fact. The
13
+ * lookup reads every named graph, so the graphs that hold key facts are found
14
+ * by one scan and kept current from every write that names its quads. A write
15
+ * is opaque when it may change anything, or stores a key fact under a graph
16
+ * name that is not a bare IRI (an adapter may store it under another name): the
17
+ * list is not trusted while it is in flight, nor after it has changed something,
18
+ * until a scan has run again. An opaque write whose outcome is unknown may still
19
+ * commit later, into a graph no scan has seen, so after one the list is never
20
+ * trusted again and a removal moves the revision unless its subject or predicate
21
+ * proves it harmless.
22
+ */
23
+ export declare class RecipientKeyRouteFence {
24
+ private readonly store;
25
+ private value;
26
+ private readonly keyGraphs;
27
+ private staleGeneration;
28
+ private scannedGeneration;
29
+ private pendingEverything;
30
+ private graphsUnknown;
31
+ private scan;
32
+ constructor(store: TripleStore);
33
+ get revision(): number;
34
+ private get trusted();
35
+ /**
36
+ * A write is about to be dispatched. The graphs of its quads are learned before
37
+ * it can commit, so no removal of one of them completes while it is unknown. An
38
+ * opaque write makes the list untrusted until it has settled and the graphs have
39
+ * been scanned again. Returns what to call when it settles.
40
+ */
41
+ begin(mutation: StoreMutation): (outcome?: StoreMutationOutcome) => void;
42
+ /** Quads that were inserted, removed or replaced into a graph. */
43
+ noteQuads(quads: readonly Quad[]): void;
44
+ /** A removal whose scope is known, in whole or in part. */
45
+ noteRemoval({ graph, subject, predicate }: StoreRemoval): void;
46
+ /** A write that may have changed anything has changed something (an UPDATE, a prefix delete). */
47
+ noteUnscopedWrite(): void;
48
+ /**
49
+ * Make the set of key-holding graphs trustworthy before a resolution reads the
50
+ * revision. A failed scan, or one that overlapped a write that may change
51
+ * anything, leaves it untrusted, so removals keep moving the revision until a
52
+ * later scan.
53
+ */
54
+ ensureReady(): Promise<void>;
55
+ private scanKeyGraphs;
56
+ }
57
+ //# sourceMappingURL=recipient-key-route-fence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recipient-key-route-fence.d.ts","sourceRoot":"","sources":["../../src/internal/recipient-key-route-fence.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAE3E,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE7F,yGAAyG;AACzG,eAAO,MAAM,8BAA8B,EAAE,WAAW,CAAC,MAAM,CAE9D,CAAC;AA0BF;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,sBAAsB;IASrB,OAAO,CAAC,QAAQ,CAAC,KAAK;IARlC,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,iBAAiB,CAAM;IAC/B,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,IAAI,CAA8B;gBAEb,KAAK,EAAE,WAAW;IAE/C,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,OAAO,KAAK,OAAO,GAElB;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,EAAE,aAAa,GAAG,CAAC,OAAO,CAAC,EAAE,oBAAoB,KAAK,IAAI;IAmCxE,kEAAkE;IAClE,SAAS,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,IAAI;IAYvC,2DAA2D;IAC3D,WAAW,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,YAAY,GAAG,IAAI;IAO9D,iGAAiG;IACjG,iBAAiB,IAAI,IAAI;IAKzB;;;;;OAKG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;YAMpB,aAAa;CAa5B"}
@@ -0,0 +1,169 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ import { AGENT_DID_PREFIX, isSafeIri, unwrapIri } from '@origintrail-official/dkg-core';
3
+ import { WORKSPACE_RECIPIENT_KEY_ROUTE_PREDICATES } from '@origintrail-official/dkg-publisher';
4
+ /** The predicates a recipient key lookup reads. Each is read only on an agent DID or key IRI subject. */
5
+ export const RECIPIENT_KEY_ROUTE_PREDICATES = new Set(WORKSPACE_RECIPIENT_KEY_ROUTE_PREDICATES);
6
+ // One branch per predicate, so every pattern is bound by its predicate and the scan
7
+ // reads only the key and route facts, never every triple of every graph.
8
+ const KEY_GRAPH_SCAN = `SELECT DISTINCT ?g WHERE {
9
+ ${[...RECIPIENT_KEY_ROUTE_PREDICATES].map((predicate) => `{ GRAPH ?g { ?s <${predicate}> ?o } }`).join('\n UNION\n ')}
10
+ FILTER(STRSTARTS(STR(?s), "${AGENT_DID_PREFIX}"))
11
+ }`;
12
+ // Harmlessness is proven only by a bare IRI that is not an agent DID. Some adapters
13
+ // read an empty term as a wildcard, rewrite unsafe characters, and turn a blank node
14
+ // in a delete into a variable that can match any subject; none of those prove
15
+ // anything, and `isSafeIri` refuses all of them (and brackets, and a name without
16
+ // a scheme).
17
+ const isNonAgentIri = (term) => (term !== undefined && isSafeIri(term) && !term.startsWith(AGENT_DID_PREFIX));
18
+ const isBareIri = (term) => term !== undefined && isSafeIri(term);
19
+ // A predicate that is not a bare IRI may be stored under another name (an adapter cleans unsafe
20
+ // characters), so it cannot be shown to be something other than a key or route predicate.
21
+ const isKeyRouteFact = (quad) => ((RECIPIENT_KEY_ROUTE_PREDICATES.has(unwrapIri(quad.predicate)) || !isBareIri(quad.predicate))
22
+ && !isNonAgentIri(quad.subject));
23
+ /**
24
+ * A revision that moves only when a write can change which recipient keys or
25
+ * routes a private-roster resolution finds. It ignores the job, share, metadata
26
+ * and content writes that move the node-wide authority revision on a busy node.
27
+ *
28
+ * Fail closed: anything this class cannot prove harmless moves the revision.
29
+ * A removal is harmless when its subject is not an agent DID, its predicate is
30
+ * not a key or route predicate, or its graph has never held such a fact. The
31
+ * lookup reads every named graph, so the graphs that hold key facts are found
32
+ * by one scan and kept current from every write that names its quads. A write
33
+ * is opaque when it may change anything, or stores a key fact under a graph
34
+ * name that is not a bare IRI (an adapter may store it under another name): the
35
+ * list is not trusted while it is in flight, nor after it has changed something,
36
+ * until a scan has run again. An opaque write whose outcome is unknown may still
37
+ * commit later, into a graph no scan has seen, so after one the list is never
38
+ * trusted again and a removal moves the revision unless its subject or predicate
39
+ * proves it harmless.
40
+ */
41
+ export class RecipientKeyRouteFence {
42
+ store;
43
+ value = 0;
44
+ keyGraphs = new Set();
45
+ staleGeneration = 0;
46
+ scannedGeneration = -1;
47
+ pendingEverything = 0;
48
+ graphsUnknown = false;
49
+ scan = null;
50
+ constructor(store) {
51
+ this.store = store;
52
+ }
53
+ get revision() {
54
+ return this.value;
55
+ }
56
+ get trusted() {
57
+ return !this.graphsUnknown && this.scannedGeneration === this.staleGeneration;
58
+ }
59
+ /**
60
+ * A write is about to be dispatched. The graphs of its quads are learned before
61
+ * it can commit, so no removal of one of them completes while it is unknown. An
62
+ * opaque write makes the list untrusted until it has settled and the graphs have
63
+ * been scanned again. Returns what to call when it settles.
64
+ */
65
+ begin(mutation) {
66
+ const unscoped = mutation.everything === true
67
+ || mutation.quads?.some((quad) => !isBareIri(quad.predicate)) === true
68
+ || mutation.removals?.some(({ graph }) => !isBareIri(graph)) === true;
69
+ let opaque = unscoped;
70
+ for (const quad of mutation.quads ?? []) {
71
+ if (!isKeyRouteFact(quad))
72
+ continue;
73
+ if (isBareIri(quad.graph))
74
+ this.keyGraphs.add(quad.graph);
75
+ else
76
+ opaque = true;
77
+ }
78
+ if (opaque) {
79
+ this.staleGeneration += 1;
80
+ this.pendingEverything += 1;
81
+ }
82
+ let settled = false;
83
+ return (outcome = 'changed') => {
84
+ if (settled)
85
+ return;
86
+ settled = true;
87
+ try {
88
+ if (outcome !== 'unchanged') {
89
+ if (unscoped)
90
+ this.noteUnscopedWrite();
91
+ else {
92
+ for (const removal of mutation.removals ?? [])
93
+ this.noteRemoval(removal);
94
+ if (mutation.quads)
95
+ this.noteQuads(mutation.quads);
96
+ }
97
+ }
98
+ }
99
+ finally {
100
+ if (opaque) {
101
+ this.pendingEverything -= 1;
102
+ if (outcome === 'indeterminate')
103
+ this.graphsUnknown = true;
104
+ }
105
+ }
106
+ };
107
+ }
108
+ /** Quads that were inserted, removed or replaced into a graph. */
109
+ noteQuads(quads) {
110
+ let changed = false;
111
+ for (const quad of quads) {
112
+ if (!isKeyRouteFact(quad))
113
+ continue;
114
+ // A name that is not a bare IRI may be stored under another one: the next scan learns it.
115
+ if (isBareIri(quad.graph))
116
+ this.keyGraphs.add(quad.graph);
117
+ else
118
+ this.staleGeneration += 1;
119
+ changed = true;
120
+ }
121
+ if (changed)
122
+ this.value += 1;
123
+ }
124
+ /** A removal whose scope is known, in whole or in part. */
125
+ noteRemoval({ graph, subject, predicate }) {
126
+ if (isNonAgentIri(subject))
127
+ return;
128
+ if (isBareIri(predicate) && !RECIPIENT_KEY_ROUTE_PREDICATES.has(predicate))
129
+ return;
130
+ if (isBareIri(graph) && this.trusted && !this.keyGraphs.has(graph))
131
+ return;
132
+ this.value += 1;
133
+ }
134
+ /** A write that may have changed anything has changed something (an UPDATE, a prefix delete). */
135
+ noteUnscopedWrite() {
136
+ this.value += 1;
137
+ this.staleGeneration += 1;
138
+ }
139
+ /**
140
+ * Make the set of key-holding graphs trustworthy before a resolution reads the
141
+ * revision. A failed scan, or one that overlapped a write that may change
142
+ * anything, leaves it untrusted, so removals keep moving the revision until a
143
+ * later scan.
144
+ */
145
+ async ensureReady() {
146
+ if (this.trusted || this.graphsUnknown)
147
+ return;
148
+ this.scan ??= this.scanKeyGraphs().finally(() => { this.scan = null; });
149
+ await this.scan;
150
+ }
151
+ async scanKeyGraphs() {
152
+ const generation = this.staleGeneration;
153
+ try {
154
+ const result = await this.store.query(KEY_GRAPH_SCAN, { source: 'agent.recipientKeyRouteFence.scan' });
155
+ if (result.type !== 'bindings')
156
+ return;
157
+ for (const row of result.bindings) {
158
+ if (typeof row['g'] === 'string')
159
+ this.keyGraphs.add(unwrapIri(row['g']));
160
+ }
161
+ if (generation === this.staleGeneration && this.pendingEverything === 0)
162
+ this.scannedGeneration = generation;
163
+ }
164
+ catch {
165
+ // Not ready: every removal that cannot be proven harmless by subject or predicate still moves the revision.
166
+ }
167
+ }
168
+ }
169
+ //# sourceMappingURL=recipient-key-route-fence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recipient-key-route-fence.js","sourceRoot":"","sources":["../../src/internal/recipient-key-route-fence.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { Quad } from '@origintrail-official/dkg-storage';
2
+ /** What a removal names. An absent field means "any". */
3
+ export interface StoreRemoval {
4
+ readonly graph?: string;
5
+ readonly subject?: string;
6
+ readonly predicate?: string;
7
+ }
8
+ /** What a store write does, described once and reused before it is dispatched and after it settles. */
9
+ export interface StoreMutation {
10
+ /** Quads it inserts, or removes by value (a blank node among them can stand for any subject). */
11
+ readonly quads?: readonly Quad[];
12
+ /** What it removes by scope. */
13
+ readonly removals?: readonly StoreRemoval[];
14
+ /** It may change anything (an UPDATE, a prefix delete). */
15
+ readonly everything?: boolean;
16
+ }
17
+ /**
18
+ * How a write ended. `unchanged`: it provably changed nothing (it succeeded without
19
+ * effect, or was refused before dispatch). `indeterminate`: it failed in a way that
20
+ * does not prove it did not commit (a timeout, a lost response), so a remote backend
21
+ * may still apply it later.
22
+ */
23
+ export type StoreMutationOutcome = 'changed' | 'unchanged' | 'indeterminate';
24
+ export interface StoreMutationObserver {
25
+ /** Called before a write is dispatched. The returned function is called exactly once, when the write settles. */
26
+ begin(mutation: StoreMutation): (outcome: StoreMutationOutcome) => void;
27
+ }
28
+ //# sourceMappingURL=store-mutation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-mutation.d.ts","sourceRoot":"","sources":["../../src/internal/store-mutation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC;AAE9D,yDAAyD;AACzD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,uGAAuG;AACvG,MAAM,WAAW,aAAa;IAC5B,iGAAiG;IACjG,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;IACjC,gCAAgC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IAC5C,2DAA2D;IAC3D,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,WAAW,GAAG,eAAe,CAAC;AAE7E,MAAM,WAAW,qBAAqB;IACpC,iHAAiH;IACjH,KAAK,CAAC,QAAQ,EAAE,aAAa,GAAG,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAC;CACzE"}
@@ -0,0 +1,3 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ export {};
3
+ //# sourceMappingURL=store-mutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-mutation.js","sourceRoot":"","sources":["../../src/internal/store-mutation.ts"],"names":[],"mappings":"AAAA,sCAAsC"}
@@ -0,0 +1,19 @@
1
+ /** Main-thread CPU a sliced loop may use before timers and I/O get a turn. */
2
+ export declare const MAIN_THREAD_TIME_SLICE_MS = 25;
3
+ /**
4
+ * One full turn of the event loop: due timers and ready I/O both run before
5
+ * the caller continues. One immediate is not enough for a caller that was
6
+ * resumed by an I/O callback: it runs in the same loop iteration, ahead of the
7
+ * next timers phase. The second one cannot. Use it between two phases that
8
+ * each walk a whole set.
9
+ */
10
+ export declare function yieldMainThread(): Promise<void>;
11
+ /**
12
+ * Checkpoint for a CPU-bound loop that runs on the daemon's main thread.
13
+ * Await it between iterations: once the work since the last turn has used
14
+ * `sliceMs`, it gives the event loop one full turn before the loop continues.
15
+ * A resolved promise does not do that: its continuation runs before the
16
+ * event loop moves on. The total CPU is unchanged.
17
+ */
18
+ export declare function createMainThreadTimeSlice(sliceMs?: number): () => Promise<void>;
19
+ //# sourceMappingURL=main-thread-time-slice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main-thread-time-slice.d.ts","sourceRoot":"","sources":["../src/main-thread-time-slice.ts"],"names":[],"mappings":"AAIA,8EAA8E;AAC9E,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C;;;;;;GAMG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAGrD;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,MAAkC,GAC1C,MAAM,OAAO,CAAC,IAAI,CAAC,CAOrB"}
@@ -0,0 +1,32 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ import { setImmediate as nextMacrotask } from 'node:timers/promises';
3
+ /** Main-thread CPU a sliced loop may use before timers and I/O get a turn. */
4
+ export const MAIN_THREAD_TIME_SLICE_MS = 25;
5
+ /**
6
+ * One full turn of the event loop: due timers and ready I/O both run before
7
+ * the caller continues. One immediate is not enough for a caller that was
8
+ * resumed by an I/O callback: it runs in the same loop iteration, ahead of the
9
+ * next timers phase. The second one cannot. Use it between two phases that
10
+ * each walk a whole set.
11
+ */
12
+ export async function yieldMainThread() {
13
+ await nextMacrotask();
14
+ await nextMacrotask();
15
+ }
16
+ /**
17
+ * Checkpoint for a CPU-bound loop that runs on the daemon's main thread.
18
+ * Await it between iterations: once the work since the last turn has used
19
+ * `sliceMs`, it gives the event loop one full turn before the loop continues.
20
+ * A resolved promise does not do that: its continuation runs before the
21
+ * event loop moves on. The total CPU is unchanged.
22
+ */
23
+ export function createMainThreadTimeSlice(sliceMs = MAIN_THREAD_TIME_SLICE_MS) {
24
+ let sliceStartedAt = performance.now();
25
+ return async () => {
26
+ if (performance.now() - sliceStartedAt < sliceMs)
27
+ return;
28
+ await yieldMainThread();
29
+ sliceStartedAt = performance.now();
30
+ };
31
+ }
32
+ //# sourceMappingURL=main-thread-time-slice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main-thread-time-slice.js","sourceRoot":"","sources":["../src/main-thread-time-slice.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAEtC,OAAO,EAAE,YAAY,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErE,8EAA8E;AAC9E,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,aAAa,EAAE,CAAC;IACtB,MAAM,aAAa,EAAE,CAAC;AACxB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CACvC,UAAkB,yBAAyB;IAE3C,IAAI,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IACvC,OAAO,KAAK,IAAmB,EAAE;QAC/B,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,cAAc,GAAG,OAAO;YAAE,OAAO;QACzD,MAAM,eAAe,EAAE,CAAC;QACxB,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IACrC,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"storage-ack-registrar.d.ts","sourceRoot":"","sources":["../../src/p2p/storage-ack-registrar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage-ack-registrar.d.ts","sourceRoot":"","sources":["../../src/p2p/storage-ack-registrar.ts"],"names":[],"mappings":"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"}
@@ -107,11 +107,9 @@ export function createStorageACKRegistrationPlan(ports) {
107
107
  chainId: chainIdForHandler,
108
108
  kav10Address: kav10AddressForHandler,
109
109
  workspaceWriteLocks: ports.writeLocks,
110
- resolveDurableRootAtomicCompanion: (input) => {
111
- if (ports.config.dataDir === undefined)
112
- return;
113
- return ports.prepareDurableRootAtomicCompanion(input);
114
- },
110
+ resolveDurableRootAtomicCompanion: ports.config.dataDir === undefined
111
+ ? undefined
112
+ : ports.prepareDurableRootAtomicCompanion,
115
113
  ackHandlerDeadlineMs: ports.config.storageAckTiming.handlerDeadlineMs,
116
114
  // Codex review (round 2) on PR #727: must NOT collapse to a
117
115
  // plain `gossipWireIdFor` because `PublishIntent.swmGraphId`
@@ -1 +1 @@
1
- {"version":3,"file":"storage-ack-registrar.js","sourceRoot":"","sources":["../../src/p2p/storage-ack-registrar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage-ack-registrar.js","sourceRoot":"","sources":["../../src/p2p/storage-ack-registrar.ts"],"names":[],"mappings":"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"}