@prisma-next/sql-relational-core 0.5.0-dev.7 → 0.5.0-dev.70

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 (72) hide show
  1. package/README.md +65 -1
  2. package/dist/{errors-D3xmG4h-.mjs → errors-Cb03_kgU.mjs} +2 -2
  3. package/dist/{errors-D3xmG4h-.mjs.map → errors-Cb03_kgU.mjs.map} +1 -1
  4. package/dist/{errors-ChY_dHam.d.mts → errors-DCg-36g-.d.mts} +2 -2
  5. package/dist/errors-DCg-36g-.d.mts.map +1 -0
  6. package/dist/exports/ast.d.mts +154 -85
  7. package/dist/exports/ast.d.mts.map +1 -1
  8. package/dist/exports/ast.mjs +229 -1289
  9. package/dist/exports/ast.mjs.map +1 -1
  10. package/dist/exports/codec-descriptor-registry.d.mts +17 -0
  11. package/dist/exports/codec-descriptor-registry.d.mts.map +1 -0
  12. package/dist/exports/codec-descriptor-registry.mjs +40 -0
  13. package/dist/exports/codec-descriptor-registry.mjs.map +1 -0
  14. package/dist/exports/errors.d.mts +1 -4
  15. package/dist/exports/errors.mjs +2 -3
  16. package/dist/exports/expression.d.mts +84 -0
  17. package/dist/exports/expression.d.mts.map +1 -0
  18. package/dist/exports/expression.mjs +62 -0
  19. package/dist/exports/expression.mjs.map +1 -0
  20. package/dist/exports/plan.d.mts +3 -2
  21. package/dist/exports/plan.mjs +1 -17
  22. package/dist/exports/query-lane-context.d.mts +2 -3
  23. package/dist/exports/query-lane-context.mjs +1 -1
  24. package/dist/exports/types.d.mts +3 -4
  25. package/dist/exports/types.mjs +1 -1
  26. package/dist/index.d.mts +10 -11
  27. package/dist/index.mjs +6 -5
  28. package/dist/plan-CZ6CFuSX.d.mts +24 -0
  29. package/dist/plan-CZ6CFuSX.d.mts.map +1 -0
  30. package/dist/query-lane-context-DaimN0zf.d.mts +174 -0
  31. package/dist/query-lane-context-DaimN0zf.d.mts.map +1 -0
  32. package/dist/sql-execution-plan-DgcD75jn.d.mts +32 -0
  33. package/dist/sql-execution-plan-DgcD75jn.d.mts.map +1 -0
  34. package/dist/types-BnLrX_Vr.d.mts +23 -0
  35. package/dist/types-BnLrX_Vr.d.mts.map +1 -0
  36. package/dist/{types-k9pir8XY.d.mts → types-Czw4j_wY.d.mts} +18 -25
  37. package/dist/types-Czw4j_wY.d.mts.map +1 -0
  38. package/dist/{types-C3Hg-CVz.d.mts → types-hwPoFZX2.d.mts} +36 -23
  39. package/dist/types-hwPoFZX2.d.mts.map +1 -0
  40. package/dist/types-vA5134SY.mjs +1072 -0
  41. package/dist/types-vA5134SY.mjs.map +1 -0
  42. package/package.json +16 -12
  43. package/src/ast/adapter-types.ts +6 -14
  44. package/src/ast/codec-types.ts +90 -372
  45. package/src/ast/sql-codec-helpers.ts +79 -0
  46. package/src/ast/sql-codecs.ts +285 -125
  47. package/src/ast/types.ts +170 -175
  48. package/src/ast/util.ts +23 -0
  49. package/src/ast/validate-param-refs.ts +39 -0
  50. package/src/codec-descriptor-registry.ts +52 -0
  51. package/src/exports/ast.ts +2 -0
  52. package/src/exports/codec-descriptor-registry.ts +1 -0
  53. package/src/exports/expression.ts +1 -0
  54. package/src/exports/plan.ts +1 -0
  55. package/src/exports/types.ts +1 -0
  56. package/src/expression.ts +134 -0
  57. package/src/index.ts +1 -0
  58. package/src/plan.ts +11 -30
  59. package/src/query-lane-context.ts +35 -55
  60. package/src/runtime-scope.ts +20 -0
  61. package/src/sql-execution-plan.ts +28 -0
  62. package/src/types.ts +9 -22
  63. package/dist/codec-types-DcEITed4.d.mts +0 -144
  64. package/dist/codec-types-DcEITed4.d.mts.map +0 -1
  65. package/dist/errors-ChY_dHam.d.mts.map +0 -1
  66. package/dist/exports/plan.mjs.map +0 -1
  67. package/dist/plan-Cs65hb-E.d.mts +0 -28
  68. package/dist/plan-Cs65hb-E.d.mts.map +0 -1
  69. package/dist/query-lane-context-UlR8vOkd.d.mts +0 -89
  70. package/dist/query-lane-context-UlR8vOkd.d.mts.map +0 -1
  71. package/dist/types-C3Hg-CVz.d.mts.map +0 -1
  72. package/dist/types-k9pir8XY.d.mts.map +0 -1
package/README.md CHANGED
@@ -89,7 +89,71 @@ flowchart TD
89
89
 
90
90
  ### Plan Helpers (`plan.ts`)
91
91
  - Defines `SqlQueryPlan<Row>` interface for SQL query plans produced by lanes before lowering
