@baseplate-dev/plugin-auth 0.6.2 → 0.6.3

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 (160) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/LICENSE +114 -123
  3. package/dist/auth/core/common.d.ts.map +1 -1
  4. package/dist/auth/core/common.js +1 -0
  5. package/dist/auth/core/common.js.map +1 -1
  6. package/dist/auth/core/components/role-editor-form/role-dialog.d.ts +1 -3
  7. package/dist/auth/core/components/role-editor-form/role-dialog.d.ts.map +1 -1
  8. package/dist/auth/core/components/role-editor-form/role-dialog.js +10 -10
  9. package/dist/auth/core/components/role-editor-form/role-dialog.js.map +1 -1
  10. package/dist/better-auth/generators/react/better-auth-hooks/templates/src/hooks/use-log-out.ts +2 -4
  11. package/dist/better-auth/generators/react/better-auth-hooks/templates/src/hooks/use-session.ts +1 -2
  12. package/dist/better-auth/generators/react/better-auth-pages/better-auth-pages.generator.d.ts +37 -25
  13. package/dist/better-auth/generators/react/better-auth-pages/better-auth-pages.generator.d.ts.map +1 -1
  14. package/dist/better-auth/generators/react/better-auth-pages/generated/index.d.ts +111 -75
  15. package/dist/better-auth/generators/react/better-auth-pages/generated/index.d.ts.map +1 -1
  16. package/dist/better-auth/generators/react/better-auth-pages/generated/template-renderers.d.ts +37 -25
  17. package/dist/better-auth/generators/react/better-auth-pages/generated/template-renderers.d.ts.map +1 -1
  18. package/dist/better-auth/generators/react/better-auth-pages/generated/typed-templates.d.ts +148 -100
  19. package/dist/better-auth/generators/react/better-auth-pages/generated/typed-templates.d.ts.map +1 -1
  20. package/dist/better-auth/generators/react/better-auth-pages/generated/typed-templates.js +2 -2
  21. package/dist/better-auth/generators/react/better-auth-pages/generated/typed-templates.js.map +1 -1
  22. package/dist/better-auth/generators/react/better-auth-pages/templates/routes/{auth/login.tsx → login.tsx} +11 -13
  23. package/dist/better-auth/generators/react/better-auth-pages/templates/routes/{auth/register.tsx → register.tsx} +11 -13
  24. package/dist/better-auth/generators/react/react-better-auth/generated/index.d.ts +74 -50
  25. package/dist/better-auth/generators/react/react-better-auth/generated/index.d.ts.map +1 -1
  26. package/dist/better-auth/generators/react/react-better-auth/generated/template-renderers.d.ts +37 -25
  27. package/dist/better-auth/generators/react/react-better-auth/generated/template-renderers.d.ts.map +1 -1
  28. package/dist/better-auth/generators/react/react-better-auth/generated/typed-templates.d.ts +37 -25
  29. package/dist/better-auth/generators/react/react-better-auth/generated/typed-templates.d.ts.map +1 -1
  30. package/dist/better-auth/generators/react/react-better-auth/react-better-auth.generator.d.ts +37 -25
  31. package/dist/better-auth/generators/react/react-better-auth/react-better-auth.generator.d.ts.map +1 -1
  32. package/dist/better-auth/generators/react/react-better-auth/templates/src/app/auth-loaded-gate.tsx +3 -6
  33. package/dist/better-auth/generators/react/react-better-auth/templates/src/services/auth-client.ts +0 -2
  34. package/dist/common/components/auth-config-tabs.d.ts.map +1 -1
  35. package/dist/common/components/auth-config-tabs.js +1 -1
  36. package/dist/common/components/auth-config-tabs.js.map +1 -1
  37. package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/admin-crud-manage-roles-action.generator.d.ts +78 -64
  38. package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/admin-crud-manage-roles-action.generator.d.ts.map +1 -1
  39. package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/admin-crud-manage-roles-action.generator.js +5 -3
  40. package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/admin-crud-manage-roles-action.generator.js.map +1 -1
  41. package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/generated/index.d.ts +78 -64
  42. package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/generated/index.d.ts.map +1 -1
  43. package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/generated/template-renderers.d.ts +39 -32
  44. package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/generated/template-renderers.d.ts.map +1 -1
  45. package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/generated/typed-templates.d.ts +39 -32
  46. package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/generated/typed-templates.d.ts.map +1 -1
  47. package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/templates/routes/-components/role-manager-dialog.d.ts +2 -2
  48. package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/templates/routes/-components/role-manager-dialog.d.ts.map +1 -1
  49. package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/templates/routes/-components/role-manager-dialog.js +6 -6
  50. package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/templates/routes/-components/role-manager-dialog.js.map +1 -1
  51. package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/templates/routes/-components/role-manager-dialog.tsx +9 -12
  52. package/dist/local-auth/admin/generators/admin-crud-reset-password-action/admin-crud-reset-password-action.generator.d.ts +78 -64
  53. package/dist/local-auth/admin/generators/admin-crud-reset-password-action/admin-crud-reset-password-action.generator.d.ts.map +1 -1
  54. package/dist/local-auth/admin/generators/admin-crud-reset-password-action/admin-crud-reset-password-action.generator.js +5 -3
  55. package/dist/local-auth/admin/generators/admin-crud-reset-password-action/admin-crud-reset-password-action.generator.js.map +1 -1
  56. package/dist/local-auth/admin/generators/admin-crud-reset-password-action/generated/index.d.ts +78 -64
  57. package/dist/local-auth/admin/generators/admin-crud-reset-password-action/generated/index.d.ts.map +1 -1
  58. package/dist/local-auth/admin/generators/admin-crud-reset-password-action/generated/template-renderers.d.ts +39 -32
  59. package/dist/local-auth/admin/generators/admin-crud-reset-password-action/generated/template-renderers.d.ts.map +1 -1
  60. package/dist/local-auth/admin/generators/admin-crud-reset-password-action/generated/typed-templates.d.ts +78 -64
  61. package/dist/local-auth/admin/generators/admin-crud-reset-password-action/generated/typed-templates.d.ts.map +1 -1
  62. package/dist/local-auth/admin/generators/admin-crud-reset-password-action/templates/routes/-components/password-reset-dialog.d.ts +2 -2
  63. package/dist/local-auth/admin/generators/admin-crud-reset-password-action/templates/routes/-components/password-reset-dialog.d.ts.map +1 -1
  64. package/dist/local-auth/admin/generators/admin-crud-reset-password-action/templates/routes/-components/password-reset-dialog.js +6 -6
  65. package/dist/local-auth/admin/generators/admin-crud-reset-password-action/templates/routes/-components/password-reset-dialog.js.map +1 -1
  66. package/dist/local-auth/admin/generators/admin-crud-reset-password-action/templates/routes/-components/password-reset-dialog.tsx +9 -12
  67. package/dist/local-auth/admin/generators/admin-crud-roles-column/admin-crud-roles-column.generator.d.ts +37 -25
  68. package/dist/local-auth/admin/generators/admin-crud-roles-column/admin-crud-roles-column.generator.d.ts.map +1 -1
  69. package/dist/local-auth/core/generators/auth-hooks/auth-hooks.generator.d.ts +2 -7
  70. package/dist/local-auth/core/generators/auth-hooks/auth-hooks.generator.d.ts.map +1 -1
  71. package/dist/local-auth/core/generators/auth-hooks/generated/index.d.ts +6 -21
  72. package/dist/local-auth/core/generators/auth-hooks/generated/index.d.ts.map +1 -1
  73. package/dist/local-auth/core/generators/auth-hooks/generated/template-renderers.d.ts +2 -7
  74. package/dist/local-auth/core/generators/auth-hooks/generated/template-renderers.d.ts.map +1 -1
  75. package/dist/local-auth/core/generators/auth-hooks/generated/typed-templates.d.ts +8 -28
  76. package/dist/local-auth/core/generators/auth-hooks/generated/typed-templates.d.ts.map +1 -1
  77. package/dist/local-auth/core/generators/auth-hooks/templates/src/hooks/use-session.d.ts +2 -2
  78. package/dist/local-auth/core/generators/auth-hooks/templates/src/hooks/use-session.d.ts.map +1 -1
  79. package/dist/local-auth/core/generators/auth-hooks/templates/src/hooks/use-session.js.map +1 -1
  80. package/dist/local-auth/core/generators/auth-hooks/templates/src/hooks/use-session.ts +3 -3
  81. package/dist/local-auth/core/generators/auth-routes/auth-routes.generator.d.ts +39 -32
  82. package/dist/local-auth/core/generators/auth-routes/auth-routes.generator.d.ts.map +1 -1
  83. package/dist/local-auth/core/generators/auth-routes/generated/index.d.ts +234 -192
  84. package/dist/local-auth/core/generators/auth-routes/generated/index.d.ts.map +1 -1
  85. package/dist/local-auth/core/generators/auth-routes/generated/template-renderers.d.ts +39 -32
  86. package/dist/local-auth/core/generators/auth-routes/generated/template-renderers.d.ts.map +1 -1
  87. package/dist/local-auth/core/generators/auth-routes/generated/typed-templates.d.ts +351 -288
  88. package/dist/local-auth/core/generators/auth-routes/generated/typed-templates.d.ts.map +1 -1
  89. package/dist/local-auth/core/generators/react-session/generated/index.d.ts +78 -64
  90. package/dist/local-auth/core/generators/react-session/generated/index.d.ts.map +1 -1
  91. package/dist/local-auth/core/generators/react-session/generated/template-renderers.d.ts +39 -32
  92. package/dist/local-auth/core/generators/react-session/generated/template-renderers.d.ts.map +1 -1
  93. package/dist/local-auth/core/generators/react-session/generated/typed-templates.d.ts +78 -64
  94. package/dist/local-auth/core/generators/react-session/generated/typed-templates.d.ts.map +1 -1
  95. package/dist/local-auth/core/generators/react-session/react-session.generator.d.ts +39 -32
  96. package/dist/local-auth/core/generators/react-session/react-session.generator.d.ts.map +1 -1
  97. package/dist/web/assets/{__federation_expose_authCoreCommon-CIVhaGqo.js → __federation_expose_authCoreCommon-CnNoa4tF.js} +4 -3
  98. package/dist/web/assets/__federation_expose_authCoreCommon-CnNoa4tF.js.map +1 -0
  99. package/dist/web/assets/{__federation_expose_authCoreWeb-N-mh42Bs.js → __federation_expose_authCoreWeb-BL_U7yuj.js} +60 -65
  100. package/dist/web/assets/__federation_expose_authCoreWeb-BL_U7yuj.js.map +1 -0
  101. package/dist/web/assets/{__federation_expose_better-authCoreCommon-BIU3Fg7K.js → __federation_expose_better-authCoreCommon-D-mTcxYO.js} +3 -3
  102. package/dist/web/assets/{__federation_expose_better-authCoreCommon-BIU3Fg7K.js.map → __federation_expose_better-authCoreCommon-D-mTcxYO.js.map} +1 -1
  103. package/dist/web/assets/{__federation_expose_better-authCoreWeb-CMhPrXPA.js → __federation_expose_better-authCoreWeb-CXHL-Ghf.js} +5 -5
  104. package/dist/web/assets/{__federation_expose_better-authCoreWeb-CMhPrXPA.js.map → __federation_expose_better-authCoreWeb-CXHL-Ghf.js.map} +1 -1
  105. package/dist/web/assets/{__federation_expose_local-authAdminCommon-DvHe9w29.js → __federation_expose_local-authAdminCommon-LIsARRNU.js} +2 -2
  106. package/dist/web/assets/{__federation_expose_local-authAdminCommon-DvHe9w29.js.map → __federation_expose_local-authAdminCommon-LIsARRNU.js.map} +1 -1
  107. package/dist/web/assets/{__federation_expose_local-authAdminWeb-CLU9aEy9.js → __federation_expose_local-authAdminWeb-DyYUDLm9.js} +2 -2
  108. package/dist/web/assets/{__federation_expose_local-authAdminWeb-CLU9aEy9.js.map → __federation_expose_local-authAdminWeb-DyYUDLm9.js.map} +1 -1
  109. package/dist/web/assets/{__federation_expose_local-authCoreCommon-DbuvGG7o.js → __federation_expose_local-authCoreCommon-p_UbExc7.js} +3 -3
  110. package/dist/web/assets/{__federation_expose_local-authCoreCommon-DbuvGG7o.js.map → __federation_expose_local-authCoreCommon-p_UbExc7.js.map} +1 -1
  111. package/dist/web/assets/{__federation_expose_local-authCoreWeb-BY-mP3uS.js → __federation_expose_local-authCoreWeb-8TcUJFT6.js} +5 -5
  112. package/dist/web/assets/{__federation_expose_local-authCoreWeb-BY-mP3uS.js.map → __federation_expose_local-authCoreWeb-8TcUJFT6.js.map} +1 -1
  113. package/dist/web/assets/{__federation_expose_placeholder-authCoreCommon-BJBCuZvU.js → __federation_expose_placeholder-authCoreCommon-CtZXaDUc.js} +3 -3
  114. package/dist/web/assets/{__federation_expose_placeholder-authCoreCommon-BJBCuZvU.js.map → __federation_expose_placeholder-authCoreCommon-CtZXaDUc.js.map} +1 -1
  115. package/dist/web/assets/{__federation_expose_placeholder-authCoreWeb-BaV-Ko2C.js → __federation_expose_placeholder-authCoreWeb-CZAKokTb.js} +5 -5
  116. package/dist/web/assets/{__federation_expose_placeholder-authCoreWeb-BaV-Ko2C.js.map → __federation_expose_placeholder-authCoreWeb-CZAKokTb.js.map} +1 -1
  117. package/dist/web/assets/{__federation_fn_import-BLFDCY-V.js → __federation_fn_import-3DENgil8.js} +2 -2
  118. package/dist/web/assets/{__federation_fn_import-BLFDCY-V.js.map → __federation_fn_import-3DENgil8.js.map} +1 -1
  119. package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib/{web-bRU6KpPk.js → web-B5bdbzFj.js} +8 -8
  120. package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib/web-B5bdbzFj.js.map +1 -0
  121. package/dist/web/assets/__federation_shared_@baseplate-dev/{project-builder-lib-CQKLkNsU.js → project-builder-lib-DCA3vO4J.js} +319 -34
  122. package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib-DCA3vO4J.js.map +1 -0
  123. package/dist/web/assets/__federation_shared_@baseplate-dev/{ui-components-DhyoEUTy.js → ui-components-BvL7RO9S.js} +49747 -33379
  124. package/dist/web/assets/__federation_shared_@baseplate-dev/ui-components-BvL7RO9S.js.map +1 -0
  125. package/dist/web/assets/__federation_shared_@baseplate-dev/{utils-9w-0yxVZ.js → utils-0-N5BG4T.js} +3 -2
  126. package/dist/web/assets/__federation_shared_@baseplate-dev/utils-0-N5BG4T.js.map +1 -0
  127. package/dist/web/assets/__federation_shared_@tanstack/{react-router-CbExBaoL.js → react-router-DSniiJ6U.js} +3 -200
  128. package/dist/web/assets/__federation_shared_@tanstack/react-router-DSniiJ6U.js.map +1 -0
  129. package/dist/web/assets/{get-auth-plugin-definition-BL50g0cJ.js → get-auth-plugin-definition-DHcbFujw.js} +2 -2
  130. package/dist/web/assets/{get-auth-plugin-definition-BL50g0cJ.js.map → get-auth-plugin-definition-DHcbFujw.js.map} +1 -1
  131. package/dist/web/assets/{index-B_A3cgiy.js → index-DQKNnI1w.js} +5 -5
  132. package/dist/web/assets/{index-B_A3cgiy.js.map → index-DQKNnI1w.js.map} +1 -1
  133. package/dist/web/assets/{index.esm-BraHxHLB.js → index.esm-Dpqxgpya.js} +2 -2
  134. package/dist/web/assets/{index.esm-BraHxHLB.js.map → index.esm-Dpqxgpya.js.map} +1 -1
  135. package/dist/web/assets/{model-utils-BfcjfzCn.js → model-utils-BFX3c3dn.js} +2 -2
  136. package/dist/web/assets/{model-utils-BfcjfzCn.js.map → model-utils-BFX3c3dn.js.map} +1 -1
  137. package/dist/web/assets/{plugin-definition-DJzXScRp.js → plugin-definition-B86WQ7Ni.js} +2 -2
  138. package/dist/web/assets/{plugin-definition-DJzXScRp.js.map → plugin-definition-B86WQ7Ni.js.map} +1 -1
  139. package/dist/web/assets/{plugin-definition-CXnKUJ1l.js → plugin-definition-CEQb6mWV.js} +2 -2
  140. package/dist/web/assets/{plugin-definition-CXnKUJ1l.js.map → plugin-definition-CEQb6mWV.js.map} +1 -1
  141. package/dist/web/assets/{plugin-definition-Ckl5hjD1.js → plugin-definition-DrsKbcJc.js} +2 -2
  142. package/dist/web/assets/{plugin-definition-Ckl5hjD1.js.map → plugin-definition-DrsKbcJc.js.map} +1 -1
  143. package/dist/web/assets/{plugin-definition-D26rR8AB.js → plugin-definition-KEpaSB6p.js} +2 -2
  144. package/dist/web/assets/{plugin-definition-D26rR8AB.js.map → plugin-definition-KEpaSB6p.js.map} +1 -1
  145. package/dist/web/assets/{react-CL9M_wyN.js → react-hu8Hx0R4.js} +2 -2
  146. package/dist/web/assets/{react-CL9M_wyN.js.map → react-hu8Hx0R4.js.map} +1 -1
  147. package/dist/web/assets/remoteEntry.js +10 -10
  148. package/dist/web/assets/{styles-tkrWV-ZE.js → styles-CpKtlIgU.js} +24 -14
  149. package/dist/web/assets/styles-CpKtlIgU.js.map +1 -0
  150. package/dist/web/assets/with-selector-DTXBONcE.js +201 -0
  151. package/dist/web/assets/with-selector-DTXBONcE.js.map +1 -0
  152. package/package.json +19 -22
  153. package/dist/web/assets/__federation_expose_authCoreCommon-CIVhaGqo.js.map +0 -1
  154. package/dist/web/assets/__federation_expose_authCoreWeb-N-mh42Bs.js.map +0 -1
  155. package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib/web-bRU6KpPk.js.map +0 -1
  156. package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib-CQKLkNsU.js.map +0 -1
  157. package/dist/web/assets/__federation_shared_@baseplate-dev/ui-components-DhyoEUTy.js.map +0 -1
  158. package/dist/web/assets/__federation_shared_@baseplate-dev/utils-9w-0yxVZ.js.map +0 -1
  159. package/dist/web/assets/__federation_shared_@tanstack/react-router-CbExBaoL.js.map +0 -1
  160. package/dist/web/assets/styles-tkrWV-ZE.js.map +0 -1
