sietch 0.8.0 → 0.9.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.
package/dist/errors.d.ts CHANGED
@@ -22,6 +22,17 @@ export declare class SyncError extends SietchError {
22
22
  export declare class PeerConnectionError extends SyncError {
23
23
  constructor(message: string);
24
24
  }
25
+ /**
26
+ * Thrown when a server's `onPeerHandshake` callback rejects the peer
27
+ * (or throws). Distinct from `KeyExchangeError` — the PQ handshake
28
+ * itself succeeded, the application layer declined to admit the peer.
29
+ *
30
+ * @req FR-67
31
+ */
32
+ export declare class HandshakeRejectedError extends SyncError {
33
+ readonly reason: string;
34
+ constructor(message: string, reason: string);
35
+ }
25
36
  export declare class CryptoError extends SietchError {
26
37
  }
27
38
  export declare class SignatureVerificationError extends CryptoError {
package/dist/errors.js CHANGED
@@ -36,6 +36,20 @@ export class PeerConnectionError extends SyncError {
36
36
  super(message, 'PEER_CONNECTION');
37
37
  }
38
38
  }
39
+ /**
40
+ * Thrown when a server's `onPeerHandshake` callback rejects the peer
41
+ * (or throws). Distinct from `KeyExchangeError` — the PQ handshake
42
+ * itself succeeded, the application layer declined to admit the peer.
43
+ *
44
+ * @req FR-67
45
+ */
46
+ export class HandshakeRejectedError extends SyncError {
47
+ reason;
48
+ constructor(message, reason) {
49
+ super(message, 'HANDSHAKE_REJECTED');
50
+ this.reason = reason;
51
+ }
52
+ }
39
53
  // Crypto errors
40
54
  export class CryptoError extends SietchError {
41
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,aAAa;AACb,MAAM,OAAO,WAAY,SAAQ,KAAK;IAGlB;IAFlB,YACE,OAAe,EACC,IAAY;QAE5B,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,SAAI,GAAJ,IAAI,CAAQ;QAG5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACpC,CAAC;CACF;AAED,iBAAiB;AACjB,MAAM,OAAO,YAAa,SAAQ,WAAW;CAAG;AAChD,MAAM,OAAO,gBAAiB,SAAQ,YAAY;IAChD,YAAY,OAAO,GAAG,wBAAwB;QAC5C,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACjC,CAAC;CACF;AACD,MAAM,OAAO,uBAAwB,SAAQ,YAAY;IAGrC;IAFlB,YACE,OAAe,EACC,iBAA2B;QAE3C,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;QAFtB,sBAAiB,GAAjB,iBAAiB,CAAU;IAG7C,CAAC;CACF;AAED,cAAc;AACd,MAAM,OAAO,SAAU,SAAQ,WAAW;CAAG;AAC7C,MAAM,OAAO,mBAAoB,SAAQ,SAAS;IAChD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IACpC,CAAC;CACF;AAED,gBAAgB;AAChB,MAAM,OAAO,WAAY,SAAQ,WAAW;CAAG;AAC/C,MAAM,OAAO,0BAA2B,SAAQ,WAAW;IACzD,YAAY,OAAO,GAAG,+BAA+B;QACnD,KAAK,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;IACtC,CAAC;CACF;AACD,MAAM,OAAO,gBAAiB,SAAQ,WAAW;IAC/C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACjC,CAAC;CACF;AAED,aAAa;AACb,MAAM,OAAO,QAAS,SAAQ,WAAW;CAAG;AAC5C,MAAM,OAAO,qBAAsB,SAAQ,QAAQ;IACjD,YAAY,OAAO,GAAG,mBAAmB;QACvC,KAAK,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;IACtC,CAAC;CACF;AACD,MAAM,OAAO,wBAAyB,SAAQ,QAAQ;IACpD,YAAY,OAAO,GAAG,iDAAiD;QACrE,KAAK,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;IAC1C,CAAC;CACF;AAED,oBAAoB;AACpB,MAAM,OAAO,eAAgB,SAAQ,WAAW;IAG5B;IACA;IAHlB,YACE,OAAe,EACC,IAAY,EACZ,MAAgB;QAEhC,KAAK,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;QAHpB,SAAI,GAAJ,IAAI,CAAQ;QACZ,WAAM,GAAN,MAAM,CAAU;IAGlC,CAAC;CACF;AAED,eAAe;AACf,MAAM,OAAO,UAAW,SAAQ,WAAW;CAAG"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,aAAa;AACb,MAAM,OAAO,WAAY,SAAQ,KAAK;IAGlB;IAFlB,YACE,OAAe,EACC,IAAY;QAE5B,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,SAAI,GAAJ,IAAI,CAAQ;QAG5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACpC,CAAC;CACF;AAED,iBAAiB;AACjB,MAAM,OAAO,YAAa,SAAQ,WAAW;CAAG;AAChD,MAAM,OAAO,gBAAiB,SAAQ,YAAY;IAChD,YAAY,OAAO,GAAG,wBAAwB;QAC5C,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACjC,CAAC;CACF;AACD,MAAM,OAAO,uBAAwB,SAAQ,YAAY;IAGrC;IAFlB,YACE,OAAe,EACC,iBAA2B;QAE3C,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;QAFtB,sBAAiB,GAAjB,iBAAiB,CAAU;IAG7C,CAAC;CACF;AAED,cAAc;AACd,MAAM,OAAO,SAAU,SAAQ,WAAW;CAAG;AAC7C,MAAM,OAAO,mBAAoB,SAAQ,SAAS;IAChD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IACpC,CAAC;CACF;AACD;;;;;;GAMG;AACH,MAAM,OAAO,sBAAuB,SAAQ,SAAS;IAGjC;IAFlB,YACE,OAAe,EACC,MAAc;QAE9B,KAAK,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;QAFrB,WAAM,GAAN,MAAM,CAAQ;IAGhC,CAAC;CACF;AAED,gBAAgB;AAChB,MAAM,OAAO,WAAY,SAAQ,WAAW;CAAG;AAC/C,MAAM,OAAO,0BAA2B,SAAQ,WAAW;IACzD,YAAY,OAAO,GAAG,+BAA+B;QACnD,KAAK,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;IACtC,CAAC;CACF;AACD,MAAM,OAAO,gBAAiB,SAAQ,WAAW;IAC/C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACjC,CAAC;CACF;AAED,aAAa;AACb,MAAM,OAAO,QAAS,SAAQ,WAAW;CAAG;AAC5C,MAAM,OAAO,qBAAsB,SAAQ,QAAQ;IACjD,YAAY,OAAO,GAAG,mBAAmB;QACvC,KAAK,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;IACtC,CAAC;CACF;AACD,MAAM,OAAO,wBAAyB,SAAQ,QAAQ;IACpD,YAAY,OAAO,GAAG,iDAAiD;QACrE,KAAK,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;IAC1C,CAAC;CACF;AAED,oBAAoB;AACpB,MAAM,OAAO,eAAgB,SAAQ,WAAW;IAG5B;IACA;IAHlB,YACE,OAAe,EACC,IAAY,EACZ,MAAgB;QAEhC,KAAK,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;QAHpB,SAAI,GAAJ,IAAI,CAAQ;QACZ,WAAM,GAAN,MAAM,CAAU;IAGlC,CAAC;CACF;AAED,eAAe;AACf,MAAM,OAAO,UAAW,SAAQ,WAAW;CAAG"}
package/dist/index.d.ts CHANGED
@@ -8,7 +8,7 @@
8
8
  * const { value } = await db.get('greeting');
9
9
  */
10
10
  export { createStore, Store, Cursor, SubtreeCursor } from './store.js';
11
- export { ValidationError, SietchError, StorageFullError, SyncError } from './errors.js';
11
+ export { ValidationError, SietchError, StorageFullError, SyncError, HandshakeRejectedError } from './errors.js';
12
12
  export type { StorageBackend } from './storage.js';
13
13
  export type { StorageType, StorageCapacity } from './types.js';
14
14
  export type { CollectionConfig, CrdtValue, MutationEvent, WriteConfirmation, ReadResult, SyncStatus, SubtreeSyncStatus, SyncConfig, AclMap, AclPermissions, StoreOptions, StorageMetrics, SearchQuery, SearchResult, SearchHit, VectorSearchOptions, VectorResult, TraverseOptions, TraverseResult, PublicIdentity, LinkRequest, CypherResult, AclReferenceNode, SubscribeOptions, StorePlugin, WriteContext, } from './store.js';
package/dist/index.js CHANGED
@@ -8,5 +8,5 @@
8
8
  * const { value } = await db.get('greeting');
9
9
  */
10
10
  export { createStore, Store, Cursor, SubtreeCursor } from './store.js';
11
- export { ValidationError, SietchError, StorageFullError, SyncError } from './errors.js';
11
+ export { ValidationError, SietchError, StorageFullError, SyncError, HandshakeRejectedError } from './errors.js';
12
12
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC"}
@@ -6,6 +6,8 @@
6
6
  */
7
7
  export { SietchServer, createServer } from './server.js';
8
8
  export type { ServerOptions, ServerEvictionOptions } from './server.js';
9
+ export type { HandshakeHook, HandshakeHookDecision } from '../sync-engine.js';
10
+ export { HandshakeRejectedError } from '../errors.js';
9
11
  export { ServerAuthService } from './auth.js';
10
12
  export type { DeviceLinkRequest, VerificationRecord, UserIdentity, LinkResult, EmailProvider } from './auth.js';
11
13
  export { ServerAclAuthority, DefaultSigningBackend } from './acl-authority.js';
@@ -5,6 +5,7 @@
5
5
  * connecting to PostgreSQL (with AGE and pgvector extensions).
6
6
  */
7
7
  export { SietchServer, createServer } from './server.js';
8
+ export { HandshakeRejectedError } from '../errors.js';
8
9
  export { ServerAuthService } from './auth.js';
9
10
  export { ServerAclAuthority, DefaultSigningBackend } from './acl-authority.js';
10
11
  export { serializeRefNode, deserializeRefNode } from '../acl.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAG9C,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAG/E,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAGjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAG/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAE5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAG9C,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAG/E,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAGjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAG/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAE5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC"}
@@ -14,7 +14,7 @@
14
14
  import * as Y from 'yjs';
15
15
  import { type PublicIdentity } from '../identity.js';
16
16
  import { type StorageBackend } from '../storage.js';
17
- import type { SyncConfig } from '../sync-engine.js';
17
+ import type { SyncConfig, HandshakeHook } from '../sync-engine.js';
18
18
  import { type DatabaseAdapter } from './query-bridge.js';
19
19
  import { type AclSigningBackend } from './acl-authority.js';
20
20
  import type { CrdtValue, EvictionPolicy, MutationEvent, StorageMetrics, StorageType, Unsubscribe, WriteConfirmation, ReadResult } from '../types.js';
@@ -49,6 +49,24 @@ export interface ServerOptions {
49
49
  * Tier 2 (disk deletion) is disabled on servers.
50
50
  */
51
51
  eviction?: ServerEvictionOptions;
52
+ /**
53
+ * Optional application authorization hook invoked during PQ auth
54
+ * handshake after key exchange completes and BEFORE the peer is
55
+ * admitted to sync. Receives `{ peerId, identityPeerId, handshakeMetadata }`
56
+ * where `handshakeMetadata` is the opaque byte buffer carried by the
57
+ * client in the auth trailer. Return (or resolve to) `{ accept: false, reason }`
58
+ * to reject, or throw — both close the connection with a type=3
59
+ * AppRejected frame and do NOT count toward `aclBanState`. Return void
60
+ * or `{ accept: true }` to admit.
61
+ *
62
+ * This is the supported composition point for application-level
63
+ * authorization schemes (JWT, session cookie, mTLS, custom HMAC) that
64
+ * need to provision ACL grants BEFORE the first sync byte flows, so
65
+ * fresh peers never race an out-of-band authorization path.
66
+ *
67
+ * See AMD-002 / FR-67.
68
+ */
69
+ onPeerHandshake?: HandshakeHook;
52
70
  }
53
71
  export declare class SietchServer {
54
72
  private readonly yjsEngine;
@@ -88,6 +106,25 @@ export declare class SietchServer {
88
106
  cypher(query: string, params?: Record<string, unknown>): Promise<Record<string, unknown>[]>;
89
107
  /** Register a query handler for the sync protocol. */
90
108
  registerQueryHandler(handler: (q: string, p?: Record<string, unknown>) => Promise<Record<string, unknown>[]>): void;
109
+ /**
110
+ * Reset per-peer ACL ban state after out-of-band authorization.
111
+ *
112
+ * Call this after granting ACL permissions through an application-level
113
+ * path (e.g., an HTTP route that validates a JWT and calls
114
+ * `ServerAclAuthority.processChange`) when the peer has already tripped
115
+ * the ACL denial threshold during the grant window. Clears both the
116
+ * escalating ban state and the in-window denial tracker for the peer.
117
+ *
118
+ * Returns `{ cleared, priorDisconnects }` — `cleared` is false if the
119
+ * peer was not banned at call time (the operation is still safe — a
120
+ * no-op).
121
+ *
122
+ * @req FR-36
123
+ */
124
+ clearAclBan(peerId: string): {
125
+ cleared: boolean;
126
+ priorDisconnects: number;
127
+ };
91
128
  /** Get eviction metrics (requires eviction option). */
92
129
  getEvictionMetrics(): Promise<StorageMetrics | null>;
93
130
  /** Ensure the query bridge is observing a subtree. */
@@ -92,6 +92,12 @@ export class SietchServer {
92
92
  if (options.reconnect) {
93
93
  syncConfig.reconnect = options.reconnect;
94
94
  }
95
+ // Install the application authorization hook BEFORE init(), so
96
+ // incoming handshakes from peers that dial immediately after listen
97
+ // are already gated.
98
+ if (options.onPeerHandshake) {
99
+ syncEngine.setOnPeerHandshake(options.onPeerHandshake);
100
+ }
95
101
  await syncEngine.init(syncConfig);
96
102
  const server = new SietchServer(storage, obs, yjsEngine, syncEngine, identityMgr, aclMgr);
97
103
  // 6. QueryBridge (optional — only if database adapter provided)
@@ -208,6 +214,24 @@ export class SietchServer {
208
214
  registerQueryHandler(handler) {
209
215
  this.syncEngine.registerQueryHandler(handler);
210
216
  }
217
+ /**
218
+ * Reset per-peer ACL ban state after out-of-band authorization.
219
+ *
220
+ * Call this after granting ACL permissions through an application-level
221
+ * path (e.g., an HTTP route that validates a JWT and calls
222
+ * `ServerAclAuthority.processChange`) when the peer has already tripped
223
+ * the ACL denial threshold during the grant window. Clears both the
224
+ * escalating ban state and the in-window denial tracker for the peer.
225
+ *
226
+ * Returns `{ cleared, priorDisconnects }` — `cleared` is false if the
227
+ * peer was not banned at call time (the operation is still safe — a
228
+ * no-op).
229
+ *
230
+ * @req FR-36
231
+ */
232
+ clearAclBan(peerId) {
233
+ return this.syncEngine.clearAclBan(peerId);
234
+ }
211
235
  // ── Eviction ─────────────────────────────────────────────
212
236
  /** Get eviction metrics (requires eviction option). */
213
237
  async getEvictionMetrics() {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAuB,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAuB,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,0BAA0B,EAA6B,MAAM,qBAAqB,CAAC;AAE5F,OAAO,EAAE,iBAAiB,EAAgD,MAAM,mBAAmB,CAAC;AACpG,OAAO,EAAE,kBAAkB,EAA0B,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAgDjD,8DAA8D;AAE9D;;;;GAIG;AACH,MAAM,sBAAsB;IACG;IAA7B,YAA6B,MAAiB;QAAjB,WAAM,GAAN,MAAM,CAAW;IAAG,CAAC;IAElD,QAAQ,CAAC,SAAiB,EAAE,QAAyD;QACnF,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,SAAiB;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,SAAiB,EAAE,iBAA8B;QACzE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACnD,OAAO,CAAC,CAAC,mBAAmB,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IACvD,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;IAC3C,CAAC;CACF;AAED,8DAA8D;AAE9D,MAAM,OAAO,YAAY;IACN,SAAS,CAAY;IACrB,UAAU,CAAa;IACvB,WAAW,CAAkB;IAC7B,MAAM,CAAa;IACnB,GAAG,CAAuB;IAC1B,OAAO,CAAiB;IACjC,WAAW,CAAqB;IAChC,YAAY,CAAsB;IAClC,WAAW,CAAmB;IACtC,yDAAyD;IACxC,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAErD,oCAAoC;IACpC,YACE,OAAuB,EACvB,GAAyB,EACzB,SAAoB,EACpB,UAAsB,EACtB,WAA4B,EAC5B,MAAkB;QAElB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,6DAA6D;IAC7D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAsB;QACxC,MAAM,GAAG,GAAG,0BAA0B,CAAC,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC;QAEnE,aAAa;QACb,IAAI,OAAuB,CAAC;QAC5B,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,MAAM,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,IAAI,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAC5F,CAAC;QAED,iCAAiC;QACjC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAE9C,cAAc;QACd,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACtD,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;QAEzB,SAAS;QACT,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;QAEnC,4BAA4B;QAC5B,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACzE,MAAM,UAAU,GAAG,IAAI,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAC3E,MAAM,UAAU,GAAe,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1D,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,UAAU,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAC3C,CAAC;QACD,MAAM,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAElC,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAE1F,gEAAgE;QAChE,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,YAAY,GAAG,IAAI,sBAAsB,CAAC,SAAS,CAAC,CAAC;YAC3D,MAAM,CAAC,WAAW,GAAG,IAAI,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACxF,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YAC3B,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,WAAY,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACnF,CAAC;QAED,8BAA8B;QAC9B,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,WAAW,CAAC,iBAAiB,EAAE,CAAC;YACjD,MAAM,CAAC,YAAY,GAAG,IAAI,kBAAkB,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAChG,CAAC;QAED,6DAA6D;QAC7D,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;YACrD,gEAAgE;YAChE,qDAAqD;YACrD,MAAM,YAAY,GAAmB;gBACnC,GAAG,YAAY;gBACf,aAAa,EAAE,QAAQ;gBACvB,eAAe,EAAE,CAAC;aACnB,CAAC;YACF,MAAM,CAAC,WAAW,GAAG,IAAI,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE;gBAChE,MAAM,EAAE,YAAY;gBACpB,gBAAgB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC;aACjE,CAAC,CAAC;YACH,KAAK,MAAM,EAAE,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;gBAC9B,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7B,CAAC;YACD,6DAA6D;YAC7D,SAAS,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,EAAE;gBAC/B,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACzC,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YAC3B,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,EAAE,eAAe,EAAE,YAAY,CAAC,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,EAAE,EAC9E,uCAAuC,CACxC,CAAC;QACJ,CAAC;QAED,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC;QAC9D,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,0DAA0D;IAE1D,8CAA8C;IAC9C,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC;IAED,gCAAgC;IAChC,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAChC,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC;IAC9C,CAAC;IAED,4DAA4D;IAE5D,wEAAwE;IACxE,KAAK,CAAC,GAAG,CAAC,IAAY,EAAE,KAAgB;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAC7C,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC9B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAChE,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC1D,CAAC;IAED,6CAA6C;IAC7C,KAAK,CAAC,GAAG,CAAC,IAAY;QACpB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClD,OAAO,EAAE,KAAK,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IACxD,CAAC;IAED,mDAAmD;IACnD,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,MAAiC;QACzD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAC7C,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC9B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACjE,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC1D,CAAC;IAED,sBAAsB;IACtB,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAC7C,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC9B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/D,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC1D,CAAC;IAED,4DAA4D;IAE5D,qEAAqE;IACrE,UAAU,CAAC,QAAwC;QACjD,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED,0EAA0E;IAC1E,cAAc,CAAC,SAAiB,EAAE,QAAyD;QACzF,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAED,iFAAiF;IACjF,KAAK,CAAC,SAAS,CAAC,SAAiB;QAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED,4DAA4D;IAE5D,kDAAkD;IAClD,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,MAAgC;QAC1D,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;QAC5F,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IAED,4DAA4D;IAE5D,sDAAsD;IACtD,oBAAoB,CAAC,OAAuF;QAC1G,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,4DAA4D;IAE5D,uDAAuD;IACvD,KAAK,CAAC,kBAAkB;QACtB,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QACnC,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;IACvC,CAAC;IAED,4DAA4D;IAE5D,sDAAsD;IAC9C,aAAa,CAAC,SAAiB;QACrC,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO;QAC9B,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAO;QAChD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED,4DAA4D;IAE5D,2CAA2C;IAC3C,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAC1B,CAAC;QACD,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACzC,CAAC;CACF;AAED,2BAA2B;AAC3B,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAsB;IACvD,OAAO,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"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"}
package/dist/store.d.ts CHANGED
@@ -173,8 +173,17 @@ export declare class Store {
173
173
  listen(config: SyncConfig): Promise<string[]>;
174
174
  /**
175
175
  * Connect to a Sietch server.
176
- */
177
- connectServer(url: string, config?: SyncConfig): Promise<void>;
176
+ *
177
+ * `opts.handshakeMetadata` is an optional factory producing an opaque
178
+ * byte buffer that is appended to the PQ auth handshake request frame.
179
+ * The server-side `onPeerHandshake` hook receives this buffer and can
180
+ * validate it (JWT, session token, etc.) before admitting the peer.
181
+ * The factory is called on every handshake including reconnects, so
182
+ * short-lived tokens can be refreshed. See AMD-002 / FR-67.
183
+ */
184
+ connectServer(url: string, config?: SyncConfig, opts?: {
185
+ handshakeMetadata?: () => Uint8Array | Promise<Uint8Array>;
186
+ }): Promise<void>;
178
187
  /**
179
188
  * Wait for all subscribed subtrees to complete their initial sync.
180
189
  *
package/dist/store.js CHANGED
@@ -453,9 +453,17 @@ export class Store {
453
453
  }
454
454
  /**
455
455
  * Connect to a Sietch server.
456
+ *
457
+ * `opts.handshakeMetadata` is an optional factory producing an opaque
458
+ * byte buffer that is appended to the PQ auth handshake request frame.
459
+ * The server-side `onPeerHandshake` hook receives this buffer and can
460
+ * validate it (JWT, session token, etc.) before admitting the peer.
461
+ * The factory is called on every handshake including reconnects, so
462
+ * short-lived tokens can be refreshed. See AMD-002 / FR-67.
456
463
  */
457
464
  // @req FR-40
458
- async connectServer(url, config) {
465
+ // @req FR-67
466
+ async connectServer(url, config, opts) {
459
467
  if (!this.syncEngine) {
460
468
  // Dynamic import — SyncEngine pulls in libp2p (Node-only transports).
461
469
  // Lazy loading keeps the Store importable in browser contexts where
@@ -464,7 +472,7 @@ export class Store {
464
472
  this.syncEngine = new SyncEngineCtor(this.yjsEngine, this.identityMgr, this.aclMgr, this.obs);
465
473
  await this.syncEngine.init(config);
466
474
  }
467
- await this.syncEngine.connectServer(url);
475
+ await this.syncEngine.connectServer(url, opts);
468
476
  this.flushPendingSyncState();
469
477
  // Wait for the initial sync exchange to complete before returning.
470
478
  // Without this, writes that race with the incoming SyncStep2 create
package/dist/store.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,30 @@ export interface SyncConfig {
33
33
  multiplier?: number;
34
34
  };
35
35
  }
36
+ /**
37
+ * Server-side application authorization hook.
38
+ *
39
+ * Invoked during PQ auth handshake after key exchange completes and
40
+ * before the peer is marked authenticated. Receives the peer's libp2p
41
+ * peer ID, the identity peer ID from the handshake trailer (if any),
42
+ * and the opaque application-defined metadata carried by the client.
43
+ *
44
+ * Return (or resolve to) `{ accept: false, reason }` to reject the
45
+ * peer, or throw — both outcomes close the connection with a type=3
46
+ * AppRejected frame without counting toward `aclBanState`. Return
47
+ * `void`, `undefined`, or `{ accept: true }` to admit the peer.
48
+ *
49
+ * @req FR-67
50
+ */
51
+ export type HandshakeHook = (ctx: {
52
+ peerId: string;
53
+ identityPeerId: string | undefined;
54
+ handshakeMetadata: Uint8Array;
55
+ }) => Promise<HandshakeHookDecision | void> | HandshakeHookDecision | void;
56
+ export type HandshakeHookDecision = {
57
+ accept: boolean;
58
+ reason?: string;
59
+ };
36
60
  declare const SYNC_PROTOCOL = "/sietch/sync/1.0.0";
37
61
  declare const AUTH_PROTOCOL = "/sietch/auth/1.0.0";
38
62
  declare const DIAG_PROTOCOL = "/sietch/diag/1.0.0";
@@ -148,20 +172,56 @@ export declare class SyncEngine {
148
172
  private readonly denialTrackers;
149
173
  /** Per-peer escalating ban state: tracks disconnect count and cooldown expiry. */
150
174
  private readonly aclBanState;
175
+ /**
176
+ * Optional server-side application authorization hook, invoked during
177
+ * PQ auth handshake after key exchange completes and before the peer
178
+ * is admitted to sync. See AMD-002 / FR-67.
179
+ */
180
+ private onPeerHandshake;
181
+ /**
182
+ * Optional client-side factory that produces the `handshakeMetadata`
183
+ * trailer for outgoing auth frames. Called once per handshake
184
+ * (including reconnects). See AMD-002 / FR-67.
185
+ */
186
+ private handshakeMetadataProvider;
151
187
  constructor(yjsEngine: YjsEngine, identity: IdentityManager, acl: AclManager, obs: ObservabilityContext);
152
188
  /**
153
189
  * Register a handler for cypher queries received via the query protocol.
154
190
  * Typically set by server-side code to delegate to ServerQueryBridge.
155
191
  */
156
192
  registerQueryHandler(handler: (query: string, params?: Record<string, unknown>) => Promise<Record<string, unknown>[]>): void;
193
+ /**
194
+ * Install a server-side application authorization hook. Called during
195
+ * PQ auth handshake; see {@link HandshakeHook}. Typically set by
196
+ * `SietchServer` from the `onPeerHandshake` option.
197
+ *
198
+ * @req FR-67
199
+ */
200
+ setOnPeerHandshake(hook: HandshakeHook | undefined): void;
201
+ /**
202
+ * Install a client-side factory that produces opaque application
203
+ * metadata for the auth handshake trailer. Called once per handshake,
204
+ * including on reconnect (so the factory may refresh short-lived
205
+ * tokens). See AMD-002.
206
+ *
207
+ * @req FR-67
208
+ */
209
+ setHandshakeMetadataProvider(provider: (() => Uint8Array | Promise<Uint8Array>) | undefined): void;
157
210
  /**
158
211
  * Initialize the libp2p node.
159
212
  */
160
213
  init(config?: SyncConfig): Promise<void>;
161
214
  /**
162
215
  * Connect to a server peer (WebSocket or TCP).
216
+ *
217
+ * If `opts.handshakeMetadata` is provided, it is installed as the
218
+ * per-handshake factory for the client-side auth trailer. Subsequent
219
+ * reconnects also invoke the factory (so it may refresh short-lived
220
+ * tokens). See AMD-002 / FR-67.
163
221
  */
164
- connectServer(url: string): Promise<void>;
222
+ connectServer(url: string, opts?: {
223
+ handshakeMetadata?: () => Uint8Array | Promise<Uint8Array>;
224
+ }): Promise<void>;
165
225
  /**
166
226
  * Start syncing a subdocument with connected peers.
167
227
  */
@@ -287,6 +347,18 @@ export declare class SyncEngine {
287
347
  * Handle incoming PQ auth stream.
288
348
  */
289
349
  private handleAuthStream;
350
+ /**
351
+ * Send a type=3 AppRejected auth response and close the stream.
352
+ *
353
+ * Wire format: `[type=3] [reasonLen(2 BE)] [reason_utf8]`.
354
+ *
355
+ * Distinct from type=2 (success) and from PQ key-exchange failure
356
+ * (which uses the error path of `handleAuthStream`). Only `onPeerHandshake`
357
+ * rejection or throw reaches this path. Does not touch `aclBanState`.
358
+ *
359
+ * @req FR-67
360
+ */
361
+ private sendAuthRejection;
290
362
  /**
291
363
  * Perform PQ auth handshake with a peer.
292
364
  *
@@ -327,6 +399,25 @@ export declare class SyncEngine {
327
399
  * to exit the reader loop (the finally block handles cleanup).
328
400
  */
329
401
  private handleAclDenial;
402
+ /**
403
+ * Reset per-peer ACL ban state for the named peer.
404
+ *
405
+ * Supports applications that perform out-of-band authorization (e.g.,
406
+ * validating a JWT and granting ACL via a separate HTTP route) and need
407
+ * to resume sync without waiting for the 5-minute clean-session window.
408
+ *
409
+ * Clears both the escalating ban state and the in-window denial tracker.
410
+ * Returns `{ cleared, priorDisconnects }` for observability; the caller
411
+ * can tell whether a ban was actually in effect.
412
+ *
413
+ * Exposed publicly via `SietchServer.clearAclBan(peerId)`.
414
+ *
415
+ * @req FR-36
416
+ */
417
+ clearAclBan(peerId: string): {
418
+ cleared: boolean;
419
+ priorDisconnects: number;
420
+ };
330
421
  private sendAuthoritativeReset;
331
422
  /**
332
423
  * Handle incoming diagnostic stream.