@abloatai/transaction 0.43.0 → 0.45.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.
Files changed (41) hide show
  1. package/dist/ai-sdk/modelTools.d.ts +2 -4
  2. package/dist/ai-sdk/modelTools.d.ts.map +1 -1
  3. package/dist/ai-sdk/modelTools.js.map +1 -1
  4. package/dist/ai-sdk/updateTool.d.ts +2 -4
  5. package/dist/ai-sdk/updateTool.d.ts.map +1 -1
  6. package/dist/ai-sdk/updateTool.js.map +1 -1
  7. package/dist/branches.d.ts +4 -4
  8. package/dist/coordination/awaitClaimGrant.d.ts +10 -0
  9. package/dist/coordination/awaitClaimGrant.d.ts.map +1 -1
  10. package/dist/coordination/awaitClaimGrant.js +58 -45
  11. package/dist/coordination/awaitClaimGrant.js.map +1 -1
  12. package/dist/errors.d.ts +7 -4
  13. package/dist/errors.d.ts.map +1 -1
  14. package/dist/errors.js +14 -6
  15. package/dist/errors.js.map +1 -1
  16. package/dist/resources/httpResources.d.ts +4 -4
  17. package/dist/resources/httpResources.d.ts.map +1 -1
  18. package/dist/resources/modelOperations.d.ts +113 -21
  19. package/dist/resources/modelOperations.d.ts.map +1 -1
  20. package/dist/resources/modelOperations.js +43 -1
  21. package/dist/resources/modelOperations.js.map +1 -1
  22. package/dist/transport/httpTransport.d.ts.map +1 -1
  23. package/dist/transport/httpTransport.js +49 -15
  24. package/dist/transport/httpTransport.js.map +1 -1
  25. package/dist/transport/wsFrameHandlers.d.ts.map +1 -1
  26. package/dist/transport/wsFrameHandlers.js +12 -0
  27. package/dist/transport/wsFrameHandlers.js.map +1 -1
  28. package/dist/wire/commit.d.ts +6 -0
  29. package/dist/wire/commit.d.ts.map +1 -1
  30. package/dist/wire/commit.js +2 -0
  31. package/dist/wire/commit.js.map +1 -1
  32. package/package.json +1 -1
  33. package/src/ai-sdk/modelTools.ts +2 -1
  34. package/src/ai-sdk/updateTool.ts +2 -1
  35. package/src/coordination/awaitClaimGrant.ts +86 -74
  36. package/src/errors.ts +17 -5
  37. package/src/resources/httpResources.ts +5 -1
  38. package/src/resources/modelOperations.ts +169 -19
  39. package/src/transport/httpTransport.ts +73 -19
  40. package/src/transport/wsFrameHandlers.ts +14 -0
  41. package/src/wire/commit.ts +2 -0
