pipework 0.7.20 → 0.7.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/REFERENCE.md +66 -2
  3. package/dist/REFERENCE.md +66 -2
  4. package/dist/cli/commands/check.js +10 -10
  5. package/dist/cli/commands/check.js.map +1 -1
  6. package/dist/cli/commands/test.d.ts.map +1 -1
  7. package/dist/cli/commands/test.js +2 -1
  8. package/dist/cli/commands/test.js.map +1 -1
  9. package/dist/core/config/discover.d.ts +1 -0
  10. package/dist/core/config/discover.d.ts.map +1 -1
  11. package/dist/core/config/discover.js +1 -1
  12. package/dist/core/config/discover.js.map +1 -1
  13. package/dist/data/db/advisory-lock.d.ts +6 -1
  14. package/dist/data/db/advisory-lock.d.ts.map +1 -1
  15. package/dist/data/db/advisory-lock.js +20 -7
  16. package/dist/data/db/advisory-lock.js.map +1 -1
  17. package/dist/data/db/bulk-set.d.ts.map +1 -1
  18. package/dist/data/db/bulk-set.js +12 -20
  19. package/dist/data/db/bulk-set.js.map +1 -1
  20. package/dist/data/db/composed.d.ts +23 -0
  21. package/dist/data/db/composed.d.ts.map +1 -0
  22. package/dist/data/db/composed.js +42 -0
  23. package/dist/data/db/composed.js.map +1 -0
  24. package/dist/data/db/expressions.d.ts +32 -0
  25. package/dist/data/db/expressions.d.ts.map +1 -1
  26. package/dist/data/db/expressions.js +67 -0
  27. package/dist/data/db/expressions.js.map +1 -1
  28. package/dist/data/db/filter.d.ts +22 -1
  29. package/dist/data/db/filter.d.ts.map +1 -1
  30. package/dist/data/db/filter.js +22 -1
  31. package/dist/data/db/filter.js.map +1 -1
  32. package/dist/data/db/namespace.d.ts +26 -0
  33. package/dist/data/db/namespace.d.ts.map +1 -1
  34. package/dist/data/db/namespace.js +6 -0
  35. package/dist/data/db/namespace.js.map +1 -1
  36. package/dist/data/db/serializable.d.ts +8 -0
  37. package/dist/data/db/serializable.d.ts.map +1 -0
  38. package/dist/data/db/serializable.js +44 -0
  39. package/dist/data/db/serializable.js.map +1 -0
  40. package/dist/data/db/values.d.ts +10 -0
  41. package/dist/data/db/values.d.ts.map +1 -0
  42. package/dist/data/db/values.js +20 -0
  43. package/dist/data/db/values.js.map +1 -0
  44. package/dist/data/jsonb/composed.d.ts +8 -0
  45. package/dist/data/jsonb/composed.d.ts.map +1 -0
  46. package/dist/data/jsonb/composed.js +15 -0
  47. package/dist/data/jsonb/composed.js.map +1 -0
  48. package/dist/data/jsonb/namespace.d.ts +12 -1
  49. package/dist/data/jsonb/namespace.d.ts.map +1 -1
  50. package/dist/data/jsonb/namespace.js +12 -1
  51. package/dist/data/jsonb/namespace.js.map +1 -1
  52. package/dist/data/jsonb/query.d.ts +4 -0
  53. package/dist/data/jsonb/query.d.ts.map +1 -1
  54. package/dist/data/jsonb/query.js +21 -0
  55. package/dist/data/jsonb/query.js.map +1 -1
  56. package/dist/data/temporal/close.d.ts.map +1 -1
  57. package/dist/data/temporal/close.js +3 -2
  58. package/dist/data/temporal/close.js.map +1 -1
  59. package/dist/data/temporal/get-current.d.ts.map +1 -1
  60. package/dist/data/temporal/get-current.js +2 -1
  61. package/dist/data/temporal/get-current.js.map +1 -1
  62. package/dist/data/temporal/revise.d.ts.map +1 -1
  63. package/dist/data/temporal/revise.js +8 -11
  64. package/dist/data/temporal/revise.js.map +1 -1
  65. package/dist/index.d.ts +3 -0
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js.map +1 -1
  68. package/dist/test/vitest-workspace.d.ts.map +1 -1
  69. package/dist/test/vitest-workspace.js +2 -1
  70. package/dist/test/vitest-workspace.js.map +1 -1
  71. package/dist/workspace/generate.d.ts +1 -1
  72. package/dist/workspace/generate.d.ts.map +1 -1
  73. package/dist/workspace/generate.js +12 -6
  74. package/dist/workspace/generate.js.map +1 -1
  75. package/dist/workspace/index.d.ts +1 -1
  76. package/dist/workspace/index.d.ts.map +1 -1
  77. package/dist/workspace/index.js +1 -1
  78. package/dist/workspace/index.js.map +1 -1
  79. package/package.json +24 -16
