@xyo-network/event-kit-statement-graph 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Finalized Statement Graph replay and Event Kit handshake read models.
4
4
 
5
- The package has three public seams:
5
+ The package has four public seams:
6
6
 
7
7
  - `createFinalizedEventKitReplayController` folds the Event Kit lifecycle
8
8
  vocabulary from finalized XL1 blocks and hash-verified bodies;
@@ -10,7 +10,9 @@ The package has three public seams:
10
10
  subscription, grant, acceptance, replacement, and revocation views from that
11
11
  replay; and
12
12
  - `createStatementGraphGrantReadModel` adapts a canonical Statement Graph
13
- viewer to the narrower wake-admission grant port.
13
+ viewer to the narrower wake-admission grant port; and
14
+ - `createActiveSourceWakeGrantAuthorizer` requires the exact active D-005
15
+ subscription and its exact live grant for source-aware delivery.
14
16
 
15
17
  ## Finalized replay
16
18
 
@@ -48,10 +50,10 @@ claimed objects and acceptance attachments through the datalake. The Gate 2
48
50
  live rerun against that release remains the acceptance boundary.
49
51
 
50
52
  Statement Graph `0.5.0` uses fold version 4 and scan-checkpoint format 2. Event
51
- Kit's publisher-scoped outer checkpoint is also format 2. Checkpoints produced
52
- by the earlier pre-subject Phase 2 candidate fail closed; archive or discard
53
- them and rebuild from the configured floor. Gate 2 has not accepted a durable
54
- format that requires in-place migration.
53
+ Kit's publisher-scoped outer checkpoint is also format 2. Only the exact
54
+ current checkpoint and ordered Event Kit schema policy are accepted. Missing,
55
+ additional, reordered, or version-suffixed policy entries fail closed as
56
+ invalid content; no alternative-policy reader or in-place migration exists.
55
57
 
56
58
  `status()` exposes two distinct watermarks:
57
59
 
@@ -122,7 +124,14 @@ acceptance. Phase 4 adds the resident scanner and service orchestration.
122
124
 
123
125
  ```ts
124
126
  const readModel = createStatementGraphGrantReadModel({ viewer: replay.viewer() })
125
- const grants = createStatementGraphWakeGrantAuthorizer({ viewer: readModel })
127
+ const grants = createActiveSourceWakeGrantAuthorizer({
128
+ route,
129
+ publisher,
130
+ serviceHash,
131
+ grantHash,
132
+ viewer: readModel,
133
+ handshake: handshakes,
134
+ })
126
135
  ```
127
136
 
128
137
  The adapter parses branded addresses and hashes rather than casting them and
@@ -136,6 +145,22 @@ claimed by the authorized controller. See
136
145
 
137
146
  ## Evidence boundary
138
147
 
148
+ For source-aware ingress, construct `createActiveSourceWakeGrantAuthorizer`
149
+ with `{route, publisher, serviceHash, grantHash, viewer, handshake}`. The route
150
+ includes `authorizationChainId`, exact `source`, canonical `filterHash`, and
151
+ immutable `subscriptionHash`. `viewer` is the grant read model and `handshake`
152
+ is the finalized handshake read model over the same pinned chain. Both must
153
+ identify the independently read, uncapped finalized XL1 head. The helper rejects
154
+ pending, expired, revoked, superseded, wrong-service, or stale bindings and will
155
+ not substitute another grant with the same deployment/queue scope. Existing
156
+ accepted subscriptions continue after advertisement retirement as D-005 allows.
157
+
158
+ Discovery and reconciliation use the single source-aware event kind,
159
+ `SOURCE_WAKE_EVENT_KIND`. Source identity remains explicit in the service and
160
+ encrypted filter; it is never inferred from the authorization chain.
161
+
162
+ ## Verification scope
163
+
139
164
  Offline deterministic-chain specs currently cover:
140
165
 
141
166
  - strict checkpoint round-trip and dataset-identity rejection;
