@abloatai/transaction 0.55.0 → 0.57.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 (213) hide show
  1. package/CONVENTIONS.md +34 -0
  2. package/dist/auth/hostedEndpoints.d.ts +21 -5
  3. package/dist/auth/hostedEndpoints.d.ts.map +1 -1
  4. package/dist/auth/hostedEndpoints.js +21 -5
  5. package/dist/auth/hostedEndpoints.js.map +1 -1
  6. package/dist/auth/index.d.ts +1 -1
  7. package/dist/auth/index.d.ts.map +1 -1
  8. package/dist/auth/index.js +1 -1
  9. package/dist/auth/index.js.map +1 -1
  10. package/dist/coordination/index.d.ts +2 -2
  11. package/dist/coordination/index.d.ts.map +1 -1
  12. package/dist/coordination/index.js +1 -1
  13. package/dist/coordination/index.js.map +1 -1
  14. package/dist/coordination/schema.d.ts +0 -3
  15. package/dist/coordination/schema.d.ts.map +1 -1
  16. package/dist/coordination/schema.js +4 -5
  17. package/dist/coordination/schema.js.map +1 -1
  18. package/dist/errorCodes.d.ts +1 -0
  19. package/dist/errorCodes.d.ts.map +1 -1
  20. package/dist/errorCodes.js +1 -0
  21. package/dist/errorCodes.js.map +1 -1
  22. package/dist/errors.d.ts.map +1 -1
  23. package/dist/errors.js +4 -1
  24. package/dist/errors.js.map +1 -1
  25. package/dist/log/syncDeltaRow.d.ts +3 -3
  26. package/dist/readSetContext.d.ts.map +1 -1
  27. package/dist/readSetContext.js +8 -3
  28. package/dist/readSetContext.js.map +1 -1
  29. package/dist/resources/httpResources.d.ts +43 -22
  30. package/dist/resources/httpResources.d.ts.map +1 -1
  31. package/dist/resources/httpResources.js +81 -4
  32. package/dist/resources/httpResources.js.map +1 -1
  33. package/dist/resources/modelCreate.d.ts +21 -0
  34. package/dist/resources/modelCreate.d.ts.map +1 -0
  35. package/dist/resources/modelCreate.js +49 -0
  36. package/dist/resources/modelCreate.js.map +1 -0
  37. package/dist/resources/modelOperations.d.ts +24 -2
  38. package/dist/resources/modelOperations.d.ts.map +1 -1
  39. package/dist/resources/modelOperations.js.map +1 -1
  40. package/dist/resources/writeOptionsSchema.d.ts +14 -0
  41. package/dist/resources/writeOptionsSchema.d.ts.map +1 -1
  42. package/dist/resources/writeOptionsSchema.js +23 -2
  43. package/dist/resources/writeOptionsSchema.js.map +1 -1
  44. package/dist/schema/audit.d.ts +15 -0
  45. package/dist/schema/audit.d.ts.map +1 -0
  46. package/dist/schema/audit.js +90 -0
  47. package/dist/schema/audit.js.map +1 -0
  48. package/dist/schema/ddl.d.ts.map +1 -1
  49. package/dist/schema/ddl.js +68 -1
  50. package/dist/schema/ddl.js.map +1 -1
  51. package/dist/schema/index.d.ts +3 -1
  52. package/dist/schema/index.d.ts.map +1 -1
  53. package/dist/schema/index.js +3 -1
  54. package/dist/schema/index.js.map +1 -1
  55. package/dist/schema/model.d.ts +14 -0
  56. package/dist/schema/model.d.ts.map +1 -1
  57. package/dist/schema/model.js +2 -0
  58. package/dist/schema/model.js.map +1 -1
  59. package/dist/schema/openapi.d.ts.map +1 -1
  60. package/dist/schema/openapi.js +104 -2
  61. package/dist/schema/openapi.js.map +1 -1
  62. package/dist/schema/roles.d.ts +27 -0
  63. package/dist/schema/roles.d.ts.map +1 -1
  64. package/dist/schema/roles.js +40 -0
  65. package/dist/schema/roles.js.map +1 -1
  66. package/dist/schema/schema.d.ts +23 -4
  67. package/dist/schema/schema.d.ts.map +1 -1
  68. package/dist/schema/schema.js +30 -1
  69. package/dist/schema/schema.js.map +1 -1
  70. package/dist/schema/serialize.d.ts +4 -1
  71. package/dist/schema/serialize.d.ts.map +1 -1
  72. package/dist/schema/serialize.js +5 -1
  73. package/dist/schema/serialize.js.map +1 -1
  74. package/dist/schema/subject.d.ts +18 -0
  75. package/dist/schema/subject.d.ts.map +1 -0
  76. package/dist/schema/subject.js +27 -0
  77. package/dist/schema/subject.js.map +1 -0
  78. package/dist/server/adapter.d.ts +2 -0
  79. package/dist/server/adapter.d.ts.map +1 -1
  80. package/dist/server/readConfig.d.ts +3 -0
  81. package/dist/server/readConfig.d.ts.map +1 -1
  82. package/dist/server/readConfig.js +0 -21
  83. package/dist/server/readConfig.js.map +1 -1
  84. package/dist/source/adapters/drizzle.d.ts.map +1 -1
  85. package/dist/source/adapters/drizzle.js +37 -6
  86. package/dist/source/adapters/drizzle.js.map +1 -1
  87. package/dist/source/adapters/kysely.d.ts +2 -0
  88. package/dist/source/adapters/kysely.d.ts.map +1 -1
  89. package/dist/source/adapters/kysely.js +33 -5
  90. package/dist/source/adapters/kysely.js.map +1 -1
  91. package/dist/source/adapters/kyselyMutationCore.d.ts +4 -1
  92. package/dist/source/adapters/kyselyMutationCore.d.ts.map +1 -1
  93. package/dist/source/adapters/kyselyMutationCore.js +17 -8
  94. package/dist/source/adapters/kyselyMutationCore.js.map +1 -1
  95. package/dist/source/adapters/memory.d.ts.map +1 -1
  96. package/dist/source/adapters/memory.js +1 -0
  97. package/dist/source/adapters/memory.js.map +1 -1
  98. package/dist/source/adapters/prisma.d.ts.map +1 -1
  99. package/dist/source/adapters/prisma.js +59 -7
  100. package/dist/source/adapters/prisma.js.map +1 -1
  101. package/dist/source/contract.d.ts +14 -0
  102. package/dist/source/contract.d.ts.map +1 -1
  103. package/dist/source/contract.js +10 -0
  104. package/dist/source/contract.js.map +1 -1
  105. package/dist/source/factory.d.ts +7 -1
  106. package/dist/source/factory.d.ts.map +1 -1
  107. package/dist/source/factory.js +116 -5
  108. package/dist/source/factory.js.map +1 -1
  109. package/dist/source/index.d.ts +2 -1
  110. package/dist/source/index.d.ts.map +1 -1
  111. package/dist/source/index.js +1 -0
  112. package/dist/source/index.js.map +1 -1
  113. package/dist/source/migrations.d.ts.map +1 -1
  114. package/dist/source/migrations.js +21 -0
  115. package/dist/source/migrations.js.map +1 -1
  116. package/dist/source/subjectAuthorization.d.ts +16 -0
  117. package/dist/source/subjectAuthorization.d.ts.map +1 -0
  118. package/dist/source/subjectAuthorization.js +126 -0
  119. package/dist/source/subjectAuthorization.js.map +1 -0
  120. package/dist/source/types.d.ts +52 -2
  121. package/dist/source/types.d.ts.map +1 -1
  122. package/dist/source/types.js +1 -0
  123. package/dist/source/types.js.map +1 -1
  124. package/dist/syncLog/contract.d.ts +45 -3
  125. package/dist/syncLog/contract.d.ts.map +1 -1
  126. package/dist/syncLog/contract.js +46 -4
  127. package/dist/syncLog/contract.js.map +1 -1
  128. package/dist/testing/fixtures/httpResponses.d.ts +6 -0
  129. package/dist/testing/fixtures/httpResponses.d.ts.map +1 -1
  130. package/dist/testing/fixtures/httpResponses.js +1 -0
  131. package/dist/testing/fixtures/httpResponses.js.map +1 -1
  132. package/dist/transport/httpClient.d.ts +8 -1
  133. package/dist/transport/httpClient.d.ts.map +1 -1
  134. package/dist/transport/httpClient.js +51 -20
  135. package/dist/transport/httpClient.js.map +1 -1
  136. package/dist/transport/httpCommitRequest.d.ts +45 -0
  137. package/dist/transport/httpCommitRequest.d.ts.map +1 -0
  138. package/dist/transport/httpCommitRequest.js +67 -0
  139. package/dist/transport/httpCommitRequest.js.map +1 -0
  140. package/dist/transport/httpTransport.d.ts.map +1 -1
  141. package/dist/transport/httpTransport.js +69 -106
  142. package/dist/transport/httpTransport.js.map +1 -1
  143. package/dist/transport/httpTransportHelpers.d.ts +10 -0
  144. package/dist/transport/httpTransportHelpers.d.ts.map +1 -0
  145. package/dist/transport/httpTransportHelpers.js +46 -0
  146. package/dist/transport/httpTransportHelpers.js.map +1 -0
  147. package/dist/wire/apiLifecycle.d.ts +63 -0
  148. package/dist/wire/apiLifecycle.d.ts.map +1 -0
  149. package/dist/wire/apiLifecycle.js +89 -0
  150. package/dist/wire/apiLifecycle.js.map +1 -0
  151. package/dist/wire/auth.d.ts.map +1 -1
  152. package/dist/wire/auth.js +6 -3
  153. package/dist/wire/auth.js.map +1 -1
  154. package/dist/wire/commit.d.ts +74 -9
  155. package/dist/wire/commit.d.ts.map +1 -1
  156. package/dist/wire/commit.js +18 -5
  157. package/dist/wire/commit.js.map +1 -1
  158. package/dist/wire/index.d.ts +5 -2
  159. package/dist/wire/index.d.ts.map +1 -1
  160. package/dist/wire/index.js +12 -1
  161. package/dist/wire/index.js.map +1 -1
  162. package/dist/wire/modelMutations.js +3 -2
  163. package/dist/wire/modelMutations.js.map +1 -1
  164. package/dist/wire/rateLimit.d.ts +82 -0
  165. package/dist/wire/rateLimit.d.ts.map +1 -0
  166. package/dist/wire/rateLimit.js +142 -0
  167. package/dist/wire/rateLimit.js.map +1 -0
  168. package/package.json +1 -1
  169. package/src/auth/hostedEndpoints.ts +23 -5
  170. package/src/auth/index.ts +2 -0
  171. package/src/coordination/index.ts +0 -2
  172. package/src/coordination/schema.ts +4 -7
  173. package/src/errorCodes.ts +6 -0
  174. package/src/errors.ts +4 -1
  175. package/src/readSetContext.ts +8 -2
  176. package/src/resources/httpResources.ts +116 -25
  177. package/src/resources/modelCreate.ts +73 -0
  178. package/src/resources/modelOperations.ts +29 -2
  179. package/src/resources/writeOptionsSchema.ts +30 -2
  180. package/src/schema/audit.ts +121 -0
  181. package/src/schema/ddl.ts +71 -1
  182. package/src/schema/index.ts +16 -0
  183. package/src/schema/model.ts +17 -0
  184. package/src/schema/openapi.ts +123 -2
  185. package/src/schema/roles.ts +53 -0
  186. package/src/schema/schema.ts +68 -3
  187. package/src/schema/serialize.ts +8 -1
  188. package/src/schema/subject.ts +43 -0
  189. package/src/server/adapter.ts +2 -0
  190. package/src/server/readConfig.ts +4 -0
  191. package/src/source/adapters/drizzle.ts +50 -6
  192. package/src/source/adapters/kysely.ts +47 -4
  193. package/src/source/adapters/kyselyMutationCore.ts +21 -9
  194. package/src/source/adapters/memory.ts +1 -0
  195. package/src/source/adapters/prisma.ts +70 -7
  196. package/src/source/contract.ts +11 -0
  197. package/src/source/factory.ts +141 -5
  198. package/src/source/index.ts +6 -0
  199. package/src/source/migrations.ts +21 -0
  200. package/src/source/subjectAuthorization.ts +182 -0
  201. package/src/source/types.ts +56 -2
  202. package/src/syncLog/contract.ts +47 -5
  203. package/src/testing/fixtures/httpResponses.ts +7 -0
  204. package/src/transport/httpClient.ts +85 -23
  205. package/src/transport/httpCommitRequest.ts +104 -0
  206. package/src/transport/httpTransport.ts +92 -142
  207. package/src/transport/httpTransportHelpers.ts +63 -0
  208. package/src/wire/apiLifecycle.ts +94 -0
  209. package/src/wire/auth.ts +6 -3
  210. package/src/wire/commit.ts +20 -5
  211. package/src/wire/index.ts +31 -0
  212. package/src/wire/modelMutations.ts +2 -2
  213. package/src/wire/rateLimit.ts +155 -0
