@baseplate-dev/plugin-auth 0.6.6 → 0.6.8

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 (88) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/local-auth/core/generators/auth-email-password/templates/module/schema/password-reset.mutations.js +2 -1
  3. package/dist/local-auth/core/generators/auth-email-password/templates/module/schema/password-reset.mutations.js.map +1 -1
  4. package/dist/local-auth/core/generators/auth-email-password/templates/module/schema/password-reset.mutations.ts +2 -1
  5. package/dist/local-auth/core/generators/auth-email-password/templates/module/services/password-reset.service.d.ts +2 -1
  6. package/dist/local-auth/core/generators/auth-email-password/templates/module/services/password-reset.service.d.ts.map +1 -1
  7. package/dist/local-auth/core/generators/auth-email-password/templates/module/services/password-reset.service.js +4 -1
  8. package/dist/local-auth/core/generators/auth-email-password/templates/module/services/password-reset.service.js.map +1 -1
  9. package/dist/local-auth/core/generators/auth-email-password/templates/module/services/password-reset.service.ts +6 -0
  10. package/dist/local-auth/core/generators/auth-email-password/templates/module/services/user-password.service.d.ts +9 -0
  11. package/dist/local-auth/core/generators/auth-email-password/templates/module/services/user-password.service.d.ts.map +1 -1
  12. package/dist/local-auth/core/generators/auth-email-password/templates/module/services/user-password.service.js +21 -7
  13. package/dist/local-auth/core/generators/auth-email-password/templates/module/services/user-password.service.js.map +1 -1
  14. package/dist/local-auth/core/generators/auth-email-password/templates/module/services/user-password.service.ts +32 -11
  15. package/dist/local-auth/core/generators/auth-routes/auth-routes.generator.js +3 -3
  16. package/dist/local-auth/core/generators/auth-routes/auth-routes.generator.js.map +1 -1
  17. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/forgot-password.js +1 -1
  18. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/forgot-password.js.map +1 -1
  19. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/forgot-password.tsx +1 -1
  20. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/login.js +17 -2
  21. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/login.js.map +1 -1
  22. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/login.tsx +21 -2
  23. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/reset-password.js +5 -2
  24. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/reset-password.js.map +1 -1
  25. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/reset-password.tsx +11 -2
  26. package/dist/web/assets/{__federation_expose_authCoreCommon-NPAy2Xu2.js → __federation_expose_authCoreCommon-Chd1hkDj.js} +3 -3
  27. package/dist/web/assets/{__federation_expose_authCoreCommon-NPAy2Xu2.js.map → __federation_expose_authCoreCommon-Chd1hkDj.js.map} +1 -1
  28. package/dist/web/assets/{__federation_expose_authCoreWeb-D0AlXNml.js → __federation_expose_authCoreWeb-B6MMIRwe.js} +6 -6
  29. package/dist/web/assets/__federation_expose_authCoreWeb-B6MMIRwe.js.map +1 -0
  30. package/dist/web/assets/{__federation_expose_better-authAdminCommon-Bp8fb_BT.js → __federation_expose_better-authAdminCommon-BTbhl15Q.js} +2 -2
  31. package/dist/web/assets/{__federation_expose_better-authAdminCommon-Bp8fb_BT.js.map → __federation_expose_better-authAdminCommon-BTbhl15Q.js.map} +1 -1
  32. package/dist/web/assets/{__federation_expose_better-authAdminWeb-Dggf6fZk.js → __federation_expose_better-authAdminWeb-CwKP2Fwx.js} +2 -2
  33. package/dist/web/assets/{__federation_expose_better-authAdminWeb-Dggf6fZk.js.map → __federation_expose_better-authAdminWeb-CwKP2Fwx.js.map} +1 -1
  34. package/dist/web/assets/{__federation_expose_better-authCoreCommon-D3bQgHWh.js → __federation_expose_better-authCoreCommon-DHvNg16x.js} +4 -4
  35. package/dist/web/assets/{__federation_expose_better-authCoreCommon-D3bQgHWh.js.map → __federation_expose_better-authCoreCommon-DHvNg16x.js.map} +1 -1
  36. package/dist/web/assets/{__federation_expose_better-authCoreWeb-4VA_40fu.js → __federation_expose_better-authCoreWeb-DcL0DNwe.js} +5 -5
  37. package/dist/web/assets/{__federation_expose_better-authCoreWeb-4VA_40fu.js.map → __federation_expose_better-authCoreWeb-DcL0DNwe.js.map} +1 -1
  38. package/dist/web/assets/{__federation_expose_local-authAdminCommon-Bp8fb_BT.js → __federation_expose_local-authAdminCommon-BTbhl15Q.js} +2 -2
  39. package/dist/web/assets/{__federation_expose_local-authAdminCommon-Bp8fb_BT.js.map → __federation_expose_local-authAdminCommon-BTbhl15Q.js.map} +1 -1
  40. package/dist/web/assets/{__federation_expose_local-authAdminWeb-BDyZDL1a.js → __federation_expose_local-authAdminWeb-DeDTjgfy.js} +2 -2
  41. package/dist/web/assets/{__federation_expose_local-authAdminWeb-BDyZDL1a.js.map → __federation_expose_local-authAdminWeb-DeDTjgfy.js.map} +1 -1
  42. package/dist/web/assets/{__federation_expose_local-authCoreCommon-C3UyEu-M.js → __federation_expose_local-authCoreCommon-CaB76kZh.js} +4 -4
  43. package/dist/web/assets/{__federation_expose_local-authCoreCommon-C3UyEu-M.js.map → __federation_expose_local-authCoreCommon-CaB76kZh.js.map} +1 -1
  44. package/dist/web/assets/{__federation_expose_local-authCoreWeb-BYkl2IGk.js → __federation_expose_local-authCoreWeb-J0GrCM1P.js} +5 -5
  45. package/dist/web/assets/{__federation_expose_local-authCoreWeb-BYkl2IGk.js.map → __federation_expose_local-authCoreWeb-J0GrCM1P.js.map} +1 -1
  46. package/dist/web/assets/{__federation_expose_placeholder-authCoreCommon-Bq0ln8n5.js → __federation_expose_placeholder-authCoreCommon-DEOS_PRC.js} +3 -3
  47. package/dist/web/assets/{__federation_expose_placeholder-authCoreCommon-Bq0ln8n5.js.map → __federation_expose_placeholder-authCoreCommon-DEOS_PRC.js.map} +1 -1
  48. package/dist/web/assets/{__federation_expose_placeholder-authCoreWeb-BNGIcu0Y.js → __federation_expose_placeholder-authCoreWeb-xpLN9suD.js} +5 -5
  49. package/dist/web/assets/{__federation_expose_placeholder-authCoreWeb-BNGIcu0Y.js.map → __federation_expose_placeholder-authCoreWeb-xpLN9suD.js.map} +1 -1
  50. package/dist/web/assets/{__federation_fn_import-DybuDj1g.js → __federation_fn_import-DboThXN4.js} +2 -2
  51. package/dist/web/assets/{__federation_fn_import-DybuDj1g.js.map → __federation_fn_import-DboThXN4.js.map} +1 -1
  52. package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib/{web-CAuxM6sN.js → web-wm-FNH7x.js} +5 -5
  53. package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib/{web-CAuxM6sN.js.map → web-wm-FNH7x.js.map} +1 -1
  54. package/dist/web/assets/__federation_shared_@baseplate-dev/{project-builder-lib-DkaXS95C.js → project-builder-lib-CDRCjvEd.js} +7 -7
  55. package/dist/web/assets/__federation_shared_@baseplate-dev/{project-builder-lib-DkaXS95C.js.map → project-builder-lib-CDRCjvEd.js.map} +1 -1
  56. package/dist/web/assets/__federation_shared_@baseplate-dev/{ui-components-DX4jbl4M.js → ui-components-Bwy1GWne.js} +6507 -1635
  57. package/dist/web/assets/__federation_shared_@baseplate-dev/ui-components-Bwy1GWne.js.map +1 -0
  58. package/dist/web/assets/__federation_shared_@baseplate-dev/{utils-B-MiuXg4.js → utils-Cs-QtWzA.js} +2 -2
  59. package/dist/web/assets/__federation_shared_@baseplate-dev/{utils-B-MiuXg4.js.map → utils-Cs-QtWzA.js.map} +1 -1
  60. package/dist/web/assets/__federation_shared_@tanstack/{react-router-DyqK0P1G.js → react-router-_N2czGX0.js} +2 -2
  61. package/dist/web/assets/__federation_shared_@tanstack/react-router-_N2czGX0.js.map +1 -0
  62. package/dist/web/assets/{get-auth-plugin-definition-BigT75An.js → get-auth-plugin-definition-Dy9T0JTI.js} +2 -2
  63. package/dist/web/assets/{get-auth-plugin-definition-BigT75An.js.map → get-auth-plugin-definition-Dy9T0JTI.js.map} +1 -1
  64. package/dist/web/assets/{index-BwviOVwi.js → index-DN2TTEo8.js} +2 -2
  65. package/dist/web/assets/{index-BwviOVwi.js.map → index-DN2TTEo8.js.map} +1 -1
  66. package/dist/web/assets/{index.esm-Db6zPKK9.js → index.esm-BMmVLbge.js} +2 -2
  67. package/dist/web/assets/{index.esm-Db6zPKK9.js.map → index.esm-BMmVLbge.js.map} +1 -1
  68. package/dist/web/assets/{model-utils-D0sDtkf1.js → model-utils-DVlh_mZg.js} +2 -2
  69. package/dist/web/assets/{model-utils-D0sDtkf1.js.map → model-utils-DVlh_mZg.js.map} +1 -1
  70. package/dist/web/assets/{plugin-definition-Cg8Gij5x.js → plugin-definition-BA3dR1I6.js} +2 -2
  71. package/dist/web/assets/{plugin-definition-Cg8Gij5x.js.map → plugin-definition-BA3dR1I6.js.map} +1 -1
  72. package/dist/web/assets/{plugin-definition-ChoxTjiw.js → plugin-definition-DqIciiTP.js} +2 -2
  73. package/dist/web/assets/{plugin-definition-ChoxTjiw.js.map → plugin-definition-DqIciiTP.js.map} +1 -1
  74. package/dist/web/assets/{plugin-definition-D9-5sSEf.js → plugin-definition-TuWj1Cbs.js} +2 -2
  75. package/dist/web/assets/{plugin-definition-D9-5sSEf.js.map → plugin-definition-TuWj1Cbs.js.map} +1 -1
  76. package/dist/web/assets/{plugin-definition-BQN6LXOW.js → plugin-definition-YXnH0eeN.js} +2 -2
  77. package/dist/web/assets/{plugin-definition-BQN6LXOW.js.map → plugin-definition-YXnH0eeN.js.map} +1 -1
  78. package/dist/web/assets/{react-CcDhDxl8.js → react-BFk_Rnee.js} +2 -2
  79. package/dist/web/assets/react-BFk_Rnee.js.map +1 -0
  80. package/dist/web/assets/remoteEntry.js +16 -16
  81. package/dist/web/assets/{styles-Otn_yxD1.js → styles-CdKqeRZD.js} +3 -3
  82. package/dist/web/assets/styles-CdKqeRZD.js.map +1 -0
  83. package/package.json +13 -13
  84. package/dist/web/assets/__federation_expose_authCoreWeb-D0AlXNml.js.map +0 -1
  85. package/dist/web/assets/__federation_shared_@baseplate-dev/ui-components-DX4jbl4M.js.map +0 -1
  86. package/dist/web/assets/__federation_shared_@tanstack/react-router-DyqK0P1G.js.map +0 -1
  87. package/dist/web/assets/react-CcDhDxl8.js.map +0 -1
  88. package/dist/web/assets/styles-Otn_yxD1.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { importShared } from './__federation_fn_import-DybuDj1g.js';
1
+ import { importShared } from './__federation_fn_import-DboThXN4.js';
2
2
 