package/CHANGELOG.md CHANGED
@@ -1,5 +1,31 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.7.22
4
+
5
+ - **`pipe.filter.cast()`** — PostgreSQL type cast: `cast(expr, 'uuid')` produces `(expr)::uuid`. Generic return type follows the target type (#247).
6
+ - **`pipe.filter.interval()`** — interval literal: `interval(5, 'minutes')` produces `interval '5 minutes'` (#247).
7
+ - **`pipe.filter.dateTrunc()`** — truncates a timestamp to the given precision: `dateTrunc('day', col)` produces `date_trunc('day', col)` (#247).
8
+ - **`pipe.filter.add()` / `subtract()`** — binary arithmetic for two SQL expressions. For column ± literal, use `increment`/`decrement` (#247).
9
+ - **`pipe.filter.rowNumber()` / `rank()` / `denseRank()`** — window functions. Use with `pipe.filter.over(fn, { partitionBy, orderBy })` to apply a window specification (#247).
10
+ - **`pipe.filter.over()`** — applies `PARTITION BY` / `ORDER BY` to any window function or aggregate (#247).
11
+ - **`pipe.filter.identifier()`** — quoted PostgreSQL identifier. Promotes the internal `sql.identifier()` to a composable primitive (#247).
12
+ - **`pipe.filter.withRecursive()`** — recursive CTE: `withRecursive(alias, seed, step, finalQuery?)` produces `WITH RECURSIVE alias AS (seed UNION ALL step) finalQuery` (#248).
13
+ - **`pipe.filter.ago()`** — composed helper: `ago(5, 'minutes')` produces `now() - interval '5 minutes'` (#247).
14
+ - **`pipe.filter.castUuid()` / `castJsonb()` / `castTimestamp()` / `castBoolean()` / `castNumeric()` / `castInteger()` / `castText()`** — shorthand cast helpers (#247).
15
+ - **`pipe.filter.nextSequence()`** — composed helper: `nextSequence(db, col, where?)` produces `COALESCE((SELECT MAX(col) FROM table WHERE ...), 0) + 1`. Zero raw SQL — composes from `scalar`, `coalesce`, `max`, `increment` (#252).
16
+ - **`pipe.serializable()`** — runs a function in a `SERIALIZABLE` transaction with automatic retry on serialization failures (`40001`) and deadlocks (`40P01`). Configurable `maxAttempts` and `backoffMs` with exponential jitter (#250).
17
+ - **`pipe.values()`** — typed `VALUES` clause for bulk operations. Base primitive for `bulkSet` and composable in raw SQL (#247).
18
+ - **`pipe.advisoryLock()` — numeric namespace overload** — `advisoryLock(db, 1001, 'key')` uses a literal integer namespace instead of hashing. Existing string-key signatures unchanged (#247).
19
+ - **`jsonb.path()` / `pathText()`** — nested JSONB extraction: `path(col, 'a', 'b')` produces `col->'a'->'b'`; `pathText` uses `->>` on the final key (#247).
20
+ - **`jsonb.boolean()` / `number()` / `integer()`** — typed JSONB field extraction with automatic cast (#247).
21
+ - **Type exports** — `WindowSpec`, `ValueColumnDef`, `SerializableOptions` exported from `pipework` (#247).
22
+
23
+ ## 0.7.21
24
+
25
+ - **Fix: vitest workspace TS resolution** — `resolveVitestWorkspace()` now registers `.js` → `.ts` resolve hooks before importing `pipework.config.ts`, matching what `discoverInstance()` already does (#225).
26
+ - **Fix: `pipework test` sets `PIPEWORK_ENV=test`** — the test command now sets `PIPEWORK_ENV=test` in both its own process and the spawned vitest process, ensuring `resolveDbUrl()` picks the test database URL (#227).
27
+ - **Fix: vitest 4 config format** — `pipework sync` now generates `vitest.config.ts` with `test.projects` instead of the removed `vitest.workspace.ts` file (#228).
28
+
3
29
  ## 0.7.20
4
30
 
5
31
  - **Fix: migration semicolons** — `pipework generate` now emits semicolons between DDL statements. Previously, multi-table migrations produced a single concatenated statement that failed on execution (#217).
package/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-05-11
4
+ > Generated: 2026-05-13
5
5
 
6
6
  ## Contents
7
7
 
@@ -460,6 +460,22 @@ Runs migrations for a single named database.
460
460
 
461
461
  Returns excluded-column references for onConflictDoUpdate set clauses.
462
462
 
463
+ ### `pipe.advisoryLock`
464
+
465
+ Acquires a transaction-scoped advisory lock. Released at commit/rollback.
466
+
467
+ ### `pipe.serializable`
468
+
469
+ Runs a function in a SERIALIZABLE transaction with automatic retry on serialization failures and deadlocks.
470
+
471
+ ### `pipe.bulkSet`
472
+
473
+ Bulk UPDATE ... FROM (VALUES ...) — updates multiple rows with per-row values in a single statement.
474
+
475
+ ### `pipe.values`
476
+
477
+ Produces a typed VALUES clause for bulk operations — the base primitive for bulkSet and bulkUpsert.
478
+
463
479
  ### `pipe.field`
464
480
 
465
481
  Field builders for domain definitions — uuid(), text(), integer(), etc.
@@ -472,9 +488,29 @@ Registers a domain definition with table, validators, and factory projections.
472
488
 
473
489
  Returns the global registry of all domain definitions.
474
490
 
491
+ ### Types
492
+
493
+ **`WindowSpec`**
494
+
495
+ ```typescript
496
+ interface WindowSpec
497
+ ```
498
+
499
+ **`ValueColumnDef`**
500
+
501
+ ```typescript
502
+ interface ValueColumnDef
503
+ ```
504
+
505
+ **`SerializableOptions`**
506
+
507
+ ```typescript
508
+ interface SerializableOptions
509
+ ```
510
+
475
511
  ## jsonb — JSONB Column Helpers
476
512
 
477
- JSONB query operators — typed helpers for PostgreSQL JSONB containment and key checks.
513
+ JSONB query operators — typed helpers for PostgreSQL JSONB containment, key checks, and field extraction.
478
514
 
479
515
  ### `jsonb.contains`
480
516
 
@@ -488,6 +524,34 @@ The <@ contained-by operator — tests whether a JSONB column is contained by th
488
524
 
489
525
  The ? key-existence operator — tests whether a JSONB column has the given top-level key.
490
526
 
527
+ ### `jsonb.text`
528
+
529
+ Extracts a text value: `column->>'key'`. Composable with pipe.filter operators.
530
+
531
+ ### `jsonb.json`
532
+
533
+ Extracts a JSONB value: `column->'key'`. Returns JSONB — use with jsonb.contains() etc.
534
+
535
+ ### `jsonb.path`
536
+
537
+ Extracts a nested JSONB value: `column->'a'->'b'`. Returns JSONB.
538
+
539
+ ### `jsonb.pathText`
540
+
541
+ Extracts a nested text value: `column->'a'->>'b'`. Intermediate keys use `->`, final uses `->>`.
542
+
543
+ ### `jsonb.boolean`
544
+
545
+ Extracts a boolean: `(column->>'key')::boolean`. Supports nested paths.
546
+
547
+ ### `jsonb.number`
548
+
549
+ Extracts a number: `(column->>'key')::numeric`. Supports nested paths.
550
+
551
+ ### `jsonb.integer`
552
+
553
+ Extracts an integer: `(column->>'key')::integer`. Supports nested paths.
554
+
491
555
  ## schema — Validation & Schema
492
556
 
493
557
  Schema definition and validation namespace — wraps zod for validation, drizzle for table/column/index definitions.
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-05-11
4
+ > Generated: 2026-05-13
5
5
 
6
6
  ## Contents
7
7
 
@@ -460,6 +460,22 @@ Runs migrations for a single named database.
460
460
 
461
461
  Returns excluded-column references for onConflictDoUpdate set clauses.
462
462
 
463
+ ### `pipe.advisoryLock`
464
+
465
+ Acquires a transaction-scoped advisory lock. Released at commit/rollback.
466
+
467
+ ### `pipe.serializable`
468
+
469
+ Runs a function in a SERIALIZABLE transaction with automatic retry on serialization failures and deadlocks.
470
+
471
+ ### `pipe.bulkSet`
472
+
473
+ Bulk UPDATE ... FROM (VALUES ...) — updates multiple rows with per-row values in a single statement.
474
+
475
+ ### `pipe.values`
476
+
477
+ Produces a typed VALUES clause for bulk operations — the base primitive for bulkSet and bulkUpsert.
478
+
463
479
  ### `pipe.field`
464
480
 
465
481
  Field builders for domain definitions — uuid(), text(), integer(), etc.
@@ -472,9 +488,29 @@ Registers a domain definition with table, validators, and factory projections.
472
488
 
473
489
  Returns the global registry of all domain definitions.
474
490
 
491
+ ### Types
492
+
493
+ **`WindowSpec`**
494
+
495
+ ```typescript
496
+ interface WindowSpec
497
+ ```
498
+
499
+ **`ValueColumnDef`**
500
+
501
+ ```typescript
502
+ interface ValueColumnDef
503
+ ```
504
+
505
+ **`SerializableOptions`**
506
+
507
+ ```typescript
508
+ interface SerializableOptions
509
+ ```
510
+
475
511
  ## jsonb — JSONB Column Helpers
476
512
 
477
- JSONB query operators — typed helpers for PostgreSQL JSONB containment and key checks.
513
+ JSONB query operators — typed helpers for PostgreSQL JSONB containment, key checks, and field extraction.
478
514
 
479
515
  ### `jsonb.contains`
480
516
 
@@ -488,6 +524,34 @@ The <@ contained-by operator — tests whether a JSONB column is contained by th
488
524
 
489
525
  The ? key-existence operator — tests whether a JSONB column has the given top-level key.
490
526
 
527
+ ### `jsonb.text`
528
+
529
+ Extracts a text value: `column->>'key'`. Composable with pipe.filter operators.
530
+
531
+ ### `jsonb.json`
532
+
533
+ Extracts a JSONB value: `column->'key'`. Returns JSONB — use with jsonb.contains() etc.
534
+
535
+ ### `jsonb.path`
536
+
537
+ Extracts a nested JSONB value: `column->'a'->'b'`. Returns JSONB.
538
+
539
+ ### `jsonb.pathText`
540
+
541
+ Extracts a nested text value: `column->'a'->>'b'`. Intermediate keys use `->`, final uses `->>`.
542
+
543
+ ### `jsonb.boolean`
544
+
545
+ Extracts a boolean: `(column->>'key')::boolean`. Supports nested paths.
546
+
547
+ ### `jsonb.number`
548
+
549
+ Extracts a number: `(column->>'key')::numeric`. Supports nested paths.
550
+
551
+ ### `jsonb.integer`
552
+
553
+ Extracts an integer: `(column->>'key')::integer`. Supports nested paths.
554
+
491
555
  ## schema — Validation & Schema
492
556
 
493
557
  Schema definition and validation namespace — wraps zod for validation, drizzle for table/column/index definitions.
@@ -3,7 +3,7 @@ import { readFileSync, existsSync, readdirSync } from 'node:fs';
3
3
  import { join, dirname } from 'node:path';
4
4
  import { fileURLToPath } from 'node:url';
5
5
  import { computeChecksum, checksumFromPackageJson } from '../../workspace/checksum.js';
6
- import { VITEST_WORKSPACE_CONTENT } from '../../workspace/generate.js';
6
+ import { VITEST_CONFIG_CONTENT } from '../../workspace/generate.js';
7
7
  import { validateDoctrine, findSourceFiles } from '../../core/validation/doctrine.js';
8
8
  import { info, success, error as logError, warn } from '../output.js';
9
9
  import { resolveAffected } from '../../workspace/affected.js';
@@ -15,7 +15,7 @@ export async function check(cwd, scope) {
15
15
  if (!checksumOk) {
16
16
  failed = true;
17
17
  }
18
- const vitestOk = verifyVitestWorkspace(cwd);
18
+ const vitestOk = verifyVitestConfig(cwd);
19
19
  if (!vitestOk) {
20
20
  failed = true;
21
21
  }
@@ -108,16 +108,16 @@ function verifyChecksums(cwd) {
108
108
  success('Workspace checksums');
109
109
  return true;
110
110
  }
111
- function verifyVitestWorkspace(cwd) {
112
- const workspacePath = join(cwd, 'vitest.workspace.ts');
113
- if (!existsSync(workspacePath)) {
111
+ function verifyVitestConfig(cwd) {
112
+ const configPath = join(cwd, 'vitest.config.ts');
113
+ if (!existsSync(configPath)) {
114
114
  return true;
115
115
  }
116
- info('Vitest workspace');
116
+ info('Vitest config');
117
117
  let ok = true;
118
- const content = readFileSync(workspacePath, 'utf-8');
119
- if (content !== VITEST_WORKSPACE_CONTENT) {
120
- logError('vitest.workspace.ts is stale. Run `pipework install` to regenerate.');
118
+ const content = readFileSync(configPath, 'utf-8');
119
+ if (content !== VITEST_CONFIG_CONTENT) {
120
+ logError('vitest.config.ts is stale. Run `pipework install` to regenerate.');
121
121
  ok = false;
122
122
  }
123
123
  const staleConfigs = findStaleVitestConfigs(cwd);
@@ -129,7 +129,7 @@ function verifyVitestWorkspace(cwd) {
129
129
  ok = false;
130
130
  }
131
131
  if (ok) {
132
- success('Vitest workspace');
132
+ success('Vitest config');
133
133
  }
134
134
  return ok;
135
135
  }
@@ -1 +1 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/cli/commands/check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/cli/commands/check.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/test.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAK5D,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACvB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC3B;AAED,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAsC9D"}
1
+ {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/test.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAK5D,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACvB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC3B;AAED,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAuC9D"}
@@ -7,6 +7,7 @@ import { resolveModules } from '../../workspace/discover.js';
7
7
  export async function test(options) {
8
8
  const { discoverInstance } = await import('../../core/config/discover.js');
9
9
  const { setupTestDatabases, teardownTestDatabases } = await import('../../test/setup.js');
10
+ process.env['PIPEWORK_ENV'] = 'test';
10
11
  const instance = await discoverInstance(options.cwd);
11
12
  info('Setting up test databases...');
12
13
  await setupTestDatabases(instance);
@@ -17,7 +18,7 @@ export async function test(options) {
17
18
  const result = spawnSync('npx', args, {
18
19
  cwd: options.cwd,
19
20
  stdio: 'inherit',
20
- env: { ...process.env },
21
+ env: { ...process.env, PIPEWORK_ENV: 'test' },
21
22
  });
22
23
  if (result.error !== undefined) {
23
24
  throw new Error(`Failed to spawn vitest: ${result.error.message}\n\n` +
@@ -1 +1 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../../../src/cli/commands/test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../../src/cli/commands/test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAElD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAU5D,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,OAAoB;IAC7C,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAA;IAC1E,MAAM,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAA;IAEzF,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,MAAM,CAAA;IACpC,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAEpD,IAAI,CAAC,8BAA8B,CAAC,CAAA;IACpC,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAA;IAElC,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QACvD,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,WAAW,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;QACrE,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAA;QAExC,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE;YACpC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE;SAC9C,CAAC,CAAA;QAEF,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,2BAA2B,MAAM,CAAC,KAAK,CAAC,OAAO,MAAM;gBACrD,oDAAoD;gBACpD,cAAc,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAC7C,CAAA;QACH,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAA;QACvC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,kBAAkB,CAAC,CAAA;QAC7B,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,gCAAgC,CAAC,CAAA;QACtC,MAAM,qBAAqB,EAAE,CAAA;QAC7B,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAA;IAChC,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,OAAoB,EACpB,QAAmD;IAEnD,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAA;IACrC,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,CAAA;IAE7C,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC1C,IAAI,UAAU,KAAK,IAAI;QAAE,OAAO,EAAE,CAAA;IAElC,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACrC,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IAC7D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAEpC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,IAAI,EAAE,KAAK,EAAe,CAAA;IAC3D,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,CAAA;IAEvF,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAC9D,MAAM,YAAY,GAAa,EAAE,CAAA;IAEjC,KAAK,MAAM,UAAU,IAAI,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACzD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,YAAY,CAAC,IAAI,CAAC,GAAG,UAAU,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;QACrD,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAC7B,MAAM,kBAAkB,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,CAAA;YACjE,IAAI,kBAAkB,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC/C,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;oBAC1E,MAAM,QAAQ,GAAG,GAAG,UAAU,IAAI,WAAW,EAAE,CAAA;oBAC/C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAClC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;oBAC7B,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACzH,CAAC;IAED,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;IAC9B,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,qBAAqB,CAC5B,YAAoF;IAEpF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAA;IAChC,IAAI,YAAY,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,MAAM,CAAA;IAErD,KAAK,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9E,IAAI,YAAY,CAAC,QAAQ,KAAK,SAAS;YAAE,SAAQ;QACjD,KAAK,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjF,IAAI,aAAa,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;gBAClC,MAAM,CAAC,GAAG,CAAC,GAAG,UAAU,IAAI,WAAW,EAAE,CAAC,CAAA;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { Manifold } from '../pipework.js';
2
+ export declare function registerTsResolveHooks(): void;
2
3
  export declare function discoverInstance(cwd?: string): Promise<Manifold>;
3
4
  export declare function findConfig(from: string): string | null;
4
5
  //# sourceMappingURL=discover.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../../src/core/config/discover.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAmB9C,wBAAsB,gBAAgB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CA6BtE;AAMD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAYtD"}
1
+ {"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../../src/core/config/discover.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAK9C,wBAAgB,sBAAsB,IAAI,IAAI,CAY7C;AAED,wBAAsB,gBAAgB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CA6BtE;AAMD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAYtD"}
@@ -4,7 +4,7 @@ import { pathToFileURL } from 'node:url';
4
4
  import { register } from 'node:module';
5
5
  import { ConfigError } from './resolve.js';
6
6
  const CONFIG_FILENAME = 'pipework.config.ts';
7
- function registerTsResolveHooks() {
7
+ export function registerTsResolveHooks() {
8
8
  const code = `
9
9
  export function resolve(specifier, context, nextResolve) {
10
10
  const parent = context.parentURL || '';
@@ -1 +1 @@
1
- {"version":3,"file":"discover.js","sourceRoot":"","sources":["../../../src/core/config/discover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1C,MAAM,eAAe,GAAG,oBAAoB,CAAA;AAE5C,SAAS,sBAAsB;IAC7B,MAAM,IAAI,GAAG;;;;;;;;;GASZ,CAAA;IACD,QAAQ,CAAC,wBAAwB,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAC9D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAY;IACjD,MAAM,KAAK,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;IAClC,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IAEpC,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,MAAM,IAAI,WAAW,CACnB,MAAM,eAAe,aAAa,KAAK,2BAA2B,EAClE,sEAAsE,CACvE,CAAA;IACH,CAAC;IAED,sBAAsB,EAAE,CAAA;IAExB,MAAM,SAAS,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,CAAA;IAChD,MAAM,GAAG,GAA4B,MAAM,MAAM,CAAC,SAAS,CAAC,CAAA;IAC5D,MAAM,QAAQ,GAAY,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,CAAA;IAE/C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,WAAW,CACnB,GAAG,eAAe,yDAAyD,EAC3E,mCAAmC;YACnC,iDAAiD;YACjD,qCAAqC;YACrC,oDAAoD;YACpD,QAAQ,CACT,CAAA;IACH,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,UAAU,CAAC,CAAU;IAC5B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,MAAM,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,CAAA;AAC5E,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,IAAI,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvB,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACzB,OAAO,GAAG,KAAK,MAAM,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,CAAA;QAC/C,IAAI,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAA;QAC3C,GAAG,GAAG,MAAM,CAAA;QACZ,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACvB,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,CAAA;IAC1C,IAAI,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IACjC,OAAO,IAAI,CAAA;AACb,CAAC"}
1
+ {"version":3,"file":"discover.js","sourceRoot":"","sources":["../../../src/core/config/discover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1C,MAAM,eAAe,GAAG,oBAAoB,CAAA;AAE5C,MAAM,UAAU,sBAAsB;IACpC,MAAM,IAAI,GAAG;;;;;;;;;GASZ,CAAA;IACD,QAAQ,CAAC,wBAAwB,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAC9D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAY;IACjD,MAAM,KAAK,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;IAClC,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IAEpC,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,MAAM,IAAI,WAAW,CACnB,MAAM,eAAe,aAAa,KAAK,2BAA2B,EAClE,sEAAsE,CACvE,CAAA;IACH,CAAC;IAED,sBAAsB,EAAE,CAAA;IAExB,MAAM,SAAS,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,CAAA;IAChD,MAAM,GAAG,GAA4B,MAAM,MAAM,CAAC,SAAS,CAAC,CAAA;IAC5D,MAAM,QAAQ,GAAY,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,CAAA;IAE/C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,WAAW,CACnB,GAAG,eAAe,yDAAyD,EAC3E,mCAAmC;YACnC,iDAAiD;YACjD,qCAAqC;YACrC,oDAAoD;YACpD,QAAQ,CACT,CAAA;IACH,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,UAAU,CAAC,CAAU;IAC5B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,MAAM,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,CAAA;AAC5E,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,IAAI,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvB,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACzB,OAAO,GAAG,KAAK,MAAM,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,CAAA;QAC/C,IAAI,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAA;QAC3C,GAAG,GAAG,MAAM,CAAA;QACZ,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACvB,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,CAAA;IAC1C,IAAI,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IACjC,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -1,4 +1,9 @@
1
1
  import type { DB } from './types.js';
2
- /** Acquires a transaction-scoped advisory lock. Released automatically at commit/rollback. Multiple string keys are hashed independently into the two int4 arguments of pg_advisory_xact_lock. */
2
+ /** Acquires a transaction-scoped advisory lock. Released automatically at commit/rollback.
3
+ *
4
+ * String keys: hashed independently into the int4 arguments of pg_advisory_xact_lock.
5
+ * Numeric namespace: `advisoryLock(db, 1001, 'key')` → `pg_advisory_xact_lock(1001, hashtext('key'))`.
6
+ */
7
+ export declare function advisoryLock(db: DB, namespace: number, key: string): Promise<void>;
3
8
  export declare function advisoryLock(db: DB, ...keys: string[]): Promise<void>;
4
9
  //# sourceMappingURL=advisory-lock.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"advisory-lock.d.ts","sourceRoot":"","sources":["../../../src/data/db/advisory-lock.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,YAAY,CAAA;AAEpC,kMAAkM;AAClM,wBAAsB,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAO3E"}
1
+ {"version":3,"file":"advisory-lock.d.ts","sourceRoot":"","sources":["../../../src/data/db/advisory-lock.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,YAAY,CAAA;AAEpC;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AACzF,wBAAsB,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA"}
@@ -1,13 +1,26 @@
1
1
  import { sql } from './sql.js';
2
- /** Acquires a transaction-scoped advisory lock. Released automatically at commit/rollback. Multiple string keys are hashed independently into the two int4 arguments of pg_advisory_xact_lock. */
3
- export async function advisoryLock(db, ...keys) {
4
- if (keys.length === 0)
5
- throw new Error('advisoryLock requires at least one key');
6
- if (keys.length === 1) {
7
- await db.execute(sql `SELECT pg_advisory_xact_lock(hashtext(${keys[0]}))`);
2
+ export async function advisoryLock(db, first, ...rest) {
3
+ if (typeof first === 'number') {
4
+ const key = rest[0];
5
+ if (key === undefined) {
6
+ throw new Error('[pipework] advisoryLock(db, namespace, key) requires a key string.\n\n' +
7
+ ' advisoryLock(db, 1001, \'my-entity\') — numeric namespace + string key\n' +
8
+ ' advisoryLock(db, \'key1\', \'key2\') — two hashed string keys\n');
9
+ }
10
+ await db.execute(sql `SELECT pg_advisory_xact_lock(${first}, hashtext(${key}))`);
11
+ return;
12
+ }
13
+ if (first === undefined) {
14
+ throw new Error('[pipework] advisoryLock requires at least one key.\n\n' +
15
+ ' advisoryLock(db, \'my-lock\') — single hashed key\n' +
16
+ ' advisoryLock(db, \'key1\', \'key2\') — two hashed keys\n' +
17
+ ' advisoryLock(db, 1001, \'my-entity\') — numeric namespace + hashed key\n');
18
+ }
19
+ if (rest.length === 0) {
20
+ await db.execute(sql `SELECT pg_advisory_xact_lock(hashtext(${first}))`);
8
21
  }
9
22
  else {
10
- await db.execute(sql `SELECT pg_advisory_xact_lock(hashtext(${keys[0]}), hashtext(${keys[1]}))`);
23
+ await db.execute(sql `SELECT pg_advisory_xact_lock(hashtext(${first}), hashtext(${rest[0]}))`);
11
24
  }
12
25
  }
13
26
  //# sourceMappingURL=advisory-lock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"advisory-lock.js","sourceRoot":"","sources":["../../../src/data/db/advisory-lock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAG9B,kMAAkM;AAClM,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,EAAM,EAAE,GAAG,IAAc;IAC1D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;IAChF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA,yCAAyC,IAAI,CAAC,CAAC,CAAE,IAAI,CAAC,CAAA;IAC5E,CAAC;SAAM,CAAC;QACN,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA,yCAAyC,IAAI,CAAC,CAAC,CAAE,eAAe,IAAI,CAAC,CAAC,CAAE,IAAI,CAAC,CAAA;IACnG,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"advisory-lock.js","sourceRoot":"","sources":["../../../src/data/db/advisory-lock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAU9B,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,EAAM,EAAE,KAAuB,EAAE,GAAG,IAAc;IACnF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,wEAAwE;gBACxE,6EAA6E;gBAC7E,wEAAwE,CACzE,CAAA;QACH,CAAC;QACD,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA,gCAAgC,KAAK,cAAc,GAAG,IAAI,CAAC,CAAA;QAC/E,OAAM;IACR,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,wDAAwD;YACxD,mEAAmE;YACnE,mEAAmE;YACnE,+EAA+E,CAChF,CAAA;IACH,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA,yCAAyC,KAAK,IAAI,CAAC,CAAA;IACzE,CAAC;SAAM,CAAC;QACN,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA,yCAAyC,KAAK,eAAe,IAAI,CAAC,CAAC,CAAE,IAAI,CAAC,CAAA;IAChG,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"bulk-set.d.ts","sourceRoot":"","sources":["../../../src/data/db/bulk-set.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,KAAK,EAAO,MAAM,YAAY,CAAA;AAGhD,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,UAAU,cAAc,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC3D,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,GAAG,MAAM,CAAA;IACnC,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAA;IAChD,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;CAClE;AAED,4FAA4F;AAC5F,wBAAsB,OAAO,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChE,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,SAAS,IAAI,EAAE,EACrB,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CAmCf"}
1
+ {"version":3,"file":"bulk-set.d.ts","sourceRoot":"","sources":["../../../src/data/db/bulk-set.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAO3C,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,UAAU,cAAc,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC3D,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,GAAG,MAAM,CAAA;IACnC,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAA;IAChD,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;CAClE;AAED,4FAA4F;AAC5F,wBAAsB,OAAO,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChE,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,SAAS,IAAI,EAAE,EACrB,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CA0Bf"}
@@ -1,5 +1,7 @@
1
- import { sql } from './sql.js';
2
1
  import { getTableName, getTableColumns } from './generated/drizzle-orm/introspection.js';
2
+ import { values } from './values.js';
3
+ import { identifier } from './expressions.js';
4
+ import { sql } from './sql.js';
3
5
  /** Executes UPDATE ... FROM (VALUES ...) for bulk per-row updates in a single statement. */
4
6
  export async function bulkSet(db, table, rows, options) {
5
7
  if (rows.length === 0)
@@ -7,28 +9,18 @@ export async function bulkSet(db, table, rows, options) {
7
9
  const tableName = getTableName(table);
8
10
  const columns = getTableColumns(table);
9
11
  const allKeys = [options.match, ...options.set];
10
- const valueRows = rows.map(row => {
11
- const cols = allKeys.map(key => {
12
- const cast = options.types[key];
13
- const val = row[key];
14
- if (cast === 'jsonb') {
15
- return sql `${JSON.stringify(val)}::jsonb`;
16
- }
17
- return sql `${val}::${sql.raw(cast)}`;
18
- });
19
- return sql `(${sql.join(cols, sql `, `)})`;
20
- });
21
- const valuesClause = sql.join(valueRows, sql `, `);
22
- const colNames = allKeys.map(k => {
23
- const col = columns[k];
24
- return col ? col.name : k;
25
- });
26
- const valsDef = colNames.join(', ');
12
+ const columnDefs = allKeys.map(key => ({
13
+ name: columns[key]?.name ?? key,
14
+ type: options.types[key],
15
+ }));
16
+ const rowArrays = rows.map(row => allKeys.map(key => row[key]));
17
+ const valuesClause = values(rowArrays, columnDefs);
18
+ const colNames = columnDefs.map(c => c.name);
27
19
  const matchCol = columns[options.match]?.name ?? options.match;
28
20
  const setClauses = options.set.map(key => {
29
21
  const colName = columns[key]?.name ?? key;
30
- return sql `${sql.raw('"' + colName + '"')} = ${sql.raw('_vals.' + '"' + colName + '"')}`;
22
+ return sql `${identifier(colName)} = ${sql.raw('_vals.' + '"' + colName + '"')}`;
31
23
  });
32
- await db.execute(sql `UPDATE ${sql.raw('"' + tableName + '"')} SET ${sql.join(setClauses, sql `, `)} FROM (VALUES ${valuesClause}) AS _vals(${sql.raw(valsDef)}) WHERE ${sql.raw('"' + tableName + '"')}.${sql.raw('"' + matchCol + '"')} = ${sql.raw('_vals.' + '"' + matchCol + '"')}`);
24
+ await db.execute(sql `UPDATE ${identifier(tableName)} SET ${sql.join(setClauses, sql `, `)} FROM ${valuesClause} AS _vals(${sql.raw(colNames.join(', '))}) WHERE ${identifier(tableName)}.${identifier(matchCol)} = ${sql.raw('_vals.' + '"' + matchCol + '"')}`);
33
25
  }
34
26
  //# sourceMappingURL=bulk-set.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bulk-set.js","sourceRoot":"","sources":["../../../src/data/db/bulk-set.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bulk-set.js","sourceRoot":"","sources":["../../../src/data/db/bulk-set.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAA;AACxF,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAU9B,4FAA4F;AAC5F,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,EAAM,EACN,KAAY,EACZ,IAAqB,EACrB,OAA6B;IAE7B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAM;IAE7B,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IACrC,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;IACtC,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,GAAG,CAAa,CAAA;IAE3D,MAAM,UAAU,GAAqB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvD,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,GAAG;QAC/B,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAA0B,CAAe;KAC9D,CAAC,CAAC,CAAA;IAEH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAiB,CAAC,CAAC,CAAC,CAAA;IAC7E,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;IAElD,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,IAAI,OAAO,CAAC,KAAK,CAAA;IAE9D,MAAM,UAAU,GAAI,OAAO,CAAC,GAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACrD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,GAAG,CAAA;QACzC,OAAO,GAAG,CAAA,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,GAAG,OAAO,GAAG,GAAG,CAAC,EAAE,CAAA;IACjF,CAAC,CAAC,CAAA;IAEF,MAAM,EAAE,CAAC,OAAO,CACd,GAAG,CAAA,UAAU,UAAU,CAAC,SAAS,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAA,IAAI,CAAC,SAAS,YAAY,aAAa,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,UAAU,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,GAAG,QAAQ,GAAG,GAAG,CAAC,EAAE,CAC9O,CAAA;AACH,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { SQL, Column, DB } from './types.js';
2
+ import type { SQLWrapper } from '../query/sql/sql.js';
3
+ type IntervalUnit = 'microseconds' | 'milliseconds' | 'seconds' | 'minutes' | 'hours' | 'days' | 'weeks' | 'months' | 'years';
4
+ /** `now() - interval '5 minutes'`. Composes `now`, `subtract`, and `interval`. */
5
+ export declare function ago(amount: number, unit: IntervalUnit): SQL<Date>;
6
+ /** Shorthand for `cast(expr, 'uuid')`. */
7
+ export declare function castUuid(expression: SQL | Column | SQLWrapper): SQL<string>;
8
+ /** Shorthand for `cast(expr, 'jsonb')`. */
9
+ export declare function castJsonb(expression: SQL | Column | SQLWrapper): SQL;
10
+ /** Shorthand for `cast(expr, 'timestamptz')`. */
11
+ export declare function castTimestamp(expression: SQL | Column | SQLWrapper): SQL<Date>;
12
+ /** Shorthand for `cast(expr, 'boolean')`. */
13
+ export declare function castBoolean(expression: SQL | Column | SQLWrapper): SQL<boolean>;
14
+ /** Shorthand for `cast(expr, 'numeric')`. */
15
+ export declare function castNumeric(expression: SQL | Column | SQLWrapper): SQL<number>;
16
+ /** Shorthand for `cast(expr, 'integer')`. */
17
+ export declare function castInteger(expression: SQL | Column | SQLWrapper): SQL<number>;
18
+ /** Shorthand for `cast(expr, 'text')`. */
19
+ export declare function castText(expression: SQL | Column | SQLWrapper): SQL<string>;
20
+ /** `COALESCE((SELECT MAX(column) FROM table WHERE condition), 0) + 1`. Composes scalar, coalesce, max, increment. */
21
+ export declare function nextSequence(db: DB, column: Column, where?: SQL): SQL<number>;
22
+ export {};
23
+ //# sourceMappingURL=composed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composed.d.ts","sourceRoot":"","sources":["../../../src/data/db/composed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,YAAY,CAAA;AAGjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAErD,KAAK,YAAY,GAAG,cAAc,GAAG,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;AAE7H,kFAAkF;AAClF,wBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,CAEjE;AAED,0CAA0C;AAC1C,wBAAgB,QAAQ,CAAC,UAAU,EAAE,GAAG,GAAG,MAAM,GAAG,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,CAE3E;AAED,2CAA2C;AAC3C,wBAAgB,SAAS,CAAC,UAAU,EAAE,GAAG,GAAG,MAAM,GAAG,UAAU,GAAG,GAAG,CAEpE;AAED,iDAAiD;AACjD,wBAAgB,aAAa,CAAC,UAAU,EAAE,GAAG,GAAG,MAAM,GAAG,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,CAE9E;AAED,6CAA6C;AAC7C,wBAAgB,WAAW,CAAC,UAAU,EAAE,GAAG,GAAG,MAAM,GAAG,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,CAE/E;AAED,6CAA6C;AAC7C,wBAAgB,WAAW,CAAC,UAAU,EAAE,GAAG,GAAG,MAAM,GAAG,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,CAE9E;AAED,6CAA6C;AAC7C,wBAAgB,WAAW,CAAC,UAAU,EAAE,GAAG,GAAG,MAAM,GAAG,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,CAE9E;AAED,0CAA0C;AAC1C,wBAAgB,QAAQ,CAAC,UAAU,EAAE,GAAG,GAAG,MAAM,GAAG,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,CAE3E;AAED,qHAAqH;AACrH,wBAAgB,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAK7E"}
@@ -0,0 +1,42 @@
1
+ import { now, subtract, interval, cast, scalar, coalesce, increment } from './expressions.js';
2
+ import { max } from './generated/drizzle-orm/aggregate.js';
3
+ /** `now() - interval '5 minutes'`. Composes `now`, `subtract`, and `interval`. */
4
+ export function ago(amount, unit) {
5
+ return subtract(now(), interval(amount, unit));
6
+ }
7
+ /** Shorthand for `cast(expr, 'uuid')`. */
8
+ export function castUuid(expression) {
9
+ return cast(expression, 'uuid');
10
+ }
11
+ /** Shorthand for `cast(expr, 'jsonb')`. */
12
+ export function castJsonb(expression) {
13
+ return cast(expression, 'jsonb');
14
+ }
15
+ /** Shorthand for `cast(expr, 'timestamptz')`. */
16
+ export function castTimestamp(expression) {
17
+ return cast(expression, 'timestamptz');
18
+ }
19
+ /** Shorthand for `cast(expr, 'boolean')`. */
20
+ export function castBoolean(expression) {
21
+ return cast(expression, 'boolean');
22
+ }
23
+ /** Shorthand for `cast(expr, 'numeric')`. */
24
+ export function castNumeric(expression) {
25
+ return cast(expression, 'numeric');
26
+ }
27
+ /** Shorthand for `cast(expr, 'integer')`. */
28
+ export function castInteger(expression) {
29
+ return cast(expression, 'integer');
30
+ }
31
+ /** Shorthand for `cast(expr, 'text')`. */
32
+ export function castText(expression) {
33
+ return cast(expression, 'text');
34
+ }
35
+ /** `COALESCE((SELECT MAX(column) FROM table WHERE condition), 0) + 1`. Composes scalar, coalesce, max, increment. */
36
+ export function nextSequence(db, column, where) {
37
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- drizzle's select/from generics require concrete schema types
38
+ const base = db.select({ v: max(column) }).from(column.table);
39
+ const subquery = where !== undefined ? base.where(where) : base;
40
+ return increment(coalesce(scalar(subquery), 0), 1);
41
+ }
42
+ //# sourceMappingURL=composed.js.map