litedbmodel 2.2.2 → 2.2.4

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 (180) hide show
  1. package/README.md +2 -1
  2. package/dist/DBModel.d.ts.map +1 -1
  3. package/dist/DBModel.js +3 -0
  4. package/dist/DBModel.js.map +1 -1
  5. package/dist/Middleware.d.ts +19 -2
  6. package/dist/Middleware.d.ts.map +1 -1
  7. package/dist/Middleware.js +1 -0
  8. package/dist/Middleware.js.map +1 -1
  9. package/dist/decorators.d.ts.map +1 -1
  10. package/dist/decorators.js +8 -0
  11. package/dist/decorators.js.map +1 -1
  12. package/dist/drivers/MysqlHelper.d.ts +1 -1
  13. package/dist/drivers/MysqlHelper.d.ts.map +1 -1
  14. package/dist/drivers/MysqlHelper.js.map +1 -1
  15. package/dist/drivers/PostgresHelper.d.ts +1 -1
  16. package/dist/drivers/PostgresHelper.d.ts.map +1 -1
  17. package/dist/drivers/PostgresHelper.js.map +1 -1
  18. package/dist/drivers/SqliteHelper.d.ts +1 -1
  19. package/dist/drivers/SqliteHelper.d.ts.map +1 -1
  20. package/dist/drivers/SqliteHelper.js.map +1 -1
  21. package/dist/index.cjs +105 -74
  22. package/dist/scp/connection-routing.d.ts +38 -1
  23. package/dist/scp/connection-routing.d.ts.map +1 -1
  24. package/dist/scp/connection-routing.js +64 -5
  25. package/dist/scp/connection-routing.js.map +1 -1
  26. package/dist/scp/dbmodel-runtime.d.ts +2 -1
  27. package/dist/scp/dbmodel-runtime.d.ts.map +1 -1
  28. package/dist/scp/dbmodel-runtime.js +2 -1
  29. package/dist/scp/dbmodel-runtime.js.map +1 -1
  30. package/dist/scp/decorator-adapter.d.ts +22 -0
  31. package/dist/scp/decorator-adapter.d.ts.map +1 -1
  32. package/dist/scp/decorator-adapter.js +26 -0
  33. package/dist/scp/decorator-adapter.js.map +1 -1
  34. package/dist/scp/emit/emitter.d.ts +21 -10
  35. package/dist/scp/emit/emitter.d.ts.map +1 -1
  36. package/dist/scp/emit/emitter.js +119 -51
  37. package/dist/scp/emit/emitter.js.map +1 -1
  38. package/dist/scp/emit/endpoint.d.ts +3 -8
  39. package/dist/scp/emit/endpoint.d.ts.map +1 -1
  40. package/dist/scp/exec-context.d.ts +39 -17
  41. package/dist/scp/exec-context.d.ts.map +1 -1
  42. package/dist/scp/exec-context.js +69 -35
  43. package/dist/scp/exec-context.js.map +1 -1
  44. package/dist/scp/grouping.d.ts.map +1 -1
  45. package/dist/scp/grouping.js +0 -0
  46. package/dist/scp/grouping.js.map +1 -1
  47. package/dist/scp/index.cjs +257 -670
  48. package/dist/scp/index.d.ts +6 -11
  49. package/dist/scp/index.d.ts.map +1 -1
  50. package/dist/scp/index.js +10 -28
  51. package/dist/scp/index.js.map +1 -1
  52. package/dist/scp/index.mjs +257 -658
  53. package/dist/scp/leaf-transport.d.ts +127 -39
  54. package/dist/scp/leaf-transport.d.ts.map +1 -1
  55. package/dist/scp/leaf-transport.js +30 -24
  56. package/dist/scp/leaf-transport.js.map +1 -1
  57. package/dist/scp/leaves.d.ts +57 -20
  58. package/dist/scp/leaves.d.ts.map +1 -1
  59. package/dist/scp/leaves.js +224 -65
  60. package/dist/scp/leaves.js.map +1 -1
  61. package/dist/scp/makesql/compile-select.d.ts +28 -1
  62. package/dist/scp/makesql/compile-select.d.ts.map +1 -1
  63. package/dist/scp/makesql/compile-select.js +19 -17
  64. package/dist/scp/makesql/compile-select.js.map +1 -1
  65. package/dist/scp/makesql/index.d.ts +2 -2
  66. package/dist/scp/makesql/index.d.ts.map +1 -1
  67. package/dist/scp/makesql/index.js +4 -6
  68. package/dist/scp/makesql/index.js.map +1 -1
  69. package/dist/scp/makesql/tx.d.ts +43 -89
  70. package/dist/scp/makesql/tx.d.ts.map +1 -1
  71. package/dist/scp/makesql/tx.js +45 -496
  72. package/dist/scp/makesql/tx.js.map +1 -1
  73. package/dist/scp/makesql/writeouttype.d.ts +5 -7
  74. package/dist/scp/makesql/writeouttype.d.ts.map +1 -1
  75. package/dist/scp/makesql/writeouttype.js +13 -19
  76. package/dist/scp/makesql/writeouttype.js.map +1 -1
  77. package/dist/scp/middleware.d.ts +4 -4
  78. package/dist/scp/middleware.d.ts.map +1 -1
  79. package/dist/scp/middleware.js +2 -2
  80. package/dist/scp/middleware.js.map +1 -1
  81. package/dist/scp/relation.d.ts +31 -12
  82. package/dist/scp/relation.d.ts.map +1 -1
  83. package/dist/scp/relation.js +16 -6
  84. package/dist/scp/relation.js.map +1 -1
  85. package/dist/scp/typed-object.d.ts +23 -19
  86. package/dist/scp/typed-object.d.ts.map +1 -1
  87. package/dist/scp/typed-object.js +24 -30
  88. package/dist/scp/typed-object.js.map +1 -1
  89. package/dist/scp/write-bundle.d.ts +21 -70
  90. package/dist/scp/write-bundle.d.ts.map +1 -1
  91. package/dist/scp/write-bundle.js +16 -80
  92. package/dist/scp/write-bundle.js.map +1 -1
  93. package/dist/types.d.ts +12 -0
  94. package/dist/types.d.ts.map +1 -1
  95. package/dist/types.js.map +1 -1
  96. package/docs/BENCHMARK.md +26 -22
  97. package/docs/COMPARISON.md +8 -4
  98. package/docs/api/README.md +1 -1
  99. package/docs/api/classes/Conditions.md +10 -10
  100. package/docs/api/classes/DBHandler.md +17 -17
  101. package/docs/api/classes/DBModel.md +111 -104
  102. package/docs/api/classes/LimitExceededError.md +8 -8
  103. package/docs/api/classes/Middleware.md +18 -18
  104. package/docs/api/classes/SqlRaw.md +6 -6
  105. package/docs/api/classes/SqlRef.md +7 -7
  106. package/docs/api/classes/Values.md +6 -6
  107. package/docs/api/classes/WriteInReadOnlyContextError.md +5 -5
  108. package/docs/api/classes/WriteOutsideTransactionError.md +5 -5
  109. package/docs/api/functions/belongsTo.md +2 -2
  110. package/docs/api/functions/closeAllPools.md +2 -2
  111. package/docs/api/functions/condsToRecord.md +2 -2
  112. package/docs/api/functions/createMiddleware.md +2 -2
  113. package/docs/api/functions/createPostgresDriver.md +2 -2
  114. package/docs/api/functions/createSqliteDriver.md +2 -2
  115. package/docs/api/functions/dbCast.md +3 -3
  116. package/docs/api/functions/dbCastIn.md +2 -2
  117. package/docs/api/functions/dbDynamic.md +3 -3
  118. package/docs/api/functions/dbFalse.md +2 -2
  119. package/docs/api/functions/dbImmediate.md +2 -2
  120. package/docs/api/functions/dbIn.md +2 -2
  121. package/docs/api/functions/dbNotNull.md +2 -2
  122. package/docs/api/functions/dbNow.md +2 -2
  123. package/docs/api/functions/dbNull.md +2 -2
  124. package/docs/api/functions/dbRaw.md +2 -2
  125. package/docs/api/functions/dbTrue.md +2 -2
  126. package/docs/api/functions/dbUuid.md +3 -3
  127. package/docs/api/functions/dbUuidIn.md +2 -2
  128. package/docs/api/functions/formatLocalDate.md +25 -0
  129. package/docs/api/functions/formatUTCDate.md +25 -0
  130. package/docs/api/functions/getDBConfig.md +2 -2
  131. package/docs/api/functions/getDBHandler.md +2 -2
  132. package/docs/api/functions/getTransactionConnection.md +2 -2
  133. package/docs/api/functions/getTransactionContext.md +2 -2
  134. package/docs/api/functions/hasMany.md +2 -2
  135. package/docs/api/functions/hasOne.md +2 -2
  136. package/docs/api/functions/initDBHandler.md +2 -2
  137. package/docs/api/functions/isAnySqlFragment.md +2 -2
  138. package/docs/api/functions/isConnectionError.md +26 -0
  139. package/docs/api/functions/isSqlCondition.md +2 -2
  140. package/docs/api/functions/isSqlFragment.md +2 -2
  141. package/docs/api/functions/isSqlRaw.md +2 -2
  142. package/docs/api/functions/isSqlRef.md +2 -2
  143. package/docs/api/functions/isSqlTypedFragment.md +2 -2
  144. package/docs/api/functions/model.md +6 -42
  145. package/docs/api/functions/parentRef.md +2 -2
  146. package/docs/api/functions/sql.md +7 -7
  147. package/docs/api/globals.md +57 -22
  148. package/docs/api/interfaces/Column.md +31 -31
  149. package/docs/api/interfaces/ColumnOptions.md +5 -4
  150. package/docs/api/interfaces/CreatedMiddlewareClass.md +7 -7
  151. package/docs/api/interfaces/DBConfig.md +13 -11
  152. package/docs/api/interfaces/DBConfigOptions.md +8 -8
  153. package/docs/api/interfaces/DeleteOptions.md +4 -4
  154. package/docs/api/interfaces/InsertOptions.md +8 -8
  155. package/docs/api/interfaces/LimitConfig.md +4 -4
  156. package/docs/api/interfaces/MiddlewareConfig.md +15 -15
  157. package/docs/api/interfaces/ModelOptions.md +8 -7
  158. package/docs/api/interfaces/PkeyResult.md +4 -4
  159. package/docs/api/interfaces/SelectOptions.md +17 -16
  160. package/docs/api/interfaces/SqlCondition.md +6 -6
  161. package/docs/api/interfaces/SqlFragment.md +5 -5
  162. package/docs/api/interfaces/SqlTypedFragment.md +7 -7
  163. package/docs/api/interfaces/TransactionOptions.md +7 -7
  164. package/docs/api/interfaces/UpdateManyOptions.md +4 -4
  165. package/docs/api/interfaces/UpdateOptions.md +4 -4
  166. package/docs/architecture.md +452 -0
  167. package/docs/benchmark-chart.svg +225 -249
  168. package/docs/design/phase-a-execution-context.md +2 -0
  169. package/package.json +20 -5
  170. package/dist/scp/writes.d.ts +0 -251
  171. package/dist/scp/writes.d.ts.map +0 -1
  172. package/dist/scp/writes.js +0 -176
  173. package/dist/scp/writes.js.map +0 -1
  174. package/docs/proposal/contracts-architecture-feasibility.md +0 -328
  175. package/docs/proposal/contracts-architecture.md +0 -579
  176. package/docs/proposal/litedbmodel-v2-scp-architecture.md +0 -433
  177. package/docs/proposal/sql-dynamic-expansion-spec.md +0 -175
  178. package/docs/proposal/v0-coverage-matrix.md +0 -157
  179. package/docs/proposal/v2-completeness-plan.md +0 -90
  180. package/docs/proposal/v2-sql-parity-checklist.md +0 -162
