pipework 0.8.10 → 0.8.12

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 (88) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/cli/commands/test.d.ts +1 -0
  3. package/dist/cli/commands/test.d.ts.map +1 -1
  4. package/dist/cli/commands/test.js +24 -1
  5. package/dist/cli/commands/test.js.map +1 -1
  6. package/dist/cli/index.d.ts.map +1 -1
  7. package/dist/cli/index.js +4 -0
  8. package/dist/cli/index.js.map +1 -1
  9. package/dist/core/config/ts-resolve-hooks.d.ts.map +1 -1
  10. package/dist/core/config/ts-resolve-hooks.js +22 -3
  11. package/dist/core/config/ts-resolve-hooks.js.map +1 -1
  12. package/dist/data/migrate/snapshot.js +5 -2
  13. package/dist/data/migrate/snapshot.js.map +1 -1
  14. package/dist/data/valve/artifact.d.ts +18 -0
  15. package/dist/data/valve/artifact.d.ts.map +1 -0
  16. package/dist/data/valve/artifact.js +15 -0
  17. package/dist/data/valve/artifact.js.map +1 -0
  18. package/dist/data/valve/contract-diff.d.ts +15 -0
  19. package/dist/data/valve/contract-diff.d.ts.map +1 -0
  20. package/dist/data/valve/contract-diff.js +12 -0
  21. package/dist/data/valve/contract-diff.js.map +1 -0
  22. package/dist/data/valve/cross.d.ts +15 -0
  23. package/dist/data/valve/cross.d.ts.map +1 -0
  24. package/dist/data/valve/cross.js +48 -0
  25. package/dist/data/valve/cross.js.map +1 -0
  26. package/dist/data/valve/decision.d.ts +29 -0
  27. package/dist/data/valve/decision.d.ts.map +1 -0
  28. package/dist/data/valve/decision.js +19 -0
  29. package/dist/data/valve/decision.js.map +1 -0
  30. package/dist/data/valve/faucet.d.ts +18 -0
  31. package/dist/data/valve/faucet.d.ts.map +1 -0
  32. package/dist/data/valve/faucet.js +34 -0
  33. package/dist/data/valve/faucet.js.map +1 -0
  34. package/dist/data/valve/gate.d.ts +28 -0
  35. package/dist/data/valve/gate.d.ts.map +1 -0
  36. package/dist/data/valve/gate.js +74 -0
  37. package/dist/data/valve/gate.js.map +1 -0
  38. package/dist/data/valve/graph.d.ts +28 -0
  39. package/dist/data/valve/graph.d.ts.map +1 -0
  40. package/dist/data/valve/graph.js +43 -0
  41. package/dist/data/valve/graph.js.map +1 -0
  42. package/dist/data/valve/index.d.ts +18 -0
  43. package/dist/data/valve/index.d.ts.map +1 -0
  44. package/dist/data/valve/index.js +10 -0
  45. package/dist/data/valve/index.js.map +1 -0
  46. package/dist/data/valve/namespace.d.ts +45 -0
  47. package/dist/data/valve/namespace.d.ts.map +1 -0
  48. package/dist/data/valve/namespace.js +45 -0
  49. package/dist/data/valve/namespace.js.map +1 -0
  50. package/dist/data/valve/registry.d.ts +14 -0
  51. package/dist/data/valve/registry.d.ts.map +1 -0
  52. package/dist/data/valve/registry.js +41 -0
  53. package/dist/data/valve/registry.js.map +1 -0
  54. package/dist/data/valve/supply.d.ts +33 -0
  55. package/dist/data/valve/supply.d.ts.map +1 -0
  56. package/dist/data/valve/supply.js +96 -0
  57. package/dist/data/valve/supply.js.map +1 -0
  58. package/dist/data/valve/types.d.ts +138 -0
  59. package/dist/data/valve/types.d.ts.map +1 -0
  60. package/dist/data/valve/types.js +2 -0
  61. package/dist/data/valve/types.js.map +1 -0
  62. package/dist/index.d.ts +2 -0
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +1 -0
  65. package/dist/index.js.map +1 -1
  66. package/dist/test/reap.d.ts +33 -0
  67. package/dist/test/reap.d.ts.map +1 -0
  68. package/dist/test/reap.js +117 -0
  69. package/dist/test/reap.js.map +1 -0
  70. package/dist/test/setup.d.ts.map +1 -1
  71. package/dist/test/setup.js +49 -8
  72. package/dist/test/setup.js.map +1 -1
  73. package/dist/test/vitest-plugin.d.ts +8 -0
  74. package/dist/test/vitest-plugin.d.ts.map +1 -1
  75. package/dist/test/vitest-plugin.js +13 -3
  76. package/dist/test/vitest-plugin.js.map +1 -1
  77. package/dist/test/vitest-workspace.d.ts +1 -1
  78. package/dist/test/vitest-workspace.d.ts.map +1 -1
  79. package/dist/test/vitest-workspace.js +14 -7
  80. package/dist/test/vitest-workspace.js.map +1 -1
  81. package/dist/workspace/generate.d.ts.map +1 -1
  82. package/dist/workspace/generate.js +5 -16
  83. package/dist/workspace/generate.js.map +1 -1
  84. package/dist/workspace/source-paths.d.ts +12 -0
  85. package/dist/workspace/source-paths.d.ts.map +1 -0
  86. package/dist/workspace/source-paths.js +29 -0
  87. package/dist/workspace/source-paths.js.map +1 -0
  88. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.8.12
