@prisma/orm-target-sqlite 8.0.0-rc.14-dev.6 → 8.0.0-rc.14-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.
Files changed (133) hide show
  1. package/dist/adapter-BNyoBP5X.d.mts +2 -0
  2. package/dist/{adapter-Bp_4Bjff-e0IpIZ1b.d.mts → adapter-Bp_4Bjff-O8HHkgK9.d.mts} +6 -6
  3. package/dist/{adapter-Bp_4Bjff-e0IpIZ1b.d.mts.map → adapter-Bp_4Bjff-O8HHkgK9.d.mts.map} +1 -1
  4. package/dist/{adapter-DBvizrEP-SHMMlDkU.mjs → adapter-DOg9HerQ-BP_BKOlH.mjs} +41 -22
  5. package/dist/adapter-DOg9HerQ-BP_BKOlH.mjs.map +1 -0
  6. package/dist/adapter.d.mts +10 -10
  7. package/dist/adapter.mjs +3 -3
  8. package/dist/adapter__adapter.d.mts +3 -3
  9. package/dist/adapter__adapter.mjs +1 -1
  10. package/dist/adapter__codec-types.d.mts +3 -3
  11. package/dist/adapter__control.d.mts +2 -2
  12. package/dist/adapter__control.mjs +5 -5
  13. package/dist/adapter__control.mjs.map +1 -1
  14. package/dist/adapter__runtime.d.mts +1 -1
  15. package/dist/adapter__runtime.mjs +3 -3
  16. package/dist/adapter__runtime.mjs.map +1 -1
  17. package/dist/adapter__sql-renderer.d.mts +2 -2
  18. package/dist/adapter__sql-renderer.mjs +1 -1
  19. package/dist/adapter__types.d.mts +3 -3
  20. package/dist/codec-descriptor-3-wupJWh.d.mts +2 -0
  21. package/dist/codec-descriptor-C6M9ScCy-BqG7e8Oz.d.mts +1 -0
  22. package/dist/{codec-descriptor-BNC9tDro-BPWBITSr.d.mts → codec-descriptor-CDLhtrcE-CloMgVh6.d.mts} +13 -7
  23. package/dist/codec-descriptor-CDLhtrcE-CloMgVh6.d.mts.map +1 -0
  24. package/dist/{codec-descriptor-DAmZuKvV-B2UsMrgX.mjs → codec-descriptor-CWJAw6Ck-BksOSxiO.mjs} +3 -3
  25. package/dist/codec-descriptor-CWJAw6Ck-BksOSxiO.mjs.map +1 -0
  26. package/dist/codec-types-BBWeZKHk.d.mts +1 -0
  27. package/dist/codec-types-CXtfACRK.d.mts +2 -0
  28. package/dist/{codec-types-Dm8kn3W4-BAWXUJJ8.d.mts → codec-types-DU8BIZeM-DPqt7bmT.d.mts} +5 -5
  29. package/dist/{codec-types-Dm8kn3W4-BAWXUJJ8.d.mts.map → codec-types-DU8BIZeM-DPqt7bmT.d.mts.map} +1 -1
  30. package/dist/{codecs-BzSfaf5F-gXK7Etj3.d.mts → codecs-BURC1flo-UiOzcif2.d.mts} +3 -3
  31. package/dist/{codecs-BzSfaf5F-gXK7Etj3.d.mts.map → codecs-BURC1flo-UiOzcif2.d.mts.map} +1 -1
  32. package/dist/{codecs-Bsf9bHq3.mjs → codecs-BXELYOY1.mjs} +3 -3
  33. package/dist/{codecs-Bsf9bHq3.mjs.map → codecs-BXELYOY1.mjs.map} +1 -1
  34. package/dist/codecs-CKWQYtFS.d.mts +1 -0
  35. package/dist/{codecs-CK___nqu-ByljcwNa.mjs → codecs-yYxIwGIT-BHW7sSHn.mjs} +60 -56
  36. package/dist/codecs-yYxIwGIT-BHW7sSHn.mjs.map +1 -0
  37. package/dist/{control-B16T9OoX.mjs → control-1rQ6mko7.mjs} +3 -3
  38. package/dist/control-1rQ6mko7.mjs.map +1 -0
  39. package/dist/{control-DG-hF-sF.d.mts → control-CfS8mDnj.d.mts} +6 -5
  40. package/dist/control-CfS8mDnj.d.mts.map +1 -0
  41. package/dist/{control--wMueaTg.d.mts → control-DAys3o_s.d.mts} +2 -2
  42. package/dist/{control--wMueaTg.d.mts.map → control-DAys3o_s.d.mts.map} +1 -1
  43. package/dist/{data-types-B6gWpyYW-CVM4AAZK.mjs → data-types-B6gYWauJ-DPJUc7_Z.mjs} +7 -4
  44. package/dist/data-types-B6gYWauJ-DPJUc7_Z.mjs.map +1 -0
  45. package/dist/{data-types-BxmHClMK.mjs → data-types-D9CwP8vB.mjs} +4 -5
  46. package/dist/data-types-D9CwP8vB.mjs.map +1 -0
  47. package/dist/{default-normalizer-D_kHnqz7-SRi-lBH0.mjs → default-normalizer-Bbo6WzxJ-MgaICRCQ.mjs} +7 -4
  48. package/dist/default-normalizer-Bbo6WzxJ-MgaICRCQ.mjs.map +1 -0
  49. package/dist/{descriptor-meta-CqCH7n4c-Btl4cIXf.mjs → descriptor-meta-CqCH7n4c-Bx_S6IIu.mjs} +3 -3
  50. package/dist/{descriptor-meta-CqCH7n4c-Btl4cIXf.mjs.map → descriptor-meta-CqCH7n4c-Bx_S6IIu.mjs.map} +1 -1
  51. package/dist/{descriptor-meta-vjJkUDsn-Hz3rnAnk.mjs → descriptor-meta-cwy5CXTT-DSRaq_b-.mjs} +17 -3
  52. package/dist/descriptor-meta-cwy5CXTT-DSRaq_b-.mjs.map +1 -0
  53. package/dist/driver.mjs +1 -1
  54. package/dist/driver__control.mjs +1 -1
  55. package/dist/driver__runtime.mjs +4 -7
  56. package/dist/driver__runtime.mjs.map +1 -1
  57. package/dist/{migration-BNB89lIv.mjs → migration-Y6M_R3GK.mjs} +2 -2
  58. package/dist/{migration-BNB89lIv.mjs.map → migration-Y6M_R3GK.mjs.map} +1 -1
  59. package/dist/{migration-DSmUh0wk.d.mts → migration-dc58fySD.d.mts} +3 -3
  60. package/dist/{migration-DSmUh0wk.d.mts.map → migration-dc58fySD.d.mts.map} +1 -1
  61. package/dist/{op-factory-call-C8jSguMU.d.mts → op-factory-call-4FJxPMyx.d.mts} +5 -11
  62. package/dist/op-factory-call-4FJxPMyx.d.mts.map +1 -0
  63. package/dist/{op-factory-call-C8CNBvCb-DyXVtd7o.mjs → op-factory-call-Dv_ma_mw-BtLqNmZI.mjs} +99 -65
  64. package/dist/op-factory-call-Dv_ma_mw-BtLqNmZI.mjs.map +1 -0
  65. package/dist/{pack-B488MxTx.d.mts → pack-YBiEVfBB.d.mts} +2 -2
  66. package/dist/{pack-B488MxTx.d.mts.map → pack-YBiEVfBB.d.mts.map} +1 -1
  67. package/dist/{planner-B4FWi-jn.d.mts → planner-Bsjn1MTX.d.mts} +2 -2
  68. package/dist/{planner-B4FWi-jn.d.mts.map → planner-Bsjn1MTX.d.mts.map} +1 -1
  69. package/dist/{planner-BTKa_OaV-Bl9T8ftA.mjs → planner-CWfPzOwZ-DVj6Tm5a.mjs} +14 -25
  70. package/dist/planner-CWfPzOwZ-DVj6Tm5a.mjs.map +1 -0
  71. package/dist/{planner-produced-sqlite-migration-C0pHN3qf-D1QDsx7l.d.mts → planner-produced-sqlite-migration-BQ8vBitH-DlquRDZ4.d.mts} +4 -4
  72. package/dist/planner-produced-sqlite-migration-BQ8vBitH-DlquRDZ4.d.mts.map +1 -0
  73. package/dist/planner-produced-sqlite-migration-BfFAqrKj.d.mts +1 -0
  74. package/dist/{planner-produced-sqlite-migration-CAvJnzes-wf8WQ39U.mjs → planner-produced-sqlite-migration-D1iuFT1l-BSFCXgJD.mjs} +3 -3
  75. package/dist/{planner-produced-sqlite-migration-CAvJnzes-wf8WQ39U.mjs.map → planner-produced-sqlite-migration-D1iuFT1l-BSFCXgJD.mjs.map} +1 -1
  76. package/dist/{runtime-7ugF7qno.d.mts → runtime-KPhmnsVg.d.mts} +2 -2
  77. package/dist/{runtime-7ugF7qno.d.mts.map → runtime-KPhmnsVg.d.mts.map} +1 -1
  78. package/dist/sql-renderer-2I1xGT7D.d.mts +1 -0
  79. package/dist/{sqlite-migration-0qCGfq-S-wwKN7Zb3.d.mts → sqlite-migration-Du67NG7r-CqcA5XBz.d.mts} +5 -8
  80. package/dist/{sqlite-migration-0qCGfq-S-wwKN7Zb3.d.mts.map → sqlite-migration-Du67NG7r-CqcA5XBz.d.mts.map} +1 -1
  81. package/dist/{sqlite-migration-BKSuDis9-UHqFOBqU.mjs → sqlite-migration-DuQG9WLW-BqHx4fMJ.mjs} +3 -3
  82. package/dist/{sqlite-migration-BKSuDis9-UHqFOBqU.mjs.map → sqlite-migration-DuQG9WLW-BqHx4fMJ.mjs.map} +1 -1
  83. package/dist/{shared-AQqQ1hrb-3EPsz46S.d.mts → tables-CvLOKCiJ-Ca1eFkWN.d.mts} +27 -8
  84. package/dist/tables-CvLOKCiJ-Ca1eFkWN.d.mts.map +1 -0
  85. package/dist/target.d.mts +14 -14
  86. package/dist/target.mjs +11 -11
  87. package/dist/target__codec-descriptor.d.mts +2 -2
  88. package/dist/target__codec-descriptor.mjs +1 -1
  89. package/dist/target__codec-types.d.mts +3 -3
  90. package/dist/target__codecs.d.mts +2 -2
  91. package/dist/target__codecs.mjs +2 -2
  92. package/dist/target__control.d.mts +1 -1
  93. package/dist/target__control.mjs +3 -3
  94. package/dist/target__control.mjs.map +1 -1
  95. package/dist/target__data-types.mjs +2 -2
  96. package/dist/target__default-normalizer.mjs +1 -1
  97. package/dist/target__migration.d.mts +2 -2
  98. package/dist/target__migration.mjs +2 -2
  99. package/dist/target__op-factory-call.d.mts +1 -1
  100. package/dist/target__op-factory-call.mjs +1 -1
  101. package/dist/target__pack.d.mts +1 -1
  102. package/dist/target__planner-produced-sqlite-migration.d.mts +2 -2
  103. package/dist/target__planner-produced-sqlite-migration.mjs +1 -1
  104. package/dist/target__planner.d.mts +1 -1
  105. package/dist/target__planner.mjs +1 -1
  106. package/dist/types-BXuhSSiR.d.mts +2 -0
  107. package/dist/{types-RJMd2PlL-DFJRCUUw.d.mts → types-RJMd2PlL-Dqp0xeHo.d.mts} +3 -3
  108. package/dist/{types-RJMd2PlL-DFJRCUUw.d.mts.map → types-RJMd2PlL-Dqp0xeHo.d.mts.map} +1 -1
  109. package/package.json +9 -9
  110. package/dist/adapter-DBvizrEP-SHMMlDkU.mjs.map +0 -1
  111. package/dist/adapter-_aaOdX79.d.mts +0 -2
  112. package/dist/codec-descriptor-4BIWMlhf-CjIjnr76.d.mts +0 -1
  113. package/dist/codec-descriptor-BNC9tDro-BPWBITSr.d.mts.map +0 -1
  114. package/dist/codec-descriptor-DAmZuKvV-B2UsMrgX.mjs.map +0 -1
  115. package/dist/codec-descriptor-ae4jEMJI.d.mts +0 -2
  116. package/dist/codec-types-2BtIaiN_.d.mts +0 -2
  117. package/dist/codec-types-Bo18WDYR.d.mts +0 -1
  118. package/dist/codecs-CK___nqu-ByljcwNa.mjs.map +0 -1
  119. package/dist/codecs-cfQqBb8r.d.mts +0 -1
  120. package/dist/control-B16T9OoX.mjs.map +0 -1
  121. package/dist/control-DG-hF-sF.d.mts.map +0 -1
  122. package/dist/data-types-B6gWpyYW-CVM4AAZK.mjs.map +0 -1
  123. package/dist/data-types-BxmHClMK.mjs.map +0 -1
  124. package/dist/default-normalizer-D_kHnqz7-SRi-lBH0.mjs.map +0 -1
  125. package/dist/descriptor-meta-vjJkUDsn-Hz3rnAnk.mjs.map +0 -1
  126. package/dist/op-factory-call-C8CNBvCb-DyXVtd7o.mjs.map +0 -1
  127. package/dist/op-factory-call-C8jSguMU.d.mts.map +0 -1
  128. package/dist/planner-BTKa_OaV-Bl9T8ftA.mjs.map +0 -1
  129. package/dist/planner-produced-sqlite-migration-C0pHN3qf-D1QDsx7l.d.mts.map +0 -1
  130. package/dist/planner-produced-sqlite-migration-aw2sx-H-.d.mts +0 -1
  131. package/dist/shared-AQqQ1hrb-3EPsz46S.d.mts.map +0 -1
  132. package/dist/sql-renderer-CSKXHcaY.d.mts +0 -1
  133. package/dist/types-DIgSNaLb.d.mts +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"target__control.mjs","names":[],"sources":["../../../../3-targets/3-targets/sqlite/dist/control.mjs"],"sourcesContent":["import { n as sqliteError } from \"./errors-DnR-sMHS.mjs\";\nimport { t as sqliteTargetDescriptorMeta } from \"./descriptor-meta-D1v5O3db.mjs\";\nimport { a as verifySqliteDatabaseSchema, i as sqliteContractToSchema, n as createSqliteMigrationPlanner, r as diffSqliteSchema } from \"./planner-BTKa_OaV.mjs\";\nimport { r as MARKER_TABLE_NAME } from \"./control-tables-D_o8dKRB.mjs\";\nimport { i as sqliteCreateNamespace, n as SqliteContractSerializer, r as SqliteUnboundDatabase } from \"./sqlite-contract-view-BYR10usg.mjs\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { APP_SPACE_ID } from \"@internal/framework-components/control\";\nimport { buildDataTypeResolver, runnerFailure, runnerSuccess } from \"@internal/family-sql/control\";\nimport { SqlStorage } from \"@internal/sql-contract/types\";\nimport { relationalNodeEntityKind, relationalNodeGranularity } from \"@internal/sql-schema-ir/types\";\nimport { notOk, ok, okVoid } from \"@internal/utils/result\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { SqlSchemaVerifierBase } from \"@internal/family-sql/ir\";\n//#region src/core/migrations/runner.ts\nfunction createSqliteMigrationRunner(family) {\n\treturn new SqliteMigrationRunner(family);\n}\nvar SqliteMigrationRunner = class {\n\tfamily;\n\tconstructor(family) {\n\t\tthis.family = family;\n\t}\n\t/**\n\t* Apply the plan against an already-open connection without managing\n\t* the transaction lifecycle. The caller ({@link SqliteMigrationRunner.execute})\n\t* owns BEGIN/COMMIT/ROLLBACK and any connection-level setup (FK pragma\n\t* toggle, FK integrity check).\n\t*/\n\tasync executeOnConnection(options) {\n\t\tconst driver = options.driver;\n\t\tif (options.space !== void 0 && options.space !== options.plan.spaceId) throw sqliteError(\"MIGRATION.CONTRACT_SPACE_VIOLATION\", `SqlMigrationRunner: options.space (${options.space}) does not match plan.spaceId (${options.plan.spaceId})`, { meta: {\n\t\t\tspace: options.space,\n\t\t\tplanSpaceId: options.plan.spaceId\n\t\t} });\n\t\tconst space = options.plan.spaceId;\n\t\tconst planOps = blindCast(await Promise.all(options.plan.operations));\n\t\tconst destinationCheck = this.ensurePlanMatchesDestinationContract(options.plan.destination, options.destinationContract);\n\t\tif (!destinationCheck.ok) return destinationCheck;\n\t\tconst policyCheck = this.enforcePolicyCompatibility(options.policy, planOps);\n\t\tif (!policyCheck.ok) return policyCheck;\n\t\tconst ensureResult = await this.ensureControlTables(driver, options.destinationContract);\n\t\tif (!ensureResult.ok) return ensureResult;\n\t\tconst existingMarker = await this.family.readMarker({\n\t\t\tdriver,\n\t\t\tspace\n\t\t});\n\t\tconst markerCheck = this.ensureMarkerCompatibility(existingMarker, options.plan);\n\t\tif (!markerCheck.ok) return markerCheck;\n\t\tconst markerAtDestination = this.markerMatchesDestination(existingMarker, options.plan);\n\t\tconst isSelfEdge = options.plan.origin?.storageHash === options.plan.destination.storageHash;\n\t\tconst skipOperations = markerAtDestination && options.plan.origin != null && !isSelfEdge;\n\t\tlet operationsExecuted;\n\t\tlet executedOperations;\n\t\tif (skipOperations) {\n\t\t\toperationsExecuted = 0;\n\t\t\texecutedOperations = [];\n\t\t} else {\n\t\t\tconst applyResult = await this.applyPlan(driver, options, planOps);\n\t\t\tif (!applyResult.ok) return applyResult;\n\t\t\toperationsExecuted = applyResult.value.operationsExecuted;\n\t\t\texecutedOperations = applyResult.value.executedOperations;\n\t\t}\n\t\tif (space === APP_SPACE_ID) {\n\t\t\tconst schemaNode = await this.family.introspect({\n\t\t\t\tdriver,\n\t\t\t\tcontract: options.destinationContract\n\t\t\t});\n\t\t\tconst schemaVerifyResult = verifySqliteDatabaseSchema({\n\t\t\t\tcontract: options.destinationContract,\n\t\t\t\tactualSchema: schemaNode,\n\t\t\t\tstrict: options.strictVerification ?? true,\n\t\t\t\ttypeMetadataRegistry: this.family.typeMetadataRegistry,\n\t\t\t\tframeworkComponents: options.frameworkComponents\n\t\t\t});\n\t\t\tif (!schemaVerifyResult.ok) return runnerFailure(\"MIGRATION.SCHEMA_VERIFY_FAILED\", schemaVerifyResult.summary, {\n\t\t\t\twhy: \"The resulting database schema does not satisfy the destination contract.\",\n\t\t\t\tmeta: { issues: schemaVerifyResult.schema.issues }\n\t\t\t});\n\t\t}\n\t\tconst incomingInvariants = options.plan.providedInvariants;\n\t\tconst existingInvariants = new Set(existingMarker?.invariants ?? []);\n\t\tconst incomingIsSubsetOfExisting = incomingInvariants.every((id) => existingInvariants.has(id));\n\t\tif (!(isSelfEdge && operationsExecuted === 0 && incomingIsSubsetOfExisting)) {\n\t\t\tconst markerResult = await this.upsertMarker(driver, options, existingMarker, space);\n\t\t\tif (!markerResult.ok) return markerResult;\n\t\t\tawait this.recordLedgerEntries(driver, options, executedOperations);\n\t\t}\n\t\treturn runnerSuccess({\n\t\t\toperationsPlanned: planOps.length,\n\t\t\toperationsExecuted\n\t\t});\n\t}\n\tasync execute(options) {\n\t\tconst driver = options.driver;\n\t\tconst perSpaceOptions = options.perSpaceOptions;\n\t\tif (perSpaceOptions.length === 0) return ok({ perSpaceResults: [] });\n\t\tconst fkWasEnabled = await this.readForeignKeysEnabled(driver);\n\t\tif (fkWasEnabled) await driver.query(\"PRAGMA foreign_keys = OFF\");\n\t\ttry {\n\t\t\tawait this.beginExclusiveTransaction(driver);\n\t\t\tlet committed = false;\n\t\t\ttry {\n\t\t\t\tconst perSpaceResults = [];\n\t\t\t\tlet lastProcessedSpace;\n\t\t\t\tfor (const spaceOptions of perSpaceOptions) {\n\t\t\t\t\tconst space = spaceOptions.space ?? spaceOptions.plan.spaceId;\n\t\t\t\t\tconst result = await this.executeOnConnection({\n\t\t\t\t\t\t...spaceOptions,\n\t\t\t\t\t\tdriver,\n\t\t\t\t\t\tspace\n\t\t\t\t\t});\n\t\t\t\t\tif (!result.ok) return notOk({\n\t\t\t\t\t\t...result.failure,\n\t\t\t\t\t\tfailingSpace: space\n\t\t\t\t\t});\n\t\t\t\t\tperSpaceResults.push({\n\t\t\t\t\t\tspace,\n\t\t\t\t\t\tvalue: result.value\n\t\t\t\t\t});\n\t\t\t\t\tlastProcessedSpace = space;\n\t\t\t\t}\n\t\t\t\tif (fkWasEnabled) {\n\t\t\t\t\tconst fkIntegrityCheck = await this.verifyForeignKeyIntegrity(driver);\n\t\t\t\t\tif (!fkIntegrityCheck.ok) return notOk({\n\t\t\t\t\t\t...fkIntegrityCheck.failure,\n\t\t\t\t\t\tfailingSpace: lastProcessedSpace ?? APP_SPACE_ID\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tawait this.commitTransaction(driver);\n\t\t\t\tcommitted = true;\n\t\t\t\treturn ok({ perSpaceResults });\n\t\t\t} finally {\n\t\t\t\tif (!committed) await this.rollbackTransaction(driver);\n\t\t\t}\n\t\t} finally {\n\t\t\tif (fkWasEnabled) await driver.query(\"PRAGMA foreign_keys = ON\");\n\t\t}\n\t}\n\tasync readForeignKeysEnabled(driver) {\n\t\treturn (await driver.query(\"PRAGMA foreign_keys\")).rows[0]?.foreign_keys === 1;\n\t}\n\tasync verifyForeignKeyIntegrity(driver) {\n\t\tconst result = await driver.query(\"PRAGMA foreign_key_check\");\n\t\tif (result.rows.length === 0) return okVoid();\n\t\treturn runnerFailure(\"MIGRATION.FOREIGN_KEY_VIOLATION\", `Foreign key integrity check failed after migration: ${result.rows.length} violation(s).`, {\n\t\t\twhy: \"PRAGMA foreign_key_check reported violations after applying recreate-table operations.\",\n\t\t\tmeta: { violations: result.rows }\n\t\t});\n\t}\n\tasync applyPlan(driver, options, ops) {\n\t\tconst checks = options.executionChecks;\n\t\tconst runPrechecks = checks?.prechecks !== false;\n\t\tconst runPostchecks = checks?.postchecks !== false;\n\t\tconst runIdempotency = checks?.idempotencyChecks !== false;\n\t\tlet operationsExecuted = 0;\n\t\tconst executedOperations = [];\n\t\tfor (const operation of ops) {\n\t\t\toptions.callbacks?.onOperationStart?.(operation);\n\t\t\ttry {\n\t\t\t\tif (runPostchecks && runIdempotency) {\n\t\t\t\t\tif (await this.expectationsAreSatisfied(driver, operation.postcheck)) {\n\t\t\t\t\t\texecutedOperations.push(this.createSkipRecord(operation));\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (runPrechecks) {\n\t\t\t\t\tconst precheckResult = await this.runExpectationSteps(driver, operation.precheck, operation, \"precheck\");\n\t\t\t\t\tif (!precheckResult.ok) return precheckResult;\n\t\t\t\t}\n\t\t\t\tconst executeResult = await this.runExecuteSteps(driver, operation.execute, operation);\n\t\t\t\tif (!executeResult.ok) return executeResult;\n\t\t\t\tif (runPostchecks) {\n\t\t\t\t\tconst postcheckResult = await this.runExpectationSteps(driver, operation.postcheck, operation, \"postcheck\");\n\t\t\t\t\tif (!postcheckResult.ok) return postcheckResult;\n\t\t\t\t}\n\t\t\t\texecutedOperations.push(operation);\n\t\t\t\toperationsExecuted += 1;\n\t\t\t} finally {\n\t\t\t\toptions.callbacks?.onOperationComplete?.(operation);\n\t\t\t}\n\t\t}\n\t\treturn ok({\n\t\t\toperationsExecuted,\n\t\t\texecutedOperations\n\t\t});\n\t}\n\tasync ensureControlTables(driver, contract) {\n\t\tconst legacyDetection = await this.detectLegacyMarkerShape(driver);\n\t\tif (!legacyDetection.ok) return legacyDetection;\n\t\tconst lowererContext = { contract };\n\t\tfor (const query of this.family.bootstrapControlTableQueries()) await this.executeStatement(driver, await this.family.lowerAst(query, lowererContext));\n\t\treturn okVoid();\n\t}\n\tasync detectLegacyMarkerShape(driver) {\n\t\tconst tableInfo = await driver.query(`PRAGMA table_info(\"${MARKER_TABLE_NAME}\")`);\n\t\tif (tableInfo.rows.length === 0) return okVoid();\n\t\tconst columns = new Set(tableInfo.rows.map((row) => row.name));\n\t\tif (columns.has(\"space\")) return okVoid();\n\t\treturn runnerFailure(\"MIGRATION.LEGACY_MARKER_SHAPE\", `Legacy marker-table shape detected on ${MARKER_TABLE_NAME} (no \\`space\\` column). Prisma 8 is in pre-1.0; the previous transitional auto-migration to the per-space-row schema has been removed. Drop \\`${MARKER_TABLE_NAME}\\` and re-run \\`dbInit\\` to reinitialise from a clean baseline.`, { meta: {\n\t\t\ttable: MARKER_TABLE_NAME,\n\t\t\tcolumns: [...columns].sort()\n\t\t} });\n\t}\n\tasync runExpectationSteps(driver, steps, operation, phase) {\n\t\tfor (const step of steps) {\n\t\t\tconst result = await driver.query(step.sql, step.params ?? []);\n\t\t\tif (!this.stepResultIsTrue(result.rows)) return runnerFailure(phase === \"precheck\" ? \"MIGRATION.PRECHECK_FAILED\" : \"MIGRATION.POSTCHECK_FAILED\", `Operation ${operation.id} failed during ${phase}: ${step.description}`, { meta: {\n\t\t\t\toperationId: operation.id,\n\t\t\t\tphase,\n\t\t\t\tstepDescription: step.description\n\t\t\t} });\n\t\t}\n\t\treturn okVoid();\n\t}\n\tasync runExecuteSteps(driver, steps, operation) {\n\t\tfor (const step of steps) try {\n\t\t\tawait driver.query(step.sql, step.params ?? []);\n\t\t} catch (error) {\n\t\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\t\treturn runnerFailure(\"MIGRATION.EXECUTION_FAILED\", `Operation ${operation.id} failed during execution: ${step.description}`, {\n\t\t\t\twhy: message,\n\t\t\t\tmeta: {\n\t\t\t\t\toperationId: operation.id,\n\t\t\t\t\tstepDescription: step.description,\n\t\t\t\t\tsql: step.sql\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn okVoid();\n\t}\n\tstepResultIsTrue(rows) {\n\t\tif (!rows || rows.length === 0) return false;\n\t\tconst firstRow = rows[0];\n\t\tconst firstValue = firstRow ? Object.values(firstRow)[0] : void 0;\n\t\tif (typeof firstValue === \"number\") return firstValue !== 0;\n\t\tif (typeof firstValue === \"boolean\") return firstValue;\n\t\tif (typeof firstValue === \"string\") {\n\t\t\tconst lower = firstValue.toLowerCase();\n\t\t\tif (lower === \"true\" || lower === \"1\") return true;\n\t\t\tif (lower === \"false\" || lower === \"0\") return false;\n\t\t\treturn firstValue.length > 0;\n\t\t}\n\t\treturn Boolean(firstValue);\n\t}\n\tasync expectationsAreSatisfied(driver, steps) {\n\t\tif (steps.length === 0) return false;\n\t\tfor (const step of steps) {\n\t\t\tconst result = await driver.query(step.sql, step.params ?? []);\n\t\t\tif (!this.stepResultIsTrue(result.rows)) return false;\n\t\t}\n\t\treturn true;\n\t}\n\tcreateSkipRecord(operation) {\n\t\treturn Object.freeze({\n\t\t\tid: operation.id,\n\t\t\tlabel: operation.label,\n\t\t\t...ifDefined(\"summary\", operation.summary),\n\t\t\toperationClass: operation.operationClass,\n\t\t\ttarget: operation.target,\n\t\t\tprecheck: Object.freeze([]),\n\t\t\texecute: Object.freeze([]),\n\t\t\tpostcheck: Object.freeze([...operation.postcheck]),\n\t\t\tmeta: Object.freeze({\n\t\t\t\t...operation.meta ?? {},\n\t\t\t\trunner: Object.freeze({\n\t\t\t\t\tskipped: true,\n\t\t\t\t\treason: \"postcheck_pre_satisfied\"\n\t\t\t\t})\n\t\t\t})\n\t\t});\n\t}\n\tmarkerMatchesDestination(marker, plan) {\n\t\tif (!marker) return false;\n\t\tif (marker.storageHash !== plan.destination.storageHash) return false;\n\t\tif (plan.destination.profileHash && marker.profileHash !== plan.destination.profileHash) return false;\n\t\treturn true;\n\t}\n\tenforcePolicyCompatibility(policy, operations) {\n\t\tconst allowedClasses = new Set(policy.allowedOperationClasses);\n\t\tfor (const operation of operations) if (!allowedClasses.has(operation.operationClass)) return runnerFailure(\"MIGRATION.POLICY_VIOLATION\", `Operation ${operation.id} has class \"${operation.operationClass}\" which is not allowed by policy.`, {\n\t\t\twhy: `Policy only allows: ${policy.allowedOperationClasses.join(\", \")}.`,\n\t\t\tmeta: {\n\t\t\t\toperationId: operation.id,\n\t\t\t\toperationClass: operation.operationClass,\n\t\t\t\tallowedClasses: policy.allowedOperationClasses\n\t\t\t}\n\t\t});\n\t\treturn okVoid();\n\t}\n\tensureMarkerCompatibility(marker, plan) {\n\t\tconst origin = plan.origin ?? null;\n\t\tif (!origin) return okVoid();\n\t\tif (!marker) return runnerFailure(\"MIGRATION.MARKER_ORIGIN_MISMATCH\", `Missing contract marker: expected origin storage hash ${origin.storageHash}.`, { meta: { expectedOriginStorageHash: origin.storageHash } });\n\t\tif (marker.storageHash !== origin.storageHash) return runnerFailure(\"MIGRATION.MARKER_ORIGIN_MISMATCH\", `Existing contract marker (${marker.storageHash}) does not match plan origin (${origin.storageHash}).`, { meta: {\n\t\t\tmarkerStorageHash: marker.storageHash,\n\t\t\texpectedOriginStorageHash: origin.storageHash\n\t\t} });\n\t\tif (origin.profileHash && marker.profileHash !== origin.profileHash) return runnerFailure(\"MIGRATION.MARKER_ORIGIN_MISMATCH\", `Existing contract marker profile hash (${marker.profileHash}) does not match plan origin profile hash (${origin.profileHash}).`, { meta: {\n\t\t\tmarkerProfileHash: marker.profileHash,\n\t\t\texpectedOriginProfileHash: origin.profileHash\n\t\t} });\n\t\treturn okVoid();\n\t}\n\tensurePlanMatchesDestinationContract(destination, contract) {\n\t\tif (destination.storageHash !== contract.storage.storageHash) return runnerFailure(\"MIGRATION.DESTINATION_CONTRACT_MISMATCH\", `Plan destination storage hash (${destination.storageHash}) does not match provided contract storage hash (${contract.storage.storageHash}).`, { meta: {\n\t\t\tplanStorageHash: destination.storageHash,\n\t\t\tcontractStorageHash: contract.storage.storageHash\n\t\t} });\n\t\tif (destination.profileHash && contract.profileHash && destination.profileHash !== contract.profileHash) return runnerFailure(\"MIGRATION.DESTINATION_CONTRACT_MISMATCH\", `Plan destination profile hash (${destination.profileHash}) does not match provided contract profile hash (${contract.profileHash}).`, { meta: {\n\t\t\tplanProfileHash: destination.profileHash,\n\t\t\tcontractProfileHash: contract.profileHash\n\t\t} });\n\t\treturn okVoid();\n\t}\n\tasync upsertMarker(driver, options, existingMarker, space) {\n\t\tconst destination = {\n\t\t\tstorageHash: options.plan.destination.storageHash,\n\t\t\tprofileHash: options.plan.destination.profileHash ?? options.destinationContract.profileHash ?? options.plan.destination.storageHash,\n\t\t\tinvariants: options.plan.providedInvariants ?? []\n\t\t};\n\t\tif (!existingMarker) {\n\t\t\tawait this.family.initMarker({\n\t\t\t\tdriver,\n\t\t\t\tspace,\n\t\t\t\tdestination\n\t\t\t});\n\t\t\treturn okVoid();\n\t\t}\n\t\tif (!await this.family.updateMarker({\n\t\t\tdriver,\n\t\t\tspace,\n\t\t\texpectedFrom: existingMarker.storageHash,\n\t\t\tdestination\n\t\t})) return runnerFailure(\"MIGRATION.MARKER_CAS_FAILURE\", \"Marker was modified by another process during migration execution.\", { meta: {\n\t\t\tspace,\n\t\t\texpectedStorageHash: existingMarker.storageHash,\n\t\t\tdestinationStorageHash: options.plan.destination.storageHash\n\t\t} });\n\t\treturn okVoid();\n\t}\n\tasync recordLedgerEntries(driver, options, executedOperations) {\n\t\tconst plan = options.plan;\n\t\tconst space = plan.spaceId;\n\t\tconst edges = options.migrationEdges;\n\t\tconst totalEdgeOps = edges.reduce((sum, edge) => sum + edge.operationCount, 0);\n\t\tif (totalEdgeOps !== plan.operations.length) throw new InternalError(`Ledger write: plan.operations length (${plan.operations.length}) does not match sum of migrationEdges operationCount (${totalEdgeOps})`);\n\t\tlet offset = 0;\n\t\tfor (const edge of edges) {\n\t\t\tconst edgeOps = executedOperations.slice(offset, offset + edge.operationCount);\n\t\t\toffset += edge.operationCount;\n\t\t\tawait this.family.writeLedgerEntry({\n\t\t\t\tdriver,\n\t\t\t\tspace,\n\t\t\t\tentry: {\n\t\t\t\t\tedgeId: `${edge.from}->${edge.to}`,\n\t\t\t\t\tfrom: edge.from,\n\t\t\t\t\tto: edge.to,\n\t\t\t\t\tmigrationName: edge.dirName,\n\t\t\t\t\tmigrationHash: edge.migrationHash,\n\t\t\t\t\toperations: edgeOps\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\tasync beginExclusiveTransaction(driver) {\n\t\tawait driver.query(\"BEGIN EXCLUSIVE\");\n\t}\n\tasync commitTransaction(driver) {\n\t\tawait driver.query(\"COMMIT\");\n\t}\n\tasync rollbackTransaction(driver) {\n\t\tawait driver.query(\"ROLLBACK\");\n\t}\n\tasync executeStatement(driver, statement) {\n\t\tawait driver.query(statement.sql, statement.params);\n\t}\n};\n//#endregion\n//#region src/core/sqlite-schema-verifier.ts\n/**\n* SQLite target `SchemaVerifier` concretion. Mirrors the Postgres\n* shape: hooks return the empty list pending the call-site migration\n* that routes the existing verifier behaviour through the SPI.\n*/\nvar SqliteSchemaVerifier = class extends SqlSchemaVerifierBase {\n\tverifyCommonSqlSchema(_options) {\n\t\treturn [];\n\t}\n\tverifyTargetExtensions(_options) {\n\t\treturn [];\n\t}\n};\n//#endregion\n//#region src/core/control-target.ts\nfunction isSqlContract(contract) {\n\treturn contract === null || contract.storage instanceof SqlStorage;\n}\nconst sqliteControlTargetDescriptor = {\n\t...sqliteTargetDescriptorMeta,\n\tcontractSerializer: new SqliteContractSerializer(),\n\tschemaVerifier: new SqliteSchemaVerifier(),\n\tdiffSchema(input) {\n\t\treturn diffSqliteSchema(input);\n\t},\n\tclassifySubjectGranularity: relationalNodeGranularity,\n\tclassifyEntityKind: relationalNodeEntityKind,\n\tmigrations: {\n\t\tcreatePlanner(adapter) {\n\t\t\treturn createSqliteMigrationPlanner(adapter);\n\t\t},\n\t\tcreateRunner(family) {\n\t\t\treturn createSqliteMigrationRunner(family);\n\t\t},\n\t\tcontractToSchema(contract, frameworkComponents) {\n\t\t\tif (!isSqlContract(contract)) throw sqliteError(\"CONTRACT.TARGET_MISMATCH\", \"sqliteControlTargetDescriptor.contractToSchema received a non-SQL contract; expected Contract<SqlStorage>\");\n\t\t\treturn sqliteContractToSchema(contract, { ...ifDefined(\"dataTypeOf\", buildDataTypeResolver(frameworkComponents)) });\n\t\t}\n\t},\n\tcreate() {\n\t\treturn {\n\t\t\tfamilyId: \"sql\",\n\t\t\ttargetId: \"sqlite\"\n\t\t};\n\t},\n\tcreatePlanner(adapter) {\n\t\treturn createSqliteMigrationPlanner(adapter);\n\t},\n\tcreateRunner(family) {\n\t\treturn createSqliteMigrationRunner(family);\n\t}\n};\n//#endregion\nexport { SqliteUnboundDatabase, sqliteControlTargetDescriptor as default, sqliteCreateNamespace };\n\n//# sourceMappingURL=control.mjs.map"],"mappings":"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"}
