pipework 0.56.1 → 0.56.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/REFERENCE.md +2 -0
  3. package/dist/REFERENCE.md +46 -11
  4. package/dist/core/config/discover.js +1 -1
  5. package/dist/core/config/discover.js.map +1 -1
  6. package/dist/core/config/ts-resolve-hooks.d.ts.map +1 -1
  7. package/dist/core/config/ts-resolve-hooks.js +18 -7
  8. package/dist/core/config/ts-resolve-hooks.js.map +1 -1
  9. package/dist/test/vitest-plugin.d.ts.map +1 -1
  10. package/dist/test/vitest-plugin.js +14 -2
  11. package/dist/test/vitest-plugin.js.map +1 -1
  12. package/dist/trace/runtime/flow-step.d.ts +5 -1
  13. package/dist/trace/runtime/flow-step.d.ts.map +1 -1
  14. package/dist/trace/runtime/flow-step.js +5 -1
  15. package/dist/trace/runtime/flow-step.js.map +1 -1
  16. package/dist/trace/transformer/apply.d.ts +18 -0
  17. package/dist/trace/transformer/apply.d.ts.map +1 -0
  18. package/dist/trace/transformer/apply.js +67 -0
  19. package/dist/trace/transformer/apply.js.map +1 -0
  20. package/dist/trace/transformer/build-meta-literal.d.ts +5 -1
  21. package/dist/trace/transformer/build-meta-literal.d.ts.map +1 -1
  22. package/dist/trace/transformer/build-meta-literal.js +11 -2
  23. package/dist/trace/transformer/build-meta-literal.js.map +1 -1
  24. package/dist/trace/transformer/transform-flow-steps.d.ts.map +1 -1
  25. package/dist/trace/transformer/transform-flow-steps.js +5 -4
  26. package/dist/trace/transformer/transform-flow-steps.js.map +1 -1
  27. package/dist/trace/transformer/wrap-function-declaration.d.ts +2 -1
  28. package/dist/trace/transformer/wrap-function-declaration.d.ts.map +1 -1
  29. package/dist/trace/transformer/wrap-function-declaration.js +2 -2
  30. package/dist/trace/transformer/wrap-function-declaration.js.map +1 -1
  31. package/dist/trace/transformer/wrap-variable-declaration.d.ts +2 -1
  32. package/dist/trace/transformer/wrap-variable-declaration.d.ts.map +1 -1
  33. package/dist/trace/transformer/wrap-variable-declaration.js +2 -2
  34. package/dist/trace/transformer/wrap-variable-declaration.js.map +1 -1
  35. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.56.2
4
+
5
+ - **Fix: `@flow_step` and `@touches` annotations are now applied at runtime.** The annotations were parsed by `pipework check` but nothing wrapped the functions, so annotated code recorded no `trace_step` and no `audit_record` (with `audit: { chain: true }`, a `pipe.update` under `@touches` left no audit row). Annotated functions are now wrapped with `__flowStep` automatically under `pipework test` and the vitest preset, and under `pipework dev` and `pipework serve`, with no change to app code; `@touches` targets are carried into the step. The `ref` is the file's path relative to the directory holding `pipework.config.ts` (the one `pipework check` runs from), plus the function name. A `@flow_step` that cannot be wrapped (a default export, a method) now fails the load with its file and line instead of running unwrapped. Stack-trace line numbers inside an annotated file can shift. An app built with plain `tsc` is not wrapped: run it through `pipework serve`, or wrap with `__flowStep` by hand.
6
+
3
7
  ## 0.56.1
4
8
 
5
9
  - **Fix: routes with `.input()`, `.query()` or `.params()` answered `422 VALIDATION_ERROR` on Fastify 5.11.0 and later.** Any app that installed after Fastify 5.11.0 shipped (2026-07-30) got Fastify 5.12.x, whose validation step now replaces the request body, query and params with whatever the validator returns; Pipework's pass-through validator returned `undefined`, so the handler's input parse saw nothing and failed with "expected object, received undefined". The pass-through now returns the data unchanged, so these routes receive their input on every Fastify 5.x. Routes with none of the three were not affected. The repo now tests against Fastify 5.12.5.
package/REFERENCE.md CHANGED
@@ -1316,6 +1316,8 @@ function tap(url: string, options?: ConnectOptions): ManagedConnection
1316
1316
 
1317
1317
  Wraps `impl` so that, under an active traced Flow, each call records a `trace_step`.
1318
1318
 
1319
+ A function documented with `@flow_step` (and `@touches Entity:verb`) is wrapped automatically: under `pipework test` and the vitest preset, and under `pipework dev` and `pipework serve`. An app built with plain `tsc` gets no wrapping: run it through `pipework serve`, or call `__flowStep` by hand.
1320
+
1319
1321
  ```typescript
1320
1322
  function __flowStep<F extends AnyFunction>(meta: FlowStepMeta, impl: F): F
1321
1323
  ```
