@prisma-next/runtime-executor 0.3.0-pr.93.5 → 0.3.0-pr.94.2
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.
- package/dist/index.d.mts +167 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +563 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +15 -10
- package/dist/async-iterable-result.d.ts +0 -17
- package/dist/async-iterable-result.d.ts.map +0 -1
- package/dist/errors.d.ts +0 -8
- package/dist/errors.d.ts.map +0 -1
- package/dist/exports/index.d.ts +0 -17
- package/dist/exports/index.d.ts.map +0 -1
- package/dist/fingerprint.d.ts +0 -2
- package/dist/fingerprint.d.ts.map +0 -1
- package/dist/guardrails/raw.d.ts +0 -28
- package/dist/guardrails/raw.d.ts.map +0 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -746
- package/dist/index.js.map +0 -1
- package/dist/marker.d.ts +0 -13
- package/dist/marker.d.ts.map +0 -1
- package/dist/plugins/budgets.d.ts +0 -16
- package/dist/plugins/budgets.d.ts.map +0 -1
- package/dist/plugins/lints.d.ts +0 -11
- package/dist/plugins/lints.d.ts.map +0 -1
- package/dist/plugins/types.d.ts +0 -27
- package/dist/plugins/types.d.ts.map +0 -1
- package/dist/runtime-core.d.ts +0 -37
- package/dist/runtime-core.d.ts.map +0 -1
- package/dist/runtime-spi.d.ts +0 -14
- package/dist/runtime-spi.d.ts.map +0 -1
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { ContractMarkerRecord, ContractMarkerRecord as ContractMarkerRecord$1, ExecutionPlan } from "@prisma-next/contract/types";
|
|
2
|
+
import { OperationRegistry } from "@prisma-next/operations";
|
|
3
|
+
|
|
4
|
+
//#region src/async-iterable-result.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Custom async iterable result that extends AsyncIterable with a toArray() method.
|
|
7
|
+
* This provides a convenient way to collect all results from an async iterator.
|
|
8
|
+
*/
|
|
9
|
+
declare class AsyncIterableResult<Row> implements AsyncIterable<Row> {
|
|
10
|
+
private readonly generator;
|
|
11
|
+
private consumed;
|
|
12
|
+
private consumedBy;
|
|
13
|
+
constructor(generator: AsyncGenerator<Row, void, unknown>);
|
|
14
|
+
[Symbol.asyncIterator](): AsyncIterator<Row>;
|
|
15
|
+
/**
|
|
16
|
+
* Collects all values from the async iterator into an array.
|
|
17
|
+
* Once called, the iterator is consumed and cannot be reused.
|
|
18
|
+
*/
|
|
19
|
+
toArray(): Promise<Row[]>;
|
|
20
|
+
}
|
|
21
|
+
//#endregion
|
|
22
|
+
//#region src/errors.d.ts
|
|
23
|
+
interface RuntimeErrorEnvelope extends Error {
|
|
24
|
+
readonly code: string;
|
|
25
|
+
readonly category: 'PLAN' | 'CONTRACT' | 'LINT' | 'BUDGET' | 'RUNTIME';
|
|
26
|
+
readonly severity: 'error';
|
|
27
|
+
readonly details?: Record<string, unknown>;
|
|
28
|
+
}
|
|
29
|
+
declare function runtimeError(code: string, message: string, details?: Record<string, unknown>): RuntimeErrorEnvelope;
|
|
30
|
+
//#endregion
|
|
31
|
+
//#region src/fingerprint.d.ts
|
|
32
|
+
declare function computeSqlFingerprint(sql: string): string;
|
|
33
|
+
//#endregion
|
|
34
|
+
//#region src/guardrails/raw.d.ts
|
|
35
|
+
type LintSeverity = 'error' | 'warn';
|
|
36
|
+
type BudgetSeverity = 'error' | 'warn';
|
|
37
|
+
interface LintFinding {
|
|
38
|
+
readonly code: `LINT.${string}`;
|
|
39
|
+
readonly severity: LintSeverity;
|
|
40
|
+
readonly message: string;
|
|
41
|
+
readonly details?: Record<string, unknown>;
|
|
42
|
+
}
|
|
43
|
+
interface BudgetFinding {
|
|
44
|
+
readonly code: `BUDGET.${string}`;
|
|
45
|
+
readonly severity: BudgetSeverity;
|
|
46
|
+
readonly message: string;
|
|
47
|
+
readonly details?: Record<string, unknown>;
|
|
48
|
+
}
|
|
49
|
+
interface RawGuardrailConfig {
|
|
50
|
+
readonly budgets?: {
|
|
51
|
+
readonly unboundedSelectSeverity?: BudgetSeverity;
|
|
52
|
+
readonly estimatedRows?: number;
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
interface RawGuardrailResult {
|
|
56
|
+
readonly lints: LintFinding[];
|
|
57
|
+
readonly budgets: BudgetFinding[];
|
|
58
|
+
readonly statement: 'select' | 'mutation' | 'other';
|
|
59
|
+
}
|
|
60
|
+
declare function evaluateRawGuardrails(plan: ExecutionPlan, config?: RawGuardrailConfig): RawGuardrailResult;
|
|
61
|
+
//#endregion
|
|
62
|
+
//#region src/marker.d.ts
|
|
63
|
+
declare function parseContractMarkerRow(row: unknown): ContractMarkerRecord$1;
|
|
64
|
+
//#endregion
|
|
65
|
+
//#region src/plugins/types.d.ts
|
|
66
|
+
type Severity = 'error' | 'warn' | 'info';
|
|
67
|
+
interface Log {
|
|
68
|
+
info(event: unknown): void;
|
|
69
|
+
warn(event: unknown): void;
|
|
70
|
+
error(event: unknown): void;
|
|
71
|
+
}
|
|
72
|
+
interface PluginContext<TContract = unknown, TAdapter = unknown, TDriver = unknown> {
|
|
73
|
+
readonly contract: TContract;
|
|
74
|
+
readonly adapter: TAdapter;
|
|
75
|
+
readonly driver: TDriver;
|
|
76
|
+
readonly mode: 'strict' | 'permissive';
|
|
77
|
+
readonly now: () => number;
|
|
78
|
+
readonly log: Log;
|
|
79
|
+
}
|
|
80
|
+
interface AfterExecuteResult {
|
|
81
|
+
readonly rowCount: number;
|
|
82
|
+
readonly latencyMs: number;
|
|
83
|
+
readonly completed: boolean;
|
|
84
|
+
}
|
|
85
|
+
interface Plugin<TContract = unknown, TAdapter = unknown, TDriver = unknown> {
|
|
86
|
+
readonly name: string;
|
|
87
|
+
beforeExecute?(plan: ExecutionPlan, ctx: PluginContext<TContract, TAdapter, TDriver>): Promise<void>;
|
|
88
|
+
onRow?(row: Record<string, unknown>, plan: ExecutionPlan, ctx: PluginContext<TContract, TAdapter, TDriver>): Promise<void>;
|
|
89
|
+
afterExecute?(plan: ExecutionPlan, result: AfterExecuteResult, ctx: PluginContext<TContract, TAdapter, TDriver>): Promise<void>;
|
|
90
|
+
}
|
|
91
|
+
//#endregion
|
|
92
|
+
//#region src/plugins/budgets.d.ts
|
|
93
|
+
interface BudgetsOptions {
|
|
94
|
+
readonly maxRows?: number;
|
|
95
|
+
readonly defaultTableRows?: number;
|
|
96
|
+
readonly tableRows?: Record<string, number>;
|
|
97
|
+
readonly maxLatencyMs?: number;
|
|
98
|
+
readonly severities?: {
|
|
99
|
+
readonly rowCount?: 'warn' | 'error';
|
|
100
|
+
readonly latency?: 'warn' | 'error';
|
|
101
|
+
};
|
|
102
|
+
readonly explain?: {
|
|
103
|
+
readonly enabled?: boolean;
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
declare function budgets<TContract = unknown, TAdapter = unknown, TDriver = unknown>(options?: BudgetsOptions): Plugin<TContract, TAdapter, TDriver>;
|
|
107
|
+
//#endregion
|
|
108
|
+
//#region src/plugins/lints.d.ts
|
|
109
|
+
interface LintsOptions {
|
|
110
|
+
readonly severities?: {
|
|
111
|
+
readonly selectStar?: 'warn' | 'error';
|
|
112
|
+
readonly noLimit?: 'warn' | 'error';
|
|
113
|
+
readonly readOnlyMutation?: 'warn' | 'error';
|
|
114
|
+
readonly unindexedPredicate?: 'warn' | 'error';
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
declare function lints<TContract = unknown, TAdapter = unknown, TDriver = unknown>(options?: LintsOptions): Plugin<TContract, TAdapter, TDriver>;
|
|
118
|
+
//#endregion
|
|
119
|
+
//#region src/runtime-spi.d.ts
|
|
120
|
+
interface MarkerStatement {
|
|
121
|
+
readonly sql: string;
|
|
122
|
+
readonly params: readonly unknown[];
|
|
123
|
+
}
|
|
124
|
+
interface MarkerReader {
|
|
125
|
+
readMarkerStatement(): MarkerStatement;
|
|
126
|
+
}
|
|
127
|
+
interface RuntimeFamilyAdapter<TContract = unknown> {
|
|
128
|
+
readonly contract: TContract;
|
|
129
|
+
readonly markerReader: MarkerReader;
|
|
130
|
+
validatePlan(plan: ExecutionPlan, contract: TContract): void;
|
|
131
|
+
}
|
|
132
|
+
//#endregion
|
|
133
|
+
//#region src/runtime-core.d.ts
|
|
134
|
+
interface RuntimeVerifyOptions {
|
|
135
|
+
readonly mode: 'onFirstUse' | 'startup' | 'always';
|
|
136
|
+
readonly requireMarker: boolean;
|
|
137
|
+
}
|
|
138
|
+
type TelemetryOutcome = 'success' | 'runtime-error';
|
|
139
|
+
interface RuntimeTelemetryEvent {
|
|
140
|
+
readonly lane: string;
|
|
141
|
+
readonly target: string;
|
|
142
|
+
readonly fingerprint: string;
|
|
143
|
+
readonly outcome: TelemetryOutcome;
|
|
144
|
+
readonly durationMs?: number;
|
|
145
|
+
}
|
|
146
|
+
interface RuntimeCoreOptions<TContract = unknown, TAdapter = unknown, TDriver = unknown> {
|
|
147
|
+
readonly familyAdapter: RuntimeFamilyAdapter<TContract>;
|
|
148
|
+
readonly driver: TDriver;
|
|
149
|
+
readonly verify: RuntimeVerifyOptions;
|
|
150
|
+
readonly plugins?: readonly Plugin<TContract, TAdapter, TDriver>[];
|
|
151
|
+
readonly mode?: 'strict' | 'permissive';
|
|
152
|
+
readonly log?: Log;
|
|
153
|
+
readonly operationRegistry: OperationRegistry;
|
|
154
|
+
}
|
|
155
|
+
interface RuntimeCore<TContract = unknown, TAdapter = unknown, TDriver = unknown> {
|
|
156
|
+
readonly _typeContract?: TContract;
|
|
157
|
+
readonly _typeAdapter?: TAdapter;
|
|
158
|
+
readonly _typeDriver?: TDriver;
|
|
159
|
+
execute<Row = Record<string, unknown>>(plan: ExecutionPlan<Row>): AsyncIterableResult<Row>;
|
|
160
|
+
telemetry(): RuntimeTelemetryEvent | null;
|
|
161
|
+
close(): Promise<void>;
|
|
162
|
+
operations(): OperationRegistry;
|
|
163
|
+
}
|
|
164
|
+
declare function createRuntimeCore<TContract = unknown, TAdapter = unknown, TDriver = unknown>(options: RuntimeCoreOptions<TContract, TAdapter, TDriver>): RuntimeCore<TContract, TAdapter, TDriver>;
|
|
165
|
+
//#endregion
|
|
166
|
+
export { AfterExecuteResult, AsyncIterableResult, BudgetFinding, BudgetsOptions, type ContractMarkerRecord, LintFinding, LintsOptions, Log, MarkerReader, MarkerStatement, Plugin, PluginContext, RawGuardrailResult, RuntimeCore, RuntimeCoreOptions, RuntimeErrorEnvelope, RuntimeFamilyAdapter, RuntimeTelemetryEvent, RuntimeVerifyOptions, Severity, TelemetryOutcome, budgets, computeSqlFingerprint, createRuntimeCore, evaluateRawGuardrails, lints, parseContractMarkerRow, runtimeError };
|
|
167
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/async-iterable-result.ts","../src/errors.ts","../src/fingerprint.ts","../src/guardrails/raw.ts","../src/marker.ts","../src/plugins/types.ts","../src/plugins/budgets.ts","../src/plugins/lints.ts","../src/runtime-spi.ts","../src/runtime-core.ts"],"sourcesContent":[],"mappings":"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"}
|