92
- - Provides `augmentDescriptorWithColumnMeta(descriptors, columnMeta)` helper to update ParamDescriptor with `codecId` and `nativeType` from column metadata
92
+ - Per [ADR 205](../../../../docs/architecture%20docs/adrs/ADR%20205%20-%20Execution%20metadata%20lives%20on%20AST.md), codec IDs travel on `ProjectionItem.codecId` (output) and `ParamRef.codecId` (parameters) on the AST itself, not on plan-level descriptor lists
93
+
94
+ ### Codec authoring (class form)
95
+
96
+ Codec authors extend the framework `CodecImpl` (and pair the codec with a `CodecDescriptorImpl` registration) per [ADR 208 — Higher-order codecs for parameterized types](../../../../docs/architecture%20docs/adrs/ADR%20208%20-%20Higher-order%20codecs%20for%20parameterized%20types.md). Each codec class declares the four conversion methods (`encode`, `decode`, `encodeJson`, `decodeJson`); the descriptor class declares static metadata (`codecId`, `traits`, `targetTypes`, `meta`, `paramsSchema`, optional `renderOutputType`) and a `factory` returning a per-instance codec.
97
+
98
+ - Query-time methods (`encode` / `decode`) are typed as `Promise<…>`-returning at the public boundary; sync method bodies are accepted via TypeScript bivariance and the runtime always awaits.
99
+ - Build-time methods (`encodeJson` / `decodeJson` / `renderOutputType?`) stay synchronous so contract validation and client construction stay synchronous.
100
+ - Both `encode` and `decode` must be implemented — there is no identity-default fallback.
101
+
102
+ ```ts
103
+ // Non-parameterized codec (P = void) — see packages/3-targets/3-targets/postgres/src/core/codecs.ts
104
+ // for the production form.
105
+ import {
106
+ CodecDescriptorImpl,
107
+ CodecImpl,
108
+ voidParamsSchema,
109
+ type CodecCallContext,
110
+ type CodecInstanceContext,
111
+ } from '@prisma-next/framework-components/codec';
112
+
113
+ class PgTextCodec extends CodecImpl<'pg/text@1', readonly ['equality'], string, string> {
114
+ override readonly id = 'pg/text@1';
115
+ override readonly traits = ['equality'] as const;
116
+ encode(v: string, _ctx: CodecCallContext): Promise<string> { return Promise.resolve(v); }
117
+ decode(w: string, _ctx: CodecCallContext): Promise<string> { return Promise.resolve(w); }
118
+ encodeJson(v: string) { return v; }
119
+ decodeJson(j: unknown) { return j as string; }
120
+ }
121
+
122
+ class PgTextDescriptor extends CodecDescriptorImpl<void> {
123
+ override readonly codecId = 'pg/text@1';
124
+ override readonly traits = ['equality'] as const;
125
+ override readonly targetTypes = ['text'] as const;
126
+ override readonly paramsSchema = voidParamsSchema;
127
+ override readonly factory = () => (_ctx: CodecInstanceContext) => new PgTextCodec();
128
+ }
129
+ ```
130
+
131
+ #### Codec call context (`ctx`)
132
+
133
+ Codecs receive a second `ctx` options argument; you may ignore it. The runtime allocates one `SqlCodecCallContext` per `runtime.execute(plan, { signal })` call and threads the same reference to every codec dispatch site as a non-optional argument — when no `signal` is supplied the runtime still threads an empty `{}`, never `undefined`. The internal `Codec` interface declares the parameter as required (`encode(value, ctx: SqlCodecCallContext)` / `decode(wire, ctx: SqlCodecCallContext)`); single-arg method bodies continue to compile via TypeScript's bivariance for trailing parameters, so codec ergonomics are unchanged.
134
+
135
+ - **`ctx.signal`** — the same `AbortSignal` reference at every codec call in one execute. Forward it to network SDKs so aborted queries stop talking to the underlying service.
136
+ - **`ctx.column`** (decode-side only) — `{ table, name }` for cells the runtime can resolve to a single column ref; `undefined` for aggregate aliases, computed projections, and other unresolvable cells. Encode-side `ctx.column` is always `undefined` (encode-time column enrichment is the middleware's domain).
137
+
138
+ ```ts
139
+ // Forward ctx.signal to a network call so aborted queries stop the SDK.
140
+ class PgKmsSecretCodec extends CodecImpl<'pg/kms-secret@1', readonly [], string, string> {
141
+ override readonly id = 'pg/kms-secret@1';
142
+ override readonly traits = [] as const;
143
+ override async encode(v: string, ctx: SqlCodecCallContext): Promise<string> {
144
+ return kms.encrypt({ plaintext: v }, { signal: ctx.signal });
145
+ }
146
+ override async decode(w: string, ctx: SqlCodecCallContext): Promise<string> {
147
+ return kms.decrypt({ ciphertext: w }, { signal: ctx.signal });
148
+ }
149
+ encodeJson(v: string) { return v; }
150
+ decodeJson(j: unknown) { return j as string; }
151
+ }
152
+ ```
153
+
154
+ Codec bodies that ignore `ctx.signal` complete in the background (cooperative cancellation); aborts still surface to the caller as `RUNTIME.ABORTED` with `details.phase ∈ { 'encode', 'decode', 'stream' }`.
155
+
156
+ See [ADR 204 — Single-Path Async Codec Runtime](../../../../docs/architecture%20docs/adrs/ADR%20204%20-%20Single-Path%20Async%20Codec%20Runtime.md) and [ADR 207 — Codec call context: per-query `AbortSignal` and column metadata](../../../../docs/architecture%20docs/adrs/ADR%20207%20-%20Codec%20call%20context%20per-query%20AbortSignal%20and%20column%20metadata.md).
93
157
 
94
158
  ### AST Surface (`ast/*` via `exports/ast.ts`)
95
159
  - Query roots: `SelectAst`, `InsertAst`, `UpdateAst`, `DeleteAst`
@@ -29,7 +29,7 @@ function planUnsupported(message, details, hints, docs) {
29
29
  docs
30
30
  });
31
31
  }
32
-
33
32
  //#endregion
34
33
  export { planUnsupported as n, planInvalid as t };
35
- //# sourceMappingURL=errors-D3xmG4h-.mjs.map
34
+
35
+ //# sourceMappingURL=errors-Cb03_kgU.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors-D3xmG4h-.mjs","names":[],"sources":["../src/errors.ts"],"sourcesContent":["import type { RuntimeError } from './types';\n\nexport function planInvalid(\n message: string,\n details?: Record<string, unknown>,\n hints?: readonly string[],\n docs?: readonly string[],\n): RuntimeError {\n const error = new Error(message) as RuntimeError;\n\n Object.defineProperty(error, 'name', {\n value: 'RuntimeError',\n configurable: true,\n });\n\n return Object.assign(error, {\n code: 'PLAN.INVALID',\n category: 'PLAN' as const,\n severity: 'error' as const,\n details,\n hints,\n docs,\n });\n}\n\nexport function planUnsupported(\n message: string,\n details?: Record<string, unknown>,\n hints?: readonly string[],\n docs?: readonly string[],\n): RuntimeError {\n const error = new Error(message) as RuntimeError;\n\n Object.defineProperty(error, 'name', {\n value: 'RuntimeError',\n configurable: true,\n });\n\n return Object.assign(error, {\n code: 'PLAN.UNSUPPORTED',\n category: 'PLAN' as const,\n severity: 'error' as const,\n details,\n hints,\n docs,\n });\n}\n"],"mappings":";AAEA,SAAgB,YACd,SACA,SACA,OACA,MACc;CACd,MAAM,QAAQ,IAAI,MAAM,QAAQ;AAEhC,QAAO,eAAe,OAAO,QAAQ;EACnC,OAAO;EACP,cAAc;EACf,CAAC;AAEF,QAAO,OAAO,OAAO,OAAO;EAC1B,MAAM;EACN,UAAU;EACV,UAAU;EACV;EACA;EACA;EACD,CAAC;;AAGJ,SAAgB,gBACd,SACA,SACA,OACA,MACc;CACd,MAAM,QAAQ,IAAI,MAAM,QAAQ;AAEhC,QAAO,eAAe,OAAO,QAAQ;EACnC,OAAO;EACP,cAAc;EACf,CAAC;AAEF,QAAO,OAAO,OAAO,OAAO;EAC1B,MAAM;EACN,UAAU;EACV,UAAU;EACV;EACA;EACA;EACD,CAAC"}
1
+ {"version":3,"file":"errors-Cb03_kgU.mjs","names":[],"sources":["../src/errors.ts"],"sourcesContent":["import type { RuntimeError } from './types';\n\nexport function planInvalid(\n message: string,\n details?: Record<string, unknown>,\n hints?: readonly string[],\n docs?: readonly string[],\n): RuntimeError {\n const error = new Error(message) as RuntimeError;\n\n Object.defineProperty(error, 'name', {\n value: 'RuntimeError',\n configurable: true,\n });\n\n return Object.assign(error, {\n code: 'PLAN.INVALID',\n category: 'PLAN' as const,\n severity: 'error' as const,\n details,\n hints,\n docs,\n });\n}\n\nexport function planUnsupported(\n message: string,\n details?: Record<string, unknown>,\n hints?: readonly string[],\n docs?: readonly string[],\n): RuntimeError {\n const error = new Error(message) as RuntimeError;\n\n Object.defineProperty(error, 'name', {\n value: 'RuntimeError',\n configurable: true,\n });\n\n return Object.assign(error, {\n code: 'PLAN.UNSUPPORTED',\n category: 'PLAN' as const,\n severity: 'error' as const,\n details,\n hints,\n docs,\n });\n}\n"],"mappings":";AAEA,SAAgB,YACd,SACA,SACA,OACA,MACc;CACd,MAAM,QAAQ,IAAI,MAAM,QAAQ;CAEhC,OAAO,eAAe,OAAO,QAAQ;EACnC,OAAO;EACP,cAAc;EACf,CAAC;CAEF,OAAO,OAAO,OAAO,OAAO;EAC1B,MAAM;EACN,UAAU;EACV,UAAU;EACV;EACA;EACA;EACD,CAAC;;AAGJ,SAAgB,gBACd,SACA,SACA,OACA,MACc;CACd,MAAM,QAAQ,IAAI,MAAM,QAAQ;CAEhC,OAAO,eAAe,OAAO,QAAQ;EACnC,OAAO;EACP,cAAc;EACf,CAAC;CAEF,OAAO,OAAO,OAAO,OAAO;EAC1B,MAAM;EACN,UAAU;EACV,UAAU;EACV;EACA;EACA;EACD,CAAC"}
@@ -1,8 +1,8 @@
1
- import { b as RuntimeError } from "./types-k9pir8XY.mjs";
1
+ import { y as RuntimeError } from "./types-Czw4j_wY.mjs";
2
2
 
