litedbmodel 2.0.0 → 2.0.1

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 (146) hide show
  1. package/dist/scp/authoring-sql.d.ts +78 -0
  2. package/dist/scp/authoring-sql.d.ts.map +1 -1
  3. package/dist/scp/authoring-sql.js +110 -2
  4. package/dist/scp/authoring-sql.js.map +1 -1
  5. package/dist/scp/catalog.d.ts +1 -1
  6. package/dist/scp/catalog.d.ts.map +1 -1
  7. package/dist/scp/catalog.js +27 -0
  8. package/dist/scp/catalog.js.map +1 -1
  9. package/dist/scp/codegen.d.ts +46 -82
  10. package/dist/scp/codegen.d.ts.map +1 -1
  11. package/dist/scp/codegen.js +37 -80
  12. package/dist/scp/codegen.js.map +1 -1
  13. package/dist/scp/find-filter-guard.d.ts +68 -0
  14. package/dist/scp/find-filter-guard.d.ts.map +1 -0
  15. package/dist/scp/find-filter-guard.js +88 -0
  16. package/dist/scp/find-filter-guard.js.map +1 -0
  17. package/dist/scp/fragment/assemble.d.ts +61 -0
  18. package/dist/scp/fragment/assemble.d.ts.map +1 -0
  19. package/dist/scp/fragment/assemble.js +148 -0
  20. package/dist/scp/fragment/assemble.js.map +1 -0
  21. package/dist/scp/fragment/compile-pg.d.ts +107 -0
  22. package/dist/scp/fragment/compile-pg.d.ts.map +1 -0
  23. package/dist/scp/fragment/compile-pg.js +142 -0
  24. package/dist/scp/fragment/compile-pg.js.map +1 -0
  25. package/dist/scp/fragment/index.d.ts +16 -0
  26. package/dist/scp/fragment/index.d.ts.map +1 -0
  27. package/dist/scp/fragment/index.js +34 -0
  28. package/dist/scp/fragment/index.js.map +1 -0
  29. package/dist/scp/fragment/model.d.ts +119 -0
  30. package/dist/scp/fragment/model.d.ts.map +1 -0
  31. package/dist/scp/fragment/model.js +66 -0
  32. package/dist/scp/fragment/model.js.map +1 -0
  33. package/dist/scp/fragment/pg-array-type.d.ts +13 -0
  34. package/dist/scp/fragment/pg-array-type.d.ts.map +1 -0
  35. package/dist/scp/fragment/pg-array-type.js +34 -0
  36. package/dist/scp/fragment/pg-array-type.js.map +1 -0
  37. package/dist/scp/guard.d.ts +2 -6
  38. package/dist/scp/guard.d.ts.map +1 -1
  39. package/dist/scp/guard.js +19 -22
  40. package/dist/scp/guard.js.map +1 -1
  41. package/dist/scp/index.cjs +11284 -3826
  42. package/dist/scp/index.d.ts +38 -23
  43. package/dist/scp/index.d.ts.map +1 -1
  44. package/dist/scp/index.js +119 -45
  45. package/dist/scp/index.js.map +1 -1
  46. package/dist/scp/index.mjs +4231 -1412
  47. package/dist/scp/makesql/authoring-compile.d.ts +90 -0
  48. package/dist/scp/makesql/authoring-compile.d.ts.map +1 -0
  49. package/dist/scp/makesql/authoring-compile.js +494 -0
  50. package/dist/scp/makesql/authoring-compile.js.map +1 -0
  51. package/dist/scp/makesql/compile-crud.d.ts +133 -0
  52. package/dist/scp/makesql/compile-crud.d.ts.map +1 -0
  53. package/dist/scp/makesql/compile-crud.js +288 -0
  54. package/dist/scp/makesql/compile-crud.js.map +1 -0
  55. package/dist/scp/makesql/compile-relation.d.ts +157 -0
  56. package/dist/scp/makesql/compile-relation.d.ts.map +1 -0
  57. package/dist/scp/makesql/compile-relation.js +425 -0
  58. package/dist/scp/makesql/compile-relation.js.map +1 -0
  59. package/dist/scp/makesql/compile-select.d.ts +45 -0
  60. package/dist/scp/makesql/compile-select.d.ts.map +1 -0
  61. package/dist/scp/makesql/compile-select.js +58 -0
  62. package/dist/scp/makesql/compile-select.js.map +1 -0
  63. package/dist/scp/makesql/compile.d.ts +63 -0
  64. package/dist/scp/makesql/compile.d.ts.map +1 -0
  65. package/dist/scp/makesql/compile.js +99 -0
  66. package/dist/scp/makesql/compile.js.map +1 -0
  67. package/dist/scp/makesql/handler.d.ts +58 -0
  68. package/dist/scp/makesql/handler.d.ts.map +1 -0
  69. package/dist/scp/makesql/handler.js +113 -0
  70. package/dist/scp/makesql/handler.js.map +1 -0
  71. package/dist/scp/makesql/index.d.ts +33 -0
  72. package/dist/scp/makesql/index.d.ts.map +1 -0
  73. package/dist/scp/makesql/index.js +114 -0
  74. package/dist/scp/makesql/index.js.map +1 -0
  75. package/dist/scp/makesql/ir.d.ts +42 -0
  76. package/dist/scp/makesql/ir.d.ts.map +1 -0
  77. package/dist/scp/makesql/ir.js +66 -0
  78. package/dist/scp/makesql/ir.js.map +1 -0
  79. package/dist/scp/makesql/json-array.d.ts +84 -0
  80. package/dist/scp/makesql/json-array.d.ts.map +1 -0
  81. package/dist/scp/makesql/json-array.js +118 -0
  82. package/dist/scp/makesql/json-array.js.map +1 -0
  83. package/dist/scp/makesql/json-batch.d.ts +102 -0
  84. package/dist/scp/makesql/json-batch.d.ts.map +1 -0
  85. package/dist/scp/makesql/json-batch.js +269 -0
  86. package/dist/scp/makesql/json-batch.js.map +1 -0
  87. package/dist/scp/makesql/makesql.d.ts +99 -0
  88. package/dist/scp/makesql/makesql.d.ts.map +1 -0
  89. package/dist/scp/makesql/makesql.js +122 -0
  90. package/dist/scp/makesql/makesql.js.map +1 -0
  91. package/dist/scp/makesql/pool-executor.d.ts +47 -0
  92. package/dist/scp/makesql/pool-executor.d.ts.map +1 -0
  93. package/dist/scp/makesql/pool-executor.js +50 -0
  94. package/dist/scp/makesql/pool-executor.js.map +1 -0
  95. package/dist/scp/makesql/static-bundle.d.ts +185 -0
  96. package/dist/scp/makesql/static-bundle.d.ts.map +1 -0
  97. package/dist/scp/makesql/static-bundle.js +1024 -0
  98. package/dist/scp/makesql/static-bundle.js.map +1 -0
  99. package/dist/scp/makesql/tx.d.ts +216 -0
  100. package/dist/scp/makesql/tx.d.ts.map +1 -0
  101. package/dist/scp/makesql/tx.js +743 -0
  102. package/dist/scp/makesql/tx.js.map +1 -0
  103. package/dist/scp/relation.d.ts +86 -74
  104. package/dist/scp/relation.d.ts.map +1 -1
  105. package/dist/scp/relation.js +186 -120
  106. package/dist/scp/relation.js.map +1 -1
  107. package/dist/scp/runtime.d.ts +146 -210
  108. package/dist/scp/runtime.d.ts.map +1 -1
  109. package/dist/scp/runtime.js +228 -512
  110. package/dist/scp/runtime.js.map +1 -1
  111. package/dist/scp/typed-object.d.ts +12 -1
  112. package/dist/scp/typed-object.d.ts.map +1 -1
  113. package/dist/scp/typed-object.js +25 -4
  114. package/dist/scp/typed-object.js.map +1 -1
  115. package/docs/proposal/v0-coverage-matrix.md +157 -0
  116. package/docs/proposal/v2-completeness-plan.md +90 -0
  117. package/docs/proposal/v2-sql-parity-checklist.md +162 -0
  118. package/package.json +3 -3
  119. package/dist/scp/bridge.d.ts +0 -64
  120. package/dist/scp/bridge.d.ts.map +0 -1
  121. package/dist/scp/bridge.js +0 -329
  122. package/dist/scp/bridge.js.map +0 -1
  123. package/dist/scp/compile-dialect.d.ts +0 -39
  124. package/dist/scp/compile-dialect.d.ts.map +0 -1
  125. package/dist/scp/compile-dialect.js +0 -62
  126. package/dist/scp/compile-dialect.js.map +0 -1
  127. package/dist/scp/compile-sqlite.d.ts +0 -114
  128. package/dist/scp/compile-sqlite.d.ts.map +0 -1
  129. package/dist/scp/compile-sqlite.js +0 -149
  130. package/dist/scp/compile-sqlite.js.map +0 -1
  131. package/dist/scp/ir.d.ts +0 -92
  132. package/dist/scp/ir.d.ts.map +0 -1
  133. package/dist/scp/ir.js +0 -28
  134. package/dist/scp/ir.js.map +0 -1
  135. package/dist/scp/render.d.ts +0 -40
  136. package/dist/scp/render.d.ts.map +0 -1
  137. package/dist/scp/render.js +0 -170
  138. package/dist/scp/render.js.map +0 -1
  139. package/dist/scp/write-plan.d.ts +0 -161
  140. package/dist/scp/write-plan.d.ts.map +0 -1
  141. package/dist/scp/write-plan.js +0 -528
  142. package/dist/scp/write-plan.js.map +0 -1
  143. package/dist/scp/write-runtime.d.ts +0 -80
  144. package/dist/scp/write-runtime.d.ts.map +0 -1
  145. package/dist/scp/write-runtime.js +0 -167
  146. package/dist/scp/write-runtime.js.map +0 -1
