@opensaas/stack-core 0.37.0 → 0.39.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 (226) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +191 -0
  3. package/CLAUDE.md +42 -3
  4. package/dist/access/access-filter.d.ts +70 -113
  5. package/dist/access/access-filter.d.ts.map +1 -1
  6. package/dist/access/access-filter.js +183 -210
  7. package/dist/access/access-filter.js.map +1 -1
  8. package/dist/access/access-filter.test.js +148 -188
  9. package/dist/access/access-filter.test.js.map +1 -1
  10. package/dist/access/declared-dependencies.d.ts +66 -26
  11. package/dist/access/declared-dependencies.d.ts.map +1 -1
  12. package/dist/access/declared-dependencies.js +62 -17
  13. package/dist/access/declared-dependencies.js.map +1 -1
  14. package/dist/access/declared-dependencies.test.d.ts +2 -0
  15. package/dist/access/declared-dependencies.test.d.ts.map +1 -0
  16. package/dist/access/declared-dependencies.test.js +226 -0
  17. package/dist/access/declared-dependencies.test.js.map +1 -0
  18. package/dist/access/depth-limits.d.ts +8 -7
  19. package/dist/access/depth-limits.d.ts.map +1 -1
  20. package/dist/access/depth-limits.js +8 -7
  21. package/dist/access/depth-limits.js.map +1 -1
  22. package/dist/access/engine.d.ts +0 -20
  23. package/dist/access/engine.d.ts.map +1 -1
  24. package/dist/access/engine.js +0 -25
  25. package/dist/access/engine.js.map +1 -1
  26. package/dist/access/errors.d.ts +61 -8
  27. package/dist/access/errors.d.ts.map +1 -1
  28. package/dist/access/errors.js +91 -12
  29. package/dist/access/errors.js.map +1 -1
  30. package/dist/access/field-access.d.ts +39 -1
  31. package/dist/access/field-access.d.ts.map +1 -1
  32. package/dist/access/field-access.js +108 -42
  33. package/dist/access/field-access.js.map +1 -1
  34. package/dist/access/field-access.test.js +229 -2
  35. package/dist/access/field-access.test.js.map +1 -1
  36. package/dist/access/field-transforms.d.ts +0 -27
  37. package/dist/access/field-transforms.d.ts.map +1 -1
  38. package/dist/access/field-visibility.d.ts +2 -5
  39. package/dist/access/field-visibility.d.ts.map +1 -1
  40. package/dist/access/field-visibility.js +89 -41
  41. package/dist/access/field-visibility.js.map +1 -1
  42. package/dist/access/index.d.ts +6 -3
  43. package/dist/access/index.d.ts.map +1 -1
  44. package/dist/access/index.js +12 -2
  45. package/dist/access/index.js.map +1 -1
  46. package/dist/access/query-validation.d.ts +121 -0
  47. package/dist/access/query-validation.d.ts.map +1 -0
  48. package/dist/access/query-validation.js +292 -0
  49. package/dist/access/query-validation.js.map +1 -0
  50. package/dist/access/relationship-count.d.ts +1 -1
  51. package/dist/access/relationship-count.d.ts.map +1 -1
  52. package/dist/access/relationship-count.js +2 -10
  53. package/dist/access/relationship-count.js.map +1 -1
  54. package/dist/access/relationship-label-filter.d.ts +23 -23
  55. package/dist/access/relationship-label-filter.d.ts.map +1 -1
  56. package/dist/access/relationship-label-filter.js +5 -76
  57. package/dist/access/relationship-label-filter.js.map +1 -1
  58. package/dist/access/relationship-label-filter.test.js +19 -56
  59. package/dist/access/relationship-label-filter.test.js.map +1 -1
  60. package/dist/access/transaction-registry.d.ts +45 -0
  61. package/dist/access/transaction-registry.d.ts.map +1 -0
  62. package/dist/access/transaction-registry.js +37 -0
  63. package/dist/access/transaction-registry.js.map +1 -0
  64. package/dist/access/types.d.ts +55 -59
  65. package/dist/access/types.d.ts.map +1 -1
  66. package/dist/config/index.d.ts +9 -7
  67. package/dist/config/index.d.ts.map +1 -1
  68. package/dist/config/index.js +10 -18
  69. package/dist/config/index.js.map +1 -1
  70. package/dist/config/label.d.ts +6 -13
  71. package/dist/config/label.d.ts.map +1 -1
  72. package/dist/config/label.js +6 -13
  73. package/dist/config/label.js.map +1 -1
  74. package/dist/config/nav-count.d.ts +11 -19
  75. package/dist/config/nav-count.d.ts.map +1 -1
  76. package/dist/config/nav-count.js +11 -19
  77. package/dist/config/nav-count.js.map +1 -1
  78. package/dist/config/plugin-engine.d.ts +0 -10
  79. package/dist/config/plugin-engine.d.ts.map +1 -1
  80. package/dist/config/plugin-engine.js +1 -37
  81. package/dist/config/plugin-engine.js.map +1 -1
  82. package/dist/config/types.d.ts +94 -109
  83. package/dist/config/types.d.ts.map +1 -1
  84. package/dist/context/apply-defaults.d.ts +8 -31
  85. package/dist/context/apply-defaults.d.ts.map +1 -1
  86. package/dist/context/apply-defaults.js +12 -41
  87. package/dist/context/apply-defaults.js.map +1 -1
  88. package/dist/context/hook-pipeline.d.ts +4 -29
  89. package/dist/context/hook-pipeline.d.ts.map +1 -1
  90. package/dist/context/hook-pipeline.js +8 -41
  91. package/dist/context/hook-pipeline.js.map +1 -1
  92. package/dist/context/index.d.ts +4 -15
  93. package/dist/context/index.d.ts.map +1 -1
  94. package/dist/context/index.js +223 -215
  95. package/dist/context/index.js.map +1 -1
  96. package/dist/context/nested-operations.d.ts +7 -26
  97. package/dist/context/nested-operations.d.ts.map +1 -1
  98. package/dist/context/nested-operations.js +73 -171
  99. package/dist/context/nested-operations.js.map +1 -1
  100. package/dist/context/transaction-boundary.d.ts +36 -47
  101. package/dist/context/transaction-boundary.d.ts.map +1 -1
  102. package/dist/context/transaction-boundary.js +92 -79
  103. package/dist/context/transaction-boundary.js.map +1 -1
  104. package/dist/context/write-pipeline.d.ts +25 -64
  105. package/dist/context/write-pipeline.d.ts.map +1 -1
  106. package/dist/context/write-pipeline.js +81 -111
  107. package/dist/context/write-pipeline.js.map +1 -1
  108. package/dist/fields/format-prisma-default.d.ts.map +1 -1
  109. package/dist/fields/format-prisma-default.js +4 -7
  110. package/dist/fields/format-prisma-default.js.map +1 -1
  111. package/dist/fields/index.d.ts +17 -2
  112. package/dist/fields/index.d.ts.map +1 -1
  113. package/dist/fields/index.js +136 -147
  114. package/dist/fields/index.js.map +1 -1
  115. package/dist/filter/collect.d.ts +26 -3
  116. package/dist/filter/collect.d.ts.map +1 -1
  117. package/dist/filter/collect.js +30 -12
  118. package/dist/filter/collect.js.map +1 -1
  119. package/dist/filter/filter.test.js +98 -15
  120. package/dist/filter/filter.test.js.map +1 -1
  121. package/dist/filter/index.d.ts +1 -0
  122. package/dist/filter/index.d.ts.map +1 -1
  123. package/dist/filter/index.js.map +1 -1
  124. package/dist/filter/map.d.ts.map +1 -1
  125. package/dist/filter/map.js +0 -5
  126. package/dist/filter/map.js.map +1 -1
  127. package/dist/filter/parse.d.ts.map +1 -1
  128. package/dist/filter/parse.js +2 -9
  129. package/dist/filter/parse.js.map +1 -1
  130. package/dist/filter/serialize.d.ts.map +1 -1
  131. package/dist/filter/serialize.js +2 -4
  132. package/dist/filter/serialize.js.map +1 -1
  133. package/dist/hooks/index.d.ts +4 -42
  134. package/dist/hooks/index.d.ts.map +1 -1
  135. package/dist/hooks/index.js +5 -59
  136. package/dist/hooks/index.js.map +1 -1
  137. package/dist/index.d.ts +3 -1
  138. package/dist/index.d.ts.map +1 -1
  139. package/dist/index.js +20 -4
  140. package/dist/index.js.map +1 -1
  141. package/dist/internal.d.ts +1 -0
  142. package/dist/internal.d.ts.map +1 -1
  143. package/dist/internal.js +4 -0
  144. package/dist/internal.js.map +1 -1
  145. package/dist/lib/case-utils.d.ts +0 -32
  146. package/dist/lib/case-utils.d.ts.map +1 -1
  147. package/dist/lib/case-utils.js +0 -32
  148. package/dist/lib/case-utils.js.map +1 -1
  149. package/dist/mcp/handler.d.ts +0 -4
  150. package/dist/mcp/handler.d.ts.map +1 -1
  151. package/dist/mcp/handler.js +12 -69
  152. package/dist/mcp/handler.js.map +1 -1
  153. package/dist/query/index.d.ts +55 -227
  154. package/dist/query/index.d.ts.map +1 -1
  155. package/dist/query/index.js +41 -117
  156. package/dist/query/index.js.map +1 -1
  157. package/dist/query/relationship-options.d.ts +1 -1
  158. package/dist/query/relationship-options.js +1 -1
  159. package/dist/utils/password.d.ts +0 -68
  160. package/dist/utils/password.d.ts.map +1 -1
  161. package/dist/utils/password.js +7 -76
  162. package/dist/utils/password.js.map +1 -1
  163. package/dist/validation/field-config.d.ts.map +1 -1
  164. package/dist/validation/field-config.js +0 -6
  165. package/dist/validation/field-config.js.map +1 -1
  166. package/dist/validation/schema.d.ts +0 -7
  167. package/dist/validation/schema.d.ts.map +1 -1
  168. package/dist/validation/schema.js +0 -10
  169. package/dist/validation/schema.js.map +1 -1
  170. package/package.json +1 -1
  171. package/src/access/access-filter.test.ts +205 -275
  172. package/src/access/access-filter.ts +236 -272
  173. package/src/access/declared-dependencies.test.ts +277 -0
  174. package/src/access/declared-dependencies.ts +117 -37
  175. package/src/access/depth-limits.ts +8 -7
  176. package/src/access/engine.ts +0 -25
  177. package/src/access/errors.ts +97 -12
  178. package/src/access/field-access.test.ts +312 -2
  179. package/src/access/field-access.ts +118 -42
  180. package/src/access/field-transforms.ts +8 -39
  181. package/src/access/field-visibility.ts +99 -45
  182. package/src/access/index.ts +17 -5
  183. package/src/access/query-validation.ts +359 -0
  184. package/src/access/relationship-count.ts +3 -11
  185. package/src/access/relationship-label-filter.test.ts +19 -68
  186. package/src/access/relationship-label-filter.ts +27 -104
  187. package/src/access/transaction-registry.ts +58 -0
  188. package/src/access/types.ts +83 -86
  189. package/src/config/index.ts +10 -22
  190. package/src/config/label.ts +6 -13
  191. package/src/config/nav-count.ts +11 -19
  192. package/src/config/plugin-engine.ts +1 -37
  193. package/src/config/types.ts +95 -110
  194. package/src/context/apply-defaults.ts +12 -44
  195. package/src/context/hook-pipeline.ts +12 -67
  196. package/src/context/index.ts +311 -276
  197. package/src/context/nested-operations.ts +94 -226
  198. package/src/context/transaction-boundary.ts +113 -109
  199. package/src/context/write-pipeline.ts +99 -155
  200. package/src/fields/format-prisma-default.ts +4 -7
  201. package/src/fields/index.ts +155 -147
  202. package/src/filter/collect.ts +48 -12
  203. package/src/filter/filter.test.ts +153 -15
  204. package/src/filter/index.ts +1 -0
  205. package/src/filter/map.ts +0 -5
  206. package/src/filter/parse.ts +2 -9
  207. package/src/filter/serialize.ts +2 -4
  208. package/src/hooks/index.ts +5 -59
  209. package/src/index.ts +23 -4
  210. package/src/internal.ts +5 -0
  211. package/src/lib/case-utils.ts +0 -32
  212. package/src/mcp/handler.ts +13 -71
  213. package/src/query/index.ts +82 -235
  214. package/src/query/relationship-options.ts +1 -1
  215. package/src/utils/password.ts +7 -76
  216. package/src/validation/field-config.ts +0 -6
  217. package/src/validation/schema.ts +0 -10
  218. package/tests/access-relationships.test.ts +18 -16
  219. package/tests/computed-field-selective-evaluation.test.ts +418 -0
  220. package/tests/context.test.ts +727 -1
  221. package/tests/field-types.test.ts +222 -0
  222. package/tests/mcp-handler.test.ts +34 -0
  223. package/tests/needs-declared-dependencies.test.ts +7 -4
  224. package/tests/resolve-chain.test.ts +11 -11
  225. package/tests/transaction-boundary-outermost.test.ts +530 -0
  226. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"nested-operations.js","sourceRoot":"","sources":["../../src/context/nested-operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nested-operations.js","sourceRoot":"","sources":["../../src/context/nested-operations.ts"],"names":[],"mappings":"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"}
