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

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 (139) hide show
  1. package/dist/{ast-CBO3PEJF.mjs → ast-BJs2669T.mjs} +47 -12
  2. package/dist/ast-BJs2669T.mjs.map +1 -0
  3. package/dist/{ast-Cq7uhA86.d.mts → ast-DB7g9Mh2.d.mts} +29 -2
  4. package/dist/ast-DB7g9Mh2.d.mts.map +1 -0
  5. package/dist/builder.d.mts +1 -1
  6. package/dist/builder__runtime.d.mts +1 -1
  7. package/dist/builder__runtime.mjs +1 -1
  8. package/dist/builder__types.d.mts +1 -1
  9. package/dist/{config-types-vu5fTaRa.mjs → config-types-BkcCqeAg.mjs} +2 -2
  10. package/dist/{config-types-vu5fTaRa.mjs.map → config-types-BkcCqeAg.mjs.map} +1 -1
  11. package/dist/{contract-builder-DmX4XnJa.mjs → contract-builder-D3XaKpyw.mjs} +3 -3
  12. package/dist/{contract-builder-DmX4XnJa.mjs.map → contract-builder-D3XaKpyw.mjs.map} +1 -1
  13. package/dist/contract-prisma7__provider.mjs +6 -6
  14. package/dist/contract-psl.mjs +1 -1
  15. package/dist/contract-psl__attribute-specs.mjs +1 -1
  16. package/dist/contract-psl__diagnostics.mjs +1 -1
  17. package/dist/contract-psl__provider.mjs +2 -2
  18. package/dist/contract-ts.mjs +3 -3
  19. package/dist/contract-ts__config-types.mjs +1 -1
  20. package/dist/contract-ts__contract-builder.mjs +2 -2
  21. package/dist/contract.d.mts +3 -3
  22. package/dist/contract.mjs +6 -6
  23. package/dist/contract__data-type.d.mts +2 -2
  24. package/dist/contract__data-type.mjs +3 -3
  25. package/dist/contract__foreign-key-materialization.d.mts +1 -1
  26. package/dist/contract__foreign-key-materialization.mjs +2 -2
  27. package/dist/contract__validators.mjs +1 -1
  28. package/dist/{control-B8tb6SEt.d.mts → control-Db07JiRl.d.mts} +24 -7
  29. package/dist/control-Db07JiRl.d.mts.map +1 -0
  30. package/dist/{control-DNE-Chse.mjs → control-DbHnaxDE.mjs} +10 -9
  31. package/dist/control-DbHnaxDE.mjs.map +1 -0
  32. package/dist/{control-adapter-DhX77V61.mjs → control-adapter-BX5COBWO.mjs} +2 -2
  33. package/dist/{control-adapter-DhX77V61.mjs.map → control-adapter-BX5COBWO.mjs.map} +1 -1
  34. package/dist/{control-adapter-Bn0uhplA-rhq_JtYp.d.mts → control-adapter-Bn0uhplA-BnsQY8_q.d.mts} +4 -4
  35. package/dist/{control-adapter-Bn0uhplA-rhq_JtYp.d.mts.map → control-adapter-Bn0uhplA-BnsQY8_q.d.mts.map} +1 -1
  36. package/dist/{control-adapter-RwLtGiwa.d.mts → control-adapter-DgxEVzhZ.d.mts} +4 -4
  37. package/dist/{control-adapter-RwLtGiwa.d.mts.map → control-adapter-DgxEVzhZ.d.mts.map} +1 -1
  38. package/dist/{data-type-C84xngfv.d.mts → data-type-DMk-fLAZ.d.mts} +38 -8
  39. package/dist/data-type-DMk-fLAZ.d.mts.map +1 -0
  40. package/dist/data-type-HNhSslwG.mjs +67 -0
  41. package/dist/data-type-HNhSslwG.mjs.map +1 -0
  42. package/dist/{db-BmrN9nRS-BzK96yVh.d.mts → db-BmrN9nRS-BGnRxI7X.d.mts} +2 -2
  43. package/dist/{db-BmrN9nRS-BzK96yVh.d.mts.map → db-BmrN9nRS-BGnRxI7X.d.mts.map} +1 -1
  44. package/dist/{derived-checks-CdPHpJSv-B7Bgj3Ao.mjs → derived-checks-B1qNxwBL-DFoGexId.mjs} +17 -5
  45. package/dist/derived-checks-B1qNxwBL-DFoGexId.mjs.map +1 -0
  46. package/dist/{diagnostics-C8YevjSU.mjs → diagnostics-xqFRhSin.mjs} +2 -2
  47. package/dist/{diagnostics-C8YevjSU.mjs.map → diagnostics-xqFRhSin.mjs.map} +1 -1
  48. package/dist/{diff-B9Z47nHf.d.mts → diff-BN_3K9lv.d.mts} +5 -5
  49. package/dist/{diff-B9Z47nHf.d.mts.map → diff-BN_3K9lv.d.mts.map} +1 -1
  50. package/dist/family.d.mts +10 -10
  51. package/dist/family.mjs +8 -8
  52. package/dist/family__control-adapter.d.mts +2 -2
  53. package/dist/family__control-adapter.mjs +1 -1
  54. package/dist/family__control.d.mts +3 -3
  55. package/dist/family__control.mjs +3 -3
  56. package/dist/family__diff.d.mts +1 -1
  57. package/dist/family__diff.mjs +1 -1
  58. package/dist/family__ir.mjs +1 -1
  59. package/dist/family__migration.d.mts +1 -1
  60. package/dist/family__pack.d.mts +1 -1
  61. package/dist/family__pack.mjs +2 -2
  62. package/dist/family__pack.mjs.map +1 -1
  63. package/dist/family__psl-build.d.mts +1 -1
  64. package/dist/family__psl-build.mjs +1 -1
  65. package/dist/family__psl-infer.d.mts +1 -1
  66. package/dist/family__psl-infer.mjs +1 -1
  67. package/dist/{foreign-key-materialization-C_FPLzj3.mjs → foreign-key-materialization-BPQqd0qF.mjs} +2 -2
  68. package/dist/{foreign-key-materialization-C_FPLzj3.mjs.map → foreign-key-materialization-BPQqd0qF.mjs.map} +1 -1
  69. package/dist/{foreign-key-materialization-3vQnPT_D.d.mts → foreign-key-materialization-bL-t2oPB.d.mts} +3 -3
  70. package/dist/{foreign-key-materialization-3vQnPT_D.d.mts.map → foreign-key-materialization-bL-t2oPB.d.mts.map} +1 -1
  71. package/dist/{generator-functions-B4gRRYZB-BTtC2KQz.mjs → generator-functions-BoE7Lc9d-MgcgdnPZ.mjs} +37 -20
  72. package/dist/generator-functions-BoE7Lc9d-MgcgdnPZ.mjs.map +1 -0
  73. package/dist/{index-B0hZw3uT.d.mts → index-Bw9Y19Js.d.mts} +3 -3
  74. package/dist/{index-B0hZw3uT.d.mts.map → index-Bw9Y19Js.d.mts.map} +1 -1
  75. package/dist/{index-equivalence-DswCiq5l-C6SAs-Yz.mjs → index-equivalence-DswCiq5l-D5VK0qTy.mjs} +2 -2
  76. package/dist/{index-equivalence-DswCiq5l-C6SAs-Yz.mjs.map → index-equivalence-DswCiq5l-D5VK0qTy.mjs.map} +1 -1
  77. package/dist/{interpreter-Bk0xpelv-BifV9Yib.mjs → interpreter-Bk0xpelv-4laiO5dH.mjs} +4 -4
  78. package/dist/{interpreter-Bk0xpelv-BifV9Yib.mjs.map → interpreter-Bk0xpelv-4laiO5dH.mjs.map} +1 -1
  79. package/dist/{migration-CSv3UpiC.d.mts → migration-go6YP7-v.d.mts} +2 -2
  80. package/dist/{migration-CSv3UpiC.d.mts.map → migration-go6YP7-v.d.mts.map} +1 -1
  81. package/dist/orm-client.d.mts +3 -3
  82. package/dist/orm-client.mjs +1 -1
  83. package/dist/{pack-COEyiyfL.d.mts → pack-DXEOdHaM.d.mts} +18 -1
  84. package/dist/pack-DXEOdHaM.d.mts.map +1 -0
  85. package/dist/{psl-build-BkxAXTwj.mjs → psl-build-BYqCjsqi.mjs} +4 -4
  86. package/dist/psl-build-BYqCjsqi.mjs.map +1 -0
  87. package/dist/{psl-build-O7_tXQ1E.d.mts → psl-build-C41KHJL_.d.mts} +4 -4
  88. package/dist/{psl-build-O7_tXQ1E.d.mts.map → psl-build-C41KHJL_.d.mts.map} +1 -1
  89. package/dist/{psl-field-resolution-BET6wtHZ-CX2xL99Q.mjs → psl-field-resolution-BET6wtHZ-C_hO6YE1.mjs} +3 -3
  90. package/dist/{psl-field-resolution-BET6wtHZ-CX2xL99Q.mjs.map → psl-field-resolution-BET6wtHZ-C_hO6YE1.mjs.map} +1 -1
  91. package/dist/{psl-infer-I75woGr4.d.mts → psl-infer-CALmBIqX.d.mts} +3 -3
  92. package/dist/{psl-infer-I75woGr4.d.mts.map → psl-infer-CALmBIqX.d.mts.map} +1 -1
  93. package/dist/{psl-infer-Bz34csvN.mjs → psl-infer-CaEnF_x3.mjs} +2 -2
  94. package/dist/{psl-infer-Bz34csvN.mjs.map → psl-infer-CaEnF_x3.mjs.map} +1 -1
  95. package/dist/relational-core.d.mts +2 -2
  96. package/dist/relational-core.mjs +2 -2
  97. package/dist/relational-core__ast.d.mts +2 -2
  98. package/dist/relational-core__ast.mjs +2 -2
  99. package/dist/runtime.d.mts +3 -3
  100. package/dist/runtime__internal__prepared-query.d.mts +1 -1
  101. package/dist/{schema-differ-DmP74bB8-CIQ17HTk.d.mts → schema-differ-DmP74bB8-BfEQ_9cY.d.mts} +3 -3
  102. package/dist/{schema-differ-DmP74bB8-CIQ17HTk.d.mts.map → schema-differ-DmP74bB8-BfEQ_9cY.d.mts.map} +1 -1
  103. package/dist/schema-ir.d.mts +1 -1
  104. package/dist/schema-ir.mjs +1 -1
  105. package/dist/schema-ir__types.d.mts +2 -2
  106. package/dist/schema-ir__types.mjs +1 -1
  107. package/dist/{schema-verify-BwRdzbHb-nDeE75xa.mjs → schema-verify-BwRdzbHb-BzdgK4xv.mjs} +2 -2
  108. package/dist/{schema-verify-BwRdzbHb-nDeE75xa.mjs.map → schema-verify-BwRdzbHb-BzdgK4xv.mjs.map} +1 -1
  109. package/dist/{sql-contract-serializer-sMY3prTx-BT6HdXAE.mjs → sql-contract-serializer-sMY3prTx-D-xfnqyD.mjs} +2 -2
  110. package/dist/{sql-contract-serializer-sMY3prTx-BT6HdXAE.mjs.map → sql-contract-serializer-sMY3prTx-D-xfnqyD.mjs.map} +1 -1
  111. package/dist/{sql-data-type-BSi0X331-OXbBFXDh.mjs → sql-data-type-D5cI3M07-DIcPP8s1.mjs} +26 -9
  112. package/dist/sql-data-type-D5cI3M07-DIcPP8s1.mjs.map +1 -0
  113. package/dist/{transaction-state-DR3nKTmH-DbyhuL-z.d.mts → transaction-state-DR3nKTmH-D_pb9QgR.d.mts} +2 -2
  114. package/dist/{transaction-state-DR3nKTmH-DbyhuL-z.d.mts.map → transaction-state-DR3nKTmH-D_pb9QgR.d.mts.map} +1 -1
  115. package/dist/types-D_nlUp-1.d.mts +1 -0
  116. package/dist/{types-B3AHHPDh-BHh-89fY.d.mts → types-DiD6BqoN-ZF53hwPp.d.mts} +11 -3
  117. package/dist/types-DiD6BqoN-ZF53hwPp.d.mts.map +1 -0
  118. package/dist/{types-DlFdMaDJ-DekbNgDh.d.mts → types-DlFdMaDJ-BEDwj-Qv.d.mts} +4 -4
  119. package/dist/{types-DlFdMaDJ-DekbNgDh.d.mts.map → types-DlFdMaDJ-BEDwj-Qv.d.mts.map} +1 -1
  120. package/dist/{types-egs_vme1-DRhYFwIT.mjs → types-DoyiTsjg-DDTmYyNY.mjs} +22 -2
  121. package/dist/types-DoyiTsjg-DDTmYyNY.mjs.map +1 -0
  122. package/dist/{validators-BCRydDG7.mjs → validators-BlONfdFH.mjs} +3 -3
  123. package/dist/{validators-BCRydDG7.mjs.map → validators-BlONfdFH.mjs.map} +1 -1
  124. package/package.json +18 -18
  125. package/dist/ast-CBO3PEJF.mjs.map +0 -1
  126. package/dist/ast-Cq7uhA86.d.mts.map +0 -1
  127. package/dist/control-B8tb6SEt.d.mts.map +0 -1
  128. package/dist/control-DNE-Chse.mjs.map +0 -1
  129. package/dist/data-type-C84xngfv.d.mts.map +0 -1
  130. package/dist/data-type-DKk8Unnz.mjs +0 -20
  131. package/dist/data-type-DKk8Unnz.mjs.map +0 -1
  132. package/dist/derived-checks-CdPHpJSv-B7Bgj3Ao.mjs.map +0 -1
  133. package/dist/generator-functions-B4gRRYZB-BTtC2KQz.mjs.map +0 -1
  134. package/dist/pack-COEyiyfL.d.mts.map +0 -1
  135. package/dist/psl-build-BkxAXTwj.mjs.map +0 -1
  136. package/dist/sql-data-type-BSi0X331-OXbBFXDh.mjs.map +0 -1
  137. package/dist/types-B3AHHPDh-BHh-89fY.d.mts.map +0 -1
  138. package/dist/types-BGERR8XF.d.mts +0 -1
  139. package/dist/types-egs_vme1-DRhYFwIT.mjs.map +0 -1
@@ -1,5 +1,5 @@
1
- import { C as SqlTableIR, h as SqlForeignKeyIR } from "./types-B3AHHPDh-BHh-89fY.mjs";
2
- import "./types-BGERR8XF.mjs";
1
+ import { C as SqlTableIR, h as SqlForeignKeyIR } from "./types-DiD6BqoN-ZF53hwPp.mjs";
2
+ import "./types-D_nlUp-1.mjs";
3
3
  import { t as DefaultMappingOptions } from "./default-mapping-CEISdj2g-DF1LzGBR.mjs";
4
4
  import { ColumnDefault } from "@prisma/orm-framework/contract/types";
5
5
  //#region ../../../2-sql/9-family/dist/psl-infer.d.mts
