@prisma-next/sql-relational-core 0.5.0-dev.60 → 0.5.0-dev.61

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 (58) hide show
  1. package/README.md +45 -47
  2. package/dist/{errors-p3Ou_n9J.d.mts → errors-Chs-ph28.d.mts} +2 -2
  3. package/dist/errors-Chs-ph28.d.mts.map +1 -0
  4. package/dist/{errors-D6kqqjHM.mjs → errors-kgKOaDM1.mjs} +1 -1
  5. package/dist/{errors-D6kqqjHM.mjs.map → errors-kgKOaDM1.mjs.map} +1 -1
  6. package/dist/exports/ast.d.mts +141 -87
  7. package/dist/exports/ast.d.mts.map +1 -1
  8. package/dist/exports/ast.mjs +242 -272
  9. package/dist/exports/ast.mjs.map +1 -1
  10. package/dist/exports/codec-descriptor-registry.d.mts +18 -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 +4 -4
  15. package/dist/exports/errors.mjs +1 -1
  16. package/dist/exports/expression.d.mts +29 -24
  17. package/dist/exports/expression.d.mts.map +1 -1
  18. package/dist/exports/expression.mjs +33 -11
  19. package/dist/exports/expression.mjs.map +1 -1
  20. package/dist/exports/plan.d.mts +2 -2
  21. package/dist/exports/query-lane-context.d.mts +2 -3
  22. package/dist/exports/types.d.mts +5 -4
  23. package/dist/index.d.mts +10 -11
  24. package/dist/index.mjs +5 -5
  25. package/dist/{plan-C7SiEWkN.d.mts → plan-nwFE15re.d.mts} +2 -2
  26. package/dist/plan-nwFE15re.d.mts.map +1 -0
  27. package/dist/query-lane-context-DlWgKvvt.d.mts +175 -0
  28. package/dist/query-lane-context-DlWgKvvt.d.mts.map +1 -0
  29. package/dist/{sql-execution-plan-Dgx7BGin.d.mts → sql-execution-plan-DTfj23Tj.d.mts} +2 -2
  30. package/dist/{sql-execution-plan-Dgx7BGin.d.mts.map → sql-execution-plan-DTfj23Tj.d.mts.map} +1 -1
  31. package/dist/{types-DUL-3vy6.mjs → types-CO7zrXfK.mjs} +15 -7
  32. package/dist/types-CO7zrXfK.mjs.map +1 -0
  33. package/dist/{types-DviRR7AL.d.mts → types-G3hdNPZZ.d.mts} +4 -4
  34. package/dist/{types-DviRR7AL.d.mts.map → types-G3hdNPZZ.d.mts.map} +1 -1
  35. package/dist/{types-B4dL4lc3.d.mts → types-U74HFwNI.d.mts} +22 -4
  36. package/dist/types-U74HFwNI.d.mts.map +1 -0
  37. package/dist/{types-BUlUvdIU.d.mts → types-dPxXIUPS.d.mts} +3 -3
  38. package/dist/{types-BUlUvdIU.d.mts.map → types-dPxXIUPS.d.mts.map} +1 -1
  39. package/package.json +10 -8
  40. package/src/ast/adapter-types.ts +3 -19
  41. package/src/ast/codec-types.ts +53 -541
  42. package/src/ast/sql-codec-helpers.ts +79 -0
  43. package/src/ast/sql-codecs.ts +280 -137
  44. package/src/ast/types.ts +33 -8
  45. package/src/ast/validate-param-refs.ts +39 -0
  46. package/src/codec-descriptor-registry.ts +52 -0
  47. package/src/exports/ast.ts +2 -0
  48. package/src/exports/codec-descriptor-registry.ts +1 -0
  49. package/src/expression.ts +40 -23
  50. package/src/query-lane-context.ts +14 -96
  51. package/dist/codec-types-DJEaWT36.d.mts +0 -313
  52. package/dist/codec-types-DJEaWT36.d.mts.map +0 -1
  53. package/dist/errors-p3Ou_n9J.d.mts.map +0 -1
  54. package/dist/plan-C7SiEWkN.d.mts.map +0 -1
  55. package/dist/query-lane-context-Bwca4sc8.d.mts +0 -150
  56. package/dist/query-lane-context-Bwca4sc8.d.mts.map +0 -1
  57. package/dist/types-B4dL4lc3.d.mts.map +0 -1
  58. package/dist/types-DUL-3vy6.mjs.map +0 -1
package/README.md CHANGED
@@ -91,66 +91,64 @@ flowchart TD
91
91
  - Defines `SqlQueryPlan<Row>` interface for SQL query plans produced by lanes before lowering