@@ -1,7 +1,7 @@
1
- import { c as createFieldMapSpec, a as createEntityType, d as definitionSchemaWithSlots, b as definitionRefRegistry, e as definitionDefaultRegistry, f as definitionSchema, g as featureEntityType, w as withDefault, r as runInPluginContext, h as createFeaturesSchema, M as ModelUtils, i as createDefinitionSchemaParserContext } from '../model-utils-BfcjfzCn.js';
2
- export { D as DefinitionEntityType, F as FeatureUtils, j as createFeatureSchema, k as createPluginFieldMap, l as createPluginSpec, m as createRefContextSlot, n as createRefContextSlotMap, o as featureNameSchema, p as getPluginContext, q as withEnt, s as withPlaceholderSlots, t as withRef } from '../model-utils-BfcjfzCn.js';
1
+ import { c as createFieldMapSpec, a as createEntityType, d as definitionSchemaWithSlots, b as definitionRefRegistry, e as definitionDefaultRegistry, f as definitionSchema, g as featureEntityType, w as withDefault, r as runInPluginContext, h as createFeaturesSchema, M as ModelUtils, i as createDefinitionSchemaParserContext } from '../model-utils-BFX3c3dn.js';
2
+ export { D as DefinitionEntityType, F as FeatureUtils, j as createFeatureSchema, k as createPluginFieldMap, l as createPluginSpec, m as createRefContextSlot, n as createRefContextSlotMap, o as featureNameSchema, p as getPluginContext, q as withEnt, s as withPlaceholderSlots, t as withRef } from '../model-utils-BFX3c3dn.js';
3
3
  import { g as getSymbols, a as getTag, u as uint32ArrayTag, b as uint16ArrayTag, c as uint8ClampedArrayTag, d as uint8ArrayTag, s as symbolTag, e as stringTag, f as setTag, r as regexpTag, o as objectTag, n as numberTag, m as mapTag, i as int32ArrayTag, h as int16ArrayTag, j as int8ArrayTag, k as float64ArrayTag, l as float32ArrayTag, p as dateTag, q as booleanTag, t as dataViewTag, v as arrayBufferTag, w as arrayTag, x as argumentsTag, y as isPlainObject$1, z as isEqualsSameValueZero, A as isEqual } from '../isEqual-tnzoadW8.js';
