pipework 0.181.0 → 0.182.0
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/CHANGELOG.md +9 -0
- package/dist/REFERENCE.md +7 -195
- package/dist/data/db/expressions.d.ts +1 -1
- package/dist/data/db/expressions.d.ts.map +1 -1
- package/dist/data/db/expressions.js +17 -7
- package/dist/data/db/expressions.js.map +1 -1
- package/dist/data/db/function-source.d.ts +2 -1
- package/dist/data/db/function-source.d.ts.map +1 -1
- package/dist/data/db/function-source.js +4 -2
- package/dist/data/db/function-source.js.map +1 -1
- package/dist/data/db/values.d.ts +1 -1
- package/dist/data/db/values.d.ts.map +1 -1
- package/dist/data/db/values.js +6 -4
- package/dist/data/db/values.js.map +1 -1
- package/dist/data/query/sql/sql.js +1 -1
- package/dist/data/query/sql/sql.js.map +1 -1
- package/dist/infra/email/sigv4.d.ts +24 -0
- package/dist/infra/email/sigv4.d.ts.map +1 -0
- package/dist/infra/email/sigv4.js +55 -0
- package/dist/infra/email/sigv4.js.map +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.182.0
|
|
4
|
+
|
|
5
|
+
- **Fixed: a jsonb `pipe.fn` argument given a JS array or object threw** `The "string" argument must be of type string` (#730). Each argument now goes through its field's own conversion, the same one a column value gets on insert. jsonb becomes JSON text, and dates, bigints and arrays are converted too. A null binds SQL NULL, and an SQL expression passed as an argument is still embedded as SQL.
|
|
6
|
+
- Fixed in the same sweep, every other place a value for a known column was bound without that conversion:
|
|
7
|
+
- `arrayHas`, `arrayPosition`, `arrayAppend`, `arrayRemove` and `arrayReplace` now handle jsonb[] and timestamptz[] elements.
|
|
8
|
+
- `coalesce(column, default)` converts the default through the column.
|
|
9
|
+
- `values()` and `bulkSet` send a Date as ISO text, and a null jsonb as SQL NULL rather than JSON `null`.
|
|
10
|
+
- `sql.inList` writes object and array elements as JSON.
|
|
11
|
+
|
|
3
12
|
## 0.181.0
|
|
4
13
|
|
|
5
14
|
- **Fixed: `lint.modules` overrides applied only when eslint ran from inside the module, so plain eslint, editor plugins and a module's own scripts disagreed with `pipework check`** (#728). The generated root `eslint.config.js` now scopes each module's `rules` and `configs` to that module's files. `eslint <file>` from the workspace root or a module folder now matches check.
|
package/dist/REFERENCE.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Pipework API Reference
|
|
2
2
|
|
|
3
3
|
> Auto-generated from source JSDoc. Do not edit manually.
|
|
4
|
-
> Generated: 2026-10-
|
|
4
|
+
> Generated: 2026-10-09
|
|
5
5
|
|
|
6
6
|
## Contents
|
|
7
7
|
|
|
@@ -10,7 +10,6 @@
|
|
|
10
10
|
- [jobs — Background Jobs](#jobs-background-jobs)
|
|
11
11
|
- [pipeline — Multi-Step Pipelines](#pipeline-multi-step-pipelines)
|
|
12
12
|
- [state — State Machines](#state-state-machines)
|
|
13
|
-
- [steps](#steps)
|
|
14
13
|
- [auth — Authentication](#auth-authentication)
|
|
15
14
|
- [rbac — Access Control](#rbac-access-control)
|
|
16
15
|
- [tenant — Multi-Tenancy](#tenant-multi-tenancy)
|
|
@@ -31,9 +30,7 @@
|
|
|
31
30
|
- [cache — Caching](#cache-caching)
|
|
32
31
|
- [credits](#credits)
|
|
33
32
|
- [mail](#mail)
|
|
34
|
-
- [untrustedFetch](#untrustedfetch)
|
|
35
33
|
- [storage](#storage)
|
|
36
|
-
- [support](#support)
|
|
37
34
|
- [webhook — Inbound & Outbound Webhooks](#webhook-inbound-outbound-webhooks)
|
|
38
35
|
- [behavior — Resource Decorators](#behavior-resource-decorators)
|
|
39
36
|
- [fitting — Dependency Injection](#fitting-dependency-injection)
|
|
@@ -88,18 +85,6 @@ function createManifold<const TEnv extends EnvDefs = EnvDefs>( raw: Omit<Bluepri
|
|
|
88
85
|
interface Manifold<TEnv extends EnvDefs = EnvDefs>
|
|
89
86
|
```
|
|
90
87
|
|
|
91
|
-
**`ScriptOptions`** — Options for {@link Manifold.script}.
|
|
92
|
-
|
|
93
|
-
```typescript
|
|
94
|
-
interface ScriptOptions
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
**`StartOptions`** — Options for {@link Manifold.start}.
|
|
98
|
-
|
|
99
|
-
```typescript
|
|
100
|
-
interface StartOptions
|
|
101
|
-
```
|
|
102
|
-
|
|
103
88
|
**`SeedOptions`** — ALS context the {@link Manifold.seed} callback runs under — tenant scope, auth principal, and job type.
|
|
104
89
|
|
|
105
90
|
```typescript
|
|
@@ -244,14 +229,6 @@ Creates a job queue with claim/complete/fail lifecycle, heartbeat, and dead lett
|
|
|
244
229
|
|
|
245
230
|
Executes a fitting handler as a background job with its own Flow context.
|
|
246
231
|
|
|
247
|
-
### `jobs.later`
|
|
248
|
-
|
|
249
|
-
The error to throw to end an attempt as "later": pending again after `delayMs`, no attempt counted.
|
|
250
|
-
|
|
251
|
-
### `jobs.permanent`
|
|
252
|
-
|
|
253
|
-
The error to throw to dead-letter the job now, whatever attempts remain.
|
|
254
|
-
|
|
255
232
|
### `jobs.parseCron`
|
|
256
233
|
|
|
257
234
|
Parses a 5-field cron expression into a CronSchedule (minute, hour, dom, month, dow).
|
|
@@ -292,14 +269,6 @@ Thrown when a transition is not allowed from the current state.
|
|
|
292
269
|
|
|
293
270
|
Thrown when the state machine definition is internally inconsistent.
|
|
294
271
|
|
|
295
|
-
## steps
|
|
296
|
-
|
|
297
|
-
Step graphs over a job queue: results recorded by their inputs, only missing steps run.
|
|
298
|
-
|
|
299
|
-
### `steps.define`
|
|
300
|
-
|
|
301
|
-
Defines a graph of named steps over a jobs Queue. Pass it to `createWorkerSurface({ graphs })` to run its steps.
|
|
302
|
-
|
|
303
272
|
## auth — Authentication
|
|
304
273
|
|
|
305
274
|
Authentication namespace — session management, multi-org support, auth chain resolution.
|
|
@@ -320,10 +289,6 @@ Hashes and verifies passwords with scrypt; reports when a stored hash needs reha
|
|
|
320
289
|
|
|
321
290
|
Guarded password sign-in that slows, then refuses, repeated failures per account and per client.
|
|
322
291
|
|
|
323
|
-
### `auth.emailLinks`
|
|
324
|
-
|
|
325
|
-
Emailed single-use links that prove control of an address: password reset and address verification; the token is never stored.
|
|
326
|
-
|
|
327
292
|
### `auth.runChain`
|
|
328
293
|
|
|
329
294
|
Executes an auth chain (strategy pipeline) to resolve auth + tenant from a request.
|
|
@@ -358,7 +323,7 @@ interface AuthContext
|
|
|
358
323
|
interface AuthStrategy<TAuth>
|
|
359
324
|
```
|
|
360
325
|
|
|
361
|
-
**`AuthRequest`** — Normalized request shape passed to auth strategies — headers,
|
|
326
|
+
**`AuthRequest`** — Normalized request shape passed to auth strategies — headers, cookies, method, url.
|
|
362
327
|
|
|
363
328
|
```typescript
|
|
364
329
|
interface AuthRequest
|
|
@@ -388,18 +353,6 @@ interface TenantResolver<TAuth>
|
|
|
388
353
|
interface AuthChainConfig<TAuth>
|
|
389
354
|
```
|
|
390
355
|
|
|
391
|
-
**`SessionAuth`** — What `sessions.strategy()` authenticates: the token's user and org, its roles, and where the token came from.
|
|
392
|
-
|
|
393
|
-
```typescript
|
|
394
|
-
type SessionAuth = BaseAuth &
|
|
395
|
-
```
|
|
396
|
-
|
|
397
|
-
**`SessionStrategyOptions`** — Options for `sessions.strategy()`.
|
|
398
|
-
|
|
399
|
-
```typescript
|
|
400
|
-
interface SessionStrategyOptions
|
|
401
|
-
```
|
|
402
|
-
|
|
403
356
|
**`SessionConfig`** — Session configuration — signing keys, issuer, audience, token TTLs, refresh rotation.
|
|
404
357
|
|
|
405
358
|
```typescript
|
|
@@ -671,10 +624,6 @@ Base error class with code, statusCode, and suggestion fields.
|
|
|
671
624
|
|
|
672
625
|
403 — authenticated but insufficient permissions.
|
|
673
626
|
|
|
674
|
-
### `errors.CrossSiteRequest`
|
|
675
|
-
|
|
676
|
-
403 `CROSS_SITE_REQUEST` — a cookie-authenticated write that did not come from the app's own site.
|
|
677
|
-
|
|
678
627
|
### `errors.Validation`
|
|
679
628
|
|
|
680
629
|
422 — input validation failed, carries field-level details.
|
|
@@ -695,17 +644,13 @@ Base error class with code, statusCode, and suggestion fields.
|
|
|
695
644
|
|
|
696
645
|
415 — request body media type not accepted by the route.
|
|
697
646
|
|
|
698
|
-
### `errors.MalformedMultipart`
|
|
699
|
-
|
|
700
|
-
400 `MALFORMED_MULTIPART` — a multipart body that cannot be parsed or ends before its closing boundary.
|
|
701
|
-
|
|
702
647
|
## lifecycle — Startup & Shutdown
|
|
703
648
|
|
|
704
649
|
Application lifecycle namespace — startup orchestration with hooks and timeouts.
|
|
705
650
|
|
|
706
651
|
### `lifecycle.orchestrate`
|
|
707
652
|
|
|
708
|
-
Runs pre-start hooks (DB readiness checks, migrations, etc.) with a configurable timeout.
|
|
653
|
+
Runs pre-start hooks (DB readiness checks, migrations, etc.) with a configurable timeout.
|
|
709
654
|
|
|
710
655
|
## log — Structured Logging
|
|
711
656
|
|
|
@@ -745,7 +690,7 @@ Creates a worker surface — a long-running process that claims and executes job
|
|
|
745
690
|
|
|
746
691
|
### `surface.script`
|
|
747
692
|
|
|
748
|
-
Creates a script surface — a one-shot process that runs and exits (migrations, seeds, CLI tools).
|
|
693
|
+
Creates a script surface — a one-shot process that runs and exits (migrations, seeds, CLI tools).
|
|
749
694
|
|
|
750
695
|
## pipe — Database
|
|
751
696
|
|
|
@@ -842,7 +787,7 @@ Pipework-owned UPDATE builder — the only consumer-facing way to update pipewor
|
|
|
842
787
|
|
|
843
788
|
### `pipe.insert`
|
|
844
789
|
|
|
845
|
-
Pipework-owned INSERT builder — the only consumer-facing way to insert into pipework-managed tables (Q8).
|
|
790
|
+
Pipework-owned INSERT builder — the only consumer-facing way to insert into pipework-managed tables (Q8).
|
|
846
791
|
|
|
847
792
|
### `pipe.delete`
|
|
848
793
|
|
|
@@ -850,7 +795,7 @@ Pipework-owned DELETE builder — the only consumer-facing way to delete from pi
|
|
|
850
795
|
|
|
851
796
|
### `pipe.upsert`
|
|
852
797
|
|
|
853
|
-
Pipework-owned UPSERT builder — insert with conflict resolution (Q8).
|
|
798
|
+
Pipework-owned UPSERT builder — insert with conflict resolution (Q8).
|
|
854
799
|
|
|
855
800
|
### Types
|
|
856
801
|
|
|
@@ -1002,14 +947,6 @@ Query all versions of temporal records (no date filter).
|
|
|
1002
947
|
|
|
1003
948
|
Close the current version and create a new one with updated data.
|
|
1004
949
|
|
|
1005
|
-
### `temporal.setVersion`
|
|
1006
|
-
|
|
1007
|
-
Append the next version of an append-only-versions definition: serialised per scope, numbered, never back-dated, audited.
|
|
1008
|
-
|
|
1009
|
-
### `temporal.versionAt`
|
|
1010
|
-
|
|
1011
|
-
The version in force at a moment: the row with the greatest effectiveFrom at or before it.
|
|
1012
|
-
|
|
1013
950
|
## valve
|
|
1014
951
|
|
|
1015
952
|
Valve namespace — typed, directional, gated boundaries between code silos.
|
|
@@ -1192,18 +1129,6 @@ Alerts namespace — raise and resolve keyed conditions, grouped, delivered to s
|
|
|
1192
1129
|
|
|
1193
1130
|
Creates an alerts handle.
|
|
1194
1131
|
|
|
1195
|
-
### `alerts.http`
|
|
1196
|
-
|
|
1197
|
-
Routes for an operations agent: list, get, totals, delivery health, acknowledge, resolve, link; bearer credentials.
|
|
1198
|
-
|
|
1199
|
-
### `alerts.clientFaults`
|
|
1200
|
-
|
|
1201
|
-
One POST route that records failures reported by browser code as a trace step and an alert; answers 204, no session needed. Send with `reportClientFault` from `pipework/client`.
|
|
1202
|
-
|
|
1203
|
-
### `alerts.requestFaults`
|
|
1204
|
-
|
|
1205
|
-
An `onInternalError` hook for the HTTP server: raises `request-fault:<METHOD> <route>` for each internal 500.
|
|
1206
|
-
|
|
1207
1132
|
### `alerts.webhook`
|
|
1208
1133
|
|
|
1209
1134
|
A sink that POSTs the alert as signed JSON to a URL.
|
|
@@ -1236,10 +1161,6 @@ The newest record's `{ seq, hash }` in the tenant's audit hash chain (blueprint
|
|
|
1236
1161
|
|
|
1237
1162
|
Walks the tenant's audit hash chain and reports the first break (hash-mismatch, prev-mismatch, missing, head-mismatch, anchor-mismatch), or `{ ok: true }`.
|
|
1238
1163
|
|
|
1239
|
-
### `audit.removeTenant`
|
|
1240
|
-
|
|
1241
|
-
Deletes every audit record of one tenant and its hash chain, for the closure of that tenant's account. Irreversible; returns the number of records removed. Other tenants' records and chains are untouched.
|
|
1242
|
-
|
|
1243
1164
|
## cache — Caching
|
|
1244
1165
|
|
|
1245
1166
|
In-memory caching namespace — TTL-based with stats, preload, and tenant-aware variants.
|
|
@@ -1292,36 +1213,6 @@ Inbound source: SES receipt rule storing raw messages in S3 and notifying a sign
|
|
|
1292
1213
|
|
|
1293
1214
|
Inbound development source: `.eml` files dropped in a folder, received by `scan()`; refused in production.
|
|
1294
1215
|
|
|
1295
|
-
## untrustedFetch
|
|
1296
|
-
|
|
1297
|
-
Untrusted fetch — fetch one URL a stranger gave without letting them reach the app's private network.
|
|
1298
|
-
|
|
1299
|
-
### `untrustedFetch.get`
|
|
1300
|
-
|
|
1301
|
-
Fetches `url` with GET and returns `{ ok: true, url, status, contentType, body, bytes }`, or `{ ok: false, reason, message }`
|
|
1302
|
-
naming the rule that refused: `scheme`, `address`, `redirects`, `too_large`, `timeout`, `status`, `rejected` or `network`.
|
|
1303
|
-
It does not throw for these.
|
|
1304
|
-
|
|
1305
|
-
Rules, none of which can be switched off: only `http:` and `https:`; the name is resolved and every address is checked
|
|
1306
|
-
(loopback, private, link-local including cloud metadata, CGNAT, unique-local and site-local IPv6, multicast, reserved,
|
|
1307
|
-
unspecified, and IPv4-mapped or NAT64 forms of these; literal IP URLs likewise) and the connection goes to a checked
|
|
1308
|
-
address; redirects are followed up to `maxRedirects` and each hop is checked as the first, and the app's `headers` go only to the first origin;
|
|
1309
|
-
the body is stopped the moment it passes `maxBytes`, whatever Content-Length says; `timeoutMs` covers the whole fetch.
|
|
1310
|
-
`accept({ status, contentType, firstBytes })` sees the first 1024 bytes before the body is kept: return false, or a string
|
|
1311
|
-
(your own message), to refuse with `rejected`. Messages never contain an address or anything a server sent.
|
|
1312
|
-
|
|
1313
|
-
`resolve` and `connect` are for tests: `resolve(hostname)` replaces DNS and `connect(target)` replaces the socket after the
|
|
1314
|
-
address check passed, so a test sends a fake public address to a local server. The address check always runs on what `resolve` returns.
|
|
1315
|
-
|
|
1316
|
-
The call is the trace step `pipework/fetch:get`; its child `pipework/fetch:outcome` carries host, status, bytes and reason.
|
|
1317
|
-
The full URL is recorded only when `urlIsSafeToTrace` is true; otherwise only the host.
|
|
1318
|
-
|
|
1319
|
-
```ts
|
|
1320
|
-
const got = await untrustedFetch.get(pasted, { maxBytes: 5_000_000, timeoutMs: 10_000, maxRedirects: 3,
|
|
1321
|
-
accept: h => h.firstBytes[0] === 0x25 || 'That does not look like a PDF.' })
|
|
1322
|
-
if (!got.ok) return tell(got.message)
|
|
1323
|
-
```
|
|
1324
|
-
|
|
1325
1216
|
## storage
|
|
1326
1217
|
|
|
1327
1218
|
Storage namespace — tenant-scoped, content-addressed file storage with signed URLs and retention.
|
|
@@ -1338,18 +1229,6 @@ S3-compatible backend (AWS S3, MinIO, R2): SigV4 over `fetch`, multipart streami
|
|
|
1338
1229
|
|
|
1339
1230
|
Local-disk backend for development and tests; refused in production.
|
|
1340
1231
|
|
|
1341
|
-
## support
|
|
1342
|
-
|
|
1343
|
-
Support namespace — tickets from email (and later chat), with replies sent only after an approval.
|
|
1344
|
-
|
|
1345
|
-
### `support.create`
|
|
1346
|
-
|
|
1347
|
-
Creates the support handle: tickets, messages, notes, links, drafts, `approve`, `receiveEmail`, and the events job.
|
|
1348
|
-
|
|
1349
|
-
### `support.templates`
|
|
1350
|
-
|
|
1351
|
-
The reply template to spread into `mail.create({ templates })`; it renders the approved draft verbatim.
|
|
1352
|
-
|
|
1353
1232
|
## webhook — Inbound & Outbound Webhooks
|
|
1354
1233
|
|
|
1355
1234
|
Webhook namespace — inbound verification, outbound delivery with retries, HMAC signing.
|
|
@@ -1440,10 +1319,6 @@ Returns the current Flow or undefined — use for optional context detection.
|
|
|
1440
1319
|
|
|
1441
1320
|
Creates a Flow for test isolation with optional auth and tenant overrides.
|
|
1442
1321
|
|
|
1443
|
-
### `flow.actAs`
|
|
1444
|
-
|
|
1445
|
-
Runs `fn` as a tenant and user chosen inside a tenantless Flow (sign-up, a public sign-in): RLS, audit and trace under that tenant, on the request's transaction.
|
|
1446
|
-
|
|
1447
1322
|
## http — Server
|
|
1448
1323
|
|
|
1449
1324
|
HTTP namespace: `http.file()` builds a file response; the server itself is managed by manifold.start().
|
|
@@ -1468,36 +1343,6 @@ interface SecurityConfig
|
|
|
1468
1343
|
interface RateLimitConfig
|
|
1469
1344
|
```
|
|
1470
1345
|
|
|
1471
|
-
**`RateLimitWindow`** — One fixed window: at most `max` requests per `windowSeconds`.
|
|
1472
|
-
|
|
1473
|
-
```typescript
|
|
1474
|
-
interface RateLimitWindow
|
|
1475
|
-
```
|
|
1476
|
-
|
|
1477
|
-
**`RateLimitClass`** — A named limit class: any of a per-user, per-tenant and per-address window, each counted on its own.
|
|
1478
|
-
|
|
1479
|
-
```typescript
|
|
1480
|
-
interface RateLimitClass
|
|
1481
|
-
```
|
|
1482
|
-
|
|
1483
|
-
**`RateLimitRefusal`** — What `onRefused` is told about one refused window of one request.
|
|
1484
|
-
|
|
1485
|
-
```typescript
|
|
1486
|
-
interface RateLimitRefusal
|
|
1487
|
-
```
|
|
1488
|
-
|
|
1489
|
-
**`RateLimitClassesConfig`**
|
|
1490
|
-
|
|
1491
|
-
Named limit classes, checked after auth and counted in Postgres (`pipework_rate_limit_counts`, opted in
|
|
1492
|
-
with the blueprint's `rateLimits: {}`), so every server process on the same database shares one count.
|
|
1493
|
-
Windows are counted perUser, perTenant, perAddress in turn, up to the first one over its max, so one user's
|
|
1494
|
-
refused requests don't spend the tenant's budget. A route is in `signedIn` (auth required, or optional with
|
|
1495
|
-
a user), `public` (no auth, or optional without a user) or the class its fitting names with `.rateLimit(name)`.
|
|
1496
|
-
|
|
1497
|
-
```typescript
|
|
1498
|
-
interface RateLimitClassesConfig
|
|
1499
|
-
```
|
|
1500
|
-
|
|
1501
1346
|
**`InjectOptions`** — Options for server.inject() — method, url, headers, payload for testing without HTTP.
|
|
1502
1347
|
|
|
1503
1348
|
```typescript
|
|
@@ -1516,12 +1361,6 @@ interface InjectResponse
|
|
|
1516
1361
|
interface ServerConfig
|
|
1517
1362
|
```
|
|
1518
1363
|
|
|
1519
|
-
**`InternalErrorFault`** — What `onInternalError` is told about one request that ended in an internal error.
|
|
1520
|
-
|
|
1521
|
-
```typescript
|
|
1522
|
-
interface InternalErrorFault
|
|
1523
|
-
```
|
|
1524
|
-
|
|
1525
1364
|
**`HandlerResponse`** — Standard handler response shape — statusCode, headers, body.
|
|
1526
1365
|
|
|
1527
1366
|
```typescript
|
|
@@ -1580,7 +1419,7 @@ Generates an OpenAPI 3.1 document from route registrations — schemas derived f
|
|
|
1580
1419
|
|
|
1581
1420
|
## trace
|
|
1582
1421
|
|
|
1583
|
-
Trace namespace — hand the current trace to a process outside Node
|
|
1422
|
+
Trace namespace — hand the current trace to a process outside Node and record the steps it reports back.
|
|
1584
1423
|
|
|
1585
1424
|
### `trace.traceparent`
|
|
1586
1425
|
|
|
@@ -1594,15 +1433,6 @@ W3C `traceparent` for the current trace and open step; `null` outside a traced f
|
|
|
1594
1433
|
|
|
1595
1434
|
Records steps reported as JSON lines (or objects) by an outside process under the step open now. Synchronous; never throws.
|
|
1596
1435
|
|
|
1597
|
-
### `trace.event`
|
|
1598
|
-
|
|
1599
|
-
Records one zero-length step `external:<name>` under the step open now, with an optional `capture` and `error`. A no-op outside a traced flow; never throws.
|
|
1600
|
-
|
|
1601
|
-
### `trace.tree`
|
|
1602
|
-
|
|
1603
|
-
Reads every hot trace sharing `rootId` (a request's trace and the jobs it queued) with their steps. Runs on the
|
|
1604
|
-
given `db`, so tenant policies apply: only an unrestricted connection (table owner, tests) sees every tenant's rows.
|
|
1605
|
-
|
|
1606
1436
|
### Types
|
|
1607
1437
|
|
|
1608
1438
|
**`FlowStepMeta`** — Trace metadata for one documented flow-step: its `path:symbol` graph node id and the per-argument capture projections.
|
|
@@ -1623,24 +1453,6 @@ type ExternalStepReport = z.infer<typeof externalStepReportSchema>
|
|
|
1623
1453
|
interface ExternalRecordResult
|
|
1624
1454
|
```
|
|
1625
1455
|
|
|
1626
|
-
**`TraceStepNode`** — One step of a trace. `ref` is the flow step's `path:symbol`, or `external:<name>` for a recorded or point-event step.
|
|
1627
|
-
|
|
1628
|
-
```typescript
|
|
1629
|
-
interface TraceStepNode
|
|
1630
|
-
```
|
|
1631
|
-
|
|
1632
|
-
**`TraceNode`** — One trace of the tree, with its steps ordered by `seq`.
|
|
1633
|
-
|
|
1634
|
-
```typescript
|
|
1635
|
-
interface TraceNode
|
|
1636
|
-
```
|
|
1637
|
-
|
|
1638
|
-
**`TraceTree`** — The traces that share a root id, ordered by when they opened.
|
|
1639
|
-
|
|
1640
|
-
```typescript
|
|
1641
|
-
interface TraceTree
|
|
1642
|
-
```
|
|
1643
|
-
|
|
1644
1456
|
## data
|
|
1645
1457
|
|
|
1646
1458
|
### `tap`
|
|
@@ -8,7 +8,7 @@ export declare function decrement(column: Column | SQL, amount: number): SQL<num
|
|
|
8
8
|
export declare function add<T = unknown>(left: Column | SQL, right: Column | SQL): SQL<T>;
|
|
9
9
|
/** Returns `left - right` for two SQL expressions. For column - literal number, use `decrement`. */
|
|
10
10
|
export declare function subtract<T = unknown>(left: Column | SQL, right: Column | SQL): SQL<T>;
|
|
11
|
-
/** Wraps an expression with COALESCE — returns `defaultValue` when the expression is NULL. */
|
|
11
|
+
/** Wraps an expression with COALESCE — returns `defaultValue` when the expression is NULL. Given a column, the default is bound the way that column's values are on insert (jsonb as JSON, dates, arrays). */
|
|
12
12
|
export declare function coalesce<T>(expression: SQL | Column, defaultValue: T): SQL<T>;
|
|
13
13
|
/** Returns a SQL expression for PostgreSQL `now()` — the current transaction timestamp. */
|
|
14
14
|
export declare function now(): SQL<Date>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expressions.d.ts","sourceRoot":"","sources":["../../../src/data/db/expressions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"expressions.d.ts","sourceRoot":"","sources":["../../../src/data/db/expressions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { sql } from './sql.js';
|
|
2
|
+
import { bindIfParam } from '../query/index.js';
|
|
3
|
+
import { PgArray } from '../query/pg-core/index.js';
|
|
4
|
+
import { is } from '../query/entity.js';
|
|
2
5
|
/** Returns `column + amount`. Use negative amounts for subtraction. */
|
|
3
6
|
export function increment(column, amount) {
|
|
4
7
|
return sql `${column} + ${amount}`;
|
|
@@ -15,9 +18,9 @@ export function add(left, right) {
|
|
|
15
18
|
export function subtract(left, right) {
|
|
16
19
|
return sql `${left} - ${right}`;
|
|
17
20
|
}
|
|
18
|
-
/** Wraps an expression with COALESCE — returns `defaultValue` when the expression is NULL. */
|
|
21
|
+
/** Wraps an expression with COALESCE — returns `defaultValue` when the expression is NULL. Given a column, the default is bound the way that column's values are on insert (jsonb as JSON, dates, arrays). */
|
|
19
22
|
export function coalesce(expression, defaultValue) {
|
|
20
|
-
return sql `coalesce(${expression}, ${defaultValue})`;
|
|
23
|
+
return sql `coalesce(${expression}, ${bindIfParam(defaultValue, expression)})`;
|
|
21
24
|
}
|
|
22
25
|
/** Returns a SQL expression for PostgreSQL `now()` — the current transaction timestamp. */
|
|
23
26
|
export function now() {
|
|
@@ -187,15 +190,22 @@ function elementType(column, helper) {
|
|
|
187
190
|
}
|
|
188
191
|
return type.slice(0, -2);
|
|
189
192
|
}
|
|
193
|
+
/** Binds `value` as one element of an array column, converted by the element column's driver mapping. */
|
|
194
|
+
function element(col, value) {
|
|
195
|
+
if (value === null || !is(col, PgArray))
|
|
196
|
+
return value;
|
|
197
|
+
const base = col.baseColumn;
|
|
198
|
+
return sql.param(value, { mapToDriverValue: v => base.mapToDriverValue(v) });
|
|
199
|
+
}
|
|
190
200
|
/** PostgreSQL `array_replace(col, from, to)` — every element equal to `from` becomes `to`. `from`/`to` are bound and cast to the column's element type. */
|
|
191
201
|
export function arrayReplace(col, from, to) {
|
|
192
202
|
const el = sql.raw(elementType(col, 'arrayReplace'));
|
|
193
|
-
return sql `array_replace(${col}, ${from}::${el}, ${to}::${el})`;
|
|
203
|
+
return sql `array_replace(${col}, ${element(col, from)}::${el}, ${element(col, to)}::${el})`;
|
|
194
204
|
}
|
|
195
205
|
/** True when the array column holds `value`: `$value::<element> = ANY(col)`. `value` is bound and cast to the column's element type. */
|
|
196
206
|
export function arrayHas(col, value) {
|
|
197
207
|
const el = sql.raw(elementType(col, 'arrayHas'));
|
|
198
|
-
return sql `${value}::${el} = ANY(${col})`;
|
|
208
|
+
return sql `${element(col, value)}::${el} = ANY(${col})`;
|
|
199
209
|
}
|
|
200
210
|
/** PostgreSQL `cardinality(arr)` — the number of elements; 0 for `'{}'`, NULL for a NULL array. */
|
|
201
211
|
export function cardinality(arr) {
|
|
@@ -210,7 +220,7 @@ export function arrayAt(arr, n) {
|
|
|
210
220
|
/** PostgreSQL `array_position(col, value)` — 1-based index of the first `value`, NULL when absent. `value` is bound and cast to the element type. */
|
|
211
221
|
export function arrayPosition(col, value) {
|
|
212
222
|
const el = sql.raw(elementType(col, 'arrayPosition'));
|
|
213
|
-
return sql `array_position(${col}, ${value}::${el})`;
|
|
223
|
+
return sql `array_position(${col}, ${element(col, value)}::${el})`;
|
|
214
224
|
}
|
|
215
225
|
/** Array slice `(col)[from:to]`, 1-based and inclusive; out-of-range bounds are clipped. `from`/`to` are bound. */
|
|
216
226
|
export function arraySlice(col, from, to) {
|
|
@@ -225,12 +235,12 @@ export function arrayToString(arr, delimiter) {
|
|
|
225
235
|
/** PostgreSQL `array_append(col, value)` — `value` goes last. `value` is bound and cast to the element type. */
|
|
226
236
|
export function arrayAppend(col, value) {
|
|
227
237
|
const el = sql.raw(elementType(col, 'arrayAppend'));
|
|
228
|
-
return sql `array_append(${col}, ${value}::${el})`;
|
|
238
|
+
return sql `array_append(${col}, ${element(col, value)}::${el})`;
|
|
229
239
|
}
|
|
230
240
|
/** PostgreSQL `array_remove(col, value)` — drops every element equal to `value`. `value` is bound and cast to the element type. */
|
|
231
241
|
export function arrayRemove(col, value) {
|
|
232
242
|
const el = sql.raw(elementType(col, 'arrayRemove'));
|
|
233
|
-
return sql `array_remove(${col}, ${value}::${el})`;
|
|
243
|
+
return sql `array_remove(${col}, ${element(col, value)}::${el})`;
|
|
234
244
|
}
|
|
235
245
|
/** PostgreSQL `date_trunc('unit', column)` — truncates a timestamp to the given precision. */
|
|
236
246
|
export function dateTrunc(unit, column) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expressions.js","sourceRoot":"","sources":["../../../src/data/db/expressions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAI9B,uEAAuE;AACvE,MAAM,UAAU,SAAS,CAAC,MAAoB,EAAE,MAAc;IAC5D,OAAO,GAAG,CAAQ,GAAG,MAAM,MAAM,MAAM,EAAE,CAAA;AAC3C,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,SAAS,CAAC,MAAoB,EAAE,MAAc;IAC5D,OAAO,GAAG,CAAQ,GAAG,MAAM,MAAM,MAAM,EAAE,CAAA;AAC3C,CAAC;AAED,oGAAoG;AACpG,MAAM,UAAU,GAAG,CAAc,IAAkB,EAAE,KAAmB;IACtE,OAAO,GAAG,CAAG,GAAG,IAAI,MAAM,KAAK,EAAE,CAAA;AACnC,CAAC;AAED,oGAAoG;AACpG,MAAM,UAAU,QAAQ,CAAc,IAAkB,EAAE,KAAmB;IAC3E,OAAO,GAAG,CAAG,GAAG,IAAI,MAAM,KAAK,EAAE,CAAA;AACnC,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,QAAQ,CAAI,UAAwB,EAAE,YAAe;IACnE,OAAO,GAAG,CAAG,YAAY,UAAU,KAAK,YAAY,GAAG,CAAA;AACzD,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,GAAG;IACjB,OAAO,GAAG,CAAM,OAAO,CAAA;AACzB,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,MAAM,CAAI,QAAoB;IAC5C,OAAO,GAAG,CAAG,IAAI,QAAQ,GAAG,CAAA;AAC9B,CAAC;AAKD,kDAAkD;AAClD,MAAM,UAAU,IAAI,CAAc,UAAqC,EAAE,MAAc;IACrF,OAAO,GAAG,CAAG,IAAI,UAAU,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAA;AACpD,CAAC;AAED,MAAM,sBAAsB,GAA2C;IACrE,YAAY,EAAE,aAAa;IAC3B,YAAY,EAAE,aAAa;IAC3B,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,QAAQ;IACjB,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,KAAK;IACX,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,OAAO;IACf,KAAK,EAAE,MAAM;CACd,CAAA;AAED,4JAA4J;AAC5J,MAAM,UAAU,QAAQ,CAAC,MAAc,EAAE,IAAkB;IACzD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,oDAAoD,MAAM,CAAC,MAAM,CAAC,OAAO;YACzE,sDAAsD;YACtD,wDAAwD,CACzD,CAAA;IACH,CAAC;IACD,OAAO,GAAG,CAAA,IAAI,MAAM,oCAAoC,GAAG,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAA;AACnG,CAAC;AAED,yHAAyH;AACzH,MAAM,UAAU,cAAc;IAC5B,OAAO,GAAG,CAAM,mBAAmB,CAAA;AACrC,CAAC;AAKD,SAAS,OAAO,CAAC,KAAc;IAC7B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAA,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAA,GAAG,KAAK,EAAE,CAAA;AACxE,CAAC;AAED,SAAS,MAAM,CAAC,KAA4B;IAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAA,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAA,GAAG,KAAK,EAAE,CAAA;AACvE,CAAC;AAED,sJAAsJ;AACtJ,MAAM,UAAU,MAAM,CAAC,CAAU,EAAE,CAAU;IAC3C,OAAO,GAAG,CAAQ,UAAU,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAA;AAC1D,CAAC;AAED,uHAAuH;AACvH,MAAM,UAAU,YAAY,CAAC,CAAU,EAAE,CAAU;IACjD,OAAO,GAAG,CAAS,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAA;AAC1C,CAAC;AAED,6GAA6G;AAC7G,MAAM,UAAU,UAAU,CAAC,CAAU,EAAE,MAAe;IACpD,OAAO,GAAG,CAAS,eAAe,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,CAAA;AACrE,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,IAAI,CAAC,CAAU,EAAE,CAAwB;IACvD,OAAO,GAAG,CAAQ,QAAQ,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAA;AACvD,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,KAAK,CAAC,CAAU,EAAE,CAAwB;IACxD,OAAO,GAAG,CAAQ,SAAS,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAA;AACxD,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,MAAM,CAAC,CAAU;IAC/B,OAAO,GAAG,CAAQ,UAAU,OAAO,CAAC,CAAC,CAAC,GAAG,CAAA;AAC3C,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,MAAc,EAAE,IAAY;IAC9D,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,cAAc,MAAM,6BAA6B,IAAI,SAAS,MAAM,CAAC,KAAK,CAAC,OAAO;YAClF,oEAAoE;YACpE,2BAA2B,MAAM,aAAa,CAC/C,CAAA;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,aAAa,CAAC,KAA4B,EAAE,MAAc,EAAE,IAAY;IAC/E,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAA,GAAG,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAA,GAAG,KAAK,EAAE,CAAA;AAClG,CAAC;AAED,4JAA4J;AAC5J,MAAM,UAAU,SAAS,CAAC,CAAU,EAAE,SAAiB,EAAE,CAAwB;IAC/E,OAAO,GAAG,CAAQ,cAAc,OAAO,CAAC,CAAC,CAAC,KAAK,SAAS,WAAW,aAAa,CAAC,CAAC,EAAE,WAAW,EAAE,cAAc,CAAC,GAAG,CAAA;AACrH,CAAC;AAED,6BAA6B;AAC7B,MAAM,UAAU,KAAK,CAAC,CAAU;IAC9B,OAAO,GAAG,CAAQ,SAAS,OAAO,CAAC,CAAC,CAAC,GAAG,CAAA;AAC1C,CAAC;AAED,6BAA6B;AAC7B,MAAM,UAAU,KAAK,CAAC,CAAU;IAC9B,OAAO,GAAG,CAAQ,SAAS,OAAO,CAAC,CAAC,CAAC,GAAG,CAAA;AAC1C,CAAC;AAED,MAAM,UAAU,GAAwB,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAA;AAKhF,uJAAuJ;AACvJ,MAAM,UAAU,IAAI,CAAC,CAAU,EAAE,UAAsE,EAAE;IACvG,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,CAAA;IACnC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,uEAAuE,MAAM,CAAC,IAAI,CAAC,OAAO;YAC1F,6CAA6C,CAC9C,CAAA;IACH,CAAC;IACD,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACxB,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;QAAE,OAAO,GAAG,CAAQ,QAAQ,EAAE,SAAS,OAAO,CAAC,CAAC,CAAC,GAAG,CAAA;IACxF,OAAO,GAAG,CAAQ,QAAQ,EAAE,IAAI,OAAO,CAAC,UAAU,eAAe,OAAO,CAAC,CAAC,CAAC,GAAG,CAAA;AAChF,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,OAAO,CAAC,CAAU,EAAE,IAAa,EAAE,EAAW;IAC5D,OAAO,GAAG,CAAQ,WAAW,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,EAAE,CAAC,GAAG,CAAA;AAC9E,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,SAAS,CAAC,CAAU,EAAE,IAA2B,EAAE,KAA6B;IAC9F,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;IACvD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,GAAG,CAAQ,aAAa,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAA;IAC/E,OAAO,GAAG,CAAQ,aAAa,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,GAAG,CAAA;AACvG,CAAC;AAED,+BAA+B;AAC/B,MAAM,UAAU,OAAO,CAAC,CAAU;IAChC,OAAO,GAAG,CAAQ,WAAW,OAAO,CAAC,CAAC,CAAC,GAAG,CAAA;AAC5C,CAAC;AAED,iIAAiI;AACjI,MAAM,UAAU,IAAI,CAAC,CAAU,EAAE,MAA6B,EAAE,IAAa;IAC3E,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IACnD,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,GAAG,CAAQ,QAAQ,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAA;IACvE,OAAO,GAAG,CAAQ,QAAQ,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,IAAI,SAAS,CAAA;AAChE,CAAC;AAED,kIAAkI;AAClI,MAAM,UAAU,IAAI,CAAC,CAAU,EAAE,MAA6B,EAAE,IAAa;IAC3E,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IACnD,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,GAAG,CAAQ,QAAQ,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAA;IACvE,OAAO,GAAG,CAAQ,QAAQ,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,IAAI,SAAS,CAAA;AAChE,CAAC;AAED,6JAA6J;AAC7J,MAAM,UAAU,aAAa,CAAC,CAAU,EAAE,OAAe,EAAE,WAAmB,EAAE,KAAc;IAC5F,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,GAAG,CAAQ,kBAAkB,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,WAAW,WAAW,SAAS,CAAA;IAClH,OAAO,GAAG,CAAQ,kBAAkB,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,WAAW,WAAW,WAAW,KAAK,SAAS,CAAA;AAC3G,CAAC;AAED,wHAAwH;AACxH,MAAM,UAAU,WAAW,CAAC,CAAU,EAAE,OAAe,EAAE,UAAkD,EAAE;IAC3G,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC1E,OAAO,GAAG,CAAS,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,OAAO,QAAQ,CAAA;AAC3D,CAAC;AAED,gIAAgI;AAChI,MAAM,UAAU,aAAa,CAAC,CAAU,EAAE,SAAiB;IACzD,OAAO,GAAG,CAAU,mBAAmB,OAAO,CAAC,CAAC,CAAC,KAAK,SAAS,SAAS,CAAA;AAC1E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,GAAG,KAAmC;IAC3D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACb,qDAAqD,KAAK,CAAC,MAAM,OAAO;YACxE,qEAAqE;YACrE,8DAA8D,CAC/D,CAAA;IACH,CAAC;IACD,OAAO,GAAG,CAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,CAAA,MAAM,CAAC,GAAG,CAAA;AAClE,CAAC;AAED,SAAS,WAAW,CAAC,MAAc,EAAE,MAAc;IACjD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;IAChC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,cAAc,MAAM,kCAAkC,MAAM,CAAC,IAAI,aAAa,IAAI,OAAO;YACzF,8EAA8E;YAC9E,oEAAoE,MAAM,OAAO,CAClF,CAAA;IACH,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AAC1B,CAAC;AAID,2JAA2J;AAC3J,MAAM,UAAU,YAAY,CAAmB,GAAM,EAAE,IAAkB,EAAE,EAAgB;IACzF,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAA;IACpD,OAAO,GAAG,CAAgB,iBAAiB,GAAG,KAAK,IAAI,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAA;AACjF,CAAC;AAED,wIAAwI;AACxI,MAAM,UAAU,QAAQ,CAAmB,GAAM,EAAE,KAAmB;IACpE,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAA;IAChD,OAAO,GAAG,CAAS,GAAG,KAAK,KAAK,EAAE,UAAU,GAAG,GAAG,CAAA;AACpD,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,WAAW,CAAC,GAAiB;IAC3C,OAAO,GAAG,CAAe,eAAe,GAAG,GAAG,CAAA;AAChD,CAAC;AAQD,MAAM,UAAU,OAAO,CAAC,GAAiB,EAAE,CAAS;IAClD,WAAW,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;IAClC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAA,IAAI,GAAG,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAA;IACpE,OAAO,GAAG,CAAA,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAA;AACjC,CAAC;AAED,qJAAqJ;AACrJ,MAAM,UAAU,aAAa,CAAmB,GAAM,EAAE,KAAmB;IACzE,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,CAAA;IACrD,OAAO,GAAG,CAAe,kBAAkB,GAAG,KAAK,KAAK,KAAK,EAAE,GAAG,CAAA;AACpE,CAAC;AAED,mHAAmH;AACnH,MAAM,UAAU,UAAU,CAAmB,GAAM,EAAE,IAAY,EAAE,EAAU;IAC3E,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,CAAA;IACxC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,CAAA;IACpC,OAAO,GAAG,CAAgB,IAAI,GAAG,MAAM,IAAI,WAAW,EAAE,SAAS,CAAA;AACnE,CAAC;AAED,uHAAuH;AACvH,MAAM,UAAU,aAAa,CAAC,GAAiB,EAAE,SAAiB;IAChE,OAAO,GAAG,CAAQ,mBAAmB,GAAG,KAAK,SAAS,SAAS,CAAA;AACjE,CAAC;AAED,gHAAgH;AAChH,MAAM,UAAU,WAAW,CAAmB,GAAM,EAAE,KAAmB;IACvE,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAA;IACnD,OAAO,GAAG,CAAgB,gBAAgB,GAAG,KAAK,KAAK,KAAK,EAAE,GAAG,CAAA;AACnE,CAAC;AAED,mIAAmI;AACnI,MAAM,UAAU,WAAW,CAAmB,GAAM,EAAE,KAAmB;IACvE,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAA;IACnD,OAAO,GAAG,CAAgB,gBAAgB,GAAG,KAAK,KAAK,KAAK,EAAE,GAAG,CAAA;AACnE,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,SAAS,CAAC,IAA0J,EAAE,MAAoB;IACxM,OAAO,GAAG,CAAM,eAAe,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,MAAM,GAAG,CAAA;AAC7D,CAAC;AAED,oGAAoG;AACpG,MAAM,UAAU,SAAS;IACvB,OAAO,GAAG,CAAQ,cAAc,CAAA;AAClC,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,IAAI;IAClB,OAAO,GAAG,CAAQ,QAAQ,CAAA;AAC5B,CAAC;AAED,oGAAoG;AACpG,MAAM,UAAU,SAAS;IACvB,OAAO,GAAG,CAAQ,cAAc,CAAA;AAClC,CAAC;AAQD,mHAAmH;AACnH,MAAM,UAAU,IAAI,CAAI,EAAU,EAAE,IAAgB;IAClD,MAAM,KAAK,GAAU,EAAE,CAAA;IACvB,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACpF,KAAK,CAAC,IAAI,CAAC,GAAG,CAAA,gBAAgB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAA,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAA,IAAI,CAAC,EAAE,CAAC,CAAA;IAC9E,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACxE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAA,YAAY,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAA,IAAI,CAAC,EAAE,CAAC,CAAA;IACtD,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAG,GAAG,EAAE,UAAU,CAAA;IACpD,OAAO,GAAG,CAAG,GAAG,EAAE,UAAU,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAA,GAAG,CAAC,GAAG,CAAA;AACxD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa,EAAE,GAAG,IAAc;IACzD,IAAI,SAAS,GAAG,GAAG,CAAA,GAAG,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAA;IAC7C,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,SAAS,GAAG,GAAG,CAAA,GAAG,SAAS,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAA;IACvD,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,4IAA4I;AAC5I,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,IAAS,EAAE,IAAS,EAAE,UAAgB;IACjF,MAAM,GAAG,GAAG,GAAG,CAAA,kBAAkB,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,IAAI,cAAc,IAAI,GAAG,CAAA;IACvF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,GAAG,CAAA,GAAG,GAAG,IAAI,UAAU,EAAE,CAAA;IAClC,CAAC;IACD,OAAO,GAAG,CAAA,GAAG,GAAG,kBAAkB,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAA;AAC3D,CAAC;AAQD,qIAAqI;AACrI,MAAM,UAAU,QAAQ,CAAc,QAAsC,EAAE,SAA+B;IAC3G,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,yDAAyD;YACzD,8DAA8D;YAC9D,8FAA8F,CAC/F,CAAA;IACH,CAAC;IACD,MAAM,KAAK,GAAU,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAA,QAAQ,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IAC1E,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAA,QAAQ,SAAS,EAAE,CAAC,CAAA;IACpC,CAAC;IACD,OAAO,GAAG,CAAG,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAA,GAAG,CAAC,MAAM,CAAA;AACpD,CAAC;AAED,0GAA0G;AAC1G,MAAM,UAAU,aAAa;IAC3B,OAAO,GAAG,CAAQ,4BAA4B,CAAA;AAChD,CAAC;AAED,yIAAyI;AACzI,MAAM,UAAU,YAAY;IAC1B,OAAO,GAAG,CAAe,gCAAgC,CAAA;AAC3D,CAAC;AAED,2LAA2L;AAC3L,MAAM,UAAU,YAAY,CAAC,UAAiC;IAC5D,OAAO,GAAG,CAAgB,+BAA+B,UAAU,UAAU,CAAA;AAC/E,CAAC"}
|
|
1
|
+
{"version":3,"file":"expressions.js","sourceRoot":"","sources":["../../../src/data/db/expressions.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,8 @@ export type FunctionSource<TAlias extends string, TColumns extends Record<string
|
|
|
24
24
|
};
|
|
25
25
|
/**
|
|
26
26
|
* Declares a set-returning SQL function and returns a callable that yields a source for `.from()` and joins.
|
|
27
|
-
* Each argument is bound as a parameter
|
|
27
|
+
* Each argument is bound as a parameter, converted the way a column of that field is on insert (jsonb as JSON text,
|
|
28
|
+
* dates, bigints, arrays), and cast to its declared SQL type: `ext.f($1::uuid, $2::text)`. A null binds SQL NULL.
|
|
28
29
|
* An array argument (`field.uuid().array()`) is one parameter: `ext.f($1::uuid[])`.
|
|
29
30
|
* Result columns are typed from `columns`; the default alias is the function's unqualified name.
|
|
30
31
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function-source.d.ts","sourceRoot":"","sources":["../../../src/data/db/function-source.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"function-source.d.ts","sourceRoot":"","sources":["../../../src/data/db/function-source.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAK/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAKzD,KAAK,QAAQ,GAAG,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AAIzC,mFAAmF;AACnF,MAAM,WAAW,YAAY,CAAC,KAAK,SAAS,SAAS,QAAQ,EAAE,EAAE,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;IACxG,iEAAiE;IACjE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,CAAA;IAClC,yGAAyG;IACzG,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAA;CAC3B;AAED,KAAK,SAAS,CAAC,KAAK,SAAS,SAAS,QAAQ,EAAE,IAAI;KAAG,CAAC,IAAI,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAAE,CAAA;AAEtG,8FAA8F;AAC9F,MAAM,MAAM,oBAAoB,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI;KAC3E,CAAC,IAAI,MAAM,QAAQ,GAAG,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;CAC1D,CAAA;AAED,8FAA8F;AAC9F,MAAM,MAAM,cAAc,CAAC,MAAM,SAAS,MAAM,EAAE,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IACvF,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC,GAChD,oBAAoB,CAAC,QAAQ,CAAC,GAC9B;IACA,uFAAuF;IACvF,EAAE,CAAC,IAAI,SAAS,MAAM,EAAE,KAAK,EAAE,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;CACrE,CAAA;AAUH;;;;;;GAMG;AACH,wBAAgB,EAAE,CAAC,KAAK,CAAC,KAAK,SAAS,SAAS,QAAQ,EAAE,EAAE,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EACnG,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,GAClC,CAAC,GAAG,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAsDnE"}
|
|
@@ -2,6 +2,7 @@ import { sql } from './sql.js';
|
|
|
2
2
|
import { Subquery } from '../query/subquery.js';
|
|
3
3
|
import { SelectionProxyHandler } from '../query/selection-proxy.js';
|
|
4
4
|
import { getTableColumns } from '../query/utils.js';
|
|
5
|
+
import { bindIfParam } from '../query/index.js';
|
|
5
6
|
import { projectTable } from '../domain/build-table.js';
|
|
6
7
|
import { camelToSnake } from '../domain/naming.js';
|
|
7
8
|
const NAME_PART = /^[a-z_][a-z0-9_]*$/;
|
|
@@ -13,7 +14,8 @@ function quote(name) {
|
|
|
13
14
|
}
|
|
14
15
|
/**
|
|
15
16
|
* Declares a set-returning SQL function and returns a callable that yields a source for `.from()` and joins.
|
|
16
|
-
* Each argument is bound as a parameter
|
|
17
|
+
* Each argument is bound as a parameter, converted the way a column of that field is on insert (jsonb as JSON text,
|
|
18
|
+
* dates, bigints, arrays), and cast to its declared SQL type: `ext.f($1::uuid, $2::text)`. A null binds SQL NULL.
|
|
17
19
|
* An array argument (`field.uuid().array()`) is one parameter: `ext.f($1::uuid[])`.
|
|
18
20
|
* Result columns are typed from `columns`; the default alias is the function's unqualified name.
|
|
19
21
|
*/
|
|
@@ -41,7 +43,7 @@ export function fn(name, spec) {
|
|
|
41
43
|
const defaultAlias = parts[parts.length - 1];
|
|
42
44
|
const build = (values, alias) => {
|
|
43
45
|
const columnList = sql.join(keys.map(k => sql.raw(quote(camelToSnake(k)))), sql `, `);
|
|
44
|
-
const argList = sql.join(values.map((v, i) => sql `${
|
|
46
|
+
const argList = sql.join(values.map((v, i) => sql `${bindIfParam(v, argCols[`a${i}`])}::${sql.raw(argTypes[i])}`), sql `, `);
|
|
45
47
|
const inner = sql `select ${columnList} from ${fnSql}(${argList})`;
|
|
46
48
|
const fields = {};
|
|
47
49
|
for (const k of keys) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function-source.js","sourceRoot":"","sources":["../../../src/data/db/function-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAE9B,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"function-source.js","sourceRoot":"","sources":["../../../src/data/db/function-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAE9B,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAI/C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAKlD,MAAM,SAAS,GAAG,oBAAoB,CAAA;AA0BtC,SAAS,IAAI,CAAC,OAAe,EAAE,GAAW;IACxC,MAAM,IAAI,KAAK,CAAC,cAAc,OAAO,cAAc,GAAG,IAAI,CAAC,CAAA;AAC7D,CAAC;AAED,SAAS,KAAK,CAAC,IAAY;IACzB,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAA;AACxC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,EAAE,CAChB,IAAY,EACZ,IAAmC;IAEnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC7B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,IAAI,CACF,aAAa,IAAI,2BAA2B,EAC5C,0GAA0G,CAC3G,CAAA;IACH,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACtC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,IAAI,CAAC,YAAY,IAAI,uBAAuB,EAAE,qCAAqC,CAAC,CAAA;IAC3G,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;YAChC,IAAI,CAAC,YAAY,IAAI,wCAAwC,GAAG,IAAI,EAAE,+DAA+D,CAAC,CAAA;QACxI,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAA6B,EAAE,CAAA;IAC9C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;IACvD,MAAM,OAAO,GAAG,eAAe,CAAC,YAAY,CAAC,YAAY,EAAE,SAAS,EAAE,EAAE,CAAC,CAAwF,CAAA;IACjK,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACtC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAE,CAAC,UAAU,EAAE,CAAA;QACxC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IACtE,CAAC,CAAC,CAAA;IAEF,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACjD,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAA;IAE7C,MAAM,KAAK,GAAG,CAAC,MAA0B,EAAE,KAAa,EAAoC,EAAE;QAC5F,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAA,IAAI,CAAC,CAAA;QACpF,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAA,GAAG,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAsB,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAA,IAAI,CAAC,CAAA;QAChJ,MAAM,KAAK,GAAG,GAAG,CAAA,UAAU,UAAU,SAAS,KAAK,IAAI,OAAO,GAAG,CAAA;QACjE,MAAM,MAAM,GAAwB,EAAE,CAAA;QACtC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAClE,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;QACnD,MAAM,SAAS,GAAG,IAAI,qBAAqB,CAAW,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAA;QACjH,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE;YACzB,GAAG,CAAC,MAAM,EAAE,IAAI;gBACd,IAAI,IAAI,KAAK,IAAI;oBAAE,OAAO,CAAC,IAAY,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;gBAC/D,OAAO,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YACpC,CAAC;SACF,CAAgD,CAAA;IACnD,CAAC,CAAA;IAED,OAAO,CAAC,GAAG,MAAwB,EAAE,EAAE;QACrC,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACvC,IAAI,CACF,YAAY,IAAI,mBAAmB,MAAM,CAAC,MAAM,0BAA0B,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,EAC7F,uCAAuC,CACxC,CAAA;QACH,CAAC;QACD,OAAO,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACpC,CAAC,CAAA;AACH,CAAC"}
|
package/dist/data/db/values.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export interface ValueColumnDef {
|
|
|
5
5
|
readonly name: string;
|
|
6
6
|
readonly type: PgCastType;
|
|
7
7
|
}
|
|
8
|
-
/** Produces a typed VALUES clause: `(VALUES ($1::uuid, $2::text), ($3::uuid, $4::text))`. Each value is cast to its declared type. JSONB values are JSON-stringified
|
|
8
|
+
/** Produces a typed VALUES clause: `(VALUES ($1::uuid, $2::text), ($3::uuid, $4::text))`. Each value is cast to its declared type. JSONB values are JSON-stringified and Dates sent as ISO text, as a column does on insert; null is SQL NULL. */
|
|
9
9
|
export declare function values(rows: ReadonlyArray<readonly unknown[]>, columns: readonly ValueColumnDef[]): SQL;
|
|
10
10
|
export {};
|
|
11
11
|
//# sourceMappingURL=values.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../../../src/data/db/values.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAErC,KAAK,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,aAAa,GAAG,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,kBAAkB,GAAG,UAAU,GAAG,UAAU,CAAA;AAEzL,wIAAwI;AACxI,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAC1B;AAED,
|
|
1
|
+
{"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../../../src/data/db/values.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAErC,KAAK,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,aAAa,GAAG,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,kBAAkB,GAAG,UAAU,GAAG,UAAU,CAAA;AAEzL,wIAAwI;AACxI,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAC1B;AAED,kPAAkP;AAClP,wBAAgB,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,SAAS,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,cAAc,EAAE,GAAG,GAAG,CAgBvG"}
|
package/dist/data/db/values.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { sql } from './sql.js';
|
|
2
|
-
/** Produces a typed VALUES clause: `(VALUES ($1::uuid, $2::text), ($3::uuid, $4::text))`. Each value is cast to its declared type. JSONB values are JSON-stringified
|
|
2
|
+
/** Produces a typed VALUES clause: `(VALUES ($1::uuid, $2::text), ($3::uuid, $4::text))`. Each value is cast to its declared type. JSONB values are JSON-stringified and Dates sent as ISO text, as a column does on insert; null is SQL NULL. */
|
|
3
3
|
export function values(rows, columns) {
|
|
4
4
|
if (rows.length === 0)
|
|
5
5
|
throw new Error('[pipework] values() requires at least one row');
|
|
@@ -8,10 +8,12 @@ export function values(rows, columns) {
|
|
|
8
8
|
const valueRows = rows.map(row => {
|
|
9
9
|
const cells = columns.map((col, i) => {
|
|
10
10
|
const val = row[i];
|
|
11
|
-
if (
|
|
11
|
+
if (val === null || val === undefined)
|
|
12
|
+
return sql `${null}::${sql.raw(col.type)}`;
|
|
13
|
+
if (col.type === 'jsonb')
|
|
12
14
|
return sql `${JSON.stringify(val)}::jsonb`;
|
|
13
|
-
|
|
14
|
-
return sql `${
|
|
15
|
+
const bound = val instanceof Date ? val.toISOString() : val;
|
|
16
|
+
return sql `${bound}::${sql.raw(col.type)}`;
|
|
15
17
|
});
|
|
16
18
|
return sql `(${sql.join(cells, sql `, `)})`;
|
|
17
19
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"values.js","sourceRoot":"","sources":["../../../src/data/db/values.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAW9B,
|
|
1
|
+
{"version":3,"file":"values.js","sourceRoot":"","sources":["../../../src/data/db/values.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAW9B,kPAAkP;AAClP,MAAM,UAAU,MAAM,CAAC,IAAuC,EAAE,OAAkC;IAChG,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;IACvF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;IAExG,MAAM,SAAS,GAAU,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACtC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACnC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;YAClB,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS;gBAAE,OAAO,GAAG,CAAA,GAAG,IAAI,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAA;YAChF,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO;gBAAE,OAAO,GAAG,CAAA,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAA;YACnE,MAAM,KAAK,GAAG,GAAG,YAAY,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;YAC3D,OAAO,GAAG,CAAA,GAAG,KAA2C,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAA;QAClF,CAAC,CAAC,CAAA;QACF,OAAO,GAAG,CAAA,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAA,IAAI,CAAC,GAAG,CAAA;IAC3C,CAAC,CAAC,CAAA;IAEF,OAAO,GAAG,CAAA,WAAW,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAA,IAAI,CAAC,GAAG,CAAA;AACtD,CAAC"}
|
|
@@ -375,7 +375,7 @@ export function sql(strings, ...params) {
|
|
|
375
375
|
if (!/^[a-z_][a-z0-9_]*(\([0-9, ]+\))?$/i.test(cast)) {
|
|
376
376
|
throw new Error(`[pipework] sql.inList: cast "${cast}" is not a plain type name.\n`);
|
|
377
377
|
}
|
|
378
|
-
const json = JSON.stringify(values.map((v) => (v === null ? null : typeof v === 'string' ? v : v instanceof Date ? v.toISOString() : String(v))));
|
|
378
|
+
const json = JSON.stringify(values.map((v) => (v === null ? null : typeof v === 'string' ? v : v instanceof Date ? v.toISOString() : typeof v === 'object' ? JSON.stringify(v) : String(v))));
|
|
379
379
|
return new SQL([
|
|
380
380
|
new StringChunk('= ANY(ARRAY(SELECT jsonb_array_elements_text('),
|
|
381
381
|
new Param(json),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql.js","sourceRoot":"","sources":["../../../../src/data/query/sql/sql.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sql.js","sourceRoot":"","sources":["../../../../src/data/query/sql/sql.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export interface AwsCredentials {
|
|
2
|
+
readonly accessKeyId: string;
|
|
3
|
+
readonly secretAccessKey: string;
|
|
4
|
+
readonly sessionToken?: string;
|
|
5
|
+
}
|
|
6
|
+
export interface SigV4Request {
|
|
7
|
+
readonly method: string;
|
|
8
|
+
readonly url: string;
|
|
9
|
+
/** Headers to sign and send, other than host and x-amz-date, which are added. */
|
|
10
|
+
readonly headers: Readonly<Record<string, string>>;
|
|
11
|
+
readonly body: string | Buffer;
|
|
12
|
+
readonly region: string;
|
|
13
|
+
readonly service: string;
|
|
14
|
+
readonly credentials: AwsCredentials;
|
|
15
|
+
readonly now?: Date;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Signs a request with AWS Signature Version 4 and returns the headers to send:
|
|
19
|
+
* the given ones, `x-amz-date`, `x-amz-security-token` when the credentials carry
|
|
20
|
+
* a session token, and `authorization`. `host` is signed but not returned; the
|
|
21
|
+
* HTTP client sets it from the URL.
|
|
22
|
+
*/
|
|
23
|
+
export declare function signV4(req: SigV4Request): Record<string, string>;
|
|
24
|
+
//# sourceMappingURL=sigv4.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sigv4.d.ts","sourceRoot":"","sources":["../../../src/infra/email/sigv4.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,iFAAiF;IACjF,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAA;IACpC,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,CAAA;CACpB;AAkBD;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwChE"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { createHash, createHmac } from 'node:crypto';
|
|
2
|
+
function sha256Hex(data) {
|
|
3
|
+
return createHash('sha256').update(data).digest('hex');
|
|
4
|
+
}
|
|
5
|
+
function hmac(key, data) {
|
|
6
|
+
return createHmac('sha256', key).update(data).digest();
|
|
7
|
+
}
|
|
8
|
+
function uriEncode(s) {
|
|
9
|
+
return encodeURIComponent(s).replace(/[!'()*]/g, c => `%${c.charCodeAt(0).toString(16).toUpperCase()}`);
|
|
10
|
+
}
|
|
11
|
+
function amzDate(d) {
|
|
12
|
+
return d.toISOString().replace(/[-:]/g, '').replace(/\.\d{3}/, '');
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Signs a request with AWS Signature Version 4 and returns the headers to send:
|
|
16
|
+
* the given ones, `x-amz-date`, `x-amz-security-token` when the credentials carry
|
|
17
|
+
* a session token, and `authorization`. `host` is signed but not returned; the
|
|
18
|
+
* HTTP client sets it from the URL.
|
|
19
|
+
*/
|
|
20
|
+
export function signV4(req) {
|
|
21
|
+
const url = new URL(req.url);
|
|
22
|
+
const stamp = amzDate(req.now ?? new Date());
|
|
23
|
+
const day = stamp.slice(0, 8);
|
|
24
|
+
const headers = {};
|
|
25
|
+
for (const [name, value] of Object.entries(req.headers))
|
|
26
|
+
headers[name.toLowerCase()] = value.trim().replace(/\s+/g, ' ');
|
|
27
|
+
headers['x-amz-date'] = stamp;
|
|
28
|
+
if (req.credentials.sessionToken !== undefined)
|
|
29
|
+
headers['x-amz-security-token'] = req.credentials.sessionToken;
|
|
30
|
+
const signed = { ...headers, host: url.host };
|
|
31
|
+
const names = Object.keys(signed).sort();
|
|
32
|
+
const canonicalHeaders = names.map(n => `${n}:${signed[n]}\n`).join('');
|
|
33
|
+
const signedHeaders = names.join(';');
|
|
34
|
+
const canonicalPath = url.pathname.split('/').map(uriEncode).join('/');
|
|
35
|
+
const canonicalQuery = [...url.searchParams.entries()]
|
|
36
|
+
.map(([k, v]) => [uriEncode(k), uriEncode(v)])
|
|
37
|
+
.sort((a, b) => (a[0] === b[0] ? (a[1] < b[1] ? -1 : a[1] > b[1] ? 1 : 0) : (a[0] < b[0] ? -1 : 1)))
|
|
38
|
+
.map(([k, v]) => `${k}=${v}`)
|
|
39
|
+
.join('&');
|
|
40
|
+
const canonicalRequest = [
|
|
41
|
+
req.method.toUpperCase(), canonicalPath, canonicalQuery, canonicalHeaders, signedHeaders, sha256Hex(req.body),
|
|
42
|
+
].join('\n');
|
|
43
|
+
const scope = `${day}/${req.region}/${req.service}/aws4_request`;
|
|
44
|
+
const stringToSign = ['AWS4-HMAC-SHA256', stamp, scope, sha256Hex(canonicalRequest)].join('\n');
|
|
45
|
+
const kDate = hmac(`AWS4${req.credentials.secretAccessKey}`, day);
|
|
46
|
+
const kRegion = hmac(kDate, req.region);
|
|
47
|
+
const kService = hmac(kRegion, req.service);
|
|
48
|
+
const kSigning = hmac(kService, 'aws4_request');
|
|
49
|
+
const signature = createHmac('sha256', kSigning).update(stringToSign).digest('hex');
|
|
50
|
+
return {
|
|
51
|
+
...headers,
|
|
52
|
+
authorization: `AWS4-HMAC-SHA256 Credential=${req.credentials.accessKeyId}/${scope}, SignedHeaders=${signedHeaders}, Signature=${signature}`,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=sigv4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sigv4.js","sourceRoot":"","sources":["../../../src/infra/email/sigv4.ts"],"names":[],"mappings":"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"}
|