package/dist/REFERENCE.md CHANGED
@@ -24,6 +24,7 @@
24
24
  - [temporal — Bitemporal Data](#temporal-bitemporal-data)
25
25
  - [valve](#valve)
26
26
  - [vector — Vector & Full-Text Search](#vector-vector-full-text-search)
27
+ - [accessLinks](#accesslinks)
27
28
  - [audit — Audit Logging](#audit-audit-logging)
28
29
  - [cache — Caching](#cache-caching)
29
30
  - [webhook — Inbound & Outbound Webhooks](#webhook-inbound-outbound-webhooks)
@@ -34,9 +35,9 @@
34
35
  - [http — Server](#http-server)
35
36
  - [openapi — API Documentation](#openapi-api-documentation)
36
37
  - [test](#test)
38
+ - [trace](#trace)
37
39
  - [data](#data)
38
40
  - [request](#request)
39
- - [trace](#trace)
40
41
 
41
42
  ## Core
42
43
 
@@ -1018,6 +1019,14 @@ Computes ts_rank for full-text search result ordering. Accepts a pre-built tsque
1018
1019
 
1019
1020
  Verifies the pgvector extension is installed and accessible.
1020
1021
 
1022
+ ## accessLinks
1023
+
1024
+ Access links namespace — short revocable bearer links to a tenant's resource.
1025
+
1026
+ ### `accessLinks.create`
1027
+
1028
+ Creates an access-link handle: tenant-scoped management plus the public resolve / beginUse / completeUse / abandonUse.
1029
+
1021
1030
  ## audit — Audit Logging
1022
1031
 
1023
1032
  Audit logging namespace — structured audit trail for data changes.
@@ -1222,6 +1231,42 @@ Generates an OpenAPI 3.1 document from route registrations — schemas derived f
1222
1231
 
1223
1232
  ## test
1224
1233
 
1234
+ ## trace
1235
+
1236
+ Trace namespace — hand the current trace to a process outside Node and record the steps it reports back.
1237
+
1238
+ ### `trace.traceparent`
1239
+
1240
+ W3C `traceparent` for the current trace and open step; `null` outside a traced flow or when the trace is truncated.
1241
+
1242
+ ### `trace.env`
1243
+
1244
+ `{ TRACEPARENT }` for a child process's environment, or `{}` when there is no traceparent.
1245
+
1246
+ ### `trace.record`
1247
+
1248
+ Records steps reported as JSON lines (or objects) by an outside process under the step open now. Synchronous; never throws.
1249
+
1250
+ ### Types
1251
+
1252
+ **`FlowStepMeta`** — Trace metadata for one documented flow-step: its `path:symbol` graph node id and the per-argument capture projections.
1253
+
1254
+ ```typescript
1255
+ interface FlowStepMeta
1256
+ ```
1257
+
1258
+ **`ExternalStepReport`** — One step reported by an outside process.
1259
+
1260
+ ```typescript
1261
+ type ExternalStepReport = z.infer<typeof externalStepReportSchema>
1262
+ ```
1263
+
1264
+ **`ExternalRecordResult`** — What `trace.record` did with a report.
1265
+
1266
+ ```typescript
1267
+ interface ExternalRecordResult
1268
+ ```
1269
+
1225
1270
  ## data
1226
1271
 
1227
1272
  ### `tap`
@@ -1244,13 +1289,3 @@ Creates a PipeworkServer — wraps Fastify with auto request IDs, CORS, rate lim
1244
1289
  ```typescript
1245
1290
  function createServer(instance: Manifold, config: ServerConfig = if (instance.config.environment === 'production')
1246
1291
  ```
1247
-
1248
- ## trace
1249
-
1250
- ### `__flowStep`
1251
-
1252
- Wraps `impl` so that, under an active traced Flow, each call records a `trace_step`.
1253
-
1254
- ```typescript
1255
- function __flowStep<F extends AnyFunction>(meta: FlowStepMeta, impl: F): F
1256
- ```
@@ -12,7 +12,7 @@ export function registerTsResolveHooks() {
12
12
  // to its backing TS file (.js→.ts + extensionless); `load` fully transpiles it
13
13
  // (parameter properties, enums, namespaces) via Node's bundled
14
14
  // `stripTypeScriptTypes` — `--experimental-strip-types` only erases annotations
15
- // and rejects those features. Keep in sync with ts-resolve-hooks.ts.
15
+ // and rejects those features. Keep resolve and strip in sync with ts-resolve-hooks.ts, which also applies @flow_step.
16
16
  const code = `
17
17
  import { existsSync } from 'node:fs'
18
18
  import { readFile } from 'node:fs/promises'
@@ -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,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD,MAAM,eAAe,GAAG,oBAAoB,CAAA;AAE5C,MAAM,UAAU,sBAAsB;IACpC,CAAC;QACC,+EAA+E;QAC/E,qEAAqE;QACrE,8EAA8E;QAC9E,+EAA+E;QAC/E,+DAA+D;QAC/D,gFAAgF;QAChF,qEAAqE;QACrE,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA0CZ,CAAA;QACD,QAAQ,CAAC,wBAAwB,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC9D,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAY;IACjD,MAAM,KAAK,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;IAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;IAC/C,MAAM,UAAU,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;IAEzF,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,OAAO,YAAY,CAAC,UAAU,CAAC,CAAA;AACjC,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAA;IAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,WAAW,CACnB,4DAA4D,IAAI,EAAE,EAClE,qCAAqC,eAAe,+CAA+C,CACpG,CAAA;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,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,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD,MAAM,eAAe,GAAG,oBAAoB,CAAA;AAE5C,MAAM,UAAU,sBAAsB;IACpC,CAAC;QACC,+EAA+E;QAC/E,qEAAqE;QACrE,8EAA8E;QAC9E,+EAA+E;QAC/E,+DAA+D;QAC/D,gFAAgF;QAChF,sHAAsH;QACtH,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA0CZ,CAAA;QACD,QAAQ,CAAC,wBAAwB,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC9D,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAY;IACjD,MAAM,KAAK,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;IAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;IAC/C,MAAM,UAAU,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;IAEzF,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,OAAO,YAAY,CAAC,UAAU,CAAC,CAAA;AACjC,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAA;IAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,WAAW,CACnB,4DAA4D,IAAI,EAAE,EAClE,qCAAqC,eAAe,+CAA+C,CACpG,CAAA;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,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 +1 @@
1
- {"version":3,"file":"ts-resolve-hooks.d.ts","sourceRoot":"","sources":["../../../src/core/config/ts-resolve-hooks.ts"],"names":[],"mappings":"AAwBA,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,CAmBjB;AAgBD,UAAU,UAAU;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC,UAAU,CAAA;IACjD,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AASD,wBAAsB,IAAI,CACxB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,EAC/C,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAC3G,OAAO,CAAC,UAAU,CAAC,CAOrB"}
1
+ {"version":3,"file":"ts-resolve-hooks.d.ts","sourceRoot":"","sources":["../../../src/core/config/ts-resolve-hooks.ts"],"names":[],"mappings":"AA6BA,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,CAmBjB;AAgBD,UAAU,UAAU;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC,UAAU,CAAA;IACjD,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AASD,wBAAsB,IAAI,CACxB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,EAC/C,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAC3G,OAAO,CAAC,UAAU,CAAC,CAYrB"}
@@ -3,7 +3,9 @@ import { readFile } from 'node:fs/promises';
3
3
  import { fileURLToPath } from 'node:url';
4
4
  import { stripTypeScriptTypes } from 'node:module';
5
5
  // ESM loader hooks — run on a separate thread, so this file must be
6
- // self-contained (no imports from the rest of pipework).
6
+ // self-contained: no static imports from the rest of pipework. The one
7
+ // exception is `load`, which dynamically imports the flow-step transformer
8
+ // (`../../trace/transformer/apply.js`) only for a file that mentions `@flow_step`.
7
9
  //
8
10
  // `resolve` rewrites a relative specifier to the TS file that actually backs
9
11
  // it (.js→.ts, and extensionless bundler-style imports); `load` fully transpiles
@@ -11,11 +13,14 @@ import { stripTypeScriptTypes } from 'node:module';
11
13
  // `--experimental-strip-types` cannot do. Together they let `pipework dev` and
12
14
  // config discovery run a consumer's real TypeScript source unbuilt.
13
15
  //
14
- // Mirrors the inline hook in `registerTsResolveHooks()` (discover.ts). They
15
- // stay separate on purpose: that one registers a self-contained `data:` URL so
16
- // it works during pipework's own source-mode runs where this compiled `.js`
17
- // file does not exist yet; this one is a real file loaded via `--import` into
18
- // child processes (`pipework dev`). Keep BOTH hooks in sync.
16
+ // Mirrors the inline hook in `registerTsResolveHooks()` (discover.ts) for
17
+ // `resolve` and for TS stripping. They stay separate on purpose: that one
18
+ // registers a self-contained `data:` URL so it works during pipework's own
19
+ // source-mode runs where this compiled `.js` file does not exist yet, and it
20
+ // skips the `@flow_step` transform because config discovery has no steps; this
21
+ // one is a real file loaded via `--import` into child processes (`pipework
22
+ // dev`/`serve`), so it can reach the compiled transformer by relative URL.
23
+ // Keep the `resolve` and strip logic of BOTH hooks in sync.
19
24
  //
20
25
  // The `.ts` candidate must exist on disk before we rewrite. `nextResolve` does
21
26
  // not touch the filesystem for file: URLs, so a missing file is not caught by a
@@ -66,7 +71,13 @@ function tsCandidates(specifier) {
66
71
  // `.js` and node_modules is left to the host loader.
67
72
  export async function load(url, context, nextLoad) {
68
73
  if (url.endsWith('.ts') && !url.includes('/node_modules/')) {
69
- const source = await readFile(fileURLToPath(url), 'utf8');
74
+ let source = await readFile(fileURLToPath(url), 'utf8');
75
+ if (source.includes('@flow_step')) {
76
+ const { applyFlowStepTransform } = await import('../../trace/transformer/apply.js');
77
+ const applied = applyFlowStepTransform(source, fileURLToPath(url));
78
+ if (applied !== null)
79
+ source = applied.code;
80
+ }
70
81
  const code = stripTypeScriptTypes(source, { mode: 'transform', sourceMap: true, sourceUrl: url });
71
82
  return { format: 'module', source: code, shortCircuit: true };
72
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ts-resolve-hooks.js","sourceRoot":"","sources":["../../../src/core/config/ts-resolve-hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ts-resolve-hooks.js","sourceRoot":"","sources":["../../../src/core/config/ts-resolve-hooks.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"vitest-plugin.d.ts","sourceRoot":"","sources":["../../src/test/vitest-plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAE3C,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,iLAAiL;IACjL,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC3C;AAwCD,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,MAAM,CAkDhE"}
1
+ {"version":3,"file":"vitest-plugin.d.ts","sourceRoot":"","sources":["../../src/test/vitest-plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAI3C,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,iLAAiL;IACjL,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC3C;AAkDD,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,MAAM,CAmDhE"}
@@ -1,5 +1,6 @@
1
1
  import { existsSync } from 'node:fs';
2
- import { sep } from 'node:path';
2
+ import { isAbsolute, sep } from 'node:path';
3
+ import { applyFlowStepTransform } from '../trace/transformer/apply.js';
3
4
  function splitWorkspacePackages(workspacePackages) {
4
5
  const exact = {};
5
6
  const wildcard = [];
@@ -22,11 +23,21 @@ function splitWorkspacePackages(workspacePackages) {
22
23
  }
23
24
  return { exact, wildcard };
24
25
  }
26
+ // Wraps `@flow_step` functions in consumer source so they run as trace steps
27
+ // under test. Runs before Vite strips types; the printer reflows the file, so
28
+ // stack-trace lines inside an annotated file can shift.
29
+ const flowStepTransform = function (code, id) {
30
+ const file = id.split('?')[0] ?? id;
31
+ if (!/\.tsx?$/.test(file) || file.includes('/node_modules/') || !isAbsolute(file))
32
+ return null;
33
+ const applied = applyFlowStepTransform(code, file);
34
+ return applied === null ? null : { code: applied.code, map: null };
35
+ };
25
36
  export function pipework(options) {
26
37
  const packageRoot = options?.packageRoot;
27
38
  const workspacePackages = options?.workspacePackages;
28
39
  if (packageRoot === undefined && workspacePackages === undefined) {
29
- return { name: 'pipework' };
40
+ return { name: 'pipework', enforce: 'pre', transform: flowStepTransform };
30
41
  }
31
42
  const distPrefix = packageRoot !== undefined ? packageRoot + sep + 'dist' + sep : undefined;
32
43
  const srcPrefix = packageRoot !== undefined ? packageRoot + sep + 'src' + sep : undefined;
@@ -36,6 +47,7 @@ export function pipework(options) {
36
47
  return {
37
48
  name: 'pipework',
38
49
  enforce: 'pre',
50
+ transform: flowStepTransform,
39
51
  async resolveId(source, importer) {
40
52
  // Cross-package (#301): a bare workspace specifier resolves straight to src/.
41
53
  if (workspacePackages !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"vitest-plugin.js","sourceRoot":"","sources":["../../src/test/vitest-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vitest-plugin.js","sourceRoot":"","sources":["../../src/test/vitest-plugin.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
1
  import type { FlowStepMeta } from './step-meta.js';
2
2
  type AnyFunction = (...args: any[]) => any;
3
- /** Wraps `impl` so that, under an active traced Flow, each call records a `trace_step`. */
3
+ /**
4
+ * Wraps `impl` so that, under an active traced Flow, each call records a `trace_step`.
5
+ *
6
+ * A function documented with `@flow_step` (and `@touches Entity:verb`) is wrapped automatically: under `pipework test` and the vitest preset, and under `pipework dev` and `pipework serve`. An app built with plain `tsc` gets no wrapping: run it through `pipework serve`, or call `__flowStep` by hand.
7
+ */
4
8
  export declare function __flowStep<F extends AnyFunction>(meta: FlowStepMeta, impl: F): F;
5
9
  export {};
6
10
  //# sourceMappingURL=flow-step.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"flow-step.d.ts","sourceRoot":"","sources":["../../../src/trace/runtime/flow-step.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAqB,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAKrE,KAAK,WAAW,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;AAE1C,2FAA2F;AAC3F,wBAAgB,UAAU,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CA2DhF"}
1
+ {"version":3,"file":"flow-step.d.ts","sourceRoot":"","sources":["../../../src/trace/runtime/flow-step.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAqB,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAKrE,KAAK,WAAW,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;AAE1C;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CA2DhF"}
@@ -26,7 +26,11 @@ import { serializeForTrace } from '../capture/bounded-serializer.js';
26
26
  import { isThenable } from './thenable.js';
27
27
  import { truncateTrace } from './truncate-trace.js';
28
28
  import { emitReadTouches } from '../../data/write/audit/read-touches.js';
29
- /** Wraps `impl` so that, under an active traced Flow, each call records a `trace_step`. */
29
+ /**
30
+ * Wraps `impl` so that, under an active traced Flow, each call records a `trace_step`.
31
+ *
32
+ * A function documented with `@flow_step` (and `@touches Entity:verb`) is wrapped automatically: under `pipework test` and the vitest preset, and under `pipework dev` and `pipework serve`. An app built with plain `tsc` gets no wrapping: run it through `pipework serve`, or call `__flowStep` by hand.
33
+ */
30
34
  export function __flowStep(meta, impl) {
31
35
  function traced(...args) {
32
36
  const flow = getContext();
@@ -1 +1 @@
1
- {"version":3,"file":"flow-step.js","sourceRoot":"","sources":["../../../src/trace/runtime/flow-step.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flow-step.js","sourceRoot":"","sources":["../../../src/trace/runtime/flow-step.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { FlowStepTransformError } from './transform-error.js';
2
+ export interface AppliedFlowSteps {
3
+ readonly code: string;
4
+ readonly errors: readonly FlowStepTransformError[];
5
+ }
6
+ /**
7
+ * The directory `ref` paths are relative to: the nearest ancestor holding
8
+ * `pipework.config.ts` (the directory `pipework check` runs from), else the
9
+ * nearest holding `package.json`, else the file's own directory.
10
+ */
11
+ export declare function flowStepProjectRoot(fileName: string): string;
12
+ /**
13
+ * Wraps every `@flow_step` declaration in `source`. Returns null when there is
14
+ * nothing to wrap. Throws one error naming every hard transform error: an
15
+ * annotated function left unwrapped records no trace and no audit.
16
+ */
17
+ export declare function applyFlowStepTransform(source: string, fileName: string, projectRoot?: string): AppliedFlowSteps | null;
18
+ //# sourceMappingURL=apply.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../../src/trace/transformer/apply.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAElE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,SAAS,sBAAsB,EAAE,CAAA;CACnD;AAID;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAO5D;AAYD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,WAAW,GAAE,MAAsC,GAClD,gBAAgB,GAAG,IAAI,CAwBzB"}
@@ -0,0 +1,67 @@
1
+ // Applies the flow-step transformer to one source file: the entry point both
2
+ // the vitest plugin and the Node dev/serve loader call. Returns null without
3
+ // parsing when the source carries no `@flow_step`, so unannotated files cost a
4
+ // substring search. Types are kept in the output; the caller's own TypeScript
5
+ // stripping still runs after this.
6
+ import { existsSync } from 'node:fs';
7
+ import { dirname, join, resolve } from 'node:path';
8
+ import ts from 'typescript';
9
+ import { createFlowStepTransformer } from './transform-flow-steps.js';
10
+ const rootCache = new Map();
11
+ /**
12
+ * The directory `ref` paths are relative to: the nearest ancestor holding
13
+ * `pipework.config.ts` (the directory `pipework check` runs from), else the
14
+ * nearest holding `package.json`, else the file's own directory.
15
+ */
16
+ export function flowStepProjectRoot(fileName) {
17
+ const start = dirname(resolve(fileName));
18
+ const cached = rootCache.get(start);
19
+ if (cached !== undefined)
20
+ return cached;
21
+ const found = walkUp(start, 'pipework.config.ts') ?? walkUp(start, 'package.json') ?? start;
22
+ rootCache.set(start, found);
23
+ return found;
24
+ }
25
+ function walkUp(start, marker) {
26
+ let dir = start;
27
+ for (;;) {
28
+ if (existsSync(join(dir, marker)))
29
+ return dir;
30
+ const parent = dirname(dir);
31
+ if (parent === dir)
32
+ return null;
33
+ dir = parent;
34
+ }
35
+ }
36
+ /**
37
+ * Wraps every `@flow_step` declaration in `source`. Returns null when there is
38
+ * nothing to wrap. Throws one error naming every hard transform error: an
39
+ * annotated function left unwrapped records no trace and no audit.
40
+ */
41
+ export function applyFlowStepTransform(source, fileName, projectRoot = flowStepProjectRoot(fileName)) {
42
+ if (!source.includes('@flow_step'))
43
+ return null;
44
+ const errors = [];
45
+ const sourceFile = ts.createSourceFile(fileName, source, ts.ScriptTarget.ESNext, true);
46
+ const transformer = createFlowStepTransformer({
47
+ projectRoot,
48
+ runtimeImport: 'pipework',
49
+ onError: e => errors.push(e),
50
+ });
51
+ const result = ts.transform(sourceFile, [transformer]);
52
+ try {
53
+ if (errors.length > 0) {
54
+ const lines = errors.map(e => ` ${e.file}:${String(e.line)} ${e.code}: ${e.message}`);
55
+ throw new Error(`[pipework] @flow_step could not be applied — the annotated function(s) would run unwrapped:\n${lines.join('\n')}`);
56
+ }
57
+ const printer = ts.createPrinter({ newLine: ts.NewLineKind.LineFeed });
58
+ const transformed = result.transformed[0];
59
+ if (transformed === undefined || transformed === sourceFile)
60
+ return null;
61
+ return { code: printer.printFile(transformed), errors };
62
+ }
63
+ finally {
64
+ result.dispose();
65
+ }
66
+ }
67
+ //# sourceMappingURL=apply.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../src/trace/transformer/apply.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,7 @@
1
1
  import ts from 'typescript';
2
- export declare function buildMetaLiteral(factory: ts.NodeFactory, ref: string): ts.ObjectLiteralExpression;
2
+ export interface MetaTouchTarget {
3
+ readonly entity: string;
4
+ readonly verb: string;
5
+ }
6
+ export declare function buildMetaLiteral(factory: ts.NodeFactory, ref: string, touches?: readonly MetaTouchTarget[]): ts.ObjectLiteralExpression;
3
7
  //# sourceMappingURL=build-meta-literal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"build-meta-literal.d.ts","sourceRoot":"","sources":["../../../src/trace/transformer/build-meta-literal.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,EAAE,CAAC,uBAAuB,CAKjG"}
1
+ {"version":3,"file":"build-meta-literal.d.ts","sourceRoot":"","sources":["../../../src/trace/transformer/build-meta-literal.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAID,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,EAAE,CAAC,WAAW,EACvB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,SAAS,eAAe,EAAO,GACvC,EAAE,CAAC,uBAAuB,CAY5B"}
@@ -2,7 +2,16 @@
2
2
  // wrap site. The `ref` is the `path:symbol` node id — the same shape the
3
3
  // annotation grammar uses for `@upstream` / `@downstream` targets.
4
4
  import ts from 'typescript';
5
- export function buildMetaLiteral(factory, ref) {
6
- return factory.createObjectLiteralExpression([factory.createPropertyAssignment('ref', factory.createStringLiteral(ref))], false);
5
+ // `touches` (the `@touches Entity:verb` targets) is baked in only when
6
+ // non-empty, so an unaudited step keeps the plain `{ ref }` literal.
7
+ export function buildMetaLiteral(factory, ref, touches = []) {
8
+ const properties = [factory.createPropertyAssignment('ref', factory.createStringLiteral(ref))];
9
+ if (touches.length > 0) {
10
+ properties.push(factory.createPropertyAssignment('touches', factory.createArrayLiteralExpression(touches.map(t => factory.createObjectLiteralExpression([
11
+ factory.createPropertyAssignment('entity', factory.createStringLiteral(t.entity)),
12
+ factory.createPropertyAssignment('verb', factory.createStringLiteral(t.verb)),
13
+ ])))));
14
+ }
15
+ return factory.createObjectLiteralExpression(properties, false);
7
16
  }
8
17
  //# sourceMappingURL=build-meta-literal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"build-meta-literal.js","sourceRoot":"","sources":["../../../src/trace/transformer/build-meta-literal.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,yEAAyE;AACzE,mEAAmE;AAEnE,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,MAAM,UAAU,gBAAgB,CAAC,OAAuB,EAAE,GAAW;IACnE,OAAO,OAAO,CAAC,6BAA6B,CAC1C,CAAC,OAAO,CAAC,wBAAwB,CAAC,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAC3E,KAAK,CACN,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"build-meta-literal.js","sourceRoot":"","sources":["../../../src/trace/transformer/build-meta-literal.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,yEAAyE;AACzE,mEAAmE;AAEnE,OAAO,EAAE,MAAM,YAAY,CAAA;AAO3B,uEAAuE;AACvE,qEAAqE;AACrE,MAAM,UAAU,gBAAgB,CAC9B,OAAuB,EACvB,GAAW,EACX,UAAsC,EAAE;IAExC,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,wBAAwB,CAAC,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAC9F,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAC9C,SAAS,EACT,OAAO,CAAC,4BAA4B,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC;YAC1F,OAAO,CAAC,wBAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACjF,OAAO,CAAC,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAC9E,CAAC,CAAC,CAAC,CACL,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,OAAO,CAAC,6BAA6B,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;AACjE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"transform-flow-steps.d.ts","sourceRoot":"","sources":["../../../src/trace/transformer/transform-flow-steps.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,MAAM,YAAY,CAAA;AAM3B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAElE,MAAM,WAAW,wBAAwB;IACvC,qEAAqE;IACrE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,qEAAqE;IACrE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,gEAAgE;IAChE,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,sBAAsB,KAAK,IAAI,CAAA;CACxD;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,wBAAwB,GAChC,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC,UAAU,CAAC,CAEtC"}
1
+ {"version":3,"file":"transform-flow-steps.d.ts","sourceRoot":"","sources":["../../../src/trace/transformer/transform-flow-steps.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,MAAM,YAAY,CAAA;AAO3B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAElE,MAAM,WAAW,wBAAwB;IACvC,qEAAqE;IACrE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,qEAAqE;IACrE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,gEAAgE;IAChE,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,sBAAsB,KAAK,IAAI,CAAA;CACxD;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,wBAAwB,GAChC,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC,UAAU,CAAC,CAEtC"}
@@ -71,13 +71,14 @@ function wrapSite(site, fileName, relPath, factory, onError) {
71
71
  return null;
72
72
  }
73
73
  const ref = `${relPath}:${shape.name}`;
74
- return dispatch(shape, site.statement, ref, factory);
74
+ const touches = site.annotation.annotation.touches;
75
+ return dispatch(shape, site.statement, ref, factory, touches);
75
76
  }
76
- function dispatch(shape, statement, ref, factory) {
77
+ function dispatch(shape, statement, ref, factory, touches) {
77
78
  if (shape.kind === 'function-declaration') {
78
- return wrapFunctionDeclaration(statement, shape.name, ref, factory);
79
+ return wrapFunctionDeclaration(statement, shape.name, ref, factory, touches);
79
80
  }
80
- return wrapVariableDeclaration(statement, shape.name, ref, factory);
81
+ return wrapVariableDeclaration(statement, shape.name, ref, factory, touches);
81
82
  }
82
83
  function toPosixPath(filePath) {
83
84
  return sep === posix.sep ? filePath : filePath.split(sep).join(posix.sep);
@@ -1 +1 @@
1
- {"version":3,"file":"transform-flow-steps.js","sourceRoot":"","sources":["../../../src/trace/transformer/transform-flow-steps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transform-flow-steps.js","sourceRoot":"","sources":["../../../src/trace/transformer/transform-flow-steps.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  import ts from 'typescript';
2
- export declare function wrapFunctionDeclaration(original: ts.FunctionDeclaration, name: string, ref: string, factory: ts.NodeFactory): readonly ts.Statement[];
2
+ import { type MetaTouchTarget } from './build-meta-literal.js';
3
+ export declare function wrapFunctionDeclaration(original: ts.FunctionDeclaration, name: string, ref: string, factory: ts.NodeFactory, touches?: readonly MetaTouchTarget[]): readonly ts.Statement[];
3
4
  //# sourceMappingURL=wrap-function-declaration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wrap-function-declaration.d.ts","sourceRoot":"","sources":["../../../src/trace/transformer/wrap-function-declaration.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,MAAM,YAAY,CAAA;AAI3B,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,EAAE,CAAC,mBAAmB,EAChC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,EAAE,CAAC,WAAW,GACtB,SAAS,EAAE,CAAC,SAAS,EAAE,CAqCzB"}
1
+ {"version":3,"file":"wrap-function-declaration.d.ts","sourceRoot":"","sources":["../../../src/trace/transformer/wrap-function-declaration.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAEhF,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,EAAE,CAAC,mBAAmB,EAChC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,EAAE,CAAC,WAAW,EACvB,OAAO,GAAE,SAAS,eAAe,EAAO,GACvC,SAAS,EAAE,CAAC,SAAS,EAAE,CAqCzB"}
@@ -13,7 +13,7 @@
13
13
  // the wrapper so the public name keeps its existing visibility.
14
14
  import ts from 'typescript';
15
15
  import { buildMetaLiteral } from './build-meta-literal.js';
16
- export function wrapFunctionDeclaration(original, name, ref, factory) {
16
+ export function wrapFunctionDeclaration(original, name, ref, factory, touches = []) {
17
17
  const implName = `${name}__impl`;
18
18
  const originalModifiers = ts.getModifiers(original) ?? [];
19
19
  const isExported = originalModifiers.some(m => m.kind === ts.SyntaxKind.ExportKeyword);
@@ -22,7 +22,7 @@ export function wrapFunctionDeclaration(original, name, ref, factory) {
22
22
  const wrapperModifiers = isExported
23
23
  ? [factory.createModifier(ts.SyntaxKind.ExportKeyword)]
24
24
  : undefined;
25
- const wrapper = factory.createVariableStatement(wrapperModifiers, factory.createVariableDeclarationList([factory.createVariableDeclaration(factory.createIdentifier(name), undefined, undefined, factory.createCallExpression(factory.createIdentifier('__flowStep'), undefined, [buildMetaLiteral(factory, ref), factory.createIdentifier(implName)]))], ts.NodeFlags.Const));
25
+ const wrapper = factory.createVariableStatement(wrapperModifiers, factory.createVariableDeclarationList([factory.createVariableDeclaration(factory.createIdentifier(name), undefined, undefined, factory.createCallExpression(factory.createIdentifier('__flowStep'), undefined, [buildMetaLiteral(factory, ref, touches), factory.createIdentifier(implName)]))], ts.NodeFlags.Const));
26
26
  return [impl, wrapper];
27
27
  }
28
28
  //# sourceMappingURL=wrap-function-declaration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wrap-function-declaration.js","sourceRoot":"","sources":["../../../src/trace/transformer/wrap-function-declaration.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,EAAE;AACF,sBAAsB;AACtB,wDAAwD;AACxD,EAAE;AACF,UAAU;AACV,EAAE;AACF,uDAAuD;AACvD,sEAAsE;AACtE,EAAE;AACF,8EAA8E;AAC9E,6EAA6E;AAC7E,gEAAgE;AAEhE,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAE1D,MAAM,UAAU,uBAAuB,CACrC,QAAgC,EAChC,IAAY,EACZ,GAAW,EACX,OAAuB;IAEvB,MAAM,QAAQ,GAAG,GAAG,IAAI,QAAQ,CAAA;IAChC,MAAM,iBAAiB,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;IACzD,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;IACtF,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;IAE3F,MAAM,IAAI,GAAG,OAAO,CAAC,yBAAyB,CAC5C,aAAa,EACb,QAAQ,CAAC,aAAa,EACtB,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAClC,QAAQ,CAAC,cAAc,EACvB,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,IAAI,EACb,QAAQ,CAAC,IAAI,CACd,CAAA;IAED,MAAM,gBAAgB,GAAG,UAAU;QACjC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACvD,CAAC,CAAC,SAAS,CAAA;IACb,MAAM,OAAO,GAAG,OAAO,CAAC,uBAAuB,CAC7C,gBAAgB,EAChB,OAAO,CAAC,6BAA6B,CACnC,CAAC,OAAO,CAAC,yBAAyB,CAChC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAC9B,SAAS,EACT,SAAS,EACT,OAAO,CAAC,oBAAoB,CAC1B,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,EACtC,SAAS,EACT,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CACrE,CACF,CAAC,EACF,EAAE,CAAC,SAAS,CAAC,KAAK,CACnB,CACF,CAAA;IAED,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AACxB,CAAC"}
1
+ {"version":3,"file":"wrap-function-declaration.js","sourceRoot":"","sources":["../../../src/trace/transformer/wrap-function-declaration.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,EAAE;AACF,sBAAsB;AACtB,wDAAwD;AACxD,EAAE;AACF,UAAU;AACV,EAAE;AACF,uDAAuD;AACvD,sEAAsE;AACtE,EAAE;AACF,8EAA8E;AAC9E,6EAA6E;AAC7E,gEAAgE;AAEhE,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,OAAO,EAAE,gBAAgB,EAAwB,MAAM,yBAAyB,CAAA;AAEhF,MAAM,UAAU,uBAAuB,CACrC,QAAgC,EAChC,IAAY,EACZ,GAAW,EACX,OAAuB,EACvB,UAAsC,EAAE;IAExC,MAAM,QAAQ,GAAG,GAAG,IAAI,QAAQ,CAAA;IAChC,MAAM,iBAAiB,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;IACzD,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;IACtF,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;IAE3F,MAAM,IAAI,GAAG,OAAO,CAAC,yBAAyB,CAC5C,aAAa,EACb,QAAQ,CAAC,aAAa,EACtB,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAClC,QAAQ,CAAC,cAAc,EACvB,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,IAAI,EACb,QAAQ,CAAC,IAAI,CACd,CAAA;IAED,MAAM,gBAAgB,GAAG,UAAU;QACjC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACvD,CAAC,CAAC,SAAS,CAAA;IACb,MAAM,OAAO,GAAG,OAAO,CAAC,uBAAuB,CAC7C,gBAAgB,EAChB,OAAO,CAAC,6BAA6B,CACnC,CAAC,OAAO,CAAC,yBAAyB,CAChC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAC9B,SAAS,EACT,SAAS,EACT,OAAO,CAAC,oBAAoB,CAC1B,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,EACtC,SAAS,EACT,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAC9E,CACF,CAAC,EACF,EAAE,CAAC,SAAS,CAAC,KAAK,CACnB,CACF,CAAA;IAED,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AACxB,CAAC"}
@@ -1,3 +1,4 @@
1
1
  import ts from 'typescript';
2
- export declare function wrapVariableDeclaration(original: ts.VariableStatement, name: string, ref: string, factory: ts.NodeFactory): readonly ts.Statement[];
2
+ import { type MetaTouchTarget } from './build-meta-literal.js';
3
+ export declare function wrapVariableDeclaration(original: ts.VariableStatement, name: string, ref: string, factory: ts.NodeFactory, touches?: readonly MetaTouchTarget[]): readonly ts.Statement[];
3
4
  //# sourceMappingURL=wrap-variable-declaration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wrap-variable-declaration.d.ts","sourceRoot":"","sources":["../../../src/trace/transformer/wrap-variable-declaration.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,MAAM,YAAY,CAAA;AAI3B,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,EAAE,CAAC,iBAAiB,EAC9B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,EAAE,CAAC,WAAW,GACtB,SAAS,EAAE,CAAC,SAAS,EAAE,CA2CzB"}
1
+ {"version":3,"file":"wrap-variable-declaration.d.ts","sourceRoot":"","sources":["../../../src/trace/transformer/wrap-variable-declaration.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAEhF,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,EAAE,CAAC,iBAAiB,EAC9B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,EAAE,CAAC,WAAW,EACvB,OAAO,GAAE,SAAS,eAAe,EAAO,GACvC,SAAS,EAAE,CAAC,SAAS,EAAE,CA2CzB"}
@@ -12,7 +12,7 @@
12
12
  // reference. `export` is moved from the impl binding onto the wrapper binding.
13
13
  import ts from 'typescript';
14
14
  import { buildMetaLiteral } from './build-meta-literal.js';
15
- export function wrapVariableDeclaration(original, name, ref, factory) {
15
+ export function wrapVariableDeclaration(original, name, ref, factory, touches = []) {
16
16
  const originalModifiers = ts.getModifiers(original) ?? [];
17
17
  const isExported = originalModifiers.some(m => m.kind === ts.SyntaxKind.ExportKeyword);
18
18
  const declarator = original.declarationList.declarations[0];
@@ -24,7 +24,7 @@ export function wrapVariableDeclaration(original, name, ref, factory) {
24
24
  const wrapperModifiers = isExported
25
25
  ? [factory.createModifier(ts.SyntaxKind.ExportKeyword)]
26
26
  : undefined;
27
- const wrapper = factory.createVariableStatement(wrapperModifiers, factory.createVariableDeclarationList([factory.createVariableDeclaration(factory.createIdentifier(name), undefined, undefined, factory.createCallExpression(factory.createIdentifier('__flowStep'), undefined, [buildMetaLiteral(factory, ref), factory.createIdentifier(implName)]))], ts.NodeFlags.Const));
27
+ const wrapper = factory.createVariableStatement(wrapperModifiers, factory.createVariableDeclarationList([factory.createVariableDeclaration(factory.createIdentifier(name), undefined, undefined, factory.createCallExpression(factory.createIdentifier('__flowStep'), undefined, [buildMetaLiteral(factory, ref, touches), factory.createIdentifier(implName)]))], ts.NodeFlags.Const));
28
28
  return [impl, wrapper];
29
29
  }
30
30
  //# sourceMappingURL=wrap-variable-declaration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wrap-variable-declaration.js","sourceRoot":"","sources":["../../../src/trace/transformer/wrap-variable-declaration.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,EAAE;AACF,sBAAsB;AACtB,mEAAmE;AACnE,EAAE;AACF,UAAU;AACV,EAAE;AACF,kEAAkE;AAClE,sEAAsE;AACtE,EAAE;AACF,0EAA0E;AAC1E,+EAA+E;AAE/E,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAE1D,MAAM,UAAU,uBAAuB,CACrC,QAA8B,EAC9B,IAAY,EACZ,GAAW,EACX,OAAuB;IAEvB,MAAM,iBAAiB,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;IACzD,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;IACtF,MAAM,UAAU,GAAG,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IAC3D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,yGAAyG,CAAC,CAAA;IAC5H,CAAC;IACD,MAAM,QAAQ,GAAG,GAAG,IAAI,QAAQ,CAAA;IAEhC,MAAM,IAAI,GAAG,OAAO,CAAC,uBAAuB,CAC1C,SAAS,EACT,OAAO,CAAC,6BAA6B,CACnC,CAAC,OAAO,CAAC,yBAAyB,CAChC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAClC,SAAS,EACT,UAAU,CAAC,IAAI,EACf,UAAU,CAAC,WAAW,CACvB,CAAC,EACF,EAAE,CAAC,SAAS,CAAC,KAAK,CACnB,CACF,CAAA;IAED,MAAM,gBAAgB,GAAG,UAAU;QACjC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACvD,CAAC,CAAC,SAAS,CAAA;IACb,MAAM,OAAO,GAAG,OAAO,CAAC,uBAAuB,CAC7C,gBAAgB,EAChB,OAAO,CAAC,6BAA6B,CACnC,CAAC,OAAO,CAAC,yBAAyB,CAChC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAC9B,SAAS,EACT,SAAS,EACT,OAAO,CAAC,oBAAoB,CAC1B,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,EACtC,SAAS,EACT,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CACrE,CACF,CAAC,EACF,EAAE,CAAC,SAAS,CAAC,KAAK,CACnB,CACF,CAAA;IAED,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AACxB,CAAC"}
1
+ {"version":3,"file":"wrap-variable-declaration.js","sourceRoot":"","sources":["../../../src/trace/transformer/wrap-variable-declaration.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,EAAE;AACF,sBAAsB;AACtB,mEAAmE;AACnE,EAAE;AACF,UAAU;AACV,EAAE;AACF,kEAAkE;AAClE,sEAAsE;AACtE,EAAE;AACF,0EAA0E;AAC1E,+EAA+E;AAE/E,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,OAAO,EAAE,gBAAgB,EAAwB,MAAM,yBAAyB,CAAA;AAEhF,MAAM,UAAU,uBAAuB,CACrC,QAA8B,EAC9B,IAAY,EACZ,GAAW,EACX,OAAuB,EACvB,UAAsC,EAAE;IAExC,MAAM,iBAAiB,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;IACzD,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;IACtF,MAAM,UAAU,GAAG,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IAC3D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,yGAAyG,CAAC,CAAA;IAC5H,CAAC;IACD,MAAM,QAAQ,GAAG,GAAG,IAAI,QAAQ,CAAA;IAEhC,MAAM,IAAI,GAAG,OAAO,CAAC,uBAAuB,CAC1C,SAAS,EACT,OAAO,CAAC,6BAA6B,CACnC,CAAC,OAAO,CAAC,yBAAyB,CAChC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAClC,SAAS,EACT,UAAU,CAAC,IAAI,EACf,UAAU,CAAC,WAAW,CACvB,CAAC,EACF,EAAE,CAAC,SAAS,CAAC,KAAK,CACnB,CACF,CAAA;IAED,MAAM,gBAAgB,GAAG,UAAU;QACjC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACvD,CAAC,CAAC,SAAS,CAAA;IACb,MAAM,OAAO,GAAG,OAAO,CAAC,uBAAuB,CAC7C,gBAAgB,EAChB,OAAO,CAAC,6BAA6B,CACnC,CAAC,OAAO,CAAC,yBAAyB,CAChC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAC9B,SAAS,EACT,SAAS,EACT,OAAO,CAAC,oBAAoB,CAC1B,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,EACtC,SAAS,EACT,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAC9E,CACF,CAAC,EACF,EAAE,CAAC,SAAS,CAAC,KAAK,CACnB,CACF,CAAA;IAED,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AACxB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pipework",
3
- "version": "0.56.1",
3
+ "version": "0.56.2",
4
4
  "description": "TypeScript framework for multi-tenant SaaS applications. PostgreSQL-only.",
5
5
  "type": "module",
6
6
  "license": "MIT",