@prisma/orm-family-sql 8.0.0-rc.18-dev.28 → 8.0.0-rc.18-dev.30

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 (81) hide show
  1. package/dist/{attribute-specs-D9QcPJpj.d.mts → attribute-specs-BzBk62Jx.d.mts} +10 -4
  2. package/dist/{attribute-specs-D9QcPJpj.d.mts.map → attribute-specs-BzBk62Jx.d.mts.map} +1 -1
  3. package/dist/{authoring-entity-types-CZ-vdwYS-CSU65LVs.d.mts → authoring-entity-types-CZ-vdwYS-DzxLL9BC.d.mts} +2 -2
  4. package/dist/{authoring-entity-types-CZ-vdwYS-CSU65LVs.d.mts.map → authoring-entity-types-CZ-vdwYS-DzxLL9BC.d.mts.map} +1 -1
  5. package/dist/{config-types-BJxHMPGt.mjs → config-types-vu5fTaRa.mjs} +2 -2
  6. package/dist/{config-types-BJxHMPGt.mjs.map → config-types-vu5fTaRa.mjs.map} +1 -1
  7. package/dist/{contract-builder-CrWbrtE4.mjs → contract-builder-DmX4XnJa.mjs} +95 -10
  8. package/dist/contract-builder-DmX4XnJa.mjs.map +1 -0
  9. package/dist/{contract-builder-D-RSOsnc.d.mts → contract-builder-GH-eCIpl.d.mts} +18 -2
  10. package/dist/contract-builder-GH-eCIpl.d.mts.map +1 -0
  11. package/dist/contract-prisma7__provider.d.mts +1 -3
  12. package/dist/contract-prisma7__provider.d.mts.map +1 -1
  13. package/dist/contract-prisma7__provider.mjs +38 -9
  14. package/dist/contract-prisma7__provider.mjs.map +1 -1
  15. package/dist/contract-psl.d.mts +5 -3
  16. package/dist/contract-psl.d.mts.map +1 -1
  17. package/dist/contract-psl.mjs +1 -1
  18. package/dist/contract-psl__attribute-specs.d.mts +1 -1
  19. package/dist/contract-psl__attribute-specs.mjs +1 -1
  20. package/dist/contract-psl__provider.mjs +3 -2
  21. package/dist/contract-psl__provider.mjs.map +1 -1
  22. package/dist/contract-ts.d.mts +1 -1
  23. package/dist/contract-ts.mjs +3 -3
  24. package/dist/contract-ts__config-types.mjs +1 -1
  25. package/dist/contract-ts__contract-builder.d.mts +1 -1
  26. package/dist/contract-ts__contract-builder.mjs +2 -2
  27. package/dist/{control-D9zFmpo0.d.mts → control-B8tb6SEt.d.mts} +73 -21
  28. package/dist/control-B8tb6SEt.d.mts.map +1 -0
  29. package/dist/{control-D7jPD-Tk.mjs → control-DNE-Chse.mjs} +15 -28
  30. package/dist/control-DNE-Chse.mjs.map +1 -0
  31. package/dist/{control-adapter-BCopdpsT-BPHa2Frw.d.mts → control-adapter-Bn0uhplA-rhq_JtYp.d.mts} +2 -2
  32. package/dist/{control-adapter-BCopdpsT-BPHa2Frw.d.mts.map → control-adapter-Bn0uhplA-rhq_JtYp.d.mts.map} +1 -1
  33. package/dist/{control-adapter-ChJhp5vV.d.mts → control-adapter-RwLtGiwa.d.mts} +2 -2
  34. package/dist/{control-adapter-ChJhp5vV.d.mts.map → control-adapter-RwLtGiwa.d.mts.map} +1 -1
  35. package/dist/{derived-checks-sRZp_gTF-ermwhVGQ.mjs → derived-checks-CdPHpJSv-B7Bgj3Ao.mjs} +2 -2
  36. package/dist/{derived-checks-sRZp_gTF-ermwhVGQ.mjs.map → derived-checks-CdPHpJSv-B7Bgj3Ao.mjs.map} +1 -1
  37. package/dist/{diff-ClZvIVOl.d.mts → diff-B9Z47nHf.d.mts} +2 -2
  38. package/dist/{diff-ClZvIVOl.d.mts.map → diff-B9Z47nHf.d.mts.map} +1 -1
  39. package/dist/family.d.mts +9 -9
  40. package/dist/family.mjs +4 -3
  41. package/dist/family__control-adapter.d.mts +2 -2
  42. package/dist/family__control.d.mts +3 -3
  43. package/dist/family__control.mjs +2 -2
  44. package/dist/family__diff.d.mts +1 -1
  45. package/dist/family__migration.d.mts +1 -1
  46. package/dist/family__pack.d.mts +2 -2
  47. package/dist/family__pack.mjs +8 -3
  48. package/dist/family__pack.mjs.map +1 -1
  49. package/dist/family__psl-build.d.mts +2 -2
  50. package/dist/family__psl-build.mjs +2 -2
  51. package/dist/{authoring-type-constructors-0Iv2zdwS-D4LlP1q2.mjs → generator-functions-B4gRRYZB-BTtC2KQz.mjs} +205 -5
  52. package/dist/generator-functions-B4gRRYZB-BTtC2KQz.mjs.map +1 -0
  53. package/dist/{interpreter-kQuqdyeP-B-rzJDWE.mjs → interpreter-Bk0xpelv-BifV9Yib.mjs} +9 -9
  54. package/dist/interpreter-Bk0xpelv-BifV9Yib.mjs.map +1 -0
  55. package/dist/{migration-RrhpTP1o.d.mts → migration-CSv3UpiC.d.mts} +2 -2
  56. package/dist/{migration-RrhpTP1o.d.mts.map → migration-CSv3UpiC.d.mts.map} +1 -1
  57. package/dist/{pack-DNdZwm5w.d.mts → pack-COEyiyfL.d.mts} +74 -4
  58. package/dist/pack-COEyiyfL.d.mts.map +1 -0
  59. package/dist/{psl-build-BT8Ue6gd.mjs → psl-build-BkxAXTwj.mjs} +44 -135
  60. package/dist/psl-build-BkxAXTwj.mjs.map +1 -0
  61. package/dist/psl-build-O7_tXQ1E.d.mts +108 -0
  62. package/dist/psl-build-O7_tXQ1E.d.mts.map +1 -0
  63. package/dist/{psl-column-resolution-BCkhNzOK-DyfXnB-9.d.mts → psl-column-resolution-DNdqpUxt-C8BST0uW.d.mts} +3 -3
  64. package/dist/psl-column-resolution-DNdqpUxt-C8BST0uW.d.mts.map +1 -0
  65. package/dist/{psl-field-resolution-C1E-_fQq-VUYD8cnS.mjs → psl-field-resolution-BET6wtHZ-CX2xL99Q.mjs} +110 -46
  66. package/dist/psl-field-resolution-BET6wtHZ-CX2xL99Q.mjs.map +1 -0
  67. package/dist/{types-DKU4GeqD-CUClXCme.d.mts → types-DlFdMaDJ-DekbNgDh.d.mts} +3 -3
  68. package/dist/{types-DKU4GeqD-CUClXCme.d.mts.map → types-DlFdMaDJ-DekbNgDh.d.mts.map} +1 -1
  69. package/package.json +18 -18
  70. package/dist/authoring-type-constructors-0Iv2zdwS-D4LlP1q2.mjs.map +0 -1
  71. package/dist/contract-builder-CrWbrtE4.mjs.map +0 -1
  72. package/dist/contract-builder-D-RSOsnc.d.mts.map +0 -1
  73. package/dist/control-D7jPD-Tk.mjs.map +0 -1
  74. package/dist/control-D9zFmpo0.d.mts.map +0 -1
  75. package/dist/interpreter-kQuqdyeP-B-rzJDWE.mjs.map +0 -1
  76. package/dist/pack-DNdZwm5w.d.mts.map +0 -1
  77. package/dist/psl-build-BT8Ue6gd.mjs.map +0 -1
  78. package/dist/psl-build-DU55bjfu.d.mts +0 -157
  79. package/dist/psl-build-DU55bjfu.d.mts.map +0 -1
  80. package/dist/psl-column-resolution-BCkhNzOK-DyfXnB-9.d.mts.map +0 -1
  81. package/dist/psl-field-resolution-C1E-_fQq-VUYD8cnS.mjs.map +0 -1
@@ -1,16 +1,16 @@
1
1
  import { a as SqlNamespaceBase, c as SqlNamespaceInput } from "./sql-storage-tZhB8nS5-8NSWT0TW.mjs";
2
2
  import "./types-B2Dee96w.mjs";
3
- import { t as ColumnDescriptor } from "./psl-column-resolution-BCkhNzOK-DyfXnB-9.mjs";
3
+ import { t as ColumnDescriptor } from "./psl-column-resolution-DNdqpUxt-C8BST0uW.mjs";
4
4
  import { AuthoringContributions, DataTypeSupport } from "@prisma/orm-framework/components/authoring";
5
5
  import { CodecLookupWithDescriptors } from "@prisma/orm-framework/components/codec";
6
6
  import { Contract } from "@prisma/orm-framework/contract/types";
7
- import { CapabilityMatrix, ExtensionPackRef, TargetPackRef } from "@prisma/orm-framework/components/components";
7
+ import { CapabilityMatrix, ExtensionPackRef, GeneratorFunctionRegistry, TargetPackRef } from "@prisma/orm-framework/components/components";
8
8
  import { DocumentAst, PslSources } from "@prisma/orm-framework/psl-parser/syntax";
9
9
  import { Result } from "@prisma/orm-framework/utils/result";
10
10
  import { Binder, SymbolTable } from "@prisma/orm-framework/psl-parser";
11
11
  import { ControlMutationDefaults, ControlMutationDefaults as ControlMutationDefaults$1, DefaultFunctionLoweringContext, MutationDefaultGeneratorDescriptor } from "@prisma/orm-framework/components/control";
12
12
  import { ContractSourceDiagnostic, ContractSourceDiagnostics } from "@prisma/orm-framework/config/config-types";
13
- //#region ../../../2-sql/2-authoring/contract-psl/dist/interpreter-DuGgWoC5.d.mts
13
+ //#region ../../../2-sql/2-authoring/contract-psl/dist/interpreter-CdBGK6hi.d.mts
14
14
  //#region src/interpreter.d.ts