@@ -0,0 +1,21 @@
1
+ /** Canonical create identity and result correlation shared by every client. */
2
+ import type { CommitOperationResult } from '../wire/commit.js';
3
+ /** Resolve the two supported single-create id spellings. The sibling wins. */
4
+ export declare function resolveCreateId(explicitId: string | null | undefined, data: unknown): string | undefined;
5
+ /** Stable across transports and client instances when an idempotency key is supplied. */
6
+ export declare function createModelId(modelName: string, idempotencyKey?: string | null): string;
7
+ /**
8
+ * Return server-authored create rows in input order.
9
+ *
10
+ * Fresh receipts carry operationResults. Durable idempotency replays redact
11
+ * row data, so that path verifies every expected id with a point read. It may
12
+ * fail under a write-only policy, but it can never report a partial collection
13
+ * as success.
14
+ */
15
+ export declare function resolveCreatedRows<T>(input: {
16
+ readonly modelName: string;
17
+ readonly ids: readonly string[];
18
+ readonly operationResults?: readonly CommitOperationResult[];
19
+ readonly readRow: (id: string) => Promise<T | undefined>;
20
+ }): Promise<T[]>;
21
+ //# sourceMappingURL=modelCreate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modelCreate.d.ts","sourceRoot":"","sources":["../../src/resources/modelCreate.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAI/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE/D,8EAA8E;AAC9E,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACrC,IAAI,EAAE,OAAO,GACZ,MAAM,GAAG,SAAS,CAOpB;AAED,yFAAyF;AACzF,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,EACjB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,GAC7B,MAAM,CAUR;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE;IACjD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC7D,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;CAC1D,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAwBf"}
@@ -0,0 +1,49 @@
1
+ /** Canonical create identity and result correlation shared by every client. */
2
+ import { v5 as uuidv5 } from 'uuid';
3
+ import { AbloConnectionError } from '../errors.js';
4
+ /** Resolve the two supported single-create id spellings. The sibling wins. */
5
+ export function resolveCreateId(explicitId, data) {
6
+ if (typeof explicitId === 'string' && explicitId.length > 0)
7
+ return explicitId;
8
+ const inData = typeof data === 'object' && data !== null
9
+ ? data.id
10
+ : undefined;
11
+ return typeof inData === 'string' && inData.length > 0 ? inData : undefined;
12
+ }
13
+ /** Stable across transports and client instances when an idempotency key is supplied. */
14
+ export function createModelId(modelName, idempotencyKey) {
15
+ if (idempotencyKey) {
16
+ return uuidv5(`${modelName}:${idempotencyKey}`, 'aa4ba6d4-bf0b-5b38-9c45-116f79a6e548');
17
+ }
18
+ return typeof crypto !== 'undefined' && typeof crypto.randomUUID === 'function'
19
+ ? crypto.randomUUID()
20
+ : `id_${Date.now()}_${Math.random().toString(36).slice(2, 10)}`;
21
+ }
22
+ /**
23
+ * Return server-authored create rows in input order.
24
+ *
25
+ * Fresh receipts carry operationResults. Durable idempotency replays redact
26
+ * row data, so that path verifies every expected id with a point read. It may
27
+ * fail under a write-only policy, but it can never report a partial collection
28
+ * as success.
29
+ */
30
+ export async function resolveCreatedRows(input) {
31
+ if (input.operationResults?.length === input.ids.length) {
32
+ const byId = new Map(input.operationResults.map((result) => [
33
+ result.row.id,
34
+ result.row,
35
+ ]));
36
+ const ordered = input.ids.map((id) => byId.get(id));
37
+ if (ordered.every((row) => row !== undefined)) {
38
+ return ordered;
39
+ }
40
+ }
41
+ const rows = await Promise.all(input.ids.map((id) => input.readRow(id)));
42
+ const missing = input.ids.filter((_id, index) => rows[index] === undefined);
43
+ if (missing.length > 0) {
44
+ throw new AbloConnectionError(`${input.modelName} create confirmed, but ${missing.length} of ${input.ids.length} ` +
45
+ 'server rows could not be recovered from its receipt or verified by id.', { code: 'commit_no_result', details: { missingIds: missing } });
46
+ }
47
+ return rows;
48
+ }
49
+ //# sourceMappingURL=modelCreate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modelCreate.js","sourceRoot":"","sources":["../../src/resources/modelCreate.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAE/E,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGnD,8EAA8E;AAC9E,MAAM,UAAU,eAAe,CAC7B,UAAqC,EACrC,IAAa;IAEb,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC;IAC/E,MAAM,MAAM,GACV,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;QACvC,CAAC,CAAE,IAAkC,CAAC,EAAE;QACxC,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9E,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,aAAa,CAC3B,SAAiB,EACjB,cAA8B;IAE9B,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,MAAM,CACX,GAAG,SAAS,IAAI,cAAc,EAAE,EAChC,sCAAsC,CACvC,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU;QAC7E,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE;QACrB,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AACpE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAI,KAK3C;IACC,IAAI,KAAK,CAAC,gBAAgB,EAAE,MAAM,KAAK,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QACxD,MAAM,IAAI,GAAG,IAAI,GAAG,CAClB,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YACpC,MAAM,CAAC,GAAiC,CAAC,EAAE;YAC5C,MAAM,CAAC,GAAG;SACX,CAAC,CACH,CAAC;QACF,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACpD,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,EAAkC,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,EAAE,CAAC;YAC9E,OAAO,OAAc,CAAC;QACxB,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC,CAAC;IAC5E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,mBAAmB,CAC3B,GAAG,KAAK,CAAC,SAAS,0BAA0B,OAAO,CAAC,MAAM,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG;YAClF,wEAAwE,EAC1E,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,CAC/D,CAAC;IACJ,CAAC;IACD,OAAO,IAAW,CAAC;AACrB,CAAC"}
@@ -14,7 +14,7 @@ import type { ResolveClaimMeta } from '../types/global.js';
14
14
  import type { AbloError } from '../errors.js';
