@xyo-network/event-kit-protocol 2.1.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,34 +2,38 @@ import type { ChainId, DeploymentId, Hash, NormalizedAddress, WakeId, WakeJwtAud
2
2
  import type { AdmittedWake } from './types.ts';
3
3
  /** Replay records survive token expiry by this amount to cover receiver skew. */
4
4
  export declare const EVENT_KIT_REPLAY_RETENTION_SKEW_SECONDS = 60;
5
- export interface WakeGrantAuthorizationRequest {
6
- /** Must match the independently pinned grant viewer. */
7
- readonly authorizationChainId: ChainId;
5
+ /** Deployment/queue grant scope only; this port does not establish subscription activation. */
6
+ export interface DeploymentGrantAuthorizationRequest {
8
7
  readonly controller: NormalizedAddress;
9
8
  readonly deploymentId: DeploymentId;
10
- /** Required by D-006's activation adapter to select the accepted tuple's exact grant. */
11
9
  readonly exactGrantHash?: Hash;
12
10
  readonly expectedHead: number;
13
- readonly filterHash: Hash;
14
11
  readonly publisher: NormalizedAddress;
15
12
  readonly queueId?: string;
16
- readonly sourceHash: Hash;
17
- readonly subscriptionHash: Hash;
18
13
  }
19
- /** Concrete grant evidence required for every enabled decision. */
20
- export interface WakeGrantEvidence {
14
+ export interface DeploymentGrantEvidence {
21
15
  readonly assertedAtBlock: number;
22
- /** Checked for every authorization decision. */
23
- readonly authorizationChainId: ChainId;
24
16
  readonly controller: NormalizedAddress;
25
17
  readonly deploymentId: DeploymentId;
26
- readonly filterHash: Hash;
27
18
  readonly id: string;
28
19
  readonly objectHash?: Hash;
29
20
  readonly queueId?: string;
21
+ readonly target: NormalizedAddress;
22
+ }
23
+ export interface WakeGrantAuthorizationRequest extends DeploymentGrantAuthorizationRequest {
24
+ /** Must match the independently pinned grant viewer. */
25
+ readonly authorizationChainId: ChainId;
26
+ readonly filterHash: Hash;
27
+ readonly sourceHash: Hash;
28
+ readonly subscriptionHash: Hash;
29
+ }
30
+ /** Complete evidence is produced only after exact finalized subscription activation. */
31
+ export interface WakeGrantEvidence extends DeploymentGrantEvidence {
32
+ readonly authorizationChainId: ChainId;
33
+ readonly authorizationKind: 'activated-subscription';
34
+ readonly filterHash: Hash;
30
35
  readonly sourceHash: Hash;
31
36
  readonly subscriptionHash: Hash;
32
- readonly target: NormalizedAddress;
33
37
  }
34
38
  export interface WakeGrantAuthorizationDisabled {
35
39
  readonly atBlock: number;
@@ -39,6 +43,17 @@ export interface WakeGrantAuthorizationDisabled {
39
43
  /** Optional diagnostics. The core recomputes lag instead of trusting this value. */
40
44
  readonly lag?: number;
41
45
  }
46
+ export interface DeploymentGrantAuthorizationEnabled {
47
+ readonly atBlock: number;
48
+ readonly enabled: true;
49
+ readonly expectedHead?: number;
50
+ readonly grant: DeploymentGrantEvidence;
51
+ readonly lag?: number;
52
+ }
53
+ export type DeploymentGrantAuthorizationDecision = WakeGrantAuthorizationDisabled | DeploymentGrantAuthorizationEnabled;
54
+ export interface DeploymentGrantAuthorizer {
55
+ authorizePublisher: (request: DeploymentGrantAuthorizationRequest) => Promise<DeploymentGrantAuthorizationDecision>;
56
+ }
42
57
  export interface WakeGrantAuthorizationEnabled {
43
58
  readonly atBlock: number;
44
59
  readonly enabled: true;
@@ -1 +1 @@
1
- {"version":3,"file":"admissionTypes.d.ts","sourceRoot":"","sources":["../../src/admissionTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EACZ,IAAI,EACJ,iBAAiB,EACjB,MAAM,EACN,eAAe,EACf,SAAS,EACV,MAAM,gCAAgC,CAAA;AAEvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,iFAAiF;AACjF,eAAO,MAAM,uCAAuC,KAAK,CAAA;AAEzD,MAAM,WAAW,6BAA6B;IAC5C,wDAAwD;IACxD,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAA;IACtC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,yFAAyF;IACzF,QAAQ,CAAC,cAAc,CAAC,EAAE,IAAI,CAAA;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAA;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAA;IACzB,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAA;CAChC;AAED,mEAAmE;AACnE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,gDAAgD;IAChD,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAA;IACtC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAA;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,CAAA;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAA;IACzB,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAA;IAC/B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAA;CACnC;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAA;IACvB,kFAAkF;IAClF,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,oFAAoF;IACpF,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAA;IACtB,kFAAkF;IAClF,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;IACjC,oFAAoF;IACpF,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,MAAM,8BAA8B,GACpC,8BAA8B,GAC9B,6BAA6B,CAAA;AAEnC;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,EAAE,CAClB,OAAO,EAAE,6BAA6B,KACnC,OAAO,CAAC,8BAA8B,CAAC,CAAA;CAC7C;AAED,+DAA+D;AAC/D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAA;IAClC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAA;IACrC,2DAA2D;IAC3D,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,8DAA8D;AAC9D,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAA;IAClC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAA;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAA;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,MAAM,qBAAqB,GAC3B;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;CAAE,GACxB;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAA;CAAE,GACtE;IAAE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAA;CAAE,GACrC;IAAE,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAA;CAAE,CAAA;AAE5C,MAAM,MAAM,gBAAgB,GACtB;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAA;CAAE,GACrE;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAA;CAAE,GACtE;IAAE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAA;CAAE,GACrC;IAAE,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAA;CAAE,CAAA;AAE5C;;;;;;;;;GASG;AACH,MAAM,WAAW,eAAe,CAAC,KAAK,GAAG,YAAY;IACnD,gBAAgB,EAAE,CAAC,KAAK,EAAE;QACxB,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAA;QACtC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAA;QACnC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;KACrB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC/B,cAAc,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAA;CAClF"}
1
+ {"version":3,"file":"admissionTypes.d.ts","sourceRoot":"","sources":["../../src/admissionTypes.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- import type { WakeGrantAuthorizer } from './admissionTypes.ts';
1
+ import type { DeploymentGrantAuthorizer } from './admissionTypes.ts';
2
2
  import type { StatementGraphGrantReadModel } from './statementGraphPorts.ts';
3
3
  export interface DeploymentGrantAuthorizerOptions {
4
4
  readonly viewer: StatementGraphGrantReadModel;
5
5
  }
6
6
  /**
7
7
  * Adapts a canonical Statement Graph v2 read model to the evidence-bearing
8
- * D-002 grant authorization port. Each decision is bound to one stable head.
8
+ * deployment-only grant authorization port. Each decision is bound to one stable head.
9
9
  *
10
10
  * v2 is append-only with no lifecycle `state`, so this layer owns two things
11
11
  * the protocol used to:
@@ -16,5 +16,5 @@ export interface DeploymentGrantAuthorizerOptions {
16
16
  * controller*, of a revocation object referencing that grant's hash.
17
17
  * Revocations from any other source are ignored.
18
18
  */
19
- export declare function createDeploymentGrantAuthorizer(options: DeploymentGrantAuthorizerOptions): WakeGrantAuthorizer;
19
+ export declare function createDeploymentGrantAuthorizer(options: DeploymentGrantAuthorizerOptions): DeploymentGrantAuthorizer;
20
20
  //# sourceMappingURL=grantEvidence.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"grantEvidence.d.ts","sourceRoot":"","sources":["../../src/grantEvidence.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAGV,mBAAmB,EAEpB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAEV,4BAA4B,EAC7B,MAAM,0BAA0B,CAAA;AAEjC,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,MAAM,EAAE,4BAA4B,CAAA;CAC9C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,gCAAgC,GACxC,mBAAmB,CAgDrB"}
1
+ {"version":3,"file":"grantEvidence.d.ts","sourceRoot":"","sources":["../../src/grantEvidence.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAGV,yBAAyB,EAE1B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAEV,4BAA4B,EAC7B,MAAM,0BAA0B,CAAA;AAEjC,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,MAAM,EAAE,4BAA4B,CAAA;CAC9C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,gCAAgC,GACxC,yBAAyB,CAgD3B"}
@@ -1,4 +1,4 @@
1
- export type { AtomicWakeInbox, AuthorizedWakeGrant, WakeAdmissionAttempt, WakeAdmissionReceipt, WakeAttemptResolution, WakeCommitResult, WakeGrantAuthorizationDecision, WakeGrantAuthorizationDisabled, WakeGrantAuthorizationEnabled, WakeGrantAuthorizationRequest, WakeGrantAuthorizer, WakeGrantEvidence, } from './admissionTypes.ts';
1
+ export type { AtomicWakeInbox, AuthorizedWakeGrant, DeploymentGrantAuthorizationDecision, DeploymentGrantAuthorizationEnabled, DeploymentGrantAuthorizationRequest, DeploymentGrantAuthorizer, DeploymentGrantEvidence, WakeAdmissionAttempt, WakeAdmissionReceipt, WakeAttemptResolution, WakeCommitResult, WakeGrantAuthorizationDecision, WakeGrantAuthorizationDisabled, WakeGrantAuthorizationEnabled, WakeGrantAuthorizationRequest, WakeGrantAuthorizer, WakeGrantEvidence, } from './admissionTypes.ts';
2
2
  export { EVENT_KIT_REPLAY_RETENTION_SKEW_SECONDS } from './admissionTypes.ts';
3
3
  export type { AdmitAndEnqueueFailure, AdmitAndEnqueueFailureReason, AdmitAndEnqueueInput, AdmitAndEnqueueResult, AdmitAndEnqueueSuccess, } from './admitAndEnqueue.ts';
4
4
  export { admitAndEnqueue } from './admitAndEnqueue.ts';
@@ -21,6 +21,7 @@ export type { BeginPublisherEndpointChallengeAttemptApiInput, BeginPublisherEndp
21
21
  export { beginPublisherEndpointChallengeAttempt, completePublisherEndpointChallenge, endpointChallengeMatchesPublisherContext, issuePublisherEndpointChallenge, validateAndDecryptPublisherSubscription, } from './publisherSubscription.ts';
22
22
  export * from './sourceWakeActivation.ts';
23
23
  export * from './sourceWakeIdentity.ts';
24
+ export { StaleWakeLeaseError } from './staleWakeLeaseError.ts';
24
25
  export type { StatementGrantClaim, StatementGrantClaimQuery, StatementGrantObject, StatementGraphGrantReadModel, } from './statementGraphPorts.ts';
25
26
  export type { StatementGraphWakeGrantAuthorizerOptions } from './statementGraphWakeGrantAuthorizer.ts';
26
27
  export { createStatementGraphWakeGrantAuthorizer } from './statementGraphWakeGrantAuthorizer.ts';
@@ -28,7 +29,7 @@ export type { AdmittedWake } from './types.ts';
28
29
  export { AdmittedWakeZod, parseAdmittedWake } from './types.ts';
29
30
  export type { VerifiedWakeRequest, VerifyWakeRequestFailure, VerifyWakeRequestInput, VerifyWakeRequestRejectionReason, VerifyWakeRequestResult, VerifyWakeRequestSuccess, WakeAdmissionRoute, } from './verifyWakeRequest.ts';
30
31
  export { EVENT_KIT_MAX_FUTURE_IAT_SECONDS, EVENT_KIT_MAX_JWT_LIFETIME_SECONDS, verifyWakeRequest, WakeAdmissionRouteZod, } from './verifyWakeRequest.ts';
31
- export type { LeasedWake, WakeHandler, WakeQueue, } from './wakeQueue.ts';
32
+ export type { LeasedWake, RecoverInflightOptions, WakeHandler, WakeQueue, } from './wakeQueue.ts';
32
33
  export { drainQueue } from './wakeQueue.ts';
33
34
  export { wakeSubscriptionAadBytes, wakeSubscriptionPlaintextBytes, wakeSubscriptionPlaintextFromBytes, } from './wakeSubscriptionEncoding.ts';
34
35
  export type { DecryptWakeSubscriptionInput, EncryptWakeSubscriptionInput, WakeSubscriptionEncryptionKeyPair, WakeSubscriptionPrivateKey, WakeSubscriptionPublicKey, } from './wakeSubscriptionHpke.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -133,6 +133,7 @@ function validateGrantEvidence(evidence, verified, atBlock) {
133
133
  if (!isRecord(evidence)) return reject("grant-view-invalid", ["enabled grant decision omitted evidence"]);
134
134
  const requiredFields = [
135
135
  "assertedAtBlock",
136
+ "authorizationKind",
136
137
  "authorizationChainId",
137
138
  "filterHash",
138
139
  "sourceHash",
@@ -145,6 +146,9 @@ function validateGrantEvidence(evidence, verified, atBlock) {
145
146
  if (requiredFields.some((field) => !Object.hasOwn(evidence, field))) {
146
147
  return reject("grant-view-invalid", ["enabled grant evidence requires own canonical fields"]);
147
148
  }
149
+ if (evidence.authorizationKind !== "activated-subscription") {
150
+ return reject("grant-view-invalid", ["enabled authorization requires finalized subscription activation"]);
151
+ }
148
152
  if (typeof evidence.id !== "string" || evidence.id.length === 0) {
149
153
  return reject("grant-view-invalid", ["enabled grant evidence requires a non-empty id"]);
150
154
  }
@@ -180,6 +184,7 @@ function validateReceipt(receipt, attempt) {
180
184
  function snapshotGrantEvidence(evidence) {
181
185
  return Object.freeze({
182
186
  assertedAtBlock: evidence.assertedAtBlock,
187
+ authorizationKind: evidence.authorizationKind,
183
188
  authorizationChainId: evidence.authorizationChainId,
184
189
  sourceHash: evidence.sourceHash,
185
190
  filterHash: evidence.filterHash,
@@ -1588,11 +1593,24 @@ function wakeKey(attempt) {
1588
1593
  return JSON.stringify([attempt.audience, attempt.publisher, attempt.wakeId]);
1589
1594
  }
1590
1595
 
1596
+ // src/staleWakeLeaseError.ts
1597
+ var StaleWakeLeaseError = class extends Error {
1598
+ code = "stale-wake-lease";
1599
+ name = "StaleWakeLeaseError";
1600
+ constructor(message = "Wake lease is no longer current") {
1601
+ super(message);
1602
+ }
1603
+ };
1604
+
1591
1605
  // src/memoryWakeQueue.ts
1592
1606
  function createMemoryWakeQueue() {
1593
1607
  const pending = [];
1594
1608
  const inflight = /* @__PURE__ */ new Map();
1595
1609
  let sequence = 0;
1610
+ function restore(entry) {
1611
+ pending.push(entry);
1612
+ pending.sort((left, right) => left.sequence - right.sequence);
1613
+ }
1596
1614
  return {
1597
1615
  async append(wake) {
1598
1616
  pending.push({ sequence: sequence += 1, wake });
@@ -1600,26 +1618,35 @@ function createMemoryWakeQueue() {
1600
1618
  async claim() {
1601
1619
  const entry = pending.shift();
1602
1620
  if (entry === void 0) return void 0;
1603
- inflight.set(entry.sequence, entry);
1621
+ const token = /* @__PURE__ */ Symbol("wake-lease");
1622
+ let completed2;
1623
+ inflight.set(entry.sequence, { entry, token });
1624
+ const finish = (operation) => {
1625
+ if (completed2 === operation) return;
1626
+ if (completed2 !== void 0 || inflight.get(entry.sequence)?.token !== token) {
1627
+ throw new StaleWakeLeaseError();
1628
+ }
1629
+ inflight.delete(entry.sequence);
1630
+ if (operation === "release") restore(entry);
1631
+ completed2 = operation;
1632
+ };
1604
1633
  return {
1605
1634
  wake: entry.wake,
1606
1635
  async ack() {
1607
- inflight.delete(entry.sequence);
1636
+ finish("ack");
1608
1637
  },
1609
1638
  async release() {
1610
- if (!inflight.delete(entry.sequence)) return;
1611
- pending.push(entry);
1612
- pending.sort((left, right) => left.sequence - right.sequence);
1639
+ finish("release");
1613
1640
  }
1614
1641
  };
1615
1642
  },
1616
1643
  inflightCount: async () => inflight.size,
1617
1644
  pendingCount: async () => pending.length,
1618
- async recoverInflight() {
1645
+ async recoverInflight(options) {
1646
+ if (options?.consumersStopped !== true) throw new TypeError("Recovery requires all consumers to be stopped");
1619
1647
  const recovered = inflight.size;
1620
- for (const entry of inflight.values()) pending.push(entry);
1648
+ for (const { entry } of inflight.values()) restore(entry);
1621
1649
  inflight.clear();
1622
- pending.sort((left, right) => left.sequence - right.sequence);
1623
1650
  return recovered;
1624
1651
  }
1625
1652
  };
@@ -2008,10 +2035,6 @@ async function resolveEvidence(viewer, claim, request, atBlock, revokedGrantHash
2008
2035
  if (!grant.permissions.includes("enqueue")) return void 0;
2009
2036
  return Object.freeze({
2010
2037
  assertedAtBlock: claim.firstBlock,
2011
- authorizationChainId: request.authorizationChainId,
2012
- sourceHash: request.sourceHash,
2013
- filterHash: request.filterHash,
2014
- subscriptionHash: request.subscriptionHash,
2015
2038
  controller: request.controller,
2016
2039
  deploymentId: grant.deploymentId,
2017
2040
  id: claim.firstEventHash,
@@ -2091,6 +2114,7 @@ function createStatementGraphWakeGrantAuthorizer(options) {
2091
2114
  ...decision,
2092
2115
  grant: Object.freeze({
2093
2116
  ...decision.grant,
2117
+ authorizationKind: "activated-subscription",
2094
2118
  authorizationChainId,
2095
2119
  sourceHash,
2096
2120
  filterHash: activation.filterHash,
@@ -2110,7 +2134,11 @@ async function drainQueue(queue, handler) {
2110
2134
  try {
2111
2135
  await handler(leased.wake);
2112
2136
  } catch (error) {
2113
- await leased.release();
2137
+ try {
2138
+ await leased.release();
2139
+ } catch (releaseError) {
2140
+ throw new AggregateError([error, releaseError], "Wake handler and lease release both failed", { cause: releaseError });
2141
+ }
2114
2142
  throw error;
2115
2143
  }
2116
2144
  await leased.ack();
@@ -2125,6 +2153,7 @@ export {
2125
2153
  EVENT_KIT_MAX_JWT_LIFETIME_SECONDS,
2126
2154
  EVENT_KIT_REPLAY_RETENTION_SKEW_SECONDS,
2127
2155
  SourceWakeSubscriptionActivationZod,
2156
+ StaleWakeLeaseError,
2128
2157
  WakeAdmissionRouteZod,
2129
2158
  WakeSubscriptionDecryptionError,
2130
2159
  admitAndEnqueue,