litedbmodel 2.0.2 → 2.2.0

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 (193) hide show
  1. package/README.md +7 -0
  2. package/dist/DBConditions.d.ts.map +1 -1
  3. package/dist/DBConditions.js +16 -1
  4. package/dist/DBConditions.js.map +1 -1
  5. package/dist/DBHandler.d.ts.map +1 -1
  6. package/dist/DBHandler.js +6 -0
  7. package/dist/DBHandler.js.map +1 -1
  8. package/dist/DBModel.d.ts +84 -2
  9. package/dist/DBModel.d.ts.map +1 -1
  10. package/dist/DBModel.js +312 -29
  11. package/dist/DBModel.js.map +1 -1
  12. package/dist/decorators.d.ts +52 -0
  13. package/dist/decorators.d.ts.map +1 -1
  14. package/dist/decorators.js +127 -24
  15. package/dist/decorators.js.map +1 -1
  16. package/dist/drivers/mysql.d.ts.map +1 -1
  17. package/dist/drivers/mysql.js +12 -2
  18. package/dist/drivers/mysql.js.map +1 -1
  19. package/dist/drivers/postgres.d.ts.map +1 -1
  20. package/dist/drivers/postgres.js +13 -2
  21. package/dist/drivers/postgres.js.map +1 -1
  22. package/dist/drivers/sqlite.d.ts +2 -0
  23. package/dist/drivers/sqlite.d.ts.map +1 -1
  24. package/dist/drivers/sqlite.js +49 -4
  25. package/dist/drivers/sqlite.js.map +1 -1
  26. package/dist/index.cjs +10741 -0
  27. package/dist/index.d.cts +1 -0
  28. package/dist/scp/coltype.d.ts +108 -0
  29. package/dist/scp/coltype.d.ts.map +1 -1
  30. package/dist/scp/coltype.js +293 -6
  31. package/dist/scp/coltype.js.map +1 -1
  32. package/dist/scp/connection-routing.d.ts +312 -0
  33. package/dist/scp/connection-routing.d.ts.map +1 -0
  34. package/dist/scp/connection-routing.js +394 -0
  35. package/dist/scp/connection-routing.js.map +1 -0
  36. package/dist/scp/dbmodel-runtime.d.ts +101 -0
  37. package/dist/scp/dbmodel-runtime.d.ts.map +1 -0
  38. package/dist/scp/dbmodel-runtime.js +174 -0
  39. package/dist/scp/dbmodel-runtime.js.map +1 -0
  40. package/dist/scp/decorator-adapter.d.ts +196 -0
  41. package/dist/scp/decorator-adapter.d.ts.map +1 -0
  42. package/dist/scp/decorator-adapter.js +286 -0
  43. package/dist/scp/decorator-adapter.js.map +1 -0
  44. package/dist/scp/emit/emitter.d.ts +108 -0
  45. package/dist/scp/emit/emitter.d.ts.map +1 -0
  46. package/dist/scp/emit/emitter.js +782 -0
  47. package/dist/scp/emit/emitter.js.map +1 -0
  48. package/dist/scp/emit/endpoint.d.ts +248 -0
  49. package/dist/scp/emit/endpoint.d.ts.map +1 -0
  50. package/dist/scp/emit/endpoint.js +20 -0
  51. package/dist/scp/emit/endpoint.js.map +1 -0
  52. package/dist/scp/emit/index.d.ts +11 -0
  53. package/dist/scp/emit/index.d.ts.map +1 -0
  54. package/dist/scp/emit/index.js +13 -0
  55. package/dist/scp/emit/index.js.map +1 -0
  56. package/dist/scp/errors.d.ts +45 -1
  57. package/dist/scp/errors.d.ts.map +1 -1
  58. package/dist/scp/errors.js +47 -1
  59. package/dist/scp/errors.js.map +1 -1
  60. package/dist/scp/exec-context.d.ts +390 -0
  61. package/dist/scp/exec-context.d.ts.map +1 -0
  62. package/dist/scp/exec-context.js +540 -0
  63. package/dist/scp/exec-context.js.map +1 -0
  64. package/dist/scp/grouping.d.ts +32 -0
  65. package/dist/scp/grouping.d.ts.map +1 -0
  66. package/dist/scp/grouping.js +0 -0
  67. package/dist/scp/grouping.js.map +1 -0
  68. package/dist/scp/index.cjs +6432 -17579
  69. package/dist/scp/index.d.cts +1 -0
  70. package/dist/scp/index.d.mts +1 -0
  71. package/dist/scp/index.d.ts +51 -52
  72. package/dist/scp/index.d.ts.map +1 -1
  73. package/dist/scp/index.js +189 -152
  74. package/dist/scp/index.js.map +1 -1
  75. package/dist/scp/index.mjs +6067 -3659
  76. package/dist/scp/leaf-transport.d.ts +50 -0
  77. package/dist/scp/leaf-transport.d.ts.map +1 -0
  78. package/dist/scp/leaf-transport.js +92 -0
  79. package/dist/scp/leaf-transport.js.map +1 -0
  80. package/dist/scp/leaves.d.ts +174 -0
  81. package/dist/scp/leaves.d.ts.map +1 -0
  82. package/dist/scp/leaves.js +287 -0
  83. package/dist/scp/leaves.js.map +1 -0
  84. package/dist/scp/limit-config.d.ts +118 -0
  85. package/dist/scp/limit-config.d.ts.map +1 -0
  86. package/dist/scp/limit-config.js +126 -0
  87. package/dist/scp/limit-config.js.map +1 -0
  88. package/dist/scp/makesql/compile-relation.d.ts +49 -23
  89. package/dist/scp/makesql/compile-relation.d.ts.map +1 -1
  90. package/dist/scp/makesql/compile-relation.js +101 -76
  91. package/dist/scp/makesql/compile-relation.js.map +1 -1
  92. package/dist/scp/makesql/compile-select.d.ts +45 -10
  93. package/dist/scp/makesql/compile-select.d.ts.map +1 -1
  94. package/dist/scp/makesql/compile-select.js +50 -10
  95. package/dist/scp/makesql/compile-select.js.map +1 -1
  96. package/dist/scp/makesql/handler.d.ts +1 -1
  97. package/dist/scp/makesql/handler.d.ts.map +1 -1
  98. package/dist/scp/makesql/index.d.ts +7 -10
  99. package/dist/scp/makesql/index.d.ts.map +1 -1
  100. package/dist/scp/makesql/index.js +19 -30
  101. package/dist/scp/makesql/index.js.map +1 -1
  102. package/dist/scp/makesql/json-array.d.ts +65 -0
  103. package/dist/scp/makesql/json-array.d.ts.map +1 -1
  104. package/dist/scp/makesql/json-array.js +99 -10
  105. package/dist/scp/makesql/json-array.js.map +1 -1
  106. package/dist/scp/makesql/json-batch.d.ts.map +1 -1
  107. package/dist/scp/makesql/json-batch.js +21 -19
  108. package/dist/scp/makesql/json-batch.js.map +1 -1
  109. package/dist/scp/makesql/makesql.d.ts +1 -1
  110. package/dist/scp/makesql/makesql.d.ts.map +1 -1
  111. package/dist/scp/makesql/mysql-returning.d.ts +93 -0
  112. package/dist/scp/makesql/mysql-returning.d.ts.map +1 -0
  113. package/dist/scp/makesql/mysql-returning.js +215 -0
  114. package/dist/scp/makesql/mysql-returning.js.map +1 -0
  115. package/dist/scp/makesql/outtype.d.ts +75 -34
  116. package/dist/scp/makesql/outtype.d.ts.map +1 -1
  117. package/dist/scp/makesql/outtype.js +91 -118
  118. package/dist/scp/makesql/outtype.js.map +1 -1
  119. package/dist/scp/makesql/pool-executor.d.ts +135 -13
  120. package/dist/scp/makesql/pool-executor.d.ts.map +1 -1
  121. package/dist/scp/makesql/pool-executor.js +229 -21
  122. package/dist/scp/makesql/pool-executor.js.map +1 -1
  123. package/dist/scp/makesql/tx.d.ts +107 -22
  124. package/dist/scp/makesql/tx.d.ts.map +1 -1
  125. package/dist/scp/makesql/tx.js +451 -97
  126. package/dist/scp/makesql/tx.js.map +1 -1
  127. package/dist/scp/makesql/writeouttype.d.ts +7 -8
  128. package/dist/scp/makesql/writeouttype.d.ts.map +1 -1
  129. package/dist/scp/makesql/writeouttype.js +8 -7
  130. package/dist/scp/makesql/writeouttype.js.map +1 -1
  131. package/dist/scp/middleware.d.ts +287 -0
  132. package/dist/scp/middleware.d.ts.map +1 -0
  133. package/dist/scp/middleware.js +358 -0
  134. package/dist/scp/middleware.js.map +1 -0
  135. package/dist/scp/relation.d.ts +80 -9
  136. package/dist/scp/relation.d.ts.map +1 -1
  137. package/dist/scp/relation.js +198 -78
  138. package/dist/scp/relation.js.map +1 -1
  139. package/dist/scp/tx-options.d.ts +136 -0
  140. package/dist/scp/tx-options.d.ts.map +1 -0
  141. package/dist/scp/tx-options.js +184 -0
  142. package/dist/scp/tx-options.js.map +1 -0
  143. package/dist/scp/write-bundle.d.ts +131 -0
  144. package/dist/scp/write-bundle.d.ts.map +1 -0
  145. package/dist/scp/write-bundle.js +160 -0
  146. package/dist/scp/write-bundle.js.map +1 -0
  147. package/dist/types.d.ts +7 -0
  148. package/dist/types.d.ts.map +1 -1
  149. package/dist/types.js.map +1 -1
  150. package/docs/BENCHMARK.md +58 -56
  151. package/docs/benchmark-chart.svg +166 -166
  152. package/docs/design/phase-a-execution-context.md +139 -0
  153. package/package.json +16 -9
  154. package/dist/scp/authoring-sql.d.ts +0 -134
  155. package/dist/scp/authoring-sql.d.ts.map +0 -1
  156. package/dist/scp/authoring-sql.js +0 -191
  157. package/dist/scp/authoring-sql.js.map +0 -1
  158. package/dist/scp/authoring.d.ts +0 -155
  159. package/dist/scp/authoring.d.ts.map +0 -1
  160. package/dist/scp/authoring.js +0 -162
  161. package/dist/scp/authoring.js.map +0 -1
  162. package/dist/scp/catalog.d.ts +0 -94
  163. package/dist/scp/catalog.d.ts.map +0 -1
  164. package/dist/scp/catalog.js +0 -234
  165. package/dist/scp/catalog.js.map +0 -1
  166. package/dist/scp/codegen.d.ts +0 -189
  167. package/dist/scp/codegen.d.ts.map +0 -1
  168. package/dist/scp/codegen.js +0 -421
  169. package/dist/scp/codegen.js.map +0 -1
  170. package/dist/scp/find-filter-guard.d.ts +0 -68
  171. package/dist/scp/find-filter-guard.d.ts.map +0 -1
  172. package/dist/scp/find-filter-guard.js +0 -88
  173. package/dist/scp/find-filter-guard.js.map +0 -1
  174. package/dist/scp/guard.d.ts +0 -43
  175. package/dist/scp/guard.d.ts.map +0 -1
  176. package/dist/scp/guard.js +0 -134
  177. package/dist/scp/guard.js.map +0 -1
  178. package/dist/scp/makesql/authoring-compile.d.ts +0 -90
  179. package/dist/scp/makesql/authoring-compile.d.ts.map +0 -1
  180. package/dist/scp/makesql/authoring-compile.js +0 -494
  181. package/dist/scp/makesql/authoring-compile.js.map +0 -1
  182. package/dist/scp/makesql/ir.d.ts +0 -42
  183. package/dist/scp/makesql/ir.d.ts.map +0 -1
  184. package/dist/scp/makesql/ir.js +0 -66
  185. package/dist/scp/makesql/ir.js.map +0 -1
  186. package/dist/scp/makesql/static-bundle.d.ts +0 -187
  187. package/dist/scp/makesql/static-bundle.d.ts.map +0 -1
  188. package/dist/scp/makesql/static-bundle.js +0 -1113
  189. package/dist/scp/makesql/static-bundle.js.map +0 -1
  190. package/dist/scp/runtime.d.ts +0 -242
  191. package/dist/scp/runtime.d.ts.map +0 -1
  192. package/dist/scp/runtime.js +0 -400
  193. package/dist/scp/runtime.js.map +0 -1