@@ -1,52 +1,34 @@
1
1
  import type { OpenSaasConfig, ListConfig } from '../config/types.js';
2
2
  import type { AccessContext, PrismaClientLike } from '../access/types.js';
3
+ import { type TransactionOutcome } from '../hooks/index.js';
3
4
  import type { WriteOperation } from './write-pipeline.js';
5
+ import type { TransactionRegistry } from '../access/transaction-registry.js';
4
6
  /**
5
- * Transaction-boundary hooks (#590 / ADR-0010).
6
- *
7
- * `beforeTransaction`/`afterTransaction` run OUTSIDE the write's `$transaction`
8
- * `beforeTransaction` before it opens, `afterTransaction` after it settles —
9
- * for non-transactional side effects (e.g. external API calls) that must not
10
- * hold a DB transaction open and cannot be rolled back. The pair forms a
11
- * compensation bracket around the atomic write described by ADR-0010.
12
- *
13
- * This module:
14
- * 1. Enumerates the lists involved in a write up front, BY WALKING THE INPUT
15
- * TREE only (no DB reads), so the bracket can run per involved list before
16
- * the transaction opens (mirroring how in-transaction before/afterOperation
17
- * fire per record, but at list granularity).
18
- * 2. Runs all `beforeTransaction` hooks, tracking exactly which involved lists'
19
- * `beforeTransaction` ran, then — after the caller settles the transaction —
20
- * runs `afterTransaction` ONLY for those lists (the symmetric-bracket
21
- * "always-run" rule), surfacing any hook errors afterward.
7
+ * Transaction-boundary hooks (#590 / ADR-0010): `beforeTransaction`/`afterTransaction`
8
+ * bracket a write's `$transaction` from the outside, for non-transactional side
9
+ * effects. See ADR-0010 for the bracket's design and ADR-0028 for how a joined
10
+ * write's `afterTransaction` defers to the transaction owner.
22
11
  */
