@abloatai/transaction 0.55.0 → 0.56.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 (45) hide show
  1. package/dist/auth/hostedEndpoints.d.ts +21 -5
  2. package/dist/auth/hostedEndpoints.d.ts.map +1 -1
  3. package/dist/auth/hostedEndpoints.js +21 -5
  4. package/dist/auth/hostedEndpoints.js.map +1 -1
  5. package/dist/auth/index.d.ts +1 -1
  6. package/dist/auth/index.d.ts.map +1 -1
  7. package/dist/auth/index.js +1 -1
  8. package/dist/auth/index.js.map +1 -1
  9. package/dist/coordination/index.d.ts +1 -1
  10. package/dist/coordination/index.d.ts.map +1 -1
  11. package/dist/coordination/index.js +1 -1
  12. package/dist/coordination/index.js.map +1 -1
  13. package/dist/coordination/schema.d.ts +6 -2
  14. package/dist/coordination/schema.d.ts.map +1 -1
  15. package/dist/coordination/schema.js +8 -5
  16. package/dist/coordination/schema.js.map +1 -1
  17. package/dist/errors.d.ts.map +1 -1
  18. package/dist/errors.js +4 -1
  19. package/dist/errors.js.map +1 -1
  20. package/dist/log/syncDeltaRow.d.ts +3 -3
  21. package/dist/resources/writeOptionsSchema.d.ts.map +1 -1
  22. package/dist/resources/writeOptionsSchema.js +3 -2
  23. package/dist/resources/writeOptionsSchema.js.map +1 -1
  24. package/dist/syncLog/contract.d.ts +50 -2
  25. package/dist/syncLog/contract.d.ts.map +1 -1
  26. package/dist/syncLog/contract.js +50 -4
  27. package/dist/syncLog/contract.js.map +1 -1
  28. package/dist/wire/auth.d.ts.map +1 -1
  29. package/dist/wire/auth.js +6 -3
  30. package/dist/wire/auth.js.map +1 -1
  31. package/dist/wire/commit.js +5 -4
  32. package/dist/wire/commit.js.map +1 -1
  33. package/dist/wire/modelMutations.js +3 -2
  34. package/dist/wire/modelMutations.js.map +1 -1
  35. package/package.json +1 -1
  36. package/src/auth/hostedEndpoints.ts +23 -5
  37. package/src/auth/index.ts +2 -0
  38. package/src/coordination/index.ts +1 -1
  39. package/src/coordination/schema.ts +10 -6
  40. package/src/errors.ts +4 -1
  41. package/src/resources/writeOptionsSchema.ts +2 -2
  42. package/src/syncLog/contract.ts +54 -5
  43. package/src/wire/auth.ts +6 -3
  44. package/src/wire/commit.ts +4 -4
  45. package/src/wire/modelMutations.ts +2 -2
@@ -24,8 +24,8 @@ export { participantKindSchema, confirmationStateSchema } from '../wire/delta.js
24
24
  export type { ParticipantKind, ConfirmationState } from '../wire/delta.js';
25
25
  /** `backfill_provenance` */
26
26
  export declare const backfillProvenanceSchema: z.ZodEnum<{
27
- unknown: "unknown";
28
27
  exact: "exact";
28
+ unknown: "unknown";
29
29
  inferred: "inferred";
30
30
  }>;
31
31
  export type BackfillProvenance = z.infer<typeof backfillProvenanceSchema>;
@@ -84,8 +84,8 @@ export declare const deltaAttributionSchema: z.ZodObject<{
84
84
  auto_historical: "auto_historical";
85
85
  }>>;
86
86
  backfillProvenance: z.ZodNullable<z.ZodEnum<{
87
- unknown: "unknown";
88
87
  exact: "exact";
88
+ unknown: "unknown";
89
89
  inferred: "inferred";
90
90
  }>>;
91
91
  }, z.core.$strip>;
@@ -135,8 +135,8 @@ export declare const syncDeltaRowSchema: z.ZodObject<{
135
135
  auto_historical: "auto_historical";
136
136
  }>>;
137
137
  backfillProvenance: z.ZodNullable<z.ZodEnum<{
138
- unknown: "unknown";
139
138
  exact: "exact";
139
+ unknown: "unknown";
140
140
  inferred: "inferred";
141
141
  }>>;
142
142
  }, z.core.$strip>;
