@prisma/orm-family-sql 8.0.0-rc.21-dev.5 → 8.0.0-rc.21-dev.7
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.
- package/dist/{ast-DcphKbq9.d.mts → ast-1JRQY-dP.d.mts} +10 -4
- package/dist/ast-1JRQY-dP.d.mts.map +1 -0
- package/dist/{ast-e_02t9Nt.mjs → ast-C3itulLi.mjs} +7 -1
- package/dist/ast-C3itulLi.mjs.map +1 -0
- package/dist/{attribute-specs-Dcd2ZUrY.d.mts → attribute-specs-DDpSUaG9.d.mts} +3 -3
- package/dist/{attribute-specs-Dcd2ZUrY.d.mts.map → attribute-specs-DDpSUaG9.d.mts.map} +1 -1
- package/dist/{authored-check-naming-D-o196ry.d.mts → authored-check-naming-BiSwtSFu.d.mts} +2 -2
- package/dist/{authored-check-naming-D-o196ry.d.mts.map → authored-check-naming-BiSwtSFu.d.mts.map} +1 -1
- package/dist/{authored-check-naming-BHGJhjqn.mjs → authored-check-naming-DTKcH2_d.mjs} +3 -3
- package/dist/{authored-check-naming-BHGJhjqn.mjs.map → authored-check-naming-DTKcH2_d.mjs.map} +1 -1
- package/dist/{authoring-entity-types-CgKIgWq5-CZK1F9a_.d.mts → authoring-entity-types-CgKIgWq5-BqRjoPFF.d.mts} +2 -2
- package/dist/{authoring-entity-types-CgKIgWq5-CZK1F9a_.d.mts.map → authoring-entity-types-CgKIgWq5-BqRjoPFF.d.mts.map} +1 -1
- package/dist/builder.d.mts +3 -3
- package/dist/builder__runtime.d.mts +10 -10
- package/dist/builder__runtime.mjs +4 -4
- package/dist/builder__types.d.mts +5 -5
- package/dist/{check-constraint-B7qGu6rc-Bk2ezWXu.d.mts → check-constraint-B7qGu6rc-D5kVe9je.d.mts} +2 -2
- package/dist/{check-constraint-B7qGu6rc-Bk2ezWXu.d.mts.map → check-constraint-B7qGu6rc-D5kVe9je.d.mts.map} +1 -1
- package/dist/check-expressions-BDsLvzqN.mjs +108 -0
- package/dist/check-expressions-BDsLvzqN.mjs.map +1 -0
- package/dist/check-expressions-DuWjvG4h.d.mts +82 -0
- package/dist/check-expressions-DuWjvG4h.d.mts.map +1 -0
- package/dist/{codec-descriptor-registry-CiiFzMtb.mjs → codec-descriptor-registry-UiFDvDj4.mjs} +2 -2
- package/dist/{codec-descriptor-registry-CiiFzMtb.mjs.map → codec-descriptor-registry-UiFDvDj4.mjs.map} +1 -1
- package/dist/codec-json-type-BdWPJ6T5-BhmIyNyb.d.mts +13 -0
- package/dist/codec-json-type-BdWPJ6T5-BhmIyNyb.d.mts.map +1 -0
- package/dist/codec-json-type-DUWyBtJk-BVTavkH0.mjs +21 -0
- package/dist/codec-json-type-DUWyBtJk-BVTavkH0.mjs.map +1 -0
- package/dist/{collection-methods-D9CYfePl-DsDjYS6t.d.mts → collection-methods-D9CYfePl-BGvD1h9Z.d.mts} +4 -4
- package/dist/{collection-methods-D9CYfePl-DsDjYS6t.d.mts.map → collection-methods-D9CYfePl-BGvD1h9Z.d.mts.map} +1 -1
- package/dist/collection-methods-mo-2RjdX.d.mts +1 -0
- package/dist/{config-types-DkEeq_qq.mjs → config-types-BCXwEBZH.mjs} +2 -2
- package/dist/{config-types-DkEeq_qq.mjs.map → config-types-BCXwEBZH.mjs.map} +1 -1
- package/dist/{config-types-C-1mIiJO.d.mts → config-types-Ce1tAJ0B.d.mts} +4 -4
- package/dist/{config-types-C-1mIiJO.d.mts.map → config-types-Ce1tAJ0B.d.mts.map} +1 -1
- package/dist/{contract-builder-DMNe_jX9.mjs → contract-builder-D50r41BU.mjs} +114 -49
- package/dist/contract-builder-D50r41BU.mjs.map +1 -0
- package/dist/{contract-builder-B-Q9T1CO.d.mts → contract-builder-D6JuOGA6.d.mts} +58 -13
- package/dist/contract-builder-D6JuOGA6.d.mts.map +1 -0
- package/dist/contract-emitter.d.mts +1 -1
- package/dist/contract-emitter.mjs +1 -1
- package/dist/contract-prisma7__provider.d.mts +5 -3
- package/dist/contract-prisma7__provider.d.mts.map +1 -1
- package/dist/contract-prisma7__provider.mjs +62 -26
- package/dist/contract-prisma7__provider.mjs.map +1 -1
- package/dist/contract-psl.d.mts +4 -4
- package/dist/contract-psl.mjs +1 -1
- package/dist/contract-psl__attribute-specs.d.mts +1 -1
- package/dist/contract-psl__attribute-specs.mjs +1 -1
- package/dist/contract-psl__diagnostics.mjs +1 -1
- package/dist/contract-psl__provider.d.mts +2 -2
- package/dist/contract-psl__provider.mjs +3 -3
- package/dist/contract-psl__provider.mjs.map +1 -1
- package/dist/contract-ts.d.mts +4 -4
- package/dist/contract-ts.mjs +3 -3
- package/dist/contract-ts__config-types.d.mts +1 -1
- package/dist/contract-ts__config-types.mjs +1 -1
- package/dist/contract-ts__contract-builder.d.mts +3 -3
- package/dist/contract-ts__contract-builder.mjs +2 -2
- package/dist/{contract-view-DqpzeYeE.mjs → contract-view-CcD3axo0.mjs} +6 -2
- package/dist/contract-view-CcD3axo0.mjs.map +1 -0
- package/dist/{contract-view-DuB35or0.d.mts → contract-view-DkIZrHyj.d.mts} +3 -3
- package/dist/{contract-view-DuB35or0.d.mts.map → contract-view-DkIZrHyj.d.mts.map} +1 -1
- package/dist/contract.d.mts +21 -19
- package/dist/contract.mjs +18 -14
- package/dist/contract__authored-check-naming.d.mts +1 -1
- package/dist/contract__authored-check-naming.mjs +1 -1
- package/dist/contract__check-expressions.d.mts +2 -0
- package/dist/contract__check-expressions.mjs +2 -0
- package/dist/contract__codec-json-type.d.mts +2 -0
- package/dist/contract__codec-json-type.mjs +2 -0
- package/dist/contract__contract-view.d.mts +1 -1
- package/dist/contract__contract-view.mjs +1 -1
- package/dist/contract__data-type.d.mts +2 -2
- package/dist/contract__data-type.mjs +2 -2
- package/dist/contract__entity-kinds.d.mts +2 -2
- package/dist/contract__entity-kinds.mjs +2 -2
- package/dist/contract__factories.d.mts +1 -1
- package/dist/contract__factories.mjs +1 -1
- package/dist/contract__foreign-key-materialization.d.mts +1 -1
- package/dist/contract__foreign-key-materialization.mjs +2 -2
- package/dist/contract__index-naming.d.mts +1 -1
- package/dist/contract__index-naming.mjs +1 -1
- package/dist/contract__index-type-validation.d.mts +1 -1
- package/dist/contract__resolve-storage-table.d.mts +1 -1
- package/dist/contract__sql-expression.d.mts +1 -1
- package/dist/contract__types.d.mts +8 -8
- package/dist/contract__types.mjs +6 -4
- package/dist/contract__validators.d.mts +1 -1
- package/dist/contract__validators.mjs +2 -2
- package/dist/{control-B6W_VEZ9.d.mts → control-BE7gXqZF.d.mts} +18 -18
- package/dist/{control-B6W_VEZ9.d.mts.map → control-BE7gXqZF.d.mts.map} +1 -1
- package/dist/{control-D6wIw5Fi.mjs → control-DPCrkpMS.mjs} +16 -17
- package/dist/control-DPCrkpMS.mjs.map +1 -0
- package/dist/{control-adapter-SlQkTEwT.mjs → control-adapter-BetaUm2y.mjs} +2 -2
- package/dist/{control-adapter-SlQkTEwT.mjs.map → control-adapter-BetaUm2y.mjs.map} +1 -1
- package/dist/{control-adapter-BfyLe7rh-C_rrUuhb.d.mts → control-adapter-BfyLe7rh-CiGzw3dq.d.mts} +8 -8
- package/dist/{control-adapter-BfyLe7rh-C_rrUuhb.d.mts.map → control-adapter-BfyLe7rh-CiGzw3dq.d.mts.map} +1 -1
- package/dist/{control-adapter-CZ84jQ_z.d.mts → control-adapter-BlBhW0pc.d.mts} +4 -4
- package/dist/{control-adapter-CZ84jQ_z.d.mts.map → control-adapter-BlBhW0pc.d.mts.map} +1 -1
- package/dist/{data-type-DJIvKQHf.d.mts → data-type-B-Do6RMA.d.mts} +15 -7
- package/dist/data-type-B-Do6RMA.d.mts.map +1 -0
- package/dist/{data-type-BFSpaotu.mjs → data-type-BfA5F0Qf.mjs} +2 -2
- package/dist/{data-type-BFSpaotu.mjs.map → data-type-BfA5F0Qf.mjs.map} +1 -1
- package/dist/{db-D1d75IvM-D5CqruQz.d.mts → db-D1d75IvM-C1lqD6a2.d.mts} +13 -13
- package/dist/{db-D1d75IvM-D5CqruQz.d.mts.map → db-D1d75IvM-C1lqD6a2.d.mts.map} +1 -1
- package/dist/{ddl-types-BeA1kjV1-C4d5owxE.d.mts → ddl-types-BeA1kjV1-BUcW52Dx.d.mts} +3 -3
- package/dist/{ddl-types-BeA1kjV1-C4d5owxE.d.mts.map → ddl-types-BeA1kjV1-BUcW52Dx.d.mts.map} +1 -1
- package/dist/{default-mapping-CAOONlKQ-4m07nb-O.d.mts → default-mapping-CEISdj2g-B50Ag_F_.d.mts} +5 -11
- package/dist/default-mapping-CEISdj2g-B50Ag_F_.d.mts.map +1 -0
- package/dist/{derived-checks-D5HVRvqN-BJx1gwPA.mjs → derived-checks-D__agoFB-Boa1MHcA.mjs} +156 -40
- package/dist/derived-checks-D__agoFB-Boa1MHcA.mjs.map +1 -0
- package/dist/{derived-checks-DpPkO6Dt-9U9UJZOo.d.mts → derived-checks-DpPkO6Dt-CQIM17j5.d.mts} +3 -3
- package/dist/{derived-checks-DpPkO6Dt-9U9UJZOo.d.mts.map → derived-checks-DpPkO6Dt-CQIM17j5.d.mts.map} +1 -1
- package/dist/{diagnostics-C7jR1Jyf.mjs → diagnostics-CoM0OFuR.mjs} +40 -30
- package/dist/diagnostics-CoM0OFuR.mjs.map +1 -0
- package/dist/{diff-FNTO8gbI.d.mts → diff-BlX_rfVG.d.mts} +7 -7
- package/dist/{diff-FNTO8gbI.d.mts.map → diff-BlX_rfVG.d.mts.map} +1 -1
- package/dist/{dist-C8Y-PPuE.mjs → dist-BJjqJT_M.mjs} +5 -3
- package/dist/dist-BJjqJT_M.mjs.map +1 -0
- package/dist/{entity-kinds-JR5SAm5h-DOH6VUtL.mjs → entity-kinds-CgEwK0hH-D1NKoKE5.mjs} +25 -7
- package/dist/entity-kinds-CgEwK0hH-D1NKoKE5.mjs.map +1 -0
- package/dist/{entity-kinds-BPG2xCZV.d.mts → entity-kinds-oN1yn4vw.d.mts} +8 -7
- package/dist/{entity-kinds-BPG2xCZV.d.mts.map → entity-kinds-oN1yn4vw.d.mts.map} +1 -1
- package/dist/{exports-CGzFaakG-Dddm8emA.mjs → exports-CGzFaakG-4Aw50nT1.mjs} +3 -3
- package/dist/{exports-CGzFaakG-Dddm8emA.mjs.map → exports-CGzFaakG-4Aw50nT1.mjs.map} +1 -1
- package/dist/{expression-BWRsWR6O-BrUVz0V2.d.mts → expression-BWRsWR6O-HbWL9x9D.d.mts} +3 -3
- package/dist/{expression-BWRsWR6O-BrUVz0V2.d.mts.map → expression-BWRsWR6O-HbWL9x9D.d.mts.map} +1 -1
- package/dist/{expression-C3F6gxZH-DrYNeDbh.d.mts → expression-C3F6gxZH-EOb5cRCY.d.mts} +7 -7
- package/dist/{expression-C3F6gxZH-DrYNeDbh.d.mts.map → expression-C3F6gxZH-EOb5cRCY.d.mts.map} +1 -1
- package/dist/expression-OVCWlXHm.d.mts +2 -0
- package/dist/{expression-impl-DtbmFnnz-CUKzBisY.mjs → expression-impl-DtbmFnnz-Dal0IYDE.mjs} +2 -2
- package/dist/{expression-impl-DtbmFnnz-CUKzBisY.mjs.map → expression-impl-DtbmFnnz-Dal0IYDE.mjs.map} +1 -1
- package/dist/{factories-Crobuxwn.mjs → factories-B2hKDIzy.mjs} +3 -3
- package/dist/{factories-Crobuxwn.mjs.map → factories-B2hKDIzy.mjs.map} +1 -1
- package/dist/{factories-DbNP9qfs.d.mts → factories-DVgCG7DR.d.mts} +4 -4
- package/dist/{factories-DbNP9qfs.d.mts.map → factories-DVgCG7DR.d.mts.map} +1 -1
- package/dist/family.d.mts +16 -16
- package/dist/family.mjs +10 -10
- package/dist/family__control-adapter.d.mts +2 -2
- package/dist/family__control-adapter.mjs +1 -1
- package/dist/family__control.d.mts +4 -4
- package/dist/family__control.mjs +3 -3
- package/dist/family__diff.d.mts +1 -1
- package/dist/family__diff.mjs +1 -1
- package/dist/family__ir.d.mts +1 -1
- package/dist/family__ir.mjs +1 -1
- package/dist/family__migration.d.mts +1 -1
- package/dist/family__pack.d.mts +1 -1
- package/dist/family__pack.mjs +2 -2
- package/dist/family__psl-build.d.mts +3 -3
- package/dist/family__psl-build.mjs +2 -2
- package/dist/family__psl-infer.d.mts +1 -1
- package/dist/family__psl-infer.mjs +1 -1
- package/dist/family__runtime.d.mts +2 -2
- package/dist/family__runtime.mjs +1 -1
- package/dist/{foreign-key-materialization-48P2V8on.d.mts → foreign-key-materialization-C53nVQuD.d.mts} +4 -4
- package/dist/{foreign-key-materialization-48P2V8on.d.mts.map → foreign-key-materialization-C53nVQuD.d.mts.map} +1 -1
- package/dist/{foreign-key-materialization-BM59w_Xg.mjs → foreign-key-materialization-CCHAR789.mjs} +5 -5
- package/dist/{foreign-key-materialization-BM59w_Xg.mjs.map → foreign-key-materialization-CCHAR789.mjs.map} +1 -1
- package/dist/{functions-D7lN5-JU.mjs → functions-DO1k8KLB.mjs} +2 -2
- package/dist/{functions-D7lN5-JU.mjs.map → functions-DO1k8KLB.mjs.map} +1 -1
- package/dist/{functions-CQrsCHCj.d.mts → functions-PBSwFhni.d.mts} +6 -6
- package/dist/{functions-CQrsCHCj.d.mts.map → functions-PBSwFhni.d.mts.map} +1 -1
- package/dist/{generator-functions-Hy4pDDr9-AUCNpeg5.mjs → generator-functions-Hy4pDDr9-CMfJOBtv.mjs} +3 -3
- package/dist/{generator-functions-Hy4pDDr9-AUCNpeg5.mjs.map → generator-functions-Hy4pDDr9-CMfJOBtv.mjs.map} +1 -1
- package/dist/{index-0qfR8_db.d.mts → index-BAI1gH-I.d.mts} +21 -21
- package/dist/{index-0qfR8_db.d.mts.map → index-BAI1gH-I.d.mts.map} +1 -1
- package/dist/{index-Nqc3OHR_.d.mts → index-BWWwt5hB.d.mts} +3 -3
- package/dist/{index-Nqc3OHR_.d.mts.map → index-BWWwt5hB.d.mts.map} +1 -1
- package/dist/{index-equivalence-DswCiq5l-CGsyPP9B.mjs → index-equivalence-DswCiq5l-9GNm8oG9.mjs} +2 -2
- package/dist/{index-equivalence-DswCiq5l-CGsyPP9B.mjs.map → index-equivalence-DswCiq5l-9GNm8oG9.mjs.map} +1 -1
- package/dist/{index-naming-BOcJT1B3-mG8Fd6KN.mjs → index-naming-BOcJT1B3-D-49owHA.mjs} +2 -2
- package/dist/{index-naming-BOcJT1B3-mG8Fd6KN.mjs.map → index-naming-BOcJT1B3-D-49owHA.mjs.map} +1 -1
- package/dist/{index-naming-Cs6wwia3.d.mts → index-naming-DqjO4p5R.d.mts} +2 -2
- package/dist/{index-naming-Cs6wwia3.d.mts.map → index-naming-DqjO4p5R.d.mts.map} +1 -1
- package/dist/index-reference-D3p5ziNG.d.mts +1 -0
- package/dist/{index-reference-YHvh6wAL-BAhOS7RC.d.mts → index-reference-YHvh6wAL-BupQRpkE.d.mts} +4 -4
- package/dist/{index-reference-YHvh6wAL-BAhOS7RC.d.mts.map → index-reference-YHvh6wAL-BupQRpkE.d.mts.map} +1 -1
- package/dist/{index-type-validation-fGGwAHWc.d.mts → index-type-validation-BFJlwjWi.d.mts} +3 -3
- package/dist/{index-type-validation-fGGwAHWc.d.mts.map → index-type-validation-BFJlwjWi.d.mts.map} +1 -1
- package/dist/{interpreter-CS21wD1i-G0u1x8t_.mjs → interpreter-ChvVEijY-FeJngsog.mjs} +92 -45
- package/dist/interpreter-ChvVEijY-FeJngsog.mjs.map +1 -0
- package/dist/{ir-BvptQsFW.d.mts → ir-CZ5Ks7EA.d.mts} +4 -4
- package/dist/{ir-BvptQsFW.d.mts.map → ir-CZ5Ks7EA.d.mts.map} +1 -1
- package/dist/middleware-Dp3CD7yZ.d.mts +1 -0
- package/dist/{middleware-JfHt_Ax8-DKXbos9y.d.mts → middleware-JfHt_Ax8-rWWdDxnq.d.mts} +2 -2
- package/dist/{middleware-JfHt_Ax8-DKXbos9y.d.mts.map → middleware-JfHt_Ax8-rWWdDxnq.d.mts.map} +1 -1
- package/dist/{migration-qalbcIUs.d.mts → migration-B35kGD-7.d.mts} +4 -4
- package/dist/{migration-qalbcIUs.d.mts.map → migration-B35kGD-7.d.mts.map} +1 -1
- package/dist/{naming-BcD36g9T-Mfe_xGGL.d.mts → naming-CLfASFf7-HRjmKe43.d.mts} +9 -4
- package/dist/naming-CLfASFf7-HRjmKe43.d.mts.map +1 -0
- package/dist/{naming-bM5qm5PY-jOg3JFMb.mjs → naming-DEpT6Zad-C9PFkWt6.mjs} +5 -4
- package/dist/naming-DEpT6Zad-C9PFkWt6.mjs.map +1 -0
- package/dist/operations.d.mts +1 -1
- package/dist/orm-client.d.mts +22 -22
- package/dist/orm-client.mjs +7 -7
- package/dist/{pack-Cap3oVPy.d.mts → pack-DKM1hv1E.d.mts} +4 -4
- package/dist/{pack-Cap3oVPy.d.mts.map → pack-DKM1hv1E.d.mts.map} +1 -1
- package/dist/{plan-CMqVpPq6-Bllx5Zpk.d.mts → plan-CMqVpPq6-Aoza6Dp2.d.mts} +4 -4
- package/dist/{plan-CMqVpPq6-Bllx5Zpk.d.mts.map → plan-CMqVpPq6-Aoza6Dp2.d.mts.map} +1 -1
- package/dist/plan-DINEcqC1.d.mts +2 -0
- package/dist/psl-build-BA0Ndi1v.mjs +268 -0
- package/dist/psl-build-BA0Ndi1v.mjs.map +1 -0
- package/dist/{psl-build-RelubU2E.d.mts → psl-build-DCZaF5g4.d.mts} +47 -18
- package/dist/psl-build-DCZaF5g4.d.mts.map +1 -0
- package/dist/{psl-column-resolution-djGEITmJ-B5iMpe8H.d.mts → psl-column-resolution-djGEITmJ-C0LSpwl4.d.mts} +3 -3
- package/dist/{psl-column-resolution-djGEITmJ-B5iMpe8H.d.mts.map → psl-column-resolution-djGEITmJ-C0LSpwl4.d.mts.map} +1 -1
- package/dist/{psl-field-resolution-Bvhx79fP-CQqHf_L4.mjs → psl-field-resolution-BW2_FOb9-DxqR43fo.mjs} +68 -38
- package/dist/psl-field-resolution-BW2_FOb9-DxqR43fo.mjs.map +1 -0
- package/dist/{psl-infer--g4i84Go.mjs → psl-infer-C9kVS9ma.mjs} +2 -2
- package/dist/{psl-infer--g4i84Go.mjs.map → psl-infer-C9kVS9ma.mjs.map} +1 -1
- package/dist/{psl-infer-DzoxPZGd.d.mts → psl-infer-Cr9AeccU.d.mts} +4 -4
- package/dist/{psl-infer-DzoxPZGd.d.mts.map → psl-infer-Cr9AeccU.d.mts.map} +1 -1
- package/dist/query-lane-context-DL6bwl6k.d.mts +1 -0
- package/dist/{query-lane-context-DLSXDsDK-pEiQmuYy.d.mts → query-lane-context-DLSXDsDK-CGSahS15.d.mts} +8 -8
- package/dist/{query-lane-context-DLSXDsDK-pEiQmuYy.d.mts.map → query-lane-context-DLSXDsDK-CGSahS15.d.mts.map} +1 -1
- package/dist/relational-core.d.mts +12 -12
- package/dist/relational-core.mjs +2 -2
- package/dist/relational-core__aggregate-descriptor-registry.d.mts +1 -1
- package/dist/relational-core__ast.d.mts +3 -3
- package/dist/relational-core__ast.mjs +1 -1
- package/dist/relational-core__codec-descriptor-registry.d.mts +4 -4
- package/dist/relational-core__codec-descriptor-registry.mjs +1 -1
- package/dist/relational-core__collection-methods.d.mts +2 -2
- package/dist/relational-core__contract-free.d.mts +4 -4
- package/dist/relational-core__expression.d.mts +3 -3
- package/dist/relational-core__expression.mjs +1 -1
- package/dist/relational-core__functions.d.mts +1 -1
- package/dist/relational-core__functions.mjs +1 -1
- package/dist/relational-core__index-reference.d.mts +2 -2
- package/dist/relational-core__middleware.d.mts +2 -2
- package/dist/relational-core__plan.d.mts +3 -3
- package/dist/relational-core__query-lane-context.d.mts +2 -2
- package/dist/relational-core__types.d.mts +2 -2
- package/dist/{resolve-storage-table-DCqtmnSU.d.mts → resolve-storage-table-D1rXCcCk.d.mts} +3 -3
- package/dist/{resolve-storage-table-DCqtmnSU.d.mts.map → resolve-storage-table-D1rXCcCk.d.mts.map} +1 -1
- package/dist/{runtime-JKWb27L5.d.mts → runtime-CSDcwOEG.d.mts} +5 -4
- package/dist/{runtime-JKWb27L5.d.mts.map → runtime-CSDcwOEG.d.mts.map} +1 -1
- package/dist/{runtime-CCzfa1mY.mjs → runtime-DkUiQi00.mjs} +12 -4
- package/dist/runtime-DkUiQi00.mjs.map +1 -0
- package/dist/runtime.d.mts +4 -4
- package/dist/runtime.mjs +1 -1
- package/dist/runtime__internal__prepared-query.d.mts +1 -1
- package/dist/{schema-differ-DmP74bB8-tqHKiJ88.d.mts → schema-differ-DmP74bB8-BXkhxcPs.d.mts} +5 -5
- package/dist/{schema-differ-DmP74bB8-tqHKiJ88.d.mts.map → schema-differ-DmP74bB8-BXkhxcPs.d.mts.map} +1 -1
- package/dist/schema-ir.d.mts +1 -1
- package/dist/schema-ir.mjs +1 -1
- package/dist/schema-ir__naming.d.mts +2 -2
- package/dist/schema-ir__naming.mjs +2 -2
- package/dist/schema-ir__types.d.mts +2 -2
- package/dist/schema-ir__types.mjs +1 -1
- package/dist/{schema-verify-C3wbdviw-DMjIubOr.mjs → schema-verify-C3wbdviw-nQ4tG9N7.mjs} +4 -4
- package/dist/{schema-verify-C3wbdviw-DMjIubOr.mjs.map → schema-verify-C3wbdviw-nQ4tG9N7.mjs.map} +1 -1
- package/dist/{serialized-index-DjCCnXB1-DMA7BtO2.mjs → serialized-index-BefvjuZ0-Bbsja7If.mjs} +14 -27
- package/dist/serialized-index-BefvjuZ0-Bbsja7If.mjs.map +1 -0
- package/dist/{serialized-index-CrgG8ct1-DKVJ7TDX.d.mts → serialized-index-CrgG8ct1-Duy5-kFV.d.mts} +3 -3
- package/dist/{serialized-index-CrgG8ct1-DKVJ7TDX.d.mts.map → serialized-index-CrgG8ct1-Duy5-kFV.d.mts.map} +1 -1
- package/dist/{sql-contract-serializer-sMY3prTx-D2BfrNxs.mjs → sql-contract-serializer-sMY3prTx-CBHrlt9O.mjs} +4 -4
- package/dist/{sql-contract-serializer-sMY3prTx-D2BfrNxs.mjs.map → sql-contract-serializer-sMY3prTx-CBHrlt9O.mjs.map} +1 -1
- package/dist/{sql-data-type-D7M-YTTY-D2vRqDxn.mjs → sql-data-type-LVBldu1a-Bq203xWX.mjs} +13 -7
- package/dist/sql-data-type-LVBldu1a-Bq203xWX.mjs.map +1 -0
- package/dist/{sql-execution-plan-CN-FEwrR-CzRFoxKR.d.mts → sql-execution-plan-CN-FEwrR-BEJ0-g83.d.mts} +2 -2
- package/dist/{sql-execution-plan-CN-FEwrR-CzRFoxKR.d.mts.map → sql-execution-plan-CN-FEwrR-BEJ0-g83.d.mts.map} +1 -1
- package/dist/{sql-expression-B4BrhGPi.d.mts → sql-expression-1yO8GiBc.d.mts} +2 -2
- package/dist/{sql-expression-B4BrhGPi.d.mts.map → sql-expression-1yO8GiBc.d.mts.map} +1 -1
- package/dist/{sql-index-ByAAE7K8-Dqtn_vUL.d.mts → sql-index-ByAAE7K8-4TUFKGLK.d.mts} +2 -2
- package/dist/{sql-index-ByAAE7K8-Dqtn_vUL.d.mts.map → sql-index-ByAAE7K8-4TUFKGLK.d.mts.map} +1 -1
- package/dist/sql-node-D8P0akYY-RVytYXDZ.mjs +50 -0
- package/dist/sql-node-D8P0akYY-RVytYXDZ.mjs.map +1 -0
- package/dist/{sql-storage-DeCAh5Hi-CEM-m8cs.d.mts → sql-storage-B_AM6tU1-BOPQxXo7.d.mts} +6 -5
- package/dist/{sql-storage-DeCAh5Hi-CEM-m8cs.d.mts.map → sql-storage-B_AM6tU1-BOPQxXo7.d.mts.map} +1 -1
- package/dist/{storage-table-DDvN83mw-DkbBFmK9.mjs → storage-table-B_MrLtQX-eWx6BgGT.mjs} +7 -50
- package/dist/storage-table-B_MrLtQX-eWx6BgGT.mjs.map +1 -0
- package/dist/{storage-table-Bf1ZjnxO-pUj6pyP0.d.mts → storage-value-object-BcvIeUr8-DiiZNIrZ.d.mts} +23 -6
- package/dist/storage-value-object-BcvIeUr8-DiiZNIrZ.d.mts.map +1 -0
- package/dist/storage-value-set-uGUEBAMJ-hX-zFqN5.mjs +38 -0
- package/dist/storage-value-set-uGUEBAMJ-hX-zFqN5.mjs.map +1 -0
- package/dist/{transaction-state-DR3nKTmH-BIKF_fP6.d.mts → transaction-state-DR3nKTmH-C3wq6dCB.d.mts} +9 -9
- package/dist/{transaction-state-DR3nKTmH-BIKF_fP6.d.mts.map → transaction-state-DR3nKTmH-C3wq6dCB.d.mts.map} +1 -1
- package/dist/{types-DoyiTsjg-2YMhMJDA.mjs → types-1ZKE0deC-Dou4ugcz.mjs} +3 -3
- package/dist/{types-DoyiTsjg-2YMhMJDA.mjs.map → types-1ZKE0deC-Dou4ugcz.mjs.map} +1 -1
- package/dist/types-B-dwfOwQ.d.mts +1 -0
- package/dist/{types-CTdSkl0s.mjs → types-CISwoRED.mjs} +2 -2
- package/dist/types-CISwoRED.mjs.map +1 -0
- package/dist/{types-COXfSNOP-DcuULeD9.d.mts → types-COXfSNOP-D9vt9QDL.d.mts} +9 -9
- package/dist/{types-COXfSNOP-DcuULeD9.d.mts.map → types-COXfSNOP-D9vt9QDL.d.mts.map} +1 -1
- package/dist/{types-CkAd8SWm.d.mts → types-CXRxo_TK.d.mts} +7 -7
- package/dist/{types-CkAd8SWm.d.mts.map → types-CXRxo_TK.d.mts.map} +1 -1
- package/dist/types-DIoM5Ft3.d.mts +1 -0
- package/dist/{types-DfKvtJwS-CrpWTGBJ.d.mts → types-DNTLudNR-DiVulPhL.d.mts} +7 -7
- package/dist/{types-DfKvtJwS-CrpWTGBJ.d.mts.map → types-DNTLudNR-DiVulPhL.d.mts.map} +1 -1
- package/dist/{types-NgqqVAo5-Be_uYGQx.d.mts → types-NgqqVAo5-CJG02ILZ.d.mts} +10 -10
- package/dist/{types-NgqqVAo5-Be_uYGQx.d.mts.map → types-NgqqVAo5-CJG02ILZ.d.mts.map} +1 -1
- package/dist/{types-CuCxAQat-Dz8P4xyt.d.mts → types-fmtEmvj3-B0fQaVes.d.mts} +4 -4
- package/dist/{types-CuCxAQat-Dz8P4xyt.d.mts.map → types-fmtEmvj3-B0fQaVes.d.mts.map} +1 -1
- package/dist/{types-ijhejJhK-EdACW3bY.d.mts → types-ijhejJhK-BqfwP5Cc.d.mts} +2 -2
- package/dist/{types-ijhejJhK-EdACW3bY.d.mts.map → types-ijhejJhK-BqfwP5Cc.d.mts.map} +1 -1
- package/dist/{validators-FJs8HvFr.d.mts → validators-Dt-19ywK.d.mts} +4 -4
- package/dist/{validators-FJs8HvFr.d.mts.map → validators-Dt-19ywK.d.mts.map} +1 -1
- package/dist/{validators-BwA7ttZM.mjs → validators-qcQteqs2.mjs} +30 -31
- package/dist/validators-qcQteqs2.mjs.map +1 -0
- package/package.json +20 -18
- package/dist/ast-DcphKbq9.d.mts.map +0 -1
- package/dist/ast-e_02t9Nt.mjs.map +0 -1
- package/dist/collection-methods-FWiYjZ5j.d.mts +0 -1
- package/dist/contract-builder-B-Q9T1CO.d.mts.map +0 -1
- package/dist/contract-builder-DMNe_jX9.mjs.map +0 -1
- package/dist/contract-view-DqpzeYeE.mjs.map +0 -1
- package/dist/control-D6wIw5Fi.mjs.map +0 -1
- package/dist/data-type-DJIvKQHf.d.mts.map +0 -1
- package/dist/default-mapping-CAOONlKQ-4m07nb-O.d.mts.map +0 -1
- package/dist/derived-checks-D5HVRvqN-BJx1gwPA.mjs.map +0 -1
- package/dist/diagnostics-C7jR1Jyf.mjs.map +0 -1
- package/dist/dist-C8Y-PPuE.mjs.map +0 -1
- package/dist/entity-kinds-JR5SAm5h-DOH6VUtL.mjs.map +0 -1
- package/dist/expression-CQHy0GY7.d.mts +0 -2
- package/dist/index-reference-BVkoanQn.d.mts +0 -1
- package/dist/interpreter-CS21wD1i-G0u1x8t_.mjs.map +0 -1
- package/dist/middleware-DYiOUIpn.d.mts +0 -1
- package/dist/naming-BcD36g9T-Mfe_xGGL.d.mts.map +0 -1
- package/dist/naming-bM5qm5PY-jOg3JFMb.mjs.map +0 -1
- package/dist/plan-Cg0h96GD.d.mts +0 -2
- package/dist/psl-build-DqqYhOsa.mjs +0 -426
- package/dist/psl-build-DqqYhOsa.mjs.map +0 -1
- package/dist/psl-build-RelubU2E.d.mts.map +0 -1
- package/dist/psl-field-resolution-Bvhx79fP-CQqHf_L4.mjs.map +0 -1
- package/dist/query-lane-context-Dqs5qCXx.d.mts +0 -1
- package/dist/runtime-CCzfa1mY.mjs.map +0 -1
- package/dist/serialized-index-DjCCnXB1-DMA7BtO2.mjs.map +0 -1
- package/dist/sql-data-type-D7M-YTTY-D2vRqDxn.mjs.map +0 -1
- package/dist/storage-table-Bf1ZjnxO-pUj6pyP0.d.mts.map +0 -1
- package/dist/storage-table-DDvN83mw-DkbBFmK9.mjs.map +0 -1
- package/dist/types-CTdSkl0s.mjs.map +0 -1
- package/dist/types-CvmPNREJ.d.mts +0 -1
- package/dist/types-ljUNyiWe.d.mts +0 -1
- package/dist/validators-BwA7ttZM.mjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"psl-field-resolution-Bvhx79fP-CQqHf_L4.mjs","names":["describeTaggedLiteralFailure"],"sources":["../../../../2-sql-family/2-authoring/contract-psl/dist/psl-field-resolution-Bvhx79fP.mjs"],"sourcesContent":["import { n as getAttribute, o as storageName, t as formatDbAttributeMigrationMessage } from \"./psl-attribute-parsing-BCsFWsSp.mjs\";\nimport { bool, contributedTypeCodecId, contributedTypeOf, dataTypeValue, diagnosticSource, entityRef, fieldAttribute, fieldRef, funcCall, generatorAttributeSpec, identifier, interpretAttribute, leafDiagnostic, list, mapArg, modelAttribute, nodePslSpan, nodeSourceText, numLiteral, oneOf, optional, record, referencedFieldRef, refuseRepeatedTypeAliasAttributes, str, taggedLiteral, typeAttribute, typeAttributeSpecContextOfField, typeAttributeSubjectLabel, typeGeneratorAttributeSpec, typeReferenceNode, writtenList, writtenScalar } from \"@internal/psl-parser\";\nimport { isValueObjectMember, storedAsListColumn } from \"@internal/sql-contract-ts/contract-builder\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { InternalError, isInternalError } from \"@internal/utils/internal-error\";\nimport { invariant } from \"@internal/utils/assertions\";\nimport { admittedForms, castTypedValue, describeExpected, describeRefusal, describeRefusedValueType, exactRewrite, instantiateAuthoringTypeAlias, instantiateAuthoringTypeConstructor, isAuthoringEntityTypeDescriptor, readWrittenValue, tagForm, validateAuthoringHelperArguments, validateAuthoringTypeParams } from \"@internal/framework-components/authoring\";\nimport { describeTaggedLiteralFailure } from \"@internal/framework-components/control\";\nimport { isBareTypeConstructor, mapPslHelperArgs, reportTypeConstructorNotCalled } from \"@internal/psl-parser/interpret\";\nimport { sqlCodecColumnLength } from \"@internal/sql-contract/data-type\";\nimport { SQL_EXPRESSION_DATA_TYPE_ID, SQL_EXPRESSION_TAG, sqlTextFromStored } from \"@internal/sql-contract/sql-expression\";\nimport { checkSqlDefaultText, reservedSqlDefaultText } from \"@internal/sql-contract/validators\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { structuredError } from \"@internal/utils/structured-error\";\nimport { codecForRef, dataTypeParams, readContractValue } from \"@internal/framework-components/codec\";\nimport { FunctionCallAst } from \"@internal/psl-parser/syntax\";\nimport { notOk, ok } from \"@internal/utils/result\";\n//#region src/contract-errors.ts\nfunction contractError(code, message, options) {\n\treturn structuredError(code, message, options);\n}\n//#endregion\n//#region src/data-type-default.ts\n/** A written value the column's type, under the column's parameters, or the column's codec refuses. */\nconst PSL_INVALID_DEFAULT_LITERAL = \"PSL_INVALID_DEFAULT_LITERAL\";\n/** A written value whose data type the receiving type neither is nor casts from. */\nconst PSL_VALUE_TYPE_INCOMPATIBLE = \"PSL_VALUE_TYPE_INCOMPATIBLE\";\n/** A single value written as the default of a column that holds a list. */\nconst PSL_DEFAULT_LIST_EXPECTED = \"PSL_DEFAULT_LIST_EXPECTED\";\nfunction messageOf(error) {\n\treturn error instanceof Error ? error.message : String(error);\n}\nfunction refused(refusal, suggestedTypes) {\n\treturn {\n\t\tok: false,\n\t\trefusal,\n\t\tsuggestedTypes\n\t};\n}\nfunction readOneValue(dataTypes, written, elementIndex, suggestedTypes) {\n\tconst read = readWrittenValue(dataTypes, written);\n\treturn read.ok ? {\n\t\tok: true,\n\t\ttyped: read.value\n\t} : refused({\n\t\t...read.failure,\n\t\telementIndex\n\t}, suggestedTypes);\n}\n/** The column's `typeParams` as the codec reference carries them, so `vector(3)` checks its length. */\nfunction codecRefTypeParams(typeParams) {\n\treturn typeParams === void 0 ? void 0 : blindCast(typeParams);\n}\n/**\n* The column's codec descriptor, and `read`, which makes a value in its stored JSON form a value of the column's type under the column's parameters, and checks it with the column's codec, built with those parameters.\n*/\nfunction storedValueReader(input) {\n\tconst descriptor = input.lookups.codecLookup.descriptorFor(input.column.codecId);\n\tconst codec = codecForRef(input.lookups.codecLookup, {\n\t\tcodecId: input.column.codecId,\n\t\t...ifDefined(\"typeParams\", codecRefTypeParams(input.column.typeParams))\n\t});\n\tif (codec === void 0 || descriptor === void 0) throw new InternalError(`Field \"${input.fieldPath}\": no codec descriptor is registered for \"${input.column.codecId}\", but the column was resolved from one.`);\n\tconst suggestedTypes = [descriptor.dataType];\n\tconst params = dataTypeParams(codec.dataType, input.column.typeParams);\n\tconst read = (written, elementIndex) => {\n\t\tlet stored;\n\t\ttry {\n\t\t\tconst value = codec.dataType.valueFrom(written, params);\n\t\t\tcodec.fromDataTypeValue(value);\n\t\t\tstored = codec.dataType.toContract(value);\n\t\t} catch (error) {\n\t\t\tif (isInternalError(error)) throw error;\n\t\t\treturn {\n\t\t\t\tok: false,\n\t\t\t\trefusal: {\n\t\t\t\t\tkind: \"refused-by-column\",\n\t\t\t\t\tcodecId: input.column.codecId,\n\t\t\t\t\tmessage: messageOf(error),\n\t\t\t\t\telementIndex\n\t\t\t\t},\n\t\t\t\tsuggestedTypes\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\tok: true,\n\t\t\tvalue: stored\n\t\t};\n\t};\n\treturn {\n\t\tdescriptor,\n\t\tparams,\n\t\tread\n\t};\n}\n/**\n* Reads a value already in its stored JSON form, such as one member of a JSON document default, as a value of the column's type checked by the column's codec. Worded as {@link lowerDataTypeDefault} words the same refusals.\n*/\nfunction readStoredValue(input) {\n\tconst reading = storedValueReader(input).read(input.value, void 0);\n\treturn reading.ok ? reading : {\n\t\tok: false,\n\t\t...storedRefusalMessage(reading.refusal, `Field \"${input.fieldPath}\"`)\n\t};\n}\n/**\n* Read one `@default(...)` value for a column, refusing in parts so each contract source words its\n* own diagnostic. `isList` selects the check: a list column's elements are each read and cast\n* against the element codec's data type, while a scalar column takes a written list only through\n* its type's list cast — which is how `pgvector.Vector(3) @default([0.1, 0.2])` is read.\n*/\nfunction readDataTypeDefault(input) {\n\tconst { descriptor, params, read: readStored } = storedValueReader({\n\t\tcolumn: input.column,\n\t\tlookups: {\n\t\t\tcodecLookup: input.codecLookup,\n\t\t\tdataTypeLookup: input.dataTypes.lookup\n\t\t},\n\t\tfieldPath: input.fieldPath\n\t});\n\tconst columnType = descriptor.dataType;\n\tconst suggestedTypes = [columnType];\n\tconst readOne = (written, elementIndex) => {\n\t\tconst read = readOneValue(input.dataTypes, written, elementIndex, suggestedTypes);\n\t\tif (!read.ok) return read;\n\t\tconst cast = castTypedValue(input.dataTypes, columnType, params, read.typed);\n\t\tif (!cast.ok) {\n\t\t\tconst { failure } = cast;\n\t\t\treturn failure.kind === \"refused-by-type\" ? refused({\n\t\t\t\tkind: \"refused-by-column\",\n\t\t\t\tcodecId: input.column.codecId,\n\t\t\t\tmessage: failure.message,\n\t\t\t\telementIndex\n\t\t\t}, suggestedTypes) : refused({\n\t\t\t\t...failure,\n\t\t\t\telementIndex\n\t\t\t}, suggestedTypes);\n\t\t}\n\t\treturn readStored(cast.value.value, elementIndex);\n\t};\n\tif (input.written.kind !== \"list\") {\n\t\tif (input.isList) return refused({\n\t\t\tkind: \"not-a-list\",\n\t\t\telementIndex: void 0\n\t\t}, suggestedTypes);\n\t\treturn readOne(input.written, void 0);\n\t}\n\tif (input.isList) {\n\t\tconst elements = [];\n\t\tfor (const [elementIndex, written] of input.written.elements.entries()) {\n\t\t\tif (written.kind === \"list\") return nestedList(elementIndex, suggestedTypes);\n\t\t\tconst element = readOne(written, elementIndex);\n\t\t\tif (!element.ok) return element;\n\t\t\telements.push(element.value);\n\t\t}\n\t\treturn {\n\t\t\tok: true,\n\t\t\tvalue: elements\n\t\t};\n\t}\n\treturn readListIntoScalar({\n\t\t...input,\n\t\twritten: input.written,\n\t\tcolumnType,\n\t\treadStored\n\t});\n}\nfunction nestedList(elementIndex, suggestedTypes) {\n\treturn refused({\n\t\tkind: \"unreadable\",\n\t\tmessage: \"a list holds values, not other lists\",\n\t\telementIndex\n\t}, suggestedTypes);\n}\n/** A written list on a column that is not a list: the column's type takes it through its list cast. */\nfunction readListIntoScalar(input) {\n\tconst declaration = input.dataTypes.lookup.get(input.columnType);\n\tconst listCast = declaration?.listCast;\n\tif (listCast === void 0) return refused({\n\t\tkind: \"no-list-cast\",\n\t\treceivingType: input.columnType,\n\t\tcasts: Object.keys(declaration?.casts ?? {}),\n\t\telementIndex: void 0\n\t}, [input.columnType]);\n\tconst elements = [];\n\tfor (const [elementIndex, written] of input.written.elements.entries()) {\n\t\tif (written.kind === \"list\") return nestedList(elementIndex, listCast.of);\n\t\tconst read = readOneValue(input.dataTypes, written, elementIndex, listCast.of);\n\t\tif (!read.ok) return read;\n\t\tif (!listCast.of.includes(read.typed.type)) return refused({\n\t\t\tkind: \"no-element-cast\",\n\t\t\treceivingType: input.columnType,\n\t\t\tvalueType: read.typed.type,\n\t\t\telementTypes: listCast.of,\n\t\t\telementIndex\n\t\t}, listCast.of);\n\t\telements.push(read.typed.value);\n\t}\n\ttry {\n\t\treturn input.readStored(listCast.cast(elements), void 0);\n\t} catch (error) {\n\t\tif (isInternalError(error)) throw error;\n\t\treturn refused({\n\t\t\tkind: \"unreadable\",\n\t\t\tmessage: messageOf(error),\n\t\t\telementIndex: void 0\n\t\t}, [input.columnType]);\n\t}\n}\n/** Where a diagnostic is about, for a message: `Field \"N.count\" at element 2`. */\nfunction location(subject, elementIndex) {\n\treturn elementIndex === void 0 ? subject : `${subject} at element ${elementIndex + 1}`;\n}\n/**\n* What may be written where every one of `types` is received, each form once: `a number`. A column\n* whose type nothing writes still takes a `sql` literal, which `@default` stores as a SQL expression.\n*/\nfunction formsOf(dataTypes, types) {\n\tconst forms = admittedForms(dataTypes, types);\n\treturn forms.length === 0 ? [tagForm(SQL_EXPRESSION_TAG)] : forms;\n}\n/** The exact rewrite of the written value a `no-cast` refusal is about, before list elements are renumbered to the source list. */\nfunction rewriteOf(refusal, written, dataTypes) {\n\tif (refusal.kind !== \"no-cast\") return void 0;\n\tconst refused = refusal.elementIndex === void 0 || written.kind !== \"list\" ? written : written.elements[refusal.elementIndex];\n\treturn refused === void 0 || refused.kind === \"list\" ? void 0 : exactRewrite(dataTypes, refusal, refused);\n}\n/**\n* {@link readDataTypeDefault} worded as a PSL diagnostic's code, message and span: a cast-rule\n* refusal at the written value, or the element of a written list it is about; a refusal only\n* defaults have at the `@default` attribute.\n*/\nfunction lowerDataTypeDefault(input) {\n\tconst read = readDataTypeDefault({\n\t\t...input,\n\t\tfieldPath: input.subject\n\t});\n\tif (read.ok) return read;\n\tconst refusal = atSourceElement(read.refusal, input.sourceElementIndexes);\n\treturn {\n\t\tok: false,\n\t\t...refusalMessage(refusal, input.subject, input.dataTypes, guidanceFor(read, input.written, input.dataTypes)),\n\t\tspan: refusalSpan(refusal, input.spans, input.subject)\n\t};\n}\n/** What a refusal of `written` tells the author to write instead. */\nfunction guidanceFor(failure, written, dataTypes) {\n\treturn {\n\t\tforms: formsOf(dataTypes, failure.suggestedTypes),\n\t\trewrite: rewriteOf(failure.refusal, written, dataTypes)\n\t};\n}\nfunction atSourceElement(refusal, sourceElementIndexes) {\n\tif (refusal.elementIndex === void 0) return refusal;\n\tconst elementIndex = sourceElementIndexes?.[refusal.elementIndex];\n\treturn elementIndex === void 0 ? refusal : {\n\t\t...refusal,\n\t\telementIndex\n\t};\n}\nfunction codecRefusalMessage(refusal, subject) {\n\treturn {\n\t\tcode: PSL_INVALID_DEFAULT_LITERAL,\n\t\tmessage: `${location(subject, refusal.elementIndex)}: ${refusal.message}`\n\t};\n}\nfunction storedRefusalMessage(refusal, subject) {\n\tif (refusal.kind === \"refused-by-column\") return codecRefusalMessage(refusal, subject);\n\treturn {\n\t\tcode: \"PSL_INVALID_LITERAL\",\n\t\tmessage: `${location(subject, refusal.elementIndex)}: ${refusal.message}`\n\t};\n}\n/** A refusal worded as a PSL diagnostic's code and message; `guidance` says what to write instead. */\nfunction refusalMessage(refusal, subject, dataTypes, guidance) {\n\tconst where = location(subject, refusal.elementIndex);\n\tswitch (refusal.kind) {\n\t\tcase \"not-a-list\": return {\n\t\t\tcode: PSL_DEFAULT_LIST_EXPECTED,\n\t\t\tmessage: `${where}: this column holds a list, so its default is a list literal, as in [1, 2]`\n\t\t};\n\t\tcase \"refused-by-column\": return codecRefusalMessage(refusal, subject);\n\t\tcase \"no-list-cast\": return {\n\t\t\tcode: PSL_VALUE_TYPE_INCOMPATIBLE,\n\t\t\tmessage: `${where}: ${describeExpected(guidance.forms)}; got a list`\n\t\t};\n\t\tcase \"no-element-cast\": return {\n\t\t\tcode: PSL_VALUE_TYPE_INCOMPATIBLE,\n\t\t\tmessage: `${where}: ${describeRefusedValueType(refusal, dataTypes, guidance)}`\n\t\t};\n\t\tdefault: {\n\t\t\tconst { code, message } = describeRefusal(refusal, dataTypes, guidance);\n\t\t\treturn {\n\t\t\t\tcode,\n\t\t\t\tmessage: `${where}: ${message}`\n\t\t\t};\n\t\t}\n\t}\n}\nfunction refusalSpan(refusal, spans, subject) {\n\tswitch (refusal.kind) {\n\t\tcase \"not-a-list\":\n\t\tcase \"refused-by-column\": return spans.attribute;\n\t\tdefault: return writtenValueSpan(spans, refusal.elementIndex, subject);\n\t}\n}\nfunction writtenValueSpan(spans, elementIndex, subject) {\n\tif (elementIndex === void 0) return spans.value;\n\tconst span = spans.elements[elementIndex];\n\tif (span === void 0) throw new InternalError(`${subject}: a refused @default list element ${elementIndex + 1} has no written span.`);\n\treturn span;\n}\n//#endregion\n//#region src/default-function-registry.ts\nfunction formatSupportedFunctionList(registry) {\n\tconst signatures = Array.from(registry.entries()).sort(([a], [b]) => a.localeCompare(b)).flatMap(([functionName, entry]) => {\n\t\tconst usageSignatures = entry.usageSignatures?.filter((signature) => signature.length > 0);\n\t\treturn usageSignatures && usageSignatures.length > 0 ? usageSignatures : [`${functionName}()`];\n\t});\n\treturn signatures.length > 0 ? signatures.join(\", \") : \"none\";\n}\n/** The diagnostic message for a `dbgenerated(...)` call, which raw SQL tagged literals replaced. */\nfunction removedDbgeneratedMessage(registry) {\n\treturn `Default function \"dbgenerated\" was removed. Write the SQL as a tagged literal: @default(sql\\`<expression>\\`). Supported functions: ${formatSupportedFunctionList(registry)}.`;\n}\nfunction lowerDefaultFunctionWithRegistry(input) {\n\tconst entry = input.registry.get(input.call.fn);\n\tif (entry) {\n\t\tconst result = entry.lower({\n\t\t\tcall: input.call,\n\t\t\tcontext: input.context\n\t\t});\n\t\treturn result.ok ? result : {\n\t\t\t...result,\n\t\t\tkind: \"external\"\n\t\t};\n\t}\n\tconst supportedFunctionList = formatSupportedFunctionList(input.registry);\n\treturn {\n\t\tok: false,\n\t\tkind: \"owned\",\n\t\tdiagnostic: {\n\t\t\tcode: \"PSL_UNKNOWN_DEFAULT_FUNCTION\",\n\t\t\tmessage: `Default function \"${input.call.fn}\" is not supported in SQL PSL provider v1. Supported functions: ${supportedFunctionList}.`,\n\t\t\t...input.source.at(input.call.span)\n\t\t}\n\t};\n}\n//#endregion\n//#region src/sql-attribute-specs.ts\nfunction buildModelAttributeCtx(input) {\n\treturn {\n\t\tsources: input.sources,\n\t\tselfModel: input.selfModel,\n\t\tbinder: input.binder,\n\t\tsymbols: input.symbols\n\t};\n}\nfunction buildFieldAttributeCtx(input) {\n\treturn {\n\t\tsources: input.sources,\n\t\tselfModel: input.selfModel,\n\t\tfield: input.field,\n\t\tbinder: input.binder,\n\t\tsymbols: input.symbols\n\t};\n}\nfunction modelAttributeSpecsFrom(modelAttributesByName) {\n\tconst result = Object.create(null);\n\tfor (const [name, descriptor] of modelAttributesByName) result[name] = blindCast(descriptor.spec);\n\treturn result;\n}\nfunction interpretModelAttribute(input) {\n\tconst result = interpretAttribute(input.node, input.spec, buildModelAttributeCtx({\n\t\tsymbols: input.symbols,\n\t\tselfModel: input.model,\n\t\tsources: input.sources,\n\t\tbinder: input.binder\n\t}));\n\tif (!result.ok) {\n\t\tinput.diagnostics.push(...result.failure);\n\t\treturn;\n\t}\n\treturn result.value;\n}\nfunction interpretFieldAttribute(input) {\n\tconst result = interpretAttribute(input.node, input.spec, buildFieldAttributeCtx({\n\t\tsymbols: input.symbols,\n\t\tselfModel: input.model,\n\t\tfield: input.field,\n\t\tsources: input.sources,\n\t\tbinder: input.binder\n\t}));\n\tif (!result.ok) {\n\t\tinput.diagnostics.push(...result.failure);\n\t\treturn;\n\t}\n\treturn result.value;\n}\n/** Interprets an attribute that reads only its type, such as `@default` on a field or a type alias, draining parse failures into `diagnostics`. */\nfunction interpretTypeAttribute(input) {\n\tconst result = interpretAttribute(input.node, input.spec, {\n\t\tsources: input.sources,\n\t\tsymbols: input.symbols,\n\t\tbinder: input.binder\n\t});\n\tif (!result.ok) {\n\t\tinput.diagnostics.push(...result.failure);\n\t\treturn;\n\t}\n\treturn result.value;\n}\nfunction validateMappedName(value, ctx, attributeNode) {\n\treturn value.name === \"\" ? [leafDiagnostic(ctx, attributeNode, \"Mapped name must not be empty\")] : [];\n}\nconst mapModelSpec = modelAttribute(\"map\", {\n\tdocumentation: \"Maps this model to a database table name.\",\n\tpositional: [{\n\t\tkey: \"name\",\n\t\ttype: str(),\n\t\tdocumentation: \"The nonempty database table name.\"\n\t}],\n\trefine: validateMappedName\n});\nconst mapFieldSpec = fieldAttribute(\"map\", {\n\tdocumentation: \"Maps this field to a database column name.\",\n\tpositional: [{\n\t\tkey: \"name\",\n\t\ttype: str(),\n\t\tdocumentation: \"The nonempty database column name.\"\n\t}],\n\trefine: validateMappedName\n});\nfunction nullLiteral() {\n\tconst nullIdentifier = identifier(\"null\", { documentation: \"A null list element or nullable scalar default.\" });\n\treturn mapArg({\n\t\tkind: \"null\",\n\t\tlabel: \"null\",\n\t\tparse: (arg, ctx) => {\n\t\t\tconst result = nullIdentifier.parse(arg, ctx);\n\t\t\treturn result.ok ? ok(null) : result;\n\t\t}\n\t}, (_null, arg, ctx) => ({\n\t\tkind: \"null\",\n\t\tspan: nodePslSpan(arg.syntax, ctx.sources)\n\t}));\n}\n/**\n* A call to the registered default function `name`, with its signature built from the stack's data types when it needs them. Its binding diagnostics name it as a default function.\n*/\nfunction defaultFunctionCall(name, entry, dataTypes) {\n\tconst signature = blindCast(entry.signature);\n\treturn funcCall(name, typeof signature === \"function\" ? signature(dataTypes) : signature, { label: `Default function \"${name}\"` });\n}\n/** The data type of the column a field declares, when its type, or the named type it is declared with, is a constructor the stack knows. */\nfunction receivingDataType(ctx) {\n\tconst typeConstructor = ctx.typeConstructor;\n\treturn typeConstructor === void 0 ? void 0 : ctx.dataTypes.dataTypeOfCodec(contributedTypeCodecId(typeConstructor.descriptor));\n}\n/** Whether a value of `type` can be written for a column of `receiving`: it is that type, or the column's type casts from it. An unknown column takes every type. */\nfunction receives(dataTypes, receiving, type) {\n\tif (receiving === void 0 || type === receiving) return true;\n\tconst receivingType = dataTypes.lookup.get(receiving);\n\tif (receivingType === void 0) return true;\n\treturn Object.hasOwn(receivingType.casts, type) || (receivingType.listCast?.of.some((of) => of === type) ?? false);\n}\nfunction scalarDefaultArms(isList, receiving, dataTypes, defaultFunctionRegistry) {\n\tconst tagArms = (admits) => {\n\t\tconst tagsByDocumentation = /* @__PURE__ */ new Map();\n\t\tfor (const [key, entry] of Object.entries(dataTypes.entries)) {\n\t\t\tif (entry.written.kind !== \"tag\" || !admits(key)) continue;\n\t\t\tconst tags = tagsByDocumentation.get(entry.documentation);\n\t\t\tif (tags === void 0) tagsByDocumentation.set(entry.documentation, [entry.written.tag]);\n\t\t\telse tags.push(entry.written.tag);\n\t\t}\n\t\treturn [...tagsByDocumentation].map(([documentation, tags]) => writtenScalar(taggedLiteral(tags, { documentation })));\n\t};\n\tconst columnTags = () => tagArms((dataType) => dataType === SQL_EXPRESSION_DATA_TYPE_ID || !isList && receives(dataTypes, receiving, dataType));\n\tconst literal = () => oneOf(writtenScalar(str()), writtenScalar(numLiteral()), writtenScalar(bool()), nullLiteral(), ...tagArms((dataType) => dataType !== SQL_EXPRESSION_DATA_TYPE_ID && receives(dataTypes, receiving, dataType)));\n\tconst listArm = () => writtenList(literal());\n\tconst funcArms = [...defaultFunctionRegistry.entries()].map(([name, entry]) => mapArg(defaultFunctionCall(name, entry, dataTypes), (call) => ({\n\t\tkind: \"default-function\",\n\t\tcall\n\t})));\n\treturn isList ? [\n\t\tlistArm(),\n\t\t...funcArms,\n\t\t...columnTags()\n\t] : [\n\t\twrittenScalar(str()),\n\t\twrittenScalar(numLiteral()),\n\t\twrittenScalar(bool()),\n\t\tnullLiteral(),\n\t\t...funcArms,\n\t\t...columnTags(),\n\t\tlistArm()\n\t];\n}\n/**\n* The `@default` value arms, with a `dbgenerated(...)` call reported as removed before the arms\n* are tried, so the author is told what replaced it instead of being shown the list of arms.\n*/\nfunction defaultValueArm(arms, registry, generatorFunctions, subject) {\n\tconst value = arms.length === 1 && arms[0].kind === \"list\" ? arms[0] : oneOf(...arms);\n\treturn {\n\t\t...value,\n\t\tparse: (arg, ctx) => {\n\t\t\tconst callee = FunctionCallAst.cast(arg.syntax)?.path().join(\".\");\n\t\t\tif (callee === \"dbgenerated\") return notOk([leafDiagnostic(ctx, arg, removedDbgeneratedMessage(registry), \"PSL_UNKNOWN_DEFAULT_FUNCTION\")]);\n\t\t\tif (callee !== void 0 && !registry.has(callee) && generatorFunctions.has(callee)) {\n\t\t\t\tconst call = nodeSourceText(arg, ctx);\n\t\t\t\treturn notOk([leafDiagnostic(ctx, arg, `${subject}: ${call} is a value the client generates, and @default sets a database default only. Write @onCreate(${call}) instead.`, \"PSL_GENERATOR_IN_DEFAULT\")]);\n\t\t\t}\n\t\t\treturn value.parse(arg, ctx);\n\t\t}\n\t};\n}\nfunction noEnumMember() {\n\treturn {\n\t\tkind: \"rejecting\",\n\t\tlabel: \"enum member\",\n\t\tmessage: \"Enum declares no members\",\n\t\tparse: (arg, ctx) => notOk([leafDiagnostic(ctx, arg, \"Enum declares no members\")])\n\t};\n}\nfunction enumMemberNames(ctx) {\n\tconst resolution = ctx.typeResolution;\n\tif (resolution?.kind !== \"block\" || resolution.symbol.keyword !== \"enum\") return void 0;\n\tconst block = resolution.symbol;\n\tconst names = [];\n\tconst seen = /* @__PURE__ */ new Set();\n\tfor (const entry of block.entries) {\n\t\tconst key = entry.key()?.name();\n\t\tif (key === void 0 || seen.has(key)) continue;\n\t\tseen.add(key);\n\t\tnames.push(key);\n\t}\n\treturn names;\n}\nfunction enumDefaultArms(members, enumName, isList) {\n\tconst [first, ...rest] = members;\n\tif (first === void 0) return [noEnumMember()];\n\tconst member = (name) => mapArg(identifier(name, { documentation: `The \\`${name}\\` member of enum \\`${enumName}\\`.` }), (parsed) => ({\n\t\tkind: \"member\",\n\t\tname: parsed\n\t}));\n\tif (isList) return [mapArg(list(oneOf(member(first), ...rest.map(member), nullLiteral())), (elements) => ({\n\t\tkind: \"member-list\",\n\t\telements\n\t}))];\n\treturn [member(first), ...rest.map(member)];\n}\n/** The spec of `@default` on a field or a type alias, offering the values its type takes. */\nfunction typeDefaultSpec(ctx) {\n\tconst members = enumMemberNames(ctx);\n\treturn typeAttribute(\"default\", {\n\t\tdocumentation: \"Supplies a default value when this field is omitted from a mutation.\",\n\t\tpositional: [{\n\t\t\tkey: \"value\",\n\t\t\ttype: defaultValueArm(members === void 0 ? scalarDefaultArms(ctx.list, receivingDataType(ctx), ctx.dataTypes, ctx.defaultFunctionRegistry) : enumDefaultArms(members, ctx.typeName, ctx.list), ctx.defaultFunctionRegistry, ctx.generatorFunctions, typeAttributeSubjectLabel(ctx.subject)),\n\t\t\tdocumentation: \"A literal, enum member, or registered default function compatible with this field.\"\n\t\t}]\n\t});\n}\nconst idFieldSpec = fieldAttribute(\"id\", {\n\tdocumentation: \"Makes this field the primary key of the table.\",\n\tnamed: { map: {\n\t\ttype: optional(str()),\n\t\tdocumentation: \"The database primary-key constraint name.\"\n\t} }\n});\nconst uniqueFieldSpec = fieldAttribute(\"unique\", {\n\tdocumentation: \"Requires values in this field to be unique.\",\n\tnamed: { map: {\n\t\ttype: optional(str()),\n\t\tdocumentation: \"The database unique-constraint name.\"\n\t} }\n});\nconst idModelSpec = modelAttribute(\"id\", {\n\tdocumentation: \"Declares a compound primary key for this table.\",\n\tpositional: [{\n\t\tkey: \"fields\",\n\t\ttype: list(fieldRef(), {\n\t\t\tallowEmpty: false,\n\t\t\tunique: true\n\t\t}),\n\t\tdocumentation: \"The ordered, nonempty list of distinct primary-key fields.\"\n\t}],\n\tnamed: { map: {\n\t\ttype: optional(str()),\n\t\tdocumentation: \"The database primary-key constraint name.\"\n\t} }\n});\nconst uniqueModelSpec = modelAttribute(\"unique\", {\n\tdocumentation: \"Requires the combination of these fields to be unique.\",\n\tpositional: [{\n\t\tkey: \"fields\",\n\t\ttype: list(fieldRef(), {\n\t\t\tallowEmpty: false,\n\t\t\tunique: true\n\t\t}),\n\t\tdocumentation: \"The ordered, nonempty list of distinct fields in the unique constraint.\"\n\t}],\n\tnamed: { map: {\n\t\ttype: optional(str()),\n\t\tdocumentation: \"The database unique-constraint name.\"\n\t} }\n});\nconst PSL_INDEX_FIELDS_XOR_EXPRESSION = \"PSL_INDEX_FIELDS_XOR_EXPRESSION\";\nconst PSL_INDEX_EXPRESSION_REQUIRES_NAME = \"PSL_INDEX_EXPRESSION_REQUIRES_NAME\";\nconst PSL_INDEX_NAME_XOR_MAP = \"PSL_INDEX_NAME_XOR_MAP\";\nfunction indexModelSpec(ctx) {\n\treturn modelAttribute(\"index\", {\n\t\tdocumentation: \"Declares a database index over fields or a SQL expression, optionally restricted by a predicate.\",\n\t\tpositional: [{\n\t\t\tkey: \"fields\",\n\t\t\ttype: optional(list(fieldRef(), {\n\t\t\t\tallowEmpty: false,\n\t\t\t\tunique: true\n\t\t\t})),\n\t\t\tdocumentation: \"The ordered list of distinct indexed fields. Mutually exclusive with `expression`.\"\n\t\t}],\n\t\tnamed: {\n\t\t\texpression: {\n\t\t\t\ttype: optional(dataTypeValue(SQL_EXPRESSION_DATA_TYPE_ID, ctx.dataTypes)),\n\t\t\t\tdocumentation: \"The SQL index expression. Requires `name` or `map` and cannot be combined with a fields list.\"\n\t\t\t},\n\t\t\twhere: {\n\t\t\t\ttype: optional(dataTypeValue(SQL_EXPRESSION_DATA_TYPE_ID, ctx.dataTypes)),\n\t\t\t\tdocumentation: \"The SQL predicate restricting rows included in a partial index.\"\n\t\t\t},\n\t\t\tunique: {\n\t\t\t\ttype: optional(bool()),\n\t\t\t\tdocumentation: \"Whether the index enforces uniqueness.\"\n\t\t\t},\n\t\t\tname: {\n\t\t\t\ttype: optional(str()),\n\t\t\t\tdocumentation: \"The index name. Mutually exclusive with `map`.\"\n\t\t\t},\n\t\t\tmap: {\n\t\t\t\ttype: optional(str()),\n\t\t\t\tdocumentation: \"The database index name. Mutually exclusive with `name`.\"\n\t\t\t},\n\t\t\ttype: {\n\t\t\t\ttype: optional(str()),\n\t\t\t\tdocumentation: \"The target-specific index access method.\"\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\ttype: optional(record(str())),\n\t\t\t\tdocumentation: \"Target-specific index options. Requires an explicit `type`.\"\n\t\t\t}\n\t\t},\n\t\trefine: (value, ctx, attributeNode) => {\n\t\t\tconst diagnostics = [];\n\t\t\tif (value.fields === void 0 === (value.expression === void 0)) diagnostics.push(leafDiagnostic(ctx, attributeNode, \"`@@index` requires exactly one of a fields list or an `expression` argument\", PSL_INDEX_FIELDS_XOR_EXPRESSION));\n\t\t\tif (value.expression !== void 0 && value.name === void 0 && value.map === void 0) diagnostics.push(leafDiagnostic(ctx, attributeNode, \"`@@index` with an `expression` argument requires a `name` or `map` argument (a default name cannot be derived from an expression)\", PSL_INDEX_EXPRESSION_REQUIRES_NAME));\n\t\t\tif (value.name !== void 0 && value.map !== void 0) diagnostics.push(leafDiagnostic(ctx, attributeNode, \"`@@index` takes at most one of `name` and `map`\", PSL_INDEX_NAME_XOR_MAP));\n\t\t\tif (value.options !== void 0 && value.type === void 0) diagnostics.push(leafDiagnostic(ctx, attributeNode, \"`@@index` options argument requires a type argument\"));\n\t\t\treturn diagnostics;\n\t\t}\n\t});\n}\nconst PSL_CHECK_REQUIRES_NAME_OR_MAP = \"PSL_CHECK_REQUIRES_NAME_OR_MAP\";\nconst PSL_CHECK_NAME_XOR_MAP = \"PSL_CHECK_NAME_XOR_MAP\";\nconst PSL_CHECK_EXPRESSION_EMPTY = \"PSL_CHECK_EXPRESSION_EMPTY\";\n/**\n* A single-table-inheritance variant (`@@base` with no own `@@map`) shares\n* its base model's storage table and has no table of its own to declare a\n* check on — raised from {@link interpretPslDocumentToSqlContract}, not from\n* this spec's own `refine`, because the rule needs the model's `@@base`\n* declaration, which a single attribute's `refine` cannot see.\n*/\nconst PSL_CHECK_ON_STI_VARIANT = \"PSL_CHECK_ON_STI_VARIANT\";\nfunction checkModelSpec(ctx) {\n\treturn modelAttribute(\"check\", {\n\t\tdocumentation: \"Declares a named database CHECK constraint on this table.\",\n\t\tnamed: {\n\t\t\texpression: {\n\t\t\t\ttype: dataTypeValue(SQL_EXPRESSION_DATA_TYPE_ID, ctx.dataTypes),\n\t\t\t\tdocumentation: \"The nonempty SQL predicate checked for each row.\"\n\t\t\t},\n\t\t\tname: {\n\t\t\t\ttype: optional(str()),\n\t\t\t\tdocumentation: \"The constraint name. Exactly one of `name` and `map` is required.\"\n\t\t\t},\n\t\t\tmap: {\n\t\t\t\ttype: optional(str()),\n\t\t\t\tdocumentation: \"The database constraint name. Exactly one of `name` and `map` is required.\"\n\t\t\t}\n\t\t},\n\t\trefine: (value, ctx, attributeNode) => {\n\t\t\tconst diagnostics = [];\n\t\t\tif (sqlTextFromStored(value.expression.value.value).trim().length === 0) diagnostics.push(leafDiagnostic(ctx, attributeNode, \"`@@check` expression must not be empty — an empty predicate is not a constraint\", PSL_CHECK_EXPRESSION_EMPTY));\n\t\t\tif (value.name === void 0 && value.map === void 0) diagnostics.push(leafDiagnostic(ctx, attributeNode, \"`@@check` requires a `name` or `map` argument (a default name cannot be derived — a check has no column tuple to name itself after)\", PSL_CHECK_REQUIRES_NAME_OR_MAP));\n\t\t\tif (value.name !== void 0 && value.map !== void 0) diagnostics.push(leafDiagnostic(ctx, attributeNode, \"`@@check` takes at most one of `name` and `map`\", PSL_CHECK_NAME_XOR_MAP));\n\t\t\treturn diagnostics;\n\t\t}\n\t});\n}\nconst controlModelSpec = modelAttribute(\"control\", {\n\tdocumentation: \"Sets how schema management treats this model’s storage.\",\n\tpositional: [{\n\t\tkey: \"policy\",\n\t\tdocumentation: \"The storage control policy: `managed`, `tolerated`, `external`, or `observed`.\",\n\t\ttype: oneOf(identifier(\"managed\", { documentation: \"Verifies the declared shape strictly and allows migrations to create, alter, or drop the storage object.\" }), identifier(\"tolerated\", { documentation: \"Verifies declared columns while allowing extra columns. Migrations may create missing storage, but never alter or drop existing storage.\" }), identifier(\"external\", { documentation: \"Verifies declared storage without creating, altering, or dropping it.\" }), identifier(\"observed\", { documentation: \"Reports storage differences as warnings rather than verification failures and never emits migration operations.\" }))\n\t}]\n});\nconst discriminatorModelSpec = modelAttribute(\"discriminator\", {\n\tdocumentation: \"Selects the field that identifies inheritance variants of this model.\",\n\tpositional: [{\n\t\tkey: \"field\",\n\t\ttype: fieldRef(),\n\t\tdocumentation: \"The discriminator field on this model.\"\n\t}]\n});\nfunction baseModelSpec() {\n\treturn modelAttribute(\"base\", {\n\t\tdocumentation: \"Declares this model as a variant of a base model.\",\n\t\tpositional: [{\n\t\t\tkey: \"base\",\n\t\t\ttype: entityRef({ kind: \"model\" }),\n\t\t\tdocumentation: \"The base model to inherit from.\"\n\t\t}, {\n\t\t\tkey: \"value\",\n\t\t\ttype: writtenScalar(str()),\n\t\t\tdocumentation: \"The discriminator value identifying this variant, a value of the discriminator column's type.\"\n\t\t}]\n\t});\n}\nfunction relationAttributeSpan(ctx) {\n\tconst node = getAttribute(ctx.field.attributes, \"relation\")?.node;\n\tif (node !== void 0) return nodePslSpan(node.syntax, ctx.sources);\n\treturn ctx.field.span;\n}\nfunction relationInvariants(parsed, ctx) {\n\tif (parsed.fields !== void 0 !== (parsed.references !== void 0)) return [{\n\t\tcode: \"PSL_INVALID_ATTRIBUTE_SYNTAX\",\n\t\tmessage: `Relation field \"${ctx.selfModel.name}.${ctx.field.name}\" requires fields and references arguments`,\n\t\t...diagnosticSource(ctx.sources, ctx.field.node.syntax).at(relationAttributeSpan(ctx))\n\t}];\n\treturn [];\n}\nconst referentialActionArgument = () => oneOf(identifier(\"NoAction\", { documentation: \"Rejects a change that would violate the foreign key when the constraint is checked; checking may be deferred when supported and configured.\" }), identifier(\"Restrict\", { documentation: \"Rejects deleting or updating a referenced row while referencing rows remain, without deferring the check.\" }), identifier(\"Cascade\", { documentation: \"Propagates deletion or key updates of a referenced row to its referencing rows.\" }), identifier(\"SetNull\", { documentation: \"Sets referencing foreign-key fields to null when the referenced row is deleted or its key changes. The fields must allow null.\" }), identifier(\"SetDefault\", { documentation: \"Sets referencing foreign-key fields to their defaults when the referenced row is deleted or its key changes. The resulting values must satisfy the foreign key.\" }));\nconst relationFieldSpec = fieldAttribute(\"relation\", {\n\tdocumentation: \"Defines the relation name, foreign-key fields, and referential actions for this relation.\",\n\tpositional: [{\n\t\tkey: \"name\",\n\t\ttype: optional(str()),\n\t\tdocumentation: \"The relation name used to pair both sides. May also be supplied by name.\"\n\t}],\n\tnamed: {\n\t\tname: {\n\t\t\ttype: optional(str()),\n\t\t\tdocumentation: \"The relation name used to pair both sides. Cannot also be supplied positionally.\"\n\t\t},\n\t\tfields: {\n\t\t\ttype: optional(list(fieldRef(), {\n\t\t\t\tallowEmpty: false,\n\t\t\t\tunique: true\n\t\t\t})),\n\t\t\tdocumentation: \"The ordered local foreign-key fields. Must be supplied together with `references`.\"\n\t\t},\n\t\treferences: {\n\t\t\ttype: optional(list(referencedFieldRef(), {\n\t\t\t\tallowEmpty: false,\n\t\t\t\tunique: true\n\t\t\t})),\n\t\t\tdocumentation: \"The corresponding fields on the referenced model. Must be supplied together with `fields`.\"\n\t\t},\n\t\tmap: {\n\t\t\ttype: optional(str()),\n\t\t\tdocumentation: \"The database foreign-key constraint name.\"\n\t\t},\n\t\tonDelete: {\n\t\t\ttype: optional(referentialActionArgument()),\n\t\t\tdocumentation: \"The referential action when a referenced row is deleted.\"\n\t\t},\n\t\tonUpdate: {\n\t\t\ttype: optional(referentialActionArgument()),\n\t\t\tdocumentation: \"The referential action when a referenced key is updated.\"\n\t\t},\n\t\tindex: {\n\t\t\ttype: optional(oneOf(bool(), str())),\n\t\t\tdocumentation: \"Whether to create an index for the relation’s foreign-key fields (`false` for none), or the name of an index, unique constraint or primary key on this model to use instead. The name is the `name` or `map` it was given, or an index’s stored name, and its first columns must be the foreign-key fields in order.\"\n\t\t}\n\t},\n\trefine: relationInvariants\n});\nfunction modelSpecContext(input) {\n\treturn {\n\t\tsymbols: input.symbols,\n\t\tmodel: input.model,\n\t\tdefaultFunctionRegistry: input.defaultFunctionRegistry,\n\t\tgeneratorFunctions: input.generatorFunctions,\n\t\tdataTypes: input.dataTypes\n\t};\n}\nfunction fieldSpecContext(input) {\n\tconst node = typeReferenceNode(input.field);\n\tconst typeResolution = node === void 0 ? void 0 : input.binder.symbolForNode(node);\n\treturn {\n\t\tsymbols: input.symbols,\n\t\tmodel: input.model,\n\t\tfield: input.field,\n\t\ttypeResolution,\n\t\ttypeConstructor: contributedTypeOf(typeResolution, input.binder),\n\t\tdefaultFunctionRegistry: input.defaultFunctionRegistry,\n\t\tgeneratorFunctions: input.generatorFunctions,\n\t\tdataTypes: input.dataTypes\n\t};\n}\n/** Every entry is a factory over the spec context, whether or not its spec reads it. ADR 249. */\nconst sqlAttributeSpecs = {\n\tmodel: {\n\t\tmap: (_ctx) => mapModelSpec,\n\t\tid: (_ctx) => idModelSpec,\n\t\tunique: (_ctx) => uniqueModelSpec,\n\t\tindex: indexModelSpec,\n\t\tcheck: checkModelSpec,\n\t\tcontrol: (_ctx) => controlModelSpec,\n\t\tdiscriminator: (_ctx) => discriminatorModelSpec,\n\t\tbase: (_ctx) => baseModelSpec()\n\t},\n\tfield: {\n\t\tmap: (_ctx) => mapFieldSpec,\n\t\tid: (_ctx) => idFieldSpec,\n\t\tunique: (_ctx) => uniqueFieldSpec,\n\t\trelation: (_ctx) => relationFieldSpec,\n\t\tdefault: (ctx) => typeDefaultSpec(typeAttributeSpecContextOfField(ctx)),\n\t\tonCreate: generatorAttributeSpec(\"onCreate\"),\n\t\tonUpdate: generatorAttributeSpec(\"onUpdate\")\n\t}\n};\n//#endregion\n//#region src/value-object-default.ts\n/**\n* The value-object column's default as the document it holds, and in the form the column stores. A\n* column may store the document's JSON text, as `sqlite/json@1` does, so its codec reads the stored\n* value into the document the composite type describes. A list literal on a list of value objects\n* is read element by element; the column stores the list's document in its own form.\n*/\nfunction valueObjectDefaultDocument(input) {\n\tconst codec = codecForRef(input.codecLookup, { codecId: input.codecId });\n\tif (codec === void 0) return {\n\t\tdocument: input.stored,\n\t\tstored: input.stored\n\t};\n\tif (input.elementwise && Array.isArray(input.stored)) {\n\t\tconst document = input.stored.map((element) => readDocument(codec, element));\n\t\treturn {\n\t\t\tdocument,\n\t\t\tstored: codec.dataType.toContract(codec.toDataTypeValue(document))\n\t\t};\n\t}\n\treturn {\n\t\tdocument: readDocument(codec, input.stored),\n\t\tstored: input.stored\n\t};\n}\n/** The column's codec has already read `stored` while the default was lowered, so it reads again. */\nfunction readDocument(codec, stored) {\n\tif (stored === null) return null;\n\treturn blindCast(readContractValue(codec, stored, void 0));\n}\n/** Each way the default does not match the composite type. */\nfunction valueObjectDefaultMismatches(input) {\n\tconst mismatches = [];\n\tconst shape = (path, message) => mismatches.push({\n\t\tcode: PSL_VALUE_TYPE_INCOMPATIBLE,\n\t\tmessage: `Field \"${path}\": ${message}`\n\t});\n\tconst checkObject = (value, valueObjectName, path) => {\n\t\tconst valueObject = input.types.nodes.get(valueObjectName);\n\t\tconst declared = input.types.declaredMembers.get(valueObjectName);\n\t\tif (valueObject === void 0 || declared === void 0) throw new InternalError(`Field \"${path}\" is typed by the value object \"${valueObjectName}\", which the contract does not declare.`);\n\t\tif (!isJsonObject(value)) {\n\t\t\tshape(path, `a value of \"${valueObjectName}\" is a JSON object, not ${jsonKind(value)}`);\n\t\t\treturn;\n\t\t}\n\t\tfor (const key of Object.keys(value)) if (!declared.has(key)) shape(path, `\"${key}\" is not a member of \"${valueObjectName}\"`);\n\t\tfor (const member of valueObject.fields) checkMember(value[member.fieldName], member, `${path}.${member.fieldName}`);\n\t};\n\tconst checkMember = (value, member, path) => {\n\t\tif (value === void 0) {\n\t\t\tif (!member.nullable) shape(path, \"the member is required, and the default has no value for it\");\n\t\t\treturn;\n\t\t}\n\t\tif (value === null && member.nullable) return;\n\t\tif (member.many === true) {\n\t\t\tif (!Array.isArray(value)) {\n\t\t\t\tshape(path, `the member is a list, so its value is a JSON array, not ${jsonKind(value)}`);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tfor (const [index, element] of value.entries()) {\n\t\t\t\tif (element === null && member.elementNullable) continue;\n\t\t\t\tcheckOne(element, member, `${path}[${index}]`, \"an element of the member is not null\");\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tcheckOne(value, member, path, \"the member is not optional, so its value is not null\");\n\t};\n\tconst checkOne = (value, member, path, notNull) => {\n\t\tif (isValueObjectMember(member)) {\n\t\t\tif (value === null) shape(path, notNull);\n\t\t\telse checkObject(value, member.valueObjectName, path);\n\t\t\treturn;\n\t\t}\n\t\tconst reading = readStoredValue({\n\t\t\tvalue,\n\t\t\tcolumn: member.descriptor,\n\t\t\tlookups: input.lookups,\n\t\t\tfieldPath: path\n\t\t});\n\t\tif (!reading.ok) {\n\t\t\tif (value === null) shape(path, notNull);\n\t\t\telse mismatches.push({\n\t\t\t\tcode: reading.code,\n\t\t\t\tmessage: reading.message\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tconst enumMismatch = enumValueMismatch(value, member, path, input.lookups.codecLookup);\n\t\tif (enumMismatch !== void 0) mismatches.push(enumMismatch);\n\t};\n\tif (input.value === null) {\n\t\tif (input.nullable) return mismatches;\n\t\tshape(input.fieldPath, input.list ? \"the default of a list of value objects is a JSON array, not null\" : \"the default of a value object is a JSON object, not null\");\n\t\treturn mismatches;\n\t}\n\tif (input.list) {\n\t\tif (!Array.isArray(input.value)) {\n\t\t\tshape(input.fieldPath, `the default of a list of value objects is a JSON array, not ${jsonKind(input.value)}`);\n\t\t\treturn mismatches;\n\t\t}\n\t\tfor (const [index, element] of input.value.entries()) {\n\t\t\tif (element === null && input.elementNullable) continue;\n\t\t\tcheckObject(element, input.valueObjectName, `${input.fieldPath}[${index}]`);\n\t\t}\n\t\treturn mismatches;\n\t}\n\tif (!isJsonObject(input.value)) {\n\t\tshape(input.fieldPath, `the default of a value object is a JSON object, not ${jsonKind(input.value)}`);\n\t\treturn mismatches;\n\t}\n\tcheckObject(input.value, input.valueObjectName, input.fieldPath);\n\treturn mismatches;\n}\n/**\n* A member typed by an enum takes only the enum's values, in the form its codec stores them, as a model field of that enum takes only its members.\n*/\nfunction enumValueMismatch(value, member, path, codecLookup) {\n\tconst handle = member.enumTypeHandle;\n\tif (handle === void 0) return void 0;\n\tconst codec = codecLookup.get(handle.codecId);\n\tconst stored = handle.values.map((enumValue) => codec === void 0 ? enumValue : codec.dataType.toContract(codec.toDataTypeValue(enumValue)));\n\tif (stored.some((storedValue) => storedValue === value)) return void 0;\n\treturn {\n\t\tcode: PSL_INVALID_DEFAULT_LITERAL,\n\t\tmessage: `Field \"${path}\": Expected one of: ${stored.map((storedValue) => JSON.stringify(storedValue)).join(\" | \")}`\n\t};\n}\nfunction isJsonObject(value) {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\nfunction jsonKind(value) {\n\tif (value === null) return \"null\";\n\tif (Array.isArray(value)) return \"a JSON array\";\n\tif (typeof value === \"object\") return \"a JSON object\";\n\treturn `a JSON ${typeof value}`;\n}\n//#endregion\n//#region src/psl-column-resolution.ts\nfunction argumentSpan(call, descriptors, index) {\n\tif (index === void 0) return call.span;\n\tconst name = descriptors?.[index]?.name;\n\tconst named = call.args.find((arg) => arg.kind === \"named\" && arg.name === name);\n\tconst positional = call.args.filter((arg) => arg.kind === \"positional\")[index];\n\treturn (named ?? positional)?.span ?? call.span;\n}\n/**\n* Checks the type parameters a constructor produced against its codec's parameter schema,\n* reporting a failure at the argument the failing parameter came from. Returns whether they passed.\n*/\nfunction checkPslTypeParams(input) {\n\tconst helperPath = input.call.path.join(\".\");\n\ttry {\n\t\tvalidateAuthoringTypeParams(helperPath, input.template, input.typeParams, input.codecLookup.descriptorFor(input.template.codecId)?.paramsSchema);\n\t\treturn true;\n\t} catch (error) {\n\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\tinput.diagnostics.push({\n\t\t\tcode: \"PSL_INVALID_ATTRIBUTE_ARGUMENT\",\n\t\t\tmessage: `${input.subject} ${message}`,\n\t\t\t...input.source.at(argumentSpan(input.call, input.args, argumentIndexOf(error)))\n\t\t});\n\t\treturn false;\n\t}\n}\nfunction argumentIndexOf(error) {\n\tif (typeof error !== \"object\" || error === null || !(\"details\" in error)) return void 0;\n\tconst { details } = error;\n\tif (typeof details !== \"object\" || details === null || !(\"argumentIndex\" in details)) return;\n\treturn typeof details.argumentIndex === \"number\" ? details.argumentIndex : void 0;\n}\n/**\n* Walks `authoringContributions.entityTypes` segment-by-segment and returns\n* the entity type descriptor at the resolved path, or `undefined` if no\n* descriptor is registered.\n*\n* Used by the PSL interpreter to dispatch declarative entity-shaped\n* declarations (`enum`, future `namespace { … }`, …) through the\n* pack entity-type mechanism — the descriptor's `factory` (or\n* `template`) materialises the IR-class instance without the\n* interpreter knowing target-specific construction.\n*/\nfunction getAuthoringEntity(contributions, path) {\n\tlet current = contributions?.entityTypes;\n\tfor (const segment of path) {\n\t\tif (typeof current !== \"object\" || current === null || \"kind\" in current) return;\n\t\tcurrent = current[segment];\n\t}\n\treturn current !== void 0 && isAuthoringEntityTypeDescriptor(current) ? current : void 0;\n}\nfunction instantiatePslTypeConstructor(input) {\n\tconst helperPath = input.call.path.join(\".\");\n\tconst args = mapPslHelperArgs({\n\t\targs: input.call.args,\n\t\tdescriptors: input.descriptor.args ?? [],\n\t\thelperLabel: `constructor \"${helperPath}\"`,\n\t\tspan: input.call.span,\n\t\tdiagnostics: input.diagnostics,\n\t\tsource: input.source,\n\t\tentityLabel: input.entityLabel,\n\t\tdataTypes: input.dataTypes\n\t});\n\tif (!args) return;\n\tlet output;\n\ttry {\n\t\tvalidateAuthoringHelperArguments(helperPath, input.descriptor.args, args);\n\t\toutput = instantiateAuthoringTypeConstructor(input.descriptor, args);\n\t} catch (error) {\n\t\tif (isInternalError(error)) throw error;\n\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\tinput.diagnostics.push({\n\t\t\tcode: \"PSL_INVALID_ATTRIBUTE_ARGUMENT\",\n\t\t\tmessage: `${input.entityLabel} constructor \"${helperPath}\" ${message}`,\n\t\t\t...input.source.at(input.call.span)\n\t\t});\n\t\treturn;\n\t}\n\treturn checkPslTypeParams({\n\t\tcall: input.call,\n\t\tsubject: `${input.entityLabel} constructor \"${helperPath}\"`,\n\t\targs: input.descriptor.args,\n\t\ttemplate: input.descriptor.output,\n\t\ttypeParams: output.typeParams,\n\t\tcodecLookup: input.codecLookup,\n\t\tdiagnostics: input.diagnostics,\n\t\tsource: input.source\n\t}) ? output : void 0;\n}\n/**\n* Structural check for a codec descriptor exposing the authoring-time\n* `columnFromEntity` hook a type constructor's `entityRefArg` resolves\n* through (e.g. the `pg/enum@1` codec descriptor). No casts.\n*/\nfunction hasColumnFromEntityHook(descriptor) {\n\treturn \"columnFromEntity\" in descriptor && typeof descriptor.columnFromEntity === \"function\";\n}\n/**\n* Resolves a type-constructor call whose descriptor declares an\n* `entityRefArg` (e.g. `pg.enum(AalLevel)`): extracts the call's sole\n* positional-argument ref string, resolves it against the field's\n* namespace's already-lowered extension entities (keyed by the declared\n* `entityRefArg.entityKind`, then block name), and converts the resolved\n* entity to column params via the `columnFromEntity` authoring hook on the\n* codec descriptor registered for `descriptor.output.codecId`. The\n* `typeParams.typeName` `columnFromEntity` returns is bare — schema\n* qualification (e.g. `auth.aal_level`) is a target concern, applied later\n* when the target builds the field's namespace. A `valueSet` ref is\n* attached when the same namespace derived a value-set under the same block\n* name (the generic `deriveValueSet` mechanism), scoped to the field's own\n* namespace.\n*/\nfunction resolveEntityRefTypeConstructorCall(input) {\n\tconst entityRefArg = input.descriptor.entityRefArg;\n\tif (entityRefArg === void 0) throw new InternalError(\"resolveEntityRefTypeConstructorCall called with a descriptor that does not declare an entityRefArg. This is an interpreter bug.\");\n\tconst helperPath = input.call.path.join(\".\");\n\tconst positionalArgs = input.call.args.filter((arg) => arg.kind === \"positional\");\n\tconst argument = positionalArgs[entityRefArg.index];\n\tconst ref = argument?.value;\n\tconst node = argument?.expression?.syntax;\n\tconst resolution = node === void 0 ? void 0 : input.binder?.symbolForNode(node);\n\tif (input.call.args.length !== 1 || positionalArgs.length !== 1 || ref === void 0 || input.binder !== void 0 && resolution === void 0) {\n\t\tinput.diagnostics.push({\n\t\t\tcode: \"PSL_INVALID_ATTRIBUTE_ARGUMENT\",\n\t\t\tmessage: `${input.entityLabel} type constructor \"${helperPath}\" expects exactly one positional argument naming the referenced entity`,\n\t\t\t...input.source.at(input.call.span)\n\t\t});\n\t\treturn NOT_RESOLVED;\n\t}\n\tlet entityName = ref;\n\tlet entityNamespaceId = input.namespaceId;\n\tconst reportUnknownRef = () => {\n\t\tinput.diagnostics.push({\n\t\t\tcode: \"PSL_UNKNOWN_ENTITY_REF\",\n\t\t\tmessage: `${input.entityLabel} type constructor \"${helperPath}(${ref})\" does not resolve — no entity named \"${ref}\" was found in namespace \"${entityNamespaceId ?? \"(unspecified)\"}\"`,\n\t\t\t...input.source.at(input.call.span)\n\t\t});\n\t\treturn NOT_RESOLVED;\n\t};\n\tif (resolution !== void 0) {\n\t\tif (resolution.kind === \"unresolved\") return NOT_RESOLVED;\n\t\tif (resolution.kind !== \"block\") return reportUnknownRef();\n\t\tentityName = resolution.symbol.name;\n\t\tentityNamespaceId = resolution.namespace.id;\n\t}\n\tconst entities = entityNamespaceId === void 0 ? void 0 : input.namespaceExtensionEntities?.get(entityNamespaceId);\n\tconst entity = entities?.[entityRefArg.entityKind]?.[entityName];\n\tif (entity === void 0) return reportUnknownRef();\n\tconst codecId = input.descriptor.output.codecId;\n\tconst codecDescriptor = input.codecLookup.descriptorFor(codecId);\n\tif (codecDescriptor === void 0 || !hasColumnFromEntityHook(codecDescriptor)) throw contractError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Type constructor \"${helperPath}\" registers codecId \"${codecId}\" with an entity-ref argument, but its codec descriptor has no \"columnFromEntity\" authoring hook. This is a contributor bug in the pack registering \"${helperPath}\", not a user-schema error.`, { meta: {\n\t\thelperPath,\n\t\tcodecId\n\t} });\n\tconst resolved = codecDescriptor.columnFromEntity(entity);\n\tif (resolved === void 0) return reportUnknownRef();\n\tconst valueSet = entities?.[\"valueSet\"]?.[entityName] !== void 0 && entityNamespaceId !== void 0 ? {\n\t\tplane: \"storage\",\n\t\tentityKind: \"valueSet\",\n\t\tnamespaceId: entityNamespaceId,\n\t\tentityName\n\t} : void 0;\n\treturn {\n\t\tok: true,\n\t\tdescriptor: {\n\t\t\tcodecId,\n\t\t\t...resolved.typeParams !== void 0 ? { typeParams: resolved.typeParams } : {},\n\t\t\t...valueSet !== void 0 ? { valueSet } : {}\n\t\t}\n\t};\n}\nconst NOT_RESOLVED = { ok: false };\nfunction instantiateFieldTypeConstructor(input) {\n\tif (input.descriptor.entityRefArg !== void 0) return resolveEntityRefTypeConstructorCall({\n\t\tcall: input.call,\n\t\tdescriptor: input.descriptor,\n\t\tnamespaceId: input.namespaceId,\n\t\tnamespaceExtensionEntities: input.namespaceExtensionEntities,\n\t\tbinder: input.binder,\n\t\tcodecLookup: input.codecLookup,\n\t\tdiagnostics: input.diagnostics,\n\t\tsource: input.source,\n\t\tentityLabel: input.entityLabel\n\t});\n\tconst instantiated = instantiatePslTypeConstructor({\n\t\tcall: input.call,\n\t\tdescriptor: input.descriptor,\n\t\tcodecLookup: input.codecLookup,\n\t\tdiagnostics: input.diagnostics,\n\t\tsource: input.source,\n\t\tentityLabel: input.entityLabel,\n\t\tdataTypes: input.dataTypes\n\t});\n\treturn instantiated === void 0 ? NOT_RESOLVED : {\n\t\tok: true,\n\t\tdescriptor: instantiated\n\t};\n}\nfunction resolvedKindLabel(resolution) {\n\tswitch (resolution.kind) {\n\t\tcase \"compositeType\": return \"composite type\";\n\t\tcase \"namedType\": return \"type alias\";\n\t\tcase \"block\": return resolution.symbol.keyword;\n\t\tcase \"crossSpace\": return \"type of another contract space\";\n\t\tdefault: return resolution.kind;\n\t}\n}\nfunction resolveFieldTypeDescriptor(input) {\n\tconst { field, resolution, entityLabel, diagnostics } = input;\n\tif (field.malformedType || resolution === void 0) return NOT_RESOLVED;\n\tconst source = diagnosticSource(input.sources, field.node.syntax);\n\tconst unsupported = (message) => {\n\t\tdiagnostics.push({\n\t\t\tcode: \"PSL_UNSUPPORTED_FIELD_TYPE\",\n\t\t\tmessage,\n\t\t\t...source.at(field.span)\n\t\t});\n\t\treturn NOT_RESOLVED;\n\t};\n\tconst call = field.typeConstructor;\n\tswitch (resolution.kind) {\n\t\tcase \"unresolved\":\n\t\tcase \"namespace\":\n\t\tcase \"contributedNamespace\":\n\t\tcase \"mixin\": return NOT_RESOLVED;\n\t\tcase \"contributedType\": {\n\t\t\tconst { descriptor, path } = resolution.symbol;\n\t\t\tconst written = path.join(\".\");\n\t\t\tif (descriptor.kind === \"typeAlias\") {\n\t\t\t\tif (call !== void 0) {\n\t\t\t\t\tdiagnostics.push({\n\t\t\t\t\t\tcode: \"PSL_INVALID_ATTRIBUTE_ARGUMENT\",\n\t\t\t\t\t\tmessage: `${written} is a type alias and takes no arguments.`,\n\t\t\t\t\t\t...source.at(call.span)\n\t\t\t\t\t});\n\t\t\t\t\treturn NOT_RESOLVED;\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tok: true,\n\t\t\t\t\tdescriptor: instantiateAuthoringTypeAlias(descriptor).type\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (call !== void 0) return instantiateFieldTypeConstructor({\n\t\t\t\t...input,\n\t\t\t\tcall,\n\t\t\t\tdescriptor,\n\t\t\t\tsource\n\t\t\t});\n\t\t\tif (!isBareTypeConstructor(descriptor)) {\n\t\t\t\treportTypeConstructorNotCalled({\n\t\t\t\t\tentityLabel,\n\t\t\t\t\tpath: written,\n\t\t\t\t\tdescriptor,\n\t\t\t\t\tsource,\n\t\t\t\t\tspan: field.span,\n\t\t\t\t\tdiagnostics\n\t\t\t\t});\n\t\t\t\treturn NOT_RESOLVED;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tok: true,\n\t\t\t\tdescriptor: instantiateAuthoringTypeConstructor(descriptor, [])\n\t\t\t};\n\t\t}\n\t\tcase \"field\":\n\t\tcase \"attribute\":\n\t\tcase \"parameter\":\n\t\tcase \"function\":\n\t\tcase \"constant\": throw new InternalError(`The type of ${entityLabel} resolved to a ${resolution.kind}; a type reference never names one. This is a binder bug.`);\n\t}\n\tif (call !== void 0) return unsupported(`${entityLabel} calls \"${call.path.join(\".\")}\", which is a ${resolvedKindLabel(resolution)}, not a type constructor. Remove the arguments.`);\n\tswitch (resolution.kind) {\n\t\tcase \"namedType\": {\n\t\t\tconst alias = input.typeAliases.get(resolution.symbol);\n\t\t\treturn alias === void 0 ? NOT_RESOLVED : {\n\t\t\t\tok: true,\n\t\t\t\tdescriptor: alias.descriptor\n\t\t\t};\n\t\t}\n\t\tcase \"block\": {\n\t\t\tif (resolution.symbol.keyword !== \"enum\") return unsupported(`${entityLabel} is typed by the ${resolution.symbol.keyword} \"${resolution.symbol.name}\", which is not a column type.`);\n\t\t\tconst descriptor = input.enumTypeDescriptors.get(resolution.symbol);\n\t\t\treturn descriptor === void 0 ? NOT_RESOLVED : {\n\t\t\t\tok: true,\n\t\t\t\tdescriptor\n\t\t\t};\n\t\t}\n\t\tcase \"model\":\n\t\tcase \"compositeType\": return unsupported(`${entityLabel} is typed by the ${resolvedKindLabel(resolution)} \"${resolution.symbol.name}\", which is not a column type.`);\n\t\tcase \"crossSpace\": return unsupported(`${entityLabel} type \"${field.typeName}\" is a type of contract space \"${field.typeContractSpaceId}\"; only a relation field can name a type of another contract space.`);\n\t}\n}\nconst PSL_INVALID_DEFAULT_SQL = \"PSL_INVALID_DEFAULT_SQL\";\nconst TAGGED_LITERAL_CANONICALIZATION_CODES = {\n\tnul: \"PSL_TAGGED_LITERAL_NUL\",\n\t\"too-large\": \"PSL_TAGGED_LITERAL_TOO_LARGE\"\n};\n/**\n* Refuses a `null` element in the list default of a field whose list elements are not nullable,\n* at the first `null`. Returns whether it refused.\n*/\nfunction rejectStrictListNullDefault(input) {\n\tif (input.owner.elementOptional) return false;\n\tconst nullElement = input.elements.find(isParsedNullLiteral);\n\tif (nullElement === void 0) return false;\n\tinput.diagnostics.push({\n\t\tcode: \"PSL_INVALID_DEFAULT_APPLICABILITY\",\n\t\tmessage: `${typeAttributeSubjectLabel(input.owner.specContext.subject)} has strict list elements and cannot use null in a literal list default. Make the element type nullable or remove null from the default.`,\n\t\t...input.source.at(nullElement.span)\n\t});\n\treturn true;\n}\nfunction isParsedNullLiteral(element) {\n\treturn element.kind === \"null\";\n}\nfunction fieldAttributeOwner(input) {\n\tconst { field, model } = input;\n\treturn {\n\t\tattributes: field.attributes,\n\t\toptional: field.optional,\n\t\tlist: field.list,\n\t\telementOptional: field.elementOptional,\n\t\tspecContext: typeAttributeSpecContextOfField(fieldSpecContext({\n\t\t\tsymbols: input.symbolTable,\n\t\t\tmodel,\n\t\t\tfield,\n\t\t\tbinder: input.binder,\n\t\t\tdefaultFunctionRegistry: input.defaultFunctionRegistry,\n\t\t\tgeneratorFunctions: input.generatorFunctions,\n\t\t\tdataTypes: input.dataTypes\n\t\t})),\n\t\tloweringNames: {\n\t\t\tmodelName: model.name,\n\t\t\tfieldName: field.name\n\t\t}\n\t};\n}\nfunction lowerDefaultForField(input) {\n\treturn lowerTypeDefault({\n\t\t...input,\n\t\towner: fieldAttributeOwner(input)\n\t});\n}\n/** The default a field's or type alias's `@default(...)` lowers to for its column. */\nfunction lowerTypeDefault(input) {\n\tconst node = getAttribute(input.owner.attributes, \"default\")?.node;\n\tif (node === void 0) return {};\n\tconst source = diagnosticSource(input.sources, node.syntax);\n\tconst subject = typeAttributeSubjectLabel(input.owner.specContext.subject);\n\tconst interpreted = interpretTypeAttribute({\n\t\tsymbols: input.symbolTable,\n\t\tnode,\n\t\tspec: typeDefaultSpec(input.owner.specContext),\n\t\tsources: input.sources,\n\t\tbinder: input.binder,\n\t\tdiagnostics: input.diagnostics\n\t});\n\tif (interpreted === void 0) return {};\n\tconst value = interpreted.value;\n\tconst attributeSpan = nodePslSpan(node.syntax, input.sources);\n\tif (value.kind === \"null\") {\n\t\tif (!input.owner.optional) {\n\t\t\tinput.diagnostics.push({\n\t\t\t\tcode: \"PSL_INVALID_DEFAULT_APPLICABILITY\",\n\t\t\t\tmessage: `${subject} is non-nullable and cannot use null as its literal default. Make the field nullable or use a non-null default.`,\n\t\t\t\t...source.at()\n\t\t\t});\n\t\t\treturn {};\n\t\t}\n\t\treturn { defaultValue: {\n\t\t\tkind: \"literal\",\n\t\t\tvalue: null,\n\t\t\tinStoredForm: true\n\t\t} };\n\t}\n\tif (value.kind === \"list\" && rejectStrictListNullDefault({\n\t\t...input,\n\t\telements: value.elements,\n\t\tsource\n\t})) return {};\n\tconst readsListElements = (written) => input.isListColumn || input.owner.list && written.kind === \"list\";\n\tconst readAsLiteral = (written, spans, sourceElementIndexes) => {\n\t\tconst lowered = lowerDataTypeDefault({\n\t\t\twritten,\n\t\t\tspans,\n\t\t\tsourceElementIndexes,\n\t\t\tisList: readsListElements(written),\n\t\t\tcolumn: {\n\t\t\t\tcodecId: input.columnDescriptor.codecId,\n\t\t\t\ttypeParams: input.columnTypeParams\n\t\t\t},\n\t\t\tcodecLookup: input.codecLookup,\n\t\t\tdataTypes: input.dataTypes,\n\t\t\tsubject\n\t\t});\n\t\tif (!lowered.ok) {\n\t\t\tinput.diagnostics.push({\n\t\t\t\tcode: lowered.code,\n\t\t\t\tmessage: lowered.message,\n\t\t\t\t...source.at(lowered.span)\n\t\t\t});\n\t\t\treturn {};\n\t\t}\n\t\tlet restoredValue = lowered.value;\n\t\tif (value.kind === \"list\" && value.elements.some(isParsedNullLiteral) && Array.isArray(lowered.value)) {\n\t\t\tlet index = 0;\n\t\t\tconst nonNullValues = lowered.value;\n\t\t\trestoredValue = value.elements.map((element) => element.kind === \"null\" ? null : nonNullValues[index++] ?? null);\n\t\t}\n\t\tif (input.valueObjectDefault !== void 0) {\n\t\t\tconst { document, stored } = valueObjectDefaultDocument({\n\t\t\t\tstored: restoredValue,\n\t\t\t\telementwise: readsListElements(written) && !input.isListColumn,\n\t\t\t\tcodecId: input.columnDescriptor.codecId,\n\t\t\t\tcodecLookup: input.codecLookup\n\t\t\t});\n\t\t\tconst mismatches = valueObjectDefaultMismatches({\n\t\t\t\tfieldPath: input.owner.specContext.subject.name,\n\t\t\t\tvalue: document,\n\t\t\t\tlist: input.owner.list,\n\t\t\t\tnullable: input.owner.optional,\n\t\t\t\telementNullable: input.owner.elementOptional,\n\t\t\t\t...input.valueObjectDefault,\n\t\t\t\tlookups: {\n\t\t\t\t\tcodecLookup: input.codecLookup,\n\t\t\t\t\tdataTypeLookup: input.dataTypes.lookup\n\t\t\t\t}\n\t\t\t});\n\t\t\tfor (const { code, message } of mismatches) input.diagnostics.push({\n\t\t\t\tcode,\n\t\t\t\tmessage,\n\t\t\t\t...source.at()\n\t\t\t});\n\t\t\tif (mismatches.length > 0) return {};\n\t\t\treturn { defaultValue: {\n\t\t\t\tkind: \"literal\",\n\t\t\t\tvalue: stored,\n\t\t\t\tinStoredForm: true\n\t\t\t} };\n\t\t}\n\t\treturn { defaultValue: {\n\t\t\tkind: \"literal\",\n\t\t\tvalue: restoredValue,\n\t\t\tinStoredForm: true\n\t\t} };\n\t};\n\tconst canonicalized = (scalar) => {\n\t\tif (scalar.written !== void 0) return scalar.written;\n\t\tinput.diagnostics.push({\n\t\t\tcode: TAGGED_LITERAL_CANONICALIZATION_CODES[scalar.reason],\n\t\t\tmessage: describeTaggedLiteralFailure(scalar.reason),\n\t\t\t...source.at(scalar.span)\n\t\t});\n\t};\n\tconst sqlExpressionDefault = (text, span) => {\n\t\tconst reserved = reservedSqlDefaultText(text);\n\t\tconst refusal = reserved === void 0 ? checkSqlDefaultText(text) : `Write @default(${reserved}()) instead of ${SQL_EXPRESSION_TAG}\\`${reserved}()\\`; ${reserved}() is a Prisma default function, not raw SQL.`;\n\t\tif (refusal !== void 0) {\n\t\t\tinput.diagnostics.push({\n\t\t\t\tcode: PSL_INVALID_DEFAULT_SQL,\n\t\t\t\tmessage: refusal,\n\t\t\t\t...source.at(span)\n\t\t\t});\n\t\t\treturn {};\n\t\t}\n\t\treturn { defaultValue: {\n\t\t\tkind: \"function\",\n\t\t\texpression: text\n\t\t} };\n\t};\n\tif (value.kind === \"member\" || value.kind === \"member-list\") return {};\n\tif (input.columnDescriptor.valueSet !== void 0) {\n\t\tconst memberName = (element) => element.kind === \"scalar\" && element.written?.kind === \"string\" ? element.written.text : void 0;\n\t\tif (value.kind === \"scalar\") {\n\t\t\tconst member = memberName(value);\n\t\t\tif (member !== void 0) return { defaultValue: {\n\t\t\t\tkind: \"literal\",\n\t\t\t\tvalue: member\n\t\t\t} };\n\t\t}\n\t\tif (value.kind === \"list\") {\n\t\t\tconst members = value.elements.map((element) => element.kind === \"null\" ? null : memberName(element));\n\t\t\tif (members.every((member) => member !== void 0)) return { defaultValue: {\n\t\t\t\tkind: \"literal\",\n\t\t\t\tvalue: members\n\t\t\t} };\n\t\t}\n\t}\n\tif (value.kind === \"list\") {\n\t\tconst elements = [];\n\t\tconst sourceElementIndexes = [];\n\t\tfor (const [sourceIndex, element] of value.elements.entries()) {\n\t\t\tif (element.kind === \"null\") continue;\n\t\t\tconst written = canonicalized(element);\n\t\t\tif (written === void 0) return {};\n\t\t\telements.push(written);\n\t\t\tsourceElementIndexes.push(sourceIndex);\n\t\t}\n\t\treturn readAsLiteral({\n\t\t\tkind: \"list\",\n\t\t\telements\n\t\t}, {\n\t\t\tattribute: attributeSpan,\n\t\t\tvalue: value.span,\n\t\t\telements: value.elements.map((element) => element.span)\n\t\t}, sourceElementIndexes);\n\t}\n\tif (value.kind === \"scalar\") {\n\t\tconst written = canonicalized(value);\n\t\tif (written === void 0) return {};\n\t\tconst spans = {\n\t\t\tattribute: attributeSpan,\n\t\t\tvalue: value.span,\n\t\t\telements: []\n\t\t};\n\t\tif (written.kind !== \"tag\") return readAsLiteral(written, spans);\n\t\tconst read = readWrittenValue(input.dataTypes, written);\n\t\tif (read.ok && read.value.type === SQL_EXPRESSION_DATA_TYPE_ID) return sqlExpressionDefault(sqlTextFromStored(read.value.value), value.span);\n\t\treturn readAsLiteral(written, spans);\n\t}\n\tconst { call } = value;\n\tconst context = {\n\t\tsourceId: input.sources.sourceFileFor(node.syntax).filename,\n\t\t...input.owner.loweringNames,\n\t\tcolumnCodecId: input.columnDescriptor.codecId\n\t};\n\tconst lowered = lowerDefaultFunctionWithRegistry({\n\t\tcall,\n\t\tregistry: input.defaultFunctionRegistry,\n\t\tcontext,\n\t\tsource\n\t});\n\tif (!lowered.ok) {\n\t\tif (lowered.kind === \"owned\") input.diagnostics.push(lowered.diagnostic);\n\t\telse input.diagnostics.pushExternal(lowered.diagnostic);\n\t\treturn {};\n\t}\n\treturn { defaultValue: lowered.value.defaultValue };\n}\nconst GENERATOR_PHASES = [\"onCreate\", \"onUpdate\"];\n/** The generators a field's `@onCreate(fn())` and `@onUpdate(fn())` resolve to for its column, or `undefined` for a field with neither. */\nfunction lowerGeneratorAttributesForField(input) {\n\treturn lowerTypeGenerators({\n\t\t...input,\n\t\towner: fieldAttributeOwner(input)\n\t});\n}\n/** The generators the `@onCreate(fn())` and `@onUpdate(fn())` of a field or type alias resolve to for its column, or `undefined` when it has neither. */\nfunction lowerTypeGenerators(input) {\n\tconst { subject } = input.owner.specContext;\n\tconst label = typeAttributeSubjectLabel(subject);\n\tconst phases = {};\n\tfor (const phase of GENERATOR_PHASES) {\n\t\tconst [attribute, duplicate] = input.owner.attributes.filter(({ name }) => name === phase);\n\t\tif (attribute === void 0) continue;\n\t\tif (duplicate !== void 0) {\n\t\t\tinput.diagnostics.push({\n\t\t\t\tcode: \"PSL_DUPLICATE_ATTRIBUTE\",\n\t\t\t\tmessage: `\\`@${phase}\\` declared more than once on ${subject.kind} \"${subject.name}\".`,\n\t\t\t\t...diagnosticSource(input.sources, duplicate.node.syntax).at(duplicate.span)\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tconst node = attribute.node;\n\t\tconst interpreted = interpretTypeAttribute({\n\t\t\tsymbols: input.symbolTable,\n\t\t\tnode,\n\t\t\tspec: typeGeneratorAttributeSpec(phase, input.owner.specContext),\n\t\t\tsources: input.sources,\n\t\t\tbinder: input.binder,\n\t\t\tdiagnostics: input.diagnostics\n\t\t});\n\t\tif (interpreted === void 0) continue;\n\t\tconst call = interpreted.value;\n\t\tconst resolution = input.generatorFunctions.resolve({\n\t\t\tname: call.fn,\n\t\t\targs: call.args\n\t\t}, {\n\t\t\tcodecId: input.columnDescriptor.codecId,\n\t\t\ttypeParams: input.columnTypeParams,\n\t\t\tlength: sqlCodecColumnLength(input.dataTypes, input.columnDescriptor.codecId, input.columnTypeParams)\n\t\t});\n\t\tif (resolution.ok) {\n\t\t\tphases[phase] = resolution.generator;\n\t\t\tcontinue;\n\t\t}\n\t\tinput.diagnostics.push({\n\t\t\tcode: \"PSL_GENERATOR_NOT_APPLICABLE\",\n\t\t\tmessage: resolution.reason === \"refused\" ? `${label}: ${resolution.message}` : `${label}: ${call.fn}() does not apply to codec \"${input.columnDescriptor.codecId}\".`,\n\t\t\t...diagnosticSource(input.sources, node.syntax).at(call.span)\n\t\t});\n\t}\n\treturn phases.onCreate === void 0 && phases.onUpdate === void 0 ? void 0 : phases;\n}\n/** The default a field's or type alias's `@default(...)` names among the members of its enum. */\nfunction lowerEnumDefault(input) {\n\tconst { owner, enumHandle, diagnostics } = input;\n\tconst node = getAttribute(owner.attributes, \"default\")?.node;\n\tif (node === void 0) return {};\n\tif (enumHandle.enumMembers.length === 0) return {};\n\tconst interpreted = interpretTypeAttribute({\n\t\tnode,\n\t\tspec: typeDefaultSpec(owner.specContext),\n\t\tsymbols: input.symbolTable,\n\t\tsources: input.sources,\n\t\tbinder: input.binder,\n\t\tdiagnostics\n\t});\n\tif (interpreted === void 0) return {};\n\tconst member = interpreted.value;\n\tif (member.kind === \"member-list\") {\n\t\tif (rejectStrictListNullDefault({\n\t\t\towner,\n\t\t\telements: member.elements,\n\t\t\tsource: diagnosticSource(input.sources, node.syntax),\n\t\t\tdiagnostics\n\t\t})) return {};\n\t\treturn { defaultValue: {\n\t\t\tkind: \"literal\",\n\t\t\tvalue: blindCast(member.elements.map((entry) => entry.kind === \"null\" ? null : enumHandle.enumMembers.find((candidate) => candidate.name === entry.name)?.value))\n\t\t} };\n\t}\n\tinvariant(member.kind === \"member\", \"the enum @default grammar admits only member identifiers\");\n\tconst match = enumHandle.enumMembers.find((m) => m.name === member.name);\n\tif (!match) return {};\n\treturn { defaultValue: {\n\t\tkind: \"literal\",\n\t\tvalue: blindCast(match.value)\n\t} };\n}\n//#endregion\n//#region src/psl-field-resolution.ts\nconst MODEL_COORDINATE_SEPARATOR = \"\\0\";\nfunction modelCoordinateKey(namespaceId, modelName) {\n\treturn `${namespaceId}${MODEL_COORDINATE_SEPARATOR}${modelName}`;\n}\nconst GENERATOR_ATTRIBUTE_NAMES = [\"onCreate\", \"onUpdate\"];\nconst REMOVED_ATTRIBUTE_RULES = /* @__PURE__ */ new Map([[\"updatedAt\", {\n\thint: \"Use @onCreate(now()) @onUpdate(now()), or type the field temporal.UpdatedAt.\",\n\tsuppressWhen: (field) => field.attributes.some((attribute) => attribute.name === \"onUpdate\")\n}]]);\n{\n\tconst overlap = [...REMOVED_ATTRIBUTE_RULES.keys()].filter((name) => Object.hasOwn(sqlAttributeSpecs.field, name));\n\tif (overlap.length > 0) throw new InternalError(`Registered SQL field attributes and REMOVED_ATTRIBUTE_RULES must not overlap. Names in both: ${overlap.join(\", \")}`);\n}\nfunction describeUnsupportedSqlAttribute(sources) {\n\treturn ({ attribute, level, owner, field }) => {\n\t\tif (owner.kind === \"compositeType\") return void 0;\n\t\tif (owner.kind === \"mixin\" && owner.keyword === \"type\") return void 0;\n\t\tif (level === \"model\") {\n\t\t\tconst source = diagnosticSource(sources, owner.node.syntax);\n\t\t\treturn {\n\t\t\t\tcode: \"PSL_UNSUPPORTED_MODEL_ATTRIBUTE\",\n\t\t\t\tmessage: `${owner.kind === \"mixin\" ? \"Mixin\" : \"Model\"} \"${owner.name}\" uses unsupported attribute \"@@${attribute.name}\"`,\n\t\t\t\t...source.at(attribute.span)\n\t\t\t};\n\t\t}\n\t\tif (field === void 0) return void 0;\n\t\tconst source = diagnosticSource(sources, field.node.syntax);\n\t\tif (attribute.name.startsWith(\"db.\")) return {\n\t\t\tcode: \"PSL_UNSUPPORTED_FIELD_ATTRIBUTE\",\n\t\t\tmessage: formatDbAttributeMigrationMessage(attribute),\n\t\t\t...source.at(attribute.span)\n\t\t};\n\t\tconst baseMessage = `Field \"${owner.name}.${field.name}\" uses unsupported attribute \"@${attribute.name}\"`;\n\t\tconst removedRule = REMOVED_ATTRIBUTE_RULES.get(attribute.name);\n\t\treturn {\n\t\t\tcode: \"PSL_UNSUPPORTED_FIELD_ATTRIBUTE\",\n\t\t\tmessage: removedRule && !removedRule.suppressWhen(field) ? `${baseMessage}. ${removedRule.hint}` : baseMessage,\n\t\t\t...source.at(attribute.span)\n\t\t};\n\t};\n}\nfunction extractFieldConstraintNames(input) {\n\tconst idAttribute = getAttribute(input.field.attributes, \"id\");\n\tconst uniqueAttribute = getAttribute(input.field.attributes, \"unique\");\n\tconst idNode = getAttribute(input.field.attributes, \"id\")?.node;\n\tconst idName = idNode === void 0 ? void 0 : interpretFieldAttribute({\n\t\tnode: idNode,\n\t\tsymbols: input.symbolTable,\n\t\tspec: sqlAttributeSpecs.field.id(input.specContext),\n\t\tmodel: input.model,\n\t\tfield: input.field,\n\t\tsources: input.sources,\n\t\tbinder: input.binder,\n\t\tdiagnostics: input.diagnostics\n\t})?.map;\n\tconst uniqueNode = getAttribute(input.field.attributes, \"unique\")?.node;\n\treturn {\n\t\tidAttribute,\n\t\tuniqueAttribute,\n\t\tidName,\n\t\tuniqueName: uniqueNode === void 0 ? void 0 : interpretFieldAttribute({\n\t\t\tnode: uniqueNode,\n\t\t\tsymbols: input.symbolTable,\n\t\t\tspec: sqlAttributeSpecs.field.unique(input.specContext),\n\t\t\tmodel: input.model,\n\t\t\tfield: input.field,\n\t\t\tsources: input.sources,\n\t\t\tbinder: input.binder,\n\t\t\tdiagnostics: input.diagnostics\n\t\t})?.map\n\t};\n}\nfunction collectResolvedFields(input) {\n\tconst { model, symbolTable, enumTypeDescriptors, typeAliases, valueObjectTypes, authoringContributions, binder, targetId, defaultFunctionRegistry, generatorFunctions, dataTypes, diagnostics, droppedFields, sources, scalarColumnDescriptors, enumHandles, capabilities, namespaceId, namespaceExtensionEntities, codecLookup } = input;\n\tconst resolvedFields = [];\n\tconst valueObjectStorageTypeName = authoringContributions?.valueObjectStorageType;\n\tfor (const field of Object.values(model.fields)) {\n\t\tconst source = diagnosticSource(sources, field.node.syntax);\n\t\tconst fieldTypeReference = typeReferenceNode(field);\n\t\tconst fieldTypeResolution = fieldTypeReference === void 0 ? void 0 : binder.symbolForNode(fieldTypeReference);\n\t\tconst isModelField = fieldTypeResolution?.kind === \"model\";\n\t\tif (field.list && isModelField) continue;\n\t\tconst relationAttribute = getAttribute(field.attributes, \"relation\");\n\t\tif (isModelField && relationAttribute) continue;\n\t\tif (field.typeContractSpaceId !== void 0 && relationAttribute) continue;\n\t\tif (isModelField) continue;\n\t\tconst valueObjectName = fieldTypeResolution?.kind === \"compositeType\" ? fieldTypeResolution.symbol.name : void 0;\n\t\tconst isValueObjectField = valueObjectName !== void 0;\n\t\tconst isListField = field.list;\n\t\tconst isListColumn = storedAsListColumn({\n\t\t\tlist: isListField,\n\t\t\ttypedByValueObject: isValueObjectField\n\t\t});\n\t\tlet descriptor;\n\t\tconst resolveInput = {\n\t\t\tfield,\n\t\t\tresolution: fieldTypeResolution,\n\t\t\tenumTypeDescriptors,\n\t\t\ttypeAliases,\n\t\t\tdiagnostics,\n\t\t\tsources,\n\t\t\tentityLabel: `Field \"${model.name}.${field.name}\"`,\n\t\t\t...ifDefined(\"namespaceId\", namespaceId),\n\t\t\t...ifDefined(\"namespaceExtensionEntities\", namespaceExtensionEntities),\n\t\t\tbinder,\n\t\t\tcodecLookup,\n\t\t\tdataTypes\n\t\t};\n\t\tif (isValueObjectField) {\n\t\t\tif (valueObjectStorageTypeName === void 0) {\n\t\t\t\tdiagnostics.push({\n\t\t\t\t\tcode: \"PSL_UNSUPPORTED_FIELD_TYPE\",\n\t\t\t\t\tmessage: `Field \"${model.name}.${field.name}\" is typed by the composite type \"${field.typeName}\", but the adapter of the stack declares no storage type for value objects, so the field has no column to be stored in.`,\n\t\t\t\t\t...source.at(field.span)\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tdescriptor = scalarColumnDescriptors.get(valueObjectStorageTypeName);\n\t\t\tif (descriptor === void 0) throw new InternalError(`The stack declares \"${valueObjectStorageTypeName}\" as its value-object storage type, but it is not one of the stack's scalar types; the control stack checks this when it is assembled.`);\n\t\t} else if (isListField) {\n\t\t\tif (capabilities[\"sql\"]?.[\"scalarList\"] !== true) {\n\t\t\t\tdiagnostics.push({\n\t\t\t\t\tcode: \"PSL_SCALAR_LIST_UNSUPPORTED_TARGET\",\n\t\t\t\t\tmessage: `Field \"${model.name}.${field.name}\" is a scalar list, but target \"${targetId}\" does not support scalar lists (the adapter does not report the \"scalarList\" capability). Remove the list or author it against a target that supports scalar lists.`,\n\t\t\t\t\t...source.at(field.span)\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst resolved = resolveFieldTypeDescriptor(resolveInput);\n\t\t\tif (!resolved.ok) {\n\t\t\t\tdroppedFields.add(field);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tdescriptor = resolved.descriptor;\n\t\t} else {\n\t\t\tconst resolved = resolveFieldTypeDescriptor(resolveInput);\n\t\t\tif (!resolved.ok) {\n\t\t\t\tdroppedFields.add(field);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tdescriptor = resolved.descriptor;\n\t\t}\n\t\tif (!descriptor) continue;\n\t\tconst typeAlias = typeAliases.ofResolution(fieldTypeResolution);\n\t\tif (typeAlias !== void 0) refuseRepeatedTypeAliasAttributes({\n\t\t\tfield,\n\t\t\tfieldPath: `${model.name}.${field.name}`,\n\t\t\talias: typeAlias.alias,\n\t\t\tsources,\n\t\t\tdiagnostics\n\t\t});\n\t\tconst defaultAttribute = getAttribute(field.attributes, \"default\");\n\t\tconst enumHandle = fieldTypeResolution?.kind === \"block\" ? enumHandles.get(fieldTypeResolution.symbol) : typeAlias?.enumHandle;\n\t\tconst fieldLowering = {\n\t\t\tmodelName: model.name,\n\t\t\tfieldName: field.name,\n\t\t\tfield,\n\t\t\tmodel,\n\t\t\tsymbolTable,\n\t\t\tsources: input.sources,\n\t\t\tbinder: input.binder,\n\t\t\tdefaultFunctionRegistry,\n\t\t\tgeneratorFunctions,\n\t\t\tdataTypes,\n\t\t\tdiagnostics\n\t\t};\n\t\tconst ownDefault = defaultAttribute ? enumHandle ? lowerEnumDefault({\n\t\t\t...fieldLowering,\n\t\t\towner: fieldAttributeOwner(fieldLowering),\n\t\t\tenumHandle\n\t\t}) : lowerDefaultForField({\n\t\t\t...fieldLowering,\n\t\t\tcolumnDescriptor: descriptor,\n\t\t\tcolumnTypeParams: descriptor.typeParams,\n\t\t\tisListColumn,\n\t\t\tvalueObjectDefault: valueObjectName === void 0 ? void 0 : {\n\t\t\t\tvalueObjectName,\n\t\t\t\ttypes: valueObjectTypes\n\t\t\t},\n\t\t\tcodecLookup\n\t\t}) : {};\n\t\tif (isListField && typeAlias?.defaultValue !== void 0) {\n\t\t\tdiagnostics.push({\n\t\t\t\tcode: \"PSL_DEFAULT_LIST_EXPECTED\",\n\t\t\t\tmessage: `Field \"${model.name}.${field.name}\" is a list, but its type alias \"${typeAlias.name}\" sets @default for a single value. Remove \"[]\" or the @default of the alias.`,\n\t\t\t\t...source.at(field.span)\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tconst loweredDefault = { ...ifDefined(\"defaultValue\", typeAlias?.defaultValue ?? ownDefault.defaultValue) };\n\t\tconst generatedValues = mergeExecutionDefaults(lowerGeneratorAttributesForField({\n\t\t\t...fieldLowering,\n\t\t\tcolumnDescriptor: descriptor,\n\t\t\tcolumnTypeParams: descriptor.typeParams\n\t\t}), typeAlias?.executionDefaults);\n\t\tif (isListField && loweredDefault.defaultValue?.kind === \"function\" && loweredDefault.defaultValue.expression === \"autoincrement()\") {\n\t\t\tdiagnostics.push({\n\t\t\t\tcode: \"PSL_LIST_AUTOINCREMENT_UNSUPPORTED\",\n\t\t\t\tmessage: `Field \"${model.name}.${field.name}\" is a list and cannot use autoincrement(); it is a Prisma marker for a sequence-backed scalar column, not SQL.`,\n\t\t\t\t...source.at(defaultAttribute?.span ?? field.span)\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tconst ownGeneratorAttribute = GENERATOR_ATTRIBUTE_NAMES.map((name) => getAttribute(field.attributes, name)).find((attribute) => attribute !== void 0);\n\t\tif (isListField && generatedValues !== void 0) {\n\t\t\tconst fieldLabel = `Field \"${model.name}.${field.name}\"`;\n\t\t\tconst perElement = \"Lists have no per-element generated values;\";\n\t\t\tconst call = ownGeneratorAttribute?.args.find((arg) => arg.kind === \"positional\")?.value.trim() ?? \"\";\n\t\t\tdiagnostics.push({\n\t\t\t\tcode: \"PSL_LIST_EXECUTION_DEFAULT_UNSUPPORTED\",\n\t\t\t\tmessage: ownGeneratorAttribute === void 0 ? `${fieldLabel} is a list, and its type alias \"${typeAlias?.name}\" generates a value. ${perElement} remove \"[]\" or type the field without the alias.` : `${fieldLabel} is a list and cannot use @${ownGeneratorAttribute.name}(${call}). ${perElement} remove @${ownGeneratorAttribute.name}(...).`,\n\t\t\t\t...source.at(ownGeneratorAttribute?.span ?? field.span)\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tconst mappedColumnName = storageName(field, input.physicalNames);\n\t\tconst specContext = fieldSpecContext({\n\t\t\tsymbols: symbolTable,\n\t\t\tmodel,\n\t\t\tfield,\n\t\t\tbinder,\n\t\t\tdefaultFunctionRegistry,\n\t\t\tgeneratorFunctions,\n\t\t\tdataTypes\n\t\t});\n\t\tconst { idAttribute, uniqueAttribute, idName, uniqueName } = extractFieldConstraintNames({\n\t\t\tsymbolTable: input.symbolTable,\n\t\t\tmodel,\n\t\t\tfield,\n\t\t\tspecContext,\n\t\t\tsources: input.sources,\n\t\t\tbinder: input.binder,\n\t\t\tdiagnostics\n\t\t});\n\t\tlet isIdField = Boolean(idAttribute);\n\t\tif (idAttribute && isListField) {\n\t\t\tdiagnostics.push({\n\t\t\t\tcode: \"PSL_LIST_ID_UNSUPPORTED\",\n\t\t\t\tmessage: `Field \"${model.name}.${field.name}\" is a list and cannot be a primary key. Remove @id; a list cannot be an identity column.`,\n\t\t\t\t...source.at(idAttribute.span)\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tif (idAttribute && field.optional) {\n\t\t\tdiagnostics.push({\n\t\t\t\tcode: \"PSL_INVALID_ATTRIBUTE_ARGUMENT\",\n\t\t\t\tmessage: `Field \"${model.name}.${field.name}\" @id cannot be optional; primary key columns must be NOT NULL`,\n\t\t\t\t...source.at(idAttribute.span)\n\t\t\t});\n\t\t\tisIdField = false;\n\t\t}\n\t\tresolvedFields.push({\n\t\t\tfield,\n\t\t\tcolumnName: mappedColumnName,\n\t\t\tdescriptor,\n\t\t\tnullable: field.optional,\n\t\t\t...ifDefined(\"defaultValue\", loweredDefault.defaultValue),\n\t\t\t...ifDefined(\"executionDefaults\", generatedValues),\n\t\t\tisId: isIdField,\n\t\t\tisUnique: Boolean(uniqueAttribute),\n\t\t\t...ifDefined(\"idName\", idName),\n\t\t\t...ifDefined(\"uniqueName\", uniqueName),\n\t\t\t...ifDefined(\"many\", isListField ? true : void 0),\n\t\t\t...ifDefined(\"elementNullable\", field.elementOptional ? true : void 0),\n\t\t\t...ifDefined(\"valueObjectTypeName\", valueObjectName),\n\t\t\t...ifDefined(\"enumTypeHandle\", enumHandle)\n\t\t});\n\t}\n\treturn resolvedFields;\n}\nfunction mergeExecutionDefaults(fromAttributes, fromTypeAlias) {\n\tif (fromAttributes === void 0 || fromTypeAlias === void 0) return fromTypeAlias ?? fromAttributes;\n\treturn {\n\t\t...fromAttributes,\n\t\t...fromTypeAlias\n\t};\n}\n//#endregion\nexport { modelSpecContext as _, instantiateFieldTypeConstructor as a, contractError as b, lowerTypeDefault as c, PSL_CHECK_ON_STI_VARIANT as d, defaultFunctionCall as f, modelAttributeSpecsFrom as g, interpretModelAttribute as h, getAuthoringEntity as i, lowerTypeGenerators as l, interpretFieldAttribute as m, describeUnsupportedSqlAttribute as n, instantiatePslTypeConstructor as o, fieldSpecContext as p, modelCoordinateKey as r, lowerEnumDefault as s, collectResolvedFields as t, resolveFieldTypeDescriptor as u, sqlAttributeSpecs as v, readDataTypeDefault as y };\n\n//# sourceMappingURL=psl-field-resolution-Bvhx79fP.mjs.map"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import "./query-lane-context-DLSXDsDK-pEiQmuYy.mjs";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-CCzfa1mY.mjs","names":[],"sources":["../../../../2-sql-family/9-family/dist/runtime.mjs"],"sourcesContent":["import { TIMESTAMP_NOW_GENERATOR_ID } from \"@internal/framework-components/authoring\";\nimport { UNBOUND_DOMAIN_NAMESPACE_ID, resolveDomainModel } from \"@internal/contract/types\";\nimport { resolveStorageTable } from \"@internal/sql-contract/resolve-storage-table\";\n//#region src/core/runtime-instance.ts\n/**\n* Creates a SQL execution-plane family instance.\n*\n* This will be renamed to `createSqlExecutionFamilyInstance()` as part of `TML-1842`.\n*/\nfunction createSqlRuntimeFamilyInstance() {\n\treturn { familyId: \"sql\" };\n}\n//#endregion\n//#region src/core/runtime-descriptor.ts\n/**\n* SQL execution-plane family descriptor.\n*\n* Note: this is currently named `sqlRuntimeFamilyDescriptor` because the execution plane\n* framework types are still using the `Runtime*` naming (`RuntimeFamilyDescriptor`, etc.).\n*\n* This will be renamed to `sqlExecutionFamilyDescriptor` as part of `TML-1842`.\n*/\nconst sqlRuntimeFamilyDescriptor = {\n\tkind: \"family\",\n\tid: \"sql\",\n\tfamilyId: \"sql\",\n\tversion: \"0.0.1\",\n\tcreate() {\n\t\treturn createSqlRuntimeFamilyInstance();\n\t}\n};\nObject.freeze(sqlRuntimeFamilyDescriptor);\n//#endregion\n//#region src/core/timestamp-now-runtime-generator.ts\n/**\n* Builds the canonical runtime-plane generator for the wall-clock-now\n* mutation default. Returns `new Date()`; semantics are target-agnostic\n* so all SQL targets share this single implementation.\n*\n* Declares `stability: 'query'` so a single ORM bulk operation\n* (e.g. `createAll([...])`) shares one timestamp across every row and\n* every timestamp-defaulted column. Matches Prisma 6's `@updatedAt`\n* semantics: one `new Date()` per lowered mutation, not per row.\n*\n* Lives in its own module, exported only through `exports/runtime.ts`,\n* so the control plane stays free of runtime-plane imports.\n*/\nfunction timestampNowRuntimeGenerator() {\n\treturn {\n\t\tid: TIMESTAMP_NOW_GENERATOR_ID,\n\t\tgenerate: () => /* @__PURE__ */ new Date(),\n\t\tstability: \"query\"\n\t};\n}\n//#endregion\n//#region src/exports/runtime.ts\nvar runtime_default = sqlRuntimeFamilyDescriptor;\n//#endregion\nexport { UNBOUND_DOMAIN_NAMESPACE_ID, runtime_default as default, resolveDomainModel, resolveStorageTable, timestampNowRuntimeGenerator };\n\n//# sourceMappingURL=runtime.mjs.map"],"mappings":";;;;;;;;AASA,SAAS,iCAAiC;CACzC,OAAO,EAAE,UAAU,MAAM;AAC1B;;;;;;;;;AAWA,MAAM,6BAA6B;CAClC,MAAM;CACN,IAAI;CACJ,UAAU;CACV,SAAS;CACT,SAAS;EACR,OAAO,+BAA+B;CACvC;AACD;AACA,OAAO,OAAO,0BAA0B;;;;;;;;;;;;;;AAgBxC,SAAS,+BAA+B;CACvC,OAAO;EACN,IAAI;EACJ,gCAAgC,IAAI,KAAK;EACzC,WAAW;CACZ;AACD;AAGA,IAAI,kBAAkB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serialized-index-DjCCnXB1-DMA7BtO2.mjs","names":[],"sources":["../../../../2-sql-family/1-core/contract/dist/serialized-index-DjCCnXB1.mjs"],"sourcesContent":["import { l as SqlNode } from \"./storage-table-DDvN83mw.mjs\";\nimport { parseNaming } from \"@internal/sql-schema-ir/naming\";\nimport { freezeNode } from \"@internal/framework-components/ir\";\nimport { ContractValidationError } from \"@internal/contract/contract-validation-error\";\n//#region src/ir/storage-value-set.ts\n/**\n* SQL Contract IR node for a value-set entry in a namespace's `valueSet`\n* map (`SqlNamespace.entries.valueSet`).\n*\n* A value-set records the ordered set of permitted codec-encoded values for\n* an enum-like column restriction. It does not carry a `codecId` — the\n* column that references it already holds the codec; the value-set holds\n* only the permitted values.\n*\n* The node's `kind` is enumerable (`'valueSet'`) so the JSON envelope\n* carries the discriminator and the serializer hydration walker can\n* dispatch on it. This follows the per-leaf enumerable-kind convention\n* established in the SQL-node comment (future polymorphic dispatch on\n* namespace entries needs the discriminator in JSON).\n*\n* The entry's name is not on the class — value-sets are keyed by name in\n* the parent namespace's `valueSet: Record<string, StorageValueSet>` map.\n*/\nvar StorageValueSet = class extends SqlNode {\n\tkind = \"valueSet\";\n\tvalues;\n\tconstructor(input) {\n\t\tsuper();\n\t\tthis.values = Object.freeze([...input.values]);\n\t\tfreezeNode(this);\n\t}\n};\nfunction isStorageValueSet(value) {\n\tif (typeof value !== \"object\" || value === null) return false;\n\treturn \"kind\" in value && value.kind === \"valueSet\" && \"values\" in value;\n}\n//#endregion\n//#region src/serialized-check-constraint.ts\n/**\n* Hydrates one stored check constraint into constructor input. `parseNaming`\n* is what rejects a hand-edited file whose `prefix` and `name` disagree.\n*/\nfunction checkConstraintInputFromSerialized(flat) {\n\treturn {\n\t\tnaming: parseNaming(flat.name, flat.prefix),\n\t\texpression: flat.expression\n\t};\n}\n//#endregion\n//#region src/serialized-index.ts\n/**\n* Hydrates one stored index into constructor input. The parameter is typed\n* but the values are whatever the file held, so each field the union depends\n* on is checked here rather than downstream — by the time `Index` sees the\n* data it is already a valid union.\n*/\nfunction indexInputFromSerialized(flat) {\n\tif (flat.name === void 0 || flat.name.length === 0) throw new ContractValidationError(\"Index: every index carries a full physical name; an expression index must be explicitly named (a default name cannot be derived from an expression).\", \"storage\");\n\tif (flat.columns === void 0 === (flat.expression === void 0)) throw new ContractValidationError(`Index \"${flat.name}\": exactly one of columns or expression must be set.`, \"storage\");\n\tconst carried = {\n\t\tnaming: parseNaming(flat.name, flat.prefix),\n\t\twhere: flat.where,\n\t\tunique: flat.unique,\n\t\ttype: flat.type,\n\t\toptions: flat.options\n\t};\n\treturn flat.expression !== void 0 ? {\n\t\t...carried,\n\t\texpression: flat.expression\n\t} : {\n\t\t...carried,\n\t\tcolumns: flat.columns ?? []\n\t};\n}\n//#endregion\nexport { isStorageValueSet as i, checkConstraintInputFromSerialized as n, StorageValueSet as r, indexInputFromSerialized as t };\n\n//# sourceMappingURL=serialized-index-DjCCnXB1.mjs.map"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAuBA,IAAI,kBAAkB,cAAc,QAAQ;CAC3C,OAAO;CACP;CACA,YAAY,OAAO;EAClB,MAAM;EACN,KAAK,SAAS,OAAO,OAAO,CAAC,GAAG,MAAM,MAAM,CAAC;EAC7C,WAAW,IAAI;CAChB;AACD;AACA,SAAS,kBAAkB,OAAO;CACjC,IAAI,OAAO,UAAU,YAAY,UAAU,MAAM,OAAO;CACxD,OAAO,UAAU,SAAS,MAAM,SAAS,cAAc,YAAY;AACpE;;;;;AAOA,SAAS,mCAAmC,MAAM;CACjD,OAAO;EACN,QAAQ,YAAY,KAAK,MAAM,KAAK,MAAM;EAC1C,YAAY,KAAK;CAClB;AACD;;;;;;;AASA,SAAS,yBAAyB,MAAM;CACvC,IAAI,KAAK,SAAS,KAAK,KAAK,KAAK,KAAK,WAAW,GAAG,MAAM,IAAI,wBAAwB,wJAAwJ,SAAS;CACvP,IAAI,KAAK,YAAY,KAAK,OAAO,KAAK,eAAe,KAAK,IAAI,MAAM,IAAI,wBAAwB,UAAU,KAAK,KAAK,uDAAuD,SAAS;CACpL,MAAM,UAAU;EACf,QAAQ,YAAY,KAAK,MAAM,KAAK,MAAM;EAC1C,OAAO,KAAK;EACZ,QAAQ,KAAK;EACb,MAAM,KAAK;EACX,SAAS,KAAK;CACf;CACA,OAAO,KAAK,eAAe,KAAK,IAAI;EACnC,GAAG;EACH,YAAY,KAAK;CAClB,IAAI;EACH,GAAG;EACH,SAAS,KAAK,WAAW,CAAC;CAC3B;AACD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sql-data-type-D7M-YTTY-D2vRqDxn.mjs","names":[],"sources":["../../../../2-sql-family/1-core/contract/dist/sql-data-type-D7M-YTTY.mjs"],"sourcesContent":["import { t as contractError } from \"./contract-errors-BCN6RVI5.mjs\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { assertDataTypeParams, dataType, dataTypeParams, objectSchemaKeys, schemaKeysAllowing } from \"@internal/framework-components/codec\";\nimport { canonicalizeJson } from \"@internal/framework-components/utils\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { type } from \"arktype\";\n//#region src/sql-data-type.ts\nconst PLACEHOLDER = /\\{([A-Za-z][A-Za-z0-9]*)\\}/g;\nconst LITERAL_CHARACTERS = /^[a-z0-9_ (),.]*$/;\nconst REGEXP_SPECIAL = /[.*+?^${}()|[\\]\\\\]/g;\nfunction paramKeysOf(id, schema) {\n\tif (schema === void 0) return [];\n\tconst keys = objectSchemaKeys(schema);\n\tif (keys === void 0) refuseDeclaration(id, \"its parameter schema must be an arktype object schema.\");\n\treturn keys;\n}\nfunction placeholdersOf(text) {\n\treturn [...text.matchAll(PLACEHOLDER)].map((match) => match[1] ?? \"\");\n}\nfunction placeholderSetOf(text) {\n\treturn [...placeholdersOf(text)].sort().join(\",\");\n}\nfunction patternOf(text, signedKeys = []) {\n\tconst placeholders = text.replace(REGEXP_SPECIAL, \"\\\\$&\").replace(/\\\\\\{([A-Za-z][A-Za-z0-9]*)\\\\\\}/g, (_, name) => signedKeys.includes(name) ? \"(-?\\\\d+)\" : \"(\\\\d+)\");\n\treturn new RegExp(`^${placeholders}$`);\n}\nfunction refuseDeclaration(id, why) {\n\tthrow new InternalError(`Data type ${id}: ${why}`);\n}\nfunction checkText(id, text, paramKeys) {\n\tconst quoted = JSON.stringify(text.text);\n\tconst refuse = (why) => refuseDeclaration(id, `the text ${quoted} ${why}.`);\n\tif (text.text === \"\") refuse(\"is empty\");\n\tif (text.text !== text.text.trim()) refuse(\"starts or ends with a space\");\n\tif (text.text.includes(\" \")) refuse(\"has two spaces in a row\");\n\tconst literal = text.text.replace(PLACEHOLDER, \"\");\n\tif (literal.includes(\"{\") || literal.includes(\"}\")) refuse(\"has a placeholder that is not written {name}\");\n\tif (!LITERAL_CHARACTERS.test(literal)) refuse(\"must be lower case and contain only letters, digits, spaces, brackets, commas, dots, underscores and placeholders\");\n\tfor (const name of placeholdersOf(text.text)) if (!paramKeys.includes(name)) refuse(`names the parameter {${name}}, which the type does not declare`);\n\tif (text.display === void 0) return;\n\tconst display = JSON.stringify(text.display);\n\tif (text.display.toLowerCase() !== text.text.toLowerCase()) refuse(`has the display ${display}, which differs from it beyond letter case`);\n\tif (placeholdersOf(text.display).join(\",\") !== placeholdersOf(text.text).join(\",\")) refuse(`has the display ${display}, which writes a placeholder differently`);\n}\nfunction checkMarks(id, texts) {\n\tconst marked = /* @__PURE__ */ new Map();\n\tfor (const text of texts) {\n\t\tconst key = placeholderSetOf(text.text);\n\t\tconst entry = marked.get(key) ?? {};\n\t\tfor (const mark of [\"written\", \"catalog\"]) {\n\t\t\tif (text[mark] !== true) continue;\n\t\t\tconst other = entry[mark];\n\t\t\tif (other !== void 0) refuseDeclaration(id, `the texts ${JSON.stringify(other)} and ${JSON.stringify(text.text)} have the same placeholders and are both ${mark}.`);\n\t\t\tentry[mark] = text.text;\n\t\t}\n\t\tmarked.set(key, entry);\n\t}\n}\nfunction checkKindClaim(id, spec) {\n\tif (spec.nameIsCatalogText === true) {\n\t\tif (spec.render === void 0) refuseDeclaration(id, \"a type whose name is its catalog text declares render.\");\n\t\tif (spec.texts !== void 0 || spec.claimsKind !== void 0) refuseDeclaration(id, \"a type whose name is its catalog text declares no texts and claims no kind.\");\n\t}\n\tif (spec.claimsKind === void 0) {\n\t\tif (spec.render !== void 0 && spec.nameIsCatalogText !== true) refuseDeclaration(id, \"render is allowed only together with claimsKind or nameIsCatalogText.\");\n\t\tif (spec.fromReported !== void 0) refuseDeclaration(id, \"fromReported is allowed only together with claimsKind.\");\n\t\treturn;\n\t}\n\tif (spec.texts !== void 0) refuseDeclaration(id, \"a type that claims a kind declares no texts.\");\n}\nfunction checkStoredAs(id, spec) {\n\tif (spec.storedAs === void 0) return;\n\tif (spec.texts !== void 0) refuseDeclaration(id, \"a type stored as another declares no texts; its name is the name of the type it is stored as.\");\n\tif (spec.claimsKind !== void 0) refuseDeclaration(id, \"a type stored as another claims no kind.\");\n}\nconst identity = (params) => params;\nfunction isParamsOf(schema, params) {\n\treturn schema === void 0 || !(schema(params) instanceof type.errors);\n}\nfunction checkNormalFormsWritten(type) {\n\tconst written = new Set(type.sql.texts.filter((text) => text.written === true).map((text) => placeholderSetOf(text.text)));\n\tif (written.size === 0) return;\n\tconst probes = [{}, ...type.sql.texts.map((text) => Object.fromEntries(placeholdersOf(text.text).map((name) => [name, 1])))];\n\tfor (const probe of probes) {\n\t\tif (!isParamsOf(type.params, probe)) continue;\n\t\tconst normalKeys = presentKeys(type.sql.normalize(probe));\n\t\tif (!written.has([...normalKeys].sort().join(\",\"))) refuseDeclaration(type.id, `the parameters ${formatKeys(Object.keys(probe))} have the normal form ${formatKeys(normalKeys)}, which no written text takes.`);\n\t}\n}\n/** Declare a SQL data type, refusing a declaration that breaks a rule of the module. */\nfunction sqlDataType(id, spec) {\n\tconst declaredNormalize = spec.normalize ?? identity;\n\tconst normalize = (params) => isParamsOf(spec.params, params) ? declaredNormalize(params) : params;\n\tconst { params: _untypedParams, ...declared } = dataType(id, {\n\t\t...spec,\n\t\tnormalize\n\t});\n\tconst texts = spec.texts ?? [];\n\tconst paramKeys = paramKeysOf(declared.id, spec.params);\n\tfor (const text of texts) checkText(declared.id, text, paramKeys);\n\tcheckMarks(declared.id, texts);\n\tcheckKindClaim(declared.id, spec);\n\tcheckStoredAs(declared.id, spec);\n\tconst type = {\n\t\t...declared,\n\t\t...ifDefined(\"params\", spec.params),\n\t\tsql: {\n\t\t\ttexts,\n\t\t\tclaimsKind: spec.claimsKind,\n\t\t\tstoredAs: spec.storedAs,\n\t\t\tnormalize,\n\t\t\trender: spec.render,\n\t\t\tfromReported: spec.fromReported,\n\t\t\tnameIsCatalogText: spec.nameIsCatalogText === true\n\t\t}\n\t};\n\tcheckNormalFormsWritten(type);\n\treturn type;\n}\n/** Whether the name of `type` is the text the database catalog prints, as declared by {@link SqlDataTypeSpec.nameIsCatalogText}. */\nfunction nameIsCatalogText(type) {\n\treturn type.sql.nameIsCatalogText;\n}\n/** Whether `type` is a data type a SQL column can have. `sql/expression` is the one data type no column has. */\nfunction isSqlDataType(type) {\n\treturn \"sql\" in type;\n}\nfunction presentKeys(params) {\n\treturn Object.keys(params).filter((key) => params[key] !== void 0);\n}\nfunction formatKeys(keys) {\n\treturn `[${[...keys].sort().join(\", \")}]`;\n}\n/** The parameters, when `type` accepts them; otherwise `CONTRACT.TYPE_PARAMS_INVALID` naming each parameter it refuses. */\nfunction validateSqlTypeParams(type, params) {\n\tassertDataTypeParams(type, params);\n\treturn blindCast(params);\n}\nfunction pickText(type, mark, keys) {\n\tconst candidates = type.sql.texts.filter((text) => text[mark] === true);\n\tconst wanted = [...keys].sort().join(\",\");\n\tconst found = candidates.find((text) => placeholderSetOf(text.text) === wanted);\n\tif (found !== void 0) return found;\n\tconst verb = mark === \"written\" ? \"written\" : \"reported\";\n\tconst takes = candidates.length === 0 ? `it is never ${verb}` : `it is ${verb} with ${candidates.map((text) => formatKeys(placeholdersOf(text.text))).join(\", \")}`;\n\tthrow contractError(\"CONTRACT.TYPE_PARAMS_INVALID\", `${type.id} cannot be ${verb} with parameters ${formatKeys(keys)}; ${takes}`, { meta: {\n\t\tdataType: type.id,\n\t\tparameters: [...keys]\n\t} });\n}\nfunction substitute(type, text, params) {\n\treturn (text.display ?? text.text).replace(PLACEHOLDER, (_, name) => {\n\t\tconst value = params[name];\n\t\tif (!Number.isSafeInteger(value)) throw contractError(\"CONTRACT.TYPE_PARAMS_INVALID\", `${type.id}: the parameter ${name} is written into the type name and must be an integer`, { meta: {\n\t\t\tdataType: type.id,\n\t\t\tparameters: [name]\n\t\t} });\n\t\treturn String(value);\n\t});\n}\n/**\n* The name of `type` with no parameters, for places where parameters must not appear, such as a\n* cast. A type whose name is its catalog text has none: its parameters cannot be separated from its\n* name, so it is refused.\n*/\nfunction sqlBaseName(type, params) {\n\tif (type.sql.nameIsCatalogText) throw new InternalError(`Data type ${type.id} names its type by its catalog text, so it has no base name.`);\n\tif (type.sql.render !== void 0) return type.sql.render(validateSqlTypeParams(type, params));\n\tconst fewest = type.sql.texts.filter((text) => text.written === true).reduce((best, text) => best === void 0 || placeholdersOf(text.text).length < placeholdersOf(best.text).length ? text : best, void 0);\n\tif (fewest === void 0) throw new InternalError(`Data type ${type.id} has no written text and no render, so it has no base name.`);\n\tconst name = fewest.display ?? fewest.text;\n\tif (placeholdersOf(fewest.text).length === 0) return name;\n\tconst bracket = name.indexOf(\"(\");\n\treturn bracket === -1 ? name : name.slice(0, bracket);\n}\n/**\n* The base name of `type` with `params`, unquoted, for display. It differs from {@link sqlBaseName}\n* for a type that claims a kind, where it is the `typeName` parameter as written (`app.status`)\n* while `sqlBaseName` gives the quoted name `render` writes into SQL (`\"app\".\"status\"`), and for a\n* type whose name is its catalog text, where it is that whole text.\n*/\nfunction unquotedSqlBaseName(type, params) {\n\tif (type.sql.nameIsCatalogText) return renderSqlTypeName(type, params);\n\tif (type.sql.claimsKind === void 0) return sqlBaseName(type, params);\n\tconst { typeName } = validateSqlTypeParams(type, params);\n\tif (typeof typeName !== \"string\") throw new InternalError(`Data type ${type.id} claims the kind \"${type.sql.claimsKind}\" but declares no string typeName parameter.`);\n\treturn typeName;\n}\nconst ADD_THE_CODEC_PACK = \"Add the pack that provides the codec, and so declares its data type, to the configuration: to `extensions` in prisma.config or in defineContract.\";\n/** The SQL data type the codec `codecId` represents. */\nfunction sqlDataTypeOfCodec(codecId, lookups) {\n\tconst descriptor = lookups.codecLookup.descriptorFor(codecId);\n\tif (descriptor === void 0) throw contractError(\"CONTRACT.CODEC_DESCRIPTOR_MISSING\", `No codec \"${codecId}\" is registered, so its column type cannot be named.`, {\n\t\tfix: ADD_THE_CODEC_PACK,\n\t\tmeta: { codecId }\n\t});\n\tconst type = lookups.dataTypeLookup.get(descriptor.dataType);\n\tif (type === void 0) throw contractError(\"CONTRACT.DATA_TYPE_UNREGISTERED\", `Codec \"${codecId}\" represents data type \"${descriptor.dataType}\", which no component registers.`, {\n\t\tfix: ADD_THE_CODEC_PACK,\n\t\tmeta: {\n\t\t\tcodecId,\n\t\t\tdataType: descriptor.dataType\n\t\t}\n\t});\n\tif (!isSqlDataType(type)) throw new InternalError(`Data type ${type.id} is not a SQL data type, so it has no type name.`);\n\treturn type;\n}\n/**\n* The length of a column of data type `type` with `typeParams`, in the type's normal form, as verify compares it: a bare Postgres `character` holds 1. `undefined` when the column has no length, or when its data type drops the length because the database does not limit it, as SQLite's text types do.\n*/\nfunction sqlColumnLength(type, typeParams) {\n\tif (type === void 0 || !isSqlDataType(type)) return void 0;\n\tconst length = type.sql.normalize(dataTypeParams(type, typeParams ?? {}))[\"length\"];\n\treturn typeof length === \"number\" ? length : void 0;\n}\n/** The length of a column of `codecId` in its data type's normal form, or `undefined` for a column with no length or one whose database does not limit it. */\nfunction sqlCodecColumnLength(dataTypes, codecId, typeParams) {\n\tconst dataTypeId = dataTypes.dataTypeOfCodec(codecId);\n\treturn sqlColumnLength(dataTypeId === void 0 ? void 0 : dataTypes.lookup.get(dataTypeId), typeParams);\n}\n/** The type a column of `type` is stored as, whose name DDL writes and the database reports: `type` itself unless it names another. */\nfunction sqlStorageType(type, lookup) {\n\tif (type.sql.storedAs === void 0) return type;\n\tconst storage = lookup.get(type.sql.storedAs);\n\tif (storage === void 0 || !isSqlDataType(storage)) throw contractError(\"CONTRACT.DATA_TYPE_UNREGISTERED\", `Data type \"${type.id}\" is stored as \"${type.sql.storedAs}\", which no component registers as a SQL data type.`, { meta: {\n\t\tdataType: type.sql.storedAs,\n\t\tstoredBy: type.id\n\t} });\n\treturn storage;\n}\n/** The id of the type a column of the data type `dataTypeId` is stored as: {@link sqlStorageType} of it, which refuses a storage type the lookup does not register, or `dataTypeId` itself when the lookup does not know it as a SQL data type. */\nfunction sqlStorageTypeId(dataTypeId, lookup) {\n\tconst type = lookup.get(dataTypeId);\n\treturn type !== void 0 && isSqlDataType(type) ? sqlStorageType(type, lookup).id : dataTypeId;\n}\n/** The type a column is stored as, with its parameters in normal form, or the column's own id and parameters as written when the lookup does not know its data type as a SQL data type. */\nfunction storedColumnType(column, lookup) {\n\tconst type = lookup.get(column.dataType);\n\tif (type === void 0 || !isSqlDataType(type)) return {\n\t\tid: column.dataType,\n\t\tparams: column.typeParams ?? {}\n\t};\n\tconst storage = sqlStorageType(type, lookup);\n\treturn {\n\t\tid: storage.id,\n\t\tparams: storage.sql.normalize(dataTypeParams(storage, column.typeParams ?? {}))\n\t};\n}\n/**\n* Whether two contract columns have the same type: the types their data types are stored as are one type, those types' parameters are equal in normal form, and both or neither are lists. ADR 254.\n*/\nfunction sameSqlColumnType(a, b, lookup) {\n\tconst isList = (column) => column.many !== void 0 && column.many !== false;\n\tconst left = storedColumnType(a, lookup);\n\tconst right = storedColumnType(b, lookup);\n\treturn left.id === right.id && canonicalizeJson(left.params) === canonicalizeJson(right.params) && isList(a) === isList(b);\n}\n/** The type a column of the codec `codecId` is stored as: {@link sqlStorageType} of the data type it represents. */\nfunction sqlStorageTypeOfCodec(codecId, lookups) {\n\treturn sqlStorageType(sqlDataTypeOfCodec(codecId, lookups), lookups.dataTypeLookup);\n}\n/** {@link unquotedSqlBaseName} of the type a column of the codec `codecId` is stored as. */\nfunction unquotedSqlBaseNameOfCodec(codecId, typeParams, lookups) {\n\tconst type = sqlStorageTypeOfCodec(codecId, lookups);\n\treturn unquotedSqlBaseName(type, dataTypeParams(type, typeParams));\n}\n/** The text a migration writes for `type` with the raw `params`. */\nfunction renderSqlTypeName(type, params) {\n\tconst validated = validateSqlTypeParams(type, params);\n\tif (type.sql.render !== void 0) return type.sql.render(validated);\n\tconst normalized = type.sql.normalize(validated);\n\treturn substitute(type, pickText(type, \"written\", presentKeys(params).filter((key) => Object.hasOwn(normalized, key))), params);\n}\n/** The text the database catalog prints for `type` with `params`, in their normal form. */\nfunction renderSqlCatalogText(type, params) {\n\tconst validated = validateSqlTypeParams(type, params);\n\tif (type.sql.claimsKind !== void 0) throw new InternalError(`Data type ${type.id} claims the kind \"${type.sql.claimsKind}\" and has no catalog text.`);\n\tif (type.sql.render !== void 0) return type.sql.render(validated);\n\tconst normalized = type.sql.normalize(validated);\n\treturn substitute(type, pickText(type, \"catalog\", presentKeys(normalized)), normalized);\n}\nfunction prepareReportedText(text) {\n\tlet prepared = \"\";\n\tlet quoted = false;\n\tlet spacePending = false;\n\tfor (const character of text.trim()) {\n\t\tif (!quoted && /\\s/.test(character)) {\n\t\t\tspacePending = true;\n\t\t\tcontinue;\n\t\t}\n\t\tif (spacePending && !/[(,]$/.test(prepared) && character !== \")\") prepared += \" \";\n\t\tspacePending = false;\n\t\tif (character === \"\\\"\") quoted = !quoted;\n\t\tprepared += quoted ? character : character.toLowerCase();\n\t}\n\treturn prepared;\n}\nfunction claims(text) {\n\treturn text.catalog === true || text.written !== true;\n}\nfunction claimingTexts(type) {\n\treturn type.sql.texts.filter(claims).map((text) => text.text);\n}\nfunction textsCollide(a, b) {\n\tconst withOnes = (text) => text.replace(PLACEHOLDER, \"1\");\n\treturn patternOf(a).test(withOnes(b)) || patternOf(b).test(withOnes(a));\n}\nfunction collisionBetween(first, second) {\n\tconst kind = first.sql.claimsKind;\n\tif (kind !== void 0 && kind === second.sql.claimsKind) return {\n\t\tby: \"kind\",\n\t\tkind\n\t};\n\tfor (const a of claimingTexts(first)) {\n\t\tconst b = claimingTexts(second).find((text) => textsCollide(a, text));\n\t\tif (b !== void 0) return {\n\t\t\tby: \"text\",\n\t\t\tfirst: a,\n\t\t\tsecond: b\n\t\t};\n\t}\n}\n/**\n* The first two SQL data types in `types` that would both recognise one reported type: a claiming\n* text of each collides, or both claim the same kind. Two texts collide when either one's pattern\n* matches the other with each placeholder written as 1.\n*/\nfunction findSqlDataTypeCollision(types) {\n\tconst sqlTypes = types.filter(isSqlDataType);\n\tfor (const [index, first] of sqlTypes.entries()) for (const second of sqlTypes.slice(index + 1)) {\n\t\tconst claims = collisionBetween(first, second);\n\t\tif (claims !== void 0) return {\n\t\t\tfirst,\n\t\t\tsecond,\n\t\t\tclaims\n\t\t};\n\t}\n}\n/**\n* The data type that claims a reported type, with its parameters in normal form, or undefined when\n* no type in `dataTypes` claims it or its parameters fail the type's schema.\n*/\nfunction resolveReportedSqlType(reported, dataTypes) {\n\tconst sqlTypes = dataTypes.filter(isSqlDataType);\n\tif (reported.kind !== void 0) {\n\t\tconst claimant = sqlTypes.find((type) => type.sql.claimsKind === reported.kind);\n\t\tif (claimant === void 0) return void 0;\n\t\treturn resolvedWith(claimant, claimant.sql.fromReported?.(reported) ?? {});\n\t}\n\tconst text = prepareReportedText(reported.text);\n\tfor (const type of sqlTypes) for (const candidate of type.sql.texts) {\n\t\tif (!claims(candidate)) continue;\n\t\tconst params = paramsMatching(type, candidate, text);\n\t\tif (params !== void 0) return resolvedWith(type, params);\n\t}\n}\nconst signedParamKeysByType = /* @__PURE__ */ new WeakMap();\n/** The parameters of `type` that may be negative, whose placeholders read a leading minus. */\nfunction signedParamKeys(type) {\n\tconst known = signedParamKeysByType.get(type);\n\tif (known !== void 0) return known;\n\tconst keys = schemaKeysAllowing(type.params, -1) ?? [];\n\tsignedParamKeysByType.set(type, keys);\n\treturn keys;\n}\nfunction paramsMatching(type, candidate, text) {\n\tconst match = patternOf(candidate.text, signedParamKeys(type)).exec(text);\n\tif (match === null) return void 0;\n\treturn Object.fromEntries(placeholdersOf(candidate.text).map((name, index) => [name, Number.parseInt(match[index + 1] ?? \"\", 10)]));\n}\n/**\n* Every data type in `dataTypes` that reads `text` as a migration may write it, with its parameters\n* in normal form: any of a type's texts counts, whether written, printed by the catalog or only\n* claimed. Empty when no type reads it or its parameters fail the type's schema. A type that claims\n* a kind has no texts, so it never reads one.\n*/\nfunction resolveWrittenSqlTypes(text, dataTypes) {\n\tconst prepared = prepareReportedText(text);\n\treturn dataTypes.filter(isSqlDataType).flatMap((type) => {\n\t\tfor (const candidate of type.sql.texts) {\n\t\t\tconst params = paramsMatching(type, candidate, prepared);\n\t\t\tif (params === void 0) continue;\n\t\t\tconst resolved = resolvedWith(type, params);\n\t\t\tif (resolved !== void 0) return [resolved];\n\t\t}\n\t\treturn [];\n\t});\n}\nfunction resolvedWith(type$1, params) {\n\tif (type$1.params !== void 0 && type$1.params(params) instanceof type.errors) return void 0;\n\treturn {\n\t\tdataType: type$1,\n\t\ttypeParams: type$1.sql.normalize(params)\n\t};\n}\n//#endregion\nexport { unquotedSqlBaseName as _, renderSqlTypeName as a, sameSqlColumnType as c, sqlColumnLength as d, sqlDataType as f, sqlStorageTypeOfCodec as g, sqlStorageTypeId as h, renderSqlCatalogText as i, sqlBaseName as l, sqlStorageType as m, isSqlDataType as n, resolveReportedSqlType as o, sqlDataTypeOfCodec as p, nameIsCatalogText as r, resolveWrittenSqlTypes as s, findSqlDataTypeCollision as t, sqlCodecColumnLength as u, unquotedSqlBaseNameOfCodec as v, validateSqlTypeParams as y };\n\n//# sourceMappingURL=sql-data-type-D7M-YTTY.mjs.map"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"storage-table-Bf1ZjnxO-pUj6pyP0.d.mts","names":[],"sources":["../../../../2-sql-family/1-core/contract/dist/storage-table-Bf1ZjnxO.d.mts"],"mappings":";;;;;;;;;;;;;;KAaK;WACM;;KAEN;;WAEM;WACA;WACA;WACA,aAAa;WACb,UAAU;WACV,UAAU;WACV,WAAW;WACX,OAAO;;;;;;;;;;;;;;;cAeJ,sBAAsB;WACzB;WACA;WACA;WACA,MAAM;WACN,aAAa;WACb,UAAU;WACV,UAAU;WACV,WAAW;EACpB,YAAY,OAAO;SACZ,KAAK,OAAO,gBAAgB,qBAAqB;;;;UAIhD;WACC,SAAS,eAAe,gBAAgB;WACxC,aAAa,aAAa;WAC1B,SAAS,cAAc,mBAAmB;WAC1C,SAAS,cAAc,QAAQ;WAC/B,aAAa,cAAc,aAAa;WACxC,UAAU;WACV,SAAS,cAAc,kBAAkB;;;;;;;;;;;;;;cActC,qBAAqB;WACxB,SAAS,SAAS,eAAe;WACjC,SAAS,cAAc;WACvB,SAAS,cAAc;WACvB,aAAa,cAAc;WAC3B,aAAa;WACb,UAAU;WACV,SAAS,cAAc;EAChC,YAAY,OAAO;;;;;;;;SAQZ,GAAG,OAAO,2BAA2B,SAAS;SAC9C,OAAO,OAAO,0BAA0B,6BAA6B,SAAS"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"storage-table-DDvN83mw-DkbBFmK9.mjs","names":[],"sources":["../../../../2-sql-family/1-core/contract/dist/storage-table-DDvN83mw.mjs"],"sourcesContent":["import { t as contractError } from \"./contract-errors-BCN6RVI5.mjs\";\nimport { nameOf } from \"@internal/sql-schema-ir/naming\";\nimport { IRNodeBase, freezeNode } from \"@internal/framework-components/ir\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { ContractValidationError } from \"@internal/contract/contract-validation-error\";\nimport { asNamespaceId } from \"@internal/contract/types\";\n//#region src/ir/sql-node.ts\n/**\n* SQL family IR node base. Carries the family-level `kind` discriminator\n* `'sql'` and inherits the framework's `freezeNode` affordance.\n*\n* Single family-level discriminator (not per-leaf) reflects the fact that\n* SQL IR has no polymorphic dispatch today — verifiers and serializers\n* walk by structural position (`storage.tables[name].columns[name]`),\n* not by inspecting `kind`. The abstract bar for per-leaf discriminators\n* isn't earned until a future polymorphic consumer arrives.\n*\n* `kind` is installed as a non-enumerable own property on every instance,\n* which keeps three things clean simultaneously:\n*\n* - `JSON.stringify(node)` produces the canonical pre-lift JSON envelope\n* shape (no `kind` field), so emitted contract.json files and the\n* `validateSqlContractFully` arktype schemas stay unchanged.\n* - Test assertions that use `toEqual({...})` against the pre-lift flat\n* shape continue to pass — only enumerable own properties are\n* compared.\n* - Direct access (`node.kind`) and runtime narrowing\n* (`if (node.kind === 'sql')`) still work, so future polymorphic\n* dispatch can begin reading `kind` without a runtime change.\n*\n* Future per-leaf overrides land cleanly: a class that gains a\n* polymorphic-dispatch consumer (e.g. an enum type instance walked\n* alongside other types) overrides `kind` with its narrower literal\n* at that leaf level. Per-leaf overrides will use enumerable kind\n* (matching the Mongo per-class-discriminator precedent) because they\n* encode dispatch-relevant information that callers need to see in\n* JSON envelopes; the family-level `'sql'` is uniform across all SQL\n* IR and carries no dispatch-relevant information.\n*/\nvar SqlNode = class extends IRNodeBase {\n\tkind;\n\tconstructor() {\n\t\tsuper();\n\t\tObject.defineProperty(this, \"kind\", {\n\t\t\tvalue: \"sql\",\n\t\t\twritable: false,\n\t\t\tenumerable: false,\n\t\t\tconfigurable: true\n\t\t});\n\t}\n};\n//#endregion\n//#region src/ir/check-constraint.ts\n/**\n* SQL Contract IR node for a table-level check constraint, name-identified:\n* `name` is the full physical name; a present `prefix` marks the constraint as\n* wire-named (`name` is `formatWireName(prefix, <8hex>)` over the expression's\n* content hash), an absent `prefix` marks it exact (the name is adopted\n* verbatim). This is the convention indexes and RLS policies already use — see\n* ADR 234, \"Content-addressed wire names for Postgres-normalized objects\".\n*\n* The predicate is opaque: one SQL string, never parsed and never rendered\n* from structured parts. A database reprints predicates in its own normalized\n* form, so a wire-named check is compared by name — the hash already commits\n* to the expression the contract declared.\n*/\nvar CheckConstraint = class CheckConstraint extends SqlNode {\n\tname;\n\texpression;\n\tconstructor(input) {\n\t\tsuper();\n\t\tconst name = nameOf(input.naming);\n\t\tif (name.length === 0) throw new ContractValidationError(\"CheckConstraint: every check constraint carries a full physical name.\", \"storage\");\n\t\tthis.name = name;\n\t\tif (input.naming.kind === \"wire\") this.prefix = input.naming.prefix;\n\t\tthis.expression = input.expression;\n\t\tfreezeNode(this);\n\t}\n\t/**\n\t* Normalizes either shape into an instance: an existing `CheckConstraint`\n\t* passes through, canonical input is constructed. Callers that accept\n\t* \"instance or input\" go through this, so the constructor keeps one\n\t* canonical shape instead of widening to a union.\n\t*/\n\tstatic from(value) {\n\t\treturn value instanceof CheckConstraint ? value : new CheckConstraint(value);\n\t}\n};\n//#endregion\n//#region src/ir/sql-index.ts\n/**\n* SQL Contract IR node for a table-level secondary index, name-identified:\n* `name` is the full physical name; a present `prefix` marks the index as\n* wire-named (`name` is `formatWireName(prefix, <8hex>)`), an absent `prefix`\n* marks it exact (the name is adopted verbatim).\n*\n* `expression`, `where`, and `unique` are genuine SQL-family attributes —\n* functional and partial indexes are standard SQL supported natively by\n* Postgres and SQLite alike, and the family IR must be able to represent\n* anything any SQL target can introspect. A target declining to AUTHOR them\n* (SQLite's rejection at namespace construction) is a capability decision,\n* not evidence of target-specificity.\n*\n* Note that this class shadows the global TypeScript `Index` lib type\n* at the family-shared name; consumer files that need both should\n* alias one (e.g.\n* `import { Index as SqlIndexNode } from '@internal/sql-contract/types'`).\n*/\nvar Index = class Index extends SqlNode {\n\tname;\n\tunique;\n\tconstructor(input) {\n\t\tsuper();\n\t\tconst name = nameOf(input.naming);\n\t\tif (name.length === 0) throw new ContractValidationError(\"Index: every index carries a full physical name; an expression index must be explicitly named (a default name cannot be derived from an expression).\", \"storage\");\n\t\tif (input.columns === void 0 === (input.expression === void 0)) throw new ContractValidationError(`Index \"${name}\": exactly one of columns or expression must be set.`, \"storage\");\n\t\tthis.name = name;\n\t\tthis.unique = input.unique;\n\t\tif (input.naming.kind === \"wire\") this.prefix = input.naming.prefix;\n\t\tif (input.columns !== void 0) this.columns = input.columns;\n\t\tif (input.expression !== void 0) this.expression = input.expression;\n\t\tif (input.where !== void 0) this.where = input.where;\n\t\tif (input.type !== void 0) this.type = input.type;\n\t\tif (input.options !== void 0) this.options = input.options;\n\t\tfreezeNode(this);\n\t}\n\tstatic from(value) {\n\t\treturn value instanceof Index ? value : new Index(value);\n\t}\n};\n//#endregion\n//#region src/ir/foreign-key-reference.ts\n/**\n* SQL Contract IR node for one side (source or target) of a foreign-key\n* declaration. Carries the full coordinate: namespace, table, and columns.\n*\n* Cross-space discrimination is based on `spaceId` presence: absent means\n* local (same contract-space); present means cross-space (the referenced\n* table lives in the contract-space identified by `spaceId`).\n*\n* For local references `spaceId` is absent from JSON, keeping the serialized\n* shape byte-identical to contracts authored before cross-space support was\n* added. For cross-space references `spaceId` appears in JSON so round-trips\n* are lossless.\n*\n* Use `UNBOUND_NAMESPACE_ID` from `@internal/framework-components/ir`\n* as the sentinel `namespaceId` for single-namespace (unbound) references.\n*/\nvar ForeignKeyReference = class ForeignKeyReference extends SqlNode {\n\tnamespaceId;\n\ttableName;\n\tcolumns;\n\tconstructor(input) {\n\t\tsuper();\n\t\tthis.namespaceId = asNamespaceId(input.namespaceId);\n\t\tthis.tableName = input.tableName;\n\t\tthis.columns = input.columns;\n\t\tif (input.spaceId !== void 0) this.spaceId = input.spaceId;\n\t\tfreezeNode(this);\n\t}\n\tstatic from(value) {\n\t\treturn value instanceof ForeignKeyReference ? value : new ForeignKeyReference(value);\n\t}\n};\n//#endregion\n//#region src/ir/foreign-key.ts\n/**\n* SQL Contract IR node for a table-level foreign-key declaration — the\n* referential constraint only (source, target, `onDelete`/`onUpdate`).\n*\n* A persisted `foreignKeys[]` entry always denotes a real constraint: whether\n* to emit the constraint at all, and whether to back it with an index, are\n* authoring-time decisions (PSL `@relation(index:)`, TS `fk({ constraint,\n* index })`) resolved once at `contract emit` — a `constraint: false` FK\n* simply has no entry here, and a backing index (if any) is its own discrete,\n* named entry in the table's `indexes[]`. `index` says what serves the\n* foreign key's lookups; it is absent when nothing backs the foreign key.\n*\n* Each FK carries explicit `source` and `target` {@link ForeignKeyReference}\n* coordinates (namespace, table, columns). For single-namespace contracts the\n* sentinel `UNBOUND_NAMESPACE_ID` appears on both sides.\n*\n* The nested references are normalised to {@link ForeignKeyReference}\n* instances inside the constructor so downstream walks see a uniform AST\n* regardless of whether the input was a JSON literal or an already-constructed\n* class instance.\n*/\nvar ForeignKey = class ForeignKey extends SqlNode {\n\tsource;\n\ttarget;\n\tconstructor(input) {\n\t\tsuper();\n\t\tthis.source = ForeignKeyReference.from(input.source);\n\t\tthis.target = ForeignKeyReference.from(input.target);\n\t\tif (input.name !== void 0) this.name = input.name;\n\t\tif (input.onDelete !== void 0) this.onDelete = input.onDelete;\n\t\tif (input.onUpdate !== void 0) this.onUpdate = input.onUpdate;\n\t\tif (typeof input.index === \"object\") this.index = input.index;\n\t\tfreezeNode(this);\n\t}\n\tstatic from(value) {\n\t\treturn value instanceof ForeignKey ? value : new ForeignKey(value);\n\t}\n};\n//#endregion\n//#region src/ir/primary-key.ts\n/**\n* SQL Contract IR node for a table's primary-key constraint.\n*/\nvar PrimaryKey = class PrimaryKey extends SqlNode {\n\tcolumns;\n\tconstructor(input) {\n\t\tsuper();\n\t\tthis.columns = input.columns;\n\t\tif (input.name !== void 0) this.name = input.name;\n\t\tfreezeNode(this);\n\t}\n\tstatic from(value) {\n\t\treturn value instanceof PrimaryKey ? value : new PrimaryKey(value);\n\t}\n};\n//#endregion\n//#region src/ir/storage-column.ts\n/**\n* SQL Contract IR node for a single column entry in `StorageTable.columns`.\n*\n* Single concrete family-shared class — every SQL target reads the\n* same column shape today, so there is no per-target subclass. The\n* class type accepts any caller that constructs via\n* `new StorageColumn(input)`; literal construction sites must pass\n* through the constructor or the family-base hydration walker.\n*\n* The column's `name` is not on the class — columns are keyed by name\n* in the parent `StorageTable.columns: Record<string, StorageColumn>`\n* map, so a `name` field would be redundant with the key.\n*/\nvar StorageColumn = class StorageColumn extends SqlNode {\n\tdataType;\n\tcodecId;\n\tnullable;\n\tmany;\n\tconstructor(input) {\n\t\tsuper();\n\t\tif (Object.hasOwn(input, \"elementNullable\")) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", \"StorageColumn elementNullable must be nested under many.\", { meta: { reason: \"sibling-elementNullable\" } });\n\t\tthis.dataType = input.dataType;\n\t\tthis.codecId = input.codecId;\n\t\tthis.nullable = input.nullable;\n\t\tthis.many = input.many ?? false;\n\t\tif (input.typeParams !== void 0) this.typeParams = input.typeParams;\n\t\tif (input.default !== void 0) this.default = input.default;\n\t\tif (input.control !== void 0) this.control = input.control;\n\t\tif (input.valueSet !== void 0) this.valueSet = input.valueSet;\n\t\tfreezeNode(this);\n\t}\n\tstatic from(value) {\n\t\treturn value instanceof StorageColumn ? value : new StorageColumn(value);\n\t}\n};\n//#endregion\n//#region src/ir/unique-constraint.ts\n/**\n* SQL Contract IR node for a table-level unique constraint.\n*/\nvar UniqueConstraint = class UniqueConstraint extends SqlNode {\n\tcolumns;\n\tconstructor(input) {\n\t\tsuper();\n\t\tthis.columns = input.columns;\n\t\tif (input.name !== void 0) this.name = input.name;\n\t\tfreezeNode(this);\n\t}\n\tstatic from(value) {\n\t\treturn value instanceof UniqueConstraint ? value : new UniqueConstraint(value);\n\t}\n};\n//#endregion\n//#region src/ir/storage-table.ts\n/**\n* SQL Contract IR node for a single table entry in a namespace's\n* `tables` map.\n*\n* The constructor normalises nested IR-class fields (columns, primary\n* key, uniques, indexes, foreign keys) into the appropriate class\n* instances so downstream walks see a uniform AST regardless of whether\n* the input was a JSON literal or an already-constructed class.\n*\n* The table's `name` is not on the class — tables are keyed by name in\n* the parent namespace's `tables: Record<string, StorageTable>` map.\n*/\nvar StorageTable = class StorageTable extends SqlNode {\n\tcolumns;\n\tuniques;\n\tindexes;\n\tforeignKeys;\n\tconstructor(input) {\n\t\tsuper();\n\t\tthis.columns = Object.freeze(Object.fromEntries(Object.entries(input.columns).map(([name, col]) => [name, StorageColumn.from(col)])));\n\t\tif (input.primaryKey !== void 0) this.primaryKey = PrimaryKey.from(input.primaryKey);\n\t\tthis.uniques = Object.freeze(input.uniques.map(UniqueConstraint.from));\n\t\tthis.indexes = Object.freeze(input.indexes.map(Index.from));\n\t\tthis.foreignKeys = Object.freeze(input.foreignKeys.map(ForeignKey.from));\n\t\tif (input.control !== void 0) this.control = input.control;\n\t\tif (input.checks !== void 0 && input.checks.length > 0) this.checks = Object.freeze(input.checks.map(CheckConstraint.from));\n\t\tfreezeNode(this);\n\t}\n\t/**\n\t* Runtime guard that a namespace `table` entry is really a `StorageTable`.\n\t* The compiler already types the entry as `StorageTable`, but a\n\t* freshly-deserialized contract may carry plain JSON at that slot until\n\t* hydration; this duck-types the structural shape. Accepts `undefined` so\n\t* optional-chained entry lookups pass straight through.\n\t*/\n\tstatic is(value) {\n\t\tif (typeof value !== \"object\" || value === null) return false;\n\t\treturn \"columns\" in value && \"uniques\" in value && \"indexes\" in value && \"foreignKeys\" in value;\n\t}\n\tstatic assert(value, coordinate) {\n\t\tif (!StorageTable.is(value)) throw new InternalError(`Expected a StorageTable at ${coordinate}`);\n\t}\n};\n//#endregion\nexport { ForeignKey as a, CheckConstraint as c, PrimaryKey as i, SqlNode as l, UniqueConstraint as n, ForeignKeyReference as o, StorageColumn as r, Index as s, StorageTable as t };\n\n//# sourceMappingURL=storage-table-DDvN83mw.mjs.map"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types-CTdSkl0s.mjs","names":[],"sources":["../../../../2-sql-family/1-core/contract/dist/types.mjs"],"sourcesContent":["import { a as ForeignKey, c as CheckConstraint, i as PrimaryKey, l as SqlNode, n as UniqueConstraint, o as ForeignKeyReference, r as StorageColumn, s as Index, t as StorageTable } from \"./storage-table-DDvN83mw.mjs\";\nimport { i as isStorageValueSet, n as checkConstraintInputFromSerialized, r as StorageValueSet, t as indexInputFromSerialized } from \"./serialized-index-DjCCnXB1.mjs\";\nimport { NamespaceBase, freezeNode, isPlainRecord } from \"@internal/framework-components/ir\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { RelationKeys } from \"@internal/framework-components/runtime\";\n//#region src/ir/storage-type-instance.ts\n/**\n* Sentinel kind for the legacy codec-triple shape persisted under\n* `SqlStorage.types`. Plain JSON-clean object literals carry this\n* discriminator so the polymorphic slot dispatch can route them down\n* the codec path while target-specific IR class instances (e.g. the\n* Postgres enum class) keep their own narrower `kind` literal.\n*/\nconst CODEC_INSTANCE_KIND = \"codec-instance\";\n/**\n* Stamp the codec-instance `kind` discriminator on a caller-supplied\n* codec triple. Idempotent: input that already carries the discriminator\n* passes through unchanged. Missing `typeParams` is normalised to `{}`.\n*/\nfunction toStorageTypeInstance(input) {\n\treturn {\n\t\tkind: CODEC_INSTANCE_KIND,\n\t\tcodecId: input.codecId,\n\t\tdataType: input.dataType,\n\t\ttypeParams: input.typeParams ?? {}\n\t};\n}\n/**\n* A type's parameters, with empty parameters read as none, as a codec reads them; {@link toStorageTypeInstance} stores `{}` for a codec without parameters.\n*/\nfunction nonEmptyTypeParams(typeParams) {\n\treturn typeParams !== void 0 && Object.keys(typeParams).length > 0 ? typeParams : void 0;\n}\n/**\n* Type-guard for codec-typed entries on the polymorphic\n* `SqlStorage.types` slot. Distinguishes `StorageTypeInstance` from\n* any class-instance kinds a target pack contributes.\n*/\nfunction isStorageTypeInstance(value) {\n\tif (typeof value !== \"object\" || value === null) return false;\n\treturn value.kind === CODEC_INSTANCE_KIND;\n}\n//#endregion\n//#region src/ir/sql-storage.ts\n/**\n* Narrows framework `AuthoringContributions` to the SQL-family shape by testing\n* for the SQL-specific `createNamespace` capability.\n*/\nfunction isSqlAuthoringContributions(authoring) {\n\tif (authoring === void 0 || !Object.hasOwn(authoring, \"createNamespace\")) return false;\n\treturn typeof Reflect.get(authoring, \"createNamespace\") === \"function\";\n}\n/**\n* Abstract SQL family namespace base class. Target concretions (`PostgresSchema`,\n* `SqliteDatabase`, …) extend this — it is never instantiated directly.\n* `entries` is the open ADR 224 dictionary: `entries[entityKind][entityName]`\n* addresses any entity.\n*/\nvar SqlNamespaceBase = class extends NamespaceBase {};\n/**\n* Realm-safe guard for hydrated `SqlNamespaceBase` concretions. Checks\n* `qualifyTable` structurally instead of `instanceof NamespaceBase`, so it\n* survives duplicate-module boundaries (e.g. dist e2e where the target and\n* the family carry separate copies of `@internal/framework-components`).\n*\n* Every concrete `SqlNamespaceBase` subclass (`PostgresSchema`, `SqliteDatabase`,\n* `TestSqlNamespace`, …) implements `qualifyTable`. Raw `SqlNamespaceInput`\n* objects (`{ id, entries }`) do not.\n*/\nfunction isMaterializedSqlNamespace(x) {\n\tif (typeof x !== \"object\" || x === null || !(\"qualifyTable\" in x)) return false;\n\treturn typeof x.qualifyTable === \"function\";\n}\nvar SqlStorage = class extends SqlNode {\n\tstorageHash;\n\tnamespaces;\n\tconstructor(input) {\n\t\tsuper();\n\t\tthis.storageHash = input.storageHash;\n\t\tthis.namespaces = Object.freeze(input.namespaces);\n\t\tif (input.types !== void 0) this.types = Object.freeze(Object.fromEntries(Object.entries(input.types).map(([name, ti]) => [name, normaliseTypeEntry(name, ti)])));\n\t\tfreezeNode(this);\n\t}\n};\n/**\n* Strict polymorphic-slot dispatch for `SqlStorage.types` entries.\n* Every entry must carry a `kind: 'codec-instance'` discriminator or\n* be an already-constructed `StorageTypeInstance`. Untagged or\n* unrecognised inputs throw a diagnostic naming the entry and its\n* `kind`, so format drift surfaces loudly at the deserializer\n* boundary instead of slipping past the seam and corrupting\n* downstream IR walks.\n*\n* Codec-triple authors that have an untagged shape on hand can call\n* `toStorageTypeInstance(...)` (which stamps the `'codec-instance'`\n* discriminator) before constructing `SqlStorage`. On-disk reads\n* cross `familyInstance.deserializeContract` first; the structural\n* arktype schema rejects untagged entries earlier, so this throw\n* only fires for in-memory authoring bugs.\n*/\nfunction normaliseTypeEntry(name, entry) {\n\tif (isStorageTypeInstance(entry)) {\n\t\tif (\"typeParams\" in entry) return entry;\n\t\treturn toStorageTypeInstance(entry);\n\t}\n\tconst rawKind = isPlainRecord(entry) && \"kind\" in entry ? entry.kind : void 0;\n\tconst kindDescription = rawKind === void 0 ? \"missing `kind` discriminator\" : `unrecognised \\`kind\\` discriminator ${JSON.stringify(rawKind)}`;\n\tthrow new InternalError(`storage.types[${JSON.stringify(name)}] has ${kindDescription}; expected ${JSON.stringify(\"codec-instance\")}. Untagged codec triples should be wrapped with toStorageTypeInstance(...) before construction.`);\n}\n//#endregion\n//#region src/types.ts\nconst DEFAULT_FK_CONSTRAINT = true;\nconst DEFAULT_FK_INDEX = true;\nfunction applyFkDefaults(fk, overrideDefaults) {\n\treturn {\n\t\tconstraint: fk.constraint ?? overrideDefaults?.constraint ?? true,\n\t\tindex: fk.index ?? overrideDefaults?.index ?? true\n\t};\n}\n//#endregion\nexport { CODEC_INSTANCE_KIND, CheckConstraint, DEFAULT_FK_CONSTRAINT, DEFAULT_FK_INDEX, ForeignKey, ForeignKeyReference, Index, PrimaryKey, RelationKeys, SqlNamespaceBase, SqlNode, SqlStorage, StorageColumn, StorageTable, StorageValueSet, UniqueConstraint, applyFkDefaults, checkConstraintInputFromSerialized, indexInputFromSerialized, isMaterializedSqlNamespace, isSqlAuthoringContributions, isStorageTypeInstance, isStorageValueSet, nonEmptyTypeParams, toStorageTypeInstance };\n\n//# sourceMappingURL=types.mjs.map"],"mappings":";;;;;;;;;;;;AAaA,MAAM,sBAAsB;;;;;;AAM5B,SAAS,sBAAsB,OAAO;CACrC,OAAO;EACN,MAAM;EACN,SAAS,MAAM;EACf,UAAU,MAAM;EAChB,YAAY,MAAM,cAAc,CAAC;CAClC;AACD;;;;AAIA,SAAS,mBAAmB,YAAY;CACvC,OAAO,eAAe,KAAK,KAAK,OAAO,KAAK,UAAU,CAAC,CAAC,SAAS,IAAI,aAAa,KAAK;AACxF;;;;;;AAMA,SAAS,sBAAsB,OAAO;CACrC,IAAI,OAAO,UAAU,YAAY,UAAU,MAAM,OAAO;CACxD,OAAO,MAAM,SAAS;AACvB;;;;;AAOA,SAAS,4BAA4B,WAAW;CAC/C,IAAI,cAAc,KAAK,KAAK,CAAC,OAAO,OAAO,WAAW,iBAAiB,GAAG,OAAO;CACjF,OAAO,OAAO,QAAQ,IAAI,WAAW,iBAAiB,MAAM;AAC7D;;;;;;;AAOA,IAAI,mBAAmB,cAAc,cAAc,CAAC;;;;;;;;;;;AAWpD,SAAS,2BAA2B,GAAG;CACtC,IAAI,OAAO,MAAM,YAAY,MAAM,QAAQ,EAAE,kBAAkB,IAAI,OAAO;CAC1E,OAAO,OAAO,EAAE,iBAAiB;AAClC;AACA,IAAI,aAAa,cAAc,QAAQ;CACtC;CACA;CACA,YAAY,OAAO;EAClB,MAAM;EACN,KAAK,cAAc,MAAM;EACzB,KAAK,aAAa,OAAO,OAAO,MAAM,UAAU;EAChD,IAAI,MAAM,UAAU,KAAK,GAAG,KAAK,QAAQ,OAAO,OAAO,OAAO,YAAY,OAAO,QAAQ,MAAM,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,MAAM,mBAAmB,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;EAChK,WAAW,IAAI;CAChB;AACD;;;;;;;;;;;;;;;;;AAiBA,SAAS,mBAAmB,MAAM,OAAO;CACxC,IAAI,sBAAsB,KAAK,GAAG;EACjC,IAAI,gBAAgB,OAAO,OAAO;EAClC,OAAO,sBAAsB,KAAK;CACnC;CACA,MAAM,UAAU,cAAc,KAAK,KAAK,UAAU,QAAQ,MAAM,OAAO,KAAK;CAC5E,MAAM,kBAAkB,YAAY,KAAK,IAAI,iCAAiC,uCAAuC,KAAK,UAAU,OAAO;CAC3I,MAAM,IAAI,cAAc,iBAAiB,KAAK,UAAU,IAAI,EAAE,QAAQ,gBAAgB,aAAa,KAAK,UAAU,gBAAgB,EAAE,gGAAgG;AACrO;AAGA,MAAM,wBAAwB;AAC9B,MAAM,mBAAmB;AACzB,SAAS,gBAAgB,IAAI,kBAAkB;CAC9C,OAAO;EACN,YAAY,GAAG,cAAc,kBAAkB,cAAc;EAC7D,OAAO,GAAG,SAAS,kBAAkB,SAAS;CAC/C;AACD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import "./types-NgqqVAo5-Be_uYGQx.mjs";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import "./types-CuCxAQat-Dz8P4xyt.mjs";
|