@@ -1,43 +1,58 @@
1
1
  /**
2
2
  * litedbmodel v2 SCP — public surface (WS1, #21).
3
3
  *
4
- * The SQL-backend consumer layer over behavior-contracts (spec §1). WS1 delivers the
5
- * Catalog definition and the SQLite Backend Compile + dynamic-expansion render; WS2
6
- * delivers the Authoring Parse (SemanticBehavior declaration + eager public-API path →
7
- * one internal Component-graph IR). WS3 (runtime execution / handlers), WS4/5 (relations)
8
- * and the other dialects (PG/MySQL) are out of scope here.
4
+ * The SQL-backend consumer layer over behavior-contracts (spec §1).
5
+ *
6
+ * ## CANONICAL bc integration (epic #43 / design #45): the `makeSQL` catalog leaf.
7
+ *
8
+ * The LOCKED minimal model is ONE behavior-contracts catalog component
9
+ * **`makeSQL(sql, params, skip?)`** (like graphddb's `GetItem`/`Query`) + its handler
10
+ * (bind params → execute SQL) + the compile that emits tuned dialect SQL text (reusing
11
+ * the original tuned builders — byte-for-byte). A query is a COMPOSITION of `makeSQL`
12
+ * components; a subquery is a NESTED `makeSQL` in a param slot. `= ANY`, `CROSS JOIN
13
+ * LATERAL`, `UNNEST`, cast, batch shapes are all TEXT inside `sql` — never modeled.
14
+ * bc supplies composition / value-eval / envelope / plan. The whole `./makesql`
15
+ * subtree (re-exported below) is the recommended integration surface.
16
+ *
17
+ * ## Superseded (legacy) reduced path.
18
+ *
19
+ * The earlier abstract path (`ir.ts` FragmentTree + `WHERE_SLOT`, `relation.ts`
20
+ * `RelationOp`, `compile-sqlite.ts` reduced SELECT/INSERT/UPDATE forms, `render.ts`,
21
+ * `dialect.ts` strategy table) reduced the tuned SQL to a closed expression/relation-op
22
+ * vocabulary and regressed the byte-parity the library is built on (see
23
+ * `docs/proposal/v2-sql-parity-checklist.md`). It is SUPERSEDED by `./makesql`: SQL
24
+ * structure now lives as text inside `makeSQL`, not as IR "kinds". The legacy modules
25
+ * remain exported (below) only for the historical WS test-suite; new code must use
26
+ * `./makesql`.
9
27
  */
28
+ export { MAKESQL, makeSqlCatalogEntry, LITEDBMODEL_MAKESQL_CATALOG, isMakeSQL, assembleMakeSQL, composeMakeSQL, renderPlaceholders, renderPorts, makeSqlHandler, makeSqlHandlerSync, compileWhere, whereClause, andTrailing, formatterFor, pgCastFormatter, noCastFormatter, compileSelect as compileSelectMakeSQL, builderFor, compileInsert as compileInsertMakeSQL, compileUpdateMany, compileUpdateSingle, compileDelete as compileDeleteMakeSQL, inferPgArrayType, resolvePgArrayCast, PG_ARRAY_CAST_TOKEN, compileSingleKeyUnlimited, compileSingleKeyLimited, compileCompositeKeyUnlimited, compileCompositeKeyStaticUnlimited, compileCompositeKeyLimited, makeSqlComponentIR, makeSqlInput, compileAuthoredBehavior, compileAuthoredNode, compileRelationMap, compileStaticBundle, compileSelectNode, executeStaticBundle, executeStaticWrite, executeReadBehavior, compileReadGraph, executeReadGraph, executeReadGraphAsync, renderReadPrimary, pgPoolExecutor, mysqlPoolExecutor, } from './makesql';
29
+ export type { MakeSQL, SqlParam, AssembledSql, Dialect as MakeSQLDialect, SqlExecutor, SqlExecutorSync, SqlExecutorAsync, SelectDesc as MakeSQLSelectDesc, RelationCompileBase, AuthoredMakeSQL, RelationMapInput, StaticBundle, StaticStatement, ValueSpec, ReadGraph, PgPoolLike, MysqlPoolLike, } from './makesql';
10
30
  export { LITEDBMODEL_CATALOG, catalogEntry, CATALOG_NAMES, WRITE_CATALOG_NAMES, WRITE_PORT_FAMILIES, assertComponentsInCatalog, deriveContractEffect, } from './catalog';
11
31
  export type { CatalogName, ContractEffect } from './catalog';
12
- export { WHERE_SLOT } from './ir';
13
- export type { ExprNode, Fragment, FragmentTree, AssemblySpec, CompiledOperation, } from './ir';
14
- export { compileSelect, compileInsert, compileUpdate, compileDelete, } from './compile-sqlite';
15
- export type { Ref, Condition, SelectDesc, InsertDesc, UpdateDesc, DeleteDesc, } from './compile-sqlite';
16
- export { renderOperation } from './render';
17
- export type { RenderedSql } from './render';
18
32
  export { dialectFor, toDollarPlaceholders, SQLITE, POSTGRES, MYSQL } from './dialect';
19
- export type { Dialect, DialectName, ConflictAction } from './dialect';
20
- export { compileInsertFor } from './compile-dialect';
21
- export type { InsertShape } from './compile-dialect';
22
- export { assertExprPortable, assertOperationPortable, assertComponentPortable, assertComponentGraphPortable, } from './guard';
33
+ export type { Dialect, DialectName } from './dialect';
34
+ export { assertExprPortable, assertComponentPortable, assertComponentGraphPortable, } from './guard';
35
+ export type { ExprNode } from './guard';
23
36
  export { components, publishBehaviors, compileEager, } from './authoring';
24
37
  export type { ComponentFns, BehaviorMethodSpec, BehaviorModelContract, PublishBehaviorsOptions, EagerBehavior, Component, ComponentGraphIR, MapNode, ComponentRefNode, } from './authoring';
25
- export { compileNode, compileComponentNodes, IN_SENTINEL } from './bridge';
26
- export { whereEq, whereNe, whereLt, whereLe, whereGt, whereGe, whereIsNull, whereIn, inColumn, } from './authoring-sql';
38
+ export { whereEq, whereNe, whereLt, whereLe, whereGt, whereGe, whereIsNull, whereIn, inColumn, whereBetween, whereLike, whereILike, whereCast, whereDynamic, whereImmediate, whereTupleIn, whereInSubquery, whereExists, } from './authoring-sql';
27
39
  export { mapSqliteError, SqlFailure } from './errors';
28
40
  export type { SqlFailureKind } from './errors';
29
- export { executeBehavior, compileBundle, executeBundle, read, readBundle, resolveRelationViaPlan } from './runtime';
41
+ export { assertFindFilterFolded, findFilterKeys, FindFilterLeakError } from './find-filter-guard';
42
+ export type { FindFilterSource } from './find-filter-guard';
43
+ export { executeBehavior, compileBundle, executeBundle, read, readBundle } from './runtime';
30
44
  export type { SqliteDb, ExecuteOptions, SqlBundle, ReadRuntimeOptions } from './runtime';
