@baseplate-dev/plugin-auth 2.0.8 → 3.0.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 (121) hide show
  1. package/dist/local-auth/core/generators/auth-email-password/auth-email-password.generator.d.ts +6 -0
  2. package/dist/local-auth/core/generators/auth-email-password/auth-email-password.generator.d.ts.map +1 -1
  3. package/dist/local-auth/core/generators/auth-email-password/generated/index.d.ts +12 -0
  4. package/dist/local-auth/core/generators/auth-email-password/generated/index.d.ts.map +1 -1
  5. package/dist/local-auth/core/generators/auth-email-password/generated/template-renderers.d.ts +6 -0
  6. package/dist/local-auth/core/generators/auth-email-password/generated/template-renderers.d.ts.map +1 -1
  7. package/dist/local-auth/core/generators/auth-email-password/generated/template-renderers.js +4 -2
  8. package/dist/local-auth/core/generators/auth-email-password/generated/template-renderers.js.map +1 -1
  9. package/dist/local-auth/core/generators/auth-email-password/generated/ts-import-providers.d.ts +1 -2
  10. package/dist/local-auth/core/generators/auth-email-password/generated/ts-import-providers.d.ts.map +1 -1
  11. package/dist/local-auth/core/generators/auth-email-password/generated/ts-import-providers.js +1 -1
  12. package/dist/local-auth/core/generators/auth-email-password/generated/ts-import-providers.js.map +1 -1
  13. package/dist/local-auth/core/generators/auth-email-password/generated/typed-templates.d.ts +12 -0
  14. package/dist/local-auth/core/generators/auth-email-password/generated/typed-templates.d.ts.map +1 -1
  15. package/dist/local-auth/core/generators/auth-email-password/generated/typed-templates.js +2 -1
  16. package/dist/local-auth/core/generators/auth-email-password/generated/typed-templates.js.map +1 -1
  17. package/dist/local-auth/core/generators/auth-email-password/templates/module/services/user-password.service.d.ts +1 -1
  18. package/dist/local-auth/core/generators/auth-email-password/templates/module/services/user-password.service.d.ts.map +1 -1
  19. package/dist/local-auth/core/generators/auth-email-password/templates/module/services/user-password.service.ts +1 -1
  20. package/dist/local-auth/core/generators/auth-hooks/generated/ts-import-providers.d.ts +1 -2
  21. package/dist/local-auth/core/generators/auth-hooks/generated/ts-import-providers.d.ts.map +1 -1
  22. package/dist/local-auth/core/generators/auth-hooks/generated/ts-import-providers.js +1 -1
  23. package/dist/local-auth/core/generators/auth-hooks/generated/ts-import-providers.js.map +1 -1
  24. package/dist/local-auth/core/generators/auth-module/auth-module.generator.d.ts +6 -0
  25. package/dist/local-auth/core/generators/auth-module/auth-module.generator.d.ts.map +1 -1
  26. package/dist/local-auth/core/generators/auth-module/generated/index.d.ts +12 -0
  27. package/dist/local-auth/core/generators/auth-module/generated/index.d.ts.map +1 -1
  28. package/dist/local-auth/core/generators/auth-module/generated/template-renderers.d.ts +6 -0
  29. package/dist/local-auth/core/generators/auth-module/generated/template-renderers.d.ts.map +1 -1
  30. package/dist/local-auth/core/generators/auth-module/generated/template-renderers.js +4 -2
  31. package/dist/local-auth/core/generators/auth-module/generated/template-renderers.js.map +1 -1
  32. package/dist/local-auth/core/generators/auth-module/generated/ts-import-providers.d.ts +1 -2
  33. package/dist/local-auth/core/generators/auth-module/generated/ts-import-providers.d.ts.map +1 -1
  34. package/dist/local-auth/core/generators/auth-module/generated/ts-import-providers.js +1 -1
  35. package/dist/local-auth/core/generators/auth-module/generated/ts-import-providers.js.map +1 -1
  36. package/dist/local-auth/core/generators/auth-module/generated/typed-templates.d.ts +12 -0
  37. package/dist/local-auth/core/generators/auth-module/generated/typed-templates.d.ts.map +1 -1
  38. package/dist/local-auth/core/generators/auth-module/generated/typed-templates.js +2 -1
  39. package/dist/local-auth/core/generators/auth-module/generated/typed-templates.js.map +1 -1
  40. package/dist/local-auth/core/generators/auth-module/templates/module/services/user-roles.service.d.ts +1 -1
  41. package/dist/local-auth/core/generators/auth-module/templates/module/services/user-roles.service.d.ts.map +1 -1
  42. package/dist/local-auth/core/generators/auth-module/templates/module/services/user-roles.service.ts +1 -1
  43. package/dist/local-auth/core/generators/react-session/generated/ts-import-providers.d.ts +1 -2
  44. package/dist/local-auth/core/generators/react-session/generated/ts-import-providers.d.ts.map +1 -1
  45. package/dist/local-auth/core/generators/react-session/generated/ts-import-providers.js +1 -1
  46. package/dist/local-auth/core/generators/react-session/generated/ts-import-providers.js.map +1 -1
  47. package/dist/local-auth/core/generators/seed-initial-user/generated/index.d.ts +12 -0
  48. package/dist/local-auth/core/generators/seed-initial-user/generated/index.d.ts.map +1 -1
  49. package/dist/local-auth/core/generators/seed-initial-user/generated/template-renderers.d.ts +6 -0
  50. package/dist/local-auth/core/generators/seed-initial-user/generated/template-renderers.d.ts.map +1 -1
  51. package/dist/local-auth/core/generators/seed-initial-user/generated/template-renderers.js +4 -2
  52. package/dist/local-auth/core/generators/seed-initial-user/generated/template-renderers.js.map +1 -1
  53. package/dist/local-auth/core/generators/seed-initial-user/generated/ts-import-providers.d.ts +1 -2
  54. package/dist/local-auth/core/generators/seed-initial-user/generated/ts-import-providers.d.ts.map +1 -1
  55. package/dist/local-auth/core/generators/seed-initial-user/generated/ts-import-providers.js +1 -1
  56. package/dist/local-auth/core/generators/seed-initial-user/generated/ts-import-providers.js.map +1 -1
  57. package/dist/local-auth/core/generators/seed-initial-user/generated/typed-templates.d.ts +6 -0
  58. package/dist/local-auth/core/generators/seed-initial-user/generated/typed-templates.d.ts.map +1 -1
  59. package/dist/local-auth/core/generators/seed-initial-user/generated/typed-templates.js +2 -1
  60. package/dist/local-auth/core/generators/seed-initial-user/generated/typed-templates.js.map +1 -1
  61. package/dist/local-auth/core/generators/seed-initial-user/seed-initial-user.generator.d.ts +6 -0
  62. package/dist/local-auth/core/generators/seed-initial-user/seed-initial-user.generator.d.ts.map +1 -1
  63. package/dist/local-auth/core/generators/seed-initial-user/templates/src/prisma/seed-initial-user.d.ts +1 -1
  64. package/dist/local-auth/core/generators/seed-initial-user/templates/src/prisma/seed-initial-user.d.ts.map +1 -1
  65. package/dist/local-auth/core/generators/seed-initial-user/templates/src/prisma/seed-initial-user.ts +1 -1
  66. package/dist/web/assets/{__federation_expose_auth0CoreCommon-CZKXKtdg.js → __federation_expose_auth0CoreCommon-xk1Gj1WU.js} +3 -3
  67. package/dist/web/assets/{__federation_expose_auth0CoreCommon-CZKXKtdg.js.map → __federation_expose_auth0CoreCommon-xk1Gj1WU.js.map} +1 -1
  68. package/dist/web/assets/{__federation_expose_auth0CoreWeb-geAHQXw8.js → __federation_expose_auth0CoreWeb-CAiUkJwE.js} +5 -5
  69. package/dist/web/assets/{__federation_expose_auth0CoreWeb-geAHQXw8.js.map → __federation_expose_auth0CoreWeb-CAiUkJwE.js.map} +1 -1
  70. package/dist/web/assets/{__federation_expose_authCoreCommon-BViBe4DS.js → __federation_expose_authCoreCommon-K21saJbW.js} +3 -3
  71. package/dist/web/assets/{__federation_expose_authCoreCommon-BViBe4DS.js.map → __federation_expose_authCoreCommon-K21saJbW.js.map} +1 -1
  72. package/dist/web/assets/{__federation_expose_authCoreWeb-Bg3h64mw.js → __federation_expose_authCoreWeb-L7mv-Kl9.js} +6 -6
  73. package/dist/web/assets/{__federation_expose_authCoreWeb-Bg3h64mw.js.map → __federation_expose_authCoreWeb-L7mv-Kl9.js.map} +1 -1
  74. package/dist/web/assets/{__federation_expose_local-authAdminCommon-M_4c2ukP.js → __federation_expose_local-authAdminCommon-BcMGRCCu.js} +2 -2
  75. package/dist/web/assets/{__federation_expose_local-authAdminCommon-M_4c2ukP.js.map → __federation_expose_local-authAdminCommon-BcMGRCCu.js.map} +1 -1
  76. package/dist/web/assets/{__federation_expose_local-authAdminWeb-BSY1dZOn.js → __federation_expose_local-authAdminWeb-DUY1rKEt.js} +2 -2
  77. package/dist/web/assets/{__federation_expose_local-authAdminWeb-BSY1dZOn.js.map → __federation_expose_local-authAdminWeb-DUY1rKEt.js.map} +1 -1
  78. package/dist/web/assets/{__federation_expose_local-authCoreCommon-DG2cv8RB.js → __federation_expose_local-authCoreCommon-B1wtgXDT.js} +3 -3
  79. package/dist/web/assets/{__federation_expose_local-authCoreCommon-DG2cv8RB.js.map → __federation_expose_local-authCoreCommon-B1wtgXDT.js.map} +1 -1
  80. package/dist/web/assets/{__federation_expose_local-authCoreWeb-luPBuflE.js → __federation_expose_local-authCoreWeb-CSWj3XON.js} +5 -5
  81. package/dist/web/assets/{__federation_expose_local-authCoreWeb-luPBuflE.js.map → __federation_expose_local-authCoreWeb-CSWj3XON.js.map} +1 -1
  82. package/dist/web/assets/{__federation_expose_placeholder-authCoreCommon-Cb6bmMtY.js → __federation_expose_placeholder-authCoreCommon-BTZdABuy.js} +3 -3
  83. package/dist/web/assets/{__federation_expose_placeholder-authCoreCommon-Cb6bmMtY.js.map → __federation_expose_placeholder-authCoreCommon-BTZdABuy.js.map} +1 -1
  84. package/dist/web/assets/{__federation_expose_placeholder-authCoreWeb-DUhTjT7C.js → __federation_expose_placeholder-authCoreWeb-DXc_X2aO.js} +5 -5
  85. package/dist/web/assets/{__federation_expose_placeholder-authCoreWeb-DUhTjT7C.js.map → __federation_expose_placeholder-authCoreWeb-DXc_X2aO.js.map} +1 -1
  86. package/dist/web/assets/{__federation_fn_import-Csq_dMs0.js → __federation_fn_import-BVpKhyMw.js} +2 -2
  87. package/dist/web/assets/{__federation_fn_import-Csq_dMs0.js.map → __federation_fn_import-BVpKhyMw.js.map} +1 -1
  88. package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib/{web-CgtWwz-I.js → web-gdwlRH2l.js} +5 -5
  89. package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib/{web-CgtWwz-I.js.map → web-gdwlRH2l.js.map} +1 -1
  90. package/dist/web/assets/__federation_shared_@baseplate-dev/{project-builder-lib-DcCDifTM.js → project-builder-lib-BvJ1_iif.js} +542 -305
  91. package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib-BvJ1_iif.js.map +1 -0
  92. package/dist/web/assets/__federation_shared_@baseplate-dev/{ui-components-DST25W-W.js → ui-components-E30UR3cY.js} +8 -7
  93. package/dist/web/assets/__federation_shared_@baseplate-dev/{ui-components-DST25W-W.js.map → ui-components-E30UR3cY.js.map} +1 -1
  94. package/dist/web/assets/__federation_shared_@baseplate-dev/{utils-DPq3fZwQ.js → utils-Ciu7eAT9.js} +42 -3
  95. package/dist/web/assets/__federation_shared_@baseplate-dev/utils-Ciu7eAT9.js.map +1 -0
  96. package/dist/web/assets/__federation_shared_@tanstack/{react-router-WDylYaIf.js → react-router-AU7vpPwr.js} +2 -2
  97. package/dist/web/assets/__federation_shared_@tanstack/{react-router-WDylYaIf.js.map → react-router-AU7vpPwr.js.map} +1 -1
  98. package/dist/web/assets/{get-auth-plugin-definition-BW3aipsm.js → get-auth-plugin-definition-CHOjVGaq.js} +2 -2
  99. package/dist/web/assets/{get-auth-plugin-definition-BW3aipsm.js.map → get-auth-plugin-definition-CHOjVGaq.js.map} +1 -1
  100. package/dist/web/assets/{index-D17gcHW9.js → index-DqPqnxYC.js} +2 -2
  101. package/dist/web/assets/{index-D17gcHW9.js.map → index-DqPqnxYC.js.map} +1 -1
  102. package/dist/web/assets/{index.esm-Db3JT_Sb.js → index.esm-DUunUtBj.js} +2 -2
  103. package/dist/web/assets/{index.esm-Db3JT_Sb.js.map → index.esm-DUunUtBj.js.map} +1 -1
  104. package/dist/web/assets/{model-merger-BZk6R5TG.js → model-merger-CI1pu411.js} +3 -3
  105. package/dist/web/assets/{model-merger-BZk6R5TG.js.map → model-merger-CI1pu411.js.map} +1 -1
  106. package/dist/web/assets/{plugin-definition-BzNRzlSY.js → plugin-definition--cfUfY5Z.js} +2 -2
  107. package/dist/web/assets/{plugin-definition-BzNRzlSY.js.map → plugin-definition--cfUfY5Z.js.map} +1 -1
  108. package/dist/web/assets/{plugin-definition-BYGf_zSR.js → plugin-definition-BYzEIUL9.js} +2 -2
  109. package/dist/web/assets/{plugin-definition-BYGf_zSR.js.map → plugin-definition-BYzEIUL9.js.map} +1 -1
  110. package/dist/web/assets/{plugin-definition-Btdhhs9H.js → plugin-definition-BzhiPIBh.js} +2 -2
  111. package/dist/web/assets/{plugin-definition-Btdhhs9H.js.map → plugin-definition-BzhiPIBh.js.map} +1 -1
  112. package/dist/web/assets/{plugin-definition-TOGLgOaU.js → plugin-definition-CIiMl7Zf.js} +2 -2
  113. package/dist/web/assets/{plugin-definition-TOGLgOaU.js.map → plugin-definition-CIiMl7Zf.js.map} +1 -1
  114. package/dist/web/assets/{react-CyMZK5Vn.js → react-DW8S9iUr.js} +2 -2
  115. package/dist/web/assets/{react-CyMZK5Vn.js.map → react-DW8S9iUr.js.map} +1 -1
  116. package/dist/web/assets/remoteEntry.js +10 -10
  117. package/dist/web/assets/{styles-CkOdb5Qq.js → styles-N05E1ZaS.js} +3 -3
  118. package/dist/web/assets/{styles-CkOdb5Qq.js.map → styles-N05E1ZaS.js.map} +1 -1
  119. package/package.json +12 -12
  120. package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib-DcCDifTM.js.map +0 -1
  121. package/dist/web/assets/__federation_shared_@baseplate-dev/utils-DPq3fZwQ.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { importShared } from './__federation_fn_import-Csq_dMs0.js';
