@prisma-next/sql-relational-core 0.5.0-dev.3 → 0.5.0-dev.30

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 (59) hide show
  1. package/README.md +67 -1
  2. package/dist/{codec-types-DcEITed4.d.mts → codec-types-DAQNecFs.d.mts} +84 -21
  3. package/dist/codec-types-DAQNecFs.d.mts.map +1 -0
  4. package/dist/{errors-ChY_dHam.d.mts → errors-CJKxtKSt.d.mts} +2 -2
  5. package/dist/errors-CJKxtKSt.d.mts.map +1 -0
  6. package/dist/{errors-D3xmG4h-.mjs → errors-D6kqqjHM.mjs} +1 -1
  7. package/dist/{errors-D3xmG4h-.mjs.map → errors-D6kqqjHM.mjs.map} +1 -1
  8. package/dist/exports/ast.d.mts +27 -12
  9. package/dist/exports/ast.d.mts.map +1 -1
  10. package/dist/exports/ast.mjs +63 -1089
  11. package/dist/exports/ast.mjs.map +1 -1
  12. package/dist/exports/errors.d.mts +4 -4
  13. package/dist/exports/errors.mjs +1 -1
  14. package/dist/exports/expression.d.mts +79 -0
  15. package/dist/exports/expression.d.mts.map +1 -0
  16. package/dist/exports/expression.mjs +41 -0
  17. package/dist/exports/expression.mjs.map +1 -0
  18. package/dist/exports/plan.d.mts +3 -2
  19. package/dist/exports/plan.mjs +1 -17
  20. package/dist/exports/query-lane-context.d.mts +2 -2
  21. package/dist/exports/types.d.mts +5 -4
  22. package/dist/index.d.mts +11 -9
  23. package/dist/index.mjs +6 -4
  24. package/dist/plan-C7SiEWkN.d.mts +25 -0
  25. package/dist/plan-C7SiEWkN.d.mts.map +1 -0
  26. package/dist/{query-lane-context-UlR8vOkd.d.mts → query-lane-context-Cch9CN9H.d.mts} +2 -2
  27. package/dist/{query-lane-context-UlR8vOkd.d.mts.map → query-lane-context-Cch9CN9H.d.mts.map} +1 -1
  28. package/dist/sql-execution-plan-Dgx7BGin.d.mts +33 -0
  29. package/dist/sql-execution-plan-Dgx7BGin.d.mts.map +1 -0
  30. package/dist/{types-C3Hg-CVz.d.mts → types-B4dL4lc3.d.mts} +17 -22
  31. package/dist/types-B4dL4lc3.d.mts.map +1 -0
  32. package/dist/types-BUlUvdIU.d.mts +24 -0
  33. package/dist/types-BUlUvdIU.d.mts.map +1 -0
  34. package/dist/types-DUL-3vy6.mjs +1064 -0
  35. package/dist/types-DUL-3vy6.mjs.map +1 -0
  36. package/dist/{types-k9pir8XY.d.mts → types-TPM2rhCa.d.mts} +12 -19
  37. package/dist/types-TPM2rhCa.d.mts.map +1 -0
  38. package/package.json +10 -9
  39. package/src/ast/adapter-types.ts +8 -0
  40. package/src/ast/codec-types.ts +142 -43
  41. package/src/ast/sql-codecs.ts +20 -3
  42. package/src/ast/types.ts +142 -172
  43. package/src/ast/util.ts +23 -0
  44. package/src/exports/expression.ts +1 -0
  45. package/src/exports/plan.ts +1 -0
  46. package/src/exports/types.ts +1 -0
  47. package/src/expression.ts +117 -0
  48. package/src/index.ts +1 -0
  49. package/src/plan.ts +11 -30
  50. package/src/runtime-scope.ts +20 -0
  51. package/src/sql-execution-plan.ts +28 -0
  52. package/src/types.ts +9 -22
  53. package/dist/codec-types-DcEITed4.d.mts.map +0 -1
  54. package/dist/errors-ChY_dHam.d.mts.map +0 -1
  55. package/dist/exports/plan.mjs.map +0 -1
  56. package/dist/plan-Cs65hb-E.d.mts +0 -28
  57. package/dist/plan-Cs65hb-E.d.mts.map +0 -1
  58. package/dist/types-C3Hg-CVz.d.mts.map +0 -1
  59. package/dist/types-k9pir8XY.d.mts.map +0 -1
