sietch 0.12.1 → 0.14.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.
@@ -11,6 +11,10 @@
11
11
  import { sign, verify, generateCek, wrapCek, } from '../crypto.js';
12
12
  import { serializeAclPayload, } from '../acl.js';
13
13
  import { AclError, PermissionDeniedError } from '../errors.js';
14
+ // AMD-006: libp2p peerIds are base58-encoded multihashes with stable
15
+ // prefixes — Ed25519 starts with "12D3KooW", legacy RSA with "Qm".
16
+ // Sietch identity peerIds are lowercase-hex digests (no such prefix).
17
+ const LIBP2P_PEERID_SHAPE = /^(12D3KooW|Qm[1-9A-HJ-NP-Za-km-z]{43,46})/;
14
18
  /** Default signing backend wrapping a HybridKeypair. */
15
19
  export class DefaultSigningBackend {
16
20
  keypair;
@@ -171,6 +175,14 @@ export class ServerAclAuthority {
171
175
  if (!request.permissions) {
172
176
  return { ok: false, error: new AclError('Grant requires permissions', 'ACL_MISSING_PERMS') };
173
177
  }
178
+ // AMD-006: warn if targetUserId looks like a libp2p peerId. Sietch
179
+ // identityPeerIds are 32-byte hex digests; libp2p peerIds are
180
+ // base58-encoded multihashes starting with `12D3` (Ed25519) or `Qm`
181
+ // (RSA). Grants keyed against libp2p peerIds silently no-op because
182
+ // the sync gate checks sietch identityPeerId.
183
+ if (LIBP2P_PEERID_SHAPE.test(request.targetUserId)) {
184
+ this.obs.logger.warn({ subtreeId: request.subtreeId, targetUserId: request.targetUserId }, '[AMD-006] ACL grant target looks like a libp2p peerId — write gate keys on sietch identityPeerId. Grants against libp2p peerIds silently no-op. Use ctx.aclTarget (== ctx.sietchIdentityPeerId) from the HandshakeHook instead.');
185
+ }
174
186
  // For existing subtrees, validate requester is admin
175
187
  if (existing) {
176
188
  const requesterPerms = existing.acl[request.requesterId];
@@ -1 +1 @@
1
- {"version":3,"file":"acl-authority.js","sourceRoot":"","sources":["../../src/server/acl-authority.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acl-authority.js","sourceRoot":"","sources":["../../src/server/acl-authority.ts"],"names":[],"mappings":"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"}
@@ -7,15 +7,24 @@
7
7
  *
8
8
  * The pool is NOT owned by this backend — close() is a no-op.
9
9
  * The caller owns the pool and may share it with PostgreSQLDatabaseAdapter.
10
+ *
11
+ * AMD-008: `pg.Pool` emits an `'error'` event when a connection is closed
12
+ * by the server (administrator command, restart, ECONNRESET); unhandled,
13
+ * this crashes the process. The constructor now registers a listener so
14
+ * such errors are logged and swallowed. All queries are wrapped in a
15
+ * retry-on-transient loop (3 attempts, 100/500/2500 ms backoff) so a
16
+ * brief PG bounce no longer fails caller writes.
10
17
  */
11
18
  import pg from 'pg';
12
19
  import type { StorageBackend } from '../storage.js';
13
20
  import type { StorageCapacity } from '../types.js';
21
+ import type { ObservabilityContext } from '../observability.js';
14
22
  export declare class PostgresStorageBackend implements StorageBackend {
15
23
  readonly type: "postgres";
16
24
  private pool;
17
25
  private schemaReady;
18
- constructor(pool: pg.Pool);
26
+ private obs;
27
+ constructor(pool: pg.Pool, obs?: ObservabilityContext);
19
28
  /**
20
29
  * Ensure required tables exist. Idempotent — safe to call on every startup.
21
30
  * Does NOT create `nodes`, `node_history`, `vectors`, or AGE graph —
@@ -47,4 +56,12 @@ export declare class PostgresStorageBackend implements StorageBackend {
47
56
  close(): Promise<void>;
48
57
  private kvUpsert;
49
58
  private kvLoad;
59
+ /**
60
+ * AMD-008: per-query retry on transient PG errors.
61
+ *
62
+ * Retries up to 3 times (4 total attempts) on `terminating connection`,
63
+ * `ECONNRESET`, and similar disconnect classes. Backoff: 100, 500, 2500 ms.
64
+ * Permanent errors (auth, syntax, schema) bypass retries and throw.
65
+ */
66
+ private runQuery;
50
67
  }
@@ -7,14 +7,47 @@
7
7
  *
8
8
  * The pool is NOT owned by this backend — close() is a no-op.
9
9
  * The caller owns the pool and may share it with PostgreSQLDatabaseAdapter.
10
+ *
11
+ * AMD-008: `pg.Pool` emits an `'error'` event when a connection is closed
12
+ * by the server (administrator command, restart, ECONNRESET); unhandled,
13
+ * this crashes the process. The constructor now registers a listener so
14
+ * such errors are logged and swallowed. All queries are wrapped in a
15
+ * retry-on-transient loop (3 attempts, 100/500/2500 ms backoff) so a
16
+ * brief PG bounce no longer fails caller writes.
10
17
  */
18
+ // AMD-008: transient PG error class detection. We retry on:
19
+ // - Connection terminated by administrator (`57P01`)
20
+ // - Crash shutdown (`57P02`), cannot connect now (`57P03`)
21
+ // - Admin shutdown (`57P04`), idle session timeout (`57P05`)
22
+ // - ECONNRESET / EPIPE / read ECONNRESET at the socket layer
23
+ // - "Connection terminated unexpectedly" — node-postgres pool message
24
+ const TRANSIENT_PG_CODES = new Set(['57P01', '57P02', '57P03', '57P04', '57P05']);
25
+ const TRANSIENT_PG_MESSAGE = /terminating connection|Connection terminated|ECONNRESET|EPIPE|read ECONNRESET|server closed the connection unexpectedly/i;
26
+ function isTransientPgError(err) {
27
+ if (!err || typeof err !== 'object')
28
+ return false;
29
+ const e = err;
30
+ if (typeof e.code === 'string' && TRANSIENT_PG_CODES.has(e.code))
31
+ return true;
32
+ if (typeof e.message === 'string' && TRANSIENT_PG_MESSAGE.test(e.message))
33
+ return true;
34
+ return false;
35
+ }
36
+ const RETRY_DELAYS_MS = [100, 500, 2500];
11
37
  // @req FR-02
12
38
  export class PostgresStorageBackend {
13
39
  type = 'postgres';
14
40
  pool;
15
41
  schemaReady = false;
16
- constructor(pool) {
42
+ obs;
43
+ constructor(pool, obs) {
17
44
  this.pool = pool;
45
+ this.obs = obs;
46
+ // AMD-008: trap pool-level errors that otherwise propagate as
47
+ // uncaughtException and crash the process during PG restarts.
48
+ pool.on('error', (err) => {
49
+ this.obs?.logger.warn({ err: String(err), code: err.code }, '[AMD-008] pg.Pool error swallowed — query-level retry will handle reconnection');
50
+ });
18
51
  }
19
52
  /**
20
53
  * Ensure required tables exist. Idempotent — safe to call on every startup.
@@ -24,14 +57,14 @@ export class PostgresStorageBackend {
24
57
  async ensureSchema() {
25
58
  if (this.schemaReady)
26
59
  return;
27
- await this.pool.query(`
60
+ await this.runQuery(`
28
61
  CREATE TABLE IF NOT EXISTS subdoc_states (
29
62
  subtree_id TEXT PRIMARY KEY,
30
63
  yjs_state BYTEA NOT NULL,
31
64
  updated_at TIMESTAMPTZ NOT NULL DEFAULT now()
32
65
  )
33
66
  `);
34
- await this.pool.query(`
67
+ await this.runQuery(`
35
68
  CREATE TABLE IF NOT EXISTS sietch_kv (
36
69
  key TEXT PRIMARY KEY,
37
70
  value BYTEA NOT NULL,
@@ -42,22 +75,22 @@ export class PostgresStorageBackend {
42
75
  }
43
76
  // ── Subdoc persistence ──────────────────────────────────
44
77
  async persistSubdoc(subtreeId, state) {
45
- await this.pool.query(`INSERT INTO subdoc_states (subtree_id, yjs_state, updated_at)
78
+ await this.runQuery(`INSERT INTO subdoc_states (subtree_id, yjs_state, updated_at)
46
79
  VALUES ($1, $2, now())
47
80
  ON CONFLICT (subtree_id) DO UPDATE SET yjs_state = $2, updated_at = now()`, [subtreeId, Buffer.from(state)]);
48
81
  }
49
82
  async loadSubdoc(subtreeId) {
50
- const result = await this.pool.query('SELECT yjs_state FROM subdoc_states WHERE subtree_id = $1', [subtreeId]);
83
+ const result = await this.runQuery('SELECT yjs_state FROM subdoc_states WHERE subtree_id = $1', [subtreeId]);
51
84
  if (result.rows.length === 0)
52
85
  return null;
53
86
  const buf = result.rows[0].yjs_state;
54
87
  return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength);
55
88
  }
56
89
  async deleteSubdoc(subtreeId) {
57
- await this.pool.query('DELETE FROM subdoc_states WHERE subtree_id = $1', [subtreeId]);
90
+ await this.runQuery('DELETE FROM subdoc_states WHERE subtree_id = $1', [subtreeId]);
58
91
  }
59
92
  async listSubdocs() {
60
- const result = await this.pool.query('SELECT subtree_id FROM subdoc_states ORDER BY subtree_id');
93
+ const result = await this.runQuery('SELECT subtree_id FROM subdoc_states ORDER BY subtree_id');
61
94
  return result.rows.map((row) => row.subtree_id);
62
95
  }
63
96
  // ── Capacity ────────────────────────────────────────────
@@ -94,7 +127,7 @@ export class PostgresStorageBackend {
94
127
  await this.kvUpsert(`meta:${id}`, encoded);
95
128
  }
96
129
  async listSubdocMetadata() {
97
- const result = await this.pool.query("SELECT key, value FROM sietch_kv WHERE key LIKE 'meta:%' ORDER BY key");
130
+ const result = await this.runQuery("SELECT key, value FROM sietch_kv WHERE key LIKE 'meta:%' ORDER BY key");
98
131
  return result.rows.map((row) => {
99
132
  const id = row.key.slice(5); // strip 'meta:'
100
133
  const meta = JSON.parse(row.value.toString());
@@ -107,16 +140,42 @@ export class PostgresStorageBackend {
107
140
  }
108
141
  // ── Private helpers ─────────────────────────────────────
109
142
  async kvUpsert(key, value) {
110
- await this.pool.query(`INSERT INTO sietch_kv (key, value, updated_at)
143
+ await this.runQuery(`INSERT INTO sietch_kv (key, value, updated_at)
111
144
  VALUES ($1, $2, now())
112
145
  ON CONFLICT (key) DO UPDATE SET value = $2, updated_at = now()`, [key, value]);
113
146
  }
114
147
  async kvLoad(key) {
115
- const result = await this.pool.query('SELECT value FROM sietch_kv WHERE key = $1', [key]);
148
+ const result = await this.runQuery('SELECT value FROM sietch_kv WHERE key = $1', [key]);
116
149
  if (result.rows.length === 0)
117
150
  return null;
118
151
  const buf = result.rows[0].value;
119
152
  return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength);
120
153
  }
154
+ /**
155
+ * AMD-008: per-query retry on transient PG errors.
156
+ *
157
+ * Retries up to 3 times (4 total attempts) on `terminating connection`,
158
+ * `ECONNRESET`, and similar disconnect classes. Backoff: 100, 500, 2500 ms.
159
+ * Permanent errors (auth, syntax, schema) bypass retries and throw.
160
+ */
161
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
162
+ async runQuery(text, params) {
163
+ let lastErr;
164
+ for (let attempt = 0; attempt <= RETRY_DELAYS_MS.length; attempt++) {
165
+ try {
166
+ return await this.pool.query(text, params);
167
+ }
168
+ catch (err) {
169
+ lastErr = err;
170
+ if (!isTransientPgError(err) || attempt === RETRY_DELAYS_MS.length) {
171
+ throw err;
172
+ }
173
+ const delay = RETRY_DELAYS_MS[attempt];
174
+ this.obs?.logger.warn({ attempt: attempt + 1, delay, err: String(err) }, '[AMD-008] transient PG error, retrying');
175
+ await new Promise((r) => setTimeout(r, delay));
176
+ }
177
+ }
178
+ throw lastErr;
179
+ }
121
180
  }
122
181
  //# sourceMappingURL=pg-storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pg-storage.js","sourceRoot":"","sources":["../../src/server/pg-storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pg-storage.js","sourceRoot":"","sources":["../../src/server/pg-storage.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,10 @@ import { type PublicIdentity } from '../identity.js';
16
16
  import { type StorageBackend } from '../storage.js';
17
17
  import type { SyncConfig, HandshakeHook } from '../sync-engine.js';
18
18
  import { type DatabaseAdapter } from './query-bridge.js';
19
- import { type AclSigningBackend } from './acl-authority.js';
19
+ import { ServerAclAuthority, type AclSigningBackend } from './acl-authority.js';
20
+ import { type AclReferenceNode } from '../acl.js';
21
+ import type { AclPermissions } from '../types.js';
22
+ import type { HybridPublicKey } from '../crypto.js';
20
23
  import type { CrdtValue, EvictionPolicy, MutationEvent, StorageMetrics, StorageType, Unsubscribe, WriteConfirmation, ReadResult } from '../types.js';
21
24
  /** Server-side eviction options (Tier 1 only — memory to disk). */
22
25
  export interface ServerEvictionOptions extends EvictionPolicy {
@@ -76,7 +79,7 @@ export declare class SietchServer {
76
79
  private readonly obs;
77
80
  private readonly storage;
78
81
  private queryBridge?;
79
- private aclAuthority?;
82
+ private _aclAuthority?;
80
83
  private evictionMgr?;
81
84
  /** Private — use createServer(). */
82
85
  private constructor();
@@ -124,6 +127,74 @@ export declare class SietchServer {
124
127
  cleared: boolean;
125
128
  priorDisconnects: number;
126
129
  };
130
+ /**
131
+ * AMD-009: read-only access to the underlying `ServerAclAuthority`.
132
+ *
133
+ * `undefined` if `aclSigningBackend` was not passed to `createServer`.
134
+ * Use this when you need direct access to the authority primitives
135
+ * (e.g. low-level `processChange` or CEK handling for encrypted
136
+ * subtrees). For most flows the high-level `setAcl` / `grant` /
137
+ * `revoke` / `createOwnedSubtree` methods below are friendlier.
138
+ *
139
+ * @req FR-28
140
+ * @req FR-36
141
+ */
142
+ get aclAuthority(): ServerAclAuthority | undefined;
143
+ /**
144
+ * AMD-009: persist an ACL reference node into `_keys.{subtreeId}` and
145
+ * apply it to the local `AclManager`. Mirrors `Store.setAcl` for the
146
+ * server role. Connected clients receive the update via the existing
147
+ * `initAclSync` listener on their side.
148
+ *
149
+ * Typically called internally by `grant` / `revoke` /
150
+ * `createOwnedSubtree`. Exposed for advanced integrations that compute
151
+ * a ref node out-of-band (e.g. signed by an external HSM).
152
+ *
153
+ * @req FR-28
154
+ * @req FR-36
155
+ */
156
+ setAcl(subtreeId: string, refNode: AclReferenceNode): Promise<void>;
157
+ /**
158
+ * AMD-009: create a server-owned subtree with an initial ACL granting
159
+ * only the server admin perms. Persists the ref node into `_keys` and
160
+ * propagates to connected peers.
161
+ *
162
+ * Throws if `aclSigningBackend` was not configured at `createServer`
163
+ * time — no authority to sign with.
164
+ *
165
+ * @req FR-36
166
+ * @req FR-72
167
+ */
168
+ createOwnedSubtree(subtreeId: string, opts?: {
169
+ encrypted?: boolean;
170
+ userPublicKeys?: Map<string, HybridPublicKey>;
171
+ }): Promise<AclReferenceNode>;
172
+ /**
173
+ * AMD-009: grant permissions on a subtree to a target identity peerId.
174
+ *
175
+ * **`identityPeerId` must be the sietch identity peerId**
176
+ * (`ctx.aclTarget` / `ctx.sietchIdentityPeerId` from `HandshakeHook`),
177
+ * NOT the libp2p `ctx.peerId`. AMD-006 added a runtime WARN for the
178
+ * libp2p-shaped mismatch.
179
+ *
180
+ * If the subtree doesn't exist yet, it is created server-owned and
181
+ * unencrypted before the grant is applied. Subsequent calls add to
182
+ * the existing ACL.
183
+ *
184
+ * @req FR-28
185
+ * @req FR-36
186
+ * @req FR-67
187
+ */
188
+ grant(subtreeId: string, identityPeerId: string, permissions: AclPermissions): Promise<AclReferenceNode>;
189
+ /**
190
+ * AMD-009: revoke a target identity peerId's permissions on a subtree.
191
+ *
192
+ * Throws if the subtree doesn't exist or the authority isn't configured.
193
+ *
194
+ * @req FR-28
195
+ * @req FR-36
196
+ */
197
+ revoke(subtreeId: string, identityPeerId: string): Promise<AclReferenceNode>;
127
198
  /** Get eviction metrics (requires eviction option). */
128
199
  getEvictionMetrics(): Promise<StorageMetrics | null>;
129
200
  /** Gracefully shut down all subsystems. */
@@ -19,6 +19,8 @@ import { createStorageBackend } from '../storage.js';
19
19
  import { createObservabilityContext } from '../observability.js';
20
20
  import { ServerQueryBridge } from './query-bridge.js';
21
21
  import { ServerAclAuthority } from './acl-authority.js';
22
+ import { serializeRefNode } from '../acl.js';
23
+ import { AclError } from '../errors.js';
22
24
  import { EvictionManager } from '../eviction.js';
23
25
  // ── YjsEngine → BridgeStateSource adapter ──────────────────
24
26
  /**
@@ -62,7 +64,7 @@ export class SietchServer {
62
64
  obs;
63
65
  storage;
64
66
  queryBridge;
65
- aclAuthority;
67
+ _aclAuthority;
66
68
  evictionMgr;
67
69
  /** Private — use createServer(). */
68
70
  constructor(storage, obs, yjsEngine, syncEngine, identityMgr, aclMgr) {
@@ -94,7 +96,13 @@ export class SietchServer {
94
96
  // 5. SyncEngine (transport)
95
97
  const { SyncEngine: SyncEngineCtor } = await import('../sync-engine.js');
96
98
  const syncEngine = new SyncEngineCtor(yjsEngine, identityMgr, aclMgr, obs);
97
- const syncConfig = { listen: options.listen };
99
+ // AMD-007: pass storage so libp2p keypair persists across server restarts.
100
+ // Without this the libp2p peerId rotates per restart and AMD-005 redial
101
+ // dials a stale /p2p/<id> from clients.
102
+ const syncConfig = {
103
+ listen: options.listen,
104
+ storage,
105
+ };
98
106
  if (options.reconnect) {
99
107
  syncConfig.reconnect = options.reconnect;
100
108
  }
@@ -116,7 +124,7 @@ export class SietchServer {
116
124
  // 7. ACL authority (optional)
117
125
  if (options.aclSigningBackend) {
118
126
  const identity = identityMgr.getPublicIdentity();
119
- server.aclAuthority = new ServerAclAuthority(options.aclSigningBackend, obs, identity.peerId);
127
+ server._aclAuthority = new ServerAclAuthority(options.aclSigningBackend, obs, identity.peerId);
120
128
  }
121
129
  // 8. Eviction (optional — Tier 1 only, gated by active sync)
122
130
  if (options.eviction) {
@@ -236,6 +244,124 @@ export class SietchServer {
236
244
  clearAclBan(peerId) {
237
245
  return this.syncEngine.clearAclBan(peerId);
238
246
  }
247
+ // ── ACL provisioning (AMD-009) ───────────────────────────
248
+ /**
249
+ * AMD-009: read-only access to the underlying `ServerAclAuthority`.
250
+ *
251
+ * `undefined` if `aclSigningBackend` was not passed to `createServer`.
252
+ * Use this when you need direct access to the authority primitives
253
+ * (e.g. low-level `processChange` or CEK handling for encrypted
254
+ * subtrees). For most flows the high-level `setAcl` / `grant` /
255
+ * `revoke` / `createOwnedSubtree` methods below are friendlier.
256
+ *
257
+ * @req FR-28
258
+ * @req FR-36
259
+ */
260
+ get aclAuthority() {
261
+ return this._aclAuthority;
262
+ }
263
+ /**
264
+ * AMD-009: persist an ACL reference node into `_keys.{subtreeId}` and
265
+ * apply it to the local `AclManager`. Mirrors `Store.setAcl` for the
266
+ * server role. Connected clients receive the update via the existing
267
+ * `initAclSync` listener on their side.
268
+ *
269
+ * Typically called internally by `grant` / `revoke` /
270
+ * `createOwnedSubtree`. Exposed for advanced integrations that compute
271
+ * a ref node out-of-band (e.g. signed by an external HSM).
272
+ *
273
+ * @req FR-28
274
+ * @req FR-36
275
+ */
276
+ async setAcl(subtreeId, refNode) {
277
+ this.aclMgr.applyReferenceNode(refNode);
278
+ const serialized = serializeRefNode(refNode);
279
+ const { update } = await this.yjsEngine.applyLocal(`_keys.${subtreeId}`, serialized);
280
+ if (update) {
281
+ this.syncEngine.queueUpdate('_keys', update);
282
+ }
283
+ }
284
+ /**
285
+ * AMD-009: create a server-owned subtree with an initial ACL granting
286
+ * only the server admin perms. Persists the ref node into `_keys` and
287
+ * propagates to connected peers.
288
+ *
289
+ * Throws if `aclSigningBackend` was not configured at `createServer`
290
+ * time — no authority to sign with.
291
+ *
292
+ * @req FR-36
293
+ * @req FR-72
294
+ */
295
+ async createOwnedSubtree(subtreeId, opts) {
296
+ if (!this._aclAuthority) {
297
+ throw new AclError('createOwnedSubtree requires aclSigningBackend in createServer({...})', 'ACL_AUTHORITY_NOT_CONFIGURED');
298
+ }
299
+ const refNode = this._aclAuthority.createOwnedSubtree(subtreeId, opts?.encrypted ?? false, opts?.userPublicKeys);
300
+ await this.setAcl(subtreeId, refNode);
301
+ return refNode;
302
+ }
303
+ /**
304
+ * AMD-009: grant permissions on a subtree to a target identity peerId.
305
+ *
306
+ * **`identityPeerId` must be the sietch identity peerId**
307
+ * (`ctx.aclTarget` / `ctx.sietchIdentityPeerId` from `HandshakeHook`),
308
+ * NOT the libp2p `ctx.peerId`. AMD-006 added a runtime WARN for the
309
+ * libp2p-shaped mismatch.
310
+ *
311
+ * If the subtree doesn't exist yet, it is created server-owned and
312
+ * unencrypted before the grant is applied. Subsequent calls add to
313
+ * the existing ACL.
314
+ *
315
+ * @req FR-28
316
+ * @req FR-36
317
+ * @req FR-67
318
+ */
319
+ async grant(subtreeId, identityPeerId, permissions) {
320
+ if (!this._aclAuthority) {
321
+ throw new AclError('grant requires aclSigningBackend in createServer({...})', 'ACL_AUTHORITY_NOT_CONFIGURED');
322
+ }
323
+ if (!this._aclAuthority.getRefNode(subtreeId)) {
324
+ this._aclAuthority.createOwnedSubtree(subtreeId, false);
325
+ }
326
+ const serverIdentity = await this.identity();
327
+ const result = this._aclAuthority.processChange({
328
+ subtreeId,
329
+ requesterId: serverIdentity.peerId,
330
+ operation: 'grant',
331
+ targetUserId: identityPeerId,
332
+ permissions,
333
+ });
334
+ if (!result.ok) {
335
+ throw result.error;
336
+ }
337
+ await this.setAcl(subtreeId, result.value);
338
+ return result.value;
339
+ }
340
+ /**
341
+ * AMD-009: revoke a target identity peerId's permissions on a subtree.
342
+ *
343
+ * Throws if the subtree doesn't exist or the authority isn't configured.
344
+ *
345
+ * @req FR-28
346
+ * @req FR-36
347
+ */
348
+ async revoke(subtreeId, identityPeerId) {
349
+ if (!this._aclAuthority) {
350
+ throw new AclError('revoke requires aclSigningBackend in createServer({...})', 'ACL_AUTHORITY_NOT_CONFIGURED');
351
+ }
352
+ const serverIdentity = await this.identity();
353
+ const result = this._aclAuthority.processChange({
354
+ subtreeId,
355
+ requesterId: serverIdentity.peerId,
356
+ operation: 'revoke',
357
+ targetUserId: identityPeerId,
358
+ });
359
+ if (!result.ok) {
360
+ throw result.error;
361
+ }
362
+ await this.setAcl(subtreeId, result.value);
363
+ return result.value;
364
+ }
239
365
  // ── Eviction ─────────────────────────────────────────────
240
366
  /** Get eviction metrics (requires eviction option). */
241
367
  async getEvictionMetrics() {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"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"}
package/dist/store.d.ts CHANGED
@@ -54,6 +54,13 @@ export declare class Store {
54
54
  private microBatch;
55
55
  /** Whether a microtask flush is already scheduled. */
56
56
  private microBatchScheduled;
57
+ /**
58
+ * AMD-011: latch for the one-shot WARN in pushOrBatchUpdate when this
59
+ * Store has no syncEngine. Prevents log spam for legitimate local-only
60
+ * Store usage while still surfacing the multi-Store / call-order bug
61
+ * the first time it bites.
62
+ */
63
+ private warnedNoSyncEngine;
57
64
  /** Status listeners registered before syncEngine is available. */
58
65
  private readonly pendingStatusListeners;
59
66
  /** Subtree status listeners registered before syncEngine is available. */
package/dist/store.js CHANGED
@@ -54,6 +54,13 @@ export class Store {
54
54
  microBatch = new Map();
55
55
  /** Whether a microtask flush is already scheduled. */
56
56
  microBatchScheduled = false;
57
+ /**
58
+ * AMD-011: latch for the one-shot WARN in pushOrBatchUpdate when this
59
+ * Store has no syncEngine. Prevents log spam for legitimate local-only
60
+ * Store usage while still surfacing the multi-Store / call-order bug
61
+ * the first time it bites.
62
+ */
63
+ warnedNoSyncEngine = false;
57
64
  /** Status listeners registered before syncEngine is available. */
58
65
  pendingStatusListeners = new Set();
59
66
  /** Subtree status listeners registered before syncEngine is available. */
@@ -872,6 +879,20 @@ export class Store {
872
879
  queueMicrotask(() => this.flushMicroBatch());
873
880
  }
874
881
  }
882
+ else {
883
+ // AMD-011: silent-drop trap. The Store has no syncEngine — either
884
+ // listen()/connectServer() was never called (legitimate local-only
885
+ // use), OR (more often, per hex3 incident 2026-05-19) the caller is
886
+ // holding two Store instances and using the wrong one. Local Yjs
887
+ // apply already happened above this call site, so the write IS in
888
+ // the local subdoc; what does NOT happen is sync. Warn ONCE per
889
+ // Store to avoid spamming legitimate local-only users while still
890
+ // surfacing the multi-Store bug the first time it bites.
891
+ if (!this.warnedNoSyncEngine) {
892
+ this.warnedNoSyncEngine = true;
893
+ this.obs.logger.warn({ subtreeId, updateSize: update.byteLength }, 'Store.put applied locally but NOT synced — this Store has no syncEngine. Call connectServer()/listen() first, or check for duplicate Store instances.');
894
+ }
895
+ }
875
896
  }
876
897
  /** Flush coalesced updates — one merged update per subtree per tick. */
877
898
  flushMicroBatch() {
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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"}
@@ -32,6 +32,22 @@ export interface SyncConfig {
32
32
  /** Backoff multiplier (default: 2). */
33
33
  multiplier?: number;
34
34
  };
35
+ /**
36
+ * Storage backend for libp2p keypair persistence (AMD-007).
37
+ *
38
+ * When provided AND the backend supports `loadRef`/`persistRef`, the
39
+ * sync engine persists its libp2p Ed25519 keypair under the reserved
40
+ * ref id `_libp2p_keypair_raw`. This keeps the libp2p peerId stable
41
+ * across server restarts so client-side AMD-005 redial survives a
42
+ * server bounce.
43
+ *
44
+ * When omitted, libp2p generates a fresh keypair on every `init()`
45
+ * (legacy behavior — appropriate for client-only or test contexts).
46
+ */
47
+ storage?: {
48
+ persistRef(refId: string, state: Uint8Array): Promise<void>;
49
+ loadRef(refId: string): Promise<Uint8Array | null>;
50
+ };
35
51
  }
36
52
  /**
37
53
  * Server-side application authorization hook.
@@ -46,11 +62,33 @@ export interface SyncConfig {
46
62
  * AppRejected frame without counting toward `aclBanState`. Return
47
63
  * `void`, `undefined`, or `{ accept: true }` to admit the peer.
48
64
  *
65
+ * **ACL grants must target `aclTarget` (== `sietchIdentityPeerId`), NOT
66
+ * `peerId` / `libp2pPeerId`.** The sync engine's write/read gates check
67
+ * ACL against the **sietch identity peerId** derived from the PQ
68
+ * keypair — that identity is stable across reconnects. The libp2p
69
+ * peerId is transport-layer-only and rotates per session, so grants
70
+ * keyed against it have no effect and result in silent
71
+ * `Write permission denied` errors on the client even though the
72
+ * server logged a successful grant. See AMD-006.
73
+ *
49
74
  * @req FR-67
50
75
  */
51
76
  export type HandshakeHook = (ctx: {
77
+ /** Libp2p transport peer ID — ephemeral, rotates per session. */
52
78
  peerId: string;
79
+ /** Alias of `peerId`, named explicitly for disambiguation. AMD-006. */
80
+ libp2pPeerId: string;
81
+ /** Sietch PQ identity peer ID — stable across reconnects. */
53
82
  identityPeerId: string | undefined;
83
+ /** Alias of `identityPeerId`, named explicitly. AMD-006. */
84
+ sietchIdentityPeerId: string | undefined;
85
+ /**
86
+ * Convenience: the value ACL grants should target.
87
+ * Equals `sietchIdentityPeerId` when set; otherwise `undefined`
88
+ * (in which case the hook should typically reject — there is no
89
+ * stable identity to grant permissions to). AMD-006.
90
+ */
91
+ aclTarget: string | undefined;
54
92
  handshakeMetadata: Uint8Array;
55
93
  }) => Promise<HandshakeHookDecision | void> | HandshakeHookDecision | void;
56
94
  export type HandshakeHookDecision = {
@@ -349,6 +349,34 @@ export class SyncEngine {
349
349
  }
350
350
  catch { /* @libp2p/webrtc not installed — skip */ }
351
351
  }
352
+ // AMD-007: libp2p keypair persistence. When storage is provided, load
353
+ // or generate-and-persist an Ed25519 keypair under `_libp2p_keypair_raw`
354
+ // so the server's libp2p peerId is stable across restarts. Without
355
+ // this, AMD-005's client-side redial dials a stale /p2p/<id> after a
356
+ // server bounce and never reconnects.
357
+ let libp2pPrivateKey;
358
+ if (config?.storage) {
359
+ try {
360
+ const { generateKeyPair, privateKeyFromRaw } = await import('@libp2p/crypto/keys');
361
+ const raw = await config.storage.loadRef('_libp2p_keypair_raw');
362
+ if (raw) {
363
+ libp2pPrivateKey = privateKeyFromRaw(raw);
364
+ this.obs.logger.info({ refId: '_libp2p_keypair_raw' }, 'libp2p keypair restored from storage (AMD-007)');
365
+ }
366
+ else {
367
+ const generated = await generateKeyPair('Ed25519');
368
+ libp2pPrivateKey = generated;
369
+ // PrivateKey exposes .raw bytes — used by privateKeyFromRaw on load.
370
+ // The `raw` accessor on libp2p keys returns the protobuf-encoded
371
+ // marshalled form, which privateKeyFromRaw round-trips.
372
+ await config.storage.persistRef('_libp2p_keypair_raw', generated.raw);
373
+ this.obs.logger.info({ refId: '_libp2p_keypair_raw' }, 'libp2p keypair generated and persisted (AMD-007)');
374
+ }
375
+ }
376
+ catch (err) {
377
+ this.obs.logger.warn({ err: String(err) }, 'AMD-007: libp2p keypair persistence failed — falling back to ephemeral keypair');
378
+ }
379
+ }
352
380
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
353
381
  const opts = {
354
382
  addresses: { listen: config?.listen ?? [] },
@@ -356,6 +384,7 @@ export class SyncEngine {
356
384
  connectionEncrypters: [noise()],
357
385
  streamMuxers: [yamux()],
358
386
  services: { identify: identify(), ping: ping() },
387
+ ...(libp2pPrivateKey ? { privateKey: libp2pPrivateKey } : {}),
359
388
  // Allow ws:// and private IPs — Noise provides channel encryption,
360
389
  // and the app controls dial targets. Production uses wss:// + TLS.
361
390
  connectionGater: { denyDialMultiaddr: () => false },
@@ -620,9 +649,25 @@ export class SyncEngine {
620
649
  // Ensure the subtree is registered for sync — queueUpdate is the
621
650
  // "please sync this" path. Without this, put() without a prior
622
651
  // subscribe() leaves the subtree invisible to flushPending.
623
- if (!this.syncedSubdocs.has(subtreeId)) {
652
+ const wasNew = !this.syncedSubdocs.has(subtreeId);
653
+ if (wasNew) {
624
654
  this.syncedSubdocs.set(subtreeId, { subtreeId, active: true });
625
655
  }
656
+ // AMD-010: belt-and-braces against put-without-subscribe AND against
657
+ // any race where peer.syncedSubtrees never picked up this subtree
658
+ // (e.g. spurious peer:connect existing-path clear, hex3 incident
659
+ // 2026-05-19 trail). For any streamed peer that doesn't already have
660
+ // this subtree in its synced set, fire SS1 now. The pre-existing
661
+ // pendingOps push below still runs for the current update;
662
+ // syncSubdocWithPeer's drain (line ~1955) catches it after the
663
+ // SS1 round-trip.
664
+ if (wasNew) {
665
+ for (const peer of this.peers.values()) {
666
+ if (peer.authenticated && peer.syncStream && !peer.syncedSubtrees.has(subtreeId)) {
667
+ void this.syncSubdocWithPeer(subtreeId, peer.peerId);
668
+ }
669
+ }
670
+ }
626
671
  if (this.state === 'offline') {
627
672
  this.pendingOps.push({ subtreeId, update });
628
673
  this.obs.logger.info({ subtreeId, state: this.state, pendingCount: this.pendingOps.length }, 'update queued (offline)');
@@ -1283,9 +1328,14 @@ export class SyncEngine {
1283
1328
  // handshake rejection is distinct from per-peer ACL denial escalation.
1284
1329
  if (this.onPeerHandshake && senderPeerId) {
1285
1330
  try {
1331
+ // AMD-006: pass libp2pPeerId / sietchIdentityPeerId / aclTarget
1332
+ // aliases so integrators reach for the right one when granting ACL.
1286
1333
  const decision = await this.onPeerHandshake({
1287
1334
  peerId: senderPeerId,
1335
+ libp2pPeerId: senderPeerId,
1288
1336
  identityPeerId: remoteIdentityPeerId,
1337
+ sietchIdentityPeerId: remoteIdentityPeerId,
1338
+ aclTarget: remoteIdentityPeerId,
1289
1339
  handshakeMetadata: remoteHandshakeMeta,
1290
1340
  });
1291
1341
  if (decision && decision.accept === false) {
@@ -1 +1 @@
1
- {"version":3,"file":"sync-engine.js","sourceRoot":"","sources":["../src/sync-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-engine.js","sourceRoot":"","sources":["../src/sync-engine.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sietch",
3
- "version": "0.12.1",
3
+ "version": "0.14.0",
4
4
  "description": "Offline-first database with CRDT sync, post-quantum encryption, and per-subtree ACL",
5
5
  "keywords": [
6
6
  "offline-first",
@@ -88,6 +88,7 @@
88
88
  "@chainsafe/libp2p-yamux": "^8.0.1",
89
89
  "@libp2p/bootstrap": "^12.0.11",
90
90
  "@libp2p/circuit-relay-v2": "^4.1.3",
91
+ "@libp2p/crypto": "^5.1.13",
91
92
  "@libp2p/identify": "^4.0.10",
92
93
  "@libp2p/interface": "^3.1.0",
93
94
  "@libp2p/ping": "^3.0.10",