3
3
  //#region src/errors.d.ts
4
4
  declare function planInvalid(message: string, details?: Record<string, unknown>, hints?: readonly string[], docs?: readonly string[]): RuntimeError;
5
5
  declare function planUnsupported(message: string, details?: Record<string, unknown>, hints?: readonly string[], docs?: readonly string[]): RuntimeError;
6
6
  //#endregion
7
7
  export { planUnsupported as n, planInvalid as t };
8
- //# sourceMappingURL=errors-ChY_dHam.d.mts.map
8
+ //# sourceMappingURL=errors-DCg-36g-.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors-DCg-36g-.d.mts","names":[],"sources":["../src/errors.ts"],"mappings":";;;iBAEgB,WAAA,CACd,OAAA,UACA,OAAA,GAAU,MAAA,mBACV,KAAA,sBACA,IAAA,uBACC,YAAA;AAAA,iBAkBa,eAAA,CACd,OAAA,UACA,OAAA,GAAU,MAAA,mBACV,KAAA,sBACA,IAAA,uBACC,YAAA"}
@@ -1,5 +1,9 @@
1
- import { a as CodecMeta, c as CodecRegistry, d as ExtractCodecTypes, f as ExtractDataTypes, h as defineCodecs, i as CodecInput, l as CodecTrait, m as createCodecRegistry, n as CodecDefBuilder, o as CodecOutput, p as codec, r as CodecId, s as CodecParamsDescriptor, t as Codec, u as CodecTraits } from "../codec-types-DcEITed4.mjs";
2
- import { $ as ToWhereExpr, A as InsertOnConflict, B as NotExpr, C as ExistsExpr, D as ExpressionSource, E as ExpressionRewriter, F as JsonObjectEntry, G as ParamRef, H as OperationExpr, I as JsonObjectExpr, J as SelectAst, K as ProjectionExpr, L as ListExpression, M as JoinAst, N as JoinOnExpr, O as IdentifierRef, P as JsonArrayAggExpr, Q as TableSource, R as LiteralExpr, S as EqColJoinOn, T as ExpressionFolder, U as OrExpr, V as NullCheckExpr, W as OrderByItem, X as SubqueryExpr, Y as SelectAstOptions, Z as TableRef, _ as DeleteAst, a as AndExpr, at as whereExprKinds, b as DoNothingConflictAction, c as AnyInsertOnConflictAction, d as AnyQueryAst, et as UpdateAst, f as AstRewriter, g as DefaultValueExpr, h as ColumnRef, i as AggregateOpFn, it as queryAstKinds, j as InsertValue, k as InsertAst, l as AnyInsertValue, m as BinaryOp, n as AggregateExpr, nt as isQueryAst, o as AnyExpression, p as BinaryExpr, q as ProjectionItem, r as AggregateFn, rt as isWhereExpr, s as AnyFromSource, t as AggregateCountFn, tt as WhereArg, u as AnyOperationArg, v as DerivedTableSource, w as ExprVisitor, x as DoUpdateSetConflictAction, y as Direction, z as LoweredStatement } from "../types-C3Hg-CVz.mjs";
1
+ import { $ as TableSource, A as InsertOnConflict, B as NotExpr, C as ExistsExpr, D as ExpressionSource, E as ExpressionRewriter, F as JsonObjectEntry, G as ParamRef, H as OperationExpr, I as JsonObjectExpr, J as ProjectionItem, K as ParamRefBindingRefs, L as ListExpression, M as JoinAst, N as JoinOnExpr, O as IdentifierRef, P as JsonArrayAggExpr, Q as TableRef, R as LiteralExpr, S as EqColJoinOn, T as ExpressionFolder, U as OrExpr, V as NullCheckExpr, W as OrderByItem, X as SelectAstOptions, Y as SelectAst, Z as SubqueryExpr, _ as DeleteAst, a as AndExpr, at as queryAstKinds, b as DoNothingConflictAction, c as AnyInsertOnConflictAction, d as AnyQueryAst, et as ToWhereExpr, f as AstRewriter, g as DefaultValueExpr, h as ColumnRef, i as AggregateOpFn, it as isWhereExpr, j as InsertValue, k as InsertAst, l as AnyInsertValue, m as BinaryOp, n as AggregateExpr, nt as WhereArg, o as AnyExpression, ot as whereExprKinds, p as BinaryExpr, q as ProjectionExpr, r as AggregateFn, rt as isQueryAst, s as AnyFromSource, t as AggregateCountFn, tt as UpdateAst, u as AnyOperationArg, v as DerivedTableSource, w as ExprVisitor, x as DoUpdateSetConflictAction, y as Direction, z as LoweredStatement } from "../types-hwPoFZX2.mjs";
2
+ import { _ as ExtractCodecTypes, b as SqlColumnRef, c as Codec, d as CodecMeta, f as CodecTrait, g as DescriptorCodecTraits, h as DescriptorCodecInput, l as CodecCallContext, m as DescriptorCodecId, n as CodecDescriptorRegistry, p as ContractCodecRegistry, s as AnyCodecDescriptor, u as CodecDescriptor, v as SqlCodecCallContext, y as SqlCodecInstanceContext } from "../query-lane-context-DaimN0zf.mjs";
3
+ import * as _$_prisma_next_framework_components_codec0 from "@prisma-next/framework-components/codec";
4
+ import { CodecCallContext as CodecCallContext$1, CodecDescriptorImpl, CodecImpl, CodecInstanceContext } from "@prisma-next/framework-components/codec";
5
+ import { ContractMarkerRecord, JsonValue } from "@prisma-next/contract/types";
6
+ import { StandardSchemaV1 } from "@standard-schema/spec";
3
7
 
4
8
  //#region src/ast/adapter-types.d.ts