4
- import { importShared } from '../__federation_fn_import-BLFDCY-V.js';
4
+ import { importShared } from '../__federation_fn_import-3DENgil8.js';
5
5
  import { m as mergeWith, i as isUnsafeProperty, s as sortBy } from '../mergeWith-VagwCqUi.js';
6
6
 
7
7
  const adminCrudActionCompilerSpec = createFieldMapSpec('core/admin-crud-action-compiler', (t) => ({
@@ -709,7 +709,6 @@ const createBackendAppSchema = definitionSchemaWithSlots({ appSlot: appEntityTyp
709
709
  ...baseAppValidators,
710
710
  type: z$z.literal('backend'),
711
711
  devPort: z$z.number().int().positive(),
712
- enableStripe: z$z.boolean().optional(),
713
712
  enableSubscriptions: z$z.boolean().optional(),
714
713
  enableAxios: z$z.boolean().optional(),
715
714
  }));
@@ -7069,22 +7068,57 @@ function convertLogicalExpression(node) {
7069
7068
  };
7070
7069
  }
7071
7070
  /**
7072
- * Convert a BinaryExpression (===) to FieldComparisonNode.
7071
+ * Convert a BinaryExpression (=== or !==) to FieldComparisonNode.
7073
7072
  */
7074
7073
  function convertBinaryExpression(node) {
7075
- if (node.operator !== '===') {
7076
- throw new AuthorizerExpressionParseError(`Unsupported comparison operator: ${node.operator}. Only === is supported.`, node.left.end, node.right.start);
7074
+ if (node.operator !== '===' && node.operator !== '!==') {
7075
+ throw new AuthorizerExpressionParseError(`Unsupported comparison operator: ${node.operator}. Only === and !== are supported.`, node.left.end, node.right.start);
7076
+ }
7077
+ const left = convertFieldRefOrLiteral(node.left);
7078
+ const right = convertFieldRefOrLiteral(node.right);
7079
+ // At least one side must be a field reference — comparing two literals is not allowed.
7080
+ if (left.type === 'literalValue' && right.type === 'literalValue') {
7081
+ throw new AuthorizerExpressionParseError('At least one side of a comparison must be a field reference (e.g., model.field or userId).', node);
7077
7082
  }
7078
- // Acorn's BinaryExpression allows PrivateIdentifier for ES2022+, but we only
7079
- // support MemberExpression field refs. convertFieldRef will throw if given
7080
- // anything other than MemberExpression.
7081
7083
  return {
7082
7084
  type: 'fieldComparison',
7083
- operator: '===',
7084
- left: convertFieldRef(node.left),
7085
- right: convertFieldRef(node.right),
7085
+ operator: node.operator,
7086
+ left,
7087
+ right,
7086
7088
  };
7087
7089
  }
7090
+ /**
7091
+ * Convert an expression node to either a FieldRefNode or a LiteralValueNode.
7092
+ * Supports string, number, and boolean literals.
7093
+ */
7094
+ function convertFieldRefOrLiteral(node) {
7095
+ if (node.type === 'UnaryExpression' &&
7096
+ (node.operator === '-' || node.operator === '+') &&
7097
+ node.argument.type === 'Literal' &&
7098
+ typeof node.argument.value === 'number') {
7099
+ return {
7100
+ type: 'literalValue',
7101
+ value: node.operator === '-' ? -node.argument.value : node.argument.value,
7102
+ start: node.start,
7103
+ end: node.end,
7104
+ };
7105
+ }
7106
+ if (node.type === 'Literal') {
7107
+ const { value } = node;
7108
+ if (typeof value === 'string' ||
7109
+ typeof value === 'number' ||
7110
+ typeof value === 'boolean') {
7111
+ return {
7112
+ type: 'literalValue',
7113
+ value,
7114
+ start: node.start,
7115
+ end: node.end,
7116
+ };
7117
+ }
7118
+ throw new AuthorizerExpressionParseError('Unsupported literal type. Only string, number, and boolean literals are supported.', node);
7119
+ }
7120
+ return convertFieldRef(node);
7121
+ }
7088
7122
  /**
7089
7123
  * Convert a CallExpression to HasRoleNode or HasSomeRoleNode.
7090
7124
  * Supports:
@@ -7287,8 +7321,12 @@ function extractInfo(ast) {
7287
7321
  function walk(node) {
7288
7322
  switch (node.type) {
7289
7323
  case 'fieldComparison': {
7290
- walkFieldRef(node.left);
7291
- walkFieldRef(node.right);
7324
+ if (node.left.type === 'fieldRef') {
7325
+ walkFieldRef(node.left);
7326
+ }
7327
+ if (node.right.type === 'fieldRef') {
7328
+ walkFieldRef(node.right);
7329
+ }
7292
7330
  break;
7293
7331
  }
7294
7332
  case 'hasRole': {
@@ -7413,8 +7451,10 @@ class RefExpressionParser {
7413
7451
  */
7414
7452
  const authConfigSpec = createFieldMapSpec('core/auth-config', (t) => ({
7415
7453
  getAuthConfig: t.scalar(),
7454
+ pluginKey: t.scalar(),
7416
7455
  }), {
7417
7456
  use: (values) => ({
7457
+ pluginKey: values.pluginKey,
7418
7458
  getAuthConfig: (definition) => values.getAuthConfig?.(definition),
7419
7459
  getAuthConfigOrThrow: (definition) => {
7420
7460
  const config = values.getAuthConfig?.(definition);
@@ -7487,8 +7527,24 @@ function validateAuthorizerExpression(ast, modelContext, pluginStore, definition
7487
7527
  function walk(node) {
7488
7528
  switch (node.type) {
7489
7529
  case 'fieldComparison': {
7490
- validateFieldRef(node.left);
7491
- validateFieldRef(node.right);
7530
+ if (node.left.type === 'fieldRef') {
7531
+ validateFieldRef(node.left);
7532
+ }
7533
+ if (node.right.type === 'fieldRef') {
7534
+ validateFieldRef(node.right);
7535
+ }
7536
+ // Type-check: warn if a model field is compared to an incompatible literal
7537
+ const fieldRef = node.left.type === 'fieldRef' ? node.left : node.right;
7538
+ const literalNode = node.left.type === 'literalValue'
7539
+ ? node.left
7540
+ : node.right.type === 'literalValue'
7541
+ ? node.right
7542
+ : null;
7543
+ if (fieldRef.type === 'fieldRef' &&
7544
+ fieldRef.source === 'model' &&
7545
+ literalNode !== null) {
7546
+ validateLiteralTypeCompatibility(fieldRef, literalNode);
7547
+ }
7492
7548
  break;
7493
7549
  }
7494
7550
  case 'hasRole': {
@@ -7578,6 +7634,45 @@ function validateAuthorizerExpression(ast, modelContext, pluginStore, definition
7578
7634
  }
7579
7635
  }
7580
7636
  }
7637
+ function validateLiteralTypeCompatibility(fieldRefNode, literalNode) {
7638
+ const { fieldTypes } = modelContext;
7639
+ const fieldType = fieldTypes.get(fieldRefNode.field);
7640
+ if (!fieldType)
7641
+ return;
7642
+ const literalJsType = typeof literalNode.value;
7643
+ // Determine which JS types are compatible with each field type
7644
+ const isCompatible = (() => {
7645
+ switch (fieldType) {
7646
+ case 'boolean': {
7647
+ return literalJsType === 'boolean';
7648
+ }
7649
+ case 'int': {
7650
+ return (typeof literalNode.value === 'number' &&
7651
+ Number.isInteger(literalNode.value));
7652
+ }
7653
+ case 'float':
7654
+ case 'decimal': {
7655
+ return literalJsType === 'number';
7656
+ }
7657
+ case 'string':
7658
+ case 'uuid':
7659
+ case 'enum': {
7660
+ return literalJsType === 'string';
7661
+ }
7662
+ default: {
7663
+ // Unknown or unsupported field type — no warning
7664
+ return true;
7665
+ }
7666
+ }
7667
+ })();
7668
+ if (!isCompatible) {
7669
+ warnings.push({
7670
+ message: `Literal value type '${literalJsType}' is not compatible with field '${fieldRefNode.field}' of type '${fieldType}'.`,
7671
+ start: literalNode.start,
7672
+ end: literalNode.end,
7673
+ });
7674
+ }
7675
+ }
7581
7676
  function validateFieldRef(node) {
7582
7677
  if (node.source === 'model') {
7583
7678
  // Check if field exists on model
@@ -7642,12 +7737,15 @@ function buildRelationValidationInfo(modelRelations, allModels) {
7642
7737
  */
7643
7738
  function createModelValidationContext(modelConfig) {
7644
7739
  const scalarFieldNames = new Set();
7645
- for (const field of modelConfig.fields ?? []) {
7740
+ const fieldTypes = new Map();
7741
+ for (const field of modelConfig.model.fields) {
7646
7742
  scalarFieldNames.add(field.name);
7743
+ fieldTypes.set(field.name, field.type);
7647
7744
  }
7648
7745
  return {
7649
7746
  modelName: modelConfig.name,
7650
7747
  scalarFieldNames,
7748
+ fieldTypes,
7651
7749
  };
7652
7750
  }
7653
7751
 
@@ -7759,9 +7857,13 @@ class AuthorizerExpressionParser extends RefExpressionParser {
7759
7857
  }
7760
7858
  // Model fields are nested under model.model.fields in the definition
7761
7859
  const scalarFieldNames = new Set();
7860
+ const fieldTypes = new Map();
7762
7861
  for (const field of model.model?.fields ?? []) {
7763
7862
  if (typeof field.name === 'string') {
7764
7863
  scalarFieldNames.add(field.name);
7864
+ if (typeof field.type === 'string') {
7865
+ fieldTypes.set(field.name, field.type);
7866
+ }
7765
7867
  }
7766
7868
  }
7767
7869
  // Build relation info for nested authorizer validation
@@ -7778,6 +7880,7 @@ class AuthorizerExpressionParser extends RefExpressionParser {
7778
7880
  return {
7779
7881
  modelName: model.name,
7780
7882
  scalarFieldNames,
7883
+ fieldTypes,
7781
7884
  relationInfo,
7782
7885
  };
7783
7886
  }
@@ -9190,8 +9293,11 @@ function extractDefinitionRefs(schema, value) {
9190
9293
  if (data === null || data === undefined || typeof data !== 'object')
9191
9294
  return;
9192
9295
  const id = get$1(data, meta.idPath);
9193
- if (typeof id !== 'string' || !id || !meta.type.isId(id)) {
9194
- throw new Error(`Unable to find valid id field '${meta.idPath.join('.')}' in entity ${meta.type.name} at path ${context.path.join('.')}`);
9296
+ if (typeof id !== 'string' || !id) {
9297
+ throw new Error(`Unable to find id field '${meta.idPath.join('.')}' in entity ${meta.type.name} at path ${context.path.join('.')}`);
9298
+ }
9299
+ if (!meta.type.isId(id)) {
9300
+ throw new Error(`Invalid id field '${id}' in entity ${meta.type.name} at path ${context.path.join('.')}. Expected prefix: ${meta.type.prefix}. Got: ${id}`);
9195
9301
  }
9196
9302
  const nameResolver = (() => {
9197
9303
  if (meta.getNameResolver) {
@@ -10583,6 +10689,9 @@ const modelScalarFieldEntityType = createEntityType('model-scalar-field', {
10583
10689
  const modelLocalRelationEntityType = createEntityType('model-local-relation', { parentType: modelEntityType });
10584
10690
  const modelForeignRelationEntityType = createEntityType('model-foreign-relation', { parentType: modelEntityType });
10585
10691
  const modelUniqueConstraintEntityType = createEntityType('model-unique-constraint', { parentType: modelEntityType });
10692
+ const modelIndexEntityType = createEntityType('model-index', {
10693
+ parentType: modelEntityType,
10694
+ });
10586
10695
  const modelTransformerEntityType = createEntityType('model-transformer', { parentType: modelEntityType });
10587
10696
  const modelEnumEntityType = createEntityType('model-enum');
10588
10697
  const modelEnumValueEntityType = createEntityType('model-enum-value', {
@@ -11193,6 +11302,25 @@ const createModelUniqueConstraintSchema = definitionSchemaWithSlots({ modelSlot:
11193
11302
  });
11194
11303
  },
11195
11304
  }));
11305
+ const createModelIndexSchema = definitionSchemaWithSlots({ modelSlot: modelEntityType }, (ctx, { modelSlot }) => ctx.withEnt(z$q.object({
11306
+ id: z$q.string(),
11307
+ fields: z$q.array(z$q.object({
11308
+ fieldRef: ctx.withRef({
11309
+ type: modelScalarFieldEntityType,
11310
+ onDelete: 'RESTRICT',
11311
+ parentSlot: modelSlot,
11312
+ }),
11313
+ })),
11314
+ }), {
11315
+ type: modelIndexEntityType,
11316
+ parentSlot: modelSlot,
11317
+ getNameResolver(value) {
11318
+ return createDefinitionEntityNameResolver({
11319
+ idsToResolve: { fields: value.fields.map((f) => f.fieldRef) },
11320
+ resolveName: (entityNames) => entityNames.fields.join('_'),
11321
+ });
11322
+ },
11323
+ }));
11196
11324
  /**
11197
11325
  * Checks that enabled service methods have at least one field or transformer.
11198
11326
  */
@@ -11387,6 +11515,9 @@ const createModelBaseSchema = definitionSchemaWithSlots({ modelSlot: modelEntity
11387
11515
  uniqueConstraints: z$q
11388
11516
  .array(createModelUniqueConstraintSchema(ctx, slots))
11389
11517
  .apply(withDefault([])),
11518
+ indexes: z$q
11519
+ .array(createModelIndexSchema(ctx, slots))
11520
+ .apply(withDefault([])),
11390
11521
  }),
11391
11522
  service: createModelServiceSchema(ctx, slots).apply(withDefault({})),
11392
11523
  graphql: ctx.withDefault(createModelGraphqlSchema(ctx, slots), {}),
@@ -12082,6 +12213,7 @@ const pluginConfigSpec = createFieldMapSpec('core/plugin-config', (t) => ({
12082
12213
  },
12083
12214
  });
12084
12215
 
12216
+ const {enhanceErrorWithContext} = await importShared('@baseplate-dev/utils');
12085
12217
  function runPluginMigrations(projectDefinition, pluginSpecStore) {
12086
12218
  const pluginConfigService = pluginSpecStore.use(pluginConfigSpec);
12087
12219
  return produce(projectDefinition, (draft) => {
@@ -12105,7 +12237,7 @@ function runPluginMigrations(projectDefinition, pluginSpecStore) {
12105
12237
  }
12106
12238
  }
12107
12239
  catch (error) {
12108
- throw new Error(`Error migrating plugin ${pluginDefinition.id} to version ${migration.version}: ${String(error)}`);
12240
+ throw enhanceErrorWithContext(error, `Error migrating plugin ${pluginDefinition.id} to version ${migration.version}`);
12109
12241
  }
12110
12242
  }
12111
12243
  }
@@ -12621,6 +12753,9 @@ function getModelValidator(modelField) {
12621
12753
  case 'uuid': {
12622
12754
  return 'string()';
12623
12755
  }
12756
+ case 'json': {
12757
+ return 'unknown()';
12758
+ }
12624
12759
  default: {
12625
12760
  throw new Error(`Unsupported validator for ${modelField.type}`);
12626
12761
  }
@@ -12873,12 +13008,13 @@ const PluginUtils = {
12873
13008
  * at every schema node.
12874
13009
  *
12875
13010
  * Unlike `walkDataWithSchema`, this operates on the schema alone.
12876
- * Only deterministic navigation steps produce path elements:
12877
- * - Object keys and tuple indices add path elements
12878
- * - Arrays of discriminated unions add `discriminated-union-array` elements
12879
- * (one per branch)
13011
+ * Every structural descent produces a path element:
13012
+ * - Object keys `object-key`
13013
+ * - Tuple indices `tuple-index`
13014
+ * - Arrays of discriminated unions → `discriminated-union-array` (one per branch)
13015
+ * - Plain arrays → `array`
13016
+ * - Records → `record`
12880
13017
  * - Discriminated unions on objects are transparent (no path element)
12881
- * - Plain arrays and records are descended into without path elements
12882
13018
  *
12883
13019
  * Uses a `Set<z.ZodType>` circular-reference guard with delete-on-backtrack
12884
13020
  * so the same schema can appear at different paths.
@@ -12930,8 +13066,8 @@ function walkNode(schema, path, visitors, visited) {
12930
13066
  walkDiscriminatedUnionArrayBranches(unwrappedElement, path, visitors, visited);
12931
13067
  }
12932
13068
  else {
12933
- // Plain array — descend without adding a path element
12934
- walkNode(children.elementSchema, path, visitors, visited);
13069
+ // Plain array — descend with an array path element
13070
+ walkNode(children.elementSchema, [...path, { type: 'array' }], visitors, visited);
12935
13071
  }
12936
13072
  break;
12937
13073
  }
@@ -12954,8 +13090,8 @@ function walkNode(schema, path, visitors, visited) {
12954
13090
  break;
12955
13091
  }
12956
13092
  case 'record': {
12957
- // Non-deterministicwalk without path element
12958
- walkNode(children.valueSchema, path, visitors, visited);
13093
+ // Recorddescend with a record path element
13094
+ walkNode(children.valueSchema, [...path, { type: 'record' }], visitors, visited);
12959
13095
  break;
12960
13096
  }
12961
13097
  case 'intersection': {
@@ -13109,7 +13245,10 @@ function collectEntityMetadata(schema) {
13109
13245
  `but no such entity was found in the ancestor chain`);
13110
13246
  }
13111
13247
  parentEntityTypeName = parentType.name;
13112
- relativePath = ctx.path.slice(parentEntry.pathAtEntity.length);
13248
+ // Strip the first element — it is always an array or
13249
+ // discriminated-union-array that describes how to enter the parent's
13250
+ // array, not how to navigate from the parent entity to this child.
13251
+ relativePath = ctx.path.slice(parentEntry.pathAtEntity.length + 1);
13113
13252
  }
13114
13253
  else {
13115
13254
  // Top-level entity: relative path is the full path
@@ -18821,6 +18960,86 @@ const migration026QuerySharedRoles = createSchemaMigration({
18821
18960
  },
18822
18961
  });
18823
18962
 
18963
+ const SENTRY_PLUGIN_ID = 'plugin:baseplate-dev_plugin-observability_sentry';
18964
+ /**
18965
+ * Migration to auto-enable the Sentry plugin on all existing projects.
18966
+ *
18967
+ * Sentry was previously always-on (hardcoded in compilers). Now that it's been
18968
+ * extracted into plugin-observability, existing projects need the plugin entry
18969
+ * added so they don't lose Sentry when upgrading.
18970
+ */
18971
+ const migration027EnableSentryPlugin = createSchemaMigration({
18972
+ version: 27,
18973
+ name: 'enableSentryPlugin',
18974
+ description: 'Auto-enable Sentry plugin for existing projects (previously always-on)',
18975
+ migrate: (config) => {
18976
+ const plugins = config.plugins ? [...config.plugins] : [];
18977
+ // Skip if sentry plugin already exists
18978
+ const existingIndex = plugins.findIndex((p) => p.id === SENTRY_PLUGIN_ID);
18979
+ if (existingIndex === -1) {
18980
+ plugins.push({
18981
+ id: SENTRY_PLUGIN_ID,
18982
+ name: 'sentry',
18983
+ packageName: '@baseplate-dev/plugin-observability',
18984
+ version: '0.1.0',
18985
+ config: {
18986
+ sentryOptions: {},
18987
+ },
18988
+ });
18989
+ }
18990
+ return {
18991
+ ...config,
18992
+ plugins,
18993
+ };
18994
+ },
18995
+ });
18996
+
18997
+ const STRIPE_PLUGIN_ID = 'plugin:baseplate-dev_plugin-payments_stripe';
18998
+ /**
18999
+ * Migration to convert enableStripe boolean on backend apps into a
19000
+ * plugin-payments:stripe plugin entry, and remove enableStripe from app configs.
19001
+ *
19002
+ * Stripe was previously toggled via a boolean on the backend app config.
19003
+ * Now that it's been extracted into plugin-payments, existing projects need
19004
+ * the plugin entry added so they don't lose Stripe when upgrading.
19005
+ */
19006
+ const migration028EnableStripePlugin = createSchemaMigration({
19007
+ version: 28,
19008
+ name: 'enableStripePlugin',
19009
+ description: 'Convert enableStripe boolean to plugin-payments:stripe plugin entry',
19010
+ migrate: (config) => {
19011
+ const apps = config.apps ? [...config.apps] : [];
19012
+ const plugins = config.plugins ? [...config.plugins] : [];
19013
+ // Check if any app has enableStripe
19014
+ const hasStripeEnabled = apps.some((app) => app.enableStripe);
19015
+ // Add stripe plugin if any app had it enabled and it doesn't already exist
19016
+ if (hasStripeEnabled) {
19017
+ const existingIndex = plugins.findIndex((p) => p.id === STRIPE_PLUGIN_ID);
19018
+ if (existingIndex === -1) {
19019
+ plugins.push({
19020
+ id: STRIPE_PLUGIN_ID,
19021
+ name: 'stripe',
19022
+ packageName: '@baseplate-dev/plugin-payments',
19023
+ version: '0.1.0',
19024
+ config: {
19025
+ stripeOptions: {},
19026
+ },
19027
+ });
19028
+ }
19029
+ }
19030
+ // Remove enableStripe from all app configs
19031
+ const updatedApps = apps.map((app) => {
19032
+ const { enableStripe: _, ...rest } = app;
19033
+ return rest;
19034
+ });
19035
+ return {
19036
+ ...config,
19037
+ apps: updatedApps,
19038
+ plugins,
19039
+ };
19040
+ },
19041
+ });
19042
+
18824
19043
  const SCHEMA_MIGRATIONS = [
18825
19044
  migration005PrimaryUniqueRefs,
18826
19045
  migration006IndividualServiceControllers,
@@ -18844,6 +19063,8 @@ const SCHEMA_MIGRATIONS = [
18844
19063
  migration024GraphqlObjectTypeFieldAuth,
18845
19064
  migration025ServiceMethodAuth,
18846
19065
  migration026QuerySharedRoles,
19066
+ migration027EnableSentryPlugin,
19067
+ migration028EnableStripePlugin,
18847
19068
  ];
18848
19069
  function isMigrateableProjectDefinition(projectDefinition) {
18849
19070
  return (typeof projectDefinition === 'object' &&
@@ -18968,6 +19189,33 @@ function createEntityIssue(container, entityId, relativePath, issue) {
18968
19189
  }
18969
19190
  return { ...issue, entityId, path: relativePath };
18970
19191
  }
19192
+ /**
19193
+ * Creates a definition setter function from an issue's fix.
19194
+ *
19195
+ * Handles both fix variants:
19196
+ * - `applySetter`: returned directly (definition-level fixes)
19197
+ * - `apply`: wrapped in a setter that resolves the issue path and applies the
19198
+ * local-value transform (field-level fixes)
19199
+ *
19200
+ * Returns `undefined` if the issue has no fix.
19201
+ */
19202
+ function createIssueFixSetter(issue, container) {
19203
+ const { fix } = issue;
19204
+ if (!fix)
19205
+ return undefined;
19206
+ if (fix.applySetter) {
19207
+ return fix.applySetter;
19208
+ }
19209
+ if (fix.apply) {
19210
+ const applyFn = fix.apply;
19211
+ return (draft) => {
19212
+ const absolutePath = resolveIssuePath(issue, container);
19213
+ const currentValue = get$1(draft, absolutePath);
19214
+ set$1(draft, absolutePath, applyFn(currentValue));
19215
+ };
19216
+ }
19217
+ return undefined;
19218
+ }
18971
19219
 
18972
19220
  const MUTATION_METHODS = ['create', 'update', 'delete'];
18973
19221
  /**
@@ -19008,6 +19256,34 @@ function checkMutationRoles(container) {
19008
19256
  return issues;
19009
19257
  }
19010
19258
 
19259
+ /**
19260
+ * Creates a fix that changes the local field's type to match the foreign field's type.
19261
+ */
19262
+ function createTypeMismatchFix(modelId, localField, foreignField) {
19263
+ return {
19264
+ label: `Change '${localField.name}' type to '${foreignField.type}'`,
19265
+ applySetter: (draft) => {
19266
+ const draftModel = ModelUtils.byIdOrThrow(draft, modelId);
19267
+ const draftField = ModelUtils.getScalarFieldById(draftModel, localField.id);
19268
+ // Update the field type and reset options for the new type.
19269
+ // For enum fields, copy the enumRef from the foreign field.
19270
+ if (foreignField.type === 'enum') {
19271
+ draftField.type = 'enum';
19272
+ draftField.options = { ...foreignField.options };
19273
+ Object.assign(draftField, {
19274
+ type: 'enum',
19275
+ options: { ...foreignField.options },
19276
+ });
19277
+ }
19278
+ else {
19279
+ Object.assign(draftField, {
19280
+ type: foreignField.type,
19281
+ options: {},
19282
+ });
19283
+ }
19284
+ },
19285
+ };
19286
+ }
19011
19287
  /**
19012
19288
  * Checks that relation reference pairs have matching scalar field types.
19013
19289
  *
@@ -19031,9 +19307,11 @@ function checkRelationTypeMismatch(container) {
19031
19307
  continue;
19032
19308
  }
19033
19309
  if (localField.type !== foreignField.type) {
19310
+ const fix = createTypeMismatchFix(model.id, localField, foreignField);
19034
19311
  issues.push(createEntityIssue(container, model.id, ['model', 'relations', relationIndex], {
19035
19312
  message: `Relation '${relation.name}' type mismatch: '${localField.name}' is '${localField.type}' but '${foreignField.name}' on '${foreignModel.name}' is '${foreignField.type}'`,
19036
19313
  severity: 'warning',
19314
+ fix,
19037
19315
  }));
19038
19316
  }
19039
19317
  }
@@ -19147,11 +19425,12 @@ class PackageCompiler {
19147
19425
  /**
19148
19426
  * Get the tasks for a package used in turbo configuration
19149
19427
  *
19150
- * @returns Object with build, dev, and watch tasks
19428
+ * @returns Object with build, check, dev, and watch tasks
19151
19429
  */
19152
19430
  getTasks() {
19153
19431
  return {
19154
19432
  build: [],
19433
+ check: [],
19155
19434
  dev: [],
19156
19435
  watch: [],
19157
19436
  };
@@ -19258,6 +19537,12 @@ function navigateToEntityArrayFromSchemaPath(obj, relativePath, pathPrefix) {
19258
19537
  path.push(match);
19259
19538
  break;
19260
19539
  }
19540
+ case 'array': {
19541
+ throw new Error(`Cannot navigate through plain array at path "${path.join('.')}": non-deterministic structure`);
19542
+ }
19543
+ case 'record': {
19544
+ throw new Error(`Cannot navigate through record at path "${path.join('.')}": non-deterministic structure`);
19545
+ }
19261
19546
  }
19262
19547
  }
19263
19548
  if (!Array.isArray(current)) {
@@ -21189,5 +21474,5 @@ function generateDefaultTheme() {
21189
21474
  };
21190
21475
  }
21191
21476
 
21192
- export { AVAILABLE_FLAGS, AppUtils, AuthorizerExpressionParseError, AuthorizerExpressionParser, BUILT_IN_ADMIN_CRUD_ACTIONS, BUILT_IN_ADMIN_CRUD_COLUMNS, BUILT_IN_ADMIN_CRUD_INPUTS, BUILT_IN_TRANSFORMERS, COLOR_PALETTES, DEFAULT_APPS_FOLDER, DEFAULT_LIBRARIES_FOLDER, DefinitionDiffArrayIncludesField, DefinitionDiffKeyedArrayField, DefinitionDiffReplacementField, EnumUtils, FIXED_COLOR_MAPPINGS, LibraryCompiler, LibraryUtils, ModelFieldUtils, ModelTransformerUtils, ModelUtils, PALETTE_SHADES, PackageCompiler, PluginSpecStore, PluginUtils, ProjectDefinitionContainer, REFERENTIAL_ACTIONS, RefExpressionParser, SCALAR_FIELD_TYPES, SCHEMA_MIGRATIONS, SchemaMigrationError, THEME_COLORS, THEME_COLOR_KEYS, VALIDATORS, adminCrudActionCompilerSpec, adminCrudActionEntityType, adminCrudActionSpec, adminCrudColumnCompilerSpec, adminCrudColumnEntityType, adminCrudColumnSpec, adminCrudEmbeddedFormEntityType, adminCrudEmbeddedInputType, adminCrudEmbeddedLocalInputType, adminCrudInputCompilerSpec, adminCrudInputEntityType, adminCrudInputSpec, adminCrudSectionColumnEntityType, adminSectionEntityType, appCompilerSpec, appEntityType, applyDefinitionDiff, applyDefinitionFixes, applyMergedDefinition, authConfigSpec, authModelsSpec, authRoleEntityType, authorizerExpressionParser, backendAppEntryType, baseAdminCrudActionSchema, baseAdminCrudColumnSchema, baseAdminCrudInputSchema, baseAppSchema, baseAppValidators, baseLibrarySchema, baseLibraryValidators, basePluginDefinitionSchema, baseTransformerFields, baseTransformerSchema, buildPackageName, buildRelationValidationInfo, checkUniqueField, cleanDefaultValues, collectDefinitionIssues, collectEntityArrays, collectEntityMetadata, collectExpressionIssues, collectFieldIssues, convertColorNameToOklch, convertHexToOklch, convertOklchToColorName, convertOklchToHex, createAdminAppSchema, createAdminCrudActionSchema, createAdminCrudActionType, createAdminCrudColumnCompiler, createAdminCrudColumnSchema, createAdminCrudColumnType, createAdminCrudDeleteActionSchema, createAdminCrudEditActionSchema, createAdminCrudEmbeddedFormSchema, createAdminCrudEmbeddedInputSchema, createAdminCrudEmbeddedLocalInputSchema, createAdminCrudEnumInputSchema, createAdminCrudForeignColumnSchema, createAdminCrudForeignInputSchema, createAdminCrudInputSchema, createAdminCrudInputType, createAdminCrudPasswordInputSchema, createAdminCrudSectionSchema, createAdminCrudTextColumnSchema, createAdminCrudTextInputSchema, createAppCompiler, createAppEntryType, createAppSchema, createAuthorizerRoleSchema, createBackendAppSchema, createBaseAdminSectionValidators, createDefinitionDiff, createDefinitionDiffConfig, createDefinitionEntityNameResolver, createDefinitionSchemaParserContext, createEmbeddedRelationTransformerSchema, createEntity, createEntityIssue, createEntityType, createEnumBaseSchema, createEnumSchema, createEnumValueSchema, createFeaturesSchema, createFieldMapSpec, createLibraryWebConfig, createModelAuthorizerSchema, createModelBaseSchema, createModelGraphqlSchema, createModelRelationFieldSchema, createModelScalarFieldSchema, createModelSchema, createModelServiceSchema, createModelTransformerType, createModelUniqueConstraintSchema, createModelValidationContext, createPluginImplementationStoreWithNewPlugins, createPluginModule, createPluginSpecStore, createPluginWithConfigSchema, createPluginsSchema, createProjectDefinitionSchema, createProjectDefinitionSchemaWithContext, createRefSchemaCollector, createRefSchemaVisitor, createSettingsSchema, createTemplateExtractorSchema, createThemeSchema, createTransformerSchema, createWebAdminSectionSchema, createWebAppSchema, definitionFieldIssueRegistry, definitionFixRegistry, definitionIssueCheckerSpec, definitionRefRegistry, definitionSchema, definitionSchemaWithSlots, deleteEntity, deserializeSchemaWithTransformedReferences, diffDefinition, diffSerializedDefinitions, extractDefinitionRefs, featureEntityType, findDiscriminatedUnionMatch, fixRefDeletions, generalSettingsSchema, generateCssFromThemeConfig, generateDefaultTheme, generateThemeColorsFromShade, getBackendRelativePath, getDefaultThemeColorFromShade, getEntity, getEntityName, getLatestMigrationVersion, getManagedPluginsForPlugin, getMergeRule, getPackageDirectory, getPluginMetadataByKey, getPluginMetadataByKeyOrThrow, infrastructureSettingsSchema, initializePlugins, isMigrateableProjectDefinition, libraryEntityType, libraryTypeSpec, listEntities, mergeDataWithSchema, mergeDefinition, mergeDefinitionContainer, modelAuthorizerRoleEntityType, modelEntityType, modelEnumEntityType, modelEnumValueEntityType, modelForeignRelationEntityType, modelLocalRelationEntityType, modelScalarFieldEntityType, modelTransformerCompilerSpec, modelTransformerEntityType, modelTransformerSpec, modelUniqueConstraintEntityType, monorepoSettingsSchema, nodeLibraryDefinitionSchemaEntry, oklchColor, paletteSchema, palettesSchema, parseAuthorizerExpression, parseOklch, parseProjectDefinitionWithContext, parseProjectDefinitionWithReferences, partitionIssuesBySeverity, pluginAppCompiler, pluginConfigSpec, pluginEntityType, pluginMetadataSchema, pluginSpecDependencySchema, pluginSpecSupportSchema, resolveIssuePath, runInPluginContext, runPluginMigrations, runSchemaMigrations, serializeSchema, serializeSchemaFromRefPayload, stripEmptyGeneratorChildren, stripUndefinedValues, themeColorSchema, transformDataWithSchema, undefinedIfEmpty, undefinedIfFalsy, updateEntity, validateAuthorizerExpression, walkDataWithSchema, webAppEntryType, webConfigSpec, withByKeyMergeRule, withDefault, withFix, withIssueChecker, withMergeRule };
21193
- //# sourceMappingURL=project-builder-lib-CQKLkNsU.js.map
21477
+ export { AVAILABLE_FLAGS, AppUtils, AuthorizerExpressionParseError, AuthorizerExpressionParser, BUILT_IN_ADMIN_CRUD_ACTIONS, BUILT_IN_ADMIN_CRUD_COLUMNS, BUILT_IN_ADMIN_CRUD_INPUTS, BUILT_IN_TRANSFORMERS, COLOR_PALETTES, DEFAULT_APPS_FOLDER, DEFAULT_LIBRARIES_FOLDER, DefinitionDiffArrayIncludesField, DefinitionDiffKeyedArrayField, DefinitionDiffReplacementField, EnumUtils, FIXED_COLOR_MAPPINGS, LibraryCompiler, LibraryUtils, ModelFieldUtils, ModelTransformerUtils, ModelUtils, PALETTE_SHADES, PackageCompiler, PluginSpecStore, PluginUtils, ProjectDefinitionContainer, REFERENTIAL_ACTIONS, RefExpressionParser, SCALAR_FIELD_TYPES, SCHEMA_MIGRATIONS, SchemaMigrationError, THEME_COLORS, THEME_COLOR_KEYS, VALIDATORS, adminCrudActionCompilerSpec, adminCrudActionEntityType, adminCrudActionSpec, adminCrudColumnCompilerSpec, adminCrudColumnEntityType, adminCrudColumnSpec, adminCrudEmbeddedFormEntityType, adminCrudEmbeddedInputType, adminCrudEmbeddedLocalInputType, adminCrudInputCompilerSpec, adminCrudInputEntityType, adminCrudInputSpec, adminCrudSectionColumnEntityType, adminSectionEntityType, appCompilerSpec, appEntityType, applyDefinitionDiff, applyDefinitionFixes, applyMergedDefinition, authConfigSpec, authModelsSpec, authRoleEntityType, authorizerExpressionParser, backendAppEntryType, baseAdminCrudActionSchema, baseAdminCrudColumnSchema, baseAdminCrudInputSchema, baseAppSchema, baseAppValidators, baseLibrarySchema, baseLibraryValidators, basePluginDefinitionSchema, baseTransformerFields, baseTransformerSchema, buildPackageName, buildRelationValidationInfo, checkUniqueField, cleanDefaultValues, collectDefinitionIssues, collectEntityArrays, collectEntityMetadata, collectExpressionIssues, collectFieldIssues, convertColorNameToOklch, convertHexToOklch, convertOklchToColorName, convertOklchToHex, createAdminAppSchema, createAdminCrudActionSchema, createAdminCrudActionType, createAdminCrudColumnCompiler, createAdminCrudColumnSchema, createAdminCrudColumnType, createAdminCrudDeleteActionSchema, createAdminCrudEditActionSchema, createAdminCrudEmbeddedFormSchema, createAdminCrudEmbeddedInputSchema, createAdminCrudEmbeddedLocalInputSchema, createAdminCrudEnumInputSchema, createAdminCrudForeignColumnSchema, createAdminCrudForeignInputSchema, createAdminCrudInputSchema, createAdminCrudInputType, createAdminCrudPasswordInputSchema, createAdminCrudSectionSchema, createAdminCrudTextColumnSchema, createAdminCrudTextInputSchema, createAppCompiler, createAppEntryType, createAppSchema, createAuthorizerRoleSchema, createBackendAppSchema, createBaseAdminSectionValidators, createDefinitionDiff, createDefinitionDiffConfig, createDefinitionEntityNameResolver, createDefinitionSchemaParserContext, createEmbeddedRelationTransformerSchema, createEntity, createEntityIssue, createEntityType, createEnumBaseSchema, createEnumSchema, createEnumValueSchema, createFeaturesSchema, createFieldMapSpec, createIssueFixSetter, createLibraryWebConfig, createModelAuthorizerSchema, createModelBaseSchema, createModelGraphqlSchema, createModelIndexSchema, createModelRelationFieldSchema, createModelScalarFieldSchema, createModelSchema, createModelServiceSchema, createModelTransformerType, createModelUniqueConstraintSchema, createModelValidationContext, createPluginImplementationStoreWithNewPlugins, createPluginModule, createPluginSpecStore, createPluginWithConfigSchema, createPluginsSchema, createProjectDefinitionSchema, createProjectDefinitionSchemaWithContext, createRefSchemaCollector, createRefSchemaVisitor, createSettingsSchema, createTemplateExtractorSchema, createThemeSchema, createTransformerSchema, createWebAdminSectionSchema, createWebAppSchema, definitionFieldIssueRegistry, definitionFixRegistry, definitionIssueCheckerSpec, definitionRefRegistry, definitionSchema, definitionSchemaWithSlots, deleteEntity, deserializeSchemaWithTransformedReferences, diffDefinition, diffSerializedDefinitions, extractDefinitionRefs, featureEntityType, findDiscriminatedUnionMatch, fixRefDeletions, generalSettingsSchema, generateCssFromThemeConfig, generateDefaultTheme, generateThemeColorsFromShade, getBackendRelativePath, getDefaultThemeColorFromShade, getEntity, getEntityName, getLatestMigrationVersion, getManagedPluginsForPlugin, getMergeRule, getPackageDirectory, getPluginMetadataByKey, getPluginMetadataByKeyOrThrow, infrastructureSettingsSchema, initializePlugins, isMigrateableProjectDefinition, libraryEntityType, libraryTypeSpec, listEntities, mergeDataWithSchema, mergeDefinition, mergeDefinitionContainer, modelAuthorizerRoleEntityType, modelEntityType, modelEnumEntityType, modelEnumValueEntityType, modelForeignRelationEntityType, modelIndexEntityType, modelLocalRelationEntityType, modelScalarFieldEntityType, modelTransformerCompilerSpec, modelTransformerEntityType, modelTransformerSpec, modelUniqueConstraintEntityType, monorepoSettingsSchema, nodeLibraryDefinitionSchemaEntry, oklchColor, paletteSchema, palettesSchema, parseAuthorizerExpression, parseOklch, parseProjectDefinitionWithContext, parseProjectDefinitionWithReferences, partitionIssuesBySeverity, pluginAppCompiler, pluginConfigSpec, pluginEntityType, pluginMetadataSchema, pluginSpecDependencySchema, pluginSpecSupportSchema, resolveIssuePath, runInPluginContext, runPluginMigrations, runSchemaMigrations, serializeSchema, serializeSchemaFromRefPayload, stripEmptyGeneratorChildren, stripUndefinedValues, themeColorSchema, transformDataWithSchema, undefinedIfEmpty, undefinedIfFalsy, updateEntity, validateAuthorizerExpression, walkDataWithSchema, webAppEntryType, webConfigSpec, withByKeyMergeRule, withDefault, withFix, withIssueChecker, withMergeRule };
21478
+ //# sourceMappingURL=project-builder-lib-DCA3vO4J.js.map