23
12
  /**
24
- * One list involved in a write, with the data the transaction-boundary hooks
25
- * receive. Enumerated purely from the input tree (no DB reads).
26
- *
27
- * The persisted/pre-write rows (`item`/`originalItem`) are surfaced to
28
- * `afterTransaction` ONLY for the TOP-LEVEL record (`isTopLevel`). For nested
29
- * lists the per-record persisted row is not reliably recoverable outside the
30
- * transaction, so they are passed as `undefined` rather than mis-handing the
31
- * top-level row as if it were the nested row. `originalItem` here is therefore
32
- * populated only for the top-level update/delete target (the pipeline resolves
33
- * it before the transaction opens).
13
+ * One list involved in a write, enumerated purely from the input tree (no DB
14
+ * reads). `item`/`originalItem` are populated only for the top-level record
15
+ * (`isTopLevel`) — a nested list's persisted row isn't reliably recoverable
16
+ * outside the transaction, so handing it the top-level row instead would be
17
+ * silently wrong.
34
18
  */
35
19
  export interface InvolvedList {
36
20
  listKey: string;
37
21
  listConfig: ListConfig<any>;
38
22
  operation: WriteOperation;
39
- /** Whether this is the top-level write target (the only list with a reliable persisted row). */
40
23
  isTopLevel: boolean;
41
- /** The input payload for this involvement (create/update); `undefined` for delete. */
24
+ /** `undefined` for delete, which has no input payload. */
42
25
  inputData: Record<string, unknown> | undefined;
43
- /** The existing row for the TOP-LEVEL update/delete target; `undefined` otherwise. */
44
26
  originalItem: Record<string, unknown> | undefined;
45
27
  }