@@ -0,0 +1 @@
1
+ export * from './index.js';
@@ -0,0 +1 @@
1
+ export * from './index.js';
@@ -1,66 +1,65 @@
1
1
  /**
2
- * litedbmodel v2 SCP — public surface (WS1, #21).
2
+ * litedbmodel v2 SCP — public surface.
3
3
  *
4
- * The SQL-backend consumer layer over behavior-contracts (spec §1).
4
+ * The SQL-backend consumer layer over behavior-contracts (spec §1). litedbmodel supplies exactly four
5
+ * things and nothing else:
5
6
  *
6
- * ## CANONICAL bc integration (epic #43 / design #45): the `makeSQL` catalog leaf.
7
+ * 1. **The leaf transport declaration** — `Db` (`@leaf static executeSQL / pluck / group`), the ONE
8
+ * `@leaf` catalog every authored / emitted model imports (`./leaf-transport`). `bc generate --from`
9
+ * reads it; there is no second declaration anywhere in the repo.
10
+ * 2. **The leaf transport implementation** — `leafHandlers` / `leafHandlersAsync` (`./leaves`), the
11
+ * handler map a bc-generated TS module's `bind(handlers)` / `bindAsync(handlers)` consumes. This is
12
+ * the whole TS runtime seam: `bind(leafHandlers({ exec, dialect }))`.
13
+ * 3. **The tuned SQL** — the `./makesql` subtree (dialect SELECT / INSERT / UPDATE / DELETE / relation
14
+ * / batch builders, byte-true to the v1 builders) and the write bundles + gate-first transaction
15
+ * plans built on it.
16
+ * 4. **The language runtime** — the execution context (connection routing, middleware, transactions),
17
+ * the relation grouping core, the column-type de-box SoT, and the typed-object read surface.
7
18
  *
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`.
19
+ * WIRING IS AUTOMATIC. A behavior is declared in TypeScript, bc compiles it, and the only per-language
20
+ * hand-wiring is the harness calling the generated module's method with the handler map above. There is
21
+ * no runtime IR, no programmatic compile, and no runtime behavior dispatch in this package.
27
22
  */
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';
30
- export { LITEDBMODEL_CATALOG, catalogEntry, CATALOG_NAMES, WRITE_CATALOG_NAMES, WRITE_PORT_FAMILIES, assertComponentsInCatalog, deriveContractEffect, } from './catalog';
31
- export type { CatalogName, ContractEffect } from './catalog';
23
+ 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, configurePgDeboxTypeParsers, mysqlDeboxPoolOptions, pgConnectionPool, mysqlConnectionPool, pgPoolFactory, mysqlPoolFactory, } from './makesql';
24
+ export type { MakeSQL, SqlParam, AssembledSql, Dialect as MakeSQLDialect, SqlExecutor, SqlExecutorSync, SelectDesc as MakeSQLSelectDesc, RelationCompileBase, PgPoolLike, MysqlPoolLike, PgTypesLike, PgModuleLike, Mysql2ModuleLike, } from './makesql';
25
+ export { Db } from './leaf-transport';
26
+ export { executeSQL, executeSQLAsync, pluck, group, leafHandlers, leafHandlersAsync, LEAF_TRANSPORT_SYMBOLS, prepareSql, spliceWhere, assembleDynamicWhere } from './leaves';
27
+ export type { LeafContext, AsyncLeafContext, DynamicWhereFrag, DynamicWherePlan } from './leaves';
28
+ export { emitBehaviorModule } from './emit';
29
+ export type { EmitSpec, EmitResult, EmittedEndpoint, ComparisonOp, ComparePredicate, InPredicate, TupleInPredicate, NullPredicate, CorrelationTerm, ExistsPredicate, SubqueryPredicate, Predicate, RelationSelection, QueryView, PageBound, ReadEndpoint, ValueBinding, CreateEndpoint, UpdateEndpoint, DeleteEndpoint, CreateManyEndpoint, UpdateManyEndpoint, DeleteManyEndpoint, Endpoint, EndpointSet, } from './emit';
32
30
  export { dialectFor, toDollarPlaceholders, SQLITE, POSTGRES, MYSQL } from './dialect';