15
15
  interface InterpretPslDocumentToSqlContractInput {
16
16
  readonly documents: readonly DocumentAst[];
@@ -22,6 +22,8 @@ interface InterpretPslDocumentToSqlContractInput {
22
22
  readonly composedExtensions?: readonly string[];
23
23
  readonly composedExtensionPackRefs?: readonly ExtensionPackRef<'sql', string>[];
24
24
  readonly controlMutationDefaults?: ControlMutationDefaults$1;
25
+ /** The stack's generator functions, which `@onCreate(fn())` and `@onUpdate(fn())` resolve through. */
26
+ readonly generatorFunctions: GeneratorFunctionRegistry;
25
27
  /** The stack's data types with their authoring entries. ADR 254. */
26
28
  readonly dataTypes: DataTypeSupport;
27
29
  readonly authoringContributions?: AuthoringContributions;
@@ -1 +1 @@
1
- {"version":3,"file":"contract-psl.d.mts","names":[],"sources":["../../../../2-sql/2-authoring/contract-psl/dist/interpreter-DuGgWoC5.d.mts"],"mappings":";;;;;;;;;;;;;;UAYU;WACC,oBAAoB;WACpB,aAAa;WACb,SAAS;WACT,QAAQ;WACR,QAAQ;WACR,yBAAyB,oBAAoB;WAC7C;WACA,qCAAqC;WACrC,0BAA0B;;WAE1B,WAAW;WACX,yBAAyB;;;;;;;;;;WAUzB,4BAA4B,oBAAoB;;WAEhD,kBAAkB,OAAO,sBAAsB;WAC/C,aAAa;WACb,2BAA2B;;WAE3B;aACE;aACA;;WAEF,cAAc;;iBASR,kCAAkC,OAAO,yCAAyC,OAAO,UAAU"}
1
+ {"version":3,"file":"contract-psl.d.mts","names":[],"sources":["../../../../2-sql/2-authoring/contract-psl/dist/interpreter-CdBGK6hi.d.mts"],"mappings":";;;;;;;;;;;;;;UAYU;WACC,oBAAoB;WACpB,aAAa;WACb,SAAS;WACT,QAAQ;WACR,QAAQ;WACR,yBAAyB,oBAAoB;WAC7C;WACA,qCAAqC;WACrC,0BAA0B;;WAE1B,oBAAoB;;WAEpB,WAAW;WACX,yBAAyB;;;;;;;;;;WAUzB,4BAA4B,oBAAoB;;WAEhD,kBAAkB,OAAO,sBAAsB;WAC/C,aAAa;WACb,2BAA2B;;WAE3B;aACE;aACA;;WAEF,cAAc;;iBASR,kCAAkC,OAAO,yCAAyC,OAAO,UAAU"}
@@ -1,2 +1,2 @@
1
- import { i as interpretPslDocumentToSqlContract } from "./interpreter-kQuqdyeP-B-rzJDWE.mjs";
1
+ import { i as interpretPslDocumentToSqlContract } from "./interpreter-Bk0xpelv-BifV9Yib.mjs";
2
2
  export { interpretPslDocumentToSqlContract };
@@ -1,2 +1,2 @@
1
- import { a as ParsedNullLiteral, i as EnumMemberListDefault, n as DefaultFunctionCall, o as sqlAttributeSpecs, r as EnumMemberDefault, t as describeUnsupportedSqlAttribute } from "./attribute-specs-D9QcPJpj.mjs";
1
+ import { a as ParsedNullLiteral, i as EnumMemberListDefault, n as DefaultFunctionCall, o as sqlAttributeSpecs, r as EnumMemberDefault, t as describeUnsupportedSqlAttribute } from "./attribute-specs-BzBk62Jx.mjs";
2
2
  export { type DefaultFunctionCall, type EnumMemberDefault, type EnumMemberListDefault, type ParsedNullLiteral, describeUnsupportedSqlAttribute, sqlAttributeSpecs };
@@ -1,2 +1,2 @@
1
- import { a as describeUnsupportedSqlAttribute, v as sqlAttributeSpecs } from "./psl-field-resolution-C1E-_fQq-VUYD8cnS.mjs";
1
+ import { a as describeUnsupportedSqlAttribute, v as sqlAttributeSpecs } from "./psl-field-resolution-BET6wtHZ-CX2xL99Q.mjs";
2
2
  export { describeUnsupportedSqlAttribute, sqlAttributeSpecs };
@@ -1,5 +1,5 @@
1
- import { t as applySqlSpecifierControlPolicy } from "./derived-checks-sRZp_gTF-ermwhVGQ.mjs";
2
- import { i as interpretPslDocumentToSqlContract } from "./interpreter-kQuqdyeP-B-rzJDWE.mjs";
1
+ import { t as applySqlSpecifierControlPolicy } from "./derived-checks-CdPHpJSv-B7Bgj3Ao.mjs";
2
+ import { i as interpretPslDocumentToSqlContract } from "./interpreter-Bk0xpelv-BifV9Yib.mjs";
3
3
  import { ifDefined } from "@prisma/orm-framework/utils/defined";
4
4
  import { collectScalarTypeConstructors } from "@prisma/orm-framework/components/authoring";
5
5
  import { readFile } from "node:fs/promises";
@@ -65,6 +65,7 @@ function prismaContract(schemaPath, options) {
65
65
  composedExtensionContracts: context.composedExtensionContracts,
66
66
  ...ifDefined("composedExtensionPackRefs", options.composedExtensionPackRefs?.length ? options.composedExtensionPackRefs : void 0),
67
67
  controlMutationDefaults: context.controlMutationDefaults,
68
+ generatorFunctions: context.generatorFunctions,
68
69
  createNamespace: options.createNamespace,
69
70
  capabilities: context.capabilities,
70
71
  codecLookup: context.codecLookup,
@@ -1 +1 @@
1
- {"version":3,"file":"contract-psl__provider.mjs","names":[],"sources":["../../../../2-sql/2-authoring/contract-psl/dist/provider.mjs"],"sourcesContent":["import { n as interpretPslDocumentToSqlContract } from \"./interpreter-kQuqdyeP.mjs\";\nimport { buildSymbolTable, createBinder, isPrismaNextSchema, mapPslDiagnostics } from \"@internal/psl-parser\";\nimport { applySqlSpecifierControlPolicy } from \"@internal/sql-contract-ts/contract-builder\";\nimport { assertDefined } from \"@internal/utils/assertions\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { collectScalarTypeConstructors } from \"@internal/framework-components/authoring\";\nimport { withSeedDiagnostics } from \"@internal/psl-parser/interpret\";\nimport { parse } from \"@internal/psl-parser/syntax\";\nimport { notOk, ok } from \"@internal/utils/result\";\nimport { readFile } from \"node:fs/promises\";\nimport { basename, extname } from \"pathe\";\nimport { isDynamicPattern } from \"tinyglobby\";\n//#region src/provider.ts\n/**\n* The directory portion of `pattern` before its first glob-magic segment,\n* joined back with `/` (e.g. a `prisma` directory holding a recursive\n* `.prisma` glob derives `./prisma`). A rootless pattern with no static\n* segments yields `''`.\n*/\nfunction staticPrefixDirectory(pattern) {\n\tconst staticSegments = [];\n\tfor (const segment of pattern.replaceAll(\"\\\\\", \"/\").split(\"/\")) {\n\t\tif (isDynamicPattern(segment)) break;\n\t\tstaticSegments.push(segment);\n\t}\n\treturn staticSegments.join(\"/\");\n}\n/**\n* Derives the emit output path from the schema input path so artefacts land\n* colocated with the source (e.g. `src/contract/schema.prisma` →\n* `src/contract/contract.json`). A glob-shaped path derives from its static\n* prefix directory instead (a recursive glob under `prisma` derives\n* `./prisma/contract.json`). The provider owns this because it is the only\n* layer that knows the input path; the upstream `normalizeContractConfig`\n* default is a last-resort fallback for providers that don't carry one.\n*/\nfunction defaultOutputFromSchemaPath(schemaPath) {\n\tif (isDynamicPattern(schemaPath)) {\n\t\tconst prefix = staticPrefixDirectory(schemaPath);\n\t\treturn prefix.length === 0 ? \"contract.json\" : `${prefix}/contract.json`;\n\t}\n\tconst ext = extname(schemaPath);\n\tif (ext.length === 0) return `${schemaPath}.json`;\n\tconst base = schemaPath.slice(0, -ext.length);\n\tif (basename(base) === \"schema\") return `${base.slice(0, -6)}contract.json`;\n\treturn `${base}.json`;\n}\nfunction prismaContract(schemaPath, options) {\n\treturn {\n\t\tsource: {\n\t\t\tformat: \"psl\",\n\t\t\tinputs: [schemaPath],\n\t\t\tinterpret(input, context) {\n\t\t\t\tconst scalarColumnDescriptors = collectScalarTypeConstructors(context.authoringContributions.type);\n\t\t\t\treturn interpretPslDocumentToSqlContract({\n\t\t\t\t\tdocuments: input.documents,\n\t\t\t\t\tsymbolTable: input.symbolTable,\n\t\t\t\t\tsources: input.sources,\n\t\t\t\t\tbinder: input.binder,\n\t\t\t\t\tseedDiagnostics: [],\n\t\t\t\t\ttarget: options.target,\n\t\t\t\t\tauthoringContributions: context.authoringContributions,\n\t\t\t\t\tscalarColumnDescriptors,\n\t\t\t\t\t...ifDefined(\"composedExtensions\", context.composedExtensions.length > 0 ? [...context.composedExtensions] : void 0),\n\t\t\t\t\tcomposedExtensionContracts: context.composedExtensionContracts,\n\t\t\t\t\t...ifDefined(\"composedExtensionPackRefs\", options.composedExtensionPackRefs?.length ? options.composedExtensionPackRefs : void 0),\n\t\t\t\t\tcontrolMutationDefaults: context.controlMutationDefaults,\n\t\t\t\t\tcreateNamespace: options.createNamespace,\n\t\t\t\t\tcapabilities: context.capabilities,\n\t\t\t\t\tcodecLookup: context.codecLookup,\n\t\t\t\t\tdataTypes: context.dataTypes,\n\t\t\t\t\t...ifDefined(\"enumInferenceCodecs\", options.enumInferenceCodecs)\n\t\t\t\t});\n\t\t\t},\n\t\t\tasync load(context) {\n\t\t\t\tconst candidates = [...new Set(context.resolvedInputs)].sort();\n\t\t\t\tif (candidates.length === 0) return notOk({\n\t\t\t\t\tsummary: \"No schema files matched the configured contract source\",\n\t\t\t\t\tdiagnostics: [{\n\t\t\t\t\t\tcode: \"PSL_NO_SCHEMA_FILES_MATCHED\",\n\t\t\t\t\t\tmessage: `No files matched the configured pattern \"${schemaPath}\"`,\n\t\t\t\t\t\tsourceId: schemaPath\n\t\t\t\t\t}]\n\t\t\t\t});\n\t\t\t\tconst readDiagnostics = [];\n\t\t\t\tconst members = [];\n\t\t\t\tconst undirected = [];\n\t\t\t\tfor (const path of candidates) {\n\t\t\t\t\tlet text;\n\t\t\t\t\ttry {\n\t\t\t\t\t\ttext = await readFile(path, \"utf-8\");\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconst message = String(error);\n\t\t\t\t\t\treadDiagnostics.push({\n\t\t\t\t\t\t\tcode: \"PSL_SCHEMA_READ_FAILED\",\n\t\t\t\t\t\t\tmessage,\n\t\t\t\t\t\t\tsourceId: path\n\t\t\t\t\t\t});\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tif (isPrismaNextSchema(text)) members.push({\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\ttext\n\t\t\t\t\t});\n\t\t\t\t\telse undirected.push(path);\n\t\t\t\t}\n\t\t\t\tif (members.length === 0) {\n\t\t\t\t\tif (undirected.length === 0) return notOk({\n\t\t\t\t\t\tsummary: \"Failed to read Prisma schema files\",\n\t\t\t\t\t\tdiagnostics: readDiagnostics\n\t\t\t\t\t});\n\t\t\t\t\treturn notOk({\n\t\t\t\t\t\tsummary: \"No schema file carries the \\\"// use prisma-8\\\" directive\",\n\t\t\t\t\t\tdiagnostics: [...readDiagnostics, {\n\t\t\t\t\t\t\tcode: \"PSL_NO_OPTED_IN_SCHEMA_FILES\",\n\t\t\t\t\t\t\tmessage: `None of the matched files carry the \"// use prisma-8\" directive: ${undirected.join(\", \")}`,\n\t\t\t\t\t\t\tsourceId: schemaPath\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tconst parsed = members.map(({ path, text }) => parse(text, path));\n\t\t\t\tconst documents = parsed.map(({ document }) => document);\n\t\t\t\tconst [firstSources, ...restSources] = parsed.map(({ sources }) => sources);\n\t\t\t\tassertDefined(firstSources, \"prismaContract requires at least one parsed schema file\");\n\t\t\t\tconst sources = firstSources.merge(...restSources);\n\t\t\t\tconst seedDiagnostics = [...readDiagnostics, ...mapPslDiagnostics(parsed.flatMap(({ diagnostics }) => diagnostics), sources)];\n\t\t\t\tconst { symbolTable, diagnostics: symbolTableDiagnostics } = buildSymbolTable({\n\t\t\t\t\tdocuments,\n\t\t\t\t\tsources,\n\t\t\t\t\tdefaultNamespaceId: context.defaultNamespaceId\n\t\t\t\t});\n\t\t\t\tconst { binder, diagnostics: binderDiagnostics } = createBinder({\n\t\t\t\t\tsymbolTable,\n\t\t\t\t\tsources,\n\t\t\t\t\tcontext\n\t\t\t\t});\n\t\t\t\tconst interpreted = withSeedDiagnostics(this.interpret({\n\t\t\t\t\tdocuments,\n\t\t\t\t\tsources,\n\t\t\t\t\tsymbolTable,\n\t\t\t\t\tbinder\n\t\t\t\t}, context), [...seedDiagnostics, ...mapPslDiagnostics([...symbolTableDiagnostics, ...binderDiagnostics], sources)]);\n\t\t\t\tif (!interpreted.ok) return interpreted;\n\t\t\t\treturn ok(applySqlSpecifierControlPolicy(interpreted.value, options.defaultControlPolicy, options.createNamespace));\n\t\t\t}\n\t\t},\n\t\toutput: options.output ?? defaultOutputFromSchemaPath(schemaPath)\n\t};\n}\n//#endregion\nexport { prismaContract };\n\n//# sourceMappingURL=provider.mjs.map"],"mappings":"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"}
1
+ {"version":3,"file":"contract-psl__provider.mjs","names":[],"sources":["../../../../2-sql/2-authoring/contract-psl/dist/provider.mjs"],"sourcesContent":["import { n as interpretPslDocumentToSqlContract } from \"./interpreter-Bk0xpelv.mjs\";\nimport { buildSymbolTable, createBinder, isPrismaNextSchema, mapPslDiagnostics } from \"@internal/psl-parser\";\nimport { applySqlSpecifierControlPolicy } from \"@internal/sql-contract-ts/contract-builder\";\nimport { assertDefined } from \"@internal/utils/assertions\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { collectScalarTypeConstructors } from \"@internal/framework-components/authoring\";\nimport { withSeedDiagnostics } from \"@internal/psl-parser/interpret\";\nimport { parse } from \"@internal/psl-parser/syntax\";\nimport { notOk, ok } from \"@internal/utils/result\";\nimport { readFile } from \"node:fs/promises\";\nimport { basename, extname } from \"pathe\";\nimport { isDynamicPattern } from \"tinyglobby\";\n//#region src/provider.ts\n/**\n* The directory portion of `pattern` before its first glob-magic segment,\n* joined back with `/` (e.g. a `prisma` directory holding a recursive\n* `.prisma` glob derives `./prisma`). A rootless pattern with no static\n* segments yields `''`.\n*/\nfunction staticPrefixDirectory(pattern) {\n\tconst staticSegments = [];\n\tfor (const segment of pattern.replaceAll(\"\\\\\", \"/\").split(\"/\")) {\n\t\tif (isDynamicPattern(segment)) break;\n\t\tstaticSegments.push(segment);\n\t}\n\treturn staticSegments.join(\"/\");\n}\n/**\n* Derives the emit output path from the schema input path so artefacts land\n* colocated with the source (e.g. `src/contract/schema.prisma` →\n* `src/contract/contract.json`). A glob-shaped path derives from its static\n* prefix directory instead (a recursive glob under `prisma` derives\n* `./prisma/contract.json`). The provider owns this because it is the only\n* layer that knows the input path; the upstream `normalizeContractConfig`\n* default is a last-resort fallback for providers that don't carry one.\n*/\nfunction defaultOutputFromSchemaPath(schemaPath) {\n\tif (isDynamicPattern(schemaPath)) {\n\t\tconst prefix = staticPrefixDirectory(schemaPath);\n\t\treturn prefix.length === 0 ? \"contract.json\" : `${prefix}/contract.json`;\n\t}\n\tconst ext = extname(schemaPath);\n\tif (ext.length === 0) return `${schemaPath}.json`;\n\tconst base = schemaPath.slice(0, -ext.length);\n\tif (basename(base) === \"schema\") return `${base.slice(0, -6)}contract.json`;\n\treturn `${base}.json`;\n}\nfunction prismaContract(schemaPath, options) {\n\treturn {\n\t\tsource: {\n\t\t\tformat: \"psl\",\n\t\t\tinputs: [schemaPath],\n\t\t\tinterpret(input, context) {\n\t\t\t\tconst scalarColumnDescriptors = collectScalarTypeConstructors(context.authoringContributions.type);\n\t\t\t\treturn interpretPslDocumentToSqlContract({\n\t\t\t\t\tdocuments: input.documents,\n\t\t\t\t\tsymbolTable: input.symbolTable,\n\t\t\t\t\tsources: input.sources,\n\t\t\t\t\tbinder: input.binder,\n\t\t\t\t\tseedDiagnostics: [],\n\t\t\t\t\ttarget: options.target,\n\t\t\t\t\tauthoringContributions: context.authoringContributions,\n\t\t\t\t\tscalarColumnDescriptors,\n\t\t\t\t\t...ifDefined(\"composedExtensions\", context.composedExtensions.length > 0 ? [...context.composedExtensions] : void 0),\n\t\t\t\t\tcomposedExtensionContracts: context.composedExtensionContracts,\n\t\t\t\t\t...ifDefined(\"composedExtensionPackRefs\", options.composedExtensionPackRefs?.length ? options.composedExtensionPackRefs : void 0),\n\t\t\t\t\tcontrolMutationDefaults: context.controlMutationDefaults,\n\t\t\t\t\tgeneratorFunctions: context.generatorFunctions,\n\t\t\t\t\tcreateNamespace: options.createNamespace,\n\t\t\t\t\tcapabilities: context.capabilities,\n\t\t\t\t\tcodecLookup: context.codecLookup,\n\t\t\t\t\tdataTypes: context.dataTypes,\n\t\t\t\t\t...ifDefined(\"enumInferenceCodecs\", options.enumInferenceCodecs)\n\t\t\t\t});\n\t\t\t},\n\t\t\tasync load(context) {\n\t\t\t\tconst candidates = [...new Set(context.resolvedInputs)].sort();\n\t\t\t\tif (candidates.length === 0) return notOk({\n\t\t\t\t\tsummary: \"No schema files matched the configured contract source\",\n\t\t\t\t\tdiagnostics: [{\n\t\t\t\t\t\tcode: \"PSL_NO_SCHEMA_FILES_MATCHED\",\n\t\t\t\t\t\tmessage: `No files matched the configured pattern \"${schemaPath}\"`,\n\t\t\t\t\t\tsourceId: schemaPath\n\t\t\t\t\t}]\n\t\t\t\t});\n\t\t\t\tconst readDiagnostics = [];\n\t\t\t\tconst members = [];\n\t\t\t\tconst undirected = [];\n\t\t\t\tfor (const path of candidates) {\n\t\t\t\t\tlet text;\n\t\t\t\t\ttry {\n\t\t\t\t\t\ttext = await readFile(path, \"utf-8\");\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconst message = String(error);\n\t\t\t\t\t\treadDiagnostics.push({\n\t\t\t\t\t\t\tcode: \"PSL_SCHEMA_READ_FAILED\",\n\t\t\t\t\t\t\tmessage,\n\t\t\t\t\t\t\tsourceId: path\n\t\t\t\t\t\t});\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tif (isPrismaNextSchema(text)) members.push({\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\ttext\n\t\t\t\t\t});\n\t\t\t\t\telse undirected.push(path);\n\t\t\t\t}\n\t\t\t\tif (members.length === 0) {\n\t\t\t\t\tif (undirected.length === 0) return notOk({\n\t\t\t\t\t\tsummary: \"Failed to read Prisma schema files\",\n\t\t\t\t\t\tdiagnostics: readDiagnostics\n\t\t\t\t\t});\n\t\t\t\t\treturn notOk({\n\t\t\t\t\t\tsummary: \"No schema file carries the \\\"// use prisma-8\\\" directive\",\n\t\t\t\t\t\tdiagnostics: [...readDiagnostics, {\n\t\t\t\t\t\t\tcode: \"PSL_NO_OPTED_IN_SCHEMA_FILES\",\n\t\t\t\t\t\t\tmessage: `None of the matched files carry the \"// use prisma-8\" directive: ${undirected.join(\", \")}`,\n\t\t\t\t\t\t\tsourceId: schemaPath\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tconst parsed = members.map(({ path, text }) => parse(text, path));\n\t\t\t\tconst documents = parsed.map(({ document }) => document);\n\t\t\t\tconst [firstSources, ...restSources] = parsed.map(({ sources }) => sources);\n\t\t\t\tassertDefined(firstSources, \"prismaContract requires at least one parsed schema file\");\n\t\t\t\tconst sources = firstSources.merge(...restSources);\n\t\t\t\tconst seedDiagnostics = [...readDiagnostics, ...mapPslDiagnostics(parsed.flatMap(({ diagnostics }) => diagnostics), sources)];\n\t\t\t\tconst { symbolTable, diagnostics: symbolTableDiagnostics } = buildSymbolTable({\n\t\t\t\t\tdocuments,\n\t\t\t\t\tsources,\n\t\t\t\t\tdefaultNamespaceId: context.defaultNamespaceId\n\t\t\t\t});\n\t\t\t\tconst { binder, diagnostics: binderDiagnostics } = createBinder({\n\t\t\t\t\tsymbolTable,\n\t\t\t\t\tsources,\n\t\t\t\t\tcontext\n\t\t\t\t});\n\t\t\t\tconst interpreted = withSeedDiagnostics(this.interpret({\n\t\t\t\t\tdocuments,\n\t\t\t\t\tsources,\n\t\t\t\t\tsymbolTable,\n\t\t\t\t\tbinder\n\t\t\t\t}, context), [...seedDiagnostics, ...mapPslDiagnostics([...symbolTableDiagnostics, ...binderDiagnostics], sources)]);\n\t\t\t\tif (!interpreted.ok) return interpreted;\n\t\t\t\treturn ok(applySqlSpecifierControlPolicy(interpreted.value, options.defaultControlPolicy, options.createNamespace));\n\t\t\t}\n\t\t},\n\t\toutput: options.output ?? defaultOutputFromSchemaPath(schemaPath)\n\t};\n}\n//#endregion\nexport { prismaContract };\n\n//# sourceMappingURL=provider.mjs.map"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { n as applySqlSpecifierControlPolicy, t as SqlNamespaceFactory } from "./derived-checks-DpPkO6Dt-D-vp9vY3.mjs";
2
2
  import { r as SqlExpression, u as sql } from "./sql-expression-BAtH-2UU.mjs";
3
- import { $ as extensionModel, A as MergeEnums, B as UniqueConstraintNode, C as ForeignKeyTableReference, D as IndexOptionsFunction, E as IndexNode, F as ScalarFieldBuilder, G as bindEnumType, H as ValueObjectMemberNode, I as ScalarMemberNode, J as buildSqlContractFromDefinition, K as buildBoundContract, L as TableNode, M as ModelNode, N as PrimaryKeyNode, O as IndexOptionsInput, P as RelationNode, Q as enumType, R as TableProperties, S as ForeignKeyNode, T as IndexExpressionInput, U as ValueObjectNode, V as ValueObjectFieldNode, W as autoincrement, X as createComposedAuthoringHelpers, Y as check, Z as defineContract, _ as EnumMember, a as CheckNode, at as rel, b as FieldNode, c as ColumnNode, d as ContractDefinition, et as field, f as ContractInput, g as DeferredIndexOptions, h as DeferredIndexExpression, i as BoundEnumType, it as now, j as ModelLike, k as ManyOptions, l as ColumnRef, m as DeferredIndexColumn, n as AuthoredColumnDefault, nt as member, o as CodecInput, ot as storedAsListColumn, p as ContractModelBuilder, q as buildContractDefinition, r as AuthoredColumnDefaultLiteralValue, rt as model, s as CodecTypeMap, t as AttachedEntities, tt as isValueObjectMember, u as ComposedAuthoringHelpers, v as EnumTypeHandle, w as IndexConstraint, x as ForeignKeyModelReference, y as ExtractCodecTypesFromPack, z as TargetFieldRef } from "./contract-builder-D-RSOsnc.mjs";
3
+ import { $ as extensionModel, A as MergeEnums, B as UniqueConstraintNode, C as ForeignKeyTableReference, D as IndexOptionsFunction, E as IndexNode, F as ScalarFieldBuilder, G as bindEnumType, H as ValueObjectMemberNode, I as ScalarMemberNode, J as buildSqlContractFromDefinition, K as buildBoundContract, L as TableNode, M as ModelNode, N as PrimaryKeyNode, O as IndexOptionsInput, P as RelationNode, Q as enumType, R as TableProperties, S as ForeignKeyNode, T as IndexExpressionInput, U as ValueObjectNode, V as ValueObjectFieldNode, W as autoincrement, X as createComposedAuthoringHelpers, Y as check, Z as defineContract, _ as EnumMember, a as CheckNode, at as rel, b as FieldNode, c as ColumnNode, d as ContractDefinition, et as field, f as ContractInput, g as DeferredIndexOptions, h as DeferredIndexExpression, i as BoundEnumType, it as now, j as ModelLike, k as ManyOptions, l as ColumnRef, m as DeferredIndexColumn, n as AuthoredColumnDefault, nt as member, o as CodecInput, ot as storedAsListColumn, p as ContractModelBuilder, q as buildContractDefinition, r as AuthoredColumnDefaultLiteralValue, rt as model, s as CodecTypeMap, t as AttachedEntities, tt as isValueObjectMember, u as ComposedAuthoringHelpers, v as EnumTypeHandle, w as IndexConstraint, x as ForeignKeyModelReference, y as ExtractCodecTypesFromPack, z as TargetFieldRef } from "./contract-builder-GH-eCIpl.mjs";
4
4
  import { i as typescriptContractFromPath, n as emptyContract, r as typescriptContract, t as ContractConfig } from "./config-types-DN0IueHY.mjs";
5
5
  export { type AttachedEntities, type AuthoredColumnDefault, type AuthoredColumnDefaultLiteralValue, type BoundEnumType, type CheckNode, type CodecInput, type CodecTypeMap, type ColumnNode, type ColumnRef, type ComposedAuthoringHelpers, type ContractConfig, type ContractDefinition, type ContractInput, type ContractModelBuilder, type DeferredIndexColumn, type DeferredIndexExpression, type DeferredIndexOptions, type EnumMember, type EnumTypeHandle, type ExtractCodecTypesFromPack, type FieldNode, type ForeignKeyModelReference, type ForeignKeyNode, type ForeignKeyTableReference, type IndexConstraint, type IndexExpressionInput, type IndexNode, type IndexOptionsFunction, type IndexOptionsInput, type ManyOptions, type MergeEnums, type ModelLike, type ModelNode, type PrimaryKeyNode, type RelationNode, type ScalarFieldBuilder, type ScalarMemberNode, type SqlExpression, type SqlNamespaceFactory, type TableNode, type TableProperties, type TargetFieldRef, type UniqueConstraintNode, type ValueObjectFieldNode, type ValueObjectMemberNode, type ValueObjectNode, applySqlSpecifierControlPolicy, autoincrement, bindEnumType, buildBoundContract, buildContractDefinition, buildSqlContractFromDefinition, check, createComposedAuthoringHelpers, defineContract, emptyContract, enumType, extensionModel, field, isValueObjectMember, member, model, now, rel, sql, storedAsListColumn, typescriptContract, typescriptContractFromPath };
@@ -1,5 +1,5 @@
1
1
  import { l as sql } from "./sql-expression-BJCuy-WI.mjs";
2
- import { a as storedAsListColumn, i as isValueObjectMember, n as buildSqlContractFromDefinition, t as applySqlSpecifierControlPolicy } from "./derived-checks-sRZp_gTF-ermwhVGQ.mjs";
3
- import { a as check, c as enumType, d as member, f as model, i as buildContractDefinition, l as extensionModel, m as rel, n as bindEnumType, o as createComposedAuthoringHelpers, p as now, r as buildBoundContract, s as defineContract, t as autoincrement, u as field } from "./contract-builder-CrWbrtE4.mjs";
4
- import { n as typescriptContract, r as typescriptContractFromPath, t as emptyContract } from "./config-types-BJxHMPGt.mjs";
2
+ import { a as storedAsListColumn, i as isValueObjectMember, n as buildSqlContractFromDefinition, t as applySqlSpecifierControlPolicy } from "./derived-checks-CdPHpJSv-B7Bgj3Ao.mjs";
3
+ import { a as check, c as enumType, d as member, f as model, i as buildContractDefinition, l as extensionModel, m as rel, n as bindEnumType, o as createComposedAuthoringHelpers, p as now, r as buildBoundContract, s as defineContract, t as autoincrement, u as field } from "./contract-builder-DmX4XnJa.mjs";
4
+ import { n as typescriptContract, r as typescriptContractFromPath, t as emptyContract } from "./config-types-vu5fTaRa.mjs";
5
5
  export { applySqlSpecifierControlPolicy, autoincrement, bindEnumType, buildBoundContract, buildContractDefinition, buildSqlContractFromDefinition, check, createComposedAuthoringHelpers, defineContract, emptyContract, enumType, extensionModel, field, isValueObjectMember, member, model, now, rel, sql, storedAsListColumn, typescriptContract, typescriptContractFromPath };
@@ -1,2 +1,2 @@
1
- import { n as typescriptContract, r as typescriptContractFromPath, t as emptyContract } from "./config-types-BJxHMPGt.mjs";
1
+ import { n as typescriptContract, r as typescriptContractFromPath, t as emptyContract } from "./config-types-vu5fTaRa.mjs";
2
2
  export { emptyContract, typescriptContract, typescriptContractFromPath };
@@ -1,4 +1,4 @@
1
1
  import { n as applySqlSpecifierControlPolicy, t as SqlNamespaceFactory } from "./derived-checks-DpPkO6Dt-D-vp9vY3.mjs";
2
2
  import { r as SqlExpression, u as sql } from "./sql-expression-BAtH-2UU.mjs";
3
- import { $ as extensionModel, A as MergeEnums, B as UniqueConstraintNode, C as ForeignKeyTableReference, D as IndexOptionsFunction, E as IndexNode, F as ScalarFieldBuilder, G as bindEnumType, H as ValueObjectMemberNode, I as ScalarMemberNode, J as buildSqlContractFromDefinition, K as buildBoundContract, L as TableNode, M as ModelNode, N as PrimaryKeyNode, O as IndexOptionsInput, P as RelationNode, Q as enumType, R as TableProperties, S as ForeignKeyNode, T as IndexExpressionInput, U as ValueObjectNode, V as ValueObjectFieldNode, W as autoincrement, X as createComposedAuthoringHelpers, Y as check, Z as defineContract, _ as EnumMember, a as CheckNode, at as rel, b as FieldNode, c as ColumnNode, d as ContractDefinition, et as field, f as ContractInput, g as DeferredIndexOptions, h as DeferredIndexExpression, i as BoundEnumType, it as now, j as ModelLike, k as ManyOptions, l as ColumnRef, m as DeferredIndexColumn, n as AuthoredColumnDefault, nt as member, o as CodecInput, ot as storedAsListColumn, p as ContractModelBuilder, q as buildContractDefinition, r as AuthoredColumnDefaultLiteralValue, rt as model, s as CodecTypeMap, t as AttachedEntities, tt as isValueObjectMember, u as ComposedAuthoringHelpers, v as EnumTypeHandle, w as IndexConstraint, x as ForeignKeyModelReference, y as ExtractCodecTypesFromPack, z as TargetFieldRef } from "./contract-builder-D-RSOsnc.mjs";
3
+ import { $ as extensionModel, A as MergeEnums, B as UniqueConstraintNode, C as ForeignKeyTableReference, D as IndexOptionsFunction, E as IndexNode, F as ScalarFieldBuilder, G as bindEnumType, H as ValueObjectMemberNode, I as ScalarMemberNode, J as buildSqlContractFromDefinition, K as buildBoundContract, L as TableNode, M as ModelNode, N as PrimaryKeyNode, O as IndexOptionsInput, P as RelationNode, Q as enumType, R as TableProperties, S as ForeignKeyNode, T as IndexExpressionInput, U as ValueObjectNode, V as ValueObjectFieldNode, W as autoincrement, X as createComposedAuthoringHelpers, Y as check, Z as defineContract, _ as EnumMember, a as CheckNode, at as rel, b as FieldNode, c as ColumnNode, d as ContractDefinition, et as field, f as ContractInput, g as DeferredIndexOptions, h as DeferredIndexExpression, i as BoundEnumType, it as now, j as ModelLike, k as ManyOptions, l as ColumnRef, m as DeferredIndexColumn, n as AuthoredColumnDefault, nt as member, o as CodecInput, ot as storedAsListColumn, p as ContractModelBuilder, q as buildContractDefinition, r as AuthoredColumnDefaultLiteralValue, rt as model, s as CodecTypeMap, t as AttachedEntities, tt as isValueObjectMember, u as ComposedAuthoringHelpers, v as EnumTypeHandle, w as IndexConstraint, x as ForeignKeyModelReference, y as ExtractCodecTypesFromPack, z as TargetFieldRef } from "./contract-builder-GH-eCIpl.mjs";
4
4
  export { type AttachedEntities, type AuthoredColumnDefault, type AuthoredColumnDefaultLiteralValue, type BoundEnumType, type CheckNode, type CodecInput, type CodecTypeMap, type ColumnNode, type ColumnRef, type ComposedAuthoringHelpers, type ContractDefinition, type ContractInput, type ContractModelBuilder, type DeferredIndexColumn, type DeferredIndexExpression, type DeferredIndexOptions, type EnumMember, type EnumTypeHandle, type ExtractCodecTypesFromPack, type FieldNode, type ForeignKeyModelReference, type ForeignKeyNode, type ForeignKeyTableReference, type IndexConstraint, type IndexExpressionInput, type IndexNode, type IndexOptionsFunction, type IndexOptionsInput, type ManyOptions, type MergeEnums, type ModelLike, type ModelNode, type PrimaryKeyNode, type RelationNode, type ScalarFieldBuilder, type ScalarMemberNode, type SqlExpression, type SqlNamespaceFactory, type TableNode, type TableProperties, type TargetFieldRef, type UniqueConstraintNode, type ValueObjectFieldNode, type ValueObjectMemberNode, type ValueObjectNode, applySqlSpecifierControlPolicy, autoincrement, bindEnumType, buildBoundContract, buildContractDefinition, buildSqlContractFromDefinition, check, createComposedAuthoringHelpers, defineContract, enumType, extensionModel, field, isValueObjectMember, member, model, now, rel, sql, storedAsListColumn };
@@ -1,4 +1,4 @@
1
1
  import { l as sql } from "./sql-expression-BJCuy-WI.mjs";
2
- import { a as storedAsListColumn, i as isValueObjectMember, n as buildSqlContractFromDefinition, t as applySqlSpecifierControlPolicy } from "./derived-checks-sRZp_gTF-ermwhVGQ.mjs";
3
- import { a as check, c as enumType, d as member, f as model, i as buildContractDefinition, l as extensionModel, m as rel, n as bindEnumType, o as createComposedAuthoringHelpers, p as now, r as buildBoundContract, s as defineContract, t as autoincrement, u as field } from "./contract-builder-CrWbrtE4.mjs";
2
+ import { a as storedAsListColumn, i as isValueObjectMember, n as buildSqlContractFromDefinition, t as applySqlSpecifierControlPolicy } from "./derived-checks-CdPHpJSv-B7Bgj3Ao.mjs";
3
+ import { a as check, c as enumType, d as member, f as model, i as buildContractDefinition, l as extensionModel, m as rel, n as bindEnumType, o as createComposedAuthoringHelpers, p as now, r as buildBoundContract, s as defineContract, t as autoincrement, u as field } from "./contract-builder-DmX4XnJa.mjs";
4
4
  export { applySqlSpecifierControlPolicy, autoincrement, bindEnumType, buildBoundContract, buildContractDefinition, buildSqlContractFromDefinition, check, createComposedAuthoringHelpers, defineContract, enumType, extensionModel, field, isValueObjectMember, member, model, now, rel, sql, storedAsListColumn };
@@ -7,21 +7,21 @@ import { h as AnyQueryAst } from "./types-DVaVM20q-DrinF7w_.mjs";
7
7
  import { o as SqlExecuteRequest } from "./driver-types-DRsYeq3j-X_D6hNMZ.mjs";
8
8
  import { a as DdlNode } from "./ddl-types-CoP6yAw9-Cxc2zvi3.mjs";
9
9
  import { p as LowererContext } from "./ast-Cq7uhA86.mjs";
10
- import { a as ParsedNullLiteral, i as EnumMemberListDefault, n as DefaultFunctionCall, r as EnumMemberDefault } from "./attribute-specs-D9QcPJpj.mjs";
10
+ import { a as ParsedNullLiteral, i as EnumMemberListDefault, n as DefaultFunctionCall, r as EnumMemberDefault } from "./attribute-specs-BzBk62Jx.mjs";
11
11
  import { S as SqlSchemaIRNode, b as SqlSchemaIR, p as SqlDefaultValue } from "./types-B3AHHPDh-BHh-89fY.mjs";
12
12
  import "./types-BGERR8XF.mjs";
13
13
  import "./validators-CTZ-hU2l.mjs";
14
- import { r as SqlControlAdapter } from "./control-adapter-BCopdpsT-BPHa2Frw.mjs";
15
- import { t as sqlFamilyEnumSpec } from "./authoring-entity-types-CZ-vdwYS-CSU65LVs.mjs";
16
- import { D as SqlPlannerFailureResult, S as SqlMigrationRunnerSuccessValue, _ as SqlMigrationRunnerErrorCode, b as SqlMigrationRunnerFailure, f as SqlMigrationPlanOperationStep, g as SqlMigrationRunner, k as SqlPlannerSuccessResult, l as SqlMigrationPlan, m as SqlMigrationPlanner, n as CodecControlHooks, r as CreateSqlMigrationPlanOptions, t as AnyRecord, w as SqlPlannerConflict } from "./types-DKU4GeqD-CUClXCme.mjs";
14
+ import { r as SqlControlAdapter } from "./control-adapter-Bn0uhplA-rhq_JtYp.mjs";
15
+ import { t as sqlFamilyEnumSpec } from "./authoring-entity-types-CZ-vdwYS-DzxLL9BC.mjs";
16
+ import { D as SqlPlannerFailureResult, S as SqlMigrationRunnerSuccessValue, _ as SqlMigrationRunnerErrorCode, b as SqlMigrationRunnerFailure, f as SqlMigrationPlanOperationStep, g as SqlMigrationRunner, k as SqlPlannerSuccessResult, l as SqlMigrationPlan, m as SqlMigrationPlanner, n as CodecControlHooks, r as CreateSqlMigrationPlanOptions, t as AnyRecord, w as SqlPlannerConflict } from "./types-DlFdMaDJ-DekbNgDh.mjs";
17
17
  import { t as SqlSchemaDiffFn } from "./schema-differ-DmP74bB8-CIQ17HTk.mjs";
18
18
  import { StructuredError } from "@prisma/orm-framework/utils/structured-error";
19
- import { DataTypeSupport, FieldPresetsByCodecAndGenerator, PresetStorageTemplate, TIMESTAMP_NOW_GENERATOR_ID } from "@prisma/orm-framework/components/authoring";
19
+ import { DataTypeSupport, PresetStorageTemplate, TIMESTAMP_NOW_GENERATOR_ID } from "@prisma/orm-framework/components/authoring";
20
20
  import { Codec, CodecLookupWithDescriptors, CodecRef, DataType, DataTypeLookup, TypeLookups } from "@prisma/orm-framework/components/codec";
21
21
  import { ColumnDefault, Contract, ContractWithDomain, ControlPolicy } from "@prisma/orm-framework/contract/types";
22
- import { TargetBoundComponentDescriptor } from "@prisma/orm-framework/components/components";
22
+ import { GeneratorFunctionRegistry, TargetBoundComponentDescriptor } from "@prisma/orm-framework/components/components";
23
23
  import { NotOk, Ok, Result } from "@prisma/orm-framework/utils/result";
24
- import { AppliedMigrationStatement, AssembledAuthoringContributions, ContractSerializer, ControlFamilyDescriptor, ControlFamilyInstance, ControlStack, DefaultFunctionPrinter, DiffSubjectGranularity, FailedCheck, FailedTypeChange, FieldCoordinate, ImportRequirement, MigratableTargetDescriptor, MigrationDataLossKind, MigrationOperationClass, MigrationOperationClass as MigrationOperationClass$1, MigrationOperationPolicy, MigrationOperationPolicy as MigrationOperationPolicy$1, MigrationPlan as MigrationPlan$1, MigrationPlanOperation, MigrationPlanOperation as MigrationPlanOperation$1, MigrationPlanSubjects, MigrationPlanner, MigrationPlannerConflict, MigrationPlannerConflict as MigrationPlannerConflict$1, MigrationPlannerResult, MigrationSubject, ModelCoordinate, OpFactoryCall, OperationPreview, OperationPreviewCapable, PslContractBuildCapable, PslContractInferCapable, ResolvedFieldRenameStatement, ResolvedMigrationStatement, ResolvedModelRenameStatement, ResolvedRenameStatement, RowsWithoutValue, SchemaDiffIssue, SchemaVerifier, SchemaViewCapable, TargetMigrationsCapability, VerifyDatabaseResult, VerifyDatabaseSchemaResult, assembleAuthoringContributions } from "@prisma/orm-framework/components/control";
24
+ import { AppliedMigrationStatement, AssembledAuthoringContributions, ContractSerializer, ControlFamilyDescriptor, ControlFamilyInstance, ControlStack, DiffSubjectGranularity, FailedCheck, FailedTypeChange, FieldCoordinate, ImportRequirement, MigratableTargetDescriptor, MigrationDataLossKind, MigrationOperationClass, MigrationOperationClass as MigrationOperationClass$1, MigrationOperationPolicy, MigrationOperationPolicy as MigrationOperationPolicy$1, MigrationPlan as MigrationPlan$1, MigrationPlanOperation, MigrationPlanOperation as MigrationPlanOperation$1, MigrationPlanSubjects, MigrationPlanner, MigrationPlannerConflict, MigrationPlannerConflict as MigrationPlannerConflict$1, MigrationPlannerResult, MigrationSubject, ModelCoordinate, OpFactoryCall, OperationPreview, OperationPreviewCapable, PslContractBuildCapable, PslContractInferCapable, ResolvedFieldRenameStatement, ResolvedMigrationStatement, ResolvedModelRenameStatement, ResolvedRenameStatement, RowsWithoutValue, SchemaDiffIssue, SchemaVerifier, SchemaViewCapable, TargetMigrationsCapability, VerifyDatabaseResult, VerifyDatabaseSchemaResult, assembleAuthoringContributions } from "@prisma/orm-framework/components/control";
25
25
  import { EmissionSpi, TypesImportSpec } from "@prisma/orm-framework/components/emission";
26
26
  import { PslDocumentAst } from "@prisma/orm-framework/components/psl-ast";
27
27
  //#region ../../../2-sql/9-family/dist/control.d.mts
@@ -434,10 +434,72 @@ declare class SqlFamilyDescriptor implements ControlFamilyDescriptor<'sql', SqlC
434
434
  readonly default: (ctx: import("@prisma/orm-framework/psl-parser").FieldAttributeSpecContext) => import("@prisma/orm-framework/psl-parser").AttributeSpec<{
435
435
  value: import("@prisma/orm-framework/psl-parser").ParsedWrittenScalar | ParsedNullLiteral | import("@prisma/orm-framework/psl-parser").ParsedWrittenList<import("@prisma/orm-framework/psl-parser").ParsedWrittenScalar | ParsedNullLiteral> | DefaultFunctionCall | EnumMemberDefault | EnumMemberListDefault;
436
436
  }, import("@prisma/orm-framework/psl-parser").FieldAttributeCtx>;
437
+ readonly onCreate: (ctx: import("@prisma/orm-framework/psl-parser").FieldAttributeSpecContext) => import("@prisma/orm-framework/psl-parser").AttributeSpec<{
438
+ value: import("@prisma/orm-framework/psl-parser").TypedFuncCall;
439
+ }, import("@prisma/orm-framework/psl-parser").FieldAttributeCtx>;
440
+ readonly onUpdate: (ctx: import("@prisma/orm-framework/psl-parser").FieldAttributeSpecContext) => import("@prisma/orm-framework/psl-parser").AttributeSpec<{
441
+ value: import("@prisma/orm-framework/psl-parser").TypedFuncCall;
442
+ }, import("@prisma/orm-framework/psl-parser").FieldAttributeCtx>;
437
443
  };
438
444
  };
439
445
  readonly dataTypes: Readonly<Record<string, import("@prisma/orm-framework/components/authoring").DataTypeAuthoringEntry>>;
440
446
  };
447
+ readonly generatorFunctions: readonly [{
448
+ readonly name: "now";
449
+ readonly signature: {
450
+ readonly documentation: "Writes the current time, as the column's codec represents it.";
451
+ };
452
+ readonly bindings: readonly [];
453
+ }, {
454
+ readonly name: "uuid";
455
+ readonly signature: {
456
+ readonly documentation: "Generates a UUID when a value is not supplied.";
457
+ readonly positional: readonly [{
458
+ readonly key: "version";
459
+ readonly type: import("@prisma/orm-framework/psl-parser").OptionalArgType<4 | 7, import("@prisma/orm-framework/psl-parser").AttributeCtx, import("@prisma/orm-framework/psl-parser").OneOfArgType<[import("@prisma/orm-framework/psl-parser").FixedNumArgType<4, import("@prisma/orm-framework/psl-parser").AttributeCtx>, import("@prisma/orm-framework/psl-parser").FixedNumArgType<7, import("@prisma/orm-framework/psl-parser").AttributeCtx>], import("@prisma/orm-framework/psl-parser").AttributeCtx>>;
460
+ readonly documentation: "The UUID version: `4` or `7`. Defaults to `4`.";
461
+ }];
462
+ };
463
+ readonly bindings: readonly import("@prisma/orm-framework/components/components").GeneratorFunctionBinding[];
464
+ }, {
465
+ readonly name: "cuid";
466
+ readonly signature: {
467
+ readonly documentation: "Generates a CUID2 identifier when a value is not supplied.";
468
+ readonly positional: readonly [{
469
+ readonly key: "version";
470
+ readonly type: import("@prisma/orm-framework/psl-parser").FixedNumArgType<2, import("@prisma/orm-framework/psl-parser").AttributeCtx>;
471
+ readonly documentation: "The CUID version. Only `2` is supported.";
472
+ }];
473
+ };
474
+ readonly bindings: readonly import("@prisma/orm-framework/components/components").GeneratorFunctionBinding[];
475
+ }, {
476
+ readonly name: "ulid";
477
+ readonly signature: {
478
+ readonly documentation: "Generates a ULID when a value is not supplied.";
479
+ };
480
+ readonly bindings: readonly import("@prisma/orm-framework/components/components").GeneratorFunctionBinding[];
481
+ }, {
482
+ readonly name: "nanoid";
483
+ readonly signature: {
484
+ readonly documentation: "Generates a Nano ID when a value is not supplied.";
485
+ readonly positional: readonly [{
486
+ readonly key: "size";
487
+ readonly type: import("@prisma/orm-framework/psl-parser").OptionalArgType<number, import("@prisma/orm-framework/psl-parser").AttributeCtx, import("@prisma/orm-framework/psl-parser").IntArgType<import("@prisma/orm-framework/psl-parser").AttributeCtx>>;
488
+ readonly documentation: "The identifier length, from `2` through `255`. Defaults to 21.";
489
+ }];
490
+ };
491
+ readonly bindings: readonly import("@prisma/orm-framework/components/components").GeneratorFunctionBinding[];
492
+ }, {
493
+ readonly name: "ksuid";
494
+ readonly signature: {
495
+ readonly documentation: "Generates a KSUID when a value is not supplied.";
496
+ };
497
+ readonly bindings: readonly import("@prisma/orm-framework/components/components").GeneratorFunctionBinding[];
498
+ }];
499
+ readonly controlMutationDefaults: {
500
+ defaultFunctionRegistry: Map<any, any>;
501
+ generatorDescriptors: readonly import("@prisma/orm-framework/components/control").MutationDefaultGeneratorDescriptor[];
502
+ };
441
503
  readonly pslDiagnostics: {
442
504
  readonly describeUnsupportedAttribute: unknown;
443
505
  readonly describeUnresolvedType: unknown;
@@ -470,12 +532,10 @@ interface SqlPslBuildContext {
470
532
  readonly authoringContributions: Pick<AssembledAuthoringContributions, 'type' | 'field'>;
471
533
  readonly codecLookup: CodecLookupWithDescriptors;
472
534
  readonly dataTypes: DataTypeSupport;
473
- /** For each generator id, the default function in the stack whose PSL call produces it. */
474
- readonly defaultFunctionPrintersByGenerator: ReadonlyMap<string, DefaultFunctionPrinter>;
535
+ /** The generator functions of the stack, which write each generator as `@onCreate(fn(...))` or `@onUpdate(fn(...))`. */
536
+ readonly generatorFunctions: GeneratorFunctionRegistry;
475
537
  /** For each generator id the stack registers, the id of the component that registers it, when that component has one. */
476
538
  readonly componentIdsByGenerator: ReadonlyMap<string, string | undefined>;
477
- /** For each codec, the field preset in the stack that writes a column of it with each generator. */
478
- readonly fieldPresetsByCodecAndGenerator: FieldPresetsByCodecAndGenerator;
479
539
  }
480
540
  interface SqlControlTargetDescriptor<TTargetId extends string, TTargetDetails, TContract extends Contract<SqlStorage> = Contract<SqlStorage>> extends MigratableTargetDescriptor<'sql', TTargetId, SqlControlFamilyInstance> {
481
541
  readonly queryOperations?: () => SqlOperationDescriptors;
@@ -652,14 +712,6 @@ interface SuppressionRecord {
652
712
  readonly factoryName: string | undefined;
653
713
  readonly createsNewObject: boolean;
654
714
  }
655
- /**
656
- * The control policy that governs a single call. The `external` default is an
657
- * un-overridable namespace floor: when the contract default is `external`, no
658
- * per-object `managed` override can escalate DDL above the floor, so the
659
- * policy is forced to `external` regardless of the node's own declaration.
660
- * Every other default defers to the node's effective control policy.
661
- */
662
- declare function controlPolicyForCall(subject: ControlPolicySubject | undefined, defaultControlPolicy: ControlPolicy | undefined): ControlPolicy;
663
715
  /**
664
716
  * Partition the calls produced for a single set of subjects into those the
665
717
  * effective control policy permits (`kept`) and a list of
@@ -1427,5 +1479,5 @@ declare function temporalCodecPresetWithPrecision<const CodecId extends string,
1427
1479
  //#region src/exports/control.d.ts
1428
1480
  declare const _default: SqlFamilyDescriptor;
1429
1481
  //#endregion
1430
- export { TableRenameByHand as $, unmatchedTableRename as $t, ReadColumnDefault as A, plannerFailure as At, SqlDescribedContractSpace as B, rowsWithoutValueSummary as Bt, MigrationPlannerConflict$1 as C, isUnfilledSlot as Ct, NoTable as D, planFieldEventCalls as Dt, ModelTable as E, partitionIssuesByControlPolicy as Et, RequiredColumnMark as F, requiredColumnOf as Ft, SqlTextSources as G, sqlTypeLookupsOf as Gt, SqlQuote as H, runnerSuccess as Ht, SchemaTables as I, requiredColumnsOfMigration as It, SubjectStorage as J, temporalCodecPresetWithPrecision as Jt, StatementColumn as K, storageNameOfOperation as Kt, SingleOperationCall as L, resolveColumnRenameAgainst as Lt, ReportedBody as M, readColumnDefault as Mt, ReportedLiteralDefault as N, readReportedDefault as Nt, PlanFieldEventOperationsOptions as O, planFieldEventOperations as Ot, RequiredColumn as P, requiredColumnMeta as Pt, TableRename as Q, unmatchedColumnRename as Qt, SqlControlFamilyInstance as R, resolveTableRenameAgainst as Rt, MigrationPlanner as S, fieldStatementColumns as St, ModelStorageEffect as T, partitionCallsByControlPolicy as Tt, SqlQuotingRules as U, slotSource as Ut, SqlPslBuildContext as V, runnerFailure as Vt, SqlSlot as W, sqlOfSlot as Wt, TABLE_NAME_CASE_CHANGED_CODE as X, unconvertedFieldOf as Xt, SuppressionRecord as Y, temporalStringAuthoringPresets as Yt, TableNameCaseGuardTable as Z, unknownCallNames as Zt, INIT_ADDITIVE_POLICY as _, detectTableNameCaseChanges as _t, ColumnRename as a, backfillOfDefaultedField as at, MigrationPlan$1 as b, fieldOfColumn as bt, ContractColumns as c, contractColumns as ct, ConvertedColumn as d, controlPolicyForCall as dt, TableRenameRequest as et, DefaultResolver as f, convertedColumnMeta as ft, FieldStorageEffect as g, detectDestructiveChanges as gt, FieldStatementColumns as h, createSqlTextSources as ht, ColumnOnOneSide as i, assembleAuthoringContributions as it, ReadReportedDefault as j, plannerSuccess as jt, PlannedStatements as k, planStatements as kt, ContractToSchemaIROptions as l, contractNamespaceToSchemaIR as lt, FieldEventCall as m, createMigrationPlan as mt, CallSubjects as n, _default as nt, ColumnRenameRequest as o, checkSqlExpressionText as ot, DefaultResolverColumn as p, convertedColumnOf as pt, StatementPlanningTarget as q, subjectsOfCalls as qt, CallWithCompanions as r, appliedStatementsInOrder as rt, ContractColumn as s, columnTakesTemporaryValue as st, COLUMN_RENAME_UNMATCHED_CODE as t, TargetMigrationsCapability as tt, ControlPolicySubject as u, contractToSchemaIR as ut, MigrationOperationClass$1 as v, extractCodecControlHooks as vt, MigrationPlannerResult as w, modelRenameStorageEffect as wt, MigrationPlanOperation$1 as x, fieldRenameStorageEffect as xt, MigrationOperationPolicy$1 as y, fieldEventStorage as yt, SqlControlTargetDescriptor as z, rowsWithoutValueFailure as zt };
1431
- //# sourceMappingURL=control-D9zFmpo0.d.mts.map
1482
+ export { TableRenameByHand as $, ReadColumnDefault as A, plannerSuccess as At, SqlDescribedContractSpace as B, runnerFailure as Bt, MigrationPlannerConflict$1 as C, modelRenameStorageEffect as Ct, NoTable as D, planFieldEventOperations as Dt, ModelTable as E, planFieldEventCalls as Et, RequiredColumnMark as F, requiredColumnsOfMigration as Ft, SqlTextSources as G, storageNameOfOperation as Gt, SqlQuote as H, slotSource as Ht, SchemaTables as I, resolveColumnRenameAgainst as It, SubjectStorage as J, temporalStringAuthoringPresets as Jt, StatementColumn as K, subjectsOfCalls as Kt, SingleOperationCall as L, resolveTableRenameAgainst as Lt, ReportedBody as M, readReportedDefault as Mt, ReportedLiteralDefault as N, requiredColumnMeta as Nt, PlanFieldEventOperationsOptions as O, planStatements as Ot, RequiredColumn as P, requiredColumnOf as Pt, TableRename as Q, unmatchedTableRename as Qt, SqlControlFamilyInstance as R, rowsWithoutValueFailure as Rt, MigrationPlanner as S, isUnfilledSlot as St, ModelStorageEffect as T, partitionIssuesByControlPolicy as Tt, SqlQuotingRules as U, sqlOfSlot as Ut, SqlPslBuildContext as V, runnerSuccess as Vt, SqlSlot as W, sqlTypeLookupsOf as Wt, TABLE_NAME_CASE_CHANGED_CODE as X, unknownCallNames as Xt, SuppressionRecord as Y, unconvertedFieldOf as Yt, TableNameCaseGuardTable as Z, unmatchedColumnRename as Zt, INIT_ADDITIVE_POLICY as _, extractCodecControlHooks as _t, ColumnRename as a, backfillOfDefaultedField as at, MigrationPlan$1 as b, fieldRenameStorageEffect as bt, ContractColumns as c, contractColumns as ct, ConvertedColumn as d, convertedColumnMeta as dt, TableRenameRequest as et, DefaultResolver as f, convertedColumnOf as ft, FieldStorageEffect as g, detectTableNameCaseChanges as gt, FieldStatementColumns as h, detectDestructiveChanges as ht, ColumnOnOneSide as i, assembleAuthoringContributions as it, ReadReportedDefault as j, readColumnDefault as jt, PlannedStatements as k, plannerFailure as kt, ContractToSchemaIROptions as l, contractNamespaceToSchemaIR as lt, FieldEventCall as m, createSqlTextSources as mt, CallSubjects as n, _default as nt, ColumnRenameRequest as o, checkSqlExpressionText as ot, DefaultResolverColumn as p, createMigrationPlan as pt, StatementPlanningTarget as q, temporalCodecPresetWithPrecision as qt, CallWithCompanions as r, appliedStatementsInOrder as rt, ContractColumn as s, columnTakesTemporaryValue as st, COLUMN_RENAME_UNMATCHED_CODE as t, TargetMigrationsCapability as tt, ControlPolicySubject as u, contractToSchemaIR as ut, MigrationOperationClass$1 as v, fieldEventStorage as vt, MigrationPlannerResult as w, partitionCallsByControlPolicy as wt, MigrationPlanOperation$1 as x, fieldStatementColumns as xt, MigrationOperationPolicy$1 as y, fieldOfColumn as yt, SqlControlTargetDescriptor as z, rowsWithoutValueSummary as zt };
1483
+ //# sourceMappingURL=control-B8tb6SEt.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control-B8tb6SEt.d.mts","names":[],"sources":["../../../../2-sql/9-family/dist/control.d.mts"],"mappings":"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"}
@@ -6,10 +6,10 @@ import { c as SqlSchemaIR, n as RelationalSchemaNodeKind, u as SqlTableIR } from
6
6
  import { f as sqlExpressionRegistration, m as sqlTextsReadBack, o as printSqlExpressionLiteral } from "./sql-expression-BJCuy-WI.mjs";
7
7
  import { d as resolvedTypeParams, u as isStorageTypeInstance } from "./types-M_FeBD9w.mjs";
8
8
  import { g as valueObjectStorageTypeMissingMessage } from "./validators-BCRydDG7.mjs";
9
- import { a as describeUnsupportedSqlAttribute, v as sqlAttributeSpecs } from "./psl-field-resolution-C1E-_fQq-VUYD8cnS.mjs";
9
+ import { a as describeUnsupportedSqlAttribute, v as sqlAttributeSpecs } from "./psl-field-resolution-BET6wtHZ-CX2xL99Q.mjs";
10
10
  import { t as describeUnresolvedSqlType } from "./diagnostics-C8YevjSU.mjs";
11
11
  import { t as sqlEmission } from "./dist-Bxu8hzMC.mjs";
12
- import { i as sqlFamilyPslBlockDescriptors, n as sqlFamilyAuthoringTypes, r as sqlFamilyEntityTypes, t as sqlFamilyAuthoringFieldPresets } from "./authoring-type-constructors-0Iv2zdwS-D4LlP1q2.mjs";
12
+ import { a as sqlFamilyGeneratorDescriptors, i as sqlFamilyEntityTypes, n as sqlFamilyAuthoringFieldPresets, o as sqlFamilyGeneratorFunctions, r as sqlFamilyAuthoringTypes, s as sqlFamilyPslBlockDescriptors } from "./generator-functions-B4gRRYZB-BTtC2KQz.mjs";
13
13
  import { c as verifySqlSchemaByDiff, n as classifyDiffSubjectGranularity, o as enforceSqlDataTypeInvariants, t as classifyDiffEntityKind } from "./schema-verify-BwRdzbHb-nDeE75xa.mjs";
14
14
  import { t as sqlFamilyError } from "./errors-B5g0xWro-mWH2C07F.mjs";
15
15
  import { t as SqlContractSerializer } from "./sql-contract-serializer-sMY3prTx-BT6HdXAE.mjs";
@@ -24,7 +24,7 @@ import { canonicalizeJson } from "@prisma/orm-framework/components/utils";
24
24
  import { blindCast } from "@prisma/orm-framework/utils/casts";
25
25
  import { InternalError, isInternalError } from "@prisma/orm-framework/utils/internal-error";
26
26
  import { type } from "arktype";
27
- import { asNamespaceId, effectiveControlPolicy } from "@prisma/orm-framework/contract/types";
27
+ import { asNamespaceId, governingControlPolicy } from "@prisma/orm-framework/contract/types";
28
28
  import { notOk, ok } from "@prisma/orm-framework/utils/result";
29
29
  import { APP_SPACE_ID, SchemaTreeNode, VERIFY_CODE_HASH_MISMATCH, VERIFY_CODE_MARKER_MISSING, VERIFY_CODE_TARGET_MISMATCH, assembleAuthoringContributions, describeMigrationStatement, extractCodecLookup, fieldStatementText, issueOutcome, modelDisplayName, sameMarkerHashes } from "@prisma/orm-framework/components/control";
30
30
  import { assertDescriptorSelfConsistency } from "@prisma/orm-toolchain/migration-tools/spaces";
@@ -374,9 +374,8 @@ function createSqlFamilyInstance(stack) {
374
374
  authoringContributions: stack.authoringContributions,
375
375
  codecLookup: stack.codecLookup,
376
376
  dataTypes: stack.dataTypes,
377
- defaultFunctionPrintersByGenerator: stack.controlMutationDefaults.defaultFunctionPrintersByGenerator,
378
- componentIdsByGenerator: stack.controlMutationDefaults.componentIdsByGenerator,
379
- fieldPresetsByCodecAndGenerator: stack.fieldPresetsByCodecAndGenerator
377
+ generatorFunctions: stack.generatorFunctions,
378
+ componentIdsByGenerator: stack.controlMutationDefaults.componentIdsByGenerator
380
379
  };
381
380
  const targetBuildPslContract = blindCast(target).buildPslContract;
382
381
  const diffSchema = blindCast(target).diffSchema;
@@ -764,6 +763,11 @@ var SqlFamilyDescriptor = class {
764
763
  attributeSpecs: sqlAttributeSpecs,
765
764
  dataTypes: sqlExpressionRegistration.authoring.dataTypes
766
765
  };
766
+ generatorFunctions = sqlFamilyGeneratorFunctions;
767
+ controlMutationDefaults = {
768
+ defaultFunctionRegistry: /* @__PURE__ */ new Map(),
769
+ generatorDescriptors: sqlFamilyGeneratorDescriptors
770
+ };
767
771
  pslDiagnostics = {
768
772
  describeUnsupportedAttribute: sqlFamilyDescribeUnsupportedAttribute,
769
773
  describeUnresolvedType: sqlFamilyDescribeUnresolvedType
@@ -1109,17 +1113,6 @@ function contractToSchemaIR(contract, options) {
1109
1113
  return new SqlSchemaIR({ tables });
1110
1114
  }
1111
1115
  /**
1112
- * The control policy that governs a single call. The `external` default is an
1113
- * un-overridable namespace floor: when the contract default is `external`, no
1114
- * per-object `managed` override can escalate DDL above the floor, so the
1115
- * policy is forced to `external` regardless of the node's own declaration.
1116
- * Every other default defers to the node's effective control policy.
1117
- */
1118
- function controlPolicyForCall(subject, defaultControlPolicy) {
1119
- if (defaultControlPolicy === "external") return "external";
1120
- return effectiveControlPolicy(subject?.explicitNodeControlPolicy, defaultControlPolicy);
1121
- }
1122
- /**
1123
1116
  * Whether a call is allowed to emit under a given control policy.
1124
1117
  *
1125
1118
  * - `managed` — full lifecycle, every op allowed.
@@ -1156,7 +1149,7 @@ function partitionCallsByControlPolicy(options) {
1156
1149
  const suppressions = [];
1157
1150
  for (const call of options.calls) {
1158
1151
  const subject = options.resolveControlPolicySubject(call);
1159
- const policy = controlPolicyForCall(subject, defaultControlPolicy);
1152
+ const policy = governingControlPolicy(subject, defaultControlPolicy);
1160
1153
  if (callAllowedUnderControlPolicy(policy, subject)) kept.push(call);
1161
1154
  else suppressions.push({
1162
1155
  subject,
@@ -1201,7 +1194,7 @@ function partitionIssuesByControlPolicy(options) {
1201
1194
  const unresolvedSuppressions = [];
1202
1195
  for (const issue of options.issues) {
1203
1196
  const subject = options.resolveControlPolicySubject(issue);
1204
- const policy = controlPolicyForCall(subject, defaultControlPolicy);
1197
+ const policy = governingControlPolicy(subject, defaultControlPolicy);
1205
1198
  const creationFactoryName = options.resolveCreationFactoryName(issue);
1206
1199
  if (policy === "managed") {
1207
1200
  plannable.push(issue);
@@ -1630,13 +1623,7 @@ function statementRefused(statement, summary, why, location, refusedOperationCla
1630
1623
  }
1631
1624
  function tableControlPolicy(contract, table) {
1632
1625
  const node = contract.storage.namespaces[table.namespaceId]?.entries.table?.[table.table];
1633
- return controlPolicyForCall({
1634
- namespaceId: table.namespaceId,
1635
- entityKind: "table",
1636
- entityName: table.table,
1637
- ...StorageTable.is(node) && node.control !== void 0 ? { explicitNodeControlPolicy: node.control } : {},
1638
- createsNewObject: false
1639
- }, contract.defaultControlPolicy);
1626
+ return governingControlPolicy({ explicitNodeControlPolicy: StorageTable.is(node) ? node.control : void 0 }, contract.defaultControlPolicy);
1640
1627
  }
1641
1628
  function tableKey(table) {
1642
1629
  return JSON.stringify([table.namespaceId, table.table]);
@@ -2651,6 +2638,6 @@ function temporalCodecPresetWithPrecision(input) {
2651
2638
  }
2652
2639
  var control_default = new SqlFamilyDescriptor();
2653
2640
  //#endregion
2654
- export { unmatchedColumnRename as $, planStatements as A, rowsWithoutValueFailure as B, fieldStatementColumns as C, partitionIssuesByControlPolicy as D, partitionCallsByControlPolicy as E, requiredColumnMeta as F, sqlOfSlot as G, runnerFailure as H, requiredColumnOf as I, subjectsOfCalls as J, sqlTypeLookupsOf as K, requiredColumnsOfMigration as L, plannerSuccess as M, readColumnDefault as N, planFieldEventCalls as O, readReportedDefault as P, unknownCallNames as Q, resolveColumnRenameAgainst as R, fieldRenameStorageEffect as S, modelRenameStorageEffect as T, runnerSuccess as U, rowsWithoutValueSummary as V, slotSource as W, temporalStringAuthoringPresets as X, temporalCodecPresetWithPrecision as Y, unconvertedFieldOf as Z, createSqlTextSources as _, assembleAuthoringContributions as a, fieldEventStorage as b, columnTakesTemporaryValue as c, contractToSchemaIR as d, unmatchedTableRename as et, controlPolicyForCall as f, createMigrationPlan as g, convertedColumnOf as h, appliedStatementsInOrder as i, plannerFailure as j, planFieldEventOperations as k, contractColumns as l, convertedColumnMeta as m, INIT_ADDITIVE_POLICY as n, backfillOfDefaultedField as o, control_default as p, storageNameOfOperation as q, TABLE_NAME_CASE_CHANGED_CODE as r, checkSqlExpressionText as s, COLUMN_RENAME_UNMATCHED_CODE as t, contractNamespaceToSchemaIR as u, detectDestructiveChanges as v, isUnfilledSlot as w, fieldOfColumn as x, detectTableNameCaseChanges as y, resolveTableRenameAgainst as z };
2641
+ export { unmatchedTableRename as $, plannerFailure as A, rowsWithoutValueSummary as B, isUnfilledSlot as C, planFieldEventCalls as D, partitionIssuesByControlPolicy as E, requiredColumnOf as F, sqlTypeLookupsOf as G, runnerSuccess as H, requiredColumnsOfMigration as I, temporalCodecPresetWithPrecision as J, storageNameOfOperation as K, resolveColumnRenameAgainst as L, readColumnDefault as M, readReportedDefault as N, planFieldEventOperations as O, requiredColumnMeta as P, unmatchedColumnRename as Q, resolveTableRenameAgainst as R, fieldStatementColumns as S, partitionCallsByControlPolicy as T, slotSource as U, runnerFailure as V, sqlOfSlot as W, unconvertedFieldOf as X, temporalStringAuthoringPresets as Y, unknownCallNames as Z, detectDestructiveChanges as _, assembleAuthoringContributions as a, fieldOfColumn as b, columnTakesTemporaryValue as c, contractToSchemaIR as d, control_default as f, createSqlTextSources as g, createMigrationPlan as h, appliedStatementsInOrder as i, plannerSuccess as j, planStatements as k, contractColumns as l, convertedColumnOf as m, INIT_ADDITIVE_POLICY as n, backfillOfDefaultedField as o, convertedColumnMeta as p, subjectsOfCalls as q, TABLE_NAME_CASE_CHANGED_CODE as r, checkSqlExpressionText as s, COLUMN_RENAME_UNMATCHED_CODE as t, contractNamespaceToSchemaIR as u, detectTableNameCaseChanges as v, modelRenameStorageEffect as w, fieldRenameStorageEffect as x, fieldEventStorage as y, rowsWithoutValueFailure as z };
2655
2642
 
2656
- //# sourceMappingURL=control-D7jPD-Tk.mjs.map
2643
+ //# sourceMappingURL=control-DNE-Chse.mjs.map