@prisma/orm-family-sql 8.0.0-rc.1-dev.5 → 8.0.0-rc.1-dev.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"ast-DDAyIKdt.mjs","names":[],"sources":["../../../../2-sql/4-lanes/relational-core/dist/exports/ast.mjs"],"sourcesContent":["import { t as frozenCodecRef } from \"../codec-types-B_xmJL2m.mjs\";\nimport { a as ForeignKeyConstraint, c as PrimaryKeyConstraint, i as DdlNode, l as UniqueConstraint, n as DdlColumn, o as FunctionColumnDefault, r as DdlColumnDefault, s as LiteralColumnDefault, t as CheckExpressionConstraint, u as isDdlNode } from \"../ddl-types-BMp2bWVS.mjs\";\nimport { A as PreparedParamRef, B as isWhereExpr, C as LiteralExpr, D as OrExpr, E as OperationExpr, F as SubqueryExpr, H as whereExprKinds, I as TableSource, L as UpdateAst, M as RawExpr, N as RawSqlExpr, O as OrderByItem, P as SelectAst, R as WindowFuncExpr, S as ListExpression, T as NullCheckExpr, V as queryAstKinds, _ as InsertAst, a as CastExpr, b as JsonArrayAggExpr, c as DeleteAst, d as DoUpdateSetConflictAction, f as EqColJoinOn, g as IdentifierRef, h as FunctionSource, i as CaseExpr, j as ProjectionItem, k as ParamRef, l as DerivedTableSource, m as FunctionCallExpr, n as AndExpr, o as ColumnRef, p as ExistsExpr, r as BinaryExpr, s as DefaultValueExpr, t as AggregateExpr, u as DoNothingConflictAction, v as InsertOnConflict, w as NotExpr, x as JsonObjectExpr, y as JoinAst, z as isQueryAst } from \"../types-D43EhRac.mjs\";\nimport { n as compact, t as collectOrderedParamRefs } from \"../util-DQQgv2j1.mjs\";\nimport { structuredError } from \"@internal/utils/structured-error\";\nimport { CodecDescriptorImpl, CodecImpl, column, voidParamsSchema } from \"@internal/framework-components/codec\";\nimport { type } from \"arktype\";\n//#region src/ast/json-value-projection.ts\nvar JsonValueProjection = class {\n\tvalue;\n\tconstructor(value) {\n\t\tthis.value = value;\n\t}\n\tfold(folder) {\n\t\treturn this.value.fold(folder);\n\t}\n\tcollectColumnRefs() {\n\t\treturn this.value.collectColumnRefs();\n\t}\n\tcollectParamRefs() {\n\t\treturn this.value.collectParamRefs();\n\t}\n\tfreeze() {\n\t\tObject.freeze(this);\n\t}\n};\nvar CodecJsonValueProjection = class CodecJsonValueProjection extends JsonValueProjection {\n\tkind = \"codec\";\n\tcodec;\n\tconstructor(value, codec) {\n\t\tsuper(value);\n\t\tthis.codec = frozenCodecRef(codec);\n\t\tthis.freeze();\n\t}\n\taccept(visitor) {\n\t\treturn visitor.codec(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new CodecJsonValueProjection(this.value.rewrite(rewriter), this.codec);\n\t}\n};\nvar NativeJsonValueProjection = class NativeJsonValueProjection extends JsonValueProjection {\n\tkind = \"native\";\n\tconstructor(value) {\n\t\tsuper(value);\n\t\tthis.freeze();\n\t}\n\taccept(visitor) {\n\t\treturn visitor.native(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new NativeJsonValueProjection(this.value.rewrite(rewriter));\n\t}\n};\nvar JsonDocumentProjection = class JsonDocumentProjection extends JsonValueProjection {\n\tkind = \"document\";\n\tconstructor(value) {\n\t\tsuper(value);\n\t\tthis.freeze();\n\t}\n\taccept(visitor) {\n\t\treturn visitor.document(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new JsonDocumentProjection(this.value.rewrite(rewriter));\n\t}\n};\n//#endregion\n//#region src/ast/sql-codec-helpers.ts\nconst SQL_CHAR_CODEC_ID = \"sql/char@1\";\nconst SQL_VARCHAR_CODEC_ID = \"sql/varchar@1\";\nconst SQL_INT_CODEC_ID = \"sql/int@1\";\nconst SQL_FLOAT_CODEC_ID = \"sql/float@1\";\nconst SQL_TEXT_CODEC_ID = \"sql/text@1\";\nconst SQL_TIMESTAMP_CODEC_ID = \"sql/timestamp@1\";\nconst sqlCharEncode = (value) => value;\nconst sqlCharDecode = (wire) => wire.trimEnd();\nconst sqlCharRenderOutputType = (typeParams) => {\n\tconst length = typeParams.length;\n\tif (length === void 0) return void 0;\n\tif (typeof length !== \"number\" || !Number.isFinite(length) || !Number.isInteger(length)) throw structuredError(\"RUNTIME.TYPE_PARAMS_INVALID\", `renderOutputType: expected integer \"length\" in typeParams for Char, got ${String(length)}`, { meta: {\n\t\tcodec: SQL_CHAR_CODEC_ID,\n\t\tparam: \"length\",\n\t\treceived: String(length)\n\t} });\n\treturn `Char<${length}>`;\n};\nconst sqlVarcharEncode = (value) => value;\nconst sqlVarcharDecode = (wire) => wire;\nconst sqlVarcharRenderOutputType = (typeParams) => {\n\tconst length = typeParams.length;\n\tif (length === void 0) return void 0;\n\tif (typeof length !== \"number\" || !Number.isFinite(length) || !Number.isInteger(length)) throw structuredError(\"RUNTIME.TYPE_PARAMS_INVALID\", `renderOutputType: expected integer \"length\" in typeParams for Varchar, got ${String(length)}`, { meta: {\n\t\tcodec: SQL_VARCHAR_CODEC_ID,\n\t\tparam: \"length\",\n\t\treceived: String(length)\n\t} });\n\treturn `Varchar<${length}>`;\n};\nconst sqlIntEncode = (value) => value;\nconst sqlIntDecode = (wire) => wire;\nconst sqlFloatEncode = (value) => value;\nconst sqlFloatDecode = (wire) => wire;\n/**\n* JSON has no spelling for a non-finite number, and a database that holds one\n* emits it as a string — PostgreSQL writes `\"NaN\"` and `\"Infinity\"`. This\n* codec's application type is `number`, so both directions reject rather than\n* carry a value that type cannot hold.\n*/\nconst sqlFloatEncodeJson = (value) => {\n\tif (!Number.isFinite(value)) throw structuredError(\"RUNTIME.ENCODE_FAILED\", `${SQL_FLOAT_CODEC_ID} application value must be a finite number, got ${value}`, { meta: { codec: SQL_FLOAT_CODEC_ID } });\n\treturn value;\n};\nconst sqlFloatDecodeJson = (json) => {\n\tif (typeof json !== \"number\" || !Number.isFinite(json)) throw structuredError(\"RUNTIME.DECODE_FAILED\", `Expected a finite number for ${SQL_FLOAT_CODEC_ID}, got ${JSON.stringify(json)}`, { meta: { codec: SQL_FLOAT_CODEC_ID } });\n\treturn json;\n};\nconst sqlTextEncode = (value) => value;\nconst sqlTextDecode = (wire) => wire;\nconst ZONELESS_ISO_TIMESTAMP = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?$/;\nconst sqlTimestampEncode = (value) => value;\nconst sqlTimestampDecode = (wire) => wire;\n/**\n* A `timestamp` carries no zone, so its JSON form is the ISO rendering without a\n* trailing `Z` — `2026-01-02T03:04:05.678` — and {@link sqlTimestampDecodeJson}\n* reads that form back as UTC.\n*/\nconst sqlTimestampEncodeJson = (value) => value.toISOString().slice(0, -1);\nconst sqlTimestampDecodeJson = (json) => {\n\tif (typeof json !== \"string\") throw structuredError(\"RUNTIME.DECODE_FAILED\", `Expected ISO date string for sql/timestamp@1, got ${typeof json}`, { meta: { codec: SQL_TIMESTAMP_CODEC_ID } });\n\tif (!ZONELESS_ISO_TIMESTAMP.test(json)) throw structuredError(\"RUNTIME.DECODE_FAILED\", `Expected a zone-less ISO date-time (YYYY-MM-DDTHH:MM:SS[.sss]) for sql/timestamp@1, got ${json}`, { meta: { codec: SQL_TIMESTAMP_CODEC_ID } });\n\tconst date = /* @__PURE__ */ new Date(`${json}Z`);\n\tif (Number.isNaN(date.getTime())) throw structuredError(\"RUNTIME.DECODE_FAILED\", `Invalid ISO date string for sql/timestamp@1: ${json}`, { meta: { codec: SQL_TIMESTAMP_CODEC_ID } });\n\treturn date;\n};\nconst sqlTimestampRenderOutputType = (typeParams) => {\n\tconst precision = typeParams.precision;\n\tif (precision === void 0) return \"Timestamp\";\n\tif (typeof precision !== \"number\" || !Number.isFinite(precision) || !Number.isInteger(precision)) throw structuredError(\"RUNTIME.TYPE_PARAMS_INVALID\", `renderOutputType: expected integer \"precision\" in typeParams for Timestamp, got ${String(precision)}`, { meta: {\n\t\tcodec: SQL_TIMESTAMP_CODEC_ID,\n\t\tparam: \"precision\",\n\t\treceived: String(precision)\n\t} });\n\treturn `Timestamp<${precision}>`;\n};\n//#endregion\n//#region src/ast/sql-codecs.ts\nconst lengthParamsSchema = type({ \"length?\": \"number.integer > 0\" });\nconst precisionParamsSchema = type({ \"precision?\": \"number.integer >= 0 & number.integer <= 6\" });\nvar SqlTextCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn sqlTextEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn sqlTextDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn json;\n\t}\n};\nvar SqlTextDescriptor = class extends CodecDescriptorImpl {\n\tcodecId = SQL_TEXT_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"textual\"\n\t];\n\ttargetTypes = [\"text\"];\n\tparamsSchema = voidParamsSchema;\n\tfactory() {\n\t\treturn () => new SqlTextCodec(this);\n\t}\n};\nconst sqlTextDescriptor = new SqlTextDescriptor();\nconst sqlTextColumn = () => column(sqlTextDescriptor.factory(), sqlTextDescriptor.codecId, void 0, \"text\");\nvar SqlIntCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn sqlIntEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn sqlIntDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn json;\n\t}\n};\nvar SqlIntDescriptor = class extends CodecDescriptorImpl {\n\tcodecId = SQL_INT_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [\"int\"];\n\tparamsSchema = voidParamsSchema;\n\tfactory() {\n\t\treturn () => new SqlIntCodec(this);\n\t}\n};\nconst sqlIntDescriptor = new SqlIntDescriptor();\nconst sqlIntColumn = () => column(sqlIntDescriptor.factory(), sqlIntDescriptor.codecId, void 0, \"int\");\nvar SqlFloatCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn sqlFloatEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn sqlFloatDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn sqlFloatEncodeJson(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn sqlFloatDecodeJson(json);\n\t}\n};\nvar SqlFloatDescriptor = class extends CodecDescriptorImpl {\n\tcodecId = SQL_FLOAT_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [\"float\"];\n\tparamsSchema = voidParamsSchema;\n\tfactory() {\n\t\treturn () => new SqlFloatCodec(this);\n\t}\n};\nconst sqlFloatDescriptor = new SqlFloatDescriptor();\nconst sqlFloatColumn = () => column(sqlFloatDescriptor.factory(), sqlFloatDescriptor.codecId, void 0, \"float\");\nvar SqlCharCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn sqlCharEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn sqlCharDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn json;\n\t}\n};\nvar SqlCharDescriptor = class extends CodecDescriptorImpl {\n\tcodecId = SQL_CHAR_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"textual\"\n\t];\n\ttargetTypes = [\"char\"];\n\tparamsSchema = lengthParamsSchema;\n\trenderOutputType(params) {\n\t\treturn sqlCharRenderOutputType(params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new SqlCharCodec(this);\n\t}\n};\nconst sqlCharDescriptor = new SqlCharDescriptor();\nconst sqlCharColumn = (params = {}) => column(sqlCharDescriptor.factory(params), sqlCharDescriptor.codecId, params, \"char\");\nvar SqlVarcharCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn sqlVarcharEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn sqlVarcharDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn json;\n\t}\n};\nvar SqlVarcharDescriptor = class extends CodecDescriptorImpl {\n\tcodecId = SQL_VARCHAR_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"textual\"\n\t];\n\ttargetTypes = [\"varchar\"];\n\tparamsSchema = lengthParamsSchema;\n\trenderOutputType(params) {\n\t\treturn sqlVarcharRenderOutputType(params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new SqlVarcharCodec(this);\n\t}\n};\nconst sqlVarcharDescriptor = new SqlVarcharDescriptor();\nconst sqlVarcharColumn = (params = {}) => column(sqlVarcharDescriptor.factory(params), sqlVarcharDescriptor.codecId, params, \"varchar\");\nvar SqlTimestampCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn sqlTimestampEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn sqlTimestampDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn sqlTimestampEncodeJson(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn sqlTimestampDecodeJson(json);\n\t}\n};\nvar SqlTimestampDescriptor = class extends CodecDescriptorImpl {\n\tcodecId = SQL_TIMESTAMP_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"timestamp\"];\n\tparamsSchema = precisionParamsSchema;\n\trenderOutputType(params) {\n\t\treturn sqlTimestampRenderOutputType(params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new SqlTimestampCodec(this);\n\t}\n};\nconst sqlTimestampDescriptor = new SqlTimestampDescriptor();\nconst sqlTimestampColumn = (params = {}) => column(sqlTimestampDescriptor.factory(params), sqlTimestampDescriptor.codecId, params, \"timestamp\");\n//#endregion\nexport { AggregateExpr, AndExpr, BinaryExpr, CaseExpr, CastExpr, CheckExpressionConstraint, CodecJsonValueProjection, ColumnRef, DdlColumn, DdlColumnDefault, DdlNode, DefaultValueExpr, DeleteAst, DerivedTableSource, DoNothingConflictAction, DoUpdateSetConflictAction, EqColJoinOn, ExistsExpr, ForeignKeyConstraint, FunctionCallExpr, FunctionColumnDefault, FunctionSource, IdentifierRef, InsertAst, InsertOnConflict, JoinAst, JsonArrayAggExpr, JsonDocumentProjection, JsonObjectExpr, ListExpression, LiteralColumnDefault, LiteralExpr, NativeJsonValueProjection, NotExpr, NullCheckExpr, OperationExpr, OrExpr, OrderByItem, ParamRef, PreparedParamRef, PrimaryKeyConstraint, ProjectionItem, RawExpr, RawSqlExpr, SQL_CHAR_CODEC_ID, SQL_FLOAT_CODEC_ID, SQL_INT_CODEC_ID, SQL_TEXT_CODEC_ID, SQL_TIMESTAMP_CODEC_ID, SQL_VARCHAR_CODEC_ID, SelectAst, SqlCharCodec, SqlCharDescriptor, SqlFloatCodec, SqlFloatDescriptor, SqlIntCodec, SqlIntDescriptor, SqlTextCodec, SqlTextDescriptor, SqlTimestampCodec, SqlTimestampDescriptor, SqlVarcharCodec, SqlVarcharDescriptor, SubqueryExpr, TableSource, UniqueConstraint, UpdateAst, WindowFuncExpr, collectOrderedParamRefs, compact, frozenCodecRef, isDdlNode, isQueryAst, isWhereExpr, queryAstKinds, sqlCharColumn, sqlCharDecode, sqlCharDescriptor, sqlCharEncode, sqlCharRenderOutputType, sqlFloatColumn, sqlFloatDecode, sqlFloatDecodeJson, sqlFloatDescriptor, sqlFloatEncode, sqlFloatEncodeJson, sqlIntColumn, sqlIntDecode, sqlIntDescriptor, sqlIntEncode, sqlTextColumn, sqlTextDecode, sqlTextDescriptor, sqlTextEncode, sqlTimestampColumn, sqlTimestampDecode, sqlTimestampDecodeJson, sqlTimestampDescriptor, sqlTimestampEncode, sqlTimestampEncodeJson, sqlTimestampRenderOutputType, sqlVarcharColumn, sqlVarcharDecode, sqlVarcharDescriptor, sqlVarcharEncode, sqlVarcharRenderOutputType, whereExprKinds };\n\n//# sourceMappingURL=ast.mjs.map"],"mappings":"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"}
1
+ {"version":3,"file":"ast-DDAyIKdt.mjs","names":[],"sources":["../../../../2-sql/4-lanes/relational-core/dist/exports/ast.mjs"],"sourcesContent":["import { t as frozenCodecRef } from \"../codec-types-B_xmJL2m.mjs\";\nimport { a as ForeignKeyConstraint, c as PrimaryKeyConstraint, i as DdlNode, l as UniqueConstraint, n as DdlColumn, o as FunctionColumnDefault, r as DdlColumnDefault, s as LiteralColumnDefault, t as CheckExpressionConstraint, u as isDdlNode } from \"../ddl-types-BMp2bWVS.mjs\";\nimport { A as PreparedParamRef, B as isWhereExpr, C as LiteralExpr, D as OrExpr, E as OperationExpr, F as SubqueryExpr, H as whereExprKinds, I as TableSource, L as UpdateAst, M as RawExpr, N as RawSqlExpr, O as OrderByItem, P as SelectAst, R as WindowFuncExpr, S as ListExpression, T as NullCheckExpr, V as queryAstKinds, _ as InsertAst, a as CastExpr, b as JsonArrayAggExpr, c as DeleteAst, d as DoUpdateSetConflictAction, f as EqColJoinOn, g as IdentifierRef, h as FunctionSource, i as CaseExpr, j as ProjectionItem, k as ParamRef, l as DerivedTableSource, m as FunctionCallExpr, n as AndExpr, o as ColumnRef, p as ExistsExpr, r as BinaryExpr, s as DefaultValueExpr, t as AggregateExpr, u as DoNothingConflictAction, v as InsertOnConflict, w as NotExpr, x as JsonObjectExpr, y as JoinAst, z as isQueryAst } from \"../types-D-_2ZCos.mjs\";\nimport { n as compact, t as collectOrderedParamRefs } from \"../util-DQQgv2j1.mjs\";\nimport { structuredError } from \"@internal/utils/structured-error\";\nimport { CodecDescriptorImpl, CodecImpl, column, voidParamsSchema } from \"@internal/framework-components/codec\";\nimport { type } from \"arktype\";\n//#region src/ast/json-value-projection.ts\nvar JsonValueProjection = class {\n\tvalue;\n\tconstructor(value) {\n\t\tthis.value = value;\n\t}\n\tfold(folder) {\n\t\treturn this.value.fold(folder);\n\t}\n\tcollectColumnRefs() {\n\t\treturn this.value.collectColumnRefs();\n\t}\n\tcollectParamRefs() {\n\t\treturn this.value.collectParamRefs();\n\t}\n\tfreeze() {\n\t\tObject.freeze(this);\n\t}\n};\nvar CodecJsonValueProjection = class CodecJsonValueProjection extends JsonValueProjection {\n\tkind = \"codec\";\n\tcodec;\n\tconstructor(value, codec) {\n\t\tsuper(value);\n\t\tthis.codec = frozenCodecRef(codec);\n\t\tthis.freeze();\n\t}\n\taccept(visitor) {\n\t\treturn visitor.codec(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new CodecJsonValueProjection(this.value.rewrite(rewriter), this.codec);\n\t}\n};\nvar NativeJsonValueProjection = class NativeJsonValueProjection extends JsonValueProjection {\n\tkind = \"native\";\n\tconstructor(value) {\n\t\tsuper(value);\n\t\tthis.freeze();\n\t}\n\taccept(visitor) {\n\t\treturn visitor.native(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new NativeJsonValueProjection(this.value.rewrite(rewriter));\n\t}\n};\nvar JsonDocumentProjection = class JsonDocumentProjection extends JsonValueProjection {\n\tkind = \"document\";\n\tconstructor(value) {\n\t\tsuper(value);\n\t\tthis.freeze();\n\t}\n\taccept(visitor) {\n\t\treturn visitor.document(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new JsonDocumentProjection(this.value.rewrite(rewriter));\n\t}\n};\n//#endregion\n//#region src/ast/sql-codec-helpers.ts\nconst SQL_CHAR_CODEC_ID = \"sql/char@1\";\nconst SQL_VARCHAR_CODEC_ID = \"sql/varchar@1\";\nconst SQL_INT_CODEC_ID = \"sql/int@1\";\nconst SQL_FLOAT_CODEC_ID = \"sql/float@1\";\nconst SQL_TEXT_CODEC_ID = \"sql/text@1\";\nconst SQL_TIMESTAMP_CODEC_ID = \"sql/timestamp@1\";\nconst sqlCharEncode = (value) => value;\nconst sqlCharDecode = (wire) => wire.trimEnd();\nconst sqlCharRenderOutputType = (typeParams) => {\n\tconst length = typeParams.length;\n\tif (length === void 0) return void 0;\n\tif (typeof length !== \"number\" || !Number.isFinite(length) || !Number.isInteger(length)) throw structuredError(\"RUNTIME.TYPE_PARAMS_INVALID\", `renderOutputType: expected integer \"length\" in typeParams for Char, got ${String(length)}`, { meta: {\n\t\tcodec: SQL_CHAR_CODEC_ID,\n\t\tparam: \"length\",\n\t\treceived: String(length)\n\t} });\n\treturn `Char<${length}>`;\n};\nconst sqlVarcharEncode = (value) => value;\nconst sqlVarcharDecode = (wire) => wire;\nconst sqlVarcharRenderOutputType = (typeParams) => {\n\tconst length = typeParams.length;\n\tif (length === void 0) return void 0;\n\tif (typeof length !== \"number\" || !Number.isFinite(length) || !Number.isInteger(length)) throw structuredError(\"RUNTIME.TYPE_PARAMS_INVALID\", `renderOutputType: expected integer \"length\" in typeParams for Varchar, got ${String(length)}`, { meta: {\n\t\tcodec: SQL_VARCHAR_CODEC_ID,\n\t\tparam: \"length\",\n\t\treceived: String(length)\n\t} });\n\treturn `Varchar<${length}>`;\n};\nconst sqlIntEncode = (value) => value;\nconst sqlIntDecode = (wire) => wire;\nconst sqlFloatEncode = (value) => value;\nconst sqlFloatDecode = (wire) => wire;\n/**\n* JSON has no spelling for a non-finite number, and a database that holds one\n* emits it as a string — PostgreSQL writes `\"NaN\"` and `\"Infinity\"`. This\n* codec's application type is `number`, so both directions reject rather than\n* carry a value that type cannot hold.\n*/\nconst sqlFloatEncodeJson = (value) => {\n\tif (!Number.isFinite(value)) throw structuredError(\"RUNTIME.ENCODE_FAILED\", `${SQL_FLOAT_CODEC_ID} application value must be a finite number, got ${value}`, { meta: { codec: SQL_FLOAT_CODEC_ID } });\n\treturn value;\n};\nconst sqlFloatDecodeJson = (json) => {\n\tif (typeof json !== \"number\" || !Number.isFinite(json)) throw structuredError(\"RUNTIME.DECODE_FAILED\", `Expected a finite number for ${SQL_FLOAT_CODEC_ID}, got ${JSON.stringify(json)}`, { meta: { codec: SQL_FLOAT_CODEC_ID } });\n\treturn json;\n};\nconst sqlTextEncode = (value) => value;\nconst sqlTextDecode = (wire) => wire;\nconst ZONELESS_ISO_TIMESTAMP = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?$/;\nconst sqlTimestampEncode = (value) => value;\nconst sqlTimestampDecode = (wire) => wire;\n/**\n* A `timestamp` carries no zone, so its JSON form is the ISO rendering without a\n* trailing `Z` — `2026-01-02T03:04:05.678` — and {@link sqlTimestampDecodeJson}\n* reads that form back as UTC.\n*/\nconst sqlTimestampEncodeJson = (value) => value.toISOString().slice(0, -1);\nconst sqlTimestampDecodeJson = (json) => {\n\tif (typeof json !== \"string\") throw structuredError(\"RUNTIME.DECODE_FAILED\", `Expected ISO date string for sql/timestamp@1, got ${typeof json}`, { meta: { codec: SQL_TIMESTAMP_CODEC_ID } });\n\tif (!ZONELESS_ISO_TIMESTAMP.test(json)) throw structuredError(\"RUNTIME.DECODE_FAILED\", `Expected a zone-less ISO date-time (YYYY-MM-DDTHH:MM:SS[.sss]) for sql/timestamp@1, got ${json}`, { meta: { codec: SQL_TIMESTAMP_CODEC_ID } });\n\tconst date = /* @__PURE__ */ new Date(`${json}Z`);\n\tif (Number.isNaN(date.getTime())) throw structuredError(\"RUNTIME.DECODE_FAILED\", `Invalid ISO date string for sql/timestamp@1: ${json}`, { meta: { codec: SQL_TIMESTAMP_CODEC_ID } });\n\treturn date;\n};\nconst sqlTimestampRenderOutputType = (typeParams) => {\n\tconst precision = typeParams.precision;\n\tif (precision === void 0) return \"Timestamp\";\n\tif (typeof precision !== \"number\" || !Number.isFinite(precision) || !Number.isInteger(precision)) throw structuredError(\"RUNTIME.TYPE_PARAMS_INVALID\", `renderOutputType: expected integer \"precision\" in typeParams for Timestamp, got ${String(precision)}`, { meta: {\n\t\tcodec: SQL_TIMESTAMP_CODEC_ID,\n\t\tparam: \"precision\",\n\t\treceived: String(precision)\n\t} });\n\treturn `Timestamp<${precision}>`;\n};\n//#endregion\n//#region src/ast/sql-codecs.ts\nconst lengthParamsSchema = type({ \"length?\": \"number.integer > 0\" });\nconst precisionParamsSchema = type({ \"precision?\": \"number.integer >= 0 & number.integer <= 6\" });\nvar SqlTextCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn sqlTextEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn sqlTextDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn json;\n\t}\n};\nvar SqlTextDescriptor = class extends CodecDescriptorImpl {\n\tcodecId = SQL_TEXT_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"textual\"\n\t];\n\ttargetTypes = [\"text\"];\n\tparamsSchema = voidParamsSchema;\n\tfactory() {\n\t\treturn () => new SqlTextCodec(this);\n\t}\n};\nconst sqlTextDescriptor = new SqlTextDescriptor();\nconst sqlTextColumn = () => column(sqlTextDescriptor.factory(), sqlTextDescriptor.codecId, void 0, \"text\");\nvar SqlIntCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn sqlIntEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn sqlIntDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn json;\n\t}\n};\nvar SqlIntDescriptor = class extends CodecDescriptorImpl {\n\tcodecId = SQL_INT_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [\"int\"];\n\tparamsSchema = voidParamsSchema;\n\tfactory() {\n\t\treturn () => new SqlIntCodec(this);\n\t}\n};\nconst sqlIntDescriptor = new SqlIntDescriptor();\nconst sqlIntColumn = () => column(sqlIntDescriptor.factory(), sqlIntDescriptor.codecId, void 0, \"int\");\nvar SqlFloatCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn sqlFloatEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn sqlFloatDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn sqlFloatEncodeJson(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn sqlFloatDecodeJson(json);\n\t}\n};\nvar SqlFloatDescriptor = class extends CodecDescriptorImpl {\n\tcodecId = SQL_FLOAT_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [\"float\"];\n\tparamsSchema = voidParamsSchema;\n\tfactory() {\n\t\treturn () => new SqlFloatCodec(this);\n\t}\n};\nconst sqlFloatDescriptor = new SqlFloatDescriptor();\nconst sqlFloatColumn = () => column(sqlFloatDescriptor.factory(), sqlFloatDescriptor.codecId, void 0, \"float\");\nvar SqlCharCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn sqlCharEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn sqlCharDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn json;\n\t}\n};\nvar SqlCharDescriptor = class extends CodecDescriptorImpl {\n\tcodecId = SQL_CHAR_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"textual\"\n\t];\n\ttargetTypes = [\"char\"];\n\tparamsSchema = lengthParamsSchema;\n\trenderOutputType(params) {\n\t\treturn sqlCharRenderOutputType(params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new SqlCharCodec(this);\n\t}\n};\nconst sqlCharDescriptor = new SqlCharDescriptor();\nconst sqlCharColumn = (params = {}) => column(sqlCharDescriptor.factory(params), sqlCharDescriptor.codecId, params, \"char\");\nvar SqlVarcharCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn sqlVarcharEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn sqlVarcharDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn json;\n\t}\n};\nvar SqlVarcharDescriptor = class extends CodecDescriptorImpl {\n\tcodecId = SQL_VARCHAR_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"textual\"\n\t];\n\ttargetTypes = [\"varchar\"];\n\tparamsSchema = lengthParamsSchema;\n\trenderOutputType(params) {\n\t\treturn sqlVarcharRenderOutputType(params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new SqlVarcharCodec(this);\n\t}\n};\nconst sqlVarcharDescriptor = new SqlVarcharDescriptor();\nconst sqlVarcharColumn = (params = {}) => column(sqlVarcharDescriptor.factory(params), sqlVarcharDescriptor.codecId, params, \"varchar\");\nvar SqlTimestampCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn sqlTimestampEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn sqlTimestampDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn sqlTimestampEncodeJson(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn sqlTimestampDecodeJson(json);\n\t}\n};\nvar SqlTimestampDescriptor = class extends CodecDescriptorImpl {\n\tcodecId = SQL_TIMESTAMP_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"timestamp\"];\n\tparamsSchema = precisionParamsSchema;\n\trenderOutputType(params) {\n\t\treturn sqlTimestampRenderOutputType(params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new SqlTimestampCodec(this);\n\t}\n};\nconst sqlTimestampDescriptor = new SqlTimestampDescriptor();\nconst sqlTimestampColumn = (params = {}) => column(sqlTimestampDescriptor.factory(params), sqlTimestampDescriptor.codecId, params, \"timestamp\");\n//#endregion\nexport { AggregateExpr, AndExpr, BinaryExpr, CaseExpr, CastExpr, CheckExpressionConstraint, CodecJsonValueProjection, ColumnRef, DdlColumn, DdlColumnDefault, DdlNode, DefaultValueExpr, DeleteAst, DerivedTableSource, DoNothingConflictAction, DoUpdateSetConflictAction, EqColJoinOn, ExistsExpr, ForeignKeyConstraint, FunctionCallExpr, FunctionColumnDefault, FunctionSource, IdentifierRef, InsertAst, InsertOnConflict, JoinAst, JsonArrayAggExpr, JsonDocumentProjection, JsonObjectExpr, ListExpression, LiteralColumnDefault, LiteralExpr, NativeJsonValueProjection, NotExpr, NullCheckExpr, OperationExpr, OrExpr, OrderByItem, ParamRef, PreparedParamRef, PrimaryKeyConstraint, ProjectionItem, RawExpr, RawSqlExpr, SQL_CHAR_CODEC_ID, SQL_FLOAT_CODEC_ID, SQL_INT_CODEC_ID, SQL_TEXT_CODEC_ID, SQL_TIMESTAMP_CODEC_ID, SQL_VARCHAR_CODEC_ID, SelectAst, SqlCharCodec, SqlCharDescriptor, SqlFloatCodec, SqlFloatDescriptor, SqlIntCodec, SqlIntDescriptor, SqlTextCodec, SqlTextDescriptor, SqlTimestampCodec, SqlTimestampDescriptor, SqlVarcharCodec, SqlVarcharDescriptor, SubqueryExpr, TableSource, UniqueConstraint, UpdateAst, WindowFuncExpr, collectOrderedParamRefs, compact, frozenCodecRef, isDdlNode, isQueryAst, isWhereExpr, queryAstKinds, sqlCharColumn, sqlCharDecode, sqlCharDescriptor, sqlCharEncode, sqlCharRenderOutputType, sqlFloatColumn, sqlFloatDecode, sqlFloatDecodeJson, sqlFloatDescriptor, sqlFloatEncode, sqlFloatEncodeJson, sqlIntColumn, sqlIntDecode, sqlIntDescriptor, sqlIntEncode, sqlTextColumn, sqlTextDecode, sqlTextDescriptor, sqlTextEncode, sqlTimestampColumn, sqlTimestampDecode, sqlTimestampDecodeJson, sqlTimestampDescriptor, sqlTimestampEncode, sqlTimestampEncodeJson, sqlTimestampRenderOutputType, sqlVarcharColumn, sqlVarcharDecode, sqlVarcharDescriptor, sqlVarcharEncode, sqlVarcharRenderOutputType, whereExprKinds };\n\n//# sourceMappingURL=ast.mjs.map"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { C as LiteralExpr, D as OrExpr, F as SubqueryExpr, I as TableSource, L as UpdateAst, O as OrderByItem, P as SelectAst, S as ListExpression, T as NullCheckExpr, _ as InsertAst, c as DeleteAst, g as IdentifierRef, j as ProjectionItem, k as ParamRef, l as DerivedTableSource, n as AndExpr, o as ColumnRef, p as ExistsExpr, r as BinaryExpr, t as AggregateExpr, y as JoinAst } from "./types-D43EhRac-DOJmnq_t.mjs";
1
+ import { C as LiteralExpr, D as OrExpr, F as SubqueryExpr, I as TableSource, L as UpdateAst, O as OrderByItem, P as SelectAst, S as ListExpression, T as NullCheckExpr, _ as InsertAst, c as DeleteAst, g as IdentifierRef, j as ProjectionItem, k as ParamRef, l as DerivedTableSource, n as AndExpr, o as ColumnRef, p as ExistsExpr, r as BinaryExpr, t as AggregateExpr, y as JoinAst } from "./types-D-_2ZCos-9q6j1gKx.mjs";
2
2
  import { t as collectOrderedParamRefs } from "./util-DQQgv2j1-D6INZaRG.mjs";
3
- import { a as toExpr, n as codecOf, r as createRawSql } from "./expression-Dhu3dLiu.mjs";
3
+ import { a as toExpr, n as codecOf, r as createRawSql } from "./expression-Da4F0ehj.mjs";
4
4
  import { n as codecRefForStorageColumn } from "./codec-descriptor-registry-BK_ZTP-3.mjs";
5
5
  import { assertAnnotationsApplicable } from "@prisma/orm-framework/components/runtime";
6
6
  //#region ../../../2-sql/4-lanes/sql-builder/dist/runtime/index.mjs
@@ -1,4 +1,4 @@
1
- import { E as OperationExpr, M as RawExpr, k as ParamRef } from "./types-D43EhRac-DOJmnq_t.mjs";
1
+ import { E as OperationExpr, M as RawExpr, k as ParamRef } from "./types-D-_2ZCos-9q6j1gKx.mjs";
2
2
  import { runtimeError } from "@prisma/orm-framework/components/runtime";
3
3
  //#region ../../../2-sql/4-lanes/relational-core/dist/exports/expression.mjs
4
4
  /**
@@ -106,4 +106,4 @@ var RawSqlBuilderImpl = class {
106
106
  //#endregion
107
107
  export { toExpr as a, param as i, codecOf as n, createRawSql as r, buildOperation as t };
108
108
 
109
- //# sourceMappingURL=expression-Dhu3dLiu.mjs.map
109
+ //# sourceMappingURL=expression-Da4F0ehj.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"expression-Dhu3dLiu.mjs","names":[],"sources":["../../../../2-sql/4-lanes/relational-core/dist/exports/expression.mjs"],"sourcesContent":["import { E as OperationExpr, M as RawExpr, k as ParamRef } from \"../types-D43EhRac.mjs\";\nimport { runtimeError } from \"@internal/framework-components/runtime\";\n//#region src/expression.ts\n/**\n* Resolve a raw value or an Expression into an AST expression node.\n*\n* When `value` is an Expression (duck-typed by its `buildAst` method), the AST it wraps is returned. Otherwise the value is embedded as a ParamRef tagged with the caller-supplied {@link CodecRef} (when known). The runtime resolves the ref via `contractCodecs.forCodecRef(codec)`; content-keyed memoisation collapses repeated lookups for the same logical column onto one shared codec.\n*\n* Operation implementations that compare a column-bound expression to a user value derive the column's {@link CodecRef} from the column-bound side (via {@link codecOf}) and forward it here so encode-side dispatch resolves to the per-instance codec for parameterized codec ids (`vector(1024)` vs. `vector(1536)`).\n*/\nfunction toExpr(value, codec) {\n\tif (isExpressionLike(value)) return value.buildAst();\n\tif (codec === void 0) throw runtimeError(\"RUNTIME.PARAM_REF_CODEC_REQUIRED\", `Cannot construct a ParamRef for a ${value === null ? \"null\" : typeof value} value without an explicit codec. Provide a CodecRef at the call site or use a column-bound builder path.`);\n\treturn ParamRef.of(value, { codec });\n}\n/**\n* Construct a `ParamRef` for a value whose codec identity is known at call time. Use this when interpolating a value into a raw SQL expression and the codec cannot be inferred from context — e.g. `param(myDate, { codecId: 'pg/timestamptz@1' })`.\n*/\nfunction param(value, opts) {\n\treturn ParamRef.of(value, { codec: { codecId: opts.codecId } });\n}\n/**\n* Derive the {@link CodecRef} carried by an expression-like value.\n*\n* Resolution order:\n* 1. `wrapper.codec` — explicit column-bound {@link CodecRef} stamped at field-proxy time.\n* 2. `wrapper.returnType.codec` — scope-level codec when the scope was built from contract storage.\n* 3. `{ codecId: wrapper.returnType.codecId }` — minimal ref derived from the expression's declared codec id (covers synthetic expressions like `count()` whose returnType has a known codec id but no explicit column binding).\n*\n* Returns `undefined` for raw scalar values (non-expression-like).\n*/\nfunction codecOf(value) {\n\tif (!isExpressionLike(value)) return void 0;\n\tconst wrapper = value;\n\tif (wrapper.codec) return wrapper.codec;\n\tif (wrapper.returnType?.codec) return wrapper.returnType.codec;\n\tif (wrapper.returnType?.codecId) return { codecId: wrapper.returnType.codecId };\n}\nfunction isExpressionLike(value) {\n\treturn typeof value === \"object\" && value !== null && \"buildAst\" in value && typeof value.buildAst === \"function\";\n}\n/**\n* Construct an OperationExpr AST node and wrap it as a typed Expression. Operation implementations use this to turn their user-facing arguments into the AST node the compilation pipeline eventually lowers to SQL.\n*/\nfunction buildOperation(spec) {\n\tconst [self, ...rest] = spec.args;\n\tconst op = new OperationExpr({\n\t\tmethod: spec.method,\n\t\tself,\n\t\targs: rest.length > 0 ? rest : void 0,\n\t\treturns: spec.returns,\n\t\tlowering: spec.lowering\n\t});\n\treturn {\n\t\treturnType: spec.returns,\n\t\tbuildAst: () => op\n\t};\n}\nfunction resolveInterpolation(adapter, value) {\n\tif (isExpressionLike(value)) return value.buildAst();\n\tif (value instanceof ParamRef) return value;\n\tif (typeof value === \"number\" || typeof value === \"bigint\" || typeof value === \"string\" || typeof value === \"boolean\" || value instanceof Uint8Array) return ParamRef.of(value, { codec: { codecId: adapter.inferCodec(value) } });\n\tthrow runtimeError(\"RUNTIME.RAW_SQL_UNSUPPORTED_INTERPOLATION\", \"unsupported JS value type for raw-SQL interpolation: wrap this value in `param(...)` with an explicit codec\");\n}\n/**\n* Create a tagged-template builder for raw SQL expressions. The returned tag accepts SQL string fragments interleaved with typed {@link Expression}, {@link ParamRef}, or bare {@link RawSqlLiteral} interpolations. Call `.returns(spec)` on the result to obtain a typed {@link Expression} whose AST is a {@link RawExpr}.\n*\n* Bare {@link RawSqlLiteral} interpolations are wrapped as `ParamRef` nodes with the codec resolved via `adapter.inferCodec(value)`. Use {@link param} when the codec cannot be inferred from the value alone (e.g. `Date`).\n*/\nfunction createRawSql(adapter) {\n\treturn (strings, ...values) => {\n\t\tconst parts = [];\n\t\tparts.push(strings[0] ?? \"\");\n\t\tvalues.forEach((value, i) => {\n\t\t\tparts.push(resolveInterpolation(adapter, value));\n\t\t\tparts.push(strings[i + 1] ?? \"\");\n\t\t});\n\t\treturn new RawSqlBuilderImpl(parts);\n\t};\n}\nvar RawSqlBuilderImpl = class {\n\tparts;\n\tconstructor(parts) {\n\t\tthis.parts = parts;\n\t}\n\treturns(spec) {\n\t\tconst codecId = typeof spec === \"string\" ? spec : spec.codecId;\n\t\tconst nullable = typeof spec === \"string\" ? false : spec.nullable ?? false;\n\t\tconst paramSpec = {\n\t\t\tcodecId,\n\t\t\tnullable\n\t\t};\n\t\tconst node = new RawExpr({\n\t\t\tparts: this.parts,\n\t\t\treturns: paramSpec\n\t\t});\n\t\treturn {\n\t\t\treturnType: {\n\t\t\t\tcodecId,\n\t\t\t\tnullable\n\t\t\t},\n\t\t\tbuildAst: () => node\n\t\t};\n\t}\n};\n//#endregion\nexport { buildOperation, codecOf, createRawSql, param, toExpr };\n\n//# sourceMappingURL=expression.mjs.map"],"mappings":";;;;;;;;;;AAUA,SAAS,OAAO,OAAO,OAAO;CAC7B,IAAI,iBAAiB,KAAK,GAAG,OAAO,MAAM,SAAS;CACnD,IAAI,UAAU,KAAK,GAAG,MAAM,aAAa,oCAAoC,qCAAqC,UAAU,OAAO,SAAS,OAAO,MAAM,0GAA0G;CACnQ,OAAO,SAAS,GAAG,OAAO,EAAE,MAAM,CAAC;AACpC;;;;AAIA,SAAS,MAAM,OAAO,MAAM;CAC3B,OAAO,SAAS,GAAG,OAAO,EAAE,OAAO,EAAE,SAAS,KAAK,QAAQ,EAAE,CAAC;AAC/D;;;;;;;;;;;AAWA,SAAS,QAAQ,OAAO;CACvB,IAAI,CAAC,iBAAiB,KAAK,GAAG,OAAO,KAAK;CAC1C,MAAM,UAAU;CAChB,IAAI,QAAQ,OAAO,OAAO,QAAQ;CAClC,IAAI,QAAQ,YAAY,OAAO,OAAO,QAAQ,WAAW;CACzD,IAAI,QAAQ,YAAY,SAAS,OAAO,EAAE,SAAS,QAAQ,WAAW,QAAQ;AAC/E;AACA,SAAS,iBAAiB,OAAO;CAChC,OAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,cAAc,SAAS,OAAO,MAAM,aAAa;AACxG;;;;AAIA,SAAS,eAAe,MAAM;CAC7B,MAAM,CAAC,MAAM,GAAG,QAAQ,KAAK;CAC7B,MAAM,KAAK,IAAI,cAAc;EAC5B,QAAQ,KAAK;EACb;EACA,MAAM,KAAK,SAAS,IAAI,OAAO,KAAK;EACpC,SAAS,KAAK;EACd,UAAU,KAAK;CAChB,CAAC;CACD,OAAO;EACN,YAAY,KAAK;EACjB,gBAAgB;CACjB;AACD;AACA,SAAS,qBAAqB,SAAS,OAAO;CAC7C,IAAI,iBAAiB,KAAK,GAAG,OAAO,MAAM,SAAS;CACnD,IAAI,iBAAiB,UAAU,OAAO;CACtC,IAAI,OAAO,UAAU,YAAY,OAAO,UAAU,YAAY,OAAO,UAAU,YAAY,OAAO,UAAU,aAAa,iBAAiB,YAAY,OAAO,SAAS,GAAG,OAAO,EAAE,OAAO,EAAE,SAAS,QAAQ,WAAW,KAAK,EAAE,EAAE,CAAC;CACjO,MAAM,aAAa,6CAA6C,6GAA6G;AAC9K;;;;;;AAMA,SAAS,aAAa,SAAS;CAC9B,QAAQ,SAAS,GAAG,WAAW;EAC9B,MAAM,QAAQ,CAAC;EACf,MAAM,KAAK,QAAQ,MAAM,EAAE;EAC3B,OAAO,SAAS,OAAO,MAAM;GAC5B,MAAM,KAAK,qBAAqB,SAAS,KAAK,CAAC;GAC/C,MAAM,KAAK,QAAQ,IAAI,MAAM,EAAE;EAChC,CAAC;EACD,OAAO,IAAI,kBAAkB,KAAK;CACnC;AACD;AACA,IAAI,oBAAoB,MAAM;CAC7B;CACA,YAAY,OAAO;EAClB,KAAK,QAAQ;CACd;CACA,QAAQ,MAAM;EACb,MAAM,UAAU,OAAO,SAAS,WAAW,OAAO,KAAK;EACvD,MAAM,WAAW,OAAO,SAAS,WAAW,QAAQ,KAAK,YAAY;EACrE,MAAM,YAAY;GACjB;GACA;EACD;EACA,MAAM,OAAO,IAAI,QAAQ;GACxB,OAAO,KAAK;GACZ,SAAS;EACV,CAAC;EACD,OAAO;GACN,YAAY;IACX;IACA;GACD;GACA,gBAAgB;EACjB;CACD;AACD"}
1
+ {"version":3,"file":"expression-Da4F0ehj.mjs","names":[],"sources":["../../../../2-sql/4-lanes/relational-core/dist/exports/expression.mjs"],"sourcesContent":["import { E as OperationExpr, M as RawExpr, k as ParamRef } from \"../types-D-_2ZCos.mjs\";\nimport { runtimeError } from \"@internal/framework-components/runtime\";\n//#region src/expression.ts\n/**\n* Resolve a raw value or an Expression into an AST expression node.\n*\n* When `value` is an Expression (duck-typed by its `buildAst` method), the AST it wraps is returned. Otherwise the value is embedded as a ParamRef tagged with the caller-supplied {@link CodecRef} (when known). The runtime resolves the ref via `contractCodecs.forCodecRef(codec)`; content-keyed memoisation collapses repeated lookups for the same logical column onto one shared codec.\n*\n* Operation implementations that compare a column-bound expression to a user value derive the column's {@link CodecRef} from the column-bound side (via {@link codecOf}) and forward it here so encode-side dispatch resolves to the per-instance codec for parameterized codec ids (`vector(1024)` vs. `vector(1536)`).\n*/\nfunction toExpr(value, codec) {\n\tif (isExpressionLike(value)) return value.buildAst();\n\tif (codec === void 0) throw runtimeError(\"RUNTIME.PARAM_REF_CODEC_REQUIRED\", `Cannot construct a ParamRef for a ${value === null ? \"null\" : typeof value} value without an explicit codec. Provide a CodecRef at the call site or use a column-bound builder path.`);\n\treturn ParamRef.of(value, { codec });\n}\n/**\n* Construct a `ParamRef` for a value whose codec identity is known at call time. Use this when interpolating a value into a raw SQL expression and the codec cannot be inferred from context — e.g. `param(myDate, { codecId: 'pg/timestamptz@1' })`.\n*/\nfunction param(value, opts) {\n\treturn ParamRef.of(value, { codec: { codecId: opts.codecId } });\n}\n/**\n* Derive the {@link CodecRef} carried by an expression-like value.\n*\n* Resolution order:\n* 1. `wrapper.codec` — explicit column-bound {@link CodecRef} stamped at field-proxy time.\n* 2. `wrapper.returnType.codec` — scope-level codec when the scope was built from contract storage.\n* 3. `{ codecId: wrapper.returnType.codecId }` — minimal ref derived from the expression's declared codec id (covers synthetic expressions like `count()` whose returnType has a known codec id but no explicit column binding).\n*\n* Returns `undefined` for raw scalar values (non-expression-like).\n*/\nfunction codecOf(value) {\n\tif (!isExpressionLike(value)) return void 0;\n\tconst wrapper = value;\n\tif (wrapper.codec) return wrapper.codec;\n\tif (wrapper.returnType?.codec) return wrapper.returnType.codec;\n\tif (wrapper.returnType?.codecId) return { codecId: wrapper.returnType.codecId };\n}\nfunction isExpressionLike(value) {\n\treturn typeof value === \"object\" && value !== null && \"buildAst\" in value && typeof value.buildAst === \"function\";\n}\n/**\n* Construct an OperationExpr AST node and wrap it as a typed Expression. Operation implementations use this to turn their user-facing arguments into the AST node the compilation pipeline eventually lowers to SQL.\n*/\nfunction buildOperation(spec) {\n\tconst [self, ...rest] = spec.args;\n\tconst op = new OperationExpr({\n\t\tmethod: spec.method,\n\t\tself,\n\t\targs: rest.length > 0 ? rest : void 0,\n\t\treturns: spec.returns,\n\t\tlowering: spec.lowering\n\t});\n\treturn {\n\t\treturnType: spec.returns,\n\t\tbuildAst: () => op\n\t};\n}\nfunction resolveInterpolation(adapter, value) {\n\tif (isExpressionLike(value)) return value.buildAst();\n\tif (value instanceof ParamRef) return value;\n\tif (typeof value === \"number\" || typeof value === \"bigint\" || typeof value === \"string\" || typeof value === \"boolean\" || value instanceof Uint8Array) return ParamRef.of(value, { codec: { codecId: adapter.inferCodec(value) } });\n\tthrow runtimeError(\"RUNTIME.RAW_SQL_UNSUPPORTED_INTERPOLATION\", \"unsupported JS value type for raw-SQL interpolation: wrap this value in `param(...)` with an explicit codec\");\n}\n/**\n* Create a tagged-template builder for raw SQL expressions. The returned tag accepts SQL string fragments interleaved with typed {@link Expression}, {@link ParamRef}, or bare {@link RawSqlLiteral} interpolations. Call `.returns(spec)` on the result to obtain a typed {@link Expression} whose AST is a {@link RawExpr}.\n*\n* Bare {@link RawSqlLiteral} interpolations are wrapped as `ParamRef` nodes with the codec resolved via `adapter.inferCodec(value)`. Use {@link param} when the codec cannot be inferred from the value alone (e.g. `Date`).\n*/\nfunction createRawSql(adapter) {\n\treturn (strings, ...values) => {\n\t\tconst parts = [];\n\t\tparts.push(strings[0] ?? \"\");\n\t\tvalues.forEach((value, i) => {\n\t\t\tparts.push(resolveInterpolation(adapter, value));\n\t\t\tparts.push(strings[i + 1] ?? \"\");\n\t\t});\n\t\treturn new RawSqlBuilderImpl(parts);\n\t};\n}\nvar RawSqlBuilderImpl = class {\n\tparts;\n\tconstructor(parts) {\n\t\tthis.parts = parts;\n\t}\n\treturns(spec) {\n\t\tconst codecId = typeof spec === \"string\" ? spec : spec.codecId;\n\t\tconst nullable = typeof spec === \"string\" ? false : spec.nullable ?? false;\n\t\tconst paramSpec = {\n\t\t\tcodecId,\n\t\t\tnullable\n\t\t};\n\t\tconst node = new RawExpr({\n\t\t\tparts: this.parts,\n\t\t\treturns: paramSpec\n\t\t});\n\t\treturn {\n\t\t\treturnType: {\n\t\t\t\tcodecId,\n\t\t\t\tnullable\n\t\t\t},\n\t\t\tbuildAst: () => node\n\t\t};\n\t}\n};\n//#endregion\nexport { buildOperation, codecOf, createRawSql, param, toExpr };\n\n//# sourceMappingURL=expression.mjs.map"],"mappings":";;;;;;;;;;AAUA,SAAS,OAAO,OAAO,OAAO;CAC7B,IAAI,iBAAiB,KAAK,GAAG,OAAO,MAAM,SAAS;CACnD,IAAI,UAAU,KAAK,GAAG,MAAM,aAAa,oCAAoC,qCAAqC,UAAU,OAAO,SAAS,OAAO,MAAM,0GAA0G;CACnQ,OAAO,SAAS,GAAG,OAAO,EAAE,MAAM,CAAC;AACpC;;;;AAIA,SAAS,MAAM,OAAO,MAAM;CAC3B,OAAO,SAAS,GAAG,OAAO,EAAE,OAAO,EAAE,SAAS,KAAK,QAAQ,EAAE,CAAC;AAC/D;;;;;;;;;;;AAWA,SAAS,QAAQ,OAAO;CACvB,IAAI,CAAC,iBAAiB,KAAK,GAAG,OAAO,KAAK;CAC1C,MAAM,UAAU;CAChB,IAAI,QAAQ,OAAO,OAAO,QAAQ;CAClC,IAAI,QAAQ,YAAY,OAAO,OAAO,QAAQ,WAAW;CACzD,IAAI,QAAQ,YAAY,SAAS,OAAO,EAAE,SAAS,QAAQ,WAAW,QAAQ;AAC/E;AACA,SAAS,iBAAiB,OAAO;CAChC,OAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,cAAc,SAAS,OAAO,MAAM,aAAa;AACxG;;;;AAIA,SAAS,eAAe,MAAM;CAC7B,MAAM,CAAC,MAAM,GAAG,QAAQ,KAAK;CAC7B,MAAM,KAAK,IAAI,cAAc;EAC5B,QAAQ,KAAK;EACb;EACA,MAAM,KAAK,SAAS,IAAI,OAAO,KAAK;EACpC,SAAS,KAAK;EACd,UAAU,KAAK;CAChB,CAAC;CACD,OAAO;EACN,YAAY,KAAK;EACjB,gBAAgB;CACjB;AACD;AACA,SAAS,qBAAqB,SAAS,OAAO;CAC7C,IAAI,iBAAiB,KAAK,GAAG,OAAO,MAAM,SAAS;CACnD,IAAI,iBAAiB,UAAU,OAAO;CACtC,IAAI,OAAO,UAAU,YAAY,OAAO,UAAU,YAAY,OAAO,UAAU,YAAY,OAAO,UAAU,aAAa,iBAAiB,YAAY,OAAO,SAAS,GAAG,OAAO,EAAE,OAAO,EAAE,SAAS,QAAQ,WAAW,KAAK,EAAE,EAAE,CAAC;CACjO,MAAM,aAAa,6CAA6C,6GAA6G;AAC9K;;;;;;AAMA,SAAS,aAAa,SAAS;CAC9B,QAAQ,SAAS,GAAG,WAAW;EAC9B,MAAM,QAAQ,CAAC;EACf,MAAM,KAAK,QAAQ,MAAM,EAAE;EAC3B,OAAO,SAAS,OAAO,MAAM;GAC5B,MAAM,KAAK,qBAAqB,SAAS,KAAK,CAAC;GAC/C,MAAM,KAAK,QAAQ,IAAI,MAAM,EAAE;EAChC,CAAC;EACD,OAAO,IAAI,kBAAkB,KAAK;CACnC;AACD;AACA,IAAI,oBAAoB,MAAM;CAC7B;CACA,YAAY,OAAO;EAClB,KAAK,QAAQ;CACd;CACA,QAAQ,MAAM;EACb,MAAM,UAAU,OAAO,SAAS,WAAW,OAAO,KAAK;EACvD,MAAM,WAAW,OAAO,SAAS,WAAW,QAAQ,KAAK,YAAY;EACrE,MAAM,YAAY;GACjB;GACA;EACD;EACA,MAAM,OAAO,IAAI,QAAQ;GACxB,OAAO,KAAK;GACZ,SAAS;EACV,CAAC;EACD,OAAO;GACN,YAAY;IACX;IACA;GACD;GACA,gBAAgB;EACjB;CACD;AACD"}
@@ -1,6 +1,6 @@
1
1
  import { t as resolveStorageTable } from "./resolve-storage-table-DZsfnzeW.mjs";
2
2
  import { i as isUniqueConstraintViolation } from "./dist-x6jvtkKM.mjs";
3
- import { B as isWhereExpr, C as LiteralExpr, D as OrExpr, F as SubqueryExpr, I as TableSource, L as UpdateAst, O as OrderByItem, P as SelectAst, R as WindowFuncExpr, S as ListExpression, T as NullCheckExpr, _ as InsertAst, b as JsonArrayAggExpr, c as DeleteAst, f as EqColJoinOn, j as ProjectionItem, k as ParamRef, l as DerivedTableSource, n as AndExpr, o as ColumnRef, p as ExistsExpr, r as BinaryExpr, s as DefaultValueExpr, t as AggregateExpr, v as InsertOnConflict, w as NotExpr, x as JsonObjectExpr, y as JoinAst } from "./types-D43EhRac-DOJmnq_t.mjs";
3
+ import { B as isWhereExpr, C as LiteralExpr, D as OrExpr, F as SubqueryExpr, I as TableSource, L as UpdateAst, O as OrderByItem, P as SelectAst, R as WindowFuncExpr, S as ListExpression, T as NullCheckExpr, _ as InsertAst, b as JsonArrayAggExpr, c as DeleteAst, f as EqColJoinOn, j as ProjectionItem, k as ParamRef, l as DerivedTableSource, n as AndExpr, o as ColumnRef, p as ExistsExpr, r as BinaryExpr, s as DefaultValueExpr, t as AggregateExpr, v as InsertOnConflict, w as NotExpr, x as JsonObjectExpr, y as JoinAst } from "./types-D-_2ZCos-9q6j1gKx.mjs";
4
4
  import { t as collectOrderedParamRefs } from "./util-DQQgv2j1-D6INZaRG.mjs";
5
5
  import { n as JsonDocumentProjection, r as NativeJsonValueProjection, t as CodecJsonValueProjection } from "./ast-DDAyIKdt.mjs";
6
6
  import { n as codecRefForStorageColumn } from "./codec-descriptor-registry-BK_ZTP-3.mjs";
@@ -1,9 +1,9 @@
1
1
  import { t as frozenCodecRef } from "./codec-types-B_xmJL2m-CC_Q-_u9.mjs";
2
2
  import { a as ForeignKeyConstraint, c as PrimaryKeyConstraint, i as DdlNode, l as UniqueConstraint, n as DdlColumn, o as FunctionColumnDefault, r as DdlColumnDefault, s as LiteralColumnDefault, t as CheckExpressionConstraint, u as isDdlNode } from "./ddl-types-BMp2bWVS-D1waZJ4n.mjs";
3
- import { A as PreparedParamRef, B as isWhereExpr, C as LiteralExpr, D as OrExpr, E as OperationExpr, F as SubqueryExpr, H as whereExprKinds, I as TableSource, L as UpdateAst, M as RawExpr, N as RawSqlExpr, O as OrderByItem, P as SelectAst, R as WindowFuncExpr, S as ListExpression, T as NullCheckExpr, V as queryAstKinds, _ as InsertAst, a as CastExpr, b as JsonArrayAggExpr, c as DeleteAst, d as DoUpdateSetConflictAction, f as EqColJoinOn, g as IdentifierRef, h as FunctionSource, i as CaseExpr, j as ProjectionItem, k as ParamRef, l as DerivedTableSource, m as FunctionCallExpr, n as AndExpr, o as ColumnRef, p as ExistsExpr, r as BinaryExpr, s as DefaultValueExpr, t as AggregateExpr, u as DoNothingConflictAction, v as InsertOnConflict, w as NotExpr, x as JsonObjectExpr, y as JoinAst, z as isQueryAst } from "./types-D43EhRac-DOJmnq_t.mjs";
3
+ import { A as PreparedParamRef, B as isWhereExpr, C as LiteralExpr, D as OrExpr, E as OperationExpr, F as SubqueryExpr, H as whereExprKinds, I as TableSource, L as UpdateAst, M as RawExpr, N as RawSqlExpr, O as OrderByItem, P as SelectAst, R as WindowFuncExpr, S as ListExpression, T as NullCheckExpr, V as queryAstKinds, _ as InsertAst, a as CastExpr, b as JsonArrayAggExpr, c as DeleteAst, d as DoUpdateSetConflictAction, f as EqColJoinOn, g as IdentifierRef, h as FunctionSource, i as CaseExpr, j as ProjectionItem, k as ParamRef, l as DerivedTableSource, m as FunctionCallExpr, n as AndExpr, o as ColumnRef, p as ExistsExpr, r as BinaryExpr, s as DefaultValueExpr, t as AggregateExpr, u as DoNothingConflictAction, v as InsertOnConflict, w as NotExpr, x as JsonObjectExpr, y as JoinAst, z as isQueryAst } from "./types-D-_2ZCos-9q6j1gKx.mjs";
4
4
  import { n as compact, t as collectOrderedParamRefs } from "./util-DQQgv2j1-D6INZaRG.mjs";
5
5
  import { A as sqlFloatDescriptor, B as sqlTextEncode, C as sqlCharDecode, D as sqlFloatColumn, E as sqlCharRenderOutputType, F as sqlIntDescriptor, G as sqlTimestampEncode, H as sqlTimestampDecode, I as sqlIntEncode, J as sqlVarcharColumn, K as sqlTimestampEncodeJson, L as sqlTextColumn, M as sqlFloatEncodeJson, N as sqlIntColumn, O as sqlFloatDecode, P as sqlIntDecode, Q as sqlVarcharRenderOutputType, R as sqlTextDecode, S as sqlCharColumn, T as sqlCharEncode, U as sqlTimestampDecodeJson, V as sqlTimestampColumn, W as sqlTimestampDescriptor, X as sqlVarcharDescriptor, Y as sqlVarcharDecode, Z as sqlVarcharEncode, _ as SqlTextDescriptor, a as SQL_FLOAT_CODEC_ID, b as SqlVarcharCodec, c as SQL_TIMESTAMP_CODEC_ID, d as SqlCharDescriptor, f as SqlFloatCodec, g as SqlTextCodec, h as SqlIntDescriptor, i as SQL_CHAR_CODEC_ID, j as sqlFloatEncode, k as sqlFloatDecodeJson, l as SQL_VARCHAR_CODEC_ID, m as SqlIntCodec, n as JsonDocumentProjection, o as SQL_INT_CODEC_ID, p as SqlFloatDescriptor, q as sqlTimestampRenderOutputType, r as NativeJsonValueProjection, s as SQL_TEXT_CODEC_ID, t as CodecJsonValueProjection, u as SqlCharCodec, v as SqlTimestampCodec, w as sqlCharDescriptor, x as SqlVarcharDescriptor, y as SqlTimestampDescriptor, z as sqlTextDescriptor } from "./ast-DDAyIKdt.mjs";
6
- import { a as toExpr, i as param, n as codecOf, r as createRawSql, t as buildOperation } from "./expression-Dhu3dLiu.mjs";
6
+ import { a as toExpr, i as param, n as codecOf, r as createRawSql, t as buildOperation } from "./expression-Da4F0ehj.mjs";
7
7
  import { t as createSqlParamRefMutator } from "./middleware-CMr4CHNz-DHIUdxlm.mjs";
8
8
  import { t as planFromAst } from "./plan-CkpcgUaM.mjs";
9
9
  export { AggregateExpr, AndExpr, BinaryExpr, CaseExpr, CastExpr, CheckExpressionConstraint, CodecJsonValueProjection, ColumnRef, DdlColumn, DdlColumnDefault, DdlNode, DefaultValueExpr, DeleteAst, DerivedTableSource, DoNothingConflictAction, DoUpdateSetConflictAction, EqColJoinOn, ExistsExpr, ForeignKeyConstraint, FunctionCallExpr, FunctionColumnDefault, FunctionSource, IdentifierRef, InsertAst, InsertOnConflict, JoinAst, JsonArrayAggExpr, JsonDocumentProjection, JsonObjectExpr, ListExpression, LiteralColumnDefault, LiteralExpr, NativeJsonValueProjection, NotExpr, NullCheckExpr, OperationExpr, OrExpr, OrderByItem, ParamRef, PreparedParamRef, PrimaryKeyConstraint, ProjectionItem, RawExpr, RawSqlExpr, SQL_CHAR_CODEC_ID, SQL_FLOAT_CODEC_ID, SQL_INT_CODEC_ID, SQL_TEXT_CODEC_ID, SQL_TIMESTAMP_CODEC_ID, SQL_VARCHAR_CODEC_ID, SelectAst, SqlCharCodec, SqlCharDescriptor, SqlFloatCodec, SqlFloatDescriptor, SqlIntCodec, SqlIntDescriptor, SqlTextCodec, SqlTextDescriptor, SqlTimestampCodec, SqlTimestampDescriptor, SqlVarcharCodec, SqlVarcharDescriptor, SubqueryExpr, TableSource, UniqueConstraint, UpdateAst, WindowFuncExpr, buildOperation, codecOf, collectOrderedParamRefs, compact, createRawSql, createSqlParamRefMutator, frozenCodecRef, isDdlNode, isQueryAst, isWhereExpr, param, planFromAst, queryAstKinds, sqlCharColumn, sqlCharDecode, sqlCharDescriptor, sqlCharEncode, sqlCharRenderOutputType, sqlFloatColumn, sqlFloatDecode, sqlFloatDecodeJson, sqlFloatDescriptor, sqlFloatEncode, sqlFloatEncodeJson, sqlIntColumn, sqlIntDecode, sqlIntDescriptor, sqlIntEncode, sqlTextColumn, sqlTextDecode, sqlTextDescriptor, sqlTextEncode, sqlTimestampColumn, sqlTimestampDecode, sqlTimestampDecodeJson, sqlTimestampDescriptor, sqlTimestampEncode, sqlTimestampEncodeJson, sqlTimestampRenderOutputType, sqlVarcharColumn, sqlVarcharDecode, sqlVarcharDescriptor, sqlVarcharEncode, sqlVarcharRenderOutputType, toExpr, whereExprKinds };
@@ -1,6 +1,6 @@
1
1
  import { t as frozenCodecRef } from "./codec-types-B_xmJL2m-CC_Q-_u9.mjs";
2
2
  import { a as ForeignKeyConstraint, c as PrimaryKeyConstraint, i as DdlNode, l as UniqueConstraint, n as DdlColumn, o as FunctionColumnDefault, r as DdlColumnDefault, s as LiteralColumnDefault, t as CheckExpressionConstraint, u as isDdlNode } from "./ddl-types-BMp2bWVS-D1waZJ4n.mjs";
3
- import { A as PreparedParamRef, B as isWhereExpr, C as LiteralExpr, D as OrExpr, E as OperationExpr, F as SubqueryExpr, H as whereExprKinds, I as TableSource, L as UpdateAst, M as RawExpr, N as RawSqlExpr, O as OrderByItem, P as SelectAst, R as WindowFuncExpr, S as ListExpression, T as NullCheckExpr, V as queryAstKinds, _ as InsertAst, a as CastExpr, b as JsonArrayAggExpr, c as DeleteAst, d as DoUpdateSetConflictAction, f as EqColJoinOn, g as IdentifierRef, h as FunctionSource, i as CaseExpr, j as ProjectionItem, k as ParamRef, l as DerivedTableSource, m as FunctionCallExpr, n as AndExpr, o as ColumnRef, p as ExistsExpr, r as BinaryExpr, s as DefaultValueExpr, t as AggregateExpr, u as DoNothingConflictAction, v as InsertOnConflict, w as NotExpr, x as JsonObjectExpr, y as JoinAst, z as isQueryAst } from "./types-D43EhRac-DOJmnq_t.mjs";
3
+ import { A as PreparedParamRef, B as isWhereExpr, C as LiteralExpr, D as OrExpr, E as OperationExpr, F as SubqueryExpr, H as whereExprKinds, I as TableSource, L as UpdateAst, M as RawExpr, N as RawSqlExpr, O as OrderByItem, P as SelectAst, R as WindowFuncExpr, S as ListExpression, T as NullCheckExpr, V as queryAstKinds, _ as InsertAst, a as CastExpr, b as JsonArrayAggExpr, c as DeleteAst, d as DoUpdateSetConflictAction, f as EqColJoinOn, g as IdentifierRef, h as FunctionSource, i as CaseExpr, j as ProjectionItem, k as ParamRef, l as DerivedTableSource, m as FunctionCallExpr, n as AndExpr, o as ColumnRef, p as ExistsExpr, r as BinaryExpr, s as DefaultValueExpr, t as AggregateExpr, u as DoNothingConflictAction, v as InsertOnConflict, w as NotExpr, x as JsonObjectExpr, y as JoinAst, z as isQueryAst } from "./types-D-_2ZCos-9q6j1gKx.mjs";
4
4
  import { n as compact, t as collectOrderedParamRefs } from "./util-DQQgv2j1-D6INZaRG.mjs";
5
5
  import { A as sqlFloatDescriptor, B as sqlTextEncode, C as sqlCharDecode, D as sqlFloatColumn, E as sqlCharRenderOutputType, F as sqlIntDescriptor, G as sqlTimestampEncode, H as sqlTimestampDecode, I as sqlIntEncode, J as sqlVarcharColumn, K as sqlTimestampEncodeJson, L as sqlTextColumn, M as sqlFloatEncodeJson, N as sqlIntColumn, O as sqlFloatDecode, P as sqlIntDecode, Q as sqlVarcharRenderOutputType, R as sqlTextDecode, S as sqlCharColumn, T as sqlCharEncode, U as sqlTimestampDecodeJson, V as sqlTimestampColumn, W as sqlTimestampDescriptor, X as sqlVarcharDescriptor, Y as sqlVarcharDecode, Z as sqlVarcharEncode, _ as SqlTextDescriptor, a as SQL_FLOAT_CODEC_ID, b as SqlVarcharCodec, c as SQL_TIMESTAMP_CODEC_ID, d as SqlCharDescriptor, f as SqlFloatCodec, g as SqlTextCodec, h as SqlIntDescriptor, i as SQL_CHAR_CODEC_ID, j as sqlFloatEncode, k as sqlFloatDecodeJson, l as SQL_VARCHAR_CODEC_ID, m as SqlIntCodec, n as JsonDocumentProjection, o as SQL_INT_CODEC_ID, p as SqlFloatDescriptor, q as sqlTimestampRenderOutputType, r as NativeJsonValueProjection, s as SQL_TEXT_CODEC_ID, t as CodecJsonValueProjection, u as SqlCharCodec, v as SqlTimestampCodec, w as sqlCharDescriptor, x as SqlVarcharDescriptor, y as SqlTimestampDescriptor, z as sqlTextDescriptor } from "./ast-DDAyIKdt.mjs";
6
6
  export { AggregateExpr, AndExpr, BinaryExpr, CaseExpr, CastExpr, CheckExpressionConstraint, CodecJsonValueProjection, ColumnRef, DdlColumn, DdlColumnDefault, DdlNode, DefaultValueExpr, DeleteAst, DerivedTableSource, DoNothingConflictAction, DoUpdateSetConflictAction, EqColJoinOn, ExistsExpr, ForeignKeyConstraint, FunctionCallExpr, FunctionColumnDefault, FunctionSource, IdentifierRef, InsertAst, InsertOnConflict, JoinAst, JsonArrayAggExpr, JsonDocumentProjection, JsonObjectExpr, ListExpression, LiteralColumnDefault, LiteralExpr, NativeJsonValueProjection, NotExpr, NullCheckExpr, OperationExpr, OrExpr, OrderByItem, ParamRef, PreparedParamRef, PrimaryKeyConstraint, ProjectionItem, RawExpr, RawSqlExpr, SQL_CHAR_CODEC_ID, SQL_FLOAT_CODEC_ID, SQL_INT_CODEC_ID, SQL_TEXT_CODEC_ID, SQL_TIMESTAMP_CODEC_ID, SQL_VARCHAR_CODEC_ID, SelectAst, SqlCharCodec, SqlCharDescriptor, SqlFloatCodec, SqlFloatDescriptor, SqlIntCodec, SqlIntDescriptor, SqlTextCodec, SqlTextDescriptor, SqlTimestampCodec, SqlTimestampDescriptor, SqlVarcharCodec, SqlVarcharDescriptor, SubqueryExpr, TableSource, UniqueConstraint, UpdateAst, WindowFuncExpr, collectOrderedParamRefs, compact, frozenCodecRef, isDdlNode, isQueryAst, isWhereExpr, queryAstKinds, sqlCharColumn, sqlCharDecode, sqlCharDescriptor, sqlCharEncode, sqlCharRenderOutputType, sqlFloatColumn, sqlFloatDecode, sqlFloatDecodeJson, sqlFloatDescriptor, sqlFloatEncode, sqlFloatEncodeJson, sqlIntColumn, sqlIntDecode, sqlIntDescriptor, sqlIntEncode, sqlTextColumn, sqlTextDecode, sqlTextDescriptor, sqlTextEncode, sqlTimestampColumn, sqlTimestampDecode, sqlTimestampDecodeJson, sqlTimestampDescriptor, sqlTimestampEncode, sqlTimestampEncodeJson, sqlTimestampRenderOutputType, sqlVarcharColumn, sqlVarcharDecode, sqlVarcharDescriptor, sqlVarcharEncode, sqlVarcharRenderOutputType, whereExprKinds };
@@ -1,5 +1,5 @@
1
1
  import { a as ForeignKeyConstraint, c as PrimaryKeyConstraint, l as UniqueConstraint, n as DdlColumn, o as FunctionColumnDefault, s as LiteralColumnDefault, t as CheckExpressionConstraint } from "./ddl-types-BMp2bWVS-D1waZJ4n.mjs";
2
- import { C as LiteralExpr, D as OrExpr, E as OperationExpr, I as TableSource, L as UpdateAst, M as RawExpr, O as OrderByItem, P as SelectAst, T as NullCheckExpr, _ as InsertAst, g as IdentifierRef, j as ProjectionItem, k as ParamRef, n as AndExpr, o as ColumnRef, p as ExistsExpr, r as BinaryExpr, t as AggregateExpr, v as InsertOnConflict, y as JoinAst } from "./types-D43EhRac-DOJmnq_t.mjs";
2
+ import { C as LiteralExpr, D as OrExpr, E as OperationExpr, I as TableSource, L as UpdateAst, M as RawExpr, O as OrderByItem, P as SelectAst, T as NullCheckExpr, _ as InsertAst, g as IdentifierRef, j as ProjectionItem, k as ParamRef, n as AndExpr, o as ColumnRef, p as ExistsExpr, r as BinaryExpr, t as AggregateExpr, v as InsertOnConflict, y as JoinAst } from "./types-D-_2ZCos-9q6j1gKx.mjs";
3
3
  import { structuredError } from "@prisma/orm-framework/utils/structured-error";
4
4
  import { blindCast } from "@prisma/orm-framework/utils/casts";
5
5
  //#region ../../../2-sql/4-lanes/relational-core/dist/exports/contract-free.mjs
@@ -1 +1 @@
1
- {"version":3,"file":"relational-core__contract-free.mjs","names":[],"sources":["../../../../2-sql/4-lanes/relational-core/dist/exports/contract-free.mjs"],"sourcesContent":["import { a as ForeignKeyConstraint, c as PrimaryKeyConstraint, l as UniqueConstraint, n as DdlColumn, o as FunctionColumnDefault, s as LiteralColumnDefault, t as CheckExpressionConstraint } from \"../ddl-types-BMp2bWVS.mjs\";\nimport { C as LiteralExpr, D as OrExpr, E as OperationExpr, I as TableSource, L as UpdateAst, M as RawExpr, O as OrderByItem, P as SelectAst, T as NullCheckExpr, _ as InsertAst, g as IdentifierRef, j as ProjectionItem, k as ParamRef, n as AndExpr, o as ColumnRef, p as ExistsExpr, r as BinaryExpr, t as AggregateExpr, v as InsertOnConflict, y as JoinAst } from \"../types-D43EhRac.mjs\";\nimport { structuredError } from \"@internal/utils/structured-error\";\nimport { blindCast } from \"@internal/utils/casts\";\n//#region src/contract-free/column.ts\nfunction lit(value) {\n\treturn new LiteralColumnDefault(value);\n}\nfunction fn(expression) {\n\treturn new FunctionColumnDefault(expression);\n}\nfunction col(name, type, options) {\n\treturn new DdlColumn({\n\t\tname,\n\t\ttype,\n\t\t...options\n\t});\n}\nfunction primaryKey(columns, options) {\n\treturn new PrimaryKeyConstraint({\n\t\tcolumns,\n\t\t...options\n\t});\n}\nfunction foreignKey(columns, refTable, refColumns, options) {\n\treturn new ForeignKeyConstraint({\n\t\tcolumns,\n\t\trefTable,\n\t\trefColumns,\n\t\t...options\n\t});\n}\nfunction unique(columns, options) {\n\treturn new UniqueConstraint({\n\t\tcolumns,\n\t\t...options\n\t});\n}\nfunction checkExpression(name, expression) {\n\treturn new CheckExpressionConstraint({\n\t\tname,\n\t\texpression\n\t});\n}\n//#endregion\n//#region src/contract-free/table.ts\n/**\n* A composable WHERE / ON expression. Wraps an `AnyExpression` and exposes\n* fluent boolean combinators, mirroring the spirit of `sql-builder`'s\n* `Expression` interface without the contract-bound type machinery.\n*/\nvar CfExpr = class CfExpr {\n\tast;\n\tconstructor(ast) {\n\t\tthis.ast = ast;\n\t}\n\tand(other) {\n\t\treturn new CfExpr(AndExpr.of([this.ast, other.ast]));\n\t}\n\tor(other) {\n\t\treturn new CfExpr(OrExpr.of([this.ast, other.ast]));\n\t}\n\tnot() {\n\t\treturn new CfExpr(this.ast.not());\n\t}\n\tisNull() {\n\t\treturn new CfExpr(NullCheckExpr.isNull(this.ast));\n\t}\n\tisNotNull() {\n\t\treturn new CfExpr(NullCheckExpr.isNotNull(this.ast));\n\t}\n\teqLit(value) {\n\t\treturn new CfExpr(BinaryExpr.eq(this.ast, LiteralExpr.of(value)));\n\t}\n\tgtLit(value) {\n\t\treturn new CfExpr(BinaryExpr.gt(this.ast, LiteralExpr.of(value)));\n\t}\n\teqParam(value, codecId) {\n\t\treturn new CfExpr(BinaryExpr.eq(this.ast, ParamRef.of(value, { codec: { codecId } })));\n\t}\n\teqExpr(other) {\n\t\treturn new CfExpr(BinaryExpr.eq(this.ast, other.ast));\n\t}\n};\nconst cfExpr = {\n\tcountStar() {\n\t\treturn new CfExpr(AggregateExpr.count());\n\t},\n\tlit(value) {\n\t\treturn new CfExpr(LiteralExpr.of(value));\n\t},\n\tidentifierRef(name) {\n\t\treturn new CfExpr(IdentifierRef.of(name));\n\t},\n\tparam(value, codecId) {\n\t\treturn new CfExpr(ParamRef.of(value, { codec: { codecId } }));\n\t},\n\t/**\n\t* Catalog function call lowered via a `'function'`-strategy template\n\t* (e.g. `to_regclass({{self}})`). Owns the `OperationExpr` assembly so\n\t* target packages only supply vocabulary: template, codec'd operands,\n\t* and return spec.\n\t*/\n\tfn(options) {\n\t\treturn new CfExpr(new OperationExpr({\n\t\t\tmethod: options.method,\n\t\t\tself: options.self.ast,\n\t\t\targs: options.args?.map((arg) => arg.ast),\n\t\t\treturns: options.returns,\n\t\t\tlowering: {\n\t\t\t\ttargetFamily: \"sql\",\n\t\t\t\tstrategy: \"function\",\n\t\t\t\ttemplate: options.template\n\t\t\t}\n\t\t}));\n\t},\n\tcolumnRef(qualifier, name) {\n\t\treturn new CfExpr(ColumnRef.of(qualifier, name));\n\t},\n\tallOf(exprs) {\n\t\treturn new CfExpr(AndExpr.of(exprs.map((expr) => expr.ast)));\n\t},\n\t/**\n\t* Opaque DB-side SQL expression (e.g. `current_schema()`) carried as a\n\t* `RawExpr`. For zero-operand catalog functions where a `'function'`\n\t* lowering template has nothing to substitute.\n\t*/\n\traw(sql, returns) {\n\t\treturn new CfExpr(new RawExpr({\n\t\t\tparts: [sql],\n\t\t\treturns\n\t\t}));\n\t},\n\texists(query) {\n\t\treturn new CfExpr(ExistsExpr.exists(query.build()));\n\t},\n\tnotExists(query) {\n\t\treturn new CfExpr(ExistsExpr.notExists(query.build()));\n\t}\n};\n/** Aliased table source for catalog queries (no namespace coordinate). */\nfunction cfTable(name, alias) {\n\treturn TableSource.named(name, alias);\n}\nvar CfExprSelectQuery = class CfExprSelectQuery {\n\tsrc;\n\tprojectionItems;\n\twhereExpr;\n\tjoinItems;\n\tlimitValue;\n\tconstructor(src, projectionItems, whereExpr, joinItems = [], limitValue = void 0) {\n\t\tthis.src = src;\n\t\tthis.projectionItems = projectionItems;\n\t\tthis.whereExpr = whereExpr;\n\t\tthis.joinItems = joinItems;\n\t\tthis.limitValue = limitValue;\n\t}\n\tfrom(source) {\n\t\treturn new CfExprSelectQuery(source, this.projectionItems, this.whereExpr, this.joinItems, this.limitValue);\n\t}\n\tjoin(source, on) {\n\t\treturn new CfExprSelectQuery(this.src, this.projectionItems, this.whereExpr, [...this.joinItems, JoinAst.inner(source, on.ast)], this.limitValue);\n\t}\n\tleftJoin(source, on) {\n\t\treturn new CfExprSelectQuery(this.src, this.projectionItems, this.whereExpr, [...this.joinItems, JoinAst.left(source, on.ast)], this.limitValue);\n\t}\n\tproject(alias, expr) {\n\t\treturn new CfExprSelectQuery(this.src, [...this.projectionItems, ProjectionItem.of(alias, expr.ast)], this.whereExpr, this.joinItems, this.limitValue);\n\t}\n\twhere(expr) {\n\t\treturn new CfExprSelectQuery(this.src, this.projectionItems, expr, this.joinItems, this.limitValue);\n\t}\n\tlimit(value) {\n\t\treturn new CfExprSelectQuery(this.src, this.projectionItems, this.whereExpr, this.joinItems, value);\n\t}\n\tbuild() {\n\t\tif (this.joinItems.length > 0 && this.src === void 0) throw structuredError(\"ORM.ARGUMENT_INVALID\", \"CfExprSelectQuery: cannot add a JOIN without a FROM clause\");\n\t\tconst base = this.src !== void 0 ? SelectAst.from(this.src).withProjection(this.projectionItems) : SelectAst.noFrom().withProjection(this.projectionItems);\n\t\tconst withJoins = this.joinItems.length > 0 ? base.withJoins(this.joinItems) : base;\n\t\tconst withWhere = this.whereExpr !== void 0 ? withJoins.withWhere(this.whereExpr.ast) : withJoins;\n\t\treturn this.limitValue !== void 0 ? withWhere.withLimit(this.limitValue) : withWhere;\n\t}\n};\nfunction exprSelect() {\n\treturn new CfExprSelectQuery(void 0, [], void 0);\n}\nvar CfInsertQuery = class CfInsertQuery {\n\tsrc;\n\tschema;\n\trowValues;\n\treturningItems;\n\tconstructor(src, schema, rowValues, returningItems = void 0) {\n\t\tthis.src = src;\n\t\tthis.schema = schema;\n\t\tthis.rowValues = rowValues;\n\t\tthis.returningItems = returningItems;\n\t}\n\treturning(...columns) {\n\t\treturn new CfInsertQuery(this.src, this.schema, this.rowValues, columns.map((col) => col.toProjectionItem()));\n\t}\n\tbuild() {\n\t\tconst row = buildInsertRow(this.schema, this.rowValues);\n\t\tconst ast = InsertAst.into(this.src).withRows([row]);\n\t\treturn this.returningItems ? ast.withReturning(this.returningItems) : ast;\n\t}\n};\nvar CfUpsertBuilder = class {\n\tsrc;\n\tschema;\n\trowValues;\n\tconstructor(src, schema, rowValues) {\n\t\tthis.src = src;\n\t\tthis.schema = schema;\n\t\tthis.rowValues = rowValues;\n\t}\n\tonConflict(...columns) {\n\t\treturn new CfConflictClause(this.src, this.schema, this.rowValues, [...columns]);\n\t}\n};\nvar CfConflictClause = class {\n\tsrc;\n\tschema;\n\trowValues;\n\tconflictCols;\n\tconstructor(src, schema, rowValues, conflictCols) {\n\t\tthis.src = src;\n\t\tthis.schema = schema;\n\t\tthis.rowValues = rowValues;\n\t\tthis.conflictCols = conflictCols;\n\t}\n\tdoUpdate(setOrCallback) {\n\t\tconst set = typeof setOrCallback === \"function\" ? setOrCallback(buildExcludedProxy(this.schema)) : setOrCallback;\n\t\treturn new CfUpsertQuery(this.src, this.schema, this.rowValues, this.conflictCols, set);\n\t}\n\tdoNothing() {\n\t\treturn new CfUpsertQuery(this.src, this.schema, this.rowValues, this.conflictCols, void 0);\n\t}\n};\nvar CfUpsertQuery = class {\n\tsrc;\n\tschema;\n\trowValues;\n\tconflictCols;\n\tupdateSet;\n\tconstructor(src, schema, rowValues, conflictCols, updateSet) {\n\t\tthis.src = src;\n\t\tthis.schema = schema;\n\t\tthis.rowValues = rowValues;\n\t\tthis.conflictCols = conflictCols;\n\t\tthis.updateSet = updateSet;\n\t}\n\tbuild() {\n\t\tconst row = buildInsertRow(this.schema, this.rowValues);\n\t\tconst conflictRefs = this.conflictCols.map((col) => col.toRef());\n\t\tconst onConflict = this.updateSet === void 0 ? InsertOnConflict.on(conflictRefs).doNothing() : InsertOnConflict.on(conflictRefs).doUpdateSet(buildSetMap(this.schema, this.updateSet));\n\t\treturn InsertAst.into(this.src).withRows([row]).withOnConflict(onConflict);\n\t}\n};\nvar CfUpdateQuery = class CfUpdateQuery {\n\tsrc;\n\tschema;\n\tsetValues;\n\twhereExpr;\n\treturningItems;\n\tconstructor(src, schema, setValues = void 0, whereExpr = void 0, returningItems = void 0) {\n\t\tthis.src = src;\n\t\tthis.schema = schema;\n\t\tthis.setValues = setValues;\n\t\tthis.whereExpr = whereExpr;\n\t\tthis.returningItems = returningItems;\n\t}\n\tset(values) {\n\t\treturn new CfUpdateQuery(this.src, this.schema, values, this.whereExpr, this.returningItems);\n\t}\n\twhere(expr) {\n\t\treturn new CfUpdateQuery(this.src, this.schema, this.setValues, expr, this.returningItems);\n\t}\n\treturning(...columns) {\n\t\treturn new CfUpdateQuery(this.src, this.schema, this.setValues, this.whereExpr, columns.map((col) => col.toProjectionItem()));\n\t}\n\tbuild() {\n\t\tconst set = buildSetMap(this.schema, this.setValues);\n\t\tconst base = UpdateAst.table(this.src).withSet(set);\n\t\tconst withWhere = this.whereExpr ? base.withWhere(this.whereExpr.ast) : base;\n\t\treturn this.returningItems ? withWhere.withReturning(this.returningItems) : withWhere;\n\t}\n};\nvar CfSelectQuery = class CfSelectQuery {\n\tsrc;\n\tprojectionItems;\n\twhereExpr;\n\torderByItems;\n\tconstructor(src, projectionItems, whereExpr = void 0, orderByItems = []) {\n\t\tthis.src = src;\n\t\tthis.projectionItems = projectionItems;\n\t\tthis.whereExpr = whereExpr;\n\t\tthis.orderByItems = orderByItems;\n\t}\n\twhere(expr) {\n\t\treturn new CfSelectQuery(this.src, this.projectionItems, expr, this.orderByItems);\n\t}\n\torderBy(column, dir = \"asc\") {\n\t\tconst item = dir === \"asc\" ? OrderByItem.asc(column.toRef()) : OrderByItem.desc(column.toRef());\n\t\treturn new CfSelectQuery(this.src, this.projectionItems, this.whereExpr, [...this.orderByItems, item]);\n\t}\n\tbuild() {\n\t\tconst base = SelectAst.from(this.src).withProjection(this.projectionItems);\n\t\tconst withWhere = this.whereExpr ? base.withWhere(this.whereExpr.ast) : base;\n\t\treturn this.orderByItems.length > 0 ? withWhere.withOrderBy(this.orderByItems) : withWhere;\n\t}\n};\n/**\n* Declare a control-plane table once, binding column codecs at declaration time.\n* Returns a `TableHandle` whose column properties compose expressions directly\n* without per-call-site codec or column-name threading.\n*\n* ```ts\n* const marker = pgTable({ name: 'marker', schema: 'prisma_contract' }, {\n* space: text(),\n* core_hash: text(),\n* updated_at: timestamptz(),\n* });\n*\n* const query = marker.update()\n* .set({ core_hash: newHash, updated_at: NOW })\n* .where(marker.space.eq(space).and(marker.core_hash.eq(expectedFrom)))\n* .returning(marker.space)\n* .build();\n* ```\n*/\nfunction table(source, schema) {\n\tconst proxies = {};\n\tfor (const [col, desc] of Object.entries(schema)) proxies[col] = makeColumnProxy(source.alias ?? source.name, col, desc);\n\treturn blindCast({\n\t\t...proxies,\n\t\tsource,\n\t\tinsert: (row) => new CfInsertQuery(source, schema, row),\n\t\tupsert: (row) => new CfUpsertBuilder(source, schema, row),\n\t\tupdate: () => new CfUpdateQuery(source, schema),\n\t\tselect: (...cols) => new CfSelectQuery(source, cols.map((col) => col.toProjectionItem()))\n\t});\n}\nfunction makeColumnProxy(tableName, columnName, desc) {\n\tconst ref = ColumnRef.of(tableName, columnName);\n\treturn {\n\t\tcodecId: desc.codecId,\n\t\tnullable: desc.nullable,\n\t\tcolumnName,\n\t\ttableName,\n\t\teq: (value) => value === null ? new CfExpr(NullCheckExpr.isNull(ref)) : new CfExpr(BinaryExpr.eq(ref, toSetExpression(value, desc))),\n\t\tneq: (value) => value === null ? new CfExpr(NullCheckExpr.isNotNull(ref)) : new CfExpr(BinaryExpr.neq(ref, toSetExpression(value, desc))),\n\t\tisNull: () => new CfExpr(NullCheckExpr.isNull(ref)),\n\t\tisNotNull: () => new CfExpr(NullCheckExpr.isNotNull(ref)),\n\t\ttoRef: () => ref,\n\t\ttoProjectionItem: (alias = columnName) => ProjectionItem.of(alias, ref, { codecId: desc.codecId })\n\t};\n}\nfunction buildExcludedProxy(schema) {\n\treturn blindCast(Object.fromEntries(Object.keys(schema).map((col) => [col, ColumnRef.of(\"excluded\", col)])));\n}\nfunction isExpressionSource(value) {\n\treturn typeof value === \"object\" && value !== null && \"toExpr\" in value && typeof value.toExpr === \"function\";\n}\nfunction toInsertValue(value, desc) {\n\tif (isExpressionSource(value)) {\n\t\tconst expr = value.toExpr();\n\t\tif (expr.kind === \"column-ref\" || expr.kind === \"param-ref\" || expr.kind === \"prepared-param-ref\" || expr.kind === \"raw-expr\") return expr;\n\t}\n\treturn ParamRef.of(value, { codec: { codecId: desc.codecId } });\n}\nfunction toSetExpression(value, desc) {\n\tif (isExpressionSource(value)) return value.toExpr();\n\treturn ParamRef.of(value, { codec: { codecId: desc.codecId } });\n}\nfunction buildInsertRow(schema, values) {\n\tconst row = {};\n\tconst rawValues = blindCast(values);\n\tfor (const [col, desc] of Object.entries(schema)) row[col] = toInsertValue(rawValues[col], desc);\n\treturn row;\n}\nfunction buildSetMap(schema, values) {\n\tif (values === void 0) return {};\n\tconst set = {};\n\tconst rawSchema = blindCast(schema);\n\tconst rawValues = blindCast(values);\n\tfor (const [col, value] of Object.entries(rawValues)) {\n\t\tconst desc = rawSchema[col];\n\t\tif (desc !== void 0) set[col] = toSetExpression(value, desc);\n\t}\n\treturn set;\n}\n//#endregion\nexport { CfConflictClause, CfExpr, CfExprSelectQuery, CfInsertQuery, CfSelectQuery, CfUpdateQuery, CfUpsertBuilder, CfUpsertQuery, cfExpr, cfTable, checkExpression, col, exprSelect, fn, foreignKey, lit, primaryKey, table, unique };\n\n//# sourceMappingURL=contract-free.mjs.map"],"mappings":"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"}
1
+ {"version":3,"file":"relational-core__contract-free.mjs","names":[],"sources":["../../../../2-sql/4-lanes/relational-core/dist/exports/contract-free.mjs"],"sourcesContent":["import { a as ForeignKeyConstraint, c as PrimaryKeyConstraint, l as UniqueConstraint, n as DdlColumn, o as FunctionColumnDefault, s as LiteralColumnDefault, t as CheckExpressionConstraint } from \"../ddl-types-BMp2bWVS.mjs\";\nimport { C as LiteralExpr, D as OrExpr, E as OperationExpr, I as TableSource, L as UpdateAst, M as RawExpr, O as OrderByItem, P as SelectAst, T as NullCheckExpr, _ as InsertAst, g as IdentifierRef, j as ProjectionItem, k as ParamRef, n as AndExpr, o as ColumnRef, p as ExistsExpr, r as BinaryExpr, t as AggregateExpr, v as InsertOnConflict, y as JoinAst } from \"../types-D-_2ZCos.mjs\";\nimport { structuredError } from \"@internal/utils/structured-error\";\nimport { blindCast } from \"@internal/utils/casts\";\n//#region src/contract-free/column.ts\nfunction lit(value) {\n\treturn new LiteralColumnDefault(value);\n}\nfunction fn(expression) {\n\treturn new FunctionColumnDefault(expression);\n}\nfunction col(name, type, options) {\n\treturn new DdlColumn({\n\t\tname,\n\t\ttype,\n\t\t...options\n\t});\n}\nfunction primaryKey(columns, options) {\n\treturn new PrimaryKeyConstraint({\n\t\tcolumns,\n\t\t...options\n\t});\n}\nfunction foreignKey(columns, refTable, refColumns, options) {\n\treturn new ForeignKeyConstraint({\n\t\tcolumns,\n\t\trefTable,\n\t\trefColumns,\n\t\t...options\n\t});\n}\nfunction unique(columns, options) {\n\treturn new UniqueConstraint({\n\t\tcolumns,\n\t\t...options\n\t});\n}\nfunction checkExpression(name, expression) {\n\treturn new CheckExpressionConstraint({\n\t\tname,\n\t\texpression\n\t});\n}\n//#endregion\n//#region src/contract-free/table.ts\n/**\n* A composable WHERE / ON expression. Wraps an `AnyExpression` and exposes\n* fluent boolean combinators, mirroring the spirit of `sql-builder`'s\n* `Expression` interface without the contract-bound type machinery.\n*/\nvar CfExpr = class CfExpr {\n\tast;\n\tconstructor(ast) {\n\t\tthis.ast = ast;\n\t}\n\tand(other) {\n\t\treturn new CfExpr(AndExpr.of([this.ast, other.ast]));\n\t}\n\tor(other) {\n\t\treturn new CfExpr(OrExpr.of([this.ast, other.ast]));\n\t}\n\tnot() {\n\t\treturn new CfExpr(this.ast.not());\n\t}\n\tisNull() {\n\t\treturn new CfExpr(NullCheckExpr.isNull(this.ast));\n\t}\n\tisNotNull() {\n\t\treturn new CfExpr(NullCheckExpr.isNotNull(this.ast));\n\t}\n\teqLit(value) {\n\t\treturn new CfExpr(BinaryExpr.eq(this.ast, LiteralExpr.of(value)));\n\t}\n\tgtLit(value) {\n\t\treturn new CfExpr(BinaryExpr.gt(this.ast, LiteralExpr.of(value)));\n\t}\n\teqParam(value, codecId) {\n\t\treturn new CfExpr(BinaryExpr.eq(this.ast, ParamRef.of(value, { codec: { codecId } })));\n\t}\n\teqExpr(other) {\n\t\treturn new CfExpr(BinaryExpr.eq(this.ast, other.ast));\n\t}\n};\nconst cfExpr = {\n\tcountStar() {\n\t\treturn new CfExpr(AggregateExpr.count());\n\t},\n\tlit(value) {\n\t\treturn new CfExpr(LiteralExpr.of(value));\n\t},\n\tidentifierRef(name) {\n\t\treturn new CfExpr(IdentifierRef.of(name));\n\t},\n\tparam(value, codecId) {\n\t\treturn new CfExpr(ParamRef.of(value, { codec: { codecId } }));\n\t},\n\t/**\n\t* Catalog function call lowered via a `'function'`-strategy template\n\t* (e.g. `to_regclass({{self}})`). Owns the `OperationExpr` assembly so\n\t* target packages only supply vocabulary: template, codec'd operands,\n\t* and return spec.\n\t*/\n\tfn(options) {\n\t\treturn new CfExpr(new OperationExpr({\n\t\t\tmethod: options.method,\n\t\t\tself: options.self.ast,\n\t\t\targs: options.args?.map((arg) => arg.ast),\n\t\t\treturns: options.returns,\n\t\t\tlowering: {\n\t\t\t\ttargetFamily: \"sql\",\n\t\t\t\tstrategy: \"function\",\n\t\t\t\ttemplate: options.template\n\t\t\t}\n\t\t}));\n\t},\n\tcolumnRef(qualifier, name) {\n\t\treturn new CfExpr(ColumnRef.of(qualifier, name));\n\t},\n\tallOf(exprs) {\n\t\treturn new CfExpr(AndExpr.of(exprs.map((expr) => expr.ast)));\n\t},\n\t/**\n\t* Opaque DB-side SQL expression (e.g. `current_schema()`) carried as a\n\t* `RawExpr`. For zero-operand catalog functions where a `'function'`\n\t* lowering template has nothing to substitute.\n\t*/\n\traw(sql, returns) {\n\t\treturn new CfExpr(new RawExpr({\n\t\t\tparts: [sql],\n\t\t\treturns\n\t\t}));\n\t},\n\texists(query) {\n\t\treturn new CfExpr(ExistsExpr.exists(query.build()));\n\t},\n\tnotExists(query) {\n\t\treturn new CfExpr(ExistsExpr.notExists(query.build()));\n\t}\n};\n/** Aliased table source for catalog queries (no namespace coordinate). */\nfunction cfTable(name, alias) {\n\treturn TableSource.named(name, alias);\n}\nvar CfExprSelectQuery = class CfExprSelectQuery {\n\tsrc;\n\tprojectionItems;\n\twhereExpr;\n\tjoinItems;\n\tlimitValue;\n\tconstructor(src, projectionItems, whereExpr, joinItems = [], limitValue = void 0) {\n\t\tthis.src = src;\n\t\tthis.projectionItems = projectionItems;\n\t\tthis.whereExpr = whereExpr;\n\t\tthis.joinItems = joinItems;\n\t\tthis.limitValue = limitValue;\n\t}\n\tfrom(source) {\n\t\treturn new CfExprSelectQuery(source, this.projectionItems, this.whereExpr, this.joinItems, this.limitValue);\n\t}\n\tjoin(source, on) {\n\t\treturn new CfExprSelectQuery(this.src, this.projectionItems, this.whereExpr, [...this.joinItems, JoinAst.inner(source, on.ast)], this.limitValue);\n\t}\n\tleftJoin(source, on) {\n\t\treturn new CfExprSelectQuery(this.src, this.projectionItems, this.whereExpr, [...this.joinItems, JoinAst.left(source, on.ast)], this.limitValue);\n\t}\n\tproject(alias, expr) {\n\t\treturn new CfExprSelectQuery(this.src, [...this.projectionItems, ProjectionItem.of(alias, expr.ast)], this.whereExpr, this.joinItems, this.limitValue);\n\t}\n\twhere(expr) {\n\t\treturn new CfExprSelectQuery(this.src, this.projectionItems, expr, this.joinItems, this.limitValue);\n\t}\n\tlimit(value) {\n\t\treturn new CfExprSelectQuery(this.src, this.projectionItems, this.whereExpr, this.joinItems, value);\n\t}\n\tbuild() {\n\t\tif (this.joinItems.length > 0 && this.src === void 0) throw structuredError(\"ORM.ARGUMENT_INVALID\", \"CfExprSelectQuery: cannot add a JOIN without a FROM clause\");\n\t\tconst base = this.src !== void 0 ? SelectAst.from(this.src).withProjection(this.projectionItems) : SelectAst.noFrom().withProjection(this.projectionItems);\n\t\tconst withJoins = this.joinItems.length > 0 ? base.withJoins(this.joinItems) : base;\n\t\tconst withWhere = this.whereExpr !== void 0 ? withJoins.withWhere(this.whereExpr.ast) : withJoins;\n\t\treturn this.limitValue !== void 0 ? withWhere.withLimit(this.limitValue) : withWhere;\n\t}\n};\nfunction exprSelect() {\n\treturn new CfExprSelectQuery(void 0, [], void 0);\n}\nvar CfInsertQuery = class CfInsertQuery {\n\tsrc;\n\tschema;\n\trowValues;\n\treturningItems;\n\tconstructor(src, schema, rowValues, returningItems = void 0) {\n\t\tthis.src = src;\n\t\tthis.schema = schema;\n\t\tthis.rowValues = rowValues;\n\t\tthis.returningItems = returningItems;\n\t}\n\treturning(...columns) {\n\t\treturn new CfInsertQuery(this.src, this.schema, this.rowValues, columns.map((col) => col.toProjectionItem()));\n\t}\n\tbuild() {\n\t\tconst row = buildInsertRow(this.schema, this.rowValues);\n\t\tconst ast = InsertAst.into(this.src).withRows([row]);\n\t\treturn this.returningItems ? ast.withReturning(this.returningItems) : ast;\n\t}\n};\nvar CfUpsertBuilder = class {\n\tsrc;\n\tschema;\n\trowValues;\n\tconstructor(src, schema, rowValues) {\n\t\tthis.src = src;\n\t\tthis.schema = schema;\n\t\tthis.rowValues = rowValues;\n\t}\n\tonConflict(...columns) {\n\t\treturn new CfConflictClause(this.src, this.schema, this.rowValues, [...columns]);\n\t}\n};\nvar CfConflictClause = class {\n\tsrc;\n\tschema;\n\trowValues;\n\tconflictCols;\n\tconstructor(src, schema, rowValues, conflictCols) {\n\t\tthis.src = src;\n\t\tthis.schema = schema;\n\t\tthis.rowValues = rowValues;\n\t\tthis.conflictCols = conflictCols;\n\t}\n\tdoUpdate(setOrCallback) {\n\t\tconst set = typeof setOrCallback === \"function\" ? setOrCallback(buildExcludedProxy(this.schema)) : setOrCallback;\n\t\treturn new CfUpsertQuery(this.src, this.schema, this.rowValues, this.conflictCols, set);\n\t}\n\tdoNothing() {\n\t\treturn new CfUpsertQuery(this.src, this.schema, this.rowValues, this.conflictCols, void 0);\n\t}\n};\nvar CfUpsertQuery = class {\n\tsrc;\n\tschema;\n\trowValues;\n\tconflictCols;\n\tupdateSet;\n\tconstructor(src, schema, rowValues, conflictCols, updateSet) {\n\t\tthis.src = src;\n\t\tthis.schema = schema;\n\t\tthis.rowValues = rowValues;\n\t\tthis.conflictCols = conflictCols;\n\t\tthis.updateSet = updateSet;\n\t}\n\tbuild() {\n\t\tconst row = buildInsertRow(this.schema, this.rowValues);\n\t\tconst conflictRefs = this.conflictCols.map((col) => col.toRef());\n\t\tconst onConflict = this.updateSet === void 0 ? InsertOnConflict.on(conflictRefs).doNothing() : InsertOnConflict.on(conflictRefs).doUpdateSet(buildSetMap(this.schema, this.updateSet));\n\t\treturn InsertAst.into(this.src).withRows([row]).withOnConflict(onConflict);\n\t}\n};\nvar CfUpdateQuery = class CfUpdateQuery {\n\tsrc;\n\tschema;\n\tsetValues;\n\twhereExpr;\n\treturningItems;\n\tconstructor(src, schema, setValues = void 0, whereExpr = void 0, returningItems = void 0) {\n\t\tthis.src = src;\n\t\tthis.schema = schema;\n\t\tthis.setValues = setValues;\n\t\tthis.whereExpr = whereExpr;\n\t\tthis.returningItems = returningItems;\n\t}\n\tset(values) {\n\t\treturn new CfUpdateQuery(this.src, this.schema, values, this.whereExpr, this.returningItems);\n\t}\n\twhere(expr) {\n\t\treturn new CfUpdateQuery(this.src, this.schema, this.setValues, expr, this.returningItems);\n\t}\n\treturning(...columns) {\n\t\treturn new CfUpdateQuery(this.src, this.schema, this.setValues, this.whereExpr, columns.map((col) => col.toProjectionItem()));\n\t}\n\tbuild() {\n\t\tconst set = buildSetMap(this.schema, this.setValues);\n\t\tconst base = UpdateAst.table(this.src).withSet(set);\n\t\tconst withWhere = this.whereExpr ? base.withWhere(this.whereExpr.ast) : base;\n\t\treturn this.returningItems ? withWhere.withReturning(this.returningItems) : withWhere;\n\t}\n};\nvar CfSelectQuery = class CfSelectQuery {\n\tsrc;\n\tprojectionItems;\n\twhereExpr;\n\torderByItems;\n\tconstructor(src, projectionItems, whereExpr = void 0, orderByItems = []) {\n\t\tthis.src = src;\n\t\tthis.projectionItems = projectionItems;\n\t\tthis.whereExpr = whereExpr;\n\t\tthis.orderByItems = orderByItems;\n\t}\n\twhere(expr) {\n\t\treturn new CfSelectQuery(this.src, this.projectionItems, expr, this.orderByItems);\n\t}\n\torderBy(column, dir = \"asc\") {\n\t\tconst item = dir === \"asc\" ? OrderByItem.asc(column.toRef()) : OrderByItem.desc(column.toRef());\n\t\treturn new CfSelectQuery(this.src, this.projectionItems, this.whereExpr, [...this.orderByItems, item]);\n\t}\n\tbuild() {\n\t\tconst base = SelectAst.from(this.src).withProjection(this.projectionItems);\n\t\tconst withWhere = this.whereExpr ? base.withWhere(this.whereExpr.ast) : base;\n\t\treturn this.orderByItems.length > 0 ? withWhere.withOrderBy(this.orderByItems) : withWhere;\n\t}\n};\n/**\n* Declare a control-plane table once, binding column codecs at declaration time.\n* Returns a `TableHandle` whose column properties compose expressions directly\n* without per-call-site codec or column-name threading.\n*\n* ```ts\n* const marker = pgTable({ name: 'marker', schema: 'prisma_contract' }, {\n* space: text(),\n* core_hash: text(),\n* updated_at: timestamptz(),\n* });\n*\n* const query = marker.update()\n* .set({ core_hash: newHash, updated_at: NOW })\n* .where(marker.space.eq(space).and(marker.core_hash.eq(expectedFrom)))\n* .returning(marker.space)\n* .build();\n* ```\n*/\nfunction table(source, schema) {\n\tconst proxies = {};\n\tfor (const [col, desc] of Object.entries(schema)) proxies[col] = makeColumnProxy(source.alias ?? source.name, col, desc);\n\treturn blindCast({\n\t\t...proxies,\n\t\tsource,\n\t\tinsert: (row) => new CfInsertQuery(source, schema, row),\n\t\tupsert: (row) => new CfUpsertBuilder(source, schema, row),\n\t\tupdate: () => new CfUpdateQuery(source, schema),\n\t\tselect: (...cols) => new CfSelectQuery(source, cols.map((col) => col.toProjectionItem()))\n\t});\n}\nfunction makeColumnProxy(tableName, columnName, desc) {\n\tconst ref = ColumnRef.of(tableName, columnName);\n\treturn {\n\t\tcodecId: desc.codecId,\n\t\tnullable: desc.nullable,\n\t\tcolumnName,\n\t\ttableName,\n\t\teq: (value) => value === null ? new CfExpr(NullCheckExpr.isNull(ref)) : new CfExpr(BinaryExpr.eq(ref, toSetExpression(value, desc))),\n\t\tneq: (value) => value === null ? new CfExpr(NullCheckExpr.isNotNull(ref)) : new CfExpr(BinaryExpr.neq(ref, toSetExpression(value, desc))),\n\t\tisNull: () => new CfExpr(NullCheckExpr.isNull(ref)),\n\t\tisNotNull: () => new CfExpr(NullCheckExpr.isNotNull(ref)),\n\t\ttoRef: () => ref,\n\t\ttoProjectionItem: (alias = columnName) => ProjectionItem.of(alias, ref, { codecId: desc.codecId })\n\t};\n}\nfunction buildExcludedProxy(schema) {\n\treturn blindCast(Object.fromEntries(Object.keys(schema).map((col) => [col, ColumnRef.of(\"excluded\", col)])));\n}\nfunction isExpressionSource(value) {\n\treturn typeof value === \"object\" && value !== null && \"toExpr\" in value && typeof value.toExpr === \"function\";\n}\nfunction toInsertValue(value, desc) {\n\tif (isExpressionSource(value)) {\n\t\tconst expr = value.toExpr();\n\t\tif (expr.kind === \"column-ref\" || expr.kind === \"param-ref\" || expr.kind === \"prepared-param-ref\" || expr.kind === \"raw-expr\") return expr;\n\t}\n\treturn ParamRef.of(value, { codec: { codecId: desc.codecId } });\n}\nfunction toSetExpression(value, desc) {\n\tif (isExpressionSource(value)) return value.toExpr();\n\treturn ParamRef.of(value, { codec: { codecId: desc.codecId } });\n}\nfunction buildInsertRow(schema, values) {\n\tconst row = {};\n\tconst rawValues = blindCast(values);\n\tfor (const [col, desc] of Object.entries(schema)) row[col] = toInsertValue(rawValues[col], desc);\n\treturn row;\n}\nfunction buildSetMap(schema, values) {\n\tif (values === void 0) return {};\n\tconst set = {};\n\tconst rawSchema = blindCast(schema);\n\tconst rawValues = blindCast(values);\n\tfor (const [col, value] of Object.entries(rawValues)) {\n\t\tconst desc = rawSchema[col];\n\t\tif (desc !== void 0) set[col] = toSetExpression(value, desc);\n\t}\n\treturn set;\n}\n//#endregion\nexport { CfConflictClause, CfExpr, CfExprSelectQuery, CfInsertQuery, CfSelectQuery, CfUpdateQuery, CfUpsertBuilder, CfUpsertQuery, cfExpr, cfTable, checkExpression, col, exprSelect, fn, foreignKey, lit, primaryKey, table, unique };\n\n//# sourceMappingURL=contract-free.mjs.map"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import { a as toExpr, i as param, n as codecOf, r as createRawSql, t as buildOperation } from "./expression-Dhu3dLiu.mjs";
1
+ import { a as toExpr, i as param, n as codecOf, r as createRawSql, t as buildOperation } from "./expression-Da4F0ehj.mjs";
2
2
  export { buildOperation, codecOf, createRawSql, param, toExpr };
package/dist/runtime.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import { t as createSqlOperationRegistry } from "./dist-C_q1_QR9.mjs";
2
- import { A as PreparedParamRef, z as isQueryAst } from "./types-D43EhRac-DOJmnq_t.mjs";
2
+ import { A as PreparedParamRef, z as isQueryAst } from "./types-D-_2ZCos-9q6j1gKx.mjs";
3
3
  import { t as collectOrderedParamRefs } from "./util-DQQgv2j1-D6INZaRG.mjs";
4
4
  import { t as createSqlParamRefMutator } from "./middleware-CMr4CHNz-DHIUdxlm.mjs";
5
5
  import { t as buildSqlAggregateDescriptorRegistry } from "./aggregate-descriptor-registry-DPV4z8MS.mjs";
@@ -2,7 +2,7 @@ import { t as frozenCodecRef } from "./codec-types-B_xmJL2m-CC_Q-_u9.mjs";
2
2
  import { structuredError } from "@prisma/orm-framework/utils/structured-error";
3
3
  import { InternalError } from "@prisma/orm-framework/utils/internal-error";
4
4
  import { ifDefined } from "@prisma/orm-framework/utils/defined";
5
- //#region ../../../2-sql/4-lanes/relational-core/dist/types-D43EhRac.mjs
5
+ //#region ../../../2-sql/4-lanes/relational-core/dist/types-D-_2ZCos.mjs
6
6
  const toAnyExpressionVisitor = {
7
7
  columnRef: (expr) => expr,
8
8
  identifierRef: (expr) => expr,
@@ -215,7 +215,7 @@ var FunctionSource = class FunctionSource extends FromSource {
215
215
  ordinality;
216
216
  constructor(fn, args, alias, ordinality = false) {
217
217
  super();
218
- if (alias?.columnAliases?.length === 0) throw structuredError("SQL.AST_INVALID", "FunctionSource column aliases must not be empty", { meta: {
218
+ if (alias?.columnAliases?.length === 0) throw structuredError("RUNTIME.AST_INVALID", "FunctionSource column aliases must not be empty", { meta: {
219
219
  kind: "function-source",
220
220
  field: "columnAliases"
221
221
  } });
@@ -601,7 +601,7 @@ var CaseExpr = class CaseExpr extends Expression {
601
601
  elseExpr;
602
602
  constructor(branches, elseExpr) {
603
603
  super();
604
- if (branches.length === 0) throw structuredError("SQL.AST_INVALID", "CaseExpr requires at least one branch", { meta: {
604
+ if (branches.length === 0) throw structuredError("RUNTIME.AST_INVALID", "CaseExpr requires at least one branch", { meta: {
605
605
  kind: "case",
606
606
  field: "branches"
607
607
  } });
@@ -1424,4 +1424,4 @@ function isWhereExpr(value) {
1424
1424
  //#endregion
1425
1425
  export { PreparedParamRef as A, isWhereExpr as B, LiteralExpr as C, OrExpr as D, OperationExpr as E, SubqueryExpr as F, whereExprKinds as H, TableSource as I, UpdateAst as L, RawExpr as M, RawSqlExpr as N, OrderByItem as O, SelectAst as P, WindowFuncExpr as R, ListExpression as S, NullCheckExpr as T, queryAstKinds as V, InsertAst as _, CastExpr as a, JsonArrayAggExpr as b, DeleteAst as c, DoUpdateSetConflictAction as d, EqColJoinOn as f, IdentifierRef as g, FunctionSource as h, CaseExpr as i, ProjectionItem as j, ParamRef as k, DerivedTableSource as l, FunctionCallExpr as m, AndExpr as n, ColumnRef as o, ExistsExpr as p, BinaryExpr as r, DefaultValueExpr as s, AggregateExpr as t, DoNothingConflictAction as u, InsertOnConflict as v, NotExpr as w, JsonObjectExpr as x, JoinAst as y, isQueryAst as z };
1426
1426
 
1427
- //# sourceMappingURL=types-D43EhRac-DOJmnq_t.mjs.map
1427
+ //# sourceMappingURL=types-D-_2ZCos-9q6j1gKx.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-D-_2ZCos-9q6j1gKx.mjs","names":["#asAnyExpression","#aliasOptions"],"sources":["../../../../2-sql/4-lanes/relational-core/dist/types-D-_2ZCos.mjs"],"sourcesContent":["import { t as frozenCodecRef } from \"./codec-types-B_xmJL2m.mjs\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { structuredError } from \"@internal/utils/structured-error\";\nimport { InternalError } from \"@internal/utils/internal-error\";\n//#region src/ast/types.ts\nconst toAnyExpressionVisitor = {\n\tcolumnRef: (expr) => expr,\n\tidentifierRef: (expr) => expr,\n\tsubquery: (expr) => expr,\n\toperation: (expr) => expr,\n\taggregate: (expr) => expr,\n\twindowFunc: (expr) => expr,\n\tfunctionCall: (expr) => expr,\n\tcast: (expr) => expr,\n\tcase: (expr) => expr,\n\tjsonObject: (expr) => expr,\n\tjsonArrayAgg: (expr) => expr,\n\tbinary: (expr) => expr,\n\tand: (expr) => expr,\n\tor: (expr) => expr,\n\texists: (expr) => expr,\n\tnullCheck: (expr) => expr,\n\tnot: (expr) => expr,\n\tliteral: (expr) => expr,\n\tparam: (expr) => expr,\n\tpreparedParam: (expr) => expr,\n\tlist: (expr) => expr,\n\trawExpr: (expr) => expr\n};\nfunction frozenArrayCopy(values) {\n\treturn Object.freeze([...values]);\n}\nfunction frozenOptionalRecordCopy(value) {\n\treturn value === void 0 ? void 0 : Object.freeze({ ...value });\n}\nfunction frozenRecordCopy(record) {\n\treturn Object.freeze({ ...record });\n}\nfunction freezeRows(rows) {\n\treturn Object.freeze(rows.map((row) => Object.freeze({ ...row })));\n}\nfunction combineAll(folder, thunks) {\n\tlet result = folder.empty;\n\tfor (const thunk of thunks) {\n\t\tif (folder.isAbsorbing?.(result)) return result;\n\t\tresult = folder.combine(result, thunk());\n\t}\n\treturn result;\n}\nfunction rewriteComparable(value, rewriter) {\n\tswitch (value.kind) {\n\t\tcase \"param-ref\": return rewriter.paramRef ? rewriter.paramRef(value) : value;\n\t\tcase \"prepared-param-ref\": return rewriter.preparedParamRef ? rewriter.preparedParamRef(value) : value;\n\t\tcase \"literal\": return rewriter.literal ? rewriter.literal(value) : value;\n\t\tcase \"list\":\n\t\t\tif (rewriter.list) return rewriter.list(value);\n\t\t\treturn value.rewrite(rewriter);\n\t\tdefault: return value.rewrite(rewriter);\n\t}\n}\nfunction foldComparable(value, folder) {\n\tswitch (value.kind) {\n\t\tcase \"param-ref\": return folder.paramRef ? folder.paramRef(value) : folder.empty;\n\t\tcase \"prepared-param-ref\": return folder.preparedParamRef ? folder.preparedParamRef(value) : folder.empty;\n\t\tcase \"literal\": return folder.literal ? folder.literal(value) : folder.empty;\n\t\tcase \"list\": return value.fold(folder);\n\t\tdefault: return value.fold(folder);\n\t}\n}\nfunction collectColumnRefsWith(node) {\n\treturn node.fold({\n\t\tempty: [],\n\t\tcombine: (a, b) => [...a, ...b],\n\t\tcolumnRef: (columnRef) => [columnRef],\n\t\tselect: (ast) => ast.collectColumnRefs()\n\t});\n}\nfunction collectParamRefsWith(node) {\n\treturn node.fold({\n\t\tempty: [],\n\t\tcombine: (a, b) => [...a, ...b],\n\t\tparamRef: (paramRef) => [paramRef],\n\t\tpreparedParamRef: (paramRef) => [paramRef],\n\t\tselect: (ast) => ast.collectParamRefs()\n\t});\n}\nfunction rewriteTableSource(table, rewriter) {\n\treturn rewriter.tableSource ? rewriter.tableSource(table) : table;\n}\nfunction rewriteProjectionItem(item, rewriter) {\n\tconst rewrittenExpr = item.expr.kind === \"literal\" ? rewriter.literal ? rewriter.literal(item.expr) : item.expr : item.expr.rewrite(rewriter);\n\treturn new ProjectionItem(item.alias, rewrittenExpr, item.codec);\n}\nfunction rewriteInsertValue(value, rewriter) {\n\tswitch (value.kind) {\n\t\tcase \"param-ref\": return rewriter.paramRef ? rewriteParamRefForInsert(value, rewriter) : value;\n\t\tcase \"prepared-param-ref\": return rewriter.preparedParamRef ? rewriter.preparedParamRef(value) : value;\n\t\tcase \"column-ref\": return rewriter.columnRef ? rewriteColumnRefForInsert(value, rewriter) : value;\n\t\tcase \"default-value\": return value;\n\t\tcase \"raw-expr\": return value;\n\t}\n}\nfunction rewriteParamRefForInsert(value, rewriter) {\n\tconst rewritten = rewriter.paramRef ? rewriter.paramRef(value) : value;\n\treturn rewritten.kind === \"param-ref\" ? rewritten : value;\n}\nfunction rewriteColumnRefForInsert(value, rewriter) {\n\tconst rewritten = rewriter.columnRef ? rewriter.columnRef(value) : value;\n\treturn rewritten.kind === \"column-ref\" ? rewritten : value;\n}\nfunction rewriteInsertRow(row, rewriter) {\n\tconst result = {};\n\tfor (const [key, value] of Object.entries(row)) result[key] = rewriteInsertValue(value, rewriter);\n\treturn result;\n}\nfunction rewriteUpdateSet(set, rewriter) {\n\tconst result = {};\n\tfor (const [key, value] of Object.entries(set)) result[key] = value.rewrite(rewriter);\n\treturn result;\n}\nfunction rewriteLimitOffset(value, rewriter) {\n\tif (value === void 0 || typeof value === \"number\") return value;\n\treturn value.rewrite(rewriter);\n}\nfunction rewriteOnConflict(onConflict, rewriter) {\n\tconst columns = onConflict.columns.map((columnRef) => {\n\t\tconst rewritten = rewriter.columnRef ? rewriter.columnRef(columnRef) : columnRef;\n\t\treturn rewritten.kind === \"column-ref\" ? rewritten : columnRef;\n\t});\n\tif (onConflict.action.kind === \"do-nothing\") return new InsertOnConflict(columns, new DoNothingConflictAction());\n\treturn new InsertOnConflict(columns, new DoUpdateSetConflictAction(rewriteUpdateSet(onConflict.action.set, rewriter)));\n}\nvar AstNode = class {\n\tfreeze() {\n\t\tObject.freeze(this);\n\t}\n};\nvar QueryAst = class extends AstNode {};\nvar FromSource = class extends AstNode {};\nvar Expression = class extends AstNode {\n\tcollectColumnRefs() {\n\t\treturn collectColumnRefsWith(this);\n\t}\n\tcollectParamRefs() {\n\t\treturn collectParamRefsWith(this);\n\t}\n\tbaseColumnRef() {\n\t\tthrow new InternalError(`${this.constructor.name} does not expose a base column reference`);\n\t}\n\t#asAnyExpression() {\n\t\treturn this.accept(toAnyExpressionVisitor);\n\t}\n\ttoExpr() {\n\t\treturn this.#asAnyExpression();\n\t}\n\tnot() {\n\t\treturn new NotExpr(this.#asAnyExpression());\n\t}\n};\nvar TableSource = class TableSource extends FromSource {\n\tkind = \"table-source\";\n\tname;\n\talias;\n\t/**\n\t* Resolved storage namespace coordinate for this table, stamped when the\n\t* table proxy constructs the AST. Renderers qualify via the namespace\n\t* concretion's `qualifyTable()` using this id — never by re-resolving the\n\t* bare table name at render time.\n\t*/\n\tnamespaceId;\n\tconstructor(name, alias, namespaceId) {\n\t\tsuper();\n\t\tthis.name = name;\n\t\tthis.alias = alias;\n\t\tthis.namespaceId = namespaceId;\n\t}\n\tstatic named(name, alias, namespaceId) {\n\t\tconst source = new TableSource(name, alias, namespaceId);\n\t\tsource.freeze();\n\t\treturn source;\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.tableSource ? rewriter.tableSource(this) : this;\n\t}\n\ttoFromSource() {\n\t\treturn this;\n\t}\n};\nvar DerivedTableSource = class DerivedTableSource extends FromSource {\n\tkind = \"derived-table-source\";\n\talias;\n\tquery;\n\tconstructor(alias, query) {\n\t\tsuper();\n\t\tthis.alias = alias;\n\t\tthis.query = query;\n\t\tthis.freeze();\n\t}\n\tstatic as(alias, query) {\n\t\treturn new DerivedTableSource(alias, query);\n\t}\n\trewrite(rewriter) {\n\t\treturn new DerivedTableSource(this.alias, this.query.rewrite(rewriter));\n\t}\n\ttoFromSource() {\n\t\treturn this;\n\t}\n};\nvar FunctionSource = class FunctionSource extends FromSource {\n\tkind = \"function-source\";\n\tfn;\n\targs;\n\talias;\n\tcolumnAliases;\n\tordinality;\n\tconstructor(fn, args, alias, ordinality = false) {\n\t\tsuper();\n\t\tif (alias?.columnAliases?.length === 0) throw structuredError(\"RUNTIME.AST_INVALID\", \"FunctionSource column aliases must not be empty\", { meta: {\n\t\t\tkind: \"function-source\",\n\t\t\tfield: \"columnAliases\"\n\t\t} });\n\t\tthis.fn = fn;\n\t\tthis.args = frozenArrayCopy(args);\n\t\tthis.alias = alias?.alias;\n\t\tthis.columnAliases = alias?.columnAliases === void 0 ? void 0 : frozenArrayCopy(alias.columnAliases);\n\t\tthis.ordinality = ordinality;\n\t\tthis.freeze();\n\t}\n\tstatic of(fn, args, alias) {\n\t\treturn new FunctionSource(fn, args, alias);\n\t}\n\t#aliasOptions() {\n\t\tif (this.alias === void 0) return void 0;\n\t\treturn {\n\t\t\talias: this.alias,\n\t\t\t...ifDefined(\"columnAliases\", this.columnAliases)\n\t\t};\n\t}\n\twithOrdinality() {\n\t\tif (this.ordinality) return this;\n\t\treturn new FunctionSource(this.fn, this.args, this.#aliasOptions(), true);\n\t}\n\trewrite(rewriter) {\n\t\tconst rewrittenArgs = this.args.map((arg) => rewriteComparable(arg, rewriter));\n\t\tif (rewrittenArgs.every((arg, i) => arg === this.args[i])) return this;\n\t\treturn new FunctionSource(this.fn, rewrittenArgs, this.#aliasOptions(), this.ordinality);\n\t}\n\ttoFromSource() {\n\t\treturn this;\n\t}\n};\nvar ColumnRef = class ColumnRef extends Expression {\n\tkind = \"column-ref\";\n\ttable;\n\tcolumn;\n\tconstructor(table, column) {\n\t\tsuper();\n\t\tthis.table = table;\n\t\tthis.column = column;\n\t\tthis.freeze();\n\t}\n\tstatic of(table, column) {\n\t\treturn new ColumnRef(table, column);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.columnRef(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.columnRef ? rewriter.columnRef(this) : this;\n\t}\n\tfold(folder) {\n\t\treturn folder.columnRef ? folder.columnRef(this) : folder.empty;\n\t}\n\tbaseColumnRef() {\n\t\treturn this;\n\t}\n};\nvar IdentifierRef = class IdentifierRef extends Expression {\n\tkind = \"identifier-ref\";\n\tname;\n\tconstructor(name) {\n\t\tsuper();\n\t\tthis.name = name;\n\t\tthis.freeze();\n\t}\n\tstatic of(name) {\n\t\treturn new IdentifierRef(name);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.identifierRef(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.identifierRef ? rewriter.identifierRef(this) : this;\n\t}\n\tfold(folder) {\n\t\treturn folder.identifierRef ? folder.identifierRef(this) : folder.empty;\n\t}\n};\nvar ParamRef = class ParamRef extends Expression {\n\tkind = \"param-ref\";\n\tvalue;\n\tname;\n\t/**\n\t* Codec identity carried by every column-bound `ParamRef`. The encode-side dispatch path materialises the per-instance codec through `contractCodecs.forCodecRef(codec)` — content-keyed memoisation on `(codecId, canonicalize(typeParams))` keeps repeated lookups for the same logical column on one shared {@link Codec}.\n\t*\n\t* `codec` may be `undefined` for `ParamRef`s constructed without a column-bound site (literals, transient builder state); the runtime treats those as untyped passthroughs.\n\t*/\n\tcodec;\n\tconstructor(value, options) {\n\t\tsuper();\n\t\tthis.value = value;\n\t\tthis.name = options?.name;\n\t\tthis.codec = options?.codec ? frozenCodecRef(options.codec) : void 0;\n\t\tthis.freeze();\n\t}\n\tstatic of(value, options) {\n\t\treturn new ParamRef(value, options);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.param(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.paramRef ? rewriter.paramRef(this) : this;\n\t}\n\tfold(folder) {\n\t\treturn folder.paramRef ? folder.paramRef(this) : folder.empty;\n\t}\n};\n/**\n* Bind-site placeholder: occupies the same positions as `ParamRef` in the\n* AST, but carries no value — the value is supplied per-execute by the\n* `PreparedStatement.execute(params)` caller and matched to this node by\n* `name`.\n*/\nvar PreparedParamRef = class PreparedParamRef extends Expression {\n\tkind = \"prepared-param-ref\";\n\tname;\n\tcodec;\n\tconstructor(name, codec) {\n\t\tsuper();\n\t\tthis.name = name;\n\t\tthis.codec = frozenCodecRef(codec);\n\t\tthis.freeze();\n\t}\n\tstatic of(name, codec) {\n\t\treturn new PreparedParamRef(name, codec);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.preparedParam(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.preparedParamRef ? rewriter.preparedParamRef(this) : this;\n\t}\n\tfold(folder) {\n\t\treturn folder.preparedParamRef ? folder.preparedParamRef(this) : folder.empty;\n\t}\n};\nvar DefaultValueExpr = class extends AstNode {\n\tkind = \"default-value\";\n\tconstructor() {\n\t\tsuper();\n\t\tthis.freeze();\n\t}\n};\nvar LiteralExpr = class LiteralExpr extends Expression {\n\tkind = \"literal\";\n\tvalue;\n\tconstructor(value) {\n\t\tsuper();\n\t\tthis.value = value;\n\t\tthis.freeze();\n\t}\n\tstatic of(value) {\n\t\treturn new LiteralExpr(value);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.literal(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.literal ? rewriter.literal(this) : this;\n\t}\n\tfold(folder) {\n\t\treturn folder.literal ? folder.literal(this) : folder.empty;\n\t}\n};\nvar SubqueryExpr = class SubqueryExpr extends Expression {\n\tkind = \"subquery\";\n\tquery;\n\tconstructor(query) {\n\t\tsuper();\n\t\tthis.query = query;\n\t\tthis.freeze();\n\t}\n\tstatic of(query) {\n\t\treturn new SubqueryExpr(query);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.subquery(this);\n\t}\n\trewrite(rewriter) {\n\t\tconst query = this.query.rewrite(rewriter);\n\t\treturn new SubqueryExpr(query);\n\t}\n\tfold(folder) {\n\t\treturn folder.select ? folder.select(this.query) : folder.empty;\n\t}\n};\nvar OperationExpr = class OperationExpr extends Expression {\n\tkind = \"operation\";\n\tmethod;\n\tself;\n\targs;\n\treturns;\n\tlowering;\n\tconstructor(options) {\n\t\tsuper();\n\t\tthis.method = options.method;\n\t\tthis.self = options.self;\n\t\tthis.args = frozenArrayCopy(options.args ?? []);\n\t\tthis.returns = options.returns;\n\t\tthis.lowering = options.lowering;\n\t\tthis.freeze();\n\t}\n\taccept(visitor) {\n\t\treturn visitor.operation(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new OperationExpr({\n\t\t\tmethod: this.method,\n\t\t\tself: this.self.rewrite(rewriter),\n\t\t\targs: this.args.map((arg) => rewriteComparable(arg, rewriter)),\n\t\t\treturns: this.returns,\n\t\t\tlowering: this.lowering\n\t\t});\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, [() => this.self.fold(folder), ...this.args.map((arg) => () => foldComparable(arg, folder))]);\n\t}\n\tbaseColumnRef() {\n\t\treturn this.self.baseColumnRef();\n\t}\n};\nvar RawExpr = class extends Expression {\n\tkind = \"raw-expr\";\n\tparts;\n\treturns;\n\tconstructor(options) {\n\t\tsuper();\n\t\tthis.parts = frozenArrayCopy(options.parts);\n\t\tthis.returns = options.returns;\n\t\tthis.freeze();\n\t}\n\taccept(visitor) {\n\t\treturn visitor.rawExpr(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.rawExpr ? rewriter.rawExpr(this) : this;\n\t}\n\tfold(folder) {\n\t\tif (folder.rawExpr) return folder.rawExpr(this);\n\t\treturn combineAll(folder, this.parts.filter((p) => typeof p !== \"string\").map((p) => () => p.fold(folder)));\n\t}\n};\nvar AggregateExpr = class AggregateExpr extends Expression {\n\tkind = \"aggregate\";\n\tfn;\n\texpr;\n\tconstructor(fn, expr) {\n\t\tsuper();\n\t\tif (fn !== \"count\" && expr === void 0) throw structuredError(\"ORM.ARGUMENT_INVALID\", `Aggregate function \"${fn}\" requires an expression`, { meta: { fn } });\n\t\tthis.fn = fn;\n\t\tthis.expr = expr;\n\t\tthis.freeze();\n\t}\n\tstatic count(expr) {\n\t\treturn new AggregateExpr(\"count\", expr);\n\t}\n\tstatic sum(expr) {\n\t\treturn new AggregateExpr(\"sum\", expr);\n\t}\n\tstatic avg(expr) {\n\t\treturn new AggregateExpr(\"avg\", expr);\n\t}\n\tstatic min(expr) {\n\t\treturn new AggregateExpr(\"min\", expr);\n\t}\n\tstatic max(expr) {\n\t\treturn new AggregateExpr(\"max\", expr);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.aggregate(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn this.expr === void 0 ? this : new AggregateExpr(this.fn, this.expr.rewrite(rewriter));\n\t}\n\tfold(folder) {\n\t\treturn this.expr ? this.expr.fold(folder) : folder.empty;\n\t}\n};\n/**\n* Window function call: `fn(args) OVER (PARTITION BY ... ORDER BY ...)`.\n*\n* Both `partitionBy` and `orderBy` are optional; an empty `OVER ()`\n* clause is legal SQL but rarely useful. For `ROW_NUMBER`, `RANK`, and\n* `DENSE_RANK` the standard mandates an `ORDER BY` for deterministic\n* results — callers are expected to provide one, but the AST does not\n* enforce it.\n*\n* The `args` slot exists for future window function additions that take\n* arguments (e.g. `COUNT(*) OVER`, `SUM(x) OVER`); `ROW_NUMBER` and the\n* other ranking functions take no arguments.\n*/\nvar WindowFuncExpr = class WindowFuncExpr extends Expression {\n\tkind = \"window-func\";\n\tfn;\n\targs;\n\tpartitionBy;\n\torderBy;\n\tconstructor(options) {\n\t\tsuper();\n\t\tthis.fn = options.fn;\n\t\tthis.args = options.args && options.args.length > 0 ? frozenArrayCopy(options.args) : [];\n\t\tthis.partitionBy = options.partitionBy && options.partitionBy.length > 0 ? frozenArrayCopy(options.partitionBy) : void 0;\n\t\tthis.orderBy = options.orderBy && options.orderBy.length > 0 ? frozenArrayCopy(options.orderBy) : void 0;\n\t\tthis.freeze();\n\t}\n\tstatic rowNumber(options) {\n\t\treturn new WindowFuncExpr({\n\t\t\tfn: \"row_number\",\n\t\t\t...options\n\t\t});\n\t}\n\taccept(visitor) {\n\t\treturn visitor.windowFunc(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new WindowFuncExpr({\n\t\t\tfn: this.fn,\n\t\t\targs: this.args.map((arg) => arg.rewrite(rewriter)),\n\t\t\t...ifDefined(\"partitionBy\", this.partitionBy?.map((expr) => expr.rewrite(rewriter))),\n\t\t\t...ifDefined(\"orderBy\", this.orderBy?.map((orderItem) => orderItem.rewrite(rewriter)))\n\t\t});\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, [\n\t\t\t...this.args.map((arg) => () => arg.fold(folder)),\n\t\t\t...(this.partitionBy ?? []).map((expr) => () => expr.fold(folder)),\n\t\t\t...(this.orderBy ?? []).map((orderItem) => () => orderItem.expr.fold(folder))\n\t\t]);\n\t}\n};\nvar FunctionCallExpr = class FunctionCallExpr extends Expression {\n\tkind = \"function-call\";\n\tfn;\n\targs;\n\tconstructor(fn, args) {\n\t\tsuper();\n\t\tthis.fn = fn;\n\t\tthis.args = frozenArrayCopy(args);\n\t\tthis.freeze();\n\t}\n\tstatic of(fn, args) {\n\t\treturn new FunctionCallExpr(fn, args);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.functionCall(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new FunctionCallExpr(this.fn, this.args.map((arg) => arg.rewrite(rewriter)));\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, this.args.map((arg) => () => arg.fold(folder)));\n\t}\n};\nvar CastExpr = class CastExpr extends Expression {\n\tkind = \"cast\";\n\texpr;\n\ttargetType;\n\tconstructor(expr, targetType) {\n\t\tsuper();\n\t\tthis.expr = expr;\n\t\tthis.targetType = targetType;\n\t\tthis.freeze();\n\t}\n\tstatic as(expr, targetType) {\n\t\treturn new CastExpr(expr, targetType);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.cast(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new CastExpr(this.expr.rewrite(rewriter), this.targetType);\n\t}\n\tfold(folder) {\n\t\treturn this.expr.fold(folder);\n\t}\n};\nvar CaseExpr = class CaseExpr extends Expression {\n\tkind = \"case\";\n\tbranches;\n\telseExpr;\n\tconstructor(branches, elseExpr) {\n\t\tsuper();\n\t\tif (branches.length === 0) throw structuredError(\"RUNTIME.AST_INVALID\", \"CaseExpr requires at least one branch\", { meta: {\n\t\t\tkind: \"case\",\n\t\t\tfield: \"branches\"\n\t\t} });\n\t\tthis.branches = Object.freeze(branches.map((branch) => Object.freeze({\n\t\t\tcondition: branch.condition,\n\t\t\tvalue: branch.value\n\t\t})));\n\t\tthis.elseExpr = elseExpr;\n\t\tthis.freeze();\n\t}\n\tstatic of(branches, elseExpr) {\n\t\treturn new CaseExpr(branches, elseExpr);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.case(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new CaseExpr(this.branches.map((branch) => ({\n\t\t\tcondition: branch.condition.rewrite(rewriter),\n\t\t\tvalue: branch.value.rewrite(rewriter)\n\t\t})), this.elseExpr?.rewrite(rewriter));\n\t}\n\tfold(folder) {\n\t\tconst elseExpr = this.elseExpr;\n\t\treturn combineAll(folder, [...this.branches.flatMap((branch) => [() => branch.condition.fold(folder), () => branch.value.fold(folder)]), ...elseExpr === void 0 ? [] : [() => elseExpr.fold(folder)]]);\n\t}\n};\nvar JsonObjectExpr = class JsonObjectExpr extends Expression {\n\tkind = \"json-object\";\n\tentries;\n\tconstructor(entries) {\n\t\tsuper();\n\t\tthis.entries = frozenArrayCopy(entries.map((entry) => Object.freeze({ ...entry })));\n\t\tthis.freeze();\n\t}\n\tstatic entry(key, value) {\n\t\treturn {\n\t\t\tkey,\n\t\t\tvalue\n\t\t};\n\t}\n\tstatic fromEntries(entries) {\n\t\treturn new JsonObjectExpr(entries);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.jsonObject(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new JsonObjectExpr(this.entries.map((entry) => ({\n\t\t\tkey: entry.key,\n\t\t\tvalue: entry.value.rewrite(rewriter)\n\t\t})));\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, this.entries.map((entry) => () => entry.value.fold(folder)));\n\t}\n};\nvar OrderByItem = class OrderByItem extends AstNode {\n\tkind = \"order-by-item\";\n\texpr;\n\tdir;\n\tconstructor(expr, dir) {\n\t\tsuper();\n\t\tthis.expr = expr;\n\t\tthis.dir = dir;\n\t\tthis.freeze();\n\t}\n\tstatic asc(expr) {\n\t\treturn new OrderByItem(expr, \"asc\");\n\t}\n\tstatic desc(expr) {\n\t\treturn new OrderByItem(expr, \"desc\");\n\t}\n\trewrite(rewriter) {\n\t\treturn new OrderByItem(this.expr.rewrite(rewriter), this.dir);\n\t}\n\t/**\n\t* A new frozen item with the sort direction flipped and `expr` unchanged.\n\t* Integrations that own pagination (e.g. backward cursor pagination) use\n\t* this to reverse a user's sort order without reaching into the AST.\n\t*/\n\treverse() {\n\t\treturn new OrderByItem(this.expr, this.dir === \"asc\" ? \"desc\" : \"asc\");\n\t}\n};\nvar JsonArrayAggExpr = class JsonArrayAggExpr extends Expression {\n\tkind = \"json-array-agg\";\n\texpr;\n\tonEmpty;\n\torderBy;\n\tconstructor(expr, onEmpty = \"null\", orderBy) {\n\t\tsuper();\n\t\tthis.expr = expr;\n\t\tthis.onEmpty = onEmpty;\n\t\tthis.orderBy = orderBy && orderBy.length > 0 ? frozenArrayCopy(orderBy) : void 0;\n\t\tthis.freeze();\n\t}\n\tstatic of(expr, onEmpty = \"null\", orderBy) {\n\t\treturn new JsonArrayAggExpr(expr, onEmpty, orderBy);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.jsonArrayAgg(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new JsonArrayAggExpr(this.expr.rewrite(rewriter), this.onEmpty, this.orderBy?.map((orderItem) => orderItem.rewrite(rewriter)));\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, [() => this.expr.fold(folder), ...(this.orderBy ?? []).map((orderItem) => () => orderItem.expr.fold(folder))]);\n\t}\n};\nvar ListExpression = class ListExpression extends Expression {\n\tkind = \"list\";\n\tvalues;\n\tconstructor(values) {\n\t\tsuper();\n\t\tthis.values = frozenArrayCopy(values);\n\t\tthis.freeze();\n\t}\n\tstatic of(values) {\n\t\treturn new ListExpression(values);\n\t}\n\tstatic fromValues(values) {\n\t\treturn new ListExpression(values.map((value) => new LiteralExpr(value)));\n\t}\n\taccept(visitor) {\n\t\treturn visitor.list(this);\n\t}\n\trewrite(rewriter) {\n\t\tif (rewriter.list) return rewriter.list(this);\n\t\treturn new ListExpression(this.values.map((value) => value.rewrite(rewriter)));\n\t}\n\tfold(folder) {\n\t\tif (folder.list) return folder.list(this);\n\t\treturn combineAll(folder, this.values.map((value) => () => value.fold(folder)));\n\t}\n};\nvar BinaryExpr = class BinaryExpr extends Expression {\n\tkind = \"binary\";\n\top;\n\tleft;\n\tright;\n\tconstructor(op, left, right) {\n\t\tsuper();\n\t\tthis.op = op;\n\t\tthis.left = left;\n\t\tthis.right = right;\n\t\tthis.freeze();\n\t}\n\tstatic eq(left, right) {\n\t\treturn new BinaryExpr(\"eq\", left, right);\n\t}\n\tstatic neq(left, right) {\n\t\treturn new BinaryExpr(\"neq\", left, right);\n\t}\n\tstatic gt(left, right) {\n\t\treturn new BinaryExpr(\"gt\", left, right);\n\t}\n\tstatic lt(left, right) {\n\t\treturn new BinaryExpr(\"lt\", left, right);\n\t}\n\tstatic gte(left, right) {\n\t\treturn new BinaryExpr(\"gte\", left, right);\n\t}\n\tstatic lte(left, right) {\n\t\treturn new BinaryExpr(\"lte\", left, right);\n\t}\n\tstatic like(left, right) {\n\t\treturn new BinaryExpr(\"like\", left, right);\n\t}\n\tstatic in(left, right) {\n\t\treturn new BinaryExpr(\"in\", left, right);\n\t}\n\tstatic notIn(left, right) {\n\t\treturn new BinaryExpr(\"notIn\", left, right);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.binary(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new BinaryExpr(this.op, rewriteComparable(this.left, rewriter), rewriteComparable(this.right, rewriter));\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, [() => foldComparable(this.left, folder), () => foldComparable(this.right, folder)]);\n\t}\n};\nvar AndExpr = class AndExpr extends Expression {\n\tkind = \"and\";\n\texprs;\n\tconstructor(exprs) {\n\t\tsuper();\n\t\tthis.exprs = frozenArrayCopy(exprs);\n\t\tthis.freeze();\n\t}\n\tstatic of(exprs) {\n\t\treturn new AndExpr(exprs);\n\t}\n\tstatic true() {\n\t\treturn new AndExpr([]);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.and(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new AndExpr(this.exprs.map((expr) => expr.rewrite(rewriter)));\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, this.exprs.map((expr) => () => expr.fold(folder)));\n\t}\n};\nvar OrExpr = class OrExpr extends Expression {\n\tkind = \"or\";\n\texprs;\n\tconstructor(exprs) {\n\t\tsuper();\n\t\tthis.exprs = frozenArrayCopy(exprs);\n\t\tthis.freeze();\n\t}\n\tstatic of(exprs) {\n\t\treturn new OrExpr(exprs);\n\t}\n\tstatic false() {\n\t\treturn new OrExpr([]);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.or(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new OrExpr(this.exprs.map((expr) => expr.rewrite(rewriter)));\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, this.exprs.map((expr) => () => expr.fold(folder)));\n\t}\n};\nvar ExistsExpr = class ExistsExpr extends Expression {\n\tkind = \"exists\";\n\tnotExists;\n\tsubquery;\n\tconstructor(subquery, notExists = false) {\n\t\tsuper();\n\t\tthis.notExists = notExists;\n\t\tthis.subquery = subquery;\n\t\tthis.freeze();\n\t}\n\tstatic exists(subquery) {\n\t\treturn new ExistsExpr(subquery, false);\n\t}\n\tstatic notExists(subquery) {\n\t\treturn new ExistsExpr(subquery, true);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.exists(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new ExistsExpr(this.subquery.rewrite(rewriter), this.notExists);\n\t}\n\tfold(folder) {\n\t\treturn folder.select ? folder.select(this.subquery) : folder.empty;\n\t}\n};\nvar NullCheckExpr = class NullCheckExpr extends Expression {\n\tkind = \"null-check\";\n\texpr;\n\tisNull;\n\tconstructor(expr, isNull) {\n\t\tsuper();\n\t\tthis.expr = expr;\n\t\tthis.isNull = isNull;\n\t\tthis.freeze();\n\t}\n\tstatic isNull(expr) {\n\t\treturn new NullCheckExpr(expr, true);\n\t}\n\tstatic isNotNull(expr) {\n\t\treturn new NullCheckExpr(expr, false);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.nullCheck(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new NullCheckExpr(this.expr.rewrite(rewriter), this.isNull);\n\t}\n\tfold(folder) {\n\t\treturn this.expr.fold(folder);\n\t}\n};\nvar NotExpr = class NotExpr extends Expression {\n\tkind = \"not\";\n\texpr;\n\tconstructor(expr) {\n\t\tsuper();\n\t\tthis.expr = expr;\n\t\tthis.freeze();\n\t}\n\ttoWhereExpr() {\n\t\treturn this;\n\t}\n\taccept(visitor) {\n\t\treturn visitor.not(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new NotExpr(this.expr.rewrite(rewriter));\n\t}\n\tfold(folder) {\n\t\treturn this.expr.fold(folder);\n\t}\n};\nvar EqColJoinOn = class EqColJoinOn extends AstNode {\n\tkind = \"eq-col-join-on\";\n\tleft;\n\tright;\n\tconstructor(left, right) {\n\t\tsuper();\n\t\tthis.left = left;\n\t\tthis.right = right;\n\t\tthis.freeze();\n\t}\n\tstatic of(left, right) {\n\t\treturn new EqColJoinOn(left, right);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.eqColJoinOn ? rewriter.eqColJoinOn(this) : this;\n\t}\n};\nvar JoinAst = class JoinAst extends AstNode {\n\tkind = \"join\";\n\tjoinType;\n\tsource;\n\tlateral;\n\ton;\n\tconstructor(joinType, source, on, lateral = false) {\n\t\tsuper();\n\t\tthis.joinType = joinType;\n\t\tthis.source = source;\n\t\tthis.lateral = lateral;\n\t\tthis.on = on;\n\t\tthis.freeze();\n\t}\n\tstatic inner(source, on, lateral = false) {\n\t\treturn new JoinAst(\"inner\", source, on, lateral);\n\t}\n\tstatic left(source, on, lateral = false) {\n\t\treturn new JoinAst(\"left\", source, on, lateral);\n\t}\n\tstatic right(source, on, lateral = false) {\n\t\treturn new JoinAst(\"right\", source, on, lateral);\n\t}\n\tstatic full(source, on, lateral = false) {\n\t\treturn new JoinAst(\"full\", source, on, lateral);\n\t}\n\trewrite(rewriter) {\n\t\treturn new JoinAst(this.joinType, this.source.rewrite(rewriter), this.on.kind === \"eq-col-join-on\" ? this.on.rewrite(rewriter) : this.on.rewrite(rewriter), this.lateral);\n\t}\n};\nvar ProjectionItem = class ProjectionItem extends AstNode {\n\tkind = \"projection-item\";\n\talias;\n\texpr;\n\t/**\n\t* Codec identity for any known projected result, whether read directly from a contract column or forwarded through a query wrapper. Decode-side dispatch resolves the per-instance codec through `contractCodecs.forCodecRef(codec)` — content-keyed memoisation collapses repeated lookups for the same logical result onto one shared {@link Codec}.\n\t*\n\t* Stays `undefined` only when the projected result's codec is unknown, such as computed expressions, subqueries, or raw aliases whose decoded type the runtime cannot infer.\n\t*/\n\tcodec;\n\tconstructor(alias, expr, codec) {\n\t\tsuper();\n\t\tthis.alias = alias;\n\t\tthis.expr = expr;\n\t\tthis.codec = codec ? frozenCodecRef(codec) : void 0;\n\t\tthis.freeze();\n\t}\n\tstatic of(alias, expr, codec) {\n\t\treturn new ProjectionItem(alias, expr, codec);\n\t}\n\twithCodec(codec) {\n\t\treturn new ProjectionItem(this.alias, this.expr, codec);\n\t}\n};\nvar SelectAst = class SelectAst extends QueryAst {\n\tkind = \"select\";\n\tfrom;\n\tjoins;\n\tprojection;\n\twhere;\n\torderBy;\n\tdistinct;\n\tdistinctOn;\n\tgroupBy;\n\thaving;\n\tlimit;\n\toffset;\n\tselectAllIntent;\n\tconstructor(options) {\n\t\tsuper();\n\t\tthis.from = options.from;\n\t\tthis.joins = options.joins && options.joins.length > 0 ? frozenArrayCopy(options.joins) : void 0;\n\t\tthis.projection = frozenArrayCopy(options.projection);\n\t\tthis.where = options.where;\n\t\tthis.orderBy = options.orderBy && options.orderBy.length > 0 ? frozenArrayCopy(options.orderBy) : void 0;\n\t\tthis.distinct = options.distinct;\n\t\tthis.distinctOn = options.distinctOn && options.distinctOn.length > 0 ? frozenArrayCopy(options.distinctOn) : void 0;\n\t\tthis.groupBy = options.groupBy && options.groupBy.length > 0 ? frozenArrayCopy(options.groupBy) : void 0;\n\t\tthis.having = options.having;\n\t\tthis.limit = options.limit;\n\t\tthis.offset = options.offset;\n\t\tthis.selectAllIntent = frozenOptionalRecordCopy(options.selectAllIntent);\n\t\tthis.freeze();\n\t}\n\tstatic from(from) {\n\t\treturn new SelectAst({\n\t\t\tfrom,\n\t\t\tjoins: void 0,\n\t\t\tprojection: [],\n\t\t\twhere: void 0,\n\t\t\torderBy: void 0,\n\t\t\tdistinct: void 0,\n\t\t\tdistinctOn: void 0,\n\t\t\tgroupBy: void 0,\n\t\t\thaving: void 0,\n\t\t\tlimit: void 0,\n\t\t\toffset: void 0,\n\t\t\tselectAllIntent: void 0\n\t\t});\n\t}\n\tstatic noFrom() {\n\t\treturn new SelectAst({\n\t\t\tjoins: void 0,\n\t\t\tprojection: [],\n\t\t\twhere: void 0,\n\t\t\torderBy: void 0,\n\t\t\tdistinct: void 0,\n\t\t\tdistinctOn: void 0,\n\t\t\tgroupBy: void 0,\n\t\t\thaving: void 0,\n\t\t\tlimit: void 0,\n\t\t\toffset: void 0,\n\t\t\tselectAllIntent: void 0\n\t\t});\n\t}\n\ttoOptions() {\n\t\treturn {\n\t\t\t...this.from !== void 0 ? { from: this.from } : {},\n\t\t\tjoins: this.joins,\n\t\t\tprojection: this.projection,\n\t\t\twhere: this.where,\n\t\t\torderBy: this.orderBy,\n\t\t\tdistinct: this.distinct,\n\t\t\tdistinctOn: this.distinctOn,\n\t\t\tgroupBy: this.groupBy,\n\t\t\thaving: this.having,\n\t\t\tlimit: this.limit,\n\t\t\toffset: this.offset,\n\t\t\tselectAllIntent: this.selectAllIntent\n\t\t};\n\t}\n\twithFrom(from) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tfrom\n\t\t});\n\t}\n\twithJoins(joins) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tjoins: joins.length > 0 ? joins : void 0\n\t\t});\n\t}\n\twithProjection(projection) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tprojection\n\t\t});\n\t}\n\taddProjection(alias, expr) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tprojection: [...this.projection, new ProjectionItem(alias, expr)]\n\t\t});\n\t}\n\twithWhere(where) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\twhere\n\t\t});\n\t}\n\twithOrderBy(orderBy) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\torderBy: orderBy.length > 0 ? orderBy : void 0\n\t\t});\n\t}\n\twithDistinct(enabled = true) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tdistinct: enabled ? true : void 0\n\t\t});\n\t}\n\twithDistinctOn(distinctOn) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tdistinctOn: distinctOn.length > 0 ? distinctOn : void 0\n\t\t});\n\t}\n\twithGroupBy(groupBy) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tgroupBy: groupBy.length > 0 ? groupBy : void 0\n\t\t});\n\t}\n\twithHaving(having) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\thaving\n\t\t});\n\t}\n\twithLimit(limit) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tlimit\n\t\t});\n\t}\n\twithOffset(offset) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\toffset\n\t\t});\n\t}\n\twithSelectAllIntent(selectAllIntent) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tselectAllIntent\n\t\t});\n\t}\n\trewrite(rewriter) {\n\t\tconst rewrittenFrom = this.from?.rewrite(rewriter);\n\t\tconst rewritten = new SelectAst({\n\t\t\t...rewrittenFrom !== void 0 ? { from: rewrittenFrom } : {},\n\t\t\tjoins: this.joins?.map((join) => join.rewrite(rewriter)),\n\t\t\tprojection: this.projection.map((projection) => new ProjectionItem(projection.alias, projection.expr.kind === \"literal\" ? rewriter.literal ? rewriter.literal(projection.expr) : projection.expr : projection.expr.rewrite(rewriter), projection.codec)),\n\t\t\twhere: this.where?.rewrite(rewriter),\n\t\t\torderBy: this.orderBy?.map((orderItem) => orderItem.rewrite(rewriter)),\n\t\t\tdistinct: this.distinct,\n\t\t\tdistinctOn: this.distinctOn?.map((expr) => expr.rewrite(rewriter)),\n\t\t\tgroupBy: this.groupBy?.map((expr) => expr.rewrite(rewriter)),\n\t\t\thaving: this.having?.rewrite(rewriter),\n\t\t\tlimit: rewriteLimitOffset(this.limit, rewriter),\n\t\t\toffset: rewriteLimitOffset(this.offset, rewriter),\n\t\t\tselectAllIntent: this.selectAllIntent\n\t\t});\n\t\treturn rewriter.select ? rewriter.select(rewritten) : rewritten;\n\t}\n\tcollectColumnRefs() {\n\t\tconst refs = [];\n\t\tconst pushRefs = (columns) => {\n\t\t\trefs.push(...columns);\n\t\t};\n\t\tif (this.from?.kind === \"derived-table-source\") pushRefs(this.from.query.collectColumnRefs());\n\t\telse if (this.from?.kind === \"function-source\") for (const arg of this.from.args) pushRefs(arg.collectColumnRefs());\n\t\tfor (const projection of this.projection) if (!(projection.expr.kind === \"literal\")) pushRefs(projection.expr.collectColumnRefs());\n\t\tif (this.where) pushRefs(this.where.collectColumnRefs());\n\t\tif (this.having) pushRefs(this.having.collectColumnRefs());\n\t\tfor (const orderItem of this.orderBy ?? []) pushRefs(orderItem.expr.collectColumnRefs());\n\t\tfor (const expr of this.distinctOn ?? []) pushRefs(expr.collectColumnRefs());\n\t\tfor (const expr of this.groupBy ?? []) pushRefs(expr.collectColumnRefs());\n\t\tfor (const join of this.joins ?? []) {\n\t\t\tif (join.source.kind === \"derived-table-source\") pushRefs(join.source.query.collectColumnRefs());\n\t\t\telse if (join.source.kind === \"function-source\") for (const arg of join.source.args) pushRefs(arg.collectColumnRefs());\n\t\t\tif (join.on.kind === \"eq-col-join-on\") refs.push(join.on.left, join.on.right);\n\t\t\telse pushRefs(join.on.collectColumnRefs());\n\t\t}\n\t\tif (typeof this.limit === \"object\") pushRefs(this.limit.collectColumnRefs());\n\t\tif (typeof this.offset === \"object\") pushRefs(this.offset.collectColumnRefs());\n\t\treturn refs;\n\t}\n\tcollectParamRefs() {\n\t\tconst refs = [];\n\t\tconst pushRefs = (params) => {\n\t\t\trefs.push(...params);\n\t\t};\n\t\tif (this.from?.kind === \"derived-table-source\") pushRefs(this.from.query.collectParamRefs());\n\t\telse if (this.from?.kind === \"function-source\") for (const arg of this.from.args) pushRefs(arg.collectParamRefs());\n\t\tfor (const projection of this.projection) if (!(projection.expr.kind === \"literal\")) pushRefs(projection.expr.collectParamRefs());\n\t\tif (this.where) pushRefs(this.where.collectParamRefs());\n\t\tif (this.having) pushRefs(this.having.collectParamRefs());\n\t\tfor (const orderItem of this.orderBy ?? []) pushRefs(orderItem.expr.collectParamRefs());\n\t\tfor (const expr of this.distinctOn ?? []) pushRefs(expr.collectParamRefs());\n\t\tfor (const expr of this.groupBy ?? []) pushRefs(expr.collectParamRefs());\n\t\tfor (const join of this.joins ?? []) {\n\t\t\tif (join.source.kind === \"derived-table-source\") pushRefs(join.source.query.collectParamRefs());\n\t\t\telse if (join.source.kind === \"function-source\") for (const arg of join.source.args) pushRefs(arg.collectParamRefs());\n\t\t\tif (!(join.on.kind === \"eq-col-join-on\")) pushRefs(join.on.collectParamRefs());\n\t\t}\n\t\tif (typeof this.limit === \"object\") pushRefs(this.limit.collectParamRefs());\n\t\tif (typeof this.offset === \"object\") pushRefs(this.offset.collectParamRefs());\n\t\treturn refs;\n\t}\n\ttoQueryAst() {\n\t\treturn this;\n\t}\n};\nvar InsertOnConflictAction = class extends AstNode {};\nvar DoNothingConflictAction = class extends InsertOnConflictAction {\n\tkind = \"do-nothing\";\n\tconstructor() {\n\t\tsuper();\n\t\tthis.freeze();\n\t}\n\ttoInsertOnConflictAction() {\n\t\treturn this;\n\t}\n};\nvar DoUpdateSetConflictAction = class extends InsertOnConflictAction {\n\tkind = \"do-update-set\";\n\tset;\n\tconstructor(set) {\n\t\tsuper();\n\t\tthis.set = frozenRecordCopy(set);\n\t\tthis.freeze();\n\t}\n\ttoInsertOnConflictAction() {\n\t\treturn this;\n\t}\n};\nvar InsertOnConflict = class InsertOnConflict extends AstNode {\n\tkind = \"insert-on-conflict\";\n\tcolumns;\n\taction;\n\tconstructor(columns, action) {\n\t\tsuper();\n\t\tthis.columns = frozenArrayCopy(columns);\n\t\tthis.action = action;\n\t\tthis.freeze();\n\t}\n\tstatic on(columns) {\n\t\treturn new InsertOnConflict(columns, new DoNothingConflictAction());\n\t}\n\tdoNothing() {\n\t\treturn new InsertOnConflict(this.columns, new DoNothingConflictAction());\n\t}\n\tdoUpdateSet(set) {\n\t\treturn new InsertOnConflict(this.columns, new DoUpdateSetConflictAction(set));\n\t}\n};\nvar InsertAst = class InsertAst extends QueryAst {\n\tkind = \"insert\";\n\ttable;\n\trows;\n\tonConflict;\n\treturning;\n\tconstructor(table, rows = [{}], onConflict, returning) {\n\t\tsuper();\n\t\tthis.table = table;\n\t\tthis.rows = freezeRows(rows);\n\t\tthis.onConflict = onConflict;\n\t\tthis.returning = returning && returning.length > 0 ? frozenArrayCopy(returning) : void 0;\n\t\tthis.freeze();\n\t}\n\tstatic into(table) {\n\t\treturn new InsertAst(table);\n\t}\n\twithRows(rows) {\n\t\treturn new InsertAst(this.table, rows.map((row) => ({ ...row })), this.onConflict, this.returning);\n\t}\n\twithReturning(returning) {\n\t\treturn new InsertAst(this.table, this.rows.map((row) => ({ ...row })), this.onConflict, returning);\n\t}\n\twithOnConflict(onConflict) {\n\t\treturn new InsertAst(this.table, this.rows.map((row) => ({ ...row })), onConflict, this.returning);\n\t}\n\trewrite(rewriter) {\n\t\treturn new InsertAst(rewriteTableSource(this.table, rewriter), this.rows.map((row) => rewriteInsertRow(row, rewriter)), this.onConflict ? rewriteOnConflict(this.onConflict, rewriter) : void 0, this.returning?.map((item) => rewriteProjectionItem(item, rewriter)));\n\t}\n\tcollectParamRefs() {\n\t\tconst refs = [];\n\t\tfor (const row of this.rows) for (const value of Object.values(row)) if (value.kind === \"param-ref\" || value.kind === \"prepared-param-ref\") refs.push(value);\n\t\telse if (value.kind === \"raw-expr\") refs.push(...value.collectParamRefs());\n\t\tif (this.onConflict?.action.kind === \"do-update-set\") {\n\t\t\tfor (const value of Object.values(this.onConflict.action.set)) if (value.kind === \"param-ref\" || value.kind === \"prepared-param-ref\") refs.push(value);\n\t\t}\n\t\tfor (const item of this.returning ?? []) if (item.expr.kind !== \"literal\") refs.push(...item.expr.collectParamRefs());\n\t\treturn refs;\n\t}\n\ttoQueryAst() {\n\t\treturn this;\n\t}\n};\nvar UpdateAst = class UpdateAst extends QueryAst {\n\tkind = \"update\";\n\ttable;\n\tset;\n\twhere;\n\treturning;\n\tconstructor(table, set = {}, where, returning) {\n\t\tsuper();\n\t\tthis.table = table;\n\t\tthis.set = frozenRecordCopy(set);\n\t\tthis.where = where;\n\t\tthis.returning = returning && returning.length > 0 ? frozenArrayCopy(returning) : void 0;\n\t\tthis.freeze();\n\t}\n\tstatic table(table) {\n\t\treturn new UpdateAst(table);\n\t}\n\twithSet(set) {\n\t\treturn new UpdateAst(this.table, set, this.where, this.returning);\n\t}\n\twithWhere(where) {\n\t\treturn new UpdateAst(this.table, this.set, where, this.returning);\n\t}\n\twithReturning(returning) {\n\t\treturn new UpdateAst(this.table, this.set, this.where, returning);\n\t}\n\trewrite(rewriter) {\n\t\treturn new UpdateAst(rewriteTableSource(this.table, rewriter), rewriteUpdateSet(this.set, rewriter), this.where?.rewrite(rewriter), this.returning?.map((item) => rewriteProjectionItem(item, rewriter)));\n\t}\n\tcollectParamRefs() {\n\t\tconst refs = [];\n\t\tfor (const value of Object.values(this.set)) refs.push(...value.collectParamRefs());\n\t\tif (this.where) refs.push(...this.where.collectParamRefs());\n\t\tfor (const item of this.returning ?? []) if (item.expr.kind !== \"literal\") refs.push(...item.expr.collectParamRefs());\n\t\treturn refs;\n\t}\n\ttoQueryAst() {\n\t\treturn this;\n\t}\n};\nvar DeleteAst = class DeleteAst extends QueryAst {\n\tkind = \"delete\";\n\ttable;\n\twhere;\n\treturning;\n\tconstructor(table, where, returning) {\n\t\tsuper();\n\t\tthis.table = table;\n\t\tthis.where = where;\n\t\tthis.returning = returning && returning.length > 0 ? frozenArrayCopy(returning) : void 0;\n\t\tthis.freeze();\n\t}\n\tstatic from(table) {\n\t\treturn new DeleteAst(table);\n\t}\n\twithWhere(where) {\n\t\treturn new DeleteAst(this.table, where, this.returning);\n\t}\n\twithReturning(returning) {\n\t\treturn new DeleteAst(this.table, this.where, returning);\n\t}\n\trewrite(rewriter) {\n\t\treturn new DeleteAst(rewriteTableSource(this.table, rewriter), this.where?.rewrite(rewriter), this.returning?.map((item) => rewriteProjectionItem(item, rewriter)));\n\t}\n\tcollectParamRefs() {\n\t\tconst refs = [];\n\t\tif (this.where) refs.push(...this.where.collectParamRefs());\n\t\tfor (const item of this.returning ?? []) if (item.expr.kind !== \"literal\") refs.push(...item.expr.collectParamRefs());\n\t\treturn refs;\n\t}\n\ttoQueryAst() {\n\t\treturn this;\n\t}\n};\n/**\n* Raw-SQL query AST node carrying interpolated parameter / expression nodes\n* embedded inside literal SQL fragments.\n*\n* `fragments` and `args` are interleaved during lowering:\n* `fragments[0] + lower(args[0]) + fragments[1] + ... + fragments[n]`.\n* Construction enforces `fragments.length === args.length + 1`.\n*\n* Extends {@link QueryAst} (whole-query AST, not a sub-expression).\n* Construction does not validate that each arg is a `ParamRef` /\n* `AnyExpression`: the type system already rejects bare values because\n* `args` is typed `readonly AnyExpression[]`. The user-facing `raw\\`...\\``\n* factory (separate `sql-raw-factory` component) layers stricter\n* type-level rejection on top of this AST node.\n*/\nvar RawSqlExpr = class RawSqlExpr extends QueryAst {\n\tkind = \"raw-sql\";\n\tfragments;\n\targs;\n\tconstructor(fragments, args) {\n\t\tsuper();\n\t\tif (fragments.length !== args.length + 1) throw new InternalError(`RawSqlExpr: fragments.length must equal args.length + 1 (got fragments=${fragments.length}, args=${args.length})`);\n\t\tthis.fragments = Object.freeze([...fragments]);\n\t\tthis.args = Object.freeze([...args]);\n\t\tthis.freeze();\n\t}\n\tstatic of(fragments, args) {\n\t\treturn new RawSqlExpr(fragments, args);\n\t}\n\tcollectParamRefs() {\n\t\tconst refs = [];\n\t\tfor (const arg of this.args) if (arg.kind === \"param-ref\") refs.push(arg);\n\t\telse refs.push(...arg.collectParamRefs());\n\t\treturn refs;\n\t}\n\ttoQueryAst() {\n\t\treturn this;\n\t}\n};\nconst queryAstKinds = /* @__PURE__ */ new Set([\n\t\"select\",\n\t\"insert\",\n\t\"update\",\n\t\"delete\",\n\t\"raw-sql\"\n]);\nconst whereExprKinds = /* @__PURE__ */ new Set([\n\t\"binary\",\n\t\"and\",\n\t\"or\",\n\t\"exists\",\n\t\"null-check\",\n\t\"not\"\n]);\nfunction isQueryAst(value) {\n\treturn typeof value === \"object\" && value !== null && \"kind\" in value && typeof value.kind === \"string\" && queryAstKinds.has(value.kind);\n}\nfunction isWhereExpr(value) {\n\treturn typeof value === \"object\" && value !== null && \"kind\" in value && typeof value.kind === \"string\" && whereExprKinds.has(value.kind);\n}\n//#endregion\nexport { PreparedParamRef as A, isWhereExpr as B, LiteralExpr as C, OrExpr as D, OperationExpr as E, SubqueryExpr as F, whereExprKinds as H, TableSource as I, UpdateAst as L, RawExpr as M, RawSqlExpr as N, OrderByItem as O, SelectAst as P, WindowFuncExpr as R, ListExpression as S, NullCheckExpr as T, queryAstKinds as V, InsertAst as _, CastExpr as a, JsonArrayAggExpr as b, DeleteAst as c, DoUpdateSetConflictAction as d, EqColJoinOn as f, IdentifierRef as g, FunctionSource as h, CaseExpr as i, ProjectionItem as j, ParamRef as k, DerivedTableSource as l, FunctionCallExpr as m, AndExpr as n, ColumnRef as o, ExistsExpr as p, BinaryExpr as r, DefaultValueExpr as s, AggregateExpr as t, DoNothingConflictAction as u, InsertOnConflict as v, NotExpr as w, JsonObjectExpr as x, JoinAst as y, isQueryAst as z };\n\n//# sourceMappingURL=types-D-_2ZCos.mjs.map"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prisma/orm-family-sql",
3
- "version": "8.0.0-rc.1-dev.5",
3
+ "version": "8.0.0-rc.1-dev.6",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -9,8 +9,8 @@
9
9
  "dist"
10
10
  ],
11
11
  "dependencies": {
12
- "@prisma/orm-framework": "8.0.0-rc.1-dev.5",
13
- "@prisma/orm-toolchain": "8.0.0-rc.1-dev.5",
12
+ "@prisma/orm-framework": "8.0.0-rc.1-dev.6",
13
+ "@prisma/orm-toolchain": "8.0.0-rc.1-dev.6",
14
14
  "@standard-schema/spec": "^1.1.0",
15
15
  "arktype": "^2.2.2",
16
16
  "pathe": "^2.0.3",
@@ -18,21 +18,21 @@
18
18
  "ts-toolbelt": "^9.6.0"
19
19
  },
20
20
  "devDependencies": {
21
- "@internal/family-sql": "8.0.0-rc.1-dev.5",
22
- "@internal/sql-builder": "8.0.0-rc.1-dev.5",
23
- "@internal/sql-contract": "8.0.0-rc.1-dev.5",
24
- "@internal/sql-contract-emitter": "8.0.0-rc.1-dev.5",
25
- "@internal/sql-contract-psl": "8.0.0-rc.1-dev.5",
26
- "@internal/sql-contract-ts": "8.0.0-rc.1-dev.5",
27
- "@internal/sql-errors": "8.0.0-rc.1-dev.5",
28
- "@internal/sql-lane-query-builder": "8.0.0-rc.1-dev.5",
29
- "@internal/sql-operations": "8.0.0-rc.1-dev.5",
30
- "@internal/sql-orm-client": "8.0.0-rc.1-dev.5",
31
- "@internal/sql-relational-core": "8.0.0-rc.1-dev.5",
32
- "@internal/sql-runtime": "8.0.0-rc.1-dev.5",
33
- "@internal/sql-schema-ir": "8.0.0-rc.1-dev.5",
34
- "@repo/tsconfig": "8.0.0-rc.1-dev.5",
35
- "@repo/tsdown": "8.0.0-rc.1-dev.5",
21
+ "@internal/family-sql": "8.0.0-rc.1-dev.6",
22
+ "@internal/sql-builder": "8.0.0-rc.1-dev.6",
23
+ "@internal/sql-contract": "8.0.0-rc.1-dev.6",
24
+ "@internal/sql-contract-emitter": "8.0.0-rc.1-dev.6",
25
+ "@internal/sql-contract-psl": "8.0.0-rc.1-dev.6",
26
+ "@internal/sql-contract-ts": "8.0.0-rc.1-dev.6",
27
+ "@internal/sql-errors": "8.0.0-rc.1-dev.6",
28
+ "@internal/sql-lane-query-builder": "8.0.0-rc.1-dev.6",
29
+ "@internal/sql-operations": "8.0.0-rc.1-dev.6",
30
+ "@internal/sql-orm-client": "8.0.0-rc.1-dev.6",
31
+ "@internal/sql-relational-core": "8.0.0-rc.1-dev.6",
32
+ "@internal/sql-runtime": "8.0.0-rc.1-dev.6",
33
+ "@internal/sql-schema-ir": "8.0.0-rc.1-dev.6",
34
+ "@repo/tsconfig": "8.0.0-rc.1-dev.6",
35
+ "@repo/tsdown": "8.0.0-rc.1-dev.6",
36
36
  "tsdown": "0.22.14",
37
37
  "typescript": "5.9.3"
38
38
  },
@@ -1 +0,0 @@
1
- {"version":3,"file":"types-D43EhRac-DOJmnq_t.mjs","names":["#asAnyExpression","#aliasOptions"],"sources":["../../../../2-sql/4-lanes/relational-core/dist/types-D43EhRac.mjs"],"sourcesContent":["import { t as frozenCodecRef } from \"./codec-types-B_xmJL2m.mjs\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { structuredError } from \"@internal/utils/structured-error\";\nimport { InternalError } from \"@internal/utils/internal-error\";\n//#region src/ast/types.ts\nconst toAnyExpressionVisitor = {\n\tcolumnRef: (expr) => expr,\n\tidentifierRef: (expr) => expr,\n\tsubquery: (expr) => expr,\n\toperation: (expr) => expr,\n\taggregate: (expr) => expr,\n\twindowFunc: (expr) => expr,\n\tfunctionCall: (expr) => expr,\n\tcast: (expr) => expr,\n\tcase: (expr) => expr,\n\tjsonObject: (expr) => expr,\n\tjsonArrayAgg: (expr) => expr,\n\tbinary: (expr) => expr,\n\tand: (expr) => expr,\n\tor: (expr) => expr,\n\texists: (expr) => expr,\n\tnullCheck: (expr) => expr,\n\tnot: (expr) => expr,\n\tliteral: (expr) => expr,\n\tparam: (expr) => expr,\n\tpreparedParam: (expr) => expr,\n\tlist: (expr) => expr,\n\trawExpr: (expr) => expr\n};\nfunction frozenArrayCopy(values) {\n\treturn Object.freeze([...values]);\n}\nfunction frozenOptionalRecordCopy(value) {\n\treturn value === void 0 ? void 0 : Object.freeze({ ...value });\n}\nfunction frozenRecordCopy(record) {\n\treturn Object.freeze({ ...record });\n}\nfunction freezeRows(rows) {\n\treturn Object.freeze(rows.map((row) => Object.freeze({ ...row })));\n}\nfunction combineAll(folder, thunks) {\n\tlet result = folder.empty;\n\tfor (const thunk of thunks) {\n\t\tif (folder.isAbsorbing?.(result)) return result;\n\t\tresult = folder.combine(result, thunk());\n\t}\n\treturn result;\n}\nfunction rewriteComparable(value, rewriter) {\n\tswitch (value.kind) {\n\t\tcase \"param-ref\": return rewriter.paramRef ? rewriter.paramRef(value) : value;\n\t\tcase \"prepared-param-ref\": return rewriter.preparedParamRef ? rewriter.preparedParamRef(value) : value;\n\t\tcase \"literal\": return rewriter.literal ? rewriter.literal(value) : value;\n\t\tcase \"list\":\n\t\t\tif (rewriter.list) return rewriter.list(value);\n\t\t\treturn value.rewrite(rewriter);\n\t\tdefault: return value.rewrite(rewriter);\n\t}\n}\nfunction foldComparable(value, folder) {\n\tswitch (value.kind) {\n\t\tcase \"param-ref\": return folder.paramRef ? folder.paramRef(value) : folder.empty;\n\t\tcase \"prepared-param-ref\": return folder.preparedParamRef ? folder.preparedParamRef(value) : folder.empty;\n\t\tcase \"literal\": return folder.literal ? folder.literal(value) : folder.empty;\n\t\tcase \"list\": return value.fold(folder);\n\t\tdefault: return value.fold(folder);\n\t}\n}\nfunction collectColumnRefsWith(node) {\n\treturn node.fold({\n\t\tempty: [],\n\t\tcombine: (a, b) => [...a, ...b],\n\t\tcolumnRef: (columnRef) => [columnRef],\n\t\tselect: (ast) => ast.collectColumnRefs()\n\t});\n}\nfunction collectParamRefsWith(node) {\n\treturn node.fold({\n\t\tempty: [],\n\t\tcombine: (a, b) => [...a, ...b],\n\t\tparamRef: (paramRef) => [paramRef],\n\t\tpreparedParamRef: (paramRef) => [paramRef],\n\t\tselect: (ast) => ast.collectParamRefs()\n\t});\n}\nfunction rewriteTableSource(table, rewriter) {\n\treturn rewriter.tableSource ? rewriter.tableSource(table) : table;\n}\nfunction rewriteProjectionItem(item, rewriter) {\n\tconst rewrittenExpr = item.expr.kind === \"literal\" ? rewriter.literal ? rewriter.literal(item.expr) : item.expr : item.expr.rewrite(rewriter);\n\treturn new ProjectionItem(item.alias, rewrittenExpr, item.codec);\n}\nfunction rewriteInsertValue(value, rewriter) {\n\tswitch (value.kind) {\n\t\tcase \"param-ref\": return rewriter.paramRef ? rewriteParamRefForInsert(value, rewriter) : value;\n\t\tcase \"prepared-param-ref\": return rewriter.preparedParamRef ? rewriter.preparedParamRef(value) : value;\n\t\tcase \"column-ref\": return rewriter.columnRef ? rewriteColumnRefForInsert(value, rewriter) : value;\n\t\tcase \"default-value\": return value;\n\t\tcase \"raw-expr\": return value;\n\t}\n}\nfunction rewriteParamRefForInsert(value, rewriter) {\n\tconst rewritten = rewriter.paramRef ? rewriter.paramRef(value) : value;\n\treturn rewritten.kind === \"param-ref\" ? rewritten : value;\n}\nfunction rewriteColumnRefForInsert(value, rewriter) {\n\tconst rewritten = rewriter.columnRef ? rewriter.columnRef(value) : value;\n\treturn rewritten.kind === \"column-ref\" ? rewritten : value;\n}\nfunction rewriteInsertRow(row, rewriter) {\n\tconst result = {};\n\tfor (const [key, value] of Object.entries(row)) result[key] = rewriteInsertValue(value, rewriter);\n\treturn result;\n}\nfunction rewriteUpdateSet(set, rewriter) {\n\tconst result = {};\n\tfor (const [key, value] of Object.entries(set)) result[key] = value.rewrite(rewriter);\n\treturn result;\n}\nfunction rewriteLimitOffset(value, rewriter) {\n\tif (value === void 0 || typeof value === \"number\") return value;\n\treturn value.rewrite(rewriter);\n}\nfunction rewriteOnConflict(onConflict, rewriter) {\n\tconst columns = onConflict.columns.map((columnRef) => {\n\t\tconst rewritten = rewriter.columnRef ? rewriter.columnRef(columnRef) : columnRef;\n\t\treturn rewritten.kind === \"column-ref\" ? rewritten : columnRef;\n\t});\n\tif (onConflict.action.kind === \"do-nothing\") return new InsertOnConflict(columns, new DoNothingConflictAction());\n\treturn new InsertOnConflict(columns, new DoUpdateSetConflictAction(rewriteUpdateSet(onConflict.action.set, rewriter)));\n}\nvar AstNode = class {\n\tfreeze() {\n\t\tObject.freeze(this);\n\t}\n};\nvar QueryAst = class extends AstNode {};\nvar FromSource = class extends AstNode {};\nvar Expression = class extends AstNode {\n\tcollectColumnRefs() {\n\t\treturn collectColumnRefsWith(this);\n\t}\n\tcollectParamRefs() {\n\t\treturn collectParamRefsWith(this);\n\t}\n\tbaseColumnRef() {\n\t\tthrow new InternalError(`${this.constructor.name} does not expose a base column reference`);\n\t}\n\t#asAnyExpression() {\n\t\treturn this.accept(toAnyExpressionVisitor);\n\t}\n\ttoExpr() {\n\t\treturn this.#asAnyExpression();\n\t}\n\tnot() {\n\t\treturn new NotExpr(this.#asAnyExpression());\n\t}\n};\nvar TableSource = class TableSource extends FromSource {\n\tkind = \"table-source\";\n\tname;\n\talias;\n\t/**\n\t* Resolved storage namespace coordinate for this table, stamped when the\n\t* table proxy constructs the AST. Renderers qualify via the namespace\n\t* concretion's `qualifyTable()` using this id — never by re-resolving the\n\t* bare table name at render time.\n\t*/\n\tnamespaceId;\n\tconstructor(name, alias, namespaceId) {\n\t\tsuper();\n\t\tthis.name = name;\n\t\tthis.alias = alias;\n\t\tthis.namespaceId = namespaceId;\n\t}\n\tstatic named(name, alias, namespaceId) {\n\t\tconst source = new TableSource(name, alias, namespaceId);\n\t\tsource.freeze();\n\t\treturn source;\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.tableSource ? rewriter.tableSource(this) : this;\n\t}\n\ttoFromSource() {\n\t\treturn this;\n\t}\n};\nvar DerivedTableSource = class DerivedTableSource extends FromSource {\n\tkind = \"derived-table-source\";\n\talias;\n\tquery;\n\tconstructor(alias, query) {\n\t\tsuper();\n\t\tthis.alias = alias;\n\t\tthis.query = query;\n\t\tthis.freeze();\n\t}\n\tstatic as(alias, query) {\n\t\treturn new DerivedTableSource(alias, query);\n\t}\n\trewrite(rewriter) {\n\t\treturn new DerivedTableSource(this.alias, this.query.rewrite(rewriter));\n\t}\n\ttoFromSource() {\n\t\treturn this;\n\t}\n};\nvar FunctionSource = class FunctionSource extends FromSource {\n\tkind = \"function-source\";\n\tfn;\n\targs;\n\talias;\n\tcolumnAliases;\n\tordinality;\n\tconstructor(fn, args, alias, ordinality = false) {\n\t\tsuper();\n\t\tif (alias?.columnAliases?.length === 0) throw structuredError(\"SQL.AST_INVALID\", \"FunctionSource column aliases must not be empty\", { meta: {\n\t\t\tkind: \"function-source\",\n\t\t\tfield: \"columnAliases\"\n\t\t} });\n\t\tthis.fn = fn;\n\t\tthis.args = frozenArrayCopy(args);\n\t\tthis.alias = alias?.alias;\n\t\tthis.columnAliases = alias?.columnAliases === void 0 ? void 0 : frozenArrayCopy(alias.columnAliases);\n\t\tthis.ordinality = ordinality;\n\t\tthis.freeze();\n\t}\n\tstatic of(fn, args, alias) {\n\t\treturn new FunctionSource(fn, args, alias);\n\t}\n\t#aliasOptions() {\n\t\tif (this.alias === void 0) return void 0;\n\t\treturn {\n\t\t\talias: this.alias,\n\t\t\t...ifDefined(\"columnAliases\", this.columnAliases)\n\t\t};\n\t}\n\twithOrdinality() {\n\t\tif (this.ordinality) return this;\n\t\treturn new FunctionSource(this.fn, this.args, this.#aliasOptions(), true);\n\t}\n\trewrite(rewriter) {\n\t\tconst rewrittenArgs = this.args.map((arg) => rewriteComparable(arg, rewriter));\n\t\tif (rewrittenArgs.every((arg, i) => arg === this.args[i])) return this;\n\t\treturn new FunctionSource(this.fn, rewrittenArgs, this.#aliasOptions(), this.ordinality);\n\t}\n\ttoFromSource() {\n\t\treturn this;\n\t}\n};\nvar ColumnRef = class ColumnRef extends Expression {\n\tkind = \"column-ref\";\n\ttable;\n\tcolumn;\n\tconstructor(table, column) {\n\t\tsuper();\n\t\tthis.table = table;\n\t\tthis.column = column;\n\t\tthis.freeze();\n\t}\n\tstatic of(table, column) {\n\t\treturn new ColumnRef(table, column);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.columnRef(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.columnRef ? rewriter.columnRef(this) : this;\n\t}\n\tfold(folder) {\n\t\treturn folder.columnRef ? folder.columnRef(this) : folder.empty;\n\t}\n\tbaseColumnRef() {\n\t\treturn this;\n\t}\n};\nvar IdentifierRef = class IdentifierRef extends Expression {\n\tkind = \"identifier-ref\";\n\tname;\n\tconstructor(name) {\n\t\tsuper();\n\t\tthis.name = name;\n\t\tthis.freeze();\n\t}\n\tstatic of(name) {\n\t\treturn new IdentifierRef(name);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.identifierRef(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.identifierRef ? rewriter.identifierRef(this) : this;\n\t}\n\tfold(folder) {\n\t\treturn folder.identifierRef ? folder.identifierRef(this) : folder.empty;\n\t}\n};\nvar ParamRef = class ParamRef extends Expression {\n\tkind = \"param-ref\";\n\tvalue;\n\tname;\n\t/**\n\t* Codec identity carried by every column-bound `ParamRef`. The encode-side dispatch path materialises the per-instance codec through `contractCodecs.forCodecRef(codec)` — content-keyed memoisation on `(codecId, canonicalize(typeParams))` keeps repeated lookups for the same logical column on one shared {@link Codec}.\n\t*\n\t* `codec` may be `undefined` for `ParamRef`s constructed without a column-bound site (literals, transient builder state); the runtime treats those as untyped passthroughs.\n\t*/\n\tcodec;\n\tconstructor(value, options) {\n\t\tsuper();\n\t\tthis.value = value;\n\t\tthis.name = options?.name;\n\t\tthis.codec = options?.codec ? frozenCodecRef(options.codec) : void 0;\n\t\tthis.freeze();\n\t}\n\tstatic of(value, options) {\n\t\treturn new ParamRef(value, options);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.param(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.paramRef ? rewriter.paramRef(this) : this;\n\t}\n\tfold(folder) {\n\t\treturn folder.paramRef ? folder.paramRef(this) : folder.empty;\n\t}\n};\n/**\n* Bind-site placeholder: occupies the same positions as `ParamRef` in the\n* AST, but carries no value — the value is supplied per-execute by the\n* `PreparedStatement.execute(params)` caller and matched to this node by\n* `name`.\n*/\nvar PreparedParamRef = class PreparedParamRef extends Expression {\n\tkind = \"prepared-param-ref\";\n\tname;\n\tcodec;\n\tconstructor(name, codec) {\n\t\tsuper();\n\t\tthis.name = name;\n\t\tthis.codec = frozenCodecRef(codec);\n\t\tthis.freeze();\n\t}\n\tstatic of(name, codec) {\n\t\treturn new PreparedParamRef(name, codec);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.preparedParam(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.preparedParamRef ? rewriter.preparedParamRef(this) : this;\n\t}\n\tfold(folder) {\n\t\treturn folder.preparedParamRef ? folder.preparedParamRef(this) : folder.empty;\n\t}\n};\nvar DefaultValueExpr = class extends AstNode {\n\tkind = \"default-value\";\n\tconstructor() {\n\t\tsuper();\n\t\tthis.freeze();\n\t}\n};\nvar LiteralExpr = class LiteralExpr extends Expression {\n\tkind = \"literal\";\n\tvalue;\n\tconstructor(value) {\n\t\tsuper();\n\t\tthis.value = value;\n\t\tthis.freeze();\n\t}\n\tstatic of(value) {\n\t\treturn new LiteralExpr(value);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.literal(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.literal ? rewriter.literal(this) : this;\n\t}\n\tfold(folder) {\n\t\treturn folder.literal ? folder.literal(this) : folder.empty;\n\t}\n};\nvar SubqueryExpr = class SubqueryExpr extends Expression {\n\tkind = \"subquery\";\n\tquery;\n\tconstructor(query) {\n\t\tsuper();\n\t\tthis.query = query;\n\t\tthis.freeze();\n\t}\n\tstatic of(query) {\n\t\treturn new SubqueryExpr(query);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.subquery(this);\n\t}\n\trewrite(rewriter) {\n\t\tconst query = this.query.rewrite(rewriter);\n\t\treturn new SubqueryExpr(query);\n\t}\n\tfold(folder) {\n\t\treturn folder.select ? folder.select(this.query) : folder.empty;\n\t}\n};\nvar OperationExpr = class OperationExpr extends Expression {\n\tkind = \"operation\";\n\tmethod;\n\tself;\n\targs;\n\treturns;\n\tlowering;\n\tconstructor(options) {\n\t\tsuper();\n\t\tthis.method = options.method;\n\t\tthis.self = options.self;\n\t\tthis.args = frozenArrayCopy(options.args ?? []);\n\t\tthis.returns = options.returns;\n\t\tthis.lowering = options.lowering;\n\t\tthis.freeze();\n\t}\n\taccept(visitor) {\n\t\treturn visitor.operation(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new OperationExpr({\n\t\t\tmethod: this.method,\n\t\t\tself: this.self.rewrite(rewriter),\n\t\t\targs: this.args.map((arg) => rewriteComparable(arg, rewriter)),\n\t\t\treturns: this.returns,\n\t\t\tlowering: this.lowering\n\t\t});\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, [() => this.self.fold(folder), ...this.args.map((arg) => () => foldComparable(arg, folder))]);\n\t}\n\tbaseColumnRef() {\n\t\treturn this.self.baseColumnRef();\n\t}\n};\nvar RawExpr = class extends Expression {\n\tkind = \"raw-expr\";\n\tparts;\n\treturns;\n\tconstructor(options) {\n\t\tsuper();\n\t\tthis.parts = frozenArrayCopy(options.parts);\n\t\tthis.returns = options.returns;\n\t\tthis.freeze();\n\t}\n\taccept(visitor) {\n\t\treturn visitor.rawExpr(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.rawExpr ? rewriter.rawExpr(this) : this;\n\t}\n\tfold(folder) {\n\t\tif (folder.rawExpr) return folder.rawExpr(this);\n\t\treturn combineAll(folder, this.parts.filter((p) => typeof p !== \"string\").map((p) => () => p.fold(folder)));\n\t}\n};\nvar AggregateExpr = class AggregateExpr extends Expression {\n\tkind = \"aggregate\";\n\tfn;\n\texpr;\n\tconstructor(fn, expr) {\n\t\tsuper();\n\t\tif (fn !== \"count\" && expr === void 0) throw structuredError(\"ORM.ARGUMENT_INVALID\", `Aggregate function \"${fn}\" requires an expression`, { meta: { fn } });\n\t\tthis.fn = fn;\n\t\tthis.expr = expr;\n\t\tthis.freeze();\n\t}\n\tstatic count(expr) {\n\t\treturn new AggregateExpr(\"count\", expr);\n\t}\n\tstatic sum(expr) {\n\t\treturn new AggregateExpr(\"sum\", expr);\n\t}\n\tstatic avg(expr) {\n\t\treturn new AggregateExpr(\"avg\", expr);\n\t}\n\tstatic min(expr) {\n\t\treturn new AggregateExpr(\"min\", expr);\n\t}\n\tstatic max(expr) {\n\t\treturn new AggregateExpr(\"max\", expr);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.aggregate(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn this.expr === void 0 ? this : new AggregateExpr(this.fn, this.expr.rewrite(rewriter));\n\t}\n\tfold(folder) {\n\t\treturn this.expr ? this.expr.fold(folder) : folder.empty;\n\t}\n};\n/**\n* Window function call: `fn(args) OVER (PARTITION BY ... ORDER BY ...)`.\n*\n* Both `partitionBy` and `orderBy` are optional; an empty `OVER ()`\n* clause is legal SQL but rarely useful. For `ROW_NUMBER`, `RANK`, and\n* `DENSE_RANK` the standard mandates an `ORDER BY` for deterministic\n* results — callers are expected to provide one, but the AST does not\n* enforce it.\n*\n* The `args` slot exists for future window function additions that take\n* arguments (e.g. `COUNT(*) OVER`, `SUM(x) OVER`); `ROW_NUMBER` and the\n* other ranking functions take no arguments.\n*/\nvar WindowFuncExpr = class WindowFuncExpr extends Expression {\n\tkind = \"window-func\";\n\tfn;\n\targs;\n\tpartitionBy;\n\torderBy;\n\tconstructor(options) {\n\t\tsuper();\n\t\tthis.fn = options.fn;\n\t\tthis.args = options.args && options.args.length > 0 ? frozenArrayCopy(options.args) : [];\n\t\tthis.partitionBy = options.partitionBy && options.partitionBy.length > 0 ? frozenArrayCopy(options.partitionBy) : void 0;\n\t\tthis.orderBy = options.orderBy && options.orderBy.length > 0 ? frozenArrayCopy(options.orderBy) : void 0;\n\t\tthis.freeze();\n\t}\n\tstatic rowNumber(options) {\n\t\treturn new WindowFuncExpr({\n\t\t\tfn: \"row_number\",\n\t\t\t...options\n\t\t});\n\t}\n\taccept(visitor) {\n\t\treturn visitor.windowFunc(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new WindowFuncExpr({\n\t\t\tfn: this.fn,\n\t\t\targs: this.args.map((arg) => arg.rewrite(rewriter)),\n\t\t\t...ifDefined(\"partitionBy\", this.partitionBy?.map((expr) => expr.rewrite(rewriter))),\n\t\t\t...ifDefined(\"orderBy\", this.orderBy?.map((orderItem) => orderItem.rewrite(rewriter)))\n\t\t});\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, [\n\t\t\t...this.args.map((arg) => () => arg.fold(folder)),\n\t\t\t...(this.partitionBy ?? []).map((expr) => () => expr.fold(folder)),\n\t\t\t...(this.orderBy ?? []).map((orderItem) => () => orderItem.expr.fold(folder))\n\t\t]);\n\t}\n};\nvar FunctionCallExpr = class FunctionCallExpr extends Expression {\n\tkind = \"function-call\";\n\tfn;\n\targs;\n\tconstructor(fn, args) {\n\t\tsuper();\n\t\tthis.fn = fn;\n\t\tthis.args = frozenArrayCopy(args);\n\t\tthis.freeze();\n\t}\n\tstatic of(fn, args) {\n\t\treturn new FunctionCallExpr(fn, args);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.functionCall(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new FunctionCallExpr(this.fn, this.args.map((arg) => arg.rewrite(rewriter)));\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, this.args.map((arg) => () => arg.fold(folder)));\n\t}\n};\nvar CastExpr = class CastExpr extends Expression {\n\tkind = \"cast\";\n\texpr;\n\ttargetType;\n\tconstructor(expr, targetType) {\n\t\tsuper();\n\t\tthis.expr = expr;\n\t\tthis.targetType = targetType;\n\t\tthis.freeze();\n\t}\n\tstatic as(expr, targetType) {\n\t\treturn new CastExpr(expr, targetType);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.cast(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new CastExpr(this.expr.rewrite(rewriter), this.targetType);\n\t}\n\tfold(folder) {\n\t\treturn this.expr.fold(folder);\n\t}\n};\nvar CaseExpr = class CaseExpr extends Expression {\n\tkind = \"case\";\n\tbranches;\n\telseExpr;\n\tconstructor(branches, elseExpr) {\n\t\tsuper();\n\t\tif (branches.length === 0) throw structuredError(\"SQL.AST_INVALID\", \"CaseExpr requires at least one branch\", { meta: {\n\t\t\tkind: \"case\",\n\t\t\tfield: \"branches\"\n\t\t} });\n\t\tthis.branches = Object.freeze(branches.map((branch) => Object.freeze({\n\t\t\tcondition: branch.condition,\n\t\t\tvalue: branch.value\n\t\t})));\n\t\tthis.elseExpr = elseExpr;\n\t\tthis.freeze();\n\t}\n\tstatic of(branches, elseExpr) {\n\t\treturn new CaseExpr(branches, elseExpr);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.case(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new CaseExpr(this.branches.map((branch) => ({\n\t\t\tcondition: branch.condition.rewrite(rewriter),\n\t\t\tvalue: branch.value.rewrite(rewriter)\n\t\t})), this.elseExpr?.rewrite(rewriter));\n\t}\n\tfold(folder) {\n\t\tconst elseExpr = this.elseExpr;\n\t\treturn combineAll(folder, [...this.branches.flatMap((branch) => [() => branch.condition.fold(folder), () => branch.value.fold(folder)]), ...elseExpr === void 0 ? [] : [() => elseExpr.fold(folder)]]);\n\t}\n};\nvar JsonObjectExpr = class JsonObjectExpr extends Expression {\n\tkind = \"json-object\";\n\tentries;\n\tconstructor(entries) {\n\t\tsuper();\n\t\tthis.entries = frozenArrayCopy(entries.map((entry) => Object.freeze({ ...entry })));\n\t\tthis.freeze();\n\t}\n\tstatic entry(key, value) {\n\t\treturn {\n\t\t\tkey,\n\t\t\tvalue\n\t\t};\n\t}\n\tstatic fromEntries(entries) {\n\t\treturn new JsonObjectExpr(entries);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.jsonObject(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new JsonObjectExpr(this.entries.map((entry) => ({\n\t\t\tkey: entry.key,\n\t\t\tvalue: entry.value.rewrite(rewriter)\n\t\t})));\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, this.entries.map((entry) => () => entry.value.fold(folder)));\n\t}\n};\nvar OrderByItem = class OrderByItem extends AstNode {\n\tkind = \"order-by-item\";\n\texpr;\n\tdir;\n\tconstructor(expr, dir) {\n\t\tsuper();\n\t\tthis.expr = expr;\n\t\tthis.dir = dir;\n\t\tthis.freeze();\n\t}\n\tstatic asc(expr) {\n\t\treturn new OrderByItem(expr, \"asc\");\n\t}\n\tstatic desc(expr) {\n\t\treturn new OrderByItem(expr, \"desc\");\n\t}\n\trewrite(rewriter) {\n\t\treturn new OrderByItem(this.expr.rewrite(rewriter), this.dir);\n\t}\n\t/**\n\t* A new frozen item with the sort direction flipped and `expr` unchanged.\n\t* Integrations that own pagination (e.g. backward cursor pagination) use\n\t* this to reverse a user's sort order without reaching into the AST.\n\t*/\n\treverse() {\n\t\treturn new OrderByItem(this.expr, this.dir === \"asc\" ? \"desc\" : \"asc\");\n\t}\n};\nvar JsonArrayAggExpr = class JsonArrayAggExpr extends Expression {\n\tkind = \"json-array-agg\";\n\texpr;\n\tonEmpty;\n\torderBy;\n\tconstructor(expr, onEmpty = \"null\", orderBy) {\n\t\tsuper();\n\t\tthis.expr = expr;\n\t\tthis.onEmpty = onEmpty;\n\t\tthis.orderBy = orderBy && orderBy.length > 0 ? frozenArrayCopy(orderBy) : void 0;\n\t\tthis.freeze();\n\t}\n\tstatic of(expr, onEmpty = \"null\", orderBy) {\n\t\treturn new JsonArrayAggExpr(expr, onEmpty, orderBy);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.jsonArrayAgg(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new JsonArrayAggExpr(this.expr.rewrite(rewriter), this.onEmpty, this.orderBy?.map((orderItem) => orderItem.rewrite(rewriter)));\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, [() => this.expr.fold(folder), ...(this.orderBy ?? []).map((orderItem) => () => orderItem.expr.fold(folder))]);\n\t}\n};\nvar ListExpression = class ListExpression extends Expression {\n\tkind = \"list\";\n\tvalues;\n\tconstructor(values) {\n\t\tsuper();\n\t\tthis.values = frozenArrayCopy(values);\n\t\tthis.freeze();\n\t}\n\tstatic of(values) {\n\t\treturn new ListExpression(values);\n\t}\n\tstatic fromValues(values) {\n\t\treturn new ListExpression(values.map((value) => new LiteralExpr(value)));\n\t}\n\taccept(visitor) {\n\t\treturn visitor.list(this);\n\t}\n\trewrite(rewriter) {\n\t\tif (rewriter.list) return rewriter.list(this);\n\t\treturn new ListExpression(this.values.map((value) => value.rewrite(rewriter)));\n\t}\n\tfold(folder) {\n\t\tif (folder.list) return folder.list(this);\n\t\treturn combineAll(folder, this.values.map((value) => () => value.fold(folder)));\n\t}\n};\nvar BinaryExpr = class BinaryExpr extends Expression {\n\tkind = \"binary\";\n\top;\n\tleft;\n\tright;\n\tconstructor(op, left, right) {\n\t\tsuper();\n\t\tthis.op = op;\n\t\tthis.left = left;\n\t\tthis.right = right;\n\t\tthis.freeze();\n\t}\n\tstatic eq(left, right) {\n\t\treturn new BinaryExpr(\"eq\", left, right);\n\t}\n\tstatic neq(left, right) {\n\t\treturn new BinaryExpr(\"neq\", left, right);\n\t}\n\tstatic gt(left, right) {\n\t\treturn new BinaryExpr(\"gt\", left, right);\n\t}\n\tstatic lt(left, right) {\n\t\treturn new BinaryExpr(\"lt\", left, right);\n\t}\n\tstatic gte(left, right) {\n\t\treturn new BinaryExpr(\"gte\", left, right);\n\t}\n\tstatic lte(left, right) {\n\t\treturn new BinaryExpr(\"lte\", left, right);\n\t}\n\tstatic like(left, right) {\n\t\treturn new BinaryExpr(\"like\", left, right);\n\t}\n\tstatic in(left, right) {\n\t\treturn new BinaryExpr(\"in\", left, right);\n\t}\n\tstatic notIn(left, right) {\n\t\treturn new BinaryExpr(\"notIn\", left, right);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.binary(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new BinaryExpr(this.op, rewriteComparable(this.left, rewriter), rewriteComparable(this.right, rewriter));\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, [() => foldComparable(this.left, folder), () => foldComparable(this.right, folder)]);\n\t}\n};\nvar AndExpr = class AndExpr extends Expression {\n\tkind = \"and\";\n\texprs;\n\tconstructor(exprs) {\n\t\tsuper();\n\t\tthis.exprs = frozenArrayCopy(exprs);\n\t\tthis.freeze();\n\t}\n\tstatic of(exprs) {\n\t\treturn new AndExpr(exprs);\n\t}\n\tstatic true() {\n\t\treturn new AndExpr([]);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.and(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new AndExpr(this.exprs.map((expr) => expr.rewrite(rewriter)));\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, this.exprs.map((expr) => () => expr.fold(folder)));\n\t}\n};\nvar OrExpr = class OrExpr extends Expression {\n\tkind = \"or\";\n\texprs;\n\tconstructor(exprs) {\n\t\tsuper();\n\t\tthis.exprs = frozenArrayCopy(exprs);\n\t\tthis.freeze();\n\t}\n\tstatic of(exprs) {\n\t\treturn new OrExpr(exprs);\n\t}\n\tstatic false() {\n\t\treturn new OrExpr([]);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.or(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new OrExpr(this.exprs.map((expr) => expr.rewrite(rewriter)));\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, this.exprs.map((expr) => () => expr.fold(folder)));\n\t}\n};\nvar ExistsExpr = class ExistsExpr extends Expression {\n\tkind = \"exists\";\n\tnotExists;\n\tsubquery;\n\tconstructor(subquery, notExists = false) {\n\t\tsuper();\n\t\tthis.notExists = notExists;\n\t\tthis.subquery = subquery;\n\t\tthis.freeze();\n\t}\n\tstatic exists(subquery) {\n\t\treturn new ExistsExpr(subquery, false);\n\t}\n\tstatic notExists(subquery) {\n\t\treturn new ExistsExpr(subquery, true);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.exists(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new ExistsExpr(this.subquery.rewrite(rewriter), this.notExists);\n\t}\n\tfold(folder) {\n\t\treturn folder.select ? folder.select(this.subquery) : folder.empty;\n\t}\n};\nvar NullCheckExpr = class NullCheckExpr extends Expression {\n\tkind = \"null-check\";\n\texpr;\n\tisNull;\n\tconstructor(expr, isNull) {\n\t\tsuper();\n\t\tthis.expr = expr;\n\t\tthis.isNull = isNull;\n\t\tthis.freeze();\n\t}\n\tstatic isNull(expr) {\n\t\treturn new NullCheckExpr(expr, true);\n\t}\n\tstatic isNotNull(expr) {\n\t\treturn new NullCheckExpr(expr, false);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.nullCheck(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new NullCheckExpr(this.expr.rewrite(rewriter), this.isNull);\n\t}\n\tfold(folder) {\n\t\treturn this.expr.fold(folder);\n\t}\n};\nvar NotExpr = class NotExpr extends Expression {\n\tkind = \"not\";\n\texpr;\n\tconstructor(expr) {\n\t\tsuper();\n\t\tthis.expr = expr;\n\t\tthis.freeze();\n\t}\n\ttoWhereExpr() {\n\t\treturn this;\n\t}\n\taccept(visitor) {\n\t\treturn visitor.not(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new NotExpr(this.expr.rewrite(rewriter));\n\t}\n\tfold(folder) {\n\t\treturn this.expr.fold(folder);\n\t}\n};\nvar EqColJoinOn = class EqColJoinOn extends AstNode {\n\tkind = \"eq-col-join-on\";\n\tleft;\n\tright;\n\tconstructor(left, right) {\n\t\tsuper();\n\t\tthis.left = left;\n\t\tthis.right = right;\n\t\tthis.freeze();\n\t}\n\tstatic of(left, right) {\n\t\treturn new EqColJoinOn(left, right);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.eqColJoinOn ? rewriter.eqColJoinOn(this) : this;\n\t}\n};\nvar JoinAst = class JoinAst extends AstNode {\n\tkind = \"join\";\n\tjoinType;\n\tsource;\n\tlateral;\n\ton;\n\tconstructor(joinType, source, on, lateral = false) {\n\t\tsuper();\n\t\tthis.joinType = joinType;\n\t\tthis.source = source;\n\t\tthis.lateral = lateral;\n\t\tthis.on = on;\n\t\tthis.freeze();\n\t}\n\tstatic inner(source, on, lateral = false) {\n\t\treturn new JoinAst(\"inner\", source, on, lateral);\n\t}\n\tstatic left(source, on, lateral = false) {\n\t\treturn new JoinAst(\"left\", source, on, lateral);\n\t}\n\tstatic right(source, on, lateral = false) {\n\t\treturn new JoinAst(\"right\", source, on, lateral);\n\t}\n\tstatic full(source, on, lateral = false) {\n\t\treturn new JoinAst(\"full\", source, on, lateral);\n\t}\n\trewrite(rewriter) {\n\t\treturn new JoinAst(this.joinType, this.source.rewrite(rewriter), this.on.kind === \"eq-col-join-on\" ? this.on.rewrite(rewriter) : this.on.rewrite(rewriter), this.lateral);\n\t}\n};\nvar ProjectionItem = class ProjectionItem extends AstNode {\n\tkind = \"projection-item\";\n\talias;\n\texpr;\n\t/**\n\t* Codec identity for any known projected result, whether read directly from a contract column or forwarded through a query wrapper. Decode-side dispatch resolves the per-instance codec through `contractCodecs.forCodecRef(codec)` — content-keyed memoisation collapses repeated lookups for the same logical result onto one shared {@link Codec}.\n\t*\n\t* Stays `undefined` only when the projected result's codec is unknown, such as computed expressions, subqueries, or raw aliases whose decoded type the runtime cannot infer.\n\t*/\n\tcodec;\n\tconstructor(alias, expr, codec) {\n\t\tsuper();\n\t\tthis.alias = alias;\n\t\tthis.expr = expr;\n\t\tthis.codec = codec ? frozenCodecRef(codec) : void 0;\n\t\tthis.freeze();\n\t}\n\tstatic of(alias, expr, codec) {\n\t\treturn new ProjectionItem(alias, expr, codec);\n\t}\n\twithCodec(codec) {\n\t\treturn new ProjectionItem(this.alias, this.expr, codec);\n\t}\n};\nvar SelectAst = class SelectAst extends QueryAst {\n\tkind = \"select\";\n\tfrom;\n\tjoins;\n\tprojection;\n\twhere;\n\torderBy;\n\tdistinct;\n\tdistinctOn;\n\tgroupBy;\n\thaving;\n\tlimit;\n\toffset;\n\tselectAllIntent;\n\tconstructor(options) {\n\t\tsuper();\n\t\tthis.from = options.from;\n\t\tthis.joins = options.joins && options.joins.length > 0 ? frozenArrayCopy(options.joins) : void 0;\n\t\tthis.projection = frozenArrayCopy(options.projection);\n\t\tthis.where = options.where;\n\t\tthis.orderBy = options.orderBy && options.orderBy.length > 0 ? frozenArrayCopy(options.orderBy) : void 0;\n\t\tthis.distinct = options.distinct;\n\t\tthis.distinctOn = options.distinctOn && options.distinctOn.length > 0 ? frozenArrayCopy(options.distinctOn) : void 0;\n\t\tthis.groupBy = options.groupBy && options.groupBy.length > 0 ? frozenArrayCopy(options.groupBy) : void 0;\n\t\tthis.having = options.having;\n\t\tthis.limit = options.limit;\n\t\tthis.offset = options.offset;\n\t\tthis.selectAllIntent = frozenOptionalRecordCopy(options.selectAllIntent);\n\t\tthis.freeze();\n\t}\n\tstatic from(from) {\n\t\treturn new SelectAst({\n\t\t\tfrom,\n\t\t\tjoins: void 0,\n\t\t\tprojection: [],\n\t\t\twhere: void 0,\n\t\t\torderBy: void 0,\n\t\t\tdistinct: void 0,\n\t\t\tdistinctOn: void 0,\n\t\t\tgroupBy: void 0,\n\t\t\thaving: void 0,\n\t\t\tlimit: void 0,\n\t\t\toffset: void 0,\n\t\t\tselectAllIntent: void 0\n\t\t});\n\t}\n\tstatic noFrom() {\n\t\treturn new SelectAst({\n\t\t\tjoins: void 0,\n\t\t\tprojection: [],\n\t\t\twhere: void 0,\n\t\t\torderBy: void 0,\n\t\t\tdistinct: void 0,\n\t\t\tdistinctOn: void 0,\n\t\t\tgroupBy: void 0,\n\t\t\thaving: void 0,\n\t\t\tlimit: void 0,\n\t\t\toffset: void 0,\n\t\t\tselectAllIntent: void 0\n\t\t});\n\t}\n\ttoOptions() {\n\t\treturn {\n\t\t\t...this.from !== void 0 ? { from: this.from } : {},\n\t\t\tjoins: this.joins,\n\t\t\tprojection: this.projection,\n\t\t\twhere: this.where,\n\t\t\torderBy: this.orderBy,\n\t\t\tdistinct: this.distinct,\n\t\t\tdistinctOn: this.distinctOn,\n\t\t\tgroupBy: this.groupBy,\n\t\t\thaving: this.having,\n\t\t\tlimit: this.limit,\n\t\t\toffset: this.offset,\n\t\t\tselectAllIntent: this.selectAllIntent\n\t\t};\n\t}\n\twithFrom(from) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tfrom\n\t\t});\n\t}\n\twithJoins(joins) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tjoins: joins.length > 0 ? joins : void 0\n\t\t});\n\t}\n\twithProjection(projection) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tprojection\n\t\t});\n\t}\n\taddProjection(alias, expr) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tprojection: [...this.projection, new ProjectionItem(alias, expr)]\n\t\t});\n\t}\n\twithWhere(where) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\twhere\n\t\t});\n\t}\n\twithOrderBy(orderBy) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\torderBy: orderBy.length > 0 ? orderBy : void 0\n\t\t});\n\t}\n\twithDistinct(enabled = true) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tdistinct: enabled ? true : void 0\n\t\t});\n\t}\n\twithDistinctOn(distinctOn) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tdistinctOn: distinctOn.length > 0 ? distinctOn : void 0\n\t\t});\n\t}\n\twithGroupBy(groupBy) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tgroupBy: groupBy.length > 0 ? groupBy : void 0\n\t\t});\n\t}\n\twithHaving(having) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\thaving\n\t\t});\n\t}\n\twithLimit(limit) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tlimit\n\t\t});\n\t}\n\twithOffset(offset) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\toffset\n\t\t});\n\t}\n\twithSelectAllIntent(selectAllIntent) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tselectAllIntent\n\t\t});\n\t}\n\trewrite(rewriter) {\n\t\tconst rewrittenFrom = this.from?.rewrite(rewriter);\n\t\tconst rewritten = new SelectAst({\n\t\t\t...rewrittenFrom !== void 0 ? { from: rewrittenFrom } : {},\n\t\t\tjoins: this.joins?.map((join) => join.rewrite(rewriter)),\n\t\t\tprojection: this.projection.map((projection) => new ProjectionItem(projection.alias, projection.expr.kind === \"literal\" ? rewriter.literal ? rewriter.literal(projection.expr) : projection.expr : projection.expr.rewrite(rewriter), projection.codec)),\n\t\t\twhere: this.where?.rewrite(rewriter),\n\t\t\torderBy: this.orderBy?.map((orderItem) => orderItem.rewrite(rewriter)),\n\t\t\tdistinct: this.distinct,\n\t\t\tdistinctOn: this.distinctOn?.map((expr) => expr.rewrite(rewriter)),\n\t\t\tgroupBy: this.groupBy?.map((expr) => expr.rewrite(rewriter)),\n\t\t\thaving: this.having?.rewrite(rewriter),\n\t\t\tlimit: rewriteLimitOffset(this.limit, rewriter),\n\t\t\toffset: rewriteLimitOffset(this.offset, rewriter),\n\t\t\tselectAllIntent: this.selectAllIntent\n\t\t});\n\t\treturn rewriter.select ? rewriter.select(rewritten) : rewritten;\n\t}\n\tcollectColumnRefs() {\n\t\tconst refs = [];\n\t\tconst pushRefs = (columns) => {\n\t\t\trefs.push(...columns);\n\t\t};\n\t\tif (this.from?.kind === \"derived-table-source\") pushRefs(this.from.query.collectColumnRefs());\n\t\telse if (this.from?.kind === \"function-source\") for (const arg of this.from.args) pushRefs(arg.collectColumnRefs());\n\t\tfor (const projection of this.projection) if (!(projection.expr.kind === \"literal\")) pushRefs(projection.expr.collectColumnRefs());\n\t\tif (this.where) pushRefs(this.where.collectColumnRefs());\n\t\tif (this.having) pushRefs(this.having.collectColumnRefs());\n\t\tfor (const orderItem of this.orderBy ?? []) pushRefs(orderItem.expr.collectColumnRefs());\n\t\tfor (const expr of this.distinctOn ?? []) pushRefs(expr.collectColumnRefs());\n\t\tfor (const expr of this.groupBy ?? []) pushRefs(expr.collectColumnRefs());\n\t\tfor (const join of this.joins ?? []) {\n\t\t\tif (join.source.kind === \"derived-table-source\") pushRefs(join.source.query.collectColumnRefs());\n\t\t\telse if (join.source.kind === \"function-source\") for (const arg of join.source.args) pushRefs(arg.collectColumnRefs());\n\t\t\tif (join.on.kind === \"eq-col-join-on\") refs.push(join.on.left, join.on.right);\n\t\t\telse pushRefs(join.on.collectColumnRefs());\n\t\t}\n\t\tif (typeof this.limit === \"object\") pushRefs(this.limit.collectColumnRefs());\n\t\tif (typeof this.offset === \"object\") pushRefs(this.offset.collectColumnRefs());\n\t\treturn refs;\n\t}\n\tcollectParamRefs() {\n\t\tconst refs = [];\n\t\tconst pushRefs = (params) => {\n\t\t\trefs.push(...params);\n\t\t};\n\t\tif (this.from?.kind === \"derived-table-source\") pushRefs(this.from.query.collectParamRefs());\n\t\telse if (this.from?.kind === \"function-source\") for (const arg of this.from.args) pushRefs(arg.collectParamRefs());\n\t\tfor (const projection of this.projection) if (!(projection.expr.kind === \"literal\")) pushRefs(projection.expr.collectParamRefs());\n\t\tif (this.where) pushRefs(this.where.collectParamRefs());\n\t\tif (this.having) pushRefs(this.having.collectParamRefs());\n\t\tfor (const orderItem of this.orderBy ?? []) pushRefs(orderItem.expr.collectParamRefs());\n\t\tfor (const expr of this.distinctOn ?? []) pushRefs(expr.collectParamRefs());\n\t\tfor (const expr of this.groupBy ?? []) pushRefs(expr.collectParamRefs());\n\t\tfor (const join of this.joins ?? []) {\n\t\t\tif (join.source.kind === \"derived-table-source\") pushRefs(join.source.query.collectParamRefs());\n\t\t\telse if (join.source.kind === \"function-source\") for (const arg of join.source.args) pushRefs(arg.collectParamRefs());\n\t\t\tif (!(join.on.kind === \"eq-col-join-on\")) pushRefs(join.on.collectParamRefs());\n\t\t}\n\t\tif (typeof this.limit === \"object\") pushRefs(this.limit.collectParamRefs());\n\t\tif (typeof this.offset === \"object\") pushRefs(this.offset.collectParamRefs());\n\t\treturn refs;\n\t}\n\ttoQueryAst() {\n\t\treturn this;\n\t}\n};\nvar InsertOnConflictAction = class extends AstNode {};\nvar DoNothingConflictAction = class extends InsertOnConflictAction {\n\tkind = \"do-nothing\";\n\tconstructor() {\n\t\tsuper();\n\t\tthis.freeze();\n\t}\n\ttoInsertOnConflictAction() {\n\t\treturn this;\n\t}\n};\nvar DoUpdateSetConflictAction = class extends InsertOnConflictAction {\n\tkind = \"do-update-set\";\n\tset;\n\tconstructor(set) {\n\t\tsuper();\n\t\tthis.set = frozenRecordCopy(set);\n\t\tthis.freeze();\n\t}\n\ttoInsertOnConflictAction() {\n\t\treturn this;\n\t}\n};\nvar InsertOnConflict = class InsertOnConflict extends AstNode {\n\tkind = \"insert-on-conflict\";\n\tcolumns;\n\taction;\n\tconstructor(columns, action) {\n\t\tsuper();\n\t\tthis.columns = frozenArrayCopy(columns);\n\t\tthis.action = action;\n\t\tthis.freeze();\n\t}\n\tstatic on(columns) {\n\t\treturn new InsertOnConflict(columns, new DoNothingConflictAction());\n\t}\n\tdoNothing() {\n\t\treturn new InsertOnConflict(this.columns, new DoNothingConflictAction());\n\t}\n\tdoUpdateSet(set) {\n\t\treturn new InsertOnConflict(this.columns, new DoUpdateSetConflictAction(set));\n\t}\n};\nvar InsertAst = class InsertAst extends QueryAst {\n\tkind = \"insert\";\n\ttable;\n\trows;\n\tonConflict;\n\treturning;\n\tconstructor(table, rows = [{}], onConflict, returning) {\n\t\tsuper();\n\t\tthis.table = table;\n\t\tthis.rows = freezeRows(rows);\n\t\tthis.onConflict = onConflict;\n\t\tthis.returning = returning && returning.length > 0 ? frozenArrayCopy(returning) : void 0;\n\t\tthis.freeze();\n\t}\n\tstatic into(table) {\n\t\treturn new InsertAst(table);\n\t}\n\twithRows(rows) {\n\t\treturn new InsertAst(this.table, rows.map((row) => ({ ...row })), this.onConflict, this.returning);\n\t}\n\twithReturning(returning) {\n\t\treturn new InsertAst(this.table, this.rows.map((row) => ({ ...row })), this.onConflict, returning);\n\t}\n\twithOnConflict(onConflict) {\n\t\treturn new InsertAst(this.table, this.rows.map((row) => ({ ...row })), onConflict, this.returning);\n\t}\n\trewrite(rewriter) {\n\t\treturn new InsertAst(rewriteTableSource(this.table, rewriter), this.rows.map((row) => rewriteInsertRow(row, rewriter)), this.onConflict ? rewriteOnConflict(this.onConflict, rewriter) : void 0, this.returning?.map((item) => rewriteProjectionItem(item, rewriter)));\n\t}\n\tcollectParamRefs() {\n\t\tconst refs = [];\n\t\tfor (const row of this.rows) for (const value of Object.values(row)) if (value.kind === \"param-ref\" || value.kind === \"prepared-param-ref\") refs.push(value);\n\t\telse if (value.kind === \"raw-expr\") refs.push(...value.collectParamRefs());\n\t\tif (this.onConflict?.action.kind === \"do-update-set\") {\n\t\t\tfor (const value of Object.values(this.onConflict.action.set)) if (value.kind === \"param-ref\" || value.kind === \"prepared-param-ref\") refs.push(value);\n\t\t}\n\t\tfor (const item of this.returning ?? []) if (item.expr.kind !== \"literal\") refs.push(...item.expr.collectParamRefs());\n\t\treturn refs;\n\t}\n\ttoQueryAst() {\n\t\treturn this;\n\t}\n};\nvar UpdateAst = class UpdateAst extends QueryAst {\n\tkind = \"update\";\n\ttable;\n\tset;\n\twhere;\n\treturning;\n\tconstructor(table, set = {}, where, returning) {\n\t\tsuper();\n\t\tthis.table = table;\n\t\tthis.set = frozenRecordCopy(set);\n\t\tthis.where = where;\n\t\tthis.returning = returning && returning.length > 0 ? frozenArrayCopy(returning) : void 0;\n\t\tthis.freeze();\n\t}\n\tstatic table(table) {\n\t\treturn new UpdateAst(table);\n\t}\n\twithSet(set) {\n\t\treturn new UpdateAst(this.table, set, this.where, this.returning);\n\t}\n\twithWhere(where) {\n\t\treturn new UpdateAst(this.table, this.set, where, this.returning);\n\t}\n\twithReturning(returning) {\n\t\treturn new UpdateAst(this.table, this.set, this.where, returning);\n\t}\n\trewrite(rewriter) {\n\t\treturn new UpdateAst(rewriteTableSource(this.table, rewriter), rewriteUpdateSet(this.set, rewriter), this.where?.rewrite(rewriter), this.returning?.map((item) => rewriteProjectionItem(item, rewriter)));\n\t}\n\tcollectParamRefs() {\n\t\tconst refs = [];\n\t\tfor (const value of Object.values(this.set)) refs.push(...value.collectParamRefs());\n\t\tif (this.where) refs.push(...this.where.collectParamRefs());\n\t\tfor (const item of this.returning ?? []) if (item.expr.kind !== \"literal\") refs.push(...item.expr.collectParamRefs());\n\t\treturn refs;\n\t}\n\ttoQueryAst() {\n\t\treturn this;\n\t}\n};\nvar DeleteAst = class DeleteAst extends QueryAst {\n\tkind = \"delete\";\n\ttable;\n\twhere;\n\treturning;\n\tconstructor(table, where, returning) {\n\t\tsuper();\n\t\tthis.table = table;\n\t\tthis.where = where;\n\t\tthis.returning = returning && returning.length > 0 ? frozenArrayCopy(returning) : void 0;\n\t\tthis.freeze();\n\t}\n\tstatic from(table) {\n\t\treturn new DeleteAst(table);\n\t}\n\twithWhere(where) {\n\t\treturn new DeleteAst(this.table, where, this.returning);\n\t}\n\twithReturning(returning) {\n\t\treturn new DeleteAst(this.table, this.where, returning);\n\t}\n\trewrite(rewriter) {\n\t\treturn new DeleteAst(rewriteTableSource(this.table, rewriter), this.where?.rewrite(rewriter), this.returning?.map((item) => rewriteProjectionItem(item, rewriter)));\n\t}\n\tcollectParamRefs() {\n\t\tconst refs = [];\n\t\tif (this.where) refs.push(...this.where.collectParamRefs());\n\t\tfor (const item of this.returning ?? []) if (item.expr.kind !== \"literal\") refs.push(...item.expr.collectParamRefs());\n\t\treturn refs;\n\t}\n\ttoQueryAst() {\n\t\treturn this;\n\t}\n};\n/**\n* Raw-SQL query AST node carrying interpolated parameter / expression nodes\n* embedded inside literal SQL fragments.\n*\n* `fragments` and `args` are interleaved during lowering:\n* `fragments[0] + lower(args[0]) + fragments[1] + ... + fragments[n]`.\n* Construction enforces `fragments.length === args.length + 1`.\n*\n* Extends {@link QueryAst} (whole-query AST, not a sub-expression).\n* Construction does not validate that each arg is a `ParamRef` /\n* `AnyExpression`: the type system already rejects bare values because\n* `args` is typed `readonly AnyExpression[]`. The user-facing `raw\\`...\\``\n* factory (separate `sql-raw-factory` component) layers stricter\n* type-level rejection on top of this AST node.\n*/\nvar RawSqlExpr = class RawSqlExpr extends QueryAst {\n\tkind = \"raw-sql\";\n\tfragments;\n\targs;\n\tconstructor(fragments, args) {\n\t\tsuper();\n\t\tif (fragments.length !== args.length + 1) throw new InternalError(`RawSqlExpr: fragments.length must equal args.length + 1 (got fragments=${fragments.length}, args=${args.length})`);\n\t\tthis.fragments = Object.freeze([...fragments]);\n\t\tthis.args = Object.freeze([...args]);\n\t\tthis.freeze();\n\t}\n\tstatic of(fragments, args) {\n\t\treturn new RawSqlExpr(fragments, args);\n\t}\n\tcollectParamRefs() {\n\t\tconst refs = [];\n\t\tfor (const arg of this.args) if (arg.kind === \"param-ref\") refs.push(arg);\n\t\telse refs.push(...arg.collectParamRefs());\n\t\treturn refs;\n\t}\n\ttoQueryAst() {\n\t\treturn this;\n\t}\n};\nconst queryAstKinds = /* @__PURE__ */ new Set([\n\t\"select\",\n\t\"insert\",\n\t\"update\",\n\t\"delete\",\n\t\"raw-sql\"\n]);\nconst whereExprKinds = /* @__PURE__ */ new Set([\n\t\"binary\",\n\t\"and\",\n\t\"or\",\n\t\"exists\",\n\t\"null-check\",\n\t\"not\"\n]);\nfunction isQueryAst(value) {\n\treturn typeof value === \"object\" && value !== null && \"kind\" in value && typeof value.kind === \"string\" && queryAstKinds.has(value.kind);\n}\nfunction isWhereExpr(value) {\n\treturn typeof value === \"object\" && value !== null && \"kind\" in value && typeof value.kind === \"string\" && whereExprKinds.has(value.kind);\n}\n//#endregion\nexport { PreparedParamRef as A, isWhereExpr as B, LiteralExpr as C, OrExpr as D, OperationExpr as E, SubqueryExpr as F, whereExprKinds as H, TableSource as I, UpdateAst as L, RawExpr as M, RawSqlExpr as N, OrderByItem as O, SelectAst as P, WindowFuncExpr as R, ListExpression as S, NullCheckExpr as T, queryAstKinds as V, InsertAst as _, CastExpr as a, JsonArrayAggExpr as b, DeleteAst as c, DoUpdateSetConflictAction as d, EqColJoinOn as f, IdentifierRef as g, FunctionSource as h, CaseExpr as i, ProjectionItem as j, ParamRef as k, DerivedTableSource as l, FunctionCallExpr as m, AndExpr as n, ColumnRef as o, ExistsExpr as p, BinaryExpr as r, DefaultValueExpr as s, AggregateExpr as t, DoNothingConflictAction as u, InsertOnConflict as v, NotExpr as w, JsonObjectExpr as x, JoinAst as y, isQueryAst as z };\n\n//# sourceMappingURL=types-D43EhRac.mjs.map"],"mappings":"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"}