1
+ {"version":3,"file":"target__control.mjs","names":[],"sources":["../../../../3-targets/3-targets/sqlite/dist/control.mjs"],"sourcesContent":["import { n as sqliteError } from \"./errors-DnR-sMHS.mjs\";\nimport { t as sqliteTargetDescriptorMeta } from \"./descriptor-meta-D1v5O3db.mjs\";\nimport { a as verifySqliteDatabaseSchema, i as sqliteContractToSchema, n as createSqliteMigrationPlanner, r as diffSqliteSchema } from \"./planner-CWfPzOwZ.mjs\";\nimport { r as MARKER_TABLE_NAME } from \"./control-tables-D_o8dKRB.mjs\";\nimport { i as sqliteCreateNamespace, n as SqliteContractSerializer, r as SqliteUnboundDatabase } from \"./sqlite-contract-view-BYR10usg.mjs\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { APP_SPACE_ID } from \"@internal/framework-components/control\";\nimport { buildDataTypeResolver, runnerFailure, runnerSuccess } from \"@internal/family-sql/control\";\nimport { SqlStorage } from \"@internal/sql-contract/types\";\nimport { relationalNodeEntityKind, relationalNodeGranularity } from \"@internal/sql-schema-ir/types\";\nimport { notOk, ok, okVoid } from \"@internal/utils/result\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { SqlSchemaVerifierBase } from \"@internal/family-sql/ir\";\n//#region src/core/migrations/runner.ts\nfunction createSqliteMigrationRunner(family) {\n\treturn new SqliteMigrationRunner(family);\n}\nvar SqliteMigrationRunner = class {\n\tfamily;\n\tconstructor(family) {\n\t\tthis.family = family;\n\t}\n\t/**\n\t* Apply the plan against an already-open connection without managing\n\t* the transaction lifecycle. The caller ({@link SqliteMigrationRunner.execute})\n\t* owns BEGIN/COMMIT/ROLLBACK and any connection-level setup (FK pragma\n\t* toggle, FK integrity check).\n\t*/\n\tasync executeOnConnection(options) {\n\t\tconst driver = options.driver;\n\t\tif (options.space !== void 0 && options.space !== options.plan.spaceId) throw sqliteError(\"MIGRATION.CONTRACT_SPACE_VIOLATION\", `SqlMigrationRunner: options.space (${options.space}) does not match plan.spaceId (${options.plan.spaceId})`, { meta: {\n\t\t\tspace: options.space,\n\t\t\tplanSpaceId: options.plan.spaceId\n\t\t} });\n\t\tconst space = options.plan.spaceId;\n\t\tconst planOps = blindCast(await Promise.all(options.plan.operations));\n\t\tconst destinationCheck = this.ensurePlanMatchesDestinationContract(options.plan.destination, options.destinationContract);\n\t\tif (!destinationCheck.ok) return destinationCheck;\n\t\tconst policyCheck = this.enforcePolicyCompatibility(options.policy, planOps);\n\t\tif (!policyCheck.ok) return policyCheck;\n\t\tconst ensureResult = await this.ensureControlTables(driver, options.destinationContract);\n\t\tif (!ensureResult.ok) return ensureResult;\n\t\tconst existingMarker = await this.family.readMarker({\n\t\t\tdriver,\n\t\t\tspace\n\t\t});\n\t\tconst markerCheck = this.ensureMarkerCompatibility(existingMarker, options.plan);\n\t\tif (!markerCheck.ok) return markerCheck;\n\t\tconst markerAtDestination = this.markerMatchesDestination(existingMarker, options.plan);\n\t\tconst isSelfEdge = options.plan.origin?.storageHash === options.plan.destination.storageHash;\n\t\tconst skipOperations = markerAtDestination && options.plan.origin != null && !isSelfEdge;\n\t\tlet operationsExecuted;\n\t\tlet executedOperations;\n\t\tif (skipOperations) {\n\t\t\toperationsExecuted = 0;\n\t\t\texecutedOperations = [];\n\t\t} else {\n\t\t\tconst applyResult = await this.applyPlan(driver, options, planOps);\n\t\t\tif (!applyResult.ok) return applyResult;\n\t\t\toperationsExecuted = applyResult.value.operationsExecuted;\n\t\t\texecutedOperations = applyResult.value.executedOperations;\n\t\t}\n\t\tif (space === APP_SPACE_ID) {\n\t\t\tconst schemaNode = await this.family.introspect({\n\t\t\t\tdriver,\n\t\t\t\tcontract: options.destinationContract\n\t\t\t});\n\t\t\tconst schemaVerifyResult = verifySqliteDatabaseSchema({\n\t\t\t\tcontract: options.destinationContract,\n\t\t\t\tactualSchema: schemaNode,\n\t\t\t\tstrict: options.strictVerification ?? true,\n\t\t\t\ttypeMetadataRegistry: this.family.typeMetadataRegistry,\n\t\t\t\tframeworkComponents: options.frameworkComponents\n\t\t\t});\n\t\t\tif (!schemaVerifyResult.ok) return runnerFailure(\"MIGRATION.SCHEMA_VERIFY_FAILED\", schemaVerifyResult.summary, {\n\t\t\t\twhy: \"The resulting database schema does not satisfy the destination contract.\",\n\t\t\t\tmeta: { issues: schemaVerifyResult.schema.issues }\n\t\t\t});\n\t\t}\n\t\tconst incomingInvariants = options.plan.providedInvariants;\n\t\tconst existingInvariants = new Set(existingMarker?.invariants ?? []);\n\t\tconst incomingIsSubsetOfExisting = incomingInvariants.every((id) => existingInvariants.has(id));\n\t\tif (!(isSelfEdge && operationsExecuted === 0 && incomingIsSubsetOfExisting)) {\n\t\t\tconst markerResult = await this.upsertMarker(driver, options, existingMarker, space);\n\t\t\tif (!markerResult.ok) return markerResult;\n\t\t\tawait this.recordLedgerEntries(driver, options, executedOperations);\n\t\t}\n\t\treturn runnerSuccess({\n\t\t\toperationsPlanned: planOps.length,\n\t\t\toperationsExecuted\n\t\t});\n\t}\n\tasync execute(options) {\n\t\tconst driver = options.driver;\n\t\tconst perSpaceOptions = options.perSpaceOptions;\n\t\tif (perSpaceOptions.length === 0) return ok({ perSpaceResults: [] });\n\t\tconst fkWasEnabled = await this.readForeignKeysEnabled(driver);\n\t\tif (fkWasEnabled) await driver.query(\"PRAGMA foreign_keys = OFF\");\n\t\ttry {\n\t\t\tawait this.beginExclusiveTransaction(driver);\n\t\t\tlet committed = false;\n\t\t\ttry {\n\t\t\t\tconst perSpaceResults = [];\n\t\t\t\tlet lastProcessedSpace;\n\t\t\t\tfor (const spaceOptions of perSpaceOptions) {\n\t\t\t\t\tconst space = spaceOptions.space ?? spaceOptions.plan.spaceId;\n\t\t\t\t\tconst result = await this.executeOnConnection({\n\t\t\t\t\t\t...spaceOptions,\n\t\t\t\t\t\tdriver,\n\t\t\t\t\t\tspace\n\t\t\t\t\t});\n\t\t\t\t\tif (!result.ok) return notOk({\n\t\t\t\t\t\t...result.failure,\n\t\t\t\t\t\tfailingSpace: space\n\t\t\t\t\t});\n\t\t\t\t\tperSpaceResults.push({\n\t\t\t\t\t\tspace,\n\t\t\t\t\t\tvalue: result.value\n\t\t\t\t\t});\n\t\t\t\t\tlastProcessedSpace = space;\n\t\t\t\t}\n\t\t\t\tif (fkWasEnabled) {\n\t\t\t\t\tconst fkIntegrityCheck = await this.verifyForeignKeyIntegrity(driver);\n\t\t\t\t\tif (!fkIntegrityCheck.ok) return notOk({\n\t\t\t\t\t\t...fkIntegrityCheck.failure,\n\t\t\t\t\t\tfailingSpace: lastProcessedSpace ?? APP_SPACE_ID\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tawait this.commitTransaction(driver);\n\t\t\t\tcommitted = true;\n\t\t\t\treturn ok({ perSpaceResults });\n\t\t\t} finally {\n\t\t\t\tif (!committed) await this.rollbackTransaction(driver);\n\t\t\t}\n\t\t} finally {\n\t\t\tif (fkWasEnabled) await driver.query(\"PRAGMA foreign_keys = ON\");\n\t\t}\n\t}\n\tasync readForeignKeysEnabled(driver) {\n\t\treturn (await driver.query(\"PRAGMA foreign_keys\")).rows[0]?.foreign_keys === 1;\n\t}\n\tasync verifyForeignKeyIntegrity(driver) {\n\t\tconst result = await driver.query(\"PRAGMA foreign_key_check\");\n\t\tif (result.rows.length === 0) return okVoid();\n\t\treturn runnerFailure(\"MIGRATION.FOREIGN_KEY_VIOLATION\", `Foreign key integrity check failed after migration: ${result.rows.length} violation(s).`, {\n\t\t\twhy: \"PRAGMA foreign_key_check reported violations after applying recreate-table operations.\",\n\t\t\tmeta: { violations: result.rows }\n\t\t});\n\t}\n\tasync applyPlan(driver, options, ops) {\n\t\tconst checks = options.executionChecks;\n\t\tconst runPrechecks = checks?.prechecks !== false;\n\t\tconst runPostchecks = checks?.postchecks !== false;\n\t\tconst runIdempotency = checks?.idempotencyChecks !== false;\n\t\tlet operationsExecuted = 0;\n\t\tconst executedOperations = [];\n\t\tfor (const operation of ops) {\n\t\t\toptions.callbacks?.onOperationStart?.(operation);\n\t\t\ttry {\n\t\t\t\tif (runPostchecks && runIdempotency) {\n\t\t\t\t\tif (await this.expectationsAreSatisfied(driver, operation.postcheck)) {\n\t\t\t\t\t\texecutedOperations.push(this.createSkipRecord(operation));\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (runPrechecks) {\n\t\t\t\t\tconst precheckResult = await this.runExpectationSteps(driver, operation.precheck, operation, \"precheck\");\n\t\t\t\t\tif (!precheckResult.ok) return precheckResult;\n\t\t\t\t}\n\t\t\t\tconst executeResult = await this.runExecuteSteps(driver, operation.execute, operation);\n\t\t\t\tif (!executeResult.ok) return executeResult;\n\t\t\t\tif (runPostchecks) {\n\t\t\t\t\tconst postcheckResult = await this.runExpectationSteps(driver, operation.postcheck, operation, \"postcheck\");\n\t\t\t\t\tif (!postcheckResult.ok) return postcheckResult;\n\t\t\t\t}\n\t\t\t\texecutedOperations.push(operation);\n\t\t\t\toperationsExecuted += 1;\n\t\t\t} finally {\n\t\t\t\toptions.callbacks?.onOperationComplete?.(operation);\n\t\t\t}\n\t\t}\n\t\treturn ok({\n\t\t\toperationsExecuted,\n\t\t\texecutedOperations\n\t\t});\n\t}\n\tasync ensureControlTables(driver, contract) {\n\t\tconst legacyDetection = await this.detectLegacyMarkerShape(driver);\n\t\tif (!legacyDetection.ok) return legacyDetection;\n\t\tconst lowererContext = { contract };\n\t\tfor (const query of this.family.bootstrapControlTableQueries()) await this.executeStatement(driver, await this.family.lowerAst(query, lowererContext));\n\t\treturn okVoid();\n\t}\n\tasync detectLegacyMarkerShape(driver) {\n\t\tconst tableInfo = await driver.query(`PRAGMA table_info(\"${MARKER_TABLE_NAME}\")`);\n\t\tif (tableInfo.rows.length === 0) return okVoid();\n\t\tconst columns = new Set(tableInfo.rows.map((row) => row.name));\n\t\tif (columns.has(\"space\")) return okVoid();\n\t\treturn runnerFailure(\"MIGRATION.LEGACY_MARKER_SHAPE\", `Legacy marker-table shape detected on ${MARKER_TABLE_NAME} (no \\`space\\` column). Prisma 8 is in pre-1.0; the previous transitional auto-migration to the per-space-row schema has been removed. Drop \\`${MARKER_TABLE_NAME}\\` and re-run \\`dbInit\\` to reinitialise from a clean baseline.`, { meta: {\n\t\t\ttable: MARKER_TABLE_NAME,\n\t\t\tcolumns: [...columns].sort()\n\t\t} });\n\t}\n\tasync runExpectationSteps(driver, steps, operation, phase) {\n\t\tfor (const step of steps) {\n\t\t\tconst result = await driver.query(step.sql, step.params ?? []);\n\t\t\tif (!this.stepResultIsTrue(result.rows)) return runnerFailure(phase === \"precheck\" ? \"MIGRATION.PRECHECK_FAILED\" : \"MIGRATION.POSTCHECK_FAILED\", `Operation ${operation.id} failed during ${phase}: ${step.description}`, { meta: {\n\t\t\t\toperationId: operation.id,\n\t\t\t\tphase,\n\t\t\t\tstepDescription: step.description\n\t\t\t} });\n\t\t}\n\t\treturn okVoid();\n\t}\n\tasync runExecuteSteps(driver, steps, operation) {\n\t\tfor (const step of steps) try {\n\t\t\tawait driver.query(step.sql, step.params ?? []);\n\t\t} catch (error) {\n\t\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\t\treturn runnerFailure(\"MIGRATION.EXECUTION_FAILED\", `Operation ${operation.id} failed during execution: ${step.description}`, {\n\t\t\t\twhy: message,\n\t\t\t\tmeta: {\n\t\t\t\t\toperationId: operation.id,\n\t\t\t\t\tstepDescription: step.description,\n\t\t\t\t\tsql: step.sql\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn okVoid();\n\t}\n\tstepResultIsTrue(rows) {\n\t\tif (!rows || rows.length === 0) return false;\n\t\tconst firstRow = rows[0];\n\t\tconst firstValue = firstRow ? Object.values(firstRow)[0] : void 0;\n\t\tif (typeof firstValue === \"number\") return firstValue !== 0;\n\t\tif (typeof firstValue === \"boolean\") return firstValue;\n\t\tif (typeof firstValue === \"string\") {\n\t\t\tconst lower = firstValue.toLowerCase();\n\t\t\tif (lower === \"true\" || lower === \"1\") return true;\n\t\t\tif (lower === \"false\" || lower === \"0\") return false;\n\t\t\treturn firstValue.length > 0;\n\t\t}\n\t\treturn Boolean(firstValue);\n\t}\n\tasync expectationsAreSatisfied(driver, steps) {\n\t\tif (steps.length === 0) return false;\n\t\tfor (const step of steps) {\n\t\t\tconst result = await driver.query(step.sql, step.params ?? []);\n\t\t\tif (!this.stepResultIsTrue(result.rows)) return false;\n\t\t}\n\t\treturn true;\n\t}\n\tcreateSkipRecord(operation) {\n\t\treturn Object.freeze({\n\t\t\tid: operation.id,\n\t\t\tlabel: operation.label,\n\t\t\t...ifDefined(\"summary\", operation.summary),\n\t\t\toperationClass: operation.operationClass,\n\t\t\ttarget: operation.target,\n\t\t\tprecheck: Object.freeze([]),\n\t\t\texecute: Object.freeze([]),\n\t\t\tpostcheck: Object.freeze([...operation.postcheck]),\n\t\t\tmeta: Object.freeze({\n\t\t\t\t...operation.meta ?? {},\n\t\t\t\trunner: Object.freeze({\n\t\t\t\t\tskipped: true,\n\t\t\t\t\treason: \"postcheck_pre_satisfied\"\n\t\t\t\t})\n\t\t\t})\n\t\t});\n\t}\n\tmarkerMatchesDestination(marker, plan) {\n\t\tif (!marker) return false;\n\t\tif (marker.storageHash !== plan.destination.storageHash) return false;\n\t\tif (plan.destination.profileHash && marker.profileHash !== plan.destination.profileHash) return false;\n\t\treturn true;\n\t}\n\tenforcePolicyCompatibility(policy, operations) {\n\t\tconst allowedClasses = new Set(policy.allowedOperationClasses);\n\t\tfor (const operation of operations) if (!allowedClasses.has(operation.operationClass)) return runnerFailure(\"MIGRATION.POLICY_VIOLATION\", `Operation ${operation.id} has class \"${operation.operationClass}\" which is not allowed by policy.`, {\n\t\t\twhy: `Policy only allows: ${policy.allowedOperationClasses.join(\", \")}.`,\n\t\t\tmeta: {\n\t\t\t\toperationId: operation.id,\n\t\t\t\toperationClass: operation.operationClass,\n\t\t\t\tallowedClasses: policy.allowedOperationClasses\n\t\t\t}\n\t\t});\n\t\treturn okVoid();\n\t}\n\tensureMarkerCompatibility(marker, plan) {\n\t\tconst origin = plan.origin ?? null;\n\t\tif (!origin) return okVoid();\n\t\tif (!marker) return runnerFailure(\"MIGRATION.MARKER_ORIGIN_MISMATCH\", `Missing contract marker: expected origin storage hash ${origin.storageHash}.`, { meta: { expectedOriginStorageHash: origin.storageHash } });\n\t\tif (marker.storageHash !== origin.storageHash) return runnerFailure(\"MIGRATION.MARKER_ORIGIN_MISMATCH\", `Existing contract marker (${marker.storageHash}) does not match plan origin (${origin.storageHash}).`, { meta: {\n\t\t\tmarkerStorageHash: marker.storageHash,\n\t\t\texpectedOriginStorageHash: origin.storageHash\n\t\t} });\n\t\tif (origin.profileHash && marker.profileHash !== origin.profileHash) return runnerFailure(\"MIGRATION.MARKER_ORIGIN_MISMATCH\", `Existing contract marker profile hash (${marker.profileHash}) does not match plan origin profile hash (${origin.profileHash}).`, { meta: {\n\t\t\tmarkerProfileHash: marker.profileHash,\n\t\t\texpectedOriginProfileHash: origin.profileHash\n\t\t} });\n\t\treturn okVoid();\n\t}\n\tensurePlanMatchesDestinationContract(destination, contract) {\n\t\tif (destination.storageHash !== contract.storage.storageHash) return runnerFailure(\"MIGRATION.DESTINATION_CONTRACT_MISMATCH\", `Plan destination storage hash (${destination.storageHash}) does not match provided contract storage hash (${contract.storage.storageHash}).`, { meta: {\n\t\t\tplanStorageHash: destination.storageHash,\n\t\t\tcontractStorageHash: contract.storage.storageHash\n\t\t} });\n\t\tif (destination.profileHash && contract.profileHash && destination.profileHash !== contract.profileHash) return runnerFailure(\"MIGRATION.DESTINATION_CONTRACT_MISMATCH\", `Plan destination profile hash (${destination.profileHash}) does not match provided contract profile hash (${contract.profileHash}).`, { meta: {\n\t\t\tplanProfileHash: destination.profileHash,\n\t\t\tcontractProfileHash: contract.profileHash\n\t\t} });\n\t\treturn okVoid();\n\t}\n\tasync upsertMarker(driver, options, existingMarker, space) {\n\t\tconst destination = {\n\t\t\tstorageHash: options.plan.destination.storageHash,\n\t\t\tprofileHash: options.plan.destination.profileHash ?? options.destinationContract.profileHash ?? options.plan.destination.storageHash,\n\t\t\tinvariants: options.plan.providedInvariants ?? []\n\t\t};\n\t\tif (!existingMarker) {\n\t\t\tawait this.family.initMarker({\n\t\t\t\tdriver,\n\t\t\t\tspace,\n\t\t\t\tdestination\n\t\t\t});\n\t\t\treturn okVoid();\n\t\t}\n\t\tif (!await this.family.updateMarker({\n\t\t\tdriver,\n\t\t\tspace,\n\t\t\texpectedFrom: existingMarker.storageHash,\n\t\t\tdestination\n\t\t})) return runnerFailure(\"MIGRATION.MARKER_CAS_FAILURE\", \"Marker was modified by another process during migration execution.\", { meta: {\n\t\t\tspace,\n\t\t\texpectedStorageHash: existingMarker.storageHash,\n\t\t\tdestinationStorageHash: options.plan.destination.storageHash\n\t\t} });\n\t\treturn okVoid();\n\t}\n\tasync recordLedgerEntries(driver, options, executedOperations) {\n\t\tconst plan = options.plan;\n\t\tconst space = plan.spaceId;\n\t\tconst edges = options.migrationEdges;\n\t\tconst totalEdgeOps = edges.reduce((sum, edge) => sum + edge.operationCount, 0);\n\t\tif (totalEdgeOps !== plan.operations.length) throw new InternalError(`Ledger write: plan.operations length (${plan.operations.length}) does not match sum of migrationEdges operationCount (${totalEdgeOps})`);\n\t\tlet offset = 0;\n\t\tfor (const edge of edges) {\n\t\t\tconst edgeOps = executedOperations.slice(offset, offset + edge.operationCount);\n\t\t\toffset += edge.operationCount;\n\t\t\tawait this.family.writeLedgerEntry({\n\t\t\t\tdriver,\n\t\t\t\tspace,\n\t\t\t\tentry: {\n\t\t\t\t\tedgeId: `${edge.from}->${edge.to}`,\n\t\t\t\t\tfrom: edge.from,\n\t\t\t\t\tto: edge.to,\n\t\t\t\t\tmigrationName: edge.dirName,\n\t\t\t\t\tmigrationHash: edge.migrationHash,\n\t\t\t\t\toperations: edgeOps\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\tasync beginExclusiveTransaction(driver) {\n\t\tawait driver.query(\"BEGIN EXCLUSIVE\");\n\t}\n\tasync commitTransaction(driver) {\n\t\tawait driver.query(\"COMMIT\");\n\t}\n\tasync rollbackTransaction(driver) {\n\t\tawait driver.query(\"ROLLBACK\");\n\t}\n\tasync executeStatement(driver, statement) {\n\t\tawait driver.query(statement.sql, statement.params);\n\t}\n};\n//#endregion\n//#region src/core/sqlite-schema-verifier.ts\n/**\n* SQLite target `SchemaVerifier` concretion. Mirrors the Postgres\n* shape: hooks return the empty list pending the call-site migration\n* that routes the existing verifier behaviour through the SPI.\n*/\nvar SqliteSchemaVerifier = class extends SqlSchemaVerifierBase {\n\tverifyCommonSqlSchema(_options) {\n\t\treturn [];\n\t}\n\tverifyTargetExtensions(_options) {\n\t\treturn [];\n\t}\n};\n//#endregion\n//#region src/core/control-target.ts\nfunction isSqlContract(contract) {\n\treturn contract === null || contract.storage instanceof SqlStorage;\n}\nconst sqliteControlTargetDescriptor = {\n\t...sqliteTargetDescriptorMeta,\n\tcontractSerializer: new SqliteContractSerializer(),\n\tschemaVerifier: new SqliteSchemaVerifier(),\n\tdiffSchema(input) {\n\t\treturn diffSqliteSchema(input);\n\t},\n\tclassifySubjectGranularity: relationalNodeGranularity,\n\tclassifyEntityKind: relationalNodeEntityKind,\n\tmigrations: {\n\t\tcreatePlanner(adapter) {\n\t\t\treturn createSqliteMigrationPlanner(adapter);\n\t\t},\n\t\tcreateRunner(family) {\n\t\t\treturn createSqliteMigrationRunner(family);\n\t\t},\n\t\tcontractToSchema(contract, frameworkComponents) {\n\t\t\tif (!isSqlContract(contract)) throw sqliteError(\"CONTRACT.TARGET_MISMATCH\", \"sqliteControlTargetDescriptor.contractToSchema received a non-SQL contract; expected Contract<SqlStorage>\");\n\t\t\treturn sqliteContractToSchema(contract, { ...ifDefined(\"dataTypeOf\", buildDataTypeResolver(frameworkComponents)) });\n\t\t}\n\t},\n\tcreate() {\n\t\treturn {\n\t\t\tfamilyId: \"sql\",\n\t\t\ttargetId: \"sqlite\"\n\t\t};\n\t},\n\tcreatePlanner(adapter) {\n\t\treturn createSqliteMigrationPlanner(adapter);\n\t},\n\tcreateRunner(family) {\n\t\treturn createSqliteMigrationRunner(family);\n\t}\n};\n//#endregion\nexport { SqliteUnboundDatabase, sqliteControlTargetDescriptor as default, sqliteCreateNamespace };\n\n//# sourceMappingURL=control.mjs.map"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { a as sqliteDatetimeCanonical, c as sqliteReal, i as sqliteDatetime, l as sqliteText, n as sqliteBlob, o as sqliteInteger, r as sqliteDataTypes, s as sqliteJson, t as sqliteBigint } from "./data-types-B6gWpyYW-CVM4AAZK.mjs";
2
- import { t as sqliteDataTypeEntries } from "./data-types-BxmHClMK.mjs";
1
+ import { a as sqliteDatetimeCanonical, c as sqliteReal, i as sqliteDatetime, l as sqliteText, n as sqliteBlob, o as sqliteInteger, r as sqliteDataTypes, s as sqliteJson, t as sqliteBigint } from "./data-types-B6gYWauJ-DPJUc7_Z.mjs";
2
+ import { t as sqliteDataTypeEntries } from "./data-types-D9CwP8vB.mjs";
3
3
  export { sqliteBigint, sqliteBlob, sqliteDataTypeEntries, sqliteDataTypes, sqliteDatetime, sqliteDatetimeCanonical, sqliteInteger, sqliteJson, sqliteReal, sqliteText };
@@ -1,2 +1,2 @@
1
- import { t as parseSqliteDefault } from "./default-normalizer-D_kHnqz7-SRi-lBH0.mjs";
1
+ import { t as parseSqliteDefault } from "./default-normalizer-Bbo6WzxJ-MgaICRCQ.mjs";
2
2
  export { parseSqliteDefault };
@@ -1,3 +1,3 @@
1
- import { t as SqliteMigration } from "./sqlite-migration-0qCGfq-S-wwKN7Zb3.mjs";
2
- import { a as fn, c as placeholder, d as unique, i as dataTransform, l as primaryKey, n as MigrationCLI, o as foreignKey, r as col, s as lit, t as DataTransformOptions, u as rawSql } from "./migration-DSmUh0wk.mjs";
1
+ import { t as SqliteMigration } from "./sqlite-migration-Du67NG7r-CqcA5XBz.mjs";
2
+ import { a as fn, c as placeholder, d as unique, i as dataTransform, l as primaryKey, n as MigrationCLI, o as foreignKey, r as col, s as lit, t as DataTransformOptions, u as rawSql } from "./migration-dc58fySD.mjs";
3
3
  export { type DataTransformOptions, SqliteMigration as Migration, MigrationCLI, col, dataTransform, fn, foreignKey, lit, placeholder, primaryKey, rawSql, unique };
@@ -1,3 +1,3 @@
1
- import { t as SqliteMigration } from "./sqlite-migration-BKSuDis9-UHqFOBqU.mjs";
2
- import { a as foreignKey, c as primaryKey, i as fn, l as rawSql, n as col, o as lit, r as dataTransform, s as placeholder, t as MigrationCLI, u as unique } from "./migration-BNB89lIv.mjs";
1
+ import { t as SqliteMigration } from "./sqlite-migration-DuQG9WLW-BqHx4fMJ.mjs";
2
+ import { a as foreignKey, c as primaryKey, i as fn, l as rawSql, n as col, o as lit, r as dataTransform, s as placeholder, t as MigrationCLI, u as unique } from "./migration-Y6M_R3GK.mjs";
3
3
  export { SqliteMigration as Migration, MigrationCLI, col, dataTransform, fn, foreignKey, lit, placeholder, primaryKey, rawSql, unique };
@@ -1,2 +1,2 @@
1
- import { a as DropColumnCall, c as RawSqlCall, i as DataTransformCall, l as RecreateTableCall, n as CreateIndexCall, o as DropIndexCall, r as CreateTableCall, s as DropTableCall, t as AddColumnCall, u as SqliteOpFactoryCall } from "./op-factory-call-C8jSguMU.mjs";
1
+ import { a as DropColumnCall, c as RawSqlCall, i as DataTransformCall, l as RecreateTableCall, n as CreateIndexCall, o as DropIndexCall, r as CreateTableCall, s as DropTableCall, t as AddColumnCall, u as SqliteOpFactoryCall } from "./op-factory-call-4FJxPMyx.mjs";
2
2
  export { AddColumnCall, CreateIndexCall, CreateTableCall, DataTransformCall, DropColumnCall, DropIndexCall, DropTableCall, RawSqlCall, RecreateTableCall, type SqliteOpFactoryCall };
@@ -1,2 +1,2 @@
1
- import { a as DropColumnCall, c as RawSqlCall, i as DataTransformCall, l as RecreateTableCall, n as CreateIndexCall, o as DropIndexCall, r as CreateTableCall, s as DropTableCall, t as AddColumnCall } from "./op-factory-call-C8CNBvCb-DyXVtd7o.mjs";
1
+ import { a as DropColumnCall, c as RawSqlCall, i as DataTransformCall, l as RecreateTableCall, n as CreateIndexCall, o as DropIndexCall, r as CreateTableCall, s as DropTableCall, t as AddColumnCall } from "./op-factory-call-Dv_ma_mw-BtLqNmZI.mjs";
2
2
  export { AddColumnCall, CreateIndexCall, CreateTableCall, DataTransformCall, DropColumnCall, DropIndexCall, DropTableCall, RawSqlCall, RecreateTableCall };
@@ -1,2 +1,2 @@
1
- import { t as sqliteTargetDescriptorMeta } from "./pack-B488MxTx.mjs";
1
+ import { t as sqliteTargetDescriptorMeta } from "./pack-YBiEVfBB.mjs";
2
2
  export { sqliteTargetDescriptorMeta as default };
@@ -1,3 +1,3 @@
1
- import { n as TypeScriptRenderableSqliteMigration, t as SqliteMigrationDestinationInfo } from "./planner-produced-sqlite-migration-C0pHN3qf-D1QDsx7l.mjs";
2
- import "./planner-produced-sqlite-migration-aw2sx-H-.mjs";
1
+ import { n as TypeScriptRenderableSqliteMigration, t as SqliteMigrationDestinationInfo } from "./planner-produced-sqlite-migration-BQ8vBitH-DlquRDZ4.mjs";
2
+ import "./planner-produced-sqlite-migration-BfFAqrKj.mjs";
3
3
  export { type SqliteMigrationDestinationInfo, TypeScriptRenderableSqliteMigration };
@@ -1,2 +1,2 @@
1
- import { t as TypeScriptRenderableSqliteMigration } from "./planner-produced-sqlite-migration-CAvJnzes-wf8WQ39U.mjs";
1
+ import { t as TypeScriptRenderableSqliteMigration } from "./planner-produced-sqlite-migration-D1iuFT1l-BSFCXgJD.mjs";
2
2
  export { TypeScriptRenderableSqliteMigration };
@@ -1,2 +1,2 @@
1
- import { n as SqlitePlanResult, r as createSqliteMigrationPlanner, t as SqliteMigrationPlanner } from "./planner-B4FWi-jn.mjs";
1
+ import { n as SqlitePlanResult, r as createSqliteMigrationPlanner, t as SqliteMigrationPlanner } from "./planner-Bsjn1MTX.mjs";
2
2
  export { SqliteMigrationPlanner, type SqlitePlanResult, createSqliteMigrationPlanner };
@@ -1,2 +1,2 @@
1
- import { n as createSqliteMigrationPlanner, t as SqliteMigrationPlanner } from "./planner-BTKa_OaV-Bl9T8ftA.mjs";
1
+ import { n as createSqliteMigrationPlanner, t as SqliteMigrationPlanner } from "./planner-CWfPzOwZ-DVj6Tm5a.mjs";
2
2
  export { SqliteMigrationPlanner, createSqliteMigrationPlanner };
@@ -0,0 +1,2 @@
1
+ import "./types-RJMd2PlL-Dqp0xeHo.mjs";
2
+ import "./codecs-CKWQYtFS.mjs";
@@ -1,5 +1,5 @@
1
- import { n as AnySqliteCodecDescriptor } from "./codec-descriptor-BNC9tDro-BPWBITSr.mjs";
2
- import "./codec-descriptor-ae4jEMJI.mjs";
1
+ import { n as AnySqliteCodecDescriptor } from "./codec-descriptor-CDLhtrcE-CloMgVh6.mjs";
2
+ import "./codec-descriptor-3-wupJWh.mjs";
3
3
  import { LoweredStatement } from "@prisma/orm-family-sql/relational-core/ast";
4
4
  import { SqlStorage } from "@prisma/orm-family-sql/contract/types";
5
5
  import { Contract } from "@prisma/orm-framework/contract/types";
@@ -20,4 +20,4 @@ type SqliteContract = Contract<SqlStorage> & {
20
20
  type SqliteLoweredStatement = LoweredStatement;
21
21
  //#endregion
22
22
  export { SqliteContract as n, SqliteLoweredStatement as r, SqliteAdapterOptions as t };
23
- //# sourceMappingURL=types-RJMd2PlL-DFJRCUUw.d.mts.map
23
+ //# sourceMappingURL=types-RJMd2PlL-Dqp0xeHo.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types-RJMd2PlL-DFJRCUUw.d.mts","names":[],"sources":["../../../../3-targets/6-adapters/sqlite/dist/types-RJMd2PlL.d.mts"],"mappings":";;;;;;;UAKU;WACC;;;;;;WAMA,4BAA4B;;KAElC,iBAAiB,SAAS;WACpB;;KAEN,yBAAyB"}
1
+ {"version":3,"file":"types-RJMd2PlL-Dqp0xeHo.d.mts","names":[],"sources":["../../../../3-targets/6-adapters/sqlite/dist/types-RJMd2PlL.d.mts"],"mappings":";;;;;;;UAKU;WACC;;;;;;WAMA,4BAA4B;;KAElC,iBAAiB,SAAS;WACpB;;KAEN,yBAAyB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prisma/orm-target-sqlite",
3
- "version": "8.0.0-rc.14-dev.6",
3
+ "version": "8.0.0-rc.14-dev.8",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -9,19 +9,19 @@
9
9
  "dist"
10
10
  ],
11
11
  "dependencies": {
12
- "@prisma/orm-family-sql": "8.0.0-rc.14-dev.6",
13
- "@prisma/orm-framework": "8.0.0-rc.14-dev.6",
14
- "@prisma/orm-toolchain": "8.0.0-rc.14-dev.6",
12
+ "@prisma/orm-family-sql": "8.0.0-rc.14-dev.8",
13
+ "@prisma/orm-framework": "8.0.0-rc.14-dev.8",
14
+ "@prisma/orm-toolchain": "8.0.0-rc.14-dev.8",
15
15
  "@standard-schema/spec": "1.1.0",
16
16
  "arktype": "^2.2.2",
17
17
  "pathe": "^2.0.3"
18
18
  },
19
19
  "devDependencies": {
20
- "@internal/adapter-sqlite": "8.0.0-rc.14-dev.6",
21
- "@internal/driver-sqlite": "8.0.0-rc.14-dev.6",
22
- "@internal/target-sqlite": "8.0.0-rc.14-dev.6",
23
- "@repo/tsconfig": "8.0.0-rc.14-dev.6",
24
- "@repo/tsdown": "8.0.0-rc.14-dev.6",
20
+ "@internal/adapter-sqlite": "8.0.0-rc.14-dev.8",
21
+ "@internal/driver-sqlite": "8.0.0-rc.14-dev.8",
22
+ "@internal/target-sqlite": "8.0.0-rc.14-dev.8",
23
+ "@repo/tsconfig": "8.0.0-rc.14-dev.8",
24
+ "@repo/tsdown": "8.0.0-rc.14-dev.8",
25
25
  "tsdown": "0.22.14",
26
26
  "typescript": "5.9.3"
27
27
  },
@@ -1 +0,0 @@
1
- {"version":3,"file":"adapter-DBvizrEP-SHMMlDkU.mjs","names":["#codecs"],"sources":["../../../../3-targets/6-adapters/sqlite/dist/adapter-DBvizrEP.mjs"],"sourcesContent":["import { APP_SPACE_ID } from \"@internal/framework-components/control\";\nimport { RawExpr, isDdlNode } from \"@internal/sql-relational-core/ast\";\nimport { createSqliteCodecRegistryWithBuiltins, jsonDocumentRetag, sqliteCodecRegistry } from \"@internal/target-sqlite/codecs\";\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 { parseContractMarkerRow } from \"@internal/family-sql/verify\";\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 { parseSqliteDefault } from \"@internal/target-sqlite/default-normalizer\";\nimport { normalizeSqliteNativeType } from \"@internal/target-sqlite/native-type-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: [\"datetime('now')\"],\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\tcodecRegistry;\n\tconstructor(codecRegistry) {\n\t\tthis.codecRegistry = codecRegistry;\n\t}\n\tnormalizeDefault = parseSqliteDefault;\n\tnormalizeNativeType = normalizeSqliteNativeType;\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\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 `?` 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\t/**\n\t* Appends a ledger entry for `space`. See the\n\t* `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\tasync introspect(driver, _contract) {\n\t\tconst tablesResult = await driver.query(`SELECT name 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(\"${escapePragmaArg(tableName)}\")`);\n\t\t\tconst fkResult = await driver.query(`PRAGMA foreign_key_list(\"${escapePragmaArg(tableName)}\")`);\n\t\t\tconst indexListResult = await driver.query(`PRAGMA index_list(\"${escapePragmaArg(tableName)}\")`);\n\t\t\tconst columns = {};\n\t\t\tconst pkColumns = [];\n\t\t\tfor (const col of columnsResult.rows) {\n\t\t\t\tconst resolvedNativeType = normalizeSqliteNativeType(col.type);\n\t\t\t\tconst rawDefault = col.dflt_value ?? void 0;\n\t\t\t\tcolumns[col.name] = {\n\t\t\t\t\tname: col.name,\n\t\t\t\t\tnativeType: 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\tresolvedNativeType,\n\t\t\t\t\t...ifDefined(\"resolvedDefault\", rawDefault !== void 0 ? parseSqliteDefault(rawDefault, resolvedNativeType) : void 0)\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(\"${escapePragmaArg(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};\nfunction escapePragmaArg(name) {\n\treturn name.replace(/\"/g, \"\\\"\\\"\");\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) {\n\tif (wire === null) return \"NULL\";\n\tif (typeof wire === \"boolean\") return wire ? \"1\" : \"0\";\n\tif (typeof wire === \"number\") {\n\t\tif (!Number.isFinite(wire)) throw structuredError(\"CONTRACT.DEFAULT_INVALID\", `sqliteRenderDdlExecuteRequest: non-finite number wire value ${String(wire)} cannot be emitted as a DEFAULT literal`);\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\", \"sqliteRenderDdlExecuteRequest: invalid Date value cannot be emitted as a DEFAULT literal\");\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}\nasync function sqliteRenderDdlColumnDefault(def, codecLookup, codecRef) {\n\tif (def.kind === \"function\") {\n\t\tif (def.expression === \"autoincrement()\") return \"\";\n\t\tif (def.expression === \"now()\") return \"DEFAULT (datetime('now'))\";\n\t\treturn `DEFAULT (${def.expression})`;\n\t}\n\tif (codecRef !== void 0) {\n\t\tconst codec = codecLookup.get(codecRef.codecId);\n\t\tif (codec !== void 0) {\n\t\t\tconst value = def.value instanceof Date ? def.value : codec.decodeJson(def.value);\n\t\t\treturn `DEFAULT ${sqliteInlineLiteral(await codec.encode(value, {}))}`;\n\t\t}\n\t}\n\treturn `DEFAULT ${sqliteInlineLiteral(def.value)}`;\n}\nasync function sqliteRenderDdlColumn(column, codecLookup) {\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\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)));\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/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, profileId) {\n\t\tthis.#codecs = codecRegistry;\n\t\tconst controlAdapter = new SqliteControlAdapter(codecRegistry);\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 ctx = {\n\t\tcontract,\n\t\tcodecs\n\t};\n\tconst collectedParamRefs = ast.collectParamRefs();\n\tconst params = [];\n\tfor (const ref of collectedParamRefs) params.push(ref.kind === \"prepared-param-ref\" ? {\n\t\tkind: \"bind\",\n\t\tname: ref.name\n\t} : {\n\t\tkind: \"literal\",\n\t\tvalue: ref.value\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\treturn Object.freeze({\n\t\tsql,\n\t\tparams\n\t});\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\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 \"?\";\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\" || 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\tlet result = expr.lowering.template;\n\tresult = result.replace(/\\{\\{self\\}\\}/g, self);\n\tfor (let i = 0; i < args.length; i++) result = result.replace(new RegExp(`\\\\{\\\\{arg${i}\\\\}\\\\}`, \"g\"), args[i] ?? \"\");\n\treturn result;\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 = \"?\";\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 \"?\";\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 \"?\";\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 = qualifyTableFromNamespaceCoordinate(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 = qualifyTableFromNamespaceCoordinate(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 ${qualifyTableFromNamespaceCoordinate(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.table)}.${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, options?.profileId));\n}\nfunction createSqliteAdapterWithCodecRegistry(codecRegistry) {\n\treturn Object.freeze(new SqliteAdapterImpl(codecRegistry));\n}\n//#endregion\nexport { SqliteControlAdapter as a, sqliteRawCodecInferer as i, createSqliteAdapterWithCodecRegistry as n, renderLoweredSql as r, createSqliteAdapter as t };\n\n//# sourceMappingURL=adapter-DBvizrEP.mjs.map"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import "./types-RJMd2PlL-DFJRCUUw.mjs";
2
- import "./adapter-Bp_4Bjff-e0IpIZ1b.mjs";
@@ -1 +0,0 @@
1
- import "./codec-descriptor-BNC9tDro-BPWBITSr.mjs";
@@ -1 +0,0 @@
1
- {"version":3,"file":"codec-descriptor-BNC9tDro-BPWBITSr.d.mts","names":[],"sources":["../../../../3-targets/3-targets/sqlite/dist/codec-descriptor-BNC9tDro.d.mts"],"mappings":";;;;cAGc;UACJ,iCAAiC;WAChC,uBAAuB;EAChC,YAAY,YAAY,gBAAgB,KAAK,WAAW;;uBAEnC,sBAAsB,kBAAkB,oBAAoB,cAAc;WACtF;qBACU,eAAe,YAAY,gBAAgB,QAAQ,IAAI;EAC1E,YAAY,YAAY,gBAAgB,KAAK,WAAW;UAChD;;KAEL,iBAAiB,UAAU,8BAA8B,UAAU,8BAA8B,KAAK;UACjG,mBAAmB;;WAElB,UAAU;WACV,iBAAiB,YAAY,gBAAgB,QAAQ,MAAM;;KAEjE,6BAA6B,UAAU,8BAA8B,KAAK,SAAS,wBAAwB,iBAAiB,OAAO,KAAK,+BAA+B,KAAK;iBAChK,YAAY,UAAU,4BAA4B,YAAY,GAAG,SAAS,mBAAmB,iBAAiB,MAAM,6BAA6B;iBACjJ,yBAAyB,6BAA6B,4BAA4B,aAAa,cAAc;iBAC7G,wBAAwB,iBAAiB,SAAS;UACzD;EACR,cAAc,kBAAkB;EAChC,UAAU,iBAAiB;;iBAEZ,mCAAmC,aAAa,yBAAyB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"codec-descriptor-DAmZuKvV-B2UsMrgX.mjs","names":["#descriptors"],"sources":["../../../../3-targets/3-targets/sqlite/dist/codec-descriptor-DAmZuKvV.mjs"],"sourcesContent":["import { CodecDescriptorImpl, validateCodecTypeParams } from \"@internal/framework-components/codec\";\nimport { structuredError } from \"@internal/utils/structured-error\";\nimport { blindCast } from \"@internal/utils/casts\";\n//#region src/core/codec-descriptor.ts\nconst SQLITE_CODEC_DESCRIPTOR_KIND = \"sqlite-codec\";\nvar SqliteCodecDescriptor = class extends CodecDescriptorImpl {\n\tdescriptorKind = SQLITE_CODEC_DESCRIPTOR_KIND;\n\tprojectJson(expression, ref) {\n\t\tif (ref.many === true) throw structuredError(\"RUNTIME.CODEC_DESCRIPTOR_ARRAY_UNSUPPORTED\", `Codec '${ref.codecId}' uses CodecRef.many, but SQLite codec descriptors do not support stored scalar arrays.`, {\n\t\t\twhy: \"SQLite has no stored scalar-array codec protocol, so applying a scalar projection to the whole stored array would be ambiguous.\",\n\t\t\tfix: \"Use a scalar CodecRef or introduce an explicit target representation before projecting stored arrays.\",\n\t\t\tmeta: { codecId: ref.codecId }\n\t\t});\n\t\treturn this.jsonProjection(expression, this.validateParams(ref));\n\t}\n\tvalidateParams(ref) {\n\t\treturn blindCast(validateCodecTypeParams(this, ref));\n\t}\n};\nvar SqliteCodecDescriptorAdapter = class extends SqliteCodecDescriptor {\n\tdescriptor;\n\toptions;\n\tdataType;\n\tcodecId;\n\ttraits;\n\ttargetTypes;\n\tparamsSchema;\n\trenderOutputType;\n\trenderInputType;\n\trenderValueLiteral;\n\tconstructor(descriptor, options) {\n\t\tsuper();\n\t\tthis.descriptor = descriptor;\n\t\tthis.options = options;\n\t\tthis.dataType = options.dataType;\n\t\tthis.codecId = descriptor.codecId;\n\t\tthis.traits = descriptor.traits;\n\t\tthis.targetTypes = descriptor.targetTypes;\n\t\tthis.paramsSchema = descriptor.paramsSchema;\n\t\tconst renderOutputType = descriptor.renderOutputType;\n\t\tif (renderOutputType !== void 0) this.renderOutputType = (params) => renderOutputType.call(descriptor, params);\n\t\tconst renderInputType = descriptor.renderInputType;\n\t\tif (renderInputType !== void 0) this.renderInputType = (params) => renderInputType.call(descriptor, params);\n\t\tconst renderValueLiteral = descriptor.renderValueLiteral;\n\t\tif (renderValueLiteral !== void 0) this.renderValueLiteral = (value, side) => renderValueLiteral.call(descriptor, value, side);\n\t}\n\tget isParameterized() {\n\t\treturn this.descriptor.isParameterized;\n\t}\n\tfactory = (params) => this.descriptor.factory(params);\n\tjsonProjection(expression, params) {\n\t\treturn this.options.jsonProjection(expression, params);\n\t}\n};\nfunction sqliteCodec(descriptor, options) {\n\treturn blindCast(new SqliteCodecDescriptorAdapter(descriptor, options));\n}\nfunction defineSqliteCodecs(descriptors) {\n\treturn descriptors;\n}\nfunction isSqliteCodecDescriptor(value) {\n\treturn typeof value === \"object\" && value !== null && \"descriptorKind\" in value && value.descriptorKind === SQLITE_CODEC_DESCRIPTOR_KIND && \"codecId\" in value && typeof value.codecId === \"string\" && \"traits\" in value && Array.isArray(value.traits) && \"targetTypes\" in value && Array.isArray(value.targetTypes) && value.targetTypes.every((targetType) => typeof targetType === \"string\") && \"paramsSchema\" in value && (value.paramsSchema === void 0 || isObjectLike(value.paramsSchema) && \"~standard\" in value.paramsSchema && isObjectLike(value.paramsSchema[\"~standard\"]) && \"validate\" in value.paramsSchema[\"~standard\"] && typeof value.paramsSchema[\"~standard\"].validate === \"function\") && \"isParameterized\" in value && typeof value.isParameterized === \"boolean\" && \"factory\" in value && typeof value.factory === \"function\" && \"projectJson\" in value && typeof value.projectJson === \"function\";\n}\nfunction isObjectLike(value) {\n\treturn typeof value === \"object\" && value !== null || typeof value === \"function\";\n}\nvar SqliteCodecDescriptorRegistryImpl = class {\n\t#descriptors;\n\tconstructor(descriptors) {\n\t\tthis.#descriptors = descriptors;\n\t\tObject.freeze(this);\n\t}\n\tdescriptorFor(codecId) {\n\t\treturn this.#descriptors.get(codecId);\n\t}\n\t*values() {\n\t\tyield* this.#descriptors.values();\n\t}\n};\nfunction buildSqliteCodecDescriptorRegistry(descriptors) {\n\tconst byId = /* @__PURE__ */ new Map();\n\tfor (const descriptor of descriptors) {\n\t\tif (!isSqliteCodecDescriptor(descriptor)) {\n\t\t\tconst codecId = candidateCodecId(descriptor);\n\t\t\tthrow structuredError(\"RUNTIME.CODEC_DESCRIPTOR_INVALID\", `Codec descriptor '${codecId}' is not a valid SQLite codec descriptor.`, {\n\t\t\t\twhy: \"SQLite codec registries require the sqlite-codec discriminant and complete target descriptor methods.\",\n\t\t\t\tfix: \"Extend SqliteCodecDescriptor or adapt a generic descriptor with sqliteCodec().\",\n\t\t\t\tmeta: { codecId }\n\t\t\t});\n\t\t}\n\t\tif (byId.has(descriptor.codecId)) throw structuredError(\"RUNTIME.DUPLICATE_CODEC\", `Duplicate SQLite codec descriptor id '${descriptor.codecId}'.`, {\n\t\t\twhy: \"Each codecId must resolve to exactly one SQLite descriptor during registry composition.\",\n\t\t\tfix: \"Remove the duplicate target, adapter, or extension contribution.\",\n\t\t\tmeta: {\n\t\t\t\tcodecId: descriptor.codecId,\n\t\t\t\ttarget: \"sqlite\"\n\t\t\t}\n\t\t});\n\t\tbyId.set(descriptor.codecId, descriptor);\n\t}\n\treturn new SqliteCodecDescriptorRegistryImpl(byId);\n}\nfunction candidateCodecId(value) {\n\treturn typeof value === \"object\" && value !== null && \"codecId\" in value && typeof value.codecId === \"string\" ? value.codecId : \"<unknown>\";\n}\n//#endregion\nexport { sqliteCodec as a, isSqliteCodecDescriptor as i, buildSqliteCodecDescriptorRegistry as n, defineSqliteCodecs as r, SqliteCodecDescriptor as t };\n\n//# sourceMappingURL=codec-descriptor-DAmZuKvV.mjs.map"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import "./codec-descriptor-BNC9tDro-BPWBITSr.mjs";
2
- import "./codec-descriptor-4BIWMlhf-CjIjnr76.mjs";
@@ -1,2 +0,0 @@
1
- import "./codecs-BzSfaf5F-gXK7Etj3.mjs";
2
- import "./codec-types-Dm8kn3W4-BAWXUJJ8.mjs";
@@ -1 +0,0 @@
1
- import "./codec-types-2BtIaiN_.mjs";
@@ -1 +0,0 @@
1
- {"version":3,"file":"codecs-CK___nqu-ByljcwNa.mjs","names":[],"sources":["../../../../3-targets/3-targets/sqlite/dist/codecs-CK___nqu.mjs"],"sourcesContent":["import { a as SQLITE_INTEGER_CODEC_ID, c as SQLITE_TEXT_CODEC_ID, i as SQLITE_DATETIME_CODEC_ID, n as SQLITE_BIGINT_NUMBER_CODEC_ID, o as SQLITE_JSON_CODEC_ID, r as SQLITE_BLOB_CODEC_ID, s as SQLITE_REAL_CODEC_ID, t as SQLITE_BIGINT_CODEC_ID } from \"./codec-ids-KMliSCRp.mjs\";\nimport { a as sqliteDatetimeCanonical, c as sqliteReal, i as sqliteDatetime, l as sqliteText, n as sqliteBlob, o as sqliteInteger, s as sqliteJson, t as sqliteBigint } from \"./data-types-B6gWpyYW.mjs\";\nimport { a as sqliteCodec, r as defineSqliteCodecs, t as SqliteCodecDescriptor } from \"./codec-descriptor-DAmZuKvV.mjs\";\nimport { n as sqliteError } from \"./errors-DnR-sMHS.mjs\";\nimport { CaseExpr, CastExpr, FunctionCallExpr, LiteralExpr, NullCheckExpr, sqlCharDescriptor, sqlFloatDescriptor, sqlIntDescriptor, sqlVarcharDescriptor } from \"@internal/sql-relational-core/ast\";\nimport { CodecImpl, column } from \"@internal/framework-components/codec\";\nimport { blindCast } from \"@internal/utils/casts\";\n//#region src/core/codecs.ts\n/**\n* Projects the expression unchanged, for codecs whose canonical JSON is what\n* SQLite's own JSON conversion already produces.\n*\n* Identity here is a claim about the target's behaviour, not an absence of one:\n* the codec's conformance cases are what test it, including at the boundaries\n* of the representation where a native conversion would be most likely to\n* diverge.\n*/\nconst identityJsonProjection = (expression) => expression;\n/**\n* Projects an integer-valued expression as decimal text.\n*\n* The cast is part of the projected expression, so it applies before the JSON\n* constructor sees the value: handed an INTEGER directly, the constructor emits\n* a JSON number, and SQLite's 64-bit range does not survive being read back as\n* a double. Casting the constructor's result would be too late.\n*/\nconst decimalTextJsonProjection = (expression) => CastExpr.as(expression, \"TEXT\");\n/**\n* Projects a BLOB as hexadecimal text.\n*\n* SQLite's JSON functions reject a BLOB argument outright, so the encoding has\n* to replace the native conversion rather than post-process it. `hex()` emits\n* uppercase and never wraps at any length, which is the spelling `encodeJson`\n* pins.\n*\n* `hex(NULL)` is `''` rather than NULL, and `''` is the hex of an empty blob —\n* so without the NULL check an absent blob and an empty one would both project\n* as `''`, and `decodeJson` accepts `''` because zero hex pairs is a valid\n* empty blob. The check keeps the two distinguishable.\n*/\nconst hexJsonProjection = (expression) => CaseExpr.of([{\n\tcondition: NullCheckExpr.isNull(expression),\n\tvalue: LiteralExpr.of(null)\n}], FunctionCallExpr.of(\"hex\", [expression]));\nconst JSON_RETAG_FN = \"json\";\n/**\n* Re-applies SQLite's JSON subtype to a document-valued expression.\n*\n* SQLite carries \"this text is JSON\" as a subtype on the value rather than in\n* its type, and the subtype does not survive a derived table: a document that\n* `json_object` produced arrives one level out as plain text, so the enclosing\n* constructor embeds it as a *string containing JSON* rather than as a\n* document. `json()` re-applies the subtype, which is what makes the value nest\n* as a document again.\n*\n* The loss happens at the first derived-table boundary and does not compound, so\n* a retag is needed where the document is consumed rather than at every level it\n* passes through.\n*\n* Applying this twice is a no-op — SQLite's `json()` is idempotent, and the\n* wrapper collapses rather than nesting so the rendered SQL says so too. It is\n* safe on any valid JSON text, including scalars, and on NULL; it raises\n* `malformed JSON` on text that is not JSON, which is the correct failure for a\n* value that was never a document.\n*/\nconst jsonDocumentRetag = (expression) => isJsonRetag(expression) ? expression : FunctionCallExpr.of(JSON_RETAG_FN, [expression]);\n/** Whether an expression is already a retag, so applying one again would only nest. */\nconst isJsonRetag = (expression) => expression instanceof FunctionCallExpr && expression.fn === JSON_RETAG_FN && expression.args.length === 1;\nconst DECIMAL_INTEGER = /^-?\\d+$/;\nconst UPPERCASE_HEX = /^(?:[0-9A-F]{2})*$/;\n/** Renders the decimal text `sqlite/bigintnumber@1` carries, whose application type is `number`, as a number literal. */\nconst decimalTextNumberLiteral = (value) => typeof value === \"string\" && DECIMAL_INTEGER.test(value) ? value : void 0;\n/**\n* JSON has no spelling for an infinity or a NaN, and SQLite renders one as\n* `9.0e+999`, which reads back as `Infinity` rather than failing. A real is\n* therefore carried only where it is finite.\n*/\nconst finiteReal = (value, code) => {\n\tif (!Number.isFinite(value)) throw sqliteError(code, \"sqlite/real@1 value must be a finite number\", { meta: {\n\t\tcodecId: SQLITE_REAL_CODEC_ID,\n\t\treceived: String(value)\n\t} });\n\treturn value;\n};\nconst MIN_SAFE_INTEGER_BIGINT = BigInt(Number.MIN_SAFE_INTEGER);\nconst MAX_SAFE_INTEGER_BIGINT = BigInt(Number.MAX_SAFE_INTEGER);\n/**\n* Requires an application value to be of the JS type the codec reads.\n*\n* A range check reads a value of the wrong type as a value out of range, and\n* reports a number plainly inside the range as outside it — so the type is\n* established first and answered for on its own terms, naming what a caller\n* has to change.\n*/\nconst requireJsType = (codecId, expected, value) => {\n\tif (typeof value === expected) return;\n\tthrow sqliteError(\"RUNTIME.ENCODE_FAILED\", `${codecId} value must be a ${expected}, got ${typeof value} ${String(value)}`, { meta: {\n\t\tcodecId,\n\t\treceived: typeof value\n\t} });\n};\n/**\n* Writes an application value as the decimal text `sqlite/bigint@1` carries as\n* its canonical JSON.\n*\n* A schema-written literal default (`BigInt @default(0)`) arrives here as a\n* `number`, since a number literal is the only integer a schema language\n* writes, and one that is a safe integer names its value exactly. Past that\n* range the literal was rounded before any of this ran, so the value written is\n* not the value meant — which this refuses rather than minting an exact-looking\n* value from it. A non-integral number is refused on the same terms.\n*/\nconst bigintEncodeJson = (codecId, value) => {\n\tif (typeof value !== \"number\") {\n\t\trequireJsType(codecId, \"bigint\", value);\n\t\treturn value.toString();\n\t}\n\tif (!Number.isSafeInteger(value)) throw sqliteError(\"RUNTIME.ENCODE_FAILED\", `${codecId} number literal must be an integer within the safe integer range, got ${String(value)}`, { meta: {\n\t\tcodecId,\n\t\treceived: String(value)\n\t} });\n\treturn BigInt(value).toString();\n};\n/**\n* Requires an integer within ±(2^53 − 1), the range a JS `number` holds\n* exactly. The guard throws rather than rounding: past the boundary a `number`\n* silently loses digits, which is the failure mode this codec exists to refuse.\n*/\nconst safeIntegerNumber = (value, code) => {\n\tif (!Number.isSafeInteger(value)) throw sqliteError(code, `sqlite/bigintnumber@1 value must be an integer within the safe integer range, got ${String(value)}`, { meta: {\n\t\tcodecId: SQLITE_BIGINT_NUMBER_CODEC_ID,\n\t\treceived: String(value)\n\t} });\n\tif (Object.is(value, -0)) return 0;\n\treturn value;\n};\n/** The application value the number-flavoured integer codec writes: the JS type it reads, within the range that type holds exactly. */\nconst encodableSafeInteger = (value) => {\n\trequireJsType(SQLITE_BIGINT_NUMBER_CODEC_ID, \"number\", value);\n\treturn safeIntegerNumber(value, \"RUNTIME.ENCODE_FAILED\");\n};\n/**\n* Converts an exact `bigint` into a safe-range `number`, comparing before any\n* conversion so an out-of-range value throws rather than rounds.\n*/\nconst safeIntegerFromBigint = (value) => {\n\tif (value < MIN_SAFE_INTEGER_BIGINT || value > MAX_SAFE_INTEGER_BIGINT) throw sqliteError(\"RUNTIME.DECODE_FAILED\", `sqlite/bigintnumber@1 value must be an integer within the safe integer range, got ${value}`, { meta: {\n\t\tcodecId: SQLITE_BIGINT_NUMBER_CODEC_ID,\n\t\treceived: value.toString()\n\t} });\n\treturn Number(value);\n};\nconst sqliteSqlCharDescriptor = sqliteCodec(sqlCharDescriptor, {\n\tdataType: sqliteText.id,\n\tjsonProjection: identityJsonProjection\n});\nconst sqliteSqlVarcharDescriptor = sqliteCodec(sqlVarcharDescriptor, {\n\tdataType: sqliteText.id,\n\tjsonProjection: identityJsonProjection\n});\nconst sqliteSqlIntDescriptor = sqliteCodec(sqlIntDescriptor, {\n\tdataType: sqliteInteger.id,\n\tjsonProjection: identityJsonProjection\n});\nconst sqliteSqlFloatDescriptor = sqliteCodec(sqlFloatDescriptor, {\n\tdataType: sqliteReal.id,\n\tjsonProjection: identityJsonProjection\n});\nvar SqliteTextCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn blindCast(json);\n\t}\n};\nvar SqliteTextDescriptor = class extends SqliteCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = sqliteText.id;\n\tcodecId = SQLITE_TEXT_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"textual\"\n\t];\n\ttargetTypes = [\"text\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new SqliteTextCodec(this);\n\t}\n};\nconst sqliteTextDescriptor = new SqliteTextDescriptor();\nconst sqliteTextColumn = () => column(sqliteTextDescriptor.factory(), sqliteTextDescriptor.codecId, void 0, \"text\");\nvar SqliteIntegerCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\tif (typeof json !== \"number\") throw sqliteError(\"RUNTIME.DECODE_FAILED\", \"sqlite/integer@1 database JSON value must be a number\", { meta: {\n\t\t\tcodecId: SQLITE_INTEGER_CODEC_ID,\n\t\t\treceived: typeof json\n\t\t} });\n\t\tif (!Number.isSafeInteger(json)) throw sqliteError(\"RUNTIME.DECODE_FAILED\", `sqlite/integer@1 value must be an integer within the safe integer range, got ${String(json)}`, { meta: {\n\t\t\tcodecId: SQLITE_INTEGER_CODEC_ID,\n\t\t\treceived: String(json)\n\t\t} });\n\t\treturn json;\n\t}\n};\nvar SqliteIntegerDescriptor = class extends SqliteCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = sqliteInteger.id;\n\tcodecId = SQLITE_INTEGER_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [\"integer\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new SqliteIntegerCodec(this);\n\t}\n};\nconst sqliteIntegerDescriptor = new SqliteIntegerDescriptor();\nconst sqliteIntegerColumn = () => column(sqliteIntegerDescriptor.factory(), sqliteIntegerDescriptor.codecId, void 0, \"integer\");\nvar SqliteRealCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn finiteReal(value, \"RUNTIME.ENCODE_FAILED\");\n\t}\n\tdecodeJson(json) {\n\t\tif (typeof json !== \"number\") throw sqliteError(\"RUNTIME.DECODE_FAILED\", \"sqlite/real@1 database JSON value must be a number\", { meta: {\n\t\t\tcodecId: SQLITE_REAL_CODEC_ID,\n\t\t\treceived: typeof json\n\t\t} });\n\t\treturn finiteReal(json, \"RUNTIME.DECODE_FAILED\");\n\t}\n};\nvar SqliteRealDescriptor = class extends SqliteCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = sqliteReal.id;\n\tcodecId = SQLITE_REAL_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [\"real\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new SqliteRealCodec(this);\n\t}\n};\nconst sqliteRealDescriptor = new SqliteRealDescriptor();\nconst sqliteRealColumn = () => column(sqliteRealDescriptor.factory(), sqliteRealDescriptor.codecId, void 0, \"real\");\nvar SqliteBlobCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn Buffer.from(value).toString(\"hex\").toUpperCase();\n\t}\n\tdecodeJson(json) {\n\t\tif (typeof json !== \"string\" || !UPPERCASE_HEX.test(json)) throw sqliteError(\"RUNTIME.DECODE_FAILED\", \"sqlite/blob@1 database JSON value must be uppercase hexadecimal text\", { meta: {\n\t\t\tcodecId: SQLITE_BLOB_CODEC_ID,\n\t\t\treceived: typeof json\n\t\t} });\n\t\treturn new Uint8Array(Buffer.from(json, \"hex\"));\n\t}\n};\nvar SqliteBlobDescriptor = class extends SqliteCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn hexJsonProjection(expression);\n\t}\n\tdataType = sqliteBlob.id;\n\tcodecId = SQLITE_BLOB_CODEC_ID;\n\ttraits = [\"equality\"];\n\ttargetTypes = [\"blob\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new SqliteBlobCodec(this);\n\t}\n};\nconst sqliteBlobDescriptor = new SqliteBlobDescriptor();\nconst sqliteBlobColumn = () => column(sqliteBlobDescriptor.factory(), sqliteBlobDescriptor.codecId, void 0, \"blob\");\n/**\n* Reads the text SQLite holds for an instant. Rejects `Invalid Date` (NaN-time) at every decode\n* ingress so consumers never receive a Date whose downstream operations silently produce NaN.\n*/\nfunction decodeSqliteDatetime(value) {\n\tconst date = new Date(value);\n\tif (Number.isNaN(date.getTime())) throw sqliteError(\"RUNTIME.DECODE_FAILED\", `sqlite/datetime@1 value must be a valid ISO-8601 string: ${value}`, { meta: {\n\t\tcodecId: SQLITE_DATETIME_CODEC_ID,\n\t\treceived: value\n\t} });\n\treturn date;\n}\n/** The text SQLite holds for an instant: what the codec writes for every row, and for a default. */\nfunction encodeSqliteDatetime(value) {\n\treturn value.toISOString();\n}\nvar SqliteDatetimeCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn encodeSqliteDatetime(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn decodeSqliteDatetime(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn sqliteDatetimeCanonical(value.toISOString());\n\t}\n\tdecodeJson(json) {\n\t\tif (typeof json !== \"string\") throw sqliteError(\"RUNTIME.DECODE_FAILED\", \"sqlite/datetime@1 contract value must be an ISO-8601 string\", { meta: {\n\t\t\tcodecId: SQLITE_DATETIME_CODEC_ID,\n\t\t\treceived: typeof json\n\t\t} });\n\t\treturn decodeSqliteDatetime(json);\n\t}\n};\nvar SqliteDatetimeDescriptor = class extends SqliteCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = sqliteDatetime.id;\n\tcodecId = SQLITE_DATETIME_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"text\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new SqliteDatetimeCodec(this);\n\t}\n};\nconst sqliteDatetimeDescriptor = new SqliteDatetimeDescriptor();\nconst sqliteDatetimeColumn = () => column(sqliteDatetimeDescriptor.factory(), sqliteDatetimeDescriptor.codecId, void 0, \"text\");\nvar SqliteJsonCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn JSON.stringify(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn typeof wire === \"string\" ? blindCast(JSON.parse(wire)) : wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn json;\n\t}\n};\nvar SqliteJsonDescriptor = class extends SqliteCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn jsonDocumentRetag(expression);\n\t}\n\tdataType = sqliteJson.id;\n\tcodecId = SQLITE_JSON_CODEC_ID;\n\ttraits = [\"equality\"];\n\ttargetTypes = [\"text\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new SqliteJsonCodec(this);\n\t}\n};\nconst sqliteJsonDescriptor = new SqliteJsonDescriptor();\nconst sqliteJsonColumn = () => column(sqliteJsonDescriptor.factory(), sqliteJsonDescriptor.codecId, void 0, \"text\");\nvar SqliteBigintCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\trequireJsType(SQLITE_BIGINT_CODEC_ID, \"bigint\", value);\n\t\treturn value;\n\t}\n\t/**\n\t* The wire value is text wherever the value could outrun a JS number: an\n\t* aggregate SQLite computes leaves the database through the descriptor's cast\n\t* to text, because the driver reads an integer no number can hold as an error\n\t* rather than a value. A number-typed wire value must therefore be a safe\n\t* integer — past ±(2^53 − 1) it has already rounded, and converting it would\n\t* mint a spuriously-exact `bigint` that need not equal the stored value.\n\t*/\n\tasync decode(wire, _ctx) {\n\t\tif (typeof wire === \"number\" && !Number.isSafeInteger(wire)) throw sqliteError(\"RUNTIME.DECODE_FAILED\", `sqlite/bigint@1 wire number must be an integer within the safe integer range, got ${String(wire)}`, { meta: {\n\t\t\tcodecId: SQLITE_BIGINT_CODEC_ID,\n\t\t\treceived: String(wire)\n\t\t} });\n\t\tif (typeof wire === \"string\" && !DECIMAL_INTEGER.test(wire)) throw sqliteError(\"RUNTIME.DECODE_FAILED\", \"sqlite/bigint@1 wire value must be a decimal string\", { meta: {\n\t\t\tcodecId: SQLITE_BIGINT_CODEC_ID,\n\t\t\treceived: wire\n\t\t} });\n\t\treturn BigInt(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn bigintEncodeJson(SQLITE_BIGINT_CODEC_ID, value);\n\t}\n\tdecodeJson(json) {\n\t\tif (typeof json !== \"string\" || !DECIMAL_INTEGER.test(json)) throw sqliteError(\"RUNTIME.DECODE_FAILED\", \"sqlite/bigint@1 database JSON value must be a decimal string\", { meta: {\n\t\t\tcodecId: SQLITE_BIGINT_CODEC_ID,\n\t\t\treceived: typeof json\n\t\t} });\n\t\treturn BigInt(json);\n\t}\n};\nvar SqliteBigintDescriptor = class extends SqliteCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn decimalTextJsonProjection(expression);\n\t}\n\tdataType = sqliteBigint.id;\n\tcodecId = SQLITE_BIGINT_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [\"integer\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new SqliteBigintCodec(this);\n\t}\n};\nconst sqliteBigintDescriptor = new SqliteBigintDescriptor();\nconst sqliteBigintColumn = () => column(sqliteBigintDescriptor.factory(), sqliteBigintDescriptor.codecId, void 0, \"integer\");\n/**\n* A SQLite INTEGER decoded as a JS `number`, for columns whose values stay\n* within the safe integer range ±(2^53 − 1). Both directions guard rather than\n* round: decode (wire and JSON) and encode throw a structured error on\n* out-of-range or non-integral input. The canonical JSON is the decimal text\n* `sqlite/bigint` carries, which every codec of that data type shares. The\n* descriptor claims no target type, so `integer` in type position keeps its\n* current codecs.\n*/\nvar SqliteBigintNumberCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn encodableSafeInteger(value);\n\t}\n\t/**\n\t* The driver hands an INTEGER over as a `number` or, in safe-integer mode, a\n\t* `bigint`; a bigint (or decimal text) is range-checked exactly before any\n\t* conversion to `number`, so an out-of-range value throws rather than rounds.\n\t*/\n\tasync decode(wire, _ctx) {\n\t\tif (typeof wire === \"number\") return safeIntegerNumber(wire, \"RUNTIME.DECODE_FAILED\");\n\t\tif (typeof wire === \"string\" && !DECIMAL_INTEGER.test(wire)) throw sqliteError(\"RUNTIME.DECODE_FAILED\", \"sqlite/bigintnumber@1 wire value must be a decimal string\", { meta: {\n\t\t\tcodecId: SQLITE_BIGINT_NUMBER_CODEC_ID,\n\t\t\treceived: wire\n\t\t} });\n\t\treturn safeIntegerFromBigint(BigInt(wire));\n\t}\n\tencodeJson(value) {\n\t\treturn String(encodableSafeInteger(value));\n\t}\n\tdecodeJson(json) {\n\t\tif (typeof json !== \"string\" || !DECIMAL_INTEGER.test(json)) throw sqliteError(\"RUNTIME.DECODE_FAILED\", \"sqlite/bigintnumber@1 database JSON value must be decimal text\", { meta: {\n\t\t\tcodecId: SQLITE_BIGINT_NUMBER_CODEC_ID,\n\t\t\treceived: typeof json\n\t\t} });\n\t\treturn safeIntegerFromBigint(BigInt(json));\n\t}\n};\nvar SqliteBigintNumberDescriptor = class extends SqliteCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn decimalTextJsonProjection(expression);\n\t}\n\tdataType = sqliteBigint.id;\n\tcodecId = SQLITE_BIGINT_NUMBER_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn decimalTextNumberLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new SqliteBigintNumberCodec(this);\n\t}\n};\nconst sqliteBigintNumberDescriptor = new SqliteBigintNumberDescriptor();\nconst sqliteBigintNumberColumn = () => column(sqliteBigintNumberDescriptor.factory(), sqliteBigintNumberDescriptor.codecId, void 0, \"integer\");\nconst codecDescriptors = defineSqliteCodecs([\n\tsqliteSqlCharDescriptor,\n\tsqliteSqlVarcharDescriptor,\n\tsqliteSqlIntDescriptor,\n\tsqliteSqlFloatDescriptor,\n\tsqliteTextDescriptor,\n\tsqliteIntegerDescriptor,\n\tsqliteRealDescriptor,\n\tsqliteBlobDescriptor,\n\tsqliteDatetimeDescriptor,\n\tsqliteJsonDescriptor,\n\tsqliteBigintDescriptor,\n\tsqliteBigintNumberDescriptor\n]);\n//#endregion\nexport { sqliteBigintColumn as a, sqliteDatetimeColumn as c, sqliteRealColumn as d, sqliteTextColumn as f, jsonDocumentRetag as i, sqliteIntegerColumn as l, decodeSqliteDatetime as n, sqliteBigintNumberColumn as o, encodeSqliteDatetime as r, sqliteBlobColumn as s, codecDescriptors as t, sqliteJsonColumn as u };\n\n//# sourceMappingURL=codecs-CK___nqu.mjs.map"],"mappings":";;;;;;;;;;;;;;;;;AAiBA,MAAM,0BAA0B,eAAe;;;;;;;;;AAS/C,MAAM,6BAA6B,eAAe,SAAS,GAAG,YAAY,MAAM;;;;;;;;;;;;;;AAchF,MAAM,qBAAqB,eAAe,SAAS,GAAG,CAAC;CACtD,WAAW,cAAc,OAAO,UAAU;CAC1C,OAAO,YAAY,GAAG,IAAI;AAC3B,CAAC,GAAG,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAC5C,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;AAqBtB,MAAM,qBAAqB,eAAe,YAAY,UAAU,IAAI,aAAa,iBAAiB,GAAG,eAAe,CAAC,UAAU,CAAC;;AAEhI,MAAM,eAAe,eAAe,sBAAsB,oBAAoB,WAAW,OAAO,iBAAiB,WAAW,KAAK,WAAW;AAC5I,MAAM,kBAAkB;AACxB,MAAM,gBAAgB;;AAEtB,MAAM,4BAA4B,UAAU,OAAO,UAAU,YAAY,gBAAgB,KAAK,KAAK,IAAI,QAAQ,KAAK;;;;;;AAMpH,MAAM,cAAc,OAAO,SAAS;CACnC,IAAI,CAAC,OAAO,SAAS,KAAK,GAAG,MAAM,YAAY,MAAM,+CAA+C,EAAE,MAAM;EAC3G,SAAS;EACT,UAAU,OAAO,KAAK;CACvB,EAAE,CAAC;CACH,OAAO;AACR;AACA,MAAM,0BAA0B,OAAO,OAAO,gBAAgB;AAC9D,MAAM,0BAA0B,OAAO,OAAO,gBAAgB;;;;;;;;;AAS9D,MAAM,iBAAiB,SAAS,UAAU,UAAU;CACnD,IAAI,OAAO,UAAU,UAAU;CAC/B,MAAM,YAAY,yBAAyB,GAAG,QAAQ,mBAAmB,SAAS,QAAQ,OAAO,MAAM,GAAG,OAAO,KAAK,KAAK,EAAE,MAAM;EAClI;EACA,UAAU,OAAO;CAClB,EAAE,CAAC;AACJ;;;;;;;;;;;;AAYA,MAAM,oBAAoB,SAAS,UAAU;CAC5C,IAAI,OAAO,UAAU,UAAU;EAC9B,cAAc,SAAS,UAAU,KAAK;EACtC,OAAO,MAAM,SAAS;CACvB;CACA,IAAI,CAAC,OAAO,cAAc,KAAK,GAAG,MAAM,YAAY,yBAAyB,GAAG,QAAQ,wEAAwE,OAAO,KAAK,KAAK,EAAE,MAAM;EACxL;EACA,UAAU,OAAO,KAAK;CACvB,EAAE,CAAC;CACH,OAAO,OAAO,KAAK,CAAC,CAAC,SAAS;AAC/B;;;;;;AAMA,MAAM,qBAAqB,OAAO,SAAS;CAC1C,IAAI,CAAC,OAAO,cAAc,KAAK,GAAG,MAAM,YAAY,MAAM,qFAAqF,OAAO,KAAK,KAAK,EAAE,MAAM;EACvK,SAAS;EACT,UAAU,OAAO,KAAK;CACvB,EAAE,CAAC;CACH,IAAI,OAAO,GAAG,OAAO,EAAE,GAAG,OAAO;CACjC,OAAO;AACR;;AAEA,MAAM,wBAAwB,UAAU;CACvC,cAAc,+BAA+B,UAAU,KAAK;CAC5D,OAAO,kBAAkB,OAAO,uBAAuB;AACxD;;;;;AAKA,MAAM,yBAAyB,UAAU;CACxC,IAAI,QAAQ,2BAA2B,QAAQ,yBAAyB,MAAM,YAAY,yBAAyB,qFAAqF,SAAS,EAAE,MAAM;EACxN,SAAS;EACT,UAAU,MAAM,SAAS;CAC1B,EAAE,CAAC;CACH,OAAO,OAAO,KAAK;AACpB;AACA,MAAM,0BAA0B,YAAY,mBAAmB;CAC9D,UAAU,WAAW;CACrB,gBAAgB;AACjB,CAAC;AACD,MAAM,6BAA6B,YAAY,sBAAsB;CACpE,UAAU,WAAW;CACrB,gBAAgB;AACjB,CAAC;AACD,MAAM,yBAAyB,YAAY,kBAAkB;CAC5D,UAAU,cAAc;CACxB,gBAAgB;AACjB,CAAC;AACD,MAAM,2BAA2B,YAAY,oBAAoB;CAChE,UAAU,WAAW;CACrB,gBAAgB;AACjB,CAAC;AACD,IAAI,kBAAkB,cAAc,UAAU;CAC7C,MAAM,OAAO,OAAO,MAAM;EACzB,OAAO;CACR;CACA,MAAM,OAAO,MAAM,MAAM;EACxB,OAAO;CACR;CACA,WAAW,OAAO;EACjB,OAAO;CACR;CACA,WAAW,MAAM;EAChB,OAAO,UAAU,IAAI;CACtB;AACD;AACA,IAAI,uBAAuB,cAAc,sBAAsB;CAC9D,eAAe,YAAY;EAC1B,OAAO;CACR;CACA,WAAW,WAAW;CACtB,UAAU;CACV,SAAS;EACR;EACA;EACA;CACD;CACA,cAAc,CAAC,MAAM;CACrB,eAAe,KAAK;CACpB,UAAU;EACT,aAAa,IAAI,gBAAgB,IAAI;CACtC;AACD;AACA,MAAM,uBAAuB,IAAI,qBAAqB;AACtD,MAAM,yBAAyB,OAAO,qBAAqB,QAAQ,GAAG,qBAAqB,SAAS,KAAK,GAAG,MAAM;AAClH,IAAI,qBAAqB,cAAc,UAAU;CAChD,MAAM,OAAO,OAAO,MAAM;EACzB,OAAO;CACR;CACA,MAAM,OAAO,MAAM,MAAM;EACxB,OAAO;CACR;CACA,WAAW,OAAO;EACjB,OAAO;CACR;CACA,WAAW,MAAM;EAChB,IAAI,OAAO,SAAS,UAAU,MAAM,YAAY,yBAAyB,yDAAyD,EAAE,MAAM;GACzI,SAAS;GACT,UAAU,OAAO;EAClB,EAAE,CAAC;EACH,IAAI,CAAC,OAAO,cAAc,IAAI,GAAG,MAAM,YAAY,yBAAyB,gFAAgF,OAAO,IAAI,KAAK,EAAE,MAAM;GACnL,SAAS;GACT,UAAU,OAAO,IAAI;EACtB,EAAE,CAAC;EACH,OAAO;CACR;AACD;AACA,IAAI,0BAA0B,cAAc,sBAAsB;CACjE,eAAe,YAAY;EAC1B,OAAO;CACR;CACA,WAAW,cAAc;CACzB,UAAU;CACV,SAAS;EACR;EACA;EACA;CACD;CACA,cAAc,CAAC,SAAS;CACxB,eAAe,KAAK;CACpB,UAAU;EACT,aAAa,IAAI,mBAAmB,IAAI;CACzC;AACD;AACA,MAAM,0BAA0B,IAAI,wBAAwB;AAC5D,MAAM,4BAA4B,OAAO,wBAAwB,QAAQ,GAAG,wBAAwB,SAAS,KAAK,GAAG,SAAS;AAC9H,IAAI,kBAAkB,cAAc,UAAU;CAC7C,MAAM,OAAO,OAAO,MAAM;EACzB,OAAO;CACR;CACA,MAAM,OAAO,MAAM,MAAM;EACxB,OAAO;CACR;CACA,WAAW,OAAO;EACjB,OAAO,WAAW,OAAO,uBAAuB;CACjD;CACA,WAAW,MAAM;EAChB,IAAI,OAAO,SAAS,UAAU,MAAM,YAAY,yBAAyB,sDAAsD,EAAE,MAAM;GACtI,SAAS;GACT,UAAU,OAAO;EAClB,EAAE,CAAC;EACH,OAAO,WAAW,MAAM,uBAAuB;CAChD;AACD;AACA,IAAI,uBAAuB,cAAc,sBAAsB;CAC9D,eAAe,YAAY;EAC1B,OAAO;CACR;CACA,WAAW,WAAW;CACtB,UAAU;CACV,SAAS;EACR;EACA;EACA;CACD;CACA,cAAc,CAAC,MAAM;CACrB,eAAe,KAAK;CACpB,UAAU;EACT,aAAa,IAAI,gBAAgB,IAAI;CACtC;AACD;AACA,MAAM,uBAAuB,IAAI,qBAAqB;AACtD,MAAM,yBAAyB,OAAO,qBAAqB,QAAQ,GAAG,qBAAqB,SAAS,KAAK,GAAG,MAAM;AAClH,IAAI,kBAAkB,cAAc,UAAU;CAC7C,MAAM,OAAO,OAAO,MAAM;EACzB,OAAO;CACR;CACA,MAAM,OAAO,MAAM,MAAM;EACxB,OAAO;CACR;CACA,WAAW,OAAO;EACjB,OAAO,OAAO,KAAK,KAAK,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,YAAY;CACvD;CACA,WAAW,MAAM;EAChB,IAAI,OAAO,SAAS,YAAY,CAAC,cAAc,KAAK,IAAI,GAAG,MAAM,YAAY,yBAAyB,wEAAwE,EAAE,MAAM;GACrL,SAAS;GACT,UAAU,OAAO;EAClB,EAAE,CAAC;EACH,OAAO,IAAI,WAAW,OAAO,KAAK,MAAM,KAAK,CAAC;CAC/C;AACD;AACA,IAAI,uBAAuB,cAAc,sBAAsB;CAC9D,eAAe,YAAY;EAC1B,OAAO,kBAAkB,UAAU;CACpC;CACA,WAAW,WAAW;CACtB,UAAU;CACV,SAAS,CAAC,UAAU;CACpB,cAAc,CAAC,MAAM;CACrB,eAAe,KAAK;CACpB,UAAU;EACT,aAAa,IAAI,gBAAgB,IAAI;CACtC;AACD;AACA,MAAM,uBAAuB,IAAI,qBAAqB;AACtD,MAAM,yBAAyB,OAAO,qBAAqB,QAAQ,GAAG,qBAAqB,SAAS,KAAK,GAAG,MAAM;;;;;AAKlH,SAAS,qBAAqB,OAAO;CACpC,MAAM,OAAO,IAAI,KAAK,KAAK;CAC3B,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,GAAG,MAAM,YAAY,yBAAyB,4DAA4D,SAAS,EAAE,MAAM;EACzJ,SAAS;EACT,UAAU;CACX,EAAE,CAAC;CACH,OAAO;AACR;;AAEA,SAAS,qBAAqB,OAAO;CACpC,OAAO,MAAM,YAAY;AAC1B;AACA,IAAI,sBAAsB,cAAc,UAAU;CACjD,MAAM,OAAO,OAAO,MAAM;EACzB,OAAO,qBAAqB,KAAK;CAClC;CACA,MAAM,OAAO,MAAM,MAAM;EACxB,OAAO,qBAAqB,IAAI;CACjC;CACA,WAAW,OAAO;EACjB,OAAO,wBAAwB,MAAM,YAAY,CAAC;CACnD;CACA,WAAW,MAAM;EAChB,IAAI,OAAO,SAAS,UAAU,MAAM,YAAY,yBAAyB,+DAA+D,EAAE,MAAM;GAC/I,SAAS;GACT,UAAU,OAAO;EAClB,EAAE,CAAC;EACH,OAAO,qBAAqB,IAAI;CACjC;AACD;AACA,IAAI,2BAA2B,cAAc,sBAAsB;CAClE,eAAe,YAAY;EAC1B,OAAO;CACR;CACA,WAAW,eAAe;CAC1B,UAAU;CACV,SAAS,CAAC,YAAY,OAAO;CAC7B,cAAc,CAAC,MAAM;CACrB,eAAe,KAAK;CACpB,UAAU;EACT,aAAa,IAAI,oBAAoB,IAAI;CAC1C;AACD;AACA,MAAM,2BAA2B,IAAI,yBAAyB;AAC9D,MAAM,6BAA6B,OAAO,yBAAyB,QAAQ,GAAG,yBAAyB,SAAS,KAAK,GAAG,MAAM;AAC9H,IAAI,kBAAkB,cAAc,UAAU;CAC7C,MAAM,OAAO,OAAO,MAAM;EACzB,OAAO,KAAK,UAAU,KAAK;CAC5B;CACA,MAAM,OAAO,MAAM,MAAM;EACxB,OAAO,OAAO,SAAS,WAAW,UAAU,KAAK,MAAM,IAAI,CAAC,IAAI;CACjE;CACA,WAAW,OAAO;EACjB,OAAO;CACR;CACA,WAAW,MAAM;EAChB,OAAO;CACR;AACD;AACA,IAAI,uBAAuB,cAAc,sBAAsB;CAC9D,eAAe,YAAY;EAC1B,OAAO,kBAAkB,UAAU;CACpC;CACA,WAAW,WAAW;CACtB,UAAU;CACV,SAAS,CAAC,UAAU;CACpB,cAAc,CAAC,MAAM;CACrB,eAAe,KAAK;CACpB,UAAU;EACT,aAAa,IAAI,gBAAgB,IAAI;CACtC;AACD;AACA,MAAM,uBAAuB,IAAI,qBAAqB;AACtD,MAAM,yBAAyB,OAAO,qBAAqB,QAAQ,GAAG,qBAAqB,SAAS,KAAK,GAAG,MAAM;AAClH,IAAI,oBAAoB,cAAc,UAAU;CAC/C,MAAM,OAAO,OAAO,MAAM;EACzB,cAAc,wBAAwB,UAAU,KAAK;EACrD,OAAO;CACR;;;;;;;;;CASA,MAAM,OAAO,MAAM,MAAM;EACxB,IAAI,OAAO,SAAS,YAAY,CAAC,OAAO,cAAc,IAAI,GAAG,MAAM,YAAY,yBAAyB,qFAAqF,OAAO,IAAI,KAAK,EAAE,MAAM;GACpN,SAAS;GACT,UAAU,OAAO,IAAI;EACtB,EAAE,CAAC;EACH,IAAI,OAAO,SAAS,YAAY,CAAC,gBAAgB,KAAK,IAAI,GAAG,MAAM,YAAY,yBAAyB,uDAAuD,EAAE,MAAM;GACtK,SAAS;GACT,UAAU;EACX,EAAE,CAAC;EACH,OAAO,OAAO,IAAI;CACnB;CACA,WAAW,OAAO;EACjB,OAAO,iBAAiB,wBAAwB,KAAK;CACtD;CACA,WAAW,MAAM;EAChB,IAAI,OAAO,SAAS,YAAY,CAAC,gBAAgB,KAAK,IAAI,GAAG,MAAM,YAAY,yBAAyB,gEAAgE,EAAE,MAAM;GAC/K,SAAS;GACT,UAAU,OAAO;EAClB,EAAE,CAAC;EACH,OAAO,OAAO,IAAI;CACnB;AACD;AACA,IAAI,yBAAyB,cAAc,sBAAsB;CAChE,eAAe,YAAY;EAC1B,OAAO,0BAA0B,UAAU;CAC5C;CACA,WAAW,aAAa;CACxB,UAAU;CACV,SAAS;EACR;EACA;EACA;CACD;CACA,cAAc,CAAC,SAAS;CACxB,eAAe,KAAK;CACpB,UAAU;EACT,aAAa,IAAI,kBAAkB,IAAI;CACxC;AACD;AACA,MAAM,yBAAyB,IAAI,uBAAuB;AAC1D,MAAM,2BAA2B,OAAO,uBAAuB,QAAQ,GAAG,uBAAuB,SAAS,KAAK,GAAG,SAAS;;;;;;;;;;AAU3H,IAAI,0BAA0B,cAAc,UAAU;CACrD,MAAM,OAAO,OAAO,MAAM;EACzB,OAAO,qBAAqB,KAAK;CAClC;;;;;;CAMA,MAAM,OAAO,MAAM,MAAM;EACxB,IAAI,OAAO,SAAS,UAAU,OAAO,kBAAkB,MAAM,uBAAuB;EACpF,IAAI,OAAO,SAAS,YAAY,CAAC,gBAAgB,KAAK,IAAI,GAAG,MAAM,YAAY,yBAAyB,6DAA6D,EAAE,MAAM;GAC5K,SAAS;GACT,UAAU;EACX,EAAE,CAAC;EACH,OAAO,sBAAsB,OAAO,IAAI,CAAC;CAC1C;CACA,WAAW,OAAO;EACjB,OAAO,OAAO,qBAAqB,KAAK,CAAC;CAC1C;CACA,WAAW,MAAM;EAChB,IAAI,OAAO,SAAS,YAAY,CAAC,gBAAgB,KAAK,IAAI,GAAG,MAAM,YAAY,yBAAyB,kEAAkE,EAAE,MAAM;GACjL,SAAS;GACT,UAAU,OAAO;EAClB,EAAE,CAAC;EACH,OAAO,sBAAsB,OAAO,IAAI,CAAC;CAC1C;AACD;AACA,IAAI,+BAA+B,cAAc,sBAAsB;CACtE,eAAe,YAAY;EAC1B,OAAO,0BAA0B,UAAU;CAC5C;CACA,WAAW,aAAa;CACxB,UAAU;CACV,SAAS;EACR;EACA;EACA;CACD;CACA,cAAc,CAAC;CACf,eAAe,KAAK;CACpB,mBAAmB,OAAO;EACzB,OAAO,yBAAyB,KAAK;CACtC;CACA,UAAU;EACT,aAAa,IAAI,wBAAwB,IAAI;CAC9C;AACD;AACA,MAAM,+BAA+B,IAAI,6BAA6B;AACtE,MAAM,iCAAiC,OAAO,6BAA6B,QAAQ,GAAG,6BAA6B,SAAS,KAAK,GAAG,SAAS;AAC7I,MAAM,mBAAmB,mBAAmB;CAC3C;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACD,CAAC"}
@@ -1 +0,0 @@
1
- import "./codecs-BzSfaf5F-gXK7Etj3.mjs";
@@ -1 +0,0 @@
1
- {"version":3,"file":"control-B16T9OoX.mjs","names":[],"sources":["../../../../3-targets/7-drivers/sqlite/dist/control.mjs"],"sourcesContent":["import { n as normalizeSqliteError, t as sqliteDriverDescriptorMeta } from \"./descriptor-meta-vjJkUDsn.mjs\";\nimport { DatabaseSync } from \"node:sqlite\";\nimport { errorRuntime } from \"@internal/errors/execution\";\nimport { basename } from \"pathe\";\n//#region src/core/control-driver.ts\nvar SqliteControlDriver = class {\n\tdb;\n\tlocation;\n\tfamilyId = \"sql\";\n\ttargetId = \"sqlite\";\n\tconstructor(db, location) {\n\t\tthis.db = db;\n\t\tthis.location = location;\n\t}\n\tasync query(sql, params) {\n\t\ttry {\n\t\t\treturn { rows: this.db.prepare(sql).all(...params ?? []) };\n\t\t} catch (error) {\n\t\t\tthrow normalizeSqliteError(error);\n\t\t}\n\t}\n\tasync databaseName() {\n\t\tif (this.location === \":memory:\" || this.location.length === 0) return;\n\t\tconst name = basename(this.location);\n\t\treturn name.length > 0 ? name : void 0;\n\t}\n\tasync close() {\n\t\tthis.db.close();\n\t}\n};\nconst sqliteDriverDescriptor = {\n\t...sqliteDriverDescriptorMeta,\n\tasync create(pathOrMemory) {\n\t\ttry {\n\t\t\tconst db = new DatabaseSync(pathOrMemory);\n\t\t\tdb.exec(\"PRAGMA foreign_keys = ON\");\n\t\t\treturn new SqliteControlDriver(db, pathOrMemory);\n\t\t} catch (error) {\n\t\t\tthrow errorRuntime(\"DRIVER.CONNECTION_FAILED\", \"Database connection failed\", {\n\t\t\t\twhy: error instanceof Error ? error.message : String(error),\n\t\t\t\tfix: \"Verify the database file path exists and is accessible\",\n\t\t\t\tmeta: { path: pathOrMemory },\n\t\t\t\tcause: error\n\t\t\t});\n\t\t}\n\t}\n};\n//#endregion\nexport { SqliteControlDriver, sqliteDriverDescriptor as default };\n\n//# sourceMappingURL=control.mjs.map"],"mappings":";;;;;AAKA,IAAI,sBAAsB,MAAM;CAC/B;CACA;CACA,WAAW;CACX,WAAW;CACX,YAAY,IAAI,UAAU;EACzB,KAAK,KAAK;EACV,KAAK,WAAW;CACjB;CACA,MAAM,MAAM,KAAK,QAAQ;EACxB,IAAI;GACH,OAAO,EAAE,MAAM,KAAK,GAAG,QAAQ,GAAG,CAAC,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC,EAAE;EAC1D,SAAS,OAAO;GACf,MAAM,qBAAqB,KAAK;EACjC;CACD;CACA,MAAM,eAAe;EACpB,IAAI,KAAK,aAAa,cAAc,KAAK,SAAS,WAAW,GAAG;EAChE,MAAM,OAAO,SAAS,KAAK,QAAQ;EACnC,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK;CACtC;CACA,MAAM,QAAQ;EACb,KAAK,GAAG,MAAM;CACf;AACD;AACA,MAAM,yBAAyB;CAC9B,GAAG;CACH,MAAM,OAAO,cAAc;EAC1B,IAAI;GACH,MAAM,KAAK,IAAI,aAAa,YAAY;GACxC,GAAG,KAAK,0BAA0B;GAClC,OAAO,IAAI,oBAAoB,IAAI,YAAY;EAChD,SAAS,OAAO;GACf,MAAM,aAAa,4BAA4B,8BAA8B;IAC5E,KAAK,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;IAC1D,KAAK;IACL,MAAM,EAAE,MAAM,aAAa;IAC3B,OAAO;GACR,CAAC;EACF;CACD;AACD"}