45
+ export { executeBundleAsync, executeBehaviorAsync } from './runtime';
46
+ export type { AsyncExecuteOptions } from './runtime';
31
47
  export { entityWrites, edgeWrites, lifecycleFor, parseEffectPath, ENTITY_ROOT, } from './writes';
32
48
  export type { PathRoot, EffectPath, RequiresEffect, UniqueEffect, DeriveEffect, EdgeEffect, EmitEffect, IdempotencyEffect, LifecycleEffects, LifecycleContract, WriteLifecyclePhase, EntityWritesDefinition, EntityWritesShape, WriteRecorder, } from './writes';
33
- export { deriveTransactionPlan } from './write-plan';
34
- export type { StatementRole, GateRule, TxStatement, TransactionPlan, IdempotentHitPolicy, BaseWrite, } from './write-plan';
35
- export { executeTransaction, countingDriver } from './write-runtime';
36
- export type { TransactionResult, ShortCircuitReason } from './write-runtime';
49
+ export { deriveTransactionPlan, executeTransaction, countingDriver, renderTxStatement, compileWriteNode, mysqlPkHint, stripMysqlPkHint } from './makesql';
50
+ export type { TxExpr, TxOp, StatementRole, GateRule, TxStatement, TransactionPlan, IdempotentHitPolicy, BaseWrite, TransactionResult, ShortCircuitReason, } from './makesql';
37
51
  export { compileWriteBundle, executeCommand, executeTransactionBundle } from './runtime';
38
52
  export { compileCompositeWriteBundle, executeCompositeCommand } from './runtime';
39
53
  export type { CompositeWriteEntry } from './runtime';
40
- export { buildHandlers, normalizeInput } from './runtime';
54
+ export { compileCreateManyBundle, compileUpdateManyBundle, compileDeleteManyBundle } from './runtime';
55
+ export { compileDeleteMany } from './makesql';
41
56
  export { CODEGEN_LANGUAGES, generateCodegenArtifact, bundleToPortableIR, assertLanguageSupported, codegenExecuteBundleForTest, } from './codegen';
42
57
  export type { CodegenLanguage, SqlCatalogCompanion, CodegenArtifact, } from './codegen';
43
58
  export { compileRelationOp, runRelationOp, distributeToParent, RELATION_KEYS_HEAD, } from './relation';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scp/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scp/index.ts"],"names":[],"mappings":"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"}
package/dist/scp/index.js CHANGED
@@ -2,15 +2,82 @@
2
2
  /**
3
3
  * litedbmodel v2 SCP — public surface (WS1, #21).
4
4
  *
5
- * The SQL-backend consumer layer over behavior-contracts (spec §1). WS1 delivers the
6
- * Catalog definition and the SQLite Backend Compile + dynamic-expansion render; WS2
7
- * delivers the Authoring Parse (SemanticBehavior declaration + eager public-API path →
8
- * one internal Component-graph IR). WS3 (runtime execution / handlers), WS4/5 (relations)
9
- * and the other dialects (PG/MySQL) are out of scope here.
5
+ * The SQL-backend consumer layer over behavior-contracts (spec §1).
6
+ *
7
+ * ## CANONICAL bc integration (epic #43 / design #45): the `makeSQL` catalog leaf.
8
+ *
9
+ * The LOCKED minimal model is ONE behavior-contracts catalog component
10
+ * **`makeSQL(sql, params, skip?)`** (like graphddb's `GetItem`/`Query`) + its handler
11
+ * (bind params → execute SQL) + the compile that emits tuned dialect SQL text (reusing
12
+ * the original tuned builders — byte-for-byte). A query is a COMPOSITION of `makeSQL`
13
+ * components; a subquery is a NESTED `makeSQL` in a param slot. `= ANY`, `CROSS JOIN
14
+ * LATERAL`, `UNNEST`, cast, batch shapes are all TEXT inside `sql` — never modeled.
15
+ * bc supplies composition / value-eval / envelope / plan. The whole `./makesql`
16
+ * subtree (re-exported below) is the recommended integration surface.
17
+ *
18
+ * ## Superseded (legacy) reduced path.
19
+ *
20
+ * The earlier abstract path (`ir.ts` FragmentTree + `WHERE_SLOT`, `relation.ts`
21
+ * `RelationOp`, `compile-sqlite.ts` reduced SELECT/INSERT/UPDATE forms, `render.ts`,
22
+ * `dialect.ts` strategy table) reduced the tuned SQL to a closed expression/relation-op
23
+ * vocabulary and regressed the byte-parity the library is built on (see
24
+ * `docs/proposal/v2-sql-parity-checklist.md`). It is SUPERSEDED by `./makesql`: SQL
25
+ * structure now lives as text inside `makeSQL`, not as IR "kinds". The legacy modules
26
+ * remain exported (below) only for the historical WS test-suite; new code must use
27
+ * `./makesql`.
10
28
  */
