litedbmodel 2.2.10 → 2.2.11

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 (116) hide show
  1. package/README.md +8 -5
  2. package/dist/DBHandler.d.ts +2 -28
  3. package/dist/DBHandler.d.ts.map +1 -1
  4. package/dist/DBHandler.js.map +1 -1
  5. package/dist/DBModel.d.ts +14 -12
  6. package/dist/DBModel.d.ts.map +1 -1
  7. package/dist/DBModel.js +71 -72
  8. package/dist/DBModel.js.map +1 -1
  9. package/dist/Middleware.d.ts +19 -17
  10. package/dist/Middleware.d.ts.map +1 -1
  11. package/dist/Middleware.js +30 -33
  12. package/dist/Middleware.js.map +1 -1
  13. package/dist/drivers/mysql.d.ts.map +1 -1
  14. package/dist/drivers/mysql.js +1 -0
  15. package/dist/drivers/mysql.js.map +1 -1
  16. package/dist/drivers/postgres.d.ts.map +1 -1
  17. package/dist/drivers/postgres.js +42 -22
  18. package/dist/drivers/postgres.js.map +1 -1
  19. package/dist/drivers/types.d.ts +2 -26
  20. package/dist/drivers/types.d.ts.map +1 -1
  21. package/dist/drivers/types.js.map +1 -1
  22. package/dist/index.cjs +211 -152
  23. package/dist/scp/connection-routing.d.ts +50 -18
  24. package/dist/scp/connection-routing.d.ts.map +1 -1
  25. package/dist/scp/connection-routing.js +55 -24
  26. package/dist/scp/connection-routing.js.map +1 -1
  27. package/dist/scp/dbmodel-runtime.d.ts +3 -0
  28. package/dist/scp/dbmodel-runtime.d.ts.map +1 -1
  29. package/dist/scp/dbmodel-runtime.js +2 -0
  30. package/dist/scp/dbmodel-runtime.js.map +1 -1
  31. package/dist/scp/exec-context.d.ts.map +1 -1
  32. package/dist/scp/exec-context.js +54 -46
  33. package/dist/scp/exec-context.js.map +1 -1
  34. package/dist/scp/index.cjs +99 -48
  35. package/dist/scp/index.mjs +96 -47
  36. package/dist/scp/makesql/pool-executor.d.ts +4 -1
  37. package/dist/scp/makesql/pool-executor.d.ts.map +1 -1
  38. package/dist/scp/makesql/pool-executor.js +21 -3
  39. package/dist/scp/makesql/pool-executor.js.map +1 -1
  40. package/dist/types.d.ts +9 -7
  41. package/dist/types.d.ts.map +1 -1
  42. package/dist/types.js.map +1 -1
  43. package/docs/BENCHMARK.md +1 -1
  44. package/docs/COMPARISON.md +2 -2
  45. package/docs/api/README.md +1 -1
  46. package/docs/api/classes/Conditions.md +1 -1
  47. package/docs/api/classes/DBHandler.md +16 -16
  48. package/docs/api/classes/DBModel.md +94 -93
  49. package/docs/api/classes/LimitExceededError.md +8 -8
  50. package/docs/api/classes/Middleware.md +35 -31
  51. package/docs/api/classes/SqlRaw.md +1 -1
  52. package/docs/api/classes/SqlRef.md +1 -1
  53. package/docs/api/classes/Values.md +1 -1
  54. package/docs/api/classes/WriteInReadOnlyContextError.md +5 -5
  55. package/docs/api/classes/WriteOutsideTransactionError.md +5 -5
  56. package/docs/api/functions/belongsTo.md +1 -1
  57. package/docs/api/functions/closeAllPools.md +2 -2
  58. package/docs/api/functions/condsToRecord.md +1 -1
  59. package/docs/api/functions/createMiddleware.md +4 -4
  60. package/docs/api/functions/createPostgresDriver.md +2 -2
  61. package/docs/api/functions/createSqliteDriver.md +1 -1
  62. package/docs/api/functions/dbCast.md +1 -1
  63. package/docs/api/functions/dbCastIn.md +1 -1
  64. package/docs/api/functions/dbDynamic.md +1 -1
  65. package/docs/api/functions/dbFalse.md +1 -1
  66. package/docs/api/functions/dbImmediate.md +1 -1
  67. package/docs/api/functions/dbIn.md +1 -1
  68. package/docs/api/functions/dbNotNull.md +1 -1
  69. package/docs/api/functions/dbNow.md +1 -1
  70. package/docs/api/functions/dbNull.md +1 -1
  71. package/docs/api/functions/dbRaw.md +1 -1
  72. package/docs/api/functions/dbTrue.md +1 -1
  73. package/docs/api/functions/dbUuid.md +1 -1
  74. package/docs/api/functions/dbUuidIn.md +1 -1
  75. package/docs/api/functions/formatLocalDate.md +1 -1
  76. package/docs/api/functions/formatUTCDate.md +1 -1
  77. package/docs/api/functions/getDBConfig.md +2 -2
  78. package/docs/api/functions/getDBHandler.md +2 -2
  79. package/docs/api/functions/getTransactionConnection.md +2 -2
  80. package/docs/api/functions/getTransactionContext.md +2 -2
  81. package/docs/api/functions/hasMany.md +1 -1
  82. package/docs/api/functions/hasOne.md +1 -1
  83. package/docs/api/functions/initDBHandler.md +2 -2
  84. package/docs/api/functions/isAnySqlFragment.md +1 -1
  85. package/docs/api/functions/isConnectionError.md +1 -1
  86. package/docs/api/functions/isSqlCondition.md +1 -1
  87. package/docs/api/functions/isSqlFragment.md +1 -1
  88. package/docs/api/functions/isSqlRaw.md +1 -1
  89. package/docs/api/functions/isSqlRef.md +1 -1
  90. package/docs/api/functions/isSqlTypedFragment.md +1 -1
  91. package/docs/api/functions/model.md +1 -1
  92. package/docs/api/functions/parentRef.md +1 -1
  93. package/docs/api/functions/sql.md +1 -1
  94. package/docs/api/globals.md +5 -5
  95. package/docs/api/interfaces/Column.md +1 -1
  96. package/docs/api/interfaces/ColumnDecorator.md +1 -1
  97. package/docs/api/interfaces/ColumnOptions.md +1 -1
  98. package/docs/api/interfaces/CreatedMiddlewareClass.md +7 -7
  99. package/docs/api/interfaces/DBConfig.md +29 -14
  100. package/docs/api/interfaces/DBConfigOptions.md +8 -8
  101. package/docs/api/interfaces/DeleteOptions.md +4 -4
  102. package/docs/api/interfaces/InsertOptions.md +8 -8
  103. package/docs/api/interfaces/LimitConfig.md +4 -4
  104. package/docs/api/interfaces/MiddlewareConfig.md +15 -15
  105. package/docs/api/interfaces/ModelClassDecorator.md +1 -1
  106. package/docs/api/interfaces/ModelOptions.md +1 -1
  107. package/docs/api/interfaces/PkeyResult.md +1 -1
  108. package/docs/api/interfaces/RelationDecorator.md +1 -1
  109. package/docs/api/interfaces/SelectOptions.md +17 -17
  110. package/docs/api/interfaces/SqlCondition.md +1 -1
  111. package/docs/api/interfaces/SqlFragment.md +1 -1
  112. package/docs/api/interfaces/SqlTypedFragment.md +1 -1
  113. package/docs/api/interfaces/TransactionOptions.md +7 -7
  114. package/docs/api/interfaces/UpdateManyOptions.md +4 -4
  115. package/docs/api/interfaces/UpdateOptions.md +4 -4
  116. package/package.json +2 -2