33
31
  export type { Dialect, DialectName } from './dialect';
34
- export { assertExprPortable, assertComponentPortable, assertComponentGraphPortable, } from './guard';
35
- export type { ExprNode } from './guard';
36
- export { components, publishBehaviors, compileEager, } from './authoring';
37
- export type { ComponentFns, BehaviorMethodSpec, BehaviorModelContract, PublishBehaviorsOptions, EagerBehavior, Component, ComponentGraphIR, MapNode, ComponentRefNode, } from './authoring';
38
- export { whereEq, whereNe, whereLt, whereLe, whereGt, whereGe, whereIsNull, whereIn, inColumn, whereBetween, whereLike, whereILike, whereCast, whereDynamic, whereImmediate, whereTupleIn, whereInSubquery, whereExists, } from './authoring-sql';
39
- export { mapSqliteError, SqlFailure } from './errors';
40
- export type { SqlFailureKind } from './errors';
41
- export { assertFindFilterFolded, findFilterKeys, FindFilterLeakError } from './find-filter-guard';
42
- export type { FindFilterSource } from './find-filter-guard';
43
- export { sqlTypeToBcScalar, parseSchemaColumnTypes, schemaColumnTypeResolver } from './coltype';
44
- export type { BcScalar, ColumnTypeResolver } from './coltype';
45
- export { executeBehavior, compileBundle, executeBundle, read, readBundle } from './runtime';
46
- export type { SqliteDb, ExecuteOptions, SqlBundle, ReadRuntimeOptions } from './runtime';
47
- export { executeBundleAsync, executeBehaviorAsync } from './runtime';
48
- export type { AsyncExecuteOptions } from './runtime';
32
+ export { mapSqliteError, SqlFailure, LimitExceededError } from './errors';
33
+ export type { SqlFailureKind, LimitExceededContext } from './errors';
34
+ export { setLimitConfig, getLimitConfig, resetLimitConfig, resolveFindHardLimit, resolveHasManyHardLimit, assertFindHardLimit } from './limit-config';
35
+ export type { LimitConfig } from './limit-config';
36
+ export { sqlTypeToBcScalar, sqlTypeToMaterializeClass, materializeCell, materializeClassOrUndefined, parseSchemaColumnTypes, schemaColumnTypeResolver, materializeResolverFromColumnMap, failClosedMaterializeResolverFromColumnMap, columnTypeResolverFromColumnMap } from './coltype';
37
+ export type { BcScalar, MaterializeClass, ColumnTypeResolver, MaterializeResolver } from './coltype';
38
+ export type { SqliteDb, ExecuteOptions, SqlBundle } from './write-bundle';
39
+ export { execute, executeSafe, run, executeAsync, runAsync, runGuarded, runGuardedAsync, contextForDriver, contextForConnection, connectionForDriver, MiddlewareChain, PooledAsyncContext, withTransactionAsync, transaction, runWithPinnedAsyncConnection, currentPinnedAsyncConnection, } from './exec-context';
40
+ export type { ExecutionContext, AsyncExecutionContext, StatementIntent, Rows, RunInfo, SyncConnection, AsyncConnection, AsyncConnectionPool, Middleware, MiddlewareStackSource, SeamNext, SqliteDriver, TxOptions, } from './exec-context';
41
+ export { Registry, currentRegistry, withMiddlewareScope, activeSqlMiddlewares, register, use, createMiddleware, runMethod, Logger, rawExecute, rawExecuteAsync, rawQuery, rawQueryAsync, clearMiddlewares, } from './middleware';
42
+ export type { SqlHook, MethodKind, MethodHook, MethodNext, MiddlewareDescriptor, MiddlewareHandle, MiddlewareConfig, MethodHookFn, SqlNext, LogEntry, LoggerOptions, RawResult, } from './middleware';
43
+ export { ConnectionRegistry, ConnectionRegistryBuilder, WriterStickyClock, DEFAULT_CONNECTION, withWriter, inWriterScope, resolvePool, resolveConnectionConfig, sessionStatements, sessionResetStatements, configuredPool, singlePoolPair, readerWriterPair, buildRoutingConfig, } from './connection-routing';
44
+ export type { ConnectionConfig, ResolvedConnectionConfig, ReaderWriterPools, RoutingConfig, ConnectionSetup, PoolCloser, PoolFactory, } from './connection-routing';
45
+ export { isolationPhrase, beginStatements, resolveTxOptions, isRetryableTxError, sleep, runInTransactionScope, withReadOnly, isInTransaction, isReadOnly, checkWriteAllowed, WriteOutsideTransactionError, WriteInReadOnlyContextError, } from './tx-options';
46
+ export type { IsolationLevel, TransactionOptions, ResolvedTxOptions } from './tx-options';
49
47
  export { entityWrites, edgeWrites, lifecycleFor, parseEffectPath, ENTITY_ROOT, } from './writes';