5
9
  type AdapterTarget = string;
@@ -12,17 +16,13 @@ interface AdapterProfile<TTarget extends AdapterTarget = AdapterTarget> {
12
16
  readonly target: TTarget;
13
17
  readonly capabilities: Record<string, unknown>;
14
18
  /**
15
- * Returns the adapter's default codec registry.
16
- * The registry contains codecs provided by the adapter for converting
17
- * between wire types and JavaScript types.
19
+ * Returns the SQL statement to read the contract marker from the database. Each adapter provides target-specific SQL (e.g. schema-qualified table names, parameter placeholder style).
18
20
  */
19
- codecs(): CodecRegistry;
21
+ readMarkerStatement(): MarkerStatement;
20
22
  /**
21
- * Returns the SQL statement to read the contract marker from the database.
22
- * Each adapter provides target-specific SQL (e.g. schema-qualified table names,
23
- * parameter placeholder style).
23
+ * Parses a row returned by the adapter's `readMarkerStatement()` into a `ContractMarkerRecord`. Each adapter is responsible for any target-specific decoding before delegating to the shared row schema. Throws on shape violation.
24
24
  */
25
- readMarkerStatement(): MarkerStatement;
25
+ parseMarkerRow(row: unknown): ContractMarkerRecord;
26
26
  }