92
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
93
 
94
- ### Codec Factory (`ast/codec-types.ts` via `exports/ast.ts`)
94
+ ### Codec authoring (class form)
95
95
 
96
- - `codec({...})` is the SQL-side factory for constructing `Codec` values. It accepts `encode` and `decode` author functions in **either sync or async form** with no annotations; the constructed codec exposes Promise-returning query-time methods regardless of which form was used. Both `encode` and `decode` are required so `TInput` and `TWire` are always covered by an explicit author function — the factory installs no identity fallback.
97
- - Build-time methods (`encodeJson`, `decodeJson`, `renderOutputType?`) are synchronous and pass through unchanged.
98
- - This is the only public entry point for SQL codecs. There is no separate `codecSync` / `codecAsync` factory and no per-codec async marker on the resulting value.
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.
99
101
 
100
102
  ```ts
101
- // Sync authoring:
102
- const textCodec = codec({
103
- typeId: 'pg/text@1',
104
- targetTypes: ['text'],
105
- encode: (v: string) => v,
106
- decode: (w: string) => w,
107
- encodeJson: (v: string) => v,
108
- decodeJson: (j: string) => j as string,
109
- });
110
-
111
- // Async authoring (e.g. KMS-backed encryption): same factory, same shape.
112
- const secretCodec = codec({
113
- typeId: 'pg/secret@1',
114
- targetTypes: ['text'],
115
- encode: async (v: string) => encrypt(v, await getKey()),
116
- decode: async (w: string) => decrypt(w, await getKey()),
117
- encodeJson: (v: string) => v,
118
- decodeJson: (j: string) => j as string,
119
- });
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
+ }
120
129
  ```
121
130
 
122
131
  #### Codec call context (`ctx`)
123
132
 
124
- 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 author functions `(value) => …` continue to compile via TypeScript's bivariance for trailing parameters, so codec ergonomics are unchanged.
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.
125
134
 
126
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.
127
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).
128
137
 
129
138
  ```ts
130
139
  // Forward ctx.signal to a network call so aborted queries stop the SDK.
131
- const kmsSecretCodec = codec({
132
- typeId: 'pg/kms-secret@1',
133
- targetTypes: ['text'],
134
- encode: async (v: string, ctx) =>
135
- kms.encrypt({ plaintext: v }, { signal: ctx?.signal }),
136
- decode: async (w: string, ctx) =>
137
- kms.decrypt({ ciphertext: w }, { signal: ctx?.signal }),
138
- encodeJson: (v: string) => v,
139
- decodeJson: (j: string) => j as string,
140
- });
141
-
142
- // Use ctx.column on decode to construct an envelope value carrying (table, name).
143
- const envelopeCodec = codec({
144
- typeId: 'pg/envelope@1',
145
- targetTypes: ['text'],
146
- encode: async (v: string) => v,
147
- decode: async (w: string, ctx) => ({
148
- value: w,
149
- column: ctx?.column,
150
- }),
151
- encodeJson: (v: string) => v,
152
- decodeJson: (j: string) => j as string,
153
- });
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
+ }
154
152
  ```
155
153
 