4
+
5
+ - **New: `valve` — typed, directional, gated boundaries between code silos (#307)** — a valve makes a cross-silo data boundary first-class. It is declared as a `supply` (handoff producer) or `gate` (transition-gate producer) and consumed as a `faucet`, carrying the topology, contract, projection, validation, lineage, and invariants the boundary depends on. `supply()` builds a handoff — source trigger, payload contract, guard, projection, idempotency key, and in-process or durable crossing. `gate()` builds a transition gate — a trigger set, inbound-faucet context, declared signals, fan-out, and an async `.decision()` hook that returns a partitioned `cross | held | failed` outcome rather than a bare verdict. `crossSupply` / `crossGate` execute a crossing in the caller's transaction, validating the projected payload against the contract and re-validating at each faucet. The valve graph (`valve.graph()`) is a directional data-dependency graph with crossing, gate-context, and retraction edges, supporting downstream and affected-analysis queries and contract diffing; `emitArtifact` projects a supply to a lightweight JSON-Schema contract artifact. A new `no-cross-silo-deep-import` boundary rule rejects relative imports that reach into another package's `src/` tree. Exposed as the `valve` namespace. Durable-async crossing execution and the database-backed provenance and idempotency stores are deferred to a follow-on.
6
+
7
+ ## 0.8.11
8
+
9
+ - **Fix: `pipework generate` emitted invalid SQL for HNSW and IVFFlat vector indexes** — `serializeIndexColumns` copied drizzle's default `order: 'asc'` / `nulls: 'last'` onto every index column, so a vector index rendered `USING hnsw ("embedding" ASC NULLS LAST vector_cosine_ops)` — a syntax error, since those access methods accept an operator class only. The snapshot now suppresses `order`/`nulls` for `hnsw`/`ivfflat` indexes; btree indexes are unchanged (#298).
10
+ - **Fix: `pipework dev` rewrote `.js` → `.ts` without checking the source exists** — 0.8.9 fixed this for the config-loader resolve hook (`discover.ts`), but a second copy of the hook in `ts-resolve-hooks.ts` — the one registered into `pipework dev` child processes — still rewrote unconditionally, breaking real `.js` dynamic imports of prebuilt ESM-only packages. That copy now applies the same `existsSync` guard before rewriting (#292).
11
+ - **Fix: `pipework test` failed to resolve bare cross-package workspace imports** — an import of `@scope/pkg` (or one of its export subpaths) resolved through the package's `exports` field to `dist/`, which is not built during `pipework test`, and vitest does not honour tsconfig `paths`. The `pipework()` vitest plugin now resolves known workspace specifiers straight to their `src/` source, via the same package→source map that drives `tsconfig.check.base.json` (#301).
12
+
3
13
  ## 0.8.10
4
14
 
5
15
  - **Fix: `lint.extra` was silently ignored for every per-module lint pass** — `pipework check` lints each declared module by running eslint with `--config <pipework>/lint/preset.js` whenever the module has no local `eslint.config.js` (the normal case — pipework only generates one at the repo root). That preset was a static `createLintConfig()` that never read `pipework.config.ts`, so `lint.extra` (consumer plugins, rules, extra flat-config blocks) reached only the root `eslint.config.js` — which a workspace repo never lints, since `check` skips the root pass once any module is declared. Custom rules declared via `lint.extra` looked correct and `pipework check` passed green, but nothing they added was ever enforced. The preset now calls `resolveLintConfig()` — the same resolver the generated root `eslint.config.js` uses — so `lint.extra` applies to every module (#299).
@@ -5,6 +5,7 @@ export interface TestOptions {
5
5
  vitestArgs: string[];
6
6
  scope?: ScopeMode | undefined;
7
7
  suite?: string | undefined;
8
+ reap?: boolean | undefined;
8
9
  }
9
10
  export declare function test(options: TestOptions): Promise<void>;
10
11
  export declare function buildProjectArgs(options: TestOptions, instance: import('../../core/pipework.js').Manifold): string[] | null;
@@ -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,CA6C9D;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,OAAO,wBAAwB,EAAE,QAAQ,GAClD,MAAM,EAAE,GAAG,IAAI,CAyDjB"}
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;IAC1B,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC3B;AAED,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAqE9D;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,OAAO,wBAAwB,EAAE,QAAQ,GAClD,MAAM,EAAE,GAAG,IAAI,CAyDjB"}
@@ -9,6 +9,18 @@ export async function test(options) {
9
9
  const { setupTestDatabases, teardownTestDatabases } = await import('../../test/setup.js');
10
10
  process.env['PIPEWORK_ENV'] = 'test';
11
11
  const instance = await discoverInstance(options.cwd);
12
+ if (options.reap === true) {
13
+ const { reapConfiguredTestDatabases } = await import('../../test/reap.js');
14
+ info('Reaping orphan test databases...');
15
+ try {
16
+ const result = await reapConfiguredTestDatabases(instance);
17
+ success(`Reaped ${String(result.droppedDatabases.length)} orphan test database(s).`);
18
+ }
19
+ finally {
20
+ await instance.pool.closeAll();
21
+ }
22
+ return;
23
+ }
12
24
  const projectArgs = buildProjectArgs(options, instance);
13
25
  if (projectArgs === null) {
14
26
  success('No affected modules — nothing to test');
@@ -17,6 +29,17 @@ export async function test(options) {
17
29
  }
18
30
  info('Setting up test databases...');
19
31
  await setupTestDatabases(instance);
32
+ // Tear down on signals too, not just clean exit: a default SIGINT/SIGTERM
33
+ // would kill this process before `finally` runs, leaking the per-run
34
+ // databases. `teardownTestDatabases` is idempotent and the shared promise
35
+ // makes the signal handler wait for an in-flight teardown before exiting.
36
+ let cleanup = null;
37
+ const teardownOnce = () => {
38
+ cleanup ??= teardownTestDatabases().catch(() => { });
39
+ return cleanup;
40
+ };
41
+ process.once('SIGINT', () => { void teardownOnce().finally(() => process.exit(130)); });
42
+ process.once('SIGTERM', () => { void teardownOnce().finally(() => process.exit(143)); });
20
43
  try {
21
44
  const args = ['vitest', 'run', ...projectArgs, ...options.vitestArgs];
22
45
  info(`Running: ${bold(args.join(' '))}`);
@@ -39,7 +62,7 @@ export async function test(options) {
39
62
  }
40
63
  finally {
41
64
  info('Tearing down test databases...');
42
- await teardownTestDatabases();
65
+ await teardownOnce();
43
66
  await instance.pool.closeAll();
44
67
  }
45
68
  }
@@ -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":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAgEA,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAyKvD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAkEA,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA2KvD"}
package/dist/cli/index.js CHANGED
@@ -36,6 +36,7 @@ ${bold('Scoping (check, test):')}
36
36
  --staged Scope to staged changes (for pre-commit hooks)
37
37
  --module <path> Scope to a specific module
38
38
  --suite <name> Run a specific test suite/profile (test only)
39
+ --reap Drop orphan test databases and exit (test only)
39
40
 
40
41
  ${bold('Examples:')}
41
42
  pipework init
@@ -55,6 +56,7 @@ ${bold('Examples:')}
55
56
  pipework test
56
57
  pipework test --all
57
58
  pipework test --suite integration
59
+ pipework test --reap # drop orphan test databases
58
60
  pipework check --staged
59
61
  pipework check --all
60
62
  pipework codemod
@@ -80,6 +82,7 @@ export async function run(argv) {
80
82
  module: { type: 'string' },
81
83
  staged: { type: 'boolean' },
82
84
  suite: { type: 'string' },
85
+ reap: { type: 'boolean' },
83
86
  test: { type: 'boolean' },
84
87
  'admin-url': { type: 'string' },
85
88
  'dry-run': { type: 'boolean' },
@@ -183,6 +186,7 @@ export async function run(argv) {
183
186
  vitestArgs,
184
187
  scope: parsedTest.scope,
185
188
  suite: parsedTest.suite,
189
+ reap: values.reap,
186
190
  });
187
191
  break;
188
192
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ts-resolve-hooks.d.ts","sourceRoot":"","sources":["../../../src/core/config/ts-resolve-hooks.ts"],"names":[],"mappings":"AACA,wBAAgB,OAAO,CACrB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,EAC/B,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,KAAK;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GACnF;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAWjB"}
1
+ {"version":3,"file":"ts-resolve-hooks.d.ts","sourceRoot":"","sources":["../../../src/core/config/ts-resolve-hooks.ts"],"names":[],"mappings":"AAeA,wBAAgB,OAAO,CACrB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,EAC/B,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,KAAK;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GACnF;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAgBjB"}
@@ -1,13 +1,32 @@
1
- // ESM loader hooks runs in a separate thread, must be self-contained
1
+ import { existsSync } from 'node:fs';
2
+ import { fileURLToPath } from 'node:url';
3
+ // ESM loader hooks — runs in a separate thread, must be self-contained.
4
+ //
5
+ // Mirrors the inline hook in `registerTsResolveHooks()` (discover.ts). They
6
+ // stay separate on purpose: that one registers a self-contained `data:` URL so
7
+ // it works during pipework's own source-mode runs where this compiled `.js`
8
+ // file does not exist yet; this one is a real file loaded via `--import` into
9
+ // child processes (`pipework dev`). Keep the resolve logic in sync.
10
+ //
11
+ // The `.ts` candidate must exist on disk before we rewrite. `nextResolve` does
12
+ // not touch the filesystem for file: URLs, so a missing file is not caught by a
13
+ // try/catch — it surfaces later as a misleading "Cannot find module foo.ts" at
14
+ // load time, even when foo.js sits right there (issue #292).
2
15
  export function resolve(specifier, context, nextResolve) {
3
16
  const parent = context.parentURL ?? '';
4
17
  if (specifier.endsWith('.js') && !parent.includes('/node_modules/') && !parent.includes('/dist/')) {
5
18
  const tsSpecifier = specifier.slice(0, -3) + '.ts';
19
+ let tsPath = null;
6
20
  try {
7
- return nextResolve(tsSpecifier, context);
21
+ const tsUrl = new URL(tsSpecifier, parent);
22
+ if (tsUrl.protocol === 'file:')
23
+ tsPath = fileURLToPath(tsUrl);
8
24
  }
9
25
  catch {
10
- return nextResolve(specifier, context);
26
+ // tsSpecifier did not form a valid URL — fall through to pass-through.
27
+ }
28
+ if (tsPath !== null && existsSync(tsPath)) {
29
+ return nextResolve(tsSpecifier, context);
11
30
  }
12
31
  }
13
32
  return nextResolve(specifier, context);
@@ -1 +1 @@
1
- {"version":3,"file":"ts-resolve-hooks.js","sourceRoot":"","sources":["../../../src/core/config/ts-resolve-hooks.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,MAAM,UAAU,OAAO,CACrB,SAAiB,EACjB,OAA+B,EAC/B,WAAoF;IAEpF,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAA;IACtC,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClG,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;QAClD,IAAI,CAAC;YACH,OAAO,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QACxC,CAAC;IACH,CAAC;IACD,OAAO,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;AACxC,CAAC"}
1
+ {"version":3,"file":"ts-resolve-hooks.js","sourceRoot":"","sources":["../../../src/core/config/ts-resolve-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,wEAAwE;AACxE,EAAE;AACF,4EAA4E;AAC5E,+EAA+E;AAC/E,4EAA4E;AAC5E,8EAA8E;AAC9E,oEAAoE;AACpE,EAAE;AACF,+EAA+E;AAC/E,gFAAgF;AAChF,+EAA+E;AAC/E,6DAA6D;AAC7D,MAAM,UAAU,OAAO,CACrB,SAAiB,EACjB,OAA+B,EAC/B,WAAoF;IAEpF,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAA;IACtC,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClG,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;QAClD,IAAI,MAAM,GAAkB,IAAI,CAAA;QAChC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;YAC1C,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO;gBAAE,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;QAC/D,CAAC;QAAC,MAAM,CAAC;YACP,uEAAuE;QACzE,CAAC;QACD,IAAI,MAAM,KAAK,IAAI,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1C,OAAO,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QAC1C,CAAC;IACH,CAAC;IACD,OAAO,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;AACxC,CAAC"}
@@ -216,11 +216,14 @@ function serializeIndexColumns(columns, method) {
216
216
  if (opClass === undefined && needsOpClass) {
217
217
  opClass = vectorOpClassDefaults[indexed.type];
218
218
  }
219
+ // hnsw/ivfflat accept an operator class only — an ASC/NULLS ordering
220
+ // clause is a syntax error there. Drizzle defaults every index column to
221
+ // order 'asc' / nulls 'last', so vector indexes must drop them explicitly.
219
222
  return {
220
223
  expression: indexed.name ?? '',
221
224
  isExpression: false,
222
- order: indexed.indexConfig.order,
223
- nulls: indexed.indexConfig.nulls,
225
+ order: needsOpClass ? undefined : indexed.indexConfig.order,
226
+ nulls: needsOpClass ? undefined : indexed.indexConfig.nulls,
224
227
  opClass,
225
228
  };
226
229
  });
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../src/data/migrate/snapshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../src/data/migrate/snapshot.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { JsonSchema } from '../schema/namespace.js';
2
+ import type { SupplyDefinition, ValveKind, ValveTopology } from './types.js';
3
+ /**
4
+ * The lightweight artifact a supply declaration emits — JSON Schema plus valve
5
+ * metadata, zero logic and zero transitive producer dependencies. A consumer's
6
+ * faucet imports only this, never the producer silo.
7
+ */
8
+ export interface ContractArtifact {
9
+ readonly valve: string;
10
+ readonly kind: ValveKind;
11
+ readonly topology: ValveTopology;
12
+ readonly version: number;
13
+ readonly schema: JsonSchema;
14
+ readonly invariants: readonly string[];
15
+ }
16
+ /** Project a handoff supply to its contract artifact. */
17
+ export declare function emitArtifact<TSource, TPayload>(definition: SupplyDefinition<TSource, TPayload>): ContractArtifact;
18
+ //# sourceMappingURL=artifact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifact.d.ts","sourceRoot":"","sources":["../../../src/data/valve/artifact.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE5E;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAA;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;CACvC;AAED,yDAAyD;AACzD,wBAAgB,YAAY,CAAC,OAAO,EAAE,QAAQ,EAC5C,UAAU,EAAE,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,GAC9C,gBAAgB,CAWlB"}
@@ -0,0 +1,15 @@
1
+ import { schema } from '../schema/namespace.js';
2
+ /** Project a handoff supply to its contract artifact. */
3
+ export function emitArtifact(definition) {
4
+ return {
5
+ valve: definition.name,
6
+ kind: definition.kind,
7
+ topology: definition.topology,
8
+ // Explicit contract versioning (a `.version()` builder step) is a later
9
+ // refinement; the field exists so the artifact is diffable from day one.
10
+ version: 1,
11
+ schema: schema.check.toJsonSchema(schema.check.object(definition.contract)),
12
+ invariants: [...definition.invariants],
13
+ };
14
+ }
15
+ //# sourceMappingURL=artifact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifact.js","sourceRoot":"","sources":["../../../src/data/valve/artifact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAkB/C,yDAAyD;AACzD,MAAM,UAAU,YAAY,CAC1B,UAA+C;IAE/C,OAAO;QACL,KAAK,EAAE,UAAU,CAAC,IAAI;QACtB,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,wEAAwE;QACxE,yEAAyE;QACzE,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC3E,UAAU,EAAE,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC;KACvC,CAAA;AACH,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { ContractShape } from './types.js';
2
+ export interface ContractDiff {
3
+ readonly added: readonly string[];
4
+ readonly removed: readonly string[];
5
+ readonly retained: readonly string[];
6
+ /** True when the diff removes a field — consumers reading it break. */
7
+ readonly breaking: boolean;
8
+ }
9
+ /**
10
+ * Diff a valve contract between two versions. Removing a field breaks any
11
+ * consumer that reads it; adding a field is additive. Field-level — deep
12
+ * schema-change detection within a retained field is a later refinement.
13
+ */
14
+ export declare function diffContract(before: ContractShape, after: ContractShape): ContractDiff;
15
+ //# sourceMappingURL=contract-diff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract-diff.d.ts","sourceRoot":"","sources":["../../../src/data/valve/contract-diff.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/C,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;IACpC,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;CAC3B;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,GAAG,YAAY,CAKtF"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Diff a valve contract between two versions. Removing a field breaks any
3
+ * consumer that reads it; adding a field is additive. Field-level — deep
4
+ * schema-change detection within a retained field is a later refinement.
5
+ */
6
+ export function diffContract(before, after) {
7
+ const added = Object.keys(after).filter((key) => !(key in before));
8
+ const removed = Object.keys(before).filter((key) => !(key in after));
9
+ const retained = Object.keys(before).filter((key) => key in after);
10
+ return { added, removed, retained, breaking: removed.length > 0 };
11
+ }
12
+ //# sourceMappingURL=contract-diff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract-diff.js","sourceRoot":"","sources":["../../../src/data/valve/contract-diff.ts"],"names":[],"mappings":"AAUA;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,MAAqB,EAAE,KAAoB;IACtE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC,CAAA;IAClE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAA;IACpE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,CAAA;IAClE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAA;AACnE,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { DB } from '../db/namespace.js';
2
+ import type { CrossingResult, GateDefinition, SupplyDefinition } from './types.js';
3
+ /**
4
+ * Execute a handoff crossing in the caller's transaction: run the guard, project
5
+ * the payload, validate it against the contract, and deliver it to every faucet
6
+ * — each faucet re-validating, because it does not trust the supply.
7
+ */
8
+ export declare function crossSupply<TSource, TPayload>(definition: SupplyDefinition<TSource, TPayload>, source: TSource, tx: DB): Promise<CrossingResult>;
9
+ /**
10
+ * Execute a transition-gate crossing: fan the event out to N items, run the
11
+ * async decision per item, and partition each outcome — cross / held / failed —
12
+ * into a crossing result.
13
+ */
14
+ export declare function crossGate<TEvent>(definition: GateDefinition<TEvent>, event: TEvent, context: Readonly<Record<string, unknown>>): Promise<readonly CrossingResult[]>;
15
+ //# sourceMappingURL=cross.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cross.d.ts","sourceRoot":"","sources":["../../../src/data/valve/cross.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElF;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,QAAQ,EACjD,UAAU,EAAE,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,EAC/C,MAAM,EAAE,OAAO,EACf,EAAE,EAAE,EAAE,GACL,OAAO,CAAC,cAAc,CAAC,CAYzB;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,MAAM,EACpC,UAAU,EAAE,cAAc,CAAC,MAAM,CAAC,EAClC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACzC,OAAO,CAAC,SAAS,cAAc,EAAE,CAAC,CAmBpC"}
@@ -0,0 +1,48 @@
1
+ import { faucetsOf } from './registry.js';
2
+ import { schema } from '../schema/namespace.js';
3
+ /**
4
+ * Execute a handoff crossing in the caller's transaction: run the guard, project
5
+ * the payload, validate it against the contract, and deliver it to every faucet
6
+ * — each faucet re-validating, because it does not trust the supply.
7
+ */
8
+ export async function crossSupply(definition, source, tx) {
9
+ if (definition.guard !== undefined && !definition.guard(source)) {
10
+ return { kind: 'blocked' };
11
+ }
12
+ const payload = definition.project(source);
13
+ const contractSchema = schema.check.object(definition.contract);
14
+ schema.check.parse(contractSchema, payload);
15
+ for (const consumer of faucetsOf(definition.name)) {
16
+ const revalidated = schema.check.parse(contractSchema, payload);
17
+ await consumer.handler(revalidated, tx);
18
+ }
19
+ return { kind: 'crossed', payload };
20
+ }
21
+ /**
22
+ * Execute a transition-gate crossing: fan the event out to N items, run the
23
+ * async decision per item, and partition each outcome — cross / held / failed —
24
+ * into a crossing result.
25
+ */
26
+ export async function crossGate(definition, event, context) {
27
+ const items = definition.fanOut !== undefined
28
+ ? definition.fanOut(event)
29
+ : [event];
30
+ const results = [];
31
+ for (const item of items) {
32
+ // Fan-out re-scopes the trigger into per-item decision events; #307 leaves
33
+ // the item/event type relation open, so the executor treats each item as
34
+ // the decision's event.
35
+ const outcome = await definition.decision(item, context);
36
+ if (outcome.kind === 'cross') {
37
+ results.push({ kind: 'crossed', payload: outcome.payload });
38
+ }
39
+ else if (outcome.kind === 'held') {
40
+ results.push({ kind: 'held', reason: outcome.reason });
41
+ }
42
+ else {
43
+ results.push({ kind: 'failed', error: outcome.error });
44
+ }
45
+ }
46
+ return results;
47
+ }
48
+ //# sourceMappingURL=cross.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cross.js","sourceRoot":"","sources":["../../../src/data/valve/cross.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAI/C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,UAA+C,EAC/C,MAAe,EACf,EAAM;IAEN,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAChE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;IAC5B,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC1C,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IAC/D,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;IAC3C,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;QAC/D,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;IACzC,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAA;AACrC,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,UAAkC,EAClC,KAAa,EACb,OAA0C;IAE1C,MAAM,KAAK,GAAuB,UAAU,CAAC,MAAM,KAAK,SAAS;QAC/D,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC;QAC1B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IACX,MAAM,OAAO,GAAqB,EAAE,CAAA;IACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,2EAA2E;QAC3E,yEAAyE;QACzE,wBAAwB;QACxB,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,IAAc,EAAE,OAAO,CAAC,CAAA;QAClE,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;QAC7D,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;QACxD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;QACxD,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * The decision outcome — the load-bearing seam of the transition-gate form
3
+ * (#307 field 13). A gate's `.decision()` hook returns one of three branches.
4
+ * The three-way partition is fixed here by the primitive; the business verdict
5
+ * that *picks* a branch is consumer-silo application code.
6
+ */
7
+ /** The crossing proceeds — `payload` is delivered to the consumer. */
8
+ export interface Crossed<TPayload> {
9
+ readonly kind: 'cross';
10
+ readonly payload: TPayload;
11
+ }
12
+ /** The crossing is blocked into a provisional, reviewable state carrying `reason`. */
13
+ export interface Held<TReason> {
14
+ readonly kind: 'held';
15
+ readonly reason: TReason;
16
+ }
17
+ /** Evaluation itself failed — a durable, retryable outcome, not a thrown exception. */
18
+ export interface Failed {
19
+ readonly kind: 'failed';
20
+ readonly error: Error;
21
+ }
22
+ export type DecisionOutcome<TPayload, TReason> = Crossed<TPayload> | Held<TReason> | Failed;
23
+ /** Cross the valve: deliver `payload` to the consumer. */
24
+ export declare function cross<TPayload>(payload: TPayload): Crossed<TPayload>;
25
+ /** Hold the crossing: it enters a provisional, reviewable state carrying `reason`. */
26
+ export declare function held<TReason>(reason: TReason): Held<TReason>;
27
+ /** Evaluation failed: a retryable, dead-letterable outcome — never a thrown exception. */
28
+ export declare function failed(error: Error): Failed;
29
+ //# sourceMappingURL=decision.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decision.d.ts","sourceRoot":"","sources":["../../../src/data/valve/decision.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,sEAAsE;AACtE,MAAM,WAAW,OAAO,CAAC,QAAQ;IAC/B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAA;CAC3B;AAED,sFAAsF;AACtF,MAAM,WAAW,IAAI,CAAC,OAAO;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CACzB;AAED,uFAAuF;AACvF,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CACtB;AAED,MAAM,MAAM,eAAe,CAAC,QAAQ,EAAE,OAAO,IACzC,OAAO,CAAC,QAAQ,CAAC,GACjB,IAAI,CAAC,OAAO,CAAC,GACb,MAAM,CAAA;AAEV,0DAA0D;AAC1D,wBAAgB,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAEpE;AAED,sFAAsF;AACtF,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAE5D;AAED,0FAA0F;AAC1F,wBAAgB,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAE3C"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * The decision outcome — the load-bearing seam of the transition-gate form
3
+ * (#307 field 13). A gate's `.decision()` hook returns one of three branches.
4
+ * The three-way partition is fixed here by the primitive; the business verdict
5
+ * that *picks* a branch is consumer-silo application code.
6
+ */
7
+ /** Cross the valve: deliver `payload` to the consumer. */
8
+ export function cross(payload) {
9
+ return { kind: 'cross', payload };
10
+ }
11
+ /** Hold the crossing: it enters a provisional, reviewable state carrying `reason`. */
12
+ export function held(reason) {
13
+ return { kind: 'held', reason };
14
+ }
15
+ /** Evaluation failed: a retryable, dead-letterable outcome — never a thrown exception. */
16
+ export function failed(error) {
17
+ return { kind: 'failed', error };
18
+ }
19
+ //# sourceMappingURL=decision.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decision.js","sourceRoot":"","sources":["../../../src/data/valve/decision.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAyBH,0DAA0D;AAC1D,MAAM,UAAU,KAAK,CAAW,OAAiB;IAC/C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;AACnC,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,IAAI,CAAU,MAAe;IAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;AACjC,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,MAAM,CAAC,KAAY;IACjC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;AAClC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { FaucetDefinition, FaucetHandler } from './types.js';
2
+ /**
3
+ * The consumer-side builder. A faucet binds to a valve by name — never to the
4
+ * producer silo — and lands every (re-validated) payload in a consumer entity.
5
+ * `.on()` is terminal: supplying the intake handler registers the faucet.
6
+ */
7
+ export interface FaucetBuilder<TPayload> {
8
+ /** The consumer entity the payload lands in. */
9
+ into(target: string): FaucetBuilder<TPayload>;
10
+ /** The intake handler. Terminal — registers the faucet and returns its definition. */
11
+ on(handler: FaucetHandler<TPayload>): FaucetDefinition<TPayload>;
12
+ }
13
+ /**
14
+ * Declare a faucet — the consumer side of a `supply -> faucet` edge. `valve` is
15
+ * the name of the producer valve this faucet consumes.
16
+ */
17
+ export declare function faucet<TPayload = unknown>(valve: string): FaucetBuilder<TPayload>;
18
+ //# sourceMappingURL=faucet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"faucet.d.ts","sourceRoot":"","sources":["../../../src/data/valve/faucet.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAEjE;;;;GAIG;AACH,MAAM,WAAW,aAAa,CAAC,QAAQ;IACrC,gDAAgD;IAChD,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;IAC7C,sFAAsF;IACtF,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;CACjE;AAwBD;;;GAGG;AACH,wBAAgB,MAAM,CAAC,QAAQ,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAcjF"}
@@ -0,0 +1,34 @@
1
+ import { registerFaucet } from './registry.js';
2
+ function finalizeFaucet(state, handler) {
3
+ if (state.target === undefined) {
4
+ throw new Error(`[pipework] Faucet for valve "${state.valve}" is missing .into(...).\n\n` +
5
+ ' A faucet must declare the consumer entity its payload lands in before .on(...).\n' +
6
+ ' Example: faucet("frozen-outcome").into("ledger-entries").on(handler)\n');
7
+ }
8
+ const definition = {
9
+ valve: state.valve,
10
+ target: state.target,
11
+ handler,
12
+ };
13
+ registerFaucet(definition);
14
+ return definition;
15
+ }
16
+ /**
17
+ * Declare a faucet — the consumer side of a `supply -> faucet` edge. `valve` is
18
+ * the name of the producer valve this faucet consumes.
19
+ */
20
+ export function faucet(valve) {
21
+ const state = { valve, target: undefined };
22
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- the builder erases the payload generic; FaucetBuilder is the precise public surface
23
+ const builder = {
24
+ into(target) {
25
+ state.target = target;
26
+ return builder;
27
+ },
28
+ on(handler) {
29
+ return finalizeFaucet(state, handler);
30
+ },
31
+ };
32
+ return builder;
33
+ }
34
+ //# sourceMappingURL=faucet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"faucet.js","sourceRoot":"","sources":["../../../src/data/valve/faucet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAoB9C,SAAS,cAAc,CAAC,KAAkB,EAAE,OAA+B;IACzE,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,gCAAgC,KAAK,CAAC,KAAK,8BAA8B;YACzE,qFAAqF;YACrF,0EAA0E,CAC3E,CAAA;IACH,CAAC;IACD,MAAM,UAAU,GAA8B;QAC5C,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO;KACR,CAAA;IACD,cAAc,CAAC,UAAU,CAAC,CAAA;IAC1B,OAAO,UAAU,CAAA;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,MAAM,CAAqB,KAAa;IACtD,MAAM,KAAK,GAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;IAEvD,qJAAqJ;IACrJ,MAAM,OAAO,GAAQ;QACnB,IAAI,CAAC,MAAc;YACjB,KAAK,CAAC,MAAM,GAAG,MAAM,CAAA;YACrB,OAAO,OAAO,CAAA;QAChB,CAAC;QACD,EAAE,CAAC,OAA+B;YAChC,OAAO,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QACvC,CAAC;KACF,CAAA;IACD,OAAO,OAAkC,CAAA;AAC3C,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { GateDecision, GateDefinition, GateRetraction, GateTrigger } from './types.js';
2
+ /**
3
+ * The producer-side builder for a transition-gate valve. `.on()` fixes the
4
+ * source event type; `.fanOut()` and `.decision()` are checked against it.
5
+ * `.decision()` is terminal — the async hook is the load-bearing seam, and
6
+ * supplying it registers the gate.
7
+ */
8
+ export interface GateBuilder<TEvent> {
9
+ /** The source entity and the set of triggers that fire the gate. */
10
+ on<TOnEvent = TEvent>(source: string, triggers: readonly GateTrigger[]): GateBuilder<TOnEvent>;
11
+ /** Enrichment context — context key -> inbound valve name. Fed by inbound faucets. */
12
+ context(inbound: Record<string, string>): GateBuilder<TEvent>;
13
+ /** Names the computed signals the decision may read. */
14
+ signals(names: readonly string[]): GateBuilder<TEvent>;
15
+ /** Fans one trigger out to N independently-keyed crossings. */
16
+ fanOut(items: (event: TEvent) => readonly unknown[]): GateBuilder<TEvent>;
17
+ /** Declares that a trigger supersedes and retracts the prior crossing. */
18
+ retracts(config: GateRetraction): GateBuilder<TEvent>;
19
+ /** The async decision hook. Terminal — registers the gate and returns its definition. */
20
+ decision(hook: GateDecision<TEvent>): GateDefinition<TEvent>;
21
+ }
22
+ /**
23
+ * Declare a transition-gate valve. A gate modulates a state change within one
24
+ * silo, so `silo` is both producer and consumer. Chain the anatomy and finish
25
+ * with `.decision(hook)`.
26
+ */
27
+ export declare function gate(name: string, silo: string): GateBuilder<unknown>;
28
+ //# sourceMappingURL=gate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../../../src/data/valve/gate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE3F;;;;;GAKG;AACH,MAAM,WAAW,WAAW,CAAC,MAAM;IACjC,oEAAoE;IACpE,EAAE,CAAC,QAAQ,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,WAAW,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAA;IAC9F,sFAAsF;IACtF,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;IAC7D,wDAAwD;IACxD,OAAO,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;IACtD,+DAA+D;IAC/D,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,OAAO,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;IACzE,0EAA0E;IAC1E,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;IACrD,yFAAyF;IACzF,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;CAC7D;AA6CD;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAyCrE"}