15
15
  import type { StaleNotification, TrackDependency } from '../coordination/schema.js';
16
16
  import type { FieldRef, FieldSelector } from '../schema/fieldRef.js';
17
- import type { BaseModelFields } from '../schema/schema.js';
17
+ import type { BaseModelFields, Clearable } from '../schema/schema.js';
18
18
  import type { ClaimHeartbeatPlan } from '../coordination/claimHeartbeatLoop.js';
19
19
  import type { Duration } from '../utils/duration.js';
20
20
  import type { Claim, ClaimHeartbeat, ClaimHeartbeatOptions, HeldClaim, HeldLease } from '../types/streams.js';
@@ -174,6 +174,13 @@ export interface ServerReadOptions<T> {
174
174
  */
175
175
  expand?: readonly string[];
176
176
  }
177
+ /** Options for an explicit complete collection traversal. */
178
+ export interface ListAllOptions<T> extends Omit<ServerReadOptions<T>, 'cursor'> {
179
+ /** Maximum pages to read before refusing an unexpectedly broad traversal. @default 100 */
180
+ maxPages?: number;
181
+ /** Stops traversal between page requests and row yields. */
182
+ signal?: AbortSignal;
183
+ }
177
184
  /** Options for the single-row async server read `get({ id })`. A subset of
178
185
  * {@link ServerReadOptions} — `where`/`limit`/`orderBy` are fixed by the id. */