@@ -1 +1 @@
1
- {"version":3,"file":"relation.js","sourceRoot":"","sources":["../../src/scp/relation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relation.js","sourceRoot":"","sources":["../../src/scp/relation.ts"],"names":[],"mappings":"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"}
@@ -26,30 +26,41 @@
26
26
  * Both surfaces resolve through {@link import('./relation').runRelationOp} — the identical
27
27
  * compiled op — so there is one relation-execution code path, not two.
28
28
  */
29
- import { type RelationOp, type RelationDriver } from './relation';
29
+ import { type RelationOp, type RelationTarget } from './relation';
30
30
  /** The non-enumerable Symbol under which the shared lazy batch context is stashed. */
31
31
  export declare const RELATION_CONTEXT: unique symbol;
32
32
  /** A hydrate factory (graphddb-shaped): raw typed-object → host object. */
33
33
  export type HydrateFactory<R> = (raw: Record<string, unknown>) => R;
34
34
  /**
35
- * The shared lazy batch context for one result set. Holds the sibling rows, the driver, the
36
- * compiled relation ops (keyed by name), the (optional) hydrate factory, and a per-relation
37
- * memo so a relation is batched at most ONCE across all siblings (structural no-N+1 for lazy).
38
- * Stored as a non-enumerable Symbol prop so spread/JSON/`Object.keys` never see it (a spread
39
- * or clone drops it — "designed degradation", feasibility §9).
35
+ * The shared lazy batch context for one result set. Holds the sibling rows, the batch TARGET (a raw
36
+ * driver or a full {@link import('./exec-context').ExecutionContext}), the compiled relation ops
37
+ * (keyed by name), the (optional) hydrate factory, and a per-relation memo so a relation is batched
38
+ * at most ONCE across all siblings (structural no-N+1 for lazy). Stored as a non-enumerable Symbol
39
+ * prop so spread/JSON/`Object.keys` never see it (a spread or clone drops it — "designed
40
+ * degradation", feasibility §9).
41
+ *
42
+ * ONE target, whatever a relation's DATABASE is: a CROSS-DB relation names its connection ON THE OP
43
+ * ({@link RelationOp.connection}), and {@link runRelationOp} puts that name on the statement's
44
+ * {@link import('./exec-context').StatementIntent} — the only input a target's `connectionFor` routes
45
+ * on. So this surface holds no connection registry of its own; it hands the name to the seam.
46
+ *
47
+ * WHICH targets can resolve one, on THIS plane: this surface is SYNCHRONOUS (better-sqlite3), and TS's
48
+ * {@link import('./connection-routing').ConnectionRegistry} maps a name to ASYNC pools
49
+ * ({@link import('./exec-context').AsyncConnectionPool}), so the registry-holding
50
+ * {@link import('./exec-context').PooledAsyncContext} is not even assignable here (its `connectionFor`
51
+ * yields an {@link import('./exec-context').AsyncConnection}). A named relation therefore resolves only
52
+ * against a CALLER-SUPPLIED {@link import('./exec-context').ExecutionContext} whose own `connectionFor`
53
+ * routes on `intent.db`. On a raw driver — or any other single-connection target — a named relation is
54
+ * LOUD (`assertRoutableNamedDb`), never silently run against the connection that target happens to hold.
40
55
  */
41
56
  export declare class RelationContext {
42
57
  private readonly siblings;
43
58
  private readonly ops;
44
59
  private readonly db;
45
60
  private readonly hydrate?;
46
- /** CROSS-DB (V0 R1): name → driver registry; a tagged relation routes to `connections[tag]`. */
47
- private readonly connections?;
48
61
  /** Per-relation resolved batch (name → grouping), memoized: one batch query per relation. */
49
62
  private readonly resolved;
50
- constructor(siblings: Record<string, unknown>[], ops: Readonly<Record<string, RelationOp>>, db: RelationDriver, hydrate?: HydrateFactory<unknown>, connections?: Readonly<Record<string, RelationDriver>>);
51
- /** The driver a relation runs against: its tagged cross-DB connection, else the primary `db`. */
52
- private driverFor;
63
+ constructor(siblings: Record<string, unknown>[], ops: Readonly<Record<string, RelationOp>>, db: RelationTarget, hydrate?: HydrateFactory<unknown>);
53
64
  /**
54
65
  * Resolve `relationName` for `parent` (lazy access). The relation is batch-loaded across
55
66
  * ALL siblings on first access and memoized, so N sibling accesses issue ONE query. Returns
@@ -72,13 +83,6 @@ export interface ReadOptions<R = Record<string, unknown>> {
72
83
  readonly with?: Readonly<Record<string, true>>;
73
84
  /** Host-object factory applied AFTER relation resolution (not applied to `null`). */
74
85
  readonly hydrate?: HydrateFactory<R>;
75
- /**
76
- * CROSS-DB relations (V0 R1): connection-name → driver registry. A relation whose compiled op
77
- * carries a `connection` tag (its target model lives in a DIFFERENT DB — v1
78
- * `TargetClass.getDriverType()`) is batch-loaded against `connections[tag]` instead of the
79
- * primary `db`. Untagged (same-DB) relations ignore this. Omit for a single-DB read.
80
- */
81
- readonly connections?: Readonly<Record<string, RelationDriver>>;
82
86
  }
83
87
  /**
84
88
  * Build the typed-object result set for a page of raw child rows plus the relation ops
@@ -95,5 +99,5 @@ export interface ReadOptions<R = Record<string, unknown>> {
95
99
  * Returns the typed-objects (hydrated if `options.hydrate` given). This is the litedbmodel
96
100
  * runtime concern; the bundle carries only the relation ops + assembly shape (no hydrate).
97
101
  */
98
- export declare function buildResultSet<R = Record<string, unknown>>(rawRows: readonly Record<string, unknown>[], ops: Readonly<Record<string, RelationOp>>, db: RelationDriver, options?: ReadOptions<R>): R[];
102
+ export declare function buildResultSet<R = Record<string, unknown>>(rawRows: readonly Record<string, unknown>[], ops: Readonly<Record<string, RelationOp>>, db: RelationTarget, options?: ReadOptions<R>): R[];
99
103
  //# sourceMappingURL=typed-object.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typed-object.d.ts","sourceRoot":"","sources":["../../src/scp/typed-object.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAGL,KAAK,UAAU,EAEf,KAAK,cAAc,EACpB,MAAM,YAAY,CAAC;AAEpB,sFAAsF;AACtF,eAAO,MAAM,gBAAgB,EAAE,OAAO,MAA+C,CAAC;AAEtF,2EAA2E;AAC3E,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;AAEpE;;;;;;GAMG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAuC;IAC3D,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAiB;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAA0B;IACnD,gGAAgG;IAChG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAA2C;IACxE,6FAA6F;IAC7F,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoC;gBAG3D,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EACnC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,EACzC,EAAE,EAAE,cAAc,EAClB,OAAO,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,EACjC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IASxD,iGAAiG;IACjG,OAAO,CAAC,SAAS;IAIjB;;;;OAIG;IACH,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO;CAYxE;AAeD,kGAAkG;AAClG,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,eAAe,GAAG,SAAS,CAG3F;AAUD;;;GAGG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACtD;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAC/C,qFAAqF;IACrF,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IACrC;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;CACjE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACxD,OAAO,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC3C,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,EACzC,EAAE,EAAE,cAAc,EAClB,OAAO,GAAE,WAAW,CAAC,CAAC,CAAM,GAC3B,CAAC,EAAE,CA+DL"}
1
+ {"version":3,"file":"typed-object.d.ts","sourceRoot":"","sources":["../../src/scp/typed-object.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAGL,KAAK,UAAU,EAEf,KAAK,cAAc,EACpB,MAAM,YAAY,CAAC;AAEpB,sFAAsF;AACtF,eAAO,MAAM,gBAAgB,EAAE,OAAO,MAA+C,CAAC;AAEtF,2EAA2E;AAC3E,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;AAEpE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAuC;IAC3D,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAiB;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAA0B;IACnD,6FAA6F;IAC7F,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoC;gBAG3D,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EACnC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,EACzC,EAAE,EAAE,cAAc,EAClB,OAAO,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC;IAQnC;;;;OAIG;IACH,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO;CAYxE;AAED,kGAAkG;AAClG,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,eAAe,GAAG,SAAS,CAG3F;AAUD;;;GAGG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACtD;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAC/C,qFAAqF;IACrF,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;CACtC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACxD,OAAO,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC3C,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,EACzC,EAAE,EAAE,cAAc,EAClB,OAAO,GAAE,WAAW,CAAC,CAAC,CAAM,GAC3B,CAAC,EAAE,CA6DL"}
@@ -35,31 +35,39 @@ const relation_1 = require("./relation");
35
35
  /** The non-enumerable Symbol under which the shared lazy batch context is stashed. */
36
36
  exports.RELATION_CONTEXT = Symbol('litedbmodel:relation-context');
37
37
  /**
38
- * The shared lazy batch context for one result set. Holds the sibling rows, the driver, the
39
- * compiled relation ops (keyed by name), the (optional) hydrate factory, and a per-relation
40
- * memo so a relation is batched at most ONCE across all siblings (structural no-N+1 for lazy).
41
- * Stored as a non-enumerable Symbol prop so spread/JSON/`Object.keys` never see it (a spread
42
- * or clone drops it — "designed degradation", feasibility §9).
38
+ * The shared lazy batch context for one result set. Holds the sibling rows, the batch TARGET (a raw
39
+ * driver or a full {@link import('./exec-context').ExecutionContext}), the compiled relation ops
40
+ * (keyed by name), the (optional) hydrate factory, and a per-relation memo so a relation is batched
41
+ * at most ONCE across all siblings (structural no-N+1 for lazy). Stored as a non-enumerable Symbol
42
+ * prop so spread/JSON/`Object.keys` never see it (a spread or clone drops it — "designed
43
+ * degradation", feasibility §9).
44
+ *
45
+ * ONE target, whatever a relation's DATABASE is: a CROSS-DB relation names its connection ON THE OP
46
+ * ({@link RelationOp.connection}), and {@link runRelationOp} puts that name on the statement's
47
+ * {@link import('./exec-context').StatementIntent} — the only input a target's `connectionFor` routes
48
+ * on. So this surface holds no connection registry of its own; it hands the name to the seam.
49
+ *
50
+ * WHICH targets can resolve one, on THIS plane: this surface is SYNCHRONOUS (better-sqlite3), and TS's
51
+ * {@link import('./connection-routing').ConnectionRegistry} maps a name to ASYNC pools
52
+ * ({@link import('./exec-context').AsyncConnectionPool}), so the registry-holding
53
+ * {@link import('./exec-context').PooledAsyncContext} is not even assignable here (its `connectionFor`
54
+ * yields an {@link import('./exec-context').AsyncConnection}). A named relation therefore resolves only
55
+ * against a CALLER-SUPPLIED {@link import('./exec-context').ExecutionContext} whose own `connectionFor`
56
+ * routes on `intent.db`. On a raw driver — or any other single-connection target — a named relation is
57
+ * LOUD (`assertRoutableNamedDb`), never silently run against the connection that target happens to hold.
43
58
  */
44
59
  class RelationContext {
45
60
  siblings;
46
61
  ops;
47
62
  db;
48
63
  hydrate;
49
- /** CROSS-DB (V0 R1): name → driver registry; a tagged relation routes to `connections[tag]`. */
50
- connections;
51
64
  /** Per-relation resolved batch (name → grouping), memoized: one batch query per relation. */
52
65
  resolved = new Map();
53
- constructor(siblings, ops, db, hydrate, connections) {
66
+ constructor(siblings, ops, db, hydrate) {
54
67
  this.siblings = siblings;
55
68
  this.ops = ops;
56
69
  this.db = db;
57
70
  this.hydrate = hydrate;
58
- this.connections = connections;
59
- }
60
- /** The driver a relation runs against: its tagged cross-DB connection, else the primary `db`. */
61
- driverFor(op) {
62
- return op.connection === undefined ? this.db : driverForOp(op, this.connections);
63
71
  }
64
72
  /**
65
73
  * Resolve `relationName` for `parent` (lazy access). The relation is batch-loaded across
@@ -73,25 +81,13 @@ class RelationContext {
73
81
  }
74
82
  let batch = this.resolved.get(relationName);
75
83
  if (batch === undefined) {
76
- batch = (0, relation_1.runRelationOp)(op, this.siblings, this.driverFor(op)).batch;
84
+ batch = (0, relation_1.runRelationOp)(op, this.siblings, this.db).batch;
77
85
  this.resolved.set(relationName, batch);
78
86
  }
79
87
  return applyHydrate((0, relation_1.distributeToParent)(op, parent, batch), this.hydrate);
80
88
  }
81
89
  }
82
90
  exports.RelationContext = RelationContext;
83
- /**
84
- * The driver a CROSS-DB relation op (V0 R1) runs against: the registered `connections[tag]`. Loud
85
- * failure when the tag has no registered driver (a real wiring bug — never a silent same-DB
86
- * fallback, which would run the target's query on the wrong DB). Only called for a tagged op.
87
- */
88
- function driverForOp(op, connections) {
89
- const d = connections?.[op.connection];
90
- if (d === undefined) {
91
- throw new Error(`cross-DB relation '${op.name}': no driver registered for connection '${op.connection}' (pass it in ReadOptions.connections)`);
92
- }
93
- return d;
94
- }
95
91
  /** Read the non-enumerable batch context off a typed-object (undefined if spread/cloned away). */
96
92
  function readRelationContext(o) {
97
93
  const v = o[exports.RELATION_CONTEXT];
@@ -155,7 +151,7 @@ function buildResultSet(rawRows, ops, db, options = {}) {
155
151
  return o;
156
152
  });
157
153
  // The shared lazy batch context (non-enumerable Symbol) — the whole page is the sibling set.
158
- const ctx = new RelationContext(rows, ops, db, hydrate, options.connections);
154
+ const ctx = new RelationContext(rows, ops, db, hydrate);
159
155
  for (const o of rows) {
160
156
  Object.defineProperty(o, exports.RELATION_CONTEXT, {
161
157
  value: ctx,
@@ -170,9 +166,7 @@ function buildResultSet(rawRows, ops, db, options = {}) {
170
166
  const op = ops[name];
171
167
  if (op === undefined)
172
168
  throw new Error(`declarative select: relation '${name}' is not declared on this model`);
173
- // CROSS-DB (V0 R1): a tagged relation batches against its own connection; else the primary db.
174
- const relDb = op.connection === undefined ? db : driverForOp(op, options.connections);
175
- const { batch } = (0, relation_1.runRelationOp)(op, rows, relDb);
169
+ const { batch } = (0, relation_1.runRelationOp)(op, rows, db);
176
170
  for (const o of rows) {
177
171
  o[name] = applyHydrate((0, relation_1.distributeToParent)(op, o, batch), hydrate);
178
172
  }
@@ -1 +1 @@
1
- {"version":3,"file":"typed-object.js","sourceRoot":"","sources":["../../src/scp/typed-object.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typed-object.js","sourceRoot":"","sources":["../../src/scp/typed-object.ts"],"names":[],"mappings":"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"}
@@ -1,41 +1,29 @@
1
1
  /**
2
- * litedbmodel v2 SCP — the WRITE bundle surface (spec §6 / §8 / §13 / §14).
2
+ * litedbmodel v2 SCP — the BATCH write bundle surface (spec §8 / §13 / §14).
3
3
  *
4
- * A write compiles (SYMBOLICALLY — no concrete input) to a {@link SqlBundle}: the base write
5
- * statement plus the derived, gate-first {@link TransactionPlan} the tx runtime executes. The bundle
6
- * is pure serializable JSON, so ALL FIVE language runtimes execute the SAME plan through the SAME
7
- * per-statement tx loop.
4
+ * A batch write is ONE LOGICAL operation that produces N grouped SQL statements, compiled
5
+ * SYMBOLICALLY (no concrete input) to a {@link SqlBundle}: the first statement plus the gate-free
6
+ * {@link TransactionPlan} the tx runtime executes. The bundle is pure serializable JSON, so ALL FIVE
7
+ * language runtimes execute the SAME plan through the SAME per-statement tx loop.
8
8
  *
9
- * Two shapes, one plan derivation:
10
- * - **Command** ({@link compileWriteBundle} / {@link compileCompositeWriteBundle}) — one (or several
11
- * named) base write(s) + an `entityWrites` save contract; `deriveTransactionPlan` lowers the §6
12
- * effect arrays around them into the ordered, gate-first statement list.
13
- * - **Batch** ({@link compileCreateManyBundle} / {@link compileUpdateManyBundle} /
14
- * {@link compileDeleteManyBundle}) — ONE logical op producing N grouped statements, lowered to a
15
- * gate-free plan by `deriveBatchPlan`. The batch SQL is byte-copied from the v1 builders.
9
+ * `createMany` with a heterogeneous column-set groups records into one INSERT per group (mirroring
10
+ * `DBModel._insert`); `updateMany` is one UNNEST/JSON/CASE statement; `deleteMany` is a PK-set IN-list
11
+ * DELETE. The batch SQL is byte-copied from the v1 builders (`./makesql/compile-crud`), lowered into
12
+ * the plan by `deriveBatchPlan`. The callers are the decorator write path
13
+ * (`./decorator-adapter`'s `compileCreateBundle` / `compileUpdateBundle` / `compileDeleteBundle`),
14
+ * and the bundle is executed by `./dbmodel-runtime`'s `executeWriteAsync` → `executeTransactionAsync`.
16
15
  *
17
- * READS are NOT here. A read is declared on the `@behavior` / `@leaf` authoring surface and lowered by
18
- * `bc generate` into a native module per language; the TS runtime seam for such a module is
19
- * `bind(leafHandlers(ctx))` (see `./leaves`). There is no runtime read-compile.
16
+ * SINGLE-ROW writes are NOT here, and READS are NOT here. Both are declared on the
17
+ * `@behavior` / `@leaf` authoring surface and lowered by `bc generate` into a native module per
18
+ * language; the TS runtime seam for such a module is `bind(leafHandlers(ctx))` (see `./leaves`).
19
+ * There is no runtime read-compile and no runtime single-write compile.
20
20
  */
21
- import type { Scope } from 'behavior-contracts/runtime';
22
- import type { SqliteDriver } from './exec-context';
23
- import { SqlFailure } from './errors';
24
21
  import type { DialectName } from './dialect';
25
22
  import type { ColumnTypeResolver } from './coltype';
26
- import { type TxOp, type TransactionPlan, type TransactionResult } from './makesql/tx';
23
+ import { SqlFailure } from './errors';
24
+ import { type TxOp, type TransactionPlan } from './makesql/tx';
27
25
  import { type InsertManyBuildOptions } from './makesql/compile-crud';
28
26
  import type { UpdateManyBuildOptions } from '../drivers/types';
29
- import { type EntityWritesDefinition, type LifecycleContract, type WriteLifecyclePhase } from './writes';
30
- /** The minimal synchronous SQLite driver surface the write runtime needs (better-sqlite3 `Database`). */
31
- export type SqliteDb = SqliteDriver;
32
- /** Execute options for a bundle's transaction plan: the synchronous driver. */
33
- export interface ExecuteOptions {
34
- /** The synchronous SQLite driver (better-sqlite3 `Database`). */
35
- readonly db: SqliteDb;
36
- /** The target SQL dialect (spec §4/§10). Defaults to `'sqlite'` (the in-process runtime seam). */
37
- readonly dialect?: DialectName;
38
- }
39
27
  /**
40
28
  * The compiled write bundle of ONE logical operation (spec §8) — pure serializable JSON a thin
41
29
  * per-language runtime can execute WITHOUT re-implementing litedbmodel's compile.
@@ -49,45 +37,16 @@ export interface SqlBundle {
49
37
  readonly name: string;
50
38
  /** The base-write statement template (the plan's first body statement). */
51
39
  readonly statement: TxOp;
52
- /** The derived transaction plan — gate-first for a Command, gate-free for a batch. */
40
+ /** The derived, gate-free batch transaction plan. */
53
41
  readonly transaction: TransactionPlan;
54
42
  /**
55
43
  * Codegen typed-de-box `outputType` (spec §4.1 / §9): the bc portable type of the write's
56
- * {@link TransactionResult} (entity / returnedRows rows typed via the schema SoT). Present ONLY when
57
- * a column-type resolver was supplied at compile (additive: absent → un-annotated).
44
+ * {@link import('./makesql/tx').TransactionResult} (entity / returnedRows rows typed via the schema
45
+ * SoT). Present ONLY when a column-type resolver was supplied at compile (additive: absent →
46
+ * un-annotated).
58
47
  */
59
48
  readonly outputType?: unknown;
60
49
  }
61
- /**
62
- * Compile a base write + its `entityWrites` save contract into a {@link SqlBundle} carrying the
63
- * derived, gate-first write-time-relations {@link TransactionPlan} (spec §6/§8). `base` is the
64
- * complete tuned write statement the `makesql` write compiler ({@link
65
- * import('./makesql/tx').compileWriteNode}) emits; {@link deriveTransactionPlan} lowers the
66
- * lifecycle's §6 effect arrays around it into the ordered statement list. Pure JSON; a per-language
67
- * runtime honors the SAME plan.
68
- */
69
- export declare function compileWriteBundle(name: string, base: TxOp, writes: EntityWritesDefinition, phase: WriteLifecyclePhase, dialectName?: DialectName, resolveColumnType?: ColumnTypeResolver): SqlBundle;
70
- /**
71
- * One member of a COMPOSITE (multi-write) Command (WS8a, #28 — spec §6 nested write / §14 tx-DAG):
72
- * a named base write carrying its OWN save-contract `effects`. A later member references an earlier
73
- * member's RETURNING row via `$.ref.<name>.<field>`.
74
- */
75
- export interface CompositeWriteEntry {
76
- /** The member name a later member references as `$.ref.<name>.<field>`. */
77
- readonly name: string;
78
- /** The member's complete tuned base write statement. */
79
- readonly base: TxOp;
80
- /** The member's own save-contract effects. */
81
- readonly lifecycle: LifecycleContract;
82
- }
83
- /**
84
- * Compile a COMPOSITE (multi-write) Command into a {@link SqlBundle} carrying ONE derived, gate-first,
85
- * TOPOLOGICALLY-ORDERED transaction plan (spec §6 nested write / §14). Each entry contributes a named
86
- * base write + its effects; a later member depends on an earlier via `$.ref.<name>.*`.
87
- * {@link deriveTransactionPlan} builds the DAG + gate-first constraint and derives the ordered plan; a
88
- * cycle / dangling ref is ESCALATED. Pure JSON.
89
- */
90
- export declare function compileCompositeWriteBundle(entries: readonly CompositeWriteEntry[], phase: WriteLifecyclePhase, dialectName?: DialectName): SqlBundle;
91
50
  /**
92
51
  * Compile a `createMany` into a batch write {@link SqlBundle} carrying a gate-free
93
52
  * {@link TransactionPlan}. Heterogeneous column-set groups become MULTIPLE ordered INSERT statements —
@@ -119,13 +78,5 @@ export declare function compileDeleteManyBundle(name: string, options: {
119
78
  keys: Record<string, unknown>[];
120
79
  returning?: string;
121
80
  }, dialectName?: DialectName): SqlBundle;
122
- /**
123
- * Execute a {@link SqlBundle}'s derived transaction plan (spec §6/§8) as ONE real SQLite transaction.
124
- * The SAME code path a thin per-language runtime follows: it consumes ONLY the serialized
125
- * {@link TransactionPlan} (pure JSON) + a SQL driver, never re-deriving the plan.
126
- *
127
- * @throws {SqlFailure} on a driver failure (the transaction ROLLBACKs first).
128
- */
129
- export declare function executeTransactionBundle(bundle: SqlBundle, input: Scope, options: ExecuteOptions): TransactionResult;
130
81
  export { SqlFailure };
131
82
  //# sourceMappingURL=write-bundle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"write-bundle.d.ts","sourceRoot":"","sources":["../../src/scp/write-bundle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"write-bundle.d.ts","sourceRoot":"","sources":["../../src/scp/write-bundle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAmB,KAAK,IAAI,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,EAIL,KAAK,sBAAsB,EAC5B,MAAM,wBAAwB,CAAC;AAIhC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE/D;;;;;;GAMG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,sCAAsC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,qDAAqD;IACrD,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IACtC;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B;AAQD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,sBAAsB,GAAG;IAAE,EAAE,CAAC,EAAE;QAAE,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;CAAE,EACjG,WAAW,GAAE,WAAsB,EACnC,iBAAiB,CAAC,EAAE,kBAAkB,GACrC,SAAS,CAwBX;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,sBAAsB,EAC/B,WAAW,GAAE,WAAsB,GAClC,SAAS,CAIX;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,EACzG,WAAW,GAAE,WAAsB,GAClC,SAAS,CAQX;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -1,32 +1,29 @@
1
1
  "use strict";
2
2
  /**
3
- * litedbmodel v2 SCP — the WRITE bundle surface (spec §6 / §8 / §13 / §14).
3
+ * litedbmodel v2 SCP — the BATCH write bundle surface (spec §8 / §13 / §14).
4
4
  *
5
- * A write compiles (SYMBOLICALLY — no concrete input) to a {@link SqlBundle}: the base write
6
- * statement plus the derived, gate-first {@link TransactionPlan} the tx runtime executes. The bundle
7
- * is pure serializable JSON, so ALL FIVE language runtimes execute the SAME plan through the SAME
8
- * per-statement tx loop.
5
+ * A batch write is ONE LOGICAL operation that produces N grouped SQL statements, compiled
6
+ * SYMBOLICALLY (no concrete input) to a {@link SqlBundle}: the first statement plus the gate-free
7
+ * {@link TransactionPlan} the tx runtime executes. The bundle is pure serializable JSON, so ALL FIVE
8
+ * language runtimes execute the SAME plan through the SAME per-statement tx loop.
9
9
  *
10
- * Two shapes, one plan derivation:
11
- * - **Command** ({@link compileWriteBundle} / {@link compileCompositeWriteBundle}) — one (or several
12
- * named) base write(s) + an `entityWrites` save contract; `deriveTransactionPlan` lowers the §6
13
- * effect arrays around them into the ordered, gate-first statement list.
14
- * - **Batch** ({@link compileCreateManyBundle} / {@link compileUpdateManyBundle} /
15
- * {@link compileDeleteManyBundle}) — ONE logical op producing N grouped statements, lowered to a
16
- * gate-free plan by `deriveBatchPlan`. The batch SQL is byte-copied from the v1 builders.
10
+ * `createMany` with a heterogeneous column-set groups records into one INSERT per group (mirroring
11
+ * `DBModel._insert`); `updateMany` is one UNNEST/JSON/CASE statement; `deleteMany` is a PK-set IN-list
12
+ * DELETE. The batch SQL is byte-copied from the v1 builders (`./makesql/compile-crud`), lowered into
13
+ * the plan by `deriveBatchPlan`. The callers are the decorator write path
14
+ * (`./decorator-adapter`'s `compileCreateBundle` / `compileUpdateBundle` / `compileDeleteBundle`),
15
+ * and the bundle is executed by `./dbmodel-runtime`'s `executeWriteAsync` → `executeTransactionAsync`.
17
16
  *
18
- * READS are NOT here. A read is declared on the `@behavior` / `@leaf` authoring surface and lowered by
19
- * `bc generate` into a native module per language; the TS runtime seam for such a module is
20
- * `bind(leafHandlers(ctx))` (see `./leaves`). There is no runtime read-compile.
17
+ * SINGLE-ROW writes are NOT here, and READS are NOT here. Both are declared on the
18
+ * `@behavior` / `@leaf` authoring surface and lowered by `bc generate` into a native module per
19
+ * language; the TS runtime seam for such a module is `bind(leafHandlers(ctx))` (see `./leaves`).
20
+ * There is no runtime read-compile and no runtime single-write compile.
21
21
  */
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
23
  exports.SqlFailure = void 0;
24
- exports.compileWriteBundle = compileWriteBundle;
25
- exports.compileCompositeWriteBundle = compileCompositeWriteBundle;
26
24
  exports.compileCreateManyBundle = compileCreateManyBundle;
27
25
  exports.compileUpdateManyBundle = compileUpdateManyBundle;
28
26
  exports.compileDeleteManyBundle = compileDeleteManyBundle;
29
- exports.executeTransactionBundle = executeTransactionBundle;
30
27
  const errors_1 = require("./errors");
31
28
  Object.defineProperty(exports, "SqlFailure", { enumerable: true, get: function () { return errors_1.SqlFailure; } });
32
29
  const tx_1 = require("./makesql/tx");
@@ -34,57 +31,6 @@ const compile_crud_1 = require("./makesql/compile-crud");
34
31
  const mysql_returning_1 = require("./makesql/mysql-returning");
35
32
  const makesql_1 = require("./makesql/makesql");
36
33
  const writeouttype_1 = require("./makesql/writeouttype");
37
- const writes_1 = require("./writes");
38
- /** Diagnostics label for a base write (its SQL verb). */
39
- function writeLabelOf(sql) {
40
- const m = /^\s*(INSERT|UPDATE|DELETE)/i.exec(sql);
41
- return m === null ? 'Write' : m[1][0].toUpperCase() + m[1].slice(1).toLowerCase();
42
- }
43
- // ── Write-time relations: the Command bundle (WS5, #25 — spec §6) ──────────────
44
- /**
45
- * Compile a base write + its `entityWrites` save contract into a {@link SqlBundle} carrying the
46
- * derived, gate-first write-time-relations {@link TransactionPlan} (spec §6/§8). `base` is the
47
- * complete tuned write statement the `makesql` write compiler ({@link
48
- * import('./makesql/tx').compileWriteNode}) emits; {@link deriveTransactionPlan} lowers the
49
- * lifecycle's §6 effect arrays around it into the ordered statement list. Pure JSON; a per-language
50
- * runtime honors the SAME plan.
51
- */
52
- function compileWriteBundle(name, base, writes, phase, dialectName = 'sqlite', resolveColumnType) {
53
- const lifecycle = (0, writes_1.lifecycleFor)(writes, phase);
54
- if (lifecycle === undefined) {
55
- throw new Error(`scp write: the '${phase}' lifecycle is not declared in the entityWrites save contract`);
56
- }
57
- const plan = (0, tx_1.deriveTransactionPlan)(phase, [{ op: base, label: writeLabelOf(base.sql) }], lifecycle, dialectName);
58
- const bundle = { dialect: dialectName, name, statement: base, transaction: plan };
59
- // Codegen typed de-box (spec §4.1/§9): when the schema/DDL column-type SoT is supplied, annotate the
60
- // bundle with the TransactionResult `outputType` so the typed emitters materialize a concrete struct
61
- // for the result. Fail-closed inside `annotateWriteBundleOutType`.
62
- return resolveColumnType === undefined ? bundle : (0, writeouttype_1.annotateWriteBundleOutType)(bundle, resolveColumnType);
63
- }
64
- /**
65
- * Compile a COMPOSITE (multi-write) Command into a {@link SqlBundle} carrying ONE derived, gate-first,
66
- * TOPOLOGICALLY-ORDERED transaction plan (spec §6 nested write / §14). Each entry contributes a named
67
- * base write + its effects; a later member depends on an earlier via `$.ref.<name>.*`.
68
- * {@link deriveTransactionPlan} builds the DAG + gate-first constraint and derives the ordered plan; a
69
- * cycle / dangling ref is ESCALATED. Pure JSON.
70
- */
71
- function compileCompositeWriteBundle(entries, phase, dialectName = 'sqlite') {
72
- if (entries.length < 2) {
73
- throw new Error('scp write: a composite write bundle needs at least 2 named write members (use compileWriteBundle for a single write).');
74
- }
75
- const bases = entries.map((e) => ({ op: e.base, label: `${writeLabelOf(e.base.sql)} ${e.name}`, name: e.name, effects: e.lifecycle.effects }));
76
- const plan = (0, tx_1.deriveTransactionPlan)(phase, bases, { effects: {} }, dialectName);
77
- return { dialect: dialectName, name: entries[0].name, statement: entries[0].base, transaction: plan };
78
- }
79
- // ── Batch writes: createMany / updateMany / deleteMany ─────────────────────────
80
- //
81
- // A batch write is ONE LOGICAL operation that produces N grouped SQL statements (createMany with a
82
- // heterogeneous column-set groups records into one INSERT per group, mirroring `DBModel._insert`;
83
- // updateMany is one UNNEST/JSON/CASE statement; deleteMany is a PK-set IN-list DELETE). The batch
84
- // compilers (`compileInsertMany`/`compileUpdateMany`/`compileDeleteMany`) copy the v1 builders
85
- // byte-for-byte; here they are lowered into a gate-free {@link TransactionPlan} of body statements
86
- // ({@link deriveBatchPlan}), so ALL FIVE runtimes execute the multi-statement batch through the SAME
87
- // per-statement tx loop with no runtime change.
88
34
  /** Flatten a batch compiler's `MakeSQL` component to a concrete `{ sql, params }` op. */
89
35
  function flattenBatchOp(node, label) {
90
36
  const assembled = (0, makesql_1.assembleMakeSQL)(node);
@@ -142,19 +88,9 @@ function compileDeleteManyBundle(name, options, dialectName = 'sqlite') {
142
88
  const components = (0, compile_crud_1.compileDeleteMany)({ dialect: dialectName, ...options });
143
89
  const ops = components.map((c, i) => flattenBatchOp(c, `deleteMany group ${i}`));
144
90
  if (ops.length === 0) {
145
- return { dialect: dialectName, name, statement: { sql: '', params: [] }, transaction: { phase: 'remove', entityFrom: null, statements: [], onIdempotentHit: 'rollback' } };
91
+ return { dialect: dialectName, name, statement: { sql: '', params: [] }, transaction: { phase: 'remove', entityFrom: null, statements: [] } };
146
92
  }
147
93
  const plan = (0, tx_1.deriveBatchPlan)('remove', ops);
148
94
  return { dialect: dialectName, name, statement: { sql: ops[0].sql, params: ops[0].params }, transaction: plan };
149
95
  }
150
- /**
151
- * Execute a {@link SqlBundle}'s derived transaction plan (spec §6/§8) as ONE real SQLite transaction.
152
- * The SAME code path a thin per-language runtime follows: it consumes ONLY the serialized
153
- * {@link TransactionPlan} (pure JSON) + a SQL driver, never re-deriving the plan.
154
- *
155
- * @throws {SqlFailure} on a driver failure (the transaction ROLLBACKs first).
156
- */
157
- function executeTransactionBundle(bundle, input, options) {
158
- return (0, tx_1.executeTransaction)(options.db, bundle.transaction, input, bundle.dialect);
159
- }
160
96
  //# sourceMappingURL=write-bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"write-bundle.js","sourceRoot":"","sources":["../../src/scp/write-bundle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"write-bundle.js","sourceRoot":"","sources":["../../src/scp/write-bundle.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -40,6 +40,18 @@ export interface ModelOptions {
40
40
  updateTable?: string;
41
41
  /** DEFAULT_GROUP: Returns Column(s) or string for default grouping */
42
42
  group?: () => Column | Column[] | string;
43
+ /**
44
+ * CONNECTION: the NAME of the database this model lives in (multi-DB). Absent ⇒ the default
45
+ * connection. This is the SAME authority v1 gives the model — a v1 model picks its database by
46
+ * extending a `DBModel.createDBBase(config)` base class, whose handler owns the connection, and a
47
+ * relation is batch-loaded on the TARGET model's (`LazyRelation.ts:236`
48
+ * `TargetClass.getDriverType()`). Naming it makes that authority READABLE at emit time, which is
49
+ * what the codegen path needs: the emitter bakes the name onto every statement of every endpoint
50
+ * declared over this model, and onto the child fetch of every relation whose TARGET is this model,
51
+ * so a per-language runtime routes the statement to the pooled driver registered under it
52
+ * (`ConnectionRegistry`). Unregistered ⇒ LOUD, never a silent run against the wrong database.
53
+ */
54
+ connection?: string;
43
55
  }
44
56
  /**
45
57
  * Database connection configuration.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAMzD;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,UAAU;IACzB,4BAA4B;IAC5B,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,+EAA+E;IAC/E,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC;CACrB;AAMD;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,SAAS,CAAC;IAExB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,KAAK,CAAC;IAErB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,iEAAiE;IACjE,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC;CAC1C;AAMD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,kEAAkE;IAClE,MAAM,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;IACzC,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0EAA0E;IAC1E,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAMD,MAAM,WAAW,aAAa;IAC5B,8EAA8E;IAC9E,KAAK,CAAC,EAAE,OAAO,UAAU,EAAE,SAAS,GAAG,MAAM,CAAC;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oGAAoG;IACpG,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC;IACvB;;;;;;;;;;OAUG;IACH,GAAG,CAAC,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,OAAO,EAAE,CAAC;KACnB,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa,CAAC,KAAK,GAAG,OAAO;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/D;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;IACpD;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC9B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAMD,gBAAgB;AAChB,MAAM,WAAW,qBAAqB,CAAC,KAAK,GAAG,OAAO,CAAE,SAAQ,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;IACrG,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,gBAAgB;AAChB,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,gBAAgB;AAChB,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8EAA8E;IAC9E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AAMD;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAMD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD,gBAAgB;AAChB,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CAClD;AAMD;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;aAEzB,KAAK,EAAE,MAAM;IAC7B;;;OAGG;aACa,WAAW,EAAE,MAAM;aACnB,OAAO,EAAE,MAAM,GAAG,UAAU;aAC5B,SAAS,CAAC,EAAE,MAAM;aAClB,YAAY,CAAC,EAAE,MAAM;gBARrB,KAAK,EAAE,MAAM;IAC7B;;;OAGG;IACa,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GAAG,UAAU,EAC5B,SAAS,CAAC,EAAE,MAAM,YAAA,EAClB,YAAY,CAAC,EAAE,MAAM,YAAA;CAexC;AAED;;;;GAIG;AACH,qBAAa,4BAA6B,SAAQ,KAAK;aAEnC,SAAS,EAAE,MAAM;aACjB,SAAS,CAAC,EAAE,MAAM;gBADlB,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,YAAA;CAQrC;AAED;;;;GAIG;AACH,qBAAa,2BAA4B,SAAQ,KAAK;aAElC,SAAS,EAAE,MAAM;aACjB,SAAS,CAAC,EAAE,MAAM;gBADlB,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,YAAA;CAQrC;AAMD;;;GAGG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC1B,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM;CACzE,CAAC;AAaF,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe;IACxE,QAAQ,CAAC,CAAC;IACV,YAAY,IAAI,MAAM,CAAC;IACvB,kBAAkB,IAAI,MAAM,CAAC;IAC7B,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B,cAAc,IAAI,IAAI,CAAC;IACvB,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC1C,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5B,aAAa,IAAI,MAAM,CAAC;IACxB,cAAc,IAAI,OAAO,CAAC;CAC3B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAMzD;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,UAAU;IACzB,4BAA4B;IAC5B,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,+EAA+E;IAC/E,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC;CACrB;AAMD;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,SAAS,CAAC;IAExB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,KAAK,CAAC;IAErB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,iEAAiE;IACjE,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC;IAEzC;;;;;;;;;;OAUG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAMD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,kEAAkE;IAClE,MAAM,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;IACzC,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0EAA0E;IAC1E,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAMD,MAAM,WAAW,aAAa;IAC5B,8EAA8E;IAC9E,KAAK,CAAC,EAAE,OAAO,UAAU,EAAE,SAAS,GAAG,MAAM,CAAC;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oGAAoG;IACpG,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC;IACvB;;;;;;;;;;OAUG;IACH,GAAG,CAAC,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,OAAO,EAAE,CAAC;KACnB,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa,CAAC,KAAK,GAAG,OAAO;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/D;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;IACpD;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC9B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAMD,gBAAgB;AAChB,MAAM,WAAW,qBAAqB,CAAC,KAAK,GAAG,OAAO,CAAE,SAAQ,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;IACrG,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,gBAAgB;AAChB,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,gBAAgB;AAChB,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8EAA8E;IAC9E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AAMD;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAMD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD,gBAAgB;AAChB,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CAClD;AAMD;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;aAEzB,KAAK,EAAE,MAAM;IAC7B;;;OAGG;aACa,WAAW,EAAE,MAAM;aACnB,OAAO,EAAE,MAAM,GAAG,UAAU;aAC5B,SAAS,CAAC,EAAE,MAAM;aAClB,YAAY,CAAC,EAAE,MAAM;gBARrB,KAAK,EAAE,MAAM;IAC7B;;;OAGG;IACa,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GAAG,UAAU,EAC5B,SAAS,CAAC,EAAE,MAAM,YAAA,EAClB,YAAY,CAAC,EAAE,MAAM,YAAA;CAexC;AAED;;;;GAIG;AACH,qBAAa,4BAA6B,SAAQ,KAAK;aAEnC,SAAS,EAAE,MAAM;aACjB,SAAS,CAAC,EAAE,MAAM;gBADlB,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,YAAA;CAQrC;AAED;;;;GAIG;AACH,qBAAa,2BAA4B,SAAQ,KAAK;aAElC,SAAS,EAAE,MAAM;aACjB,SAAS,CAAC,EAAE,MAAM;gBADlB,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,YAAA;CAQrC;AAMD;;;GAGG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC1B,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM;CACzE,CAAC;AAaF,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe;IACxE,QAAQ,CAAC,CAAC;IACV,YAAY,IAAI,MAAM,CAAC;IACvB,kBAAkB,IAAI,MAAM,CAAC;IAC7B,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B,cAAc,IAAI,IAAI,CAAC;IACvB,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC1C,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5B,aAAa,IAAI,MAAM,CAAC;IACxB,cAAc,IAAI,OAAO,CAAC;CAC3B"}