@prisma/orm-target-sqlite 8.0.0-rc.20-dev.6 → 8.0.0-rc.20-dev.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{adapter-BBkurVtx-2htTOh4C.mjs → adapter-Cff01Cgi-C19Fhc2M.mjs} +105 -23
- package/dist/adapter-Cff01Cgi-C19Fhc2M.mjs.map +1 -0
- package/dist/{adapter-BHJEOmT6.d.mts → adapter-xs2nBMBo.d.mts} +4 -4
- package/dist/{adapter-BHJEOmT6.d.mts.map → adapter-xs2nBMBo.d.mts.map} +1 -1
- package/dist/adapter.d.mts +2 -2
- package/dist/adapter.mjs +1 -1
- package/dist/adapter__adapter.d.mts +1 -1
- package/dist/adapter__adapter.mjs +1 -1
- package/dist/adapter__control.d.mts +1 -1
- package/dist/adapter__control.mjs +1 -1
- package/dist/adapter__control.mjs.map +1 -1
- package/dist/adapter__runtime.mjs +1 -1
- package/dist/adapter__runtime.mjs.map +1 -1
- package/dist/adapter__sql-renderer.mjs +1 -1
- package/dist/{aggregates-CDMoiy_Z.d.mts → aggregates-DC8nyCjN.d.mts} +4 -4
- package/dist/{aggregates-CDMoiy_Z.d.mts.map → aggregates-DC8nyCjN.d.mts.map} +1 -1
- package/dist/{contract-free-DetowcoS.mjs → contract-free-CYl1uzJ8.mjs} +2 -2
- package/dist/{contract-free-DetowcoS.mjs.map → contract-free-CYl1uzJ8.mjs.map} +1 -1
- package/dist/{contract-free-BJwIJN6x.d.mts → contract-free-IqKgq8Pk.d.mts} +4 -4
- package/dist/{contract-free-BJwIJN6x.d.mts.map → contract-free-IqKgq8Pk.d.mts.map} +1 -1
- package/dist/{control-B_pSY997.d.mts → control-VMpMSXk9.d.mts} +2 -2
- package/dist/{control-B_pSY997.d.mts.map → control-VMpMSXk9.d.mts.map} +1 -1
- package/dist/{ddl-CX4tAZ-y-Bng-4PWC.mjs → ddl-BoTU7bCZ-CXNSFEtj.mjs} +8 -8
- package/dist/ddl-BoTU7bCZ-CXNSFEtj.mjs.map +1 -0
- package/dist/{migration-wMj4eXHP.mjs → migration-8iTYuvo3.mjs} +2 -2
- package/dist/{migration-wMj4eXHP.mjs.map → migration-8iTYuvo3.mjs.map} +1 -1
- package/dist/{op-factory-call-82mX3jT--BaXeVrFl.mjs → op-factory-call-lluKW6u9-D2x8W4qv.mjs} +3 -3
- package/dist/{op-factory-call-82mX3jT--BaXeVrFl.mjs.map → op-factory-call-lluKW6u9-D2x8W4qv.mjs.map} +1 -1
- package/dist/{pack-B3YrlPJI.d.mts → pack-BT-BNRPc.d.mts} +2 -2
- package/dist/{pack-B3YrlPJI.d.mts.map → pack-BT-BNRPc.d.mts.map} +1 -1
- package/dist/{planner-DpcDL7KV-8viK6ZfF.mjs → planner-B73VGVF0-Dl4v3Bcx.mjs} +5 -5
- package/dist/{planner-DpcDL7KV-8viK6ZfF.mjs.map → planner-B73VGVF0-Dl4v3Bcx.mjs.map} +1 -1
- package/dist/{planner-produced-sqlite-migration-DtfUafua-CLIBAR7j.mjs → planner-produced-sqlite-migration-B-05qsmU-BpCrTiPQ.mjs} +4 -4
- package/dist/{planner-produced-sqlite-migration-DtfUafua-CLIBAR7j.mjs.map → planner-produced-sqlite-migration-B-05qsmU-BpCrTiPQ.mjs.map} +1 -1
- package/dist/{render-ops-Cf9-hDHa-DFWVF8Hs.mjs → render-ops-Dq0lrks_-BNZp7Sj9.mjs} +3 -3
- package/dist/{render-ops-Cf9-hDHa-DFWVF8Hs.mjs.map → render-ops-Dq0lrks_-BNZp7Sj9.mjs.map} +1 -1
- package/dist/{sqlite-migration-Ct0LmmUo-Bo60qjbO.mjs → sqlite-migration-DXkxomAv-BSjN30Zu.mjs} +3 -3
- package/dist/{sqlite-migration-Ct0LmmUo-Bo60qjbO.mjs.map → sqlite-migration-DXkxomAv-BSjN30Zu.mjs.map} +1 -1
- package/dist/target.d.mts +3 -3
- package/dist/target.mjs +8 -8
- package/dist/target__aggregates.d.mts +1 -1
- package/dist/target__contract-free.d.mts +1 -1
- package/dist/target__contract-free.mjs +2 -2
- package/dist/target__control.mjs +3 -3
- package/dist/target__control.mjs.map +1 -1
- package/dist/target__migration.mjs +2 -2
- package/dist/target__op-factory-call.mjs +1 -1
- package/dist/target__pack.d.mts +1 -1
- package/dist/target__planner-produced-sqlite-migration.mjs +1 -1
- package/dist/target__planner.mjs +1 -1
- package/dist/target__render-ops.mjs +1 -1
- package/package.json +9 -9
- package/dist/adapter-BBkurVtx-2htTOh4C.mjs.map +0 -1
- package/dist/ddl-CX4tAZ-y-Bng-4PWC.mjs.map +0 -1
|
@@ -3,10 +3,10 @@ import { o as sqliteDataTypes } from "./data-types-coQrCWfS-yMCe4F52.mjs";
|
|
|
3
3
|
import { r as jsonDocumentRetag } from "./codecs-yZoH21Yj-lQXtGlEq.mjs";
|
|
4
4
|
import { n as SQLITE_NOW_EXPRESSION } from "./datetime-text-Bniwehv--BSQhnrdE.mjs";
|
|
5
5
|
import { a as sqliteCodecRegistry, r as createSqliteCodecRegistryWithBuiltins } from "./codecs-g-YI3BtK.mjs";
|
|
6
|
-
import { a as jsonText, i as integer, n as buildSignMarkerBootstrapQueries, o as sqliteTable, r as datetime, s as text, t as buildControlTableBootstrapQueries } from "./contract-free-
|
|
6
|
+
import { a as jsonText, i as integer, n as buildSignMarkerBootstrapQueries, o as sqliteTable, r as datetime, s as text, t as buildControlTableBootstrapQueries } from "./contract-free-CYl1uzJ8.mjs";
|
|
7
7
|
import { n as escapeLiteral, r as quoteIdentifier } from "./sql-utils-XGT5Esi2-Zr2mqJf8.mjs";
|
|
8
8
|
import { t as readSqliteDefault } from "./default-normalizer-DGMXypHg-CPf7oyZA.mjs";
|
|
9
|
-
import { RawExpr, encodeLiteralDefault, isDdlNode, renderOpaqueSql } from "@prisma/orm-family-sql/relational-core/ast";
|
|
9
|
+
import { RawExpr, collectOrderedParamRefs, encodeLiteralDefault, isDdlNode, renderOpaqueSql } from "@prisma/orm-family-sql/relational-core/ast";
|
|
10
10
|
import { ifDefined } from "@prisma/orm-framework/utils/defined";
|
|
11
11
|
import { codecForRef } from "@prisma/orm-framework/components/codec";
|
|
12
12
|
import { structuredError } from "@prisma/orm-framework/utils/structured-error";
|
|
@@ -20,7 +20,7 @@ import { parseMarkerRowSafely, withMarkerReadErrorHandling } from "@prisma/orm-f
|
|
|
20
20
|
import { resolveIntrospectedColumnType } from "@prisma/orm-family-sql/family/control-adapter";
|
|
21
21
|
import { parseContractMarkerRow } from "@prisma/orm-family-sql/family/verify";
|
|
22
22
|
import { createAstCodecRegistry, deriveParamMetadata, encodeParamsWithMetadata } from "@prisma/orm-family-sql/runtime";
|
|
23
|
-
//#region ../../../3-targets/sqlite/2-adapter/dist/adapter-
|
|
23
|
+
//#region ../../../3-targets/sqlite/2-adapter/dist/adapter-Cff01Cgi.mjs
|
|
24
24
|
function ledgerOriginFromStored(originCoreHash) {
|
|
25
25
|
if (originCoreHash === null || originCoreHash === "" || originCoreHash === "empty") return null;
|
|
26
26
|
return originCoreHash;
|
|
@@ -166,7 +166,7 @@ var SqliteControlAdapter = class {
|
|
|
166
166
|
* Lower an AST all the way to a driver-ready statement. For DDL nodes,
|
|
167
167
|
* literal column defaults are formatted as inline SQL with SQLite-specific
|
|
168
168
|
* literal syntax (no cast suffix, boolean as 0/1, blob via X'hex'). For
|
|
169
|
-
* query ASTs, params are kept as
|
|
169
|
+
* query ASTs, params are kept as numbered `?N` placeholders; wire values go in
|
|
170
170
|
* `params`. Does NOT call `this.lower()` — independent implementation.
|
|
171
171
|
*/
|
|
172
172
|
async lowerToExecuteRequest(ast, context) {
|
|
@@ -600,6 +600,76 @@ async function sqliteRenderDdlExecuteRequest(ast, codecLookup) {
|
|
|
600
600
|
params: []
|
|
601
601
|
};
|
|
602
602
|
}
|
|
603
|
+
const QUOTE_CLOSERS = {
|
|
604
|
+
"'": "'",
|
|
605
|
+
"\"": "\"",
|
|
606
|
+
"`": "`",
|
|
607
|
+
"[": "]"
|
|
608
|
+
};
|
|
609
|
+
function skipQuoted(sql, start, closer) {
|
|
610
|
+
let index = start + 1;
|
|
611
|
+
while (index < sql.length) {
|
|
612
|
+
if (sql[index] === closer) {
|
|
613
|
+
if (closer !== "]" && sql[index + 1] === closer) {
|
|
614
|
+
index += 2;
|
|
615
|
+
continue;
|
|
616
|
+
}
|
|
617
|
+
return index + 1;
|
|
618
|
+
}
|
|
619
|
+
index += 1;
|
|
620
|
+
}
|
|
621
|
+
return index;
|
|
622
|
+
}
|
|
623
|
+
function skipUntil(sql, start, terminator) {
|
|
624
|
+
const end = sql.indexOf(terminator, start);
|
|
625
|
+
return end === -1 ? sql.length : end + terminator.length;
|
|
626
|
+
}
|
|
627
|
+
function isDigit(char) {
|
|
628
|
+
return char !== void 0 && char >= "0" && char <= "9";
|
|
629
|
+
}
|
|
630
|
+
/** The `?` placeholders in SQLite SQL text, in the order written, skipping quoted text, quoted identifiers and comments. */
|
|
631
|
+
function scanPlaceholders(sql) {
|
|
632
|
+
const placeholders = [];
|
|
633
|
+
let index = 0;
|
|
634
|
+
while (index < sql.length) {
|
|
635
|
+
const char = sql[index] ?? "";
|
|
636
|
+
const closer = QUOTE_CLOSERS[char];
|
|
637
|
+
if (closer !== void 0) index = skipQuoted(sql, index, closer);
|
|
638
|
+
else if (sql.startsWith("--", index)) index = skipUntil(sql, index + 2, "\n");
|
|
639
|
+
else if (sql.startsWith("/*", index)) index = skipUntil(sql, index + 2, "*/");
|
|
640
|
+
else if (char === "?") {
|
|
641
|
+
let end = index + 1;
|
|
642
|
+
while (isDigit(sql[end])) end += 1;
|
|
643
|
+
placeholders.push(sql.slice(index, end));
|
|
644
|
+
index = end;
|
|
645
|
+
} else index += 1;
|
|
646
|
+
}
|
|
647
|
+
return placeholders;
|
|
648
|
+
}
|
|
649
|
+
const NUMBERED_PLACEHOLDER = /^\?([1-9]\d*)$/;
|
|
650
|
+
function placeholdersMatchParams(placeholders, paramCount) {
|
|
651
|
+
const numbers = placeholders.map((placeholder) => Number(NUMBERED_PLACEHOLDER.exec(placeholder)?.[1] ?? NaN));
|
|
652
|
+
return numbers.every((number) => number >= 1 && number <= paramCount) && new Set(numbers).size === paramCount;
|
|
653
|
+
}
|
|
654
|
+
const REPORTED_PLACEHOLDERS = 5;
|
|
655
|
+
function plural(count, noun) {
|
|
656
|
+
return `${count} ${noun}${count === 1 ? "" : "s"}`;
|
|
657
|
+
}
|
|
658
|
+
function assertPlaceholdersMatchParams(sql, paramCount) {
|
|
659
|
+
const placeholders = scanPlaceholders(sql);
|
|
660
|
+
if (placeholdersMatchParams(placeholders, paramCount)) return;
|
|
661
|
+
const firstPlaceholders = placeholders.slice(0, REPORTED_PLACEHOLDERS);
|
|
662
|
+
const starting = firstPlaceholders.length > 0 ? `, starting ${firstPlaceholders.join(", ")}` : "";
|
|
663
|
+
throw structuredError("RUNTIME.PARAM_PLACEHOLDER_MISMATCH", `The lowered SQLite statement writes ${plural(placeholders.length, "placeholder")} for ${plural(paramCount, "parameter")}${starting}; each parameter must be written as its own numbered placeholder, and no other placeholder may appear.`, {
|
|
664
|
+
why: "A placeholder that does not match a parameter binds a value to the wrong place in the statement, or leaves a value unbound.",
|
|
665
|
+
fix: "Pass values into raw SQL through interpolation rather than writing a `?` in the SQL text.",
|
|
666
|
+
meta: {
|
|
667
|
+
placeholderCount: placeholders.length,
|
|
668
|
+
paramCount,
|
|
669
|
+
firstPlaceholders
|
|
670
|
+
}
|
|
671
|
+
});
|
|
672
|
+
}
|
|
603
673
|
function nodeKind(value) {
|
|
604
674
|
if (typeof value === "object" && value !== null && "kind" in value && typeof value.kind === "string") return value.kind;
|
|
605
675
|
return "unknown";
|
|
@@ -666,19 +736,23 @@ const sqliteRawCodecInferer = { inferCodec(value) {
|
|
|
666
736
|
* Shared between the runtime adapter (`SqliteAdapterImpl.lower`) and the control adapter (`SqliteControlAdapter.lower`) so both produce byte-identical SQL for the same AST and contract.
|
|
667
737
|
*/
|
|
668
738
|
function renderLoweredSql(ast, contract, codecs) {
|
|
739
|
+
const orderedRefs = collectOrderedParamRefs(ast);
|
|
740
|
+
const placeholderNumbers = /* @__PURE__ */ new Map();
|
|
741
|
+
const params = orderedRefs.map((ref, index) => {
|
|
742
|
+
placeholderNumbers.set(ref, index + 1);
|
|
743
|
+
return ref.kind === "prepared-param-ref" ? {
|
|
744
|
+
kind: "bind",
|
|
745
|
+
name: ref.name
|
|
746
|
+
} : {
|
|
747
|
+
kind: "literal",
|
|
748
|
+
value: ref.value
|
|
749
|
+
};
|
|
750
|
+
});
|
|
669
751
|
const ctx = {
|
|
670
752
|
contract,
|
|
671
|
-
codecs
|
|
753
|
+
codecs,
|
|
754
|
+
placeholderNumbers
|
|
672
755
|
};
|
|
673
|
-
const collectedParamRefs = ast.collectParamRefs();
|
|
674
|
-
const params = [];
|
|
675
|
-
for (const ref of collectedParamRefs) params.push(ref.kind === "prepared-param-ref" ? {
|
|
676
|
-
kind: "bind",
|
|
677
|
-
name: ref.name
|
|
678
|
-
} : {
|
|
679
|
-
kind: "literal",
|
|
680
|
-
value: ref.value
|
|
681
|
-
});
|
|
682
756
|
let sql;
|
|
683
757
|
const node = ast;
|
|
684
758
|
switch (node.kind) {
|
|
@@ -699,11 +773,17 @@ function renderLoweredSql(ast, contract, codecs) {
|
|
|
699
773
|
break;
|
|
700
774
|
default: throw new InternalError(`Unsupported AST node kind: ${nodeKind(node)}`);
|
|
701
775
|
}
|
|
776
|
+
assertPlaceholdersMatchParams(sql, params.length);
|
|
702
777
|
return Object.freeze({
|
|
703
778
|
sql,
|
|
704
779
|
params
|
|
705
780
|
});
|
|
706
781
|
}
|
|
782
|
+
function renderPlaceholder(ref, ctx) {
|
|
783
|
+
const number = ctx.placeholderNumbers.get(ref);
|
|
784
|
+
if (number === void 0) throw new InternalError("ParamRef was written but not collected from the AST");
|
|
785
|
+
return `?${number}`;
|
|
786
|
+
}
|
|
707
787
|
function renderLimitOffset(keyword, value, ctx) {
|
|
708
788
|
if (value === void 0) return "";
|
|
709
789
|
if (typeof value === "number") return `${keyword} ${value}`;
|
|
@@ -803,7 +883,7 @@ function renderExpr(expr, ctx) {
|
|
|
803
883
|
case "null-check": return renderNullCheck(node, ctx);
|
|
804
884
|
case "not": return `NOT (${renderExpr(node.expr, ctx)})`;
|
|
805
885
|
case "param-ref":
|
|
806
|
-
case "prepared-param-ref": return
|
|
886
|
+
case "prepared-param-ref": return renderPlaceholder(node, ctx);
|
|
807
887
|
case "literal": return renderLiteral(node);
|
|
808
888
|
case "list": return renderListLiteral(node, ctx);
|
|
809
889
|
case "raw-expr": return renderRawExpr(node, ctx);
|
|
@@ -834,10 +914,12 @@ function renderLiteral(expr) {
|
|
|
834
914
|
function renderOperation(expr, ctx) {
|
|
835
915
|
const self = renderExpr(expr.self, ctx);
|
|
836
916
|
const args = expr.args.map((arg) => renderExpr(arg, ctx));
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
917
|
+
return expr.lowering.template.replace(/\{\{self\}\}|\{\{arg(\d+)\}\}/g, (token, argIndex) => {
|
|
918
|
+
if (token === "{{self}}") return self;
|
|
919
|
+
const arg = args[Number(argIndex)];
|
|
920
|
+
if (arg === void 0) throw structuredError("CONTRACT.PACK_CONTRIBUTION_INVALID", `Operation lowering template for "${expr.method}" referenced missing argument {{arg${argIndex}}}; template has ${args.length} arg(s)`, { meta: { method: expr.method } });
|
|
921
|
+
return arg;
|
|
922
|
+
});
|
|
841
923
|
}
|
|
842
924
|
function renderSubqueryExpr(expr, ctx) {
|
|
843
925
|
if (expr.query.projection.length !== 1) throw structuredError("RUNTIME.AST_INVALID", "Subquery expressions must project exactly one column", { meta: { node: "subquery" } });
|
|
@@ -897,7 +979,7 @@ function renderBinary(expr, ctx) {
|
|
|
897
979
|
break;
|
|
898
980
|
case "param-ref":
|
|
899
981
|
case "prepared-param-ref":
|
|
900
|
-
right =
|
|
982
|
+
right = renderPlaceholder(rightNode, ctx);
|
|
901
983
|
break;
|
|
902
984
|
default:
|
|
903
985
|
right = renderExpr(rightNode, ctx);
|
|
@@ -920,7 +1002,7 @@ function renderBinary(expr, ctx) {
|
|
|
920
1002
|
function renderListLiteral(expr, ctx) {
|
|
921
1003
|
if (expr.values.length === 0) return "(NULL)";
|
|
922
1004
|
return `(${expr.values.map((v) => {
|
|
923
|
-
if (v.kind === "param-ref" || v.kind === "prepared-param-ref") return
|
|
1005
|
+
if (v.kind === "param-ref" || v.kind === "prepared-param-ref") return renderPlaceholder(v, ctx);
|
|
924
1006
|
if (v.kind === "literal") return renderLiteral(v);
|
|
925
1007
|
return renderExpr(v, ctx);
|
|
926
1008
|
}).join(", ")})`;
|
|
@@ -991,7 +1073,7 @@ function renderJoinOn(on, ctx) {
|
|
|
991
1073
|
function renderInsertValue(value, ctx) {
|
|
992
1074
|
switch (value.kind) {
|
|
993
1075
|
case "param-ref":
|
|
994
|
-
case "prepared-param-ref": return
|
|
1076
|
+
case "prepared-param-ref": return renderPlaceholder(value, ctx);
|
|
995
1077
|
case "column-ref": return renderColumn(value);
|
|
996
1078
|
case "raw-expr": return renderExpr(value, ctx);
|
|
997
1079
|
case "default-value": throw structuredError("RUNTIME.AST_UNSUPPORTED", "SQLite does not support DEFAULT as a value in INSERT ... VALUES", { meta: { node: "default-value" } });
|
|
@@ -1080,4 +1162,4 @@ function createSqliteAdapterWithCodecRegistry(codecRegistry, declaredDataTypes)
|
|
|
1080
1162
|
//#endregion
|
|
1081
1163
|
export { sqliteRawCodecInferer as a, renderLoweredSql as i, createSqliteAdapter as n, createSqliteAdapterWithCodecRegistry as r, SqliteControlAdapter as t };
|
|
1082
1164
|
|
|
1083
|
-
//# sourceMappingURL=adapter-
|
|
1165
|
+
//# sourceMappingURL=adapter-Cff01Cgi-C19Fhc2M.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter-Cff01Cgi-C19Fhc2M.mjs","names":["#codecs"],"sources":["../../../../3-targets/sqlite/2-adapter/dist/adapter-Cff01Cgi.mjs"],"sourcesContent":["import { APP_SPACE_ID } from \"@internal/framework-components/control\";\nimport { RawExpr, collectOrderedParamRefs, encodeLiteralDefault, isDdlNode, renderOpaqueSql } from \"@internal/sql-relational-core/ast\";\nimport { SQLITE_NOW_EXPRESSION, createSqliteCodecRegistryWithBuiltins, jsonDocumentRetag, sqliteCodecRegistry } from \"@internal/target-sqlite/codecs\";\nimport { sqliteDataTypes } from \"@internal/target-sqlite/data-types\";\nimport { escapeLiteral, quoteIdentifier } from \"@internal/target-sqlite/sql-utils\";\nimport { InternalError, assertNever } from \"@internal/utils/internal-error\";\nimport { structuredError } from \"@internal/utils/structured-error\";\nimport { parseMarkerRowSafely, withMarkerReadErrorHandling } from \"@internal/errors/execution\";\nimport { checkSqlDefaultText, contractColumns, readColumnDefault } from \"@internal/family-sql/control\";\nimport { resolveIntrospectedColumnType } from \"@internal/family-sql/control-adapter\";\nimport { parseContractMarkerRow } from \"@internal/family-sql/verify\";\nimport { codecForRef } from \"@internal/framework-components/codec\";\nimport { REFERENTIAL_ACTION_SQL } from \"@internal/sql-contract/referential-action-sql\";\nimport { RelationalSchemaNodeKind, SqlSchemaIR, SqlTableIR } from \"@internal/sql-schema-ir/types\";\nimport { buildControlTableBootstrapQueries, buildSignMarkerBootstrapQueries, datetime, integer, jsonText, sqliteTable, text } from \"@internal/target-sqlite/contract-free\";\nimport { readSqliteDefault } from \"@internal/target-sqlite/default-normalizer\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { createAstCodecRegistry, deriveParamMetadata, encodeParamsWithMetadata } from \"@internal/sql-runtime\";\nimport { SQLITE_DATETIME_CODEC_ID } from \"@internal/target-sqlite/codec-ids\";\n//#region ../../../1-framework/3-tooling/migration/dist/exports/ledger-origin.mjs\nfunction ledgerOriginFromStored(originCoreHash) {\n\tif (originCoreHash === null || originCoreHash === \"\" || originCoreHash === \"empty\") return null;\n\treturn originCoreHash;\n}\n//#endregion\n//#region src/core/control-codecs.ts\nconst CONTROL_CODECS = createAstCodecRegistry(sqliteCodecRegistry);\nasync function encodeControlQueryParams(lowered, ast, codecs = CONTROL_CODECS) {\n\treturn encodeParamsWithMetadata(lowered.params.map((slot) => {\n\t\tif (slot.kind === \"literal\") return slot.value;\n\t\tthrow new InternalError(`control query lowered to a bind slot '${slot.name}', which is unsupported`);\n\t}), deriveParamMetadata(ast), {}, codecs);\n}\n//#endregion\n//#region src/core/ledger-decode.ts\nconst DESIGNATOR_LESS_UTC_DATETIME = /^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}(\\.\\d+)?$/;\nfunction coerceLedgerAppliedAt(value) {\n\tif (value instanceof Date) return value;\n\tif (DESIGNATOR_LESS_UTC_DATETIME.test(value)) return /* @__PURE__ */ new Date(`${value.replace(\" \", \"T\")}Z`);\n\treturn new Date(value);\n}\nfunction operationCountFromStored(operations) {\n\tif (Array.isArray(operations)) return operations.length;\n\tif (typeof operations === \"string\") try {\n\t\tconst parsed = JSON.parse(operations);\n\t\treturn Array.isArray(parsed) ? parsed.length : 0;\n\t} catch {\n\t\treturn 0;\n\t}\n\treturn 0;\n}\n//#endregion\n//#region src/core/marker-ledger.ts\nconst marker = sqliteTable(\"_prisma_marker\", {\n\tspace: text(),\n\tcore_hash: text(),\n\tprofile_hash: text(),\n\tcontract_json: jsonText({ nullable: true }),\n\tcanonical_version: integer({ nullable: true }),\n\tupdated_at: datetime(),\n\tapp_tag: text({ nullable: true }),\n\tmeta: jsonText({ nullable: true }),\n\tinvariants: jsonText()\n});\n/**\n* Writeable subset of `_prisma_ledger`. Omits the DB-generated `id`\n* (`INTEGER PRIMARY KEY AUTOINCREMENT`) and `created_at` (default\n* `strftime(...)`).\n*/\nconst ledger = sqliteTable(\"_prisma_ledger\", {\n\tspace: text(),\n\tmigration_name: text(),\n\tmigration_hash: text(),\n\torigin_core_hash: text({ nullable: true }),\n\tdestination_core_hash: text(),\n\toperations: jsonText()\n});\n/**\n* Read-side handle covering every column of `_prisma_ledger`, including\n* the DB-generated `id` (for ORDER BY) and `created_at`.\n*/\nconst ledgerReadShape = sqliteTable(\"_prisma_ledger\", {\n\tid: integer(),\n\tspace: text(),\n\tmigration_name: text(),\n\tmigration_hash: text(),\n\torigin_core_hash: text({ nullable: true }),\n\tdestination_core_hash: text(),\n\toperations: jsonText(),\n\tcreated_at: text()\n});\nconst sqliteCatalog = sqliteTable(\"sqlite_master\", {\n\ttype: text(),\n\tname: text()\n});\nconst NOW = new RawExpr({\n\tparts: [SQLITE_NOW_EXPRESSION],\n\treturns: {\n\t\tcodecId: SQLITE_DATETIME_CODEC_ID,\n\t\tnullable: false\n\t}\n});\nfunction mergeInvariants(current, incoming) {\n\treturn [.../* @__PURE__ */ new Set([...current, ...incoming])].sort();\n}\nasync function execute(lower, driver, query) {\n\tconst lowered = lower(query);\n\tconst encoded = await encodeControlQueryParams(lowered, query);\n\treturn (await driver.query(lowered.sql, encoded)).rows;\n}\nfunction decodeSqliteMarkerRow(row) {\n\tif (typeof row !== \"object\" || row === null || !(\"invariants\" in row)) return row;\n\tconst record = row;\n\tif (typeof record.invariants !== \"string\") return row;\n\tlet parsed;\n\ttry {\n\t\tparsed = JSON.parse(record.invariants);\n\t} catch (err) {\n\t\tconst detail = err instanceof Error ? err.message : String(err);\n\t\tthrow structuredError(\"CONTRACT.MARKER_ROW_CORRUPT\", `Invalid contract marker row: invariants is not valid JSON: ${detail}`, {\n\t\t\tmeta: { detail },\n\t\t\tcause: err\n\t\t});\n\t}\n\treturn {\n\t\t...record,\n\t\tinvariants: parsed\n\t};\n}\n//#endregion\n//#region src/core/control-adapter.ts\nconst SQLITE_MARKER_TABLE = \"_prisma_marker\";\nconst SQLITE_LEDGER_TABLE = \"_prisma_ledger\";\nvar SqliteControlAdapter = class {\n\tfamilyId = \"sql\";\n\ttargetId = \"sqlite\";\n\tmarkerLocation = SQLITE_MARKER_TABLE;\n\tcodecRegistry;\n\tdeclaredDataTypes;\n\t/** `declaredDataTypes` are the stack's data types in assembly order, which introspection resolves each column's reported type over. */\n\tconstructor(codecRegistry, declaredDataTypes) {\n\t\tthis.codecRegistry = codecRegistry;\n\t\tthis.declaredDataTypes = declaredDataTypes;\n\t}\n\tbootstrapControlTableQueries() {\n\t\treturn buildControlTableBootstrapQueries();\n\t}\n\tbootstrapSignMarkerQueries() {\n\t\treturn buildSignMarkerBootstrapQueries();\n\t}\n\t/**\n\t* Lower a SQL query AST into a SQLite-flavored `{ sql, params }` payload.\n\t*\n\t* Delegates to the shared `renderLoweredSql` renderer so the control adapter\n\t* emits byte-identical SQL to `SqliteAdapterImpl.lower()` for the same AST\n\t* and contract. Used at migration plan/emit time (e.g. by `dataTransform`)\n\t* without instantiating the runtime adapter.\n\t*/\n\tlower(ast, context) {\n\t\tif (isDdlNode(ast)) throw structuredError(\"RUNTIME.DDL_UNSUPPORTED\", \"lower() cannot lower DDL: DDL default literals require inline codec encoding, which is async. Use lowerToExecuteRequest().\", { meta: { surface: \"control-adapter\" } });\n\t\treturn renderLoweredSql(ast, blindCast(context.contract), this.codecRegistry);\n\t}\n\tasync renderColumnDefault(column, table) {\n\t\tif (column.default === void 0) return \"\";\n\t\treturn sqliteRenderDdlColumnDefault(column.default, this.codecRegistry, column.codecRef, {\n\t\t\ttable,\n\t\t\tcolumn: column.name\n\t\t});\n\t}\n\t/**\n\t* Lower an AST all the way to a driver-ready statement. For DDL nodes,\n\t* literal column defaults are formatted as inline SQL with SQLite-specific\n\t* literal syntax (no cast suffix, boolean as 0/1, blob via X'hex'). For\n\t* query ASTs, params are kept as numbered `?N` placeholders; wire values go in\n\t* `params`. Does NOT call `this.lower()` — independent implementation.\n\t*/\n\tasync lowerToExecuteRequest(ast, context) {\n\t\tif (isDdlNode(ast)) return sqliteRenderDdlExecuteRequest(blindCast(ast), this.codecRegistry);\n\t\tconst lowered = renderLoweredSql(ast, blindCast(context?.contract), this.codecRegistry);\n\t\tconst params = await encodeControlQueryParams(lowered, ast, blindCast(this.codecRegistry));\n\t\treturn {\n\t\t\tsql: lowered.sql,\n\t\t\tparams\n\t\t};\n\t}\n\t/**\n\t* Reads the contract marker from `_prisma_marker`. Probes `sqlite_master`\n\t* first so a fresh database (no marker table) returns `null` instead of a\n\t* \"no such table\" error.\n\t*/\n\tasync readMarker(driver, space) {\n\t\tconst result = await this.readMarkerDiscriminated(driver, space);\n\t\treturn result.kind === \"present\" ? result.record : null;\n\t}\n\tasync readMarkerDiscriminated(driver, space) {\n\t\treturn withMarkerReadErrorHandling(() => this.readMarkerResult(driver, space), {\n\t\t\tspace,\n\t\t\tmarkerLocation: SQLITE_MARKER_TABLE\n\t\t});\n\t}\n\t/**\n\t* Reads every row from `_prisma_marker` and returns them keyed by\n\t* `space`. Mirrors the existence probe in {@link readMarker}: a\n\t* fresh database without the marker table returns an empty map.\n\t*/\n\tasync readAllMarkers(driver) {\n\t\treturn withMarkerReadErrorHandling(() => this.readAllMarkersResult(driver), {\n\t\t\tspace: APP_SPACE_ID,\n\t\t\tmarkerLocation: SQLITE_MARKER_TABLE\n\t\t});\n\t}\n\tasync readAllMarkersResult(driver) {\n\t\tconst lower = (query) => this.lower(query, { contract: void 0 });\n\t\tif ((await execute(lower, driver, sqliteCatalog.select(sqliteCatalog.name).where(sqliteCatalog.type.eq(\"table\").and(sqliteCatalog.name.eq(\"_prisma_marker\"))).build())).length === 0) return /* @__PURE__ */ new Map();\n\t\tconst rows = blindCast(await execute(lower, driver, marker.select(marker.space, marker.core_hash, marker.profile_hash, marker.contract_json, marker.canonical_version, marker.updated_at, marker.app_tag, marker.meta, marker.invariants).build()));\n\t\tconst out = /* @__PURE__ */ new Map();\n\t\tfor (const row of rows) out.set(row.space, parseMarkerRowSafely(row, (raw) => parseContractMarkerRow(decodeSqliteMarkerRow(raw)), {\n\t\t\tspace: row.space,\n\t\t\tmarkerLocation: SQLITE_MARKER_TABLE\n\t\t}));\n\t\treturn out;\n\t}\n\t/**\n\t* Reads per-migration ledger rows from `_prisma_ledger` in apply order.\n\t* Probes `sqlite_master` first so a fresh database without the ledger\n\t* table returns `[]` instead of raising \"no such table\".\n\t*/\n\tasync readLedger(driver, space) {\n\t\treturn withMarkerReadErrorHandling(() => this.readLedgerResult(driver, space), {\n\t\t\tspace: space ?? \"*\",\n\t\t\tmarkerLocation: SQLITE_LEDGER_TABLE\n\t\t});\n\t}\n\tasync readLedgerResult(driver, space) {\n\t\tconst lower = (query) => this.lower(query, { contract: void 0 });\n\t\tif ((await execute(lower, driver, sqliteCatalog.select(sqliteCatalog.name).where(sqliteCatalog.type.eq(\"table\").and(sqliteCatalog.name.eq(\"_prisma_ledger\"))).build())).length === 0) return [];\n\t\tconst base = ledgerReadShape.select(ledgerReadShape.space, ledgerReadShape.migration_name, ledgerReadShape.migration_hash, ledgerReadShape.origin_core_hash, ledgerReadShape.destination_core_hash, ledgerReadShape.operations, ledgerReadShape.created_at);\n\t\treturn blindCast(await execute(lower, driver, (space !== void 0 ? base.where(ledgerReadShape.space.eq(space)) : base).orderBy(ledgerReadShape.id).build())).map((row) => ({\n\t\t\tspace: row.space,\n\t\t\tmigrationName: row.migration_name,\n\t\t\tmigrationHash: row.migration_hash,\n\t\t\tfrom: ledgerOriginFromStored(row.origin_core_hash),\n\t\t\tto: row.destination_core_hash,\n\t\t\tappliedAt: coerceLedgerAppliedAt(row.created_at),\n\t\t\toperationCount: operationCountFromStored(row.operations)\n\t\t}));\n\t}\n\t/**\n\t* Stamps the initial marker row for `space` via the shared contract-free DML\n\t* builder, lowered through {@link lower} and executed on the driver. See the\n\t* `SqlControlAdapter.initMarker` contract.\n\t*/\n\tasync insertMarker(driver, space, destination) {\n\t\tawait execute((query) => this.lower(query, { contract: void 0 }), driver, marker.insert({\n\t\t\tspace,\n\t\t\tcore_hash: destination.storageHash,\n\t\t\tprofile_hash: destination.profileHash,\n\t\t\tcontract_json: null,\n\t\t\tcanonical_version: null,\n\t\t\tupdated_at: NOW,\n\t\t\tapp_tag: null,\n\t\t\tmeta: {},\n\t\t\tinvariants: destination.invariants ?? []\n\t\t}).build());\n\t}\n\tasync initMarker(driver, space, destination) {\n\t\tawait execute((query) => this.lower(query, { contract: void 0 }), driver, marker.upsert({\n\t\t\tspace,\n\t\t\tcore_hash: destination.storageHash,\n\t\t\tprofile_hash: destination.profileHash,\n\t\t\tcontract_json: null,\n\t\t\tcanonical_version: null,\n\t\t\tupdated_at: NOW,\n\t\t\tapp_tag: null,\n\t\t\tmeta: {},\n\t\t\tinvariants: destination.invariants ?? []\n\t\t}).onConflict(marker.space).doUpdate((excluded) => ({\n\t\t\tcore_hash: excluded.core_hash,\n\t\t\tprofile_hash: excluded.profile_hash,\n\t\t\tcontract_json: excluded.contract_json,\n\t\t\tcanonical_version: excluded.canonical_version,\n\t\t\tupdated_at: NOW,\n\t\t\tapp_tag: excluded.app_tag,\n\t\t\tmeta: excluded.meta,\n\t\t\tinvariants: excluded.invariants\n\t\t})).build());\n\t}\n\t/**\n\t* Compare-and-swap advance of the marker row for `space`. See the\n\t* `SqlControlAdapter.updateMarker` contract.\n\t*/\n\tasync updateMarker(driver, space, expectedFrom, destination) {\n\t\tconst currentInvariants = destination.invariants === void 0 ? [] : (await this.readMarker(driver, space))?.invariants ?? [];\n\t\tconst mergedInvariants = destination.invariants === void 0 ? void 0 : mergeInvariants(currentInvariants, destination.invariants);\n\t\treturn (await execute((q) => this.lower(q, { contract: void 0 }), driver, marker.update().set({\n\t\t\tcore_hash: destination.storageHash,\n\t\t\tprofile_hash: destination.profileHash,\n\t\t\tupdated_at: NOW,\n\t\t\t...mergedInvariants !== void 0 ? { invariants: mergedInvariants } : {}\n\t\t}).where(marker.space.eq(space).and(marker.core_hash.eq(expectedFrom))).returning(marker.space).build())).length > 0;\n\t}\n\tasync withTransaction(driver, fn) {\n\t\tawait driver.query(\"BEGIN IMMEDIATE\");\n\t\tlet result;\n\t\ttry {\n\t\t\tresult = await fn();\n\t\t} catch (error) {\n\t\t\ttry {\n\t\t\t\tawait driver.query(\"ROLLBACK\");\n\t\t\t} catch (rollbackError) {\n\t\t\t\tif (error instanceof Error && error.cause === void 0) error.cause = rollbackError;\n\t\t\t}\n\t\t\tthrow error;\n\t\t}\n\t\tawait driver.query(\"COMMIT\");\n\t\treturn result;\n\t}\n\tasync lockMarker(_driver) {}\n\t/**\n\t* Appends a ledger entry for `space`. See the `SqlControlAdapter.writeLedgerEntry` contract.\n\t*/\n\tasync writeLedgerEntry(driver, space, entry) {\n\t\tawait execute((query) => this.lower(query, { contract: void 0 }), driver, ledger.insert({\n\t\t\tspace,\n\t\t\tmigration_name: entry.migrationName,\n\t\t\tmigration_hash: entry.migrationHash,\n\t\t\torigin_core_hash: entry.from,\n\t\t\tdestination_core_hash: entry.to,\n\t\t\toperations: entry.operations\n\t\t}).build());\n\t}\n\tasync readMarkerResult(driver, space) {\n\t\tconst lower = (query) => this.lower(query, { contract: void 0 });\n\t\tif ((await execute(lower, driver, sqliteCatalog.select(sqliteCatalog.name).where(sqliteCatalog.type.eq(\"table\").and(sqliteCatalog.name.eq(\"_prisma_marker\"))).build())).length === 0) return { kind: \"no-table\" };\n\t\tconst row = (await execute(lower, driver, marker.select(marker.core_hash, marker.profile_hash, marker.contract_json, marker.canonical_version, marker.updated_at, marker.app_tag, marker.meta, marker.invariants).where(marker.space.eq(space)).build()))[0];\n\t\tif (!row) return { kind: \"absent\" };\n\t\treturn {\n\t\t\tkind: \"present\",\n\t\t\trecord: parseContractMarkerRow(decodeSqliteMarkerRow(row))\n\t\t};\n\t}\n\t/**\n\t* Reads a column's reported default: a function or SQL NULL as itself, and a literal with the column's codec, when the contract declares the column. A literal of a column the contract does not declare keeps only its raw text. When the contract's default is an expression that writes a literal, the codec reads that literal too, for the diff to compare the two values.\n\t*/\n\tasync readReportedDefault(rawDefault, declaredType, column) {\n\t\tconst reported = readSqliteDefault(rawDefault, declaredType);\n\t\tif (reported.kind === \"function\") return { resolvedDefault: reported };\n\t\tif (reported.kind === \"null\") return { resolvedDefault: {\n\t\t\tkind: \"literal\",\n\t\t\tvalue: null\n\t\t} };\n\t\tconst codec = column === void 0 ? void 0 : codecForRef(this.codecRegistry, column.codecRef);\n\t\tif (codec === void 0) return {};\n\t\tconst expression = column?.defaultExpression;\n\t\tconst written = expression === void 0 ? void 0 : readSqliteDefault(expression, declaredType);\n\t\treturn readColumnDefault(codec, {\n\t\t\tliteral: reported.literal,\n\t\t\traw: rawDefault\n\t\t}, expression !== void 0 && written?.kind === \"literal\" ? {\n\t\t\tliteral: written.literal,\n\t\t\texpression\n\t\t} : void 0);\n\t}\n\tasync introspect(driver, contract) {\n\t\tconst contractColumnsOf = contractColumns(contract);\n\t\tconst tablesResult = await driver.query(`SELECT name, sql FROM sqlite_master\n WHERE type = 'table'\n AND name NOT LIKE 'sqlite_%'\n AND name NOT IN ('_prisma_marker', '_prisma_ledger')\n ORDER BY name`);\n\t\tconst tables = {};\n\t\tfor (const tableRow of tablesResult.rows) {\n\t\t\tconst tableName = tableRow.name;\n\t\t\tconst columnsResult = await driver.query(`PRAGMA table_info(${quoteIdentifier(tableName)})`);\n\t\t\tconst fkResult = await driver.query(`PRAGMA foreign_key_list(${quoteIdentifier(tableName)})`);\n\t\t\tconst indexListResult = await driver.query(`PRAGMA index_list(${quoteIdentifier(tableName)})`);\n\t\t\tconst columns = {};\n\t\t\tconst pkColumns = [];\n\t\t\tconst autoincrementColumn = autoincrementColumnOf(tableRow.sql, columnsResult.rows);\n\t\t\tfor (const col of columnsResult.rows) {\n\t\t\t\tconst rawDefault = col.dflt_value ?? void 0;\n\t\t\t\tconst readDefault = col.name === autoincrementColumn ? { resolvedDefault: AUTOINCREMENT_DEFAULT } : rawDefault === void 0 ? {} : await this.readReportedDefault(rawDefault, col.type, contractColumnsOf.columnOf(void 0, tableName, col.name));\n\t\t\t\tconst reportedType = {\n\t\t\t\t\ttext: col.type,\n\t\t\t\t\tkind: void 0,\n\t\t\t\t\tschema: void 0,\n\t\t\t\t\tname: void 0\n\t\t\t\t};\n\t\t\t\tcolumns[col.name] = {\n\t\t\t\t\tname: col.name,\n\t\t\t\t\ttypeText: col.type.toLowerCase(),\n\t\t\t\t\tnullable: col.notnull === 0 && col.pk === 0,\n\t\t\t\t\t...ifDefined(\"default\", rawDefault),\n\t\t\t\t\t...readDefault,\n\t\t\t\t\treportedType,\n\t\t\t\t\t...resolveIntrospectedColumnType(reportedType, this.declaredDataTypes)\n\t\t\t\t};\n\t\t\t\tif (col.pk > 0) pkColumns.push({\n\t\t\t\t\tname: col.name,\n\t\t\t\t\tpk: col.pk\n\t\t\t\t});\n\t\t\t}\n\t\t\tpkColumns.sort((a, b) => a.pk - b.pk);\n\t\t\tconst primaryKey = pkColumns.length > 0 ? {\n\t\t\t\tcolumns: pkColumns.map((c) => c.name),\n\t\t\t\tdependsOn: flatColumnDependsOn(tableName, pkColumns.map((c) => c.name))\n\t\t\t} : void 0;\n\t\t\tconst fkMap = /* @__PURE__ */ new Map();\n\t\t\tfor (const fk of fkResult.rows) {\n\t\t\t\tconst existing = fkMap.get(fk.id);\n\t\t\t\tif (existing) {\n\t\t\t\t\texisting.columns.push(fk.from);\n\t\t\t\t\texisting.referencedColumns.push(fk.to);\n\t\t\t\t} else fkMap.set(fk.id, {\n\t\t\t\t\tcolumns: [fk.from],\n\t\t\t\t\treferencedTable: fk.table,\n\t\t\t\t\treferencedColumns: [fk.to],\n\t\t\t\t\tonDelete: fk.on_delete,\n\t\t\t\t\tonUpdate: fk.on_update\n\t\t\t\t});\n\t\t\t}\n\t\t\tconst foreignKeys = Array.from(fkMap.values()).map((fk) => ({\n\t\t\t\tcolumns: Object.freeze([...fk.columns]),\n\t\t\t\treferencedTable: fk.referencedTable,\n\t\t\t\treferencedColumns: Object.freeze([...fk.referencedColumns]),\n\t\t\t\t...ifDefined(\"onDelete\", mapSqliteReferentialAction(fk.onDelete)),\n\t\t\t\t...ifDefined(\"onUpdate\", mapSqliteReferentialAction(fk.onUpdate)),\n\t\t\t\tdependsOn: [flatTableDependsOn(fk.referencedTable), ...flatColumnDependsOn(tableName, fk.columns)]\n\t\t\t}));\n\t\t\tconst uniques = [];\n\t\t\tconst indexes = [];\n\t\t\tfor (const idx of indexListResult.rows) {\n\t\t\t\tconst idxColumns = (await driver.query(`PRAGMA index_info(${quoteIdentifier(idx.name)})`)).rows.sort((a, b) => a.seqno - b.seqno).map((r) => r.name);\n\t\t\t\tif (idx.origin === \"u\") uniques.push({\n\t\t\t\t\tcolumns: Object.freeze([...idxColumns]),\n\t\t\t\t\tname: idx.name,\n\t\t\t\t\tdependsOn: flatColumnDependsOn(tableName, idxColumns)\n\t\t\t\t});\n\t\t\t\telse if (idx.origin === \"c\") indexes.push({\n\t\t\t\t\tnaming: {\n\t\t\t\t\t\tkind: \"exact\",\n\t\t\t\t\t\tname: idx.name\n\t\t\t\t\t},\n\t\t\t\t\tcolumns: Object.freeze([...idxColumns]),\n\t\t\t\t\twhere: void 0,\n\t\t\t\t\tunique: idx.unique === 1,\n\t\t\t\t\tpartial: idx.partial === 1,\n\t\t\t\t\ttype: void 0,\n\t\t\t\t\toptions: void 0,\n\t\t\t\t\tannotations: void 0,\n\t\t\t\t\tdependsOn: flatColumnDependsOn(tableName, idxColumns)\n\t\t\t\t});\n\t\t\t}\n\t\t\ttables[tableName] = new SqlTableIR({\n\t\t\t\tname: tableName,\n\t\t\t\tcolumns,\n\t\t\t\t...ifDefined(\"primaryKey\", primaryKey),\n\t\t\t\tforeignKeys,\n\t\t\t\tuniques,\n\t\t\t\tindexes\n\t\t\t});\n\t\t}\n\t\treturn new SqlSchemaIR({ tables });\n\t}\n};\nconst SQLITE_REFERENTIAL_ACTION_MAP = {\n\t\"NO ACTION\": \"noAction\",\n\tRESTRICT: \"restrict\",\n\tCASCADE: \"cascade\",\n\t\"SET NULL\": \"setNull\",\n\t\"SET DEFAULT\": \"setDefault\"\n};\nfunction mapSqliteReferentialAction(rule) {\n\tconst normalized = rule.toUpperCase();\n\tconst mapped = SQLITE_REFERENTIAL_ACTION_MAP[normalized];\n\tif (mapped === void 0) throw structuredError(\"CONTRACT.INTROSPECTION_UNSUPPORTED\", `Unknown SQLite referential action rule: \"${rule}\". Expected one of: NO ACTION, RESTRICT, CASCADE, SET NULL, SET DEFAULT.`, { meta: { rule } });\n\tif (mapped === \"noAction\") return void 0;\n\treturn mapped;\n}\n/**\n* The referenced table's chain in the flat (single-schema) tree this\n* introspection builds: the root (`SqlSchemaIR`, fixed `'database'` id)\n* followed by the table's own id. Mirrors the expected-side derivation\n* (`contractToSchemaIR`'s `convertForeignKey`).\n*/\nfunction flatTableDependsOn(tableName) {\n\treturn [{\n\t\tnodeKind: RelationalSchemaNodeKind.schema,\n\t\tid: \"database\"\n\t}, {\n\t\tnodeKind: RelationalSchemaNodeKind.table,\n\t\tid: tableName\n\t}];\n}\n/**\n* The chains from a table-child object (foreign key, index, unique, primary\n* key) to each of the own columns it is built on — the introspection-side\n* mirror of `contractToSchemaIR`'s `flatColumnDependsOn`. An object is dropped\n* before the columns it covers.\n*/\nfunction flatColumnDependsOn(tableName, columns) {\n\treturn columns.map((column) => [...flatTableDependsOn(tableName), {\n\t\tnodeKind: RelationalSchemaNodeKind.column,\n\t\tid: `column:${column}`\n\t}]);\n}\nfunction sqliteInlineLiteral(wire, where) {\n\tif (wire === null) return \"NULL\";\n\tif (typeof wire === \"boolean\") return wire ? \"1\" : \"0\";\n\tif (typeof wire === \"number\") {\n\t\tif (Number.isNaN(wire)) throw structuredError(\"CONTRACT.DEFAULT_INVALID\", `Column \"${where.table}\".\"${where.column}\" has a NaN default, which SQLite stores as NULL`, { meta: {\n\t\t\ttable: where.table,\n\t\t\tcolumn: where.column,\n\t\t\tvalue: \"NaN\",\n\t\t\treason: \"nan-default\"\n\t\t} });\n\t\tif (!Number.isFinite(wire)) return wire > 0 ? \"9e999\" : \"-9e999\";\n\t\treturn String(wire);\n\t}\n\tif (typeof wire === \"bigint\") return String(wire);\n\tif (wire instanceof Date) {\n\t\tif (Number.isNaN(wire.getTime())) throw structuredError(\"CONTRACT.DEFAULT_INVALID\", `Column \"${where.table}\".\"${where.column}\" has an invalid Date default`, { meta: {\n\t\t\ttable: where.table,\n\t\t\tcolumn: where.column,\n\t\t\treason: \"invalid-date-default\"\n\t\t} });\n\t\treturn `'${escapeLiteral(wire.toISOString())}'`;\n\t}\n\tif (typeof wire === \"string\") return `'${escapeLiteral(wire)}'`;\n\tif (wire instanceof Uint8Array) return `X'${Array.from(wire).map((b) => b.toString(16).padStart(2, \"0\")).join(\"\")}'`;\n\tif (typeof wire === \"object\") return `'${escapeLiteral(JSON.stringify(wire))}'`;\n\tthrow structuredError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `sqliteRenderDdlExecuteRequest: unexpected wire type \"${typeof wire}\"`, { meta: { wireType: typeof wire } });\n}\nconst AUTOINCREMENT_DEFAULT = {\n\tkind: \"function\",\n\texpression: \"autoincrement()\"\n};\n/** `CREATE TABLE` text with its string literals, quoted identifiers and comments removed. */\nfunction createTableKeywords(createSql) {\n\treturn createSql.replace(/'(?:[^']|'')*'|\"(?:[^\"]|\"\")*\"|`(?:[^`]|``)*`|\\[[^\\]]*\\]|--[^\\n]*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/g, \" \");\n}\n/**\n* The column SQLite numbers with `AUTOINCREMENT`, which it keeps only in the table's `CREATE TABLE`\n* text. SQLite accepts the keyword only on a table's sole `INTEGER PRIMARY KEY` column.\n* See https://www.sqlite.org/autoinc.html.\n*/\nfunction autoincrementColumnOf(createSql, columns) {\n\tif (!createSql || !/\\bAUTOINCREMENT\\b/i.test(createTableKeywords(createSql))) return;\n\tconst primaryKey = columns.filter((column) => column.pk > 0);\n\tconst [column] = primaryKey;\n\treturn primaryKey.length === 1 && column?.type.toUpperCase() === \"INTEGER\" ? column.name : void 0;\n}\nasync function sqliteRenderDdlColumnDefault(def, codecLookup, codecRef, where) {\n\tif (def.kind === \"function\") {\n\t\tif (def.expression.text === \"autoincrement()\") return \"\";\n\t\tif (def.expression.text === \"now()\") return `DEFAULT (${SQLITE_NOW_EXPRESSION})`;\n\t\tif (checkSqlDefaultText(def.expression.text) !== void 0) throw structuredError(\"CONTRACT.DEFAULT_INVALID\", `Unsafe default expression in contract: \"${def.expression.text}\". Default expressions must not contain semicolons, SQL comment tokens, dollar-quoting, or subqueries.`, { meta: { expression: def.expression.text } });\n\t\treturn `DEFAULT (${renderOpaqueSql(def.expression)})`;\n\t}\n\tconst encoded = codecRef === void 0 ? void 0 : await encodeLiteralDefault(codecLookup, codecRef, def.value, where);\n\tif (encoded?.kind === \"sql-null\") return \"DEFAULT NULL\";\n\tif (encoded !== void 0) return `DEFAULT ${sqliteInlineLiteral(encoded.wire, where)}`;\n\treturn `DEFAULT ${sqliteInlineLiteral(def.value, where)}`;\n}\nasync function sqliteRenderDdlColumn(column, codecLookup, table) {\n\tif (column.type.includes(\"AUTOINCREMENT\")) return `${quoteIdentifier(column.name)} ${column.type}`;\n\tconst parts = [quoteIdentifier(column.name), column.type];\n\tif (column.notNull) parts.push(\"NOT NULL\");\n\tif (column.primaryKey) parts.push(\"PRIMARY KEY\");\n\tif (column.default) {\n\t\tconst clause = await sqliteRenderDdlColumnDefault(column.default, codecLookup, column.codecRef, {\n\t\t\ttable,\n\t\t\tcolumn: column.name\n\t\t});\n\t\tif (clause.length > 0) parts.push(clause);\n\t}\n\treturn parts.join(\" \");\n}\nfunction sqliteRenderDdlConstraint(constraint) {\n\tif (constraint.kind === \"primary-key\") {\n\t\tconst cols = constraint.columns.map(quoteIdentifier).join(\", \");\n\t\tif (constraint.name !== void 0) return `CONSTRAINT ${quoteIdentifier(constraint.name)} PRIMARY KEY (${cols})`;\n\t\treturn `PRIMARY KEY (${cols})`;\n\t}\n\tif (constraint.kind === \"foreign-key\") {\n\t\tlet sql = `FOREIGN KEY (${constraint.columns.map(quoteIdentifier).join(\", \")}) REFERENCES ${constraint.refTable.split(\".\").map(quoteIdentifier).join(\".\")} (${constraint.refColumns.map(quoteIdentifier).join(\", \")})`;\n\t\tif (constraint.onDelete !== void 0) sql += ` ON DELETE ${REFERENTIAL_ACTION_SQL[constraint.onDelete]}`;\n\t\tif (constraint.onUpdate !== void 0) sql += ` ON UPDATE ${REFERENTIAL_ACTION_SQL[constraint.onUpdate]}`;\n\t\tif (constraint.name !== void 0) sql = `CONSTRAINT ${quoteIdentifier(constraint.name)} ${sql}`;\n\t\treturn sql;\n\t}\n\tif (constraint.kind === \"check-expression\") throw structuredError(\"CONTRACT.CONSTRAINT_INVALID\", `The SQLite target does not support CHECK constraints (constraint \"${constraint.name}\"). The \"checkConstraint\" capability is Postgres-only — remove the \"@@check\" / \"check()\" declaration, or target Postgres.`, { meta: { constraintName: constraint.name } });\n\tconst cols = constraint.columns.map(quoteIdentifier).join(\", \");\n\tif (constraint.name !== void 0) return `CONSTRAINT ${quoteIdentifier(constraint.name)} UNIQUE (${cols})`;\n\treturn `UNIQUE (${cols})`;\n}\nasync function sqliteRenderDdlExecuteRequest(ast, codecLookup) {\n\tconst node = blindCast(ast);\n\tconst ifNotExists = node.ifNotExists ? \"IF NOT EXISTS \" : \"\";\n\tconst tableRef = quoteIdentifier(node.table);\n\tconst columnDefs = await Promise.all(node.columns.map((col) => sqliteRenderDdlColumn(col, codecLookup, node.table)));\n\tconst constraintDefs = node.constraints !== void 0 ? node.constraints.map(sqliteRenderDdlConstraint) : [];\n\treturn {\n\t\tsql: `CREATE TABLE ${ifNotExists}${tableRef} (\\n ${[...columnDefs, ...constraintDefs].join(\",\\n \")}\\n)`,\n\t\tparams: []\n\t};\n}\n//#endregion\n//#region src/core/placeholders.ts\nconst QUOTE_CLOSERS = {\n\t\"'\": \"'\",\n\t\"\\\"\": \"\\\"\",\n\t\"`\": \"`\",\n\t\"[\": \"]\"\n};\nfunction skipQuoted(sql, start, closer) {\n\tlet index = start + 1;\n\twhile (index < sql.length) {\n\t\tif (sql[index] === closer) {\n\t\t\tif (closer !== \"]\" && sql[index + 1] === closer) {\n\t\t\t\tindex += 2;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\treturn index + 1;\n\t\t}\n\t\tindex += 1;\n\t}\n\treturn index;\n}\nfunction skipUntil(sql, start, terminator) {\n\tconst end = sql.indexOf(terminator, start);\n\treturn end === -1 ? sql.length : end + terminator.length;\n}\nfunction isDigit(char) {\n\treturn char !== void 0 && char >= \"0\" && char <= \"9\";\n}\n/** The `?` placeholders in SQLite SQL text, in the order written, skipping quoted text, quoted identifiers and comments. */\nfunction scanPlaceholders(sql) {\n\tconst placeholders = [];\n\tlet index = 0;\n\twhile (index < sql.length) {\n\t\tconst char = sql[index] ?? \"\";\n\t\tconst closer = QUOTE_CLOSERS[char];\n\t\tif (closer !== void 0) index = skipQuoted(sql, index, closer);\n\t\telse if (sql.startsWith(\"--\", index)) index = skipUntil(sql, index + 2, \"\\n\");\n\t\telse if (sql.startsWith(\"/*\", index)) index = skipUntil(sql, index + 2, \"*/\");\n\t\telse if (char === \"?\") {\n\t\t\tlet end = index + 1;\n\t\t\twhile (isDigit(sql[end])) end += 1;\n\t\t\tplaceholders.push(sql.slice(index, end));\n\t\t\tindex = end;\n\t\t} else index += 1;\n\t}\n\treturn placeholders;\n}\nconst NUMBERED_PLACEHOLDER = /^\\?([1-9]\\d*)$/;\nfunction placeholdersMatchParams(placeholders, paramCount) {\n\tconst numbers = placeholders.map((placeholder) => Number(NUMBERED_PLACEHOLDER.exec(placeholder)?.[1] ?? NaN));\n\treturn numbers.every((number) => number >= 1 && number <= paramCount) && new Set(numbers).size === paramCount;\n}\nconst REPORTED_PLACEHOLDERS = 5;\nfunction plural(count, noun) {\n\treturn `${count} ${noun}${count === 1 ? \"\" : \"s\"}`;\n}\nfunction assertPlaceholdersMatchParams(sql, paramCount) {\n\tconst placeholders = scanPlaceholders(sql);\n\tif (placeholdersMatchParams(placeholders, paramCount)) return;\n\tconst firstPlaceholders = placeholders.slice(0, REPORTED_PLACEHOLDERS);\n\tconst starting = firstPlaceholders.length > 0 ? `, starting ${firstPlaceholders.join(\", \")}` : \"\";\n\tthrow structuredError(\"RUNTIME.PARAM_PLACEHOLDER_MISMATCH\", `The lowered SQLite statement writes ${plural(placeholders.length, \"placeholder\")} for ${plural(paramCount, \"parameter\")}${starting}; each parameter must be written as its own numbered placeholder, and no other placeholder may appear.`, {\n\t\twhy: \"A placeholder that does not match a parameter binds a value to the wrong place in the statement, or leaves a value unbound.\",\n\t\tfix: \"Pass values into raw SQL through interpolation rather than writing a `?` in the SQL text.\",\n\t\tmeta: {\n\t\t\tplaceholderCount: placeholders.length,\n\t\t\tparamCount,\n\t\t\tfirstPlaceholders\n\t\t}\n\t});\n}\n//#endregion\n//#region src/core/adapter.ts\nfunction nodeKind(value) {\n\tif (typeof value === \"object\" && value !== null && \"kind\" in value && typeof value.kind === \"string\") return value.kind;\n\treturn \"unknown\";\n}\nfunction unreachableKind(value) {\n\treturn nodeKind(value);\n}\nconst defaultCapabilities = Object.freeze({ sql: {\n\torderBy: true,\n\tlimit: true,\n\tlateral: false,\n\tjsonAgg: true,\n\treturning: true,\n\tenums: false,\n\tinsertOnConflictSkip: true,\n\tinsertOnConflictWithoutTarget: true\n} });\nvar SqliteAdapterImpl = class {\n\tfamilyId = \"sql\";\n\ttargetId = \"sqlite\";\n\tprofile;\n\t#codecs;\n\tconstructor(codecRegistry, declaredDataTypes, profileId) {\n\t\tthis.#codecs = codecRegistry;\n\t\tconst controlAdapter = new SqliteControlAdapter(codecRegistry, declaredDataTypes);\n\t\tthis.profile = Object.freeze({\n\t\t\tid: profileId ?? \"sqlite/default@1\",\n\t\t\ttarget: \"sqlite\",\n\t\t\tcapabilities: defaultCapabilities,\n\t\t\treadMarker: (queryable) => controlAdapter.readMarkerDiscriminated({\n\t\t\t\tfamilyId: \"sql\",\n\t\t\t\ttargetId: \"sqlite\",\n\t\t\t\tquery: async (sql, params) => {\n\t\t\t\t\tconst rows = [];\n\t\t\t\t\tfor await (const row of queryable.query({\n\t\t\t\t\t\tsql,\n\t\t\t\t\t\t...params === void 0 ? {} : { params }\n\t\t\t\t\t})) rows.push(row);\n\t\t\t\t\treturn { rows };\n\t\t\t\t},\n\t\t\t\tclose: async () => {}\n\t\t\t}, APP_SPACE_ID)\n\t\t});\n\t}\n\tlower(ast, context) {\n\t\tif (isDdlNode(ast)) throw structuredError(\"RUNTIME.DDL_UNSUPPORTED\", \"lower() does not lower DDL on the runtime adapter — DDL lowering is a control-plane concern handled by the control adapter.\", { meta: { surface: \"runtime-adapter\" } });\n\t\treturn renderLoweredSql(ast, context.contract, this.#codecs);\n\t}\n};\n/** Codec-id lookup for bare-literal interpolations used by `fns.raw` on a sqlite client. Contributed as the descriptor's static `rawCodecInferer` slot. */\nconst sqliteRawCodecInferer = { inferCodec(value) {\n\tswitch (typeof value) {\n\t\tcase \"number\": return Number.isSafeInteger(value) && value % 1 === 0 ? \"sqlite/integer@1\" : \"sqlite/real@1\";\n\t\tcase \"bigint\": return \"sqlite/bigint@1\";\n\t\tcase \"string\": return \"sqlite/text@1\";\n\t\tcase \"boolean\": return \"sqlite/integer@1\";\n\t\tcase \"object\": if (value instanceof Uint8Array) return \"sqlite/blob@1\";\n\t}\n\tthrow structuredError(\"RUNTIME.RAW_SQL_UNSUPPORTED_INTERPOLATION\", \"unsupported JS value type for raw-SQL interpolation: wrap this value in `param(...)` with an explicit codec\", { meta: { valueType: typeof value } });\n} };\n/**\n* Lower a SQL query AST into a SQLite-flavored `{ sql, params }` payload.\n*\n* Shared between the runtime adapter (`SqliteAdapterImpl.lower`) and the control adapter (`SqliteControlAdapter.lower`) so both produce byte-identical SQL for the same AST and contract.\n*/\nfunction renderLoweredSql(ast, contract, codecs) {\n\tconst orderedRefs = collectOrderedParamRefs(ast);\n\tconst placeholderNumbers = /* @__PURE__ */ new Map();\n\tconst params = orderedRefs.map((ref, index) => {\n\t\tplaceholderNumbers.set(ref, index + 1);\n\t\treturn ref.kind === \"prepared-param-ref\" ? {\n\t\t\tkind: \"bind\",\n\t\t\tname: ref.name\n\t\t} : {\n\t\t\tkind: \"literal\",\n\t\t\tvalue: ref.value\n\t\t};\n\t});\n\tconst ctx = {\n\t\tcontract,\n\t\tcodecs,\n\t\tplaceholderNumbers\n\t};\n\tlet sql;\n\tconst node = ast;\n\tswitch (node.kind) {\n\t\tcase \"select\":\n\t\t\tsql = renderSelect(node, ctx);\n\t\t\tbreak;\n\t\tcase \"insert\":\n\t\t\tsql = renderInsert(node, ctx);\n\t\t\tbreak;\n\t\tcase \"update\":\n\t\t\tsql = renderUpdate(node, ctx);\n\t\t\tbreak;\n\t\tcase \"delete\":\n\t\t\tsql = renderDelete(node, ctx);\n\t\t\tbreak;\n\t\tcase \"raw-query\":\n\t\t\tsql = renderParts(node.parts, ctx);\n\t\t\tbreak;\n\t\tdefault: throw new InternalError(`Unsupported AST node kind: ${nodeKind(node)}`);\n\t}\n\tassertPlaceholdersMatchParams(sql, params.length);\n\treturn Object.freeze({\n\t\tsql,\n\t\tparams\n\t});\n}\nfunction renderPlaceholder(ref, ctx) {\n\tconst number = ctx.placeholderNumbers.get(ref);\n\tif (number === void 0) throw new InternalError(\"ParamRef was written but not collected from the AST\");\n\treturn `?${number}`;\n}\nfunction renderLimitOffset(keyword, value, ctx) {\n\tif (value === void 0) return \"\";\n\tif (typeof value === \"number\") return `${keyword} ${value}`;\n\treturn `${keyword} ${renderExpr(value, ctx)}`;\n}\nfunction renderSelect(ast, ctx) {\n\tif (ast.locking !== void 0 && ast.locking.length > 0) throw structuredError(\"RUNTIME.AST_UNSUPPORTED\", \"SQLite has no row locks, so a select cannot carry a locking clause such as FOR UPDATE\", { meta: {\n\t\ttarget: \"sqlite\",\n\t\tfeature: \"locking-clause\"\n\t} });\n\treturn [\n\t\t`SELECT ${ast.distinct ? \"DISTINCT \" : \"\"}${renderProjection(ast.projection, ctx)}`,\n\t\tast.from !== void 0 ? `FROM ${renderSource(ast.from, ctx)}` : \"\",\n\t\tast.joins?.length ? ast.joins.map((join) => renderJoin(join, ctx)).join(\" \") : \"\",\n\t\tast.where ? `WHERE ${renderExpr(ast.where, ctx)}` : \"\",\n\t\tast.groupBy?.length ? `GROUP BY ${ast.groupBy.map((expr) => renderExpr(expr, ctx)).join(\", \")}` : \"\",\n\t\tast.having ? `HAVING ${renderExpr(ast.having, ctx)}` : \"\",\n\t\tast.orderBy?.length ? `ORDER BY ${renderOrderByItems(ast.orderBy, ctx)}` : \"\",\n\t\tast.limit === void 0 && ast.offset !== void 0 ? \"LIMIT -1\" : renderLimitOffset(\"LIMIT\", ast.limit, ctx),\n\t\trenderLimitOffset(\"OFFSET\", ast.offset, ctx)\n\t].filter((part) => part.length > 0).join(\" \").trim();\n}\nfunction renderProjection(projection, ctx) {\n\treturn projection.map((item) => {\n\t\tconst alias = quoteIdentifier(item.alias);\n\t\tif (item.expr.kind === \"literal\") return `${renderLiteral(item.expr)} AS ${alias}`;\n\t\treturn `${renderExpr(item.expr, ctx)} AS ${alias}`;\n\t}).join(\", \");\n}\nfunction qualifyTableFromNamespaceCoordinate(table, ctx) {\n\tif (table.namespaceId === void 0) return quoteIdentifier(table.name);\n\tif (ctx.contract === void 0) throw new InternalError(`Table \"${table.name}\" carries namespace \"${table.namespaceId}\" but no contract was supplied to resolve it`);\n\tconst namespace = ctx.contract.storage.namespaces[table.namespaceId];\n\tif (namespace === void 0) throw structuredError(\"RUNTIME.NAMESPACE_UNKNOWN\", `Table \"${table.name}\" references namespace \"${table.namespaceId}\" which is not present on the contract`, { meta: {\n\t\ttable: table.name,\n\t\tnamespaceId: table.namespaceId,\n\t\treason: \"not-present\"\n\t} });\n\tconst qualifyTable = namespace.qualifyTable;\n\tif (qualifyTable === void 0) throw structuredError(\"RUNTIME.NAMESPACE_UNKNOWN\", `Table \"${table.name}\" references namespace \"${table.namespaceId}\" which is not materialised for SQL rendering on the contract`, { meta: {\n\t\ttable: table.name,\n\t\tnamespaceId: table.namespaceId,\n\t\treason: \"not-materialised\"\n\t} });\n\treturn qualifyTable.call(namespace, table.name);\n}\nfunction renderTableSource(source, ctx) {\n\tconst qualified = qualifyTableFromNamespaceCoordinate(source, ctx);\n\tif (!source.alias) return qualified;\n\treturn `${qualified} AS ${quoteIdentifier(source.alias)}`;\n}\nfunction renderSource(source, ctx) {\n\tconst node = source;\n\tswitch (node.kind) {\n\t\tcase \"table-source\": return renderTableSource(node, ctx);\n\t\tcase \"derived-table-source\": return `(${renderSelect(node.query, ctx)}) AS ${quoteIdentifier(node.alias)}`;\n\t\tcase \"function-source\": {\n\t\t\tif (node.ordinality) throw structuredError(\"RUNTIME.AST_UNSUPPORTED\", \"SQLite does not support WITH ORDINALITY on function sources\", { meta: {\n\t\t\t\ttarget: \"sqlite\",\n\t\t\t\tfeature: \"function-source-with-ordinality\"\n\t\t\t} });\n\t\t\tif (node.columnAliases !== void 0) throw structuredError(\"RUNTIME.AST_UNSUPPORTED\", \"SQLite does not support returned-column aliases on function sources\", { meta: {\n\t\t\t\ttarget: \"sqlite\",\n\t\t\t\tfeature: \"function-source-column-aliases\"\n\t\t\t} });\n\t\t\tconst args = node.args.map((arg) => renderExpr(arg, ctx)).join(\", \");\n\t\t\tconst call = `${node.fn}(${args})`;\n\t\t\treturn node.alias !== void 0 ? `${call} AS ${quoteIdentifier(node.alias)}` : call;\n\t\t}\n\t\tdefault: return assertNever(node, `Unsupported source node kind: ${unreachableKind(node)}`);\n\t}\n}\nfunction renderExpr(expr, ctx) {\n\tconst node = expr;\n\tswitch (node.kind) {\n\t\tcase \"column-ref\": return renderColumn(node);\n\t\tcase \"identifier-ref\": return quoteIdentifier(node.name);\n\t\tcase \"operation\": return renderOperation(node, ctx);\n\t\tcase \"subquery\": return renderSubqueryExpr(node, ctx);\n\t\tcase \"aggregate\": return renderAggregateExpr(node, ctx);\n\t\tcase \"window-func\": return renderWindowFuncExpr(node, ctx);\n\t\tcase \"function-call\": return renderFunctionCallExpr(node, ctx);\n\t\tcase \"cast\": return renderCastExpr(node, ctx);\n\t\tcase \"case\": return renderCaseExpr(node, ctx);\n\t\tcase \"json-object\": return renderJsonObjectExpr(node, ctx);\n\t\tcase \"json-array-agg\": return renderJsonArrayAggExpr(node, ctx);\n\t\tcase \"binary\": return renderBinary(node, ctx);\n\t\tcase \"and\":\n\t\t\tif (node.exprs.length === 0) return \"TRUE\";\n\t\t\treturn `(${node.exprs.map((part) => renderExpr(part, ctx)).join(\" AND \")})`;\n\t\tcase \"or\":\n\t\t\tif (node.exprs.length === 0) return \"FALSE\";\n\t\t\treturn `(${node.exprs.map((part) => renderExpr(part, ctx)).join(\" OR \")})`;\n\t\tcase \"exists\":\n\t\t\tif (ctx.contract === void 0) throw new InternalError(\"EXISTS subquery rendering requires a Sqlite contract\");\n\t\t\treturn `${node.notExists ? \"NOT \" : \"\"}EXISTS (${renderSelect(node.subquery, ctx)})`;\n\t\tcase \"null-check\": return renderNullCheck(node, ctx);\n\t\tcase \"not\": return `NOT (${renderExpr(node.expr, ctx)})`;\n\t\tcase \"param-ref\":\n\t\tcase \"prepared-param-ref\": return renderPlaceholder(node, ctx);\n\t\tcase \"literal\": return renderLiteral(node);\n\t\tcase \"list\": return renderListLiteral(node, ctx);\n\t\tcase \"raw-expr\": return renderRawExpr(node, ctx);\n\t\tdefault: return assertNever(node, `Unsupported expression node kind: ${unreachableKind(node)}`);\n\t}\n}\nfunction renderParts(parts, ctx) {\n\treturn parts.map((part) => typeof part === \"string\" ? part : renderExpr(part, ctx)).join(\"\");\n}\nfunction renderRawExpr(node, ctx) {\n\treturn renderParts(node.parts, ctx);\n}\nfunction renderColumn(ref) {\n\tif (ref.table === \"excluded\") return `excluded.${quoteIdentifier(ref.column)}`;\n\treturn `${quoteIdentifier(ref.table)}.${quoteIdentifier(ref.column)}`;\n}\nfunction renderLiteral(expr) {\n\tif (typeof expr.value === \"string\") return `'${escapeLiteral(expr.value)}'`;\n\tif (typeof expr.value === \"number\" && !Number.isNaN(expr.value) && !Number.isFinite(expr.value)) return expr.value > 0 ? \"9e999\" : \"-9e999\";\n\tif (typeof expr.value === \"number\" || typeof expr.value === \"boolean\") return String(expr.value);\n\tif (typeof expr.value === \"bigint\") return String(expr.value);\n\tif (expr.value === null || expr.value === void 0) return \"NULL\";\n\tif (expr.value instanceof Date) return `'${escapeLiteral(expr.value.toISOString())}'`;\n\tconst json = JSON.stringify(expr.value);\n\tif (json === void 0) return \"NULL\";\n\treturn `'${escapeLiteral(json)}'`;\n}\nfunction renderOperation(expr, ctx) {\n\tconst self = renderExpr(expr.self, ctx);\n\tconst args = expr.args.map((arg) => renderExpr(arg, ctx));\n\treturn expr.lowering.template.replace(/\\{\\{self\\}\\}|\\{\\{arg(\\d+)\\}\\}/g, (token, argIndex) => {\n\t\tif (token === \"{{self}}\") return self;\n\t\tconst arg = args[Number(argIndex)];\n\t\tif (arg === void 0) throw structuredError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Operation lowering template for \"${expr.method}\" referenced missing argument {{arg${argIndex}}}; template has ${args.length} arg(s)`, { meta: { method: expr.method } });\n\t\treturn arg;\n\t});\n}\nfunction renderSubqueryExpr(expr, ctx) {\n\tif (expr.query.projection.length !== 1) throw structuredError(\"RUNTIME.AST_INVALID\", \"Subquery expressions must project exactly one column\", { meta: { node: \"subquery\" } });\n\tif (ctx.contract === void 0) throw new InternalError(\"Subquery expression rendering requires a Sqlite contract\");\n\treturn `(${renderSelect(expr.query, ctx)})`;\n}\nfunction requiresNullCheckGrouping(kind) {\n\tswitch (kind) {\n\t\tcase \"operation\":\n\t\tcase \"subquery\": return true;\n\t\tcase \"column-ref\":\n\t\tcase \"identifier-ref\":\n\t\tcase \"aggregate\":\n\t\tcase \"window-func\":\n\t\tcase \"function-call\":\n\t\tcase \"cast\":\n\t\tcase \"case\":\n\t\tcase \"json-object\":\n\t\tcase \"json-array-agg\":\n\t\tcase \"binary\":\n\t\tcase \"and\":\n\t\tcase \"or\":\n\t\tcase \"exists\":\n\t\tcase \"null-check\":\n\t\tcase \"not\":\n\t\tcase \"param-ref\":\n\t\tcase \"prepared-param-ref\":\n\t\tcase \"literal\":\n\t\tcase \"list\":\n\t\tcase \"raw-expr\": return false;\n\t}\n}\nfunction renderNullCheck(expr, ctx) {\n\tconst rendered = renderExpr(expr.expr, ctx);\n\tconst renderedExpr = requiresNullCheckGrouping(expr.expr.kind) ? `(${rendered})` : rendered;\n\treturn expr.isNull ? `${renderedExpr} IS NULL` : `${renderedExpr} IS NOT NULL`;\n}\nfunction renderBinary(expr, ctx) {\n\tif (expr.right.kind === \"list\" && expr.right.values.length === 0) {\n\t\tif (expr.op === \"in\") return \"FALSE\";\n\t\tif (expr.op === \"notIn\") return \"TRUE\";\n\t}\n\tconst leftExpr = expr.left;\n\tconst left = renderExpr(leftExpr, ctx);\n\tconst leftRendered = leftExpr.kind === \"operation\" || leftExpr.kind === \"subquery\" ? `(${left})` : left;\n\tconst rightNode = expr.right;\n\tlet right;\n\tswitch (rightNode.kind) {\n\t\tcase \"list\":\n\t\t\tright = renderListLiteral(rightNode, ctx);\n\t\t\tbreak;\n\t\tcase \"literal\":\n\t\t\tright = renderLiteral(rightNode);\n\t\t\tbreak;\n\t\tcase \"column-ref\":\n\t\t\tright = renderColumn(rightNode);\n\t\t\tbreak;\n\t\tcase \"param-ref\":\n\t\tcase \"prepared-param-ref\":\n\t\t\tright = renderPlaceholder(rightNode, ctx);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tright = renderExpr(rightNode, ctx);\n\t\t\tbreak;\n\t}\n\treturn `${leftRendered} ${{\n\t\teq: \"=\",\n\t\tneq: \"!=\",\n\t\tisNotDistinctFrom: \"IS\",\n\t\tisDistinctFrom: \"IS NOT\",\n\t\tgt: \">\",\n\t\tlt: \"<\",\n\t\tgte: \">=\",\n\t\tlte: \"<=\",\n\t\tlike: \"LIKE\",\n\t\tin: \"IN\",\n\t\tnotIn: \"NOT IN\"\n\t}[expr.op]} ${right}`;\n}\nfunction renderListLiteral(expr, ctx) {\n\tif (expr.values.length === 0) return \"(NULL)\";\n\treturn `(${expr.values.map((v) => {\n\t\tif (v.kind === \"param-ref\" || v.kind === \"prepared-param-ref\") return renderPlaceholder(v, ctx);\n\t\tif (v.kind === \"literal\") return renderLiteral(v);\n\t\treturn renderExpr(v, ctx);\n\t}).join(\", \")})`;\n}\nfunction renderAggregateExpr(expr, ctx) {\n\tconst fn = expr.fn.toUpperCase();\n\tif (!expr.expr) return `${fn}(*)`;\n\treturn `${fn}(${renderExpr(expr.expr, ctx)})`;\n}\nfunction renderWindowFuncExpr(expr, ctx) {\n\treturn `${expr.fn.toUpperCase()}(${expr.args.map((arg) => renderExpr(arg, ctx)).join(\", \")}) OVER (${[expr.partitionBy && expr.partitionBy.length > 0 ? `PARTITION BY ${expr.partitionBy.map((e) => renderExpr(e, ctx)).join(\", \")}` : \"\", expr.orderBy && expr.orderBy.length > 0 ? `ORDER BY ${renderOrderByItems(expr.orderBy, ctx)}` : \"\"].filter((part) => part.length > 0).join(\" \")})`;\n}\nfunction renderFunctionCallExpr(expr, ctx) {\n\tconst args = expr.args.map((arg) => renderExpr(arg, ctx)).join(\", \");\n\treturn `${expr.fn}(${args})`;\n}\nfunction renderCastExpr(expr, ctx) {\n\treturn `CAST(${renderExpr(expr.expr, ctx)} AS ${expr.targetType})`;\n}\nfunction renderCaseExpr(expr, ctx) {\n\treturn `CASE ${expr.branches.map((branch) => `WHEN ${renderExpr(branch.condition, ctx)} THEN ${renderExpr(branch.value, ctx)}`).join(\" \")}${expr.elseExpr === void 0 ? \"\" : ` ELSE ${renderExpr(expr.elseExpr, ctx)}`} END`;\n}\nfunction renderJsonValueProjection(projection, ctx) {\n\treturn projection.accept({\n\t\tcodec: ({ value, codec }) => renderExpr(projectJsonThroughCodec(value, codec, ctx.codecs), ctx),\n\t\tnative: ({ value }) => renderExpr(value, ctx),\n\t\tdocument: ({ value }) => renderExpr(jsonDocumentRetag(value), ctx)\n\t});\n}\nfunction projectJsonThroughCodec(value, codec, codecs) {\n\tconst descriptor = codecs.descriptorFor(codec.codecId);\n\tif (descriptor === void 0) throw structuredError(\"RUNTIME.PARAM_REF_MISSING_CODEC\", `SQLite lowering: a JSON projection carries codecId \"${codec.codecId}\" but the validated SQLite codec registry has no entry for it. This usually indicates a missing extension pack in the runtime stack — register the pack that contributes this codec, or use the codec directly from \\`@prisma/orm-target-sqlite/target/codecs\\` if it's a builtin.`, { meta: { codecId: codec.codecId } });\n\treturn descriptor.projectJson(value, codec);\n}\nfunction renderJsonObjectExpr(expr, ctx) {\n\treturn `json_object(${expr.entries.flatMap((entry) => {\n\t\treturn [`'${escapeLiteral(entry.key)}'`, renderJsonValueProjection(entry.value, ctx)];\n\t}).join(\", \")})`;\n}\nfunction renderOrderByItems(items, ctx) {\n\treturn items.map((item) => `${renderExpr(item.expr, ctx)}${ORDER_DIRECTION_SQL[item.dir]}${renderNullsPlacement(item)}`).join(\", \");\n}\nconst ORDER_DIRECTION_SQL = {\n\tasc: \" ASC\",\n\tdesc: \" DESC\"\n};\nconst ORDER_NULLS_SQL = {\n\tfirst: \" NULLS FIRST\",\n\tlast: \" NULLS LAST\"\n};\nfunction renderNullsPlacement(item) {\n\treturn item.nulls === void 0 ? \"\" : ORDER_NULLS_SQL[item.nulls];\n}\nfunction renderJsonArrayAggExpr(expr, ctx) {\n\tconst aggregateOrderBy = expr.orderBy && expr.orderBy.length > 0 ? ` ORDER BY ${renderOrderByItems(expr.orderBy, ctx)}` : \"\";\n\tconst aggregated = `json_group_array(${renderJsonValueProjection(expr.expr, ctx)}${aggregateOrderBy})`;\n\tif (expr.onEmpty === \"emptyArray\") return `coalesce(${aggregated}, '[]')`;\n\treturn aggregated;\n}\nfunction renderJoin(join, ctx) {\n\tif (ctx.contract === void 0) throw new InternalError(\"JOIN rendering requires a Sqlite contract\");\n\treturn `${join.joinType.toUpperCase()} JOIN ${renderSource(join.source, ctx)} ON ${renderJoinOn(join.on, ctx)}`;\n}\nfunction renderJoinOn(on, ctx) {\n\tif (on.kind === \"eq-col-join-on\") return `${renderColumn(on.left)} = ${renderColumn(on.right)}`;\n\treturn renderExpr(on, ctx);\n}\nfunction renderInsertValue(value, ctx) {\n\tswitch (value.kind) {\n\t\tcase \"param-ref\":\n\t\tcase \"prepared-param-ref\": return renderPlaceholder(value, ctx);\n\t\tcase \"column-ref\": return renderColumn(value);\n\t\tcase \"raw-expr\": return renderExpr(value, ctx);\n\t\tcase \"default-value\": throw structuredError(\"RUNTIME.AST_UNSUPPORTED\", \"SQLite does not support DEFAULT as a value in INSERT ... VALUES\", { meta: { node: \"default-value\" } });\n\t\tdefault: return assertNever(value, `Unsupported value node in INSERT: ${unreachableKind(value)}`);\n\t}\n}\nfunction renderInsert(ast, ctx) {\n\tconst table = renderTableSource(ast.table, ctx);\n\tconst rows = ast.rows;\n\tconst firstRow = rows[0];\n\tif (firstRow === void 0) throw structuredError(\"RUNTIME.AST_INVALID\", \"INSERT requires at least one row\", { meta: {\n\t\tnode: \"insert\",\n\t\ttable: ast.table.name\n\t} });\n\tconst columnOrder = Object.keys(firstRow);\n\tlet insertClause;\n\tif (columnOrder.length === 0) insertClause = `INSERT INTO ${table} DEFAULT VALUES`;\n\telse {\n\t\tconst columns = columnOrder.map((column) => quoteIdentifier(column));\n\t\tconst values = rows.map((row) => {\n\t\t\treturn `(${columnOrder.map((column) => {\n\t\t\t\tconst value = row[column];\n\t\t\t\tif (value === void 0) throw structuredError(\"RUNTIME.AST_INVALID\", `Missing value for column \"${column}\" in INSERT row`, { meta: {\n\t\t\t\t\tnode: \"insert\",\n\t\t\t\t\ttable: ast.table.name,\n\t\t\t\t\tcolumn\n\t\t\t\t} });\n\t\t\t\treturn renderInsertValue(value, ctx);\n\t\t\t}).join(\", \")})`;\n\t\t}).join(\", \");\n\t\tinsertClause = `INSERT INTO ${table} (${columns.join(\", \")}) VALUES ${values}`;\n\t}\n\tlet onConflictClause = \"\";\n\tif (ast.onConflict) {\n\t\tconst conflictColumns = ast.onConflict.columns.map((col) => quoteIdentifier(col.column));\n\t\tconst target = conflictColumns.length === 0 ? \"\" : ` (${conflictColumns.join(\", \")})`;\n\t\tconst action = ast.onConflict.action;\n\t\tswitch (action.kind) {\n\t\t\tcase \"do-nothing\":\n\t\t\t\tonConflictClause = ` ON CONFLICT${target} DO NOTHING`;\n\t\t\t\tbreak;\n\t\t\tcase \"do-update-set\":\n\t\t\t\tif (conflictColumns.length === 0) throw structuredError(\"RUNTIME.AST_INVALID\", \"INSERT onConflict requires at least one conflict column\", { meta: {\n\t\t\t\t\tnode: \"insert\",\n\t\t\t\t\ttable: ast.table.name\n\t\t\t\t} });\n\t\t\t\tonConflictClause = ` ON CONFLICT${target} DO UPDATE SET ${Object.entries(action.set).map(([colName, value]) => {\n\t\t\t\t\treturn `${quoteIdentifier(colName)} = ${renderExpr(value, ctx)}`;\n\t\t\t\t}).join(\", \")}`;\n\t\t\t\tbreak;\n\t\t\tdefault: assertNever(action, `Unsupported onConflict action: ${unreachableKind(action)}`);\n\t\t}\n\t}\n\tconst returningClause = renderReturning(ast.returning, ctx);\n\treturn `${insertClause}${onConflictClause}${returningClause}`;\n}\nfunction renderUpdate(ast, ctx) {\n\tconst table = renderTableSource(ast.table, ctx);\n\tconst setClauses = Object.entries(ast.set).map(([col, val]) => {\n\t\treturn `${quoteIdentifier(col)} = ${renderExpr(val, ctx)}`;\n\t});\n\tconst whereClause = ast.where ? ` WHERE ${renderExpr(ast.where, ctx)}` : \"\";\n\tconst returningClause = renderReturning(ast.returning, ctx);\n\treturn `UPDATE ${table} SET ${setClauses.join(\", \")}${whereClause}${returningClause}`;\n}\nfunction renderDelete(ast, ctx) {\n\treturn `DELETE FROM ${renderTableSource(ast.table, ctx)}${ast.where ? ` WHERE ${renderExpr(ast.where, ctx)}` : \"\"}${renderReturning(ast.returning, ctx)}`;\n}\nfunction renderReturning(returning, ctx) {\n\tif (!returning?.length) return \"\";\n\treturn ` RETURNING ${returning.map((item) => {\n\t\tif (item.expr.kind === \"column-ref\") {\n\t\t\tconst rendered = quoteIdentifier(item.expr.column);\n\t\t\treturn item.expr.column === item.alias ? rendered : `${rendered} AS ${quoteIdentifier(item.alias)}`;\n\t\t}\n\t\treturn `${renderExpr(item.expr, ctx)} AS ${quoteIdentifier(item.alias)}`;\n\t}).join(\", \")}`;\n}\nfunction createSqliteAdapter(options) {\n\tconst codecRegistry = createSqliteCodecRegistryWithBuiltins(options?.codecDescriptors);\n\treturn Object.freeze(new SqliteAdapterImpl(codecRegistry, sqliteDataTypes, options?.profileId));\n}\nfunction createSqliteAdapterWithCodecRegistry(codecRegistry, declaredDataTypes) {\n\treturn Object.freeze(new SqliteAdapterImpl(codecRegistry, declaredDataTypes));\n}\n//#endregion\nexport { SqliteControlAdapter as a, sqliteRawCodecInferer as i, createSqliteAdapterWithCodecRegistry as n, renderLoweredSql as r, createSqliteAdapter as t };\n\n//# sourceMappingURL=adapter-Cff01Cgi.mjs.map"],"mappings":"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"}
|
|
@@ -100,7 +100,7 @@ declare const sqliteAdapterContractContributions: {
|
|
|
100
100
|
readonly operation: "avg";
|
|
101
101
|
readonly input: {
|
|
102
102
|
readonly kind: "codec";
|
|
103
|
-
readonly codecId: "sql/int@1" | "sql/float@1" | "sqlite/integer@1" | "sqlite/
|
|
103
|
+
readonly codecId: "sql/int@1" | "sql/float@1" | "sqlite/integer@1" | "sqlite/bigint@1" | "sqlite/real@1" | "sqlite/bigintnumber@1";
|
|
104
104
|
};
|
|
105
105
|
readonly output: {
|
|
106
106
|
readonly kind: "codec";
|
|
@@ -131,7 +131,7 @@ declare const sqliteAdapterContractContributions: {
|
|
|
131
131
|
readonly operation: "min";
|
|
132
132
|
readonly input: {
|
|
133
133
|
readonly kind: "codec";
|
|
134
|
-
readonly codecId: "sqlite/
|
|
134
|
+
readonly codecId: "sqlite/datetime@1" | "sqlite/json@1" | "sqlite/blob@1";
|
|
135
135
|
};
|
|
136
136
|
readonly output: {
|
|
137
137
|
readonly kind: "self";
|
|
@@ -172,7 +172,7 @@ declare const sqliteAdapterContractContributions: {
|
|
|
172
172
|
readonly operation: "max";
|
|
173
173
|
readonly input: {
|
|
174
174
|
readonly kind: "codec";
|
|
175
|
-
readonly codecId: "sqlite/
|
|
175
|
+
readonly codecId: "sqlite/datetime@1" | "sqlite/json@1" | "sqlite/blob@1";
|
|
176
176
|
};
|
|
177
177
|
readonly output: {
|
|
178
178
|
readonly kind: "self";
|
|
@@ -194,4 +194,4 @@ declare const sqliteAdapterContractContributions: {
|
|
|
194
194
|
};
|
|
195
195
|
//#endregion
|
|
196
196
|
export { sqliteAdapterContractContributions as n, sqliteAdapterCapabilities as t };
|
|
197
|
-
//# sourceMappingURL=adapter-
|
|
197
|
+
//# sourceMappingURL=adapter-xs2nBMBo.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-
|
|
1
|
+
{"version":3,"file":"adapter-xs2nBMBo.d.mts","names":[],"sources":["../../../../3-targets/sqlite/2-adapter/dist/adapter.d.mts"],"mappings":";;;;cAGc,2BAA2B;WAC9B;aACE;aACA;aACA;aACA;aACA;aACA;aACA;aACA;aACA;;;;;;;;cAQC;WACH,cAAc;aACZ;eACE;eACA;eACA;eACA;eACA;eACA;eACA;eACA;eACA;;;WAGJ;aACE;eACE;eACA;iBACE;;eAEF;iBACE;iBACA;;eAEF;eACA;eACA,6EAA6E;;eAE7E;eACA;iBACE;;eAEF;iBACE;iBACA;;eAEF;eACA;eACA,6EAA6E;;eAE7E,8EAA8E;eAC9E;eACA;iBACE;iBACA;;eAEF;iBACE;iBACA;;eAEF;;eAEA;eACA;iBACE;iBACA;;eAEF;iBACE;iBACA;;eAEF;eACA,6EAA6E;;eAE7E,8EAA8E;eAC9E;eACA;iBACE;iBACA;;eAEF;iBACE;iBACA;;eAEF;;eAEA,8EAA8E;eAC9E;eACA;iBACE;iBACA;;eAEF;iBACE;iBACA;;eAEF;;eAEA;eACA;iBACE;iBACA;;eAEF;iBACE;;eAEF;;eAEA;eACA;iBACE;iBACA;;eAEF;iBACE;;eAEF;;eAEA;eACA;iBACE;iBACA;;eAEF;iBACE;;eAEF;;eAEA;eACA;iBACE;iBACA;;eAEF;iBACE;;eAEF;eACA,6EAA6E;;eAE7E;eACA;iBACE;iBACA;;eAEF;iBACE;;eAEF;;eAEA;eACA;iBACE;iBACA;;eAEF;iBACE;;eAEF;;eAEA;eACA;iBACE;iBACA;;eAEF;iBACE;;eAEF;;eAEA;eACA;iBACE;iBACA;;eAEF;iBACE;;eAEF;eACA,6EAA6E"}
|
package/dist/adapter.d.mts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { n as SqliteContract, r as SqliteLoweredStatement, t as SqliteAdapterOptions } from "./types-RJMd2PlL-BTGAJrBQ.mjs";
|
|
2
2
|
import { m as createSqliteCodecRegistryWithBuiltins, o as SqliteCodecRegistry, p as createSqliteBuiltinCodecLookup, t as JsonValue$1 } from "./codecs-BJYruC-a-BKDGae3k.mjs";
|
|
3
3
|
import { i as sqliteRawCodecInferer, r as renderLoweredSql, t as createSqliteAdapter } from "./adapter-xFPDhkod-BsdLsy9N.mjs";
|
|
4
|
-
import { n as sqliteAdapterContractContributions, t as sqliteAdapterCapabilities } from "./adapter-
|
|
4
|
+
import { n as sqliteAdapterContractContributions, t as sqliteAdapterCapabilities } from "./adapter-xs2nBMBo.mjs";
|
|
5
5
|
import { t as CodecTypes } from "./codec-types-COh75Bop-CUehAexc.mjs";
|
|
6
6
|
import "./codec-types-PONhVn74.mjs";
|
|
7
7
|
import { a as jsonColumn, c as textColumn, i as integerColumn, n as blobColumn, o as rawColumn, r as datetimeColumn, s as realColumn, t as bigintColumn } from "./column-types-Dxm0BpPv.mjs";
|
|
8
8
|
import { n as quoteIdentifier, t as escapeLiteral } from "./sql-utils-BqHka8P6.mjs";
|
|
9
9
|
import { n as readSqliteDefault } from "./default-normalizer-CkHy3JYk.mjs";
|
|
10
|
-
import { t as SqliteControlAdapter } from "./control-
|
|
10
|
+
import { t as SqliteControlAdapter } from "./control-VMpMSXk9.mjs";
|
|
11
11
|
import { t as SqliteRuntimeAdapterInstance } from "./runtime-YfPIbtO6.mjs";
|
|
12
12
|
import "./sql-renderer-brQ96quu.mjs";
|
|
13
13
|
import "./types-y5JlAv97.mjs";
|
package/dist/adapter.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { n as createSqliteBuiltinCodecLookup, r as createSqliteCodecRegistryWithBuiltins } from "./codecs-g-YI3BtK.mjs";
|
|
2
2
|
import { n as escapeLiteral, r as quoteIdentifier } from "./sql-utils-XGT5Esi2-Zr2mqJf8.mjs";
|
|
3
3
|
import { t as readSqliteDefault } from "./default-normalizer-DGMXypHg-CPf7oyZA.mjs";
|
|
4
|
-
import { a as sqliteRawCodecInferer, i as renderLoweredSql, n as createSqliteAdapter, t as SqliteControlAdapter } from "./adapter-
|
|
4
|
+
import { a as sqliteRawCodecInferer, i as renderLoweredSql, n as createSqliteAdapter, t as SqliteControlAdapter } from "./adapter-Cff01Cgi-C19Fhc2M.mjs";
|
|
5
5
|
import { n as sqliteAdapterContractContributions, t as sqliteAdapterCapabilities } from "./contract-contributions-wweWdXMK-CN-d35Rj.mjs";
|
|
6
6
|
import { a as jsonColumn, c as textColumn, i as integerColumn, n as blobColumn, o as rawColumn, r as datetimeColumn, s as realColumn, t as bigintColumn } from "./column-types-DcbNOYVb.mjs";
|
|
7
7
|
export { SqliteControlAdapter, bigintColumn, blobColumn, createSqliteAdapter, createSqliteBuiltinCodecLookup, createSqliteCodecRegistryWithBuiltins, datetimeColumn, escapeLiteral, integerColumn, jsonColumn, quoteIdentifier, rawColumn, readSqliteDefault, realColumn, renderLoweredSql, sqliteAdapterCapabilities, sqliteAdapterContractContributions, sqliteRawCodecInferer, textColumn };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { t as SqliteAdapterOptions } from "./types-RJMd2PlL-BTGAJrBQ.mjs";
|
|
2
2
|
import { i as sqliteRawCodecInferer, t as createSqliteAdapter } from "./adapter-xFPDhkod-BsdLsy9N.mjs";
|
|
3
|
-
import { n as sqliteAdapterContractContributions, t as sqliteAdapterCapabilities } from "./adapter-
|
|
3
|
+
import { n as sqliteAdapterContractContributions, t as sqliteAdapterCapabilities } from "./adapter-xs2nBMBo.mjs";
|
|
4
4
|
export { type SqliteAdapterOptions, createSqliteAdapter, sqliteAdapterCapabilities, sqliteAdapterContractContributions, sqliteRawCodecInferer };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { a as sqliteRawCodecInferer, n as createSqliteAdapter } from "./adapter-
|
|
1
|
+
import { a as sqliteRawCodecInferer, n as createSqliteAdapter } from "./adapter-Cff01Cgi-C19Fhc2M.mjs";
|
|
2
2
|
import { n as sqliteAdapterContractContributions, t as sqliteAdapterCapabilities } from "./contract-contributions-wweWdXMK-CN-d35Rj.mjs";
|
|
3
3
|
export { createSqliteAdapter, sqliteAdapterCapabilities, sqliteAdapterContractContributions, sqliteRawCodecInferer };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { m as createSqliteCodecRegistryWithBuiltins, p as createSqliteBuiltinCodecLookup } from "./codecs-BJYruC-a-BKDGae3k.mjs";
|
|
2
2
|
import { n as quoteIdentifier, t as escapeLiteral } from "./sql-utils-BqHka8P6.mjs";
|
|
3
3
|
import { n as readSqliteDefault } from "./default-normalizer-CkHy3JYk.mjs";
|
|
4
|
-
import { n as sqliteAdapterDescriptor, t as SqliteControlAdapter } from "./control-
|
|
4
|
+
import { n as sqliteAdapterDescriptor, t as SqliteControlAdapter } from "./control-VMpMSXk9.mjs";
|
|
5
5
|
export { SqliteControlAdapter, createSqliteBuiltinCodecLookup, createSqliteCodecRegistryWithBuiltins, sqliteAdapterDescriptor as default, escapeLiteral, quoteIdentifier, readSqliteDefault };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { n as createSqliteBuiltinCodecLookup, r as createSqliteCodecRegistryWithBuiltins, t as assembleSqliteCodecRegistry } from "./codecs-g-YI3BtK.mjs";
|
|
2
2
|
import { n as escapeLiteral, r as quoteIdentifier } from "./sql-utils-XGT5Esi2-Zr2mqJf8.mjs";
|
|
3
3
|
import { t as readSqliteDefault } from "./default-normalizer-DGMXypHg-CPf7oyZA.mjs";
|
|
4
|
-
import { t as SqliteControlAdapter } from "./adapter-
|
|
4
|
+
import { t as SqliteControlAdapter } from "./adapter-Cff01Cgi-C19Fhc2M.mjs";
|
|
5
5
|
import { t as sqliteAdapterDescriptorMeta } from "./descriptor-meta-DrNwC4vO-D7vuA6QK.mjs";
|
|
6
6
|
import { sqlDefaultFunctions } from "@prisma/orm-family-sql/family/control";
|
|
7
7
|
//#region ../../../3-targets/sqlite/2-adapter/dist/control.mjs
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter__control.mjs","names":[],"sources":["../../../../3-targets/sqlite/2-adapter/dist/control.mjs"],"sourcesContent":["import { a as SqliteControlAdapter } from \"./adapter-
|
|
1
|
+
{"version":3,"file":"adapter__control.mjs","names":[],"sources":["../../../../3-targets/sqlite/2-adapter/dist/control.mjs"],"sourcesContent":["import { a as SqliteControlAdapter } from \"./adapter-Cff01Cgi.mjs\";\nimport { t as sqliteAdapterDescriptorMeta } from \"./descriptor-meta-DrNwC4vO.mjs\";\nimport { assembleSqliteCodecRegistry, createSqliteBuiltinCodecLookup, createSqliteCodecRegistryWithBuiltins } from \"@internal/target-sqlite/codecs\";\nimport { escapeLiteral, quoteIdentifier } from \"@internal/target-sqlite/sql-utils\";\nimport { sqlDefaultFunctions } from \"@internal/family-sql/control\";\nimport { readSqliteDefault } from \"@internal/target-sqlite/default-normalizer\";\n//#region src/core/migrations/control-mutation-defaults.ts\nconst sqliteDefaultFunctionRegistryEntries = Object.entries(sqlDefaultFunctions());\nfunction createSqliteDefaultFunctionRegistry() {\n\treturn new Map(sqliteDefaultFunctionRegistryEntries);\n}\n//#endregion\n//#region src/exports/control.ts\nconst sqliteAdapterDescriptor = {\n\t...sqliteAdapterDescriptorMeta,\n\tauthoring: { valueObjectStorageType: \"Json\" },\n\tcontrolMutationDefaults: {\n\t\tdefaultFunctionRegistry: createSqliteDefaultFunctionRegistry(),\n\t\tgeneratorDescriptors: []\n\t},\n\tcreate(stack) {\n\t\treturn new SqliteControlAdapter(assembleSqliteCodecRegistry(stack.target, stack.extensions), stack.declaredDataTypes.map(({ type }) => type));\n\t}\n};\n//#endregion\nexport { SqliteControlAdapter, createSqliteBuiltinCodecLookup, createSqliteCodecRegistryWithBuiltins, sqliteAdapterDescriptor as default, escapeLiteral, quoteIdentifier, readSqliteDefault };\n\n//# sourceMappingURL=control.mjs.map"],"mappings":";;;;;;;AAOA,MAAM,uCAAuC,OAAO,QAAQ,oBAAoB,CAAC;AACjF,SAAS,sCAAsC;CAC9C,OAAO,IAAI,IAAI,oCAAoC;AACpD;AAGA,MAAM,0BAA0B;CAC/B,GAAG;CACH,WAAW,EAAE,wBAAwB,OAAO;CAC5C,yBAAyB;EACxB,yBAAyB,oCAAoC;EAC7D,sBAAsB,CAAC;CACxB;CACA,OAAO,OAAO;EACb,OAAO,IAAI,qBAAqB,4BAA4B,MAAM,QAAQ,MAAM,UAAU,GAAG,MAAM,kBAAkB,KAAK,EAAE,WAAW,IAAI,CAAC;CAC7I;AACD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { i as sqliteCodecDescriptorRegistry, t as assembleSqliteCodecRegistry } from "./codecs-g-YI3BtK.mjs";
|
|
2
|
-
import { a as sqliteRawCodecInferer, r as createSqliteAdapterWithCodecRegistry } from "./adapter-
|
|
2
|
+
import { a as sqliteRawCodecInferer, r as createSqliteAdapterWithCodecRegistry } from "./adapter-Cff01Cgi-C19Fhc2M.mjs";
|
|
3
3
|
import { t as sqliteAdapterDescriptorMeta } from "./descriptor-meta-DrNwC4vO-D7vuA6QK.mjs";
|
|
4
4
|
import { assembleDataTypes } from "@prisma/orm-framework/components/codec";
|
|
5
5
|
import { timestampNowRuntimeGenerator } from "@prisma/orm-family-sql/family/runtime";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter__runtime.mjs","names":[],"sources":["../../../../3-targets/sqlite/2-adapter/dist/runtime.mjs"],"sourcesContent":["import { i as sqliteRawCodecInferer, n as createSqliteAdapterWithCodecRegistry } from \"./adapter-
|
|
1
|
+
{"version":3,"file":"adapter__runtime.mjs","names":[],"sources":["../../../../3-targets/sqlite/2-adapter/dist/runtime.mjs"],"sourcesContent":["import { i as sqliteRawCodecInferer, n as createSqliteAdapterWithCodecRegistry } from \"./adapter-Cff01Cgi.mjs\";\nimport { t as sqliteAdapterDescriptorMeta } from \"./descriptor-meta-DrNwC4vO.mjs\";\nimport { assembleSqliteCodecRegistry, sqliteCodecDescriptorRegistry } from \"@internal/target-sqlite/codecs\";\nimport { assembleDataTypes } from \"@internal/framework-components/codec\";\nimport { timestampNowRuntimeGenerator } from \"@internal/family-sql/runtime\";\nimport { builtinGeneratorIds } from \"@internal/ids\";\nimport { generateId } from \"@internal/ids/runtime\";\n//#region src/core/runtime/runtime-adapter.ts\nfunction createSqliteMutationDefaultGenerators() {\n\treturn [...builtinGeneratorIds.map((id) => ({\n\t\tid,\n\t\tgenerate: (params) => {\n\t\t\treturn generateId(params ? {\n\t\t\t\tid,\n\t\t\t\tparams\n\t\t\t} : { id });\n\t\t},\n\t\tstability: \"field\"\n\t})), timestampNowRuntimeGenerator()];\n}\nconst sqliteRuntimeAdapterDescriptor = {\n\t...sqliteAdapterDescriptorMeta,\n\tcodecs: () => Array.from(sqliteCodecDescriptorRegistry.values()),\n\tmutationDefaultGenerators: createSqliteMutationDefaultGenerators,\n\trawCodecInferer: sqliteRawCodecInferer,\n\tcreate(stack) {\n\t\treturn createSqliteAdapterWithCodecRegistry(assembleSqliteCodecRegistry(stack.target, stack.extensions), assembleDataTypes([\n\t\t\tstack.target,\n\t\t\tstack.adapter,\n\t\t\t...stack.extensions\n\t\t]).declared.map(({ type }) => type));\n\t}\n};\n//#endregion\nexport { sqliteRuntimeAdapterDescriptor as default };\n\n//# sourceMappingURL=runtime.mjs.map"],"mappings":";;;;;;;;AAQA,SAAS,wCAAwC;CAChD,OAAO,CAAC,GAAG,oBAAoB,KAAK,QAAQ;EAC3C;EACA,WAAW,WAAW;GACrB,OAAO,WAAW,SAAS;IAC1B;IACA;GACD,IAAI,EAAE,GAAG,CAAC;EACX;EACA,WAAW;CACZ,EAAE,GAAG,6BAA6B,CAAC;AACpC;AACA,MAAM,iCAAiC;CACtC,GAAG;CACH,cAAc,MAAM,KAAK,8BAA8B,OAAO,CAAC;CAC/D,2BAA2B;CAC3B,iBAAiB;CACjB,OAAO,OAAO;EACb,OAAO,qCAAqC,4BAA4B,MAAM,QAAQ,MAAM,UAAU,GAAG,kBAAkB;GAC1H,MAAM;GACN,MAAM;GACN,GAAG,MAAM;EACV,CAAC,CAAC,CAAC,SAAS,KAAK,EAAE,WAAW,IAAI,CAAC;CACpC;AACD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as renderLoweredSql } from "./adapter-
|
|
1
|
+
import { i as renderLoweredSql } from "./adapter-Cff01Cgi-C19Fhc2M.mjs";
|
|
2
2
|
export { renderLoweredSql };
|
|
@@ -69,7 +69,7 @@ declare const sqliteAggregateDescriptors: readonly [{
|
|
|
69
69
|
readonly operation: "avg";
|
|
70
70
|
readonly input: {
|
|
71
71
|
readonly kind: "codec";
|
|
72
|
-
readonly codecId: "sql/int@1" | "sql/float@1" | "sqlite/integer@1" | "sqlite/
|
|
72
|
+
readonly codecId: "sql/int@1" | "sql/float@1" | "sqlite/integer@1" | "sqlite/bigint@1" | "sqlite/real@1" | "sqlite/bigintnumber@1";
|
|
73
73
|
};
|
|
74
74
|
readonly output: {
|
|
75
75
|
readonly kind: "codec";
|
|
@@ -100,7 +100,7 @@ declare const sqliteAggregateDescriptors: readonly [{
|
|
|
100
100
|
readonly operation: "min";
|
|
101
101
|
readonly input: {
|
|
102
102
|
readonly kind: "codec";
|
|
103
|
-
readonly codecId: "sqlite/
|
|
103
|
+
readonly codecId: "sqlite/datetime@1" | "sqlite/json@1" | "sqlite/blob@1";
|
|
104
104
|
};
|
|
105
105
|
readonly output: {
|
|
106
106
|
readonly kind: "self";
|
|
@@ -141,7 +141,7 @@ declare const sqliteAggregateDescriptors: readonly [{
|
|
|
141
141
|
readonly operation: "max";
|
|
142
142
|
readonly input: {
|
|
143
143
|
readonly kind: "codec";
|
|
144
|
-
readonly codecId: "sqlite/
|
|
144
|
+
readonly codecId: "sqlite/datetime@1" | "sqlite/json@1" | "sqlite/blob@1";
|
|
145
145
|
};
|
|
146
146
|
readonly output: {
|
|
147
147
|
readonly kind: "self";
|
|
@@ -161,4 +161,4 @@ declare const sqliteAggregateDescriptors: readonly [{
|
|
|
161
161
|
}];
|
|
162
162
|
//#endregion
|
|
163
163
|
export { sqliteAggregateDescriptors as t };
|
|
164
|
-
//# sourceMappingURL=aggregates-
|
|
164
|
+
//# sourceMappingURL=aggregates-DC8nyCjN.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregates-
|
|
1
|
+
{"version":3,"file":"aggregates-DC8nyCjN.d.mts","names":[],"sources":["../../../../3-targets/sqlite/1-target/dist/aggregates.d.mts"],"mappings":";;;;;;cAKc;WACH;WACA;aACE;;WAEF;aACE;aACA;;WAEF;WACA;WACA,OAAO;;WAEP;WACA;aACE;;WAEF;aACE;aACA;;WAEF;WACA;WACA,OAAO;;WAEP,QAAQ;WACR;WACA;aACE;aACA;;WAEF;aACE;aACA;;WAEF;;WAEA;WACA;aACE;aACA;;WAEF;aACE;aACA;;WAEF;WACA,OAAO;;WAEP,QAAQ;WACR;WACA;aACE;aACA;;WAEF;aACE;aACA;;WAEF;;WAEA,QAAQ;WACR;WACA;aACE;aACA;;WAEF;aACE;aACA;;WAEF;;WAEA;WACA;aACE;aACA;;WAEF;aACE;;WAEF;;WAEA;WACA;aACE;aACA;;WAEF;aACE;;WAEF;;WAEA;WACA;aACE;aACA;;WAEF;aACE;;WAEF;;WAEA;WACA;aACE;aACA;;WAEF;aACE;;WAEF;WACA,OAAO;;WAEP;WACA;aACE;aACA;;WAEF;aACE;;WAEF;;WAEA;WACA;aACE;aACA;;WAEF;aACE;;WAEF;;WAEA;WACA;aACE;aACA;;WAEF;aACE;;WAEF;;WAEA;WACA;aACE;aACA;;WAEF;aACE;;WAEF;WACA,OAAO"}
|