50
48
  export type { PathRoot, EffectPath, RequiresEffect, UniqueEffect, DeriveEffect, EdgeEffect, EmitEffect, IdempotencyEffect, LifecycleEffects, LifecycleContract, WriteLifecyclePhase, EntityWritesDefinition, EntityWritesShape, WriteRecorder, } from './writes';
51
- export { deriveTransactionPlan, executeTransaction, countingDriver, renderTxStatement, compileWriteNode, mysqlPkHint, stripMysqlPkHint } from './makesql';
52
- export type { TxExpr, TxOp, StatementRole, GateRule, TxStatement, TransactionPlan, IdempotentHitPolicy, BaseWrite, TransactionResult, ShortCircuitReason, } from './makesql';
53
- export { compileWriteBundle, executeCommand, executeTransactionBundle } from './runtime';
54
- export { compileCompositeWriteBundle, executeCompositeCommand } from './runtime';
55
- export type { CompositeWriteEntry } from './runtime';
56
- export { compileCreateManyBundle, compileUpdateManyBundle, compileDeleteManyBundle } from './runtime';
57
- export { compileDeleteMany } from './makesql';
58
- export { CODEGEN_LANGUAGES, CODEGEN_EMITTER, generateCodegenArtifact, bundleToPortableIR, lowerReadGraphForTypedNative, codegenEmitterFor, typedEmitterFor, codegenExecuteBundleForTest, TypedNativeCoverageError, } from './codegen';
59
- export type { CodegenLanguage, SqlCatalogCompanion, CodegenArtifact, } from './codegen';
49
+ export { deriveTransactionPlan, executeTransaction, executeTransactionAsync, countingDriver, renderTxStatement, compileWriteNode, mysqlPkHint, stripMysqlPkHint } from './makesql';
50
+ export type { TxExpr, TxOp, StatementRole, GateRule, TxStatement, TransactionPlan, IdempotentHitPolicy, BaseWrite, TransactionResult, ShortCircuitReason, WriteExecOptions, } from './makesql';
51
+ export { compileWriteBundle, executeTransactionBundle } from './write-bundle';
52
+ export { compileCompositeWriteBundle } from './write-bundle';
53
+ export type { CompositeWriteEntry } from './write-bundle';
54
+ export { compileCreateManyBundle, compileUpdateManyBundle, compileDeleteManyBundle } from './write-bundle';
55
+ export { compileDeleteMany, compileInsertMany } from './makesql';
56
+ export { dbCast, dbCastIn } from '../DBValues';
60
57
  export { compileRelationOp, runRelationOp, distributeToParent, RELATION_KEYS_HEAD, } from './relation';