@@ -1 +1 @@
1
- {"version":3,"file":"writeOptionsSchema.d.ts","sourceRoot":"","sources":["../../src/resources/writeOptionsSchema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EACL,iBAAiB,EAMlB,MAAM,2BAA2B,CAAC;AAQnC,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6B7B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEnE;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAezE"}
1
+ {"version":3,"file":"writeOptionsSchema.d.ts","sourceRoot":"","sources":["../../src/resources/writeOptionsSchema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EACL,iBAAiB,EAKlB,MAAM,2BAA2B,CAAC;AAQnC,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6B7B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEnE;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAezE"}
@@ -16,9 +16,10 @@
16
16
  * asserts the shape rather than replacing the value with a parsed copy.
17
17
  */
18
18
  import { z } from 'zod';
19
+ import { logPositionSchema } from '../syncLog/contract.js';
19
20
  import { AbloValidationError } from '../errors.js';
20
21
  import { commitWaitSchema } from '../wire/commit.js';
21
- import { onStaleModeSchema, MAX_READ_SET_ENTRIES, readDependencyListSchema, readSetWatermarkSchema, readSetProjectionEntryCount, trackDependencyListSchema, } from '../coordination/schema.js';
22
+ import { onStaleModeSchema, MAX_READ_SET_ENTRIES, readDependencyListSchema, readSetProjectionEntryCount, trackDependencyListSchema, } from '../coordination/schema.js';
22
23
  // Re-exported, not redeclared. `coordination/schema.ts` owns this enum — it is
23
24
  // what the wire schemas and the server validate against — while the published
24
25
  // SDK barrel exports the name from this module. Declaring it twice put a second
@@ -34,7 +35,7 @@ export const writeOptionsSchema = z.object({
34
35
  /** Resolve when queued locally (default) or once the server confirms. */
35
36
  wait: commitWaitSchema.optional(),
36
37
  /** Stale guard: the sync watermark the caller's reasoning was based on. */
37
- readAt: readSetWatermarkSchema.nullish(),
38
+ readAt: logPositionSchema.nullish(),
38
39
  /** What the server does when the target moved past `readAt`. */
39
40
  onStale: onStaleModeSchema.nullish(),
40
41
  /** The held claim's fencing token (Option B), sourced from the claim handle
@@ -1 +1 @@
1
- {"version":3,"file":"writeOptionsSchema.js","sourceRoot":"","sources":["../../src/resources/writeOptionsSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writeOptionsSchema.js","sourceRoot":"","sources":["../../src/resources/writeOptionsSchema.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,55 @@
1
- /** Canonical sync-log identity and position contracts shared by client/server. */
1
+ /**
2
+ * Canonical sync-log identity and position contracts shared by client/server.
3
+ *
4
+ * ## A log position means ONE thing
5
+ *
6
+ * It is an ordinal in `sync_deltas`: a point in the single, totally ordered
7
+ * log. Nothing else. Every number in this engine that answers "how far along"
8
+ * is this type, and there is one definition of it, below.
9
+ *
10
+ * What varies is never the meaning. It is **who is making the claim**, and the
11
+ * owner belongs in the field name, never in a second type:
12
+ *
13
+ * | Owner | Claims |
14
+ * | ---------------------------------- | ----------------------------------------- |
15
+ * | `current_settled_sync_id()` | nothing at or below is still in flight |
16
+ * | `getCommittedSyncId` | committed, without waiting for the barrier|
17
+ * | `sync_broadcast_cursors.published_through` | the fan-out published through |
18
+ * | `Client.lastSentSyncId` | this recipient was offered through |
19
+ * | `Client.lastAckedSyncId` | this recipient confirmed through |
20
+ * | `LogPosition.applied` | the client processed on arrival through |
21
+ * | `LogPosition.persisted` | the client durably holds through, in
22
+ * DELIVERED order, not numeric order |
23
+ * | `RowWatermarks` | this one row reflects the log through |
24
+ * | `sync_state_checkpoint.up_to_sync_id` | the checkpoint folded through |
25
+ *
26
+ * ## The comparison that is not safe
27
+ *
28
+ * `current_settled_sync_id` takes a per-plane advisory lock but reads the
29
+ * GLOBAL sequence, so its value moves for writers in other planes. Every other
30
+ * owner above is scoped: to a plane, a project, a recipient, or a row. "The
31
+ * head of the log" and "how far I have been served" are therefore different
32
+ * questions, and a scoped cursor sitting below the global head is the normal
33
+ * resting state, not a gap.
34
+ *
35
+ * Treating one as the other is what left every client permanently short of its
36
+ * own head, re-taking the plane lock on every catch-up poll
37
+ * (docs/plans/delivery-verify-at-read.md). Before comparing two positions, say
38
+ * out loud which owner each belongs to.
39
+ */
2
40
  import { z } from 'zod';
41
+ /**
42
+ * A point in the sync log. The one definition; every other position name in
43
+ * the codebase derives from this one rather than restating the primitive.
44
+ */
45
+ export declare const logPositionSchema: z.ZodNumber;
46
+ export type LogPosition = z.infer<typeof logPositionSchema>;
47
+ /** @deprecated One position type, one name: use {@link logPositionSchema}.
48
+ * This spelling is removed in 0.57.0. It resolves to the definition above, so
49
+ * the two cannot drift while both are exported. */
3
50
  export declare const deltaPositionSchema: z.ZodNumber;
4
- export type DeltaPosition = z.infer<typeof deltaPositionSchema>;
51
+ /** @deprecated One position type, one name: use {@link LogPosition}. Removed in 0.57.0. */
52
+ export type DeltaPosition = LogPosition;
5
53
  export declare const clientMutationIdSchema: z.ZodString;
6
54
  export type ClientMutationId = z.infer<typeof clientMutationIdSchema>;
7
55
  export declare const sourceCorrelationIdSchema: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/syncLog/contract.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAElF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,mBAAmB,aAAiC,CAAC;AAClE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,sBAAsB,aAA6B,CAAC;AACjE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,yBAAyB,aAA6B,CAAC;AACpE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,oBAAoB,aAA6B,CAAC;AAC/D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,oBAAoB,aAAmD,CAAC;AACrF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,0BAA0B;;;;;;kBAUrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/syncLog/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,eAAO,MAAM,iBAAiB,aAAiC,CAAC;AAChE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;oDAEoD;AACpD,eAAO,MAAM,mBAAmB,aAAoB,CAAC;AACrD,2FAA2F;AAC3F,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC;AAExC,eAAO,MAAM,sBAAsB,aAA6B,CAAC;AACjE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,yBAAyB,aAA6B,CAAC;AACpE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,oBAAoB,aAA6B,CAAC;AAC/D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,oBAAoB,aAAmD,CAAC;AACrF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,0BAA0B;;;;;;kBAUrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
@@ -1,6 +1,52 @@
1
- /** Canonical sync-log identity and position contracts shared by client/server. */
1
+ /**
2
+ * Canonical sync-log identity and position contracts shared by client/server.
3
+ *
4
+ * ## A log position means ONE thing
5
+ *
6
+ * It is an ordinal in `sync_deltas`: a point in the single, totally ordered
7
+ * log. Nothing else. Every number in this engine that answers "how far along"
8
+ * is this type, and there is one definition of it, below.
9
+ *
10
+ * What varies is never the meaning. It is **who is making the claim**, and the
11
+ * owner belongs in the field name, never in a second type:
12
+ *
13
+ * | Owner | Claims |
14
+ * | ---------------------------------- | ----------------------------------------- |
15
+ * | `current_settled_sync_id()` | nothing at or below is still in flight |
16
+ * | `getCommittedSyncId` | committed, without waiting for the barrier|
17
+ * | `sync_broadcast_cursors.published_through` | the fan-out published through |
18
+ * | `Client.lastSentSyncId` | this recipient was offered through |
19
+ * | `Client.lastAckedSyncId` | this recipient confirmed through |
20
+ * | `LogPosition.applied` | the client processed on arrival through |
21
+ * | `LogPosition.persisted` | the client durably holds through, in
22
+ * DELIVERED order, not numeric order |
23
+ * | `RowWatermarks` | this one row reflects the log through |
24
+ * | `sync_state_checkpoint.up_to_sync_id` | the checkpoint folded through |
25
+ *
26
+ * ## The comparison that is not safe
27
+ *
28
+ * `current_settled_sync_id` takes a per-plane advisory lock but reads the
29
+ * GLOBAL sequence, so its value moves for writers in other planes. Every other
30
+ * owner above is scoped: to a plane, a project, a recipient, or a row. "The
31
+ * head of the log" and "how far I have been served" are therefore different
32
+ * questions, and a scoped cursor sitting below the global head is the normal
33
+ * resting state, not a gap.
34
+ *
35
+ * Treating one as the other is what left every client permanently short of its
36
+ * own head, re-taking the plane lock on every catch-up poll
37
+ * (docs/plans/delivery-verify-at-read.md). Before comparing two positions, say
38
+ * out loud which owner each belongs to.
39
+ */
2
40
  import { z } from 'zod';
3
- export const deltaPositionSchema = z.number().int().nonnegative();
41
+ /**
42
+ * A point in the sync log. The one definition; every other position name in
43
+ * the codebase derives from this one rather than restating the primitive.
44
+ */
45
+ export const logPositionSchema = z.number().int().nonnegative();
46
+ /** @deprecated One position type, one name: use {@link logPositionSchema}.
47
+ * This spelling is removed in 0.57.0. It resolves to the definition above, so
48
+ * the two cannot drift while both are exported. */
49
+ export const deltaPositionSchema = logPositionSchema;
4
50
  export const clientMutationIdSchema = z.string().min(1).max(255);
5
51
  export const sourceCorrelationIdSchema = z.string().min(1).max(255);
6
52
  export const sourceChangeIdSchema = z.string().min(1).max(512);
@@ -9,8 +55,8 @@ export const commitDispatchMarkerSchema = z.strictObject({
9
55
  kind: z.literal('sync_deltas'),
10
56
  organizationId: z.string().min(1),
11
57
  branchId: z.string().min(1),
12
- firstSyncId: deltaPositionSchema,
13
- lastSyncId: deltaPositionSchema,
58
+ firstSyncId: logPositionSchema,
59
+ lastSyncId: logPositionSchema,
14
60
  }).superRefine((value, ctx) => {
15
61
  if (value.firstSyncId <= 0 || value.lastSyncId < value.firstSyncId) {
16
62
  ctx.addIssue({ code: 'custom', message: 'invalid delta position range' });
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/syncLog/contract.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAElF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;AAGlE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAGjE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAGpE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAG/D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;AAGrF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,YAAY,CAAC;IACvD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IAC9B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,WAAW,EAAE,mBAAmB;IAChC,UAAU,EAAE,mBAAmB;CAChC,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAC5B,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,IAAI,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACnE,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/syncLog/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;AAGhE;;oDAEoD;AACpD,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAIrD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAGjE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAGpE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAG/D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;AAGrF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,YAAY,CAAC;IACvD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IAC9B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,WAAW,EAAE,iBAAiB;IAC9B,UAAU,EAAE,iBAAiB;CAC9B,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAC5B,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,IAAI,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACnE,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/wire/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,4CAA4C;AAC5C,eAAO,MAAM,sBAAsB;;;iBAGjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;iBA4ErC,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E;;;;;;;;;;;GAWG;AACH,OAAO,EACL,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/wire/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,4CAA4C;AAC5C,eAAO,MAAM,sBAAsB;;;iBAGjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;iBA+ErC,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E;;;;;;;;;;;GAWG;AACH,OAAO,EACL,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC"}
package/dist/wire/auth.js CHANGED
@@ -30,9 +30,12 @@ export const ephemeralKeyRequestSchema = z.object({
30
30
  /** The participant this session acts as. */
31
31
  user: ephemeralKeyUserSchema,
32
32
  /**
33
- * Mint into this organization instead of the caller's own. Requires the
34
- * `organization:act-as` scope without it a secret key can never mint a
35
- * session into another tenant.
33
+ * Open the session in a DIFFERENT organization, one the caller does not
34
+ * belong to. Requires the `organization:act-as` scope. This is the identity
35
+ * provider case, where each organization is an account in its own right.
36
+ *
37
+ * A platform serving its own customers does not use this: its customers are
38
+ * rows in its own schema, and a session reaches them through `syncGroups`.
36
39
  */
37
40
  organizationId: z.string().min(1).optional(),
38
41
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/wire/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,4CAA4C;AAC5C,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACxC,CAAC,CAAC;AAGH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,4CAA4C;IAC5C,IAAI,EAAE,sBAAsB;IAC5B;;;;OAIG;IACH,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC5C;;;;;OAKG;IACH,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC7C,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC9C,+CAA+C;IAC/C,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC/D;;;;OAIG;IACH,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC7D;;;;;;;;;;;OAWG;IACH,sBAAsB,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC5E;;;;;;;;;OASG;IACH,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;IAC5C,2DAA2D;IAC3D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAClD,iEAAiE;IACjE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC,MAAM,CACP,CAAC,OAAO,EAAE,EAAE,CACV,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC;IACvC,CAAC,OAAO,CAAC,gBAAgB,KAAK,SAAS,CAAC,EAC1C;IACE,OAAO,EACL,gEAAgE;IAClE,IAAI,EAAE,CAAC,iBAAiB,CAAC;CAC1B,CACF,CAAC,MAAM,CACN,CAAC,OAAO,EAAE,EAAE,CACV,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,MAAM,CACnF,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAC7B,CAAC,MAAM,KAAK,CAAC,EAChB;IACE,kEAAkE;IAClE,yEAAyE;IACzE,sEAAsE;IACtE,YAAY;IACZ,OAAO,EACL,gFAAgF;IAClF,IAAI,EAAE,CAAC,YAAY,CAAC;CACrB,CACF,CAAC;AAGF;;;;;;;;;;;GAWG;AACH,OAAO,EACL,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/wire/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,4CAA4C;AAC5C,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACxC,CAAC,CAAC;AAGH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,4CAA4C;IAC5C,IAAI,EAAE,sBAAsB;IAC5B;;;;;;;OAOG;IACH,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC5C;;;;;OAKG;IACH,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC7C,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC9C,+CAA+C;IAC/C,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC/D;;;;OAIG;IACH,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC7D;;;;;;;;;;;OAWG;IACH,sBAAsB,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC5E;;;;;;;;;OASG;IACH,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;IAC5C,2DAA2D;IAC3D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAClD,iEAAiE;IACjE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC,MAAM,CACP,CAAC,OAAO,EAAE,EAAE,CACV,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC;IACvC,CAAC,OAAO,CAAC,gBAAgB,KAAK,SAAS,CAAC,EAC1C;IACE,OAAO,EACL,gEAAgE;IAClE,IAAI,EAAE,CAAC,iBAAiB,CAAC;CAC1B,CACF,CAAC,MAAM,CACN,CAAC,OAAO,EAAE,EAAE,CACV,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,MAAM,CACnF,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAC7B,CAAC,MAAM,KAAK,CAAC,EAChB;IACE,kEAAkE;IAClE,yEAAyE;IACzE,sEAAsE;IACtE,YAAY;IACZ,OAAO,EACL,gFAAgF;IAClF,IAAI,EAAE,CAAC,YAAY,CAAC;CACrB,CACF,CAAC;AAGF;;;;;;;;;;;GAWG;AACH,OAAO,EACL,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,uBAAuB,CAAC"}
@@ -17,7 +17,8 @@
17
17
  * one giant object.
18
18
  */
19
19
  import { z } from 'zod';
20
- import { onStaleModeSchema, MAX_READ_SET_ENTRIES, readDependencyListSchema, readSetRowTargetSchema, readSetProjectionEntryCount, readSetSchema, readSetWatermarkSchema, participantKindSchema, staleNotificationSchema, trackDependencyListSchema, } from '../coordination/schema.js';
20
+ import { logPositionSchema } from '../syncLog/contract.js';
21
+ import { onStaleModeSchema, MAX_READ_SET_ENTRIES, readDependencyListSchema, readSetRowTargetSchema, readSetProjectionEntryCount, readSetSchema, participantKindSchema, staleNotificationSchema, trackDependencyListSchema, } from '../coordination/schema.js';
21
22
  import { requiredCapabilityWireSchema } from '../errors.js';
22
23
  import { effectiveAuthoritySchema } from '../auth/capability.js';
23
24
  /** Matches the permanent source/idempotency-key ceiling. */
@@ -41,7 +42,7 @@ export const confirmedCommitStatusSchema = z
41
42
  .strictObject({
42
43
  status: confirmedStatusSchema,
43
44
  statusAt: commitTimestampSchema,
44
- lastSyncId: readSetWatermarkSchema,
45
+ lastSyncId: logPositionSchema,
45
46
  correlationId: correlationIdSchema.optional(),
46
47
  })
47
48
  .refine(({ correlationId, lastSyncId }) => correlationId === undefined || lastSyncId > 0, {
@@ -291,7 +292,7 @@ export const mutationCommitResultSchema = commitAckSchema;
291
292
  export const clientCommitReceiptSchema = z.strictObject({
292
293
  id: z.string().min(1),
293
294
  status: z.union([queuedStatusSchema, confirmedStatusSchema]),
294
- lastSyncId: readSetWatermarkSchema.optional(),
295
+ lastSyncId: logPositionSchema.optional(),
295
296
  notifications: notificationsSchema.optional(),
296
297
  missingIds: missingIdsSchema.optional(),
297
298
  operationResults: operationResultsSchema.optional(),
@@ -313,7 +314,7 @@ export const commitOperationControlShape = {
313
314
  id: z.string().nullish(),
314
315
  transactionId: z.string().nullish(),
315
316
  claimId: z.string().min(1).nullish(),
316
- readAt: readSetWatermarkSchema.nullish(),
317
+ readAt: logPositionSchema.nullish(),
317
318
  onStale: onStaleModeSchema.nullish(),
318
319
  fenceToken: z.number().nullish(),
319
320
  };
@@ -1 +1 @@
1
- {"version":3,"file":"commit.js","sourceRoot":"","sources":["../../src/wire/commit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,2BAA2B,EAC3B,aAAa,EACb,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,4DAA4D;AAC5D,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAG,CAAC;AAEpD,qGAAqG;AACrG,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;AAG3F,iDAAiD;AACjD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAEtE,2EAA2E;AAC3E,4EAA4E;AAC5E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACtD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AAC5D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,YAAY,CAAC;IACrD,MAAM,EAAE,kBAAkB;IAC1B,QAAQ,EAAE,qBAAqB;IAC/B,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACxB,aAAa,EAAE,mBAAmB;CACnC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC;KACzC,YAAY,CAAC;IACZ,MAAM,EAAE,qBAAqB;IAC7B,QAAQ,EAAE,qBAAqB;IAC/B,UAAU,EAAE,sBAAsB;IAClC,aAAa,EAAE,mBAAmB,CAAC,QAAQ,EAAE;CAC9C,CAAC;KACD,MAAM,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,aAAa,KAAK,SAAS,IAAI,UAAU,GAAG,CAAC,EAAE;IACxF,IAAI,EAAE,CAAC,YAAY,CAAC;IACpB,OAAO,EAAE,0DAA0D;CACpE,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,YAAY,CAAC;IACvD,MAAM,EAAE,oBAAoB;IAC5B,QAAQ,EAAE,qBAAqB;CAChC,CAAC,CAAC;AAEH,uEAAuE;AACvE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE;IAC/D,wBAAwB;IACxB,2BAA2B;IAC3B,0BAA0B;CAC3B,CAAC,CAAC;AAIH;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,CAAC,CAAC;AAGrF,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;AAE7D,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,IAAI,CAAC;IACjD,SAAS;IACT,SAAS;IACT,SAAS;IACT,UAAU;IACV,YAAY;CACb,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,YAAY,CAAC;IACxD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,OAAO,EAAE,4BAA4B;IACrC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;CACvC,CAAC,CAAC;AAKH,MAAM,sBAAsB,GAAG,CAAC;KAC7B,KAAK,CAAC,2BAA2B,CAAC;KAClC,GAAG,CAAC,CAAC,CAAC;KACN,MAAM,CACL,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,EAC3F,gDAAgD,CACjD,CAAC;AAEJ,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,YAAY,CAAC;IAC9C,IAAI,EAAE,qBAAqB;IAC3B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACtB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,YAAY,CAAC;IAChD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,UAAU,EAAE,qBAAqB;IACjC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IACpD,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;CACtC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,YAAY,CAAC;IACvD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,MAAM,EAAE,sBAAsB;IAC9B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;CAC3C,CAAC,CAAC;AAGH,MAAM,mBAAmB,GAAG;IAC1B,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACxD,KAAK,EAAE,iBAAiB;IACxB,SAAS,EAAE,wBAAwB;IACnC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,QAAQ,EAAE;CAC9C,CAAC;AAEX,SAAS,+BAA+B,CACtC,KAAgE,EAChE,OAAwB;IAExB,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7D,OAAO,CAAC,QAAQ,CAAC;YACf,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,UAAU,CAAC;YAClB,OAAO,EAAE,0CAA0C;SACpD,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,MAAM,4BAA4B,GAAG;IACnC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACnC,0DAA0D;IAC1D,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,SAAS,EAAE,qBAAqB;IAChC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACxB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACnC,SAAS,EAAE,wBAAwB;IACnC,aAAa,EAAE,mBAAmB,CAAC,QAAQ,EAAE;IAC7C,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACvC,gFAAgF;IAChF,gBAAgB,EAAE,sBAAsB,CAAC,QAAQ,EAAE;CAC3C,CAAC;AAEX,MAAM,yBAAyB,GAAG,wBAAwB,CAAC,UAAU,CACnE,4BAA4B,CAC7B,CAAC;AAEF,MAAM,4BAA4B,GAAG,2BAA2B,CAAC,UAAU,CACzE,4BAA4B,CAC7B,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC;KACjC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,yBAAyB,EAAE,4BAA4B,CAAC,CAAC;KACvF,WAAW,CAAC,+BAA+B,CAAC,CAAC;AAGhD;;;;;;;GAOG;AACH,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAyB,CAAC;AAClE,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,kBAAkB,EAAE,4BAA4B,CAAC,QAAQ,EAAE;IAC3D,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;CACtD,CAAC,CAAC;AAEH,iFAAiF;AACjF,MAAM,CAAC,MAAM,2BAA2B,GAAG,0BAA0B;KAClE,UAAU,CAAC;IACV,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACnC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,SAAS,EAAE,qBAAqB;IAChC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACzB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IAC9C,wEAAwE;IACxE,SAAS,EAAE,wBAAwB;IACnC,KAAK,EAAE,iBAAiB;CACzB,CAAC;KACD,WAAW,CAAC,+BAA+B,CAAC,CAAC;AAGhD,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC;IACjD,mBAAmB;IACnB,2BAA2B;CAC5B,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC;IAClC,OAAO,EAAE,2BAA2B;CACrC,CAAC,CAAC;AAGH,MAAM,gCAAgC,GAAG,CAAC;KACvC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KACxB,GAAG,CAAC,CAAC,CAAC;KACN,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,MAAM,EAAE;IACjD,OAAO,EAAE,6CAA6C;CACvD,CAAC,CAAC;AAEL;;;;GAIG;AACH,MAAM,sBAAsB,GAAG;IAC3B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAC3C,SAAS,EAAE,qBAAqB;IAChC,0BAA0B,EAAE,gCAAgC,CAAC,QAAQ,EAAE;IACvE,aAAa,EAAE,mBAAmB,CAAC,QAAQ,EAAE;IAC7C,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE;CACjC,CAAC;AAEX,MAAM,iCAAiC,GAAG,wBAAwB,CAAC,UAAU,CAC3E,sBAAsB,CACvB,CAAC;AACF,MAAM,oCAAoC,GAAG,2BAA2B,CAAC,UAAU,CACjF,sBAAsB,CACvB,CAAC;AAEF,MAAM,oCAAoC,GAAG,CAAC;KAC3C,kBAAkB,CAAC,QAAQ,EAAE;IAC5B,iCAAiC;IACjC,oCAAoC;CACrC,CAAC;KACD,WAAW,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IAC/B,+BAA+B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,UAAU,GACd,CAAC,MAAM,CAAC,WAAW,KAAK,CAAC,IAAI,MAAM,CAAC,UAAU,KAAK,CAAC,CAAC;QACrD,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC;IACtE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,QAAQ,CAAC;YACf,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,aAAa,CAAC;YACrB,OAAO,EAAE,yCAAyC;SACnD,CAAC,CAAC;IACL,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,0BAA0B,EAAE,CAAC;YACvC,OAAO,CAAC,QAAQ,CAAC;gBACf,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,4BAA4B,CAAC;gBACpC,OAAO,EAAE,0DAA0D;aACpE,CAAC,CAAC;QACL,CAAC;QACD,IAAI,MAAM,CAAC,WAAW,KAAK,CAAC,IAAI,MAAM,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;YACxD,OAAO,CAAC,QAAQ,CAAC;gBACf,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,YAAY,CAAC;gBACpB,OAAO,EAAE,4DAA4D;aACtE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,0BAA0B,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QAC/D,OAAO,CAAC,QAAQ,CAAC;YACf,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,eAAe,CAAC;YACvB,OAAO,EAAE,+DAA+D;SACzE,CAAC,CAAC;IACL,CAAC;IACD,IAAI,MAAM,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,0BAA0B,EAAE,CAAC;QAC/D,OAAO,CAAC,QAAQ,CAAC;YACf,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,4BAA4B,CAAC;YACpC,OAAO,EAAE,kEAAkE;SAC5E,CAAC,CAAC;IACL,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,qBAAqB,CAAC,KAAK,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC;QACrG,OAAO,CAAC,QAAQ,CAAC;YACf,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,YAAY,CAAC;YACpB,OAAO,EAAE,kEAAkE;SAC5E,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,6EAA6E;AAC7E,MAAM,CAAC,MAAM,2BAA2B,GAAG,oCAAoC,CAAC;AAIhF,MAAM,cAAc,GAAG;IACrB,aAAa,EAAE,mBAAmB,CAAC,QAAQ,EAAE;IAC7C,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACvC,gBAAgB,EAAE,sBAAsB,CAAC,QAAQ,EAAE;CAC3C,CAAC;AAEX,gFAAgF;AAChF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE;IAC5D,wBAAwB,CAAC,UAAU,CAAC,cAAc,CAAC;IACnD,2BAA2B,CAAC,UAAU,CAAC,cAAc,CAAC;CACvD,CAAC,CAAC;AAGH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,eAAe,CAAC;AAI1D;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,YAAY,CAAC;IACtD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,CAAC;IAC5D,UAAU,EAAE,sBAAsB,CAAC,QAAQ,EAAE;IAC7C,aAAa,EAAE,mBAAmB,CAAC,QAAQ,EAAE;IAC7C,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACvC,gBAAgB,EAAE,sBAAsB,CAAC,QAAQ,EAAE;CACpD,CAAC,CAAC;AAGH,4EAA4E;AAC5E,2CAA2C;AAC3C,4EAA4E;AAC5E,EAAE;AACF,0EAA0E;AAC1E,8EAA8E;AAC9E,4EAA4E;AAC5E,4EAA4E;AAC5E,0DAA0D;AAC1D,EAAE;AACF,4EAA4E;AAC5E,0EAA0E;AAE1E,0DAA0D;AAC1D,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;IACxB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;IACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;IACpC,MAAM,EAAE,sBAAsB,CAAC,OAAO,EAAE;IACxC,OAAO,EAAE,iBAAiB,CAAC,OAAO,EAAE;IACpC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;CACjC,CAAC;AAEF,4DAA4D;AAC5D,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,GAAG,2BAA2B;IAC9B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACjD,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;CAC1D,CAAC,CAAC;AAGH,mFAAmF;AACnF,MAAM,CAAC,MAAM,+BAA+B,GAAG,UAAmB,CAAC;AACnE,MAAM,CAAC,MAAM,2BAA2B,GAAG,yBAAyB;KACjE,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;KACjC,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,+BAA+B,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAGnG,4EAA4E;AAC5E,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,YAAY,CAAC;IACxD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IAC9C,aAAa,EAAE,mBAAmB,CAAC,QAAQ,EAAE;IAC7C,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACvC,KAAK,EAAE,iBAAiB,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAGH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,YAAY,CAAC;IAChD,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChE,KAAK,EAAE,wBAAwB,CAAC,OAAO,EAAE;IACzC,KAAK,EAAE,yBAAyB,CAAC,OAAO,EAAE;CAC3C,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,2BAA2B,CAAC,KAAK,CAAC,IAAI,oBAAoB,EAAE;IAC/E,IAAI,EAAE,CAAC,OAAO,CAAC;IACf,OAAO,EAAE,uCAAuC,oBAAoB,mBAAmB;CACxF,CAAC,CAAC;AAGH;;;GAGG;AACH,MAAM,yBAAyB,GAAG;IAC9B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,GAAG,mBAAmB;IACtB,SAAS,EAAE,qBAAqB;IAChC,OAAO,EAAE,aAAa;IACtB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,QAAQ,EAAE;IAC3D,OAAO,EAAE,2BAA2B;CAC9B,CAAC;AAEX,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,kBAAkB,CAAC,QAAQ,EAAE;IAC5B,wBAAwB,CAAC,UAAU,CAAC,yBAAyB,CAAC;IAC9D,2BAA2B,CAAC,UAAU,CAAC,yBAAyB,CAAC;IACjE,0BAA0B,CAAC,UAAU,CAAC;QACpC,GAAG,yBAAyB;QAC5B,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;KACzB,CAAC;CACH,CAAC;KACD,WAAW,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IAC/B,+BAA+B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjD,IAAI,MAAM,CAAC,MAAM,KAAK,oBAAoB,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC1E,OAAO,CAAC,QAAQ,CAAC;YACf,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;YAC1B,OAAO,EAAE,qDAAqD;SAC/D,CAAC,CAAC;IACL,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,oBAAoB,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACzE,OAAO,CAAC,QAAQ,CAAC;YACf,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;YAC1B,OAAO,EAAE,0DAA0D;SACpE,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC;AAGL,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,YAAY,CAAC;IACpD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACrC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,kBAAkB,EAAE,qBAAqB,EAAE,oBAAoB,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC9F,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,YAAY,CAAC;IAC1D,KAAK,EAAE,uBAAuB,CAAC,QAAQ,EAAE;IACzC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;CACnD,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,YAAY,CAAC;IACnD,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE;IAC5C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAC"}
1
+ {"version":3,"file":"commit.js","sourceRoot":"","sources":["../../src/wire/commit.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,8 @@
15
15
  * the server validates against this and the reference is generated from it.
16
16
  */
17
17
  import { z } from 'zod';
18
- import { onStaleModeSchema, MAX_READ_SET_ENTRIES, readDependencyListSchema, readSetProjectionEntryCount, readSetWatermarkSchema, trackDependencyListSchema, } from '../coordination/schema.js';
18
+ import { logPositionSchema } from '../syncLog/contract.js';
19
+ import { onStaleModeSchema, MAX_READ_SET_ENTRIES, readDependencyListSchema, readSetProjectionEntryCount, trackDependencyListSchema, } from '../coordination/schema.js';
19
20
  export const modelMutationRequestSchema = z.object({
20
21
  /** The record. Its shape is your schema's; everything around it is protocol. */
21
22
  data: z.record(z.string(), z.unknown()).nullish(),
@@ -41,7 +42,7 @@ export const modelMutationRequestSchema = z.object({
41
42
  * the read. Ablo rejects the write if the row moved in between, which is
42
43
  * what makes read → decide → write safe without a lock across the deciding.
43
44
  */
44
- readAt: readSetWatermarkSchema.nullish(),
45
+ readAt: logPositionSchema.nullish(),
45
46
  /** Commit-lifetime dependencies checked with the single model operation. */
46
47
  reads: readDependencyListSchema.nullish(),
47
48
  /** Durable dependencies registered with the single model operation. */
@@ -1 +1 @@
1
- {"version":3,"file":"modelMutations.js","sourceRoot":"","sources":["../../src/wire/modelMutations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,2BAA2B,EAC3B,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AAEnC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,gFAAgF;IAChF,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACjD;;;;;;;;;;;OAWG;IACH,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;IACxB,gEAAgE;IAChE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;IAC3B,2EAA2E;IAC3E,OAAO,EAAE,iBAAiB,CAAC,OAAO,EAAE;IACpC;;;;OAIG;IACH,MAAM,EAAE,sBAAsB,CAAC,OAAO,EAAE;IACxC,4EAA4E;IAC5E,KAAK,EAAE,wBAAwB,CAAC,OAAO,EAAE;IACzC,uEAAuE;IACvE,KAAK,EAAE,yBAAyB,CAAC,OAAO,EAAE;IAC1C;;;OAGG;IACH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;IAChC,wEAAwE;IACxE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,2BAA2B,CAAC,KAAK,CAAC,IAAI,oBAAoB,EAAE;IAC/E,IAAI,EAAE,CAAC,OAAO,CAAC;IACf,OAAO,EAAE,uCAAuC,oBAAoB,mBAAmB;CACxF,CAAC,CAAC"}
1
+ {"version":3,"file":"modelMutations.js","sourceRoot":"","sources":["../../src/wire/modelMutations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AAEnC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,gFAAgF;IAChF,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACjD;;;;;;;;;;;OAWG;IACH,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;IACxB,gEAAgE;IAChE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;IAC3B,2EAA2E;IAC3E,OAAO,EAAE,iBAAiB,CAAC,OAAO,EAAE;IACpC;;;;OAIG;IACH,MAAM,EAAE,iBAAiB,CAAC,OAAO,EAAE;IACnC,4EAA4E;IAC5E,KAAK,EAAE,wBAAwB,CAAC,OAAO,EAAE;IACzC,uEAAuE;IACvE,KAAK,EAAE,yBAAyB,CAAC,OAAO,EAAE;IAC1C;;;OAGG;IACH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;IAChC,wEAAwE;IACxE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,2BAA2B,CAAC,KAAK,CAAC,IAAI,oBAAoB,EAAE;IAC/E,IAAI,EAAE,CAAC,OAAO,CAAC;IACf,OAAO,EAAE,uCAAuC,oBAAoB,mBAAmB;CACxF,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abloatai/transaction",
3
- "version": "0.55.0",
3
+ "version": "0.56.0",
4
4
  "description": "The headless Ablo transaction client and canonical contracts for reads, commits, confirmation, claims, and durable observation.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -1,10 +1,13 @@
1
1
  /**
2
- * The hosted Ablo Cloud endpoint constants, with no dependencies of their own.
2
+ * The hosted Ablo hosts, with no dependencies of their own.
3
3
  *
4
- * This is the single place the hosted API host is declared. URL resolution, the
5
- * CLI's default URL, the data-source connector's base, the generated OpenAPI
6
- * server entry, and the network probe's default all import from here, so
7
- * changing the API domain is a one-line edit.
4
+ * This is the single place each published Ablo domain is declared: the API the
5
+ * SDK calls, the documentation site every error link and descriptor points at,
6
+ * and the marketing site that carries signup and the legal pages. URL
7
+ * resolution, the CLI's default URL, the data-source connector's base, the
8
+ * generated OpenAPI server entry, the error registry's `doc_url`, and the
9
+ * published discovery descriptors all import from here, so changing a domain is
10
+ * a one-line edit.
8
11
  *
9
12
  * These constants are kept dependency-free deliberately: several low-level
10
13
  * modules consume them, and routing those modules through the auth layer would
@@ -22,3 +25,18 @@ export const ABLO_HOSTED_HTTP_BASE_URL = `https://${ABLO_HOSTED_API_DOMAIN}`;
22
25
  * {@link ABLO_HOSTED_HTTP_BASE_URL}; kept as a distinct name because it is
23
26
  * the documented client-options default. */
24
27
  export const ABLO_DEFAULT_BASE_URL = ABLO_HOSTED_HTTP_BASE_URL;
28
+
29
+ /**
30
+ * The documentation site. Canonical target of every error `doc_url`, of the
31
+ * published OpenAPI document, and of the discovery descriptors under
32
+ * `/.well-known`, which is why it is declared beside the API host rather than
33
+ * retyped at each of those call sites.
34
+ */
35
+ export const ABLO_DOCS_BASE_URL = 'https://docs.abloatai.com';
36
+
37
+ /**
38
+ * The marketing site: signup, the CLI device-flow approval page, and the legal
39
+ * pages a machine-readable onboarding descriptor has to cite. The apex
40
+ * redirects here, so this is the form to publish.
41
+ */
42
+ export const ABLO_SITE_BASE_URL = 'https://www.abloatai.com';
package/src/auth/index.ts CHANGED
@@ -26,8 +26,10 @@ import type {
26
26
  } from './capability.js';
27
27
  export {
28
28
  ABLO_DEFAULT_BASE_URL,
29
+ ABLO_DOCS_BASE_URL,
29
30
  ABLO_HOSTED_API_DOMAIN,
30
31
  ABLO_HOSTED_HTTP_BASE_URL,
32
+ ABLO_SITE_BASE_URL,
31
33
  } from './hostedEndpoints.js';
32
34
  export { normalizeAbloBaseUrl } from './baseUrl.js';
33
35
 
@@ -22,8 +22,8 @@ export {
22
22
  targetRefSchema,
23
23
  // Layer 3 — optimistic stale-context
24
24
  onStaleModeSchema,
25
- MAX_READ_SET_ENTRIES,
26
25
  readSetWatermarkSchema,
26
+ MAX_READ_SET_ENTRIES,
27
27
  readSetRowTargetSchema,
28
28
  readSetGroupTargetSchema,
29
29
  commitReadSetTargetSchema,
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ import { logPositionSchema, type LogPosition } from '../syncLog/contract.js';
2
3
  import {
3
4
  syncGroupInputSchema,
4
5
  syncGroupRefSchema,
@@ -267,9 +268,12 @@ const streamTargetSchema = targetRefSchema
267
268
  export const onStaleModeSchema = z.enum(['reject', 'overwrite', 'notify']);
268
269
  export type OnStaleMode = z.infer<typeof onStaleModeSchema>;
269
270
 
270
- /** The exact authoritative position retained for one ReadSet entry. */
271
- export const readSetWatermarkSchema = z.number().int().nonnegative();
272
- export type ReadSetWatermark = z.infer<typeof readSetWatermarkSchema>;
271
+ /** @deprecated A ReadSet entry retains a {@link logPositionSchema} like every
272
+ * other position; the reader is the owner, and the owner belongs in the field
273
+ * name rather than in a second type. Removed in 0.57.0. */
274
+ export const readSetWatermarkSchema = logPositionSchema;
275
+ /** @deprecated Use {@link LogPosition}. Removed in 0.57.0. */
276
+ export type ReadSetWatermark = LogPosition;
273
277
 
274
278
  /** Maximum decision-input entries one logical commit may ask the server to scan. */
275
279
  export const MAX_READ_SET_ENTRIES = 500;
@@ -285,7 +289,7 @@ export type TrackOnStale = z.infer<typeof trackOnStaleSchema>;
285
289
  * claim — see the claim layer below.
286
290
  */
287
291
  export const writeGuardSchema = z.object({
288
- readAt: readSetWatermarkSchema.nullish(),
292
+ readAt: logPositionSchema.nullish(),
289
293
  onStale: onStaleModeSchema.nullish(),
290
294
  bypass: z.boolean().optional(),
291
295
  });
@@ -489,7 +493,7 @@ export type PersistedReadSetTarget = z.infer<typeof persistedReadSetTargetSchema
489
493
  /** One exact input to the decision made by this commit. */
490
494
  export const commitReadSetEntrySchema = z.object({
491
495
  target: commitReadSetTargetSchema,
492
- watermark: readSetWatermarkSchema,
496
+ watermark: logPositionSchema,
493
497
  lifetime: z.literal('commit'),
494
498
  onStale: onStaleModeSchema,
495
499
  });
@@ -498,7 +502,7 @@ export type CommitReadSetEntry = z.infer<typeof commitReadSetEntrySchema>;
498
502
  /** One exact input retained after the declaring commit settles. */
499
503
  export const persistedReadSetEntrySchema = z.object({
500
504
  target: persistedReadSetTargetSchema,
501
- watermark: readSetWatermarkSchema,
505
+ watermark: logPositionSchema,
502
506
  lifetime: z.literal('persisted'),
503
507
  onStale: trackOnStaleSchema,
504
508
  });
package/src/errors.ts CHANGED
@@ -17,6 +17,9 @@
17
17
 
18
18
  import { z } from 'zod';
19
19
  import type { ErrorCode } from './errorCodes.js';
20
+ // Dependency-free by design, so the error registry can name the docs host
21
+ // without pulling the auth layer into this module's import graph.
22
+ import { ABLO_DOCS_BASE_URL } from './auth/hostedEndpoints.js';
20
23
  import { errorCodeSpec, classifyRecovery } from './errorCodes.js';
21
24
  import {
22
25
  wireClaimSummarySchema,
@@ -156,7 +159,7 @@ export class AbloError extends Error {
156
159
  * a `doc_url` automatically.
157
160
  */
158
161
  export function docUrlForCode(code: ErrorCode): string {
159
- return `https://docs.abloatai.com/errors#${code}`;
162
+ return `${ABLO_DOCS_BASE_URL}/errors#${code}`;
160
163
  }
161
164
 
162
165
  /** 401 — invalid/missing/expired credentials. */
@@ -17,6 +17,7 @@
17
17
  */
18
18
 
19
19
  import { z } from 'zod';
20
+ import { logPositionSchema } from '../syncLog/contract.js';
20
21
  import type { MutationOptions } from '../resources/mutationOptions.js';
21
22
  import { AbloValidationError } from '../errors.js';
22
23
  import { commitWaitSchema } from '../wire/commit.js';
@@ -24,7 +25,6 @@ import {
24
25
  onStaleModeSchema,
25
26
  MAX_READ_SET_ENTRIES,
26
27
  readDependencyListSchema,
27
- readSetWatermarkSchema,
28
28
  readSetProjectionEntryCount,
29
29
  trackDependencyListSchema,
30
30
  } from '../coordination/schema.js';
@@ -46,7 +46,7 @@ export const writeOptionsSchema = z.object({
46
46
  /** Resolve when queued locally (default) or once the server confirms. */
47
47
  wait: commitWaitSchema.optional(),
48
48
  /** Stale guard: the sync watermark the caller's reasoning was based on. */
49
- readAt: readSetWatermarkSchema.nullish(),
49
+ readAt: logPositionSchema.nullish(),
50
50
  /** What the server does when the target moved past `readAt`. */
51
51
  onStale: onStaleModeSchema.nullish(),
52
52
  /** The held claim's fencing token (Option B), sourced from the claim handle
@@ -1,9 +1,58 @@
1
- /** Canonical sync-log identity and position contracts shared by client/server. */
1
+ /**
2
+ * Canonical sync-log identity and position contracts shared by client/server.
3
+ *
4
+ * ## A log position means ONE thing
5
+ *
6
+ * It is an ordinal in `sync_deltas`: a point in the single, totally ordered
7
+ * log. Nothing else. Every number in this engine that answers "how far along"
8
+ * is this type, and there is one definition of it, below.
9
+ *
10
+ * What varies is never the meaning. It is **who is making the claim**, and the
11
+ * owner belongs in the field name, never in a second type:
12
+ *
13
+ * | Owner | Claims |
14
+ * | ---------------------------------- | ----------------------------------------- |
15
+ * | `current_settled_sync_id()` | nothing at or below is still in flight |
16
+ * | `getCommittedSyncId` | committed, without waiting for the barrier|
17
+ * | `sync_broadcast_cursors.published_through` | the fan-out published through |
18
+ * | `Client.lastSentSyncId` | this recipient was offered through |
19
+ * | `Client.lastAckedSyncId` | this recipient confirmed through |
20
+ * | `LogPosition.applied` | the client processed on arrival through |
21
+ * | `LogPosition.persisted` | the client durably holds through, in
22
+ * DELIVERED order, not numeric order |
23
+ * | `RowWatermarks` | this one row reflects the log through |
24
+ * | `sync_state_checkpoint.up_to_sync_id` | the checkpoint folded through |
25
+ *
26
+ * ## The comparison that is not safe
27
+ *
28
+ * `current_settled_sync_id` takes a per-plane advisory lock but reads the
29
+ * GLOBAL sequence, so its value moves for writers in other planes. Every other
30
+ * owner above is scoped: to a plane, a project, a recipient, or a row. "The
31
+ * head of the log" and "how far I have been served" are therefore different
32
+ * questions, and a scoped cursor sitting below the global head is the normal
33
+ * resting state, not a gap.
34
+ *
35
+ * Treating one as the other is what left every client permanently short of its
36
+ * own head, re-taking the plane lock on every catch-up poll
37
+ * (docs/plans/delivery-verify-at-read.md). Before comparing two positions, say
38
+ * out loud which owner each belongs to.
39
+ */
2
40
 
3
41
  import { z } from 'zod';
4
42
 
5
- export const deltaPositionSchema = z.number().int().nonnegative();
6
- export type DeltaPosition = z.infer<typeof deltaPositionSchema>;
43
+ /**
44
+ * A point in the sync log. The one definition; every other position name in
45
+ * the codebase derives from this one rather than restating the primitive.
46
+ */
47
+ export const logPositionSchema = z.number().int().nonnegative();
48
+ export type LogPosition = z.infer<typeof logPositionSchema>;
49
+
50
+ /** @deprecated One position type, one name: use {@link logPositionSchema}.
51
+ * This spelling is removed in 0.57.0. It resolves to the definition above, so
52
+ * the two cannot drift while both are exported. */
53
+ export const deltaPositionSchema = logPositionSchema;
54
+ /** @deprecated One position type, one name: use {@link LogPosition}. Removed in 0.57.0. */
55
+ export type DeltaPosition = LogPosition;
7
56
 
8
57
  export const clientMutationIdSchema = z.string().min(1).max(255);
9
58
  export type ClientMutationId = z.infer<typeof clientMutationIdSchema>;
@@ -21,8 +70,8 @@ export const commitDispatchMarkerSchema = z.strictObject({
21
70
  kind: z.literal('sync_deltas'),
22
71
  organizationId: z.string().min(1),
23
72
  branchId: z.string().min(1),
24
- firstSyncId: deltaPositionSchema,
25
- lastSyncId: deltaPositionSchema,
73
+ firstSyncId: logPositionSchema,
74
+ lastSyncId: logPositionSchema,
26
75
  }).superRefine((value, ctx) => {
27
76
  if (value.firstSyncId <= 0 || value.lastSyncId < value.firstSyncId) {
28
77
  ctx.addIssue({ code: 'custom', message: 'invalid delta position range' });