@opensaas/stack-core 0.38.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 (204) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +123 -0
  3. package/CLAUDE.md +21 -0
  4. package/dist/access/access-filter.d.ts +46 -1
  5. package/dist/access/access-filter.d.ts.map +1 -1
  6. package/dist/access/access-filter.js +113 -4
  7. package/dist/access/access-filter.js.map +1 -1
  8. package/dist/access/declared-dependencies.d.ts.map +1 -1
  9. package/dist/access/declared-dependencies.js +4 -9
  10. package/dist/access/declared-dependencies.js.map +1 -1
  11. package/dist/access/engine.d.ts +0 -20
  12. package/dist/access/engine.d.ts.map +1 -1
  13. package/dist/access/engine.js +0 -25
  14. package/dist/access/engine.js.map +1 -1
  15. package/dist/access/errors.d.ts +49 -0
  16. package/dist/access/errors.d.ts.map +1 -1
  17. package/dist/access/errors.js +75 -0
  18. package/dist/access/errors.js.map +1 -1
  19. package/dist/access/field-access.d.ts +39 -1
  20. package/dist/access/field-access.d.ts.map +1 -1
  21. package/dist/access/field-access.js +108 -42
  22. package/dist/access/field-access.js.map +1 -1
  23. package/dist/access/field-access.test.js +229 -2
  24. package/dist/access/field-access.test.js.map +1 -1
  25. package/dist/access/field-transforms.d.ts +0 -27
  26. package/dist/access/field-transforms.d.ts.map +1 -1
  27. package/dist/access/field-visibility.d.ts +0 -4
  28. package/dist/access/field-visibility.d.ts.map +1 -1
  29. package/dist/access/field-visibility.js +13 -39
  30. package/dist/access/field-visibility.js.map +1 -1
  31. package/dist/access/index.d.ts +6 -2
  32. package/dist/access/index.d.ts.map +1 -1
  33. package/dist/access/index.js +12 -2
  34. package/dist/access/index.js.map +1 -1
  35. package/dist/access/query-validation.d.ts +121 -0
  36. package/dist/access/query-validation.d.ts.map +1 -0
  37. package/dist/access/query-validation.js +292 -0
  38. package/dist/access/query-validation.js.map +1 -0
  39. package/dist/access/relationship-count.d.ts.map +1 -1
  40. package/dist/access/relationship-count.js +2 -10
  41. package/dist/access/relationship-count.js.map +1 -1
  42. package/dist/access/relationship-label-filter.d.ts +23 -23
  43. package/dist/access/relationship-label-filter.d.ts.map +1 -1
  44. package/dist/access/relationship-label-filter.js +5 -76
  45. package/dist/access/relationship-label-filter.js.map +1 -1
  46. package/dist/access/relationship-label-filter.test.js +19 -56
  47. package/dist/access/relationship-label-filter.test.js.map +1 -1
  48. package/dist/access/transaction-registry.d.ts +45 -0
  49. package/dist/access/transaction-registry.d.ts.map +1 -0
  50. package/dist/access/transaction-registry.js +37 -0
  51. package/dist/access/transaction-registry.js.map +1 -0
  52. package/dist/access/types.d.ts +55 -59
  53. package/dist/access/types.d.ts.map +1 -1
  54. package/dist/config/index.d.ts +9 -7
  55. package/dist/config/index.d.ts.map +1 -1
  56. package/dist/config/index.js +10 -18
  57. package/dist/config/index.js.map +1 -1
  58. package/dist/config/label.d.ts +6 -13
  59. package/dist/config/label.d.ts.map +1 -1
  60. package/dist/config/label.js +6 -13
  61. package/dist/config/label.js.map +1 -1
  62. package/dist/config/nav-count.d.ts +11 -19
  63. package/dist/config/nav-count.d.ts.map +1 -1
  64. package/dist/config/nav-count.js +11 -19
  65. package/dist/config/nav-count.js.map +1 -1
  66. package/dist/config/plugin-engine.d.ts +0 -10
  67. package/dist/config/plugin-engine.d.ts.map +1 -1
  68. package/dist/config/plugin-engine.js +1 -37
  69. package/dist/config/plugin-engine.js.map +1 -1
  70. package/dist/config/types.d.ts +94 -109
  71. package/dist/config/types.d.ts.map +1 -1
  72. package/dist/context/apply-defaults.d.ts +8 -31
  73. package/dist/context/apply-defaults.d.ts.map +1 -1
  74. package/dist/context/apply-defaults.js +12 -41
  75. package/dist/context/apply-defaults.js.map +1 -1
  76. package/dist/context/hook-pipeline.d.ts +4 -29
  77. package/dist/context/hook-pipeline.d.ts.map +1 -1
  78. package/dist/context/hook-pipeline.js +8 -41
  79. package/dist/context/hook-pipeline.js.map +1 -1
  80. package/dist/context/index.d.ts +4 -15
  81. package/dist/context/index.d.ts.map +1 -1
  82. package/dist/context/index.js +190 -193
  83. package/dist/context/index.js.map +1 -1
  84. package/dist/context/nested-operations.d.ts +7 -26
  85. package/dist/context/nested-operations.d.ts.map +1 -1
  86. package/dist/context/nested-operations.js +73 -171
  87. package/dist/context/nested-operations.js.map +1 -1
  88. package/dist/context/transaction-boundary.d.ts +36 -47
  89. package/dist/context/transaction-boundary.d.ts.map +1 -1
  90. package/dist/context/transaction-boundary.js +92 -79
  91. package/dist/context/transaction-boundary.js.map +1 -1
  92. package/dist/context/write-pipeline.d.ts +25 -64
  93. package/dist/context/write-pipeline.d.ts.map +1 -1
  94. package/dist/context/write-pipeline.js +81 -111
  95. package/dist/context/write-pipeline.js.map +1 -1
  96. package/dist/fields/format-prisma-default.d.ts.map +1 -1
  97. package/dist/fields/format-prisma-default.js +4 -7
  98. package/dist/fields/format-prisma-default.js.map +1 -1
  99. package/dist/fields/index.d.ts +17 -2
  100. package/dist/fields/index.d.ts.map +1 -1
  101. package/dist/fields/index.js +136 -147
  102. package/dist/fields/index.js.map +1 -1
  103. package/dist/filter/collect.d.ts +26 -3
  104. package/dist/filter/collect.d.ts.map +1 -1
  105. package/dist/filter/collect.js +30 -12
  106. package/dist/filter/collect.js.map +1 -1
  107. package/dist/filter/filter.test.js +98 -15
  108. package/dist/filter/filter.test.js.map +1 -1
  109. package/dist/filter/index.d.ts +1 -0
  110. package/dist/filter/index.d.ts.map +1 -1
  111. package/dist/filter/index.js.map +1 -1
  112. package/dist/filter/map.d.ts.map +1 -1
  113. package/dist/filter/map.js +0 -5
  114. package/dist/filter/map.js.map +1 -1
  115. package/dist/filter/parse.d.ts.map +1 -1
  116. package/dist/filter/parse.js +2 -9
  117. package/dist/filter/parse.js.map +1 -1
  118. package/dist/filter/serialize.d.ts.map +1 -1
  119. package/dist/filter/serialize.js +2 -4
  120. package/dist/filter/serialize.js.map +1 -1
  121. package/dist/hooks/index.d.ts +4 -42
  122. package/dist/hooks/index.d.ts.map +1 -1
  123. package/dist/hooks/index.js +5 -59
  124. package/dist/hooks/index.js.map +1 -1
  125. package/dist/index.d.ts +3 -1
  126. package/dist/index.d.ts.map +1 -1
  127. package/dist/index.js +20 -4
  128. package/dist/index.js.map +1 -1
  129. package/dist/internal.d.ts +1 -0
  130. package/dist/internal.d.ts.map +1 -1
  131. package/dist/internal.js +4 -0
  132. package/dist/internal.js.map +1 -1
  133. package/dist/lib/case-utils.d.ts +0 -32
  134. package/dist/lib/case-utils.d.ts.map +1 -1
  135. package/dist/lib/case-utils.js +0 -32
  136. package/dist/lib/case-utils.js.map +1 -1
  137. package/dist/mcp/handler.d.ts +0 -4
  138. package/dist/mcp/handler.d.ts.map +1 -1
  139. package/dist/mcp/handler.js +12 -69
  140. package/dist/mcp/handler.js.map +1 -1
  141. package/dist/query/index.d.ts +26 -227
  142. package/dist/query/index.d.ts.map +1 -1
  143. package/dist/query/index.js +14 -117
  144. package/dist/query/index.js.map +1 -1
  145. package/dist/utils/password.d.ts +0 -68
  146. package/dist/utils/password.d.ts.map +1 -1
  147. package/dist/utils/password.js +7 -76
  148. package/dist/utils/password.js.map +1 -1
  149. package/dist/validation/field-config.d.ts.map +1 -1
  150. package/dist/validation/field-config.js +0 -6
  151. package/dist/validation/field-config.js.map +1 -1
  152. package/dist/validation/schema.d.ts +0 -7
  153. package/dist/validation/schema.d.ts.map +1 -1
  154. package/dist/validation/schema.js +0 -10
  155. package/dist/validation/schema.js.map +1 -1
  156. package/package.json +1 -1
  157. package/src/access/access-filter.ts +152 -5
  158. package/src/access/declared-dependencies.ts +4 -9
  159. package/src/access/engine.ts +0 -25
  160. package/src/access/errors.ts +81 -0
  161. package/src/access/field-access.test.ts +312 -2
  162. package/src/access/field-access.ts +118 -42
  163. package/src/access/field-transforms.ts +8 -39
  164. package/src/access/field-visibility.ts +16 -47
  165. package/src/access/index.ts +20 -2
  166. package/src/access/query-validation.ts +359 -0
  167. package/src/access/relationship-count.ts +2 -10
  168. package/src/access/relationship-label-filter.test.ts +19 -68
  169. package/src/access/relationship-label-filter.ts +27 -104
  170. package/src/access/transaction-registry.ts +58 -0
  171. package/src/access/types.ts +83 -86
  172. package/src/config/index.ts +10 -22
  173. package/src/config/label.ts +6 -13
  174. package/src/config/nav-count.ts +11 -19
  175. package/src/config/plugin-engine.ts +1 -37
  176. package/src/config/types.ts +95 -110
  177. package/src/context/apply-defaults.ts +12 -44
  178. package/src/context/hook-pipeline.ts +12 -67
  179. package/src/context/index.ts +263 -247
  180. package/src/context/nested-operations.ts +94 -226
  181. package/src/context/transaction-boundary.ts +113 -109
  182. package/src/context/write-pipeline.ts +99 -155
  183. package/src/fields/format-prisma-default.ts +4 -7
  184. package/src/fields/index.ts +155 -147
  185. package/src/filter/collect.ts +48 -12
  186. package/src/filter/filter.test.ts +153 -15
  187. package/src/filter/index.ts +1 -0
  188. package/src/filter/map.ts +0 -5
  189. package/src/filter/parse.ts +2 -9
  190. package/src/filter/serialize.ts +2 -4
  191. package/src/hooks/index.ts +5 -59
  192. package/src/index.ts +23 -4
  193. package/src/internal.ts +5 -0
  194. package/src/lib/case-utils.ts +0 -32
  195. package/src/mcp/handler.ts +13 -71
  196. package/src/query/index.ts +29 -235
  197. package/src/utils/password.ts +7 -76
  198. package/src/validation/field-config.ts +0 -6
  199. package/src/validation/schema.ts +0 -10
  200. package/tests/context.test.ts +700 -1
  201. package/tests/field-types.test.ts +222 -0
  202. package/tests/mcp-handler.test.ts +34 -0
  203. package/tests/transaction-boundary-outermost.test.ts +530 -0
  204. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/filter/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,2BAA2B;AAC3B,EAAE;AACF,0DAA0D;AAC1D,uDAAuD;AACvD,wEAAwE;AACxE,8EAA8E;AAC9E,+EAA+E;AAC/E,sEAAsE;AACtE,kEAAkE;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAA;AACjG,OAAO,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/filter/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,2BAA2B;AAC3B,EAAE;AACF,0DAA0D;AAC1D,uDAAuD;AACvD,wEAAwE;AACxE,8EAA8E;AAC9E,+EAA+E;AAC/E,sEAAsE;AACtE,kEAAkE;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAA;AAEjG,OAAO,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../src/filter/map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE1E;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,WAAW,EAAE,EACrB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAChC,eAAe,GAAG,SAAS,CA+C7B"}