27
27
  interface LowererContext<TContract = unknown> {
28
28
  readonly contract: TContract;
@@ -30,11 +30,7 @@ interface LowererContext<TContract = unknown> {
30
30
  }
31
31
  type Lowerer<Ast = unknown, TContract = unknown, TBody = LoweredStatement> = (ast: Ast, context: LowererContext<TContract>) => TBody;
32
32
  /**
33
- * Lowers a query AST into a target-specific executable body (typically
34
- * `LoweredStatement` for SQL adapters). The `lower` method returns the body
35
- * directly; per-statement metadata, when needed, lives on the body itself
36
- * (e.g. `LoweredStatement.annotations`). Adapter-level metadata such as the
37
- * profile id is reachable via `profile.id` for callers that genuinely need it.
33
+ * Lowers a query AST into a target-specific executable body (typically `LoweredStatement` for SQL adapters). The `lower` method returns the body directly; per-statement metadata, when needed, lives on the body itself (e.g. `LoweredStatement.annotations`). Adapter-level metadata such as the profile id is reachable via `profile.id` for callers that genuinely need it.
38
34
  */
39
35
  interface Adapter<Ast = unknown, TContract = unknown, TBody = LoweredStatement> {
40
36
  readonly profile: AdapterProfile;
@@ -105,86 +101,159 @@ interface SqlQueryable {
105
101
  query<Row = Record<string, unknown>>(sql: string, params?: readonly unknown[]): Promise<SqlQueryResult<Row>>;
106
102
  }
107
103
  //#endregion
108
- //#region src/ast/sql-codecs.d.ts
104
+ //#region src/ast/sql-codec-helpers.d.ts
109
105
  declare const SQL_CHAR_CODEC_ID: "sql/char@1";
110
106
  declare const SQL_VARCHAR_CODEC_ID: "sql/varchar@1";
111
107
  declare const SQL_INT_CODEC_ID: "sql/int@1";
112
108
  declare const SQL_FLOAT_CODEC_ID: "sql/float@1";
113
109
  declare const SQL_TEXT_CODEC_ID: "sql/text@1";
114
110
  declare const SQL_TIMESTAMP_CODEC_ID: "sql/timestamp@1";
115
- declare const codecs: CodecDefBuilder<{
116
- char: Codec<"sql/char@1", readonly ["equality", "order", "textual"], string, string, Record<string, unknown>, unknown>;
117
- varchar: Codec<"sql/varchar@1", readonly ["equality", "order", "textual"], string, string, Record<string, unknown>, unknown>;
118
- int: Codec<"sql/int@1", readonly ["equality", "order", "numeric"], number, number, Record<string, unknown>, unknown>;
119
- float: Codec<"sql/float@1", readonly ["equality", "order", "numeric"], number, number, Record<string, unknown>, unknown>;
120
- text: Codec<"sql/text@1", readonly ["equality", "order", "textual"], string, string, Record<string, unknown>, unknown>;
121
- } & Record<"timestamp", Codec<"sql/timestamp@1", readonly ["equality", "order"], string, string, {
122
- precision?: number;
123
- }, unknown>>>;
124
- declare const sqlCodecDefinitions: {
125
- readonly char: {
126
- readonly typeId: "sql/char@1";
127
- readonly scalar: "char";
128
- readonly codec: Codec<"sql/char@1", readonly ["equality", "order", "textual"], string, string, Record<string, unknown>, unknown>;
129
- readonly input: string;
130
- readonly output: string;
131
- readonly jsType: string;
132
- };
133
- readonly varchar: {
134
- readonly typeId: "sql/varchar@1";
135
- readonly scalar: "varchar";
136
- readonly codec: Codec<"sql/varchar@1", readonly ["equality", "order", "textual"], string, string, Record<string, unknown>, unknown>;
137
- readonly input: string;
138
- readonly output: string;
139
- readonly jsType: string;
140
- };
141
- readonly int: {
142
- readonly typeId: "sql/int@1";
143
- readonly scalar: "int";
144
- readonly codec: Codec<"sql/int@1", readonly ["equality", "order", "numeric"], number, number, Record<string, unknown>, unknown>;
145
- readonly input: number;
146
- readonly output: number;
147
- readonly jsType: number;
148
- };
149
- readonly float: {
150
- readonly typeId: "sql/float@1";
151
- readonly scalar: "float";
152
- readonly codec: Codec<"sql/float@1", readonly ["equality", "order", "numeric"], number, number, Record<string, unknown>, unknown>;
153
- readonly input: number;
154
- readonly output: number;
155
- readonly jsType: number;
156
- };
157
- readonly text: {
158
- readonly typeId: "sql/text@1";
159
- readonly scalar: "text";
160
- readonly codec: Codec<"sql/text@1", readonly ["equality", "order", "textual"], string, string, Record<string, unknown>, unknown>;
161
- readonly input: string;
162
- readonly output: string;
163
- readonly jsType: string;
164
- };
165
- readonly timestamp: {
166
- readonly typeId: "sql/timestamp@1";
167
- readonly scalar: "timestamp";
168
- readonly codec: Codec<"sql/timestamp@1", readonly ["equality", "order"], string, string, {
169
- precision?: number;
170
- }, unknown>;
171
- readonly input: string;
172
- readonly output: string;
173
- readonly jsType: string;
174
- };
111
+ declare const sqlCharEncode: (value: string) => string;
112
+ declare const sqlCharDecode: (wire: string) => string;
113
+ declare const sqlCharRenderOutputType: (typeParams: {
114
+ readonly length?: number;
115
+ }) => string | undefined;
116
+ declare const sqlVarcharEncode: (value: string) => string;
117
+ declare const sqlVarcharDecode: (wire: string) => string;
118
+ declare const sqlVarcharRenderOutputType: (typeParams: {
119
+ readonly length?: number;
120
+ }) => string | undefined;
121
+ declare const sqlIntEncode: (value: number) => number;
122
+ declare const sqlIntDecode: (wire: number) => number;
123
+ declare const sqlFloatEncode: (value: number) => number;
124
+ declare const sqlFloatDecode: (wire: number) => number;
125
+ declare const sqlTextEncode: (value: string) => string;
126
+ declare const sqlTextDecode: (wire: string) => string;
127
+ declare const sqlTimestampEncode: (value: Date) => Date;
128
+ declare const sqlTimestampDecode: (wire: Date) => Date;
129
+ declare const sqlTimestampEncodeJson: (value: Date) => JsonValue;
130
+ declare const sqlTimestampDecodeJson: (json: JsonValue) => Date;
131
+ declare const sqlTimestampRenderOutputType: (typeParams: {
132
+ readonly precision?: number;
133
+ }) => string;
134
+ //#endregion
135
+ //#region src/ast/sql-codecs.d.ts
136
+ type LengthParams = {
137
+ readonly length?: number;
175
138
  };
176
- declare const sqlDataTypes: {
177
- readonly char: "sql/char@1";
178
- readonly varchar: "sql/varchar@1";
179
- readonly int: "sql/int@1";
180
- readonly float: "sql/float@1";
181
- readonly text: "sql/text@1";
182
- readonly timestamp: "sql/timestamp@1";
139
+ type PrecisionParams = {
140
+ readonly precision?: number;
183
141
  };
184
- type SqlCodecTypes = typeof codecs.CodecTypes;
142
+ declare class SqlTextCodec extends CodecImpl<typeof SQL_TEXT_CODEC_ID, readonly ['equality', 'order', 'textual'], string, string> {
143
+ encode(value: string, _ctx: CodecCallContext$1): Promise<string>;
144
+ decode(wire: string, _ctx: CodecCallContext$1): Promise<string>;
145
+ encodeJson(value: string): JsonValue;
146
+ decodeJson(json: JsonValue): string;
147
+ }
148
+ declare class SqlTextDescriptor extends CodecDescriptorImpl<void> {
149
+ readonly codecId: "sql/text@1";
150
+ readonly traits: readonly ["equality", "order", "textual"];
151
+ readonly targetTypes: readonly ["text"];
152
+ readonly paramsSchema: StandardSchemaV1<void>;
153
+ factory(): (ctx: CodecInstanceContext) => SqlTextCodec;
154
+ }
155
+ declare const sqlTextDescriptor: SqlTextDescriptor;
156
+ declare const sqlTextColumn: () => _$_prisma_next_framework_components_codec0.ColumnSpec<SqlTextCodec, undefined>;
157
+ declare class SqlIntCodec extends CodecImpl<typeof SQL_INT_CODEC_ID, readonly ['equality', 'order', 'numeric'], number, number> {
158
+ encode(value: number, _ctx: CodecCallContext$1): Promise<number>;
159
+ decode(wire: number, _ctx: CodecCallContext$1): Promise<number>;
160
+ encodeJson(value: number): JsonValue;
161
+ decodeJson(json: JsonValue): number;
162
+ }
163
+ declare class SqlIntDescriptor extends CodecDescriptorImpl<void> {
164
+ readonly codecId: "sql/int@1";
165
+ readonly traits: readonly ["equality", "order", "numeric"];
166
+ readonly targetTypes: readonly ["int"];
167
+ readonly paramsSchema: StandardSchemaV1<void>;
168
+ factory(): (ctx: CodecInstanceContext) => SqlIntCodec;
169
+ }
170
+ declare const sqlIntDescriptor: SqlIntDescriptor;
171
+ declare const sqlIntColumn: () => _$_prisma_next_framework_components_codec0.ColumnSpec<SqlIntCodec, undefined>;
172
+ declare class SqlFloatCodec extends CodecImpl<typeof SQL_FLOAT_CODEC_ID, readonly ['equality', 'order', 'numeric'], number, number> {
173
+ encode(value: number, _ctx: CodecCallContext$1): Promise<number>;
174
+ decode(wire: number, _ctx: CodecCallContext$1): Promise<number>;
175
+ encodeJson(value: number): JsonValue;
176
+ decodeJson(json: JsonValue): number;
177
+ }
178
+ declare class SqlFloatDescriptor extends CodecDescriptorImpl<void> {
179
+ readonly codecId: "sql/float@1";
180
+ readonly traits: readonly ["equality", "order", "numeric"];
181
+ readonly targetTypes: readonly ["float"];
182
+ readonly paramsSchema: StandardSchemaV1<void>;
183
+ factory(): (ctx: CodecInstanceContext) => SqlFloatCodec;
184
+ }
185
+ declare const sqlFloatDescriptor: SqlFloatDescriptor;
186
+ declare const sqlFloatColumn: () => _$_prisma_next_framework_components_codec0.ColumnSpec<SqlFloatCodec, undefined>;
187
+ declare class SqlCharCodec extends CodecImpl<typeof SQL_CHAR_CODEC_ID, readonly ['equality', 'order', 'textual'], string, string> {
188
+ encode(value: string, _ctx: CodecCallContext$1): Promise<string>;
189
+ decode(wire: string, _ctx: CodecCallContext$1): Promise<string>;
190
+ encodeJson(value: string): JsonValue;
191
+ decodeJson(json: JsonValue): string;
192
+ }
193
+ declare class SqlCharDescriptor extends CodecDescriptorImpl<LengthParams> {
194
+ readonly codecId: "sql/char@1";
195
+ readonly traits: readonly ["equality", "order", "textual"];
196
+ readonly targetTypes: readonly ["char"];
197
+ readonly paramsSchema: StandardSchemaV1<LengthParams>;
198
+ renderOutputType(params: LengthParams): string | undefined;
199
+ factory(_params: LengthParams): (ctx: CodecInstanceContext) => SqlCharCodec;
200
+ }
201
+ declare const sqlCharDescriptor: SqlCharDescriptor;
202
+ declare const sqlCharColumn: (params?: LengthParams) => _$_prisma_next_framework_components_codec0.ColumnSpec<SqlCharCodec, LengthParams>;
203
+ declare class SqlVarcharCodec extends CodecImpl<typeof SQL_VARCHAR_CODEC_ID, readonly ['equality', 'order', 'textual'], string, string> {
204
+ encode(value: string, _ctx: CodecCallContext$1): Promise<string>;
205
+ decode(wire: string, _ctx: CodecCallContext$1): Promise<string>;
206
+ encodeJson(value: string): JsonValue;
207
+ decodeJson(json: JsonValue): string;
208
+ }
209
+ declare class SqlVarcharDescriptor extends CodecDescriptorImpl<LengthParams> {
210
+ readonly codecId: "sql/varchar@1";
211
+ readonly traits: readonly ["equality", "order", "textual"];
212
+ readonly targetTypes: readonly ["varchar"];
213
+ readonly paramsSchema: StandardSchemaV1<LengthParams>;
214
+ renderOutputType(params: LengthParams): string | undefined;
215
+ factory(_params: LengthParams): (ctx: CodecInstanceContext) => SqlVarcharCodec;
216
+ }
217
+ declare const sqlVarcharDescriptor: SqlVarcharDescriptor;
218
+ declare const sqlVarcharColumn: (params?: LengthParams) => _$_prisma_next_framework_components_codec0.ColumnSpec<SqlVarcharCodec, LengthParams>;
219
+ declare class SqlTimestampCodec extends CodecImpl<typeof SQL_TIMESTAMP_CODEC_ID, readonly ['equality', 'order'], Date, Date> {
220
+ encode(value: Date, _ctx: CodecCallContext$1): Promise<Date>;
221
+ decode(wire: Date, _ctx: CodecCallContext$1): Promise<Date>;
222
+ encodeJson(value: Date): JsonValue;
223
+ decodeJson(json: JsonValue): Date;
224
+ }
225
+ declare class SqlTimestampDescriptor extends CodecDescriptorImpl<PrecisionParams> {
226
+ readonly codecId: "sql/timestamp@1";
227
+ readonly traits: readonly ["equality", "order"];
228
+ readonly targetTypes: readonly ["timestamp"];
229
+ readonly paramsSchema: StandardSchemaV1<PrecisionParams>;
230
+ renderOutputType(params: PrecisionParams): string | undefined;
231
+ factory(_params: PrecisionParams): (ctx: CodecInstanceContext) => SqlTimestampCodec;
232
+ }
233
+ declare const sqlTimestampDescriptor: SqlTimestampDescriptor;
234
+ declare const sqlTimestampColumn: (params?: PrecisionParams) => _$_prisma_next_framework_components_codec0.ColumnSpec<SqlTimestampCodec, PrecisionParams>;
185
235
  //#endregion
186
236
  //#region src/ast/util.d.ts
187
237
  declare function compact<T extends Record<string, unknown>>(o: T): T;
238
+ /**
239
+ * Walks an AST's parameter references in first-encounter order and dedupes
240
+ * by ParamRef identity. The single canonical helper used by every consumer
241
+ * that aligns `plan.params` with metadata-by-index — the SQL builder lane,
242
+ * the SQL ORM client, the SQL runtime encoder, and the Postgres renderer's
243
+ * `$N` index map — so the four walks cannot drift in dedupe semantics.
244
+ *
245
+ * SQLite's `?`-placeholder renderer intentionally does NOT use this helper
246
+ * because it needs one params entry per occurrence in the SQL.
247
+ */
248
+ declare function collectOrderedParamRefs(ast: AnyQueryAst): ReadonlyArray<ParamRef>;
249
+ //#endregion
250
+ //#region src/ast/validate-param-refs.d.ts
251
+ /**
252
+ * Validate that every parameterized-codec `ParamRef` in `plan` carries `refs`. Throws `RUNTIME.PARAM_REF_REFS_REQUIRED` (a runtime envelope) naming the codec id and the binding label when the invariant is violated. Returns the plan unchanged on success — callers that prefer a side-effecting assertion can ignore the return value.
253
+ *
254
+ * The `registry` is consulted via `descriptorFor(codecId).isParameterized` — `true` whenever the descriptor's `paramsSchema` is not the singleton `voidParamsSchema`.
255
+ */
256
+ declare function validateParamRefRefs(plan: AnyQueryAst, registry: CodecDescriptorRegistry): void;
188
257
  //#endregion
189
- export { Adapter, AdapterProfile, AdapterTarget, AggregateCountFn, AggregateExpr, AggregateFn, AggregateOpFn, AndExpr, AnyExpression, AnyFromSource, AnyInsertOnConflictAction, AnyInsertValue, AnyOperationArg, AnyQueryAst, AstRewriter, BinaryExpr, BinaryOp, Codec, CodecDefBuilder, CodecId, CodecInput, CodecMeta, CodecOutput, CodecParamsDescriptor, CodecRegistry, CodecTrait, CodecTraits, ColumnRef, DefaultValueExpr, DeleteAst, DerivedTableSource, Direction, DoNothingConflictAction, DoUpdateSetConflictAction, EqColJoinOn, ExistsExpr, ExprVisitor, ExpressionFolder, ExpressionRewriter, ExpressionSource, ExtractCodecTypes, ExtractDataTypes, IdentifierRef, InsertAst, InsertOnConflict, InsertValue, JoinAst, JoinOnExpr, JsonArrayAggExpr, JsonObjectEntry, JsonObjectExpr, ListExpression, LiteralExpr, LoweredStatement, Lowerer, LowererContext, MarkerStatement, NotExpr, NullCheckExpr, OperationExpr, OrExpr, OrderByItem, ParamRef, ProjectionExpr, ProjectionItem, SQL_CHAR_CODEC_ID, SQL_FLOAT_CODEC_ID, SQL_INT_CODEC_ID, SQL_TEXT_CODEC_ID, SQL_TIMESTAMP_CODEC_ID, SQL_VARCHAR_CODEC_ID, SelectAst, SelectAstOptions, SqlCodecTypes, SqlConnection, SqlDriver, SqlDriverState, SqlExecuteRequest, SqlExplainResult, SqlQueryResult, SqlQueryable, SqlTransaction, SubqueryExpr, TableRef, TableSource, ToWhereExpr, UpdateAst, WhereArg, codec, compact, createCodecRegistry, defineCodecs, isQueryAst, isWhereExpr, queryAstKinds, sqlCodecDefinitions, sqlDataTypes, whereExprKinds };
258
+ export { Adapter, AdapterProfile, AdapterTarget, AggregateCountFn, AggregateExpr, AggregateFn, AggregateOpFn, AndExpr, AnyCodecDescriptor, AnyExpression, AnyFromSource, AnyInsertOnConflictAction, AnyInsertValue, AnyOperationArg, AnyQueryAst, AstRewriter, BinaryExpr, BinaryOp, Codec, CodecCallContext, CodecDescriptor, CodecMeta, CodecTrait, ColumnRef, ContractCodecRegistry, DefaultValueExpr, DeleteAst, DerivedTableSource, DescriptorCodecId, DescriptorCodecInput, DescriptorCodecTraits, Direction, DoNothingConflictAction, DoUpdateSetConflictAction, EqColJoinOn, ExistsExpr, ExprVisitor, ExpressionFolder, ExpressionRewriter, ExpressionSource, ExtractCodecTypes, IdentifierRef, InsertAst, InsertOnConflict, InsertValue, JoinAst, JoinOnExpr, JsonArrayAggExpr, JsonObjectEntry, JsonObjectExpr, ListExpression, LiteralExpr, LoweredStatement, Lowerer, LowererContext, MarkerStatement, NotExpr, NullCheckExpr, OperationExpr, OrExpr, OrderByItem, ParamRef, ParamRefBindingRefs, ProjectionExpr, ProjectionItem, SQL_CHAR_CODEC_ID, SQL_FLOAT_CODEC_ID, SQL_INT_CODEC_ID, SQL_TEXT_CODEC_ID, SQL_TIMESTAMP_CODEC_ID, SQL_VARCHAR_CODEC_ID, SelectAst, SelectAstOptions, SqlCharCodec, SqlCharDescriptor, SqlCodecCallContext, SqlCodecInstanceContext, SqlColumnRef, SqlConnection, SqlDriver, SqlDriverState, SqlExecuteRequest, SqlExplainResult, SqlFloatCodec, SqlFloatDescriptor, SqlIntCodec, SqlIntDescriptor, SqlQueryResult, SqlQueryable, SqlTextCodec, SqlTextDescriptor, SqlTimestampCodec, SqlTimestampDescriptor, SqlTransaction, SqlVarcharCodec, SqlVarcharDescriptor, SubqueryExpr, TableRef, TableSource, ToWhereExpr, UpdateAst, WhereArg, collectOrderedParamRefs, compact, isQueryAst, isWhereExpr, queryAstKinds, sqlCharColumn, sqlCharDecode, sqlCharDescriptor, sqlCharEncode, sqlCharRenderOutputType, sqlFloatColumn, sqlFloatDecode, sqlFloatDescriptor, sqlFloatEncode, sqlIntColumn, sqlIntDecode, sqlIntDescriptor, sqlIntEncode, sqlTextColumn, sqlTextDecode, sqlTextDescriptor, sqlTextEncode, sqlTimestampColumn, sqlTimestampDecode, sqlTimestampDecodeJson, sqlTimestampDescriptor, sqlTimestampEncode, sqlTimestampEncodeJson, sqlTimestampRenderOutputType, sqlVarcharColumn, sqlVarcharDecode, sqlVarcharDescriptor, sqlVarcharEncode, sqlVarcharRenderOutputType, validateParamRefRefs, whereExprKinds };
190
259
  //# sourceMappingURL=ast.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ast.d.mts","names":[],"sources":["../../src/ast/adapter-types.ts","../../src/ast/driver-types.ts","../../src/ast/sql-codecs.ts","../../src/ast/util.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"ast.d.mts","names":[],"sources":["../../src/ast/adapter-types.ts","../../src/ast/driver-types.ts","../../src/ast/sql-codec-helpers.ts","../../src/ast/sql-codecs.ts","../../src/ast/util.ts","../../src/ast/validate-param-refs.ts"],"mappings":";;;;;;;;KAGY,aAAA;AAAA,UAEK,eAAA;EAAA,SACN,GAAA;EAAA,SACA,MAAA;AAAA;AAAA,UAGM,cAAA,iBAA+B,aAAA,GAAgB,aAAA;EAAA,SACrD,EAAA;EAAA,SACA,MAAA,EAAQ,OAAA;EAAA,SACR,YAAA,EAAc,MAAA;EAVA;;AAEzB;EAYE,mBAAA,IAAuB,eAAA;;;;EAIvB,cAAA,CAAe,GAAA,YAAe,oBAAA;AAAA;AAAA,UAGf,cAAA;EAAA,SACN,QAAA,EAAU,SAAA;EAAA,SACV,MAAA;AAAA;AAAA,KAGC,OAAA,6CAAoD,gBAAA,KAC9D,GAAA,EAAK,GAAA,EACL,OAAA,EAAS,cAAA,CAAe,SAAA,MACrB,KAAA;;;;UAKY,OAAA,6CAAoD,gBAAA;EAAA,SAC1D,OAAA,EAAS,cAAA;EAClB,KAAA,CAAM,GAAA,EAAK,GAAA,EAAK,OAAA,EAAS,cAAA,CAAe,SAAA,IAAa,KAAA;AAAA;;;UCvCtC,iBAAA;EAAA,SACN,GAAA;EAAA,SACA,MAAA;AAAA;AAAA,UAGM,cAAA,OAAqB,MAAA;EAAA,SAC3B,IAAA,EAAM,aAAA,CAAc,GAAA;EAAA,SACpB,QAAA;EAAA,UACC,GAAA;AAAA;AAAA,UAGK,gBAAA,OAAuB,MAAA;EAAA,SAC7B,IAAA,EAAM,aAAA,CAAc,GAAA;AAAA;AAAA,KAGnB,cAAA;AAAA,UAEK,SAAA,0BAAmC,YAAA;EAAA,SACzC,KAAA,GAAQ,cAAA;EACjB,OAAA,CAAQ,OAAA,EAAS,QAAA,GAAW,OAAA;EAC5B,iBAAA,IAAqB,OAAA,CAAQ,aAAA;EAC7B,KAAA,IAAS,OAAA;AAAA;AAAA,UAGM,aAAA,SAAsB,YAAA;EACrC,gBAAA,IAAoB,OAAA,CAAQ,cAAA;EDfkB;;;;;;ECsB9C,OAAA,IAAW,OAAA;EDXuC;;;;;;;;;;;;;;;;AAGpD;;;;;;;ECgCE,OAAA,CAAQ,MAAA,aAAmB,OAAA;AAAA;AAAA,UAGZ,cAAA,SAAuB,YAAA;EACtC,MAAA,IAAU,OAAA;EACV,QAAA,IAAY,OAAA;AAAA;AAAA,UAGG,YAAA;EACf,OAAA,OAAc,MAAA,mBAAyB,OAAA,EAAS,iBAAA,GAAoB,aAAA,CAAc,GAAA;EAClF,OAAA,EAAS,OAAA,EAAS,iBAAA,GAAoB,OAAA,CAAQ,gBAAA;EAC9C,KAAA,OAAY,MAAA,mBACV,GAAA,UACA,MAAA,wBACC,OAAA,CAAQ,cAAA,CAAe,GAAA;AAAA;;;cC9Df,iBAAA;AAAA,cACA,oBAAA;AAAA,cACA,gBAAA;AAAA,cACA,kBAAA;AAAA,cACA,iBAAA;AAAA,cACA,sBAAA;AAAA,cAEA,aAAA,GAAiB,KAAA;AAAA,cACjB,aAAA,GAAiB,IAAA;AAAA,cACjB,uBAAA,GAA2B,UAAA;EAAA,SAAuB,MAAA;AAAA;AAAA,cAWlD,gBAAA,GAAoB,KAAA;AAAA,cACpB,gBAAA,GAAoB,IAAA;AAAA,cACpB,0BAAA,GAA8B,UAAA;EAAA,SAAuB,MAAA;AAAA;AAAA,cAWrD,YAAA,GAAgB,KAAA;AAAA,cAChB,YAAA,GAAgB,IAAA;AAAA,cAEhB,cAAA,GAAkB,KAAA;AAAA,cAClB,cAAA,GAAkB,IAAA;AAAA,cAElB,aAAA,GAAiB,KAAA;AAAA,cACjB,aAAA,GAAiB,IAAA;AAAA,cAEjB,kBAAA,GAAsB,KAAA,EAAO,IAAA,KAAO,IAAA;AAAA,cACpC,kBAAA,GAAsB,IAAA,EAAM,IAAA,KAAO,IAAA;AAAA,cACnC,sBAAA,GAA0B,KAAA,EAAO,IAAA,KAAO,SAAA;AAAA,cACxC,sBAAA,GAA0B,IAAA,EAAM,SAAA,KAAY,IAAA;AAAA,cAU5C,4BAAA,GAAgC,UAAA;EAAA,SAAuB,SAAA;AAAA;;;KCb/D,YAAA;EAAA,SAA0B,MAAA;AAAA;AAAA,KAC1B,eAAA;EAAA,SAA6B,SAAA;AAAA;AAAA,cAUrB,YAAA,SAAqB,SAAA,QACzB,iBAAA;EAKD,MAAA,CAAO,KAAA,UAAe,IAAA,EAAM,kBAAA,GAAmB,OAAA;EAG/C,MAAA,CAAO,IAAA,UAAc,IAAA,EAAM,kBAAA,GAAmB,OAAA;EAGpD,UAAA,CAAW,KAAA,WAAgB,SAAA;EAG3B,UAAA,CAAW,IAAA,EAAM,SAAA;AAAA;AAAA,cAKN,iBAAA,SAA0B,mBAAA;EAAA,SACnB,OAAA;EAAA,SACA,MAAA;EAAA,SACA,WAAA;EAAA,SACA,YAAA,EAAc,gBAAA;EACvB,OAAA,CAAA,IAAY,GAAA,EAAK,oBAAA,KAAyB,YAAA;AAAA;AAAA,cAKxC,iBAAA,EAAiB,iBAAA;AAAA,cAEjB,aAAA,QAAa,0CAAA,CAAA,UAAA,CAAA,YAAA;AAAA,cAMb,WAAA,SAAoB,SAAA,QACxB,gBAAA;EAKD,MAAA,CAAO,KAAA,UAAe,IAAA,EAAM,kBAAA,GAAmB,OAAA;EAG/C,MAAA,CAAO,IAAA,UAAc,IAAA,EAAM,kBAAA,GAAmB,OAAA;EAGpD,UAAA,CAAW,KAAA,WAAgB,SAAA;EAG3B,UAAA,CAAW,IAAA,EAAM,SAAA;AAAA;AAAA,cAKN,gBAAA,SAAyB,mBAAA;EAAA,SAClB,OAAA;EAAA,SACA,MAAA;EAAA,SACA,WAAA;EAAA,SACA,YAAA,EAAc,gBAAA;EACvB,OAAA,CAAA,IAAY,GAAA,EAAK,oBAAA,KAAyB,WAAA;AAAA;AAAA,cAKxC,gBAAA,EAAgB,gBAAA;AAAA,cAEhB,YAAA,QAAY,0CAAA,CAAA,UAAA,CAAA,WAAA;AAAA,cAMZ,aAAA,SAAsB,SAAA,QAC1B,kBAAA;EAKD,MAAA,CAAO,KAAA,UAAe,IAAA,EAAM,kBAAA,GAAmB,OAAA;EAG/C,MAAA,CAAO,IAAA,UAAc,IAAA,EAAM,kBAAA,GAAmB,OAAA;EAGpD,UAAA,CAAW,KAAA,WAAgB,SAAA;EAG3B,UAAA,CAAW,IAAA,EAAM,SAAA;AAAA;AAAA,cAKN,kBAAA,SAA2B,mBAAA;EAAA,SACpB,OAAA;EAAA,SACA,MAAA;EAAA,SACA,WAAA;EAAA,SACA,YAAA,EAAc,gBAAA;EACvB,OAAA,CAAA,IAAY,GAAA,EAAK,oBAAA,KAAyB,aAAA;AAAA;AAAA,cAKxC,kBAAA,EAAkB,kBAAA;AAAA,cAElB,cAAA,QAAc,0CAAA,CAAA,UAAA,CAAA,aAAA;AAAA,cAMd,YAAA,SAAqB,SAAA,QACzB,iBAAA;EAKD,MAAA,CAAO,KAAA,UAAe,IAAA,EAAM,kBAAA,GAAmB,OAAA;EAG/C,MAAA,CAAO,IAAA,UAAc,IAAA,EAAM,kBAAA,GAAmB,OAAA;EAGpD,UAAA,CAAW,KAAA,WAAgB,SAAA;EAG3B,UAAA,CAAW,IAAA,EAAM,SAAA;AAAA;AAAA,cAKN,iBAAA,SAA0B,mBAAA,CAAoB,YAAA;EAAA,SACvC,OAAA;EAAA,SACA,MAAA;EAAA,SACA,WAAA;EAAA,SACA,YAAA,EAAc,gBAAA,CAAiB,YAAA;EACxC,gBAAA,CAAiB,MAAA,EAAQ,YAAA;EAGzB,OAAA,CAAQ,OAAA,EAAS,YAAA,IAAgB,GAAA,EAAK,oBAAA,KAAyB,YAAA;AAAA;AAAA,cAK7D,iBAAA,EAAiB,iBAAA;AAAA,cAEjB,aAAA,GAAiB,MAAA,GAAQ,YAAA,KAAiB,0CAAA,CAAA,UAAA,CAAA,YAAA,EAAA,YAAA;AAAA,cAM1C,eAAA,SAAwB,SAAA,QAC5B,oBAAA;EAKD,MAAA,CAAO,KAAA,UAAe,IAAA,EAAM,kBAAA,GAAmB,OAAA;EAG/C,MAAA,CAAO,IAAA,UAAc,IAAA,EAAM,kBAAA,GAAmB,OAAA;EAGpD,UAAA,CAAW,KAAA,WAAgB,SAAA;EAG3B,UAAA,CAAW,IAAA,EAAM,SAAA;AAAA;AAAA,cAKN,oBAAA,SAA6B,mBAAA,CAAoB,YAAA;EAAA,SAC1C,OAAA;EAAA,SACA,MAAA;EAAA,SACA,WAAA;EAAA,SACA,YAAA,EAAc,gBAAA,CAAiB,YAAA;EACxC,gBAAA,CAAiB,MAAA,EAAQ,YAAA;EAGzB,OAAA,CAAQ,OAAA,EAAS,YAAA,IAAgB,GAAA,EAAK,oBAAA,KAAyB,eAAA;AAAA;AAAA,cAK7D,oBAAA,EAAoB,oBAAA;AAAA,cAEpB,gBAAA,GAAoB,MAAA,GAAQ,YAAA,KAAiB,0CAAA,CAAA,UAAA,CAAA,eAAA,EAAA,YAAA;AAAA,cAM7C,iBAAA,SAA0B,SAAA,QAC9B,sBAAA,kCAEP,IAAA,EACA,IAAA;EAEM,MAAA,CAAO,KAAA,EAAO,IAAA,EAAM,IAAA,EAAM,kBAAA,GAAmB,OAAA,CAAQ,IAAA;EAGrD,MAAA,CAAO,IAAA,EAAM,IAAA,EAAM,IAAA,EAAM,kBAAA,GAAmB,OAAA,CAAQ,IAAA;EAG1D,UAAA,CAAW,KAAA,EAAO,IAAA,GAAO,SAAA;EAGzB,UAAA,CAAW,IAAA,EAAM,SAAA,GAAY,IAAA;AAAA;AAAA,cAKlB,sBAAA,SAA+B,mBAAA,CAAoB,eAAA;EAAA,SAC5C,OAAA;EAAA,SACA,MAAA;EAAA,SACA,WAAA;EAAA,SACA,YAAA,EAAc,gBAAA,CAAiB,eAAA;EACxC,gBAAA,CAAiB,MAAA,EAAQ,eAAA;EAGzB,OAAA,CAAQ,OAAA,EAAS,eAAA,IAAmB,GAAA,EAAK,oBAAA,KAAyB,iBAAA;AAAA;AAAA,cAKhE,sBAAA,EAAsB,sBAAA;AAAA,cAEtB,kBAAA,GAAsB,MAAA,GAAQ,eAAA,KAAoB,0CAAA,CAAA,UAAA,CAAA,iBAAA,EAAA,eAAA;;;iBClS/C,OAAA,WAAkB,MAAA,kBAAA,CAAyB,CAAA,EAAG,CAAA,GAAI,CAAA;;;;;;;AJClE;;;;iBImBgB,uBAAA,CAAwB,GAAA,EAAK,WAAA,GAAc,aAAA,CAAc,QAAA;;;;;;AJjBzE;;iBKcgB,oBAAA,CAAqB,IAAA,EAAM,WAAA,EAAa,QAAA,EAAU,uBAAA"}