61
58
  export type { RelationKind, RelationDecl, RelationOp, RelationBatch, RelationDriver, } from './relation';
62
59
  export { buildResultSet, readRelationContext, RelationContext, RELATION_CONTEXT, } from './typed-object';
63
60
  export type { HydrateFactory, ReadOptions } from './typed-object';
64
- export { SemanticBehavior, behavior, when, concat, add, sub, mul, div, mod, neg, eq, ne, lt, le, gt, ge, and, or, not, coalesce, len, opt, } from 'behavior-contracts';
65
- export type { In, Recorded, BehaviorClass } from 'behavior-contracts';
61
+ export { deriveModelColumns, columnSqlType, tableNameOf, COLUMN_FAMILY_SQL_TYPE, DEFAULT_UNCAST_SQL_TYPE, compileCreateBundle, compileUpdateBundle, compileDeleteBundle, modelColumnResolver, relationKeyTypeResolver, deriveRelationDecls, relationDeclOf, compileRelationOps, } from './decorator-adapter';
62
+ export type { ModelClassLike, DeriveColumnsOptions, ModelColumns, KeyTypeResolver } from './decorator-adapter';
63
+ export { behavior, leaf, opt, refsConnection, AuthoringFailure } from 'behavior-contracts';
64
+ export type { Int, Float, WireValue, AuthoringFailureCode } from 'behavior-contracts';
66
65
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,OAAO,EACL,OAAO,EACP,mBAAmB,EACnB,2BAA2B,EAC3B,SAAS,EACT,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,WAAW,EACX,YAAY,EACZ,eAAe,EACf,eAAe,EACf,aAAa,IAAI,oBAAoB,EACrC,UAAU,EACV,aAAa,IAAI,oBAAoB,EACrC,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,IAAI,oBAAoB,EACrC,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACvB,4BAA4B,EAC5B,kCAAkC,EAClC,0BAA0B,EAC1B,kBAAkB,EAClB,YAAY,EACZ,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,GAClB,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,OAAO,IAAI,cAAc,EACzB,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,UAAU,IAAI,iBAAiB,EAC/B,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,SAAS,EACT,SAAS,EACT,UAAU,EACV,aAAa,GACd,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAG7D,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACtF,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGtD,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIxC,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACvB,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,OAAO,EACP,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,WAAW,EACX,OAAO,EACP,QAAQ,EAER,YAAY,EACZ,SAAS,EACT,UAAU,EACV,SAAS,EACT,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,eAAe,EACf,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtD,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAK/C,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAClG,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAI5D,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAChG,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAK9D,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5F,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAIzF,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACrE,YAAY,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAIrD,OAAO,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,eAAe,EACf,WAAW,GACZ,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,QAAQ,EACR,UAAU,EACV,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,aAAa,GACd,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,cAAc,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC1J,YAAY,EACV,MAAM,EACN,IAAI,EACJ,aAAa,EACb,QAAQ,EACR,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,SAAS,EACT,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAIzF,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACjF,YAAY,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAKrD,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACtG,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAM9C,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,kBAAkB,EAClB,4BAA4B,EAC5B,iBAAiB,EACjB,eAAe,EACf,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,eAAe,GAChB,MAAM,WAAW,CAAC;AAInB,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,aAAa,EACb,cAAc,GACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAKlE,OAAO,EACL,gBAAgB,EAChB,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,GAAG,EACH,EAAE,EACF,GAAG,EACH,QAAQ,EACR,GAAG,EACH,GAAG,GACJ,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scp/index.ts"],"names":[],"mappings":"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"}