179
186
  export type ServerRetrieveOptions = Pick<ServerReadOptions<unknown>, 'type' | 'expand'>;
@@ -468,14 +475,29 @@ export interface ModelCreateParams<T, CreateInput> extends ModelWriteOptions {
468
475
  readonly id?: string | null;
469
476
  readonly claim?: Claim<T> | ClaimTargetOptions<CreateInput> | null;
470
477
  }
478
+ /**
479
+ * Creating many rows at once: the same verb, handed a list.
480
+ *
481
+ * One atomic commit, so the batch lands whole or not at all, and the rows come
482
+ * back in the order they were given. There is no `id` beside `data` here the
483
+ * way there is for a single create, since one id cannot address many rows;
484
+ * write it into each row instead, which the create input has always allowed.
485
+ */
486
+ export type ModelCreateManyParams<CreateInput> = Pick<ModelWriteOptions, 'idempotencyKey' | 'reads' | 'track'> & {
487
+ readonly data: readonly CreateInput[];
488
+ };
471
489
  export interface ModelUpdateParams<T, Fields = T> extends ModelWriteOptions {
472
490
  readonly id: string;
473
491
  /**
474
492
  * Patch only fields declared by the model's Zod input shape. Hydrated rows
475
493
  * also carry framework fields, relations, methods, and computed values; none
476
494
  * of those are writable data.
495
+ *
496
+ * Send a field to change it, omit it to leave it, send `null` to clear it —
497
+ * see {@link Clearable}. `undefined` is not a clear: it is dropped from the
498
+ * payload and the old value survives.
477
499
  */
478
- readonly data: Partial<ClaimableFields<Fields>>;
500
+ readonly data: Clearable<ClaimableFields<Fields>>;
479
501
  readonly claim?: Claim<T> | ClaimTargetOptions<Fields> | null;
480
502
  }