@@ -0,0 +1,18 @@
1
+ import type { StatementGraphGrantReadModel, WakeAdmissionRoute, WakeGrantAuthorizer } from '@xyo-network/event-kit-protocol';
2
+ import type { EventKitHandshakeReadModel } from './handshakeReadModelTypes.ts';
3
+ export interface ActiveSourceWakeGrantAuthorizerOptions {
4
+ readonly grantHash: string;
5
+ /** Finalized replay read model over the same pinned authorization chain as viewer. */
6
+ readonly handshake: EventKitHandshakeReadModel;
7
+ readonly publisher: string;
8
+ readonly route: WakeAdmissionRoute;
9
+ readonly serviceHash: string;
10
+ readonly viewer: StatementGraphGrantReadModel;
11
+ }
12
+ /**
13
+ * Production D-006 receiver authorization: one exact active D-005 subscription
14
+ * plus its exact still-live grant. The injected view must be caught up to the
15
+ * receiver's independent uncapped XL1 finalized head before admission.
16
+ */
17
+ export declare function createActiveSourceWakeGrantAuthorizer(options: ActiveSourceWakeGrantAuthorizerOptions): WakeGrantAuthorizer;
18
+ //# sourceMappingURL=activeSourceWakeGrantAuthorizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activeSourceWakeGrantAuthorizer.d.ts","sourceRoot":"","sources":["../../src/activeSourceWakeGrantAuthorizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,4BAA4B,EAC5B,kBAAkB,EAElB,mBAAmB,EACpB,MAAM,iCAAiC,CAAA;AAexC,OAAO,KAAK,EACV,0BAA0B,EAE3B,MAAM,8BAA8B,CAAA;AAErC,MAAM,WAAW,sCAAsC;IACrD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,sFAAsF;IACtF,QAAQ,CAAC,SAAS,EAAE,0BAA0B,CAAA;IAC9C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAA;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,4BAA4B,CAAA;CAC9C;AA4CD;;;;GAIG;AACH,wBAAgB,qCAAqC,CACnD,OAAO,EAAE,sCAAsC,GAC9C,mBAAmB,CA8DrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"grantReadModel.d.ts","sourceRoot":"","sources":["../../src/grantReadModel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAIV,4BAA4B,EAC7B,MAAM,iCAAiC,CAAA;AAExC,OAAO,KAAK,EAEV,oBAAoB,EACrB,MAAM,yCAAyC,CAAA;AAGhD,MAAM,WAAW,mCAAmC;IAClD;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAA;CACtC;AAED;;;;;;;;;GASG;AACH,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,mCAAmC,GAC3C,4BAA4B,CAqB9B"}
1
+ {"version":3,"file":"grantReadModel.d.ts","sourceRoot":"","sources":["../../src/grantReadModel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAIV,4BAA4B,EAC7B,MAAM,iCAAiC,CAAA;AAExC,OAAO,KAAK,EAEV,oBAAoB,EACrB,MAAM,yCAAyC,CAAA;AAMhD,MAAM,WAAW,mCAAmC;IAClD;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAA;CACtC;AAED;;;;;;;;;GASG;AACH,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,mCAAmC,GAC3C,4BAA4B,CAqB9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"handshakeCatalog.d.ts","sourceRoot":"","sources":["../../src/handshakeCatalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handshakeCatalog.d.ts","sourceRoot":"","sources":["../../src/handshakeCatalog.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"handshakeReadModel.d.ts","sourceRoot":"","sources":["../../src/handshakeReadModel.ts"],"names":[],"mappings":"AA8CA,OAAO,KAAK,EAEV,0BAA0B,EAC1B,iCAAiC,EAWlC,MAAM,8BAA8B,CAAA;AA8YrC,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,iCAAiC,GACzC,0BAA0B,CA8D5B"}
1
+ {"version":3,"file":"handshakeReadModel.d.ts","sourceRoot":"","sources":["../../src/handshakeReadModel.ts"],"names":[],"mappings":"AAiDA,OAAO,KAAK,EAEV,0BAA0B,EAC1B,iCAAiC,EAWlC,MAAM,8BAA8B,CAAA;AAiZrC,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,iCAAiC,GACzC,0BAA0B,CA8D5B"}
@@ -1,5 +1,5 @@
1
1
  import type { SubscriptionActivationFailureReason } from '@xyo-network/event-kit-protocol';
2
- import type { EncryptedWakeSubscription, FINALIZED_HEAD_EVENT_KIND, PublisherEncryptionKey, PublisherService, WakeGrantObject, WakeSubscriptionAcceptance } from '@xyo-network/event-kit-schemas';
2
+ import type { EncryptedWakeSubscription, PublisherEncryptionKey, PublisherService, SOURCE_WAKE_EVENT_KIND, WakeGrantObject, WakeSubscriptionAcceptance } from '@xyo-network/event-kit-schemas';
3
3
  import type { StatementGraphViewer } from '@xyo-network/xl1-statement-graph-engine';
4
4
  export interface HandshakeClaimEvidence {
5
5
  readonly block: number;
@@ -116,7 +116,7 @@ export interface EventKitHandshakeReadModelOptions {
116
116
  }
117
117
  export interface PublisherHandshakeQuery {
118
118
  readonly chainId: string;
119
- readonly eventKind?: typeof FINALIZED_HEAD_EVENT_KIND;
119
+ readonly eventKind?: typeof SOURCE_WAKE_EVENT_KIND;
120
120
  readonly finalizedHead: number;
121
121
  readonly publisher: string;
122
122
  readonly serviceId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"handshakeReadModelTypes.d.ts","sourceRoot":"","sources":["../../src/handshakeReadModelTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handshakeReadModelTypes.d.ts","sourceRoot":"","sources":["../../src/handshakeReadModelTypes.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ export type { ActiveSourceWakeGrantAuthorizerOptions } from './activeSourceWakeGrantAuthorizer.ts';
2
+ export { createActiveSourceWakeGrantAuthorizer } from './activeSourceWakeGrantAuthorizer.ts';
1
3
  export { createCheckpointStatementGraphViewer } from './checkpointViewer.ts';
2
4
  export { EventKitClaimedObjectSchemas, EventKitClaimedObjectSchemaSet, } from './eventKitSchemaPolicy.ts';
3
5
  export type { EventKitReplayCheckpointStore, FinalizedEventKitReplayController, FinalizedEventKitReplayOptions, FinalizedEventKitReplayStatus, } from './finalizedReplayController.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oCAAoC,EAAE,MAAM,uBAAuB,CAAA;AAC5E,OAAO,EACL,4BAA4B,EAC5B,8BAA8B,GAC/B,MAAM,2BAA2B,CAAA;AAClC,YAAY,EACV,6BAA6B,EAC7B,iCAAiC,EACjC,8BAA8B,EAC9B,6BAA6B,GAC9B,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACL,uCAAuC,EACvC,yCAAyC,GAC1C,MAAM,gCAAgC,CAAA;AACvC,YAAY,EAAE,mCAAmC,EAAE,MAAM,qBAAqB,CAAA;AAC9E,OAAO,EAAE,kCAAkC,EAAE,MAAM,qBAAqB,CAAA;AACxE,OAAO,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAA;AAC1E,YAAY,EACV,sBAAsB,EACtB,0BAA0B,EAC1B,iCAAiC,EACjC,0BAA0B,EAC1B,sBAAsB,EACtB,4BAA4B,EAC5B,qCAAqC,EACrC,4CAA4C,EAC5C,iCAAiC,EACjC,uBAAuB,EACvB,sBAAsB,EACtB,6BAA6B,EAC7B,wCAAwC,EACxC,2CAA2C,EAC3C,yBAAyB,EACzB,gCAAgC,EAChC,sCAAsC,EACtC,gCAAgC,EAChC,yBAAyB,EACzB,4BAA4B,EAC5B,mCAAmC,EACnC,8CAA8C,EAC9C,iDAAiD,EACjD,2BAA2B,EAC3B,0BAA0B,EAC1B,0BAA0B,EAC1B,gCAAgC,GACjC,MAAM,8BAA8B,CAAA;AACrC,YAAY,EACV,wBAAwB,EACxB,gCAAgC,EAChC,4BAA4B,EAC5B,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,mCAAmC,EACnC,2BAA2B,EAC3B,4BAA4B,EAC5B,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,sCAAsC,EAAE,MAAM,sCAAsC,CAAA;AAClG,OAAO,EAAE,qCAAqC,EAAE,MAAM,sCAAsC,CAAA;AAC5F,OAAO,EAAE,oCAAoC,EAAE,MAAM,uBAAuB,CAAA;AAC5E,OAAO,EACL,4BAA4B,EAC5B,8BAA8B,GAC/B,MAAM,2BAA2B,CAAA;AAClC,YAAY,EACV,6BAA6B,EAC7B,iCAAiC,EACjC,8BAA8B,EAC9B,6BAA6B,GAC9B,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACL,uCAAuC,EACvC,yCAAyC,GAC1C,MAAM,gCAAgC,CAAA;AACvC,YAAY,EAAE,mCAAmC,EAAE,MAAM,qBAAqB,CAAA;AAC9E,OAAO,EAAE,kCAAkC,EAAE,MAAM,qBAAqB,CAAA;AACxE,OAAO,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAA;AAC1E,YAAY,EACV,sBAAsB,EACtB,0BAA0B,EAC1B,iCAAiC,EACjC,0BAA0B,EAC1B,sBAAsB,EACtB,4BAA4B,EAC5B,qCAAqC,EACrC,4CAA4C,EAC5C,iCAAiC,EACjC,uBAAuB,EACvB,sBAAsB,EACtB,6BAA6B,EAC7B,wCAAwC,EACxC,2CAA2C,EAC3C,yBAAyB,EACzB,gCAAgC,EAChC,sCAAsC,EACtC,gCAAgC,EAChC,yBAAyB,EACzB,4BAA4B,EAC5B,mCAAmC,EACnC,8CAA8C,EAC9C,iDAAiD,EACjD,2BAA2B,EAC3B,0BAA0B,EAC1B,0BAA0B,EAC1B,gCAAgC,GACjC,MAAM,8BAA8B,CAAA;AACrC,YAAY,EACV,wBAAwB,EACxB,gCAAgC,EAChC,4BAA4B,EAC5B,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,mCAAmC,EACnC,2BAA2B,EAC3B,4BAA4B,EAC5B,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,uBAAuB,CAAA"}
@@ -1,3 +1,87 @@
1
+ // src/activeSourceWakeGrantAuthorizer.ts
2
+ import {
3
+ createStatementGraphWakeGrantAuthorizer,
4
+ sourceWakeFilterHash,
5
+ WakeAdmissionRouteZod,
6
+ wakeSourceHash,
7
+ wakeSourcesEqual
8
+ } from "@xyo-network/event-kit-protocol";
9
+ import {
10
+ HashZod,
11
+ NormalizedAddressZod,
12
+ SOURCE_WAKE_EVENT_KIND,
13
+ SOURCE_WAKE_FILTER_PROFILE
14
+ } from "@xyo-network/event-kit-schemas";
15
+ function exactActiveTuple(subscriptions, binding, expectedHead) {
16
+ const active = subscriptions.filter((subscription) => subscription.subscriber === binding.route.controller && subscription.state === "active" && subscription.selectedSubscription === binding.route.subscriptionHash && subscription.activeFromBlock !== void 0 && subscription.activeFromBlock <= expectedHead && subscription.acceptance?.body.subscription === binding.route.subscriptionHash && subscription.acceptance.body.service === binding.serviceHash && subscription.acceptance.body.grant === binding.grantHash && subscription.acceptance.evidence.source === binding.publisher);
17
+ if (active.length !== 1) return;
18
+ const selected = active[0];
19
+ const tuples = selected.tuples.filter((tuple2) => tuple2.subscription.objectHash === binding.route.subscriptionHash && tuple2.subscriber === binding.route.controller && tuple2.grant.objectHash === binding.grantHash && tuple2.grant.body.publisher === binding.publisher && tuple2.grant.body.deploymentId === binding.route.deploymentId && tuple2.grant.body.queueId === binding.route.queueId && tuple2.service.objectHash === binding.serviceHash && tuple2.subscription.body.publisher === binding.publisher && tuple2.subscription.body.chainId === binding.route.authorizationChainId && tuple2.subscription.body.eventKind === SOURCE_WAKE_EVENT_KIND && tuple2.subscription.body.expiresAtBlock > expectedHead);
20
+ if (tuples.length !== 1) return;
21
+ const tuple = tuples[0];
22
+ const service = tuple.service.body;
23
+ if (service.authorizationChainId !== binding.route.authorizationChainId || !service.events.some((event) => wakeSourcesEqual(event.source, binding.route.source))) return;
24
+ return { selected, tuple };
25
+ }
26
+ function createActiveSourceWakeGrantAuthorizer(options) {
27
+ const parsedRoute = WakeAdmissionRouteZod.parse(options.route);
28
+ const binding = Object.freeze({
29
+ route: Object.freeze({ ...parsedRoute, source: Object.freeze(parsedRoute.source) }),
30
+ publisher: NormalizedAddressZod.parse(options.publisher),
31
+ serviceHash: HashZod.parse(options.serviceHash),
32
+ grantHash: HashZod.parse(options.grantHash)
33
+ });
34
+ const { handshake, viewer } = options;
35
+ return createStatementGraphWakeGrantAuthorizer({
36
+ authorizationChainId: binding.route.authorizationChainId,
37
+ source: binding.route.source,
38
+ viewer,
39
+ activation: {
40
+ async read(request) {
41
+ if (request.publisher !== binding.publisher || request.controller !== binding.route.controller || request.deploymentId !== binding.route.deploymentId || request.queueId !== binding.route.queueId || request.subscriptionHash !== binding.route.subscriptionHash || request.filterHash !== binding.route.filterHash) return void 0;
42
+ const filterHash = await sourceWakeFilterHash({
43
+ schema: SOURCE_WAKE_FILTER_PROFILE,
44
+ source: binding.route.source,
45
+ fromPosition: binding.route.fromPosition,
46
+ maxPositionsPerWake: binding.route.maxPositionsPerWake
47
+ });
48
+ if (filterHash !== binding.route.filterHash) throw new TypeError("Route filter does not match its canonical hash");
49
+ if (await viewer.head() !== request.expectedHead) throw new Error("Grant projection is not at the trusted finalized head");
50
+ const view = await handshake.subscriber({
51
+ chainId: binding.route.authorizationChainId,
52
+ eventKind: SOURCE_WAKE_EVENT_KIND,
53
+ finalizedHead: request.expectedHead,
54
+ publisher: binding.publisher,
55
+ subscriber: binding.route.controller
56
+ });
57
+ if (!view.ok || view.finalizedHead !== request.expectedHead || view.indexedThrough !== request.expectedHead) {
58
+ throw new Error("Subscription projection is not at the trusted finalized head");
59
+ }
60
+ const exact = exactActiveTuple(view.subscriptions, binding, request.expectedHead);
61
+ if (exact === void 0) return void 0;
62
+ if (await viewer.head() !== request.expectedHead) throw new Error("Grant projection changed during activation lookup");
63
+ const activeFromBlock = exact.selected.activeFromBlock;
64
+ if (activeFromBlock === void 0) return void 0;
65
+ return {
66
+ atBlock: request.expectedHead,
67
+ activeFromBlock,
68
+ expiresAtBlock: exact.tuple.subscription.body.expiresAtBlock,
69
+ authorizationChainId: binding.route.authorizationChainId,
70
+ controller: binding.route.controller,
71
+ publisher: binding.publisher,
72
+ deploymentId: binding.route.deploymentId,
73
+ ...binding.route.queueId === void 0 ? {} : { queueId: binding.route.queueId },
74
+ sourceHash: await wakeSourceHash(binding.route.source),
75
+ filterHash,
76
+ subscriptionHash: binding.route.subscriptionHash,
77
+ serviceHash: binding.serviceHash,
78
+ grantHash: binding.grantHash
79
+ };
80
+ }
81
+ }
82
+ });
83
+ }
84
+
1
85
  // src/checkpointViewer.ts
2
86
  function eventKey(record) {
3
87
  return `${record.txHash}:${record.eventHash}`;
@@ -133,11 +217,11 @@ var EventKitClaimedObjectSchemas = Object.freeze([
133
217
  var EventKitClaimedObjectSchemaSet = new Set(EventKitClaimedObjectSchemas);
134
218
 
135
219
  // src/finalizedReplayController.ts
136
- import { HashZod as HashZod2 } from "@ariestools/sdk";
220
+ import { HashZod as HashZod3 } from "@ariestools/sdk";
137
221
  import {
138
222
  ChainIdZod as ChainIdZod2,
139
223
  normalizeAddress as normalizeAddress3,
140
- NormalizedAddressZod as NormalizedAddressZod2,
224
+ NormalizedAddressZod as NormalizedAddressZod3,
141
225
  WakeSubscriptionAcceptanceSchema as WakeSubscriptionAcceptanceSchema2,
142
226
  WakeSubscriptionAcceptanceZod
143
227
  } from "@xyo-network/event-kit-schemas";
@@ -148,8 +232,11 @@ import {
148
232
  } from "@xyo-network/xl1-statement-graph-sdk";
149
233
 
150
234
  // src/replayCheckpoint.ts
151
- import { HashZod } from "@ariestools/sdk";
152
- import { ChainIdZod, NormalizedAddressZod } from "@xyo-network/event-kit-schemas";
235
+ import { HashZod as HashZod2 } from "@ariestools/sdk";
236
+ import {
237
+ ChainIdZod,
238
+ NormalizedAddressZod as NormalizedAddressZod2
239
+ } from "@xyo-network/event-kit-schemas";
153
240
  import { PayloadBuilder } from "@xyo-network/sdk";
154
241
  import {
155
242
  AppliedEventRecordZod,
@@ -165,7 +252,7 @@ import { z } from "zod";
165
252
  var EVENT_KIT_REPLAY_CHECKPOINT_VERSION = 2;
166
253
  var ResolvedReplayBodyZod = z.strictObject({
167
254
  body: z.record(z.string(), z.unknown()),
168
- hash: HashZod
255
+ hash: HashZod2
169
256
  });
170
257
  var ReplayCorruptBodyZod = z.strictObject({
171
258
  claimedHash: z.string().optional(),
@@ -174,7 +261,7 @@ var ReplayCorruptBodyZod = z.strictObject({
174
261
  var ReplayBlockedStateZod = z.strictObject({
175
262
  atBlock: BlockNumberZod,
176
263
  corrupt: z.array(ReplayCorruptBodyZod),
177
- objectHashes: z.array(HashZod),
264
+ objectHashes: z.array(HashZod2),
178
265
  unresolvedEvents: z.array(UnresolvedEventReferenceZod)
179
266
  });
180
267
  var EventKitReplayCheckpointZod = z.strictObject({
@@ -188,14 +275,11 @@ var EventKitReplayCheckpointZod = z.strictObject({
188
275
  indexedThrough: z.union([BlockNumberZod, z.null()]),
189
276
  network: z.string().min(1),
190
277
  objectSchemas: z.tuple(EventKitClaimedObjectSchemas.map((schema) => z.literal(schema))),
191
- publisher: NormalizedAddressZod,
278
+ publisher: NormalizedAddressZod2,
192
279
  scan: z.union([StatementScanCheckpointZod, z.null()]),
193
280
  sourceId: z.string().min(1),
194
281
  version: z.literal(EVENT_KIT_REPLAY_CHECKPOINT_VERSION)
195
282
  });
196
- function sameSchemas(actual) {
197
- return actual.length === EventKitClaimedObjectSchemas.length && actual.every((schema, index) => schema === EventKitClaimedObjectSchemas[index]);
198
- }
199
283
  function appliedKey(record) {
200
284
  return `${record.txHash}:${record.eventHash}:${record.hashIndex}`;
201
285
  }
@@ -448,9 +532,6 @@ async function loadEventKitReplayCheckpoint(value, identity) {
448
532
  if (checkpoint.publisher !== identity.publisher) {
449
533
  return { detail: `publisher ${checkpoint.publisher} != ${identity.publisher}`, status: "identity-mismatch" };
450
534
  }
451
- if (!sameSchemas(checkpoint.objectSchemas)) {
452
- return { detail: "Event Kit indexed schema policy differs", status: "identity-mismatch" };
453
- }
454
535
  const bodyIntegrityError = await persistedBodyIntegrityError(checkpoint);
455
536
  if (bodyIntegrityError !== void 0) return { detail: bodyIntegrityError, status: "corrupt" };
456
537
  const integrityError = checkpointIntegrityError(checkpoint);
@@ -532,7 +613,7 @@ function mergeBodies(existing, additions) {
532
613
  }
533
614
  merged.set(hash, body);
534
615
  }
535
- return [...merged].map(([hash, body]) => ({ body, hash: HashZod2.parse(hash) })).toSorted((left, right) => left.hash.localeCompare(right.hash));
616
+ return [...merged].map(([hash, body]) => ({ body, hash: HashZod3.parse(hash) })).toSorted((left, right) => left.hash.localeCompare(right.hash));
536
617
  }
537
618
  async function stageBlock(options, prior, block) {
538
619
  const result = await scanFinalizedStatements(
@@ -573,7 +654,7 @@ async function stageBlock(options, prior, block) {
573
654
  ...missingObjects,
574
655
  ...schemaMismatchedObjects,
575
656
  ...missingAttachments
576
- ]).map((hash) => HashZod2.parse(hash));
657
+ ]).map((hash) => HashZod3.parse(hash));
577
658
  const isBlocked = result.unresolved.length > 0 || objectHashes.length > 0 || corrupt.length > 0;
578
659
  return {
579
660
  applied,
@@ -678,7 +759,7 @@ async function createFinalizedEventKitReplayController(rawOptions) {
678
759
  chainId: ChainIdZod2.parse(rawOptions.chainId),
679
760
  floorBlock: requireFloor(rawOptions.floorBlock),
680
761
  network: rawOptions.network.trim(),
681
- publisher: NormalizedAddressZod2.parse(rawOptions.publisher),
762
+ publisher: NormalizedAddressZod3.parse(rawOptions.publisher),
682
763
  sourceId: rawOptions.sourceId.trim()
683
764
  };
684
765
  if (options.network.length === 0) throw new TypeError("network must not be empty");
@@ -706,7 +787,7 @@ function createMemoryEventKitReplayCheckpointStore(initial) {
706
787
  }
707
788
 
708
789
  // src/grantReadModel.ts
709
- import { HashZod as HashZod3 } from "@ariestools/sdk";
790
+ import { HashZod as HashZod4 } from "@ariestools/sdk";
710
791
  import { XyoAddressZod } from "@xyo-network/sdk-protocol/address";
711
792
  function createStatementGraphGrantReadModel(options) {
712
793
  const { viewer } = options;
@@ -719,7 +800,7 @@ function createStatementGraphGrantReadModel(options) {
719
800
  return Object.freeze(records.map(toGrantClaim));
720
801
  },
721
802
  async object(objectHash) {
722
- const record = await viewer.object(HashZod3.parse(objectHash));
803
+ const record = await viewer.object(HashZod4.parse(objectHash));
723
804
  return record === void 0 ? void 0 : toGrantObject(record);
724
805
  }
725
806
  });
@@ -728,7 +809,7 @@ function toClaimQuery(query) {
728
809
  if (query === void 0) return void 0;
729
810
  return {
730
811
  ...query.declaredObjectSchemaPrefix === void 0 ? {} : { declaredObjectSchemaPrefix: query.declaredObjectSchemaPrefix },
731
- ...query.objectHash === void 0 ? {} : { objectHash: HashZod3.parse(query.objectHash) },
812
+ ...query.objectHash === void 0 ? {} : { objectHash: HashZod4.parse(query.objectHash) },
732
813
  ...query.subject === void 0 ? {} : { subject: XyoAddressZod.parse(query.subject) }
733
814
  };
734
815
  }
@@ -758,9 +839,9 @@ import {
758
839
  EncryptedWakeSubscriptionZod,
759
840
  EndpointChallengeResponseZod,
760
841
  EndpointChallengeZod,
761
- FINALIZED_HEAD_EVENT_KIND as FINALIZED_HEAD_EVENT_KIND2,
762
842
  HandshakeIdZod,
763
- NormalizedAddressZod as NormalizedAddressZod4,
843
+ hasMatchingHandshakeProfile,
844
+ NormalizedAddressZod as NormalizedAddressZod5,
764
845
  PublisherServiceSchema as PublisherServiceSchema3,
765
846
  WakeGrantObjectSchema as WakeGrantObjectSchema2,
766
847
  WakeGrantObjectZod,
@@ -782,8 +863,7 @@ import {
782
863
  } from "@xyo-network/event-kit-protocol";
783
864
  import {
784
865
  ChainIdZod as ChainIdZod3,
785
- FINALIZED_HEAD_EVENT_KIND,
786
- NormalizedAddressZod as NormalizedAddressZod3,
866
+ NormalizedAddressZod as NormalizedAddressZod4,
787
867
  PublisherEncryptionKeyRevocationSchema as PublisherEncryptionKeyRevocationSchema2,
788
868
  PublisherEncryptionKeyRevocationZod,
789
869
  PublisherEncryptionKeySchema as PublisherEncryptionKeySchema2,
@@ -791,7 +871,8 @@ import {
791
871
  PublisherServiceRevocationSchema as PublisherServiceRevocationSchema2,
792
872
  PublisherServiceRevocationZod,
793
873
  PublisherServiceSchema as PublisherServiceSchema2,
794
- PublisherServiceZod
874
+ PublisherServiceZod,
875
+ SOURCE_WAKE_EVENT_KIND as SOURCE_WAKE_EVENT_KIND2
795
876
  } from "@xyo-network/event-kit-schemas";
796
877
  import { PayloadBuilder as PayloadBuilder2 } from "@xyo-network/sdk";
797
878
  import { XyoAddressZod as XyoAddressZod2 } from "@xyo-network/sdk-protocol/address";
@@ -872,7 +953,7 @@ async function buildHandshakeCatalogs(viewer, publisher) {
872
953
  const events = await viewer.events(XyoAddressZod2.parse(publisher));
873
954
  const services = await parsedHandshakeObjects(
874
955
  viewer,
875
- events.filter((record) => record.objectSchema === PublisherServiceSchema2),
956
+ events.filter((record) => record.objectSchema === PublisherServiceSchema2 || record.objectSchema === PublisherServiceSchema2),
876
957
  (value) => PublisherServiceZod.safeParse(value)
877
958
  );
878
959
  const keys = await parsedHandshakeObjects(
@@ -965,7 +1046,7 @@ async function viewHead(viewer, finalizedHead) {
965
1046
  }
966
1047
  function exactHandshakeServiceAt(catalogs, service, publisher, finalizedHead) {
967
1048
  const selection = selectPublisherService({
968
- eventKind: FINALIZED_HEAD_EVENT_KIND,
1049
+ eventKind: service.body.events[0].kind,
969
1050
  finalizedHead,
970
1051
  publisherSource: publisher,
971
1052
  serviceId: service.body.serviceId,
@@ -984,20 +1065,20 @@ function exactHandshakeKeyAt(catalogs, service, keyHash, finalizedHead) {
984
1065
  return resolution.ok && resolution.key.objectHash === keyHash;
985
1066
  }
986
1067
  function hasPendingPublisherService(catalogs, query) {
987
- return catalogs.serviceLifecycles.some((service) => service.source === query.publisher && service.claimedAtBlock <= query.finalizedHead && service.validFromBlock > query.finalizedHead && (service.revokedAtBlock === void 0 || service.revokedAtBlock > query.finalizedHead) && (query.serviceId === void 0 || service.serviceId === query.serviceId) && service.eventKinds.includes(query.eventKind ?? FINALIZED_HEAD_EVENT_KIND));
1068
+ return catalogs.serviceLifecycles.some((service) => service.source === query.publisher && service.claimedAtBlock <= query.finalizedHead && service.validFromBlock > query.finalizedHead && (service.revokedAtBlock === void 0 || service.revokedAtBlock > query.finalizedHead) && (query.serviceId === void 0 || service.serviceId === query.serviceId) && service.eventKinds.includes(query.eventKind ?? SOURCE_WAKE_EVENT_KIND2));
988
1069
  }
989
1070
  async function discoverHandshakeService(options, rawQuery) {
990
1071
  const query = {
991
1072
  ...rawQuery,
992
1073
  chainId: ChainIdZod3.parse(rawQuery.chainId),
993
- eventKind: rawQuery.eventKind ?? FINALIZED_HEAD_EVENT_KIND,
994
- publisher: NormalizedAddressZod3.parse(rawQuery.publisher)
1074
+ eventKind: rawQuery.eventKind ?? SOURCE_WAKE_EVENT_KIND2,
1075
+ publisher: NormalizedAddressZod4.parse(rawQuery.publisher)
995
1076
  };
996
1077
  const head = await viewHead(options.viewer, query.finalizedHead);
997
1078
  if ("ok" in head) return { query, result: head };
998
1079
  const catalogs = await buildHandshakeCatalogs(options.viewer, query.publisher);
999
1080
  const serviceSelection = selectPublisherService({
1000
- eventKind: query.eventKind ?? FINALIZED_HEAD_EVENT_KIND,
1081
+ eventKind: query.eventKind ?? SOURCE_WAKE_EVENT_KIND2,
1001
1082
  finalizedHead: query.finalizedHead,
1002
1083
  publisherSource: query.publisher,
1003
1084
  ...query.serviceId === void 0 ? {} : { serviceId: query.serviceId },
@@ -1018,6 +1099,18 @@ async function discoverHandshakeService(options, rawQuery) {
1018
1099
  }
1019
1100
  const service = catalogs.serviceByHash.get(serviceSelection.service.objectHash);
1020
1101
  if (service === void 0) throw new Error("selected service body is unavailable");
1102
+ if (service.body.authorizationChainId !== query.chainId) {
1103
+ return {
1104
+ catalogs,
1105
+ query,
1106
+ result: {
1107
+ finalizedHead: query.finalizedHead,
1108
+ indexedThrough: head.indexedThrough,
1109
+ ok: false,
1110
+ reason: "service-not-found"
1111
+ }
1112
+ };
1113
+ }
1021
1114
  const keySelection = resolvePreferredEncryptionKey({
1022
1115
  finalizedHead: query.finalizedHead,
1023
1116
  keys: catalogs.keyLifecycles,
@@ -1213,7 +1306,7 @@ function hasExactGrantBinding(grant, publisher) {
1213
1306
  return grant.publisher === publisher && grant.permissions.length === 1 && grant.permissions[0] === "enqueue";
1214
1307
  }
1215
1308
  function hasExactSubscriptionBinding(subscription, chainId, publisher, serviceHash, grantHash) {
1216
- return subscription.publisher === publisher && subscription.chainId === chainId && subscription.service === serviceHash && subscription.grant === grantHash && subscription.eventKind === FINALIZED_HEAD_EVENT_KIND2;
1309
+ return subscription.publisher === publisher && subscription.chainId === chainId && subscription.service === serviceHash && subscription.grant === grantHash;
1217
1310
  }
1218
1311
  function hasExactKeyBinding(subscription, service, catalogs, tupleBlock) {
1219
1312
  const key = catalogs.keyByHash.get(subscription.encryptionKey);
@@ -1239,9 +1332,9 @@ async function tupleRevocations(viewer, records) {
1239
1332
  };
1240
1333
  }
1241
1334
  async function validateTuple(viewer, records, subscriber, service, catalogs, chainId, publisher, sourceEvents) {
1242
- const serviceEntries = records.filter((record) => record.objectSchema === PublisherServiceSchema3);
1335
+ const serviceEntries = records.filter((record) => record.objectSchema === PublisherServiceSchema3 || record.objectSchema === PublisherServiceSchema3);
1243
1336
  const grantEntries = records.filter((record) => record.objectSchema === WakeGrantObjectSchema2);
1244
- const subscriptionEntries = records.filter((record) => record.objectSchema === EncryptedWakeSubscriptionSchema2);
1337
+ const subscriptionEntries = records.filter((record) => record.objectSchema === EncryptedWakeSubscriptionSchema2 || record.objectSchema === EncryptedWakeSubscriptionSchema2);
1245
1338
  const baseEvidence = handshakeEventEvidence(records[0]);
1246
1339
  const reject = (reason) => ({
1247
1340
  rejection: {
@@ -1264,6 +1357,7 @@ async function validateTuple(viewer, records, subscriber, service, catalogs, cha
1264
1357
  const grant = grantParsed.data;
1265
1358
  const subscription = subscriptionParsed.data;
1266
1359
  const tupleBlock = subscriptionRecord.block;
1360
+ if (!hasMatchingHandshakeProfile(service.body, subscription, chainId)) return reject("subscription-binding-invalid");
1267
1361
  if (!hasExactGrantBinding(grant, publisher)) return reject("grant-binding-invalid");
1268
1362
  if (!hasExactSubscriptionBinding(subscription, chainId, publisher, service.objectHash, grantRecord.objectHash)) {
1269
1363
  return reject("subscription-binding-invalid");
@@ -1463,7 +1557,7 @@ function handshakeView(projection) {
1463
1557
  function createEventKitHandshakeReadModel(options) {
1464
1558
  return Object.freeze({
1465
1559
  async acceptanceCandidates(rawQuery) {
1466
- const subscriber = rawQuery.subscriber === void 0 ? void 0 : NormalizedAddressZod4.parse(rawQuery.subscriber);
1560
+ const subscriber = rawQuery.subscriber === void 0 ? void 0 : NormalizedAddressZod5.parse(rawQuery.subscriber);
1467
1561
  const subscriptionId = rawQuery.subscriptionId === void 0 ? void 0 : HandshakeIdZod.parse(rawQuery.subscriptionId);
1468
1562
  const projection = await handshakeLifecycle(
1469
1563
  options,
@@ -1507,7 +1601,7 @@ function createEventKitHandshakeReadModel(options) {
1507
1601
  return handshakeView(await handshakeLifecycle(options, query));
1508
1602
  },
1509
1603
  async subscriber(rawQuery) {
1510
- const subscriber = NormalizedAddressZod4.parse(rawQuery.subscriber);
1604
+ const subscriber = NormalizedAddressZod5.parse(rawQuery.subscriber);
1511
1605
  const subscriptionId = rawQuery.subscriptionId === void 0 ? void 0 : HandshakeIdZod.parse(rawQuery.subscriptionId);
1512
1606
  const view = handshakeView(await handshakeLifecycle(options, rawQuery, [subscriber], subscriptionId));
1513
1607
  return view.ok ? { ...view, subscriber } : view;
@@ -1522,6 +1616,7 @@ export {
1522
1616
  ReplayBlockedStateZod,
1523
1617
  ReplayCorruptBodyZod,
1524
1618
  ResolvedReplayBodyZod,
1619
+ createActiveSourceWakeGrantAuthorizer,
1525
1620
  createCheckpointStatementGraphViewer,
1526
1621
  createEventKitHandshakeReadModel,
1527
1622
  createFinalizedEventKitReplayController,