@lovrozagar/oat 0.6.2 → 0.7.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/README.md +443 -146
- package/dist/cli.js +35 -29
- package/dist/config/define-config.d.ts +125 -3
- package/dist/config/define-config.d.ts.map +1 -1
- package/dist/config/define-config.js +6 -0
- package/dist/config/define-config.js.map +1 -1
- package/dist/index.d.ts +7 -2
- package/dist/index.js +4 -1
- package/dist/reference/defects.d.ts +16 -0
- package/dist/reference/defects.d.ts.map +1 -1
- package/dist/reference/defects.js +16 -0
- package/dist/reference/defects.js.map +1 -1
- package/dist/reference/model.d.ts +9 -0
- package/dist/reference/model.d.ts.map +1 -1
- package/dist/reference/model.js +20 -0
- package/dist/reference/model.js.map +1 -1
- package/dist/reference/query.d.ts +5 -0
- package/dist/reference/query.d.ts.map +1 -1
- package/dist/reference/query.js +87 -21
- package/dist/reference/query.js.map +1 -1
- package/dist/reference/spec.d.ts.map +1 -1
- package/dist/reference/spec.js +47 -2
- package/dist/reference/spec.js.map +1 -1
- package/dist/reference/store-api.d.ts +5 -1
- package/dist/reference/store-api.d.ts.map +1 -1
- package/dist/reference/store-api.js +9 -1
- package/dist/reference/store-api.js.map +1 -1
- package/dist/reference/stores/memory.d.ts.map +1 -1
- package/dist/reference/stores/memory.js +11 -0
- package/dist/reference/stores/memory.js.map +1 -1
- package/dist/reference/stores/postgres.d.ts.map +1 -1
- package/dist/reference/stores/postgres.js +75 -19
- package/dist/reference/stores/postgres.js.map +1 -1
- package/dist/reference/stores/sqlite-driver.d.ts.map +1 -1
- package/dist/reference/stores/sqlite-driver.js +3 -0
- package/dist/reference/stores/sqlite-driver.js.map +1 -1
- package/dist/reference/stores/sqlite.d.ts.map +1 -1
- package/dist/reference/stores/sqlite.js +78 -17
- package/dist/reference/stores/sqlite.js.map +1 -1
- package/dist/report/console.d.ts +7 -1
- package/dist/report/console.d.ts.map +1 -1
- package/dist/report/console.js +210 -1
- package/dist/report/console.js.map +1 -1
- package/dist/report/render.d.ts.map +1 -1
- package/dist/report/render.js +4 -2
- package/dist/report/render.js.map +1 -1
- package/dist/runtime/auth.d.ts +22 -2
- package/dist/runtime/auth.d.ts.map +1 -1
- package/dist/runtime/auth.js +129 -16
- package/dist/runtime/auth.js.map +1 -1
- package/dist/runtime/body.d.ts.map +1 -1
- package/dist/runtime/body.js +6 -3
- package/dist/runtime/body.js.map +1 -1
- package/dist/runtime/checks.d.ts +9 -0
- package/dist/runtime/checks.d.ts.map +1 -1
- package/dist/runtime/checks.js +1414 -18
- package/dist/runtime/checks.js.map +1 -1
- package/dist/runtime/client.d.ts +23 -1
- package/dist/runtime/client.d.ts.map +1 -1
- package/dist/runtime/client.js +35 -5
- package/dist/runtime/client.js.map +1 -1
- package/dist/runtime/finding.d.ts +2 -0
- package/dist/runtime/finding.d.ts.map +1 -1
- package/dist/runtime/finding.js.map +1 -1
- package/dist/runtime/input.d.ts +7 -0
- package/dist/runtime/input.d.ts.map +1 -0
- package/dist/runtime/input.js +46 -0
- package/dist/runtime/input.js.map +1 -0
- package/dist/runtime/poll.d.ts +29 -0
- package/dist/runtime/poll.d.ts.map +1 -0
- package/dist/runtime/poll.js +59 -0
- package/dist/runtime/poll.js.map +1 -0
- package/dist/runtime/principals.d.ts +29 -0
- package/dist/runtime/principals.d.ts.map +1 -0
- package/dist/runtime/principals.js +97 -0
- package/dist/runtime/principals.js.map +1 -0
- package/dist/runtime/progress.d.ts +21 -0
- package/dist/runtime/progress.d.ts.map +1 -1
- package/dist/runtime/progress.js +63 -21
- package/dist/runtime/progress.js.map +1 -1
- package/dist/runtime/query-capabilities.d.ts +24 -0
- package/dist/runtime/query-capabilities.d.ts.map +1 -0
- package/dist/runtime/query-capabilities.js +66 -0
- package/dist/runtime/query-capabilities.js.map +1 -0
- package/dist/runtime/run.d.ts +14 -1
- package/dist/runtime/run.d.ts.map +1 -1
- package/dist/runtime/run.js +198 -39
- package/dist/runtime/run.js.map +1 -1
- package/dist/runtime/runs.d.ts +23 -0
- package/dist/runtime/runs.d.ts.map +1 -0
- package/dist/runtime/runs.js +53 -0
- package/dist/runtime/runs.js.map +1 -0
- package/dist/runtime/upload.d.ts +1 -0
- package/dist/runtime/upload.d.ts.map +1 -1
- package/dist/runtime/upload.js.map +1 -1
- package/dist/runtime/wait.d.ts +32 -0
- package/dist/runtime/wait.d.ts.map +1 -0
- package/dist/runtime/wait.js +125 -0
- package/dist/runtime/wait.js.map +1 -0
- package/dist/runtime/world.d.ts.map +1 -1
- package/dist/runtime/world.js +2 -0
- package/dist/runtime/world.js.map +1 -1
- package/dist/spec/conventions.d.ts +10 -2
- package/dist/spec/conventions.d.ts.map +1 -1
- package/dist/spec/conventions.js +61 -7
- package/dist/spec/conventions.js.map +1 -1
- package/dist/spec/extensions.d.ts +27 -0
- package/dist/spec/extensions.d.ts.map +1 -1
- package/dist/spec/extensions.js +40 -5
- package/dist/spec/extensions.js.map +1 -1
- package/dist/spec/graph.d.ts +2 -1
- package/dist/spec/graph.d.ts.map +1 -1
- package/dist/spec/graph.js +2 -1
- package/dist/spec/graph.js.map +1 -1
- package/dist/spec/query-capabilities.d.ts +154 -0
- package/dist/spec/query-capabilities.d.ts.map +1 -0
- package/dist/spec/query-capabilities.js +734 -0
- package/dist/spec/query-capabilities.js.map +1 -0
- package/labs/annotated-openapi.yaml +21 -2
- package/labs/demo.mjs +4 -2
- package/package.json +4 -2
package/dist/cli.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createWriteStream, writeFileSync } from "node:fs";
|
|
3
|
-
import { mkdir,
|
|
3
|
+
import { mkdir, writeFile } from "node:fs/promises";
|
|
4
4
|
import { dirname, resolve } from "node:path";
|
|
5
5
|
import { pathToFileURL } from "node:url";
|
|
6
6
|
import { interpolate, loadConfig } from "./config/load.js";
|
|
7
7
|
import { report } from "./report/console.js";
|
|
8
8
|
import { renderMatrixGraph, renderMatrixHtml } from "./report/matrix.js";
|
|
9
9
|
import { ISSUE_REPRO_DIR, renderConsole, renderJson, renderMarkdown, renderRepros } from "./report/render.js";
|
|
10
|
-
import { createStderrProgress, formatProgressJsonl, formatProgressLine, formatProgressTsv, PROGRESS_GLOSSARY, PROGRESS_TSV_HEADER, } from "./runtime/progress.js";
|
|
10
|
+
import { createProgressPump, createStderrProgress, formatProgressJsonl, formatProgressLine, formatProgressTsv, PROGRESS_GLOSSARY, PROGRESS_TSV_HEADER, } from "./runtime/progress.js";
|
|
11
|
+
import { allocateRunDir, DEFAULT_RUNS_ROOT } from "./runtime/runs.js";
|
|
11
12
|
import { renderTeardown } from "./runtime/teardown.js";
|
|
12
13
|
import { buildModel } from "./spec/graph.js";
|
|
13
14
|
import { dereference, loadSpec } from "./spec/load.js";
|
|
@@ -73,7 +74,7 @@ Flags
|
|
|
73
74
|
--only comma-separated entity names to restrict the run to
|
|
74
75
|
--profile named profile gating which operations run (built-in: full, cheap)
|
|
75
76
|
--seed integer seed for fixture generation (default 1)
|
|
76
|
-
--out
|
|
77
|
+
--out history root; each run is <out>/<datetime>/ (default ./.oat/runs)
|
|
77
78
|
--keep-fixtures leave created records in place instead of tearing them down
|
|
78
79
|
--max-in-flight requests allowed in flight at once (default 4)
|
|
79
80
|
--quiet no live progress on stderr (progress.log still written)
|
|
@@ -117,38 +118,33 @@ async function commandRun(flags) {
|
|
|
117
118
|
}
|
|
118
119
|
const startedAt = new Date();
|
|
119
120
|
const began = performance.now();
|
|
120
|
-
const
|
|
121
|
-
|
|
121
|
+
const allocated = await allocateRunDir(str(flags, "out") ?? config.outDir ?? DEFAULT_RUNS_ROOT, startedAt);
|
|
122
|
+
const outDir = allocated.runDir;
|
|
122
123
|
const stderrProgress = flags.quiet === true ? undefined : createStderrProgress(startedAt.getTime());
|
|
123
124
|
const progressLog = createWriteStream(resolve(outDir, "progress.log"));
|
|
124
125
|
const progressTsv = createWriteStream(resolve(outDir, "progress.tsv"));
|
|
125
126
|
const progressJsonl = createWriteStream(resolve(outDir, "progress.jsonl"));
|
|
126
127
|
progressLog.write(`${PROGRESS_GLOSSARY}\n`);
|
|
127
128
|
progressTsv.write(`${PROGRESS_TSV_HEADER}\n`);
|
|
128
|
-
let lastLogKey = "";
|
|
129
|
-
let lastLogAt = 0;
|
|
130
129
|
let lastJsonAt = 0;
|
|
131
|
-
const
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
if (
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
const now = Date.now();
|
|
139
|
-
progressLog.write(`${formatProgressLine(snap, now)}\n`);
|
|
140
|
-
progressTsv.write(`${formatProgressTsv(snap, now)}\n`);
|
|
141
|
-
progressJsonl.write(`${formatProgressJsonl(snap, now)}\n`);
|
|
142
|
-
}
|
|
143
|
-
if (Date.now() - lastJsonAt >= 1_000 || snap.phase === "done") {
|
|
144
|
-
lastJsonAt = Date.now();
|
|
130
|
+
const fileProgress = createProgressPump(startedAt.getTime(), (snap, now) => {
|
|
131
|
+
progressLog.write(`${formatProgressLine(snap, now)}\n`);
|
|
132
|
+
progressTsv.write(`${formatProgressTsv(snap, now)}\n`);
|
|
133
|
+
progressJsonl.write(`${formatProgressJsonl(snap, now)}\n`);
|
|
134
|
+
if (now - lastJsonAt >= 1_000 || snap.phase === "done") {
|
|
135
|
+
lastJsonAt = now;
|
|
136
|
+
const ageFrom = snap.inflight !== undefined ? snap.inflight.at : snap.last !== undefined ? snap.last.at : undefined;
|
|
145
137
|
const payload = {
|
|
146
138
|
...snap,
|
|
147
|
-
lastAgoMs:
|
|
148
|
-
updatedAt: new Date().toISOString(),
|
|
139
|
+
lastAgoMs: ageFrom === undefined ? null : now - ageFrom,
|
|
140
|
+
updatedAt: new Date(now).toISOString(),
|
|
149
141
|
};
|
|
150
142
|
writeFileSync(resolve(outDir, "progress.json"), `${JSON.stringify(payload, null, 2)}\n`);
|
|
151
143
|
}
|
|
144
|
+
});
|
|
145
|
+
const onProgress = (snap) => {
|
|
146
|
+
stderrProgress?.emit(snap);
|
|
147
|
+
fileProgress.emit(snap);
|
|
152
148
|
};
|
|
153
149
|
let result;
|
|
154
150
|
try {
|
|
@@ -166,6 +162,10 @@ async function commandRun(flags) {
|
|
|
166
162
|
...(profile === undefined ? {} : { profile }),
|
|
167
163
|
...(config.profiles === undefined ? {} : { profiles: config.profiles }),
|
|
168
164
|
...(config.rateLimits === undefined ? {} : { rateLimits: config.rateLimits }),
|
|
165
|
+
...(config.origins === undefined ? {} : { origins: config.origins }),
|
|
166
|
+
...(config.outOfBand === undefined ? {} : { outOfBand: config.outOfBand }),
|
|
167
|
+
...(config.query === undefined ? {} : { query: config.query }),
|
|
168
|
+
...(config.entities === undefined ? {} : { entities: config.entities }),
|
|
169
169
|
keepFixtures: flags["keep-fixtures"] === true || config.keepFixtures === true,
|
|
170
170
|
maxInFlight: Number.parseInt(str(flags, "max-in-flight") ?? "", 10) || config.maxInFlight || 4,
|
|
171
171
|
seed: seedFlag === undefined ? (config.seed ?? 1) : Number.parseInt(seedFlag, 10),
|
|
@@ -174,6 +174,7 @@ async function commandRun(flags) {
|
|
|
174
174
|
}
|
|
175
175
|
finally {
|
|
176
176
|
stderrProgress?.stop();
|
|
177
|
+
fileProgress.stop();
|
|
177
178
|
progressLog.end();
|
|
178
179
|
progressTsv.end();
|
|
179
180
|
progressJsonl.end();
|
|
@@ -194,10 +195,7 @@ async function commandRun(flags) {
|
|
|
194
195
|
profileExclusions: result.profileExclusions,
|
|
195
196
|
startedAt,
|
|
196
197
|
};
|
|
197
|
-
|
|
198
|
-
* finding reads as a current defect. The folder is only created when there is an issue. */
|
|
199
|
-
await rm(resolve(outDir, "repro"), { force: true, recursive: true });
|
|
200
|
-
await rm(resolve(outDir, ISSUE_REPRO_DIR), { force: true, recursive: true });
|
|
198
|
+
await writeFile(resolve(outDir, "principals.json"), `${JSON.stringify({ principals: result.principals }, null, 2)}\n`);
|
|
201
199
|
await writeFile(resolve(outDir, "oat-report.md"), renderMarkdown(input));
|
|
202
200
|
await writeFile(resolve(outDir, "oat-report.json"), renderJson(input));
|
|
203
201
|
await writeFile(resolve(outDir, "matrix.html"), renderMatrixHtml(input));
|
|
@@ -217,7 +215,8 @@ async function commandRun(flags) {
|
|
|
217
215
|
process.stdout.write(` report: ${resolve(outDir, "oat-report.md")}\n`);
|
|
218
216
|
process.stdout.write(` matrix: ${resolve(outDir, "matrix.html")}\n`);
|
|
219
217
|
process.stdout.write(` graph: ${resolve(outDir, "matrix.json")}\n`);
|
|
220
|
-
process.stdout.write(` progress: ${resolve(outDir, "progress.log")} · ${resolve(outDir, "progress.jsonl")}\n
|
|
218
|
+
process.stdout.write(` progress: ${resolve(outDir, "progress.log")} · ${resolve(outDir, "progress.jsonl")}\n`);
|
|
219
|
+
process.stdout.write(` latest: ${allocated.latest}\n\n`);
|
|
221
220
|
/* Exit code counts root causes, not raw findings: gaps and blocked entries are information,
|
|
222
221
|
* not failures, and a CI gate should react to defects only. */
|
|
223
222
|
return result.findings.filter((f) => f.verdict !== "COVERAGE_GAP" && f.verdict !== "BLOCKED").length > 0 ? 1 : 0;
|
|
@@ -430,7 +429,14 @@ export async function main() {
|
|
|
430
429
|
process.stdout.write(report.plan(model, flags.json === true));
|
|
431
430
|
return 0;
|
|
432
431
|
case "doctor": {
|
|
433
|
-
const
|
|
432
|
+
const config = configPath === undefined ? undefined : interpolate(await loadConfig(configPath));
|
|
433
|
+
const output = report.doctor(model, externalRefs, flags.json === true, config === undefined
|
|
434
|
+
? undefined
|
|
435
|
+
: {
|
|
436
|
+
...(config.query === undefined ? {} : { query: config.query }),
|
|
437
|
+
...(config.entities === undefined ? {} : { entities: config.entities }),
|
|
438
|
+
...(config.hooks === undefined ? {} : { hooks: config.hooks }),
|
|
439
|
+
});
|
|
434
440
|
process.stdout.write(output.text);
|
|
435
441
|
return output.blocking > 0 ? 1 : 0;
|
|
436
442
|
}
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
* is a compile error rather than a surprise at request time. Everything backend-specific lives
|
|
6
6
|
* here or in `x-*` spec tags; oat itself knows nothing about any particular API.
|
|
7
7
|
*/
|
|
8
|
+
import type { FilterableField, QueryCapabilities } from "../spec/query-capabilities.ts";
|
|
9
|
+
export type { FieldType, FilterOp, FilterableField, FilterableFrom, QueryCapabilities, SortableField, } from "../spec/query-capabilities.ts";
|
|
8
10
|
interface StepBase {
|
|
9
11
|
/**
|
|
10
12
|
* Binds parts of the response into the flow's scope. Later steps interpolate them as
|
|
@@ -32,6 +34,8 @@ export interface OperationStep extends StepBase {
|
|
|
32
34
|
body?: unknown;
|
|
33
35
|
headers?: Record<string, string>;
|
|
34
36
|
query?: Record<string, string>;
|
|
37
|
+
/** Named `origins[]` entry. Omit to hit the primary `baseUrl`. */
|
|
38
|
+
origin?: string;
|
|
35
39
|
}
|
|
36
40
|
/** Calls a raw path, for endpoints the document does not describe. */
|
|
37
41
|
export interface RequestStep extends StepBase {
|
|
@@ -40,6 +44,8 @@ export interface RequestStep extends StepBase {
|
|
|
40
44
|
body?: unknown;
|
|
41
45
|
headers?: Record<string, string>;
|
|
42
46
|
query?: Record<string, string>;
|
|
47
|
+
/** Named `origins[]` entry. Omit to hit the primary `baseUrl`. */
|
|
48
|
+
origin?: string;
|
|
43
49
|
}
|
|
44
50
|
/**
|
|
45
51
|
* A value that never travels over HTTP — an emailed verification token, an OTP, a magic link.
|
|
@@ -86,12 +92,31 @@ export interface AuthFlow {
|
|
|
86
92
|
*/
|
|
87
93
|
refresh?: AuthRefresh;
|
|
88
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* Credential harvested outside oat (Google OAuth on a harvest page, a KV pair).
|
|
97
|
+
* oat polls `hooks.resolvePrincipalAuth` with the same backoff as `resolveOutOfBand`.
|
|
98
|
+
*/
|
|
99
|
+
export interface HookAuth {
|
|
100
|
+
fromHook: string;
|
|
101
|
+
header?: string;
|
|
102
|
+
template?: string;
|
|
103
|
+
assumeTtlMs?: number;
|
|
104
|
+
refreshBufferMs?: number;
|
|
105
|
+
}
|
|
106
|
+
export type PrincipalAuth = AuthFlow | HookAuth;
|
|
107
|
+
export declare function isHookAuth(auth: PrincipalAuth): auth is HookAuth;
|
|
108
|
+
export declare function isAuthFlow(auth: PrincipalAuth): auth is AuthFlow;
|
|
109
|
+
export interface PrincipalAuthResult {
|
|
110
|
+
credential: string;
|
|
111
|
+
refreshToken?: string;
|
|
112
|
+
expiresIn?: number;
|
|
113
|
+
}
|
|
89
114
|
export interface Principal {
|
|
90
115
|
id: string;
|
|
91
116
|
/** Sent on every request this principal makes — for a long-lived key, this is all you need. */
|
|
92
117
|
headers?: Record<string, string>;
|
|
93
118
|
/** How to obtain a credential. Omit for a principal that authenticates by static header. */
|
|
94
|
-
auth?:
|
|
119
|
+
auth?: PrincipalAuth;
|
|
95
120
|
/** Path parameters this principal owns — its tenant. */
|
|
96
121
|
roots?: Record<string, string>;
|
|
97
122
|
/**
|
|
@@ -123,6 +148,39 @@ export interface OutOfBandRequest {
|
|
|
123
148
|
/** 1-based; oat retries with backoff until a value arrives or the attempts run out. */
|
|
124
149
|
attempt: number;
|
|
125
150
|
}
|
|
151
|
+
/**
|
|
152
|
+
* Poll schedule for `resolveOutOfBand` and `resolvePrincipalAuth`.
|
|
153
|
+
*
|
|
154
|
+
* Defaults match 0.6.2: 6 attempts, 200 ms first sleep, doubling, cap 3000 ms.
|
|
155
|
+
* Worst-case wait is the sum of every sleep, including after the last miss:
|
|
156
|
+
* `200+400+800+1600+3000+3000 = 9000` ms. `{ attempts: 20, initialMs: 1000, maxMs: 8000 }`
|
|
157
|
+
* is `1000+2000+4000+8000×17 = 143000` ms. The hook must not sleep; oat owns the backoff.
|
|
158
|
+
*/
|
|
159
|
+
export interface OutOfBandConfig {
|
|
160
|
+
attempts?: number;
|
|
161
|
+
initialMs?: number;
|
|
162
|
+
maxMs?: number;
|
|
163
|
+
}
|
|
164
|
+
export interface HeaderRequest {
|
|
165
|
+
method: string;
|
|
166
|
+
url: string;
|
|
167
|
+
operationId?: string;
|
|
168
|
+
}
|
|
169
|
+
export interface InputRequest {
|
|
170
|
+
operationId: string;
|
|
171
|
+
/** Property name at this depth. */
|
|
172
|
+
field: string;
|
|
173
|
+
/** JSON-path style pointer, e.g. `$.payment_method_id`. */
|
|
174
|
+
pointer: string;
|
|
175
|
+
schema: unknown;
|
|
176
|
+
}
|
|
177
|
+
export interface SideEffectRequest {
|
|
178
|
+
/** The write that should have produced the side effect. */
|
|
179
|
+
operationId: string;
|
|
180
|
+
/** Latest poll body, or the write response when no poll has landed yet. */
|
|
181
|
+
record: unknown;
|
|
182
|
+
attempt: number;
|
|
183
|
+
}
|
|
126
184
|
export interface UploadRequest {
|
|
127
185
|
operationId: string;
|
|
128
186
|
/** The request's multipart / json / urlencoded media type. */
|
|
@@ -170,6 +228,50 @@ export interface Hooks {
|
|
|
170
228
|
* Returning `UploadFile` replaces that field. `{ fields }` replaces the whole request.
|
|
171
229
|
*/
|
|
172
230
|
resolveUpload?: (request: UploadRequest) => Promise<UploadResolution>;
|
|
231
|
+
/**
|
|
232
|
+
* Per-request headers, merged after `globalHeaders` and before the principal's credential.
|
|
233
|
+
* Called on every dispatch (including 401 retries) so a one-shot captcha token can be fresh.
|
|
234
|
+
* Return `null` or `{}` to add nothing. oat does not speak Turnstile.
|
|
235
|
+
*/
|
|
236
|
+
resolveHeaders?: (request: HeaderRequest) => Promise<Record<string, string> | null>;
|
|
237
|
+
/**
|
|
238
|
+
* Replace a generated JSON field. Return `null` to keep the generator.
|
|
239
|
+
* Same idea as `resolveUpload`, for JSON (Stripe `pm_…`, vendor tokens).
|
|
240
|
+
*/
|
|
241
|
+
resolveInput?: (request: InputRequest) => Promise<unknown | null>;
|
|
242
|
+
/**
|
|
243
|
+
* Harvested principal: `auth: { fromHook: "oauth-google" }`.
|
|
244
|
+
* Return `null` to retry with the `outOfBand` backoff so a human can finish the click.
|
|
245
|
+
*/
|
|
246
|
+
resolvePrincipalAuth?: (fromHook: string) => Promise<PrincipalAuthResult | null>;
|
|
247
|
+
/**
|
|
248
|
+
* After a write that declares `x-wait`, return `true` when the side effect is visible.
|
|
249
|
+
* `null` retries until `x-wait.timeoutMs` (default 30s).
|
|
250
|
+
*/
|
|
251
|
+
awaitSideEffect?: (request: SideEffectRequest) => Promise<true | null>;
|
|
252
|
+
/**
|
|
253
|
+
* After seed, add or replace any axis of the query catalog for one entity. Return `null`
|
|
254
|
+
* to keep the merged tag+config catalog. A provided `filterable` / `sortable` /
|
|
255
|
+
* `searchable` / `selectable` list replaces that axis; omitted axes stay. `get` runs a
|
|
256
|
+
* named operation (or `"GET /path"`) with the seeded scope so a follow-up read can
|
|
257
|
+
* harvest dynamic columns.
|
|
258
|
+
*/
|
|
259
|
+
resolveQueryCapabilities?: (request: QueryCapabilitiesRequest) => Promise<FilterableField[] | Partial<QueryCapabilities> | null>;
|
|
260
|
+
}
|
|
261
|
+
export interface QueryCapabilitiesRequest {
|
|
262
|
+
entity: string;
|
|
263
|
+
scope: Record<string, string>;
|
|
264
|
+
get: (operationId: string, scope?: Record<string, string>) => Promise<unknown>;
|
|
265
|
+
}
|
|
266
|
+
/** Per-entity overlays. Only `query` is in scope this release. Unknown names are ignored. */
|
|
267
|
+
export interface EntityConfig {
|
|
268
|
+
query?: QueryCapabilities;
|
|
269
|
+
}
|
|
270
|
+
/** A second host with its own OpenAPI. Auth stays on the primary; the JWT is reused. */
|
|
271
|
+
export interface OriginSpec {
|
|
272
|
+
id: string;
|
|
273
|
+
baseUrl: string;
|
|
274
|
+
spec: string;
|
|
173
275
|
}
|
|
174
276
|
/**
|
|
175
277
|
* Which operations a run is allowed to touch, filtering on what `x-cost` / `x-destructive`
|
|
@@ -223,6 +325,17 @@ export interface OatConfig {
|
|
|
223
325
|
uploads?: Uploads;
|
|
224
326
|
/** Sent on every request. Request-id / correlation-id headers are recorded on each exchange; the rest is opaque. */
|
|
225
327
|
globalHeaders?: Record<string, string>;
|
|
328
|
+
/**
|
|
329
|
+
* Extra hosts, each with its own document. Do not merge those routes into the primary spec.
|
|
330
|
+
* After primary auth, oat binds the same principals and runs the matrix against each origin.
|
|
331
|
+
* A second `defineConfig` can also reuse `.oat/runs/latest/principals.json` via `loadPersistedPrincipals`.
|
|
332
|
+
*/
|
|
333
|
+
origins?: OriginSpec[];
|
|
334
|
+
/**
|
|
335
|
+
* Backoff for `resolveOutOfBand` and `resolvePrincipalAuth`.
|
|
336
|
+
* Defaults: `{ attempts: 6, initialMs: 200, maxMs: 3000 }` (~9s worst case).
|
|
337
|
+
*/
|
|
338
|
+
outOfBand?: OutOfBandConfig;
|
|
226
339
|
/** Path parameters oat cannot create. Also declarable in-spec via `x-root`. */
|
|
227
340
|
roots?: Record<string, string>;
|
|
228
341
|
/** Fixture generation derives from this, so a failing run is exactly reproducible. */
|
|
@@ -246,9 +359,19 @@ export interface OatConfig {
|
|
|
246
359
|
* request — the environment-specific belief wins over the document's general claim.
|
|
247
360
|
*/
|
|
248
361
|
rateLimits?: RateLimitSpec[];
|
|
362
|
+
/**
|
|
363
|
+
* Global filter catalog defaults. Overlay on every entity after the list operation's `x-query`.
|
|
364
|
+
* Does not invent operators — new ops still have to be listed here or on the tag.
|
|
365
|
+
*/
|
|
366
|
+
query?: QueryCapabilities;
|
|
367
|
+
/** Per-entity overlays. Unknown names are ignored (`oat doctor` warns). */
|
|
368
|
+
entities?: Record<string, EntityConfig>;
|
|
249
369
|
/** Leave created records in place instead of tearing them down. */
|
|
250
370
|
keepFixtures?: boolean;
|
|
251
|
-
/**
|
|
371
|
+
/**
|
|
372
|
+
* History root. Each run writes `<outDir>/<datetime>/` and updates `<outDir>/latest`.
|
|
373
|
+
* Defaults to `./.oat/runs`.
|
|
374
|
+
*/
|
|
252
375
|
outDir?: string;
|
|
253
376
|
}
|
|
254
377
|
/**
|
|
@@ -265,5 +388,4 @@ export interface OatConfig {
|
|
|
265
388
|
* ```
|
|
266
389
|
*/
|
|
267
390
|
export declare function defineConfig(config: OatConfig): OatConfig;
|
|
268
|
-
export {};
|
|
269
391
|
//# sourceMappingURL=define-config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-config.d.ts","sourceRoot":"","sources":["../../src/config/define-config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"define-config.d.ts","sourceRoot":"","sources":["../../src/config/define-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,12 @@
|
|
|
5
5
|
* is a compile error rather than a surprise at request time. Everything backend-specific lives
|
|
6
6
|
* here or in `x-*` spec tags; oat itself knows nothing about any particular API.
|
|
7
7
|
*/
|
|
8
|
+
export function isHookAuth(auth) {
|
|
9
|
+
return "fromHook" in auth && typeof auth.fromHook === "string" && !("steps" in auth);
|
|
10
|
+
}
|
|
11
|
+
export function isAuthFlow(auth) {
|
|
12
|
+
return "steps" in auth;
|
|
13
|
+
}
|
|
8
14
|
/**
|
|
9
15
|
* Identity function that gives a config file full type checking and editor completion.
|
|
10
16
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-config.js","sourceRoot":"","sources":["../../src/config/define-config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"define-config.js","sourceRoot":"","sources":["../../src/config/define-config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAoHH,MAAM,UAAU,UAAU,CAAC,IAAmB;IAC7C,OAAO,UAAU,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAA;AACrF,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAmB;IAC7C,OAAO,OAAO,IAAI,IAAI,CAAA;AACvB,CAAC;AAwSD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,YAAY,CAAC,MAAiB;IAC7C,OAAO,MAAM,CAAA;AACd,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
export { defineConfig } from "./config/define-config.ts";
|
|
2
|
-
export type { AuthFlow, AuthRefresh, AuthStep, Hooks, OatConfig, OperationStep, OutOfBandRequest, OutOfBandStep, Principal, ProfileSpec, RateLimitSpec, RequestStep, UploadFile, UploadRequest, UploadResolution, Uploads, } from "./config/define-config.ts";
|
|
1
|
+
export { defineConfig, isAuthFlow, isHookAuth } from "./config/define-config.ts";
|
|
2
|
+
export type { AuthFlow, AuthRefresh, AuthStep, EntityConfig, FieldType, FilterOp, FilterableField, FilterableFrom, HeaderRequest, HookAuth, Hooks, InputRequest, OatConfig, OperationStep, OriginSpec, OutOfBandConfig, OutOfBandRequest, OutOfBandStep, Principal, PrincipalAuth, PrincipalAuthResult, ProfileSpec, QueryCapabilities, QueryCapabilitiesRequest, RateLimitSpec, RequestStep, SideEffectRequest, UploadFile, UploadRequest, UploadResolution, Uploads, } from "./config/define-config.ts";
|
|
3
3
|
export { loadConfig } from "./config/load.ts";
|
|
4
|
+
export { loadPersistedPrincipals, parsePersistedPrincipals } from "./runtime/principals.ts";
|
|
5
|
+
export type { PersistedPrincipal } from "./runtime/principals.ts";
|
|
6
|
+
export { allocateRunDir, DEFAULT_RUNS_ROOT, formatRunStamp } from "./runtime/runs.ts";
|
|
7
|
+
export type { AllocatedRunDir } from "./runtime/runs.ts";
|
|
8
|
+
export { worstCaseWaitMs, resolveBackoff, DEFAULT_OUT_OF_BAND } from "./runtime/poll.ts";
|
|
4
9
|
export { deriveCollectionShape, deriveIdentity } from "./spec/collection.ts";
|
|
5
10
|
export type { CollectionShape } from "./spec/collection.ts";
|
|
6
11
|
export { buildModel } from "./spec/graph.ts";
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
export { defineConfig } from "./config/define-config.js";
|
|
1
|
+
export { defineConfig, isAuthFlow, isHookAuth } from "./config/define-config.js";
|
|
2
2
|
export { loadConfig } from "./config/load.js";
|
|
3
|
+
export { loadPersistedPrincipals, parsePersistedPrincipals } from "./runtime/principals.js";
|
|
4
|
+
export { allocateRunDir, DEFAULT_RUNS_ROOT, formatRunStamp } from "./runtime/runs.js";
|
|
5
|
+
export { worstCaseWaitMs, resolveBackoff, DEFAULT_OUT_OF_BAND } from "./runtime/poll.js";
|
|
3
6
|
export { deriveCollectionShape, deriveIdentity } from "./spec/collection.js";
|
|
4
7
|
export { buildModel } from "./spec/graph.js";
|
|
5
8
|
export { dereference, loadSpec, normalisePath, parseRouteRef } from "./spec/load.js";
|
|
@@ -121,6 +121,22 @@ export declare const DEFECTS: {
|
|
|
121
121
|
* is the only thing that reads the claim and then tries it.
|
|
122
122
|
*/
|
|
123
123
|
readonly SPEC_OVERCLAIMS_FILTERABLE: "x-query declares a field filterable that the backend rejects";
|
|
124
|
+
/** `in.(a,b)` only honours the first member. */
|
|
125
|
+
readonly FILTER_IN_FIRST_ONLY: "in() matches only the first listed value";
|
|
126
|
+
/** `gte` is compiled as `gt`. */
|
|
127
|
+
readonly FILTER_GTE_IS_GT: "gte is implemented as gt";
|
|
128
|
+
/** `ilike` is compiled as case-sensitive `like`. */
|
|
129
|
+
readonly FILTER_ILIKE_IS_LIKE: "ilike is implemented as like";
|
|
130
|
+
/** `is.null` matches every row. */
|
|
131
|
+
readonly FILTER_IS_NULL_MATCHES_ALL: "is.null matches every row";
|
|
132
|
+
/** An operator outside the field's allowlist is ignored (200 + full set). */
|
|
133
|
+
readonly FILTER_ILLEGAL_OP_IGNORED: "an illegal filter operator is accepted and ignored";
|
|
134
|
+
/** Numeric sort compares as text. */
|
|
135
|
+
readonly SORT_NUMERIC_AS_TEXT: "a numeric sortable field is ordered lexicographically";
|
|
136
|
+
/** Only the first order key is honoured. */
|
|
137
|
+
readonly SORT_MULTI_KEY_IGNORED: "the second sort key is ignored";
|
|
138
|
+
/** A requested select field is omitted from the projection. */
|
|
139
|
+
readonly SELECT_FIELD_MISSING: "a requested select field is dropped from the projection";
|
|
124
140
|
/**
|
|
125
141
|
* The document declares a field sortable that the backend rejects.
|
|
126
142
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defects.d.ts","sourceRoot":"","sources":["../../src/reference/defects.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,eAAO,MAAM,OAAO;IACnB,iFAAiF;;IAEjF,qFAAqF;;IAErF,kEAAkE;;IAElE,iFAAiF;;IAEjF,wEAAwE;;IAExE,6CAA6C;;IAE7C,mFAAmF;;IAEnF;;;;;;OAMG;;IAEH;;;;;;OAMG;;IAEH;;;;;;;OAOG;;IAEH;;;;;;;OAOG;;IAEH;;;;;;OAMG;;IAEH;;;;;;;OAOG;;IAEH;;;;;;;OAOG;;IAEH;;;;;;OAMG;;IAGH;;;;OAIG;;IAGH;;;OAGG;;IAGH;;;;;;;;OAQG;;IAEH;;;;;;;OAOG;;IAEH;;;;;;OAMG;;IAEH;;;;;;;;OAQG;;IAEH;;;;;OAKG;;IAEH,wDAAwD;;IAExD,gDAAgD;;IAEhD,iDAAiD;;IAEjD,yDAAyD;;IAEzD,sDAAsD;;IAEtD,6DAA6D;;IAE7D,yDAAyD;;IAEzD,iDAAiD;;IAEjD,gDAAgD;;IAEhD,uDAAuD;;IAEvD,iEAAiE;;IAEjE,2EAA2E;;IAE3E,kDAAkD;;IAElD,oDAAoD;;IAEpD,4DAA4D;;IAE5D;;;;;OAKG;;IAEH;;;;;OAKG;;IAEH,6DAA6D;;IAE7D,gDAAgD;;IAEhD,kDAAkD;;IAElD,8DAA8D;;IAE9D,6DAA6D;;IAE7D,+DAA+D;;IAE/D,8DAA8D;;IAE9D,+DAA+D;;IAE/D,yFAAyF;;IAEzF,uFAAuF;;IAEvF,mEAAmE;;IAEnE,+EAA+E;;IAE/E,mDAAmD;;IAEnD,2EAA2E;;IAE3E;;;;;;;OAOG;;IAEH;;;OAGG;;IAEH;;;OAGG;;IAEH;;;;OAIG;;IAEH;;;;;;OAMG;;IAEH,4EAA4E;;IAE5E,6DAA6D;;CAEpD,CAAA;AAEV,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,OAAO,CAAA;AAE7C,qBAAa,SAAS;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;gBAEjC,KAAK,GAAE,SAAS,MAAM,EAAO;IAIzC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAUpD,GAAG,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO;IAI9B,IAAI,IAAI,UAAU,EAAE;CAGpB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,UAAU,CAE/D"}
|
|
1
|
+
{"version":3,"file":"defects.d.ts","sourceRoot":"","sources":["../../src/reference/defects.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,eAAO,MAAM,OAAO;IACnB,iFAAiF;;IAEjF,qFAAqF;;IAErF,kEAAkE;;IAElE,iFAAiF;;IAEjF,wEAAwE;;IAExE,6CAA6C;;IAE7C,mFAAmF;;IAEnF;;;;;;OAMG;;IAEH;;;;;;OAMG;;IAEH;;;;;;;OAOG;;IAEH;;;;;;;OAOG;;IAEH;;;;;;OAMG;;IAEH;;;;;;;OAOG;;IAEH;;;;;;;OAOG;;IAEH;;;;;;OAMG;;IAGH;;;;OAIG;;IAGH;;;OAGG;;IAGH;;;;;;;;OAQG;;IAEH;;;;;;;OAOG;;IAEH,gDAAgD;;IAEhD,iCAAiC;;IAEjC,oDAAoD;;IAEpD,mCAAmC;;IAEnC,6EAA6E;;IAE7E,qCAAqC;;IAErC,4CAA4C;;IAE5C,+DAA+D;;IAE/D;;;;;;OAMG;;IAEH;;;;;;;;OAQG;;IAEH;;;;;OAKG;;IAEH,wDAAwD;;IAExD,gDAAgD;;IAEhD,iDAAiD;;IAEjD,yDAAyD;;IAEzD,sDAAsD;;IAEtD,6DAA6D;;IAE7D,yDAAyD;;IAEzD,iDAAiD;;IAEjD,gDAAgD;;IAEhD,uDAAuD;;IAEvD,iEAAiE;;IAEjE,2EAA2E;;IAE3E,kDAAkD;;IAElD,oDAAoD;;IAEpD,4DAA4D;;IAE5D;;;;;OAKG;;IAEH;;;;;OAKG;;IAEH,6DAA6D;;IAE7D,gDAAgD;;IAEhD,kDAAkD;;IAElD,8DAA8D;;IAE9D,6DAA6D;;IAE7D,+DAA+D;;IAE/D,8DAA8D;;IAE9D,+DAA+D;;IAE/D,yFAAyF;;IAEzF,uFAAuF;;IAEvF,mEAAmE;;IAEnE,+EAA+E;;IAE/E,mDAAmD;;IAEnD,2EAA2E;;IAE3E;;;;;;;OAOG;;IAEH;;;OAGG;;IAEH;;;OAGG;;IAEH;;;;OAIG;;IAEH;;;;;;OAMG;;IAEH,4EAA4E;;IAE5E,6DAA6D;;CAEpD,CAAA;AAEV,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,OAAO,CAAA;AAE7C,qBAAa,SAAS;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;gBAEjC,KAAK,GAAE,SAAS,MAAM,EAAO;IAIzC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAUpD,GAAG,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO;IAI9B,IAAI,IAAI,UAAU,EAAE;CAGpB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,UAAU,CAE/D"}
|
|
@@ -121,6 +121,22 @@ export const DEFECTS = {
|
|
|
121
121
|
* is the only thing that reads the claim and then tries it.
|
|
122
122
|
*/
|
|
123
123
|
SPEC_OVERCLAIMS_FILTERABLE: "x-query declares a field filterable that the backend rejects",
|
|
124
|
+
/** `in.(a,b)` only honours the first member. */
|
|
125
|
+
FILTER_IN_FIRST_ONLY: "in() matches only the first listed value",
|
|
126
|
+
/** `gte` is compiled as `gt`. */
|
|
127
|
+
FILTER_GTE_IS_GT: "gte is implemented as gt",
|
|
128
|
+
/** `ilike` is compiled as case-sensitive `like`. */
|
|
129
|
+
FILTER_ILIKE_IS_LIKE: "ilike is implemented as like",
|
|
130
|
+
/** `is.null` matches every row. */
|
|
131
|
+
FILTER_IS_NULL_MATCHES_ALL: "is.null matches every row",
|
|
132
|
+
/** An operator outside the field's allowlist is ignored (200 + full set). */
|
|
133
|
+
FILTER_ILLEGAL_OP_IGNORED: "an illegal filter operator is accepted and ignored",
|
|
134
|
+
/** Numeric sort compares as text. */
|
|
135
|
+
SORT_NUMERIC_AS_TEXT: "a numeric sortable field is ordered lexicographically",
|
|
136
|
+
/** Only the first order key is honoured. */
|
|
137
|
+
SORT_MULTI_KEY_IGNORED: "the second sort key is ignored",
|
|
138
|
+
/** A requested select field is omitted from the projection. */
|
|
139
|
+
SELECT_FIELD_MISSING: "a requested select field is dropped from the projection",
|
|
124
140
|
/**
|
|
125
141
|
* The document declares a field sortable that the backend rejects.
|
|
126
142
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defects.js","sourceRoot":"","sources":["../../src/reference/defects.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"defects.js","sourceRoot":"","sources":["../../src/reference/defects.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,15 @@ export interface EntityDef {
|
|
|
35
35
|
fields: FieldDef[];
|
|
36
36
|
defaultLimit: number;
|
|
37
37
|
maxLimit: number;
|
|
38
|
+
/** Optional closed filter/select catalog for conformance of declared-or-skip checks. */
|
|
39
|
+
filterCatalog?: {
|
|
40
|
+
emptyIn?: "reject" | "match-none";
|
|
41
|
+
maxInValues?: number;
|
|
42
|
+
maxFilterConditions?: number;
|
|
43
|
+
opsByField?: Record<string, readonly string[]>;
|
|
44
|
+
selectUnknown?: "reject" | "ignore";
|
|
45
|
+
aliases?: Record<string, string>;
|
|
46
|
+
};
|
|
38
47
|
}
|
|
39
48
|
export declare const TABLE: EntityDef;
|
|
40
49
|
export declare const ROW: EntityDef;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/reference/model.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,QAAQ;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAA;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,qDAAqD;IACrD,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,mEAAmE;IACnE,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,SAAS;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,2EAA2E;IAC3E,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,8DAA8D;IAC9D,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,MAAM,EAAE,QAAQ,EAAE,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/reference/model.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,QAAQ;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAA;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,qDAAqD;IACrD,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,mEAAmE;IACnE,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,SAAS;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,2EAA2E;IAC3E,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,8DAA8D;IAC9D,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,MAAM,EAAE,QAAQ,EAAE,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,wFAAwF;IACxF,aAAa,CAAC,EAAE;QACf,OAAO,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAA;QACjC,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,mBAAmB,CAAC,EAAE,MAAM,CAAA;QAC5B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAA;QAC9C,aAAa,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;QACnC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAChC,CAAA;CACD;AAOD,eAAO,MAAM,KAAK,EAAE,SAgEnB,CAAA;AAED,eAAO,MAAM,GAAG,EAAE,SAqCjB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,GAAG,EAAE,SA6DjB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,SAAS,SAAS,EAAsB,CAAA;AAE/D;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,eAAe,CAAA;AAE7C,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,QAAQ,GAAG,MAAM,EAAE,CAE5E;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,EAAE,CAMxF"}
|
package/dist/reference/model.js
CHANGED
|
@@ -52,6 +52,26 @@ export const TABLE = {
|
|
|
52
52
|
parents: ["project_id"],
|
|
53
53
|
plural: "tables",
|
|
54
54
|
softDeleteField: "deleted_at",
|
|
55
|
+
filterCatalog: {
|
|
56
|
+
aliases: { ne: "neq" },
|
|
57
|
+
emptyIn: "match-none",
|
|
58
|
+
maxFilterConditions: 20,
|
|
59
|
+
maxInValues: 100,
|
|
60
|
+
opsByField: {
|
|
61
|
+
created_at: ["eq", "gt", "gte", "lt", "lte", "is"],
|
|
62
|
+
deleted_at: ["eq", "is"],
|
|
63
|
+
description: ["eq", "neq", "like", "ilike", "is"],
|
|
64
|
+
id: ["eq", "neq", "ne", "in", "nin"],
|
|
65
|
+
name: ["eq", "neq", "like", "ilike", "in"],
|
|
66
|
+
position: ["eq", "neq", "gt", "gte", "lt", "lte", "in"],
|
|
67
|
+
project_id: ["eq", "neq", "in"],
|
|
68
|
+
row_count: ["eq", "gt", "gte", "lt", "lte"],
|
|
69
|
+
slug: ["eq", "neq", "like", "ilike", "in"],
|
|
70
|
+
status: ["eq", "neq", "in", "nin"],
|
|
71
|
+
updated_at: ["eq", "gt", "gte", "lt", "lte", "is"],
|
|
72
|
+
},
|
|
73
|
+
selectUnknown: "reject",
|
|
74
|
+
},
|
|
55
75
|
};
|
|
56
76
|
export const ROW = {
|
|
57
77
|
collectionPath: "/v1/projects/{project_id}/tables/{table_id}/rows",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/reference/model.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/reference/model.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,6 +27,11 @@ export interface QueryOptions {
|
|
|
27
27
|
maxLimit: number;
|
|
28
28
|
/** Fields the document still declares selectable that the backend has stopped honouring. */
|
|
29
29
|
excludedSelect?: readonly string[];
|
|
30
|
+
emptyIn?: "reject" | "match-none";
|
|
31
|
+
maxInValues?: number;
|
|
32
|
+
maxFilterConditions?: number;
|
|
33
|
+
allowedOpsByField?: Record<string, readonly string[]>;
|
|
34
|
+
selectUnknown?: "reject" | "ignore";
|
|
30
35
|
}
|
|
31
36
|
export interface QueryResult {
|
|
32
37
|
items: Row[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/reference/query.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAM7C,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEvD,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAEzC,MAAM,WAAW,WAAW;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC3B;AAED,MAAM,WAAW,YAAY;IAC5B,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;IAC7B,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;IAC7B,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,4FAA4F;IAC5F,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/reference/query.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAM7C,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEvD,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAEzC,MAAM,WAAW,WAAW;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC3B;AAED,MAAM,WAAW,YAAY;IAC5B,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;IAC7B,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;IAC7B,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,4FAA4F;IAC5F,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAClC,OAAO,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAA;IACjC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAA;IACrD,aAAa,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;CACnC;AAED,MAAM,WAAW,WAAW;IAC3B,KAAK,EAAE,GAAG,EAAE,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACb;AAyRD,wBAAgB,QAAQ,CACvB,MAAM,EAAE,SAAS,GAAG,EAAE,EACtB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,SAAS;AAClB;2EAC2E;AAC3E,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC,GAAG,SAAS,GACzC,WAAW,CAkGb;AAgCD,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQnD"}
|