package/README.md CHANGED
@@ -89,7 +89,73 @@ 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 Factory (`ast/codec-types.ts` via `exports/ast.ts`)
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.
99
+
100
+ ```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
+ });
120
+ ```
121
+
122
+ #### Codec call context (`ctx`)
123
+
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.
125
+
126
+ - **`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
+ - **`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
+
129
+ ```ts
130
+ // 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
+ });
154
+ ```
155
+
156
+ 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' }`.
157
+
158
+ 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
159
 
94
160
  ### AST Surface (`ast/*` via `exports/ast.ts`)
95
161
  - Query roots: `SelectAst`, `InsertAst`, `UpdateAst`, `DeleteAst`
@@ -1,10 +1,41 @@
1
1
  import { Type } from "arktype";
2
2
  import { JsonValue } from "@prisma-next/contract/types";
3
- import { Codec, CodecTrait, CodecTrait as CodecTrait$1 } from "@prisma-next/framework-components/codec";
3
+ import { Codec, CodecCallContext, CodecCallContext as CodecCallContext$1, CodecTrait, CodecTrait as CodecTrait$1 } from "@prisma-next/framework-components/codec";
4
4
  import { O } from "ts-toolbelt";
5
5
 
6
6
  //#region src/ast/codec-types.d.ts
7
7
 
8
+ /**
9
+ * SQL-family addressing of a single column. The decode site populates a
10
+ * `SqlColumnRef` whenever it can resolve the cell to a single underlying
11
+ * `(table, column)` (the typical case for projected columns from a
12
+ * single-table source); cells the runtime cannot resolve (aggregate
13
+ * aliases, include aggregate fields, computed projections without a
14
+ * simple ref) get `column = undefined`.
15
+ *
16
+ * The shape is a structural projection of the runtime's `ColumnRef` so
17
+ * the SQL decode site can reuse the resolution it already performs for
18
+ * `RUNTIME.DECODE_FAILED` envelope construction without allocating
19
+ * twice per cell.
20
+ */
21
+ interface SqlColumnRef {
22
+ readonly table: string;
23
+ readonly name: string;
24
+ }
25
+ /**
26
+ * SQL-family per-call context. Extends the framework {@link CodecCallContext}
27
+ * (which carries `signal` only) with `column?: SqlColumnRef`, populated
28
+ * on **decode** call sites that can resolve a single underlying column
29
+ * ref. Encode call sites currently leave `column` undefined (encode-time
30
+ * column context is the middleware's domain).
31
+ *
32
+ * SQL codec authors writing a `(value, ctx)` author function for the SQL
33
+ * `codec()` factory observe this type. The framework codec dispatch
34
+ * surface (and Mongo) sees only the base `CodecCallContext`.
35
+ */
36
+ interface SqlCodecCallContext extends CodecCallContext {
37
+ readonly column?: SqlColumnRef;
38
+ }
8
39
  /**
9
40
  * Descriptor for parameterized codecs that require type parameter validation.
10
41
  * Shared between adapter (compile-time) and runtime layers to avoid duplication.
@@ -41,13 +72,23 @@ interface CodecMeta {
41
72
  };
42
73
  }
43
74
  /**
44
- * SQL codec interface — extends the framework base with SQL-specific fields.
75
+ * SQL codec — extends the framework codec base with SQL-specific metadata:
76
+ * driver-native type info (`meta.db.sql.<dialect>.nativeType`) and an
77
+ * optional parameterized-codec descriptor (`paramsSchema` + `init`) for
78
+ * codecs that require type-parameter validation (e.g. `pg/vector@1`).
79
+ *
80
+ * `encode` and `decode` are redeclared here to narrow the per-call
81
+ * context to the SQL-family {@link SqlCodecCallContext} (adds
82
+ * `column?: SqlColumnRef`). TypeScript treats method-syntax declarations
83
+ * bivariantly, so the SQL narrowing is structurally compatible with the
84
+ * framework {@link BaseCodec} super-interface.
45
85
  *
46
- * Codecs are pure, synchronous functions with no side effects or IO.
47
- * They provide deterministic conversion between database wire types and JS values,
48
- * and between JS values and contract JSON.
86
+ * See `Codec` in `@prisma-next/framework-components/codec` for the codec
87
+ * contract that this interface extends.
49
88
  */
