@abloatai/transaction 0.59.1 → 0.59.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.
Files changed (166) hide show
  1. package/dist/auth/capability.d.ts +15 -15
  2. package/dist/auth/capabilityLifecycle.d.ts +2 -2
  3. package/dist/auth/credentialEndpoint.js.map +1 -1
  4. package/dist/auth/credentialSource.js.map +1 -1
  5. package/dist/auth/identity.js.map +1 -1
  6. package/dist/auth/schemas.d.ts +5 -5
  7. package/dist/auth/sessionIssuanceProtocol.d.ts +8 -8
  8. package/dist/auth/sessionIssuanceProtocol.d.ts.map +1 -1
  9. package/dist/branches.d.ts +38 -38
  10. package/dist/claims/contract.d.ts +27 -27
  11. package/dist/claims/eventContract.d.ts +18 -18
  12. package/dist/claims/routes.d.ts +9 -9
  13. package/dist/claims/routes.d.ts.map +1 -1
  14. package/dist/claims/trace.d.ts.map +1 -1
  15. package/dist/claims/trace.js.map +1 -1
  16. package/dist/client/ablo.d.ts +6 -5
  17. package/dist/client/ablo.d.ts.map +1 -1
  18. package/dist/client/ablo.js +0 -8
  19. package/dist/client/ablo.js.map +1 -1
  20. package/dist/client/resources/httpResources.js.map +1 -1
  21. package/dist/client/resources/modelOperations.d.ts +6 -6
  22. package/dist/client/resources/modelOperations.d.ts.map +1 -1
  23. package/dist/client/resources/where.d.ts +12 -12
  24. package/dist/client/surface.d.ts +2 -2
  25. package/dist/client/surface.d.ts.map +1 -1
  26. package/dist/client/surface.js +7 -0
  27. package/dist/client/surface.js.map +1 -1
  28. package/dist/commit/confirmation/commitEnvelope.d.ts +7 -7
  29. package/dist/commit/confirmation/httpCommitEnvelope.d.ts +1 -1
  30. package/dist/commit/confirmation/pendingWrite.d.ts +5 -5
  31. package/dist/commit/contract.d.ts +249 -249
  32. package/dist/commit/contract.d.ts.map +1 -1
  33. package/dist/commit/recordRuntime.d.ts +3 -2
  34. package/dist/commit/recordRuntime.d.ts.map +1 -1
  35. package/dist/commit/recordRuntime.js +1 -0
  36. package/dist/commit/recordRuntime.js.map +1 -1
  37. package/dist/coordination/schema.d.ts +54 -54
  38. package/dist/coordination/schema.js.map +1 -1
  39. package/dist/environment.d.ts +3 -3
  40. package/dist/environment.d.ts.map +1 -1
  41. package/dist/environment.js.map +1 -1
  42. package/dist/errorCodes.d.ts +6 -5
  43. package/dist/errorCodes.d.ts.map +1 -1
  44. package/dist/errorCodes.js +2 -1
  45. package/dist/errorCodes.js.map +1 -1
  46. package/dist/errorObservation.d.ts +14 -14
  47. package/dist/errors.d.ts +11 -11
  48. package/dist/errors.d.ts.map +1 -1
  49. package/dist/errors.js +16 -1
  50. package/dist/errors.js.map +1 -1
  51. package/dist/index.d.ts +1 -1
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js.map +1 -1
  54. package/dist/keys/index.d.ts +1 -1
  55. package/dist/keys/index.d.ts.map +1 -1
  56. package/dist/keys/index.js.map +1 -1
  57. package/dist/observation/contract.d.ts +34 -34
  58. package/dist/observation/feedContract.d.ts +86 -86
  59. package/dist/observation/persistence/syncDeltaRow.d.ts +23 -23
  60. package/dist/observation/persistence/syncDeltaRow.d.ts.map +1 -1
  61. package/dist/pricing.d.ts +12 -12
  62. package/dist/schema/audit.js.map +1 -1
  63. package/dist/schema/ddl.js.map +1 -1
  64. package/dist/schema/ddlLock.js.map +1 -1
  65. package/dist/schema/deployment/contracts.d.ts +64 -64
  66. package/dist/schema/deployment/index.js.map +1 -1
  67. package/dist/schema/deployment/reconcile.js.map +1 -1
  68. package/dist/schema/diff.js.map +1 -1
  69. package/dist/schema/field.d.ts +1 -1
  70. package/dist/schema/field.d.ts.map +1 -1
  71. package/dist/schema/loadStrategy.d.ts +2 -2
  72. package/dist/schema/loadStrategy.d.ts.map +1 -1
  73. package/dist/schema/openapi.js.map +1 -1
  74. package/dist/schema/relation.d.ts +3 -3
  75. package/dist/schema/relation.d.ts.map +1 -1
  76. package/dist/schema/residency.d.ts +1 -1
  77. package/dist/schema/roles.d.ts +1 -1
  78. package/dist/schema/roles.d.ts.map +1 -1
  79. package/dist/schema/roles.js.map +1 -1
  80. package/dist/schema/schema.d.ts +1 -1
  81. package/dist/schema/schema.d.ts.map +1 -1
  82. package/dist/schema/serialize.js.map +1 -1
  83. package/dist/schema/sugar.d.ts.map +1 -1
  84. package/dist/schema/tenancy.d.ts +2 -2
  85. package/dist/server/storageMode.d.ts +1 -1
  86. package/dist/source/adapters/adapterProfile.d.ts +6 -6
  87. package/dist/source/adapters/conformance.js.map +1 -1
  88. package/dist/source/adapters/contract.d.ts +14 -14
  89. package/dist/source/adapters/kysely.js.map +1 -1
  90. package/dist/source/adapters/memory.js.map +1 -1
  91. package/dist/source/adapters/prisma.js.map +1 -1
  92. package/dist/source/connector/client.d.ts.map +1 -1
  93. package/dist/source/connector/client.js.map +1 -1
  94. package/dist/source/connector/protocol.d.ts.map +1 -1
  95. package/dist/source/delivery/pushQueue.d.ts.map +1 -1
  96. package/dist/source/delivery/pushQueue.js.map +1 -1
  97. package/dist/source/endpoint/signing.d.ts +4 -4
  98. package/dist/source/endpoint/signing.d.ts.map +1 -1
  99. package/dist/source/outbox/contract.d.ts +4 -4
  100. package/dist/testing/fixtures/httpResponses.d.ts +2 -2
  101. package/dist/testing/fixtures/httpResponses.d.ts.map +1 -1
  102. package/dist/testing/fixtures/httpResponses.js.map +1 -1
  103. package/dist/transport/connection/credentialLifecycle.d.ts.map +1 -1
  104. package/dist/transport/connection/credentialLifecycle.js.map +1 -1
  105. package/dist/transport/connection/manager.d.ts.map +1 -1
  106. package/dist/transport/connection/manager.js.map +1 -1
  107. package/dist/transport/connection/networkProbe.d.ts +18 -5
  108. package/dist/transport/connection/networkProbe.d.ts.map +1 -1
  109. package/dist/transport/connection/networkProbe.js.map +1 -1
  110. package/dist/transport/http/client.d.ts +37 -1
  111. package/dist/transport/http/client.d.ts.map +1 -1
  112. package/dist/transport/http/client.js +117 -2
  113. package/dist/transport/http/client.js.map +1 -1
  114. package/dist/transport/http/transport.d.ts +21 -0
  115. package/dist/transport/http/transport.d.ts.map +1 -1
  116. package/dist/transport/http/transport.js +93 -5
  117. package/dist/transport/http/transport.js.map +1 -1
  118. package/dist/transport/websocket/commitFrames.d.ts +4 -3
  119. package/dist/transport/websocket/commitFrames.d.ts.map +1 -1
  120. package/dist/transport/websocket/commitFrames.js +1 -0
  121. package/dist/transport/websocket/commitFrames.js.map +1 -1
  122. package/dist/transport/websocket/contextSubscription.d.ts +6 -0
  123. package/dist/transport/websocket/contextSubscription.d.ts.map +1 -0
  124. package/dist/transport/websocket/contextSubscription.js +45 -0
  125. package/dist/transport/websocket/contextSubscription.js.map +1 -0
  126. package/dist/transport/websocket/heartbeat.d.ts.map +1 -1
  127. package/dist/transport/websocket/heartbeat.js.map +1 -1
  128. package/dist/transport/websocket/session.d.ts +4 -0
  129. package/dist/transport/websocket/session.d.ts.map +1 -0
  130. package/dist/transport/websocket/session.js +385 -0
  131. package/dist/transport/websocket/session.js.map +1 -0
  132. package/dist/transport/websocket/sessionContract.d.ts +89 -0
  133. package/dist/transport/websocket/sessionContract.d.ts.map +1 -0
  134. package/dist/transport/websocket/sessionContract.js +2 -0
  135. package/dist/transport/websocket/sessionContract.js.map +1 -0
  136. package/dist/transport/websocket/transport.d.ts +22 -0
  137. package/dist/transport/websocket/transport.d.ts.map +1 -1
  138. package/dist/transport/websocket/transport.js +63 -1
  139. package/dist/transport/websocket/transport.js.map +1 -1
  140. package/dist/wire/accountResponses.d.ts +31 -31
  141. package/dist/wire/auth.d.ts +3 -3
  142. package/dist/wire/bootstrapReason.d.ts +2 -2
  143. package/dist/wire/dataSourceResponses.d.ts +2 -2
  144. package/dist/wire/dataSourceResponses.d.ts.map +1 -1
  145. package/dist/wire/frames.d.ts +8 -8
  146. package/dist/wire/inboundFrames.d.ts +56 -56
  147. package/dist/wire/inboundFrames.d.ts.map +1 -1
  148. package/dist/wire/listEnvelope.js.map +1 -1
  149. package/dist/wire/modelResponses.d.ts +2 -2
  150. package/dist/wire/modelShape.d.ts +4 -4
  151. package/dist/wire/pricing.d.ts +3 -3
  152. package/dist/wire/protocolVersion.d.ts.map +1 -1
  153. package/package.json +2 -1
  154. package/src/client/ablo.ts +10 -5
  155. package/src/client/surface.ts +8 -1
  156. package/src/commit/recordRuntime.ts +4 -2
  157. package/src/errorCodes.ts +5 -1
  158. package/src/errors.ts +18 -1
  159. package/src/index.ts +1 -0
  160. package/src/transport/http/client.ts +171 -4
  161. package/src/transport/http/transport.ts +126 -4
  162. package/src/transport/websocket/commitFrames.ts +5 -3
  163. package/src/transport/websocket/contextSubscription.ts +55 -0
  164. package/src/transport/websocket/session.ts +467 -0
  165. package/src/transport/websocket/sessionContract.ts +115 -0
  166. package/src/transport/websocket/transport.ts +72 -0