481
503
  export interface ModelDeleteParams<T, Fields = T> extends ModelWriteOptions {
@@ -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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"}
@@ -1 +1 @@
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;AA+PD,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
+ {"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;AAuQD,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"}
@@ -80,4 +80,18 @@ export type WriteOptionsInput = z.infer<typeof writeOptionsSchema>;
80
80
  * untouched. A `null` or `undefined` value passes.
81
81
  */
82
82
  export declare function assertWriteOptions(value: unknown, context?: string): void;
83
+ /**
84
+ * Refuse a per-model write that does not name its row.
85
+ *
86
+ * `update` and `delete` address the row through the URL, so an absent `id`
87
+ * used to be spelled into the path by `encodeURIComponent` as the literal
88
+ * string `"undefined"`. The request was well-formed, it matched no row, and it
89
+ * came back as an ordinary receipt: `delete({ where: { id } })` reported
90
+ * success and deleted nothing. `{ where }` is the shape the commit protocol
91
+ * takes one layer down, so reaching for it here is an easy and quiet mistake.
92
+ *
93
+ * The typed surface already rejects it at compile time. This is the same
94
+ * refusal for callers who reach the transport without those types.
95
+ */
96
+ export declare function assertWriteTarget(action: 'update' | 'delete', modelName: string, id: unknown): void;
83
97
  //# sourceMappingURL=writeOptionsSchema.d.ts.map
@@ -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;AAgBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAC3B,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,OAAO,GACV,IAAI,CASN"}
@@ -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
@@ -77,4 +78,24 @@ export function assertWriteOptions(value, context) {
77
78
  }
78
79
  const _writeOptionsContractInSync = true;
79
80
  void _writeOptionsContractInSync;
81
+ /**
82
+ * Refuse a per-model write that does not name its row.
83
+ *
84
+ * `update` and `delete` address the row through the URL, so an absent `id`
85
+ * used to be spelled into the path by `encodeURIComponent` as the literal
86
+ * string `"undefined"`. The request was well-formed, it matched no row, and it
87
+ * came back as an ordinary receipt: `delete({ where: { id } })` reported
88
+ * success and deleted nothing. `{ where }` is the shape the commit protocol
89
+ * takes one layer down, so reaching for it here is an easy and quiet mistake.
90
+ *
91
+ * The typed surface already rejects it at compile time. This is the same
92
+ * refusal for callers who reach the transport without those types.
93
+ */
94
+ export function assertWriteTarget(action, modelName, id) {
95
+ if (typeof id === 'string' && id.length > 0)
96
+ return;
97
+ const namedAFilter = typeof id === 'object' && id !== null && 'where' in id;
98
+ throw new AbloValidationError(`A ${modelName} ${action} has to name the row it acts on: ${action}({ id })` +
99
+ (namedAFilter ? ', not a `where` filter.' : '.'), { code: 'invalid_body', param: 'id' });
100
+ }
80
101
  //# sourceMappingURL=writeOptionsSchema.js.map
@@ -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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"}
@@ -0,0 +1,15 @@
1
+ import type { SchemaJSON } from './serialize.js';
2
+ export interface SchemaAuditFinding {
3
+ readonly code: 'scope_routing_without_access_policy';
4
+ readonly severity: 'error';
5
+ readonly model: string;
6
+ readonly message: string;
7
+ readonly fix: string;
8
+ }
9
+ /**
10
+ * Finds mutable models whose sync-group routing is narrower than their row-read
11
+ * policy. A correctly filtered list or routed stream is not evidence that a
12
+ * foreign row is unreadable; only the policy is the authorization boundary.
13
+ */
14
+ export declare function auditSchemaAccessPolicies(schema: SchemaJSON): readonly SchemaAuditFinding[];
15
+ //# sourceMappingURL=audit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/schema/audit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,qCAAqC,CAAC;IACrD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AA+ED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,kBAAkB,EAAE,CA2B3F"}
@@ -0,0 +1,90 @@
1
+ import { resolveTenancy } from './tenancy.js';
2
+ function tableName(key, model) {
3
+ return model.tableName ?? key;
4
+ }
5
+ function fieldColumn(model, field) {
6
+ return model.fields[field]?.column ?? field;
7
+ }
8
+ function camelToSnake(value) {
9
+ return value.replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`);
10
+ }
11
+ function reachesScope(key, models, seen = new Set()) {
12
+ if (seen.has(key))
13
+ return false;
14
+ const model = models[key];
15
+ if (!model)
16
+ return false;
17
+ if (model.scope)
18
+ return true;
19
+ const nextSeen = new Set(seen).add(key);
20
+ return Object.values(model.relations).some((relation) => relation.type === 'belongsTo' && reachesScope(relation.target, models, nextSeen));
21
+ }
22
+ function routingAnchors(model, models) {
23
+ const anchors = [];
24
+ if (model.scope) {
25
+ anchors.push({ description: `scope root ${String(model.scope)}`, column: 'id' });
26
+ }
27
+ for (const role of model.entityRoles ?? []) {
28
+ anchors.push({
29
+ description: `entity role ${role.kind}`,
30
+ column: fieldColumn(model, role.source.field),
31
+ });
32
+ }
33
+ for (const [relationName, relation] of Object.entries(model.relations)) {
34
+ if (relation.type !== 'belongsTo' || !reachesScope(relation.target, models))
35
+ continue;
36
+ const target = models[relation.target];
37
+ if (!target)
38
+ continue;
39
+ anchors.push({
40
+ description: `parent scope ${relationName}`,
41
+ column: relation.foreignKeyColumn,
42
+ parentTable: tableName(relation.target, target),
43
+ });
44
+ }
45
+ return anchors;
46
+ }
47
+ function policyMatches(anchor, model) {
48
+ const tenancy = resolveTenancy(model);
49
+ if (tenancy.kind === 'source')
50
+ return true;
51
+ if (tenancy.kind === 'column') {
52
+ return tenancy.column === anchor.column || tenancy.column === camelToSnake(anchor.column);
53
+ }
54
+ if (tenancy.kind === 'parent') {
55
+ return tenancy.via.localKey === anchor.column &&
56
+ (anchor.parentTable === undefined || tenancy.via.parentTable === anchor.parentTable);
57
+ }
58
+ return false;
59
+ }
60
+ /**
61
+ * Finds mutable models whose sync-group routing is narrower than their row-read
62
+ * policy. A correctly filtered list or routed stream is not evidence that a
63
+ * foreign row is unreadable; only the policy is the authorization boundary.
64
+ */
65
+ export function auditSchemaAccessPolicies(schema) {
66
+ const findings = [];
67
+ for (const [key, model] of Object.entries(schema.models)) {
68
+ if (model.mutable === false || model.routingOnly === true)
69
+ continue;
70
+ const mismatched = routingAnchors(model, schema.models)
71
+ .filter((anchor) => !policyMatches(anchor, model));
72
+ if (mismatched.length === 0)
73
+ continue;
74
+ const policy = resolveTenancy(model);
75
+ const routedBy = mismatched.map(({ description, column }) => `${description} (${column})`).join(', ');
76
+ findings.push({
77
+ code: 'scope_routing_without_access_policy',
78
+ severity: 'error',
79
+ model: key,
80
+ message: `Model "${key}" routes changes by ${routedBy}, but its row-access policy is ` +
81
+ `by ${policy.kind}. Sync groups route delivery; they do not authorize reads. ` +
82
+ `A filtered list or correctly routed live stream is not an authorization proof.`,
83
+ fix: `Make policy follow the same customer/workspace boundary on every reachable model, ` +
84
+ `use policy: { by: 'source' } with one Ablo organization per hard tenant, or set ` +
85
+ `groups.routingOnly: true to explicitly acknowledge an intentionally broader read policy.`,
86
+ });
87
+ }
88
+ return findings;
89
+ }
90
+ //# sourceMappingURL=audit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/schema/audit.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ddl.d.ts","sourceRoot":"","sources":["../../src/schema/ddl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAa,MAAM,WAAW,CAAC;AAIzE,MAAM,WAAW,aAAa;IAC5B,uEAAuE;IACvE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;6CACyC;IACzC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC;;;;0DAIsD;IACtD,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;OAOG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,wEAAwE;IACxE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,0EAA0E;IAC1E,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,iFAAiF;IACjF,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAUD,wDAAwD;AACxD,wBAAgB,aAAa,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,6EAA6E;AAC7E,wBAAgB,CAAC,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE5C;AAID,wBAAgB,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAiB9E;AAsID;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,MAAM,EACpB,IAAI,GAAE,gBAAqB,GAC1B,aAAa,CAiFf;AA+CD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,SAAS,aAAa,EAAE,EAC/B,IAAI,EAAE;IACJ,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B;sEACkE;IAClE,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC9C;qEACiE;IACjE,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC,GACA,aAAa,CAkLf"}
1
+ {"version":3,"file":"ddl.d.ts","sourceRoot":"","sources":["../../src/schema/ddl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAa,MAAM,WAAW,CAAC;AAKzE,MAAM,WAAW,aAAa;IAC5B,uEAAuE;IACvE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;6CACyC;IACzC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC;;;;0DAIsD;IACtD,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;OAOG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,wEAAwE;IACxE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,0EAA0E;IAC1E,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,iFAAiF;IACjF,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAUD,wDAAwD;AACxD,wBAAgB,aAAa,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,6EAA6E;AAC7E,wBAAgB,CAAC,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE5C;AAID,wBAAgB,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAiB9E;AAsJD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,MAAM,EACpB,IAAI,GAAE,gBAAqB,GAC1B,aAAa,CA8Ff;AA+CD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,SAAS,aAAa,EAAE,EAC/B,IAAI,EAAE;IACJ,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B;sEACkE;IAClE,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC9C;qEACiE;IACjE,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC,GACA,aAAa,CA0Nf"}
@@ -70,6 +70,19 @@ export function sqlType(fieldType) {
70
70
  }
71
71
  }
72
72
  const BASE_COLUMNS = new Set(['id']);
73
+ function subjectPredicate(model, rule) {
74
+ const meta = model.fields[rule.field];
75
+ if (!meta) {
76
+ throw new AbloValidationError(`subject field ${JSON.stringify(rule.field)} is not declared`, {
77
+ code: 'schema_definition_invalid',
78
+ param: 'subject.field',
79
+ });
80
+ }
81
+ const column = meta.column ?? camelToSnake(rule.field);
82
+ const prefix = `${rule.group}:`.replace(/'/g, "''");
83
+ return (`COALESCE(NULLIF(current_setting('app.current_subject_groups', true), ''), '[]')::jsonb ` +
84
+ `? ('${prefix}' || ${q(column)}::text)`);
85
+ }
73
86
  // ── Foreign keys (relation-driven, sync-safe) ────────────────────────────────
74
87
  /**
75
88
  * A Postgres-identifier-safe constraint name ≤63 bytes. When the natural
@@ -250,7 +263,21 @@ export function generateProvisionPlan(schema, targetSchema, opts = {}) {
250
263
  statements.push(`ALTER TABLE ${qt} ENABLE ROW LEVEL SECURITY;`);
251
264
  statements.push(`ALTER TABLE ${qt} FORCE ROW LEVEL SECURITY;`);
252
265
  const policy = `${table}_tenant_isolation`;
253
- const predicate = `${q(orgCol)} = current_setting('app.current_org_id', true)`;
266
+ const predicates = [
267
+ `${q(orgCol)} = current_setting('app.current_org_id', true)`,
268
+ ...(model.subject ? [subjectPredicate(model, model.subject)] : []),
269
+ ];
270
+ const predicate = predicates.length === 1
271
+ ? predicates[0]
272
+ : predicates.map((part) => `(${part})`).join(' AND ');
273
+ statements.push(`DROP POLICY IF EXISTS ${q(policy)} ON ${qt};`);
274
+ statements.push(`CREATE POLICY ${q(policy)} ON ${qt}\n USING (${predicate})\n WITH CHECK (${predicate});`);
275
+ }
276
+ else if (model.subject) {
277
+ statements.push(`ALTER TABLE ${qt} ENABLE ROW LEVEL SECURITY;`);
278
+ statements.push(`ALTER TABLE ${qt} FORCE ROW LEVEL SECURITY;`);
279
+ const policy = `${table}_subject_isolation`;
280
+ const predicate = subjectPredicate(model, model.subject);
254
281
  statements.push(`DROP POLICY IF EXISTS ${q(policy)} ON ${qt};`);
255
282
  statements.push(`CREATE POLICY ${q(policy)} ON ${qt}\n USING (${predicate})\n WITH CHECK (${predicate});`);
256
283
  }
@@ -484,6 +511,46 @@ export function generateMigrationPlan(steps, opts) {
484
511
  concurrent.push(...fk.concurrent);
485
512
  }
486
513
  }
514
+ // Subject authorization is metadata rather than a field diff. Reconcile when
515
+ // that metadata changes, or when the protected field's physical column
516
+ // changes. An identical empty migration must remain a true no-op.
517
+ for (const [key, model] of Object.entries(next.models)) {
518
+ if ((model.plane ?? 'tenant') === 'control')
519
+ continue;
520
+ const previousModel = prev?.models[key];
521
+ const subjectChanged = JSON.stringify(previousModel?.subject) !== JSON.stringify(model.subject);
522
+ const subjectColumnChanged = steps.some((step) => 'model' in step && step.model === key &&
523
+ step.kind === 'alter_field' &&
524
+ (step.field === model.subject?.field || step.field === previousModel?.subject?.field) &&
525
+ step.changes.column !== undefined);
526
+ if (!subjectChanged && !subjectColumnChanged)
527
+ continue;
528
+ const table = model.tableName ?? key;
529
+ const qt = qtFor(table);
530
+ const orgCol = tenancyColumn(resolveTenancy(model));
531
+ const tenantPolicy = `${table}_tenant_isolation`;
532
+ const subjectPolicy = `${table}_subject_isolation`;
533
+ if (orgCol || model.subject) {
534
+ statements.push(`ALTER TABLE ${qt} ENABLE ROW LEVEL SECURITY;`);
535
+ statements.push(`ALTER TABLE ${qt} FORCE ROW LEVEL SECURITY;`);
536
+ statements.push(`DROP POLICY IF EXISTS ${q(tenantPolicy)} ON ${qt};`);
537
+ statements.push(`DROP POLICY IF EXISTS ${q(subjectPolicy)} ON ${qt};`);
538
+ const parts = [
539
+ ...(orgCol ? [`${q(orgCol)} = current_setting('app.current_org_id', true)`] : []),
540
+ ...(model.subject ? [subjectPredicate(model, model.subject)] : []),
541
+ ];
542
+ const predicate = parts.length === 1
543
+ ? parts[0]
544
+ : parts.map((part) => `(${part})`).join(' AND ');
545
+ const policy = orgCol ? tenantPolicy : subjectPolicy;
546
+ statements.push(`CREATE POLICY ${q(policy)} ON ${qt}\n USING (${predicate})\n WITH CHECK (${predicate});`);
547
+ }
548
+ else if (previousModel?.subject) {
549
+ statements.push(`DROP POLICY IF EXISTS ${q(subjectPolicy)} ON ${qt};`);
550
+ statements.push(`ALTER TABLE ${qt} NO FORCE ROW LEVEL SECURITY;`);
551
+ statements.push(`ALTER TABLE ${qt} DISABLE ROW LEVEL SECURITY;`);
552
+ }
553
+ }
487
554
  return { appSchema: targetSchema, statements, concurrent };
488
555
  }
489
556
  //# sourceMappingURL=ddl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ddl.js","sourceRoot":"","sources":["../../src/schema/ddl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ddl.js","sourceRoot":"","sources":["../../src/schema/ddl.ts"],"names":[],"mappings":"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"}
@@ -31,8 +31,10 @@ export { syncDeltaActionSchema, wireDeltaDataSchema, participantRefSchema, syncD
31
31
  export { model, scopeKindOf, LoadStrategy, DEFAULT_LOAD_STRATEGY, loadsAtBootstrap, type ModelDef, type ModelOptions, type PersistOptions, type RelationRecord, type GrantsRef, type ConflictAxis, } from './model.js';
32
32
  export { coordination, humansOverwrite, humansReject, humansNotify, agentsOverwrite, agentsReject, agentsNotify, systemOverwrite, systemReject, systemNotify, type ConflictRule, } from './coordination.js';
33
33
  export { mutable, readOnly, type SugarOptions } from './sugar.js';
34
- export { defineSchema, composeIdentitySyncGroups, type Schema, type SchemaRecord, type Model, type Row, type InferCreate, type InferRow, type InferModelNames, type BaseModelFields, type InsertValue, type UpsertValue, type UpdateValue, type DeleteId, type DefineSchemaOptions, type Casing, type CasingConvention, type CasingFn, composeEntitySyncGroups, intersectRequestedWithAllowed, type IdentityRole, type IdentityContext, type IdentityRoleSource, type EntityRole, type EntityContext, type EntityRoleSource, type RoleSource, type RoleContext, type SyncGroup, type SyncGroupRef, type SyncGroupInput, identityRole, entityRole, extractIdentityIds, extractEntityIds, syncGroup, identityAnchor, IDENTITY_ANCHOR_KINDS, type IdentityAnchorKind, syncGroupSchema, syncGroupRefSchema, syncGroupInputSchema, isSyncGroupInput, identityRoleSchema, entityRoleSchema, roleSchema, roleSourceSchema, scopeSchema, grantsRefSchema, groupsInputSchema, type GroupsInput, type SessionSettings, type SessionSettingSource, RESERVED_SESSION_SETTINGS, } from './schema.js';
34
+ export { defineSchema, composeIdentitySyncGroups, type Schema, type SchemaRecord, type Model, type Row, type InferCreate, type InferRow, type InferModelNames, type BaseModelFields, type InsertValue, type UpsertValue, type UpdateValue, type Clearable, type DeleteId, type DefineSchemaOptions, type Casing, type CasingConvention, type CasingFn, composeEntitySyncGroups, syncGroupsForRow, InvalidRecordSubjectError, type RecordSyncGroupSpec, intersectRequestedWithAllowed, type IdentityRole, type IdentityContext, type IdentityRoleSource, type EntityRole, type EntityContext, type EntityRoleSource, type RoleSource, type RoleContext, type SyncGroup, type SyncGroupRef, type SyncGroupInput, identityRole, entityRole, extractIdentityIds, extractEntityIds, syncGroup, identityAnchor, IDENTITY_ANCHOR_KINDS, type IdentityAnchorKind, syncGroupSchema, syncGroupRefSchema, syncGroupInputSchema, isSyncGroupInput, identityRoleSchema, entityRoleSchema, roleSchema, roleSourceSchema, scopeSchema, grantsRefSchema, groupsInputSchema, type GroupsInput, type SessionSettings, type SessionSettingSource, RESERVED_SESSION_SETTINGS, } from './schema.js';
35
35
  export { serializeSchema, parseSchema, toSchemaJSON, fromSchemaJSON, schemaHash, modelHash, type SchemaJSON, type ModelJSON, type RelationJSON, } from './serialize.js';
36
+ export { auditSchemaAccessPolicies, type SchemaAuditFinding, } from './audit.js';
37
+ export { subjectRuleSchema, subjectGroupForRow, subjectAuthorized, type SubjectRule, } from './subject.js';
36
38
  export { selectModels, omitModels, omittedModelError } from './select.js';
37
39
  export { generateProvisionPlan, generateMigrationPlan, appSchemaName, camelToSnake, snakeToCamel, q, sqlType, type ProvisionPlan, type MigrationPlan, } from './ddl.js';
38
40
  export { PG_LOCK_NOT_AVAILABLE, resolveDdlLockTimeout, resolveDdlMaxLockAttempts, ddlLockRetryBackoffMs, type DdlLockEnv, } from './ddlLock.js';