50
- interface Codec$1<Id$1 extends string = string, TTraits$1 extends readonly CodecTrait[] = readonly CodecTrait[], TWire = unknown, TJs = unknown, TParams = Record<string, unknown>, THelper = unknown> extends Codec<Id$1, TTraits$1, TWire, TJs> {
89
+ interface Codec$1<Id$1 extends string = string, TTraits$1 extends readonly CodecTrait[] = readonly CodecTrait[], TWire = unknown, TInput = unknown, TParams = Record<string, unknown>, THelper = unknown> extends Codec<Id$1, TTraits$1, TWire, TInput> {
90
+ encode(value: TInput, ctx: SqlCodecCallContext): Promise<TWire>;
91
+ decode(wire: TWire, ctx: SqlCodecCallContext): Promise<TInput>;
51
92
  readonly meta?: CodecMeta;
52
93
  readonly paramsSchema?: Type<TParams>;
53
94
  readonly init?: (params: TParams) => THelper;
@@ -74,37 +115,59 @@ interface CodecRegistry {
74
115
  values(): IterableIterator<Codec$1<string>>;
75
116
  }
76
117
  /**
77
- * Codec factory - creates a codec with typeId and encode/decode functions.
78
- * Provides identity defaults for encodeJson/decodeJson when not supplied.
118
+ * Conditional bundle for `encodeJson`/`decodeJson`: when `TInput` is
119
+ * structurally assignable to `JsonValue` the identity defaults are
120
+ * sound and both fields are optional; otherwise both fields are
121
+ * required so an author cannot silently produce a non-JSON-safe
122
+ * contract artifact.
123
+ */
124
+ type JsonRoundTripConfig<TInput> = [TInput] extends [JsonValue] ? {
125
+ encodeJson?: (value: TInput) => JsonValue;
126
+ decodeJson?: (json: JsonValue) => TInput;
127
+ } : {
128
+ encodeJson: (value: TInput) => JsonValue;
129
+ decodeJson: (json: JsonValue) => TInput;
130
+ };
131
+ /**
132
+ * Construct a SQL codec from author functions and optional metadata.
133
+ *
134
+ * Author `encode` and `decode` as sync or async functions; the factory
135
+ * produces a {@link Codec} whose query-time methods follow the boundary
136
+ * contract documented on `Codec`. Authors receive a second `ctx` options
137
+ * argument carrying the SQL-family per-call context; ignore it if you
138
+ * don't need it.
139
+ *
140
+ * Both `encode` and `decode` are required so `TInput` and `TWire` are
141
+ * always covered by an explicit author function — the factory installs
142
+ * no identity fallback. `encodeJson` and `decodeJson` default to identity
143
+ * **only when `TInput` is assignable to `JsonValue`**; otherwise both are
144
+ * required so the contract artifact stays JSON-safe.
79
145
  */
80
- declare function codec<Id$1 extends string, const TTraits$1 extends readonly CodecTrait[], TWire, TJs, TParams = Record<string, unknown>, THelper = unknown>(config: {
146
+ declare function codec<Id$1 extends string, const TTraits$1 extends readonly CodecTrait[] = readonly [], TWire = unknown, TInput = unknown, TParams = Record<string, unknown>, THelper = unknown>(config: {
81
147
  typeId: Id$1;
82
148
  targetTypes: readonly string[];
83
- encode: (value: TJs) => TWire;
84
- decode: (wire: TWire) => TJs;
85
- encodeJson?: (value: TJs) => JsonValue;
86
- decodeJson?: (json: JsonValue) => TJs;
149
+ encode: (value: TInput, ctx: SqlCodecCallContext) => TWire | Promise<TWire>;
150
+ decode: (wire: TWire, ctx: SqlCodecCallContext) => TInput | Promise<TInput>;
87
151
  meta?: CodecMeta;
88
152
  paramsSchema?: Type<TParams>;
89
153
  init?: (params: TParams) => THelper;
90
154
  traits?: TTraits$1;
91
155
  renderOutputType?: (typeParams: Record<string, unknown>) => string | undefined;
92
- }): Codec$1<Id$1, TTraits$1, TWire, TJs, TParams, THelper>;
156
+ } & JsonRoundTripConfig<TInput>): Codec$1<Id$1, TTraits$1, TWire, TInput, TParams, THelper>;
93
157
  /**
94
158
  * Type helpers to extract codec types.
95
159
  */
96
160
  type CodecId<T> = T extends Codec$1<infer Id> ? Id : T extends {
97
161
  readonly id: infer Id;
98
162
  } ? Id : never;
99
- type CodecInput<T> = T extends Codec$1<string, readonly CodecTrait[], unknown, infer JsT> ? JsT : never;
100
- type CodecOutput<T> = T extends Codec$1<string, readonly CodecTrait[], unknown, infer JsT> ? JsT : never;
163
+ type CodecInput<T> = T extends Codec$1<string, readonly CodecTrait[], unknown, infer In> ? In : never;
101
164
  type CodecTraits<T> = T extends Codec$1<string, infer TTraits> ? TTraits[number] & CodecTrait : never;
102
165
  /**
103
166
  * Type helper to extract codec types from builder instance.
104
167
  */
105
168
  type ExtractCodecTypes<ScalarNames extends { readonly [K in keyof ScalarNames]: Codec$1<string> } = Record<never, never>> = { readonly [K in keyof ScalarNames as ScalarNames[K] extends Codec$1<infer Id> ? Id : never]: {
106
169
  readonly input: CodecInput<ScalarNames[K]>;
107
- readonly output: CodecOutput<ScalarNames[K]>;
170
+ readonly output: CodecInput<ScalarNames[K]>;
108
171
  readonly traits: CodecTraits<ScalarNames[K]>;
109
172
  } };
110
173
  /**
@@ -126,8 +189,8 @@ interface CodecDefBuilder<ScalarNames extends { readonly [K in keyof ScalarNames
126
189
  readonly scalar: K;
127
190
  readonly codec: ScalarNames[K];
128
191
  readonly input: CodecInput<ScalarNames[K]>;
129
- readonly output: CodecOutput<ScalarNames[K]>;
130
- readonly jsType: CodecOutput<ScalarNames[K]>;
192
+ readonly output: CodecInput<ScalarNames[K]>;
193
+ readonly jsType: CodecInput<ScalarNames[K]>;
131
194
  } };
132
195
  readonly dataTypes: { readonly [K in keyof ScalarNames]: { readonly [Id in keyof ExtractCodecTypes<Record<K, ScalarNames[K]>>]: Id }[keyof ExtractCodecTypes<Record<K, ScalarNames[K]>>] };
133
196
  }
@@ -140,5 +203,5 @@ declare function createCodecRegistry(): CodecRegistry;
140
203
  */
141
204
  declare function defineCodecs(): CodecDefBuilder<Record<never, never>>;
142
205
  //#endregion
143
- export { CodecMeta as a, CodecRegistry as c, ExtractCodecTypes as d, ExtractDataTypes as f, defineCodecs as h, CodecInput as i, CodecTrait$1 as l, createCodecRegistry as m, CodecDefBuilder as n, CodecOutput as o, codec as p, CodecId as r, CodecParamsDescriptor as s, Codec$1 as t, CodecTraits as u };
144
- //# sourceMappingURL=codec-types-DcEITed4.d.mts.map
206
+ export { defineCodecs as _, CodecInput as a, CodecRegistry as c, ExtractCodecTypes as d, ExtractDataTypes as f, createCodecRegistry as g, codec as h, CodecId as i, CodecTrait$1 as l, SqlColumnRef as m, CodecCallContext$1 as n, CodecMeta as o, SqlCodecCallContext as p, CodecDefBuilder as r, CodecParamsDescriptor as s, Codec$1 as t, CodecTraits as u };
207
+ //# sourceMappingURL=codec-types-DAQNecFs.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codec-types-DAQNecFs.d.mts","names":[],"sources":["../src/ast/codec-types.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { b as RuntimeError } from "./types-k9pir8XY.mjs";
1
+ import { y as RuntimeError } from "./types-TPM2rhCa.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-CJKxtKSt.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors-CJKxtKSt.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-D3xmG4h-.mjs.map
35
+ //# sourceMappingURL=errors-D6kqqjHM.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-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,5 +1,6 @@
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 defineCodecs, a as CodecInput, c as CodecRegistry, d as ExtractCodecTypes, f as ExtractDataTypes, g as createCodecRegistry, h as codec, i as CodecId, l as CodecTrait, m as SqlColumnRef, n as CodecCallContext, o as CodecMeta, p as SqlCodecCallContext, r as CodecDefBuilder, s as CodecParamsDescriptor, t as Codec, u as CodecTraits } from "../codec-types-DAQNecFs.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";
3
4
 
4
5
  //#region src/ast/adapter-types.d.ts
5
6
  type AdapterTarget = string;
@@ -23,6 +24,13 @@ interface AdapterProfile<TTarget extends AdapterTarget = AdapterTarget> {
23
24
  * parameter placeholder style).
24
25
  */
25
26
  readMarkerStatement(): MarkerStatement;
27
+ /**
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.
32
+ */
33
+ parseMarkerRow(row: unknown): ContractMarkerRecord;
26
34
  }