156
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' }`.
@@ -1,8 +1,8 @@
1
- import { y as RuntimeError } from "./types-DviRR7AL.mjs";
1
+ import { y as RuntimeError } from "./types-G3hdNPZZ.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-p3Ou_n9J.d.mts.map
8
+ //# sourceMappingURL=errors-Chs-ph28.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors-Chs-ph28.d.mts","names":[],"sources":["../src/errors.ts"],"sourcesContent":[],"mappings":";;;iBAEgB,WAAA,4BAEJ,+EAGT;iBAkBa,eAAA,4BAEJ,+EAGT"}
@@ -32,4 +32,4 @@ function planUnsupported(message, details, hints, docs) {
32
32
 
33
33
  //#endregion
34
34
  export { planUnsupported as n, planInvalid as t };
35
- //# sourceMappingURL=errors-D6kqqjHM.mjs.map
35
+ //# sourceMappingURL=errors-kgKOaDM1.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors-D6kqqjHM.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-kgKOaDM1.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,6 +1,9 @@
1
- import { _ as codec, a as CodecInput, c as CodecRegistry, d as ContractCodecRegistry, f as ExtractCodecTypes, g as SqlColumnRef, h as SqlCodecInstanceContext, i as CodecId, l as CodecTrait, m as SqlCodecCallContext, n as CodecCallContext, o as CodecMeta, p as ExtractDataTypes, r as CodecDefBuilder, s as CodecParamsDescriptor, t as Codec, u as CodecTraits, v as createCodecRegistry, y as defineCodecs } from "../codec-types-DJEaWT36.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-B4dL4lc3.mjs";
3
- import { ContractMarkerRecord } from "@prisma-next/contract/types";
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-U74HFwNI.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-DlWgKvvt.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";
4
7
 
5
8
  //#region src/ast/adapter-types.d.ts
6
9
  type AdapterTarget = string;
@@ -13,22 +16,11 @@ interface AdapterProfile<TTarget extends AdapterTarget = AdapterTarget> {
13
16
  readonly target: TTarget;
14
17
  readonly capabilities: Record<string, unknown>;
15
18
  /**
16
- * Returns the adapter's default codec registry.
17
- * The registry contains codecs provided by the adapter for converting
18
- * between wire types and JavaScript types.
19
- */
20
- codecs(): CodecRegistry;
21
- /**
22
- * Returns the SQL statement to read the contract marker from the database.
23
- * Each adapter provides target-specific SQL (e.g. schema-qualified table names,
24
- * parameter placeholder style).
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).
25
20
  */
26
21
  readMarkerStatement(): MarkerStatement;
27
22
  /**
28
- * Parses a row returned by the adapter's `readMarkerStatement()` into a
29
- * `ContractMarkerRecord`. Each adapter is responsible for any
30
- * target-specific decoding before delegating to the shared row schema.
31
- * Throws on shape violation.
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.
32
24
  */
33
25
  parseMarkerRow(row: unknown): ContractMarkerRecord;
34
26
  }
@@ -38,11 +30,7 @@ interface LowererContext<TContract = unknown> {
38
30
  }
39
31
  type Lowerer<Ast = unknown, TContract = unknown, TBody = LoweredStatement> = (ast: Ast, context: LowererContext<TContract>) => TBody;
40
32
  /**
41
- * Lowers a query AST into a target-specific executable body (typically
42
- * `LoweredStatement` for SQL adapters). The `lower` method returns the body
43
- * directly; per-statement metadata, when needed, lives on the body itself
44
- * (e.g. `LoweredStatement.annotations`). Adapter-level metadata such as the
45
- * 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.
46
34
  */
47
35
  interface Adapter<Ast = unknown, TContract = unknown, TBody = LoweredStatement> {
48
36
  readonly profile: AdapterProfile;
@@ -113,79 +101,137 @@ interface SqlQueryable {
113
101
  query<Row = Record<string, unknown>>(sql: string, params?: readonly unknown[]): Promise<SqlQueryResult<Row>>;
114
102
  }
115
103
  //#endregion
116
- //#region src/ast/sql-codecs.d.ts
104
+ //#region src/ast/sql-codec-helpers.d.ts
117
105
  declare const SQL_CHAR_CODEC_ID: "sql/char@1";
118
106
  declare const SQL_VARCHAR_CODEC_ID: "sql/varchar@1";
119
107
  declare const SQL_INT_CODEC_ID: "sql/int@1";
120
108
  declare const SQL_FLOAT_CODEC_ID: "sql/float@1";
121
109
  declare const SQL_TEXT_CODEC_ID: "sql/text@1";
122
110
  declare const SQL_TIMESTAMP_CODEC_ID: "sql/timestamp@1";
123
- declare const codecs: CodecDefBuilder<{
124
- char: Codec<"sql/char@1", readonly ["equality", "order", "textual"], string, string, Record<string, unknown>, unknown>;
125
- varchar: Codec<"sql/varchar@1", readonly ["equality", "order", "textual"], string, string, Record<string, unknown>, unknown>;
126
- int: Codec<"sql/int@1", readonly ["equality", "order", "numeric"], number, number, Record<string, unknown>, unknown>;
127
- float: Codec<"sql/float@1", readonly ["equality", "order", "numeric"], number, number, Record<string, unknown>, unknown>;
128
- text: Codec<"sql/text@1", readonly ["equality", "order", "textual"], string, string, Record<string, unknown>, unknown>;
129
- } & Record<"timestamp", Codec<"sql/timestamp@1", readonly ["equality", "order"], Date, Date, Record<string, unknown>, unknown>>>;
130
- declare const sqlCodecDefinitions: {
131
- readonly char: {
132
- readonly typeId: "sql/char@1";
133
- readonly scalar: "char";
134
- readonly codec: Codec<"sql/char@1", readonly ["equality", "order", "textual"], string, string, Record<string, unknown>, unknown>;
135
- readonly input: string;
136
- readonly output: string;
137
- readonly jsType: string;
138
- };
139
- readonly varchar: {
140
- readonly typeId: "sql/varchar@1";
141
- readonly scalar: "varchar";
142
- readonly codec: Codec<"sql/varchar@1", readonly ["equality", "order", "textual"], string, string, Record<string, unknown>, unknown>;
143
- readonly input: string;
144
- readonly output: string;
145
- readonly jsType: string;
146
- };
147
- readonly int: {
148
- readonly typeId: "sql/int@1";
149
- readonly scalar: "int";
150
- readonly codec: Codec<"sql/int@1", readonly ["equality", "order", "numeric"], number, number, Record<string, unknown>, unknown>;
151
- readonly input: number;
152
- readonly output: number;
153
- readonly jsType: number;
154
- };
155
- readonly float: {
156
- readonly typeId: "sql/float@1";
157
- readonly scalar: "float";
158
- readonly codec: Codec<"sql/float@1", readonly ["equality", "order", "numeric"], number, number, Record<string, unknown>, unknown>;
159
- readonly input: number;
160
- readonly output: number;
161
- readonly jsType: number;
162
- };
163
- readonly text: {
164
- readonly typeId: "sql/text@1";
165
- readonly scalar: "text";
166
- readonly codec: Codec<"sql/text@1", readonly ["equality", "order", "textual"], string, string, Record<string, unknown>, unknown>;
167
- readonly input: string;
168
- readonly output: string;
169
- readonly jsType: string;
170
- };
171
- readonly timestamp: {
172
- readonly typeId: "sql/timestamp@1";
173
- readonly scalar: "timestamp";
174
- readonly codec: Codec<"sql/timestamp@1", readonly ["equality", "order"], Date, Date, Record<string, unknown>, unknown>;
175
- readonly input: Date;
176
- readonly output: Date;
177
- readonly jsType: Date;
178
- };
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;
179
138
  };
180
- declare const sqlDataTypes: {
181
- readonly char: "sql/char@1";
182
- readonly varchar: "sql/varchar@1";
183
- readonly int: "sql/int@1";
184
- readonly float: "sql/float@1";
185
- readonly text: "sql/text@1";
186
- readonly timestamp: "sql/timestamp@1";
139
+ type PrecisionParams = {
140
+ readonly precision?: number;
187
141
  };
188
- 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>;
189
235
  //#endregion
190
236
  //#region src/ast/util.d.ts
191
237
  declare function compact<T extends Record<string, unknown>>(o: T): T;
@@ -201,5 +247,13 @@ declare function compact<T extends Record<string, unknown>>(o: T): T;
201
247
  */
202
248
  declare function collectOrderedParamRefs(ast: AnyQueryAst): ReadonlyArray<ParamRef>;
203
249
  //#endregion
204
- export { Adapter, AdapterProfile, AdapterTarget, AggregateCountFn, AggregateExpr, AggregateFn, AggregateOpFn, AndExpr, AnyExpression, AnyFromSource, AnyInsertOnConflictAction, AnyInsertValue, AnyOperationArg, AnyQueryAst, AstRewriter, BinaryExpr, BinaryOp, Codec, CodecCallContext, CodecDefBuilder, CodecId, CodecInput, CodecMeta, CodecParamsDescriptor, CodecRegistry, CodecTrait, CodecTraits, ColumnRef, ContractCodecRegistry, 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, SqlCodecCallContext, SqlCodecInstanceContext, SqlCodecTypes, SqlColumnRef, SqlConnection, SqlDriver, SqlDriverState, SqlExecuteRequest, SqlExplainResult, SqlQueryResult, SqlQueryable, SqlTransaction, SubqueryExpr, TableRef, TableSource, ToWhereExpr, UpdateAst, WhereArg, codec, collectOrderedParamRefs, compact, createCodecRegistry, defineCodecs, isQueryAst, isWhereExpr, queryAstKinds, sqlCodecDefinitions, sqlDataTypes, whereExprKinds };
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;
257
+ //#endregion
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 };
205
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"],"sourcesContent":[],"mappings":";;;;;;;;KAGY,aAAA;UAEK,eAAA;;;;UAKA,+BAA+B,gBAAgB;EAPpD,SAAA,EAAA,EAAA,MAAa;EAER,SAAA,MAAA,EAOE,OAPa;EAKf,SAAA,YAAc,EAGN,MAHM,CAAA,MAAA,EAAA,OAAA,CAAA;EAAiB;;;EAGvB,mBAAA,EAAA,EAIA,eAJA;EAIA;;;EAOR,cAAA,CAAA,GAAc,EAAA,OAAA,CAAA,EAHC,oBAIF;AAI9B;AAAgE,UAL/C,cAK+C,CAAA,YAAA,OAAA,CAAA,CAAA;EACzD,SAAA,QAAA,EALc,SAKd;EACmB,SAAA,MAAA,CAAA,EAAA,SAAA,OAAA,EAAA;;AACrB,KAHO,OAGP,CAAA,MAAA,OAAA,EAAA,YAAA,OAAA,EAAA,QAH2D,gBAG3D,CAAA,GAAA,CAAA,GAAA,EAFE,GAEF,EAAA,OAAA,EADM,cACN,CADqB,SACrB,CAAA,EAAA,GAAA,KAAA;;AAKL;;AACoB,UADH,OACG,CAAA,MAAA,OAAA,EAAA,YAAA,OAAA,EAAA,QADiD,gBACjD,CAAA,CAAA;EACP,SAAA,OAAA,EADO,cACP;EAA6B,KAAA,CAAA,GAAA,EAA7B,GAA6B,EAAA,OAAA,EAAf,cAAe,CAAA,SAAA,CAAA,CAAA,EAAa,KAAb;;;;UCvCzB,iBAAA;;;;UAKA,qBAAqB;iBACrB,cAAc;;;ADH/B;AAEiB,UCMA,gBDNe,CAAA,MCMQ,MDNR,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA,CAAA;EAKf,SAAA,IAAA,ECEA,aDFc,CCEA,GDFA,CAAA;;AAAiC,KCKpD,cAAA,GDLoD,SAAA,GAAA,WAAA,GAAA,QAAA;AAE7C,UCKF,SDLE,CAAA,WAAA,IAAA,CAAA,SCKiC,YDLjC,CAAA;EACM,SAAA,KAAA,CAAA,ECKN,cDLM;EAIA,OAAA,CAAA,OAAA,ECEN,QDFM,CAAA,ECEK,ODFL,CAAA,IAAA,CAAA;EAIO,iBAAA,EAAA,ECDT,ODCS,CCDD,aDCC,CAAA;EAAoB,KAAA,EAAA,ECAzC,ODAyC,CAAA,IAAA,CAAA;AAGpD;AAKY,UCLK,aAAA,SAAsB,YDKpB,CAAA;EAA6C,gBAAA,EAAA,ECJ1C,ODI0C,CCJlC,cDIkC,CAAA;EACzD;;;;;AAOP;EAAqE,OAAA,EAAA,ECLxD,ODKwD,CAAA,IAAA,CAAA;EACjD;;;;;;;;;ACtCpB;AAKA;;;;;AAMA;;;;;AAIA;AAEA;;EAEmB,OAAA,CAAA,MAAA,CAAA,EAAA,OAAA,CAAA,EAqCU,OArCV,CAAA,IAAA,CAAA;;AACY,UAuCd,cAAA,SAAuB,YAvCT,CAAA;EAAR,MAAA,EAAA,EAwCX,OAxCW,CAAA,IAAA,CAAA;EACZ,QAAA,EAAA,EAwCG,OAxCH,CAAA,IAAA,CAAA;;AAJqD,UA+C/C,YAAA,CA/C+C;EAO/C,OAAA,CAAA,MAyCD,MAzCe,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA,CAAA,OAAA,EAyCmB,iBAzCnB,CAAA,EAyCuC,aAzCvC,CAyCqD,GAzCrD,CAAA;EACD,OAAA,EAAA,OAAA,EAyCV,iBAzCU,CAAA,EAyCU,OAzCV,CAyCkB,gBAzClB,CAAA;EAAR,KAAA,CAAA,MA0CR,MA1CQ,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA,CAAA,GAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,SAAA,OAAA,EAAA,CAAA,EA6CjB,OA7CiB,CA6CT,cA7CS,CA6CM,GA7CN,CAAA,CAAA;;;;cCjBT;cACA;AFND,cEOC,gBFPY,EAAA,WAAA;AAER,cEMJ,kBFNmB,EAAA,aAAA;AAKf,cEEJ,iBFFkB,EAAA,YAAA;AAAiB,cEGnC,sBFHmC,EAAA,iBAAA;AAAgB,cEKnD,aFLmD,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,GAAA,MAAA;AAE7C,cEIN,aFJM,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,GAAA,MAAA;AACM,cEIZ,uBFJY,EAAA,CAAA,UAAA,EAAA;EAIA,SAAA,MAAA,CAAA,EAAA,MAAA;CAIO,EAAA,GAAA,MAAA,GAAA,SAAA;AAAoB,cEOvC,gBFPuC,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,GAAA,MAAA;AAGnC,cEKJ,gBFLkB,EAAA,CAAA,IACV,EAAA,MAAS,EAAA,GAAA,MAAA;AAIlB,cECC,0BFDM,EAAA,CAAA,UAAA,EAAA;EAA6C,SAAA,MAAA,CAAA,EAAA,MAAA;CACzD,EAAA,GAAA,MAAA,GAAA,SAAA;AACmB,cEUb,YFVa,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,GAAA,MAAA;AAAf,cEWE,YFXF,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,GAAA,MAAA;AACN,cEYQ,cFZR,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,GAAA,MAAA;AAAK,cEaG,cFbH,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,GAAA,MAAA;AAKO,cEUJ,aFVW,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,GAAA,MAAA;AAA6C,cEWxD,aFXwD,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,GAAA,MAAA;AACjD,cEYP,kBFZO,EAAA,CAAA,KAAA,EEYsB,IFZtB,EAAA,GEY6B,IFZ7B;AACP,cEYA,kBFZA,EAAA,CAAA,IAAA,EEY4B,IFZ5B,EAAA,GEYmC,IFZnC;AAA6B,cEa7B,sBFb6B,EAAA,CAAA,KAAA,EEaI,IFbJ,EAAA,GEaW,SFbX;AAAf,cEcd,sBFdc,EAAA,CAAA,IAAA,EEckB,SFdlB,EAAA,GEc8B,IFd9B;AAA4B,cEwB1C,4BFxB0C,EAAA,CAAA,UAAA,EAAA;EAAK,SAAA,SAAA,CAAA,EAAA,MAAA;;;;KGWvD,YAAA,GHrCoB;EAIA,SAAA,MAAA,CAAA,EAAA,MAAA;CAIO;KG8B3B,eAAA,GH9B+C;EAGnC,SAAA,SAAc,CAAA,EAAA,MAAA;AAK/B,CAAA;AAAgE,cGgCnD,YAAA,SAAqB,SHhC8B,CAAA,OGiCvD,iBHjCuD,EAAA,SAAA,CAAA,UAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA;EACzD,MAAA,CAAA,KAAA,EAAA,MAAA,EAAA,IAAA,EGqC6B,kBHrC7B,CAAA,EGqCgD,OHrChD,CAAA,MAAA,CAAA;EACmB,MAAA,CAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EGuCS,kBHvCT,CAAA,EGuC4B,OHvC5B,CAAA,MAAA,CAAA;EAAf,UAAA,CAAA,KAAA,EAAA,MAAA,CAAA,EG0CkB,SH1ClB;EACN,UAAA,CAAA,IAAA,EG4Cc,SH5Cd,CAAA,EAAA,MAAA;;AAKY,cG4CJ,iBAAA,SAA0B,mBH5Cf,CAAA,IAAA,CAAA,CAAA;EAA6C,SAAA,OAAA,EAAA,YAAA;EACjD,SAAA,MAAA,EAAA,SAAA,CAAA,UAAA,EAAA,OAAA,EAAA,SAAA,CAAA;EACP,SAAA,WAAA,EAAA,SAAA,CAAA,MAAA,CAAA;EAA6B,SAAA,YAAA,EG8CR,gBH9CQ,CAAA,IAAA,CAAA;EAAf,OAAA,CAAA,CAAA,EAAA,CAAA,GAAA,EG+CC,oBH/CD,EAAA,GG+C0B,YH/C1B;;AAAiC,cGoD/C,iBHpD+C,EGoD9B,iBHpD8B;cGsD/C,qBAAa,wCAAA,CAAA,WAAA;cAMb,WAAA,SAAoB,iBACxB;8BAK2B,qBAAmB;EFzGtC,MAAA,CAAA,IAAA,EAAA,MAAA,EAAiB,IAAA,EE4GC,kBF5GD,CAAA,EE4GoB,OF5GpB,CAAA,MAAA,CAAA;EAKjB,UAAA,CAAA,KAAA,EAAc,MAAA,CAAA,EE0GF,SF1GE;EAAO,UAAA,CAAA,IAAA,EE6GnB,SF7GmB,CAAA,EAAA,MAAA;;AACrB,cEiHJ,gBAAA,SAAyB,mBFjHrB,CAAA,IAAA,CAAA,CAAA;EAAa,SAAA,OAAA,EAAA,WAAA;EAKb,SAAA,MAAA,EAAA,SAAgB,CAAA,UAAA,EAAA,OAAA,EAAA,SAAA,CAAA;EAAO,SAAA,WAAA,EAAA,SAAA,CAAA,KAAA,CAAA;EACT,SAAA,YAAA,EE+GG,gBF/GH,CAAA,IAAA,CAAA;EAAd,OAAA,CAAA,CAAA,EAAA,CAAA,GAAA,EEgHW,oBFhHX,EAAA,GEgHoC,WFhHpC;;AAGL,cEkHC,gBFlHa,EEkHG,gBFlHH;AAET,cEkHJ,YFlHa,EAAA,GAAA,GEkHD,wCAAA,CAAA,UFlHC,CEkHD,WFlHC,EAAA,SAAA,CAAA;AACP,cEuHN,aAAA,SAAsB,SFvHhB,CAAA,OEwHV,kBFxHU,EAAA,SAAA,CAAA,UAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA;EACA,MAAA,CAAA,KAAA,EAAA,MAAA,EAAA,IAAA,EE4HiB,kBF5HjB,CAAA,EE4HoC,OF5HpC,CAAA,MAAA,CAAA;EAAW,MAAA,CAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EE+HK,kBF/HL,CAAA,EE+HwB,OF/HxB,CAAA,MAAA,CAAA;EACC,UAAA,CAAA,KAAA,EAAA,MAAA,CAAA,EEiIF,SFjIE;EAAR,UAAA,CAAA,IAAA,EEoIJ,SFpII,CAAA,EAAA,MAAA;;AAH6B,cE4IvC,kBAAA,SAA2B,mBF5IY,CAAA,IAAA,CAAA,CAAA;EAAY,SAAA,OAAA,EAAA,aAAA;EAO/C,SAAA,MAAA,EAAc,SAAA,CAAA,UAAA,EAAA,OAAA,EAAA,SAAA,CAAA;EACD,SAAA,WAAA,EAAA,SAAA,CAAA,OAAA,CAAA;EAAR,SAAA,YAAA,EEwIY,gBFxIZ,CAAA,IAAA,CAAA;EAOT,OAAA,CAAA,CAAA,EAAA,CAAA,GAAA,EEkIe,oBFlIf,EAAA,GEkIwC,aFlIxC;;AAR0B,cE+I1B,kBF/I0B,EE+IR,kBF/IQ;AAAY,cEiJtC,cFjJsC,EAAA,GAAA,GEiJxB,wCAAA,CAAA,UFjJwB,CEiJxB,aFjJwB,EAAA,SAAA,CAAA;AAmClC,cEoHJ,YAAA,SAAqB,SFpHF,CAAA,OEqHvB,iBFrHuB,EAAA,SAAA,CAAA,UAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA;EACpB,MAAA,CAAA,KAAA,EAAA,MAAA,EAAA,IAAA,EEyHwB,kBFzHxB,CAAA,EEyH2C,OFzH3C,CAAA,MAAA,CAAA;EACE,MAAA,CAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EE2HqB,kBF3HrB,CAAA,EE2HwC,OF3HxC,CAAA,MAAA,CAAA;EAF0B,UAAA,CAAA,KAAA,EAAA,MAAA,CAAA,EEgIX,SFhIW;EAAY,UAAA,CAAA,IAAA,EEmIjC,SFnIiC,CAAA,EAAA,MAAA;AAKpD;AACgB,cEkIH,iBAAA,SAA0B,mBFlIvB,CEkI2C,YFlI3C,CAAA,CAAA;EAAkC,SAAA,OAAA,EAAA,YAAA;EAAkC,SAAA,MAAA,EAAA,SAAA,CAAA,UAAA,EAAA,OAAA,EAAA,SAAA,CAAA;EAAd,SAAA,WAAA,EAAA,SAAA,CAAA,MAAA,CAAA;EAClD,SAAA,YAAA,EEqIc,gBFrId,CEqI+B,YFrI/B,CAAA;EAA4B,gBAAA,CAAA,MAAA,EEsIZ,YFtIY,CAAA,EAAA,MAAA,GAAA,SAAA;EAAR,OAAA,CAAA,OAAA,EEyIZ,YFzIY,CAAA,EAAA,CAAA,GAAA,EEyIS,oBFzIT,EAAA,GEyIkC,YFzIlC;;AAIZ,cE0If,iBF1Ie,EE0IE,iBF1IF;AAAf,cE4IA,aF5IA,EAAA,CAAA,MAAA,CAAA,EE4IyB,YF5IzB,EAAA,GE4I0C,wCAAA,CAAA,UF5I1C,CE4I0C,YF5I1C,EE4I0C,YF5I1C,CAAA;AAAR,cEkJQ,eAAA,SAAwB,SFlJhC,CAAA,OEmJI,oBFnJJ,EAAA,SAAA,CAAA,UAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA;EAAO,MAAA,CAAA,KAAA,EAAA,MAAA,EAAA,IAAA,EEwJwB,kBFxJxB,CAAA,EEwJ2C,OFxJ3C,CAAA,MAAA,CAAA;6BE2JuB,qBAAmB;6BAGzB;mBAGV;AD/NnB;AACa,cCmOA,oBAAA,SAA6B,mBDnOkB,CCmOE,YDnOF,CAAA,CAAA;EAC/C,SAAA,OAAA,EAAA,eAAuC;EACvC,SAAA,MAAA,EAAA,SAA2C,CAAA,UAAA,EAAA,OAAA,EAAA,SAAA,CAAA;EAC3C,SAAA,WAAyC,EAAA,SAAA,CAAA,SAAA,CAAA;EACzC,SAAA,YAAA,ECmOqB,gBDnO8B,CCmOb,YDnOa,CAAA;EAEnD,gBAAgD,CAAA,MAAA,ECkOzB,YDlOyB,CAAA,EAAA,MAAA,GAAA,SAAA;EAChD,OAAA,CAAA,OAAA,ECoOe,YDpOyC,CAAA,EAAA,CAAA,GAAA,ECoOpB,oBDpOoB,EAAA,GCoOK,eDpOL;AACrE;AAWa,cC6NA,oBD7NmD,EC6N/B,oBD7N+B;AACnD,cC8NA,gBD9NiD,EAAA,CAAA,MAAA,CAAA,EC8NrB,YD9NqB,EAAA,GC8NJ,wCAAA,CAAA,UD9NI,CC8NJ,eD9NI,EC8NJ,YD9NI,CAAA;AACjD,cCmOA,iBAAA,SAA0B,SD1NtC,CAAA,OC2NQ,sBD3NR,EAAA,SAAA,CAAA,UAAA,EAAA,OAAA,CAAA,EC6NC,ID7ND,EC8NC,ID9ND,CAAA,CAAA;EAEY,MAAA,CAAA,KAAA,EC8NS,ID9NsC,EAAA,IAAA,EC8N1B,kBD9N0B,CAAA,EC8NP,OD9NO,CC8NC,ID9ND,CAAA;EAC/C,MAAA,CAAA,IAAA,ECgOQ,IDhOqC,EAAA,IAAA,ECgOzB,kBDhOyB,CAAA,ECgON,ODhOM,CCgOE,IDhOF,CAAA;EAE7C,UAAA,CAAA,KAAA,ECiOO,IDjO0C,CAAA,ECiOnC,SDjOmC;EACjD,UAAA,CAAA,IAAA,ECmOM,SDnOyC,CAAA,ECmO7B,IDnO6B;AAE5D;AACa,cCqOA,sBAAA,SAA+B,mBDrOe,CCqOK,eDrOL,CAAA,CAAA;EAE9C,SAAA,OAAA,EAAA,iBAA6B;EAC7B,SAAA,MAAA,EAAA,SAA+C,CAAA,UAAnB,EAAO,OAAY,CAAA;EAC/C,SAAA,WAAA,EAAA,SAAwE,CAAA,WAAhC,CAAA;EACxC,SAAA,YAAA,ECoOqB,gBDpOW,CCoOM,eD3NlD,CAAA;EACY,gBAAA,CAAA,MAAA,EC2NuB,eD5MnC,CAAA,EAAA,MAAA,GAAA,SAAA;mBC+M2B,wBAAwB,yBAAyB;;cAKhE,wBAAsB;AAhP9B,cAkPQ,kBAlPI,EAAA,CAAA,MAAA,CAAA,EAkP0B,eAlP1B,EAAA,GAkP8C,wCAAA,CAAA,UAlP9C,CAkP8C,iBAlP9C,EAkP8C,eAlP9C,CAAA;;;iBChDD,kBAAkB,4BAA4B,IAAI;;;;;;;AJClE;AAEA;AAKA;;AAAgE,iBIYhD,uBAAA,CJZgD,GAAA,EIYnB,WJZmB,CAAA,EIYL,aJZK,CIYS,QJZT,CAAA;;;AAAhE;;;;;AAOyB,iBKET,oBAAA,CLFS,IAAA,EKEkB,WLFlB,EAAA,QAAA,EKEyC,uBLFzC,CAAA,EAAA,IAAA"}