@@ -0,0 +1,385 @@
1
+ import { AbloClaimedError, AbloConnectionError, AbloSessionError, errorFromWire, } from '../../errors.js';
2
+ import { clientSyncDeltaSchema, } from '../../observation/contract.js';
3
+ import { WsTransport, } from './transport.js';
4
+ const MAX_BUFFERED_OBSERVATION_DELTAS = 1_024;
5
+ function parsePosition(value) {
6
+ if (!value)
7
+ return { lastSyncId: 0, cursor: null };
8
+ try {
9
+ const parsed = JSON.parse(value);
10
+ if (Number.isSafeInteger(parsed.lastSyncId)
11
+ && parsed.lastSyncId >= 0
12
+ && (parsed.cursor === null || typeof parsed.cursor === 'string')) {
13
+ return {
14
+ lastSyncId: parsed.lastSyncId,
15
+ cursor: parsed.cursor,
16
+ };
17
+ }
18
+ }
19
+ catch {
20
+ // Pre-live stores may contain the HTTP feed cursor. It is a different
21
+ // protocol position, so failing closed at zero is safer than skipping.
22
+ }
23
+ return { lastSyncId: 0, cursor: null };
24
+ }
25
+ class AgentWebSocket extends WsTransport {
26
+ position;
27
+ constructor(options, position) {
28
+ super(options);
29
+ this.position = position;
30
+ }
31
+ resumeCursor() {
32
+ return this.position.cursor ?? '';
33
+ }
34
+ onOpened() {
35
+ this.updatePresence();
36
+ this.requestSync(this.position);
37
+ }
38
+ handleDelta(raw) {
39
+ const parsed = clientSyncDeltaSchema.safeParse(raw);
40
+ if (parsed.success)
41
+ this.emit('delta', parsed.data);
42
+ }
43
+ handleSyncResponse(raw) {
44
+ if (typeof raw !== 'object' || raw === null)
45
+ return;
46
+ const response = raw;
47
+ if (Array.isArray(response.deltas)) {
48
+ for (const delta of response.deltas)
49
+ this.handleDelta(delta);
50
+ }
51
+ this.emit('sync_response', response);
52
+ }
53
+ positionAfter(lastSyncId) {
54
+ return {
55
+ lastSyncId: Math.max(this.position.lastSyncId, lastSyncId),
56
+ cursor: this.position.cursor,
57
+ };
58
+ }
59
+ markDurable(position) {
60
+ this.position = position;
61
+ }
62
+ durablePosition() {
63
+ return this.position;
64
+ }
65
+ requestFromDurablePosition() {
66
+ this.requestSync(this.position);
67
+ }
68
+ }
69
+ class WebSocketSession {
70
+ socket;
71
+ options;
72
+ cursorKey;
73
+ readyPromise = null;
74
+ rejectReady = null;
75
+ closed = false;
76
+ currentToken;
77
+ acknowledgeLane = Promise.resolve();
78
+ presence;
79
+ collaboration;
80
+ constructor(options, position, token) {
81
+ this.options = options;
82
+ this.currentToken = token;
83
+ this.cursorKey = options.cursorKey ?? 'websocket';
84
+ this.socket = new AgentWebSocket({
85
+ baseUrl: options.baseUrl,
86
+ kind: 'agent',
87
+ getAuthToken: () => this.currentToken,
88
+ syncGroups: [...(options.syncGroups ?? [])],
89
+ collaborationEvents: [...(options.collaborationEvents ?? [])],
90
+ reconnectDelay: options.reconnectDelay,
91
+ maxReconnectDelay: options.maxReconnectDelay,
92
+ }, position);
93
+ this.presence = {
94
+ update: (input = {}) => this.socket.updatePresence(input),
95
+ };
96
+ this.collaboration = {
97
+ send: (event, payload) => this.socket.sendCollaborationEvent(event, payload),
98
+ };
99
+ this.socket.subscribe('session_error', () => {
100
+ void this.refreshExpiredCredential();
101
+ });
102
+ }
103
+ async refreshExpiredCredential() {
104
+ if (this.closed)
105
+ return;
106
+ try {
107
+ const next = await this.options.getAuthToken();
108
+ if (!next || next === this.currentToken)
109
+ return;
110
+ this.currentToken = next;
111
+ this.socket.clearSessionError();
112
+ this.socket.connect();
113
+ }
114
+ catch {
115
+ // The terminal session_error remains the public signal. A later explicit
116
+ // ready() call can retry after the caller repairs its credential source.
117
+ }
118
+ }
119
+ get connected() {
120
+ return this.socket.isConnected();
121
+ }
122
+ ready() {
123
+ if (this.closed) {
124
+ return Promise.reject(new AbloConnectionError('The WebSocket session is closed.'));
125
+ }
126
+ if (this.socket.isConnected())
127
+ return Promise.resolve();
128
+ if (this.readyPromise)
129
+ return this.readyPromise;
130
+ this.readyPromise = new Promise((resolve, reject) => {
131
+ const rejectConnection = (error) => {
132
+ cleanup();
133
+ reject(error);
134
+ };
135
+ this.rejectReady = rejectConnection;
136
+ const timeout = setTimeout(() => {
137
+ rejectConnection(new AbloConnectionError('The WebSocket connection timed out.'));
138
+ }, this.options.connectTimeoutMs ?? 15_000);
139
+ const connected = this.socket.subscribe('connected', () => {
140
+ cleanup();
141
+ resolve();
142
+ });
143
+ const failed = this.socket.subscribe('session_error', (error) => {
144
+ rejectConnection(error);
145
+ });
146
+ const mismatch = this.socket.subscribe('protocol_mismatch', () => {
147
+ rejectConnection(new AbloConnectionError('The server rejected this live protocol version.', {
148
+ code: 'protocol_version_unsupported',
149
+ }));
150
+ });
151
+ const cleanup = () => {
152
+ clearTimeout(timeout);
153
+ connected();
154
+ failed();
155
+ mismatch();
156
+ this.readyPromise = null;
157
+ this.rejectReady = null;
158
+ };
159
+ this.socket.connect();
160
+ });
161
+ return this.readyPromise;
162
+ }
163
+ async commit(input) {
164
+ await this.ready();
165
+ return this.socket.sendCommitReceipt(input.operations, input.clientTxId, input.timeoutMs, input.reads);
166
+ }
167
+ async claim(input) {
168
+ await this.ready();
169
+ const timeoutMs = input.timeoutMs ?? 15_000;
170
+ return new Promise((resolve, reject) => {
171
+ const cleanups = [];
172
+ const finish = (outcome) => {
173
+ clearTimeout(timeout);
174
+ for (const cleanup of cleanups)
175
+ cleanup();
176
+ outcome();
177
+ };
178
+ const matches = (event) => event.claimId === input.claimId;
179
+ cleanups.push(this.socket.subscribe('claim_acquired', (event) => {
180
+ if (matches(event))
181
+ finish(() => resolve(event));
182
+ }));
183
+ cleanups.push(this.socket.subscribe('claim_granted', (event) => {
184
+ if (matches(event))
185
+ finish(() => resolve(event));
186
+ }));
187
+ cleanups.push(this.socket.subscribe('claim_queued', (event) => {
188
+ if (!matches(event))
189
+ return;
190
+ const refusal = input.onQueued?.(event);
191
+ if (refusal) {
192
+ this.release({
193
+ claimId: input.claimId,
194
+ entityType: input.entityType,
195
+ entityId: input.entityId,
196
+ });
197
+ finish(() => reject(refusal));
198
+ }
199
+ }));
200
+ cleanups.push(this.socket.subscribe('claim_rejected', (event) => {
201
+ if (!matches(event))
202
+ return;
203
+ finish(() => reject(errorFromWire(event.message ?? `Claim ${event.claimId} was rejected.`, {
204
+ code: event.reason === 'conflict' ? 'claim_conflict' : 'claim_rejected',
205
+ details: {
206
+ ...(event.target ? { target: event.target } : {}),
207
+ ...(event.heldBy ? { heldBy: event.heldBy } : {}),
208
+ ...(event.heldByClaimId ? { heldByClaimId: event.heldByClaimId } : {}),
209
+ },
210
+ })));
211
+ }));
212
+ cleanups.push(this.socket.subscribe('disconnected', () => {
213
+ finish(() => reject(new AbloConnectionError(`WebSocket closed while claim ${input.claimId} was pending.`)));
214
+ }));
215
+ const abort = () => {
216
+ this.release({
217
+ claimId: input.claimId,
218
+ entityType: input.entityType,
219
+ entityId: input.entityId,
220
+ });
221
+ finish(() => reject(new AbloClaimedError(`The wait for claim ${input.claimId} was aborted.`, { code: 'claim_wait_aborted' })));
222
+ };
223
+ input.signal?.addEventListener('abort', abort, { once: true });
224
+ cleanups.push(() => input.signal?.removeEventListener('abort', abort));
225
+ const timeout = setTimeout(() => {
226
+ this.release({
227
+ claimId: input.claimId,
228
+ entityType: input.entityType,
229
+ entityId: input.entityId,
230
+ });
231
+ finish(() => reject(new AbloClaimedError(`claim timed out after ${timeoutMs}ms (claimId=${input.claimId})`, { code: 'grant_timeout' })));
232
+ }, timeoutMs);
233
+ if (input.signal?.aborted) {
234
+ abort();
235
+ return;
236
+ }
237
+ const { timeoutMs: _timeoutMs, signal: _signal, onQueued: _onQueued, ...payload } = input;
238
+ this.socket.send({ type: 'claim_begin', payload });
239
+ });
240
+ }
241
+ release(input) {
242
+ this.socket.send({ type: 'claim_abandon', payload: input });
243
+ }
244
+ async join(input) {
245
+ await this.ready();
246
+ return this.socket.sendClaim(input.claimId, input.syncGroups, {
247
+ capabilityToken: input.capabilityToken,
248
+ ttlSeconds: input.ttlSeconds,
249
+ timeoutMs: input.timeoutMs,
250
+ });
251
+ }
252
+ leave(claimId) {
253
+ this.socket.sendRelease(claimId);
254
+ }
255
+ subscribe(event, listener) {
256
+ return this.socket.subscribe(event, listener);
257
+ }
258
+ async *observe(options = {}) {
259
+ await this.ready();
260
+ const queued = [];
261
+ const queuedIds = new Set();
262
+ let wake;
263
+ let failure;
264
+ const offDelta = this.socket.subscribe('delta', (delta) => {
265
+ if (failure
266
+ || delta.id <= this.socket.durablePosition().lastSyncId
267
+ || queuedIds.has(delta.id))
268
+ return;
269
+ if (queued.length >= MAX_BUFFERED_OBSERVATION_DELTAS) {
270
+ failure = new AbloConnectionError(`WebSocket observation exceeded ${MAX_BUFFERED_OBSERVATION_DELTAS} uncheckpointed deltas; restart observation to resume from the durable cursor.`, { code: 'observation_buffer_overflow' });
271
+ wake?.();
272
+ wake = undefined;
273
+ return;
274
+ }
275
+ queued.push(delta);
276
+ queuedIds.add(delta.id);
277
+ wake?.();
278
+ wake = undefined;
279
+ });
280
+ const offError = this.socket.subscribe('session_error', (error) => {
281
+ failure = error;
282
+ wake?.();
283
+ wake = undefined;
284
+ });
285
+ const abort = () => {
286
+ wake?.();
287
+ wake = undefined;
288
+ };
289
+ options.signal?.addEventListener('abort', abort, { once: true });
290
+ // Retain nothing while idle. Register first, then replay from the durable
291
+ // position so starting observation cannot miss a delta from the gap.
292
+ this.socket.requestFromDurablePosition();
293
+ try {
294
+ while (!this.closed && !options.signal?.aborted) {
295
+ if (failure)
296
+ throw failure;
297
+ const delta = queued.shift();
298
+ if (!delta) {
299
+ await new Promise((resolve) => { wake = resolve; });
300
+ continue;
301
+ }
302
+ queuedIds.delete(delta.id);
303
+ if (delta.id <= this.socket.durablePosition().lastSyncId)
304
+ continue;
305
+ let checkpointed = false;
306
+ let checkpointing;
307
+ yield {
308
+ ...delta,
309
+ checkpoint: async () => {
310
+ if (checkpointed)
311
+ return;
312
+ checkpointing ??= this.acknowledge(delta.id).then(() => {
313
+ checkpointed = true;
314
+ }).finally(() => {
315
+ checkpointing = undefined;
316
+ });
317
+ await checkpointing;
318
+ },
319
+ };
320
+ }
321
+ }
322
+ finally {
323
+ offDelta();
324
+ offError();
325
+ options.signal?.removeEventListener('abort', abort);
326
+ }
327
+ }
328
+ async updateSubscription(syncGroups, options) {
329
+ await this.ready();
330
+ return this.socket.updateSubscription(syncGroups, options);
331
+ }
332
+ async acknowledge(lastSyncId) {
333
+ const attempt = this.acknowledgeLane.catch(() => undefined).then(async () => {
334
+ const position = this.socket.positionAfter(lastSyncId);
335
+ await this.options.cursorStore?.save(this.cursorKey, JSON.stringify(position));
336
+ this.socket.markDurable(position);
337
+ this.socket.acknowledge(position.lastSyncId);
338
+ });
339
+ this.acknowledgeLane = attempt.catch(() => undefined);
340
+ await attempt;
341
+ }
342
+ async close() {
343
+ if (this.closed)
344
+ return;
345
+ this.closed = true;
346
+ this.rejectReady?.(new AbloConnectionError('The WebSocket session was disposed.'));
347
+ await this.acknowledgeLane;
348
+ this.socket.disconnect();
349
+ }
350
+ [Symbol.asyncDispose]() {
351
+ return this.close();
352
+ }
353
+ }
354
+ export async function createWebSocketSession(options, signal) {
355
+ const cursorKey = options.cursorKey ?? 'websocket';
356
+ const stored = await options.cursorStore?.load(cursorKey) ?? null;
357
+ const token = await options.getAuthToken();
358
+ if (!token) {
359
+ throw new AbloSessionError('The WebSocket transport requires an authenticated credential.');
360
+ }
361
+ const session = new WebSocketSession(options, parsePosition(stored), token);
362
+ let rejectOpening;
363
+ const aborted = new Promise((_resolve, reject) => {
364
+ rejectOpening = reject;
365
+ if (signal?.aborted) {
366
+ reject(new AbloConnectionError('WebSocket opening was disposed.'));
367
+ }
368
+ });
369
+ const abort = () => {
370
+ rejectOpening?.(new AbloConnectionError('WebSocket opening was disposed.'));
371
+ };
372
+ signal?.addEventListener('abort', abort, { once: true });
373
+ try {
374
+ await (signal ? Promise.race([session.ready(), aborted]) : session.ready());
375
+ return session;
376
+ }
377
+ catch (error) {
378
+ await session.close();
379
+ throw error;
380
+ }
381
+ finally {
382
+ signal?.removeEventListener('abort', abort);
383
+ }
384
+ }
385
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/transport/websocket/session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ import type { CommitReceiptWire } from '../../commit/contract.js';
2
+ import type { ReadDependency } from '../../coordination/schema.js';
3
+ import type { ClaimAcquired, ClaimBeginPayload, ClaimGranted, ClaimQueued } from '../../coordination/schema.js';
4
+ import type { ClientSyncDelta } from '../../observation/contract.js';
5
+ import type { ObserveCursorStore } from '../../client/contract.js';
6
+ import type { CommitFrameOperation } from '../websocket/commitFrames.js';
7
+ import type { CoreSyncEventMap, EventMap, PresenceUpdate, SyncWebSocketEventMap } from '../websocket/transport.js';
8
+ export interface WebSocketSessionOptions {
9
+ readonly baseUrl?: string;
10
+ readonly getAuthToken: () => string | undefined | Promise<string | undefined>;
11
+ readonly syncGroups?: readonly string[];
12
+ readonly collaborationEvents?: readonly string[];
13
+ readonly cursorKey?: string;
14
+ readonly cursorStore?: ObserveCursorStore;
15
+ readonly reconnectDelay?: number;
16
+ readonly maxReconnectDelay?: number;
17
+ readonly connectTimeoutMs?: number;
18
+ }
19
+ export interface WebSocketCommitInput {
20
+ readonly operations: readonly CommitFrameOperation[];
21
+ readonly clientTxId: string;
22
+ readonly reads?: readonly ReadDependency[] | null;
23
+ readonly timeoutMs?: number;
24
+ }
25
+ export interface WebSocketObservedDelta extends ClientSyncDelta {
26
+ /** Persist and acknowledge this delta as durably applied. */
27
+ checkpoint(): Promise<void>;
28
+ }
29
+ export interface WebSocketObserveOptions {
30
+ readonly signal?: AbortSignal;
31
+ }
32
+ /** A multiplexed participant-scope registration on the shared socket. */
33
+ export interface WebSocketJoinInput {
34
+ readonly claimId: string;
35
+ readonly syncGroups: readonly string[];
36
+ readonly capabilityToken?: string;
37
+ readonly ttlSeconds?: number;
38
+ readonly timeoutMs?: number;
39
+ }
40
+ /** A durable row/field claim carried over the same live protocol. */
41
+ export type WebSocketClaimInput = ClaimBeginPayload & {
42
+ readonly timeoutMs?: number;
43
+ readonly signal?: AbortSignal;
44
+ readonly onQueued?: (event: ClaimQueued) => Error | undefined;
45
+ };
46
+ export type WebSocketClaimGrant = ClaimAcquired | ClaimGranted;
47
+ export interface WebSocketPresence {
48
+ update(input?: {
49
+ readonly status?: 'online' | 'away' | 'offline';
50
+ readonly customStatus?: string;
51
+ readonly timezone?: string;
52
+ readonly activity?: Record<string, unknown>;
53
+ }): void;
54
+ }
55
+ export interface WebSocketCollaboration<TEvents extends EventMap<TEvents>> {
56
+ send<K extends string & keyof TEvents>(event: K, payload: TEvents[K] extends [infer P] ? Omit<P & Record<string, unknown>, 'timestamp'> : never): void;
57
+ }
58
+ export type OpenCollaborationEvents = Record<string, [Record<string, unknown>]>;
59
+ export interface AbloWebSocketSession<TEvents extends EventMap<TEvents> = OpenCollaborationEvents> extends AsyncDisposable {
60
+ readonly presence: WebSocketPresence;
61
+ readonly collaboration: WebSocketCollaboration<TEvents>;
62
+ readonly connected: boolean;
63
+ ready(): Promise<void>;
64
+ commit(input: WebSocketCommitInput): Promise<CommitReceiptWire>;
65
+ claim(input: WebSocketClaimInput): Promise<WebSocketClaimGrant>;
66
+ release(input: {
67
+ readonly claimId: string;
68
+ readonly entityType?: string;
69
+ readonly entityId?: string;
70
+ }): void;
71
+ join(input: WebSocketJoinInput): Promise<{
72
+ syncGroups: string[];
73
+ ttlSeconds?: number;
74
+ }>;
75
+ leave(claimId: string): void;
76
+ subscribe<K extends keyof SyncWebSocketEventMap<TEvents>>(event: K, listener: (...args: SyncWebSocketEventMap<TEvents>[K]) => void): () => void;
77
+ observe(options?: WebSocketObserveOptions): AsyncIterable<WebSocketObservedDelta>;
78
+ updateSubscription(syncGroups: readonly string[], options?: {
79
+ timeoutMs?: number;
80
+ }): Promise<{
81
+ syncGroups: string[];
82
+ }>;
83
+ acknowledge(lastSyncId: number): Promise<void>;
84
+ close(): Promise<void>;
85
+ [Symbol.asyncDispose](): Promise<void>;
86
+ }
87
+ export type WebSocketCoreEvent = keyof CoreSyncEventMap;
88
+ export type WebSocketPresenceUpdate = PresenceUpdate;
89
+ //# sourceMappingURL=sessionContract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionContract.d.ts","sourceRoot":"","sources":["../../../src/transport/websocket/sessionContract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sessionContract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionContract.js","sourceRoot":"","sources":["../../../src/transport/websocket/sessionContract.ts"],"names":[],"mappings":""}
@@ -154,6 +154,7 @@ export interface CoreSyncEventMap {
154
154
  presence_update: [PresenceUpdate];
155
155
  error: [Error];
156
156
  session_error: [Error];
157
+ protocol_mismatch: [CloseEvent];
157
158
  /**
158
159
  * The WebSocket `onclose` fired before `onopen` — the handshake itself
159
160
  * failed. The browser cannot expose the HTTP status (it shows as code
@@ -408,6 +409,27 @@ export declare class WsTransport<TCollaboration extends EventMap<TCollaboration>
408
409
  * Send message to server
409
410
  */
410
411
  send(message: any): void;
412
+ /**
413
+ * Ask the server for every durable delta after the supplied position.
414
+ *
415
+ * This is deliberately part of the carrier rather than the reactive
416
+ * materialiser: browser stores and headless WebSocket clients resume the same
417
+ * ordered protocol. The owner decides when a received position is durable
418
+ * enough to acknowledge.
419
+ */
420
+ requestSync(position: {
421
+ readonly cursor?: string | null;
422
+ readonly lastSyncId: number;
423
+ }): void;
424
+ /** Persist the server-side resume position after the caller durably applied it. */
425
+ acknowledge(lastSyncId: number): void;
426
+ /** Announce this participant's current presence on the shared connection. */
427
+ updatePresence(input?: {
428
+ readonly status?: 'online' | 'away' | 'offline';
429
+ readonly customStatus?: string;
430
+ readonly timezone?: string;
431
+ readonly activity?: Record<string, unknown>;
432
+ }): void;
411
433
  /**
412
434
  * Sends a `commit` mutation request over the existing WebSocket and resolves
413
435
  * when the server's `mutation_result` frame comes back with the same
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../src/transport/websocket/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../src/transport/websocket/transport.ts"],"names":[],"mappings":"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"}