27
35
  interface LowererContext<TContract = unknown> {
28
36
  readonly contract: TContract;
@@ -118,9 +126,7 @@ declare const codecs: CodecDefBuilder<{
118
126
  int: Codec<"sql/int@1", readonly ["equality", "order", "numeric"], number, number, Record<string, unknown>, unknown>;
119
127
  float: Codec<"sql/float@1", readonly ["equality", "order", "numeric"], number, number, Record<string, unknown>, unknown>;
120
128
  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>>>;
129
+ } & Record<"timestamp", Codec<"sql/timestamp@1", readonly ["equality", "order"], Date, Date, Record<string, unknown>, unknown>>>;
124
130
  declare const sqlCodecDefinitions: {
125
131
  readonly char: {
126
132
  readonly typeId: "sql/char@1";
@@ -165,12 +171,10 @@ declare const sqlCodecDefinitions: {
165
171
  readonly timestamp: {
166
172
  readonly typeId: "sql/timestamp@1";
167
173
  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
+ 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;
174
178
  };
175
179
  };
176
180
  declare const sqlDataTypes: {
@@ -185,6 +189,17 @@ type SqlCodecTypes = typeof codecs.CodecTypes;
185
189
  //#endregion
186
190
  //#region src/ast/util.d.ts
187
191
  declare function compact<T extends Record<string, unknown>>(o: T): T;
192
+ /**
193
+ * Walks an AST's parameter references in first-encounter order and dedupes
194
+ * by ParamRef identity. The single canonical helper used by every consumer
195
+ * that aligns `plan.params` with metadata-by-index — the SQL builder lane,
196
+ * the SQL ORM client, the SQL runtime encoder, and the Postgres renderer's
197
+ * `$N` index map — so the four walks cannot drift in dedupe semantics.
198
+ *
199
+ * SQLite's `?`-placeholder renderer intentionally does NOT use this helper
200
+ * because it needs one params entry per occurrence in the SQL.
201
+ */
202
+ declare function collectOrderedParamRefs(ast: AnyQueryAst): ReadonlyArray<ParamRef>;
188
203
  //#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 };
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, 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, 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 };
190
205
  //# 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-codecs.ts","../../src/ast/util.ts"],"sourcesContent":[],"mappings":"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"}