3
3
  /**
4
4
  * Creates a plugin spec with init and use phases.
@@ -837,4 +837,4 @@ const ModelUtils = {
837
837
  };
838
838
 
839
839
  export { DefinitionEntityType as D, FeatureUtils as F, ModelUtils as M, RefExpressionParser as R, createEntityType as a, definitionRefRegistry as b, createFieldMapSpec as c, definitionSchemaWithSlots as d, definitionDefaultRegistry as e, definitionSchema as f, featureEntityType as g, createFeaturesSchema as h, createDefinitionSchemaParserContext as i, expressionParserSpec as j, createFeatureSchema as k, createPluginFieldMap as l, createPluginSpec as m, createRefContextSlot as n, createRefContextSlotMap as o, featureNameSchema as p, getPluginContext as q, runInPluginContext as r, withEnt as s, withPlaceholderSlots as t, withRef as u, withDefault as w };
840
- //# sourceMappingURL=model-utils-D0sDtkf1.js.map
840
+ //# sourceMappingURL=model-utils-DVlh_mZg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-utils-D0sDtkf1.js","sources":["../../../../../packages/project-builder-lib/dist/plugins/spec/types.js","../../../../../packages/project-builder-lib/dist/plugins/context/plugin-context.js","../../../../../packages/project-builder-lib/dist/plugins/utils/create-plugin-field-map.js","../../../../../packages/project-builder-lib/dist/plugins/utils/create-field-map-spec.js","../../../../../packages/project-builder-lib/dist/references/definition-ref-registry.js","../../../../../packages/project-builder-lib/dist/references/expression-parser-spec.js","../../../../../packages/project-builder-lib/dist/references/expression-types.js","../../../../../packages/project-builder-lib/dist/references/ref-context-slot.js","../../../../../packages/project-builder-lib/dist/references/extend-parser-context-with-refs.js","../../../../../packages/project-builder-lib/dist/schema/creator/definition-default-registry.js","../../../../../packages/project-builder-lib/dist/schema/creator/extend-parser-context-with-defaults.js","../../../../../packages/project-builder-lib/dist/schema/creator/schema-creator.js","../../../../../packages/project-builder-lib/dist/references/types.js","../../../../../packages/project-builder-lib/dist/schema/features/feature.js","../../../../../packages/project-builder-lib/dist/definition/feature/feature-utils.js","../../../../../packages/project-builder-lib/dist/definition/model/model-utils.js"],"sourcesContent":["/**\n * Creates a plugin spec with init and use phases.\n *\n * @example\n * ```typescript\n * const mySpec = createPluginSpec('core/my-spec', {\n * initializer: () => {\n * const items = new Map<string, Item>();\n * return {\n * init: {\n * register: (item: Item) => items.set(item.name, item),\n * },\n * use: () => ({\n * get: (name: string) => items.get(name),\n * getAll: () => [...items.values()],\n * }),\n * };\n * },\n * });\n * ```\n *\n * @param name - Unique identifier for the spec (e.g., 'core/my-spec')\n * @param options - Options including the initializer function\n * @returns A plugin spec that can be used with SpecStore\n */\nexport function createPluginSpec(name, options) {\n const { initializer } = options;\n return {\n type: 'plugin-spec',\n name,\n initializer,\n };\n}\n//# sourceMappingURL=types.js.map","/**\n * Plugin context module for tracking the current plugin being initialized.\n *\n * Uses a simple synchronous context that works on both Node and browser platforms.\n * This is safe because plugin initialization is synchronous and single-threaded.\n */\n// Simple synchronous context - works on both Node and browser\n// Safe because plugin initialization is synchronous and single-threaded\nlet currentPluginContext;\n/**\n * Runs a function within a plugin context.\n *\n * This sets the current plugin context for the duration of the function execution,\n * allowing nested functions to access the plugin key via `getPluginContext()`.\n *\n * @param context - The plugin context to set\n * @param fn - The function to run within the context\n * @returns The result of the function\n */\nexport function runInPluginContext(context, fn) {\n const prev = currentPluginContext;\n currentPluginContext = context;\n try {\n return fn();\n }\n finally {\n currentPluginContext = prev;\n }\n}\n/**\n * Gets the current plugin context if one exists.\n *\n * @returns The current plugin context, or undefined if not in a plugin context\n */\nexport function getPluginContext() {\n return currentPluginContext;\n}\n//# sourceMappingURL=plugin-context.js.map","import { createFieldMap } from '@baseplate-dev/utils';\nimport { getPluginContext } from '../context/plugin-context.js';\n/**\n * Creates a field map that automatically tracks which plugin registered each value.\n *\n * Similar to `createConfigFieldMap` in the sync package, this utility uses the\n * current plugin context to track the source of registrations. This enables\n * clear error messages when registration conflicts occur.\n *\n * @example\n * ```typescript\n * const fieldMap = createPluginFieldMap((t) => ({\n * transformers: t.map<string, Transformer>(),\n * }));\n *\n * // When a plugin tries to overwrite a value:\n * // Error: Value for key 'myTransformer' has already been set by plugin-auth\n * // and cannot be overwritten by plugin-storage\n * ```\n *\n * @param schemaBuilder - A function that builds the field map schema\n * @returns A field map with automatic source tracking\n */\nexport function createPluginFieldMap(schemaBuilder) {\n return createFieldMap(schemaBuilder, {\n getDynamicSource: () => getPluginContext()?.pluginKey,\n });\n}\n//# sourceMappingURL=create-plugin-field-map.js.map","import { createPluginSpec } from '../spec/types.js';\nimport { createPluginFieldMap } from './create-plugin-field-map.js';\n/**\n * Creates a plugin spec backed by a FieldMap for automatic source tracking.\n *\n * @param name - Unique identifier for the spec\n * @param schemaBuilder - Function that builds the field map schema\n * @param options - Optional configuration including custom use interface\n */\nexport function createFieldMapSpec(name, schemaBuilder, options) {\n return createPluginSpec(name, {\n initializer: () => {\n const fieldMap = createPluginFieldMap(schemaBuilder);\n return {\n init: fieldMap,\n use: () => {\n const values = fieldMap.getValues();\n if (options?.use) {\n return options.use(values);\n }\n return values;\n },\n };\n },\n });\n}\n//# sourceMappingURL=create-field-map-spec.js.map","/**\n * Global registry that stores Baseplate metadata on Zod schema instances.\n *\n * Uses a plain WeakMap to avoid Zod's `$replace<Meta, S>` type substitution\n * which causes \"type instantiation excessively deep\" errors with complex unions.\n *\n * Stores an array of metadata per schema to support schemas that carry multiple\n * annotations (e.g. a schema that is both an `entity` and a `ref-context`).\n *\n * Used by `withEnt`, `withRef`, `withExpression`, and `refContext` to attach\n * metadata to schema nodes. The parallel schema+data walker reads this registry\n * to extract entity/reference/expression information after validation.\n */\nexport const definitionRefRegistry = (() => {\n const map = new WeakMap();\n return {\n add(schema, meta) {\n const existing = map.get(schema);\n if (existing) {\n if ((meta.kind === 'entity' || meta.kind === 'reference') &&\n existing.some((e) => e.kind === meta.kind && e.type === meta.type)) {\n throw new Error(`Duplicate definition ref metadata kind \"${meta.kind}\" for type \"${meta.type.name}\" on the same schema instance. ` +\n `This usually means a shared/module-level schema was passed to withEnt/withRef multiple times. ` +\n `Create a fresh schema instance instead.`);\n }\n existing.push(meta);\n }\n else {\n map.set(schema, [meta]);\n }\n },\n getAll(schema) {\n return map.get(schema) ?? [];\n },\n has(schema) {\n return map.has(schema);\n },\n };\n})();\n//# sourceMappingURL=definition-ref-registry.js.map","import { createFieldMapSpec } from '#src/plugins/utils/create-field-map-spec.js';\n/**\n * Plugin spec for registering expression parsers.\n *\n * Expression parsers handle parsing, validation, and rename detection\n * for expression fields in the project definition (e.g., authorizer\n * role expressions).\n *\n * Built-in parsers (authorizer expressions) are registered by core modules.\n * Plugins can register additional parsers during initialization.\n *\n * @example\n * ```typescript\n * createPluginModule({\n * dependencies: { expressionParsers: expressionParserSpec },\n * initialize: ({ expressionParsers }) => {\n * expressionParsers.parsers.set('my-expression', myParser);\n * },\n * });\n * ```\n */\nexport const expressionParserSpec = createFieldMapSpec('core/expression-parsers', (t) => ({\n parsers: t.map(),\n}), {\n use: (values) => ({\n getParser: (name) => values.parsers.get(name),\n }),\n});\n//# sourceMappingURL=expression-parser-spec.js.map","/**\n * A pluggable parser for ref expressions.\n *\n * The parser is format-agnostic - the core references system\n * doesn't know or care what format the expressions are in. The parser\n * handles all parsing, validation, and rename handling.\n *\n * Parsers can declare required slots via the TRequiredSlots generic parameter.\n * When a parser requires slots, TypeScript enforces that they are provided\n * when calling `withExpression()`.\n *\n * @typeParam TValue - The type of the raw expression value (e.g., string for TS expressions)\n * @typeParam TParseResult - The type of the parsed result (e.g., AST for TS expressions)\n * @typeParam TRequiredSlots - Record of required slot names to entity types\n *\n * @example\n * ```typescript\n * // A simple parser with no required slots\n * class StubParser extends RefExpressionParser<string, undefined> {\n * readonly name = 'stub';\n * parse(): undefined { return undefined; }\n * getWarnings(): [] { return []; }\n * getReferencedEntities(): [] { return []; }\n * }\n *\n * // A parser that requires a model slot\n * class AuthorizerParser extends RefExpressionParser<\n * string,\n * TsAst,\n * { model: typeof modelEntityType }\n * > {\n * readonly name = 'authorizer';\n * // TypeScript enforces slot requirement in withExpression()\n * }\n * ```\n */\nexport class RefExpressionParser {\n /**\n * Convenience method that combines parse() and getWarnings() into a single call.\n * Parses the expression and returns all validation warnings (including parse errors).\n *\n * @param value - The raw expression value\n * @param projectDef - The project definition for context\n * @param context - Validation context with project definition and plugin store\n * @param resolvedSlots - The resolved slot paths for this expression\n * @returns Array of warnings (empty if valid)\n */\n validate(value, projectDef, context, resolvedSlots) {\n const parseResult = this.parse(value, projectDef);\n if (!parseResult.success) {\n return [{ message: parseResult.error }];\n }\n return this.getWarnings(parseResult.value, context, resolvedSlots);\n }\n /**\n * Phantom property for TRequiredSlots type inference.\n * This is never actually used at runtime.\n * @internal\n */\n _requiredSlots;\n}\n//# sourceMappingURL=expression-types.js.map","/**\n * Creates a new ref context slot for the given entity type.\n * Each call creates a unique slot, even for the same entity type.\n *\n * @param name - A descriptive name for debugging (shows in Symbol description)\n * @param entityType - The entity type this slot will be associated with\n * @returns A new unique RefContextSlot instance\n *\n * @example\n * ```typescript\n * const modelSlot = createRefContextSlot('modelSlot', modelEntityType);\n * const anotherModelSlot = createRefContextSlot('anotherModelSlot', modelEntityType);\n *\n * // These are different slots despite same entity type\n * modelSlot.id !== anotherModelSlot.id\n * // modelSlot.id.toString() === 'Symbol(modelSlot)'\n * ```\n */\nexport function createRefContextSlot(name, entityType) {\n return {\n entityType,\n id: Symbol(name),\n };\n}\n/**\n * Creates a RefContextSlotMap from a slot definition.\n * Used internally by ctx.refContext().\n *\n * @param slotDefinition - Map of slot names to entity types\n * @returns Map of slot names to RefContextSlot instances\n */\nexport function createRefContextSlotMap(slotDefinition) {\n return Object.fromEntries(Object.entries(slotDefinition).map(([key, entityType]) => [\n key,\n createRefContextSlot(key, entityType),\n ]));\n}\n//# sourceMappingURL=ref-context-slot.js.map","import { z } from 'zod';\nimport { definitionRefRegistry } from './definition-ref-registry.js';\nimport { expressionParserSpec } from './expression-parser-spec.js';\nimport { RefExpressionParser } from './expression-types.js';\nimport { createRefContextSlotMap } from './ref-context-slot.js';\n/**\n * Creates a string schema annotated as a reference to another entity.\n *\n * Can be used standalone:\n * ```typescript\n * withRef({ type: modelEnumEntityType, onDelete: 'RESTRICT' })\n * ```\n *\n * Or on the parser context:\n * ```typescript\n * ctx.withRef({ type: modelEnumEntityType, onDelete: 'RESTRICT' })\n * ```\n */\nexport function withRef(reference) {\n const schema = z.string().min(1);\n definitionRefRegistry.add(schema, {\n kind: 'reference',\n type: reference.type,\n onDelete: reference.onDelete,\n parentSlot: reference.parentSlot,\n provides: reference.provides,\n });\n return schema;\n}\n/**\n * Creates a schema decorator that marks a schema as defining an entity.\n *\n * Can be used with `.apply()`:\n * ```typescript\n * schema.apply(withEnt({ type: modelEntityType, provides: modelSlot }))\n * ```\n *\n * Or via the parser context (2-arg legacy form):\n * ```typescript\n * ctx.withEnt(schema, { type: modelEntityType, provides: modelSlot })\n * ```\n *\n * @param entity - The entity definition input\n * @returns A function that decorates a schema with entity metadata\n */\nexport function withEnt(entity) {\n return (schema) => {\n const idPath = entity.idPath ?? ['id'];\n definitionRefRegistry.add(schema, {\n kind: 'entity',\n type: entity.type,\n idPath,\n getNameResolver: entity.getNameResolver,\n parentSlot: entity.parentSlot,\n provides: entity.provides,\n sortByName: entity.sortByName,\n });\n return schema;\n };\n}\n/**\n * Creates ref context slots for use within a schema definition.\n * Slots provide type-safe context for parent-child entity relationships.\n *\n * @example\n * ```typescript\n * ctx.refContext(\n * { modelSlot: modelEntityType },\n * ({ modelSlot }) =>\n * ctx.withEnt(schema, {\n * type: modelEntityType,\n * provides: modelSlot,\n * }),\n * );\n * ```\n */\nfunction refContext(slotDefinition, schemaBuilder) {\n const slots = createRefContextSlotMap(slotDefinition);\n const schema = schemaBuilder(slots);\n definitionRefRegistry.add(schema, {\n kind: 'ref-context',\n slots: Object.values(slots),\n });\n return schema;\n}\n/**\n * Wraps a value with a ref expression parser for deferred validation.\n * The parser handles all parsing, validation, and rename handling.\n *\n * If the parser declares required slots (via TRequiredSlots), they must be\n * provided as the second argument. TypeScript enforces this at compile time.\n *\n * The parser's `createSchema()` method is called to get a fresh schema\n * instance per call site, allowing per-call metadata to be registered\n * independently in the Baseplate registry.\n *\n * @example\n * ```typescript\n * // Parser without required slots\n * const expressionSchema = ctx.withExpression(simpleParser);\n *\n * // Parser with required slots (TypeScript enforces the second argument)\n * ctx.refContext(\n * { modelSlot: modelEntityType },\n * ({ modelSlot }) =>\n * z.object({\n * condition: ctx.withExpression(authorizerParser, { model: modelSlot }),\n * })\n * );\n * ```\n */\n/**\n * Creates a `withExpression` function that resolves parser refs eagerly\n * from the plugin spec store at schema construction time.\n */\nfunction createWithExpression(plugins) {\n // Implementation\n function withExpression(parserOrRef, \n // oxlint-disable-next-line typescript/no-explicit-any\n slots) {\n // oxlint-disable-next-line typescript/no-explicit-any\n let parser;\n if (parserOrRef instanceof RefExpressionParser) {\n parser = parserOrRef;\n }\n else {\n // Resolve parser ref from plugin spec store\n if (!plugins) {\n throw new Error(`PluginSpecStore is required to resolve expression parser ref \"${parserOrRef.name}\". ` +\n `Ensure plugins are provided to createDefinitionSchemaParserContext.`);\n }\n const specUse = plugins.use(expressionParserSpec);\n const resolved = specUse.getParser(parserOrRef.name);\n if (!resolved) {\n throw new Error(`Expression parser \"${parserOrRef.name}\" not found in expressionParserSpec. ` +\n `Ensure it is registered via a core module or plugin.`);\n }\n parser = resolved;\n }\n const schema = parser.createSchema();\n definitionRefRegistry.add(schema, {\n kind: 'expression',\n parser,\n slots,\n });\n return schema;\n }\n return withExpression;\n}\nexport function extendParserContextWithRefs(plugins) {\n return {\n withRef,\n // Legacy 2-arg API that delegates to the standalone withEnt decorator.\n // Uses a cast because the standalone accepts DefinitionEntityInput<unknown, ...>\n // while this 2-arg form infers the full z.output<TType> for type-safe idPath.\n withEnt(schema, entity) {\n return schema.apply(withEnt(entity));\n },\n refContext,\n withExpression: createWithExpression(plugins),\n };\n}\n//# sourceMappingURL=extend-parser-context-with-refs.js.map","/**\n * Registry that stores default-value metadata on Zod schema instances.\n *\n * Uses a WeakMap to avoid interfering with Zod's type system.\n * Annotated by `withDefault()`; read by `cleanDefaultValues()`.\n */\nexport const definitionDefaultRegistry = (() => {\n const map = new WeakMap();\n return {\n set(schema, meta) {\n map.set(schema, meta);\n },\n get(schema) {\n return map.get(schema);\n },\n };\n})();\n//# sourceMappingURL=definition-default-registry.js.map","import { definitionDefaultRegistry } from './definition-default-registry.js';\n/**\n * Creates a schema decorator that applies a default value.\n *\n * Uses `prefault` to ensure defaults are populated during Zod parse, and\n * registers the default value in the registry so `cleanDefaultValues()` can\n * strip matching values during serialization.\n *\n * Can be used standalone with `.apply()`:\n * ```typescript\n * z.boolean().apply(withDefault(false))\n * ```\n *\n * @param defaultValue - The default value to apply\n * @returns A function that decorates a schema with the default value\n */\nexport function withDefault(defaultValue) {\n return (schema) => {\n const result = schema.prefault(defaultValue);\n definitionDefaultRegistry.set(result, { defaultValue });\n return result;\n };\n}\n/**\n * Extends the parser context with default value handling functionality.\n *\n * @returns An object containing the withDefault method\n */\nexport function extendParserContextWithDefaults() {\n return {\n withDefault: (schema, defaultValue) => withDefault(defaultValue)(schema),\n };\n}\n//# sourceMappingURL=extend-parser-context-with-defaults.js.map","import { extendParserContextWithRefs } from '#src/references/extend-parser-context-with-refs.js';\nimport { createRefContextSlotMap } from '#src/references/ref-context-slot.js';\nimport { extendParserContextWithDefaults } from './extend-parser-context-with-defaults.js';\nconst contextCache = new WeakMap();\nexport function createDefinitionSchemaParserContext(options) {\n const cached = contextCache.get(options.plugins);\n if (cached)\n return cached;\n const context = {\n ...options,\n ...extendParserContextWithRefs(options.plugins),\n ...extendParserContextWithDefaults(),\n };\n contextCache.set(options.plugins, context);\n return context;\n}\nexport function definitionSchema(creator) {\n const cache = new WeakMap();\n return (context) => {\n const cached = cache.get(context);\n if (cached)\n return cached;\n const result = creator(context);\n cache.set(context, result);\n return result;\n };\n}\n/**\n * Creates a schema that requires slots to be passed from parent schemas.\n * Used when a schema needs to reference entities from a parent context.\n *\n * @example\n * ```typescript\n * // Child schema requiring modelSlot from parent\n * export const createModelScalarFieldSchema = definitionSchemaWithSlots(\n * { modelSlot: modelEntityType },\n * (ctx, { modelSlot }) =>\n * ctx.withEnt(schema, {\n * type: modelScalarFieldEntityType,\n * parentSlot: modelSlot,\n * }),\n * );\n *\n * // Called from parent:\n * createModelScalarFieldSchema(ctx, { modelSlot: parentModelSlot })\n * ```\n */\nexport function definitionSchemaWithSlots(slotDefinition, creator) {\n const creatorWithSlots = (context, slots) => creator(context, slots);\n creatorWithSlots.slotDefinition = slotDefinition;\n return creatorWithSlots;\n}\n/**\n * Wraps a schema creator that requires slots with placeholder slots,\n * producing a simple schema creator that can be used for validation-only\n * contexts (e.g., React Hook Form).\n *\n * The placeholder slots allow the schema to parse without actual parent context,\n * which is useful when you only need schema validation without ref extraction.\n *\n * @example\n * ```typescript\n * // Schema that normally requires modelSlot from parent\n * const createModelScalarFieldSchema = definitionSchemaWithSlots(\n * { modelSlot: modelEntityType },\n * (ctx, { modelSlot }) => ctx.withEnt(schema, { parentSlot: modelSlot }),\n * );\n *\n * // For React Hook Form validation, wrap with placeholder slots\n * const fieldSchema = withPlaceholderSlots(createModelScalarFieldSchema);\n * const zodSchema = fieldSchema(ctx); // No slots needed\n * ```\n */\nexport function withPlaceholderSlots(schemaCreator) {\n return (ctx) => {\n const placeholderSlots = createRefContextSlotMap(schemaCreator.slotDefinition);\n return schemaCreator(ctx, placeholderSlots);\n };\n}\n//# sourceMappingURL=schema-creator.js.map","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","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, sortByName: true }));\nexport const createFeaturesSchema = definitionSchema((ctx) => z.array(createFeatureSchema(ctx)).default([]));\n//# sourceMappingURL=feature.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 getFeaturePathByIdOrThrow(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 createPartialFeatures(nameOrPath) {\n if (!nameOrPath)\n return [];\n const parts = nameOrPath.split('/');\n return parts.map((_, i) => {\n const name = parts.slice(0, i + 1).join('/');\n const parentRef = i > 0 ? parts.slice(0, i).join('/') : undefined;\n return { name, parentRef };\n });\n}\nfunction getFeatureByName(projectDefinition, name) {\n return projectDefinition.features.find((f) => f.name === name);\n}\nfunction getFeatureIdByNameOrThrow(projectDefinition, name) {\n const feature = getFeatureByName(projectDefinition, name);\n if (!feature) {\n throw new Error(`Could not find feature with name ${name}`);\n }\n return feature.id;\n}\nfunction getFeatureIdByNameOrDefault(projectDefinition, name) {\n return getFeatureByName(projectDefinition, name)?.id ?? name;\n}\nfunction resolveFeatureName(projectDefinition, featureRef) {\n if (!featureRef)\n return '';\n if (featureEntityType.isId(featureRef)) {\n return getFeaturePathByIdOrThrow(projectDefinition, featureRef);\n }\n return featureRef;\n}\nexport const FeatureUtils = {\n getRootFeatures,\n getFeatureById,\n getFeatureByIdOrThrow,\n getFeatureChildren,\n getFeatureName,\n getFeatureNameById,\n getFeaturePathByIdOrThrow,\n validateFeatureName,\n ensureFeatureByNameRecursively,\n createPartialFeatures,\n getFeatureByName,\n getFeatureIdByNameOrThrow,\n getFeatureIdByNameOrDefault,\n resolveFeatureName,\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}\nfunction getPrimaryKeyFields(model) {\n const primaryKeyFields = model.model.primaryKeyFieldRefs;\n return primaryKeyFields.map((id) => getScalarFieldById(model, id));\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 getPrimaryKeyFields,\n};\n//# sourceMappingURL=model-utils.js.map"],"names":["z"],"mappings":"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"}
1
+ {"version":3,"file":"model-utils-DVlh_mZg.js","sources":["../../../../../packages/project-builder-lib/dist/plugins/spec/types.js","../../../../../packages/project-builder-lib/dist/plugins/context/plugin-context.js","../../../../../packages/project-builder-lib/dist/plugins/utils/create-plugin-field-map.js","../../../../../packages/project-builder-lib/dist/plugins/utils/create-field-map-spec.js","../../../../../packages/project-builder-lib/dist/references/definition-ref-registry.js","../../../../../packages/project-builder-lib/dist/references/expression-parser-spec.js","../../../../../packages/project-builder-lib/dist/references/expression-types.js","../../../../../packages/project-builder-lib/dist/references/ref-context-slot.js","../../../../../packages/project-builder-lib/dist/references/extend-parser-context-with-refs.js","../../../../../packages/project-builder-lib/dist/schema/creator/definition-default-registry.js","../../../../../packages/project-builder-lib/dist/schema/creator/extend-parser-context-with-defaults.js","../../../../../packages/project-builder-lib/dist/schema/creator/schema-creator.js","../../../../../packages/project-builder-lib/dist/references/types.js","../../../../../packages/project-builder-lib/dist/schema/features/feature.js","../../../../../packages/project-builder-lib/dist/definition/feature/feature-utils.js","../../../../../packages/project-builder-lib/dist/definition/model/model-utils.js"],"sourcesContent":["/**\n * Creates a plugin spec with init and use phases.\n *\n * @example\n * ```typescript\n * const mySpec = createPluginSpec('core/my-spec', {\n * initializer: () => {\n * const items = new Map<string, Item>();\n * return {\n * init: {\n * register: (item: Item) => items.set(item.name, item),\n * },\n * use: () => ({\n * get: (name: string) => items.get(name),\n * getAll: () => [...items.values()],\n * }),\n * };\n * },\n * });\n * ```\n *\n * @param name - Unique identifier for the spec (e.g., 'core/my-spec')\n * @param options - Options including the initializer function\n * @returns A plugin spec that can be used with SpecStore\n */\nexport function createPluginSpec(name, options) {\n const { initializer } = options;\n return {\n type: 'plugin-spec',\n name,\n initializer,\n };\n}\n//# sourceMappingURL=types.js.map","/**\n * Plugin context module for tracking the current plugin being initialized.\n *\n * Uses a simple synchronous context that works on both Node and browser platforms.\n * This is safe because plugin initialization is synchronous and single-threaded.\n */\n// Simple synchronous context - works on both Node and browser\n// Safe because plugin initialization is synchronous and single-threaded\nlet currentPluginContext;\n/**\n * Runs a function within a plugin context.\n *\n * This sets the current plugin context for the duration of the function execution,\n * allowing nested functions to access the plugin key via `getPluginContext()`.\n *\n * @param context - The plugin context to set\n * @param fn - The function to run within the context\n * @returns The result of the function\n */\nexport function runInPluginContext(context, fn) {\n const prev = currentPluginContext;\n currentPluginContext = context;\n try {\n return fn();\n }\n finally {\n currentPluginContext = prev;\n }\n}\n/**\n * Gets the current plugin context if one exists.\n *\n * @returns The current plugin context, or undefined if not in a plugin context\n */\nexport function getPluginContext() {\n return currentPluginContext;\n}\n//# sourceMappingURL=plugin-context.js.map","import { createFieldMap } from '@baseplate-dev/utils';\nimport { getPluginContext } from '../context/plugin-context.js';\n/**\n * Creates a field map that automatically tracks which plugin registered each value.\n *\n * Similar to `createConfigFieldMap` in the sync package, this utility uses the\n * current plugin context to track the source of registrations. This enables\n * clear error messages when registration conflicts occur.\n *\n * @example\n * ```typescript\n * const fieldMap = createPluginFieldMap((t) => ({\n * transformers: t.map<string, Transformer>(),\n * }));\n *\n * // When a plugin tries to overwrite a value:\n * // Error: Value for key 'myTransformer' has already been set by plugin-auth\n * // and cannot be overwritten by plugin-storage\n * ```\n *\n * @param schemaBuilder - A function that builds the field map schema\n * @returns A field map with automatic source tracking\n */\nexport function createPluginFieldMap(schemaBuilder) {\n return createFieldMap(schemaBuilder, {\n getDynamicSource: () => getPluginContext()?.pluginKey,\n });\n}\n//# sourceMappingURL=create-plugin-field-map.js.map","import { createPluginSpec } from '../spec/types.js';\nimport { createPluginFieldMap } from './create-plugin-field-map.js';\n/**\n * Creates a plugin spec backed by a FieldMap for automatic source tracking.\n *\n * @param name - Unique identifier for the spec\n * @param schemaBuilder - Function that builds the field map schema\n * @param options - Optional configuration including custom use interface\n */\nexport function createFieldMapSpec(name, schemaBuilder, options) {\n return createPluginSpec(name, {\n initializer: () => {\n const fieldMap = createPluginFieldMap(schemaBuilder);\n return {\n init: fieldMap,\n use: () => {\n const values = fieldMap.getValues();\n if (options?.use) {\n return options.use(values);\n }\n return values;\n },\n };\n },\n });\n}\n//# sourceMappingURL=create-field-map-spec.js.map","/**\n * Global registry that stores Baseplate metadata on Zod schema instances.\n *\n * Uses a plain WeakMap to avoid Zod's `$replace<Meta, S>` type substitution\n * which causes \"type instantiation excessively deep\" errors with complex unions.\n *\n * Stores an array of metadata per schema to support schemas that carry multiple\n * annotations (e.g. a schema that is both an `entity` and a `ref-context`).\n *\n * Used by `withEnt`, `withRef`, `withExpression`, and `refContext` to attach\n * metadata to schema nodes. The parallel schema+data walker reads this registry\n * to extract entity/reference/expression information after validation.\n */\nexport const definitionRefRegistry = (() => {\n const map = new WeakMap();\n return {\n add(schema, meta) {\n const existing = map.get(schema);\n if (existing) {\n if ((meta.kind === 'entity' || meta.kind === 'reference') &&\n existing.some((e) => e.kind === meta.kind && e.type === meta.type)) {\n throw new Error(`Duplicate definition ref metadata kind \"${meta.kind}\" for type \"${meta.type.name}\" on the same schema instance. ` +\n `This usually means a shared/module-level schema was passed to withEnt/withRef multiple times. ` +\n `Create a fresh schema instance instead.`);\n }\n existing.push(meta);\n }\n else {\n map.set(schema, [meta]);\n }\n },\n getAll(schema) {\n return map.get(schema) ?? [];\n },\n has(schema) {\n return map.has(schema);\n },\n };\n})();\n//# sourceMappingURL=definition-ref-registry.js.map","import { createFieldMapSpec } from '#src/plugins/utils/create-field-map-spec.js';\n/**\n * Plugin spec for registering expression parsers.\n *\n * Expression parsers handle parsing, validation, and rename detection\n * for expression fields in the project definition (e.g., authorizer\n * role expressions).\n *\n * Built-in parsers (authorizer expressions) are registered by core modules.\n * Plugins can register additional parsers during initialization.\n *\n * @example\n * ```typescript\n * createPluginModule({\n * dependencies: { expressionParsers: expressionParserSpec },\n * initialize: ({ expressionParsers }) => {\n * expressionParsers.parsers.set('my-expression', myParser);\n * },\n * });\n * ```\n */\nexport const expressionParserSpec = createFieldMapSpec('core/expression-parsers', (t) => ({\n parsers: t.map(),\n}), {\n use: (values) => ({\n getParser: (name) => values.parsers.get(name),\n }),\n});\n//# sourceMappingURL=expression-parser-spec.js.map","/**\n * A pluggable parser for ref expressions.\n *\n * The parser is format-agnostic - the core references system\n * doesn't know or care what format the expressions are in. The parser\n * handles all parsing, validation, and rename handling.\n *\n * Parsers can declare required slots via the TRequiredSlots generic parameter.\n * When a parser requires slots, TypeScript enforces that they are provided\n * when calling `withExpression()`.\n *\n * @typeParam TValue - The type of the raw expression value (e.g., string for TS expressions)\n * @typeParam TParseResult - The type of the parsed result (e.g., AST for TS expressions)\n * @typeParam TRequiredSlots - Record of required slot names to entity types\n *\n * @example\n * ```typescript\n * // A simple parser with no required slots\n * class StubParser extends RefExpressionParser<string, undefined> {\n * readonly name = 'stub';\n * parse(): undefined { return undefined; }\n * getWarnings(): [] { return []; }\n * getReferencedEntities(): [] { return []; }\n * }\n *\n * // A parser that requires a model slot\n * class AuthorizerParser extends RefExpressionParser<\n * string,\n * TsAst,\n * { model: typeof modelEntityType }\n * > {\n * readonly name = 'authorizer';\n * // TypeScript enforces slot requirement in withExpression()\n * }\n * ```\n */\nexport class RefExpressionParser {\n /**\n * Convenience method that combines parse() and getWarnings() into a single call.\n * Parses the expression and returns all validation warnings (including parse errors).\n *\n * @param value - The raw expression value\n * @param projectDef - The project definition for context\n * @param context - Validation context with project definition and plugin store\n * @param resolvedSlots - The resolved slot paths for this expression\n * @returns Array of warnings (empty if valid)\n */\n validate(value, projectDef, context, resolvedSlots) {\n const parseResult = this.parse(value, projectDef);\n if (!parseResult.success) {\n return [{ message: parseResult.error }];\n }\n return this.getWarnings(parseResult.value, context, resolvedSlots);\n }\n /**\n * Phantom property for TRequiredSlots type inference.\n * This is never actually used at runtime.\n * @internal\n */\n _requiredSlots;\n}\n//# sourceMappingURL=expression-types.js.map","/**\n * Creates a new ref context slot for the given entity type.\n * Each call creates a unique slot, even for the same entity type.\n *\n * @param name - A descriptive name for debugging (shows in Symbol description)\n * @param entityType - The entity type this slot will be associated with\n * @returns A new unique RefContextSlot instance\n *\n * @example\n * ```typescript\n * const modelSlot = createRefContextSlot('modelSlot', modelEntityType);\n * const anotherModelSlot = createRefContextSlot('anotherModelSlot', modelEntityType);\n *\n * // These are different slots despite same entity type\n * modelSlot.id !== anotherModelSlot.id\n * // modelSlot.id.toString() === 'Symbol(modelSlot)'\n * ```\n */\nexport function createRefContextSlot(name, entityType) {\n return {\n entityType,\n id: Symbol(name),\n };\n}\n/**\n * Creates a RefContextSlotMap from a slot definition.\n * Used internally by ctx.refContext().\n *\n * @param slotDefinition - Map of slot names to entity types\n * @returns Map of slot names to RefContextSlot instances\n */\nexport function createRefContextSlotMap(slotDefinition) {\n return Object.fromEntries(Object.entries(slotDefinition).map(([key, entityType]) => [\n key,\n createRefContextSlot(key, entityType),\n ]));\n}\n//# sourceMappingURL=ref-context-slot.js.map","import { z } from 'zod';\nimport { definitionRefRegistry } from './definition-ref-registry.js';\nimport { expressionParserSpec } from './expression-parser-spec.js';\nimport { RefExpressionParser } from './expression-types.js';\nimport { createRefContextSlotMap } from './ref-context-slot.js';\n/**\n * Creates a string schema annotated as a reference to another entity.\n *\n * Can be used standalone:\n * ```typescript\n * withRef({ type: modelEnumEntityType, onDelete: 'RESTRICT' })\n * ```\n *\n * Or on the parser context:\n * ```typescript\n * ctx.withRef({ type: modelEnumEntityType, onDelete: 'RESTRICT' })\n * ```\n */\nexport function withRef(reference) {\n const schema = z.string().min(1);\n definitionRefRegistry.add(schema, {\n kind: 'reference',\n type: reference.type,\n onDelete: reference.onDelete,\n parentSlot: reference.parentSlot,\n provides: reference.provides,\n });\n return schema;\n}\n/**\n * Creates a schema decorator that marks a schema as defining an entity.\n *\n * Can be used with `.apply()`:\n * ```typescript\n * schema.apply(withEnt({ type: modelEntityType, provides: modelSlot }))\n * ```\n *\n * Or via the parser context (2-arg legacy form):\n * ```typescript\n * ctx.withEnt(schema, { type: modelEntityType, provides: modelSlot })\n * ```\n *\n * @param entity - The entity definition input\n * @returns A function that decorates a schema with entity metadata\n */\nexport function withEnt(entity) {\n return (schema) => {\n const idPath = entity.idPath ?? ['id'];\n definitionRefRegistry.add(schema, {\n kind: 'entity',\n type: entity.type,\n idPath,\n getNameResolver: entity.getNameResolver,\n parentSlot: entity.parentSlot,\n provides: entity.provides,\n sortByName: entity.sortByName,\n });\n return schema;\n };\n}\n/**\n * Creates ref context slots for use within a schema definition.\n * Slots provide type-safe context for parent-child entity relationships.\n *\n * @example\n * ```typescript\n * ctx.refContext(\n * { modelSlot: modelEntityType },\n * ({ modelSlot }) =>\n * ctx.withEnt(schema, {\n * type: modelEntityType,\n * provides: modelSlot,\n * }),\n * );\n * ```\n */\nfunction refContext(slotDefinition, schemaBuilder) {\n const slots = createRefContextSlotMap(slotDefinition);\n const schema = schemaBuilder(slots);\n definitionRefRegistry.add(schema, {\n kind: 'ref-context',\n slots: Object.values(slots),\n });\n return schema;\n}\n/**\n * Wraps a value with a ref expression parser for deferred validation.\n * The parser handles all parsing, validation, and rename handling.\n *\n * If the parser declares required slots (via TRequiredSlots), they must be\n * provided as the second argument. TypeScript enforces this at compile time.\n *\n * The parser's `createSchema()` method is called to get a fresh schema\n * instance per call site, allowing per-call metadata to be registered\n * independently in the Baseplate registry.\n *\n * @example\n * ```typescript\n * // Parser without required slots\n * const expressionSchema = ctx.withExpression(simpleParser);\n *\n * // Parser with required slots (TypeScript enforces the second argument)\n * ctx.refContext(\n * { modelSlot: modelEntityType },\n * ({ modelSlot }) =>\n * z.object({\n * condition: ctx.withExpression(authorizerParser, { model: modelSlot }),\n * })\n * );\n * ```\n */\n/**\n * Creates a `withExpression` function that resolves parser refs eagerly\n * from the plugin spec store at schema construction time.\n */\nfunction createWithExpression(plugins) {\n // Implementation\n function withExpression(parserOrRef, \n // oxlint-disable-next-line typescript/no-explicit-any\n slots) {\n // oxlint-disable-next-line typescript/no-explicit-any\n let parser;\n if (parserOrRef instanceof RefExpressionParser) {\n parser = parserOrRef;\n }\n else {\n // Resolve parser ref from plugin spec store\n if (!plugins) {\n throw new Error(`PluginSpecStore is required to resolve expression parser ref \"${parserOrRef.name}\". ` +\n `Ensure plugins are provided to createDefinitionSchemaParserContext.`);\n }\n const specUse = plugins.use(expressionParserSpec);\n const resolved = specUse.getParser(parserOrRef.name);\n if (!resolved) {\n throw new Error(`Expression parser \"${parserOrRef.name}\" not found in expressionParserSpec. ` +\n `Ensure it is registered via a core module or plugin.`);\n }\n parser = resolved;\n }\n const schema = parser.createSchema();\n definitionRefRegistry.add(schema, {\n kind: 'expression',\n parser,\n slots,\n });\n return schema;\n }\n return withExpression;\n}\nexport function extendParserContextWithRefs(plugins) {\n return {\n withRef,\n // Legacy 2-arg API that delegates to the standalone withEnt decorator.\n // Uses a cast because the standalone accepts DefinitionEntityInput<unknown, ...>\n // while this 2-arg form infers the full z.output<TType> for type-safe idPath.\n withEnt(schema, entity) {\n return schema.apply(withEnt(entity));\n },\n refContext,\n withExpression: createWithExpression(plugins),\n };\n}\n//# sourceMappingURL=extend-parser-context-with-refs.js.map","/**\n * Registry that stores default-value metadata on Zod schema instances.\n *\n * Uses a WeakMap to avoid interfering with Zod's type system.\n * Annotated by `withDefault()`; read by `cleanDefaultValues()`.\n */\nexport const definitionDefaultRegistry = (() => {\n const map = new WeakMap();\n return {\n set(schema, meta) {\n map.set(schema, meta);\n },\n get(schema) {\n return map.get(schema);\n },\n };\n})();\n//# sourceMappingURL=definition-default-registry.js.map","import { definitionDefaultRegistry } from './definition-default-registry.js';\n/**\n * Creates a schema decorator that applies a default value.\n *\n * Uses `prefault` to ensure defaults are populated during Zod parse, and\n * registers the default value in the registry so `cleanDefaultValues()` can\n * strip matching values during serialization.\n *\n * Can be used standalone with `.apply()`:\n * ```typescript\n * z.boolean().apply(withDefault(false))\n * ```\n *\n * @param defaultValue - The default value to apply\n * @returns A function that decorates a schema with the default value\n */\nexport function withDefault(defaultValue) {\n return (schema) => {\n const result = schema.prefault(defaultValue);\n definitionDefaultRegistry.set(result, { defaultValue });\n return result;\n };\n}\n/**\n * Extends the parser context with default value handling functionality.\n *\n * @returns An object containing the withDefault method\n */\nexport function extendParserContextWithDefaults() {\n return {\n withDefault: (schema, defaultValue) => withDefault(defaultValue)(schema),\n };\n}\n//# sourceMappingURL=extend-parser-context-with-defaults.js.map","import { extendParserContextWithRefs } from '#src/references/extend-parser-context-with-refs.js';\nimport { createRefContextSlotMap } from '#src/references/ref-context-slot.js';\nimport { extendParserContextWithDefaults } from './extend-parser-context-with-defaults.js';\nconst contextCache = new WeakMap();\nexport function createDefinitionSchemaParserContext(options) {\n const cached = contextCache.get(options.plugins);\n if (cached)\n return cached;\n const context = {\n ...options,\n ...extendParserContextWithRefs(options.plugins),\n ...extendParserContextWithDefaults(),\n };\n contextCache.set(options.plugins, context);\n return context;\n}\nexport function definitionSchema(creator) {\n const cache = new WeakMap();\n return (context) => {\n const cached = cache.get(context);\n if (cached)\n return cached;\n const result = creator(context);\n cache.set(context, result);\n return result;\n };\n}\n/**\n * Creates a schema that requires slots to be passed from parent schemas.\n * Used when a schema needs to reference entities from a parent context.\n *\n * @example\n * ```typescript\n * // Child schema requiring modelSlot from parent\n * export const createModelScalarFieldSchema = definitionSchemaWithSlots(\n * { modelSlot: modelEntityType },\n * (ctx, { modelSlot }) =>\n * ctx.withEnt(schema, {\n * type: modelScalarFieldEntityType,\n * parentSlot: modelSlot,\n * }),\n * );\n *\n * // Called from parent:\n * createModelScalarFieldSchema(ctx, { modelSlot: parentModelSlot })\n * ```\n */\nexport function definitionSchemaWithSlots(slotDefinition, creator) {\n const creatorWithSlots = (context, slots) => creator(context, slots);\n creatorWithSlots.slotDefinition = slotDefinition;\n return creatorWithSlots;\n}\n/**\n * Wraps a schema creator that requires slots with placeholder slots,\n * producing a simple schema creator that can be used for validation-only\n * contexts (e.g., React Hook Form).\n *\n * The placeholder slots allow the schema to parse without actual parent context,\n * which is useful when you only need schema validation without ref extraction.\n *\n * @example\n * ```typescript\n * // Schema that normally requires modelSlot from parent\n * const createModelScalarFieldSchema = definitionSchemaWithSlots(\n * { modelSlot: modelEntityType },\n * (ctx, { modelSlot }) => ctx.withEnt(schema, { parentSlot: modelSlot }),\n * );\n *\n * // For React Hook Form validation, wrap with placeholder slots\n * const fieldSchema = withPlaceholderSlots(createModelScalarFieldSchema);\n * const zodSchema = fieldSchema(ctx); // No slots needed\n * ```\n */\nexport function withPlaceholderSlots(schemaCreator) {\n return (ctx) => {\n const placeholderSlots = createRefContextSlotMap(schemaCreator.slotDefinition);\n return schemaCreator(ctx, placeholderSlots);\n };\n}\n//# sourceMappingURL=schema-creator.js.map","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","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, sortByName: true }));\nexport const createFeaturesSchema = definitionSchema((ctx) => z.array(createFeatureSchema(ctx)).default([]));\n//# sourceMappingURL=feature.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 getFeaturePathByIdOrThrow(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 createPartialFeatures(nameOrPath) {\n if (!nameOrPath)\n return [];\n const parts = nameOrPath.split('/');\n return parts.map((_, i) => {\n const name = parts.slice(0, i + 1).join('/');\n const parentRef = i > 0 ? parts.slice(0, i).join('/') : undefined;\n return { name, parentRef };\n });\n}\nfunction getFeatureByName(projectDefinition, name) {\n return projectDefinition.features.find((f) => f.name === name);\n}\nfunction getFeatureIdByNameOrThrow(projectDefinition, name) {\n const feature = getFeatureByName(projectDefinition, name);\n if (!feature) {\n throw new Error(`Could not find feature with name ${name}`);\n }\n return feature.id;\n}\nfunction getFeatureIdByNameOrDefault(projectDefinition, name) {\n return getFeatureByName(projectDefinition, name)?.id ?? name;\n}\nfunction resolveFeatureName(projectDefinition, featureRef) {\n if (!featureRef)\n return '';\n if (featureEntityType.isId(featureRef)) {\n return getFeaturePathByIdOrThrow(projectDefinition, featureRef);\n }\n return featureRef;\n}\nexport const FeatureUtils = {\n getRootFeatures,\n getFeatureById,\n getFeatureByIdOrThrow,\n getFeatureChildren,\n getFeatureName,\n getFeatureNameById,\n getFeaturePathByIdOrThrow,\n validateFeatureName,\n ensureFeatureByNameRecursively,\n createPartialFeatures,\n getFeatureByName,\n getFeatureIdByNameOrThrow,\n getFeatureIdByNameOrDefault,\n resolveFeatureName,\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}\nfunction getPrimaryKeyFields(model) {\n const primaryKeyFields = model.model.primaryKeyFieldRefs;\n return primaryKeyFields.map((id) => getScalarFieldById(model, id));\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 getPrimaryKeyFields,\n};\n//# sourceMappingURL=model-utils.js.map"],"names":["z"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { importShared } from './__federation_fn_import-DybuDj1g.js';
1
+ import { importShared } from './__federation_fn_import-DboThXN4.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-Cg8Gij5x.js.map
16
+ //# sourceMappingURL=plugin-definition-BA3dR1I6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-definition-Cg8Gij5x.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,MAAM,CAAA,CAAE,MAAA,CAAO,EAAE;AACnB;;;;"}
1
+ {"version":3,"file":"plugin-definition-BA3dR1I6.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,MAAM,CAAA,CAAE,MAAA,CAAO,EAAE;AACnB;;;;"}
@@ -1,4 +1,4 @@
1
- import { importShared } from './__federation_fn_import-DybuDj1g.js';
1
+ import { importShared } from './__federation_fn_import-DboThXN4.js';
2
2
 
3
3
  const {authRoleEntityType: authRoleEntityType$1} = await importShared('@baseplate-dev/project-builder-lib');
4
4
 
@@ -90,4 +90,4 @@ const createAuthPluginDefinitionSchema = definitionSchema(
90
90
  );
91
91
 
92
92
  export { createAuthPluginDefinitionSchema as a, createDefaultAuthRoles as b, createAuthRoleSchema as c };
93
- //# sourceMappingURL=plugin-definition-ChoxTjiw.js.map
93
+ //# sourceMappingURL=plugin-definition-DqIciiTP.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-definition-ChoxTjiw.js","sources":["../../../src/auth/core/schema/roles/constants.ts","../../../src/auth/core/schema/roles/schema.ts","../../../src/auth/core/schema/plugin-definition.ts"],"sourcesContent":["import { authRoleEntityType } from '@baseplate-dev/project-builder-lib';\n\nimport type { AuthRoleDefinition } from './schema.js';\n\nexport const AUTH_DEFAULT_ROLES: Omit<AuthRoleDefinition, 'id'>[] = [\n {\n name: 'public',\n comment: 'All users (including unauthenticated and authenticated users)',\n builtIn: true,\n autoAssigned: true,\n },\n {\n name: 'user',\n comment: 'All authenticated users',\n builtIn: true,\n autoAssigned: true,\n },\n {\n name: 'system',\n comment: 'System processes without a user context, e.g. background jobs',\n builtIn: true,\n autoAssigned: true,\n },\n {\n name: 'admin',\n comment: 'Administrator with full access',\n builtIn: true,\n autoAssigned: false,\n },\n];\n\nexport function createDefaultAuthRoles(): AuthRoleDefinition[] {\n return AUTH_DEFAULT_ROLES.map((role) => ({\n ...role,\n id: authRoleEntityType.generateNewId(),\n }));\n}\n","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\nimport { AUTH_DEFAULT_ROLES } from './constants.js';\n\nexport const createAuthRoleSchema = definitionSchema((ctx) =>\n ctx.withEnt(\n z.object({\n id: z.string(),\n name: z.string().min(1),\n comment: z.string().min(1),\n builtIn: z.boolean().default(false),\n autoAssigned: z.boolean().default(false),\n }),\n { type: authRoleEntityType },\n ),\n);\n\n/**\n * Defines the schema for a role.\n */\nexport type AuthRoleDefinition = def.InferOutput<typeof createAuthRoleSchema>;\n\nexport type AuthRoleInput = def.InferInput<typeof createAuthRoleSchema>;\n\n/**\n * Defines the schema for an array of roles ensuring that there are no duplicate\n * role names and that the built-in roles are included.\n */\nexport const createAuthRolesSchema = definitionSchema((ctx) =>\n z\n .array(createAuthRoleSchema(ctx))\n .superRefine((roles, ctx) => {\n const dup = roles\n .map((r) => r.name)\n .filter((v, i, a) => a.indexOf(v) !== i);\n if (dup.length > 0) {\n ctx.addIssue({\n code: 'custom',\n message: `Duplicate role name(s): ${dup.join(', ')}`,\n });\n }\n })\n .superRefine((roles, ctx) => {\n for (const defaultRole of AUTH_DEFAULT_ROLES) {\n if (!roles.some((r) => r.name === defaultRole.name && r.builtIn)) {\n ctx.addIssue({\n code: 'custom',\n message: `Missing built-in role: ${defaultRole.name}`,\n });\n }\n }\n }),\n);\n","import type { def } from '@baseplate-dev/project-builder-lib';\n\nimport {\n definitionSchema,\n featureEntityType,\n} from '@baseplate-dev/project-builder-lib';\nimport { z } from 'zod';\n\nimport { createAuthRolesSchema } from './roles/index.js';\n\nexport const createAuthPluginDefinitionSchema = definitionSchema((ctx) =>\n z.object({\n implementationPluginKey: z\n .string()\n .min(1, 'Auth implementation plugin must be selected'),\n authFeatureRef: ctx.withRef({\n type: featureEntityType,\n onDelete: 'RESTRICT',\n }),\n accountsFeatureRef: ctx.withRef({\n type: featureEntityType,\n onDelete: 'RESTRICT',\n }),\n roles: createAuthRolesSchema(ctx),\n }),\n);\n\nexport type AuthPluginDefinition = def.InferOutput<\n typeof createAuthPluginDefinitionSchema\n>;\n\nexport type AuthPluginDefinitionInput = def.InferInput<\n typeof createAuthPluginDefinitionSchema\n>;\n"],"names":["authRoleEntityType","definitionSchema","z","ctx"],"mappings":"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"}
1
+ {"version":3,"file":"plugin-definition-DqIciiTP.js","sources":["../../../src/auth/core/schema/roles/constants.ts","../../../src/auth/core/schema/roles/schema.ts","../../../src/auth/core/schema/plugin-definition.ts"],"sourcesContent":["import { authRoleEntityType } from '@baseplate-dev/project-builder-lib';\n\nimport type { AuthRoleDefinition } from './schema.js';\n\nexport const AUTH_DEFAULT_ROLES: Omit<AuthRoleDefinition, 'id'>[] = [\n {\n name: 'public',\n comment: 'All users (including unauthenticated and authenticated users)',\n builtIn: true,\n autoAssigned: true,\n },\n {\n name: 'user',\n comment: 'All authenticated users',\n builtIn: true,\n autoAssigned: true,\n },\n {\n name: 'system',\n comment: 'System processes without a user context, e.g. background jobs',\n builtIn: true,\n autoAssigned: true,\n },\n {\n name: 'admin',\n comment: 'Administrator with full access',\n builtIn: true,\n autoAssigned: false,\n },\n];\n\nexport function createDefaultAuthRoles(): AuthRoleDefinition[] {\n return AUTH_DEFAULT_ROLES.map((role) => ({\n ...role,\n id: authRoleEntityType.generateNewId(),\n }));\n}\n","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\nimport { AUTH_DEFAULT_ROLES } from './constants.js';\n\nexport const createAuthRoleSchema = definitionSchema((ctx) =>\n ctx.withEnt(\n z.object({\n id: z.string(),\n name: z.string().min(1),\n comment: z.string().min(1),\n builtIn: z.boolean().default(false),\n autoAssigned: z.boolean().default(false),\n }),\n { type: authRoleEntityType },\n ),\n);\n\n/**\n * Defines the schema for a role.\n */\nexport type AuthRoleDefinition = def.InferOutput<typeof createAuthRoleSchema>;\n\nexport type AuthRoleInput = def.InferInput<typeof createAuthRoleSchema>;\n\n/**\n * Defines the schema for an array of roles ensuring that there are no duplicate\n * role names and that the built-in roles are included.\n */\nexport const createAuthRolesSchema = definitionSchema((ctx) =>\n z\n .array(createAuthRoleSchema(ctx))\n .superRefine((roles, ctx) => {\n const dup = roles\n .map((r) => r.name)\n .filter((v, i, a) => a.indexOf(v) !== i);\n if (dup.length > 0) {\n ctx.addIssue({\n code: 'custom',\n message: `Duplicate role name(s): ${dup.join(', ')}`,\n });\n }\n })\n .superRefine((roles, ctx) => {\n for (const defaultRole of AUTH_DEFAULT_ROLES) {\n if (!roles.some((r) => r.name === defaultRole.name && r.builtIn)) {\n ctx.addIssue({\n code: 'custom',\n message: `Missing built-in role: ${defaultRole.name}`,\n });\n }\n }\n }),\n);\n","import type { def } from '@baseplate-dev/project-builder-lib';\n\nimport {\n definitionSchema,\n featureEntityType,\n} from '@baseplate-dev/project-builder-lib';\nimport { z } from 'zod';\n\nimport { createAuthRolesSchema } from './roles/index.js';\n\nexport const createAuthPluginDefinitionSchema = definitionSchema((ctx) =>\n z.object({\n implementationPluginKey: z\n .string()\n .min(1, 'Auth implementation plugin must be selected'),\n authFeatureRef: ctx.withRef({\n type: featureEntityType,\n onDelete: 'RESTRICT',\n }),\n accountsFeatureRef: ctx.withRef({\n type: featureEntityType,\n onDelete: 'RESTRICT',\n }),\n roles: createAuthRolesSchema(ctx),\n }),\n);\n\nexport type AuthPluginDefinition = def.InferOutput<\n typeof createAuthPluginDefinitionSchema\n>;\n\nexport type AuthPluginDefinitionInput = def.InferInput<\n typeof createAuthPluginDefinitionSchema\n>;\n"],"names":["authRoleEntityType","definitionSchema","z","ctx"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { B as BETTER_AUTH_MODELS } from './model-names-D7UT0B8x.js';
2
- import { importShared } from './__federation_fn_import-DybuDj1g.js';
2
+ import { importShared } from './__federation_fn_import-DboThXN4.js';
3
3
 
4
4
  function createBetterAuthPartialDefinition(authFeatureName, accountsFeatureName) {
5
5
  return {
@@ -312,4 +312,4 @@ const createBetterAuthPluginDefinitionSchema = definitionSchema(
312
312
  );
313
313
 
314
314
  export { createBetterAuthPartialDefinition as a, createBetterAuthPluginDefinitionSchema as c };
315
- //# sourceMappingURL=plugin-definition-D9-5sSEf.js.map
315
+ //# sourceMappingURL=plugin-definition-TuWj1Cbs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-definition-D9-5sSEf.js","sources":["../../../src/better-auth/core/schema/models.ts","../../../src/better-auth/core/schema/plugin-definition.ts"],"sourcesContent":["import type { PartialProjectDefinitionInput } from '@baseplate-dev/project-builder-lib';\n\nimport { BETTER_AUTH_MODELS } from '#src/better-auth/constants/model-names.js';\n\nexport function createBetterAuthPartialDefinition(\n authFeatureName: string,\n accountsFeatureName: string,\n): PartialProjectDefinitionInput {\n return {\n models: [\n {\n name: BETTER_AUTH_MODELS.user,\n featureRef: accountsFeatureName,\n model: {\n fields: [\n {\n name: 'id',\n type: 'uuid',\n options: { defaultGeneration: 'uuidv7' },\n },\n {\n name: 'name',\n type: 'string',\n isOptional: false,\n },\n {\n name: 'email',\n type: 'string',\n isOptional: false,\n },\n {\n name: 'emailVerified',\n type: 'boolean',\n options: { default: 'false' },\n },\n {\n name: 'image',\n type: 'string',\n isOptional: true,\n },\n {\n name: 'updatedAt',\n type: 'dateTime',\n options: { defaultToNow: true, updatedAt: true },\n },\n {\n name: 'createdAt',\n type: 'dateTime',\n options: { defaultToNow: true },\n },\n ],\n primaryKeyFieldRefs: ['id'],\n uniqueConstraints: [\n {\n fields: [{ fieldRef: 'email' }],\n },\n ],\n },\n graphql: {\n objectType: {\n enabled: true,\n fields: [\n { ref: 'id' },\n {\n ref: 'email',\n globalRoles: ['admin'],\n instanceRoles: ['self'],\n },\n ],\n },\n },\n authorizer: {\n roles: [\n {\n name: 'self',\n expression: 'model.id === userId',\n },\n ],\n },\n },\n {\n name: BETTER_AUTH_MODELS.session,\n featureRef: accountsFeatureName,\n model: {\n fields: [\n {\n name: 'id',\n type: 'uuid',\n options: { defaultGeneration: 'uuidv7' },\n },\n {\n name: 'expiresAt',\n type: 'dateTime',\n },\n {\n name: 'token',\n type: 'string',\n },\n {\n name: 'ipAddress',\n type: 'string',\n isOptional: true,\n },\n {\n name: 'userAgent',\n type: 'string',\n isOptional: true,\n },\n {\n name: 'userId',\n type: 'uuid',\n },\n {\n name: 'createdAt',\n type: 'dateTime',\n options: { defaultToNow: true },\n },\n {\n name: 'updatedAt',\n type: 'dateTime',\n options: { defaultToNow: true, updatedAt: true },\n },\n ],\n primaryKeyFieldRefs: ['id'],\n uniqueConstraints: [\n {\n fields: [{ fieldRef: 'token' }],\n },\n ],\n relations: [\n {\n name: 'user',\n references: [{ localRef: 'userId', foreignRef: 'id' }],\n modelRef: BETTER_AUTH_MODELS.user,\n foreignRelationName: 'sessions',\n onDelete: 'Cascade',\n onUpdate: 'Restrict',\n },\n ],\n },\n },\n {\n name: BETTER_AUTH_MODELS.account,\n featureRef: accountsFeatureName,\n model: {\n fields: [\n {\n name: 'id',\n type: 'uuid',\n options: { defaultGeneration: 'uuidv7' },\n },\n {\n name: 'accountId',\n type: 'string',\n },\n {\n name: 'providerId',\n type: 'string',\n },\n {\n name: 'userId',\n type: 'uuid',\n },\n {\n name: 'accessToken',\n type: 'string',\n isOptional: true,\n },\n {\n name: 'refreshToken',\n type: 'string',\n isOptional: true,\n },\n {\n name: 'idToken',\n type: 'string',\n isOptional: true,\n },\n {\n name: 'accessTokenExpiresAt',\n type: 'dateTime',\n isOptional: true,\n },\n {\n name: 'refreshTokenExpiresAt',\n type: 'dateTime',\n isOptional: true,\n },\n {\n name: 'scope',\n type: 'string',\n isOptional: true,\n },\n {\n name: 'password',\n type: 'string',\n isOptional: true,\n },\n {\n name: 'createdAt',\n type: 'dateTime',\n options: { defaultToNow: true },\n },\n {\n name: 'updatedAt',\n type: 'dateTime',\n options: { defaultToNow: true, updatedAt: true },\n },\n ],\n primaryKeyFieldRefs: ['id'],\n relations: [\n {\n name: 'user',\n references: [{ localRef: 'userId', foreignRef: 'id' }],\n modelRef: BETTER_AUTH_MODELS.user,\n foreignRelationName: 'accounts',\n onDelete: 'Cascade',\n onUpdate: 'Restrict',\n },\n ],\n },\n },\n {\n name: BETTER_AUTH_MODELS.verification,\n featureRef: authFeatureName,\n model: {\n fields: [\n {\n name: 'id',\n type: 'uuid',\n options: { defaultGeneration: 'uuidv4' },\n },\n {\n name: 'identifier',\n type: 'string',\n },\n {\n name: 'value',\n type: 'string',\n },\n {\n name: 'expiresAt',\n type: 'dateTime',\n },\n {\n name: 'createdAt',\n type: 'dateTime',\n options: { defaultToNow: true },\n },\n {\n name: 'updatedAt',\n type: 'dateTime',\n options: { defaultToNow: true, updatedAt: true },\n },\n ],\n primaryKeyFieldRefs: ['id'],\n },\n },\n {\n name: BETTER_AUTH_MODELS.userRole,\n featureRef: accountsFeatureName,\n model: {\n fields: [\n {\n name: 'userId',\n type: 'uuid',\n },\n {\n name: 'role',\n type: 'string',\n },\n {\n name: 'updatedAt',\n type: 'dateTime',\n options: { defaultToNow: true, updatedAt: true },\n },\n {\n name: 'createdAt',\n type: 'dateTime',\n options: { defaultToNow: true },\n },\n ],\n primaryKeyFieldRefs: ['userId', 'role'],\n relations: [\n {\n name: 'user',\n references: [{ localRef: 'userId', foreignRef: 'id' }],\n modelRef: BETTER_AUTH_MODELS.user,\n foreignRelationName: 'roles',\n onDelete: 'Cascade',\n onUpdate: 'Restrict',\n },\n ],\n },\n },\n ],\n };\n}\n","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 createBetterAuthPluginDefinitionSchema = definitionSchema((ctx) =>\n z.object({\n additionalUserAdminRoles: ctx.withDefault(\n z.array(\n ctx.withRef({\n type: authRoleEntityType,\n onDelete: 'DELETE',\n }),\n ),\n [],\n ),\n }),\n);\n\nexport type BetterAuthPluginDefinition = def.InferOutput<\n typeof createBetterAuthPluginDefinitionSchema\n>;\n\nexport type BetterAuthPluginDefinitionInput = def.InferInput<\n typeof createBetterAuthPluginDefinitionSchema\n>;\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-definition-TuWj1Cbs.js","sources":["../../../src/better-auth/core/schema/models.ts","../../../src/better-auth/core/schema/plugin-definition.ts"],"sourcesContent":["import type { PartialProjectDefinitionInput } from '@baseplate-dev/project-builder-lib';\n\nimport { BETTER_AUTH_MODELS } from '#src/better-auth/constants/model-names.js';\n\nexport function createBetterAuthPartialDefinition(\n authFeatureName: string,\n accountsFeatureName: string,\n): PartialProjectDefinitionInput {\n return {\n models: [\n {\n name: BETTER_AUTH_MODELS.user,\n featureRef: accountsFeatureName,\n model: {\n fields: [\n {\n name: 'id',\n type: 'uuid',\n options: { defaultGeneration: 'uuidv7' },\n },\n {\n name: 'name',\n type: 'string',\n isOptional: false,\n },\n {\n name: 'email',\n type: 'string',\n isOptional: false,\n },\n {\n name: 'emailVerified',\n type: 'boolean',\n options: { default: 'false' },\n },\n {\n name: 'image',\n type: 'string',\n isOptional: true,\n },\n {\n name: 'updatedAt',\n type: 'dateTime',\n options: { defaultToNow: true, updatedAt: true },\n },\n {\n name: 'createdAt',\n type: 'dateTime',\n options: { defaultToNow: true },\n },\n ],\n primaryKeyFieldRefs: ['id'],\n uniqueConstraints: [\n {\n fields: [{ fieldRef: 'email' }],\n },\n ],\n },\n graphql: {\n objectType: {\n enabled: true,\n fields: [\n { ref: 'id' },\n {\n ref: 'email',\n globalRoles: ['admin'],\n instanceRoles: ['self'],\n },\n ],\n },\n },\n authorizer: {\n roles: [\n {\n name: 'self',\n expression: 'model.id === userId',\n },\n ],\n },\n },\n {\n name: BETTER_AUTH_MODELS.session,\n featureRef: accountsFeatureName,\n model: {\n fields: [\n {\n name: 'id',\n type: 'uuid',\n options: { defaultGeneration: 'uuidv7' },\n },\n {\n name: 'expiresAt',\n type: 'dateTime',\n },\n {\n name: 'token',\n type: 'string',\n },\n {\n name: 'ipAddress',\n type: 'string',\n isOptional: true,\n },\n {\n name: 'userAgent',\n type: 'string',\n isOptional: true,\n },\n {\n name: 'userId',\n type: 'uuid',\n },\n {\n name: 'createdAt',\n type: 'dateTime',\n options: { defaultToNow: true },\n },\n {\n name: 'updatedAt',\n type: 'dateTime',\n options: { defaultToNow: true, updatedAt: true },\n },\n ],\n primaryKeyFieldRefs: ['id'],\n uniqueConstraints: [\n {\n fields: [{ fieldRef: 'token' }],\n },\n ],\n relations: [\n {\n name: 'user',\n references: [{ localRef: 'userId', foreignRef: 'id' }],\n modelRef: BETTER_AUTH_MODELS.user,\n foreignRelationName: 'sessions',\n onDelete: 'Cascade',\n onUpdate: 'Restrict',\n },\n ],\n },\n },\n {\n name: BETTER_AUTH_MODELS.account,\n featureRef: accountsFeatureName,\n model: {\n fields: [\n {\n name: 'id',\n type: 'uuid',\n options: { defaultGeneration: 'uuidv7' },\n },\n {\n name: 'accountId',\n type: 'string',\n },\n {\n name: 'providerId',\n type: 'string',\n },\n {\n name: 'userId',\n type: 'uuid',\n },\n {\n name: 'accessToken',\n type: 'string',\n isOptional: true,\n },\n {\n name: 'refreshToken',\n type: 'string',\n isOptional: true,\n },\n {\n name: 'idToken',\n type: 'string',\n isOptional: true,\n },\n {\n name: 'accessTokenExpiresAt',\n type: 'dateTime',\n isOptional: true,\n },\n {\n name: 'refreshTokenExpiresAt',\n type: 'dateTime',\n isOptional: true,\n },\n {\n name: 'scope',\n type: 'string',\n isOptional: true,\n },\n {\n name: 'password',\n type: 'string',\n isOptional: true,\n },\n {\n name: 'createdAt',\n type: 'dateTime',\n options: { defaultToNow: true },\n },\n {\n name: 'updatedAt',\n type: 'dateTime',\n options: { defaultToNow: true, updatedAt: true },\n },\n ],\n primaryKeyFieldRefs: ['id'],\n relations: [\n {\n name: 'user',\n references: [{ localRef: 'userId', foreignRef: 'id' }],\n modelRef: BETTER_AUTH_MODELS.user,\n foreignRelationName: 'accounts',\n onDelete: 'Cascade',\n onUpdate: 'Restrict',\n },\n ],\n },\n },\n {\n name: BETTER_AUTH_MODELS.verification,\n featureRef: authFeatureName,\n model: {\n fields: [\n {\n name: 'id',\n type: 'uuid',\n options: { defaultGeneration: 'uuidv4' },\n },\n {\n name: 'identifier',\n type: 'string',\n },\n {\n name: 'value',\n type: 'string',\n },\n {\n name: 'expiresAt',\n type: 'dateTime',\n },\n {\n name: 'createdAt',\n type: 'dateTime',\n options: { defaultToNow: true },\n },\n {\n name: 'updatedAt',\n type: 'dateTime',\n options: { defaultToNow: true, updatedAt: true },\n },\n ],\n primaryKeyFieldRefs: ['id'],\n },\n },\n {\n name: BETTER_AUTH_MODELS.userRole,\n featureRef: accountsFeatureName,\n model: {\n fields: [\n {\n name: 'userId',\n type: 'uuid',\n },\n {\n name: 'role',\n type: 'string',\n },\n {\n name: 'updatedAt',\n type: 'dateTime',\n options: { defaultToNow: true, updatedAt: true },\n },\n {\n name: 'createdAt',\n type: 'dateTime',\n options: { defaultToNow: true },\n },\n ],\n primaryKeyFieldRefs: ['userId', 'role'],\n relations: [\n {\n name: 'user',\n references: [{ localRef: 'userId', foreignRef: 'id' }],\n modelRef: BETTER_AUTH_MODELS.user,\n foreignRelationName: 'roles',\n onDelete: 'Cascade',\n onUpdate: 'Restrict',\n },\n ],\n },\n },\n ],\n };\n}\n","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 createBetterAuthPluginDefinitionSchema = definitionSchema((ctx) =>\n z.object({\n additionalUserAdminRoles: ctx.withDefault(\n z.array(\n ctx.withRef({\n type: authRoleEntityType,\n onDelete: 'DELETE',\n }),\n ),\n [],\n ),\n }),\n);\n\nexport type BetterAuthPluginDefinition = def.InferOutput<\n typeof createBetterAuthPluginDefinitionSchema\n>;\n\nexport type BetterAuthPluginDefinitionInput = def.InferInput<\n typeof createBetterAuthPluginDefinitionSchema\n>;\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { L as LOCAL_AUTH_MODELS } from './model-names-DrcaRxt1.js';
2
- import { importShared } from './__federation_fn_import-DybuDj1g.js';
2
+ import { importShared } from './__federation_fn_import-DboThXN4.js';
3
3
 
4
4
  function createLocalAuthPartialDefinition(authFeatureName, accountsFeatureName) {
5
5
  return {
@@ -301,4 +301,4 @@ const createLocalAuthPluginDefinitionSchema = definitionSchema(
301
301
  );
302
302
 
303
303
  export { createLocalAuthPartialDefinition as a, createLocalAuthPluginDefinitionSchema as c };
304
- //# sourceMappingURL=plugin-definition-BQN6LXOW.js.map
304
+ //# sourceMappingURL=plugin-definition-YXnH0eeN.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-definition-BQN6LXOW.js","sources":["../../../src/local-auth/core/schema/models.ts","../../../src/local-auth/core/schema/plugin-definition.ts"],"sourcesContent":["import type { PartialProjectDefinitionInput } from '@baseplate-dev/project-builder-lib';\n\nimport { LOCAL_AUTH_MODELS } from '#src/local-auth/constants/model-names.js';\n\nexport function createLocalAuthPartialDefinition(\n authFeatureName: string,\n accountsFeatureName: string,\n): PartialProjectDefinitionInput {\n return {\n models: [\n {\n name: LOCAL_AUTH_MODELS.user,\n featureRef: accountsFeatureName,\n model: {\n fields: [\n {\n name: 'id',\n type: 'uuid',\n options: { defaultGeneration: 'uuidv7' },\n },\n {\n name: 'name',\n type: 'string',\n isOptional: true,\n },\n {\n name: 'email',\n type: 'string',\n },\n {\n name: 'emailVerified',\n type: 'boolean',\n options: { default: 'false' },\n },\n {\n name: 'updatedAt',\n type: 'dateTime',\n options: { defaultToNow: true, updatedAt: true },\n },\n {\n name: 'createdAt',\n type: 'dateTime',\n options: { defaultToNow: true },\n },\n ],\n primaryKeyFieldRefs: ['id'],\n uniqueConstraints: [\n {\n fields: [{ fieldRef: 'email' }],\n },\n ],\n },\n graphql: {\n objectType: {\n enabled: true,\n fields: [\n { ref: 'id' },\n {\n ref: 'email',\n globalRoles: ['admin'],\n instanceRoles: ['self'],\n },\n ],\n },\n },\n authorizer: {\n roles: [\n {\n name: 'self',\n expression: 'model.id === userId',\n },\n ],\n },\n },\n {\n name: LOCAL_AUTH_MODELS.userAccount,\n featureRef: accountsFeatureName,\n model: {\n fields: [\n {\n name: 'id',\n type: 'uuid',\n options: { defaultGeneration: 'uuidv7' },\n },\n {\n name: 'userId',\n type: 'uuid',\n },\n {\n name: 'accountId',\n type: 'string',\n },\n {\n name: 'providerId',\n type: 'string',\n },\n {\n name: 'password',\n type: 'string',\n isOptional: true,\n },\n {\n name: 'createdAt',\n type: 'dateTime',\n options: { defaultToNow: true },\n },\n {\n name: 'updatedAt',\n type: 'dateTime',\n options: { defaultToNow: true, updatedAt: true },\n },\n ],\n primaryKeyFieldRefs: ['id'],\n uniqueConstraints: [\n {\n fields: [{ fieldRef: 'accountId' }, { fieldRef: 'providerId' }],\n },\n ],\n relations: [\n {\n name: 'user',\n references: [{ localRef: 'userId', foreignRef: 'id' }],\n modelRef: LOCAL_AUTH_MODELS.user,\n foreignRelationName: 'accounts',\n onDelete: 'Cascade',\n onUpdate: 'Restrict',\n },\n ],\n },\n },\n {\n name: LOCAL_AUTH_MODELS.userRole,\n featureRef: accountsFeatureName,\n model: {\n fields: [\n {\n name: 'userId',\n type: 'uuid',\n },\n {\n name: 'role',\n type: 'string',\n },\n {\n name: 'updatedAt',\n type: 'dateTime',\n options: { defaultToNow: true, updatedAt: true },\n },\n {\n name: 'createdAt',\n type: 'dateTime',\n options: { defaultToNow: true },\n },\n ],\n primaryKeyFieldRefs: ['userId', 'role'],\n relations: [\n {\n name: 'user',\n references: [{ localRef: 'userId', foreignRef: 'id' }],\n modelRef: LOCAL_AUTH_MODELS.user,\n foreignRelationName: 'roles',\n onDelete: 'Cascade',\n onUpdate: 'Restrict',\n },\n ],\n },\n },\n {\n name: LOCAL_AUTH_MODELS.userSession,\n featureRef: accountsFeatureName,\n model: {\n fields: [\n {\n name: 'id',\n type: 'uuid',\n options: { defaultGeneration: 'uuidv7' },\n },\n {\n name: 'userId',\n type: 'uuid',\n },\n {\n name: 'token',\n type: 'string',\n },\n {\n name: 'expiresAt',\n type: 'dateTime',\n },\n {\n name: 'renewedAt',\n type: 'dateTime',\n options: { defaultToNow: true },\n },\n {\n name: 'createdAt',\n type: 'dateTime',\n options: { defaultToNow: true },\n },\n {\n name: 'updatedAt',\n type: 'dateTime',\n options: { defaultToNow: true, updatedAt: true },\n },\n ],\n primaryKeyFieldRefs: ['id'],\n uniqueConstraints: [\n {\n fields: [{ fieldRef: 'token' }],\n },\n ],\n relations: [\n {\n name: 'user',\n references: [{ localRef: 'userId', foreignRef: 'id' }],\n modelRef: LOCAL_AUTH_MODELS.user,\n foreignRelationName: 'sessions',\n onDelete: 'Cascade',\n onUpdate: 'Restrict',\n },\n ],\n },\n },\n {\n name: LOCAL_AUTH_MODELS.authVerification,\n featureRef: authFeatureName,\n model: {\n fields: [\n {\n name: 'id',\n type: 'uuid',\n options: { defaultGeneration: 'uuidv4' },\n },\n {\n name: 'type',\n type: 'string',\n },\n {\n name: 'identifier',\n type: 'string',\n },\n {\n name: 'value',\n type: 'string',\n },\n {\n name: 'userId',\n type: 'uuid',\n isOptional: true,\n },\n {\n name: 'metadata',\n type: 'json',\n isOptional: true,\n },\n {\n name: 'expiresAt',\n type: 'dateTime',\n },\n {\n name: 'createdAt',\n type: 'dateTime',\n options: { defaultToNow: true },\n },\n ],\n primaryKeyFieldRefs: ['id'],\n uniqueConstraints: [\n {\n fields: [{ fieldRef: 'type' }, { fieldRef: 'identifier' }],\n },\n ],\n relations: [\n {\n name: 'user',\n references: [{ localRef: 'userId', foreignRef: 'id' }],\n modelRef: LOCAL_AUTH_MODELS.user,\n foreignRelationName: 'authVerifications',\n onDelete: 'Cascade',\n onUpdate: 'Restrict',\n },\n ],\n },\n },\n ],\n };\n}\n","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 additionalUserAdminRoles: ctx.withDefault(\n z.array(\n ctx.withRef({\n type: authRoleEntityType,\n onDelete: 'DELETE',\n }),\n ),\n [],\n ),\n requireNameOnRegistration: z.boolean().default(false),\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":"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"}
1
+ {"version":3,"file":"plugin-definition-YXnH0eeN.js","sources":["../../../src/local-auth/core/schema/models.ts","../../../src/local-auth/core/schema/plugin-definition.ts"],"sourcesContent":["import type { PartialProjectDefinitionInput } from '@baseplate-dev/project-builder-lib';\n\nimport { LOCAL_AUTH_MODELS } from '#src/local-auth/constants/model-names.js';\n\nexport function createLocalAuthPartialDefinition(\n authFeatureName: string,\n accountsFeatureName: string,\n): PartialProjectDefinitionInput {\n return {\n models: [\n {\n name: LOCAL_AUTH_MODELS.user,\n featureRef: accountsFeatureName,\n model: {\n fields: [\n {\n name: 'id',\n type: 'uuid',\n options: { defaultGeneration: 'uuidv7' },\n },\n {\n name: 'name',\n type: 'string',\n isOptional: true,\n },\n {\n name: 'email',\n type: 'string',\n },\n {\n name: 'emailVerified',\n type: 'boolean',\n options: { default: 'false' },\n },\n {\n name: 'updatedAt',\n type: 'dateTime',\n options: { defaultToNow: true, updatedAt: true },\n },\n {\n name: 'createdAt',\n type: 'dateTime',\n options: { defaultToNow: true },\n },\n ],\n primaryKeyFieldRefs: ['id'],\n uniqueConstraints: [\n {\n fields: [{ fieldRef: 'email' }],\n },\n ],\n },\n graphql: {\n objectType: {\n enabled: true,\n fields: [\n { ref: 'id' },\n {\n ref: 'email',\n globalRoles: ['admin'],\n instanceRoles: ['self'],\n },\n ],\n },\n },\n authorizer: {\n roles: [\n {\n name: 'self',\n expression: 'model.id === userId',\n },\n ],\n },\n },\n {\n name: LOCAL_AUTH_MODELS.userAccount,\n featureRef: accountsFeatureName,\n model: {\n fields: [\n {\n name: 'id',\n type: 'uuid',\n options: { defaultGeneration: 'uuidv7' },\n },\n {\n name: 'userId',\n type: 'uuid',\n },\n {\n name: 'accountId',\n type: 'string',\n },\n {\n name: 'providerId',\n type: 'string',\n },\n {\n name: 'password',\n type: 'string',\n isOptional: true,\n },\n {\n name: 'createdAt',\n type: 'dateTime',\n options: { defaultToNow: true },\n },\n {\n name: 'updatedAt',\n type: 'dateTime',\n options: { defaultToNow: true, updatedAt: true },\n },\n ],\n primaryKeyFieldRefs: ['id'],\n uniqueConstraints: [\n {\n fields: [{ fieldRef: 'accountId' }, { fieldRef: 'providerId' }],\n },\n ],\n relations: [\n {\n name: 'user',\n references: [{ localRef: 'userId', foreignRef: 'id' }],\n modelRef: LOCAL_AUTH_MODELS.user,\n foreignRelationName: 'accounts',\n onDelete: 'Cascade',\n onUpdate: 'Restrict',\n },\n ],\n },\n },\n {\n name: LOCAL_AUTH_MODELS.userRole,\n featureRef: accountsFeatureName,\n model: {\n fields: [\n {\n name: 'userId',\n type: 'uuid',\n },\n {\n name: 'role',\n type: 'string',\n },\n {\n name: 'updatedAt',\n type: 'dateTime',\n options: { defaultToNow: true, updatedAt: true },\n },\n {\n name: 'createdAt',\n type: 'dateTime',\n options: { defaultToNow: true },\n },\n ],\n primaryKeyFieldRefs: ['userId', 'role'],\n relations: [\n {\n name: 'user',\n references: [{ localRef: 'userId', foreignRef: 'id' }],\n modelRef: LOCAL_AUTH_MODELS.user,\n foreignRelationName: 'roles',\n onDelete: 'Cascade',\n onUpdate: 'Restrict',\n },\n ],\n },\n },\n {\n name: LOCAL_AUTH_MODELS.userSession,\n featureRef: accountsFeatureName,\n model: {\n fields: [\n {\n name: 'id',\n type: 'uuid',\n options: { defaultGeneration: 'uuidv7' },\n },\n {\n name: 'userId',\n type: 'uuid',\n },\n {\n name: 'token',\n type: 'string',\n },\n {\n name: 'expiresAt',\n type: 'dateTime',\n },\n {\n name: 'renewedAt',\n type: 'dateTime',\n options: { defaultToNow: true },\n },\n {\n name: 'createdAt',\n type: 'dateTime',\n options: { defaultToNow: true },\n },\n {\n name: 'updatedAt',\n type: 'dateTime',\n options: { defaultToNow: true, updatedAt: true },\n },\n ],\n primaryKeyFieldRefs: ['id'],\n uniqueConstraints: [\n {\n fields: [{ fieldRef: 'token' }],\n },\n ],\n relations: [\n {\n name: 'user',\n references: [{ localRef: 'userId', foreignRef: 'id' }],\n modelRef: LOCAL_AUTH_MODELS.user,\n foreignRelationName: 'sessions',\n onDelete: 'Cascade',\n onUpdate: 'Restrict',\n },\n ],\n },\n },\n {\n name: LOCAL_AUTH_MODELS.authVerification,\n featureRef: authFeatureName,\n model: {\n fields: [\n {\n name: 'id',\n type: 'uuid',\n options: { defaultGeneration: 'uuidv4' },\n },\n {\n name: 'type',\n type: 'string',\n },\n {\n name: 'identifier',\n type: 'string',\n },\n {\n name: 'value',\n type: 'string',\n },\n {\n name: 'userId',\n type: 'uuid',\n isOptional: true,\n },\n {\n name: 'metadata',\n type: 'json',\n isOptional: true,\n },\n {\n name: 'expiresAt',\n type: 'dateTime',\n },\n {\n name: 'createdAt',\n type: 'dateTime',\n options: { defaultToNow: true },\n },\n ],\n primaryKeyFieldRefs: ['id'],\n uniqueConstraints: [\n {\n fields: [{ fieldRef: 'type' }, { fieldRef: 'identifier' }],\n },\n ],\n relations: [\n {\n name: 'user',\n references: [{ localRef: 'userId', foreignRef: 'id' }],\n modelRef: LOCAL_AUTH_MODELS.user,\n foreignRelationName: 'authVerifications',\n onDelete: 'Cascade',\n onUpdate: 'Restrict',\n },\n ],\n },\n },\n ],\n };\n}\n","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 additionalUserAdminRoles: ctx.withDefault(\n z.array(\n ctx.withRef({\n type: authRoleEntityType,\n onDelete: 'DELETE',\n }),\n ),\n [],\n ),\n requireNameOnRegistration: z.boolean().default(false),\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":"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"}
@@ -1,4 +1,4 @@
1
- import { importShared } from './__federation_fn_import-DybuDj1g.js';
1
+ import { importShared } from './__federation_fn_import-DboThXN4.js';
2
2
 
3
3
  const createStoreImpl = (createState) => {
4
4
  let state;
@@ -44,4 +44,4 @@ const createImpl = (createState) => {
44
44
  const create = (createState) => createState ? createImpl(createState) : createImpl;
45
45
 
46
46
  export { create as c };
47
- //# sourceMappingURL=react-CcDhDxl8.js.map
47
+ //# sourceMappingURL=react-BFk_Rnee.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react-BFk_Rnee.js","sources":["../../../../../node_modules/.pnpm/zustand@5.0.3_@types+react@19.1.3_immer@11.1.4_react@19.1.0_use-sync-external-store@1.6.0/node_modules/zustand/esm/vanilla.mjs","../../../../../node_modules/.pnpm/zustand@5.0.3_@types+react@19.1.3_immer@11.1.4_react@19.1.0_use-sync-external-store@1.6.0/node_modules/zustand/esm/react.mjs"],"sourcesContent":["const createStoreImpl = (createState) => {\n let state;\n const listeners = /* @__PURE__ */ new Set();\n const setState = (partial, replace) => {\n const nextState = typeof partial === \"function\" ? partial(state) : partial;\n if (!Object.is(nextState, state)) {\n const previousState = state;\n state = (replace != null ? replace : typeof nextState !== \"object\" || nextState === null) ? nextState : Object.assign({}, state, nextState);\n listeners.forEach((listener) => listener(state, previousState));\n }\n };\n const getState = () => state;\n const getInitialState = () => initialState;\n const subscribe = (listener) => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const api = { setState, getState, getInitialState, subscribe };\n const initialState = state = createState(setState, getState, api);\n return api;\n};\nconst createStore = (createState) => createState ? createStoreImpl(createState) : createStoreImpl;\n\nexport { createStore };\n","import React from 'react';\nimport { createStore } from 'zustand/vanilla';\n\nconst identity = (arg) => arg;\nfunction useStore(api, selector = identity) {\n const slice = React.useSyncExternalStore(\n api.subscribe,\n () => selector(api.getState()),\n () => selector(api.getInitialState())\n );\n React.useDebugValue(slice);\n return slice;\n}\nconst createImpl = (createState) => {\n const api = createStore(createState);\n const useBoundStore = (selector) => useStore(api, selector);\n Object.assign(useBoundStore, api);\n return useBoundStore;\n};\nconst create = (createState) => createState ? createImpl(createState) : createImpl;\n\nexport { create, useStore };\n"],"names":[],"mappings":";;AAAA,MAAM,eAAe,GAAG,CAAC,WAAW,KAAK;AACzC,EAAE,IAAI,KAAK;AACX,EAAE,MAAM,SAAS,mBAAmB,IAAI,GAAG,EAAE;AAC7C,EAAE,MAAM,QAAQ,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK;AACzC,IAAI,MAAM,SAAS,GAAG,OAAO,OAAO,KAAK,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO;AAC9E,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;AACtC,MAAM,MAAM,aAAa,GAAG,KAAK;AACjC,MAAM,KAAK,GAAG,CAAC,OAAO,IAAI,IAAI,GAAG,OAAO,GAAG,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC;AACjJ,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;AACrE,IAAI;AACJ,EAAE,CAAC;AACH,EAAE,MAAM,QAAQ,GAAG,MAAM,KAAK;AAC9B,EAAE,MAAM,eAAe,GAAG,MAAM,YAAY;AAC5C,EAAE,MAAM,SAAS,GAAG,CAAC,QAAQ,KAAK;AAClC,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC3B,IAAI,OAAO,MAAM,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;AAC3C,EAAE,CAAC;AACH,EAAE,MAAM,GAAG,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE;AAChE,EAAE,MAAM,YAAY,GAAG,KAAK,GAAG,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC;AACnE,EAAE,OAAO,GAAG;AACZ,CAAC;AACD,MAAM,WAAW,GAAG,CAAC,WAAW,KAAK,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC,GAAG,eAAe;;ACrBjG,MAAA,KAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;;AAGA,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,GAAG;AAC7B,SAAS,QAAQ,CAAC,GAAG,EAAE,QAAQ,GAAG,QAAQ,EAAE;AAC5C,EAAE,MAAM,KAAK,GAAG,KAAK,CAAC,oBAAoB;AAC1C,IAAI,GAAG,CAAC,SAAS;AACjB,IAAI,MAAM,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AAClC,IAAI,MAAM,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE;AACxC,GAAG;AACH,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC;AAC5B,EAAE,OAAO,KAAK;AACd;AACA,MAAM,UAAU,GAAG,CAAC,WAAW,KAAK;AACpC,EAAE,MAAM,GAAG,GAAG,WAAW,CAAC,WAAW,CAAC;AACtC,EAAE,MAAM,aAAa,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;AAC7D,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC;AACnC,EAAE,OAAO,aAAa;AACtB,CAAC;AACI,MAAC,MAAM,GAAG,CAAC,WAAW,KAAK,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG;;;;","x_google_ignoreList":[0,1]}