@@ -77,4 +77,4 @@ declare function inferRelations(tables: Record<string, SqlTableIR>, modelNameMap
77
77
  declare function buildChildRelationField(fieldName: string, parentModelName: string, fk: SqlForeignKeyIR, optional: boolean, relationName?: string, hostTable?: SqlTableIR): RelationField;
78
78
  //#endregion
79
79
  export { buildChildRelationField as a, inferRelations as c, toFieldName as d, toModelName as f, RelationField as i, pluralize as l, InferredRelations as n, deriveBackRelationFieldName as o, PslPrinterOptions as r, deriveRelationFieldName as s, EnumInfo as t, toEnumName as u };
80
- //# sourceMappingURL=psl-infer-I75woGr4.d.mts.map
80
+ //# sourceMappingURL=psl-infer-CALmBIqX.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"psl-infer-I75woGr4.d.mts","names":[],"sources":["../../../../2-sql/9-family/dist/psl-infer.d.mts"],"mappings":";;;;;;KAIK;WACM;WACA;;iBAEM,YAAY,oBAAoB;iBAChC,YAAY,qBAAqB;iBACjC,WAAW,qBAAqB;iBAChC,UAAU;iBACV,wBAAwB,8BAA8B;iBACtD,4BAA4B,wBAAwB;;;UAG3D;WACC,aAAa;;UAEd;WACC,iBAAiB;WACjB,WAAW;WACX,mBAAmB,oBAAoB,sBAAsB;;KAEnE;WACM;WACA;;;;;;WAMA;;;;;;WAMA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;;;;KAIN;WACM,kBAAkB,6BAA6B;;iBAEzC,eAAe,QAAQ,eAAe,aAAa,cAAc,8BAA8B;;;;;;;;;;;;;;;;;;iBAkB/F,wBAAwB,mBAAmB,yBAAyB,IAAI,iBAAiB,mBAAmB,uBAAuB,YAAY,aAAa"}
1
+ {"version":3,"file":"psl-infer-CALmBIqX.d.mts","names":[],"sources":["../../../../2-sql/9-family/dist/psl-infer.d.mts"],"mappings":";;;;;;KAIK;WACM;WACA;;iBAEM,YAAY,oBAAoB;iBAChC,YAAY,qBAAqB;iBACjC,WAAW,qBAAqB;iBAChC,UAAU;iBACV,wBAAwB,8BAA8B;iBACtD,4BAA4B,wBAAwB;;;UAG3D;WACC,aAAa;;UAEd;WACC,iBAAiB;WACjB,WAAW;WACX,mBAAmB,oBAAoB,sBAAsB;;KAEnE;WACM;WACA;;;;;;WAMA;;;;;;WAMA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;;;;KAIN;WACM,kBAAkB,6BAA6B;;iBAEzC,eAAe,QAAQ,eAAe,aAAa,cAAc,8BAA8B;;;;;;;;;;;;;;;;;;iBAkB/F,wBAAwB,mBAAmB,yBAAyB,IAAI,iBAAiB,mBAAmB,uBAAuB,YAAY,aAAa"}
@@ -1,4 +1,4 @@
1
- import { i as leadingBackingObjectName, t as derivedBackingIndexIsRedundant } from "./index-equivalence-DswCiq5l-C6SAs-Yz.mjs";
1
+ import { i as leadingBackingObjectName, t as derivedBackingIndexIsRedundant } from "./index-equivalence-DswCiq5l-D5VK0qTy.mjs";
2
2
  import { t as defaultTableName } from "./default-table-name-BfFY8qYR-lHNcVmY5.mjs";
3
3
  import { a as snakeToCamelCase, i as needsEscaping, n as escapeName, o as snakeToPascalCase, r as hasSeparators, t as escapeIfNeeded } from "./psl-names-C3cwe0rg-CsuHOV7E.mjs";
4
4
  import { InternalError } from "@prisma/orm-framework/utils/internal-error";
@@ -198,4 +198,4 @@ function addRelationField(map, tableName, field) {
198
198
  //#endregion
199
199
  export { pluralize as a, toModelName as c, inferRelations as i, deriveBackRelationFieldName as n, toEnumName as o, deriveRelationFieldName as r, toFieldName as s, buildChildRelationField as t };
200
200
 
201
- //# sourceMappingURL=psl-infer-Bz34csvN.mjs.map
201
+ //# sourceMappingURL=psl-infer-CaEnF_x3.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"psl-infer-Bz34csvN.mjs","names":[],"sources":["../../../../2-sql/9-family/dist/psl-infer.mjs"],"sourcesContent":["import { a as snakeToCamelCase, i as needsEscaping, n as escapeName, o as snakeToPascalCase, r as hasSeparators, t as escapeIfNeeded } from \"./psl-names-C3cwe0rg.mjs\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { defaultTableName } from \"@internal/sql-contract-psl/default-table-name\";\nimport pluralizeLib from \"pluralize\";\nimport { derivedBackingIndexIsRedundant, leadingBackingObjectName } from \"@internal/sql-contract/foreign-key-materialization\";\n//#region src/core/psl-contract-infer/name-transforms.ts\nfunction toModelName(tableName) {\n\tlet name;\n\tif (hasSeparators(tableName)) name = snakeToPascalCase(tableName);\n\telse name = tableName.charAt(0).toUpperCase() + tableName.slice(1);\n\tif (needsEscaping(name)) return {\n\t\tname: escapeName(name),\n\t\tmap: tableName\n\t};\n\tif (defaultTableName(name) !== tableName) return {\n\t\tname,\n\t\tmap: tableName\n\t};\n\treturn { name };\n}\nfunction toFieldName(columnName) {\n\tlet name;\n\tif (hasSeparators(columnName)) name = snakeToCamelCase(columnName);\n\telse name = columnName.charAt(0).toLowerCase() + columnName.slice(1);\n\tif (needsEscaping(name)) return {\n\t\tname: escapeName(name),\n\t\tmap: columnName\n\t};\n\tif (name !== columnName) return {\n\t\tname,\n\t\tmap: columnName\n\t};\n\treturn { name };\n}\nfunction toEnumName(pgTypeName) {\n\tlet name;\n\tif (hasSeparators(pgTypeName)) name = snakeToPascalCase(pgTypeName);\n\telse name = pgTypeName.charAt(0).toUpperCase() + pgTypeName.slice(1);\n\tif (needsEscaping(name)) return {\n\t\tname: escapeName(name),\n\t\tmap: pgTypeName\n\t};\n\tif (name !== pgTypeName) return {\n\t\tname,\n\t\tmap: pgTypeName\n\t};\n\treturn { name };\n}\nfunction pluralize(word) {\n\treturn pluralizeLib.plural(word);\n}\nfunction deriveRelationFieldName(fkColumns, referencedTableName) {\n\tif (fkColumns.length === 1) {\n\t\tconst [col = referencedTableName] = fkColumns;\n\t\tconst stripped = col.replace(/_id$/i, \"\").replace(/Id$/, \"\");\n\t\tif (stripped.length > 0 && stripped !== col) return escapeIfNeeded(snakeToCamelCase(stripped));\n\t\treturn escapeIfNeeded(snakeToCamelCase(referencedTableName));\n\t}\n\treturn escapeIfNeeded(snakeToCamelCase(referencedTableName));\n}\nfunction deriveBackRelationFieldName(childModelName, isOneToOne) {\n\tconst base = childModelName.charAt(0).toLowerCase() + childModelName.slice(1);\n\treturn isOneToOne ? base : pluralize(base);\n}\n//#endregion\n//#region src/core/psl-contract-infer/relation-inference.ts\nconst DEFAULT_ON_DELETE = \"noAction\";\nconst DEFAULT_ON_UPDATE = \"noAction\";\nconst REFERENTIAL_ACTION_PSL = {\n\tnoAction: \"NoAction\",\n\trestrict: \"Restrict\",\n\tcascade: \"Cascade\",\n\tsetNull: \"SetNull\",\n\tsetDefault: \"SetDefault\"\n};\nfunction inferRelations(tables, modelNameMap) {\n\tconst relationsByTable = /* @__PURE__ */ new Map();\n\tconst fkCountByPair = /* @__PURE__ */ new Map();\n\tfor (const table of Object.values(tables)) for (const fk of table.foreignKeys) {\n\t\tconst pairKey = `${table.name}→${fk.referencedTable}`;\n\t\tfkCountByPair.set(pairKey, (fkCountByPair.get(pairKey) ?? 0) + 1);\n\t}\n\tconst usedFieldNames = /* @__PURE__ */ new Map();\n\tfor (const table of Object.values(tables)) {\n\t\tconst names = /* @__PURE__ */ new Set();\n\t\tfor (const col of Object.values(table.columns)) names.add(col.name);\n\t\tusedFieldNames.set(table.name, names);\n\t}\n\tfor (const table of Object.values(tables)) for (const fk of table.foreignKeys) {\n\t\tconst childTableName = table.name;\n\t\tconst parentTableName = fk.referencedTable;\n\t\tconst childUsed = usedFieldNames.get(childTableName);\n\t\tif (childUsed === void 0) throw new InternalError(`Missing inferred field-name set for table \"${childTableName}\"`);\n\t\tconst childModelName = modelNameMap.get(childTableName) ?? childTableName;\n\t\tconst parentModelName = modelNameMap.get(parentTableName) ?? parentTableName;\n\t\tconst pairKey = `${childTableName}→${parentTableName}`;\n\t\tconst isSelfRelation = childTableName === parentTableName;\n\t\tconst needsRelationName = (fkCountByPair.get(pairKey) ?? 0) > 1 || isSelfRelation;\n\t\tconst isOneToOne = detectOneToOne(fk, table);\n\t\tconst childRelFieldName = resolveUniqueFieldName(deriveRelationFieldName(fk.columns, parentTableName), childUsed, parentModelName);\n\t\tconst relationName = needsRelationName ? deriveRelationName(fk, childRelFieldName, parentModelName, isSelfRelation) : void 0;\n\t\taddRelationField(relationsByTable, childTableName, buildChildRelationField(childRelFieldName, parentModelName, fk, fk.columns.some((columnName) => table.columns[columnName]?.nullable ?? false), relationName, table));\n\t\tchildUsed.add(childRelFieldName);\n\t\tconst parentUsed = usedFieldNames.get(parentTableName) ?? /* @__PURE__ */ new Set();\n\t\tusedFieldNames.set(parentTableName, parentUsed);\n\t\tconst backRelFieldName = resolveUniqueFieldName(deriveBackRelationFieldName(childModelName, isOneToOne), parentUsed, childModelName);\n\t\taddRelationField(relationsByTable, parentTableName, {\n\t\t\tfieldName: backRelFieldName,\n\t\t\ttypeName: childModelName,\n\t\t\toptional: isOneToOne,\n\t\t\tlist: !isOneToOne,\n\t\t\trelationName\n\t\t});\n\t\tparentUsed.add(backRelFieldName);\n\t}\n\treturn { relationsByTable };\n}\nfunction detectOneToOne(fk, table) {\n\tconst fkCols = [...fk.columns].sort();\n\tif (table.primaryKey) {\n\t\tconst pkCols = [...table.primaryKey.columns].sort();\n\t\tif (pkCols.length === fkCols.length && pkCols.every((c, i) => c === fkCols[i])) return true;\n\t}\n\tfor (const unique of table.uniques) {\n\t\tconst uniqueCols = [...unique.columns].sort();\n\t\tif (uniqueCols.length === fkCols.length && uniqueCols.every((c, i) => c === fkCols[i])) return true;\n\t}\n\tfor (const index of table.indexes) {\n\t\tif (!index.unique || index.partial || index.columns === void 0) continue;\n\t\tconst indexCols = [...index.columns].sort();\n\t\tif (indexCols.length === fkCols.length && indexCols.every((c, i) => c === fkCols[i])) return true;\n\t}\n\treturn false;\n}\nfunction deriveRelationName(fk, childRelationFieldName, parentModelName, isSelfRelation) {\n\tif (fk.name) return fk.name;\n\tif (isSelfRelation) return `${childRelationFieldName.charAt(0).toUpperCase() + childRelationFieldName.slice(1)}${pluralize(parentModelName)}`;\n\treturn fk.columns.join(\"_\");\n}\n/**\n* Builds the child-side {@link RelationField} for a single foreign key:\n* `typeName` is the parent model name, `fields`/`references` are the FK's raw\n* columns, and `onDelete`/`onUpdate` are normalized to their PSL spelling.\n* Exported so a caller resolving a foreign key against a model outside\n* `tables` (e.g. a cross-space reference into another contract) can reuse the\n* same normalization instead of duplicating it.\n*\n* `hostTable` is the table the FK is declared on (not the referenced\n* parent). `contract emit` derives a backing index for every relation and\n* drops it again when the table has an identical index or a key serving its\n* lookups, by the same rule (`derivedBackingIndexIsRedundant`). Otherwise\n* the relation names a live named key or plain index whose first columns are\n* the foreign key's (`leadingBackingObjectName`), or says `index: false`, so\n* the emitted contract expects no index the database lacks. Without a host\n* table, the relation keeps the default.\n*/\nfunction buildChildRelationField(fieldName, parentModelName, fk, optional, relationName, hostTable) {\n\tconst onDelete = fk.onDelete && fk.onDelete !== DEFAULT_ON_DELETE ? fk.onDelete : void 0;\n\tconst onUpdate = fk.onUpdate && fk.onUpdate !== DEFAULT_ON_UPDATE ? fk.onUpdate : void 0;\n\tconst index = hostTable === void 0 ? void 0 : relationIndexArgument(fk.columns, hostTable);\n\treturn {\n\t\tfieldName,\n\t\ttypeName: parentModelName,\n\t\treferencedTableName: fk.referencedTable,\n\t\toptional,\n\t\tlist: false,\n\t\trelationName,\n\t\tfkName: fk.name,\n\t\tfields: fk.columns,\n\t\treferences: fk.referencedColumns,\n\t\tonDelete: onDelete ? REFERENTIAL_ACTION_PSL[onDelete] : void 0,\n\t\tonUpdate: onUpdate ? REFERENTIAL_ACTION_PSL[onUpdate] : void 0,\n\t\tindex\n\t};\n}\nfunction relationIndexArgument(columns, hostTable) {\n\tconst table = {\n\t\tindexes: hostTable.indexes,\n\t\tnodeOf: (index) => index,\n\t\tnameOf: (index) => index.name,\n\t\tuniques: hostTable.uniques,\n\t\tprimaryKey: hostTable.primaryKey\n\t};\n\tif (derivedBackingIndexIsRedundant(columns, table)) return void 0;\n\treturn leadingBackingObjectName(columns, table) ?? false;\n}\nfunction resolveUniqueFieldName(desired, usedNames, fallbackSuffix) {\n\tif (!usedNames.has(desired)) return desired;\n\tconst withSuffix = `${desired}${fallbackSuffix}`;\n\tif (!usedNames.has(withSuffix)) return withSuffix;\n\tlet counter = 2;\n\twhile (usedNames.has(`${desired}${counter}`)) counter++;\n\treturn `${desired}${counter}`;\n}\nfunction addRelationField(map, tableName, field) {\n\tconst existing = map.get(tableName);\n\tif (existing) existing.push(field);\n\telse map.set(tableName, [field]);\n}\n//#endregion\nexport { buildChildRelationField, deriveBackRelationFieldName, deriveRelationFieldName, inferRelations, pluralize, toEnumName, toFieldName, toModelName };\n\n//# sourceMappingURL=psl-infer.mjs.map"],"mappings":"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"}
1
+ {"version":3,"file":"psl-infer-CaEnF_x3.mjs","names":[],"sources":["../../../../2-sql/9-family/dist/psl-infer.mjs"],"sourcesContent":["import { a as snakeToCamelCase, i as needsEscaping, n as escapeName, o as snakeToPascalCase, r as hasSeparators, t as escapeIfNeeded } from \"./psl-names-C3cwe0rg.mjs\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { defaultTableName } from \"@internal/sql-contract-psl/default-table-name\";\nimport pluralizeLib from \"pluralize\";\nimport { derivedBackingIndexIsRedundant, leadingBackingObjectName } from \"@internal/sql-contract/foreign-key-materialization\";\n//#region src/core/psl-contract-infer/name-transforms.ts\nfunction toModelName(tableName) {\n\tlet name;\n\tif (hasSeparators(tableName)) name = snakeToPascalCase(tableName);\n\telse name = tableName.charAt(0).toUpperCase() + tableName.slice(1);\n\tif (needsEscaping(name)) return {\n\t\tname: escapeName(name),\n\t\tmap: tableName\n\t};\n\tif (defaultTableName(name) !== tableName) return {\n\t\tname,\n\t\tmap: tableName\n\t};\n\treturn { name };\n}\nfunction toFieldName(columnName) {\n\tlet name;\n\tif (hasSeparators(columnName)) name = snakeToCamelCase(columnName);\n\telse name = columnName.charAt(0).toLowerCase() + columnName.slice(1);\n\tif (needsEscaping(name)) return {\n\t\tname: escapeName(name),\n\t\tmap: columnName\n\t};\n\tif (name !== columnName) return {\n\t\tname,\n\t\tmap: columnName\n\t};\n\treturn { name };\n}\nfunction toEnumName(pgTypeName) {\n\tlet name;\n\tif (hasSeparators(pgTypeName)) name = snakeToPascalCase(pgTypeName);\n\telse name = pgTypeName.charAt(0).toUpperCase() + pgTypeName.slice(1);\n\tif (needsEscaping(name)) return {\n\t\tname: escapeName(name),\n\t\tmap: pgTypeName\n\t};\n\tif (name !== pgTypeName) return {\n\t\tname,\n\t\tmap: pgTypeName\n\t};\n\treturn { name };\n}\nfunction pluralize(word) {\n\treturn pluralizeLib.plural(word);\n}\nfunction deriveRelationFieldName(fkColumns, referencedTableName) {\n\tif (fkColumns.length === 1) {\n\t\tconst [col = referencedTableName] = fkColumns;\n\t\tconst stripped = col.replace(/_id$/i, \"\").replace(/Id$/, \"\");\n\t\tif (stripped.length > 0 && stripped !== col) return escapeIfNeeded(snakeToCamelCase(stripped));\n\t\treturn escapeIfNeeded(snakeToCamelCase(referencedTableName));\n\t}\n\treturn escapeIfNeeded(snakeToCamelCase(referencedTableName));\n}\nfunction deriveBackRelationFieldName(childModelName, isOneToOne) {\n\tconst base = childModelName.charAt(0).toLowerCase() + childModelName.slice(1);\n\treturn isOneToOne ? base : pluralize(base);\n}\n//#endregion\n//#region src/core/psl-contract-infer/relation-inference.ts\nconst DEFAULT_ON_DELETE = \"noAction\";\nconst DEFAULT_ON_UPDATE = \"noAction\";\nconst REFERENTIAL_ACTION_PSL = {\n\tnoAction: \"NoAction\",\n\trestrict: \"Restrict\",\n\tcascade: \"Cascade\",\n\tsetNull: \"SetNull\",\n\tsetDefault: \"SetDefault\"\n};\nfunction inferRelations(tables, modelNameMap) {\n\tconst relationsByTable = /* @__PURE__ */ new Map();\n\tconst fkCountByPair = /* @__PURE__ */ new Map();\n\tfor (const table of Object.values(tables)) for (const fk of table.foreignKeys) {\n\t\tconst pairKey = `${table.name}→${fk.referencedTable}`;\n\t\tfkCountByPair.set(pairKey, (fkCountByPair.get(pairKey) ?? 0) + 1);\n\t}\n\tconst usedFieldNames = /* @__PURE__ */ new Map();\n\tfor (const table of Object.values(tables)) {\n\t\tconst names = /* @__PURE__ */ new Set();\n\t\tfor (const col of Object.values(table.columns)) names.add(col.name);\n\t\tusedFieldNames.set(table.name, names);\n\t}\n\tfor (const table of Object.values(tables)) for (const fk of table.foreignKeys) {\n\t\tconst childTableName = table.name;\n\t\tconst parentTableName = fk.referencedTable;\n\t\tconst childUsed = usedFieldNames.get(childTableName);\n\t\tif (childUsed === void 0) throw new InternalError(`Missing inferred field-name set for table \"${childTableName}\"`);\n\t\tconst childModelName = modelNameMap.get(childTableName) ?? childTableName;\n\t\tconst parentModelName = modelNameMap.get(parentTableName) ?? parentTableName;\n\t\tconst pairKey = `${childTableName}→${parentTableName}`;\n\t\tconst isSelfRelation = childTableName === parentTableName;\n\t\tconst needsRelationName = (fkCountByPair.get(pairKey) ?? 0) > 1 || isSelfRelation;\n\t\tconst isOneToOne = detectOneToOne(fk, table);\n\t\tconst childRelFieldName = resolveUniqueFieldName(deriveRelationFieldName(fk.columns, parentTableName), childUsed, parentModelName);\n\t\tconst relationName = needsRelationName ? deriveRelationName(fk, childRelFieldName, parentModelName, isSelfRelation) : void 0;\n\t\taddRelationField(relationsByTable, childTableName, buildChildRelationField(childRelFieldName, parentModelName, fk, fk.columns.some((columnName) => table.columns[columnName]?.nullable ?? false), relationName, table));\n\t\tchildUsed.add(childRelFieldName);\n\t\tconst parentUsed = usedFieldNames.get(parentTableName) ?? /* @__PURE__ */ new Set();\n\t\tusedFieldNames.set(parentTableName, parentUsed);\n\t\tconst backRelFieldName = resolveUniqueFieldName(deriveBackRelationFieldName(childModelName, isOneToOne), parentUsed, childModelName);\n\t\taddRelationField(relationsByTable, parentTableName, {\n\t\t\tfieldName: backRelFieldName,\n\t\t\ttypeName: childModelName,\n\t\t\toptional: isOneToOne,\n\t\t\tlist: !isOneToOne,\n\t\t\trelationName\n\t\t});\n\t\tparentUsed.add(backRelFieldName);\n\t}\n\treturn { relationsByTable };\n}\nfunction detectOneToOne(fk, table) {\n\tconst fkCols = [...fk.columns].sort();\n\tif (table.primaryKey) {\n\t\tconst pkCols = [...table.primaryKey.columns].sort();\n\t\tif (pkCols.length === fkCols.length && pkCols.every((c, i) => c === fkCols[i])) return true;\n\t}\n\tfor (const unique of table.uniques) {\n\t\tconst uniqueCols = [...unique.columns].sort();\n\t\tif (uniqueCols.length === fkCols.length && uniqueCols.every((c, i) => c === fkCols[i])) return true;\n\t}\n\tfor (const index of table.indexes) {\n\t\tif (!index.unique || index.partial || index.columns === void 0) continue;\n\t\tconst indexCols = [...index.columns].sort();\n\t\tif (indexCols.length === fkCols.length && indexCols.every((c, i) => c === fkCols[i])) return true;\n\t}\n\treturn false;\n}\nfunction deriveRelationName(fk, childRelationFieldName, parentModelName, isSelfRelation) {\n\tif (fk.name) return fk.name;\n\tif (isSelfRelation) return `${childRelationFieldName.charAt(0).toUpperCase() + childRelationFieldName.slice(1)}${pluralize(parentModelName)}`;\n\treturn fk.columns.join(\"_\");\n}\n/**\n* Builds the child-side {@link RelationField} for a single foreign key:\n* `typeName` is the parent model name, `fields`/`references` are the FK's raw\n* columns, and `onDelete`/`onUpdate` are normalized to their PSL spelling.\n* Exported so a caller resolving a foreign key against a model outside\n* `tables` (e.g. a cross-space reference into another contract) can reuse the\n* same normalization instead of duplicating it.\n*\n* `hostTable` is the table the FK is declared on (not the referenced\n* parent). `contract emit` derives a backing index for every relation and\n* drops it again when the table has an identical index or a key serving its\n* lookups, by the same rule (`derivedBackingIndexIsRedundant`). Otherwise\n* the relation names a live named key or plain index whose first columns are\n* the foreign key's (`leadingBackingObjectName`), or says `index: false`, so\n* the emitted contract expects no index the database lacks. Without a host\n* table, the relation keeps the default.\n*/\nfunction buildChildRelationField(fieldName, parentModelName, fk, optional, relationName, hostTable) {\n\tconst onDelete = fk.onDelete && fk.onDelete !== DEFAULT_ON_DELETE ? fk.onDelete : void 0;\n\tconst onUpdate = fk.onUpdate && fk.onUpdate !== DEFAULT_ON_UPDATE ? fk.onUpdate : void 0;\n\tconst index = hostTable === void 0 ? void 0 : relationIndexArgument(fk.columns, hostTable);\n\treturn {\n\t\tfieldName,\n\t\ttypeName: parentModelName,\n\t\treferencedTableName: fk.referencedTable,\n\t\toptional,\n\t\tlist: false,\n\t\trelationName,\n\t\tfkName: fk.name,\n\t\tfields: fk.columns,\n\t\treferences: fk.referencedColumns,\n\t\tonDelete: onDelete ? REFERENTIAL_ACTION_PSL[onDelete] : void 0,\n\t\tonUpdate: onUpdate ? REFERENTIAL_ACTION_PSL[onUpdate] : void 0,\n\t\tindex\n\t};\n}\nfunction relationIndexArgument(columns, hostTable) {\n\tconst table = {\n\t\tindexes: hostTable.indexes,\n\t\tnodeOf: (index) => index,\n\t\tnameOf: (index) => index.name,\n\t\tuniques: hostTable.uniques,\n\t\tprimaryKey: hostTable.primaryKey\n\t};\n\tif (derivedBackingIndexIsRedundant(columns, table)) return void 0;\n\treturn leadingBackingObjectName(columns, table) ?? false;\n}\nfunction resolveUniqueFieldName(desired, usedNames, fallbackSuffix) {\n\tif (!usedNames.has(desired)) return desired;\n\tconst withSuffix = `${desired}${fallbackSuffix}`;\n\tif (!usedNames.has(withSuffix)) return withSuffix;\n\tlet counter = 2;\n\twhile (usedNames.has(`${desired}${counter}`)) counter++;\n\treturn `${desired}${counter}`;\n}\nfunction addRelationField(map, tableName, field) {\n\tconst existing = map.get(tableName);\n\tif (existing) existing.push(field);\n\telse map.set(tableName, [field]);\n}\n//#endregion\nexport { buildChildRelationField, deriveBackRelationFieldName, deriveRelationFieldName, inferRelations, pluralize, toEnumName, toFieldName, toModelName };\n\n//# sourceMappingURL=psl-infer.mjs.map"],"mappings":"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"}
@@ -4,11 +4,11 @@ import { n as SqlQueryPlan, r as planFromAst, t as Preparable } from "./plan-Cbe
4
4
  import { C as TraitExpression, D as isExpression, E as createRawSql, O as param, S as StorageColumnScopeField, T as codecOf, _ as RawSqlStatementBuilder, a as CodecValue, b as ScalarListExpression, c as RawAffectedCountQuery, d as RawRow, f as RawRowQuery, g as RawSqlInterpolation, h as RawSqlBuilder, i as CodecTypesBase, k as toExpr, l as RawCodecInferer, m as RawRowSpecEntry, n as BuildOperationSpec, o as Expression, p as RawRowSpec, r as CodecExpression, s as NoReservedRowColumn, t as AffectedCount, u as RawPlanContext, v as RawSqlStatementTag, w as buildOperation, x as ScopeField, y as RawSqlTag } from "./expression-BzrfOiPC-CXjjRKqc.mjs";
5
5
  import { t as ExpressionImpl } from "./expression-sOY1120I-DMTeGMQP.mjs";
6
6
  import { a as DdlNode, c as FunctionColumnDefault, d as PrimaryKeyConstraint, f as UniqueConstraint, h as renderOpaqueSql, i as DdlColumnDefault, l as LiteralColumnDefault, m as opaqueSql, n as CheckExpressionConstraint, o as DdlTableConstraint, p as isDdlNode, r as DdlColumn, s as ForeignKeyConstraint, t as AnyDdlColumnDefault, u as OpaqueSql } from "./ddl-types-CoP6yAw9-Cxc2zvi3.mjs";
7
- import { $ as sqlTextDecode, A as collectOrderedParamRefs, B as sqlCharColumn, C as SqlFloatDescriptor, D as SqlTextDescriptor, E as SqlTextCodec, F as lockIncompatible, G as sqlFloatDecode, H as sqlCharDescriptor, I as lockOptionCapabilities, J as sqlIntColumn, K as sqlFloatDescriptor, L as lockStrengthCapabilities, M as encodeListLiteralDefault, N as encodeLiteralDefault, O as SqlVarcharCodec, P as isAggregateProjection, Q as sqlTextColumn, R as lockWaitPolicyOf, S as SqlFloatCodec, T as SqlIntDescriptor, U as sqlCharEncode, V as sqlCharDecode, W as sqlFloatColumn, X as sqlIntDescriptor, Y as sqlIntDecode, Z as sqlIntEncode, _ as SQL_INT_CODEC_ID, a as EncodedLiteralDefault, at as sqlVarcharEncode, b as SqlCharCodec, c as LockOptionCapabilities, d as LockWaitRequest, et as sqlTextDescriptor, f as Lowerer, g as SQL_FLOAT_CODEC_ID, h as SQL_CHAR_CODEC_ID, i as CapabilityRequirement, it as sqlVarcharDescriptor, j as compact, k as SqlVarcharDescriptor, l as LockStrengthCapabilities, m as MarkerReadResult, n as AdapterProfile, nt as sqlVarcharColumn, o as LiteralDefaultColumn, p as LowererContext, q as sqlFloatEncode, r as AdapterTarget, rt as sqlVarcharDecode, s as LockConflict, t as Adapter, tt as sqlTextEncode, u as LockWaitOptions, v as SQL_TEXT_CODEC_ID, w as SqlIntCodec, x as SqlCharDescriptor, y as SQL_VARCHAR_CODEC_ID, z as missingCapability } from "./ast-Cq7uhA86.mjs";
7
+ import { $ as sqlIntDescriptor, A as SqlTextDescriptor, B as lockStrengthCapabilities, C as SqlFloatCodec, D as SqlRawCodec, E as SqlIntDescriptor, F as encodeListLiteralDefault, G as sqlCharDescriptor, H as missingCapability, I as encodeLiteralDefault, J as sqlFloatDecode, K as sqlCharEncode, L as isAggregateProjection, M as SqlVarcharDescriptor, N as collectOrderedParamRefs, O as SqlRawDescriptor, P as compact, Q as sqlIntDecode, R as lockIncompatible, S as SqlCharDescriptor, T as SqlIntCodec, U as sqlCharColumn, V as lockWaitPolicyOf, W as sqlCharDecode, X as sqlFloatEncode, Y as sqlFloatDescriptor, Z as sqlIntColumn, _ as SQL_INT_CODEC_ID, a as EncodedLiteralDefault, at as sqlTextDescriptor, b as SQL_VARCHAR_CODEC_ID, c as LockOptionCapabilities, ct as sqlVarcharDecode, d as LockWaitRequest, et as sqlIntEncode, f as Lowerer, g as SQL_FLOAT_CODEC_ID, h as SQL_CHAR_CODEC_ID, i as CapabilityRequirement, it as sqlTextDecode, j as SqlVarcharCodec, k as SqlTextCodec, l as LockStrengthCapabilities, lt as sqlVarcharDescriptor, m as MarkerReadResult, n as AdapterProfile, nt as sqlRawDescriptor, o as LiteralDefaultColumn, ot as sqlTextEncode, p as LowererContext, q as sqlFloatColumn, r as AdapterTarget, rt as sqlTextColumn, s as LockConflict, st as sqlVarcharColumn, t as Adapter, tt as sqlRawColumn, u as LockWaitOptions, ut as sqlVarcharEncode, v as SQL_RAW_CODEC_ID, w as SqlFloatDescriptor, x as SqlCharCodec, y as SQL_TEXT_CODEC_ID, z as lockOptionCapabilities } from "./ast-DB7g9Mh2.mjs";
8
8
  import { t as SqlExecutionPlan } from "./sql-execution-plan-Dam5yMZg-bDl_0qHQ.mjs";
9
9
  import "./plan-BOyVvttx.mjs";
10
10
  import { a as SqlAggregateDescriptorRegistry, c as TypeHelperRegistry, n as ExecutionContext, r as ResolvedSqlAggregate, t as CodecDescriptorRegistry } from "./query-lane-context-BLOPW1rQ-4vNq0fxJ.mjs";
11
11
  import "./query-lane-context-BPJrXopg.mjs";
12
12
  import { S as TablesOf, _ as SqlOrmPlan, a as ColumnsOf, b as TableKey, c as META, d as ModelMetadata, f as OperationTypeSignature, g as SqlBuilderOptions, h as RuntimeScope, i as ColumnResolutionContract, l as Meta, m as OperationsForTypeId, n as BuildParamsMap, o as ComputeColumnJsType, p as OperationTypes, r as CodecTypes, s as Expr, t as BuildOptions, u as ModelDef, v as SqlPlan, x as TableMetadata, y as TableDef } from "./types-Cv5t6_Ly-BaGc023t.mjs";
13
13
  import { a as SqlParamRefMutatorInternal, i as SqlParamRefMutator, n as ParamRefEntryUnion, o as createSqlParamRefMutator, r as ParamRefHandle, t as ParamRefEntry } from "./middleware-oCT0RWkt-DGav7C8b.mjs";
14
- export { Adapter, AdapterProfile, AdapterTarget, AffectedCount, AggregateCountFn, AggregateExpr, AggregateFn, AggregateOpFn, AndExpr, AnyCodecDescriptor, AnyCodecDescriptorTemplate, AnyDdlColumnDefault, AnyExpression, AnyFromSource, AnyInsertOnConflictAction, AnyInsertValue, AnyJsonValueProjection, AnyOperationArg, AnyParamRef, AnyQueryAst, AstRewriter, BinaryExpr, BinaryOp, BuildOperationSpec, BuildOptions, BuildParamsMap, CapabilityRequirement, CaseBranch, CaseExpr, CastExpr, CheckExpressionConstraint, Codec$1 as Codec, type CodecCallContext$1 as CodecCallContext, type CodecDescriptor$1 as CodecDescriptor, CodecDescriptorRegistry, CodecExpression, CodecJsonValueProjection, type CodecRef$1 as CodecRef, type CodecTrait$1 as CodecTrait, CodecTypes, CodecTypesBase, CodecValue, ColumnRef, ColumnResolutionContract, ColumnsOf, ComputeColumnJsType, ContractCodecRegistry, DdlColumn, DdlColumnDefault, DdlNode, DdlTableConstraint, DefaultValueExpr, DeleteAst, DerivedTableSource, DescriptorCodecId, DescriptorCodecInput, DescriptorCodecJson, DescriptorCodecTraits, Direction, DoNothingConflictAction, DoUpdateSetConflictAction, EncodedLiteralDefault, EqColJoinOn, ExecutionContext, ExistsExpr, Expr, ExprVisitor, Expression, ExpressionFolder, ExpressionImpl, ExpressionRewriter, ExpressionSource, ExtractCodecTypes, ForeignKeyConstraint, FunctionCallExpr, FunctionColumnDefault, FunctionSource, FunctionSourceAlias, IdentifierRef, InsertAst, InsertOnConflict, InsertValue, JoinAst, JoinOnExpr, JsonArrayAggExpr, JsonDocumentProjection, JsonObjectEntry, JsonObjectExpr, JsonValueProjectionVisitor, LimitOffsetValue, ListExpression, LiteralColumnDefault, LiteralDefaultColumn, LiteralExpr, LockConflict, LockOptionCapabilities, LockStrength, LockStrengthCapabilities, LockWaitOptions, LockWaitPolicy, LockWaitRequest, LockingClause, LockingClauseOptions, LoweredParam, LoweredStatement, Lowerer, LowererContext, META, MarkerReadResult, Meta, ModelDef, ModelMetadata, NativeJsonValueProjection, NoReservedRowColumn, NotExpr, NullCheckExpr, OpaqueSql, OperationExpr, OperationTypeSignature, OperationTypes, OperationsForTypeId, OrExpr, OrderByItem, OrderByNulls, ParamRef, type ParamRefEntry, type ParamRefEntryUnion, type ParamRefHandle, Preparable, PreparedExecuteRequest, PreparedParamRef, PreparedStatementHandle, PrimaryKeyConstraint, ProjectionExpr, ProjectionItem, RawAffectedCountQuery, RawCodecInferer, RawExpr, RawPlanContext, RawQueryAst, RawQueryColumn, RawQueryResult, RawRow, RawRowQuery, RawRowSpec, RawRowSpecEntry, RawSqlBuilder, RawSqlInterpolation, RawSqlLiteral, RawSqlStatementBuilder, RawSqlStatementTag, RawSqlTag, ResolvedSqlAggregate, type RuntimeScope, SQL_CHAR_CODEC_ID, SQL_FLOAT_CODEC_ID, SQL_INT_CODEC_ID, SQL_TEXT_CODEC_ID, SQL_VARCHAR_CODEC_ID, ScalarListExpression, ScopeField, SelectAst, SelectAstOptions, SqlAggregateDescriptorRegistry, SqlBuilderOptions, SqlCharCodec, SqlCharDescriptor, SqlCodecCallContext, SqlCodecInstanceContext, SqlColumnRef, SqlConnection, SqlDriver, SqlDriverState, SqlExecuteRequest, type SqlExecutionPlan, SqlExplainResult, SqlFloatCodec, SqlFloatDescriptor, SqlIntCodec, SqlIntDescriptor, type SqlOrmPlan, type SqlParamRefMutator, type SqlParamRefMutatorInternal, SqlPlan, SqlQueryPlan, SqlQueryable, SqlStatementStats, SqlTextCodec, SqlTextDescriptor, SqlTransaction, SqlVarcharCodec, SqlVarcharDescriptor, StorageColumnScopeField, SubqueryExpr, TableDef, TableKey, TableMetadata, TableRef, TableSource, TablesOf, ToWhereExpr, TraitExpression, TypeHelperRegistry, UniqueConstraint, UpdateAst, WhereArg, WindowFn, WindowFuncExpr, aggregateFnNames, buildOperation, checkLimitOffset, codecOf, collectOrderedParamRefs, compact, createRawSql, createSqlParamRefMutator, encodeListLiteralDefault, encodeLiteralDefault, frozenCodecRef, isAggregateFn, isAggregateProjection, isDdlNode, isExpression, isOrderByDirection, isOrderByNulls, isQueryAst, isWhereExpr, lockIncompatible, lockOptionCapabilities, lockStrengthCapabilities, lockWaitPolicyOf, missingCapability, opaqueSql, param, planFromAst, queryAstKinds, renderOpaqueSql, sqlCharColumn, sqlCharDecode, sqlCharDescriptor, sqlCharEncode, sqlFloatColumn, sqlFloatDecode, sqlFloatDescriptor, sqlFloatEncode, sqlIntColumn, sqlIntDecode, sqlIntDescriptor, sqlIntEncode, sqlTextColumn, sqlTextDecode, sqlTextDescriptor, sqlTextEncode, sqlVarcharColumn, sqlVarcharDecode, sqlVarcharDescriptor, sqlVarcharEncode, toExpr, whereExprKinds };
14
+ export { Adapter, AdapterProfile, AdapterTarget, AffectedCount, AggregateCountFn, AggregateExpr, AggregateFn, AggregateOpFn, AndExpr, AnyCodecDescriptor, AnyCodecDescriptorTemplate, AnyDdlColumnDefault, AnyExpression, AnyFromSource, AnyInsertOnConflictAction, AnyInsertValue, AnyJsonValueProjection, AnyOperationArg, AnyParamRef, AnyQueryAst, AstRewriter, BinaryExpr, BinaryOp, BuildOperationSpec, BuildOptions, BuildParamsMap, CapabilityRequirement, CaseBranch, CaseExpr, CastExpr, CheckExpressionConstraint, Codec$1 as Codec, type CodecCallContext$1 as CodecCallContext, type CodecDescriptor$1 as CodecDescriptor, CodecDescriptorRegistry, CodecExpression, CodecJsonValueProjection, type CodecRef$1 as CodecRef, type CodecTrait$1 as CodecTrait, CodecTypes, CodecTypesBase, CodecValue, ColumnRef, ColumnResolutionContract, ColumnsOf, ComputeColumnJsType, ContractCodecRegistry, DdlColumn, DdlColumnDefault, DdlNode, DdlTableConstraint, DefaultValueExpr, DeleteAst, DerivedTableSource, DescriptorCodecId, DescriptorCodecInput, DescriptorCodecJson, DescriptorCodecTraits, Direction, DoNothingConflictAction, DoUpdateSetConflictAction, EncodedLiteralDefault, EqColJoinOn, ExecutionContext, ExistsExpr, Expr, ExprVisitor, Expression, ExpressionFolder, ExpressionImpl, ExpressionRewriter, ExpressionSource, ExtractCodecTypes, ForeignKeyConstraint, FunctionCallExpr, FunctionColumnDefault, FunctionSource, FunctionSourceAlias, IdentifierRef, InsertAst, InsertOnConflict, InsertValue, JoinAst, JoinOnExpr, JsonArrayAggExpr, JsonDocumentProjection, JsonObjectEntry, JsonObjectExpr, JsonValueProjectionVisitor, LimitOffsetValue, ListExpression, LiteralColumnDefault, LiteralDefaultColumn, LiteralExpr, LockConflict, LockOptionCapabilities, LockStrength, LockStrengthCapabilities, LockWaitOptions, LockWaitPolicy, LockWaitRequest, LockingClause, LockingClauseOptions, LoweredParam, LoweredStatement, Lowerer, LowererContext, META, MarkerReadResult, Meta, ModelDef, ModelMetadata, NativeJsonValueProjection, NoReservedRowColumn, NotExpr, NullCheckExpr, OpaqueSql, OperationExpr, OperationTypeSignature, OperationTypes, OperationsForTypeId, OrExpr, OrderByItem, OrderByNulls, ParamRef, type ParamRefEntry, type ParamRefEntryUnion, type ParamRefHandle, Preparable, PreparedExecuteRequest, PreparedParamRef, PreparedStatementHandle, PrimaryKeyConstraint, ProjectionExpr, ProjectionItem, RawAffectedCountQuery, RawCodecInferer, RawExpr, RawPlanContext, RawQueryAst, RawQueryColumn, RawQueryResult, RawRow, RawRowQuery, RawRowSpec, RawRowSpecEntry, RawSqlBuilder, RawSqlInterpolation, RawSqlLiteral, RawSqlStatementBuilder, RawSqlStatementTag, RawSqlTag, ResolvedSqlAggregate, type RuntimeScope, SQL_CHAR_CODEC_ID, SQL_FLOAT_CODEC_ID, SQL_INT_CODEC_ID, SQL_RAW_CODEC_ID, SQL_TEXT_CODEC_ID, SQL_VARCHAR_CODEC_ID, ScalarListExpression, ScopeField, SelectAst, SelectAstOptions, SqlAggregateDescriptorRegistry, SqlBuilderOptions, SqlCharCodec, SqlCharDescriptor, SqlCodecCallContext, SqlCodecInstanceContext, SqlColumnRef, SqlConnection, SqlDriver, SqlDriverState, SqlExecuteRequest, type SqlExecutionPlan, SqlExplainResult, SqlFloatCodec, SqlFloatDescriptor, SqlIntCodec, SqlIntDescriptor, type SqlOrmPlan, type SqlParamRefMutator, type SqlParamRefMutatorInternal, SqlPlan, SqlQueryPlan, SqlQueryable, SqlRawCodec, SqlRawDescriptor, SqlStatementStats, SqlTextCodec, SqlTextDescriptor, SqlTransaction, SqlVarcharCodec, SqlVarcharDescriptor, StorageColumnScopeField, SubqueryExpr, TableDef, TableKey, TableMetadata, TableRef, TableSource, TablesOf, ToWhereExpr, TraitExpression, TypeHelperRegistry, UniqueConstraint, UpdateAst, WhereArg, WindowFn, WindowFuncExpr, aggregateFnNames, buildOperation, checkLimitOffset, codecOf, collectOrderedParamRefs, compact, createRawSql, createSqlParamRefMutator, encodeListLiteralDefault, encodeLiteralDefault, frozenCodecRef, isAggregateFn, isAggregateProjection, isDdlNode, isExpression, isOrderByDirection, isOrderByNulls, isQueryAst, isWhereExpr, lockIncompatible, lockOptionCapabilities, lockStrengthCapabilities, lockWaitPolicyOf, missingCapability, opaqueSql, param, planFromAst, queryAstKinds, renderOpaqueSql, sqlCharColumn, sqlCharDecode, sqlCharDescriptor, sqlCharEncode, sqlFloatColumn, sqlFloatDecode, sqlFloatDescriptor, sqlFloatEncode, sqlIntColumn, sqlIntDecode, sqlIntDescriptor, sqlIntEncode, sqlRawColumn, sqlRawDescriptor, sqlTextColumn, sqlTextDecode, sqlTextDescriptor, sqlTextEncode, sqlVarcharColumn, sqlVarcharDecode, sqlVarcharDescriptor, sqlVarcharEncode, toExpr, whereExprKinds };
@@ -1,8 +1,8 @@
1
1
  import { A as ParamRef, B as aggregateFnNames, C as LiteralExpr, D as OperationExpr, E as NullCheckExpr, F as SelectAst, G as isOrderByNulls, H as frozenCodecRef, I as SubqueryExpr, J as queryAstKinds, K as isQueryAst, L as TableSource, M as ProjectionItem, N as RawExpr, O as OrExpr, P as RawQueryAst, R as UpdateAst, S as ListExpression, T as NotExpr, U as isAggregateFn, V as checkLimitOffset, W as isOrderByDirection, Y as whereExprKinds, _ as InsertAst, a as CastExpr, b as JsonArrayAggExpr, c as DeleteAst, d as DoUpdateSetConflictAction, f as EqColJoinOn, g as IdentifierRef, h as FunctionSource, i as CaseExpr, j as PreparedParamRef, k as OrderByItem, l as DerivedTableSource, m as FunctionCallExpr, n as AndExpr, o as ColumnRef, p as ExistsExpr, q as isWhereExpr, r as BinaryExpr, s as DefaultValueExpr, t as AggregateExpr, u as DoNothingConflictAction, v as InsertOnConflict, w as LockingClause, x as JsonObjectExpr, y as JoinAst, z as WindowFuncExpr } from "./types-NTQsD2MS-DAP2yVDn.mjs";
2
2
  import { a as ForeignKeyConstraint, c as OpaqueSql, d as isDdlNode, f as opaqueSql, i as DdlNode, l as PrimaryKeyConstraint, n as DdlColumn, o as FunctionColumnDefault, p as renderOpaqueSql, r as DdlColumnDefault, s as LiteralColumnDefault, t as CheckExpressionConstraint, u as UniqueConstraint } from "./opaque-sql-Dset3kln-BzzXoO94.mjs";
3
3
  import { n as compact, r as isAggregateProjection, t as collectOrderedParamRefs } from "./util-BBgcP3gI-XJBkxo1K.mjs";
4
- import { A as sqlFloatColumn, B as sqlTextDescriptor, C as lockStrengthCapabilities, D as sqlCharDecode, E as sqlCharColumn, F as sqlIntDecode, G as sqlVarcharEncode, H as sqlVarcharColumn, I as sqlIntDescriptor, L as sqlIntEncode, M as sqlFloatDescriptor, N as sqlFloatEncode, O as sqlCharDescriptor, P as sqlIntColumn, R as sqlTextColumn, S as lockOptionCapabilities, T as missingCapability, U as sqlVarcharDecode, V as sqlTextEncode, W as sqlVarcharDescriptor, _ as SqlVarcharCodec, a as SQL_FLOAT_CODEC_ID, b as encodeLiteralDefault, c as SQL_VARCHAR_CODEC_ID, d as SqlFloatCodec, f as SqlFloatDescriptor, g as SqlTextDescriptor, h as SqlTextCodec, i as SQL_CHAR_CODEC_ID, j as sqlFloatDecode, k as sqlCharEncode, l as SqlCharCodec, m as SqlIntDescriptor, n as JsonDocumentProjection, o as SQL_INT_CODEC_ID, p as SqlIntCodec, r as NativeJsonValueProjection, s as SQL_TEXT_CODEC_ID, t as CodecJsonValueProjection, u as SqlCharDescriptor, v as SqlVarcharDescriptor, w as lockWaitPolicyOf, x as lockIncompatible, y as encodeListLiteralDefault, z as sqlTextDecode } from "./ast-CBO3PEJF.mjs";
4
+ import { A as sqlCharDecode, B as sqlIntEncode, C as encodeLiteralDefault, D as lockWaitPolicyOf, E as lockStrengthCapabilities, F as sqlFloatDescriptor, G as sqlTextDescriptor, H as sqlRawDescriptor, I as sqlFloatEncode, J as sqlVarcharDecode, K as sqlTextEncode, L as sqlIntColumn, M as sqlCharEncode, N as sqlFloatColumn, O as missingCapability, P as sqlFloatDecode, R as sqlIntDecode, S as encodeListLiteralDefault, T as lockOptionCapabilities, U as sqlTextColumn, V as sqlRawColumn, W as sqlTextDecode, X as sqlVarcharEncode, Y as sqlVarcharDescriptor, _ as SqlRawDescriptor, a as SQL_FLOAT_CODEC_ID, b as SqlVarcharCodec, c as SQL_TEXT_CODEC_ID, d as SqlCharDescriptor, f as SqlFloatCodec, g as SqlRawCodec, h as SqlIntDescriptor, i as SQL_CHAR_CODEC_ID, j as sqlCharDescriptor, k as sqlCharColumn, l as SQL_VARCHAR_CODEC_ID, m as SqlIntCodec, n as JsonDocumentProjection, o as SQL_INT_CODEC_ID, p as SqlFloatDescriptor, q as sqlVarcharColumn, r as NativeJsonValueProjection, s as SQL_RAW_CODEC_ID, t as CodecJsonValueProjection, u as SqlCharCodec, v as SqlTextCodec, w as lockIncompatible, x as SqlVarcharDescriptor, y as SqlTextDescriptor, z as sqlIntDescriptor } from "./ast-BJs2669T.mjs";
5
5
  import { t as planFromAst } from "./plan-Dh0LbYIv-Crx5-ThG.mjs";
6
6
  import { a as isExpression, i as createRawSql, n as buildOperation, o as param, r as codecOf, s as toExpr, t as ExpressionImpl } from "./expression-impl-B-XNINxr-vYwKVFeP.mjs";
7
7
  import { t as createSqlParamRefMutator } from "./middleware-yBAfiVWn-CzNCthJT.mjs";
8
- export { AggregateExpr, AndExpr, BinaryExpr, CaseExpr, CastExpr, CheckExpressionConstraint, CodecJsonValueProjection, ColumnRef, DdlColumn, DdlColumnDefault, DdlNode, DefaultValueExpr, DeleteAst, DerivedTableSource, DoNothingConflictAction, DoUpdateSetConflictAction, EqColJoinOn, ExistsExpr, ExpressionImpl, ForeignKeyConstraint, FunctionCallExpr, FunctionColumnDefault, FunctionSource, IdentifierRef, InsertAst, InsertOnConflict, JoinAst, JsonArrayAggExpr, JsonDocumentProjection, JsonObjectExpr, ListExpression, LiteralColumnDefault, LiteralExpr, LockingClause, NativeJsonValueProjection, NotExpr, NullCheckExpr, OpaqueSql, OperationExpr, OrExpr, OrderByItem, ParamRef, PreparedParamRef, PrimaryKeyConstraint, ProjectionItem, RawExpr, RawQueryAst, SQL_CHAR_CODEC_ID, SQL_FLOAT_CODEC_ID, SQL_INT_CODEC_ID, SQL_TEXT_CODEC_ID, SQL_VARCHAR_CODEC_ID, SelectAst, SqlCharCodec, SqlCharDescriptor, SqlFloatCodec, SqlFloatDescriptor, SqlIntCodec, SqlIntDescriptor, SqlTextCodec, SqlTextDescriptor, SqlVarcharCodec, SqlVarcharDescriptor, SubqueryExpr, TableSource, UniqueConstraint, UpdateAst, WindowFuncExpr, aggregateFnNames, buildOperation, checkLimitOffset, codecOf, collectOrderedParamRefs, compact, createRawSql, createSqlParamRefMutator, encodeListLiteralDefault, encodeLiteralDefault, frozenCodecRef, isAggregateFn, isAggregateProjection, isDdlNode, isExpression, isOrderByDirection, isOrderByNulls, isQueryAst, isWhereExpr, lockIncompatible, lockOptionCapabilities, lockStrengthCapabilities, lockWaitPolicyOf, missingCapability, opaqueSql, param, planFromAst, queryAstKinds, renderOpaqueSql, sqlCharColumn, sqlCharDecode, sqlCharDescriptor, sqlCharEncode, sqlFloatColumn, sqlFloatDecode, sqlFloatDescriptor, sqlFloatEncode, sqlIntColumn, sqlIntDecode, sqlIntDescriptor, sqlIntEncode, sqlTextColumn, sqlTextDecode, sqlTextDescriptor, sqlTextEncode, sqlVarcharColumn, sqlVarcharDecode, sqlVarcharDescriptor, sqlVarcharEncode, toExpr, whereExprKinds };
8
+ export { AggregateExpr, AndExpr, BinaryExpr, CaseExpr, CastExpr, CheckExpressionConstraint, CodecJsonValueProjection, ColumnRef, DdlColumn, DdlColumnDefault, DdlNode, DefaultValueExpr, DeleteAst, DerivedTableSource, DoNothingConflictAction, DoUpdateSetConflictAction, EqColJoinOn, ExistsExpr, ExpressionImpl, ForeignKeyConstraint, FunctionCallExpr, FunctionColumnDefault, FunctionSource, IdentifierRef, InsertAst, InsertOnConflict, JoinAst, JsonArrayAggExpr, JsonDocumentProjection, JsonObjectExpr, ListExpression, LiteralColumnDefault, LiteralExpr, LockingClause, NativeJsonValueProjection, NotExpr, NullCheckExpr, OpaqueSql, OperationExpr, OrExpr, OrderByItem, ParamRef, PreparedParamRef, PrimaryKeyConstraint, ProjectionItem, RawExpr, RawQueryAst, SQL_CHAR_CODEC_ID, SQL_FLOAT_CODEC_ID, SQL_INT_CODEC_ID, SQL_RAW_CODEC_ID, SQL_TEXT_CODEC_ID, SQL_VARCHAR_CODEC_ID, SelectAst, SqlCharCodec, SqlCharDescriptor, SqlFloatCodec, SqlFloatDescriptor, SqlIntCodec, SqlIntDescriptor, SqlRawCodec, SqlRawDescriptor, SqlTextCodec, SqlTextDescriptor, SqlVarcharCodec, SqlVarcharDescriptor, SubqueryExpr, TableSource, UniqueConstraint, UpdateAst, WindowFuncExpr, aggregateFnNames, buildOperation, checkLimitOffset, codecOf, collectOrderedParamRefs, compact, createRawSql, createSqlParamRefMutator, encodeListLiteralDefault, encodeLiteralDefault, frozenCodecRef, isAggregateFn, isAggregateProjection, isDdlNode, isExpression, isOrderByDirection, isOrderByNulls, isQueryAst, isWhereExpr, lockIncompatible, lockOptionCapabilities, lockStrengthCapabilities, lockWaitPolicyOf, missingCapability, opaqueSql, param, planFromAst, queryAstKinds, renderOpaqueSql, sqlCharColumn, sqlCharDecode, sqlCharDescriptor, sqlCharEncode, sqlFloatColumn, sqlFloatDecode, sqlFloatDescriptor, sqlFloatEncode, sqlIntColumn, sqlIntDecode, sqlIntDescriptor, sqlIntEncode, sqlRawColumn, sqlRawDescriptor, sqlTextColumn, sqlTextDecode, sqlTextDescriptor, sqlTextEncode, sqlVarcharColumn, sqlVarcharDecode, sqlVarcharDescriptor, sqlVarcharEncode, toExpr, whereExprKinds };
@@ -1,5 +1,5 @@
1
1
  import { $ as InsertValue, $t as queryAstKinds, A as DefaultValueExpr, At as RawQueryResult, B as EqColJoinOn, Bt as ToWhereExpr, C as CodecCallContext$1, Ct as ParamRef, D as CodecTrait$1, Dt as RawExpr, E as CodecRef$1, Et as ProjectionItem, F as DescriptorCodecJson, Ft as SqlCodecInstanceContext, G as ExpressionSource, Gt as aggregateFnNames, H as ExprVisitor, Ht as WhereArg, I as DescriptorCodecTraits, It as SqlColumnRef, J as FunctionSource, Jt as isAggregateFn, K as ExtractCodecTypes, Kt as checkLimitOffset, L as Direction, Lt as SubqueryExpr, M as DerivedTableSource, Mt as SelectAst, N as DescriptorCodecId, Nt as SelectAstOptions, O as ColumnRef, Ot as RawQueryAst, P as DescriptorCodecInput, Pt as SqlCodecCallContext, Q as InsertOnConflict, Qt as isWhereExpr, R as DoNothingConflictAction, Rt as TableRef, S as Codec$1, St as OrderByNulls, T as CodecJsonValueProjection, Tt as ProjectionExpr, U as ExpressionFolder, Ut as WindowFn, V as ExistsExpr, Vt as UpdateAst, W as ExpressionRewriter, Wt as WindowFuncExpr, X as IdentifierRef, Xt as isOrderByNulls, Y as FunctionSourceAlias, Yt as isOrderByDirection, Z as InsertAst, Zt as isQueryAst, _ as BinaryExpr, _t as NotExpr, a as AndExpr, at as JsonObjectExpr, b as CaseExpr, bt as OrExpr, c as AnyExpression, ct as ListExpression, d as AnyInsertValue, dt as LockWaitPolicy, en as whereExprKinds, et as JoinAst, f as AnyJsonValueProjection, ft as LockingClause, g as AstRewriter, gt as NativeJsonValueProjection, h as AnyQueryAst, ht as LoweredStatement, i as AggregateOpFn, it as JsonObjectEntry, j as DeleteAst, jt as RawSqlLiteral, k as ContractCodecRegistry, kt as RawQueryColumn, l as AnyFromSource, lt as LiteralExpr, m as AnyParamRef, mt as LoweredParam, n as AggregateExpr, nt as JsonArrayAggExpr, o as AnyCodecDescriptor, ot as JsonValueProjectionVisitor, p as AnyOperationArg, pt as LockingClauseOptions, q as FunctionCallExpr, qt as frozenCodecRef, r as AggregateFn, rt as JsonDocumentProjection, s as AnyCodecDescriptorTemplate, st as LimitOffsetValue, t as AggregateCountFn, tt as JoinOnExpr, u as AnyInsertOnConflictAction, ut as LockStrength, v as BinaryOp, vt as NullCheckExpr, w as CodecDescriptor$1, wt as PreparedParamRef, x as CastExpr, xt as OrderByItem, y as CaseBranch, yt as OperationExpr, z as DoUpdateSetConflictAction, zt as TableSource } from "./types-DVaVM20q-DrinF7w_.mjs";
2
2
  import { a as SqlDriverState, c as SqlQueryable, i as SqlDriver, l as SqlStatementStats, n as PreparedStatementHandle, o as SqlExecuteRequest, r as SqlConnection, s as SqlExplainResult, t as PreparedExecuteRequest, u as SqlTransaction } from "./driver-types-DRsYeq3j-X_D6hNMZ.mjs";
3
3
  import { a as DdlNode, c as FunctionColumnDefault, d as PrimaryKeyConstraint, f as UniqueConstraint, h as renderOpaqueSql, i as DdlColumnDefault, l as LiteralColumnDefault, m as opaqueSql, n as CheckExpressionConstraint, o as DdlTableConstraint, p as isDdlNode, r as DdlColumn, s as ForeignKeyConstraint, t as AnyDdlColumnDefault, u as OpaqueSql } from "./ddl-types-CoP6yAw9-Cxc2zvi3.mjs";
4
- import { $ as sqlTextDecode, A as collectOrderedParamRefs, B as sqlCharColumn, C as SqlFloatDescriptor, D as SqlTextDescriptor, E as SqlTextCodec, F as lockIncompatible, G as sqlFloatDecode, H as sqlCharDescriptor, I as lockOptionCapabilities, J as sqlIntColumn, K as sqlFloatDescriptor, L as lockStrengthCapabilities, M as encodeListLiteralDefault, N as encodeLiteralDefault, O as SqlVarcharCodec, P as isAggregateProjection, Q as sqlTextColumn, R as lockWaitPolicyOf, S as SqlFloatCodec, T as SqlIntDescriptor, U as sqlCharEncode, V as sqlCharDecode, W as sqlFloatColumn, X as sqlIntDescriptor, Y as sqlIntDecode, Z as sqlIntEncode, _ as SQL_INT_CODEC_ID, a as EncodedLiteralDefault, at as sqlVarcharEncode, b as SqlCharCodec, c as LockOptionCapabilities, d as LockWaitRequest, et as sqlTextDescriptor, f as Lowerer, g as SQL_FLOAT_CODEC_ID, h as SQL_CHAR_CODEC_ID, i as CapabilityRequirement, it as sqlVarcharDescriptor, j as compact, k as SqlVarcharDescriptor, l as LockStrengthCapabilities, m as MarkerReadResult, n as AdapterProfile, nt as sqlVarcharColumn, o as LiteralDefaultColumn, p as LowererContext, q as sqlFloatEncode, r as AdapterTarget, rt as sqlVarcharDecode, s as LockConflict, t as Adapter, tt as sqlTextEncode, u as LockWaitOptions, v as SQL_TEXT_CODEC_ID, w as SqlIntCodec, x as SqlCharDescriptor, y as SQL_VARCHAR_CODEC_ID, z as missingCapability } from "./ast-Cq7uhA86.mjs";
5
- export { Adapter, AdapterProfile, AdapterTarget, AggregateCountFn, AggregateExpr, AggregateFn, AggregateOpFn, AndExpr, AnyCodecDescriptor, AnyCodecDescriptorTemplate, AnyDdlColumnDefault, AnyExpression, AnyFromSource, AnyInsertOnConflictAction, AnyInsertValue, AnyJsonValueProjection, AnyOperationArg, AnyParamRef, AnyQueryAst, AstRewriter, BinaryExpr, BinaryOp, CapabilityRequirement, CaseBranch, CaseExpr, CastExpr, CheckExpressionConstraint, Codec$1 as Codec, type CodecCallContext$1 as CodecCallContext, type CodecDescriptor$1 as CodecDescriptor, CodecJsonValueProjection, type CodecRef$1 as CodecRef, type CodecTrait$1 as CodecTrait, ColumnRef, ContractCodecRegistry, DdlColumn, DdlColumnDefault, DdlNode, DdlTableConstraint, DefaultValueExpr, DeleteAst, DerivedTableSource, DescriptorCodecId, DescriptorCodecInput, DescriptorCodecJson, DescriptorCodecTraits, Direction, DoNothingConflictAction, DoUpdateSetConflictAction, EncodedLiteralDefault, EqColJoinOn, ExistsExpr, ExprVisitor, ExpressionFolder, ExpressionRewriter, ExpressionSource, ExtractCodecTypes, ForeignKeyConstraint, FunctionCallExpr, FunctionColumnDefault, FunctionSource, FunctionSourceAlias, IdentifierRef, InsertAst, InsertOnConflict, InsertValue, JoinAst, JoinOnExpr, JsonArrayAggExpr, JsonDocumentProjection, JsonObjectEntry, JsonObjectExpr, JsonValueProjectionVisitor, LimitOffsetValue, ListExpression, LiteralColumnDefault, LiteralDefaultColumn, LiteralExpr, LockConflict, LockOptionCapabilities, LockStrength, LockStrengthCapabilities, LockWaitOptions, LockWaitPolicy, LockWaitRequest, LockingClause, LockingClauseOptions, LoweredParam, LoweredStatement, Lowerer, LowererContext, MarkerReadResult, NativeJsonValueProjection, NotExpr, NullCheckExpr, OpaqueSql, OperationExpr, OrExpr, OrderByItem, OrderByNulls, ParamRef, PreparedExecuteRequest, PreparedParamRef, PreparedStatementHandle, PrimaryKeyConstraint, ProjectionExpr, ProjectionItem, RawExpr, RawQueryAst, RawQueryColumn, RawQueryResult, RawSqlLiteral, SQL_CHAR_CODEC_ID, SQL_FLOAT_CODEC_ID, SQL_INT_CODEC_ID, SQL_TEXT_CODEC_ID, SQL_VARCHAR_CODEC_ID, SelectAst, SelectAstOptions, SqlCharCodec, SqlCharDescriptor, SqlCodecCallContext, SqlCodecInstanceContext, SqlColumnRef, SqlConnection, SqlDriver, SqlDriverState, SqlExecuteRequest, SqlExplainResult, SqlFloatCodec, SqlFloatDescriptor, SqlIntCodec, SqlIntDescriptor, SqlQueryable, SqlStatementStats, SqlTextCodec, SqlTextDescriptor, SqlTransaction, SqlVarcharCodec, SqlVarcharDescriptor, SubqueryExpr, TableRef, TableSource, ToWhereExpr, UniqueConstraint, UpdateAst, WhereArg, WindowFn, WindowFuncExpr, aggregateFnNames, checkLimitOffset, collectOrderedParamRefs, compact, encodeListLiteralDefault, encodeLiteralDefault, frozenCodecRef, isAggregateFn, isAggregateProjection, isDdlNode, isOrderByDirection, isOrderByNulls, isQueryAst, isWhereExpr, lockIncompatible, lockOptionCapabilities, lockStrengthCapabilities, lockWaitPolicyOf, missingCapability, opaqueSql, queryAstKinds, renderOpaqueSql, sqlCharColumn, sqlCharDecode, sqlCharDescriptor, sqlCharEncode, sqlFloatColumn, sqlFloatDecode, sqlFloatDescriptor, sqlFloatEncode, sqlIntColumn, sqlIntDecode, sqlIntDescriptor, sqlIntEncode, sqlTextColumn, sqlTextDecode, sqlTextDescriptor, sqlTextEncode, sqlVarcharColumn, sqlVarcharDecode, sqlVarcharDescriptor, sqlVarcharEncode, whereExprKinds };
4
+ import { $ as sqlIntDescriptor, A as SqlTextDescriptor, B as lockStrengthCapabilities, C as SqlFloatCodec, D as SqlRawCodec, E as SqlIntDescriptor, F as encodeListLiteralDefault, G as sqlCharDescriptor, H as missingCapability, I as encodeLiteralDefault, J as sqlFloatDecode, K as sqlCharEncode, L as isAggregateProjection, M as SqlVarcharDescriptor, N as collectOrderedParamRefs, O as SqlRawDescriptor, P as compact, Q as sqlIntDecode, R as lockIncompatible, S as SqlCharDescriptor, T as SqlIntCodec, U as sqlCharColumn, V as lockWaitPolicyOf, W as sqlCharDecode, X as sqlFloatEncode, Y as sqlFloatDescriptor, Z as sqlIntColumn, _ as SQL_INT_CODEC_ID, a as EncodedLiteralDefault, at as sqlTextDescriptor, b as SQL_VARCHAR_CODEC_ID, c as LockOptionCapabilities, ct as sqlVarcharDecode, d as LockWaitRequest, et as sqlIntEncode, f as Lowerer, g as SQL_FLOAT_CODEC_ID, h as SQL_CHAR_CODEC_ID, i as CapabilityRequirement, it as sqlTextDecode, j as SqlVarcharCodec, k as SqlTextCodec, l as LockStrengthCapabilities, lt as sqlVarcharDescriptor, m as MarkerReadResult, n as AdapterProfile, nt as sqlRawDescriptor, o as LiteralDefaultColumn, ot as sqlTextEncode, p as LowererContext, q as sqlFloatColumn, r as AdapterTarget, rt as sqlTextColumn, s as LockConflict, st as sqlVarcharColumn, t as Adapter, tt as sqlRawColumn, u as LockWaitOptions, ut as sqlVarcharEncode, v as SQL_RAW_CODEC_ID, w as SqlFloatDescriptor, x as SqlCharCodec, y as SQL_TEXT_CODEC_ID, z as lockOptionCapabilities } from "./ast-DB7g9Mh2.mjs";
5
+ export { Adapter, AdapterProfile, AdapterTarget, AggregateCountFn, AggregateExpr, AggregateFn, AggregateOpFn, AndExpr, AnyCodecDescriptor, AnyCodecDescriptorTemplate, AnyDdlColumnDefault, AnyExpression, AnyFromSource, AnyInsertOnConflictAction, AnyInsertValue, AnyJsonValueProjection, AnyOperationArg, AnyParamRef, AnyQueryAst, AstRewriter, BinaryExpr, BinaryOp, CapabilityRequirement, CaseBranch, CaseExpr, CastExpr, CheckExpressionConstraint, Codec$1 as Codec, type CodecCallContext$1 as CodecCallContext, type CodecDescriptor$1 as CodecDescriptor, CodecJsonValueProjection, type CodecRef$1 as CodecRef, type CodecTrait$1 as CodecTrait, ColumnRef, ContractCodecRegistry, DdlColumn, DdlColumnDefault, DdlNode, DdlTableConstraint, DefaultValueExpr, DeleteAst, DerivedTableSource, DescriptorCodecId, DescriptorCodecInput, DescriptorCodecJson, DescriptorCodecTraits, Direction, DoNothingConflictAction, DoUpdateSetConflictAction, EncodedLiteralDefault, EqColJoinOn, ExistsExpr, ExprVisitor, ExpressionFolder, ExpressionRewriter, ExpressionSource, ExtractCodecTypes, ForeignKeyConstraint, FunctionCallExpr, FunctionColumnDefault, FunctionSource, FunctionSourceAlias, IdentifierRef, InsertAst, InsertOnConflict, InsertValue, JoinAst, JoinOnExpr, JsonArrayAggExpr, JsonDocumentProjection, JsonObjectEntry, JsonObjectExpr, JsonValueProjectionVisitor, LimitOffsetValue, ListExpression, LiteralColumnDefault, LiteralDefaultColumn, LiteralExpr, LockConflict, LockOptionCapabilities, LockStrength, LockStrengthCapabilities, LockWaitOptions, LockWaitPolicy, LockWaitRequest, LockingClause, LockingClauseOptions, LoweredParam, LoweredStatement, Lowerer, LowererContext, MarkerReadResult, NativeJsonValueProjection, NotExpr, NullCheckExpr, OpaqueSql, OperationExpr, OrExpr, OrderByItem, OrderByNulls, ParamRef, PreparedExecuteRequest, PreparedParamRef, PreparedStatementHandle, PrimaryKeyConstraint, ProjectionExpr, ProjectionItem, RawExpr, RawQueryAst, RawQueryColumn, RawQueryResult, RawSqlLiteral, SQL_CHAR_CODEC_ID, SQL_FLOAT_CODEC_ID, SQL_INT_CODEC_ID, SQL_RAW_CODEC_ID, SQL_TEXT_CODEC_ID, SQL_VARCHAR_CODEC_ID, SelectAst, SelectAstOptions, SqlCharCodec, SqlCharDescriptor, SqlCodecCallContext, SqlCodecInstanceContext, SqlColumnRef, SqlConnection, SqlDriver, SqlDriverState, SqlExecuteRequest, SqlExplainResult, SqlFloatCodec, SqlFloatDescriptor, SqlIntCodec, SqlIntDescriptor, SqlQueryable, SqlRawCodec, SqlRawDescriptor, SqlStatementStats, SqlTextCodec, SqlTextDescriptor, SqlTransaction, SqlVarcharCodec, SqlVarcharDescriptor, SubqueryExpr, TableRef, TableSource, ToWhereExpr, UniqueConstraint, UpdateAst, WhereArg, WindowFn, WindowFuncExpr, aggregateFnNames, checkLimitOffset, collectOrderedParamRefs, compact, encodeListLiteralDefault, encodeLiteralDefault, frozenCodecRef, isAggregateFn, isAggregateProjection, isDdlNode, isOrderByDirection, isOrderByNulls, isQueryAst, isWhereExpr, lockIncompatible, lockOptionCapabilities, lockStrengthCapabilities, lockWaitPolicyOf, missingCapability, opaqueSql, queryAstKinds, renderOpaqueSql, sqlCharColumn, sqlCharDecode, sqlCharDescriptor, sqlCharEncode, sqlFloatColumn, sqlFloatDecode, sqlFloatDescriptor, sqlFloatEncode, sqlIntColumn, sqlIntDecode, sqlIntDescriptor, sqlIntEncode, sqlRawColumn, sqlRawDescriptor, sqlTextColumn, sqlTextDecode, sqlTextDescriptor, sqlTextEncode, sqlVarcharColumn, sqlVarcharDecode, sqlVarcharDescriptor, sqlVarcharEncode, whereExprKinds };
@@ -1,5 +1,5 @@
1
1
  import { A as ParamRef, B as aggregateFnNames, C as LiteralExpr, D as OperationExpr, E as NullCheckExpr, F as SelectAst, G as isOrderByNulls, H as frozenCodecRef, I as SubqueryExpr, J as queryAstKinds, K as isQueryAst, L as TableSource, M as ProjectionItem, N as RawExpr, O as OrExpr, P as RawQueryAst, R as UpdateAst, S as ListExpression, T as NotExpr, U as isAggregateFn, V as checkLimitOffset, W as isOrderByDirection, Y as whereExprKinds, _ as InsertAst, a as CastExpr, b as JsonArrayAggExpr, c as DeleteAst, d as DoUpdateSetConflictAction, f as EqColJoinOn, g as IdentifierRef, h as FunctionSource, i as CaseExpr, j as PreparedParamRef, k as OrderByItem, l as DerivedTableSource, m as FunctionCallExpr, n as AndExpr, o as ColumnRef, p as ExistsExpr, q as isWhereExpr, r as BinaryExpr, s as DefaultValueExpr, t as AggregateExpr, u as DoNothingConflictAction, v as InsertOnConflict, w as LockingClause, x as JsonObjectExpr, y as JoinAst, z as WindowFuncExpr } from "./types-NTQsD2MS-DAP2yVDn.mjs";
2
2
  import { a as ForeignKeyConstraint, c as OpaqueSql, d as isDdlNode, f as opaqueSql, i as DdlNode, l as PrimaryKeyConstraint, n as DdlColumn, o as FunctionColumnDefault, p as renderOpaqueSql, r as DdlColumnDefault, s as LiteralColumnDefault, t as CheckExpressionConstraint, u as UniqueConstraint } from "./opaque-sql-Dset3kln-BzzXoO94.mjs";
3
3
  import { n as compact, r as isAggregateProjection, t as collectOrderedParamRefs } from "./util-BBgcP3gI-XJBkxo1K.mjs";
4
- import { A as sqlFloatColumn, B as sqlTextDescriptor, C as lockStrengthCapabilities, D as sqlCharDecode, E as sqlCharColumn, F as sqlIntDecode, G as sqlVarcharEncode, H as sqlVarcharColumn, I as sqlIntDescriptor, L as sqlIntEncode, M as sqlFloatDescriptor, N as sqlFloatEncode, O as sqlCharDescriptor, P as sqlIntColumn, R as sqlTextColumn, S as lockOptionCapabilities, T as missingCapability, U as sqlVarcharDecode, V as sqlTextEncode, W as sqlVarcharDescriptor, _ as SqlVarcharCodec, a as SQL_FLOAT_CODEC_ID, b as encodeLiteralDefault, c as SQL_VARCHAR_CODEC_ID, d as SqlFloatCodec, f as SqlFloatDescriptor, g as SqlTextDescriptor, h as SqlTextCodec, i as SQL_CHAR_CODEC_ID, j as sqlFloatDecode, k as sqlCharEncode, l as SqlCharCodec, m as SqlIntDescriptor, n as JsonDocumentProjection, o as SQL_INT_CODEC_ID, p as SqlIntCodec, r as NativeJsonValueProjection, s as SQL_TEXT_CODEC_ID, t as CodecJsonValueProjection, u as SqlCharDescriptor, v as SqlVarcharDescriptor, w as lockWaitPolicyOf, x as lockIncompatible, y as encodeListLiteralDefault, z as sqlTextDecode } from "./ast-CBO3PEJF.mjs";
5
- export { AggregateExpr, AndExpr, BinaryExpr, CaseExpr, CastExpr, CheckExpressionConstraint, CodecJsonValueProjection, ColumnRef, DdlColumn, DdlColumnDefault, DdlNode, DefaultValueExpr, DeleteAst, DerivedTableSource, DoNothingConflictAction, DoUpdateSetConflictAction, EqColJoinOn, ExistsExpr, ForeignKeyConstraint, FunctionCallExpr, FunctionColumnDefault, FunctionSource, IdentifierRef, InsertAst, InsertOnConflict, JoinAst, JsonArrayAggExpr, JsonDocumentProjection, JsonObjectExpr, ListExpression, LiteralColumnDefault, LiteralExpr, LockingClause, NativeJsonValueProjection, NotExpr, NullCheckExpr, OpaqueSql, OperationExpr, OrExpr, OrderByItem, ParamRef, PreparedParamRef, PrimaryKeyConstraint, ProjectionItem, RawExpr, RawQueryAst, SQL_CHAR_CODEC_ID, SQL_FLOAT_CODEC_ID, SQL_INT_CODEC_ID, SQL_TEXT_CODEC_ID, SQL_VARCHAR_CODEC_ID, SelectAst, SqlCharCodec, SqlCharDescriptor, SqlFloatCodec, SqlFloatDescriptor, SqlIntCodec, SqlIntDescriptor, SqlTextCodec, SqlTextDescriptor, SqlVarcharCodec, SqlVarcharDescriptor, SubqueryExpr, TableSource, UniqueConstraint, UpdateAst, WindowFuncExpr, aggregateFnNames, checkLimitOffset, collectOrderedParamRefs, compact, encodeListLiteralDefault, encodeLiteralDefault, frozenCodecRef, isAggregateFn, isAggregateProjection, isDdlNode, isOrderByDirection, isOrderByNulls, isQueryAst, isWhereExpr, lockIncompatible, lockOptionCapabilities, lockStrengthCapabilities, lockWaitPolicyOf, missingCapability, opaqueSql, queryAstKinds, renderOpaqueSql, sqlCharColumn, sqlCharDecode, sqlCharDescriptor, sqlCharEncode, sqlFloatColumn, sqlFloatDecode, sqlFloatDescriptor, sqlFloatEncode, sqlIntColumn, sqlIntDecode, sqlIntDescriptor, sqlIntEncode, sqlTextColumn, sqlTextDecode, sqlTextDescriptor, sqlTextEncode, sqlVarcharColumn, sqlVarcharDecode, sqlVarcharDescriptor, sqlVarcharEncode, whereExprKinds };
4
+ import { A as sqlCharDecode, B as sqlIntEncode, C as encodeLiteralDefault, D as lockWaitPolicyOf, E as lockStrengthCapabilities, F as sqlFloatDescriptor, G as sqlTextDescriptor, H as sqlRawDescriptor, I as sqlFloatEncode, J as sqlVarcharDecode, K as sqlTextEncode, L as sqlIntColumn, M as sqlCharEncode, N as sqlFloatColumn, O as missingCapability, P as sqlFloatDecode, R as sqlIntDecode, S as encodeListLiteralDefault, T as lockOptionCapabilities, U as sqlTextColumn, V as sqlRawColumn, W as sqlTextDecode, X as sqlVarcharEncode, Y as sqlVarcharDescriptor, _ as SqlRawDescriptor, a as SQL_FLOAT_CODEC_ID, b as SqlVarcharCodec, c as SQL_TEXT_CODEC_ID, d as SqlCharDescriptor, f as SqlFloatCodec, g as SqlRawCodec, h as SqlIntDescriptor, i as SQL_CHAR_CODEC_ID, j as sqlCharDescriptor, k as sqlCharColumn, l as SQL_VARCHAR_CODEC_ID, m as SqlIntCodec, n as JsonDocumentProjection, o as SQL_INT_CODEC_ID, p as SqlFloatDescriptor, q as sqlVarcharColumn, r as NativeJsonValueProjection, s as SQL_RAW_CODEC_ID, t as CodecJsonValueProjection, u as SqlCharCodec, v as SqlTextCodec, w as lockIncompatible, x as SqlVarcharDescriptor, y as SqlTextDescriptor, z as sqlIntDescriptor } from "./ast-BJs2669T.mjs";
5
+ export { AggregateExpr, AndExpr, BinaryExpr, CaseExpr, CastExpr, CheckExpressionConstraint, CodecJsonValueProjection, ColumnRef, DdlColumn, DdlColumnDefault, DdlNode, DefaultValueExpr, DeleteAst, DerivedTableSource, DoNothingConflictAction, DoUpdateSetConflictAction, EqColJoinOn, ExistsExpr, ForeignKeyConstraint, FunctionCallExpr, FunctionColumnDefault, FunctionSource, IdentifierRef, InsertAst, InsertOnConflict, JoinAst, JsonArrayAggExpr, JsonDocumentProjection, JsonObjectExpr, ListExpression, LiteralColumnDefault, LiteralExpr, LockingClause, NativeJsonValueProjection, NotExpr, NullCheckExpr, OpaqueSql, OperationExpr, OrExpr, OrderByItem, ParamRef, PreparedParamRef, PrimaryKeyConstraint, ProjectionItem, RawExpr, RawQueryAst, SQL_CHAR_CODEC_ID, SQL_FLOAT_CODEC_ID, SQL_INT_CODEC_ID, SQL_RAW_CODEC_ID, SQL_TEXT_CODEC_ID, SQL_VARCHAR_CODEC_ID, SelectAst, SqlCharCodec, SqlCharDescriptor, SqlFloatCodec, SqlFloatDescriptor, SqlIntCodec, SqlIntDescriptor, SqlRawCodec, SqlRawDescriptor, SqlTextCodec, SqlTextDescriptor, SqlVarcharCodec, SqlVarcharDescriptor, SubqueryExpr, TableSource, UniqueConstraint, UpdateAst, WindowFuncExpr, aggregateFnNames, checkLimitOffset, collectOrderedParamRefs, compact, encodeListLiteralDefault, encodeLiteralDefault, frozenCodecRef, isAggregateFn, isAggregateProjection, isDdlNode, isOrderByDirection, isOrderByNulls, isQueryAst, isWhereExpr, lockIncompatible, lockOptionCapabilities, lockStrengthCapabilities, lockWaitPolicyOf, missingCapability, opaqueSql, queryAstKinds, renderOpaqueSql, sqlCharColumn, sqlCharDecode, sqlCharDescriptor, sqlCharEncode, sqlFloatColumn, sqlFloatDecode, sqlFloatDescriptor, sqlFloatEncode, sqlIntColumn, sqlIntDecode, sqlIntDescriptor, sqlIntEncode, sqlRawColumn, sqlRawDescriptor, sqlTextColumn, sqlTextDecode, sqlTextDescriptor, sqlTextEncode, sqlVarcharColumn, sqlVarcharDecode, sqlVarcharDescriptor, sqlVarcharEncode, whereExprKinds };
@@ -1,5 +1,5 @@
1
- import { m as MarkerReadResult } from "./ast-Cq7uhA86.mjs";
1
+ import { m as MarkerReadResult } from "./ast-DB7g9Mh2.mjs";
2
2
  import { c as TypeHelperRegistry, n as ExecutionContext } from "./query-lane-context-BLOPW1rQ-4vNq0fxJ.mjs";
3
- import { a as ParamSpec, c as PreparedExecution, i as DeclaredNullable, l as PreparedFor, n as Declaration, o as ParamsFromDeclaration, r as DeclaredCodecId, s as PrepareCallback, t as BindSiteParams, u as PreparedStatement } from "./transaction-state-DR3nKTmH-DbyhuL-z.mjs";
4
- import { $ as SqlRuntimeAdapterDescriptor, A as ActivityRoute, B as PreparedStatementInternals, C as extractCodecIds, D as validateContractCodecMappings, E as validateCodecRegistryCompleteness, F as ConnectionProvider, G as RuntimeParameterizedCodecDescriptor, H as RuntimeConnection, I as HashablePlan, J as RuntimeTransaction, K as RuntimeQueryable, L as MarkerReader, M as ActivitySourceTarget, N as BoundPreparedStatement, O as ActivityExecuteOptions, P as CloseRefusal, Q as SqlMiddlewareContext, R as PreparedExecutionImpl, S as createAstCodecRegistry, T as lowerSqlPlan, U as RuntimeFamilyAdapter, V as Runtime, W as RuntimeOptions, X as SqlExecutionStackWithDriver, Y as SqlExecutionStack, Z as SqlMiddleware, _ as StatementActivity, _t as planContentHashOn, a as ActivityParent, at as SqlRuntimeTargetDescriptor, b as TransactionEnded, c as ClientActivityEnd, ct as TransactionContext, d as ClientActivityResult, dt as createExecutionContext, et as SqlRuntimeAdapterInstance, f as ExecuteInterceptResult, ft as createSqlExecutionStack, g as StartActivity, gt as findActivitySource, h as QueryInterceptResult, ht as encodeParamsWithMetadata, i as ActivityInterceptResult, it as SqlRuntimeExtensionInstance, j as ActivitySource, k as ActivityHandle, l as ClientActivityEnded, lt as VerifyMarkerOption, m as Log, mt as deriveParamMetadata, n as ActivityEndedResult, nt as SqlRuntimeDriverInstance, o as BudgetsOptions, ot as SqlStaticContributions, p as LintsOptions, pt as delegatingActivitySource, q as RuntimeTelemetryEvent, r as ActivityFinalizedResult, rt as SqlRuntimeExtensionDescriptor, s as ClientActivity, st as TelemetryOutcome, t as Activity, tt as SqlRuntimeBase, u as ClientActivityKind, ut as activitySource, v as StatementEnded, vt as startActivityOn, w as lints, x as budgets, y as TransactionActivity, yt as withTransaction, z as PreparedStatementImpl } from "./index-B0hZw3uT.mjs";
3
+ import { a as ParamSpec, c as PreparedExecution, i as DeclaredNullable, l as PreparedFor, n as Declaration, o as ParamsFromDeclaration, r as DeclaredCodecId, s as PrepareCallback, t as BindSiteParams, u as PreparedStatement } from "./transaction-state-DR3nKTmH-D_pb9QgR.mjs";
4
+ import { $ as SqlRuntimeAdapterDescriptor, A as ActivityRoute, B as PreparedStatementInternals, C as extractCodecIds, D as validateContractCodecMappings, E as validateCodecRegistryCompleteness, F as ConnectionProvider, G as RuntimeParameterizedCodecDescriptor, H as RuntimeConnection, I as HashablePlan, J as RuntimeTransaction, K as RuntimeQueryable, L as MarkerReader, M as ActivitySourceTarget, N as BoundPreparedStatement, O as ActivityExecuteOptions, P as CloseRefusal, Q as SqlMiddlewareContext, R as PreparedExecutionImpl, S as createAstCodecRegistry, T as lowerSqlPlan, U as RuntimeFamilyAdapter, V as Runtime, W as RuntimeOptions, X as SqlExecutionStackWithDriver, Y as SqlExecutionStack, Z as SqlMiddleware, _ as StatementActivity, _t as planContentHashOn, a as ActivityParent, at as SqlRuntimeTargetDescriptor, b as TransactionEnded, c as ClientActivityEnd, ct as TransactionContext, d as ClientActivityResult, dt as createExecutionContext, et as SqlRuntimeAdapterInstance, f as ExecuteInterceptResult, ft as createSqlExecutionStack, g as StartActivity, gt as findActivitySource, h as QueryInterceptResult, ht as encodeParamsWithMetadata, i as ActivityInterceptResult, it as SqlRuntimeExtensionInstance, j as ActivitySource, k as ActivityHandle, l as ClientActivityEnded, lt as VerifyMarkerOption, m as Log, mt as deriveParamMetadata, n as ActivityEndedResult, nt as SqlRuntimeDriverInstance, o as BudgetsOptions, ot as SqlStaticContributions, p as LintsOptions, pt as delegatingActivitySource, q as RuntimeTelemetryEvent, r as ActivityFinalizedResult, rt as SqlRuntimeExtensionDescriptor, s as ClientActivity, st as TelemetryOutcome, t as Activity, tt as SqlRuntimeBase, u as ClientActivityKind, ut as activitySource, v as StatementEnded, vt as startActivityOn, w as lints, x as budgets, y as TransactionActivity, yt as withTransaction, z as PreparedStatementImpl } from "./index-Bw9Y19Js.mjs";
5
5
  export { type Activity, type ActivityEndedResult, type ActivityExecuteOptions, type ActivityFinalizedResult, type ActivityHandle, type ActivityInterceptResult, type ActivityParent, type ActivityRoute, type ActivitySource, type ActivitySourceTarget, type BindSiteParams, type BoundPreparedStatement, type BudgetsOptions, type ClientActivity, type ClientActivityEnd, type ClientActivityEnded, type ClientActivityKind, type ClientActivityResult, type CloseRefusal, type ConnectionProvider, type Declaration, type DeclaredCodecId, type DeclaredNullable, type ExecuteInterceptResult, type ExecutionContext, type HashablePlan, type LintsOptions, type Log, type MarkerReadResult, type MarkerReader, type ParamSpec, type ParamsFromDeclaration, type PrepareCallback, type PreparedExecution, PreparedExecutionImpl, type PreparedFor, type PreparedStatement, PreparedStatementImpl, type PreparedStatementInternals, type QueryInterceptResult, type Runtime, type RuntimeConnection, type RuntimeFamilyAdapter, type RuntimeOptions, type RuntimeParameterizedCodecDescriptor, type RuntimeQueryable, type RuntimeTelemetryEvent, type RuntimeTransaction, type SqlExecutionStack, type SqlExecutionStackWithDriver, type SqlMiddleware, type SqlMiddlewareContext, type SqlRuntimeAdapterDescriptor, type SqlRuntimeAdapterInstance, SqlRuntimeBase, type SqlRuntimeDriverInstance, type SqlRuntimeExtensionDescriptor, type SqlRuntimeExtensionInstance, type SqlRuntimeTargetDescriptor, type SqlStaticContributions, type StartActivity, type StatementActivity, type StatementEnded, type TelemetryOutcome, type TransactionActivity, type TransactionContext, type TransactionEnded, type TypeHelperRegistry, type VerifyMarkerOption, activitySource, budgets, createAstCodecRegistry, createExecutionContext, createSqlExecutionStack, delegatingActivitySource, deriveParamMetadata, encodeParamsWithMetadata, extractCodecIds, findActivitySource, lints, lowerSqlPlan, planContentHashOn, startActivityOn, validateCodecRegistryCompleteness, validateContractCodecMappings, withTransaction };
@@ -1,2 +1,2 @@
1
- import { S as transactionStart, _ as createTransactionStart, b as settlementOf, d as PreparedStatementExecuteTarget, f as PreparedStatementQueryTarget, g as TransactionStartTarget, h as TransactionStart, m as TransactionSettlementState, p as SettledTransactionTarget, v as preparedStatementExecute, x as transactionSettlement, y as preparedStatementQuery } from "./transaction-state-DR3nKTmH-DbyhuL-z.mjs";
1
+ import { S as transactionStart, _ as createTransactionStart, b as settlementOf, d as PreparedStatementExecuteTarget, f as PreparedStatementQueryTarget, g as TransactionStartTarget, h as TransactionStart, m as TransactionSettlementState, p as SettledTransactionTarget, v as preparedStatementExecute, x as transactionSettlement, y as preparedStatementQuery } from "./transaction-state-DR3nKTmH-D_pb9QgR.mjs";
2
2
  export { type PreparedStatementExecuteTarget, type PreparedStatementQueryTarget, type SettledTransactionTarget, type TransactionSettlementState, type TransactionStart, type TransactionStartTarget, createTransactionStart, preparedStatementExecute, preparedStatementQuery, settlementOf, transactionSettlement, transactionStart };
@@ -1,7 +1,7 @@
1
1
  import { l as SqlStorage } from "./sql-storage-tZhB8nS5-8NSWT0TW.mjs";
2
2
  import "./types-B2Dee96w.mjs";
3
- import { S as SqlSchemaIRNode } from "./types-B3AHHPDh-BHh-89fY.mjs";
4
- import "./types-BGERR8XF.mjs";
3
+ import { S as SqlSchemaIRNode } from "./types-DiD6BqoN-ZF53hwPp.mjs";
4
+ import "./types-D_nlUp-1.mjs";
5
5
  import { Contract, ControlPolicy } from "@prisma/orm-framework/contract/types";
6
6
  import { TargetBoundComponentDescriptor } from "@prisma/orm-framework/components/components";
7
7
  import { SchemaDiffIssue } from "@prisma/orm-framework/components/control";
@@ -44,4 +44,4 @@ interface SqlSchemaDiffInput {
44
44
  type SqlSchemaDiffFn = (input: SqlSchemaDiffInput) => SqlSchemaDiffResult;
45
45
  //#endregion
46
46
  export { SqlSchemaDiffInput as n, SqlSchemaDiffResult as r, SqlSchemaDiffFn as t };
47
- //# sourceMappingURL=schema-differ-DmP74bB8-CIQ17HTk.d.mts.map
47
+ //# sourceMappingURL=schema-differ-DmP74bB8-BfEQ_9cY.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-differ-DmP74bB8-CIQ17HTk.d.mts","names":[],"sources":["../../../../2-sql/9-family/dist/schema-differ-DmP74bB8.d.mts"],"mappings":";;;;;;;;;;;;;;;;;UAcU;;WAEC,iBAAiB;;;;;;;;;WASjB,uBAAuB,OAAO,oBAAoB;;;;;;WAMlD,gBAAgB;aACd,QAAQ;;;UAGX;WACC,UAAU,SAAS;WACnB,QAAQ;WACR,qBAAqB,cAAc;;KAEzC,mBAAmB,OAAO,uBAAuB"}
1
+ {"version":3,"file":"schema-differ-DmP74bB8-BfEQ_9cY.d.mts","names":[],"sources":["../../../../2-sql/9-family/dist/schema-differ-DmP74bB8.d.mts"],"mappings":";;;;;;;;;;;;;;;;;UAcU;;WAEC,iBAAiB;;;;;;;;;WASjB,uBAAuB,OAAO,oBAAoB;;;;;;WAMlD,gBAAgB;aACd,QAAQ;;;UAGX;WACC,UAAU,SAAS;WACnB,QAAQ;WACR,qBAAqB,cAAc;;KAEzC,mBAAmB,OAAO,uBAAuB"}
@@ -1,2 +1,2 @@
1
- import { A as relationalNodeGranularity, C as SqlTableIR, D as assertNode, E as SqlUniqueIRInput, M as sqlDefaultValuesEqual, O as defineNonEnumerable, S as SqlSchemaIRNode, T as SqlUniqueIR, _ as SqlIndexIR, a as SqlAnnotations, b as SqlSchemaIR, c as SqlColumnDefaultIR, d as SqlColumnIRInput, f as SqlColumnType, g as SqlForeignKeyIRInput, h as SqlForeignKeyIR, i as ReportedSqlType, j as sqlColumnTypesEqual, k as relationalNodeEntityKind, l as SqlColumnDefaultIRInput, m as SqlExpressionLiteralFor, n as PrimaryKeyInput, o as SqlCheckConstraintIR, p as SqlDefaultValue, r as RelationalSchemaNodeKind, s as SqlCheckConstraintIRInput, t as PrimaryKey, u as SqlColumnIR, v as SqlIndexIRInput, w as SqlTableIRInput, x as SqlSchemaIRInput, y as SqlReferentialAction } from "./types-B3AHHPDh-BHh-89fY.mjs";
1
+ import { A as relationalNodeGranularity, C as SqlTableIR, D as assertNode, E as SqlUniqueIRInput, M as sqlDefaultValuesEqual, O as defineNonEnumerable, S as SqlSchemaIRNode, T as SqlUniqueIR, _ as SqlIndexIR, a as SqlAnnotations, b as SqlSchemaIR, c as SqlColumnDefaultIR, d as SqlColumnIRInput, f as SqlColumnType, g as SqlForeignKeyIRInput, h as SqlForeignKeyIR, i as ReportedSqlType, j as sqlColumnTypesEqual, k as relationalNodeEntityKind, l as SqlColumnDefaultIRInput, m as SqlExpressionLiteralFor, n as PrimaryKeyInput, o as SqlCheckConstraintIR, p as SqlDefaultValue, r as RelationalSchemaNodeKind, s as SqlCheckConstraintIRInput, t as PrimaryKey, u as SqlColumnIR, v as SqlIndexIRInput, w as SqlTableIRInput, x as SqlSchemaIRInput, y as SqlReferentialAction } from "./types-DiD6BqoN-ZF53hwPp.mjs";
2
2
  export { PrimaryKey, type PrimaryKeyInput, RelationalSchemaNodeKind, type ReportedSqlType, type SqlAnnotations, SqlCheckConstraintIR, type SqlCheckConstraintIRInput, SqlColumnDefaultIR, type SqlColumnDefaultIRInput, SqlColumnIR, type SqlColumnIRInput, type SqlColumnType, type SqlDefaultValue, type SqlExpressionLiteralFor, SqlForeignKeyIR, type SqlForeignKeyIRInput, SqlIndexIR, type SqlIndexIRInput, type SqlReferentialAction, SqlSchemaIR, type SqlSchemaIRInput, SqlSchemaIRNode, SqlTableIR, type SqlTableIRInput, SqlUniqueIR, type SqlUniqueIRInput, assertNode, defineNonEnumerable, relationalNodeEntityKind, relationalNodeGranularity, sqlColumnTypesEqual, sqlDefaultValuesEqual };
@@ -1,2 +1,2 @@
1
- import { _ as sqlDefaultValuesEqual, a as SqlColumnIR, c as SqlSchemaIR, d as SqlUniqueIR, f as assertNode, g as sqlColumnTypesEqual, h as relationalNodeGranularity, i as SqlColumnDefaultIR, l as SqlSchemaIRNode, m as relationalNodeEntityKind, n as RelationalSchemaNodeKind, o as SqlForeignKeyIR, p as defineNonEnumerable, r as SqlCheckConstraintIR, s as SqlIndexIR, t as PrimaryKey, u as SqlTableIR } from "./types-egs_vme1-DRhYFwIT.mjs";
1
+ import { _ as sqlDefaultValuesEqual, a as SqlColumnIR, c as SqlSchemaIR, d as SqlUniqueIR, f as assertNode, g as sqlColumnTypesEqual, h as relationalNodeGranularity, i as SqlColumnDefaultIR, l as SqlSchemaIRNode, m as relationalNodeEntityKind, n as RelationalSchemaNodeKind, o as SqlForeignKeyIR, p as defineNonEnumerable, r as SqlCheckConstraintIR, s as SqlIndexIR, t as PrimaryKey, u as SqlTableIR } from "./types-DoyiTsjg-DDTmYyNY.mjs";
2
2
  export { PrimaryKey, RelationalSchemaNodeKind, SqlCheckConstraintIR, SqlColumnDefaultIR, SqlColumnIR, SqlForeignKeyIR, SqlIndexIR, SqlSchemaIR, SqlSchemaIRNode, SqlTableIR, SqlUniqueIR, assertNode, defineNonEnumerable, relationalNodeEntityKind, relationalNodeGranularity, sqlColumnTypesEqual, sqlDefaultValuesEqual };
@@ -1,3 +1,3 @@
1
- import { A as relationalNodeGranularity, C as SqlTableIR, D as assertNode, E as SqlUniqueIRInput, M as sqlDefaultValuesEqual, O as defineNonEnumerable, S as SqlSchemaIRNode, T as SqlUniqueIR, _ as SqlIndexIR, a as SqlAnnotations, b as SqlSchemaIR, c as SqlColumnDefaultIR, d as SqlColumnIRInput, f as SqlColumnType, g as SqlForeignKeyIRInput, h as SqlForeignKeyIR, i as ReportedSqlType, j as sqlColumnTypesEqual, k as relationalNodeEntityKind, l as SqlColumnDefaultIRInput, m as SqlExpressionLiteralFor, n as PrimaryKeyInput, o as SqlCheckConstraintIR, p as SqlDefaultValue, r as RelationalSchemaNodeKind, s as SqlCheckConstraintIRInput, t as PrimaryKey, u as SqlColumnIR, v as SqlIndexIRInput, w as SqlTableIRInput, x as SqlSchemaIRInput, y as SqlReferentialAction } from "./types-B3AHHPDh-BHh-89fY.mjs";
2
- import "./types-BGERR8XF.mjs";
1
+ import { A as relationalNodeGranularity, C as SqlTableIR, D as assertNode, E as SqlUniqueIRInput, M as sqlDefaultValuesEqual, O as defineNonEnumerable, S as SqlSchemaIRNode, T as SqlUniqueIR, _ as SqlIndexIR, a as SqlAnnotations, b as SqlSchemaIR, c as SqlColumnDefaultIR, d as SqlColumnIRInput, f as SqlColumnType, g as SqlForeignKeyIRInput, h as SqlForeignKeyIR, i as ReportedSqlType, j as sqlColumnTypesEqual, k as relationalNodeEntityKind, l as SqlColumnDefaultIRInput, m as SqlExpressionLiteralFor, n as PrimaryKeyInput, o as SqlCheckConstraintIR, p as SqlDefaultValue, r as RelationalSchemaNodeKind, s as SqlCheckConstraintIRInput, t as PrimaryKey, u as SqlColumnIR, v as SqlIndexIRInput, w as SqlTableIRInput, x as SqlSchemaIRInput, y as SqlReferentialAction } from "./types-DiD6BqoN-ZF53hwPp.mjs";
2
+ import "./types-D_nlUp-1.mjs";
3
3
  export { PrimaryKey, type PrimaryKeyInput, RelationalSchemaNodeKind, type ReportedSqlType, type SqlAnnotations, SqlCheckConstraintIR, type SqlCheckConstraintIRInput, SqlColumnDefaultIR, type SqlColumnDefaultIRInput, SqlColumnIR, type SqlColumnIRInput, type SqlColumnType, type SqlDefaultValue, type SqlExpressionLiteralFor, SqlForeignKeyIR, type SqlForeignKeyIRInput, SqlIndexIR, type SqlIndexIRInput, type SqlReferentialAction, SqlSchemaIR, type SqlSchemaIRInput, SqlSchemaIRNode, SqlTableIR, type SqlTableIRInput, SqlUniqueIR, type SqlUniqueIRInput, assertNode, defineNonEnumerable, relationalNodeEntityKind, relationalNodeGranularity, sqlColumnTypesEqual, sqlDefaultValuesEqual };
@@ -1,2 +1,2 @@
1
- import { _ as sqlDefaultValuesEqual, a as SqlColumnIR, c as SqlSchemaIR, d as SqlUniqueIR, f as assertNode, g as sqlColumnTypesEqual, h as relationalNodeGranularity, i as SqlColumnDefaultIR, l as SqlSchemaIRNode, m as relationalNodeEntityKind, n as RelationalSchemaNodeKind, o as SqlForeignKeyIR, p as defineNonEnumerable, r as SqlCheckConstraintIR, s as SqlIndexIR, t as PrimaryKey, u as SqlTableIR } from "./types-egs_vme1-DRhYFwIT.mjs";
1
+ import { _ as sqlDefaultValuesEqual, a as SqlColumnIR, c as SqlSchemaIR, d as SqlUniqueIR, f as assertNode, g as sqlColumnTypesEqual, h as relationalNodeGranularity, i as SqlColumnDefaultIR, l as SqlSchemaIRNode, m as relationalNodeEntityKind, n as RelationalSchemaNodeKind, o as SqlForeignKeyIR, p as defineNonEnumerable, r as SqlCheckConstraintIR, s as SqlIndexIR, t as PrimaryKey, u as SqlTableIR } from "./types-DoyiTsjg-DDTmYyNY.mjs";
2
2
  export { PrimaryKey, RelationalSchemaNodeKind, SqlCheckConstraintIR, SqlColumnDefaultIR, SqlColumnIR, SqlForeignKeyIR, SqlIndexIR, SqlSchemaIR, SqlSchemaIRNode, SqlTableIR, SqlUniqueIR, assertNode, defineNonEnumerable, relationalNodeEntityKind, relationalNodeGranularity, sqlColumnTypesEqual, sqlDefaultValuesEqual };
@@ -1,4 +1,4 @@
1
- import { n as isSqlDataType, t as findSqlDataTypeCollision } from "./sql-data-type-BSi0X331-OXbBFXDh.mjs";
1
+ import { n as isSqlDataType, t as findSqlDataTypeCollision } from "./sql-data-type-D5cI3M07-DIcPP8s1.mjs";
2
2
  import { i as assertNothingCastsFromSqlExpression } from "./sql-expression-BJCuy-WI.mjs";
3
3
  import { u as isStorageTypeInstance } from "./types-M_FeBD9w.mjs";
4
4
  import { ifDefined } from "@prisma/orm-framework/utils/defined";
@@ -259,4 +259,4 @@ function verifySqlSchemaByDiff(input) {
259
259
  //#endregion
260
260
  export { computeStorageTypeVerdict as a, verifySqlSchemaByDiff as c, computeSqlDiffVerdict as i, classifyDiffSubjectGranularity as n, enforceSqlDataTypeInvariants as o, classifySqlDiffIssue as r, extractCodecControlHooks as s, classifyDiffEntityKind as t };
261
261
 
262
- //# sourceMappingURL=schema-verify-BwRdzbHb-nDeE75xa.mjs.map
262
+ //# sourceMappingURL=schema-verify-BwRdzbHb-BzdgK4xv.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-verify-BwRdzbHb-nDeE75xa.mjs","names":[],"sources":["../../../../2-sql/9-family/dist/schema-verify-BwRdzbHb.mjs"],"sourcesContent":["import { assertNothingCastsFromSqlExpression } from \"@internal/sql-contract/sql-expression\";\nimport { VERIFY_CODE_SCHEMA_FAILURE, assertUniqueCodecOwner, dispositionForCategory, issueOutcome } from \"@internal/framework-components/control\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { runtimeError } from \"@internal/framework-components/components\";\nimport { findSqlDataTypeCollision, isSqlDataType } from \"@internal/sql-contract/data-type\";\nimport { isStorageTypeInstance } from \"@internal/sql-contract/types\";\nimport { effectiveControlPolicy } from \"@internal/contract/types\";\n//#region src/core/assembly.ts\nfunction hasCodecControlHooks(descriptor) {\n\tif (typeof descriptor !== \"object\" || descriptor === null) return false;\n\tconst hooks = blindCast(descriptor).types?.codecTypes?.controlPlaneHooks;\n\treturn hooks !== null && hooks !== void 0 && typeof hooks === \"object\";\n}\nfunction extractCodecControlHooks(descriptors) {\n\tconst hooks = /* @__PURE__ */ new Map();\n\tconst owners = /* @__PURE__ */ new Map();\n\tfor (const descriptor of descriptors) {\n\t\tif (typeof descriptor !== \"object\" || descriptor === null) continue;\n\t\tif (!hasCodecControlHooks(descriptor)) continue;\n\t\tconst controlPlaneHooks = descriptor.types.codecTypes.controlPlaneHooks;\n\t\tfor (const [codecId, hook] of Object.entries(controlPlaneHooks)) {\n\t\t\tassertUniqueCodecOwner({\n\t\t\t\tcodecId,\n\t\t\t\towners,\n\t\t\t\tdescriptorId: descriptor.id,\n\t\t\t\tentityLabel: \"control hooks\",\n\t\t\t\tentityOwnershipLabel: \"owner\"\n\t\t\t});\n\t\t\thooks.set(codecId, hook);\n\t\t\towners.set(codecId, descriptor.id);\n\t\t}\n\t}\n\treturn hooks;\n}\n/**\n* The SQL family's checks of the stack's data types and codecs, each naming the contributor:\n* no two SQL data types would both recognise one reported type, by colliding claiming texts or by\n* claiming the same kind; no data type casts from `sql/expression`; every type stored as another\n* names a registered SQL data type; and every codec represents a\n* SQL data type, because a codec represents a column's type and `sql/expression` is the one data\n* type no column has.\n*/\nfunction enforceSqlDataTypeInvariants(declaredDataTypes, codecDescriptors) {\n\tconst declaredById = new Map(declaredDataTypes.map((declared) => [declared.type.id, declared]));\n\tconst capitalized = (text) => `${text.charAt(0).toUpperCase()}${text.slice(1)}`;\n\tconst describe = (type) => `data type \"${type.id}\" contributed by \"${declaredById.get(type.id)?.contributedBy ?? \"<unknown>\"}\"`;\n\tconst collision = findSqlDataTypeCollision(declaredDataTypes.map(({ type }) => type));\n\tif (collision !== void 0) {\n\t\tconst { first, second, claims } = collision;\n\t\tif (claims.by === \"kind\") throw new InternalError(`The ${describe(first)} and the ${describe(second)} both claim the kind \"${claims.kind}\".`);\n\t\tthrow new InternalError(`The ${describe(first)} claims the text \"${claims.first}\", which collides with the text \"${claims.second}\" claimed by the ${describe(second)}.`);\n\t}\n\tassertNothingCastsFromSqlExpression(declaredDataTypes);\n\tfor (const { type, contributedBy } of declaredDataTypes) {\n\t\tif (!isSqlDataType(type) || type.sql.storedAs === void 0) continue;\n\t\tconst storage = declaredById.get(type.sql.storedAs)?.type;\n\t\tif (storage !== void 0 && isSqlDataType(storage)) {\n\t\t\tconst further = storage.sql.storedAs;\n\t\t\tif (further === void 0) continue;\n\t\t\tthrow new InternalError(`${capitalized(describe(type))} is stored as \"${storage.id}\", which is itself stored as \"${further}\". Name \"${further}\" as the type it is stored as.`);\n\t\t}\n\t\tthrow runtimeError(\"CONTRACT.DATA_TYPE_UNREGISTERED\", `Data type \"${type.id}\" is stored as data type \"${type.sql.storedAs}\", which no component registers. Contributed by \"${contributedBy}\".`, {\n\t\t\tdataType: type.sql.storedAs,\n\t\t\tcontributedBy\n\t\t});\n\t}\n\tfor (const codec of codecDescriptors) {\n\t\tconst represented = declaredById.get(codec.dataType)?.type;\n\t\tif (represented === void 0 || isSqlDataType(represented)) continue;\n\t\tthrow new InternalError(`Codec \"${codec.codecId}\" represents ${describe(represented)}, which is not a SQL data type. In a SQL stack a codec represents a column's type, so its data type is declared with sqlDataType.`);\n\t}\n}\n//#endregion\n//#region src/core/diff/verifier-disposition.ts\n/**\n* Classifies a codec `verifyType` hook finding into the target-neutral\n* categories the framework grades. A storage type is a named type instance\n* (e.g. a native enum); the only shape divergence it can carry is a change\n* to its value set, so a paired mismatch always classifies as `valueDrift`.\n*/\nfunction classifyStorageTypeDiffIssue(issue) {\n\tif (issueOutcome(issue) === \"not-found\") return \"declaredMissing\";\n\tif (issueOutcome(issue) === \"not-expected\") return \"extraAuxiliary\";\n\treturn \"valueDrift\";\n}\nfunction verifierDisposition(controlPolicy, issue) {\n\treturn dispositionForCategory(controlPolicy, classifyStorageTypeDiffIssue(issue));\n}\n//#endregion\n//#region src/core/diff/schema-verify.ts\nfunction issueNode(issue) {\n\tconst node = issue.expected ?? issue.actual;\n\tif (node === void 0) return void 0;\n\treturn blindCast(node);\n}\n/**\n* Resolves an issue's framework-neutral {@link DiffSubjectGranularity} on\n* demand, from the issue's node's `nodeKind` via the target-provided\n* `granularityOf` map. The node carries only its `nodeKind` identity, never a\n* classification, and nothing is stamped onto the issue — every consumer\n* (the family verdict below, the framework aggregate's unclaimed-elements\n* sweep via {@link import('@internal/framework-components/control').SchemaSubjectClassifierCapable})\n* calls this the same way, resolved by the family/target that owns the node\n* vocabulary. `undefined` for an issue with no node.\n*/\nfunction classifyDiffSubjectGranularity(issue, granularityOf) {\n\tconst node = issueNode(issue);\n\treturn node === void 0 ? void 0 : granularityOf(node.nodeKind);\n}\n/**\n* Resolves an issue's storage `entityKind` on demand, from the issue's\n* node's `nodeKind` via the target-provided `entityKindOf` map — the sibling\n* of {@link classifyDiffSubjectGranularity}, called the same way by the same\n* consumers (via\n* {@link import('@internal/framework-components/control').SchemaSubjectClassifierCapable}).\n* `undefined` for an issue with no node, or for a node kind with no storage\n* entity of its own.\n*/\nfunction classifyDiffEntityKind(issue, entityKindOf) {\n\tconst node = issueNode(issue);\n\treturn node === void 0 ? void 0 : entityKindOf(node.nodeKind);\n}\n/**\n* Re-keys the legacy `classifySqlVerifierIssueKind` category mapping on the\n* issue's {@link DiffSubjectGranularity} (resolved via `granularityOf`) + the\n* issue reason. The vocabulary maps one-to-one: an undeclared live entity or\n* namespace is `extraTopLevelObject`, an undeclared live field\n* `extraNestedElement`, undeclared auxiliaries (constraints, indexes,\n* defaults) and structural leaves (policies) `extraAuxiliary`; every paired\n* divergence is `declaredIncompatible`; anything the database lacks is\n* `declaredMissing`.\n* `granularityOf` is the target's classifier, so target and extension node\n* kinds classify without the family importing them.\n*/\nfunction classifySqlDiffIssue(issue, granularityOf) {\n\tif (issueOutcome(issue) === \"not-found\") return \"declaredMissing\";\n\tif (issueOutcome(issue) === \"not-expected\") {\n\t\tconst granularity = classifyDiffSubjectGranularity(issue, granularityOf);\n\t\tif (granularity === \"entity\" || granularity === \"namespace\") return \"extraTopLevelObject\";\n\t\tif (granularity === \"field\") return \"extraNestedElement\";\n\t\treturn \"extraAuxiliary\";\n\t}\n\treturn \"declaredIncompatible\";\n}\n/**\n* Whether a `not-expected` issue is a strict-mode-only finding. The legacy\n* walk detected every relational extra (namespaces, entities, fields, and\n* their auxiliaries) only under `--strict`; the structural diff (roots, RLS\n* policies, roles) was never strict-gated — its extras fail in both modes.\n* Keyed on the issue's granularity, resolved via `granularityOf`.\n*/\nfunction isStrictOnlyExtra(issue, granularityOf) {\n\tconst granularity = classifyDiffSubjectGranularity(issue, granularityOf);\n\treturn granularity === \"namespace\" || granularity === \"entity\" || granularity === \"field\" || granularity === \"auxiliary\";\n}\n/**\n* Applies the two consumer filters to a diff issue list: strict gating\n* (relational `not-expected` findings drop in lenient mode) and\n* control-policy disposition (each surviving issue grades against its\n* subject table's effective policy; suppressed issues drop, `observed`\n* subjects warn). The verify verdict is `failures.length === 0`.\n*/\nfunction computeSqlDiffVerdict(input) {\n\tconst failures = [];\n\tconst warnings = [];\n\tfor (const issue of input.issues) {\n\t\tif (!input.strict && issueOutcome(issue) === \"not-expected\" && isStrictOnlyExtra(issue, input.granularityOf)) continue;\n\t\tconst disposition = dispositionForCategory(effectiveControlPolicy(input.resolveControlPolicy(issue), input.defaultControlPolicy), classifySqlDiffIssue(issue, input.granularityOf));\n\t\tif (disposition === \"suppress\") continue;\n\t\tif (disposition === \"warn\") {\n\t\t\twarnings.push(issue);\n\t\t\tcontinue;\n\t\t}\n\t\tfailures.push(issue);\n\t}\n\treturn {\n\t\tfailures,\n\t\twarnings\n\t};\n}\nfunction computeStorageTypeVerdict(input) {\n\tconst failures = [];\n\tconst warnings = [];\n\tconst policy = effectiveControlPolicy(void 0, input.contract.defaultControlPolicy);\n\tfor (const pair of input.namespacePairs) {\n\t\tif (pair.actual === void 0) continue;\n\t\tfor (const [typeName, typeInstance] of Object.entries(input.contract.storage.types ?? {})) {\n\t\t\tif (!isStorageTypeInstance(typeInstance)) continue;\n\t\t\tconst hook = input.codecHooks.get(typeInstance.codecId);\n\t\t\tif (!hook?.verifyType) continue;\n\t\t\tconst typeIssues = hook.verifyType({\n\t\t\t\ttypeName,\n\t\t\t\ttypeInstance,\n\t\t\t\tschema: pair.actual\n\t\t\t});\n\t\t\tfor (const issue of typeIssues) {\n\t\t\t\tconst disposition = verifierDisposition(policy, issue);\n\t\t\t\tif (disposition === \"suppress\") continue;\n\t\t\t\tif (disposition === \"warn\") {\n\t\t\t\t\twarnings.push(issue);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tfailures.push(issue);\n\t\t\t}\n\t\t}\n\t}\n\treturn {\n\t\tfailures,\n\t\twarnings\n\t};\n}\n/**\n* THE SQL schema verify: runs the target's full-tree node diff, grades it\n* through the family's post-diff filters (strict gating + control-policy\n* disposition) plus the codec `verifyType` hook findings, and wraps the\n* verdict in the issue-based result envelope. `ok` holds exactly when both\n* issue lists are empty — the lists carry the verdict's failures.\n*/\nfunction verifySqlSchemaByDiff(input) {\n\tconst startTime = Date.now();\n\tconst verdictDiff = input.diffSchema({\n\t\tcontract: input.contract,\n\t\tschema: input.schema,\n\t\tframeworkComponents: input.frameworkComponents\n\t});\n\tconst diffVerdict = computeSqlDiffVerdict({\n\t\tissues: verdictDiff.issues,\n\t\tresolveControlPolicy: verdictDiff.resolveControlPolicy,\n\t\tstrict: input.strict,\n\t\tdefaultControlPolicy: input.contract.defaultControlPolicy,\n\t\tgranularityOf: input.granularityOf\n\t});\n\tconst storageTypeVerdict = computeStorageTypeVerdict({\n\t\tcontract: input.contract,\n\t\tnamespacePairs: verdictDiff.namespacePairs,\n\t\tcodecHooks: extractCodecControlHooks(input.frameworkComponents)\n\t});\n\tconst failCount = diffVerdict.failures.length + storageTypeVerdict.failures.length;\n\tconst ok = failCount === 0;\n\tconst profileHash = \"profileHash\" in input.contract && typeof input.contract.profileHash === \"string\" ? input.contract.profileHash : void 0;\n\treturn {\n\t\tok,\n\t\t...ok ? {} : { code: VERIFY_CODE_SCHEMA_FAILURE },\n\t\tsummary: ok ? \"Database schema satisfies contract\" : `Database schema does not satisfy contract (${failCount} failure${failCount === 1 ? \"\" : \"s\"})`,\n\t\tcontract: {\n\t\t\tstorageHash: input.contract.storage.storageHash,\n\t\t\t...ifDefined(\"profileHash\", profileHash)\n\t\t},\n\t\ttarget: {\n\t\t\texpected: input.contract.target,\n\t\t\tactual: input.contract.target\n\t\t},\n\t\tschema: {\n\t\t\tissues: [...diffVerdict.failures, ...storageTypeVerdict.failures],\n\t\t\twarnings: { issues: [...diffVerdict.warnings, ...storageTypeVerdict.warnings] }\n\t\t},\n\t\tmeta: { strict: input.strict },\n\t\ttimings: { total: Date.now() - startTime }\n\t};\n}\n//#endregion\nexport { computeStorageTypeVerdict as a, extractCodecControlHooks as c, computeSqlDiffVerdict as i, classifyDiffSubjectGranularity as n, verifySqlSchemaByDiff as o, classifySqlDiffIssue as r, enforceSqlDataTypeInvariants as s, classifyDiffEntityKind as t };\n\n//# sourceMappingURL=schema-verify-BwRdzbHb.mjs.map"],"mappings":"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"}
1
+ {"version":3,"file":"schema-verify-BwRdzbHb-BzdgK4xv.mjs","names":[],"sources":["../../../../2-sql/9-family/dist/schema-verify-BwRdzbHb.mjs"],"sourcesContent":["import { assertNothingCastsFromSqlExpression } from \"@internal/sql-contract/sql-expression\";\nimport { VERIFY_CODE_SCHEMA_FAILURE, assertUniqueCodecOwner, dispositionForCategory, issueOutcome } from \"@internal/framework-components/control\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { runtimeError } from \"@internal/framework-components/components\";\nimport { findSqlDataTypeCollision, isSqlDataType } from \"@internal/sql-contract/data-type\";\nimport { isStorageTypeInstance } from \"@internal/sql-contract/types\";\nimport { effectiveControlPolicy } from \"@internal/contract/types\";\n//#region src/core/assembly.ts\nfunction hasCodecControlHooks(descriptor) {\n\tif (typeof descriptor !== \"object\" || descriptor === null) return false;\n\tconst hooks = blindCast(descriptor).types?.codecTypes?.controlPlaneHooks;\n\treturn hooks !== null && hooks !== void 0 && typeof hooks === \"object\";\n}\nfunction extractCodecControlHooks(descriptors) {\n\tconst hooks = /* @__PURE__ */ new Map();\n\tconst owners = /* @__PURE__ */ new Map();\n\tfor (const descriptor of descriptors) {\n\t\tif (typeof descriptor !== \"object\" || descriptor === null) continue;\n\t\tif (!hasCodecControlHooks(descriptor)) continue;\n\t\tconst controlPlaneHooks = descriptor.types.codecTypes.controlPlaneHooks;\n\t\tfor (const [codecId, hook] of Object.entries(controlPlaneHooks)) {\n\t\t\tassertUniqueCodecOwner({\n\t\t\t\tcodecId,\n\t\t\t\towners,\n\t\t\t\tdescriptorId: descriptor.id,\n\t\t\t\tentityLabel: \"control hooks\",\n\t\t\t\tentityOwnershipLabel: \"owner\"\n\t\t\t});\n\t\t\thooks.set(codecId, hook);\n\t\t\towners.set(codecId, descriptor.id);\n\t\t}\n\t}\n\treturn hooks;\n}\n/**\n* The SQL family's checks of the stack's data types and codecs, each naming the contributor:\n* no two SQL data types would both recognise one reported type, by colliding claiming texts or by\n* claiming the same kind; no data type casts from `sql/expression`; every type stored as another\n* names a registered SQL data type; and every codec represents a\n* SQL data type, because a codec represents a column's type and `sql/expression` is the one data\n* type no column has.\n*/\nfunction enforceSqlDataTypeInvariants(declaredDataTypes, codecDescriptors) {\n\tconst declaredById = new Map(declaredDataTypes.map((declared) => [declared.type.id, declared]));\n\tconst capitalized = (text) => `${text.charAt(0).toUpperCase()}${text.slice(1)}`;\n\tconst describe = (type) => `data type \"${type.id}\" contributed by \"${declaredById.get(type.id)?.contributedBy ?? \"<unknown>\"}\"`;\n\tconst collision = findSqlDataTypeCollision(declaredDataTypes.map(({ type }) => type));\n\tif (collision !== void 0) {\n\t\tconst { first, second, claims } = collision;\n\t\tif (claims.by === \"kind\") throw new InternalError(`The ${describe(first)} and the ${describe(second)} both claim the kind \"${claims.kind}\".`);\n\t\tthrow new InternalError(`The ${describe(first)} claims the text \"${claims.first}\", which collides with the text \"${claims.second}\" claimed by the ${describe(second)}.`);\n\t}\n\tassertNothingCastsFromSqlExpression(declaredDataTypes);\n\tfor (const { type, contributedBy } of declaredDataTypes) {\n\t\tif (!isSqlDataType(type) || type.sql.storedAs === void 0) continue;\n\t\tconst storage = declaredById.get(type.sql.storedAs)?.type;\n\t\tif (storage !== void 0 && isSqlDataType(storage)) {\n\t\t\tconst further = storage.sql.storedAs;\n\t\t\tif (further === void 0) continue;\n\t\t\tthrow new InternalError(`${capitalized(describe(type))} is stored as \"${storage.id}\", which is itself stored as \"${further}\". Name \"${further}\" as the type it is stored as.`);\n\t\t}\n\t\tthrow runtimeError(\"CONTRACT.DATA_TYPE_UNREGISTERED\", `Data type \"${type.id}\" is stored as data type \"${type.sql.storedAs}\", which no component registers. Contributed by \"${contributedBy}\".`, {\n\t\t\tdataType: type.sql.storedAs,\n\t\t\tcontributedBy\n\t\t});\n\t}\n\tfor (const codec of codecDescriptors) {\n\t\tconst represented = declaredById.get(codec.dataType)?.type;\n\t\tif (represented === void 0 || isSqlDataType(represented)) continue;\n\t\tthrow new InternalError(`Codec \"${codec.codecId}\" represents ${describe(represented)}, which is not a SQL data type. In a SQL stack a codec represents a column's type, so its data type is declared with sqlDataType.`);\n\t}\n}\n//#endregion\n//#region src/core/diff/verifier-disposition.ts\n/**\n* Classifies a codec `verifyType` hook finding into the target-neutral\n* categories the framework grades. A storage type is a named type instance\n* (e.g. a native enum); the only shape divergence it can carry is a change\n* to its value set, so a paired mismatch always classifies as `valueDrift`.\n*/\nfunction classifyStorageTypeDiffIssue(issue) {\n\tif (issueOutcome(issue) === \"not-found\") return \"declaredMissing\";\n\tif (issueOutcome(issue) === \"not-expected\") return \"extraAuxiliary\";\n\treturn \"valueDrift\";\n}\nfunction verifierDisposition(controlPolicy, issue) {\n\treturn dispositionForCategory(controlPolicy, classifyStorageTypeDiffIssue(issue));\n}\n//#endregion\n//#region src/core/diff/schema-verify.ts\nfunction issueNode(issue) {\n\tconst node = issue.expected ?? issue.actual;\n\tif (node === void 0) return void 0;\n\treturn blindCast(node);\n}\n/**\n* Resolves an issue's framework-neutral {@link DiffSubjectGranularity} on\n* demand, from the issue's node's `nodeKind` via the target-provided\n* `granularityOf` map. The node carries only its `nodeKind` identity, never a\n* classification, and nothing is stamped onto the issue — every consumer\n* (the family verdict below, the framework aggregate's unclaimed-elements\n* sweep via {@link import('@internal/framework-components/control').SchemaSubjectClassifierCapable})\n* calls this the same way, resolved by the family/target that owns the node\n* vocabulary. `undefined` for an issue with no node.\n*/\nfunction classifyDiffSubjectGranularity(issue, granularityOf) {\n\tconst node = issueNode(issue);\n\treturn node === void 0 ? void 0 : granularityOf(node.nodeKind);\n}\n/**\n* Resolves an issue's storage `entityKind` on demand, from the issue's\n* node's `nodeKind` via the target-provided `entityKindOf` map — the sibling\n* of {@link classifyDiffSubjectGranularity}, called the same way by the same\n* consumers (via\n* {@link import('@internal/framework-components/control').SchemaSubjectClassifierCapable}).\n* `undefined` for an issue with no node, or for a node kind with no storage\n* entity of its own.\n*/\nfunction classifyDiffEntityKind(issue, entityKindOf) {\n\tconst node = issueNode(issue);\n\treturn node === void 0 ? void 0 : entityKindOf(node.nodeKind);\n}\n/**\n* Re-keys the legacy `classifySqlVerifierIssueKind` category mapping on the\n* issue's {@link DiffSubjectGranularity} (resolved via `granularityOf`) + the\n* issue reason. The vocabulary maps one-to-one: an undeclared live entity or\n* namespace is `extraTopLevelObject`, an undeclared live field\n* `extraNestedElement`, undeclared auxiliaries (constraints, indexes,\n* defaults) and structural leaves (policies) `extraAuxiliary`; every paired\n* divergence is `declaredIncompatible`; anything the database lacks is\n* `declaredMissing`.\n* `granularityOf` is the target's classifier, so target and extension node\n* kinds classify without the family importing them.\n*/\nfunction classifySqlDiffIssue(issue, granularityOf) {\n\tif (issueOutcome(issue) === \"not-found\") return \"declaredMissing\";\n\tif (issueOutcome(issue) === \"not-expected\") {\n\t\tconst granularity = classifyDiffSubjectGranularity(issue, granularityOf);\n\t\tif (granularity === \"entity\" || granularity === \"namespace\") return \"extraTopLevelObject\";\n\t\tif (granularity === \"field\") return \"extraNestedElement\";\n\t\treturn \"extraAuxiliary\";\n\t}\n\treturn \"declaredIncompatible\";\n}\n/**\n* Whether a `not-expected` issue is a strict-mode-only finding. The legacy\n* walk detected every relational extra (namespaces, entities, fields, and\n* their auxiliaries) only under `--strict`; the structural diff (roots, RLS\n* policies, roles) was never strict-gated — its extras fail in both modes.\n* Keyed on the issue's granularity, resolved via `granularityOf`.\n*/\nfunction isStrictOnlyExtra(issue, granularityOf) {\n\tconst granularity = classifyDiffSubjectGranularity(issue, granularityOf);\n\treturn granularity === \"namespace\" || granularity === \"entity\" || granularity === \"field\" || granularity === \"auxiliary\";\n}\n/**\n* Applies the two consumer filters to a diff issue list: strict gating\n* (relational `not-expected` findings drop in lenient mode) and\n* control-policy disposition (each surviving issue grades against its\n* subject table's effective policy; suppressed issues drop, `observed`\n* subjects warn). The verify verdict is `failures.length === 0`.\n*/\nfunction computeSqlDiffVerdict(input) {\n\tconst failures = [];\n\tconst warnings = [];\n\tfor (const issue of input.issues) {\n\t\tif (!input.strict && issueOutcome(issue) === \"not-expected\" && isStrictOnlyExtra(issue, input.granularityOf)) continue;\n\t\tconst disposition = dispositionForCategory(effectiveControlPolicy(input.resolveControlPolicy(issue), input.defaultControlPolicy), classifySqlDiffIssue(issue, input.granularityOf));\n\t\tif (disposition === \"suppress\") continue;\n\t\tif (disposition === \"warn\") {\n\t\t\twarnings.push(issue);\n\t\t\tcontinue;\n\t\t}\n\t\tfailures.push(issue);\n\t}\n\treturn {\n\t\tfailures,\n\t\twarnings\n\t};\n}\nfunction computeStorageTypeVerdict(input) {\n\tconst failures = [];\n\tconst warnings = [];\n\tconst policy = effectiveControlPolicy(void 0, input.contract.defaultControlPolicy);\n\tfor (const pair of input.namespacePairs) {\n\t\tif (pair.actual === void 0) continue;\n\t\tfor (const [typeName, typeInstance] of Object.entries(input.contract.storage.types ?? {})) {\n\t\t\tif (!isStorageTypeInstance(typeInstance)) continue;\n\t\t\tconst hook = input.codecHooks.get(typeInstance.codecId);\n\t\t\tif (!hook?.verifyType) continue;\n\t\t\tconst typeIssues = hook.verifyType({\n\t\t\t\ttypeName,\n\t\t\t\ttypeInstance,\n\t\t\t\tschema: pair.actual\n\t\t\t});\n\t\t\tfor (const issue of typeIssues) {\n\t\t\t\tconst disposition = verifierDisposition(policy, issue);\n\t\t\t\tif (disposition === \"suppress\") continue;\n\t\t\t\tif (disposition === \"warn\") {\n\t\t\t\t\twarnings.push(issue);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tfailures.push(issue);\n\t\t\t}\n\t\t}\n\t}\n\treturn {\n\t\tfailures,\n\t\twarnings\n\t};\n}\n/**\n* THE SQL schema verify: runs the target's full-tree node diff, grades it\n* through the family's post-diff filters (strict gating + control-policy\n* disposition) plus the codec `verifyType` hook findings, and wraps the\n* verdict in the issue-based result envelope. `ok` holds exactly when both\n* issue lists are empty — the lists carry the verdict's failures.\n*/\nfunction verifySqlSchemaByDiff(input) {\n\tconst startTime = Date.now();\n\tconst verdictDiff = input.diffSchema({\n\t\tcontract: input.contract,\n\t\tschema: input.schema,\n\t\tframeworkComponents: input.frameworkComponents\n\t});\n\tconst diffVerdict = computeSqlDiffVerdict({\n\t\tissues: verdictDiff.issues,\n\t\tresolveControlPolicy: verdictDiff.resolveControlPolicy,\n\t\tstrict: input.strict,\n\t\tdefaultControlPolicy: input.contract.defaultControlPolicy,\n\t\tgranularityOf: input.granularityOf\n\t});\n\tconst storageTypeVerdict = computeStorageTypeVerdict({\n\t\tcontract: input.contract,\n\t\tnamespacePairs: verdictDiff.namespacePairs,\n\t\tcodecHooks: extractCodecControlHooks(input.frameworkComponents)\n\t});\n\tconst failCount = diffVerdict.failures.length + storageTypeVerdict.failures.length;\n\tconst ok = failCount === 0;\n\tconst profileHash = \"profileHash\" in input.contract && typeof input.contract.profileHash === \"string\" ? input.contract.profileHash : void 0;\n\treturn {\n\t\tok,\n\t\t...ok ? {} : { code: VERIFY_CODE_SCHEMA_FAILURE },\n\t\tsummary: ok ? \"Database schema satisfies contract\" : `Database schema does not satisfy contract (${failCount} failure${failCount === 1 ? \"\" : \"s\"})`,\n\t\tcontract: {\n\t\t\tstorageHash: input.contract.storage.storageHash,\n\t\t\t...ifDefined(\"profileHash\", profileHash)\n\t\t},\n\t\ttarget: {\n\t\t\texpected: input.contract.target,\n\t\t\tactual: input.contract.target\n\t\t},\n\t\tschema: {\n\t\t\tissues: [...diffVerdict.failures, ...storageTypeVerdict.failures],\n\t\t\twarnings: { issues: [...diffVerdict.warnings, ...storageTypeVerdict.warnings] }\n\t\t},\n\t\tmeta: { strict: input.strict },\n\t\ttimings: { total: Date.now() - startTime }\n\t};\n}\n//#endregion\nexport { computeStorageTypeVerdict as a, extractCodecControlHooks as c, computeSqlDiffVerdict as i, classifyDiffSubjectGranularity as n, verifySqlSchemaByDiff as o, classifySqlDiffIssue as r, enforceSqlDataTypeInvariants as s, classifyDiffEntityKind as t };\n\n//# sourceMappingURL=schema-verify-BwRdzbHb.mjs.map"],"mappings":";;;;;;;;;;AAUA,SAAS,qBAAqB,YAAY;CACzC,IAAI,OAAO,eAAe,YAAY,eAAe,MAAM,OAAO;CAClE,MAAM,QAAQ,UAAU,UAAU,CAAC,CAAC,OAAO,YAAY;CACvD,OAAO,UAAU,QAAQ,UAAU,KAAK,KAAK,OAAO,UAAU;AAC/D;AACA,SAAS,yBAAyB,aAAa;CAC9C,MAAM,wBAAwB,IAAI,IAAI;CACtC,MAAM,yBAAyB,IAAI,IAAI;CACvC,KAAK,MAAM,cAAc,aAAa;EACrC,IAAI,OAAO,eAAe,YAAY,eAAe,MAAM;EAC3D,IAAI,CAAC,qBAAqB,UAAU,GAAG;EACvC,MAAM,oBAAoB,WAAW,MAAM,WAAW;EACtD,KAAK,MAAM,CAAC,SAAS,SAAS,OAAO,QAAQ,iBAAiB,GAAG;GAChE,uBAAuB;IACtB;IACA;IACA,cAAc,WAAW;IACzB,aAAa;IACb,sBAAsB;GACvB,CAAC;GACD,MAAM,IAAI,SAAS,IAAI;GACvB,OAAO,IAAI,SAAS,WAAW,EAAE;EAClC;CACD;CACA,OAAO;AACR;;;;;;;;;AASA,SAAS,6BAA6B,mBAAmB,kBAAkB;CAC1E,MAAM,eAAe,IAAI,IAAI,kBAAkB,KAAK,aAAa,CAAC,SAAS,KAAK,IAAI,QAAQ,CAAC,CAAC;CAC9F,MAAM,eAAe,SAAS,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,KAAK,MAAM,CAAC;CAC5E,MAAM,YAAY,SAAS,cAAc,KAAK,GAAG,oBAAoB,aAAa,IAAI,KAAK,EAAE,CAAC,EAAE,iBAAiB,YAAY;CAC7H,MAAM,YAAY,yBAAyB,kBAAkB,KAAK,EAAE,WAAW,IAAI,CAAC;CACpF,IAAI,cAAc,KAAK,GAAG;EACzB,MAAM,EAAE,OAAO,QAAQ,WAAW;EAClC,IAAI,OAAO,OAAO,QAAQ,MAAM,IAAI,cAAc,OAAO,SAAS,KAAK,EAAE,WAAW,SAAS,MAAM,EAAE,wBAAwB,OAAO,KAAK,GAAG;EAC5I,MAAM,IAAI,cAAc,OAAO,SAAS,KAAK,EAAE,oBAAoB,OAAO,MAAM,mCAAmC,OAAO,OAAO,mBAAmB,SAAS,MAAM,EAAE,EAAE;CACxK;CACA,oCAAoC,iBAAiB;CACrD,KAAK,MAAM,EAAE,MAAM,mBAAmB,mBAAmB;EACxD,IAAI,CAAC,cAAc,IAAI,KAAK,KAAK,IAAI,aAAa,KAAK,GAAG;EAC1D,MAAM,UAAU,aAAa,IAAI,KAAK,IAAI,QAAQ,CAAC,EAAE;EACrD,IAAI,YAAY,KAAK,KAAK,cAAc,OAAO,GAAG;GACjD,MAAM,UAAU,QAAQ,IAAI;GAC5B,IAAI,YAAY,KAAK,GAAG;GACxB,MAAM,IAAI,cAAc,GAAG,YAAY,SAAS,IAAI,CAAC,EAAE,iBAAiB,QAAQ,GAAG,gCAAgC,QAAQ,WAAW,QAAQ,+BAA+B;EAC9K;EACA,MAAM,aAAa,mCAAmC,cAAc,KAAK,GAAG,4BAA4B,KAAK,IAAI,SAAS,mDAAmD,cAAc,KAAK;GAC/L,UAAU,KAAK,IAAI;GACnB;EACD,CAAC;CACF;CACA,KAAK,MAAM,SAAS,kBAAkB;EACrC,MAAM,cAAc,aAAa,IAAI,MAAM,QAAQ,CAAC,EAAE;EACtD,IAAI,gBAAgB,KAAK,KAAK,cAAc,WAAW,GAAG;EAC1D,MAAM,IAAI,cAAc,UAAU,MAAM,QAAQ,eAAe,SAAS,WAAW,EAAE,kIAAkI;CACxN;AACD;;;;;;;AASA,SAAS,6BAA6B,OAAO;CAC5C,IAAI,aAAa,KAAK,MAAM,aAAa,OAAO;CAChD,IAAI,aAAa,KAAK,MAAM,gBAAgB,OAAO;CACnD,OAAO;AACR;AACA,SAAS,oBAAoB,eAAe,OAAO;CAClD,OAAO,uBAAuB,eAAe,6BAA6B,KAAK,CAAC;AACjF;AAGA,SAAS,UAAU,OAAO;CACzB,MAAM,OAAO,MAAM,YAAY,MAAM;CACrC,IAAI,SAAS,KAAK,GAAG,OAAO,KAAK;CACjC,OAAO,UAAU,IAAI;AACtB;;;;;;;;;;;AAWA,SAAS,+BAA+B,OAAO,eAAe;CAC7D,MAAM,OAAO,UAAU,KAAK;CAC5B,OAAO,SAAS,KAAK,IAAI,KAAK,IAAI,cAAc,KAAK,QAAQ;AAC9D;;;;;;;;;;AAUA,SAAS,uBAAuB,OAAO,cAAc;CACpD,MAAM,OAAO,UAAU,KAAK;CAC5B,OAAO,SAAS,KAAK,IAAI,KAAK,IAAI,aAAa,KAAK,QAAQ;AAC7D;;;;;;;;;;;;;AAaA,SAAS,qBAAqB,OAAO,eAAe;CACnD,IAAI,aAAa,KAAK,MAAM,aAAa,OAAO;CAChD,IAAI,aAAa,KAAK,MAAM,gBAAgB;EAC3C,MAAM,cAAc,+BAA+B,OAAO,aAAa;EACvE,IAAI,gBAAgB,YAAY,gBAAgB,aAAa,OAAO;EACpE,IAAI,gBAAgB,SAAS,OAAO;EACpC,OAAO;CACR;CACA,OAAO;AACR;;;;;;;;AAQA,SAAS,kBAAkB,OAAO,eAAe;CAChD,MAAM,cAAc,+BAA+B,OAAO,aAAa;CACvE,OAAO,gBAAgB,eAAe,gBAAgB,YAAY,gBAAgB,WAAW,gBAAgB;AAC9G;;;;;;;;AAQA,SAAS,sBAAsB,OAAO;CACrC,MAAM,WAAW,CAAC;CAClB,MAAM,WAAW,CAAC;CAClB,KAAK,MAAM,SAAS,MAAM,QAAQ;EACjC,IAAI,CAAC,MAAM,UAAU,aAAa,KAAK,MAAM,kBAAkB,kBAAkB,OAAO,MAAM,aAAa,GAAG;EAC9G,MAAM,cAAc,uBAAuB,uBAAuB,MAAM,qBAAqB,KAAK,GAAG,MAAM,oBAAoB,GAAG,qBAAqB,OAAO,MAAM,aAAa,CAAC;EAClL,IAAI,gBAAgB,YAAY;EAChC,IAAI,gBAAgB,QAAQ;GAC3B,SAAS,KAAK,KAAK;GACnB;EACD;EACA,SAAS,KAAK,KAAK;CACpB;CACA,OAAO;EACN;EACA;CACD;AACD;AACA,SAAS,0BAA0B,OAAO;CACzC,MAAM,WAAW,CAAC;CAClB,MAAM,WAAW,CAAC;CAClB,MAAM,SAAS,uBAAuB,KAAK,GAAG,MAAM,SAAS,oBAAoB;CACjF,KAAK,MAAM,QAAQ,MAAM,gBAAgB;EACxC,IAAI,KAAK,WAAW,KAAK,GAAG;EAC5B,KAAK,MAAM,CAAC,UAAU,iBAAiB,OAAO,QAAQ,MAAM,SAAS,QAAQ,SAAS,CAAC,CAAC,GAAG;GAC1F,IAAI,CAAC,sBAAsB,YAAY,GAAG;GAC1C,MAAM,OAAO,MAAM,WAAW,IAAI,aAAa,OAAO;GACtD,IAAI,CAAC,MAAM,YAAY;GACvB,MAAM,aAAa,KAAK,WAAW;IAClC;IACA;IACA,QAAQ,KAAK;GACd,CAAC;GACD,KAAK,MAAM,SAAS,YAAY;IAC/B,MAAM,cAAc,oBAAoB,QAAQ,KAAK;IACrD,IAAI,gBAAgB,YAAY;IAChC,IAAI,gBAAgB,QAAQ;KAC3B,SAAS,KAAK,KAAK;KACnB;IACD;IACA,SAAS,KAAK,KAAK;GACpB;EACD;CACD;CACA,OAAO;EACN;EACA;CACD;AACD;;;;;;;;AAQA,SAAS,sBAAsB,OAAO;CACrC,MAAM,YAAY,KAAK,IAAI;CAC3B,MAAM,cAAc,MAAM,WAAW;EACpC,UAAU,MAAM;EAChB,QAAQ,MAAM;EACd,qBAAqB,MAAM;CAC5B,CAAC;CACD,MAAM,cAAc,sBAAsB;EACzC,QAAQ,YAAY;EACpB,sBAAsB,YAAY;EAClC,QAAQ,MAAM;EACd,sBAAsB,MAAM,SAAS;EACrC,eAAe,MAAM;CACtB,CAAC;CACD,MAAM,qBAAqB,0BAA0B;EACpD,UAAU,MAAM;EAChB,gBAAgB,YAAY;EAC5B,YAAY,yBAAyB,MAAM,mBAAmB;CAC/D,CAAC;CACD,MAAM,YAAY,YAAY,SAAS,SAAS,mBAAmB,SAAS;CAC5E,MAAM,KAAK,cAAc;CACzB,MAAM,cAAc,iBAAiB,MAAM,YAAY,OAAO,MAAM,SAAS,gBAAgB,WAAW,MAAM,SAAS,cAAc,KAAK;CAC1I,OAAO;EACN;EACA,GAAG,KAAK,CAAC,IAAI,EAAE,MAAM,2BAA2B;EAChD,SAAS,KAAK,uCAAuC,8CAA8C,UAAU,UAAU,cAAc,IAAI,KAAK,IAAI;EAClJ,UAAU;GACT,aAAa,MAAM,SAAS,QAAQ;GACpC,GAAG,UAAU,eAAe,WAAW;EACxC;EACA,QAAQ;GACP,UAAU,MAAM,SAAS;GACzB,QAAQ,MAAM,SAAS;EACxB;EACA,QAAQ;GACP,QAAQ,CAAC,GAAG,YAAY,UAAU,GAAG,mBAAmB,QAAQ;GAChE,UAAU,EAAE,QAAQ,CAAC,GAAG,YAAY,UAAU,GAAG,mBAAmB,QAAQ,EAAE;EAC/E;EACA,MAAM,EAAE,QAAQ,MAAM,OAAO;EAC7B,SAAS,EAAE,OAAO,KAAK,IAAI,IAAI,UAAU;CAC1C;AACD"}
@@ -1,7 +1,7 @@
1
1
  import { t as sqlContractCanonicalizationHooks } from "./canonicalization-hooks-dmXkOR4a.mjs";
2
2
  import { f as composeSqlEntityKinds } from "./entity-kinds-CQ_jwgYv-DoOBWwvX.mjs";
3
3
  import { c as isMaterializedSqlNamespace, o as SqlStorage } from "./types-M_FeBD9w.mjs";
4
- import { f as validateSqlContractFully, i as createSqlContractSchema, s as resolveSqlToOneRelationStorage } from "./validators-BCRydDG7.mjs";
4
+ import { f as validateSqlContractFully, i as createSqlContractSchema, s as resolveSqlToOneRelationStorage } from "./validators-BlONfdFH.mjs";
5
5
  import { t as sqlFamilyError } from "./errors-B5g0xWro-mWH2C07F.mjs";
6
6
  import { ifDefined } from "@prisma/orm-framework/utils/defined";
7
7
  import { ContractValidationError } from "@prisma/orm-framework/contract/contract-validation-error";
@@ -193,4 +193,4 @@ var SqlContractSerializer = class extends SqlContractSerializerBase {
193
193
  //#endregion
194
194
  export { SqlContractSerializerBase as n, SqlContractSerializer as t };
195
195
 
196
- //# sourceMappingURL=sql-contract-serializer-sMY3prTx-BT6HdXAE.mjs.map
196
+ //# sourceMappingURL=sql-contract-serializer-sMY3prTx-D-xfnqyD.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"sql-contract-serializer-sMY3prTx-BT6HdXAE.mjs","names":[],"sources":["../../../../2-sql/9-family/dist/sql-contract-serializer-sMY3prTx.mjs"],"sourcesContent":["import { t as sqlFamilyError } from \"./errors-B5g0xWro.mjs\";\nimport { hydrateNamespaceEntities } from \"@internal/framework-components/ir\";\nimport { sqlContractCanonicalizationHooks } from \"@internal/sql-contract/canonicalization-hooks\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { ContractValidationError } from \"@internal/contract/contract-validation-error\";\nimport { SqlStorage, isMaterializedSqlNamespace } from \"@internal/sql-contract/types\";\nimport { createSqlContractSchema, resolveSqlToOneRelationStorage, validateSqlContractFully } from \"@internal/sql-contract/validators\";\nimport { isPlainRecord as isPlainRecord$1 } from \"@internal/contract/is-plain-record\";\nimport { withDerivedToOneRelationNullability } from \"@internal/contract-authoring\";\nimport { composeSqlEntityKinds } from \"@internal/sql-contract/entity-kinds\";\nimport { type } from \"arktype\";\n//#region src/core/ir/sql-contract-serializer-base.ts\nconst NamespaceRawSchema = type({\n\tid: \"string\",\n\t\"kind?\": \"string\",\n\tentries: type({ \"+\": \"ignore\" })\n});\n/**\n* A `contract.json` written before to-one relations recorded `nullable` (rc.9 and earlier)\n* loads with the flag derived from storage: nullable when any local FK column is nullable or\n* cannot be resolved.\n*/\nfunction withSqlToOneRelationNullability(contract) {\n\tconst domain = withDerivedToOneRelationNullability(contract.domain, ({ model, relation }) => {\n\t\tconst { ownsForeignKey, columns } = resolveSqlToOneRelationStorage(contract, blindCast(model.storage), relation);\n\t\treturn {\n\t\t\townsReference: ownsForeignKey,\n\t\t\tlocalFieldNullability: columns.map((column) => column.nullable)\n\t\t};\n\t});\n\treturn {\n\t\t...contract,\n\t\tdomain\n\t};\n}\n/**\n* SQL family `ContractSerializer` abstract base. Carries the SQL-shared\n* deserialization pipeline:\n*\n* 1. `parseSqlContractStructure` validates the on-disk JSON envelope\n* against the SQL contract arktype schema (`validateSqlContractFully`)\n* and returns the validated flat-data shape.\n* 2. `hydrateSqlStorage` walks the validated `storage` subtree and\n* constructs the family-shared SQL Contract IR class hierarchy\n* (`SqlStorage` -> `StorageTable` -> `StorageColumn` / `PrimaryKey`\n* / …). The rest of the contract envelope is JSON-clean primitive\n* data and passes through unchanged.\n* 3. `constructTargetContract` is the target-specific extension hook;\n* defaults to identity. Targets that need to attach target-only\n* fields (e.g. target-specific derived storage fields) override it.\n*\n* Default `serializeContract` is identity over the contract — concrete\n* SQL targets ship JSON-clean class instances, so the contract value\n* can be stringified directly. The non-enumerable family-level `kind`\n* discriminator on `SqlNode` instances stays out of the persisted\n* envelope automatically. Targets that need to canonicalize on the way\n* out (key ordering, dropping computed-only fields) override\n* `serializeContract` directly.\n*/\nvar SqlContractSerializerBase = class {\n\tentityHydrationRegistry;\n\tdataTypes;\n\tcontractSchema;\n\tentryKinds;\n\tconstructor(entityHydrationRegistry = /* @__PURE__ */ new Map(), packEntityKinds = [], dataTypes = void 0) {\n\t\tthis.entityHydrationRegistry = entityHydrationRegistry;\n\t\tthis.dataTypes = dataTypes;\n\t\tthis.entryKinds = composeSqlEntityKinds(packEntityKinds);\n\t\tthis.contractSchema = packEntityKinds.length > 0 ? createSqlContractSchema(this.entryKinds) : void 0;\n\t}\n\tdeserializeContract(json) {\n\t\tconst validated = withSqlToOneRelationNullability(this.parseSqlContractStructure(json));\n\t\tconst hydrated = this.hydrateSqlStorage(validated);\n\t\treturn blindCast(this.constructTargetContract(hydrated));\n\t}\n\tserializeContract(contract) {\n\t\treturn blindCast(contract);\n\t}\n\tshouldPreserveEmpty = sqlContractCanonicalizationHooks.shouldPreserveEmpty;\n\tsortStorage = sqlContractCanonicalizationHooks.sortStorage;\n\thashCanonicalizationHooks = sqlContractCanonicalizationHooks;\n\tparseSqlContractStructure(json) {\n\t\treturn validateSqlContractFully(json, {\n\t\t\t...ifDefined(\"contractSchema\", this.contractSchema),\n\t\t\t...ifDefined(\"dataTypes\", this.dataTypes)\n\t\t});\n\t}\n\thydrateSqlStorage(validated) {\n\t\tconst types = validated.storage.types;\n\t\tconst hydratedTypes = types !== void 0 ? Object.fromEntries(Object.entries(types).map(([name, entry]) => [name, this.hydrateStorageTypeEntry(entry)])) : void 0;\n\t\tconst rawNamespaces = validated.storage.namespaces;\n\t\tif (rawNamespaces === void 0) throw new ContractValidationError(\"Contract storage.namespaces is required after structural validation\", \"structural\");\n\t\tconst hydratedNamespaces = this.hydrateSqlNamespaceMap(blindCast(rawNamespaces));\n\t\treturn {\n\t\t\t...validated,\n\t\t\tstorage: new SqlStorage({\n\t\t\t\tstorageHash: validated.storage.storageHash,\n\t\t\t\t...ifDefined(\"types\", hydratedTypes),\n\t\t\t\tnamespaces: blindCast(hydratedNamespaces)\n\t\t\t})\n\t\t};\n\t}\n\thydrateSqlNamespaceMap(namespaces) {\n\t\treturn Object.fromEntries(Object.entries(namespaces).map(([nsId, namespaceEntryRaw]) => {\n\t\t\tconst namespaceHydrated = this.hydrateSqlNamespaceEntry(nsId, namespaceEntryRaw);\n\t\t\tif (!isMaterializedSqlNamespace(namespaceHydrated)) throw sqlFamilyError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Target serializer bug: hydrateSqlNamespaceEntry for namespace \"${nsId}\" returned a non-NamespaceBase value. Override hydrateSqlNamespaceEntry to produce a target namespace concretion.`, {\n\t\t\t\twhy: \"The target contract serializer hydrated a namespace into a value that is not a materialized namespace concretion.\",\n\t\t\t\tfix: \"Fix the target package: its hydrateSqlNamespaceEntry override must return a target namespace concretion.\",\n\t\t\t\tmeta: { namespaceId: nsId }\n\t\t\t});\n\t\t\treturn [nsId, namespaceHydrated];\n\t\t}));\n\t}\n\thydrateSqlNamespaceEntry(nsId, raw) {\n\t\tconst id = typeof raw[\"id\"] === \"string\" ? raw[\"id\"] : nsId;\n\t\tconst parsed = NamespaceRawSchema({\n\t\t\t...raw,\n\t\t\tid\n\t\t});\n\t\tif (parsed instanceof type.errors) throw new ContractValidationError(`Namespace hydration failed: ${parsed.map((p) => p.message).join(\"; \")}`, \"structural\");\n\t\tconst entriesRaw = parsed.entries;\n\t\tconst rawEntriesMap = isPlainRecord$1(entriesRaw) ? entriesRaw : {};\n\t\tconst entriesInput = {};\n\t\tfor (const [key, innerMap] of Object.entries(rawEntriesMap)) entriesInput[key] = isPlainRecord$1(innerMap) ? innerMap : Object.freeze({});\n\t\tconst entriesOutput = hydrateNamespaceEntities(entriesInput, this.entryKinds, \"fail\", id);\n\t\tif (!Object.hasOwn(entriesOutput, \"table\")) entriesOutput[\"table\"] = {};\n\t\treturn blindCast({\n\t\t\tid,\n\t\t\tentries: entriesOutput\n\t\t});\n\t}\n\thydrateStorageTypeEntry(entry) {\n\t\tif (typeof entry !== \"object\" || entry === null) return entry;\n\t\tconst kind = isPlainRecord$1(entry) && \"kind\" in entry ? entry.kind : void 0;\n\t\tif (typeof kind !== \"string\") return entry;\n\t\tconst factory = this.entityHydrationRegistry.get(kind);\n\t\tif (factory === void 0) return entry;\n\t\treturn blindCast(factory(entry));\n\t}\n\tconstructTargetContract(hydrated) {\n\t\treturn blindCast(hydrated);\n\t}\n\t/**\n\t* Serializes a namespace's `entries` dict by walking every enumerable\n\t* kind — no kind is named here, mirroring the generic hydrate walk in\n\t* `hydrateSqlNamespaceEntry` above. `table` is the SQL family's one\n\t* universal base kind (every namespace carries it), so it is always\n\t* emitted, even when empty; every other kind — target- or\n\t* pack-contributed — is emitted only when it holds at least one entry.\n\t* A kind carried non-enumerable on `entries` is excluded here for free,\n\t* since `Object.entries` honors enumerability.\n\t*/\n\tserializeNamespaceEntries(entries) {\n\t\tconst out = { table: this.serializeEntries(entries[\"table\"] ?? {}) };\n\t\tfor (const [kind, record] of Object.entries(entries)) {\n\t\t\tif (kind === \"table\" || record == null || Object.keys(record).length === 0) continue;\n\t\t\tout[kind] = this.serializeEntries(record);\n\t\t}\n\t\treturn out;\n\t}\n\tserializeEntries(entries) {\n\t\tconst out = {};\n\t\tfor (const [name, entry] of Object.entries(entries)) out[name] = this.serializeJsonObject(entry);\n\t\treturn out;\n\t}\n\tserializeJsonObject(value) {\n\t\treturn blindCast(this.serializeJsonValue(value));\n\t}\n\tserializeJsonValue(value) {\n\t\treturn blindCast(JSON.parse(JSON.stringify(value)));\n\t}\n};\n//#endregion\n//#region src/core/ir/sql-contract-serializer.ts\n/**\n* Default SQL family `ContractSerializer` concretion. Inherits the\n* full SQL-shared deserialization pipeline (structural validation +\n* IR-class hydration) without pack-registered `storage.types`\n* hydration factories — targets that emit polymorphic JSON outside the\n* codec-typed envelope wire a target-specific subclass with a populated\n* registry (see Postgres). Family-level call sites instantiate this\n* default directly when no target serializer is supplied.\n*\n* Because this serializer has no target concretion, deserialization of\n* contracts that include namespace entries from JSON will throw unless\n* the caller provides pre-hydrated `NamespaceBase` instances. Production\n* paths always supply a target-specific serializer.\n*/\nvar SqlContractSerializer = class extends SqlContractSerializerBase {\n\tconstructor() {\n\t\tsuper(/* @__PURE__ */ new Map());\n\t}\n};\n//#endregion\nexport { SqlContractSerializerBase as n, SqlContractSerializer as t };\n\n//# sourceMappingURL=sql-contract-serializer-sMY3prTx.mjs.map"],"mappings":"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"}
1
+ {"version":3,"file":"sql-contract-serializer-sMY3prTx-D-xfnqyD.mjs","names":[],"sources":["../../../../2-sql/9-family/dist/sql-contract-serializer-sMY3prTx.mjs"],"sourcesContent":["import { t as sqlFamilyError } from \"./errors-B5g0xWro.mjs\";\nimport { hydrateNamespaceEntities } from \"@internal/framework-components/ir\";\nimport { sqlContractCanonicalizationHooks } from \"@internal/sql-contract/canonicalization-hooks\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { ContractValidationError } from \"@internal/contract/contract-validation-error\";\nimport { SqlStorage, isMaterializedSqlNamespace } from \"@internal/sql-contract/types\";\nimport { createSqlContractSchema, resolveSqlToOneRelationStorage, validateSqlContractFully } from \"@internal/sql-contract/validators\";\nimport { isPlainRecord as isPlainRecord$1 } from \"@internal/contract/is-plain-record\";\nimport { withDerivedToOneRelationNullability } from \"@internal/contract-authoring\";\nimport { composeSqlEntityKinds } from \"@internal/sql-contract/entity-kinds\";\nimport { type } from \"arktype\";\n//#region src/core/ir/sql-contract-serializer-base.ts\nconst NamespaceRawSchema = type({\n\tid: \"string\",\n\t\"kind?\": \"string\",\n\tentries: type({ \"+\": \"ignore\" })\n});\n/**\n* A `contract.json` written before to-one relations recorded `nullable` (rc.9 and earlier)\n* loads with the flag derived from storage: nullable when any local FK column is nullable or\n* cannot be resolved.\n*/\nfunction withSqlToOneRelationNullability(contract) {\n\tconst domain = withDerivedToOneRelationNullability(contract.domain, ({ model, relation }) => {\n\t\tconst { ownsForeignKey, columns } = resolveSqlToOneRelationStorage(contract, blindCast(model.storage), relation);\n\t\treturn {\n\t\t\townsReference: ownsForeignKey,\n\t\t\tlocalFieldNullability: columns.map((column) => column.nullable)\n\t\t};\n\t});\n\treturn {\n\t\t...contract,\n\t\tdomain\n\t};\n}\n/**\n* SQL family `ContractSerializer` abstract base. Carries the SQL-shared\n* deserialization pipeline:\n*\n* 1. `parseSqlContractStructure` validates the on-disk JSON envelope\n* against the SQL contract arktype schema (`validateSqlContractFully`)\n* and returns the validated flat-data shape.\n* 2. `hydrateSqlStorage` walks the validated `storage` subtree and\n* constructs the family-shared SQL Contract IR class hierarchy\n* (`SqlStorage` -> `StorageTable` -> `StorageColumn` / `PrimaryKey`\n* / …). The rest of the contract envelope is JSON-clean primitive\n* data and passes through unchanged.\n* 3. `constructTargetContract` is the target-specific extension hook;\n* defaults to identity. Targets that need to attach target-only\n* fields (e.g. target-specific derived storage fields) override it.\n*\n* Default `serializeContract` is identity over the contract — concrete\n* SQL targets ship JSON-clean class instances, so the contract value\n* can be stringified directly. The non-enumerable family-level `kind`\n* discriminator on `SqlNode` instances stays out of the persisted\n* envelope automatically. Targets that need to canonicalize on the way\n* out (key ordering, dropping computed-only fields) override\n* `serializeContract` directly.\n*/\nvar SqlContractSerializerBase = class {\n\tentityHydrationRegistry;\n\tdataTypes;\n\tcontractSchema;\n\tentryKinds;\n\tconstructor(entityHydrationRegistry = /* @__PURE__ */ new Map(), packEntityKinds = [], dataTypes = void 0) {\n\t\tthis.entityHydrationRegistry = entityHydrationRegistry;\n\t\tthis.dataTypes = dataTypes;\n\t\tthis.entryKinds = composeSqlEntityKinds(packEntityKinds);\n\t\tthis.contractSchema = packEntityKinds.length > 0 ? createSqlContractSchema(this.entryKinds) : void 0;\n\t}\n\tdeserializeContract(json) {\n\t\tconst validated = withSqlToOneRelationNullability(this.parseSqlContractStructure(json));\n\t\tconst hydrated = this.hydrateSqlStorage(validated);\n\t\treturn blindCast(this.constructTargetContract(hydrated));\n\t}\n\tserializeContract(contract) {\n\t\treturn blindCast(contract);\n\t}\n\tshouldPreserveEmpty = sqlContractCanonicalizationHooks.shouldPreserveEmpty;\n\tsortStorage = sqlContractCanonicalizationHooks.sortStorage;\n\thashCanonicalizationHooks = sqlContractCanonicalizationHooks;\n\tparseSqlContractStructure(json) {\n\t\treturn validateSqlContractFully(json, {\n\t\t\t...ifDefined(\"contractSchema\", this.contractSchema),\n\t\t\t...ifDefined(\"dataTypes\", this.dataTypes)\n\t\t});\n\t}\n\thydrateSqlStorage(validated) {\n\t\tconst types = validated.storage.types;\n\t\tconst hydratedTypes = types !== void 0 ? Object.fromEntries(Object.entries(types).map(([name, entry]) => [name, this.hydrateStorageTypeEntry(entry)])) : void 0;\n\t\tconst rawNamespaces = validated.storage.namespaces;\n\t\tif (rawNamespaces === void 0) throw new ContractValidationError(\"Contract storage.namespaces is required after structural validation\", \"structural\");\n\t\tconst hydratedNamespaces = this.hydrateSqlNamespaceMap(blindCast(rawNamespaces));\n\t\treturn {\n\t\t\t...validated,\n\t\t\tstorage: new SqlStorage({\n\t\t\t\tstorageHash: validated.storage.storageHash,\n\t\t\t\t...ifDefined(\"types\", hydratedTypes),\n\t\t\t\tnamespaces: blindCast(hydratedNamespaces)\n\t\t\t})\n\t\t};\n\t}\n\thydrateSqlNamespaceMap(namespaces) {\n\t\treturn Object.fromEntries(Object.entries(namespaces).map(([nsId, namespaceEntryRaw]) => {\n\t\t\tconst namespaceHydrated = this.hydrateSqlNamespaceEntry(nsId, namespaceEntryRaw);\n\t\t\tif (!isMaterializedSqlNamespace(namespaceHydrated)) throw sqlFamilyError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Target serializer bug: hydrateSqlNamespaceEntry for namespace \"${nsId}\" returned a non-NamespaceBase value. Override hydrateSqlNamespaceEntry to produce a target namespace concretion.`, {\n\t\t\t\twhy: \"The target contract serializer hydrated a namespace into a value that is not a materialized namespace concretion.\",\n\t\t\t\tfix: \"Fix the target package: its hydrateSqlNamespaceEntry override must return a target namespace concretion.\",\n\t\t\t\tmeta: { namespaceId: nsId }\n\t\t\t});\n\t\t\treturn [nsId, namespaceHydrated];\n\t\t}));\n\t}\n\thydrateSqlNamespaceEntry(nsId, raw) {\n\t\tconst id = typeof raw[\"id\"] === \"string\" ? raw[\"id\"] : nsId;\n\t\tconst parsed = NamespaceRawSchema({\n\t\t\t...raw,\n\t\t\tid\n\t\t});\n\t\tif (parsed instanceof type.errors) throw new ContractValidationError(`Namespace hydration failed: ${parsed.map((p) => p.message).join(\"; \")}`, \"structural\");\n\t\tconst entriesRaw = parsed.entries;\n\t\tconst rawEntriesMap = isPlainRecord$1(entriesRaw) ? entriesRaw : {};\n\t\tconst entriesInput = {};\n\t\tfor (const [key, innerMap] of Object.entries(rawEntriesMap)) entriesInput[key] = isPlainRecord$1(innerMap) ? innerMap : Object.freeze({});\n\t\tconst entriesOutput = hydrateNamespaceEntities(entriesInput, this.entryKinds, \"fail\", id);\n\t\tif (!Object.hasOwn(entriesOutput, \"table\")) entriesOutput[\"table\"] = {};\n\t\treturn blindCast({\n\t\t\tid,\n\t\t\tentries: entriesOutput\n\t\t});\n\t}\n\thydrateStorageTypeEntry(entry) {\n\t\tif (typeof entry !== \"object\" || entry === null) return entry;\n\t\tconst kind = isPlainRecord$1(entry) && \"kind\" in entry ? entry.kind : void 0;\n\t\tif (typeof kind !== \"string\") return entry;\n\t\tconst factory = this.entityHydrationRegistry.get(kind);\n\t\tif (factory === void 0) return entry;\n\t\treturn blindCast(factory(entry));\n\t}\n\tconstructTargetContract(hydrated) {\n\t\treturn blindCast(hydrated);\n\t}\n\t/**\n\t* Serializes a namespace's `entries` dict by walking every enumerable\n\t* kind — no kind is named here, mirroring the generic hydrate walk in\n\t* `hydrateSqlNamespaceEntry` above. `table` is the SQL family's one\n\t* universal base kind (every namespace carries it), so it is always\n\t* emitted, even when empty; every other kind — target- or\n\t* pack-contributed — is emitted only when it holds at least one entry.\n\t* A kind carried non-enumerable on `entries` is excluded here for free,\n\t* since `Object.entries` honors enumerability.\n\t*/\n\tserializeNamespaceEntries(entries) {\n\t\tconst out = { table: this.serializeEntries(entries[\"table\"] ?? {}) };\n\t\tfor (const [kind, record] of Object.entries(entries)) {\n\t\t\tif (kind === \"table\" || record == null || Object.keys(record).length === 0) continue;\n\t\t\tout[kind] = this.serializeEntries(record);\n\t\t}\n\t\treturn out;\n\t}\n\tserializeEntries(entries) {\n\t\tconst out = {};\n\t\tfor (const [name, entry] of Object.entries(entries)) out[name] = this.serializeJsonObject(entry);\n\t\treturn out;\n\t}\n\tserializeJsonObject(value) {\n\t\treturn blindCast(this.serializeJsonValue(value));\n\t}\n\tserializeJsonValue(value) {\n\t\treturn blindCast(JSON.parse(JSON.stringify(value)));\n\t}\n};\n//#endregion\n//#region src/core/ir/sql-contract-serializer.ts\n/**\n* Default SQL family `ContractSerializer` concretion. Inherits the\n* full SQL-shared deserialization pipeline (structural validation +\n* IR-class hydration) without pack-registered `storage.types`\n* hydration factories — targets that emit polymorphic JSON outside the\n* codec-typed envelope wire a target-specific subclass with a populated\n* registry (see Postgres). Family-level call sites instantiate this\n* default directly when no target serializer is supplied.\n*\n* Because this serializer has no target concretion, deserialization of\n* contracts that include namespace entries from JSON will throw unless\n* the caller provides pre-hydrated `NamespaceBase` instances. Production\n* paths always supply a target-specific serializer.\n*/\nvar SqlContractSerializer = class extends SqlContractSerializerBase {\n\tconstructor() {\n\t\tsuper(/* @__PURE__ */ new Map());\n\t}\n};\n//#endregion\nexport { SqlContractSerializerBase as n, SqlContractSerializer as t };\n\n//# sourceMappingURL=sql-contract-serializer-sMY3prTx.mjs.map"],"mappings":"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"}