46
28
  /**
47
29
  * Enumerate the lists involved in a write — the top-level list plus every
48
- * nested create/update/delete target reachable from the input tree WITHOUT
49
- * any DB reads. The top-level list is always first.
30
+ * nested create/update/delete target without DB reads. The top-level list
31
+ * is always first.
50
32
  */
51
33
  export declare function enumerateInvolvedLists(args: {
52
34
  listName: string;
@@ -57,6 +39,14 @@ export declare function enumerateInvolvedLists(args: {
57
39
  topLevelOriginalItem: Record<string, unknown> | undefined;
58
40
  config: OpenSaasConfig;
59
41
  }): InvolvedList[];
42
+ /**
43
+ * Runs one involved list's `afterTransaction` hooks against the settled
44
+ * {@link TransactionOutcome}, collecting rather than throwing errors so the
45
+ * caller can keep running the remaining lists' compensators. Exported for
46
+ * {@link TransactionRegistry} to reuse when draining a deferred, joined
47
+ * write's bracket (ADR-0028).
48
+ */
49
+ export declare function runAfterTransactionForList<TPrisma extends PrismaClientLike>(involved: InvolvedList, outcome: TransactionOutcome, context: AccessContext<TPrisma>, errors: unknown[]): Promise<void>;
60
50
  /**
61
51
  * Aggregated error surfaced when one or more `afterTransaction` hooks throw.
62
52
  * The DB state is already final; all compensators still ran.
@@ -66,26 +56,25 @@ export declare class AfterTransactionError extends Error {
66
56
  constructor(errors: unknown[]);
67
57
  }
68
58
  /**
69
- * Bracket a write's transaction with the transaction-boundary hooks (#590).
70
- *
71
- * Sequence:
72
- * 1. Run every involved list's `beforeTransaction` in order, tracking which
73
- * ran. A throw aborts: the transaction is NEVER opened; `afterTransaction`
74
- * fires (status `rolled-back`, with the throw as `error`) ONLY for the lists
75
- * whose `beforeTransaction` already ran (symmetric bracket), and the throw
76
- * is then re-surfaced.
77
- * 2. Otherwise open the transaction via `runTransaction` (the existing #569
78
- * machinery). On settle (commit or rollback) run `afterTransaction` for
79
- * EVERY involved list (all of their `beforeTransaction` ran) with the
80
- * outcome.
81
- * 3. If any `afterTransaction` throws, the rest still run; the collected
82
- * errors are surfaced afterward as an {@link AfterTransactionError}.
59
+ * Brackets a write's transaction with the transaction-boundary hooks (#590,
60
+ * ADR-0028 / #899): runs every involved list's `beforeTransaction` eagerly —
61
+ * a throw here aborts before `runTransaction` (#569) ever opens the write's
62
+ * transaction then routes `afterTransaction` by ownership: deferred onto
63
+ * `args.joinedOwner`'s {@link TransactionRegistry} for a joined write, run
64
+ * eagerly (draining `args.ownedRegistry`) for the write that opened the
65
+ * transaction, or run eagerly with neither set. See ADR-0028 for why. A
66
+ * joined write's `afterTransaction` errors therefore surface as an
67
+ * {@link AfterTransactionError} from the OWNER's promise, not this write's.
83
68
  *
84
- * Sudo does not affect these hooks they always run; sudo only bypasses access.
69
+ * Sudo bypasses access control onlynever these hooks.
85
70
  */
86
71
  export declare function runWithTransactionBoundary<TPrisma extends PrismaClientLike>(args: {
87
72
  involvedLists: InvolvedList[];
88
73
  context: AccessContext<TPrisma>;
74
+ /** Set when this write is nested in a transaction it did not open (ADR-0028). */
75
+ joinedOwner?: TransactionRegistry;
76
+ /** Set when this write just opened the transaction joined writes below it share. */
77
+ ownedRegistry?: TransactionRegistry;
89
78
  runTransaction: () => Promise<Record<string, unknown> | null>;
90
79
  }): Promise<Record<string, unknown> | null>;
91
80
  //# sourceMappingURL=transaction-boundary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transaction-boundary.d.ts","sourceRoot":"","sources":["../../src/context/transaction-boundary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAe,MAAM,oBAAoB,CAAA;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AASzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAA;IAEf,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAA;IAC3B,SAAS,EAAE,cAAc,CAAA;IACzB,gGAAgG;IAChG,UAAU,EAAE,OAAO,CAAA;IACnB,sFAAsF;IACtF,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IAC9C,sFAAsF;IACtF,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;CAClD;AAkJD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,QAAQ,EAAE,MAAM,CAAA;IAEhB,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAA;IAC3B,SAAS,EAAE,cAAc,CAAA;IACzB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IAC9C,6FAA6F;IAC7F,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IACzD,MAAM,EAAE,cAAc,CAAA;CACvB,GAAG,YAAY,EAAE,CAoBjB;AAsJD;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IACvC,MAAM,EAAE,OAAO,EAAE,CAAA;IACxB,YAAY,MAAM,EAAE,OAAO,EAAE,EAQ5B;CACF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,0BAA0B,CAAC,OAAO,SAAS,gBAAgB,EAAE,IAAI,EAAE;IACvF,aAAa,EAAE,YAAY,EAAE,CAAA;IAC7B,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IAC/B,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;CAC9D,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAwD1C"}
1
+ {"version":3,"file":"transaction-boundary.d.ts","sourceRoot":"","sources":["../../src/context/transaction-boundary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAe,MAAM,oBAAoB,CAAA;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAEzE,OAAO,EAKL,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EACV,mBAAmB,EAEpB,MAAM,mCAAmC,CAAA;AAE1C;;;;;GAKG;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAA;IAEf,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAA;IAC3B,SAAS,EAAE,cAAc,CAAA;IACzB,UAAU,EAAE,OAAO,CAAA;IACnB,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IAC9C,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;CAClD;AAgID;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,QAAQ,EAAE,MAAM,CAAA;IAEhB,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAA;IAC3B,SAAS,EAAE,cAAc,CAAA;IACzB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IAC9C,6FAA6F;IAC7F,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IACzD,MAAM,EAAE,cAAc,CAAA;CACvB,GAAG,YAAY,EAAE,CAmBjB;AA2CD;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAAC,OAAO,SAAS,gBAAgB,EAC/E,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,EAC/B,MAAM,EAAE,OAAO,EAAE,GAChB,OAAO,CAAC,IAAI,CAAC,CAyFf;AAED;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IACvC,MAAM,EAAE,OAAO,EAAE,CAAA;IACxB,YAAY,MAAM,EAAE,OAAO,EAAE,EAQ5B;CACF;AAgBD;;;;;;;;;;;;GAYG;AACH,wBAAsB,0BAA0B,CAAC,OAAO,SAAS,gBAAgB,EAAE,IAAI,EAAE;IACvF,aAAa,EAAE,YAAY,EAAE,CAAA;IAC7B,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IAC/B,iFAAiF;IACjF,WAAW,CAAC,EAAE,mBAAmB,CAAA;IACjC,oFAAoF;IACpF,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;CAC9D,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAsF1C"}
@@ -1,6 +1,5 @@
1
1
  import { getRelatedListConfig } from '../access/index.js';
2
2
  import { executeBeforeTransaction, executeAfterTransaction, executeFieldBeforeTransactionHooks, executeFieldAfterTransactionHooks, } from '../hooks/index.js';
3
- /** Nested-op kinds whose payloads imply an involved list + operation. */
4
3
  const NESTED_OP_OPERATIONS = [
5
4
  { kind: 'create', operation: 'create' },
6
5
  { kind: 'update', operation: 'update' },
@@ -8,23 +7,17 @@ const NESTED_OP_OPERATIONS = [
8
7
  // connectOrCreate's create branch may create; treat as a possible create involvement.
9
8
  { kind: 'connectOrCreate', operation: 'create' },
10
9
  ];
11
- /** Distinct dedupe-key operations `NESTED_OP_OPERATIONS` can produce (create/update/delete). */
12
10
  const DISTINCT_OPERATION_COUNT = new Set(NESTED_OP_OPERATIONS.map((o) => o.operation)).size;
13
11
  function isRelationshipField(fieldConfig) {
14
12
  return fieldConfig?.type === 'relationship';
15
13
  }
16
14
  /**
17
- * The number of distinct (listKey, operation) involvement pairs the walk
18
- * could ever record starting from `startListName`computed from the
19
- * CONFIG's relationship graph (not the payload), so it bounds the walk by
20
- * what the schema can reach rather than by an arbitrary depth.
21
- *
22
- * Used as the saturation bound: once `walkNested` has recorded this many
23
- * pairs, no further pair can be new, so it stops descending. This replaces
24
- * the old depth cap as the cost bound (#835) — a payload nesting the config's
25
- * lists more deeply than any previous cap no longer loses their
26
- * transaction-boundary hooks, while a payload that repeats the same few
27
- * lists still terminates promptly instead of walking every entry.
15
+ * Distinct (listKey, operation) pairs reachable from `startListName` via the
16
+ * CONFIG's relationship graph (not the payload)the saturation bound
17
+ * `walkNested` stops at once it has recorded this many. Bounding by reachable
18
+ * pairs rather than a depth cap (#835) avoids losing hooks for payloads
19
+ * nested deeper than any fixed cap, while still terminating promptly on
20
+ * payloads that repeat the same few lists.
28
21
  */
29
22
  function countReachableInvolvementPairs(startListName, startListConfig, // eslint-disable-line @typescript-eslint/no-explicit-any -- ListConfig must accept any TypeInfo
30
23
  config) {
@@ -54,15 +47,7 @@ function asRecordArray(value) {
54
47
  return [value];
55
48
  return [];
56
49
  }
57
- /**
58
- * Extract the create/update payload from a nested-op entry so nested
59
- * `beforeTransaction` receives meaningful `inputData`.
60
- *
61
- * - `create`: the entry itself is the create data.
62
- * - `update`: the entry's `data`.
63
- * - `connectOrCreate`: the entry's `create`.
64
- * - `delete`: no input payload.
65
- */
50
+ /** Extract a nested-op entry's create/update payload so its `beforeTransaction` receives meaningful `inputData`. */
66
51
  function nestedInputData(kind, entry) {
67
52
  if (kind === 'update') {
68
53
  const data = entry.data;
@@ -79,14 +64,13 @@ function nestedInputData(kind, entry) {
79
64
  }
80
65
  /**
81
66
  * Recursively walk a write payload's relationship fields, appending one
82
- * {@link InvolvedList} per nested create/update/delete involvement. De-dups by
83
- * (listKey, operation) so a list with many nested records of the same operation
84
- * fires its transaction-boundary bracket once (these hooks are a per-LIST
85
- * compensation bracket, not per-record).
67
+ * {@link InvolvedList} per nested create/update/delete involvement. De-dups
68
+ * by (listKey, operation): these hooks are a per-LIST compensation bracket,
69
+ * not per-record, so a list with many nested records of the same operation
70
+ * fires its bracket once.
86
71
  */
87
72
  function walkNested(data, fieldConfigs, config, out, seen, maxPairs) {
88
- // Every reachable pair is already recorded no further recursion can add
89
- // anything new, so stop instead of re-walking the rest of the payload.
73
+ // Saturated: no further pair can be new (see countReachableInvolvementPairs).
90
74
  if (!data || seen.size >= maxPairs)
91
75
  return;
92
76
  for (const [fieldName, value] of Object.entries(data)) {
@@ -104,7 +88,6 @@ function walkNested(data, fieldConfigs, config, out, seen, maxPairs) {
104
88
  if (opValue === undefined)
105
89
  continue;
106
90
  const entries = asRecordArray(opValue);
107
- // Record the involvement once per (list, operation).
108
91
  const dedupeKey = `${relatedListName}:${operation}`;
109
92
  if (!seen.has(dedupeKey)) {
110
93
  seen.add(dedupeKey);
@@ -119,7 +102,6 @@ function walkNested(data, fieldConfigs, config, out, seen, maxPairs) {
119
102
  }
120
103
  if (seen.size >= maxPairs)
121
104
  return;
122
- // Recurse into each nested entry's own relationship payload.
123
105
  for (const entry of entries) {
124
106
  const childData = nestedInputData(kind, entry);
125
107
  walkNested(childData, relatedListConfig.fields, config, out, seen, maxPairs);
@@ -129,8 +111,8 @@ function walkNested(data, fieldConfigs, config, out, seen, maxPairs) {
129
111
  }
130
112
  /**
131
113
  * Enumerate the lists involved in a write — the top-level list plus every
132
- * nested create/update/delete target reachable from the input tree WITHOUT
133
- * any DB reads. The top-level list is always first.
114
+ * nested create/update/delete target without DB reads. The top-level list
115
+ * is always first.
134
116
  */
135
117
  export function enumerateInvolvedLists(args) {
136
118
  const { listName, listConfig, operation, inputData, topLevelOriginalItem, config } = args;
@@ -146,14 +128,10 @@ export function enumerateInvolvedLists(args) {
146
128
  ];
147
129
  const seen = new Set([`${listName}:${operation}`]);
148
130
  const maxPairs = countReachableInvolvementPairs(listName, listConfig, config);
149
- // Delete has no nested payload to walk (inputData is undefined).
150
131
  walkNested(inputData, listConfig.fields, config, out, seen, maxPairs);
151
132
  return out;
152
133
  }
153
- /**
154
- * Run the list- and field-level `beforeTransaction` hooks for one involved list.
155
- * A throw propagates to the caller (which aborts the write).
156
- */
134
+ /** Runs one involved list's `beforeTransaction` hooks. A throw propagates to the caller (which aborts the write). */
157
135
  async function runBeforeTransactionForList(involved, context) {
158
136
  const { listKey, listConfig, operation, inputData, originalItem } = involved;
159
137
  if (operation === 'create') {
@@ -184,21 +162,21 @@ async function runBeforeTransactionForList(involved, context) {
184
162
  await executeFieldBeforeTransactionHooks(inputData, listConfig.fields, operation, context, listKey, originalItem);
185
163
  }
186
164
  /**
187
- * Run the list- and field-level `afterTransaction` hooks for one involved list
188
- * with the settled {@link TransactionOutcome}. Collects (does not throw) any
189
- * errors so the caller can keep running the remaining lists' compensators.
165
+ * Runs one involved list's `afterTransaction` hooks against the settled
166
+ * {@link TransactionOutcome}, collecting rather than throwing errors so the
167
+ * caller can keep running the remaining lists' compensators. Exported for
168
+ * {@link TransactionRegistry} to reuse when draining a deferred, joined
169
+ * write's bracket (ADR-0028).
190
170
  */
191
- async function runAfterTransactionForList(involved, outcome, context, errors) {
171
+ export async function runAfterTransactionForList(involved, outcome, context, errors) {
192
172
  const { listKey, listConfig, operation, isTopLevel, inputData, originalItem } = involved;
193
- // On commit, the persisted row (`outcome.item`) is the TOP-LEVEL row. We only
194
- // surface `item`/`originalItem` for the top-level list handing the top-level
195
- // row to a nested list's hook (whose type is the nested list's own item) would
196
- // be unsound, since the hook would silently read the wrong record. For nested
197
- // lists we pass `undefined`; per-record nested compensation must use the
198
- // in-transaction `afterOperation`, which already receives the correct nested row.
173
+ // The persisted row (`outcome.item`) is the TOP-LEVEL row only. Handing it to
174
+ // a nested list's hook would silently mis-type as that list's own item for
175
+ // nested lists `item`/`originalItem` stay `undefined`; per-record nested
176
+ // compensation belongs in the in-transaction `afterOperation`, which gets the
177
+ // correct row.
199
178
  try {
200
179
  if (outcome.status === 'committed') {
201
- // The persisted row is surfaced only for the top-level list (see above).
202
180
  const committedItem = isTopLevel ? outcome.item : undefined;
203
181
  if (operation === 'create') {
204
182
  await executeAfterTransaction(listConfig.hooks, {
@@ -232,7 +210,6 @@ async function runAfterTransactionForList(involved, outcome, context, errors) {
232
210
  }
233
211
  }
234
212
  else {
235
- // rolled-back: no persisted item.
236
213
  if (operation === 'create') {
237
214
  await executeAfterTransaction(listConfig.hooks, {
238
215
  listKey,
@@ -292,29 +269,36 @@ export class AfterTransactionError extends Error {
292
269
  }
293
270
  }
294
271
  /**
295
- * Bracket a write's transaction with the transaction-boundary hooks (#590).
296
- *
297
- * Sequence:
298
- * 1. Run every involved list's `beforeTransaction` in order, tracking which
299
- * ran. A throw aborts: the transaction is NEVER opened; `afterTransaction`
300
- * fires (status `rolled-back`, with the throw as `error`) ONLY for the lists
301
- * whose `beforeTransaction` already ran (symmetric bracket), and the throw
302
- * is then re-surfaced.
303
- * 2. Otherwise open the transaction via `runTransaction` (the existing #569
304
- * machinery). On settle (commit or rollback) run `afterTransaction` for
305
- * EVERY involved list (all of their `beforeTransaction` ran) with the
306
- * outcome.
307
- * 3. If any `afterTransaction` throws, the rest still run; the collected
308
- * errors are surfaced afterward as an {@link AfterTransactionError}.
272
+ * Resolves a joined write's final outcome once the owner's settle is known
273
+ * (ADR-0028): the write's own error always wins; otherwise committed iff the
274
+ * owner's transaction also committed.
275
+ */
276
+ function resolveDeferredOutcome(writeOutcome, settle) {
277
+ if (writeOutcome.status === 'rolled-back')
278
+ return writeOutcome;
279
+ if (settle.status === 'committed')
280
+ return writeOutcome;
281
+ return { status: 'rolled-back', error: settle.error };
282
+ }
283
+ /**
284
+ * Brackets a write's transaction with the transaction-boundary hooks (#590,
285
+ * ADR-0028 / #899): runs every involved list's `beforeTransaction` eagerly —
286
+ * a throw here aborts before `runTransaction` (#569) ever opens the write's
287
+ * transaction — then routes `afterTransaction` by ownership: deferred onto
288
+ * `args.joinedOwner`'s {@link TransactionRegistry} for a joined write, run
289
+ * eagerly (draining `args.ownedRegistry`) for the write that opened the
290
+ * transaction, or run eagerly with neither set. See ADR-0028 for why. A
291
+ * joined write's `afterTransaction` errors therefore surface as an
292
+ * {@link AfterTransactionError} from the OWNER's promise, not this write's.
309
293
  *
310
- * Sudo does not affect these hooks they always run; sudo only bypasses access.
294
+ * Sudo bypasses access control onlynever these hooks.
311
295
  */
312
296
  export async function runWithTransactionBoundary(args) {
313
- const { involvedLists, context, runTransaction } = args;
314
- // Lists whose beforeTransaction ran (in order), for the symmetric bracket. A
315
- // list is marked as "ran" the moment its beforeTransaction BEGINS, so even a
316
- // list whose beforeTransaction throws gets its afterTransaction (it may have
317
- // taken a partial external action that needs compensating).
297
+ const { involvedLists, context, joinedOwner, ownedRegistry, runTransaction } = args;
298
+ // A list counts as "ran" the moment its beforeTransaction BEGINS (pushed
299
+ // before the try below), not on success so a list whose beforeTransaction
300
+ // itself throws still gets its afterTransaction, in case it took a partial
301
+ // external action that needs compensating.
318
302
  const ran = [];
319
303
  let beforeError;
320
304
  for (const involved of involvedLists) {
@@ -327,17 +311,29 @@ export async function runWithTransactionBoundary(args) {
327
311
  break;
328
312
  }
329
313
  }
330
- // beforeTransaction threw → abort: never open the transaction, compensate the
331
- // lists whose beforeTransaction ran, then surface the original error.
314
+ // Abort path: never open the transaction; compensate the lists that ran,
315
+ // then rethrow the original error.
332
316
  if (beforeError !== undefined) {
333
317
  const outcome = { status: 'rolled-back', error: beforeError };
334
- const afterErrors = [];
335
- for (const involved of ran) {
336
- await runAfterTransactionForList(involved, outcome, context, afterErrors);
318
+ if (joinedOwner) {
319
+ // Discards any afterTransaction errors on this path — only beforeError
320
+ // propagates, matching the eager branch below.
321
+ joinedOwner.enqueue(async (_settle, _errors) => {
322
+ const discarded = [];
323
+ for (const involved of ran) {
324
+ await runAfterTransactionForList(involved, outcome, context, discarded);
325
+ }
326
+ });
327
+ }
328
+ else {
329
+ const afterErrors = [];
330
+ for (const involved of ran) {
331
+ await runAfterTransactionForList(involved, outcome, context, afterErrors);
332
+ }
337
333
  }
338
334
  throw beforeError;
339
335
  }
340
- // Open the transaction and capture the settle outcome.
336
+ // Open (or join) the transaction and capture this write's own settle outcome.
341
337
  let outcome;
342
338
  let result = null;
343
339
  let txError;
@@ -349,14 +345,31 @@ export async function runWithTransactionBoundary(args) {
349
345
  txError = err;
350
346
  outcome = { status: 'rolled-back', error: err };
351
347
  }
352
- // afterTransaction always runs for every list whose beforeTransaction ran
353
- // (here: all involved lists). All compensators run even if one throws.
348
+ if (joinedOwner) {
349
+ // Deferred (ADR-0028) only afterTransaction waits; this write's own
350
+ // result/throw is returned/thrown normally below.
351
+ joinedOwner.enqueue(async (settle, errors) => {
352
+ const finalOutcome = resolveDeferredOutcome(outcome, settle);
353
+ for (const involved of ran) {
354
+ await runAfterTransactionForList(involved, finalOutcome, context, errors);
355
+ }
356
+ });
357
+ if (txError !== undefined)
358
+ throw txError;
359
+ return result;
360
+ }
361
+ // All compensators run even if one throws.
354
362
  const afterErrors = [];
355
363
  for (const involved of ran) {
356
364
  await runAfterTransactionForList(involved, outcome, context, afterErrors);
357
365
  }
358
- // Surface errors: the transaction's own error takes precedence (the write
359
- // failed); otherwise any afterTransaction errors.
366
+ // Owner: drain joined writes' deferred brackets with this write's own settle
367
+ // outcome (ADR-0028).
368
+ if (ownedRegistry) {
369
+ const settle = txError !== undefined ? { status: 'rolled-back', error: txError } : { status: 'committed' };
370
+ await ownedRegistry.drain(settle, afterErrors);
371
+ }
372
+ // Transaction error takes precedence over afterTransaction errors (ADR-0028).
360
373
  if (txError !== undefined)
361
374
  throw txError;
362
375
  if (afterErrors.length > 0)
@@ -1 +1 @@
1
- {"version":3,"file":"transaction-boundary.js","sourceRoot":"","sources":["../../src/context/transaction-boundary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction-boundary.js","sourceRoot":"","sources":["../../src/context/transaction-boundary.ts"],"names":[],"mappings":"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"}