1
+ {"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../src/filter/map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE1E;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,WAAW,EAAE,EACrB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAChC,eAAe,GAAG,SAAS,CA0C7B"}
@@ -18,15 +18,12 @@ export function buildFilterWhere(tokens, specs) {
18
18
  const freeTextWords = [];
19
19
  const freeTextFields = Object.keys(specs).filter((field) => specs[field].freeText);
20
20
  for (const token of tokens) {
21
- // Bare free-text word.
22
21
  if (token.field === null) {
23
22
  if (token.value)
24
23
  freeTextWords.push(token.value);
25
24
  continue;
26
25
  }
27
26
  const spec = specs[token.field];
28
- // Unknown field / no spec / unsupported operator / empty value →
29
- // degrade to free text (search the value across free-text fields).
30
27
  if (!spec || !spec.operators.includes(token.operator) || token.value === '') {
31
28
  if (token.value)
32
29
  freeTextWords.push(token.value);
@@ -34,13 +31,11 @@ export function buildFilterWhere(tokens, specs) {
34
31
  }
35
32
  const condition = spec.toCondition(token.operator, token.value);
36
33
  if (condition === null) {
37
- // Value couldn't be interpreted for this field → free text.
38
34
  freeTextWords.push(token.value);
39
35
  continue;
40
36
  }
41
37
  andConditions.push(condition);
42
38
  }
43
- // Each free-text word: OR across every free-text field's `eq` mapping.
44
39
  if (freeTextFields.length > 0) {
45
40
  for (const word of freeTextWords) {
46
41
  const orConditions = freeTextFields
@@ -1 +1 @@
1
- {"version":3,"file":"map.js","sourceRoot":"","sources":["../../src/filter/map.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAqB,EACrB,KAAiC;IAEjC,MAAM,aAAa,GAAsB,EAAE,CAAA;IAC3C,MAAM,aAAa,GAAa,EAAE,CAAA;IAElC,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAA;IAElF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,uBAAuB;QACvB,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACzB,IAAI,KAAK,CAAC,KAAK;gBAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAChD,SAAQ;QACV,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAE/B,iEAAiE;QACjE,mEAAmE;QACnE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,KAAK,KAAK,EAAE,EAAE,CAAC;YAC5E,IAAI,KAAK,CAAC,KAAK;gBAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAChD,SAAQ;QACV,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;QAC/D,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,4DAA4D;YAC5D,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAC/B,SAAQ;QACV,CAAC;QAED,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC/B,CAAC;IAED,uEAAuE;IACvE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,MAAM,YAAY,GAAG,cAAc;iBAChC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;iBACpD,MAAM,CAAC,CAAC,SAAS,EAAgC,EAAE,CAAC,SAAS,KAAK,IAAI,CAAC,CAAA;YAC1E,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAA;YACxF,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IAChD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,aAAa,CAAC,CAAC,CAAC,CAAA;IACvD,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,CAAA;AAC/B,CAAC"}
1
+ {"version":3,"file":"map.js","sourceRoot":"","sources":["../../src/filter/map.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAqB,EACrB,KAAiC;IAEjC,MAAM,aAAa,GAAsB,EAAE,CAAA;IAC3C,MAAM,aAAa,GAAa,EAAE,CAAA;IAElC,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAA;IAElF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACzB,IAAI,KAAK,CAAC,KAAK;gBAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAChD,SAAQ;QACV,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAE/B,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,KAAK,KAAK,EAAE,EAAE,CAAC;YAC5E,IAAI,KAAK,CAAC,KAAK;gBAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAChD,SAAQ;QACV,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;QAC/D,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAC/B,SAAQ;QACV,CAAC;QAED,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC/B,CAAC;IAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,MAAM,YAAY,GAAG,cAAc;iBAChC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;iBACpD,MAAM,CAAC,CAAC,SAAS,EAAgC,EAAE,CAAC,SAAS,KAAK,IAAI,CAAC,CAAA;YAC1E,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAA;YACxF,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IAChD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,aAAa,CAAC,CAAC,CAAC,CAAA;IACvD,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,CAAA;AAC/B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/filter/parse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,WAAW,EAAE,MAAM,YAAY,CAAA;AAY7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,EAAE,CA+D7D"}
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/filter/parse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,WAAW,EAAE,MAAM,YAAY,CAAA;AAY7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,EAAE,CAwD7D"}
@@ -43,23 +43,17 @@ export function parseFilterQuery(query) {
43
43
  const n = query.length;
44
44
  let i = 0;
45
45
  while (i < n) {
46
- // Skip leading whitespace between tokens.
47
46
  while (i < n && isWhitespace(query[i]))
48
47
  i++;
49
48
  if (i >= n)
50
49
  break;
51
50
  const start = i;
52
- // Optional `field:` prefix. A URL scheme (`http://…`) is not a field
53
- // prefix: when the colon is immediately followed by `//`, keep the whole
54
- // token as free text so pasted URLs are searched verbatim.
55
51
  let field = null;
56
52
  const prefixMatch = FIELD_PREFIX_RE.exec(query.slice(i));
57
53
  if (prefixMatch && !query.startsWith('//', i + prefixMatch[0].length)) {
58
54
  field = prefixMatch[1];
59
55
  i += prefixMatch[0].length;
60
56
  }
61
- // Comparison operator prefix — only meaningful once a field is present.
62
- // A leading `>`/`<` on a bare word is left as part of the free-text value.
63
57
  let operator = 'eq';
64
58
  if (field) {
65
59
  if (query.startsWith('>=', i)) {
@@ -79,16 +73,15 @@ export function parseFilterQuery(query) {
79
73
  i += 1;
80
74
  }
81
75
  }
82
- // Value: quoted (spaces kept) or a run up to the next whitespace.
83
76
  let value = '';
84
77
  if (query[i] === '"') {
85
- i++; // opening quote
78
+ i++;
86
79
  while (i < n && query[i] !== '"') {
87
80
  value += query[i];
88
81
  i++;
89
82
  }
90
83
  if (i < n)
91
- i++; // closing quote
84
+ i++;
92
85
  }
93
86
  else {
94
87
  while (i < n && !isWhitespace(query[i])) {
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/filter/parse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/filter/parse.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../src/filter/serialize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,WAAW,EAAE,MAAM,YAAY,CAAA;AAgC7D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAoBlE"}
1
+ {"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../src/filter/serialize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,WAAW,EAAE,MAAM,YAAY,CAAA;AAgC7D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAkBlE"}
@@ -50,13 +50,11 @@ function quoteIfNeeded(value, guardOperatorChars) {
50
50
  export function serializeFilterQuery(tokens) {
51
51
  const parts = [];
52
52
  for (const token of tokens) {
53
- // An empty value is not a filter — skip it rather than emit `field:` / `""`.
54
53
  if (token.value === '')
55
54
  continue;
56
55
  if (token.field === null) {
57
- // Bare free-text word. A leading `>`/`<` stays literal for bare words
58
- // (the parser only treats them as operators after a `field:`), so no
59
- // operator guard is needed here.
56
+ // A leading `>`/`<` stays literal for a bare word (the parser only
57
+ // treats them as operators after a `field:`), so no operator guard here.
60
58
  parts.push(quoteIfNeeded(token.value, false));
61
59
  continue;
62
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/filter/serialize.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,eAAe,GAAmC;IACtD,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,GAAG;IACP,GAAG,EAAE,IAAI;IACT,EAAE,EAAE,GAAG;IACP,GAAG,EAAE,IAAI;CACV,CAAA;AAED;;;;;;;;GAQG;AACH,SAAS,aAAa,CAAC,KAAa,EAAE,kBAA2B;IAC/D,MAAM,UAAU,GACd,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAChB,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QACnB,CAAC,kBAAkB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAC1E,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAA;AAC1C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAqB;IACxD,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,6EAA6E;QAC7E,IAAI,KAAK,CAAC,KAAK,KAAK,EAAE;YAAE,SAAQ;QAEhC,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACzB,sEAAsE;YACtE,qEAAqE;YACrE,iCAAiC;YACjC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;YAC7C,SAAQ;QACV,CAAC;QAED,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC9C,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,IAAI,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;IACpF,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACxB,CAAC"}
1
+ {"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/filter/serialize.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,eAAe,GAAmC;IACtD,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,GAAG;IACP,GAAG,EAAE,IAAI;IACT,EAAE,EAAE,GAAG;IACP,GAAG,EAAE,IAAI;CACV,CAAA;AAED;;;;;;;;GAQG;AACH,SAAS,aAAa,CAAC,KAAa,EAAE,kBAA2B;IAC/D,MAAM,UAAU,GACd,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAChB,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QACnB,CAAC,kBAAkB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAC1E,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAA;AAC1C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAqB;IACxD,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,KAAK,KAAK,EAAE;YAAE,SAAQ;QAEhC,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACzB,mEAAmE;YACnE,yEAAyE;YACzE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;YAC7C,SAAQ;QACV,CAAC;QAED,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC9C,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,IAAI,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;IACpF,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACxB,CAAC"}
@@ -1,27 +1,17 @@
1
1
  import type { Hooks } from '../config/types.js';
2
2
  import type { AccessContext } from '../access/types.js';
3
3
  import type { FieldConfig } from '../config/types.js';
4
- /**
5
- * Validation error collection
6
- */
7
4
  export declare class ValidationError extends Error {
8
5
  errors: string[];
9
6
  fieldErrors: Record<string, string>;
10
7
  constructor(errors: string[], fieldErrors?: Record<string, string>);
11
8
  }
12
- /**
13
- * Database error with field-specific error information
14
- * Used for Prisma errors like unique constraint violations
15
- */
9
+ /** Used for Prisma errors like unique constraint violations. */
16
10
  export declare class DatabaseError extends Error {
17
11
  fieldErrors: Record<string, string>;
18
12
  code?: string;
19
13
  constructor(message: string, fieldErrors?: Record<string, string>, code?: string);
20
14
  }
21
- /**
22
- * Execute resolveInput hook
23
- * Allows modification of input data before validation
24
- */
25
15
  export declare function executeResolveInput<TOutput = Record<string, unknown>, TCreateInput = Record<string, unknown>, TUpdateInput = Record<string, unknown>>(hooks: Hooks<TOutput, TCreateInput, TUpdateInput> | undefined, args: {
26
16
  listKey: string;
27
17
  operation: 'create';
@@ -37,10 +27,7 @@ export declare function executeResolveInput<TOutput = Record<string, unknown>, T
37
27
  item: TOutput;
38
28
  context: AccessContext;
39
29
  }): Promise<TCreateInput | TUpdateInput>;
40
- /**
41
- * Execute validate hook (supports both 'validate' and deprecated 'validateInput')
42
- * Allows custom validation logic
43
- */
30
+ /** Supports both `validate` and the deprecated `validateInput` alias for backwards compatibility. */
44
31
  export declare function executeValidate<TOutput = Record<string, unknown>, TCreateInput = Record<string, unknown>, TUpdateInput = Record<string, unknown>>(hooks: Hooks<TOutput, TCreateInput, TUpdateInput> | undefined, args: {
45
32
  listKey: string;
46
33
  operation: 'create';
@@ -65,10 +52,7 @@ export declare function executeValidate<TOutput = Record<string, unknown>, TCrea
65
52
  * @deprecated Use executeValidate instead. This alias is provided for backwards compatibility.
66
53
  */
67
54
  export declare const executeValidateInput: typeof executeValidate;
68
- /**
69
- * Execute beforeOperation hook
70
- * Runs before database operation (cannot modify data)
71
- */
55
+ /** Side effects only — cannot modify data before the database write. */
72
56
  export declare function executeBeforeOperation<TOutput = Record<string, unknown>, TCreateInput = Record<string, unknown>, TUpdateInput = Record<string, unknown>>(hooks: Hooks<TOutput, TCreateInput, TUpdateInput> | undefined, args: {
73
57
  listKey: string;
74
58
  operation: 'create';
@@ -88,10 +72,6 @@ export declare function executeBeforeOperation<TOutput = Record<string, unknown>
88
72
  item: TOutput;
89
73
  context: AccessContext;
90
74
  }): Promise<void>;
91
- /**
92
- * Execute afterOperation hook
93
- * Runs after database operation
94
- */
95
75
  export declare function executeAfterOperation<TOutput = Record<string, unknown>, TCreateInput = Record<string, unknown>, TUpdateInput = Record<string, unknown>>(hooks: Hooks<TOutput, TCreateInput, TUpdateInput> | undefined, args: {
96
76
  listKey: string;
97
77
  operation: 'create';
@@ -230,9 +210,6 @@ export type TransactionOutcome = {
230
210
  */
231
211
  export declare function executeFieldAfterTransactionHooks(outcome: TransactionOutcome, inputData: Record<string, unknown> | undefined, fields: Record<string, FieldConfig>, operation: 'create' | 'update' | 'delete', context: AccessContext, listKey: string, isTopLevel: boolean, originalItem?: Record<string, unknown>): Promise<void>;
232
212
  /**
233
- * Execute field-level resolveInput hooks
234
- * Allows fields to transform their input values before database write
235
- *
236
213
  * NOTE (#789): multi-column fields (e.g. storage image()/file() in
237
214
  * Keystone-parity mode) are NOT split here. This phase only resolves each
238
215
  * field's value under its LOGICAL key, so that phases 2-3 (list/field
@@ -264,25 +241,10 @@ export declare function executeFieldResolveInputHooks(inputData: Record<string,
264
241
  * bypasses via `checkFieldAccess`).
265
242
  */
266
243
  export declare function splitMultiColumnFields(inputData: Record<string, any>, resolvedData: Record<string, any>, fields: Record<string, FieldConfig>, operation: 'create' | 'update', context: AccessContext, item?: any): Promise<Record<string, unknown>>;
267
- /**
268
- * Execute field-level validate hooks
269
- * Allows fields to perform custom validation after resolveInput but before database write
270
- */
244
+ /** Runs after resolveInput and before the database write. */
271
245
  export declare function executeFieldValidateHooks(inputData: Record<string, any> | undefined, resolvedData: Record<string, any> | undefined, fields: Record<string, FieldConfig>, operation: 'create' | 'update' | 'delete', context: AccessContext, listKey: string, item?: any): Promise<void>;
272
- /**
273
- * Execute field-level beforeOperation hooks (side effects only)
274
- * Allows fields to perform side effects before database write
275
- */
276
246
  export declare function executeFieldBeforeOperationHooks(inputData: Record<string, any>, resolvedData: Record<string, any>, fields: Record<string, FieldConfig>, operation: 'create' | 'update' | 'delete', context: AccessContext, listKey: string, item?: any): Promise<void>;
277
- /**
278
- * Execute field-level afterOperation hooks (side effects only)
279
- * Allows fields to perform side effects after database operations
280
- */
281
247
  export declare function executeFieldAfterOperationHooks(item: any, inputData: Record<string, unknown> | undefined, resolvedData: Record<string, unknown> | undefined, fields: Record<string, FieldConfig>, operation: 'create' | 'update' | 'delete', context: AccessContext, listKey: string, originalItem?: any): Promise<void>;
282
- /**
283
- * Validate field-level validation rules using Zod
284
- * Checks isRequired, length constraints, etc.
285
- */
286
248
  export declare function validateFieldRules(data: Record<string, unknown>, fieldConfigs: Record<string, FieldConfig>, operation?: 'create' | 'update'): {
287
249
  errors: string[];
288
250
  fieldErrors: Record<string, string>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,5 @@
1
1
  import { validateWithZod } from '../validation/schema.js';
2
2
  import { checkFieldAccess } from '../access/field-access.js';
3
- /**
4
- * Validation error collection
5
- */
6
3
  export class ValidationError extends Error {
7
4
  errors;
8
5
  fieldErrors;
@@ -13,10 +10,7 @@ export class ValidationError extends Error {
13
10
  this.fieldErrors = fieldErrors;
14
11
  }
15
12
  }
16
- /**
17
- * Database error with field-specific error information
18
- * Used for Prisma errors like unique constraint violations
19
- */
13
+ /** Used for Prisma errors like unique constraint violations. */
20
14
  export class DatabaseError extends Error {
21
15
  fieldErrors;
22
16
  code;
@@ -27,10 +21,6 @@ export class DatabaseError extends Error {
27
21
  this.code = code;
28
22
  }
29
23
  }
30
- /**
31
- * Execute resolveInput hook
32
- * Allows modification of input data before validation
33
- */
34
24
  export async function executeResolveInput(hooks, args) {
35
25
  if (!hooks?.resolveInput) {
36
26
  return args.resolvedData;
@@ -38,12 +28,8 @@ export async function executeResolveInput(hooks, args) {
38
28
  const result = await hooks.resolveInput(args);
39
29
  return result;
40
30
  }
41
- /**
42
- * Execute validate hook (supports both 'validate' and deprecated 'validateInput')
43
- * Allows custom validation logic
44
- */
31
+ /** Supports both `validate` and the deprecated `validateInput` alias for backwards compatibility. */
45
32
  export async function executeValidate(hooks, args) {
46
- // Support both 'validate' (new) and 'validateInput' (deprecated) for backwards compatibility
47
33
  const validateHook = hooks?.validate || hooks?.validateInput;
48
34
  if (!validateHook) {
49
35
  return;
@@ -64,20 +50,13 @@ export async function executeValidate(hooks, args) {
64
50
  * @deprecated Use executeValidate instead. This alias is provided for backwards compatibility.
65
51
  */
66
52
  export const executeValidateInput = executeValidate;
67
- /**
68
- * Execute beforeOperation hook
69
- * Runs before database operation (cannot modify data)
70
- */
53
+ /** Side effects only — cannot modify data before the database write. */
71
54
  export async function executeBeforeOperation(hooks, args) {
72
55
  if (!hooks?.beforeOperation) {
73
56
  return;
74
57
  }
75
58
  await hooks.beforeOperation(args);
76
59
  }
77
- /**
78
- * Execute afterOperation hook
79
- * Runs after database operation
80
- */
81
60
  export async function executeAfterOperation(hooks, args) {
82
61
  if (!hooks?.afterOperation) {
83
62
  return;
@@ -170,7 +149,6 @@ export async function executeFieldBeforeTransactionHooks(inputData, fields, oper
170
149
  * field appearing in the payload).
171
150
  */
172
151
  export async function executeFieldAfterTransactionHooks(outcome, inputData, fields, operation, context, listKey, isTopLevel, originalItem) {
173
- // The persisted/pre-write rows are surfaced only for the top-level list.
174
152
  const committedItem = outcome.status === 'committed' && isTopLevel ? outcome.item : undefined;
175
153
  const committedOriginalItem = isTopLevel ? originalItem : undefined;
176
154
  for (const [fieldKey, fieldConfig] of Object.entries(fields)) {
@@ -208,7 +186,6 @@ export async function executeFieldAfterTransactionHooks(outcome, inputData, fiel
208
186
  }
209
187
  continue;
210
188
  }
211
- // committed
212
189
  if (operation === 'delete') {
213
190
  await fieldConfig.hooks.afterTransaction({
214
191
  ...base,
@@ -239,9 +216,6 @@ export async function executeFieldAfterTransactionHooks(outcome, inputData, fiel
239
216
  }
240
217
  }
241
218
  /**
242
- * Execute field-level resolveInput hooks
243
- * Allows fields to transform their input values before database write
244
- *
245
219
  * NOTE (#789): multi-column fields (e.g. storage image()/file() in
246
220
  * Keystone-parity mode) are NOT split here. This phase only resolves each
247
221
  * field's value under its LOGICAL key, so that phases 2-3 (list/field
@@ -260,12 +234,10 @@ resolvedData, fields, operation, context, listKey,
260
234
  item) {
261
235
  let result = { ...resolvedData };
262
236
  for (const [fieldKey, fieldConfig] of Object.entries(fields)) {
263
- // Skip if field not in data, or if there's nothing to resolve
264
237
  if (!(fieldKey in result))
265
238
  continue;
266
239
  if (!fieldConfig.hooks?.resolveInput)
267
240
  continue;
268
- // Execute field hook
269
241
  // Type assertion is safe here because hooks are typed correctly in field definitions
270
242
  // and we're working with runtime values that match those types
271
243
  const resolvedValue = await fieldConfig.hooks.resolveInput({
@@ -337,10 +309,7 @@ item) {
337
309
  }
338
310
  return result;
339
311
  }
340
- /**
341
- * Execute field-level validate hooks
342
- * Allows fields to perform custom validation after resolveInput but before database write
343
- */
312
+ /** Runs after resolveInput and before the database write. */
344
313
  export async function executeFieldValidateHooks(
345
314
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
346
315
  inputData,
@@ -355,11 +324,10 @@ item) {
355
324
  fieldErrors[fieldKey] = msg;
356
325
  };
357
326
  for (const [fieldKey, fieldConfig] of Object.entries(fields)) {
358
- // Support both 'validate' (new) and 'validateInput' (deprecated) for backwards compatibility
327
+ // validate / deprecated validateInput fallback see executeValidate
359
328
  const validateHook = fieldConfig.hooks?.validate ?? fieldConfig.hooks?.validateInput;
360
329
  if (!validateHook)
361
330
  continue;
362
- // Execute field hook
363
331
  // Type assertion is safe here because hooks are typed correctly in field definitions
364
332
  if (operation === 'delete') {
365
333
  await validateHook({
@@ -384,7 +352,6 @@ item) {
384
352
  });
385
353
  }
386
354
  else {
387
- // operation === 'update'
388
355
  await validateHook({
389
356
  listKey,
390
357
  fieldKey,
@@ -401,10 +368,6 @@ item) {
401
368
  throw new ValidationError(errors, fieldErrors);
402
369
  }
403
370
  }
404
- /**
405
- * Execute field-level beforeOperation hooks (side effects only)
406
- * Allows fields to perform side effects before database write
407
- */
408
371
  export async function executeFieldBeforeOperationHooks(
409
372
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
410
373
  inputData,
@@ -413,14 +376,10 @@ resolvedData, fields, operation, context, listKey,
413
376
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
414
377
  item) {
415
378
  for (const [fieldKey, fieldConfig] of Object.entries(fields)) {
416
- // Skip if no hooks defined
417
379
  if (!fieldConfig.hooks?.beforeOperation)
418
380
  continue;
419
- // Skip if field not in data (for create/update)
420
381
  if (operation !== 'delete' && !(fieldKey in resolvedData))
421
382
  continue;
422
- // Execute field hook (side effects only, no return value used)
423
- // Type assertion is safe here because hooks are typed correctly in field definitions
424
383
  if (operation === 'delete') {
425
384
  await fieldConfig.hooks.beforeOperation({
426
385
  listKey,
@@ -441,7 +400,6 @@ item) {
441
400
  });
442
401
  }
443
402
  else {
444
- // operation === 'update'
445
403
  await fieldConfig.hooks.beforeOperation({
446
404
  listKey,
447
405
  fieldKey,
@@ -454,20 +412,14 @@ item) {
454
412
  }
455
413
  }
456
414
  }
457
- /**
458
- * Execute field-level afterOperation hooks (side effects only)
459
- * Allows fields to perform side effects after database operations
460
- */
461
415
  export async function executeFieldAfterOperationHooks(
462
416
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
463
417
  item, inputData, resolvedData, fields, operation, context, listKey,
464
418
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
465
419
  originalItem) {
466
420
  for (const [fieldKey, fieldConfig] of Object.entries(fields)) {
467
- // Skip if no hooks defined
468
421
  if (!fieldConfig.hooks?.afterOperation)
469
422
  continue;
470
- // Execute field hook (side effects only, no return value used)
471
423
  if (operation === 'delete') {
472
424
  await fieldConfig.hooks.afterOperation({
473
425
  listKey,
@@ -489,7 +441,6 @@ originalItem) {
489
441
  });
490
442
  }
491
443
  else {
492
- // operation === 'update'
493
444
  await fieldConfig.hooks.afterOperation({
494
445
  listKey,
495
446
  fieldKey,
@@ -503,16 +454,11 @@ originalItem) {
503
454
  }
504
455
  }
505
456
  }
506
- /**
507
- * Validate field-level validation rules using Zod
508
- * Checks isRequired, length constraints, etc.
509
- */
510
457
  export function validateFieldRules(data, fieldConfigs, operation = 'create') {
511
458
  const result = validateWithZod(data, fieldConfigs, operation);
512
459
  if (result.success) {
513
460
  return { errors: [], fieldErrors: {} };
514
461
  }
515
- // Convert field errors to array of error messages
516
462
  const errors = Object.entries(result.errors).map(([_field, message]) => message);
517
463
  return { errors, fieldErrors: result.errors };
518
464
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -9,6 +9,8 @@ export { resolveNavCounts, isListQueryStaticallyDenied } from './config/nav-coun
9
9
  export { ValidationError } from './hooks/index.js';
10
10
  export { AccessScopeDepthExceededError } from './access/index.js';
11
11
  export { ResolveOutputCycleError } from './access/index.js';
12
+ export { InvalidFieldAccessResultError } from './access/index.js';
13
+ export { RelationFilterAccessDeniedError } from './access/index.js';
12
14
  export { validateFieldConfig, validateConfigFields } from './validation/field-config.js';
13
15
  export type { FieldConfigValidationError } from './validation/field-config.js';
14
16
  export { validateNeedsDeclarations, validateNeedsClosureDepth } from './validation/needs-closure.js';
@@ -18,7 +20,7 @@ export type { ResultOf, RelationSelector, QueryArgs } from './query/index.js';
18
20
  export { getRelationshipOptions } from './query/relationship-options.js';
19
21
  export type { RelationshipOption, RelationshipOptionsArgs } from './query/relationship-options.js';
20
22
  export { parseFilterQuery, serializeFilterQuery, buildFilterWhere, collectFilterSpecs, buildListFilterWhere, collectFilterSuggestions, RELATIONSHIP_COUNT_FILTER_KEY, } from './filter/index.js';
21
- export type { FilterOperator, FilterToken, FilterCondition, FilterSpec, FilterValueSource, FilterFieldSuggestion, RelationshipCountFilterMarker, } from './filter/index.js';
23
+ export type { FilterOperator, FilterToken, FilterCondition, FilterSpec, FilterValueSource, FilterFieldSuggestion, RelationshipCountFilterMarker, FilterAccessArgs, } from './filter/index.js';
22
24
  export { buildRelationshipCountSelect, resolveRelationshipCountFilters, isToManyRelationshipField, } from './access/relationship-count.js';
23
25
  export { resolveRelationshipLabelFilters, isToOneRelationshipField, } from './access/relationship-label-filter.js';
24
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAKhD,YAAY,EACV,cAAc,EACd,YAAY,EACZ,UAAU,EACV,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,eAAe,EAIf,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,mBAAmB,CAAA;AAG1B,YAAY,EACV,aAAa,EACb,WAAW,EACX,OAAO,EACP,aAAa,EACb,YAAY,GACb,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,YAAY,EACV,YAAY,EACZ,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAK5E,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAInE,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAA;AAGrF,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAMlD,OAAO,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAA;AAKjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAM3D,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACxF,YAAY,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AAO9E,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AACpG,YAAY,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAQtE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACxE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAK7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AACxE,YAAY,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAA;AAOlG,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EACV,cAAc,EACd,WAAW,EACX,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,qBAAqB,EACrB,6BAA6B,GAC9B,MAAM,mBAAmB,CAAA;AAM1B,OAAO,EACL,4BAA4B,EAC5B,+BAA+B,EAC/B,yBAAyB,GAC1B,MAAM,gCAAgC,CAAA;AAMvC,OAAO,EACL,+BAA+B,EAC/B,wBAAwB,GACzB,MAAM,uCAAuC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAKhD,YAAY,EACV,cAAc,EACd,YAAY,EACZ,UAAU,EACV,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,eAAe,EAIf,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,mBAAmB,CAAA;AAG1B,YAAY,EACV,aAAa,EACb,WAAW,EACX,OAAO,EACP,aAAa,EACb,YAAY,GACb,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,YAAY,EACV,YAAY,EACZ,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAK5E,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAInE,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAA;AAGrF,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAMlD,OAAO,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAA;AAKjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAQ3D,OAAO,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAA;AAQjE,OAAO,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAA;AAMnE,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACxF,YAAY,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AAO9E,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AACpG,YAAY,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAQtE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACxE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAK7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AACxE,YAAY,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAA;AAOlG,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EACV,cAAc,EACd,WAAW,EACX,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,qBAAqB,EACrB,6BAA6B,EAC7B,gBAAgB,GACjB,MAAM,mBAAmB,CAAA;AAM1B,OAAO,EACL,4BAA4B,EAC5B,+BAA+B,EAC/B,yBAAyB,GAC1B,MAAM,gCAAgC,CAAA;AAQvC,OAAO,EACL,+BAA+B,EAC/B,wBAAwB,GACzB,MAAM,uCAAuC,CAAA"}
package/dist/index.js CHANGED
@@ -31,6 +31,20 @@ export { AccessScopeDepthExceededError } from './access/index.js';
31
31
  // `(list, field)` pair already on its resolve chain (see ADR-0023). Distinct
32
32
  // from `ValidationError` for the same reason as `AccessScopeDepthExceededError`.
33
33
  export { ResolveOutputCycleError } from './access/index.js';
34
+ // Thrown by `checkFieldAccess` when a field-level access control function
35
+ // returns anything other than a strict boolean (see ADR-0001 and ADR-0030).
36
+ // Distinct from `ValidationError` for the same reason as
37
+ // `AccessScopeDepthExceededError` — this is the engine refusing to interpret
38
+ // a result it cannot treat as an allow/deny decision, not a user-input
39
+ // validation failure.
40
+ export { InvalidFieldAccessResultError } from './access/index.js';
41
+ // Thrown by a read when a caller-supplied `where` filters on a relation whose
42
+ // related list denies operation-level `query` access outright (see #916 and
43
+ // ADR-0022). Distinct from `ValidationError` for the same reason as
44
+ // `AccessScopeDepthExceededError` — this is the engine declining to return a
45
+ // silently-narrowed match on a relation it cannot scope, not a user-input
46
+ // validation failure.
47
+ export { RelationFilterAccessDeniedError } from './access/index.js';
34
48
  // Field self-containment validation — checks each field implements the
35
49
  // generation contract (getPrismaType / getTypeScriptType / getZodSchema, or
36
50
  // getPrismaRelation for relationships) so a misimplemented field fails early
@@ -64,9 +78,11 @@ export { parseFilterQuery, serializeFilterQuery, buildFilterWhere, collectFilter
64
78
  // count Filter spec's markers into `{ id: { in } }` — all through the secured
65
79
  // context, so counts never include related rows the session cannot read.
66
80
  export { buildRelationshipCountSelect, resolveRelationshipCountFilters, isToManyRelationshipField, } from './access/relationship-count.js';
67
- // Access-scoped to-one relationship label filters for the admin list view
68
- // (#749): fold the related list's `query` access into a to-one relationship
69
- // Filter spec's nested `is` clause so a session can never use a relationship
70
- // filter token to distinguish rows by a related field it cannot itself read.
81
+ // To-one relationship label filter helpers for the admin list view (#749).
82
+ // `resolveRelationshipLabelFilters` is now a pass-through: the engine itself
83
+ // scopes every relation filter in `where` (`buildAccessScopedWhere`, #916),
84
+ // including the `{ is: {...} } }` shape a label filter produces, so this no
85
+ // longer needs its own access fold. Kept exported, unchanged in shape, for
86
+ // API compatibility — see `relationship-label-filter.ts`'s doc comment.
71
87
  export { resolveRelationshipLabelFilters, isToOneRelationshipField, } from './access/relationship-label-filter.js';
72
88
  //# sourceMappingURL=index.js.map