@@ -1 +1 @@
1
- {"version":3,"file":"httpResources.d.ts","sourceRoot":"","sources":["../../src/resources/httpResources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"httpResources.d.ts","sourceRoot":"","sources":["../../src/resources/httpResources.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@
11
11
  */
12
12
  import type { ModelScope } from '../types/index.js';
13
13
  import type { ResolveClaimMeta } from '../types/global.js';
14
+ import type { AbloError } from '../errors.js';
14
15
  import type { StaleNotification, TrackDependency } from '../coordination/schema.js';
15
16
  import type { FieldRef, FieldSelector } from '../schema/fieldRef.js';
16
17
  import type { BaseModelFields } from '../schema/schema.js';
@@ -19,6 +20,69 @@ import type { Duration } from '../utils/duration.js';
19
20
  import type { Claim, ClaimHeartbeat, ClaimHeartbeatOptions, HeldClaim, HeldLease } from '../types/streams.js';
20
21
  import type { MutationOptions } from './mutationOptions.js';
21
22
  import type { LoadWhere } from './where.js';
23
+ /**
24
+ * One authoritative status transition for a claim attempt. This is scoped
25
+ * to the request that supplied the callback, unlike `claim.state` / `queue`,
26
+ * which are reactive snapshots of everyone on the row.
27
+ */
28
+ export type ClaimAttemptEvent = {
29
+ readonly type: 'queued';
30
+ readonly claimId: string;
31
+ /** Zero-based place in line (`0` means next behind the holder). */
32
+ readonly position: number;
33
+ /** Human-readable count of waiters ahead, including the current holder. */
34
+ readonly ahead: number;
35
+ } | {
36
+ readonly type: 'granted';
37
+ readonly claimId: string;
38
+ /** True when this request waited in line before it was granted. */
39
+ readonly waited: boolean;
40
+ } | {
41
+ readonly type: 'skipped';
42
+ /** The typed contention error behind the expected `null` result. */
43
+ readonly error: AbloError;
44
+ } | {
45
+ readonly type: 'failed';
46
+ /** The same typed Ablo error the claim promise rejects with. */
47
+ readonly error: AbloError;
48
+ };
49
+ export interface ClaimContentionOptions {
50
+ /**
51
+ * `wait` (default) joins the FIFO line. `skip` resolves the model try-claim
52
+ * as `null` when another participant holds the target.
53
+ */
54
+ readonly mode?: 'wait' | 'skip';
55
+ /** Fail instead of joining at or beyond this zero-based queue depth. */
56
+ readonly maxDepth?: number;
57
+ /** Maximum queue wait in milliseconds. */
58
+ readonly timeoutMs?: number;
59
+ /** Abort the pending wait. Ignored after the grant. */
60
+ readonly signal?: AbortSignal;
61
+ /**
62
+ * Request-scoped attempt statuses. The callback is observational:
63
+ * throwing from it never changes whether the claim is granted or skipped.
64
+ */
65
+ readonly onStatus?: (event: ClaimAttemptEvent) => void;
66
+ }
67
+ export interface ResolvedClaimContentionOptions {
68
+ readonly wait: boolean;
69
+ readonly maxDepth?: number;
70
+ readonly timeoutMs?: number;
71
+ readonly signal?: AbortSignal;
72
+ readonly onStatus?: (event: ClaimAttemptEvent) => void;
73
+ }
74
+ /** One compatibility boundary for structured contention and legacy queue options. */
75
+ export declare function resolveClaimContentionOptions(options: {
76
+ readonly queue?: boolean;
77
+ readonly contention?: ClaimContentionOptions;
78
+ readonly maxQueueDepth?: number;
79
+ readonly waitTimeoutMs?: number;
80
+ readonly signal?: AbortSignal;
81
+ }): ResolvedClaimContentionOptions;
82
+ /** Emit a status without letting an observer alter the claim attempt. */
83
+ export declare function emitClaimStatus(listener: ((event: ClaimAttemptEvent) => void) | undefined, event: ClaimAttemptEvent): void;
84
+ /** Separate expected skipped work from an actual failed claim attempt. */
85
+ export declare function claimAttemptFailure(wait: boolean, error: AbloError): ClaimAttemptEvent;
22
86
  /**
23
87
  * A lifecycle filter, accepted either as the enum or as its bare string. The
24
88
  * string arm is a template projection of the enum rather than a second list, so
@@ -121,8 +185,7 @@ export type ClaimField<T> = FieldRef<string, Extract<keyof ClaimableFields<T>, s
121
185
  * - **what you claim** — `fields`, selected from the model's Zod shape;
122
186
  * narrowed below the row;
123
187
  * - **what others see** — `description` / `meta`, the presence half;
124
- * - **how you wait** — `queue` / `maxQueueDepth` / `waitTimeoutMs` /
125
- * `signal`, admission to the line;
188
+ * - **how you wait** — structured `queue`, admission to the line;
126
189
  * - **how long you hold** — `ttl` / `heartbeat`, the lease.
127
190
  */
128
191
  export interface ClaimTargetOptions<T = Record<string, unknown>> {
@@ -149,15 +212,17 @@ export interface ClaimTargetOptions<T = Record<string, unknown>> {
149
212
  */
150
213
  meta?: ResolveClaimMeta;
151
214
  /**
152
- * Behavior under contention. `true` (the default) queues behind the current
153
- * holder and resolves once the row is yours. `false` is fail-fast: if another
154
- * participant already holds the row, it rejects immediately with
155
- * {@link AbloClaimedError} instead of waiting. Use `false` to deduplicate
156
- * distributed work ("if someone else has this job, skip it"), where waiting
157
- * would mean double-processing.
215
+ * Behavior under contention. Prefer the structured form so the decision,
216
+ * bounds, cancellation, and request-scoped notifications stay together:
217
+ * `contention: { mode: 'wait', maxDepth, timeoutMs, signal, onStatus }`.
218
+ * `{ mode: 'skip' }` is claim-or-skip dedup.
158
219
  */
220
+ contention?: ClaimContentionOptions;
221
+ /** Concise compatibility shorthand: `true` waits and `false` skips. */
159
222
  queue?: boolean;
160
223
  /**
224
+ * @deprecated Prefer `contention: { maxDepth }`.
225
+ *
161
226
  * Backpressure: queue, but not behind too many others. If the server reports a
162
227
  * position at or beyond `maxQueueDepth` when the client joins the line, it
163
228
  * rejects with {@link AbloClaimedError} (`queue_too_deep`) instead of waiting.
@@ -165,6 +230,8 @@ export interface ClaimTargetOptions<T = Record<string, unknown>> {
165
230
  */
166
231
  maxQueueDepth?: number;
167
232
  /**
233
+ * @deprecated Prefer `contention: { timeoutMs }`.
234
+ *
168
235
  * Cap on how long a queued claim waits for its grant before rejecting with
169
236
  * {@link AbloClaimedError} (`grant_timeout`). Omit to wait as long as the
170
237
  * line takes. Same meaning on both transports; on the stateless HTTP client
@@ -172,6 +239,8 @@ export interface ClaimTargetOptions<T = Record<string, unknown>> {
172
239
  */
173
240
  waitTimeoutMs?: number;
174
241
  /**
242
+ * @deprecated Prefer `contention: { signal }`.
243
+ *
175
244
  * Abort a pending wait from outside — the same signal that cancels
176
245
  * everything else in the program, so a cancelled agent task or an unmounted
177
246
  * component takes its queued claim with it. Rejects with
@@ -199,12 +268,34 @@ export interface ClaimTargetOptions<T = Record<string, unknown>> {
199
268
  export interface ClaimParams<T = Record<string, unknown>> extends ClaimTargetOptions<T> {
200
269
  readonly id: string;
201
270
  }
271
+ /** The two fail-fast spellings, kept as one overload discriminator. */
272
+ export type ClaimSkipParams<T = Record<string, unknown>> = ClaimParams<T> & {
273
+ readonly queue: false;
274
+ } | ClaimParams<T> & {
275
+ readonly contention: ClaimContentionOptions & {
276
+ readonly mode: 'skip';
277
+ };
278
+ };
202
279
  export interface ClaimLookupParams<T = Record<string, unknown>> {
203
280
  readonly id: string;
204
281
  }
205
282
  export interface ClaimReorderParams<T = Record<string, unknown>> extends ClaimLookupParams<T> {
206
283
  readonly order: readonly Claim[];
207
284
  }
285
+ /**
286
+ * One wait-line snapshot. `data` preserves the standard list-envelope shape;
287
+ * the named aliases make coordination code read without unpacking conventions.
288
+ */
289
+ export interface ClaimQueueView<M = ResolveClaimMeta> {
290
+ readonly object: 'list';
291
+ readonly data: readonly Claim<Record<string, unknown>, M>[];
292
+ /** The same ordered array as `data`, named for what it contains. */
293
+ readonly waiting: readonly Claim<Record<string, unknown>, M>[];
294
+ readonly size: number;
295
+ /** The next participant to receive the lease, or `null` when the line is empty. */
296
+ readonly next: Claim<Record<string, unknown>, M> | null;
297
+ }
298
+ export declare function claimQueueView<M = ResolveClaimMeta>(waiting: readonly Claim<Record<string, unknown>, M>[]): ClaimQueueView<M>;
208
299
  /**
209
300
  * A claim handle: the held entity data plus an explicit release hook.
210
301
  *
@@ -230,6 +321,13 @@ export interface ClaimReorderParams<T = Record<string, unknown>> extends ClaimLo
230
321
  */
231
322
  export type { Claim, ClaimHeartbeat, ClaimHeartbeatOptions, HeldClaim, HeldLease };
232
323
  export type ClaimOptions<T = Record<string, unknown>> = ClaimTargetOptions<T>;
324
+ export type ClaimSkipOptions<T = Record<string, unknown>> = ClaimOptions<T> & {
325
+ readonly queue: false;
326
+ } | ClaimOptions<T> & {
327
+ readonly contention: ClaimContentionOptions & {
328
+ readonly mode: 'skip';
329
+ };
330
+ };
233
331
  /**
234
332
  * The coordination surface for a model, exposed as a callable namespace.
235
333
  *
@@ -296,10 +394,7 @@ export interface ClaimReadApi<T = Record<string, unknown>> {
296
394
  * UIs and schedulers. Takes the same `meta` parameter as
297
395
  * {@link ClaimReadApi.state}.
298
396
  */
299
- queue<M = ResolveClaimMeta>(params: ClaimLookupParams<T>): {
300
- readonly object: 'list';
301
- readonly data: readonly Claim<Record<string, unknown>, M>[];
302
- };
397
+ queue<M = ResolveClaimMeta>(params: ClaimLookupParams<T>): ClaimQueueView<M>;
303
398
  /**
304
399
  * Re-rank the wait line. Advanced and permission-gated.
305
400
  */
@@ -315,16 +410,15 @@ export interface ClaimReadApi<T = Record<string, unknown>> {
315
410
  export type AwaitedClaimMethod<F> = F extends (...args: infer A) => infer R ? R extends Promise<unknown> ? (...args: A) => R : (...args: A) => Promise<R> : F;
316
411
  export interface ClaimApi<T, Fields = T> extends ClaimReadApi<T> {
317
412
  /**
318
- * The try-claim: `queue: false` treats a held target as an expected outcome,
319
- * not an error — it resolves `null`, so claim-or-skip dedup reads
413
+ * The try-claim: `contention: { mode: 'skip' }` (or `queue: false`)
414
+ * treats a held target as an expected outcome, not an error — it resolves
415
+ * `null`, so claim-or-skip dedup reads
320
416
  * `if (!claim) return` with no try/catch. Who holds it, and why, stays
321
417
  * readable through `claim.state({ id })`. (A write to a row someone else
322
418
  * holds still rejects with `entity_claimed` — a failed write is an error;
323
- * a declined try is not.)
419
+ * a skipped try is not.)
324
420
  */
325
- (params: ClaimParams<Fields> & {
326
- queue: false;
327
- }): Promise<HeldClaim<T> | null>;
421
+ (params: ClaimSkipParams<Fields>): Promise<HeldClaim<T> | null>;
328
422
  /**
329
423
  * Takes a claim and returns an explicit held-work handle — a {@link HeldClaim}.
330
424
  * `data`, `release`, `revoke`, and the async disposer are always present (this
@@ -333,9 +427,7 @@ export interface ClaimApi<T, Fields = T> extends ClaimReadApi<T> {
333
427
  */
334
428
  (params: ClaimParams<Fields>): Promise<HeldClaim<T>>;
335
429
  /** The row-free try-claim — `null` when the key is already held. */
336
- (id: string, opts: ClaimOptions<Fields> & {
337
- queue: false;
338
- }): Promise<HeldLease | null>;
430
+ (id: string, opts: ClaimSkipOptions<Fields>): Promise<HeldLease | null>;
339
431
  /**
340
432
  * Takes a claim by id alone, for a row that lives only in the customer's own
341
433
  * database — Ablo has never seen it, so there is nothing to re-read. Returns a
@@ -1 +1 @@
1
- {"version":3,"file":"modelOperations.d.ts","sourceRoot":"","sources":["../../src/resources/modelOperations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modelOperations.d.ts","sourceRoot":"","sources":["../../src/resources/modelOperations.ts"],"names":[],"mappings":"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"}
@@ -9,5 +9,47 @@
9
9
  * reactive consumer, along with `ModelOperations` and `ModelCollaboration`,
10
10
  * which reference the live participant handle.
11
11
  */
12
- export {};
12
+ /** One compatibility boundary for structured contention and legacy queue options. */
13
+ export function resolveClaimContentionOptions(options) {
14
+ const structured = options.contention;
15
+ const maxDepth = structured?.maxDepth ?? options.maxQueueDepth;
16
+ const timeoutMs = structured?.timeoutMs ?? options.waitTimeoutMs;
17
+ const signal = structured?.signal ?? options.signal;
18
+ return {
19
+ wait: structured
20
+ ? structured.mode !== 'skip'
21
+ : options.queue !== false,
22
+ ...(maxDepth !== undefined ? { maxDepth } : {}),
23
+ ...(timeoutMs !== undefined ? { timeoutMs } : {}),
24
+ ...(signal !== undefined ? { signal } : {}),
25
+ ...(structured?.onStatus !== undefined
26
+ ? { onStatus: structured.onStatus }
27
+ : {}),
28
+ };
29
+ }
30
+ /** Emit a status without letting an observer alter the claim attempt. */
31
+ export function emitClaimStatus(listener, event) {
32
+ try {
33
+ listener?.(event);
34
+ }
35
+ catch {
36
+ // The claim attempt is authoritative; telemetry/UI callbacks are not.
37
+ }
38
+ }
39
+ /** Separate expected skipped work from an actual failed claim attempt. */
40
+ export function claimAttemptFailure(wait, error) {
41
+ const code = error.code;
42
+ return !wait && (code === 'claim_conflict' || code === 'entity_claimed')
43
+ ? { type: 'skipped', error }
44
+ : { type: 'failed', error };
45
+ }
46
+ export function claimQueueView(waiting) {
47
+ return {
48
+ object: 'list',
49
+ data: waiting,
50
+ waiting,
51
+ size: waiting.length,
52
+ next: waiting[0] ?? null,
53
+ };
54
+ }
13
55
  //# sourceMappingURL=modelOperations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modelOperations.js","sourceRoot":"","sources":["../../src/resources/modelOperations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
1
+ {"version":3,"file":"modelOperations.js","sourceRoot":"","sources":["../../src/resources/modelOperations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA+EH,qFAAqF;AACrF,MAAM,UAAU,6BAA6B,CAAC,OAM7C;IACC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACtC,MAAM,QAAQ,GAAG,UAAU,EAAE,QAAQ,IAAI,OAAO,CAAC,aAAa,CAAC;IAC/D,MAAM,SAAS,GAAG,UAAU,EAAE,SAAS,IAAI,OAAO,CAAC,aAAa,CAAC;IACjE,MAAM,MAAM,GAAG,UAAU,EAAE,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IACpD,OAAO;QACL,IAAI,EAAE,UAAU;YACd,CAAC,CAAC,UAAU,CAAC,IAAI,KAAK,MAAM;YAC5B,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK;QAC3B,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,UAAU,EAAE,QAAQ,KAAK,SAAS;YACpC,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE;YACnC,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,eAAe,CAC7B,QAA0D,EAC1D,KAAwB;IAExB,IAAI,CAAC;QACH,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QACP,sEAAsE;IACxE,CAAC;AACH,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,mBAAmB,CACjC,IAAa,EACb,KAAgB;IAEhB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,IAAI,IAAI,KAAK,gBAAgB,CAAC;QACtE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;QAC5B,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAChC,CAAC;AAmPD,MAAM,UAAU,cAAc,CAC5B,OAAqD;IAErD,OAAO;QACL,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,OAAO;QACb,OAAO;QACP,IAAI,EAAE,OAAO,CAAC,MAAM;QACpB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI;KACzB,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"httpTransport.d.ts","sourceRoot":"","sources":["../../src/transport/httpTransport.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAyDH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAKV,cAAc,EAGd,kBAAkB,EAClB,kBAAkB,EAKlB,gBAAgB,EAIhB,eAAe,EAChB,MAAM,+BAA+B,CAAC;AA2BvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAsBxD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAcrE,iFAAiF;AACjF,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GAAG;IACpE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/C,iFAAiF;IACjF,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;IACvE;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,yBAAyB,CAAC;IACnD;;;;;;;;OAQG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,6EAA6E;AAC7E,eAAO,MAAM,0BAA0B,QAAS,CAAC;AAYjD,sEAAsE;AACtE,MAAM,WAAW,aAAa;IAC5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,EAC3C,IAAI,EAAE,MAAM,GACX,kBAAkB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACjC;;;;;;OAMG;IACH,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACvC;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;CAClD;AA4CD,2DAA2D;AAC3D,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAqqDhF"}
1
+ {"version":3,"file":"httpTransport.d.ts","sourceRoot":"","sources":["../../src/transport/httpTransport.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA0DH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAKV,cAAc,EAGd,kBAAkB,EAClB,kBAAkB,EAKlB,gBAAgB,EAIhB,eAAe,EAChB,MAAM,+BAA+B,CAAC;AA2BvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AA+BxD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAcrE,iFAAiF;AACjF,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GAAG;IACpE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/C,iFAAiF;IACjF,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;IACvE;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,yBAAyB,CAAC;IACnD;;;;;;;;OAQG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,6EAA6E;AAC7E,eAAO,MAAM,0BAA0B,QAAS,CAAC;AAYjD,sEAAsE;AACtE,MAAM,WAAW,aAAa;IAC5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,EAC3C,IAAI,EAAE,MAAM,GACX,kBAAkB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACjC;;;;;;OAMG;IACH,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACvC;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;CAClD;AA4CD,2DAA2D;AAC3D,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAitDhF"}
@@ -5,7 +5,7 @@
5
5
  * facade in `httpClient.ts` is the application boundary; this module owns
6
6
  * transport envelopes, watermarks, replay, and route details.
7
7
  */
8
- import { AbloClaimedError, AbloAuthenticationError, AbloConnectionError, AbloIdempotencyError, AbloValidationError, AbloNotFoundError, claimedError, translateHttpError, } from '../errors.js';
8
+ import { AbloClaimedError, AbloError, AbloAuthenticationError, AbloConnectionError, AbloIdempotencyError, AbloValidationError, AbloNotFoundError, claimedError, translateHttpError, } from '../errors.js';
9
9
  import { v5 as uuidv5 } from 'uuid';
10
10
  import { reconcileFunctionalUpdate, } from '../resources/functionalUpdate.js';
11
11
  import { assertBrowserSafety, readProcessEnv, resolveApiKey, resolveApiKeyValue, resolveAuthToken, resolveBaseURL, resolveBootstrapBaseUrl, rejectRemovedDatabaseUrlOption, warnIfCliKeyMismatch, } from '../auth/apiKey.js';
@@ -35,6 +35,7 @@ function heldHeartbeatReply(reply, label) {
35
35
  }
36
36
  throw new AbloClaimedError(`The lease behind ${label} is no longer held — it expired or was granted onward. Re-acquire the claim and retry; a write attempted under the old lease is rejected by its \`readAt\` guard.`, { code: 'claim_lost' });
37
37
  }
38
+ import { claimAttemptFailure, claimQueueView, emitClaimStatus, resolveClaimContentionOptions, } from '../resources/modelOperations.js';
38
39
  import { claimDescription } from '../coordination/schema.js';
39
40
  import { subTarget, streamTarget, batchFence, fenceTokenFor, } from '../coordination/locator.js';
40
41
  import { declaredMeta, wireMeta } from '../coordination/claimMeta.js';
@@ -793,17 +794,23 @@ export function createHttpTransport(options) {
793
794
  await claims.release({ claimId }).catch(() => { });
794
795
  throw error;
795
796
  };
796
- if (options.maxQueueDepth !== undefined && queued.position >= options.maxQueueDepth) {
797
- return rejectAndLeave(new AbloClaimedError(`Claim queue for ${targetLabel} is ${queued.position} deep (max ${options.maxQueueDepth}).`, { code: 'queue_too_deep' }));
797
+ emitClaimStatus(options.onStatus, {
798
+ type: 'queued',
799
+ claimId,
800
+ position: queued.position,
801
+ ahead: queued.position + 1,
802
+ });
803
+ if (options.maxDepth !== undefined && queued.position >= options.maxDepth) {
804
+ return rejectAndLeave(new AbloClaimedError(`Claim queue for ${targetLabel} is ${queued.position} deep (max ${options.maxDepth}).`, { code: 'queue_too_deep' }));
798
805
  }
799
- const deadline = options.waitTimeoutMs !== undefined ? Date.now() + options.waitTimeoutMs : undefined;
806
+ const deadline = options.timeoutMs !== undefined ? Date.now() + options.timeoutMs : undefined;
800
807
  let delay = GRANT_POLL_FIRST_MS;
801
808
  for (;;) {
802
809
  if (signal?.aborted) {
803
810
  return rejectAndLeave(new AbloClaimedError(`The wait for the claim on ${targetLabel} was aborted before the grant arrived.`, { code: 'claim_wait_aborted' }));
804
811
  }
805
812
  if (deadline !== undefined && Date.now() >= deadline) {
806
- return rejectAndLeave(new AbloClaimedError(`Timed out after ${options.waitTimeoutMs}ms waiting for the queue grant on ${targetLabel}.`, { code: 'grant_timeout' }));
813
+ return rejectAndLeave(new AbloClaimedError(`Timed out after ${options.timeoutMs}ms waiting for the queue grant on ${targetLabel}.`, { code: 'grant_timeout' }));
807
814
  }
808
815
  await sleep(deadline !== undefined ? Math.min(delay, Math.max(0, deadline - Date.now())) : delay, signal);
809
816
  if (signal?.aborted) {
@@ -824,6 +831,11 @@ export function createHttpTransport(options) {
824
831
  code: 'claim_lost',
825
832
  }));
826
833
  }
834
+ emitClaimStatus(options.onStatus, {
835
+ type: 'granted',
836
+ claimId,
837
+ waited: true,
838
+ });
827
839
  return state.fenceToken !== undefined
828
840
  ? { id: claimId, fenceToken: state.fenceToken }
829
841
  : { id: claimId };
@@ -1047,6 +1059,7 @@ export function createHttpTransport(options) {
1047
1059
  typeof value.id === 'string' &&
1048
1060
  typeof value.release === 'function';
1049
1061
  const acquireClaim = async (params) => {
1062
+ const contention = resolveClaimContentionOptions(params);
1050
1063
  // The row is named by the URL, so `target` carries only the narrowing a
1051
1064
  // claim adds below it. Sending it is what makes a field-scoped claim
1052
1065
  // actually field-scoped: the server's conflict rule reads `path`,
@@ -1067,9 +1080,19 @@ export function createHttpTransport(options) {
1067
1080
  ...(Object.keys(narrowing).length > 0 ? { target: narrowing } : {}),
1068
1081
  // `queue` (default true) → queue behind the holder; false → fail-fast
1069
1082
  // with AbloClaimedError (work-distribution dedup).
1070
- queue: params.queue ?? true,
1083
+ queue: contention.wait,
1071
1084
  };
1072
- const body = await requestJson(claimPath(params.id), { method: 'POST', body: JSON.stringify(request) }, claimAcquireResponseSchema);
1085
+ let body;
1086
+ try {
1087
+ body = await requestJson(claimPath(params.id), { method: 'POST', body: JSON.stringify(request) }, claimAcquireResponseSchema);
1088
+ }
1089
+ catch (error) {
1090
+ const normalized = error instanceof AbloError
1091
+ ? error
1092
+ : new AbloConnectionError(String(error));
1093
+ emitClaimStatus(contention.onStatus, claimAttemptFailure(contention.wait, normalized));
1094
+ throw error;
1095
+ }
1073
1096
  // One resource, two states, discriminated by `status`. The queued arm
1074
1097
  // WAITS, exactly as the socket client does: `claim({ id })` means
1075
1098
  // "serialize me behind the holder" on every transport, and the grant
@@ -1078,8 +1101,22 @@ export function createHttpTransport(options) {
1078
1101
  // why it no longer surfaces as one here. The `claims` namespace remains
1079
1102
  // the manual ticket surface.)
1080
1103
  if (body.status === 'queued') {
1081
- return awaitGrantOverHttp(`${name}/${params.id}`, body, params);
1104
+ try {
1105
+ return await awaitGrantOverHttp(`${name}/${params.id}`, body, contention);
1106
+ }
1107
+ catch (error) {
1108
+ const normalized = error instanceof AbloError
1109
+ ? error
1110
+ : new AbloConnectionError(String(error));
1111
+ emitClaimStatus(contention.onStatus, claimAttemptFailure(contention.wait, normalized));
1112
+ throw error;
1113
+ }
1082
1114
  }
1115
+ emitClaimStatus(contention.onStatus, {
1116
+ type: 'granted',
1117
+ claimId: body.id,
1118
+ waited: false,
1119
+ });
1083
1120
  // The lease's own fields are mirrored at the top level, the same place
1084
1121
  // the poll puts them — one reader for both answers.
1085
1122
  return body.fenceToken !== undefined
@@ -1114,7 +1151,7 @@ export function createHttpTransport(options) {
1114
1151
  // Every other failure (auth, validation, network) stays a rejection,
1115
1152
  // and the write-site claim path calls `acquireClaim` directly, so a
1116
1153
  // write that could not claim still fails loudly.
1117
- if (params.queue === false &&
1154
+ if (!resolveClaimContentionOptions(params).wait &&
1118
1155
  error instanceof AbloClaimedError &&
1119
1156
  (error.code === 'entity_claimed' || error.code === 'claim_conflict')) {
1120
1157
  return null;
@@ -1199,12 +1236,9 @@ export function createHttpTransport(options) {
1199
1236
  },
1200
1237
  queue: async (params) => {
1201
1238
  const res = await claimsForEntity(params);
1202
- return {
1203
- object: 'list',
1204
- data: res.data
1205
- .filter((row) => row.status === 'queued')
1206
- .map(claimFromModelClaim),
1207
- };
1239
+ return claimQueueView(res.data
1240
+ .filter((row) => row.status === 'queued')
1241
+ .map(claimFromModelClaim));
1208
1242
  },
1209
1243
  reorder: async (params) => {
1210
1244
  await requestRaw(`${claimPath(params.id)}/reorder`, {