11
29
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.parseEffectPath = exports.lifecycleFor = exports.edgeWrites = exports.entityWrites = exports.resolveRelationViaPlan = exports.readBundle = exports.read = exports.executeBundle = exports.compileBundle = exports.executeBehavior = exports.SqlFailure = exports.mapSqliteError = exports.inColumn = exports.whereIn = exports.whereIsNull = exports.whereGe = exports.whereGt = exports.whereLe = exports.whereLt = exports.whereNe = exports.whereEq = exports.IN_SENTINEL = exports.compileComponentNodes = exports.compileNode = exports.compileEager = exports.publishBehaviors = exports.components = exports.assertComponentGraphPortable = exports.assertComponentPortable = exports.assertOperationPortable = exports.assertExprPortable = exports.compileInsertFor = exports.MYSQL = exports.POSTGRES = exports.SQLITE = exports.toDollarPlaceholders = exports.dialectFor = exports.renderOperation = exports.compileDelete = exports.compileUpdate = exports.compileInsert = exports.compileSelect = exports.WHERE_SLOT = exports.deriveContractEffect = exports.assertComponentsInCatalog = exports.WRITE_PORT_FAMILIES = exports.WRITE_CATALOG_NAMES = exports.CATALOG_NAMES = exports.catalogEntry = exports.LITEDBMODEL_CATALOG = void 0;
13
- exports.opt = exports.len = exports.coalesce = exports.not = exports.or = exports.and = exports.ge = exports.gt = exports.le = exports.lt = exports.ne = exports.eq = exports.neg = exports.mod = exports.div = exports.mul = exports.sub = exports.add = exports.concat = exports.when = exports.behavior = exports.SemanticBehavior = exports.RELATION_CONTEXT = exports.RelationContext = exports.readRelationContext = exports.buildResultSet = exports.RELATION_KEYS_HEAD = exports.distributeToParent = exports.runRelationOp = exports.compileRelationOp = exports.codegenExecuteBundleForTest = exports.assertLanguageSupported = exports.bundleToPortableIR = exports.generateCodegenArtifact = exports.CODEGEN_LANGUAGES = exports.normalizeInput = exports.buildHandlers = exports.executeCompositeCommand = exports.compileCompositeWriteBundle = exports.executeTransactionBundle = exports.executeCommand = exports.compileWriteBundle = exports.countingDriver = exports.executeTransaction = exports.deriveTransactionPlan = exports.ENTITY_ROOT = void 0;
30
+ exports.WRITE_CATALOG_NAMES = exports.CATALOG_NAMES = exports.catalogEntry = exports.LITEDBMODEL_CATALOG = exports.mysqlPoolExecutor = exports.pgPoolExecutor = exports.renderReadPrimary = exports.executeReadGraphAsync = exports.executeReadGraph = exports.compileReadGraph = exports.executeReadBehavior = exports.executeStaticWrite = exports.executeStaticBundle = exports.compileSelectNode = exports.compileStaticBundle = exports.compileRelationMap = exports.compileAuthoredNode = exports.compileAuthoredBehavior = exports.makeSqlInput = exports.makeSqlComponentIR = exports.compileCompositeKeyLimited = exports.compileCompositeKeyStaticUnlimited = exports.compileCompositeKeyUnlimited = exports.compileSingleKeyLimited = exports.compileSingleKeyUnlimited = exports.PG_ARRAY_CAST_TOKEN = exports.resolvePgArrayCast = exports.inferPgArrayType = exports.compileDeleteMakeSQL = exports.compileUpdateSingle = exports.compileUpdateMany = exports.compileInsertMakeSQL = exports.builderFor = exports.compileSelectMakeSQL = exports.noCastFormatter = exports.pgCastFormatter = exports.formatterFor = exports.andTrailing = exports.whereClause = exports.compileWhere = exports.makeSqlHandlerSync = exports.makeSqlHandler = exports.renderPorts = exports.renderPlaceholders = exports.composeMakeSQL = exports.assembleMakeSQL = exports.isMakeSQL = exports.LITEDBMODEL_MAKESQL_CATALOG = exports.makeSqlCatalogEntry = exports.MAKESQL = void 0;
31
+ exports.deriveTransactionPlan = exports.ENTITY_ROOT = exports.parseEffectPath = exports.lifecycleFor = exports.edgeWrites = exports.entityWrites = exports.executeBehaviorAsync = exports.executeBundleAsync = exports.readBundle = exports.read = exports.executeBundle = exports.compileBundle = exports.executeBehavior = exports.FindFilterLeakError = exports.findFilterKeys = exports.assertFindFilterFolded = exports.SqlFailure = exports.mapSqliteError = exports.whereExists = exports.whereInSubquery = exports.whereTupleIn = exports.whereImmediate = exports.whereDynamic = exports.whereCast = exports.whereILike = exports.whereLike = exports.whereBetween = exports.inColumn = exports.whereIn = exports.whereIsNull = exports.whereGe = exports.whereGt = exports.whereLe = exports.whereLt = exports.whereNe = exports.whereEq = exports.compileEager = exports.publishBehaviors = exports.components = exports.assertComponentGraphPortable = exports.assertComponentPortable = exports.assertExprPortable = exports.MYSQL = exports.POSTGRES = exports.SQLITE = exports.toDollarPlaceholders = exports.dialectFor = exports.deriveContractEffect = exports.assertComponentsInCatalog = exports.WRITE_PORT_FAMILIES = void 0;
32
+ exports.opt = exports.len = exports.coalesce = exports.not = exports.or = exports.and = exports.ge = exports.gt = exports.le = exports.lt = exports.ne = exports.eq = exports.neg = exports.mod = exports.div = exports.mul = exports.sub = exports.add = exports.concat = exports.when = exports.behavior = exports.SemanticBehavior = exports.RELATION_CONTEXT = exports.RelationContext = exports.readRelationContext = exports.buildResultSet = exports.RELATION_KEYS_HEAD = exports.distributeToParent = exports.runRelationOp = exports.compileRelationOp = exports.codegenExecuteBundleForTest = exports.assertLanguageSupported = exports.bundleToPortableIR = exports.generateCodegenArtifact = exports.CODEGEN_LANGUAGES = exports.compileDeleteMany = exports.compileDeleteManyBundle = exports.compileUpdateManyBundle = exports.compileCreateManyBundle = exports.executeCompositeCommand = exports.compileCompositeWriteBundle = exports.executeTransactionBundle = exports.executeCommand = exports.compileWriteBundle = exports.stripMysqlPkHint = exports.mysqlPkHint = exports.compileWriteNode = exports.renderTxStatement = exports.countingDriver = exports.executeTransaction = void 0;
33
+ // ── CANONICAL: the LOCKED `makeSQL` bc integration (epic #43 / design #45). ──────────
34
+ var makesql_1 = require("./makesql");
35
+ Object.defineProperty(exports, "MAKESQL", { enumerable: true, get: function () { return makesql_1.MAKESQL; } });
36
+ Object.defineProperty(exports, "makeSqlCatalogEntry", { enumerable: true, get: function () { return makesql_1.makeSqlCatalogEntry; } });
37
+ Object.defineProperty(exports, "LITEDBMODEL_MAKESQL_CATALOG", { enumerable: true, get: function () { return makesql_1.LITEDBMODEL_MAKESQL_CATALOG; } });
38
+ Object.defineProperty(exports, "isMakeSQL", { enumerable: true, get: function () { return makesql_1.isMakeSQL; } });
39
+ Object.defineProperty(exports, "assembleMakeSQL", { enumerable: true, get: function () { return makesql_1.assembleMakeSQL; } });
40
+ Object.defineProperty(exports, "composeMakeSQL", { enumerable: true, get: function () { return makesql_1.composeMakeSQL; } });
41
+ Object.defineProperty(exports, "renderPlaceholders", { enumerable: true, get: function () { return makesql_1.renderPlaceholders; } });
42
+ Object.defineProperty(exports, "renderPorts", { enumerable: true, get: function () { return makesql_1.renderPorts; } });
43
+ Object.defineProperty(exports, "makeSqlHandler", { enumerable: true, get: function () { return makesql_1.makeSqlHandler; } });
44
+ Object.defineProperty(exports, "makeSqlHandlerSync", { enumerable: true, get: function () { return makesql_1.makeSqlHandlerSync; } });
45
+ Object.defineProperty(exports, "compileWhere", { enumerable: true, get: function () { return makesql_1.compileWhere; } });
46
+ Object.defineProperty(exports, "whereClause", { enumerable: true, get: function () { return makesql_1.whereClause; } });
47
+ Object.defineProperty(exports, "andTrailing", { enumerable: true, get: function () { return makesql_1.andTrailing; } });
48
+ Object.defineProperty(exports, "formatterFor", { enumerable: true, get: function () { return makesql_1.formatterFor; } });
49
+ Object.defineProperty(exports, "pgCastFormatter", { enumerable: true, get: function () { return makesql_1.pgCastFormatter; } });
50
+ Object.defineProperty(exports, "noCastFormatter", { enumerable: true, get: function () { return makesql_1.noCastFormatter; } });
51
+ Object.defineProperty(exports, "compileSelectMakeSQL", { enumerable: true, get: function () { return makesql_1.compileSelect; } });
52
+ Object.defineProperty(exports, "builderFor", { enumerable: true, get: function () { return makesql_1.builderFor; } });
53
+ Object.defineProperty(exports, "compileInsertMakeSQL", { enumerable: true, get: function () { return makesql_1.compileInsert; } });
54
+ Object.defineProperty(exports, "compileUpdateMany", { enumerable: true, get: function () { return makesql_1.compileUpdateMany; } });
55
+ Object.defineProperty(exports, "compileUpdateSingle", { enumerable: true, get: function () { return makesql_1.compileUpdateSingle; } });
56
+ Object.defineProperty(exports, "compileDeleteMakeSQL", { enumerable: true, get: function () { return makesql_1.compileDelete; } });
57
+ Object.defineProperty(exports, "inferPgArrayType", { enumerable: true, get: function () { return makesql_1.inferPgArrayType; } });
58
+ Object.defineProperty(exports, "resolvePgArrayCast", { enumerable: true, get: function () { return makesql_1.resolvePgArrayCast; } });
59
+ Object.defineProperty(exports, "PG_ARRAY_CAST_TOKEN", { enumerable: true, get: function () { return makesql_1.PG_ARRAY_CAST_TOKEN; } });
60
+ Object.defineProperty(exports, "compileSingleKeyUnlimited", { enumerable: true, get: function () { return makesql_1.compileSingleKeyUnlimited; } });
61
+ Object.defineProperty(exports, "compileSingleKeyLimited", { enumerable: true, get: function () { return makesql_1.compileSingleKeyLimited; } });
62
+ Object.defineProperty(exports, "compileCompositeKeyUnlimited", { enumerable: true, get: function () { return makesql_1.compileCompositeKeyUnlimited; } });
63
+ Object.defineProperty(exports, "compileCompositeKeyStaticUnlimited", { enumerable: true, get: function () { return makesql_1.compileCompositeKeyStaticUnlimited; } });
64
+ Object.defineProperty(exports, "compileCompositeKeyLimited", { enumerable: true, get: function () { return makesql_1.compileCompositeKeyLimited; } });
65
+ Object.defineProperty(exports, "makeSqlComponentIR", { enumerable: true, get: function () { return makesql_1.makeSqlComponentIR; } });
66
+ Object.defineProperty(exports, "makeSqlInput", { enumerable: true, get: function () { return makesql_1.makeSqlInput; } });
67
+ Object.defineProperty(exports, "compileAuthoredBehavior", { enumerable: true, get: function () { return makesql_1.compileAuthoredBehavior; } });
68
+ Object.defineProperty(exports, "compileAuthoredNode", { enumerable: true, get: function () { return makesql_1.compileAuthoredNode; } });
69
+ Object.defineProperty(exports, "compileRelationMap", { enumerable: true, get: function () { return makesql_1.compileRelationMap; } });
70
+ Object.defineProperty(exports, "compileStaticBundle", { enumerable: true, get: function () { return makesql_1.compileStaticBundle; } });
71
+ Object.defineProperty(exports, "compileSelectNode", { enumerable: true, get: function () { return makesql_1.compileSelectNode; } });
72
+ Object.defineProperty(exports, "executeStaticBundle", { enumerable: true, get: function () { return makesql_1.executeStaticBundle; } });
73
+ Object.defineProperty(exports, "executeStaticWrite", { enumerable: true, get: function () { return makesql_1.executeStaticWrite; } });
74
+ Object.defineProperty(exports, "executeReadBehavior", { enumerable: true, get: function () { return makesql_1.executeReadBehavior; } });
75
+ Object.defineProperty(exports, "compileReadGraph", { enumerable: true, get: function () { return makesql_1.compileReadGraph; } });
76
+ Object.defineProperty(exports, "executeReadGraph", { enumerable: true, get: function () { return makesql_1.executeReadGraph; } });
77
+ Object.defineProperty(exports, "executeReadGraphAsync", { enumerable: true, get: function () { return makesql_1.executeReadGraphAsync; } });
78
+ Object.defineProperty(exports, "renderReadPrimary", { enumerable: true, get: function () { return makesql_1.renderReadPrimary; } });
79
+ Object.defineProperty(exports, "pgPoolExecutor", { enumerable: true, get: function () { return makesql_1.pgPoolExecutor; } });
80
+ Object.defineProperty(exports, "mysqlPoolExecutor", { enumerable: true, get: function () { return makesql_1.mysqlPoolExecutor; } });
14
81
  // Catalog (spec §11 item 1)