1
+ import { importShared } from './__federation_fn_import-BVpKhyMw.js';
2
2
  import { g as getSymbols, a as isPlainObject, e as eq } from './isEqual-DAXqKRba.js';
3
3
 
4
4
  function createInitializedPluginSpec(spec, implementation) {
@@ -1375,5 +1375,5 @@ function createAndApplyModelMergerResults(draftConfig, current, desired, definit
1375
1375
  return resultIds;
1376
1376
  }
1377
1377
 
1378
- export { createModelMergerResults as A, applyModelMergerDiff as B, applyModelMergerResultInPlace as C, DefinitionReferenceMarker as D, createAndApplyModelMergerResults as E, FeatureUtils as F, DefinitionDiffKeyedArrayField as G, DefinitionDiffReplacementField as H, DefinitionDiffArrayIncludesField as I, createDefinitionDiffConfig as J, createDefinitionDiff as K, applyDefinitionDiff as L, ModelUtils as M, REF_ANNOTATIONS_MARKER_SYMBOL as R, createEntityType as a, createDefinitionSchemaParserContext as b, createPluginSpec as c, definitionSchema as d, modelForeignRelationEntityType as e, modelLocalRelationEntityType as f, get as g, modelScalarFieldEntityType as h, modelTransformerEntityType as i, modelEntityType as j, modelEnumValueEntityType as k, featureEntityType as l, mapValues as m, modelEnumEntityType as n, modelUniqueConstraintEntityType as o, createFeaturesSchema as p, omit as q, cloneDeep as r, set as s, createInitializedPluginSpec as t, DefinitionEntityType as u, featureNameSchema as v, createFeatureSchema as w, modelMergerDefinitionDiffConfig as x, createModelMergerResult as y, doesModelMergerResultsHaveChanges as z };
1379
- //# sourceMappingURL=model-merger-BZk6R5TG.js.map
1378
+ export { createModelMergerResults as A, applyModelMergerDiff as B, applyModelMergerResultInPlace as C, DefinitionReferenceMarker as D, createAndApplyModelMergerResults as E, FeatureUtils as F, DefinitionDiffKeyedArrayField as G, DefinitionDiffReplacementField as H, DefinitionDiffArrayIncludesField as I, createDefinitionDiffConfig as J, createDefinitionDiff as K, applyDefinitionDiff as L, ModelUtils as M, REF_ANNOTATIONS_MARKER_SYMBOL as R, createEntityType as a, createDefinitionSchemaParserContext as b, createPluginSpec as c, definitionSchema as d, modelForeignRelationEntityType as e, modelLocalRelationEntityType as f, get as g, modelScalarFieldEntityType as h, modelEntityType as i, modelTransformerEntityType as j, modelEnumValueEntityType as k, featureEntityType as l, mapValues as m, modelEnumEntityType as n, modelUniqueConstraintEntityType as o, createFeaturesSchema as p, omit as q, cloneDeep as r, set as s, createInitializedPluginSpec as t, DefinitionEntityType as u, featureNameSchema as v, createFeatureSchema as w, modelMergerDefinitionDiffConfig as x, createModelMergerResult as y, doesModelMergerResultsHaveChanges as z };
1379
+ //# sourceMappingURL=model-merger-CI1pu411.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-merger-BZk6R5TG.js","sources":["../../../../../packages/project-builder-lib/dist/plugins/spec/types.js","../../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/predicate/isPrimitive.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/predicate/isTypedArray.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/object/cloneDeepWith.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/object/cloneDeep.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/object/mapValues.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/object/merge.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/object/omit.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/object/toMerged.mjs","../../../../../packages/project-builder-lib/dist/references/types.js","../../../../../packages/project-builder-lib/dist/references/markers.js","../../../../../packages/project-builder-lib/dist/references/extend-parser-context-with-refs.js","../../../../../packages/project-builder-lib/dist/schema/creator/extend-parser-context-with-defaults.js","../../../../../packages/project-builder-lib/dist/schema/creator/schema-creator.js","../../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/compat/_internal/isDeepKey.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/compat/_internal/toKey.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/compat/util/toPath.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/compat/object/get.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/compat/predicate/isObject.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/compat/predicate/isMatch.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/compat/_internal/isIndex.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/compat/object/set.mjs","../../../../../packages/project-builder-lib/dist/schema/features/feature.js","../../../../../packages/project-builder-lib/dist/schema/models/types.js","../../../../../packages/project-builder-lib/dist/definition/feature/feature-utils.js","../../../../../packages/project-builder-lib/dist/definition/model/model-utils.js","../../../../../packages/project-builder-lib/dist/utils/definition-diff/definition-diff.js","../../../../../packages/project-builder-lib/dist/tools/model-merger/model-merger.js"],"sourcesContent":["export function createInitializedPluginSpec(spec, implementation) {\n return { spec, implementation };\n}\nexport function createPluginSpec(name, options) {\n const { platforms, defaultInitializer } = options ?? {};\n return {\n type: 'plugin-spec',\n name,\n platforms: platforms && (Array.isArray(platforms) ? platforms : [platforms]),\n isOptional: false,\n optional() {\n return { ...this, isOptional: true };\n },\n defaultInitializer,\n };\n}\n//# sourceMappingURL=types.js.map","function isPrimitive(value) {\n return value == null || (typeof value !== 'object' && typeof value !== 'function');\n}\n\nexport { isPrimitive };\n","function isTypedArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n\nexport { isTypedArray };\n","import { getSymbols } from '../compat/_internal/getSymbols.mjs';\nimport { isPrimitive } from '../predicate/isPrimitive.mjs';\nimport { isTypedArray } from '../predicate/isTypedArray.mjs';\n\nfunction cloneDeepWith(obj, cloneValue) {\n return cloneDeepWithImpl(obj, undefined, obj, new Map(), cloneValue);\n}\nfunction cloneDeepWithImpl(valueToClone, keyToClone, objectToClone, stack = new Map(), cloneValue = undefined) {\n const cloned = cloneValue?.(valueToClone, keyToClone, objectToClone, stack);\n if (cloned != null) {\n return cloned;\n }\n if (isPrimitive(valueToClone)) {\n return valueToClone;\n }\n if (stack.has(valueToClone)) {\n return stack.get(valueToClone);\n }\n if (Array.isArray(valueToClone)) {\n const result = new Array(valueToClone.length);\n stack.set(valueToClone, result);\n for (let i = 0; i < valueToClone.length; i++) {\n result[i] = cloneDeepWithImpl(valueToClone[i], i, objectToClone, stack, cloneValue);\n }\n if (Object.hasOwn(valueToClone, 'index')) {\n result.index = valueToClone.index;\n }\n if (Object.hasOwn(valueToClone, 'input')) {\n result.input = valueToClone.input;\n }\n return result;\n }\n if (valueToClone instanceof Date) {\n return new Date(valueToClone.getTime());\n }\n if (valueToClone instanceof RegExp) {\n const result = new RegExp(valueToClone.source, valueToClone.flags);\n result.lastIndex = valueToClone.lastIndex;\n return result;\n }\n if (valueToClone instanceof Map) {\n const result = new Map();\n stack.set(valueToClone, result);\n for (const [key, value] of valueToClone) {\n result.set(key, cloneDeepWithImpl(value, key, objectToClone, stack, cloneValue));\n }\n return result;\n }\n if (valueToClone instanceof Set) {\n const result = new Set();\n stack.set(valueToClone, result);\n for (const value of valueToClone) {\n result.add(cloneDeepWithImpl(value, undefined, objectToClone, stack, cloneValue));\n }\n return result;\n }\n if (typeof Buffer !== 'undefined' && Buffer.isBuffer(valueToClone)) {\n return valueToClone.subarray();\n }\n if (isTypedArray(valueToClone)) {\n const result = new (Object.getPrototypeOf(valueToClone).constructor)(valueToClone.length);\n stack.set(valueToClone, result);\n for (let i = 0; i < valueToClone.length; i++) {\n result[i] = cloneDeepWithImpl(valueToClone[i], i, objectToClone, stack, cloneValue);\n }\n return result;\n }\n if (valueToClone instanceof ArrayBuffer ||\n (typeof SharedArrayBuffer !== 'undefined' && valueToClone instanceof SharedArrayBuffer)) {\n return valueToClone.slice(0);\n }\n if (valueToClone instanceof DataView) {\n const result = new DataView(valueToClone.buffer.slice(0), valueToClone.byteOffset, valueToClone.byteLength);\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (typeof File !== 'undefined' && valueToClone instanceof File) {\n const result = new File([valueToClone], valueToClone.name, {\n type: valueToClone.type,\n });\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (valueToClone instanceof Blob) {\n const result = new Blob([valueToClone], { type: valueToClone.type });\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (valueToClone instanceof Error) {\n const result = new valueToClone.constructor();\n stack.set(valueToClone, result);\n result.message = valueToClone.message;\n result.name = valueToClone.name;\n result.stack = valueToClone.stack;\n result.cause = valueToClone.cause;\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (typeof valueToClone === 'object' && valueToClone !== null) {\n const result = Object.create(Object.getPrototypeOf(valueToClone));\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n return valueToClone;\n}\nfunction copyProperties(target, source, objectToClone = target, stack, cloneValue) {\n const keys = [...Object.keys(source), ...getSymbols(source)];\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const descriptor = Object.getOwnPropertyDescriptor(target, key);\n if (descriptor == null || descriptor.writable) {\n target[key] = cloneDeepWithImpl(source[key], key, objectToClone, stack, cloneValue);\n }\n }\n}\n\nexport { cloneDeepWith, cloneDeepWithImpl, copyProperties };\n","import { cloneDeepWithImpl } from './cloneDeepWith.mjs';\n\nfunction cloneDeep(obj) {\n return cloneDeepWithImpl(obj, undefined, obj, new Map(), undefined);\n}\n\nexport { cloneDeep };\n","function mapValues(object, getNewValue) {\n const result = {};\n const keys = Object.keys(object);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const value = object[key];\n result[key] = getNewValue(value, key, object);\n }\n return result;\n}\n\nexport { mapValues };\n","import { isPlainObject } from '../predicate/isPlainObject.mjs';\n\nfunction merge(target, source) {\n const sourceKeys = Object.keys(source);\n for (let i = 0; i < sourceKeys.length; i++) {\n const key = sourceKeys[i];\n const sourceValue = source[key];\n const targetValue = target[key];\n if (Array.isArray(sourceValue)) {\n if (Array.isArray(targetValue)) {\n target[key] = merge(targetValue, sourceValue);\n }\n else {\n target[key] = merge([], sourceValue);\n }\n }\n else if (isPlainObject(sourceValue)) {\n if (isPlainObject(targetValue)) {\n target[key] = merge(targetValue, sourceValue);\n }\n else {\n target[key] = merge({}, sourceValue);\n }\n }\n else if (targetValue === undefined || sourceValue !== undefined) {\n target[key] = sourceValue;\n }\n }\n return target;\n}\n\nexport { merge };\n","function omit(obj, keys) {\n const result = { ...obj };\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n delete result[key];\n }\n return result;\n}\n\nexport { omit };\n","import { cloneDeep } from './cloneDeep.mjs';\nimport { merge } from './merge.mjs';\n\nfunction toMerged(target, source) {\n return merge(cloneDeep(target), source);\n}\n\nexport { toMerged };\n","import { randomKey } from '@baseplate-dev/utils';\n/**\n * Definition of an entity type.\n */\nexport class DefinitionEntityType {\n prefix;\n name;\n parentType;\n /**\n * Creates a new entity type.\n *\n * @param name - The name of the entity type.\n * @param prefix - The prefix of the entity type to use in the ID, defaults to the name.\n * @param parentType - The type of the parent entity if any\n */\n constructor(name, prefix, parentType) {\n this.name = name;\n this.parentType = parentType;\n this.prefix = prefix ?? name.split('/').pop() ?? name;\n }\n /**\n * Generates a new ID for the entity type.\n *\n * @returns The new ID.\n */\n generateNewId() {\n return `${this.prefix}:${randomKey()}`;\n }\n idFromKey(key) {\n if (!key) {\n return undefined;\n }\n return `${this.prefix}:${key}`;\n }\n keyFromId(id) {\n return id.split(':')[1];\n }\n isId(id) {\n return id.startsWith(`${this.prefix}:`);\n }\n}\nexport function createEntityType(name, options) {\n const { parentType, prefix } = options ?? {};\n return new DefinitionEntityType(name, prefix, parentType);\n}\n//# sourceMappingURL=types.js.map","export class DefinitionReferenceMarker {\n value;\n reference;\n constructor(value, reference) {\n this.value = value;\n this.reference = reference;\n }\n toString() {\n return this.value ?? '';\n }\n}\nexport const REF_ANNOTATIONS_MARKER_SYMBOL = Symbol('refAnnotationsMarker');\n//# sourceMappingURL=markers.js.map","import { z } from 'zod';\nimport { DefinitionReferenceMarker, REF_ANNOTATIONS_MARKER_SYMBOL, } from './markers.js';\nexport function extendParserContextWithRefs({ transformReferences, }) {\n function withRef(reference) {\n return z.string().transform((value) => {\n if (transformReferences && value) {\n return new DefinitionReferenceMarker(value, reference);\n }\n return value;\n });\n }\n function withEnt(schema, entity) {\n if (!('id' in schema.shape)) {\n throw new Error(`Entity must have an id field. Entity type: ${entity.type.name}. Schema keys: ${Object.keys(schema.shape).join(', ')}`);\n }\n return schema.transform((value) => {\n // Check if the id is valid\n if (!('id' in value) || !entity.type.isId(value.id)) {\n throw new Error(`Invalid id for entity ${entity.type.name}. Id: ${value.id}`);\n }\n if (transformReferences) {\n const existingAnnotations = REF_ANNOTATIONS_MARKER_SYMBOL in value\n ? value[REF_ANNOTATIONS_MARKER_SYMBOL]\n : undefined;\n return {\n ...value,\n [REF_ANNOTATIONS_MARKER_SYMBOL]: {\n entities: [...(existingAnnotations?.entities ?? []), entity],\n references: existingAnnotations?.references ?? [],\n contextPaths: existingAnnotations?.contextPaths ?? [],\n },\n };\n }\n return value;\n });\n }\n function withRefBuilder(schema, builder) {\n return schema.transform((value) => {\n if (!value) {\n return value;\n }\n if (typeof value !== 'object') {\n throw new TypeError(`refBuilder requires an object, but got ${typeof value}`);\n }\n const existingAnnotations = REF_ANNOTATIONS_MARKER_SYMBOL in value\n ? value[REF_ANNOTATIONS_MARKER_SYMBOL]\n : undefined;\n const entities = existingAnnotations?.entities ?? [];\n const references = existingAnnotations?.references ?? [];\n const contextPaths = existingAnnotations?.contextPaths ?? [];\n const refBuilder = {\n addReference: (reference) => {\n references.push(reference);\n },\n addEntity: (entity) => {\n entities.push(entity);\n },\n addPathToContext: (path, type, context) => {\n contextPaths.push({ path, type, context });\n },\n };\n builder?.(refBuilder, value);\n if (transformReferences) {\n return {\n ...value,\n [REF_ANNOTATIONS_MARKER_SYMBOL]: {\n entities,\n references,\n contextPaths,\n },\n };\n }\n return value;\n });\n }\n return {\n withRef,\n withEnt,\n withRefBuilder,\n };\n}\n//# sourceMappingURL=extend-parser-context-with-refs.js.map","import { z } from 'zod';\nfunction isEmpty(value) {\n if (value === undefined || value === null) {\n return true;\n }\n if (Array.isArray(value)) {\n return value.length === 0;\n }\n if (typeof value === 'object' &&\n Object.getPrototypeOf(value) === Object.prototype) {\n return Object.values(value).every((val) => val === undefined);\n }\n if (typeof value === 'string') {\n return value === '';\n }\n return false;\n}\n/**\n * Extends the parser context with default value handling functionality.\n *\n * @param options - The schema creator options containing the defaultMode\n * @returns An object containing the withDefault method\n */\nexport function extendParserContextWithDefaults(options) {\n const mode = options.defaultMode ?? 'populate';\n return {\n withDefault: function withDefault(schema, defaultValue) {\n // Auto-add .optional() to the schema\n const optionalSchema = schema.optional();\n switch (mode) {\n case 'populate': {\n // Use preprocess to inject defaults before validation\n return z.preprocess((value) => {\n if (value === undefined) {\n return defaultValue;\n }\n return value;\n }, optionalSchema);\n }\n case 'strip': {\n // Use transform to remove values matching defaults after validation\n return optionalSchema.transform((value) => {\n if (isEmpty(value)) {\n return undefined;\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return -- it's typed to a generic\n return value;\n });\n }\n case 'preserve': {\n // Return schema with .optional() added\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return -- it's typed to a generic\n return optionalSchema.transform((x) => x);\n }\n }\n },\n };\n}\n//# sourceMappingURL=extend-parser-context-with-defaults.js.map","import { extendParserContextWithRefs } from '#src/references/extend-parser-context-with-refs.js';\nimport { extendParserContextWithDefaults } from './extend-parser-context-with-defaults.js';\nexport function createDefinitionSchemaParserContext(options) {\n return {\n ...options,\n ...extendParserContextWithRefs(options),\n ...extendParserContextWithDefaults(options),\n };\n}\nexport function definitionSchema(creator) {\n return (context) => creator(context);\n}\n//# sourceMappingURL=schema-creator.js.map","function isDeepKey(key) {\n switch (typeof key) {\n case 'number':\n case 'symbol': {\n return false;\n }\n case 'string': {\n return key.includes('.') || key.includes('[') || key.includes(']');\n }\n }\n}\n\nexport { isDeepKey };\n","function toKey(value) {\n if (Object.is(value, -0)) {\n return '-0';\n }\n return value.toString();\n}\n\nexport { toKey };\n","function toPath(deepKey) {\n const result = [];\n const length = deepKey.length;\n if (length === 0) {\n return result;\n }\n let index = 0;\n let key = '';\n let quoteChar = '';\n let bracket = false;\n if (deepKey.charCodeAt(0) === 46) {\n result.push('');\n index++;\n }\n while (index < length) {\n const char = deepKey[index];\n if (quoteChar) {\n if (char === '\\\\' && index + 1 < length) {\n index++;\n key += deepKey[index];\n }\n else if (char === quoteChar) {\n quoteChar = '';\n }\n else {\n key += char;\n }\n }\n else if (bracket) {\n if (char === '\"' || char === \"'\") {\n quoteChar = char;\n }\n else if (char === ']') {\n bracket = false;\n result.push(key);\n key = '';\n }\n else {\n key += char;\n }\n }\n else {\n if (char === '[') {\n bracket = true;\n if (key) {\n result.push(key);\n key = '';\n }\n }\n else if (char === '.') {\n if (key) {\n result.push(key);\n key = '';\n }\n }\n else {\n key += char;\n }\n }\n index++;\n }\n if (key) {\n result.push(key);\n }\n return result;\n}\n\nexport { toPath };\n","import { isDeepKey } from '../_internal/isDeepKey.mjs';\nimport { toKey } from '../_internal/toKey.mjs';\nimport { toPath } from '../util/toPath.mjs';\n\nfunction get(object, path, defaultValue) {\n if (object == null) {\n return defaultValue;\n }\n switch (typeof path) {\n case 'string': {\n const result = object[path];\n if (result === undefined) {\n if (isDeepKey(path)) {\n return get(object, toPath(path), defaultValue);\n }\n else {\n return defaultValue;\n }\n }\n return result;\n }\n case 'number':\n case 'symbol': {\n if (typeof path === 'number') {\n path = toKey(path);\n }\n const result = object[path];\n if (result === undefined) {\n return defaultValue;\n }\n return result;\n }\n default: {\n if (Array.isArray(path)) {\n return getWithPath(object, path, defaultValue);\n }\n if (Object.is(path?.valueOf(), -0)) {\n path = '-0';\n }\n else {\n path = String(path);\n }\n const result = object[path];\n if (result === undefined) {\n return defaultValue;\n }\n return result;\n }\n }\n}\nfunction getWithPath(object, path, defaultValue) {\n if (path.length === 0) {\n return defaultValue;\n }\n let current = object;\n for (let index = 0; index < path.length; index++) {\n if (current == null) {\n return defaultValue;\n }\n current = current[path[index]];\n }\n if (current === undefined) {\n return defaultValue;\n }\n return current;\n}\n\nexport { get };\n","function isObject(value) {\n return value !== null && (typeof value === 'object' || typeof value === 'function');\n}\n\nexport { isObject };\n","import { isObject } from './isObject.mjs';\nimport { isPrimitive } from '../../predicate/isPrimitive.mjs';\nimport { eq } from '../util/eq.mjs';\n\nfunction isMatch(target, source) {\n if (source === target) {\n return true;\n }\n switch (typeof source) {\n case 'object': {\n if (source == null) {\n return true;\n }\n const keys = Object.keys(source);\n if (target == null) {\n return keys.length === 0;\n }\n if (Array.isArray(source)) {\n return isArrayMatch(target, source);\n }\n if (source instanceof Map) {\n return isMapMatch(target, source);\n }\n if (source instanceof Set) {\n return isSetMatch(target, source);\n }\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (!isPrimitive(target) && !(key in target)) {\n return false;\n }\n if (source[key] === undefined && target[key] !== undefined) {\n return false;\n }\n if (source[key] === null && target[key] !== null) {\n return false;\n }\n if (!isMatch(target[key], source[key])) {\n return false;\n }\n }\n return true;\n }\n case 'function': {\n if (Object.keys(source).length > 0) {\n return isMatch(target, { ...source });\n }\n return false;\n }\n default: {\n if (!isObject(target)) {\n return eq(target, source);\n }\n return !source;\n }\n }\n}\nfunction isMapMatch(target, source) {\n if (source.size === 0) {\n return true;\n }\n if (!(target instanceof Map)) {\n return false;\n }\n for (const [key, value] of source.entries()) {\n if (!isMatch(target.get(key), value)) {\n return false;\n }\n }\n return true;\n}\nfunction isArrayMatch(target, source) {\n if (source.length === 0) {\n return true;\n }\n if (!Array.isArray(target)) {\n return false;\n }\n const countedIndex = new Set();\n for (let i = 0; i < source.length; i++) {\n const sourceItem = source[i];\n const index = target.findIndex((targetItem, index) => {\n return isMatch(targetItem, sourceItem) && !countedIndex.has(index);\n });\n if (index === -1) {\n return false;\n }\n countedIndex.add(index);\n }\n return true;\n}\nfunction isSetMatch(target, source) {\n if (source.size === 0) {\n return true;\n }\n if (!(target instanceof Set)) {\n return false;\n }\n return isArrayMatch([...target], [...source]);\n}\n\nexport { isArrayMatch, isMapMatch, isMatch, isSetMatch };\n","const IS_UNSIGNED_INTEGER = /^(?:0|[1-9]\\d*)$/;\nfunction isIndex(value, length = Number.MAX_SAFE_INTEGER) {\n switch (typeof value) {\n case 'number': {\n return Number.isInteger(value) && value >= 0 && value < length;\n }\n case 'symbol': {\n return false;\n }\n case 'string': {\n return IS_UNSIGNED_INTEGER.test(value);\n }\n }\n}\n\nexport { isIndex };\n","import { isIndex } from '../_internal/isIndex.mjs';\nimport { toPath } from '../util/toPath.mjs';\n\nfunction set(obj, path, value) {\n const resolvedPath = Array.isArray(path) ? path : typeof path === 'string' ? toPath(path) : [path];\n let current = obj;\n for (let i = 0; i < resolvedPath.length - 1; i++) {\n const key = resolvedPath[i];\n const nextKey = resolvedPath[i + 1];\n if (current[key] == null) {\n current[key] = isIndex(nextKey) ? [] : {};\n }\n current = current[key];\n }\n const lastKey = resolvedPath[resolvedPath.length - 1];\n current[lastKey] = value;\n return obj;\n}\n\nexport { set };\n","import { CASE_VALIDATORS } from '@baseplate-dev/utils';\nimport { z } from 'zod';\nimport { createEntityType } from '#src/references/types.js';\nimport { definitionSchema } from '#src/schema/creator/schema-creator.js';\nexport const featureEntityType = createEntityType('feature');\nexport const featureNameSchema = CASE_VALIDATORS.KEBAB_CASE;\nexport const createFeatureSchema = definitionSchema((ctx) => ctx.withEnt(z.object({\n id: z.string(),\n name: z\n .string()\n .min(1)\n .refine((name) => name\n .split('/')\n .every((part) => featureNameSchema.safeParse(part).success), {\n message: 'Feature name must be lowercase and contain only letters, numbers, and dashes',\n }),\n parentRef: ctx\n .withRef({\n type: featureEntityType,\n onDelete: 'DELETE_PARENT',\n })\n .optional(),\n}), { type: featureEntityType }));\nexport const createFeaturesSchema = definitionSchema((ctx) => z.array(createFeatureSchema(ctx)).default([]));\n//# sourceMappingURL=feature.js.map","import { createEntityType } from '#src/references/index.js';\nexport const modelEntityType = createEntityType('model');\nexport const modelScalarFieldEntityType = createEntityType('model-scalar-field', {\n parentType: modelEntityType,\n});\nexport const modelLocalRelationEntityType = createEntityType('model-local-relation', { parentType: modelEntityType });\nexport const modelForeignRelationEntityType = createEntityType('model-foreign-relation', { parentType: modelEntityType });\nexport const modelUniqueConstraintEntityType = createEntityType('model-unique-constraint', { parentType: modelEntityType });\nexport const modelTransformerEntityType = createEntityType('model-transformer', { parentType: modelEntityType });\nexport const modelEnumEntityType = createEntityType('model-enum');\nexport const modelEnumValueEntityType = createEntityType('model-enum-value', {\n parentType: modelEnumEntityType,\n});\n//# sourceMappingURL=types.js.map","import { featureEntityType, featureNameSchema } from '#src/schema/index.js';\nfunction getRootFeatures(projectDefinition) {\n return projectDefinition.features.filter((f) => !f.parentRef);\n}\nfunction getFeatureById(projectDefinition, featureId) {\n return projectDefinition.features.find((f) => f.id === featureId);\n}\nfunction getFeatureByIdOrThrow(projectDefinition, featureId) {\n const feature = getFeatureById(projectDefinition, featureId);\n if (!feature) {\n throw new Error(`Could not find feature with ID ${featureId}`);\n }\n return feature;\n}\nfunction getFeatureChildren(projectDefinition, featureId) {\n return projectDefinition.features.filter((f) => f.parentRef === featureId);\n}\nfunction getFeatureName(featureConfig) {\n return featureConfig.name.split('/').pop() ?? '';\n}\nfunction getFeatureNameById(projectDefinition, featureId) {\n const feature = getFeatureByIdOrThrow(projectDefinition, featureId);\n return getFeatureName(feature);\n}\nfunction getFeaturePathById(projectDefinition, featureId) {\n const feature = getFeatureByIdOrThrow(projectDefinition, featureId);\n return feature.name;\n}\nfunction validateFeatureName(name) {\n const nameParts = name.split('/');\n return nameParts.every((part) => featureNameSchema.safeParse(part).success);\n}\nfunction ensureFeatureByNameRecursively(projectDefinition, nameOrId) {\n if (featureEntityType.isId(nameOrId)) {\n return nameOrId;\n }\n const nameParts = nameOrId.split('/');\n let lastName = '';\n let parentRef = undefined;\n for (const part of nameParts) {\n const feature = projectDefinition.features.find((f) => f.name === part && f.parentRef === parentRef);\n const name = [lastName, part].filter(Boolean).join('/');\n if (feature) {\n parentRef = feature.id;\n }\n else {\n const newFeature = {\n id: featureEntityType.generateNewId(),\n name,\n parentRef,\n };\n projectDefinition.features.push(newFeature);\n parentRef = newFeature.id;\n }\n lastName = name;\n }\n if (!parentRef) {\n throw new Error('Failed to create feature');\n }\n return parentRef;\n}\nfunction getFeatureByName(projectDefinition, name) {\n return projectDefinition.features.find((f) => f.name === name);\n}\nfunction getFeatureIdByNameOrDefault(projectDefinition, name) {\n return getFeatureByName(projectDefinition, name)?.id ?? name;\n}\nexport const FeatureUtils = {\n getRootFeatures,\n getFeatureById,\n getFeatureByIdOrThrow,\n getFeatureChildren,\n getFeatureName,\n getFeatureNameById,\n getFeaturePathById,\n validateFeatureName,\n ensureFeatureByNameRecursively,\n getFeatureByName,\n getFeatureIdByNameOrDefault,\n};\n//# sourceMappingURL=feature-utils.js.map","import { PASCAL_CASE_REGEX } from '@baseplate-dev/utils';\nfunction byId(projectDefinition, id) {\n return projectDefinition.models.find((m) => m.id === id);\n}\nfunction byIdOrThrow(projectDefinition, id) {\n const model = byId(projectDefinition, id);\n if (!model) {\n throw new Error(`Could not find model with ID ${id}`);\n }\n return model;\n}\nfunction byName(projectDefinition, name) {\n return projectDefinition.models.find((m) => m.name === name);\n}\nfunction byNameOrThrow(projectDefinition, name) {\n const model = byName(projectDefinition, name);\n if (!model) {\n throw new Error(`Could not find model with name ${name}`);\n }\n return model;\n}\nfunction getScalarFieldById(model, id) {\n const field = model.model.fields.find((f) => f.id === id);\n if (!field) {\n throw new Error(`Could not find field with ID ${id}`);\n }\n return field;\n}\nfunction getRelationsToModel(projectDefinition, modelId) {\n return projectDefinition.models.flatMap((m) => m.model.relations\n ?.filter((r) => r.modelRef === modelId)\n .map((r) => ({ model: m, relation: r })) ?? []);\n}\nfunction getModelsForFeature(projectDefinition, featureId) {\n return projectDefinition.models.filter((m) => m.featureRef === featureId);\n}\nfunction getModelIdFields(model) {\n return model.model.primaryKeyFieldRefs;\n}\nfunction hasService(model) {\n return (!!model.service.create.enabled ||\n !!model.service.update.enabled ||\n !!model.service.delete.enabled ||\n model.service.transformers.length > 0);\n}\nfunction validateModelName(name) {\n return PASCAL_CASE_REGEX.test(name);\n}\n/**\n * Returns the ID of a model by name, or the name if no model is found.\n * @param projectDefinition - The project definition.\n * @param name - The name of the model.\n * @returns The ID of the model, or the name if no model is found.\n */\nfunction getModelIdByNameOrDefault(projectDefinition, name) {\n return projectDefinition.models.find((m) => m.name === name)?.id ?? name;\n}\nexport const ModelUtils = {\n byId,\n byIdOrThrow,\n byName,\n byNameOrThrow,\n getScalarFieldById,\n getRelationsToModel,\n getModelsForFeature,\n getModelIdFields,\n hasService,\n validateModelName,\n getModelIdByNameOrDefault,\n};\n//# sourceMappingURL=model-utils.js.map","/**\n * Allows diffing of arbitrary JSON objects.\n */\nimport { cloneDeep, mapValues, omit, toMerged } from 'es-toolkit';\nimport { get, isMatch, set } from 'es-toolkit/compat';\nclass DefinitionDiffField {\n /**\n * The name of the field to be presented to the user.\n */\n name;\n constructor(name) {\n this.name = name;\n }\n}\n/**\n * A field that is an array of objects with a unique key.\n */\nexport class DefinitionDiffKeyedArrayField extends DefinitionDiffField {\n getKey;\n options;\n constructor(name, getKey, options = {}) {\n super(name);\n this.getKey = getKey;\n this.options = options;\n }\n diff(current, desired) {\n const currentValue = current ?? [];\n const desiredValue = desired ?? [];\n if (!Array.isArray(currentValue) || !Array.isArray(desiredValue)) {\n throw new TypeError('Current and desired must be arrays');\n }\n const ops = [];\n const { allowRemove, ignoreFields = ['id'] } = this.options;\n const currentByKey = new Map(currentValue.map((item) => [this.getKey(item), item]));\n const desiredByKey = new Map(desiredValue.map((item) => [this.getKey(item), item]));\n for (const [key, desiredItem] of desiredByKey) {\n const currentItem = currentByKey.get(key);\n if (!currentItem) {\n ops.push({ type: 'add', key, item: desiredItem });\n continue;\n }\n if (!isMatch(omit(currentItem, ignoreFields), omit(desiredItem, ignoreFields))) {\n ops.push({ type: 'update', key, item: desiredItem });\n }\n }\n if (allowRemove) {\n for (const [key, currentItem] of currentByKey) {\n if (!desiredByKey.has(key)) {\n ops.push({ type: 'remove', key, item: currentItem });\n }\n }\n }\n return ops;\n }\n apply(current, diff) {\n const patch = diff;\n const currentValue = current ?? [];\n if (!Array.isArray(currentValue)) {\n throw new TypeError('Current must be array');\n }\n const items = [...currentValue];\n for (const { type, key, item } of patch) {\n const index = items.findIndex((i) => this.getKey(i) === key);\n switch (type) {\n case 'add': {\n items.push(item);\n break;\n }\n case 'update': {\n if (index === -1) {\n throw new Error(`Cannot apply patch. Item with key \"${key}\" not found.`);\n }\n // Preserve existing id if present.\n items[index] = toMerged(items[index], item);\n break;\n }\n case 'remove': {\n if (index !== -1) {\n items.splice(index, 1);\n }\n break;\n }\n }\n }\n return items;\n }\n getActionVerb(isNew) {\n return isNew ? 'created' : 'added or updated';\n }\n}\n/**\n * A field that is a replacement for the entire object or array.\n */\nexport class DefinitionDiffReplacementField extends DefinitionDiffField {\n diff(current, desired) {\n if (desired === undefined) {\n return [];\n }\n if (!isMatch(current, desired)) {\n return [{ type: 'update', key: '*', item: desired }];\n }\n return [];\n }\n apply(current, diff) {\n if (diff.length === 0)\n return current;\n return diff[0].item;\n }\n getActionVerb(isNew) {\n return isNew ? 'set' : 'replaced';\n }\n}\n/**\n * A field that ensures an array contains certain values.\n * This field type only adds items, never removes them.\n */\nexport class DefinitionDiffArrayIncludesField extends DefinitionDiffField {\n getKey;\n constructor(name, getKey) {\n super(name);\n this.getKey = getKey;\n }\n diff(current, desired) {\n const currentValue = current ?? [];\n const desiredValue = desired ?? [];\n if (!Array.isArray(currentValue) || !Array.isArray(desiredValue)) {\n throw new TypeError('Current and desired must be arrays');\n }\n const ops = [];\n const currentSet = new Set(this.getKey ? currentValue.map(this.getKey) : currentValue);\n for (const item of desiredValue) {\n const key = this.getKey ? this.getKey(item) : String(item);\n if (!currentSet.has(key)) {\n ops.push({ type: 'add', key, item });\n }\n }\n return ops;\n }\n apply(current, diff) {\n const currentValue = (current ?? []);\n if (!Array.isArray(currentValue)) {\n throw new TypeError('Current must be array');\n }\n const items = [...currentValue];\n for (const { type, item } of diff) {\n if (type === 'add') {\n items.push(item);\n }\n }\n return items;\n }\n getActionVerb(isNew) {\n return isNew ? 'created' : 'added';\n }\n}\nexport function createDefinitionDiffConfig(config) {\n return config;\n}\n/**\n * Creates a diff between two objects.\n */\nexport function createDefinitionDiff(current, desired, configuration) {\n const ops = mapValues(configuration, (field, key) => {\n if (!field)\n return [];\n return field.diff(get(current, key), get(desired, key));\n });\n if (Object.values(ops).every((ops) => ops.length === 0)) {\n return undefined;\n }\n return ops;\n}\n/**\n * Applies a diff to an object.\n */\nexport function applyDefinitionDiff(current, diff, configuration) {\n const clonedCurrent = cloneDeep(current);\n for (const [key, ops] of Object.entries(diff)) {\n if (!ops)\n continue;\n const field = configuration[key];\n const currentValue = get(clonedCurrent, key);\n set(clonedCurrent, key, field.apply(currentValue, ops));\n }\n return clonedCurrent;\n}\n//# sourceMappingURL=definition-diff.js.map","import { mapValues } from 'es-toolkit';\nimport { ModelUtils } from '#src/definition/index.js';\nimport { modelEntityType, modelForeignRelationEntityType, modelLocalRelationEntityType, modelScalarFieldEntityType, modelUniqueConstraintEntityType, } from '#src/schema/index.js';\nimport { applyDefinitionDiff, createDefinitionDiff, createDefinitionDiffConfig, DefinitionDiffArrayIncludesField, DefinitionDiffKeyedArrayField, DefinitionDiffReplacementField, } from '#src/utils/definition-diff/definition-diff.js';\n/**\n * Computes a unique key for a unique constraint by sorting its field refs.\n *\n * @param constraint - Unique constraint input.\n * @returns A key string.\n */\nfunction getUniqueConstraintKey(constraint) {\n const fields = constraint.fields.map((f) => f.fieldRef).sort();\n return fields.join('|');\n}\nexport const modelMergerDefinitionDiffConfig = createDefinitionDiffConfig({\n 'model.fields': new DefinitionDiffKeyedArrayField('fields', (f) => f.name),\n 'model.relations': new DefinitionDiffKeyedArrayField('relations', (r) => r.name),\n 'model.uniqueConstraints': new DefinitionDiffKeyedArrayField('unique constraints', (c) => getUniqueConstraintKey(c)),\n 'model.primaryKeyFieldRefs': new DefinitionDiffReplacementField('primary key fields'),\n 'graphql.objectType.enabled': new DefinitionDiffReplacementField('GraphQL object type enabled'),\n 'graphql.objectType.fields': new DefinitionDiffArrayIncludesField('GraphQL object type fields'),\n 'graphql.objectType.localRelations': new DefinitionDiffArrayIncludesField('GraphQL object type local relations'),\n 'graphql.objectType.foreignRelations': new DefinitionDiffArrayIncludesField('GraphQL object type foreign relations'),\n});\n/**\n * Serializes a model merger model input such that all IDs are replaced with\n * names.\n *\n * @param input - The model merger model input.\n * @param definitionContainer - The definition container.\n * @returns The serialized model merger model input.\n */\nfunction serializeModelMergerModelInput(input, definitionContainer, siblingModels) {\n const siblingModelIds = new Map(siblingModels.map((m) => [m.id, m.name]));\n const siblingModelFieldIdMap = new Map([\n ...input.model.fields.map((f) => [f.id, f.name]),\n ...siblingModels.flatMap((m) => m.model.fields.map((f) => [f.id, f.name])),\n ]);\n const siblingModelRelationIdMap = new Map([\n ...(input.model.relations ?? []).map((r) => [r.id, r.name]),\n ...siblingModels.flatMap((m) => (m.model.relations ?? []).map((r) => [r.id, r.name])),\n ...(input.model.relations ?? []).map((r) => [r.foreignId, r.foreignRelationName]),\n ...siblingModels.flatMap((m) => (m.model.relations ?? []).map((r) => [r.foreignId, r.foreignRelationName])),\n ]);\n const modelFromId = (id) => siblingModelIds.get(id) ?? definitionContainer.nameFromId(id);\n const fieldNameFromId = (id) => siblingModelFieldIdMap.get(id) ?? definitionContainer.nameFromId(id);\n const relationNameFromId = (id) => siblingModelRelationIdMap.get(id) ?? definitionContainer.nameFromId(id);\n return {\n ...input,\n model: {\n ...input.model,\n relations: input.model.relations?.map((r) => ({\n ...r,\n modelRef: modelFromId(r.modelRef),\n references: r.references.map((reference) => ({\n ...reference,\n localRef: fieldNameFromId(reference.localRef),\n foreignRef: fieldNameFromId(reference.foreignRef),\n })),\n })),\n uniqueConstraints: input.model.uniqueConstraints?.map((c) => ({\n ...c,\n fields: c.fields.map((f) => ({\n ...f,\n fieldRef: fieldNameFromId(f.fieldRef),\n })),\n })),\n primaryKeyFieldRefs: input.model.primaryKeyFieldRefs.map(fieldNameFromId),\n },\n graphql: {\n ...input.graphql,\n objectType: {\n ...input.graphql?.objectType,\n fields: input.graphql?.objectType?.fields?.map(fieldNameFromId) ?? [],\n localRelations: input.graphql?.objectType?.localRelations?.map(relationNameFromId) ??\n [],\n foreignRelations: input.graphql?.objectType?.foreignRelations?.map(relationNameFromId) ?? [],\n },\n },\n };\n}\n/**\n * Attaches IDs to the model merger model input.\n *\n * @param input - The model merger model input.\n * @returns The model merger model input with IDs attached.\n */\nfunction attachIdsToModelMergerModelInput(input) {\n return {\n ...input,\n model: {\n ...input.model,\n fields: input.model.fields.map((f) => ({\n ...f,\n id: f.id ?? modelScalarFieldEntityType.generateNewId(),\n })),\n relations: input.model.relations?.map((r) => ({\n ...r,\n id: r.id ?? modelLocalRelationEntityType.generateNewId(),\n foreignId: r.foreignId ?? modelForeignRelationEntityType.generateNewId(),\n })),\n uniqueConstraints: input.model.uniqueConstraints?.map((c) => ({\n ...c,\n id: c.id ?? modelUniqueConstraintEntityType.generateNewId(),\n })),\n },\n };\n}\n/**\n * Deserializes a model merger model input converting all names to IDs.\n *\n * @param input - The model merger model input.\n * @param resolveForeignFieldRef - A function that resolves the foreign field ref.\n * @returns The deserialized model merger model input.\n */\nfunction deserializeModelMergerModelInput(input, resolveForeignFieldRef, resolveForeignRelationRef, resolveModelRef) {\n const inputWithIds = attachIdsToModelMergerModelInput(input);\n const resolveLocalFieldName = (name) => {\n const field = inputWithIds.model.fields.find((f) => f.name === name);\n if (!field) {\n throw new Error(`Field ${name} not found`);\n }\n return field.id;\n };\n const resolveLocalRelationName = (name) => {\n const relation = inputWithIds.model.relations?.find((r) => r.name === name);\n if (!relation) {\n throw new Error(`Relation ${name} not found`);\n }\n return relation.id;\n };\n return {\n ...inputWithIds,\n model: {\n ...inputWithIds.model,\n relations: inputWithIds.model.relations?.map((relation) => ({\n ...relation,\n modelRef: resolveModelRef(relation.modelRef),\n references: relation.references.map((reference) => ({\n ...reference,\n localRef: resolveLocalFieldName(reference.localRef),\n foreignRef: resolveForeignFieldRef(relation.modelRef, reference.foreignRef),\n })),\n })),\n uniqueConstraints: inputWithIds.model.uniqueConstraints?.map((constraint) => ({\n ...constraint,\n fields: constraint.fields.map((field) => ({\n ...field,\n fieldRef: resolveLocalFieldName(field.fieldRef),\n })),\n })),\n primaryKeyFieldRefs: inputWithIds.model.primaryKeyFieldRefs.map((fieldRef) => resolveLocalFieldName(fieldRef)),\n },\n graphql: {\n ...inputWithIds.graphql,\n objectType: {\n ...inputWithIds.graphql?.objectType,\n fields: inputWithIds.graphql?.objectType?.fields?.map((fieldRef) => resolveLocalFieldName(fieldRef)) ?? [],\n localRelations: inputWithIds.graphql?.objectType?.localRelations?.map((relationRef) => resolveLocalRelationName(relationRef)) ?? [],\n foreignRelations: inputWithIds.graphql?.objectType?.foreignRelations?.map((relationRef) => resolveForeignRelationRef(relationRef)) ?? [],\n },\n },\n };\n}\n/**\n * Creates a new blank model config input from a name and feature ref.\n *\n * @param name - The name of the model.\n * @param featureRef - The feature ref of the model.\n * @returns The new model config input.\n */\nfunction createNewModelConfigInput(name, featureRef, id) {\n return {\n id,\n name,\n featureRef,\n model: {\n fields: [],\n primaryKeyFieldRefs: [],\n },\n };\n}\n/**\n * Diff the model definition.\n *\n * @param current - The current model definition or a new model to be created.\n * @param desired - The desired model definition.\n * @param definitionContainer - Project definition container.\n * @param options - Diff options.\n * @returns A diff output or undefined if there are no differences.\n */\nexport function createModelMergerResult(current, desired, definitionContainer, { siblingModels = [] } = {}) {\n const currentModel = current ??\n createNewModelConfigInput(desired.name, desired.featureRef, modelEntityType.generateNewId());\n // resolves all the names of the current model config input\n const resolvedCurrent = serializeModelMergerModelInput(currentModel, definitionContainer, siblingModels);\n const diff = createDefinitionDiff(resolvedCurrent, desired, modelMergerDefinitionDiffConfig);\n if (!diff) {\n return undefined;\n }\n return {\n isNewModel: !current,\n id: currentModel.id,\n name: currentModel.name,\n featureRef: currentModel.featureRef,\n changes: diff,\n };\n}\nexport function doesModelMergerResultsHaveChanges(results) {\n return Object.values(results).some((result) => result?.changes);\n}\n/**\n * Creates a model merger result for a set of models.\n *\n * @param current - A map of model IDs\n * @param desired - The desired model definition.\n * @param definitionContainer - Project definition container.\n * @param options - Diff options.\n * @returns A model merger result for a set of models.\n */\nexport function createModelMergerResults(current, desired, definitionContainer, { siblingModels = [] } = {}) {\n return mapValues(desired, (desired, key) => createModelMergerResult(current[key] && modelEntityType.isId(current[key])\n ? ModelUtils.byIdOrThrow(definitionContainer.definition, current[key])\n : ModelUtils.byName(definitionContainer.definition, current[key] ?? ''), desired, definitionContainer, {\n siblingModels,\n }));\n}\nexport function applyModelMergerDiff(model, diff, definitionContainer, siblingModels = []) {\n const resolvedCurrent = serializeModelMergerModelInput(model, definitionContainer, siblingModels);\n const patchedCurrent = applyDefinitionDiff(resolvedCurrent, diff, modelMergerDefinitionDiffConfig);\n return {\n ...model,\n ...deserializeModelMergerModelInput(patchedCurrent, (modelId, fieldName) => {\n const siblingModel = siblingModels.find((m) => m.id === modelId || m.name === modelId);\n if (siblingModel) {\n const field = siblingModel.model.fields.find((f) => f.name === fieldName);\n if (!field) {\n throw new Error(`Field ${fieldName} not found in sibling model ${modelId}`);\n }\n return field.id;\n }\n const model = ModelUtils.byIdOrThrow(definitionContainer.definition, modelId);\n const field = model.model.fields.find((f) => f.name === fieldName);\n if (!field) {\n throw new Error(`Field ${fieldName} not found in model ${model.name}`);\n }\n return field.id;\n }, (relationName) => {\n // Search sibling model first\n let relationId;\n for (const siblingModel of siblingModels) {\n const relation = siblingModel.model.relations?.find((r) => r.foreignRelationName === relationName);\n if (relation) {\n relationId = relation.foreignId;\n break;\n }\n }\n if (relationId) {\n return relationId;\n }\n const relations = ModelUtils.getRelationsToModel(definitionContainer.definition, model.id);\n const relation = relations.find((r) => r.relation.foreignRelationName === relationName &&\n r.relation.modelRef === model.id);\n if (!relation) {\n throw new Error(`Relation ${relationName} not found in model ${model.name}`);\n }\n return relation.relation.foreignId;\n }, (modelRef) => {\n const siblingModel = siblingModels.find((m) => m.id === modelRef || m.name === modelRef);\n if (siblingModel) {\n return siblingModel.id;\n }\n return modelRef;\n }),\n };\n}\nexport function applyModelMergerResultInPlace(draftConfig, currentModel, result, definitionContainer, { siblingModels = [] } = {}) {\n const newModel = applyModelMergerDiff(currentModel, result.changes, definitionContainer, siblingModels);\n if (result.isNewModel) {\n draftConfig.models.push(newModel);\n }\n else {\n const index = draftConfig.models.findIndex((m) => m.id === result.id);\n if (index === -1) {\n throw new Error(`Model ${result.id} not found`);\n }\n draftConfig.models[index] = newModel;\n }\n return newModel.id;\n}\nexport function createAndApplyModelMergerResults(draftConfig, current, desired, definitionContainer, { siblingModels = [] } = {}) {\n const results = createModelMergerResults(current, desired, definitionContainer, { siblingModels });\n const newModels = [];\n const resultIds = {};\n // Apply model mergers in order\n for (const [key, result] of Object.entries(results)) {\n if (result) {\n const model = result.isNewModel\n ? createNewModelConfigInput(result.name, result.featureRef, result.id)\n : ModelUtils.byIdOrThrow(definitionContainer.definition, result.id);\n applyModelMergerResultInPlace(draftConfig, model, result, definitionContainer, {\n siblingModels: newModels,\n });\n const newModel = draftConfig.models.find((m) => m.id === result.id);\n if (newModel) {\n newModels.push(newModel);\n }\n resultIds[key] = model.id;\n }\n else {\n resultIds[key] = desired[key].name;\n }\n }\n return resultIds;\n}\n//# sourceMappingURL=model-merger.js.map"],"names":["z"],"mappings":"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","x_google_ignoreList":[1,2,3,4,5,6,7,8,14,15,16,17,18,19,20,21]}
1
+ {"version":3,"file":"model-merger-CI1pu411.js","sources":["../../../../../packages/project-builder-lib/dist/plugins/spec/types.js","../../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/predicate/isPrimitive.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/predicate/isTypedArray.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/object/cloneDeepWith.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/object/cloneDeep.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/object/mapValues.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/object/merge.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/object/omit.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/object/toMerged.mjs","../../../../../packages/project-builder-lib/dist/references/types.js","../../../../../packages/project-builder-lib/dist/references/markers.js","../../../../../packages/project-builder-lib/dist/references/extend-parser-context-with-refs.js","../../../../../packages/project-builder-lib/dist/schema/creator/extend-parser-context-with-defaults.js","../../../../../packages/project-builder-lib/dist/schema/creator/schema-creator.js","../../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/compat/_internal/isDeepKey.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/compat/_internal/toKey.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/compat/util/toPath.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/compat/object/get.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/compat/predicate/isObject.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/compat/predicate/isMatch.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/compat/_internal/isIndex.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/compat/object/set.mjs","../../../../../packages/project-builder-lib/dist/schema/features/feature.js","../../../../../packages/project-builder-lib/dist/schema/models/types.js","../../../../../packages/project-builder-lib/dist/definition/feature/feature-utils.js","../../../../../packages/project-builder-lib/dist/definition/model/model-utils.js","../../../../../packages/project-builder-lib/dist/utils/definition-diff/definition-diff.js","../../../../../packages/project-builder-lib/dist/tools/model-merger/model-merger.js"],"sourcesContent":["export function createInitializedPluginSpec(spec, implementation) {\n return { spec, implementation };\n}\nexport function createPluginSpec(name, options) {\n const { platforms, defaultInitializer } = options ?? {};\n return {\n type: 'plugin-spec',\n name,\n platforms: platforms && (Array.isArray(platforms) ? platforms : [platforms]),\n isOptional: false,\n optional() {\n return { ...this, isOptional: true };\n },\n defaultInitializer,\n };\n}\n//# sourceMappingURL=types.js.map","function isPrimitive(value) {\n return value == null || (typeof value !== 'object' && typeof value !== 'function');\n}\n\nexport { isPrimitive };\n","function isTypedArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n\nexport { isTypedArray };\n","import { getSymbols } from '../compat/_internal/getSymbols.mjs';\nimport { isPrimitive } from '../predicate/isPrimitive.mjs';\nimport { isTypedArray } from '../predicate/isTypedArray.mjs';\n\nfunction cloneDeepWith(obj, cloneValue) {\n return cloneDeepWithImpl(obj, undefined, obj, new Map(), cloneValue);\n}\nfunction cloneDeepWithImpl(valueToClone, keyToClone, objectToClone, stack = new Map(), cloneValue = undefined) {\n const cloned = cloneValue?.(valueToClone, keyToClone, objectToClone, stack);\n if (cloned != null) {\n return cloned;\n }\n if (isPrimitive(valueToClone)) {\n return valueToClone;\n }\n if (stack.has(valueToClone)) {\n return stack.get(valueToClone);\n }\n if (Array.isArray(valueToClone)) {\n const result = new Array(valueToClone.length);\n stack.set(valueToClone, result);\n for (let i = 0; i < valueToClone.length; i++) {\n result[i] = cloneDeepWithImpl(valueToClone[i], i, objectToClone, stack, cloneValue);\n }\n if (Object.hasOwn(valueToClone, 'index')) {\n result.index = valueToClone.index;\n }\n if (Object.hasOwn(valueToClone, 'input')) {\n result.input = valueToClone.input;\n }\n return result;\n }\n if (valueToClone instanceof Date) {\n return new Date(valueToClone.getTime());\n }\n if (valueToClone instanceof RegExp) {\n const result = new RegExp(valueToClone.source, valueToClone.flags);\n result.lastIndex = valueToClone.lastIndex;\n return result;\n }\n if (valueToClone instanceof Map) {\n const result = new Map();\n stack.set(valueToClone, result);\n for (const [key, value] of valueToClone) {\n result.set(key, cloneDeepWithImpl(value, key, objectToClone, stack, cloneValue));\n }\n return result;\n }\n if (valueToClone instanceof Set) {\n const result = new Set();\n stack.set(valueToClone, result);\n for (const value of valueToClone) {\n result.add(cloneDeepWithImpl(value, undefined, objectToClone, stack, cloneValue));\n }\n return result;\n }\n if (typeof Buffer !== 'undefined' && Buffer.isBuffer(valueToClone)) {\n return valueToClone.subarray();\n }\n if (isTypedArray(valueToClone)) {\n const result = new (Object.getPrototypeOf(valueToClone).constructor)(valueToClone.length);\n stack.set(valueToClone, result);\n for (let i = 0; i < valueToClone.length; i++) {\n result[i] = cloneDeepWithImpl(valueToClone[i], i, objectToClone, stack, cloneValue);\n }\n return result;\n }\n if (valueToClone instanceof ArrayBuffer ||\n (typeof SharedArrayBuffer !== 'undefined' && valueToClone instanceof SharedArrayBuffer)) {\n return valueToClone.slice(0);\n }\n if (valueToClone instanceof DataView) {\n const result = new DataView(valueToClone.buffer.slice(0), valueToClone.byteOffset, valueToClone.byteLength);\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (typeof File !== 'undefined' && valueToClone instanceof File) {\n const result = new File([valueToClone], valueToClone.name, {\n type: valueToClone.type,\n });\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (valueToClone instanceof Blob) {\n const result = new Blob([valueToClone], { type: valueToClone.type });\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (valueToClone instanceof Error) {\n const result = new valueToClone.constructor();\n stack.set(valueToClone, result);\n result.message = valueToClone.message;\n result.name = valueToClone.name;\n result.stack = valueToClone.stack;\n result.cause = valueToClone.cause;\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (typeof valueToClone === 'object' && valueToClone !== null) {\n const result = Object.create(Object.getPrototypeOf(valueToClone));\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n return valueToClone;\n}\nfunction copyProperties(target, source, objectToClone = target, stack, cloneValue) {\n const keys = [...Object.keys(source), ...getSymbols(source)];\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const descriptor = Object.getOwnPropertyDescriptor(target, key);\n if (descriptor == null || descriptor.writable) {\n target[key] = cloneDeepWithImpl(source[key], key, objectToClone, stack, cloneValue);\n }\n }\n}\n\nexport { cloneDeepWith, cloneDeepWithImpl, copyProperties };\n","import { cloneDeepWithImpl } from './cloneDeepWith.mjs';\n\nfunction cloneDeep(obj) {\n return cloneDeepWithImpl(obj, undefined, obj, new Map(), undefined);\n}\n\nexport { cloneDeep };\n","function mapValues(object, getNewValue) {\n const result = {};\n const keys = Object.keys(object);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const value = object[key];\n result[key] = getNewValue(value, key, object);\n }\n return result;\n}\n\nexport { mapValues };\n","import { isPlainObject } from '../predicate/isPlainObject.mjs';\n\nfunction merge(target, source) {\n const sourceKeys = Object.keys(source);\n for (let i = 0; i < sourceKeys.length; i++) {\n const key = sourceKeys[i];\n const sourceValue = source[key];\n const targetValue = target[key];\n if (Array.isArray(sourceValue)) {\n if (Array.isArray(targetValue)) {\n target[key] = merge(targetValue, sourceValue);\n }\n else {\n target[key] = merge([], sourceValue);\n }\n }\n else if (isPlainObject(sourceValue)) {\n if (isPlainObject(targetValue)) {\n target[key] = merge(targetValue, sourceValue);\n }\n else {\n target[key] = merge({}, sourceValue);\n }\n }\n else if (targetValue === undefined || sourceValue !== undefined) {\n target[key] = sourceValue;\n }\n }\n return target;\n}\n\nexport { merge };\n","function omit(obj, keys) {\n const result = { ...obj };\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n delete result[key];\n }\n return result;\n}\n\nexport { omit };\n","import { cloneDeep } from './cloneDeep.mjs';\nimport { merge } from './merge.mjs';\n\nfunction toMerged(target, source) {\n return merge(cloneDeep(target), source);\n}\n\nexport { toMerged };\n","import { randomKey } from '@baseplate-dev/utils';\n/**\n * Definition of an entity type.\n */\nexport class DefinitionEntityType {\n prefix;\n name;\n parentType;\n /**\n * Creates a new entity type.\n *\n * @param name - The name of the entity type.\n * @param prefix - The prefix of the entity type to use in the ID, defaults to the name.\n * @param parentType - The type of the parent entity if any\n */\n constructor(name, prefix, parentType) {\n this.name = name;\n this.parentType = parentType;\n this.prefix = prefix ?? name.split('/').pop() ?? name;\n }\n /**\n * Generates a new ID for the entity type.\n *\n * @returns The new ID.\n */\n generateNewId() {\n return `${this.prefix}:${randomKey()}`;\n }\n idFromKey(key) {\n if (!key) {\n return undefined;\n }\n return `${this.prefix}:${key}`;\n }\n keyFromId(id) {\n return id.split(':')[1];\n }\n isId(id) {\n return id.startsWith(`${this.prefix}:`);\n }\n}\nexport function createEntityType(name, options) {\n const { parentType, prefix } = options ?? {};\n return new DefinitionEntityType(name, prefix, parentType);\n}\n//# sourceMappingURL=types.js.map","export class DefinitionReferenceMarker {\n value;\n reference;\n constructor(value, reference) {\n this.value = value;\n this.reference = reference;\n }\n toString() {\n return this.value ?? '';\n }\n}\nexport const REF_ANNOTATIONS_MARKER_SYMBOL = Symbol('refAnnotationsMarker');\n//# sourceMappingURL=markers.js.map","import { z } from 'zod';\nimport { DefinitionReferenceMarker, REF_ANNOTATIONS_MARKER_SYMBOL, } from './markers.js';\nexport function extendParserContextWithRefs({ transformReferences, }) {\n function withRef(reference) {\n return z.string().transform((value) => {\n if (transformReferences && value) {\n return new DefinitionReferenceMarker(value, reference);\n }\n return value;\n });\n }\n function withEnt(schema, entity) {\n if (!('id' in schema.shape)) {\n throw new Error(`Entity must have an id field. Entity type: ${entity.type.name}. Schema keys: ${Object.keys(schema.shape).join(', ')}`);\n }\n return schema.transform((value) => {\n // Check if the id is valid\n if (!('id' in value) || !entity.type.isId(value.id)) {\n throw new Error(`Invalid id for entity ${entity.type.name}. Id: ${value.id}`);\n }\n if (transformReferences) {\n const existingAnnotations = REF_ANNOTATIONS_MARKER_SYMBOL in value\n ? value[REF_ANNOTATIONS_MARKER_SYMBOL]\n : undefined;\n return {\n ...value,\n [REF_ANNOTATIONS_MARKER_SYMBOL]: {\n entities: [...(existingAnnotations?.entities ?? []), entity],\n references: existingAnnotations?.references ?? [],\n contextPaths: existingAnnotations?.contextPaths ?? [],\n },\n };\n }\n return value;\n });\n }\n function withRefBuilder(schema, builder) {\n return schema.transform((value) => {\n if (!value) {\n return value;\n }\n if (typeof value !== 'object') {\n throw new TypeError(`refBuilder requires an object, but got ${typeof value}`);\n }\n const existingAnnotations = REF_ANNOTATIONS_MARKER_SYMBOL in value\n ? value[REF_ANNOTATIONS_MARKER_SYMBOL]\n : undefined;\n const entities = existingAnnotations?.entities ?? [];\n const references = existingAnnotations?.references ?? [];\n const contextPaths = existingAnnotations?.contextPaths ?? [];\n const refBuilder = {\n addReference: (reference) => {\n references.push(reference);\n },\n addEntity: (entity) => {\n entities.push(entity);\n },\n addPathToContext: (path, type, context) => {\n contextPaths.push({ path, type, context });\n },\n };\n builder?.(refBuilder, value);\n if (transformReferences) {\n return {\n ...value,\n [REF_ANNOTATIONS_MARKER_SYMBOL]: {\n entities,\n references,\n contextPaths,\n },\n };\n }\n return value;\n });\n }\n return {\n withRef,\n withEnt,\n withRefBuilder,\n };\n}\n//# sourceMappingURL=extend-parser-context-with-refs.js.map","import { z } from 'zod';\nfunction isEmpty(value) {\n if (value === undefined || value === null) {\n return true;\n }\n if (Array.isArray(value)) {\n return value.length === 0;\n }\n if (typeof value === 'object' &&\n Object.getPrototypeOf(value) === Object.prototype) {\n return Object.values(value).every((val) => val === undefined);\n }\n if (typeof value === 'string') {\n return value === '';\n }\n return false;\n}\n/**\n * Extends the parser context with default value handling functionality.\n *\n * @param options - The schema creator options containing the defaultMode\n * @returns An object containing the withDefault method\n */\nexport function extendParserContextWithDefaults(options) {\n const mode = options.defaultMode ?? 'populate';\n return {\n withDefault: function withDefault(schema, defaultValue) {\n // Auto-add .optional() to the schema\n const optionalSchema = schema.optional();\n switch (mode) {\n case 'populate': {\n // Use preprocess to inject defaults before validation\n return z.preprocess((value) => {\n if (value === undefined) {\n return defaultValue;\n }\n return value;\n }, optionalSchema);\n }\n case 'strip': {\n // Use transform to remove values matching defaults after validation\n return optionalSchema.transform((value) => {\n if (isEmpty(value)) {\n return undefined;\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return -- it's typed to a generic\n return value;\n });\n }\n case 'preserve': {\n // Return schema with .optional() added\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return -- it's typed to a generic\n return optionalSchema.transform((x) => x);\n }\n }\n },\n };\n}\n//# sourceMappingURL=extend-parser-context-with-defaults.js.map","import { extendParserContextWithRefs } from '#src/references/extend-parser-context-with-refs.js';\nimport { extendParserContextWithDefaults } from './extend-parser-context-with-defaults.js';\nexport function createDefinitionSchemaParserContext(options) {\n return {\n ...options,\n ...extendParserContextWithRefs(options),\n ...extendParserContextWithDefaults(options),\n };\n}\nexport function definitionSchema(creator) {\n return (context) => creator(context);\n}\n//# sourceMappingURL=schema-creator.js.map","function isDeepKey(key) {\n switch (typeof key) {\n case 'number':\n case 'symbol': {\n return false;\n }\n case 'string': {\n return key.includes('.') || key.includes('[') || key.includes(']');\n }\n }\n}\n\nexport { isDeepKey };\n","function toKey(value) {\n if (Object.is(value, -0)) {\n return '-0';\n }\n return value.toString();\n}\n\nexport { toKey };\n","function toPath(deepKey) {\n const result = [];\n const length = deepKey.length;\n if (length === 0) {\n return result;\n }\n let index = 0;\n let key = '';\n let quoteChar = '';\n let bracket = false;\n if (deepKey.charCodeAt(0) === 46) {\n result.push('');\n index++;\n }\n while (index < length) {\n const char = deepKey[index];\n if (quoteChar) {\n if (char === '\\\\' && index + 1 < length) {\n index++;\n key += deepKey[index];\n }\n else if (char === quoteChar) {\n quoteChar = '';\n }\n else {\n key += char;\n }\n }\n else if (bracket) {\n if (char === '\"' || char === \"'\") {\n quoteChar = char;\n }\n else if (char === ']') {\n bracket = false;\n result.push(key);\n key = '';\n }\n else {\n key += char;\n }\n }\n else {\n if (char === '[') {\n bracket = true;\n if (key) {\n result.push(key);\n key = '';\n }\n }\n else if (char === '.') {\n if (key) {\n result.push(key);\n key = '';\n }\n }\n else {\n key += char;\n }\n }\n index++;\n }\n if (key) {\n result.push(key);\n }\n return result;\n}\n\nexport { toPath };\n","import { isDeepKey } from '../_internal/isDeepKey.mjs';\nimport { toKey } from '../_internal/toKey.mjs';\nimport { toPath } from '../util/toPath.mjs';\n\nfunction get(object, path, defaultValue) {\n if (object == null) {\n return defaultValue;\n }\n switch (typeof path) {\n case 'string': {\n const result = object[path];\n if (result === undefined) {\n if (isDeepKey(path)) {\n return get(object, toPath(path), defaultValue);\n }\n else {\n return defaultValue;\n }\n }\n return result;\n }\n case 'number':\n case 'symbol': {\n if (typeof path === 'number') {\n path = toKey(path);\n }\n const result = object[path];\n if (result === undefined) {\n return defaultValue;\n }\n return result;\n }\n default: {\n if (Array.isArray(path)) {\n return getWithPath(object, path, defaultValue);\n }\n if (Object.is(path?.valueOf(), -0)) {\n path = '-0';\n }\n else {\n path = String(path);\n }\n const result = object[path];\n if (result === undefined) {\n return defaultValue;\n }\n return result;\n }\n }\n}\nfunction getWithPath(object, path, defaultValue) {\n if (path.length === 0) {\n return defaultValue;\n }\n let current = object;\n for (let index = 0; index < path.length; index++) {\n if (current == null) {\n return defaultValue;\n }\n current = current[path[index]];\n }\n if (current === undefined) {\n return defaultValue;\n }\n return current;\n}\n\nexport { get };\n","function isObject(value) {\n return value !== null && (typeof value === 'object' || typeof value === 'function');\n}\n\nexport { isObject };\n","import { isObject } from './isObject.mjs';\nimport { isPrimitive } from '../../predicate/isPrimitive.mjs';\nimport { eq } from '../util/eq.mjs';\n\nfunction isMatch(target, source) {\n if (source === target) {\n return true;\n }\n switch (typeof source) {\n case 'object': {\n if (source == null) {\n return true;\n }\n const keys = Object.keys(source);\n if (target == null) {\n return keys.length === 0;\n }\n if (Array.isArray(source)) {\n return isArrayMatch(target, source);\n }\n if (source instanceof Map) {\n return isMapMatch(target, source);\n }\n if (source instanceof Set) {\n return isSetMatch(target, source);\n }\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (!isPrimitive(target) && !(key in target)) {\n return false;\n }\n if (source[key] === undefined && target[key] !== undefined) {\n return false;\n }\n if (source[key] === null && target[key] !== null) {\n return false;\n }\n if (!isMatch(target[key], source[key])) {\n return false;\n }\n }\n return true;\n }\n case 'function': {\n if (Object.keys(source).length > 0) {\n return isMatch(target, { ...source });\n }\n return false;\n }\n default: {\n if (!isObject(target)) {\n return eq(target, source);\n }\n return !source;\n }\n }\n}\nfunction isMapMatch(target, source) {\n if (source.size === 0) {\n return true;\n }\n if (!(target instanceof Map)) {\n return false;\n }\n for (const [key, value] of source.entries()) {\n if (!isMatch(target.get(key), value)) {\n return false;\n }\n }\n return true;\n}\nfunction isArrayMatch(target, source) {\n if (source.length === 0) {\n return true;\n }\n if (!Array.isArray(target)) {\n return false;\n }\n const countedIndex = new Set();\n for (let i = 0; i < source.length; i++) {\n const sourceItem = source[i];\n const index = target.findIndex((targetItem, index) => {\n return isMatch(targetItem, sourceItem) && !countedIndex.has(index);\n });\n if (index === -1) {\n return false;\n }\n countedIndex.add(index);\n }\n return true;\n}\nfunction isSetMatch(target, source) {\n if (source.size === 0) {\n return true;\n }\n if (!(target instanceof Set)) {\n return false;\n }\n return isArrayMatch([...target], [...source]);\n}\n\nexport { isArrayMatch, isMapMatch, isMatch, isSetMatch };\n","const IS_UNSIGNED_INTEGER = /^(?:0|[1-9]\\d*)$/;\nfunction isIndex(value, length = Number.MAX_SAFE_INTEGER) {\n switch (typeof value) {\n case 'number': {\n return Number.isInteger(value) && value >= 0 && value < length;\n }\n case 'symbol': {\n return false;\n }\n case 'string': {\n return IS_UNSIGNED_INTEGER.test(value);\n }\n }\n}\n\nexport { isIndex };\n","import { isIndex } from '../_internal/isIndex.mjs';\nimport { toPath } from '../util/toPath.mjs';\n\nfunction set(obj, path, value) {\n const resolvedPath = Array.isArray(path) ? path : typeof path === 'string' ? toPath(path) : [path];\n let current = obj;\n for (let i = 0; i < resolvedPath.length - 1; i++) {\n const key = resolvedPath[i];\n const nextKey = resolvedPath[i + 1];\n if (current[key] == null) {\n current[key] = isIndex(nextKey) ? [] : {};\n }\n current = current[key];\n }\n const lastKey = resolvedPath[resolvedPath.length - 1];\n current[lastKey] = value;\n return obj;\n}\n\nexport { set };\n","import { CASE_VALIDATORS } from '@baseplate-dev/utils';\nimport { z } from 'zod';\nimport { createEntityType } from '#src/references/types.js';\nimport { definitionSchema } from '#src/schema/creator/schema-creator.js';\nexport const featureEntityType = createEntityType('feature');\nexport const featureNameSchema = CASE_VALIDATORS.KEBAB_CASE;\nexport const createFeatureSchema = definitionSchema((ctx) => ctx.withEnt(z.object({\n id: z.string(),\n name: z\n .string()\n .min(1)\n .refine((name) => name\n .split('/')\n .every((part) => featureNameSchema.safeParse(part).success), {\n message: 'Feature name must be lowercase and contain only letters, numbers, and dashes',\n }),\n parentRef: ctx\n .withRef({\n type: featureEntityType,\n onDelete: 'DELETE_PARENT',\n })\n .optional(),\n}), { type: featureEntityType }));\nexport const createFeaturesSchema = definitionSchema((ctx) => z.array(createFeatureSchema(ctx)).default([]));\n//# sourceMappingURL=feature.js.map","import { createEntityType } from '#src/references/index.js';\nexport const modelEntityType = createEntityType('model');\nexport const modelScalarFieldEntityType = createEntityType('model-scalar-field', {\n parentType: modelEntityType,\n});\nexport const modelLocalRelationEntityType = createEntityType('model-local-relation', { parentType: modelEntityType });\nexport const modelForeignRelationEntityType = createEntityType('model-foreign-relation', { parentType: modelEntityType });\nexport const modelUniqueConstraintEntityType = createEntityType('model-unique-constraint', { parentType: modelEntityType });\nexport const modelTransformerEntityType = createEntityType('model-transformer', { parentType: modelEntityType });\nexport const modelEnumEntityType = createEntityType('model-enum');\nexport const modelEnumValueEntityType = createEntityType('model-enum-value', {\n parentType: modelEnumEntityType,\n});\n//# sourceMappingURL=types.js.map","import { featureEntityType, featureNameSchema } from '#src/schema/index.js';\nfunction getRootFeatures(projectDefinition) {\n return projectDefinition.features.filter((f) => !f.parentRef);\n}\nfunction getFeatureById(projectDefinition, featureId) {\n return projectDefinition.features.find((f) => f.id === featureId);\n}\nfunction getFeatureByIdOrThrow(projectDefinition, featureId) {\n const feature = getFeatureById(projectDefinition, featureId);\n if (!feature) {\n throw new Error(`Could not find feature with ID ${featureId}`);\n }\n return feature;\n}\nfunction getFeatureChildren(projectDefinition, featureId) {\n return projectDefinition.features.filter((f) => f.parentRef === featureId);\n}\nfunction getFeatureName(featureConfig) {\n return featureConfig.name.split('/').pop() ?? '';\n}\nfunction getFeatureNameById(projectDefinition, featureId) {\n const feature = getFeatureByIdOrThrow(projectDefinition, featureId);\n return getFeatureName(feature);\n}\nfunction getFeaturePathById(projectDefinition, featureId) {\n const feature = getFeatureByIdOrThrow(projectDefinition, featureId);\n return feature.name;\n}\nfunction validateFeatureName(name) {\n const nameParts = name.split('/');\n return nameParts.every((part) => featureNameSchema.safeParse(part).success);\n}\nfunction ensureFeatureByNameRecursively(projectDefinition, nameOrId) {\n if (featureEntityType.isId(nameOrId)) {\n return nameOrId;\n }\n const nameParts = nameOrId.split('/');\n let lastName = '';\n let parentRef = undefined;\n for (const part of nameParts) {\n const feature = projectDefinition.features.find((f) => f.name === part && f.parentRef === parentRef);\n const name = [lastName, part].filter(Boolean).join('/');\n if (feature) {\n parentRef = feature.id;\n }\n else {\n const newFeature = {\n id: featureEntityType.generateNewId(),\n name,\n parentRef,\n };\n projectDefinition.features.push(newFeature);\n parentRef = newFeature.id;\n }\n lastName = name;\n }\n if (!parentRef) {\n throw new Error('Failed to create feature');\n }\n return parentRef;\n}\nfunction getFeatureByName(projectDefinition, name) {\n return projectDefinition.features.find((f) => f.name === name);\n}\nfunction getFeatureIdByNameOrDefault(projectDefinition, name) {\n return getFeatureByName(projectDefinition, name)?.id ?? name;\n}\nexport const FeatureUtils = {\n getRootFeatures,\n getFeatureById,\n getFeatureByIdOrThrow,\n getFeatureChildren,\n getFeatureName,\n getFeatureNameById,\n getFeaturePathById,\n validateFeatureName,\n ensureFeatureByNameRecursively,\n getFeatureByName,\n getFeatureIdByNameOrDefault,\n};\n//# sourceMappingURL=feature-utils.js.map","import { PASCAL_CASE_REGEX } from '@baseplate-dev/utils';\nfunction byId(projectDefinition, id) {\n return projectDefinition.models.find((m) => m.id === id);\n}\nfunction byIdOrThrow(projectDefinition, id) {\n const model = byId(projectDefinition, id);\n if (!model) {\n throw new Error(`Could not find model with ID ${id}`);\n }\n return model;\n}\nfunction byName(projectDefinition, name) {\n return projectDefinition.models.find((m) => m.name === name);\n}\nfunction byNameOrThrow(projectDefinition, name) {\n const model = byName(projectDefinition, name);\n if (!model) {\n throw new Error(`Could not find model with name ${name}`);\n }\n return model;\n}\nfunction getScalarFieldById(model, id) {\n const field = model.model.fields.find((f) => f.id === id);\n if (!field) {\n throw new Error(`Could not find field with ID ${id}`);\n }\n return field;\n}\nfunction getRelationsToModel(projectDefinition, modelId) {\n return projectDefinition.models.flatMap((m) => m.model.relations\n ?.filter((r) => r.modelRef === modelId)\n .map((r) => ({ model: m, relation: r })) ?? []);\n}\nfunction getModelsForFeature(projectDefinition, featureId) {\n return projectDefinition.models.filter((m) => m.featureRef === featureId);\n}\nfunction getModelIdFields(model) {\n return model.model.primaryKeyFieldRefs;\n}\nfunction hasService(model) {\n return (!!model.service.create.enabled ||\n !!model.service.update.enabled ||\n !!model.service.delete.enabled ||\n model.service.transformers.length > 0);\n}\nfunction validateModelName(name) {\n return PASCAL_CASE_REGEX.test(name);\n}\n/**\n * Returns the ID of a model by name, or the name if no model is found.\n * @param projectDefinition - The project definition.\n * @param name - The name of the model.\n * @returns The ID of the model, or the name if no model is found.\n */\nfunction getModelIdByNameOrDefault(projectDefinition, name) {\n return projectDefinition.models.find((m) => m.name === name)?.id ?? name;\n}\nexport const ModelUtils = {\n byId,\n byIdOrThrow,\n byName,\n byNameOrThrow,\n getScalarFieldById,\n getRelationsToModel,\n getModelsForFeature,\n getModelIdFields,\n hasService,\n validateModelName,\n getModelIdByNameOrDefault,\n};\n//# sourceMappingURL=model-utils.js.map","/**\n * Allows diffing of arbitrary JSON objects.\n */\nimport { cloneDeep, mapValues, omit, toMerged } from 'es-toolkit';\nimport { get, isMatch, set } from 'es-toolkit/compat';\nclass DefinitionDiffField {\n /**\n * The name of the field to be presented to the user.\n */\n name;\n constructor(name) {\n this.name = name;\n }\n}\n/**\n * A field that is an array of objects with a unique key.\n */\nexport class DefinitionDiffKeyedArrayField extends DefinitionDiffField {\n getKey;\n options;\n constructor(name, getKey, options = {}) {\n super(name);\n this.getKey = getKey;\n this.options = options;\n }\n diff(current, desired) {\n const currentValue = current ?? [];\n const desiredValue = desired ?? [];\n if (!Array.isArray(currentValue) || !Array.isArray(desiredValue)) {\n throw new TypeError('Current and desired must be arrays');\n }\n const ops = [];\n const { allowRemove, ignoreFields = ['id'] } = this.options;\n const currentByKey = new Map(currentValue.map((item) => [this.getKey(item), item]));\n const desiredByKey = new Map(desiredValue.map((item) => [this.getKey(item), item]));\n for (const [key, desiredItem] of desiredByKey) {\n const currentItem = currentByKey.get(key);\n if (!currentItem) {\n ops.push({ type: 'add', key, item: desiredItem });\n continue;\n }\n if (!isMatch(omit(currentItem, ignoreFields), omit(desiredItem, ignoreFields))) {\n ops.push({ type: 'update', key, item: desiredItem });\n }\n }\n if (allowRemove) {\n for (const [key, currentItem] of currentByKey) {\n if (!desiredByKey.has(key)) {\n ops.push({ type: 'remove', key, item: currentItem });\n }\n }\n }\n return ops;\n }\n apply(current, diff) {\n const patch = diff;\n const currentValue = current ?? [];\n if (!Array.isArray(currentValue)) {\n throw new TypeError('Current must be array');\n }\n const items = [...currentValue];\n for (const { type, key, item } of patch) {\n const index = items.findIndex((i) => this.getKey(i) === key);\n switch (type) {\n case 'add': {\n items.push(item);\n break;\n }\n case 'update': {\n if (index === -1) {\n throw new Error(`Cannot apply patch. Item with key \"${key}\" not found.`);\n }\n // Preserve existing id if present.\n items[index] = toMerged(items[index], item);\n break;\n }\n case 'remove': {\n if (index !== -1) {\n items.splice(index, 1);\n }\n break;\n }\n }\n }\n return items;\n }\n getActionVerb(isNew) {\n return isNew ? 'created' : 'added or updated';\n }\n}\n/**\n * A field that is a replacement for the entire object or array.\n */\nexport class DefinitionDiffReplacementField extends DefinitionDiffField {\n diff(current, desired) {\n if (desired === undefined) {\n return [];\n }\n if (!isMatch(current, desired)) {\n return [{ type: 'update', key: '*', item: desired }];\n }\n return [];\n }\n apply(current, diff) {\n if (diff.length === 0)\n return current;\n return diff[0].item;\n }\n getActionVerb(isNew) {\n return isNew ? 'set' : 'replaced';\n }\n}\n/**\n * A field that ensures an array contains certain values.\n * This field type only adds items, never removes them.\n */\nexport class DefinitionDiffArrayIncludesField extends DefinitionDiffField {\n getKey;\n constructor(name, getKey) {\n super(name);\n this.getKey = getKey;\n }\n diff(current, desired) {\n const currentValue = current ?? [];\n const desiredValue = desired ?? [];\n if (!Array.isArray(currentValue) || !Array.isArray(desiredValue)) {\n throw new TypeError('Current and desired must be arrays');\n }\n const ops = [];\n const currentSet = new Set(this.getKey ? currentValue.map(this.getKey) : currentValue);\n for (const item of desiredValue) {\n const key = this.getKey ? this.getKey(item) : String(item);\n if (!currentSet.has(key)) {\n ops.push({ type: 'add', key, item });\n }\n }\n return ops;\n }\n apply(current, diff) {\n const currentValue = (current ?? []);\n if (!Array.isArray(currentValue)) {\n throw new TypeError('Current must be array');\n }\n const items = [...currentValue];\n for (const { type, item } of diff) {\n if (type === 'add') {\n items.push(item);\n }\n }\n return items;\n }\n getActionVerb(isNew) {\n return isNew ? 'created' : 'added';\n }\n}\nexport function createDefinitionDiffConfig(config) {\n return config;\n}\n/**\n * Creates a diff between two objects.\n */\nexport function createDefinitionDiff(current, desired, configuration) {\n const ops = mapValues(configuration, (field, key) => {\n if (!field)\n return [];\n return field.diff(get(current, key), get(desired, key));\n });\n if (Object.values(ops).every((ops) => ops.length === 0)) {\n return undefined;\n }\n return ops;\n}\n/**\n * Applies a diff to an object.\n */\nexport function applyDefinitionDiff(current, diff, configuration) {\n const clonedCurrent = cloneDeep(current);\n for (const [key, ops] of Object.entries(diff)) {\n if (!ops)\n continue;\n const field = configuration[key];\n const currentValue = get(clonedCurrent, key);\n set(clonedCurrent, key, field.apply(currentValue, ops));\n }\n return clonedCurrent;\n}\n//# sourceMappingURL=definition-diff.js.map","import { mapValues } from 'es-toolkit';\nimport { ModelUtils } from '#src/definition/index.js';\nimport { modelEntityType, modelForeignRelationEntityType, modelLocalRelationEntityType, modelScalarFieldEntityType, modelUniqueConstraintEntityType, } from '#src/schema/index.js';\nimport { applyDefinitionDiff, createDefinitionDiff, createDefinitionDiffConfig, DefinitionDiffArrayIncludesField, DefinitionDiffKeyedArrayField, DefinitionDiffReplacementField, } from '#src/utils/definition-diff/definition-diff.js';\n/**\n * Computes a unique key for a unique constraint by sorting its field refs.\n *\n * @param constraint - Unique constraint input.\n * @returns A key string.\n */\nfunction getUniqueConstraintKey(constraint) {\n const fields = constraint.fields.map((f) => f.fieldRef).sort();\n return fields.join('|');\n}\nexport const modelMergerDefinitionDiffConfig = createDefinitionDiffConfig({\n 'model.fields': new DefinitionDiffKeyedArrayField('fields', (f) => f.name),\n 'model.relations': new DefinitionDiffKeyedArrayField('relations', (r) => r.name),\n 'model.uniqueConstraints': new DefinitionDiffKeyedArrayField('unique constraints', (c) => getUniqueConstraintKey(c)),\n 'model.primaryKeyFieldRefs': new DefinitionDiffReplacementField('primary key fields'),\n 'graphql.objectType.enabled': new DefinitionDiffReplacementField('GraphQL object type enabled'),\n 'graphql.objectType.fields': new DefinitionDiffArrayIncludesField('GraphQL object type fields'),\n 'graphql.objectType.localRelations': new DefinitionDiffArrayIncludesField('GraphQL object type local relations'),\n 'graphql.objectType.foreignRelations': new DefinitionDiffArrayIncludesField('GraphQL object type foreign relations'),\n});\n/**\n * Serializes a model merger model input such that all IDs are replaced with\n * names.\n *\n * @param input - The model merger model input.\n * @param definitionContainer - The definition container.\n * @returns The serialized model merger model input.\n */\nfunction serializeModelMergerModelInput(input, definitionContainer, siblingModels) {\n const siblingModelIds = new Map(siblingModels.map((m) => [m.id, m.name]));\n const siblingModelFieldIdMap = new Map([\n ...input.model.fields.map((f) => [f.id, f.name]),\n ...siblingModels.flatMap((m) => m.model.fields.map((f) => [f.id, f.name])),\n ]);\n const siblingModelRelationIdMap = new Map([\n ...(input.model.relations ?? []).map((r) => [r.id, r.name]),\n ...siblingModels.flatMap((m) => (m.model.relations ?? []).map((r) => [r.id, r.name])),\n ...(input.model.relations ?? []).map((r) => [r.foreignId, r.foreignRelationName]),\n ...siblingModels.flatMap((m) => (m.model.relations ?? []).map((r) => [r.foreignId, r.foreignRelationName])),\n ]);\n const modelFromId = (id) => siblingModelIds.get(id) ?? definitionContainer.nameFromId(id);\n const fieldNameFromId = (id) => siblingModelFieldIdMap.get(id) ?? definitionContainer.nameFromId(id);\n const relationNameFromId = (id) => siblingModelRelationIdMap.get(id) ?? definitionContainer.nameFromId(id);\n return {\n ...input,\n model: {\n ...input.model,\n relations: input.model.relations?.map((r) => ({\n ...r,\n modelRef: modelFromId(r.modelRef),\n references: r.references.map((reference) => ({\n ...reference,\n localRef: fieldNameFromId(reference.localRef),\n foreignRef: fieldNameFromId(reference.foreignRef),\n })),\n })),\n uniqueConstraints: input.model.uniqueConstraints?.map((c) => ({\n ...c,\n fields: c.fields.map((f) => ({\n ...f,\n fieldRef: fieldNameFromId(f.fieldRef),\n })),\n })),\n primaryKeyFieldRefs: input.model.primaryKeyFieldRefs.map(fieldNameFromId),\n },\n graphql: {\n ...input.graphql,\n objectType: {\n ...input.graphql?.objectType,\n fields: input.graphql?.objectType?.fields?.map(fieldNameFromId) ?? [],\n localRelations: input.graphql?.objectType?.localRelations?.map(relationNameFromId) ??\n [],\n foreignRelations: input.graphql?.objectType?.foreignRelations?.map(relationNameFromId) ?? [],\n },\n },\n };\n}\n/**\n * Attaches IDs to the model merger model input.\n *\n * @param input - The model merger model input.\n * @returns The model merger model input with IDs attached.\n */\nfunction attachIdsToModelMergerModelInput(input) {\n return {\n ...input,\n model: {\n ...input.model,\n fields: input.model.fields.map((f) => ({\n ...f,\n id: f.id ?? modelScalarFieldEntityType.generateNewId(),\n })),\n relations: input.model.relations?.map((r) => ({\n ...r,\n id: r.id ?? modelLocalRelationEntityType.generateNewId(),\n foreignId: r.foreignId ?? modelForeignRelationEntityType.generateNewId(),\n })),\n uniqueConstraints: input.model.uniqueConstraints?.map((c) => ({\n ...c,\n id: c.id ?? modelUniqueConstraintEntityType.generateNewId(),\n })),\n },\n };\n}\n/**\n * Deserializes a model merger model input converting all names to IDs.\n *\n * @param input - The model merger model input.\n * @param resolveForeignFieldRef - A function that resolves the foreign field ref.\n * @returns The deserialized model merger model input.\n */\nfunction deserializeModelMergerModelInput(input, resolveForeignFieldRef, resolveForeignRelationRef, resolveModelRef) {\n const inputWithIds = attachIdsToModelMergerModelInput(input);\n const resolveLocalFieldName = (name) => {\n const field = inputWithIds.model.fields.find((f) => f.name === name);\n if (!field) {\n throw new Error(`Field ${name} not found`);\n }\n return field.id;\n };\n const resolveLocalRelationName = (name) => {\n const relation = inputWithIds.model.relations?.find((r) => r.name === name);\n if (!relation) {\n throw new Error(`Relation ${name} not found`);\n }\n return relation.id;\n };\n return {\n ...inputWithIds,\n model: {\n ...inputWithIds.model,\n relations: inputWithIds.model.relations?.map((relation) => ({\n ...relation,\n modelRef: resolveModelRef(relation.modelRef),\n references: relation.references.map((reference) => ({\n ...reference,\n localRef: resolveLocalFieldName(reference.localRef),\n foreignRef: resolveForeignFieldRef(relation.modelRef, reference.foreignRef),\n })),\n })),\n uniqueConstraints: inputWithIds.model.uniqueConstraints?.map((constraint) => ({\n ...constraint,\n fields: constraint.fields.map((field) => ({\n ...field,\n fieldRef: resolveLocalFieldName(field.fieldRef),\n })),\n })),\n primaryKeyFieldRefs: inputWithIds.model.primaryKeyFieldRefs.map((fieldRef) => resolveLocalFieldName(fieldRef)),\n },\n graphql: {\n ...inputWithIds.graphql,\n objectType: {\n ...inputWithIds.graphql?.objectType,\n fields: inputWithIds.graphql?.objectType?.fields?.map((fieldRef) => resolveLocalFieldName(fieldRef)) ?? [],\n localRelations: inputWithIds.graphql?.objectType?.localRelations?.map((relationRef) => resolveLocalRelationName(relationRef)) ?? [],\n foreignRelations: inputWithIds.graphql?.objectType?.foreignRelations?.map((relationRef) => resolveForeignRelationRef(relationRef)) ?? [],\n },\n },\n };\n}\n/**\n * Creates a new blank model config input from a name and feature ref.\n *\n * @param name - The name of the model.\n * @param featureRef - The feature ref of the model.\n * @returns The new model config input.\n */\nfunction createNewModelConfigInput(name, featureRef, id) {\n return {\n id,\n name,\n featureRef,\n model: {\n fields: [],\n primaryKeyFieldRefs: [],\n },\n };\n}\n/**\n * Diff the model definition.\n *\n * @param current - The current model definition or a new model to be created.\n * @param desired - The desired model definition.\n * @param definitionContainer - Project definition container.\n * @param options - Diff options.\n * @returns A diff output or undefined if there are no differences.\n */\nexport function createModelMergerResult(current, desired, definitionContainer, { siblingModels = [] } = {}) {\n const currentModel = current ??\n createNewModelConfigInput(desired.name, desired.featureRef, modelEntityType.generateNewId());\n // resolves all the names of the current model config input\n const resolvedCurrent = serializeModelMergerModelInput(currentModel, definitionContainer, siblingModels);\n const diff = createDefinitionDiff(resolvedCurrent, desired, modelMergerDefinitionDiffConfig);\n if (!diff) {\n return undefined;\n }\n return {\n isNewModel: !current,\n id: currentModel.id,\n name: currentModel.name,\n featureRef: currentModel.featureRef,\n changes: diff,\n };\n}\nexport function doesModelMergerResultsHaveChanges(results) {\n return Object.values(results).some((result) => result?.changes);\n}\n/**\n * Creates a model merger result for a set of models.\n *\n * @param current - A map of model IDs\n * @param desired - The desired model definition.\n * @param definitionContainer - Project definition container.\n * @param options - Diff options.\n * @returns A model merger result for a set of models.\n */\nexport function createModelMergerResults(current, desired, definitionContainer, { siblingModels = [] } = {}) {\n return mapValues(desired, (desired, key) => createModelMergerResult(current[key] && modelEntityType.isId(current[key])\n ? ModelUtils.byIdOrThrow(definitionContainer.definition, current[key])\n : ModelUtils.byName(definitionContainer.definition, current[key] ?? ''), desired, definitionContainer, {\n siblingModels,\n }));\n}\nexport function applyModelMergerDiff(model, diff, definitionContainer, siblingModels = []) {\n const resolvedCurrent = serializeModelMergerModelInput(model, definitionContainer, siblingModels);\n const patchedCurrent = applyDefinitionDiff(resolvedCurrent, diff, modelMergerDefinitionDiffConfig);\n return {\n ...model,\n ...deserializeModelMergerModelInput(patchedCurrent, (modelId, fieldName) => {\n const siblingModel = siblingModels.find((m) => m.id === modelId || m.name === modelId);\n if (siblingModel) {\n const field = siblingModel.model.fields.find((f) => f.name === fieldName);\n if (!field) {\n throw new Error(`Field ${fieldName} not found in sibling model ${modelId}`);\n }\n return field.id;\n }\n const model = ModelUtils.byIdOrThrow(definitionContainer.definition, modelId);\n const field = model.model.fields.find((f) => f.name === fieldName);\n if (!field) {\n throw new Error(`Field ${fieldName} not found in model ${model.name}`);\n }\n return field.id;\n }, (relationName) => {\n // Search sibling model first\n let relationId;\n for (const siblingModel of siblingModels) {\n const relation = siblingModel.model.relations?.find((r) => r.foreignRelationName === relationName);\n if (relation) {\n relationId = relation.foreignId;\n break;\n }\n }\n if (relationId) {\n return relationId;\n }\n const relations = ModelUtils.getRelationsToModel(definitionContainer.definition, model.id);\n const relation = relations.find((r) => r.relation.foreignRelationName === relationName &&\n r.relation.modelRef === model.id);\n if (!relation) {\n throw new Error(`Relation ${relationName} not found in model ${model.name}`);\n }\n return relation.relation.foreignId;\n }, (modelRef) => {\n const siblingModel = siblingModels.find((m) => m.id === modelRef || m.name === modelRef);\n if (siblingModel) {\n return siblingModel.id;\n }\n return modelRef;\n }),\n };\n}\nexport function applyModelMergerResultInPlace(draftConfig, currentModel, result, definitionContainer, { siblingModels = [] } = {}) {\n const newModel = applyModelMergerDiff(currentModel, result.changes, definitionContainer, siblingModels);\n if (result.isNewModel) {\n draftConfig.models.push(newModel);\n }\n else {\n const index = draftConfig.models.findIndex((m) => m.id === result.id);\n if (index === -1) {\n throw new Error(`Model ${result.id} not found`);\n }\n draftConfig.models[index] = newModel;\n }\n return newModel.id;\n}\nexport function createAndApplyModelMergerResults(draftConfig, current, desired, definitionContainer, { siblingModels = [] } = {}) {\n const results = createModelMergerResults(current, desired, definitionContainer, { siblingModels });\n const newModels = [];\n const resultIds = {};\n // Apply model mergers in order\n for (const [key, result] of Object.entries(results)) {\n if (result) {\n const model = result.isNewModel\n ? createNewModelConfigInput(result.name, result.featureRef, result.id)\n : ModelUtils.byIdOrThrow(definitionContainer.definition, result.id);\n applyModelMergerResultInPlace(draftConfig, model, result, definitionContainer, {\n siblingModels: newModels,\n });\n const newModel = draftConfig.models.find((m) => m.id === result.id);\n if (newModel) {\n newModels.push(newModel);\n }\n resultIds[key] = model.id;\n }\n else {\n resultIds[key] = desired[key].name;\n }\n }\n return resultIds;\n}\n//# sourceMappingURL=model-merger.js.map"],"names":["z"],"mappings":"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","x_google_ignoreList":[1,2,3,4,5,6,7,8,14,15,16,17,18,19,20,21]}
@@ -1,4 +1,4 @@
1
- import { importShared } from './__federation_fn_import-Csq_dMs0.js';
1
+ import { importShared } from './__federation_fn_import-BVpKhyMw.js';
2
2
 
3
3
  const AUTH0_MODELS = {
4
4
  user: "User"
@@ -13,4 +13,4 @@ const createAuth0PluginDefinitionSchema = definitionSchema(
13
13
  );
14
14
 
15
15
  export { AUTH0_MODELS as A, createAuth0PluginDefinitionSchema as c };
16
- //# sourceMappingURL=plugin-definition-BzNRzlSY.js.map
16
+ //# sourceMappingURL=plugin-definition--cfUfY5Z.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-definition-BzNRzlSY.js","sources":["../../../src/auth0/constants/model-names.ts","../../../src/auth0/core/schema/plugin-definition.ts"],"sourcesContent":["export const AUTH0_MODELS = {\n user: 'User',\n} as const;\n","import type { def } from '@baseplate-dev/project-builder-lib';\n\nimport { definitionSchema } from '@baseplate-dev/project-builder-lib';\nimport { z } from 'zod';\n\nexport const createAuth0PluginDefinitionSchema = definitionSchema((_) =>\n z.object({}),\n);\n\nexport type Auth0PluginDefinitionInput = def.InferInput<\n typeof createAuth0PluginDefinitionSchema\n>;\n"],"names":[],"mappings":";;AAAO,MAAM,YAAA,GAAe;AAAA,EAC1B,IAAA,EAAM;AACR;;ACAA,MAAA,CAAA,gBAAA,CAAA,GAAA,MAAA,YAAA,CAAA,oCAAA,CAAA;;AACA,MAAA,CAAA,CAAA,CAAA,GAAA,MAAA,YAAA,CAAA,KAAA,CAAA;;AAEO,MAAM,iCAAA,GAAoC,gBAAA;AAAA,EAAiB,CAAC,CAAA,KACjE,CAAA,CAAE,MAAA,CAAO,EAAE;AACb;;;;"}
1
+ {"version":3,"file":"plugin-definition--cfUfY5Z.js","sources":["../../../src/auth0/constants/model-names.ts","../../../src/auth0/core/schema/plugin-definition.ts"],"sourcesContent":["export const AUTH0_MODELS = {\n user: 'User',\n} as const;\n","import type { def } from '@baseplate-dev/project-builder-lib';\n\nimport { definitionSchema } from '@baseplate-dev/project-builder-lib';\nimport { z } from 'zod';\n\nexport const createAuth0PluginDefinitionSchema = definitionSchema((_) =>\n z.object({}),\n);\n\nexport type Auth0PluginDefinitionInput = def.InferInput<\n typeof createAuth0PluginDefinitionSchema\n>;\n"],"names":[],"mappings":";;AAAO,MAAM,YAAA,GAAe;AAAA,EAC1B,IAAA,EAAM;AACR;;ACAA,MAAA,CAAA,gBAAA,CAAA,GAAA,MAAA,YAAA,CAAA,oCAAA,CAAA;;AACA,MAAA,CAAA,CAAA,CAAA,GAAA,MAAA,YAAA,CAAA,KAAA,CAAA;;AAEO,MAAM,iCAAA,GAAoC,gBAAA;AAAA,EAAiB,CAAC,CAAA,KACjE,CAAA,CAAE,MAAA,CAAO,EAAE;AACb;;;;"}
@@ -1,4 +1,4 @@
1
- import { importShared } from './__federation_fn_import-Csq_dMs0.js';
1
+ import { importShared } from './__federation_fn_import-BVpKhyMw.js';
2
2
 
3
3
  const PLACEHOLDER_AUTH_MODELS = {
4
4
  user: "User"
@@ -13,4 +13,4 @@ const createPlaceholderAuthPluginDefinitionSchema = definitionSchema(
13
13
  );
14
14
 
15
15
  export { PLACEHOLDER_AUTH_MODELS as P, createPlaceholderAuthPluginDefinitionSchema as c };
16
- //# sourceMappingURL=plugin-definition-BYGf_zSR.js.map
16
+ //# sourceMappingURL=plugin-definition-BYzEIUL9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-definition-BYGf_zSR.js","sources":["../../../src/placeholder-auth/constants/model-names.ts","../../../src/placeholder-auth/core/schema/plugin-definition.ts"],"sourcesContent":["export const PLACEHOLDER_AUTH_MODELS = {\n user: 'User',\n} as const;\n","import type { def } from '@baseplate-dev/project-builder-lib';\n\nimport { definitionSchema } from '@baseplate-dev/project-builder-lib';\nimport { z } from 'zod';\n\nexport const createPlaceholderAuthPluginDefinitionSchema = definitionSchema(\n (_) => z.object({}),\n);\n\nexport type PlaceholderAuthPluginDefinitionInput = def.InferInput<\n typeof createPlaceholderAuthPluginDefinitionSchema\n>;\n"],"names":[],"mappings":";;AAAO,MAAM,uBAAA,GAA0B;AAAA,EACrC,IAAA,EAAM;AACR;;ACAA,MAAA,CAAA,gBAAA,CAAA,GAAA,MAAA,YAAA,CAAA,oCAAA,CAAA;;AACA,MAAA,CAAA,CAAA,CAAA,GAAA,MAAA,YAAA,CAAA,KAAA,CAAA;;AAEO,MAAM,2CAAA,GAA8C,gBAAA;AAAA,EACzD,CAAC,CAAA,KAAM,CAAA,CAAE,MAAA,CAAO,EAAE;AACpB;;;;"}
1
+ {"version":3,"file":"plugin-definition-BYzEIUL9.js","sources":["../../../src/placeholder-auth/constants/model-names.ts","../../../src/placeholder-auth/core/schema/plugin-definition.ts"],"sourcesContent":["export const PLACEHOLDER_AUTH_MODELS = {\n user: 'User',\n} as const;\n","import type { def } from '@baseplate-dev/project-builder-lib';\n\nimport { definitionSchema } from '@baseplate-dev/project-builder-lib';\nimport { z } from 'zod';\n\nexport const createPlaceholderAuthPluginDefinitionSchema = definitionSchema(\n (_) => z.object({}),\n);\n\nexport type PlaceholderAuthPluginDefinitionInput = def.InferInput<\n typeof createPlaceholderAuthPluginDefinitionSchema\n>;\n"],"names":[],"mappings":";;AAAO,MAAM,uBAAA,GAA0B;AAAA,EACrC,IAAA,EAAM;AACR;;ACAA,MAAA,CAAA,gBAAA,CAAA,GAAA,MAAA,YAAA,CAAA,oCAAA,CAAA;;AACA,MAAA,CAAA,CAAA,CAAA,GAAA,MAAA,YAAA,CAAA,KAAA,CAAA;;AAEO,MAAM,2CAAA,GAA8C,gBAAA;AAAA,EACzD,CAAC,CAAA,KAAM,CAAA,CAAE,MAAA,CAAO,EAAE;AACpB;;;;"}
@@ -1,4 +1,4 @@
1
- import { importShared } from './__federation_fn_import-Csq_dMs0.js';
1
+ import { importShared } from './__federation_fn_import-BVpKhyMw.js';
2
2
 
3
3
  const {authRoleEntityType,definitionSchema} = await importShared('@baseplate-dev/project-builder-lib');
4
4
 
@@ -28,4 +28,4 @@ const createLocalAuthPluginDefinitionSchema = definitionSchema(
28
28
  );
29
29
 
30
30
  export { createLocalAuthPluginDefinitionSchema as c };
31
- //# sourceMappingURL=plugin-definition-Btdhhs9H.js.map
31
+ //# sourceMappingURL=plugin-definition-BzhiPIBh.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-definition-Btdhhs9H.js","sources":["../../../src/local-auth/core/schema/plugin-definition.ts"],"sourcesContent":["import type { def } from '@baseplate-dev/project-builder-lib';\n\nimport {\n authRoleEntityType,\n definitionSchema,\n} from '@baseplate-dev/project-builder-lib';\nimport { z } from 'zod';\n\nexport const createLocalAuthPluginDefinitionSchema = definitionSchema((ctx) =>\n z.object({\n initialUserRoles: ctx.withDefault(\n z.array(\n ctx.withRef({\n type: authRoleEntityType,\n onDelete: 'DELETE',\n }),\n ),\n [],\n ),\n userAdminRoles: ctx.withDefault(\n z.array(\n ctx.withRef({\n type: authRoleEntityType,\n onDelete: 'DELETE',\n }),\n ),\n [],\n ),\n }),\n);\n\nexport type LocalAuthPluginDefinition = def.InferOutput<\n typeof createLocalAuthPluginDefinitionSchema\n>;\n\nexport type LocalAuthPluginDefinitionInput = def.InferInput<\n typeof createLocalAuthPluginDefinitionSchema\n>;\n"],"names":[],"mappings":";;AAEA,MAAA,CAAA,kBAAA,CAAA,gBAAA,CAAA,GAAA,MAAA,YAAA,CAAA,oCAAA,CAAA;;AAIA,MAAA,CAAA,CAAA,CAAA,GAAA,MAAA,YAAA,CAAA,KAAA,CAAA;;AAEO,MAAM,qCAAA,GAAwC,gBAAA;AAAA,EAAiB,CAAC,GAAA,KACrE,CAAA,CAAE,MAAA,CAAO;AAAA,IACP,kBAAkB,GAAA,CAAI,WAAA;AAAA,MACpB,CAAA,CAAE,KAAA;AAAA,QACA,IAAI,OAAA,CAAQ;AAAA,UACV,IAAA,EAAM,kBAAA;AAAA,UACN,QAAA,EAAU;AAAA,SACX;AAAA,OACH;AAAA,MACA;AAAC,KACH;AAAA,IACA,gBAAgB,GAAA,CAAI,WAAA;AAAA,MAClB,CAAA,CAAE,KAAA;AAAA,QACA,IAAI,OAAA,CAAQ;AAAA,UACV,IAAA,EAAM,kBAAA;AAAA,UACN,QAAA,EAAU;AAAA,SACX;AAAA,OACH;AAAA,MACA;AAAC;AACH,GACD;AACH;;;;"}
1
+ {"version":3,"file":"plugin-definition-BzhiPIBh.js","sources":["../../../src/local-auth/core/schema/plugin-definition.ts"],"sourcesContent":["import type { def } from '@baseplate-dev/project-builder-lib';\n\nimport {\n authRoleEntityType,\n definitionSchema,\n} from '@baseplate-dev/project-builder-lib';\nimport { z } from 'zod';\n\nexport const createLocalAuthPluginDefinitionSchema = definitionSchema((ctx) =>\n z.object({\n initialUserRoles: ctx.withDefault(\n z.array(\n ctx.withRef({\n type: authRoleEntityType,\n onDelete: 'DELETE',\n }),\n ),\n [],\n ),\n userAdminRoles: ctx.withDefault(\n z.array(\n ctx.withRef({\n type: authRoleEntityType,\n onDelete: 'DELETE',\n }),\n ),\n [],\n ),\n }),\n);\n\nexport type LocalAuthPluginDefinition = def.InferOutput<\n typeof createLocalAuthPluginDefinitionSchema\n>;\n\nexport type LocalAuthPluginDefinitionInput = def.InferInput<\n typeof createLocalAuthPluginDefinitionSchema\n>;\n"],"names":[],"mappings":";;AAEA,MAAA,CAAA,kBAAA,CAAA,gBAAA,CAAA,GAAA,MAAA,YAAA,CAAA,oCAAA,CAAA;;AAIA,MAAA,CAAA,CAAA,CAAA,GAAA,MAAA,YAAA,CAAA,KAAA,CAAA;;AAEO,MAAM,qCAAA,GAAwC,gBAAA;AAAA,EAAiB,CAAC,GAAA,KACrE,CAAA,CAAE,MAAA,CAAO;AAAA,IACP,kBAAkB,GAAA,CAAI,WAAA;AAAA,MACpB,CAAA,CAAE,KAAA;AAAA,QACA,IAAI,OAAA,CAAQ;AAAA,UACV,IAAA,EAAM,kBAAA;AAAA,UACN,QAAA,EAAU;AAAA,SACX;AAAA,OACH;AAAA,MACA;AAAC,KACH;AAAA,IACA,gBAAgB,GAAA,CAAI,WAAA;AAAA,MAClB,CAAA,CAAE,KAAA;AAAA,QACA,IAAI,OAAA,CAAQ;AAAA,UACV,IAAA,EAAM,kBAAA;AAAA,UACN,QAAA,EAAU;AAAA,SACX;AAAA,OACH;AAAA,MACA;AAAC;AACH,GACD;AACH;;;;"}
@@ -1,4 +1,4 @@
1
- import { importShared } from './__federation_fn_import-Csq_dMs0.js';
1
+ import { importShared } from './__federation_fn_import-BVpKhyMw.js';
2
2
 
3
3
  const {authRoleEntityType: authRoleEntityType$1} = await importShared('@baseplate-dev/project-builder-lib');
4
4
 
@@ -83,4 +83,4 @@ const createAuthPluginDefinitionSchema = definitionSchema(
83
83
  );
84
84
 
85
85
  export { createAuthPluginDefinitionSchema as a, createDefaultAuthRoles as b, createAuthRoleSchema as c };
86
- //# sourceMappingURL=plugin-definition-TOGLgOaU.js.map
86
+ //# sourceMappingURL=plugin-definition-CIiMl7Zf.js.map