package/README.md CHANGED
@@ -1054,12 +1054,15 @@ const TenantMiddleware = DBModel.createMiddleware({
1054
1054
  DBModel.use(LoggerMiddleware);
1055
1055
  DBModel.use(TenantMiddleware);
1056
1056
 
1057
+ // Open one request scope at the request entry (e.g. Fastify)
1058
+ fastify.addHook('onRequest', (req, reply, done) => Middleware.run(done));
1059
+
1057
1060
  // Per-request usage (type-safe)
1058
1061
  TenantMiddleware.getCurrentContext().tenantId = req.user.tenantId;
1059
1062
  console.log(TenantMiddleware.getCurrentContext().queryCount);
1060
1063
  ```
1061
1064
 
1062
- **State lifecycle:** Each HTTP request gets its own copy of the `state` object via `AsyncLocalStorage`. States are isolated between concurrent requests and automatically cleaned up when the request ends.
1065
+ **State lifecycle:** A request is the scope opened by `Middleware.run(fn)` at the request entry. Each request gets its own copy of the `state` object (via `AsyncLocalStorage`), shared by everything the request does and isolated from concurrent requests; it is dropped when the request ends. Outside any `Middleware.run` scope (startup code, scripts), each access gets a fresh copy that lives only for that access, so state set there never leaks into later requests.
1063
1066
 
1064
1067
  ---
1065
1068
 
@@ -1313,8 +1316,8 @@ DBModel.setConfig(
1313
1316
  {
1314
1317
  writerConfig: { host: 'writer.db.example.com', database: 'mydb', ... },
1315
1318
 
1316
- // Keep using writer after transaction (default: true)
1317
- // Avoids stale reads due to replication lag
1319
+ // After a request commits, keep its reads on the writer (default: true)
1320
+ // Avoids stale reads due to replication lag; other requests are unaffected
1318
1321
  useWriterAfterTransaction: true,
1319
1322
 
1320
1323
  // Duration to keep using writer after transaction (ms, default: 5000)
@@ -1329,7 +1332,7 @@ DBModel.setConfig(
1329
1332
  |---------|------------|---------------|
1330
1333
  | Inside `transaction()` | Writer | ✅ Yes |
1331
1334
  | Inside `withWriter()` | Writer | ❌ No (SELECT only) |
1332
- | After transaction (within sticky duration) | Writer | ❌ No |
1335
+ | After this request's transaction (within sticky duration) | Writer | ❌ No |
1333
1336
  | Normal query | Reader | ❌ No |
1334
1337
 
1335
1338
  **Important:** Write operations (`create()`, `update()`, `delete()`) require a transaction. Attempting to write outside a transaction throws an error.
@@ -1441,7 +1444,7 @@ const article = await CmsDB.withWriter(async () => {
1441
1444
  | Connection Handler | Per DBBase | Each base class has its own connection pool |
1442
1445
  | Transaction Context | Per DBBase | `AsyncLocalStorage` isolated per base class |
1443
1446
  | Writer Context | Per DBBase | `withWriter()` isolated per base class |
1444
- | Sticky Timer | Per DBBase | Writer sticky duration tracked separately |
1447
+ | Sticky Timer | Per DBBase, per request | Only the request (async chain) that committed reads from the writer; concurrent requests keep reading from the reader |
1445
1448
  | Middlewares | **Global** | Cross-cutting concerns shared across all DBs |
1446
1449
  | Model Registry | **Global** | For relation resolution across databases |
1447
1450
 
@@ -15,34 +15,8 @@
15
15
  * - MySQL (via mysql2 package - optional)
16
16
  */
17
17
  import type { DBDriver, DBConnection, QueryResult, Logger } from './drivers/types';
18
- export type { QueryResult, Logger, DBConnection };
19
- /**
20
- * Database configuration
21
- */
22
- export interface DBConfig {
23
- /** Database host (for server-based DBs) */
24
- host?: string;
25
- /** Database port */
26
- port?: number;
27
- /** Database name or file path */
28
- database: string;
29
- /** Username */
30
- user?: string;
31
- /** Password */
32
- password?: string;
33
- /** Maximum pool size */
34
- max?: number;
35
- /** Connection timeout in seconds */
36
- timeout?: number;
37
- /** Query timeout in seconds */
38
- queryTimeout?: number;
39
- /** Enable TCP keepalive on connections (recommended for serverless/Lambda) */
40
- keepAlive?: boolean;
41
- /** Delay in milliseconds before first keepalive probe (default: 10000) */
42
- keepAliveInitialDelayMillis?: number;
43
- /** Driver type: 'postgres' (default), 'sqlite', or 'mysql' */
44
- driver?: 'postgres' | 'sqlite' | 'mysql';
45
- }
18
+ import type { DBConfig } from './types';
19
+ export type { QueryResult, Logger, DBConnection, DBConfig };
46
20
  export interface DBHandlerOptions {
47
21
  writerConfig?: DBConfig;
48
22
  logger?: Logger;
@@ -1 +1 @@
1
- {"version":3,"file":"DBHandler.d.ts","sourceRoot":"","sources":["../src/DBHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DBHandler.d.ts","sourceRoot":"","sources":["../src/DBHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAcxC,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;AA0F5D,MAAM,WAAW,gBAAgB;IAC/B,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,0DAA0D;IAC1D,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,0EAA0E;IAC1E,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAkC;gBAExC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAexD;;OAEG;IACH,aAAa,IAAI,UAAU,GAAG,QAAQ,GAAG,OAAO;IAIhD;;OAEG;IACH,SAAS,IAAI,QAAQ;IAIrB;;OAEG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,WAAW,CAAC;IAOxE;;OAEG;IACG,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,WAAW,CAAC;IAO7E;;OAEG;IACG,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,WAAW,CAAC;IAOhF;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,YAAY,CAAC;IAI5C;;OAEG;IACH,cAAc,CAAC,UAAU,EAAE,YAAY,GAAG,SAAS;IASnD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK/B;;;OAGG;IACH,OAAO,IAAI,OAAO;CAMnB;AASD;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAIrF;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,SAAS,CAKxC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,QAAQ,GAAG,IAAI,CAE7C;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,YAAY,GAAG,SAAS,CAK/E;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAanD;AAGD,OAAO,EAAE,2BAA2B,IAAI,uBAAuB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DBHandler.js","sourceRoot":"","sources":["../src/DBHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DBHandler.js","sourceRoot":"","sources":["../src/DBHandler.ts"],"names":[],"mappings":"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"}
package/dist/DBModel.d.ts CHANGED
@@ -13,6 +13,7 @@ import { type KeyPair, type CompositeKeyPairs } from './decorators';
13
13
  import type { DriverTypeCast } from './drivers/types';
14
14
  import { LazyRelationContext, type RelationType } from './LazyRelation';
15
15
  import { type RuntimeContext, type DeriveColumnsOptions } from './scp/dbmodel-runtime';
16
+ import { WriterStickyClock } from './scp/connection-routing';
16
17
  interface TransactionContext {
17
18
  connection: DBConnection;
18
19
  handler?: DBHandler;
@@ -146,8 +147,8 @@ export declare abstract class DBModel {
146
147
  protected static _limitConfig: LimitConfig;
147
148
  /** Configuration options for reader/writer separation */
148
149
  protected static _configOptions: DBConfigOptions;
149
- /** Last transaction completion time (for writer sticky) */
150
- protected static _lastTransactionTime: number;
150
+ /** Writer-sticky clock of the v1 execution path (the SCP runtime carries its own in its routing). */
151
+ protected static _writerSticky: WriterStickyClock;
151
152
  /**
152
153
  * The Phase A-E SCP runtime context (built lazily from `_dbConfig` for the live pg/mysql dialects).
153
154
  * `null` when not yet built; `false` when the config is sqlite / uninitialized (⇒ v1 in-proc path,
@@ -273,16 +274,14 @@ export declare abstract class DBModel {
273
274
  */
274
275
  protected static _getConditionTypeCast(): DriverTypeCast | undefined;
275
276
  /**
276
- * Get a DBHandler instance for this model.
277
- * Connection priority:
278
- * 1. Transaction connection (if in transaction)
279
- * 2. Writer context (if in withWriter())
280
- * 3. Writer sticky (if within writerStickyDuration after transaction)
281
- * 4. Default reader connection
277
+ * Get a DBHandler instance for this model: the transaction's handler inside a transaction, else the
278
+ * default handler (whose reads `execute()` sends to the writer inside `withWriter()` or while
279
+ * writer-sticky).
282
280
  */
283
281
  protected static getHandler(): DBHandler;
284
282
  /**
285
- * Check if we should use writer due to sticky after transaction.
283
+ * Check if this async chain should read from the writer because it committed a transaction within
284
+ * `writerStickyDuration` (read-your-writes for the request that wrote).
286
285
  */
287
286
  protected static _shouldUseWriterSticky(): boolean;
288
287
  /**
@@ -329,8 +328,11 @@ export declare abstract class DBModel {
329
328
  *
330
329
  * DBModel.use(LoggerMiddleware);
331
330
  *
332
- * // After queries
333
- * console.log(LoggerMiddleware.getCurrentContext().getLogs());
331
+ * // One request
332
+ * await Middleware.run(async () => {
333
+ * await handleRequest();
334
+ * console.log(LoggerMiddleware.getCurrentContext().getLogs());
335
+ * });
334
336
  * ```
335
337
  */
336
338
  static use(MiddlewareClass: MiddlewareClass): () => void;
@@ -371,7 +373,7 @@ export declare abstract class DBModel {
371
373
  * // Register
372
374
  * DBModel.use(TenantMiddleware);
373
375
  *
374
- * // Set tenant for current request (type-safe)
376
+ * // Set tenant for the current request (inside Middleware.run at the request entry, type-safe)
375
377
  * TenantMiddleware.getCurrentContext().tenantId = 123;
376
378
  * ```
377
379
  */
@@ -1 +1 @@
1
- {"version":3,"file":"DBModel.d.ts","sourceRoot":"","sources":["../src/DBModel.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAAW,UAAU,EAAE,QAAQ,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEtK,OAAO,EAAuB,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAA4D,SAAS,EAAE,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AACpI,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAuE,MAAM,SAAS,CAAC;AAEhP,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,KAAK,KAAK,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,SAAS,EAA+G,MAAM,UAAU,CAAC;AACvO,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAAoB,MAAM,eAAe,CAAC;AAC7G,OAAO,EAA2D,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,KAAK,sBAAsB,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AACrL,OAAO,EAAgE,KAAK,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAElI,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAItD,OAAO,EAAE,mBAAmB,EAAE,KAAK,YAAY,EAAuB,MAAM,gBAAgB,CAAC;AAM7F,OAAO,EAML,KAAK,cAAc,EACnB,KAAK,oBAAoB,EAE1B,MAAM,uBAAuB,CAAC;AAa/B,UAAU,kBAAkB;IAC1B,UAAU,EAAE,YAAY,CAAC;IACzB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAGD,UAAU,aAAa;IACrB,QAAQ,EAAE,IAAI,CAAC;CAChB;AAQD;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,kBAAkB,GAAG,SAAS,CAEtE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,YAAY,GAAG,SAAS,CAEnE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,YAAY,GAAG,SAAS,CAE/D;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,8BAAsB,OAAO;IAK3B,oEAAoE;IACpE,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAM;IAEzC;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,OAAO,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAIjF,4FAA4F;IAC5F,SAAS,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEzD,kEAAkE;IAClE,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAO;IAE7C,4DAA4D;IAC5D,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,SAAS,GAAG,IAAI,CAAQ;IAExD,4DAA4D;IAC5D,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAAQ;IAEzE,qEAAqE;IACrE,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,CAAQ;IAElD;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,YAAY,GAAG,gBAAgB,GAAG,IAAI,CAAQ;IAEnF;;;OAGG;IACH,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,GAAG,IAAI,CAAQ;IAEvD,+DAA+D;IAC/D,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,IAAI,CAAQ;IAEtD,yDAAyD;IACzD,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEhD,mDAAmD;IACnD,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAQ;IAM1D,sBAAsB;IACtB,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAEnD,qCAAqC;IACrC,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,CAAM;IAEhD,yDAAyD;IACzD,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,eAAe,CAG9C;IAEF,2DAA2D;IAC3D,SAAS,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAK;IAElD;;;;OAIG;IACH,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,GAAG,IAAI,GAAG,KAAK,CAAQ;IAEnE;;;;OAIG;IACH,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAM;IAE7C;;;;;;OAMG;IACH,SAAS,CAAC,MAAM,CAAC,cAAc,IAAI,cAAc,GAAG,IAAI;IAyCxD;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,CAAC,gBAAgB,IAAI,IAAI;IAIzC,6FAA6F;IAC7F,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAwD;IAE3F;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,MAAM,CAAC,eAAe,IAAI,oBAAoB,GAAG,SAAS;IA6BpE;;;;;;OAMG;IACH,SAAS,CAAC,MAAM,CAAC,UAAU,IAAI,OAAO;IAItC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,MAAM,CAAC,SAAS,CACd,MAAM,EAAE,QAAQ,EAChB,OAAO,CAAC,EAAE,eAAe,GACxB,IAAI;IAuBP;;OAEG;IACH,MAAM,CAAC,cAAc,IAAI,WAAW;IAIpC;;;;;;;;;;OAUG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAIhD;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,QAAQ,GAAG,IAAI;IAIrC;;;OAGG;IACH,MAAM,CAAC,aAAa,IAAI,UAAU,GAAG,OAAO,GAAG,QAAQ;IAIvD;;;;OAIG;IACH,SAAS,CAAC,MAAM,CAAC,oBAAoB,IAAI,gBAAgB,GAAG,SAAS;IASrE;;;;OAIG;IACH,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAClC,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,GAC9D,iBAAiB,EAAE;IAQtB;;;;OAIG;IACH,SAAS,CAAC,MAAM,CAAC,qBAAqB,IAAI,cAAc,GAAG,SAAS;IAQpE;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,CAAC,UAAU,IAAI,SAAS;IA0BxC;;OAEG;IACH,SAAS,CAAC,MAAM,CAAC,sBAAsB,IAAI,OAAO;IAQlD;;;OAGG;IACH,SAAS,CAAC,MAAM,CAAC,sBAAsB,IAAI,iBAAiB,CAAC,kBAAkB,CAAC;IAIhF;;;OAGG;IACH,SAAS,CAAC,MAAM,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,aAAa,CAAC;IAItE;;OAEG;IACH,MAAM,CAAC,eAAe,IAAI,OAAO;IAQjC,6BAA6B;IAC7B,OAAO,CAAC,MAAM,CAAC,YAAY,CAAyB;IAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,eAAe,GAAG,MAAM,IAAI;IAWxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;IACH,MAAM,CAAC,gBAAgB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC9D,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAC1B,sBAAsB,CAAC,CAAC,CAAC;IAI5B;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,CAAC,eAAe,EAAE,eAAe,GAAG,OAAO;IASlE;;OAEG;IACH,MAAM,CAAC,gBAAgB,IAAI,IAAI;IAI/B;;OAEG;IACH,MAAM,CAAC,cAAc,IAAI,SAAS,eAAe,EAAE;IAInD;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IA0B/B;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IA0BtC;;;OAGG;IACH,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,SAAS,OAAO,OAAO,EACvD,IAAI,EAAE,CAAC,EACP,UAAU,EAAE,eAAe,EAC3B,OAAO,GAAE,aAAkB,GAC1B;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,EAAE,CAAA;KAAE;IAiGrC;;;;;;;;;;;;;;;;;;;;OAoBG;WACW,cAAc,CAAC,CAAC,SAAS,OAAO,OAAO,EACnD,IAAI,EAAE,CAAC,EACP,UAAU,EAAE,eAAe,EAC3B,OAAO,GAAE,aAAkB,EAC3B,MAAM,GAAE,OAAO,EAAO,GACrB;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,EAAE,CAAA;KAAE;IAiErC;;;OAGG;mBACkB,OAAO;IAY5B,4GAA4G;IAC5G,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,eAAe,GAAG,eAAe;IAM/E,+GAA+G;IAC/G,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,SAAS,OAAO,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE;IAS1H;;;;;;;;;;OAUG;WACU,kBAAkB,CAAC,CAAC,SAAS,OAAO,OAAO,EACtD,IAAI,EAAE,CAAC,EACP,eAAe,EAAE,eAAe,GAAG,MAAM,EACzC,eAAe,GAAE,aAAa,GAAG,OAAO,EAAO,EAC/C,cAAc,CAAC,EAAE;QACf,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,GACA,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAkD7B;;;OAGG;mBACkB,MAAM;IA0C3B;;;;OAIG;IACH,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAW5D;;;OAGG;mBACkB,OAAO;IA2K5B;;;OAGG;mBACkB,OAAO;IA2D5B;;;OAGG;mBACkB,OAAO;IA8B5B;;;OAGG;IACH,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,SAAS,OAAO,OAAO,EACvD,IAAI,EAAE,CAAC,EACP,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,YAAY,CAAC,CAAC,CAAC;IAOlB;;;;;;OAMG;qBACoB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAa7H;;;;OAIG;IACH,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAY5F;;;;OAIG;IACH,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;QAAC,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;IAShL;;;OAGG;IACH,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC/B,WAAW,CAAC,EAAE,MAAM,EAAE,GACrB,UAAU;IAab,yBAAyB;IACzB,MAAM,CAAC,QAAQ,CAAC,IAAI,cAAyB;IAE7C,0BAA0B;IAC1B,MAAM,CAAC,QAAQ,CAAC,KAAK,cAA0B;IAE/C,iBAAiB;IACjB,MAAM,CAAC,QAAQ,CAAC,IAAI,cAAqB;IAEzC,qBAAqB;IACrB,MAAM,CAAC,QAAQ,CAAC,OAAO,iBAAwB;IAE/C,kBAAkB;IAClB,MAAM,CAAC,QAAQ,CAAC,GAAG,mBAAiC;IAMpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;IACH,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,OAAO,OAAO,EAAE,CAAC,EAC3C,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,OAAO,GAAG,iBAAiB,EACrC,UAAU,GAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAM,GACzD,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC;IAahC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,OAAO,OAAO,EAAE,CAAC,EAC9C,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,OAAO,GAAG,iBAAiB,EACrC,UAAU,GAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAM,GACzD,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC;IAahC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,CAAC,MAAM,CAAC,CAAC,EACb,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,GACpD,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC;IAQ9B;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,CAAC,SAAS,CAAC,CAAC,EAChB,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,GACpD,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC;IAY9B,gFAAgF;IAChF,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAA4C;IAE5E;;;;;OAKG;IACH,SAAS,CAAC,MAAM,CAAC,0BAA0B,IAAI,MAAM,EAAE;IA+BvD;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAexC;;;OAGG;IACH,MAAM,CAAC,YAAY,IAAI,MAAM;IAI7B;;;OAGG;IACH,MAAM,CAAC,WAAW,IAAI,MAAM;IAI5B;;;;OAIG;IACH,SAAS,CAAC,MAAM,CAAC,aAAa,IAAI;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,EAAE,CAAA;KAAE,GAAG,IAAI;IAa3E;;;OAGG;IACH,SAAS,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,GAAG,IAAI;IAM9C;;;OAGG;IACH,MAAM,CAAC,cAAc,IAAI,OAAO,EAAE;IAWlC;;OAEG;IACH,MAAM,CAAC,YAAY,IAAI,OAAO;IAI9B;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,OAAO,OAAO,EACvC,IAAI,EAAE,CAAC,EACP,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAA;KAAE,GAAG,WAAW,GAAG,YAAY,GAAG,gBAAgB,GAC/F,CAAC;IA2CJ;;;OAGG;IACH,MAAM,CAAC,kBAAkB,IAAI,MAAM;IAWnC,6CAA6C;IAC7C,SAAS,CAAC,WAAW,EAAE,OAAO,OAAO,CAAC;IAEtC,iEAAiE;IACjE,SAAS,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAQ;IAE7D,4DAA4D;IAC5D,OAAO,CAAC,gBAAgB,CAAoC;IAE5D,sGAAsG;IACtG,gBAAgB,EAAE,CAAC,OAAO,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAQ;;IAU5D;;;;OAIG;IACH,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAKvD;;;OAGG;IACH,SAAS,CAAC,mBAAmB,IAAI,mBAAmB;IAepD;;;OAGG;IACH,kBAAkB,IAAI,IAAI;IAS1B;;;;;;;;;OASG;IACG,aAAa,CACjB,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE;QACN,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GACA,OAAO,CAAC,OAAO,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC;IA2EtC,wCAAwC;IACxC,OAAO,CAAC,MAAM,CAAC,cAAc,CAA0C;IAEvE;;;;OAIG;IACH,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,OAAO,GAAG,IAAI;IAIrE;;;OAGG;IACH,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,OAAO,GAAG,SAAS;IAQhE;;;;;;;;;;;OAWG;IACH,cAAc,IAAI,IAAI;IAQtB;;;OAGG;IACH,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAiBzC;;;OAGG;IACH,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAe3B;;OAEG;IACH,aAAa,IAAI,MAAM;IAQvB;;;OAGG;IACH,cAAc,IAAI,OAAO;IAYzB;;OAEG;IACH,KAAK,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC;IAKpC;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAQnC;;OAEG;IACH,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAUnC;;OAEG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAQjC;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,OAAO,EACjC,IAAI,EAAE,UAAU,CAAC,EACjB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,CAAC;IAOJ;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,OAAO,EAClC,IAAI,EAAE,UAAU,CAAC,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAC9B,CAAC,EAAE;IAIN;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,OAAO,EACjC,OAAO,EAAE,CAAC,EAAE,EACZ,UAAU,EAAE,MAAM,GACjB,OAAO,EAAE;IAIZ;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,CAAC,SAAS,OAAO,EACrC,OAAO,EAAE,CAAC,EAAE,EACZ,WAAW,EAAE,MAAM,GAClB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IASpB;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,CAAC,SAAS,OAAO,EACtC,OAAO,EAAE,CAAC,EAAE,EACZ,WAAW,EAAE,MAAM,GAClB,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;IAYtB;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE;IAK1E;;OAEG;IACH,MAAM,CAAC,cAAc,CACnB,GAAG,EAAE,MAAM,EACX,KAAK,GAAE,OAAc,EACrB,IAAI,GAAE,OAAc,GACnB,MAAM;IAWT;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,OAAO,OAAO,EAChC,IAAI,EAAE,CAAC,EACP,GAAG,UAAU,EAAE,SAAS,OAAO,CAAC,CAAC,CAAC,EAAE,GACnC,QAAQ,CAAC,CAAC,CAAC;IAQd;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,OAAO,OAAO,EAClC,IAAI,EAAE,CAAC,EACP,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,EACtB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IA4B7B;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,OAAO,OAAO,EACrC,IAAI,EAAE,CAAC,EACP,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,EACtB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IASlC;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,OAAO,OAAO,EACtC,IAAI,EAAE,CAAC,EACP,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,EACtC,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAkD7B;;;;;;;;;;OAUG;IACH,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,OAAO,OAAO,EACnC,IAAI,EAAE,CAAC,EACP,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,GACrB,OAAO,CAAC,MAAM,CAAC;IAQlB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,MAAM,CAAC,MAAM,CACX,CAAC,SAAS,OAAO,OAAO,EACxB,CAAC,SAAS,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAEvD,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EACjB,OAAO,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GACvC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAwC7B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,OAAO,OAAO,EACxC,IAAI,EAAE,CAAC,EACP,UAAU,EAAE,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EACtE,OAAO,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GACvC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAwC7B;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,MAAM,CAAC,MAAM,CACX,CAAC,SAAS,OAAO,OAAO,EACxB,CAAC,SAAS,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAEvD,IAAI,EAAE,CAAC,EACP,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,EACtB,MAAM,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAClB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAuD7B;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,OAAO,OAAO,EACpC,IAAI,EAAE,CAAC,EACP,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,EACtB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAkD7B;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,OAAO,OAAO,EACxC,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAChE,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAoH7B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC;IACvE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,WAAW,GAAG,YAAY,GAAG,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC;IAyC/F;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,OAAO,OAAO,EACnC,IAAI,EAAE,CAAC,EACP,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,OAAO,EAAE,GACjB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAyB7B;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,OAAO;IAI/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;WACU,WAAW,CAAC,CAAC,EACxB,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACtB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,CAAC,CAAC;IAoGb;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAe/B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,KAAK;IAIpB;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,oBAAoB,IAAI,YAAY,GAAG,IAAI;IAKlD;;OAEG;IACH,MAAM,CAAC,gBAAgB,IAAI,YAAY,GAAG,IAAI;IAI9C;;;;;;;;;;;;;;;;;;;;OAoBG;WACU,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAsB9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;IACH,MAAM,CAAC,YAAY,CACjB,MAAM,EAAE,QAAQ,EAChB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,OAAO;IA6DjB;;;;;;;;;OASG;IACG,MAAM,CAAC,SAAS,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;CAqB/D"}
1
+ {"version":3,"file":"DBModel.d.ts","sourceRoot":"","sources":["../src/DBModel.ts"],"names":[],"mappings":"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"}
package/dist/DBModel.js CHANGED
@@ -30,6 +30,7 @@ const exec_context_1 = require("./scp/exec-context");
30
30
  // The row-lock tail SSoT (` FOR UPDATE` / ` FOR SHARE`) — shared with the SCP `compileSelect`, so the
31
31
  // imperative builder and the compiled statement render byte-identical locking clauses.
32
32
  const compile_select_1 = require("./scp/makesql/compile-select");
33
+ const connection_routing_1 = require("./scp/connection-routing");
33
34
  // AsyncLocalStorage for transaction context
34
35
  const transactionContext = new async_hooks_1.AsyncLocalStorage();
35
36
  // AsyncLocalStorage for writer context (for withWriter())
@@ -180,8 +181,8 @@ class DBModel {
180
181
  useWriterAfterTransaction: true,
181
182
  writerStickyDuration: 5000,
182
183
  };
183
- /** Last transaction completion time (for writer sticky) */
184
- static _lastTransactionTime = 0;
184
+ /** Writer-sticky clock of the v1 execution path (the SCP runtime carries its own in its routing). */
185
+ static _writerSticky = new connection_routing_1.WriterStickyClock();
185
186
  /**
186
187
  * The Phase A-E SCP runtime context (built lazily from `_dbConfig` for the live pg/mysql dialects).
187
188
  * `null` when not yet built; `false` when the config is sqlite / uninitialized (⇒ v1 in-proc path,
@@ -223,6 +224,8 @@ class DBModel {
223
224
  ...(config.user !== undefined ? { user: config.user } : {}),
224
225
  ...(config.password !== undefined ? { password: config.password } : {}),
225
226
  ...(config.max !== undefined ? { max: config.max } : {}),
227
+ ...(config.timeout !== undefined ? { timeout: config.timeout } : {}),
228
+ ...(config.idleTimeoutMillis !== undefined ? { idleTimeoutMillis: config.idleTimeoutMillis } : {}),
226
229
  ...(config.keepAlive !== undefined ? { keepAlive: config.keepAlive } : {}),
227
230
  ...(config.keepAliveInitialDelayMillis !== undefined ? { keepAliveInitialDelayMillis: config.keepAliveInitialDelayMillis } : {}),
228
231
  driver: driver,
@@ -351,6 +354,10 @@ class DBModel {
351
354
  ...this._configOptions,
352
355
  ...options,
353
356
  };
357
+ this._writerSticky = new connection_routing_1.WriterStickyClock({
358
+ useWriterAfterTransaction: this._configOptions.useWriterAfterTransaction,
359
+ writerStickyDuration: this._configOptions.writerStickyDuration,
360
+ });
354
361
  // Phase F-2 (#105): drop the cached SCP runtime so the next op rebuilds it from the new config
355
362
  // (new reader/writer pools + routing). The v1 DBHandler above still owns its own pools (used by
356
363
  // the v1 fallback path + tx-context bridging); the SCP runtime owns the routed pools for the
@@ -430,15 +437,11 @@ class DBModel {
430
437
  }
431
438
  }
432
439
  /**
433
- * Get a DBHandler instance for this model.
434
- * Connection priority:
435
- * 1. Transaction connection (if in transaction)
436
- * 2. Writer context (if in withWriter())
437
- * 3. Writer sticky (if within writerStickyDuration after transaction)
438
- * 4. Default reader connection
440
+ * Get a DBHandler instance for this model: the transaction's handler inside a transaction, else the
441
+ * default handler (whose reads `execute()` sends to the writer inside `withWriter()` or while
442
+ * writer-sticky).
439
443
  */
440
444
  static getHandler() {
441
- // Check if we're in a transaction
442
445
  const txContext = this._getTransactionContext().getStore();
443
446
  if (txContext) {
444
447
  if (!txContext.handler) {
@@ -446,27 +449,14 @@ class DBModel {
446
449
  }
447
450
  return txContext.handler;
448
451
  }
449
- const handler = (0, DBHandler_1.getDBHandler)();
450
- // Check if we're in withWriter context
451
- if (this._getWriterContext().getStore()) {
452
- // Return handler that uses writer pool for reads
453
- return handler; // executeOnWriter will be called explicitly
454
- }
455
- // Check writer sticky
456
- if (this._shouldUseWriterSticky()) {
457
- return handler; // executeOnWriter will be called explicitly
458
- }
459
- return handler;
452
+ return (0, DBHandler_1.getDBHandler)();
460
453
  }
461
454
  /**
462
- * Check if we should use writer due to sticky after transaction.
455
+ * Check if this async chain should read from the writer because it committed a transaction within
456
+ * `writerStickyDuration` (read-your-writes for the request that wrote).
463
457
  */
464
458
  static _shouldUseWriterSticky() {
465
- if (!this._configOptions.useWriterAfterTransaction) {
466
- return false;
467
- }
468
- const stickyDuration = this._configOptions.writerStickyDuration ?? 5000;
469
- return Date.now() - this._lastTransactionTime < stickyDuration;
459
+ return this._writerSticky.isSticky();
470
460
  }
471
461
  /**
472
462
  * Get transaction context storage.
@@ -521,8 +511,11 @@ class DBModel {
521
511
  *
522
512
  * DBModel.use(LoggerMiddleware);
523
513
  *
524
- * // After queries
525
- * console.log(LoggerMiddleware.getCurrentContext().getLogs());
514
+ * // One request
515
+ * await Middleware.run(async () => {
516
+ * await handleRequest();
517
+ * console.log(LoggerMiddleware.getCurrentContext().getLogs());
518
+ * });
526
519
  * ```
527
520
  */
528
521
  static use(MiddlewareClass) {
@@ -571,7 +564,7 @@ class DBModel {
571
564
  * // Register
572
565
  * DBModel.use(TenantMiddleware);
573
566
  *
574
- * // Set tenant for current request (type-safe)
567
+ * // Set tenant for the current request (inside Middleware.run at the request entry, type-safe)
575
568
  * TenantMiddleware.getCurrentContext().tenantId = 123;
576
569
  * ```
577
570
  */
@@ -2553,8 +2546,8 @@ class DBModel {
2553
2546
  // `inTransaction()` / `_checkWriteAllowed` / `getCurrentConnection()` still sees an active tx.
2554
2547
  const rt = this._getScpRuntime();
2555
2548
  if (rt !== null && this._scpUsable()) {
2556
- const useWriterAfterTx = options.useWriterAfterTransaction ?? this._configOptions.useWriterAfterTransaction ?? true;
2557
- const result = await (0, exec_context_1.transaction)(rt.ctx, () => {
2549
+ // The SCP transaction stamps the SCP routing's writer-sticky clock itself.
2550
+ return (0, exec_context_1.transaction)(rt.ctx, () => {
2558
2551
  // Set the v1 tx marker for the duration of the body (same async scope as the SCP pin). The
2559
2552
  // sentinel connection is never used for I/O — v1-fallback ops route through the SCP seam.
2560
2553
  const sentinel = {
@@ -2563,9 +2556,6 @@ class DBModel {
2563
2556
  };
2564
2557
  return txContext.run({ connection: sentinel }, func);
2565
2558
  }, options, rt.dialect);
2566
- if (useWriterAfterTx && !(options.rollbackOnly ?? false))
2567
- this._lastTransactionTime = Date.now();
2568
- return result;
2569
2559
  }
2570
2560
  // Get handler
2571
2561
  const handler = this.getHandler();
@@ -2577,49 +2567,55 @@ class DBModel {
2577
2567
  // Per-transaction option overrides global config
2578
2568
  const useWriterAfterTransaction = options.useWriterAfterTransaction ??
2579
2569
  this._configOptions.useWriterAfterTransaction ?? true;
2580
- let attempt = 0;
2581
- while (true) {
2582
- attempt++;
2583
- const connection = await handler.getConnection();
2584
- let destroyConnection = false;
2585
- try {
2586
- await connection.query('BEGIN');
2587
- const context = { connection };
2588
- const result = await txContext.run(context, func);
2589
- if (rollbackOnly) {
2590
- // Rollback instead of commit (for preview/dry-run scenarios)
2591
- await connection.query('ROLLBACK');
2592
- }
2593
- else {
2594
- await connection.query('COMMIT');
2595
- // Enable writer sticky if configured
2596
- if (useWriterAfterTransaction) {
2597
- this._lastTransactionTime = Date.now();
2598
- }
2599
- }
2600
- return result;
2601
- }
2602
- catch (error) {
2603
- destroyConnection = true;
2570
+ // Before the first `await`: the sticky cell must land in the CALLER's async chain (see
2571
+ // WriterStickyClock.begin).
2572
+ const stickyCell = this._writerSticky.begin();
2573
+ try {
2574
+ let attempt = 0;
2575
+ while (true) {
2576
+ attempt++;
2577
+ const connection = await handler.getConnection();
2578
+ let destroyConnection = false;
2604
2579
  try {
2605
- await connection.query('ROLLBACK');
2580
+ await connection.query('BEGIN');
2581
+ const context = { connection };
2582
+ const result = await txContext.run(context, func);
2583
+ if (rollbackOnly) {
2584
+ // Rollback instead of commit (for preview/dry-run scenarios)
2585
+ await connection.query('ROLLBACK');
2586
+ }
2587
+ else {
2588
+ await connection.query('COMMIT');
2589
+ if (useWriterAfterTransaction)
2590
+ this._writerSticky.mark();
2591
+ }
2592
+ return result;
2606
2593
  }
2607
- catch {
2608
- // ROLLBACK failed — connection is in an unknown state.
2609
- // destroyConnection is already true; original error is preserved.
2594
+ catch (error) {
2595
+ destroyConnection = true;
2596
+ try {
2597
+ await connection.query('ROLLBACK');
2598
+ }
2599
+ catch {
2600
+ // ROLLBACK failed — connection is in an unknown state.
2601
+ // destroyConnection is already true; original error is preserved.
2602
+ }
2603
+ if (retryOnError &&
2604
+ attempt < retryLimit &&
2605
+ this.isRetryableError(error)) {
2606
+ await this.sleep(retryDuration * Math.pow(2, attempt - 1));
2607
+ continue;
2608
+ }
2609
+ throw error;
2610
2610
  }
2611
- if (retryOnError &&
2612
- attempt < retryLimit &&
2613
- this.isRetryableError(error)) {
2614
- await this.sleep(retryDuration * Math.pow(2, attempt - 1));
2615
- continue;
2611
+ finally {
2612
+ connection.release(destroyConnection || undefined);
2616
2613
  }
2617
- throw error;
2618
- }
2619
- finally {
2620
- connection.release(destroyConnection || undefined);
2621
2614
  }
2622
2615
  }
2616
+ finally {
2617
+ this._writerSticky.end(stickyCell);
2618
+ }
2623
2619
  }
2624
2620
  /**
2625
2621
  * Check if error is retryable (deadlock, serialization failure, etc.)
@@ -2772,7 +2768,10 @@ class DBModel {
2772
2768
  writerStickyDuration: options?.writerStickyDuration ?? 5000,
2773
2769
  ...options,
2774
2770
  };
2775
- static _lastTransactionTime = 0;
2771
+ static _writerSticky = new connection_routing_1.WriterStickyClock({
2772
+ useWriterAfterTransaction: options?.useWriterAfterTransaction ?? true,
2773
+ writerStickyDuration: options?.writerStickyDuration ?? 5000,
2774
+ });
2776
2775
  // Phase F-2 (#105): this base class gets its OWN SCP runtime slot (built lazily from ITS config),
2777
2776
  // isolated from DBModel's default-config runtime and from other base classes — otherwise a
2778
2777
  // sqlite/mysql base would inherit DBModel's shared pg runtime and route its SQL to the wrong DB.