15
82
  var catalog_1 = require("./catalog");
16
83
  Object.defineProperty(exports, "LITEDBMODEL_CATALOG", { enumerable: true, get: function () { return catalog_1.LITEDBMODEL_CATALOG; } });
@@ -20,18 +87,6 @@ Object.defineProperty(exports, "WRITE_CATALOG_NAMES", { enumerable: true, get: f
20
87
  Object.defineProperty(exports, "WRITE_PORT_FAMILIES", { enumerable: true, get: function () { return catalog_1.WRITE_PORT_FAMILIES; } });
21
88
  Object.defineProperty(exports, "assertComponentsInCatalog", { enumerable: true, get: function () { return catalog_1.assertComponentsInCatalog; } });
22
89
  Object.defineProperty(exports, "deriveContractEffect", { enumerable: true, get: function () { return catalog_1.deriveContractEffect; } });
23
- // SQL IR shapes (spec §8)
24
- var ir_1 = require("./ir");
25
- Object.defineProperty(exports, "WHERE_SLOT", { enumerable: true, get: function () { return ir_1.WHERE_SLOT; } });
26
- // SQLite Backend Compile (spec §11 item 3)
27
- var compile_sqlite_1 = require("./compile-sqlite");
28
- Object.defineProperty(exports, "compileSelect", { enumerable: true, get: function () { return compile_sqlite_1.compileSelect; } });
29
- Object.defineProperty(exports, "compileInsert", { enumerable: true, get: function () { return compile_sqlite_1.compileInsert; } });
30
- Object.defineProperty(exports, "compileUpdate", { enumerable: true, get: function () { return compile_sqlite_1.compileUpdate; } });
31
- Object.defineProperty(exports, "compileDelete", { enumerable: true, get: function () { return compile_sqlite_1.compileDelete; } });
32
- // Dynamic-expansion render (normative reference for byte-identical output)
33
- var render_1 = require("./render");
34
- Object.defineProperty(exports, "renderOperation", { enumerable: true, get: function () { return render_1.renderOperation; } });
35
90
  // Dialect strategy table (WS6, #26 — the SSoT for PG/MySQL/SQLite SQL divergences + `?`→`$N`).
36
91
  var dialect_1 = require("./dialect");
37
92
  Object.defineProperty(exports, "dialectFor", { enumerable: true, get: function () { return dialect_1.dialectFor; } });
@@ -39,13 +94,9 @@ Object.defineProperty(exports, "toDollarPlaceholders", { enumerable: true, get:
39
94
  Object.defineProperty(exports, "SQLITE", { enumerable: true, get: function () { return dialect_1.SQLITE; } });
40
95
  Object.defineProperty(exports, "POSTGRES", { enumerable: true, get: function () { return dialect_1.POSTGRES; } });
41
96
  Object.defineProperty(exports, "MYSQL", { enumerable: true, get: function () { return dialect_1.MYSQL; } });
42
- // Dialect-parameterized Backend Compile (WS6, #26 — shared IR→structure, per-dialect SQL text).
43
- var compile_dialect_1 = require("./compile-dialect");
44
- Object.defineProperty(exports, "compileInsertFor", { enumerable: true, get: function () { return compile_dialect_1.compileInsertFor; } });
45
97
  // Portability guard (closed Expression IR set only)
46
98
  var guard_1 = require("./guard");
47
99
  Object.defineProperty(exports, "assertExprPortable", { enumerable: true, get: function () { return guard_1.assertExprPortable; } });
48
- Object.defineProperty(exports, "assertOperationPortable", { enumerable: true, get: function () { return guard_1.assertOperationPortable; } });
49
100
  Object.defineProperty(exports, "assertComponentPortable", { enumerable: true, get: function () { return guard_1.assertComponentPortable; } });
50
101
  Object.defineProperty(exports, "assertComponentGraphPortable", { enumerable: true, get: function () { return guard_1.assertComponentGraphPortable; } });
51
102
  // Authoring Parse (spec §2.4 / §7 / §9) — SemanticBehavior declaration + eager public-API
@@ -54,11 +105,6 @@ var authoring_1 = require("./authoring");
54
105
  Object.defineProperty(exports, "components", { enumerable: true, get: function () { return authoring_1.components; } });
55
106
  Object.defineProperty(exports, "publishBehaviors", { enumerable: true, get: function () { return authoring_1.publishBehaviors; } });
56
107
  Object.defineProperty(exports, "compileEager", { enumerable: true, get: function () { return authoring_1.compileEager; } });
57
- // Backend-Compile bridge (WS1↔WS3): real bc ComponentGraphIR port shape → WS1 CompiledOperation.
58
- var bridge_1 = require("./bridge");
59
- Object.defineProperty(exports, "compileNode", { enumerable: true, get: function () { return bridge_1.compileNode; } });
60
- Object.defineProperty(exports, "compileComponentNodes", { enumerable: true, get: function () { return bridge_1.compileComponentNodes; } });
61
- Object.defineProperty(exports, "IN_SENTINEL", { enumerable: true, get: function () { return bridge_1.IN_SENTINEL; } });
62
108
  // SQL WHERE authoring helpers (closed-set encodings the bridge decodes).
63
109
  var authoring_sql_1 = require("./authoring-sql");
64
110
  Object.defineProperty(exports, "whereEq", { enumerable: true, get: function () { return authoring_sql_1.whereEq; } });
@@ -70,10 +116,27 @@ Object.defineProperty(exports, "whereGe", { enumerable: true, get: function () {
70
116
  Object.defineProperty(exports, "whereIsNull", { enumerable: true, get: function () { return authoring_sql_1.whereIsNull; } });
71
117
  Object.defineProperty(exports, "whereIn", { enumerable: true, get: function () { return authoring_sql_1.whereIn; } });
72
118
  Object.defineProperty(exports, "inColumn", { enumerable: true, get: function () { return authoring_sql_1.inColumn; } });
119
+ // Additive where-primitives (V0 R2/R3): live-reachable, v1-sourced SQL.
120
+ Object.defineProperty(exports, "whereBetween", { enumerable: true, get: function () { return authoring_sql_1.whereBetween; } });
121
+ Object.defineProperty(exports, "whereLike", { enumerable: true, get: function () { return authoring_sql_1.whereLike; } });
122
+ Object.defineProperty(exports, "whereILike", { enumerable: true, get: function () { return authoring_sql_1.whereILike; } });
123
+ Object.defineProperty(exports, "whereCast", { enumerable: true, get: function () { return authoring_sql_1.whereCast; } });
124
+ Object.defineProperty(exports, "whereDynamic", { enumerable: true, get: function () { return authoring_sql_1.whereDynamic; } });
125
+ Object.defineProperty(exports, "whereImmediate", { enumerable: true, get: function () { return authoring_sql_1.whereImmediate; } });
126
+ Object.defineProperty(exports, "whereTupleIn", { enumerable: true, get: function () { return authoring_sql_1.whereTupleIn; } });
127
+ Object.defineProperty(exports, "whereInSubquery", { enumerable: true, get: function () { return authoring_sql_1.whereInSubquery; } });
128
+ Object.defineProperty(exports, "whereExists", { enumerable: true, get: function () { return authoring_sql_1.whereExists; } });
73
129
  // Error Mapping (spec §11 item 5): driver error → SCP Failure + Policy Kind.
74
130
  var errors_1 = require("./errors");
75
131
  Object.defineProperty(exports, "mapSqliteError", { enumerable: true, get: function () { return errors_1.mapSqliteError; } });
76
132
  Object.defineProperty(exports, "SqlFailure", { enumerable: true, get: function () { return errors_1.SqlFailure; } });
133
+ // FIND_FILTER fail-closed authoring guard (#47 Finding B / plan R8): a model declaring an
134
+ // implicit per-model scope predicate cannot be SCP-compiled without folding it into the
135
+ // authored WHERE (fail-closed; the SCP compile has no model context to auto-apply it).
136
+ var find_filter_guard_1 = require("./find-filter-guard");
137
+ Object.defineProperty(exports, "assertFindFilterFolded", { enumerable: true, get: function () { return find_filter_guard_1.assertFindFilterFolded; } });
138
+ Object.defineProperty(exports, "findFilterKeys", { enumerable: true, get: function () { return find_filter_guard_1.findFilterKeys; } });
139
+ Object.defineProperty(exports, "FindFilterLeakError", { enumerable: true, get: function () { return find_filter_guard_1.FindFilterLeakError; } });
77
140
  // Thin TS runtime (spec §3 / §10 / §11): validate → SKIP → expand → eval → bind → execute → assembly.
78
141
  // `compileBundle` emits the §8 published artifact (Backend-Compiled once, TS-side);
79
142
  // `executeBundle` runs that artifact via bc runtime-core alone (the multi-language target).
@@ -83,7 +146,11 @@ Object.defineProperty(exports, "compileBundle", { enumerable: true, get: functio
83
146
  Object.defineProperty(exports, "executeBundle", { enumerable: true, get: function () { return runtime_1.executeBundle; } });
84
147
  Object.defineProperty(exports, "read", { enumerable: true, get: function () { return runtime_1.read; } });
85
148
  Object.defineProperty(exports, "readBundle", { enumerable: true, get: function () { return runtime_1.readBundle; } });
86
- Object.defineProperty(exports, "resolveRelationViaPlan", { enumerable: true, get: function () { return runtime_1.resolveRelationViaPlan; } });
149
+ // The ASYNC PG / MySQL production read execution model (#40): bc `runBehaviorAsync` fans out
150
+ // independent sibling read nodes in bounded parallel against a pooled async executor.
151
+ var runtime_2 = require("./runtime");
152
+ Object.defineProperty(exports, "executeBundleAsync", { enumerable: true, get: function () { return runtime_2.executeBundleAsync; } });
153
+ Object.defineProperty(exports, "executeBehaviorAsync", { enumerable: true, get: function () { return runtime_2.executeBehaviorAsync; } });
87
154
  // Write-time relations (WS5, #25 — spec §6): entityWrites/edgeWrites declaration vocabulary,
88
155
  // the gate-first transaction-plan derivation, and the 1-tx real-SQLite runtime.
89
156
  var writes_1 = require("./writes");
@@ -92,26 +159,33 @@ Object.defineProperty(exports, "edgeWrites", { enumerable: true, get: function (
92
159
  Object.defineProperty(exports, "lifecycleFor", { enumerable: true, get: function () { return writes_1.lifecycleFor; } });
93
160
  Object.defineProperty(exports, "parseEffectPath", { enumerable: true, get: function () { return writes_1.parseEffectPath; } });
94
161
  Object.defineProperty(exports, "ENTITY_ROOT", { enumerable: true, get: function () { return writes_1.ENTITY_ROOT; } });
95
- var write_plan_1 = require("./write-plan");
96
- Object.defineProperty(exports, "deriveTransactionPlan", { enumerable: true, get: function () { return write_plan_1.deriveTransactionPlan; } });
97
- var write_runtime_1 = require("./write-runtime");
98
- Object.defineProperty(exports, "executeTransaction", { enumerable: true, get: function () { return write_runtime_1.executeTransaction; } });
99
- Object.defineProperty(exports, "countingDriver", { enumerable: true, get: function () { return write_runtime_1.countingDriver; } });
162
+ var makesql_2 = require("./makesql");
163
+ Object.defineProperty(exports, "deriveTransactionPlan", { enumerable: true, get: function () { return makesql_2.deriveTransactionPlan; } });
164
+ Object.defineProperty(exports, "executeTransaction", { enumerable: true, get: function () { return makesql_2.executeTransaction; } });
165
+ Object.defineProperty(exports, "countingDriver", { enumerable: true, get: function () { return makesql_2.countingDriver; } });
166
+ Object.defineProperty(exports, "renderTxStatement", { enumerable: true, get: function () { return makesql_2.renderTxStatement; } });
167
+ Object.defineProperty(exports, "compileWriteNode", { enumerable: true, get: function () { return makesql_2.compileWriteNode; } });
168
+ Object.defineProperty(exports, "mysqlPkHint", { enumerable: true, get: function () { return makesql_2.mysqlPkHint; } });
169
+ Object.defineProperty(exports, "stripMysqlPkHint", { enumerable: true, get: function () { return makesql_2.stripMysqlPkHint; } });
100
170
  // The Command bundle + 1-tx execution surface (WS5 — the write path of §2.3 / §6).
101
- var runtime_2 = require("./runtime");
102
- Object.defineProperty(exports, "compileWriteBundle", { enumerable: true, get: function () { return runtime_2.compileWriteBundle; } });
103
- Object.defineProperty(exports, "executeCommand", { enumerable: true, get: function () { return runtime_2.executeCommand; } });
104
- Object.defineProperty(exports, "executeTransactionBundle", { enumerable: true, get: function () { return runtime_2.executeTransactionBundle; } });
171
+ var runtime_3 = require("./runtime");
172
+ Object.defineProperty(exports, "compileWriteBundle", { enumerable: true, get: function () { return runtime_3.compileWriteBundle; } });
173
+ Object.defineProperty(exports, "executeCommand", { enumerable: true, get: function () { return runtime_3.executeCommand; } });
174
+ Object.defineProperty(exports, "executeTransactionBundle", { enumerable: true, get: function () { return runtime_3.executeTransactionBundle; } });
105
175
  // Composite (multi-write) Command surface (WS8a, #28 — spec §6 nested write / §14 tx-DAG derivation):
106
176
  // several named base writes with data dependencies → ONE topologically-ordered gate-first tx plan.
107
- var runtime_3 = require("./runtime");
108
- Object.defineProperty(exports, "compileCompositeWriteBundle", { enumerable: true, get: function () { return runtime_3.compileCompositeWriteBundle; } });
109
- Object.defineProperty(exports, "executeCompositeCommand", { enumerable: true, get: function () { return runtime_3.executeCompositeCommand; } });
110
- // Reusable handler/normalization seams (WS3) — exported so the mode-3 codegen path binds the
111
- // IDENTICAL SQL handlers into bc's generated `bind()` (byte-identity by construction).
112
177
  var runtime_4 = require("./runtime");
113
- Object.defineProperty(exports, "buildHandlers", { enumerable: true, get: function () { return runtime_4.buildHandlers; } });
114
- Object.defineProperty(exports, "normalizeInput", { enumerable: true, get: function () { return runtime_4.normalizeInput; } });
178
+ Object.defineProperty(exports, "compileCompositeWriteBundle", { enumerable: true, get: function () { return runtime_4.compileCompositeWriteBundle; } });
179
+ Object.defineProperty(exports, "executeCompositeCommand", { enumerable: true, get: function () { return runtime_4.executeCompositeCommand; } });
180
+ // Batch writes (createMany / updateMany / deleteMany): ONE logical op → N grouped statements lowered
181
+ // to a gate-free tx plan (executed by the SAME multi-statement tx loop in all 5 runtimes). The
182
+ // batch SQL is byte-copied from the v1 builders (compileInsertMany/compileUpdateMany/compileDeleteMany).
183
+ var runtime_5 = require("./runtime");
184
+ Object.defineProperty(exports, "compileCreateManyBundle", { enumerable: true, get: function () { return runtime_5.compileCreateManyBundle; } });
185
+ Object.defineProperty(exports, "compileUpdateManyBundle", { enumerable: true, get: function () { return runtime_5.compileUpdateManyBundle; } });
186
+ Object.defineProperty(exports, "compileDeleteManyBundle", { enumerable: true, get: function () { return runtime_5.compileDeleteManyBundle; } });
187
+ var makesql_3 = require("./makesql");
188
+ Object.defineProperty(exports, "compileDeleteMany", { enumerable: true, get: function () { return makesql_3.compileDeleteMany; } });
115
189
  // Mode-3 codegen (WS7f, #35 — spec §9 exec-mode 3): supply the litedbmodel SQL catalog to bc's
116
190
  // shared generator; emit per-language source (IR baked as a native literal) + the SQL catalog
117
191
  // companion. Generated code output is byte-identical to the mode-2 thin-runtime (proven by the
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scp/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;AAEH,4BAA4B;AAC5B,qCAQmB;AAPjB,8GAAA,mBAAmB,OAAA;AACnB,uGAAA,YAAY,OAAA;AACZ,wGAAA,aAAa,OAAA;AACb,8GAAA,mBAAmB,OAAA;AACnB,8GAAA,mBAAmB,OAAA;AACnB,oHAAA,yBAAyB,OAAA;AACzB,+GAAA,oBAAoB,OAAA;AAItB,0BAA0B;AAC1B,2BAAkC;AAAzB,gGAAA,UAAU,OAAA;AASnB,2CAA2C;AAC3C,mDAK0B;AAJxB,+GAAA,aAAa,OAAA;AACb,+GAAA,aAAa,OAAA;AACb,+GAAA,aAAa,OAAA;AACb,+GAAA,aAAa,OAAA;AAWf,2EAA2E;AAC3E,mCAA2C;AAAlC,yGAAA,eAAe,OAAA;AAGxB,+FAA+F;AAC/F,qCAAsF;AAA7E,qGAAA,UAAU,OAAA;AAAE,+GAAA,oBAAoB,OAAA;AAAE,iGAAA,MAAM,OAAA;AAAE,mGAAA,QAAQ,OAAA;AAAE,gGAAA,KAAK,OAAA;AAGlE,gGAAgG;AAChG,qDAAqD;AAA5C,mHAAA,gBAAgB,OAAA;AAGzB,oDAAoD;AACpD,iCAKiB;AAJf,2GAAA,kBAAkB,OAAA;AAClB,gHAAA,uBAAuB,OAAA;AACvB,gHAAA,uBAAuB,OAAA;AACvB,qHAAA,4BAA4B,OAAA;AAG9B,0FAA0F;AAC1F,0CAA0C;AAC1C,yCAIqB;AAHnB,uGAAA,UAAU,OAAA;AACV,6GAAA,gBAAgB,OAAA;AAChB,yGAAA,YAAY,OAAA;AAcd,iGAAiG;AACjG,mCAA2E;AAAlE,qGAAA,WAAW,OAAA;AAAE,+GAAA,qBAAqB,OAAA;AAAE,qGAAA,WAAW,OAAA;AAExD,yEAAyE;AACzE,iDAUyB;AATvB,wGAAA,OAAO,OAAA;AACP,wGAAA,OAAO,OAAA;AACP,wGAAA,OAAO,OAAA;AACP,wGAAA,OAAO,OAAA;AACP,wGAAA,OAAO,OAAA;AACP,wGAAA,OAAO,OAAA;AACP,4GAAA,WAAW,OAAA;AACX,wGAAA,OAAO,OAAA;AACP,yGAAA,QAAQ,OAAA;AAGV,6EAA6E;AAC7E,mCAAsD;AAA7C,wGAAA,cAAc,OAAA;AAAE,oGAAA,UAAU,OAAA;AAGnC,sGAAsG;AACtG,oFAAoF;AACpF,4FAA4F;AAC5F,qCAAoH;AAA3G,0GAAA,eAAe,OAAA;AAAE,wGAAA,aAAa,OAAA;AAAE,wGAAA,aAAa,OAAA;AAAE,+FAAA,IAAI,OAAA;AAAE,qGAAA,UAAU,OAAA;AAAE,iHAAA,sBAAsB,OAAA;AAGhG,6FAA6F;AAC7F,gFAAgF;AAChF,mCAMkB;AALhB,sGAAA,YAAY,OAAA;AACZ,oGAAA,UAAU,OAAA;AACV,sGAAA,YAAY,OAAA;AACZ,yGAAA,eAAe,OAAA;AACf,qGAAA,WAAW,OAAA;AAmBb,2CAAqD;AAA5C,mHAAA,qBAAqB,OAAA;AAU9B,iDAAqE;AAA5D,mHAAA,kBAAkB,OAAA;AAAE,+GAAA,cAAc,OAAA;AAG3C,mFAAmF;AACnF,qCAAyF;AAAhF,6GAAA,kBAAkB,OAAA;AAAE,yGAAA,cAAc,OAAA;AAAE,mHAAA,wBAAwB,OAAA;AAErE,sGAAsG;AACtG,mGAAmG;AACnG,qCAAiF;AAAxE,sHAAA,2BAA2B,OAAA;AAAE,kHAAA,uBAAuB,OAAA;AAG7D,6FAA6F;AAC7F,uFAAuF;AACvF,qCAA0D;AAAjD,wGAAA,aAAa,OAAA;AAAE,yGAAA,cAAc,OAAA;AAEtC,+FAA+F;AAC/F,8FAA8F;AAC9F,+FAA+F;AAC/F,4BAA4B;AAC5B,qCAMmB;AALjB,4GAAA,iBAAiB,OAAA;AACjB,kHAAA,uBAAuB,OAAA;AACvB,6GAAA,kBAAkB,OAAA;AAClB,kHAAA,uBAAuB,OAAA;AACvB,sHAAA,2BAA2B,OAAA;AAQ7B,wFAAwF;AACxF,yFAAyF;AACzF,uCAKoB;AAJlB,6GAAA,iBAAiB,OAAA;AACjB,yGAAA,aAAa,OAAA;AACb,8GAAA,kBAAkB,OAAA;AAClB,8GAAA,kBAAkB,OAAA;AAUpB,4EAA4E;AAC5E,+CAKwB;AAJtB,8GAAA,cAAc,OAAA;AACd,mHAAA,mBAAmB,OAAA;AACnB,+GAAA,eAAe,OAAA;AACf,gHAAA,gBAAgB,OAAA;AAIlB,sFAAsF;AACtF,yFAAyF;AACzF,0EAA0E;AAC1E,yDAuB4B;AAtB1B,sHAAA,gBAAgB,OAAA;AAChB,8GAAA,QAAQ,OAAA;AACR,0GAAA,IAAI,OAAA;AACJ,4GAAA,MAAM,OAAA;AACN,yGAAA,GAAG,OAAA;AACH,yGAAA,GAAG,OAAA;AACH,yGAAA,GAAG,OAAA;AACH,yGAAA,GAAG,OAAA;AACH,yGAAA,GAAG,OAAA;AACH,yGAAA,GAAG,OAAA;AACH,wGAAA,EAAE,OAAA;AACF,wGAAA,EAAE,OAAA;AACF,wGAAA,EAAE,OAAA;AACF,wGAAA,EAAE,OAAA;AACF,wGAAA,EAAE,OAAA;AACF,wGAAA,EAAE,OAAA;AACF,yGAAA,GAAG,OAAA;AACH,wGAAA,EAAE,OAAA;AACF,yGAAA,GAAG,OAAA;AACH,8GAAA,QAAQ,OAAA;AACR,yGAAA,GAAG,OAAA;AACH,yGAAA,GAAG,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scp/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;;;;;AAEH,wFAAwF;AACxF,qCA+CmB;AA9CjB,kGAAA,OAAO,OAAA;AACP,8GAAA,mBAAmB,OAAA;AACnB,sHAAA,2BAA2B,OAAA;AAC3B,oGAAA,SAAS,OAAA;AACT,0GAAA,eAAe,OAAA;AACf,yGAAA,cAAc,OAAA;AACd,6GAAA,kBAAkB,OAAA;AAClB,sGAAA,WAAW,OAAA;AACX,yGAAA,cAAc,OAAA;AACd,6GAAA,kBAAkB,OAAA;AAClB,uGAAA,YAAY,OAAA;AACZ,sGAAA,WAAW,OAAA;AACX,sGAAA,WAAW,OAAA;AACX,uGAAA,YAAY,OAAA;AACZ,0GAAA,eAAe,OAAA;AACf,0GAAA,eAAe,OAAA;AACf,+GAAA,aAAa,OAAwB;AACrC,qGAAA,UAAU,OAAA;AACV,+GAAA,aAAa,OAAwB;AACrC,4GAAA,iBAAiB,OAAA;AACjB,8GAAA,mBAAmB,OAAA;AACnB,+GAAA,aAAa,OAAwB;AACrC,2GAAA,gBAAgB,OAAA;AAChB,6GAAA,kBAAkB,OAAA;AAClB,8GAAA,mBAAmB,OAAA;AACnB,oHAAA,yBAAyB,OAAA;AACzB,kHAAA,uBAAuB,OAAA;AACvB,uHAAA,4BAA4B,OAAA;AAC5B,6HAAA,kCAAkC,OAAA;AAClC,qHAAA,0BAA0B,OAAA;AAC1B,6GAAA,kBAAkB,OAAA;AAClB,uGAAA,YAAY,OAAA;AACZ,kHAAA,uBAAuB,OAAA;AACvB,8GAAA,mBAAmB,OAAA;AACnB,6GAAA,kBAAkB,OAAA;AAClB,8GAAA,mBAAmB,OAAA;AACnB,4GAAA,iBAAiB,OAAA;AACjB,8GAAA,mBAAmB,OAAA;AACnB,6GAAA,kBAAkB,OAAA;AAClB,8GAAA,mBAAmB,OAAA;AACnB,2GAAA,gBAAgB,OAAA;AAChB,2GAAA,gBAAgB,OAAA;AAChB,gHAAA,qBAAqB,OAAA;AACrB,4GAAA,iBAAiB,OAAA;AACjB,yGAAA,cAAc,OAAA;AACd,4GAAA,iBAAiB,OAAA;AAsBnB,4BAA4B;AAC5B,qCAQmB;AAPjB,8GAAA,mBAAmB,OAAA;AACnB,uGAAA,YAAY,OAAA;AACZ,wGAAA,aAAa,OAAA;AACb,8GAAA,mBAAmB,OAAA;AACnB,8GAAA,mBAAmB,OAAA;AACnB,oHAAA,yBAAyB,OAAA;AACzB,+GAAA,oBAAoB,OAAA;AAItB,+FAA+F;AAC/F,qCAAsF;AAA7E,qGAAA,UAAU,OAAA;AAAE,+GAAA,oBAAoB,OAAA;AAAE,iGAAA,MAAM,OAAA;AAAE,mGAAA,QAAQ,OAAA;AAAE,gGAAA,KAAK,OAAA;AAGlE,oDAAoD;AACpD,iCAIiB;AAHf,2GAAA,kBAAkB,OAAA;AAClB,gHAAA,uBAAuB,OAAA;AACvB,qHAAA,4BAA4B,OAAA;AAI9B,0FAA0F;AAC1F,0CAA0C;AAC1C,yCAIqB;AAHnB,uGAAA,UAAU,OAAA;AACV,6GAAA,gBAAgB,OAAA;AAChB,yGAAA,YAAY,OAAA;AAcd,yEAAyE;AACzE,iDAoByB;AAnBvB,wGAAA,OAAO,OAAA;AACP,wGAAA,OAAO,OAAA;AACP,wGAAA,OAAO,OAAA;AACP,wGAAA,OAAO,OAAA;AACP,wGAAA,OAAO,OAAA;AACP,wGAAA,OAAO,OAAA;AACP,4GAAA,WAAW,OAAA;AACX,wGAAA,OAAO,OAAA;AACP,yGAAA,QAAQ,OAAA;AACR,wEAAwE;AACxE,6GAAA,YAAY,OAAA;AACZ,0GAAA,SAAS,OAAA;AACT,2GAAA,UAAU,OAAA;AACV,0GAAA,SAAS,OAAA;AACT,6GAAA,YAAY,OAAA;AACZ,+GAAA,cAAc,OAAA;AACd,6GAAA,YAAY,OAAA;AACZ,gHAAA,eAAe,OAAA;AACf,4GAAA,WAAW,OAAA;AAGb,6EAA6E;AAC7E,mCAAsD;AAA7C,wGAAA,cAAc,OAAA;AAAE,oGAAA,UAAU,OAAA;AAGnC,0FAA0F;AAC1F,wFAAwF;AACxF,uFAAuF;AACvF,yDAAkG;AAAzF,2HAAA,sBAAsB,OAAA;AAAE,mHAAA,cAAc,OAAA;AAAE,wHAAA,mBAAmB,OAAA;AAGpE,sGAAsG;AACtG,oFAAoF;AACpF,4FAA4F;AAC5F,qCAA4F;AAAnF,0GAAA,eAAe,OAAA;AAAE,wGAAA,aAAa,OAAA;AAAE,wGAAA,aAAa,OAAA;AAAE,+FAAA,IAAI,OAAA;AAAE,qGAAA,UAAU,OAAA;AAGxE,6FAA6F;AAC7F,sFAAsF;AACtF,qCAAqE;AAA5D,6GAAA,kBAAkB,OAAA;AAAE,+GAAA,oBAAoB,OAAA;AAGjD,6FAA6F;AAC7F,gFAAgF;AAChF,mCAMkB;AALhB,sGAAA,YAAY,OAAA;AACZ,oGAAA,UAAU,OAAA;AACV,sGAAA,YAAY,OAAA;AACZ,yGAAA,eAAe,OAAA;AACf,qGAAA,WAAW,OAAA;AAmBb,qCAA0J;AAAjJ,gHAAA,qBAAqB,OAAA;AAAE,6GAAA,kBAAkB,OAAA;AAAE,yGAAA,cAAc,OAAA;AAAE,4GAAA,iBAAiB,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AAAE,sGAAA,WAAW,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AActI,mFAAmF;AACnF,qCAAyF;AAAhF,6GAAA,kBAAkB,OAAA;AAAE,yGAAA,cAAc,OAAA;AAAE,mHAAA,wBAAwB,OAAA;AAErE,sGAAsG;AACtG,mGAAmG;AACnG,qCAAiF;AAAxE,sHAAA,2BAA2B,OAAA;AAAE,kHAAA,uBAAuB,OAAA;AAG7D,qGAAqG;AACrG,+FAA+F;AAC/F,yGAAyG;AACzG,qCAAsG;AAA7F,kHAAA,uBAAuB,OAAA;AAAE,kHAAA,uBAAuB,OAAA;AAAE,kHAAA,uBAAuB,OAAA;AAClF,qCAA8C;AAArC,4GAAA,iBAAiB,OAAA;AAE1B,+FAA+F;AAC/F,8FAA8F;AAC9F,+FAA+F;AAC/F,4BAA4B;AAC5B,qCAMmB;AALjB,4GAAA,iBAAiB,OAAA;AACjB,kHAAA,uBAAuB,OAAA;AACvB,6GAAA,kBAAkB,OAAA;AAClB,kHAAA,uBAAuB,OAAA;AACvB,sHAAA,2BAA2B,OAAA;AAQ7B,wFAAwF;AACxF,yFAAyF;AACzF,uCAKoB;AAJlB,6GAAA,iBAAiB,OAAA;AACjB,yGAAA,aAAa,OAAA;AACb,8GAAA,kBAAkB,OAAA;AAClB,8GAAA,kBAAkB,OAAA;AAUpB,4EAA4E;AAC5E,+CAKwB;AAJtB,8GAAA,cAAc,OAAA;AACd,mHAAA,mBAAmB,OAAA;AACnB,+GAAA,eAAe,OAAA;AACf,gHAAA,gBAAgB,OAAA;AAIlB,sFAAsF;AACtF,yFAAyF;AACzF,0EAA0E;AAC1E,yDAuB4B;AAtB1B,sHAAA,gBAAgB,OAAA;AAChB,8GAAA,QAAQ,OAAA;AACR,0GAAA,IAAI,OAAA;AACJ,4GAAA,MAAM,OAAA;AACN,yGAAA,GAAG,OAAA;AACH,yGAAA,GAAG,OAAA;AACH,yGAAA,GAAG,OAAA;AACH,yGAAA,GAAG,OAAA;AACH,yGAAA,GAAG,OAAA;AACH,yGAAA,GAAG,OAAA;AACH,wGAAA,EAAE,OAAA;AACF,wGAAA,EAAE,OAAA;AACF,wGAAA,EAAE,OAAA;AACF,wGAAA,EAAE,OAAA;AACF,wGAAA,EAAE,OAAA;AACF,wGAAA,EAAE,OAAA;AACF,yGAAA,GAAG,OAAA;AACH,wGAAA,EAAE,OAAA;AACF,yGAAA,GAAG,OAAA;AACH,8GAAA,QAAQ,OAAA;AACR,yGAAA,GAAG,OAAA;AACH,yGAAA,GAAG,OAAA"}