@rasputin-ai/node 0.5.0-alpha.13 → 0.5.0-alpha.14

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/README.md +62 -33
  2. package/dist/auto-instrumentation/bun-plugin.d.ts.map +1 -1
  3. package/dist/auto-instrumentation/format-configuration-report.d.ts +4 -0
  4. package/dist/auto-instrumentation/format-configuration-report.d.ts.map +1 -1
  5. package/dist/auto-instrumentation/instrument-compiled-esm.d.ts +1 -3
  6. package/dist/auto-instrumentation/instrument-compiled-esm.d.ts.map +1 -1
  7. package/dist/auto-instrumentation/instrumentation-manifest-delta.d.ts +8 -4
  8. package/dist/auto-instrumentation/instrumentation-manifest-delta.d.ts.map +1 -1
  9. package/dist/auto-instrumentation/instrumentation-manifest-registry.d.ts +6 -0
  10. package/dist/auto-instrumentation/instrumentation-manifest-registry.d.ts.map +1 -1
  11. package/dist/auto-instrumentation/node-hooks.d.ts.map +1 -1
  12. package/dist/auto-instrumentation/parameter-initializer-may-run-code.d.ts +3 -0
  13. package/dist/auto-instrumentation/parameter-initializer-may-run-code.d.ts.map +1 -0
  14. package/dist/auto-instrumentation/schedule-instrumentation-manifest-upload.d.ts +1 -1
  15. package/dist/auto-instrumentation/schedule-instrumentation-manifest-upload.d.ts.map +1 -1
  16. package/dist/auto-instrumentation/source-map-locations.d.ts +1 -0
  17. package/dist/auto-instrumentation/source-map-locations.d.ts.map +1 -1
  18. package/dist/auto-instrumentation/suspension-whitelist.d.ts +33 -0
  19. package/dist/auto-instrumentation/suspension-whitelist.d.ts.map +1 -0
  20. package/dist/auto-instrumentation/transform-disk-cache.d.ts +7 -0
  21. package/dist/auto-instrumentation/transform-disk-cache.d.ts.map +1 -0
  22. package/dist/auto-instrumentation/transform-source.d.ts +9 -6
  23. package/dist/auto-instrumentation/transform-source.d.ts.map +1 -1
  24. package/dist/auto-instrumentation/verify-instrumentation-isomorphism.d.ts +2 -0
  25. package/dist/auto-instrumentation/verify-instrumentation-isomorphism.d.ts.map +1 -0
  26. package/dist/auto-instrumentation/verify-transformed-source.d.ts +2 -0
  27. package/dist/auto-instrumentation/verify-transformed-source.d.ts.map +1 -0
  28. package/dist/execution-recorder/automatic-runtime.d.ts +17 -7
  29. package/dist/execution-recorder/automatic-runtime.d.ts.map +1 -1
  30. package/dist/execution-recorder/encode-frozen.d.ts +16 -0
  31. package/dist/execution-recorder/encode-frozen.d.ts.map +1 -0
  32. package/dist/execution-recorder/execution-journal.d.ts.map +1 -1
  33. package/dist/execution-recorder/execution-recorder-types.d.ts +122 -38
  34. package/dist/execution-recorder/execution-recorder-types.d.ts.map +1 -1
  35. package/dist/execution-recorder/execution-recorder.d.ts +2 -2
  36. package/dist/execution-recorder/execution-recorder.d.ts.map +1 -1
  37. package/dist/execution-recorder/function-plan.d.ts +8 -1
  38. package/dist/execution-recorder/function-plan.d.ts.map +1 -1
  39. package/dist/execution-recorder/index.d.ts +1 -1
  40. package/dist/execution-recorder/index.d.ts.map +1 -1
  41. package/dist/execution-recorder/recorder-memory-budget.d.ts +1 -0
  42. package/dist/execution-recorder/recorder-memory-budget.d.ts.map +1 -1
  43. package/dist/execution-recorder/redact-keys.d.ts +4 -0
  44. package/dist/execution-recorder/redact-keys.d.ts.map +1 -0
  45. package/dist/execution-recorder/run-exactly-once.d.ts +7 -0
  46. package/dist/execution-recorder/run-exactly-once.d.ts.map +1 -0
  47. package/dist/execution-recorder/runtime-state-size-budget.d.ts +3 -3
  48. package/dist/execution-recorder/runtime-state-size-budget.d.ts.map +1 -1
  49. package/dist/execution-recorder/safe-serialize.d.ts +9 -3
  50. package/dist/execution-recorder/safe-serialize.d.ts.map +1 -1
  51. package/dist/execution-recorder/value-freeze.d.ts +43 -0
  52. package/dist/execution-recorder/value-freeze.d.ts.map +1 -0
  53. package/dist/execution-recorder/warn-missing-async-context-frame.d.ts +10 -0
  54. package/dist/execution-recorder/warn-missing-async-context-frame.d.ts.map +1 -0
  55. package/dist/index.d.ts +1 -6
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.js +2420 -954
  58. package/dist/install-global-handlers.d.ts +29 -8
  59. package/dist/install-global-handlers.d.ts.map +1 -1
  60. package/dist/instrument/build.js +947 -805
  61. package/dist/instrument/bun.js +1098 -778
  62. package/dist/instrument/node.js +1078 -780
  63. package/dist/internal.d.ts +7 -0
  64. package/dist/internal.d.ts.map +1 -0
  65. package/dist/internal.js +4072 -0
  66. package/dist/rasputin-init.d.ts +25 -5
  67. package/dist/rasputin-init.d.ts.map +1 -1
  68. package/dist/sdk-meta.d.ts +1 -1
  69. package/package.json +7 -2
  70. package/dist/derivation/analyze-function.d.ts +0 -47
  71. package/dist/derivation/analyze-function.d.ts.map +0 -1
  72. package/dist/derivation/build-dependency-graph.d.ts +0 -26
  73. package/dist/derivation/build-dependency-graph.d.ts.map +0 -1
  74. package/dist/derivation/derivation-ir.d.ts +0 -38
  75. package/dist/derivation/derivation-ir.d.ts.map +0 -1
  76. package/dist/derivation/emit-capture-plan.d.ts +0 -14
  77. package/dist/derivation/emit-capture-plan.d.ts.map +0 -1
  78. package/dist/derivation/plan-is-exact.d.ts +0 -7
  79. package/dist/derivation/plan-is-exact.d.ts.map +0 -1
package/README.md CHANGED
@@ -73,7 +73,11 @@ Optionally attach the runtime state that led to an error — arguments, return v
73
73
 
74
74
  ## Automatic instrumentation
75
75
 
76
- Build-time instrumentation is the production default. Transform compiled unbundled JavaScript after `tsc` so the running process never loads the TypeScript compiler:
76
+ Rasputin wraps your functions so it can show what ran when an error happened.
77
+
78
+ **Compiled JavaScript (use this in production)**
79
+
80
+ Build as you already do, then run `rasputin-instrument` on the output. Start the process normally — no extra flags:
77
81
 
78
82
  ```json
79
83
  {
@@ -85,31 +89,56 @@ Build-time instrumentation is the production default. Transform compiled unbundl
85
89
  }
86
90
  ```
87
91
 
88
- Emit adjacent source maps from TypeScript so function identities stay pointed at the original files. The instrumenter writes `.rasputin/instrumentation-manifest.json` next to the output. RasputinInit loads that file automatically, or from `RASPUTIN_INSTRUMENTATION_MANIFEST`.
92
+ Have TypeScript write `.js.map` files next to the output so recorded functions still point at your `.ts` sources. The instrumenter writes `.rasputin/instrumentation-manifest.json` beside `dist`, and `RasputinInit` loads it automatically.
89
93
 
90
- Node `--import` and Bun `--preload` remain compatibility and development fallbacks. They transform application source as it loads, which pulls compiler infrastructure into the process and has materially higher RSS. Do not use those loader measurements in low-overhead comparisons. In `NODE_ENV=production` the loaders print a one-time warning recommending `rasputin-instrument`. Set `RASPUTIN_SUPPRESS_RUNTIME_TRANSFORM_WARNING=1` to hide it.
94
+ **Running TypeScript directly**
95
+
96
+ `rasputin-instrument` rewrites compiled `.js` files on disk. It does not run when you start TypeScript with Bun (`bun src/app.ts`, `bun run src/app.ts`, and similar). Use `--preload` so Bun wraps files as they load:
91
97
 
92
98
  ```json
93
99
  {
94
100
  "scripts": {
95
- "start:node": "node --import @rasputin-ai/node/instrument/node dist/app.js",
96
101
  "start:bun": "bun --preload @rasputin-ai/node/instrument/bun src/app.ts"
97
102
  }
98
103
  }
99
104
  ```
100
105
 
101
- Runtime state is retained only inside an active execution and attached when that execution throws.
106
+ On Node you can wrap compiled files as they load instead of instrumenting at build time:
107
+
108
+ ```json
109
+ {
110
+ "scripts": {
111
+ "start:node": "node --import @rasputin-ai/node/instrument/node dist/app.js"
112
+ }
113
+ }
114
+ ```
115
+
116
+ Use `--preload` / `--import` while you run TypeScript locally. In production, instrument at build time instead — wrapping files at startup is slower and uses more memory.
117
+
118
+ Runtime state is kept only while a request or job is running, and is attached when that work throws.
102
119
 
103
120
  ## Manual capture
104
121
 
105
122
  Wrap each meaningful unit of work — an HTTP request, background job, scheduled task, or worker iteration — in an execution:
106
123
 
107
124
  ```ts
108
- await rasputin.execution.run({ kind: 'job', name: 'sync-invoices' }, async () => {
109
- await syncInvoices();
110
- });
125
+ const scope = rasputin.execution.createScope({
126
+ kind: 'job',
127
+ name: 'sync-invoices',
128
+ })
129
+
130
+ try {
131
+ return await scope.run(() => syncInvoices())
132
+ } catch (error) {
133
+ scope.associateError(error)
134
+ throw error
135
+ } finally {
136
+ scope.finish()
137
+ }
111
138
  ```
112
139
 
140
+ `scope.run()` executes the callback under this recording's async context and returns exactly what the callback returned. It does not wrap, replace, or observe Promises. The caller owns `await`, error association, and `finish()`.
141
+
113
142
  When automatic instrumentation is unavailable, mark individual functions explicitly:
114
143
 
115
144
  ```ts
@@ -121,20 +150,24 @@ const syncInvoices = rasputin.execution.trace(
121
150
  );
122
151
  ```
123
152
 
153
+ `trace()` preserves the call receiver (`this`) for methods and `.call` / `.apply` / `.bind`. It is not a constructor — do not use `new` on the wrapped function.
154
+
124
155
  Framework packages such as `@rasputin-ai/elysia` create HTTP executions automatically.
125
156
 
126
157
  ## Runtime support
127
158
 
128
159
  | Environment | Support |
129
160
  | --- | --- |
130
- | TypeScript compiled to multiple JavaScript files | Preferred: `rasputin-instrument dist` after `tsc`, with adjacent source maps |
131
- | Bun 1.3.x loading application source directly | Supported using `instrument/bun` as a compatibility fallback |
132
- | Node.js 22.15 or newer loading unbundled ESM/CJS | Supported using `instrument/node` as a compatibility fallback; Node 22 and 24 are the supported LTS lines |
133
- | Single-file bundles (esbuild, tsup, webpack, Vite SSR, Next.js) | Automatic instrumentation not supported |
134
- | `tsx`, custom Node loader stacks, and Node's native TypeScript execution | Automatic instrumentation not supported |
161
+ | TypeScript compiled to multiple JavaScript files | Use `rasputin-instrument dist` after `tsc`, with adjacent source maps |
162
+ | Bun 1.3.x running `.ts` or `.js` files directly | Use `--preload @rasputin-ai/node/instrument/bun` |
163
+ | Node.js 22.15 or newer, unbundled ESM/CJS | Use `rasputin-instrument`, or `--import @rasputin-ai/node/instrument/node`; Node 22 and 24 are the supported LTS lines |
164
+
165
+ On Node.js 22, start the process with `--experimental-async-context-frame` (or set `NODE_OPTIONS`) so `AsyncLocalStorage` uses the faster implementation that Node.js 24 enables by default. Rasputin logs this once when the flag is missing; set `RASPUTIN_SUPPRESS_ASYNC_CONTEXT_FRAME_WARNING=1` to hide it.
166
+ | Single-file bundles (esbuild, tsup, webpack, Vite SSR, Next.js) | Automatic instrumentation is not supported |
167
+ | `tsx`, custom Node loader stacks, and Node's native TypeScript execution | Automatic instrumentation is not supported |
135
168
  | Deno and edge runtimes | Not supported |
136
169
 
137
- Tested on Bun 1.3.13, Node.js 24.19.0. Node.js 22.15.0 is the minimum for automatic instrumentation (synchronous module hooks). Use `execution.run()` and `execution.trace()` when automatic instrumentation is not available.
170
+ Tested on Bun 1.3.13 and Node.js 24.19.0. Node.js 22.15.0 is the minimum for automatic instrumentation. Use `execution.createScope()` and `execution.trace()` when automatic instrumentation is not available.
138
171
 
139
172
  ## Recorder configuration
140
173
 
@@ -149,12 +182,14 @@ Defaults work for most apps. Customize to exclude noisy sources, redact fields,
149
182
  | `maxDepth` | `3` | Maximum captured value depth |
150
183
  | `maxObjectKeys` | `30` | Maximum properties retained from one object |
151
184
  | `maxArrayElements` | `20` | Maximum items retained from one array, map, or set |
152
- | `maxStringLength` | `500` | Maximum characters retained from one string |
153
- | `maxSerializedValueBytes` | `8 KiB` | Maximum retained size of one captured value |
154
- | `runtimeStateTargetBytes` | `256 KiB` | Best-effort complete uncompressed runtime-state target; derivation-only roots are shed first |
155
- | `maxRuntimeStateBytes` | `512 KiB` | Hard ceiling for the complete uncompressed runtime state; values become explicitly unavailable before call boundaries are dropped |
156
- | `redactKeys` | `[]` | Additional case-insensitive property names to redact |
185
+ | `maxStringLength` | `500` | Maximum characters retained from one string |
186
+ | `maxSerializedValueBytes` | `8 KiB` | Maximum retained size of one captured value |
187
+ | `runtimeStateTargetBytes` | `256 KiB` | Soft size goal for the snapshot sent with an error; extra reconstruction data is dropped first |
188
+ | `maxRuntimeStateBytes` | `512 KiB` | Hard size limit for that snapshot; values are dropped before call history |
189
+ | `redactKeys` | `[]` | Additional property names to redact (case- and separator-insensitive, trailing digits ignored) |
157
190
  | `excludeSources` | `[]` | Source globs or function-name patterns to exclude |
191
+ | `maxExecutionHoldMs` | `60s` | How long one recording may hold process-wide memory, including finished work with in-flight calls |
192
+ | `maxRetainedErrorRecordings` | `32` | Finished error snapshots kept for later `getErrorState`. Older ones report `unavailable` / `retained_state_evicted` |
158
193
 
159
194
  ```ts
160
195
  const rasputin = RasputinInit({
@@ -167,7 +202,13 @@ const rasputin = RasputinInit({
167
202
  });
168
203
  ```
169
204
 
170
- Runtime state can include application data. Use `redactKeys` for sensitive fields.
205
+ Runtime state can include application data. Rasputin redacts **property names** that look like secrets (`password`, `token`, `DATABASE_URL`, `jwt`, `sessionId`, and similar, including digit suffixes like `password2`). It does **not** scan ordinary string values for embedded secrets. Use `redactKeys` for additional field names.
206
+
207
+ `captureProfile.functionBoundaries: "full"` means every retained function boundary is complete. Repeated successful calls may still be summarized into `function_calls_suppressed` events.
208
+
209
+ Short-lived processes flush telemetry for at most about two seconds on exit. If ingest is unreachable, Rasputin drops the leftover events and prints one stderr line rather than holding a CLI or cron job open.
210
+
211
+ The on-disk transform cache includes the verification mode in its key, so an unverified rewrite cannot be reused by a verifying process. On POSIX the cache directory must be owned by the process user and not world-writable. Windows cannot enforce those ownership bits, so a project-local cache is trusted when the directory can be created.
171
212
 
172
213
  ## Diagnostics
173
214
 
@@ -175,16 +216,4 @@ Runtime state can include application data. Use `redactKeys` for sensitive field
175
216
  const { recorder, transport } = rasputin.getStats();
176
217
  ```
177
218
 
178
- Counters are local to the current process and reset on restart.
179
-
180
- Recorder work counters support performance diagnosis without retaining successful execution state:
181
-
182
- - `functionCallsObserved` counts hooks reached inside active execution scopes.
183
- - `functionCallsCaptured` counts complete enter/terminal pairs recorded before any later eviction.
184
- - `functionCallsExcluded` counts hooks omitted by source or excluded-subtree rules.
185
- - `repeatedCallsSuppressed` counts successful repetitions represented by suppression summaries.
186
- - `serializedValues`, `serializedValueNodes`, and `serializedValueBytes` describe bounded value
187
- capture work. Redacted subtrees are not traversed or included in the node count.
188
-
189
- All counters are cumulative. Compare before/after snapshots for a measurement window rather than
190
- dividing the process-lifetime totals by a single request count.
219
+ These counters describe what this process has recorded and sent since it started. They reset on restart. Compare two snapshots if you want activity over a window, rather than dividing lifetime totals by one request.
@@ -1 +1 @@
1
- {"version":3,"file":"bun-plugin.d.ts","sourceRoot":"","sources":["../../src/auto-instrumentation/bun-plugin.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAK7C,MAAM,MAAM,iCAAiC,GAAG;IAC/C,4FAA4F;IAC5F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8FAA8F;IAC9F,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,KAAK,yBAAyB,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;CACrB,CAAC;AAcF,eAAO,MAAM,yBAAyB,GACrC,UAAU,MAAM,EAChB,UAAS,iCAAsC,KAC7C,OAAmF,CAAC;AAEvF,kGAAkG;AAClG,eAAO,MAAM,4BAA4B,GACxC,UAAU,MAAM,EAChB,UAAS,iCAAsC,KAC7C,OAAO,CAAC,yBAAyB,CAqBnC,CAAC;AAEF,eAAO,MAAM,uBAAuB,GACnC,UAAS,iCAAsC,KAC7C,SAsBF,CAAC"}
1
+ {"version":3,"file":"bun-plugin.d.ts","sourceRoot":"","sources":["../../src/auto-instrumentation/bun-plugin.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAK7C,MAAM,MAAM,iCAAiC,GAAG;IAC/C,4FAA4F;IAC5F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8FAA8F;IAC9F,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,KAAK,yBAAyB,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;CACrB,CAAC;AAcF,eAAO,MAAM,yBAAyB,GACrC,UAAU,MAAM,EAChB,UAAS,iCAAsC,KAC7C,OAAmF,CAAC;AAEvF,kGAAkG;AAClG,eAAO,MAAM,4BAA4B,GACxC,UAAU,MAAM,EAChB,UAAS,iCAAsC,KAC7C,OAAO,CAAC,yBAAyB,CAwBnC,CAAC;AAEF,eAAO,MAAM,uBAAuB,GACnC,UAAS,iCAAsC,KAC7C,SAsBF,CAAC"}
@@ -4,6 +4,10 @@ type ConfigurationReportInput = {
4
4
  runtime: string;
5
5
  modules: number;
6
6
  functions: number;
7
+ skippedFunctions?: number;
8
+ instrumentedAsync?: number;
9
+ skippedByReason?: Partial<Record<string, number>>;
10
+ attributionDegradations?: number;
7
11
  packageNames: string[];
8
12
  verification: SourceVerification;
9
13
  uploaded: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"format-configuration-report.d.ts","sourceRoot":"","sources":["../../src/auto-instrumentation/format-configuration-report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,KAAK,wBAAwB,GAAG;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,kBAAkB,CAAC;IACjC,QAAQ,EAAE,OAAO,CAAC;CAClB,CAAC;AA2CF,eAAO,MAAM,yBAAyB,GAAI,OAAO,wBAAwB,KAAG,MAkE3E,CAAC;AAEF,eAAO,MAAM,YAAY,QAAO,MAI/B,CAAC"}
1
+ {"version":3,"file":"format-configuration-report.d.ts","sourceRoot":"","sources":["../../src/auto-instrumentation/format-configuration-report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,KAAK,wBAAwB,GAAG;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,kBAAkB,CAAC;IACjC,QAAQ,EAAE,OAAO,CAAC;CAClB,CAAC;AA2CF,eAAO,MAAM,yBAAyB,GAAI,OAAO,wBAAwB,KAAG,MAiF3E,CAAC;AAEF,eAAO,MAAM,YAAY,QAAO,MAI/B,CAAC"}
@@ -1,5 +1,4 @@
1
- import type { InstrumentationManifestContent } from '@rasputin-ai/core';
2
- import { type DerivationCaptureMode } from './transform-source';
1
+ import { type InstrumentationManifestContent } from '@rasputin-ai/core';
3
2
  export type InstrumentCompiledDirectoryOptions = {
4
3
  inputDir: string;
5
4
  outputDir?: string;
@@ -7,7 +6,6 @@ export type InstrumentCompiledDirectoryOptions = {
7
6
  excludedRoots?: readonly string[];
8
7
  sourceRoot?: string;
9
8
  sourceRoots?: Record<string, string>;
10
- derivationMode?: DerivationCaptureMode;
11
9
  };
12
10
  export type InstrumentCompiledDirectoryResult = {
13
11
  transformedFiles: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"instrument-compiled-esm.d.ts","sourceRoot":"","sources":["../../src/auto-instrumentation/instrument-compiled-esm.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AAQxE,OAAO,EAAE,KAAK,qBAAqB,EAAmB,MAAM,oBAAoB,CAAC;AAIjF,MAAM,MAAM,kCAAkC,GAAG;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC/C,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,EAAE,8BAA8B,GAAG,SAAS,CAAC;IACrD,YAAY,EAAE,MAAM,CAAC;CACrB,CAAC;AAuBF,6FAA6F;AAC7F,eAAO,MAAM,2BAA2B,GACvC,SAAS,kCAAkC,KACzC,iCA4CF,CAAC"}
1
+ {"version":3,"file":"instrument-compiled-esm.d.ts","sourceRoot":"","sources":["../../src/auto-instrumentation/instrument-compiled-esm.ts"],"names":[],"mappings":"AAMA,OAAO,EAEN,KAAK,8BAA8B,EACnC,MAAM,mBAAmB,CAAC;AAY3B,MAAM,MAAM,kCAAkC,GAAG;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC/C,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,EAAE,8BAA8B,GAAG,SAAS,CAAC;IACrD,YAAY,EAAE,MAAM,CAAC;CACrB,CAAC;AAuBF,6FAA6F;AAC7F,eAAO,MAAM,2BAA2B,GACvC,SAAS,kCAAkC,KACzC,iCAmDF,CAAC"}
@@ -1,9 +1,10 @@
1
1
  /**
2
- * One transformed file's contribution to the release manifest: functions, call sites, destructures,
3
- * and derivation plans. The registry concatenates these deltas before upload.
2
+ * One transformed file's contribution to the release manifest: functions, call sites, and
3
+ * destructures. The registry concatenates these deltas before upload.
4
4
  */
5
- import type { DerivationPlan, InstrumentationArgIdentifier, InstrumentationParamBinding } from '@rasputin-ai/core';
5
+ import type { InstrumentationArgIdentifier, InstrumentationParamBinding, InstrumentationSkipReason } from '@rasputin-ai/core';
6
6
  import type { EncodedFunctionPlan } from '../execution-recorder/function-plan';
7
+ export type { InstrumentationSkipReason };
7
8
  export type RawManifestCallSite = {
8
9
  callerFunctionId: string;
9
10
  calleeName: string;
@@ -35,11 +36,14 @@ export type RawManifestFunction = {
35
36
  endColumn: number;
36
37
  params: InstrumentationParamBinding[];
37
38
  paramNames: Set<string>;
39
+ instrumented: boolean;
40
+ skipReason?: InstrumentationSkipReason;
41
+ asyncFunction?: boolean;
38
42
  };
39
43
  export type InstrumentationManifestDelta = {
40
44
  functions: RawManifestFunction[];
41
45
  callSites: RawManifestCallSite[];
42
46
  destructures: RawManifestDestructure[];
43
- derivationPlans: DerivationPlan[];
47
+ alreadyInstrumented?: boolean;
44
48
  };
45
49
  //# sourceMappingURL=instrumentation-manifest-delta.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"instrumentation-manifest-delta.d.ts","sourceRoot":"","sources":["../../src/auto-instrumentation/instrumentation-manifest-delta.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EACX,cAAc,EACd,4BAA4B,EAC5B,2BAA2B,EAC3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE/E,MAAM,MAAM,mBAAmB,GAAG;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,4BAA4B,EAAE,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,2BAA2B,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,2BAA2B,EAAE,CAAC;IACtC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IAC1C,SAAS,EAAE,mBAAmB,EAAE,CAAC;IACjC,SAAS,EAAE,mBAAmB,EAAE,CAAC;IACjC,YAAY,EAAE,sBAAsB,EAAE,CAAC;IACvC,eAAe,EAAE,cAAc,EAAE,CAAC;CAClC,CAAC"}
1
+ {"version":3,"file":"instrumentation-manifest-delta.d.ts","sourceRoot":"","sources":["../../src/auto-instrumentation/instrumentation-manifest-delta.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EACX,4BAA4B,EAC5B,2BAA2B,EAC3B,yBAAyB,EACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE/E,YAAY,EAAE,yBAAyB,EAAE,CAAC;AAE1C,MAAM,MAAM,mBAAmB,GAAG;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,4BAA4B,EAAE,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,2BAA2B,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,2BAA2B,EAAE,CAAC;IACtC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,yBAAyB,CAAC;IACvC,aAAa,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IAC1C,SAAS,EAAE,mBAAmB,EAAE,CAAC;IACjC,SAAS,EAAE,mBAAmB,EAAE,CAAC;IACjC,YAAY,EAAE,sBAAsB,EAAE,CAAC;IACvC,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC"}
@@ -11,6 +11,12 @@ export declare const loadInstrumentationManifestFile: (path: string) => boolean;
11
11
  export declare const loadInstrumentationManifestIfPresent: (path: string | undefined) => void;
12
12
  export declare const isInstrumentationManifestDirty: () => boolean;
13
13
  export declare const instrumentationManifestGeneration: () => number;
14
+ export declare const instrumentationCoverageStats: () => {
15
+ instrumented: number;
16
+ instrumentedAsync: number;
17
+ alreadyInstrumented: number;
18
+ skippedByReason: Record<string, number>;
19
+ };
14
20
  export declare const instrumentationManifestModuleCount: () => number;
15
21
  export declare const snapshotInstrumentationManifest: (options?: SnapshotOptions) => InstrumentationManifestContent | undefined;
16
22
  export declare const markInstrumentationManifestUploaded: (generation: number) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"instrumentation-manifest-registry.d.ts","sourceRoot":"","sources":["../../src/auto-instrumentation/instrumentation-manifest-registry.ts"],"names":[],"mappings":"AAOA,OAAO,EAIN,KAAK,8BAA8B,EAKnC,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAErF,eAAO,MAAM,+BAA+B,yCAAyC,CAAC;AAatF,KAAK,eAAe,GAAG;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC,CAAC;AAiCF,eAAO,MAAM,kCAAkC,GAC9C,UAAU,MAAM,EAChB,OAAO,4BAA4B,KACjC,IAKF,CAAC;AAEF,eAAO,MAAM,qCAAqC,GACjD,UAAU,8BAA8B,KACtC,IAKF,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAAI,MAAM,MAAM,KAAG,OAU9D,CAAC;AAEF,eAAO,MAAM,oCAAoC,GAAI,MAAM,MAAM,GAAG,SAAS,KAAG,IAG/E,CAAC;AAEF,eAAO,MAAM,8BAA8B,QAAO,OAMjD,CAAC;AAEF,eAAO,MAAM,iCAAiC,QAAO,MAAkC,CAAC;AAExF,eAAO,MAAM,kCAAkC,QAAO,MAKrD,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAC3C,UAAS,eAAoB,KAC3B,8BAA8B,GAAG,SAgGnC,CAAC;AAEF,eAAO,MAAM,mCAAmC,GAAI,YAAY,MAAM,KAAG,IAGxE,CAAC;AAEF,eAAO,MAAM,iCAAiC,GAAI,UAAU,MAAM,IAAI,KAAG,IAExE,CAAC;AAEF,eAAO,MAAM,oCAAoC,QAAO,IAEvD,CAAC"}
1
+ {"version":3,"file":"instrumentation-manifest-registry.d.ts","sourceRoot":"","sources":["../../src/auto-instrumentation/instrumentation-manifest-registry.ts"],"names":[],"mappings":"AAOA,OAAO,EAGN,KAAK,8BAA8B,EAKnC,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAErF,eAAO,MAAM,+BAA+B,yCAAyC,CAAC;AAqBtF,KAAK,eAAe,GAAG;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC,CAAC;AAoCF,eAAO,MAAM,kCAAkC,GAC9C,UAAU,MAAM,EAChB,OAAO,4BAA4B,KACjC,IASF,CAAC;AAEF,eAAO,MAAM,qCAAqC,GACjD,UAAU,8BAA8B,KACtC,IAKF,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAAI,MAAM,MAAM,KAAG,OAU9D,CAAC;AAEF,eAAO,MAAM,oCAAoC,GAAI,MAAM,MAAM,GAAG,SAAS,KAAG,IAG/E,CAAC;AAEF,eAAO,MAAM,8BAA8B,QAAO,OAMjD,CAAC;AAEF,eAAO,MAAM,iCAAiC,QAAO,MAAkC,CAAC;AAExF,eAAO,MAAM,4BAA4B,QAAO;IAC/C,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CA0BxC,CAAC;AAEF,eAAO,MAAM,kCAAkC,QAAO,MAKrD,CAAC;AAQF,eAAO,MAAM,+BAA+B,GAC3C,UAAS,eAAoB,KAC3B,8BAA8B,GAAG,SA+GnC,CAAC;AAEF,eAAO,MAAM,mCAAmC,GAAI,YAAY,MAAM,KAAG,IAGxE,CAAC;AAEF,eAAO,MAAM,iCAAiC,GAAI,UAAU,MAAM,IAAI,KAAG,IAExE,CAAC;AAEF,eAAO,MAAM,oCAAoC,QAAO,IAEvD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"node-hooks.d.ts","sourceRoot":"","sources":["../../src/auto-instrumentation/node-hooks.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,kCAAkC,GAAG;IAChD,8FAA8F;IAC9F,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAClC,CAAC;AA6BF,eAAO,MAAM,yBAAyB,GACrC,UAAS,kCAAuC,KAC9C,IA8CF,CAAC"}
1
+ {"version":3,"file":"node-hooks.d.ts","sourceRoot":"","sources":["../../src/auto-instrumentation/node-hooks.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,kCAAkC,GAAG;IAChD,8FAA8F;IAC9F,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAClC,CAAC;AA6BF,eAAO,MAAM,yBAAyB,GACrC,UAAS,kCAAuC,KAC9C,IAuDF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import ts from 'typescript';
2
+ export declare const functionHasPreBodyParameterEvaluation: (node: ts.SignatureDeclaration) => boolean;
3
+ //# sourceMappingURL=parameter-initializer-may-run-code.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parameter-initializer-may-run-code.d.ts","sourceRoot":"","sources":["../../src/auto-instrumentation/parameter-initializer-may-run-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAqC5B,eAAO,MAAM,qCAAqC,GAAI,MAAM,EAAE,CAAC,oBAAoB,KAAG,OAOrF,CAAC"}
@@ -17,7 +17,7 @@ type ScheduleInstrumentationManifestUploadOptions = {
17
17
  };
18
18
  type InstrumentationManifestUploadHandle = {
19
19
  flushSoon: () => void;
20
- wait: () => Promise<void>;
20
+ wait: (timeoutMs?: number) => Promise<void>;
21
21
  disconnect: () => void;
22
22
  verify: () => Promise<SourceVerification>;
23
23
  };
@@ -1 +1 @@
1
- {"version":3,"file":"schedule-instrumentation-manifest-upload.d.ts","sourceRoot":"","sources":["../../src/auto-instrumentation/schedule-instrumentation-manifest-upload.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAGN,KAAK,kBAAkB,EAEvB,MAAM,mBAAmB,CAAC;AAW3B,KAAK,4CAA4C,GAAG;IACnD,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjF,OAAO,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,KAAK,mCAAmC,GAAG;IAC1C,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC1C,CAAC;AAkBF,eAAO,MAAM,qCAAqC,GACjD,SAAS,4CAA4C,KACnD,mCAwGF,CAAC"}
1
+ {"version":3,"file":"schedule-instrumentation-manifest-upload.d.ts","sourceRoot":"","sources":["../../src/auto-instrumentation/schedule-instrumentation-manifest-upload.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAGN,KAAK,kBAAkB,EAEvB,MAAM,mBAAmB,CAAC;AAY3B,KAAK,4CAA4C,GAAG;IACnD,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjF,OAAO,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,KAAK,mCAAmC,GAAG;IAC1C,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC1C,CAAC;AAkBF,eAAO,MAAM,qCAAqC,GACjD,SAAS,4CAA4C,KACnD,mCA6LF,CAAC"}
@@ -1,3 +1,4 @@
1
1
  import type { SourceLocationMapper } from './transform-source';
2
+ export declare const sourceMapPayloadForCache: (generatedPath: string, source: string) => string;
2
3
  export declare const createSourceMapLocationMapper: (generatedPath: string, source: string) => SourceLocationMapper | undefined;
3
4
  //# sourceMappingURL=source-map-locations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"source-map-locations.d.ts","sourceRoot":"","sources":["../../src/auto-instrumentation/source-map-locations.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAkB,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAgC/E,eAAO,MAAM,6BAA6B,GACzC,eAAe,MAAM,EACrB,QAAQ,MAAM,KACZ,oBAAoB,GAAG,SA8BzB,CAAC"}
1
+ {"version":3,"file":"source-map-locations.d.ts","sourceRoot":"","sources":["../../src/auto-instrumentation/source-map-locations.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAkB,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAgC/E,eAAO,MAAM,wBAAwB,GAAI,eAAe,MAAM,EAAE,QAAQ,MAAM,KAAG,MAMhF,CAAC;AAEF,eAAO,MAAM,6BAA6B,GACzC,eAAe,MAAM,EACrB,QAAQ,MAAM,KACZ,oBAAoB,GAAG,SA8BzB,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Phase-1 async instrumentation is a whitelist. Anything we have not proven
3
+ * exact — `for await`, `await using`, async generators, unknown future
4
+ * syntax — is skipped rather than approximated.
5
+ */
6
+ import ts from 'typescript';
7
+ import type { InstrumentationSkipReason } from './instrumentation-manifest-delta';
8
+ export declare const knownSuspensionSyntaxKindNames: () => readonly string[];
9
+ export declare const unexpectedSuspensionSyntaxKindNames: () => string[];
10
+ export type AsyncInstrumentationAction = {
11
+ action: 'skip';
12
+ reason: InstrumentationSkipReason;
13
+ } | {
14
+ action: 'inline';
15
+ } | {
16
+ action: 'suspend_resume';
17
+ };
18
+ type FunctionLike = ts.FunctionLikeDeclaration;
19
+ export declare const isAsyncFunctionLike: (node: FunctionLike) => boolean;
20
+ export declare const isAsyncGeneratorLike: (node: ts.Node) => node is FunctionLike;
21
+ export declare const isSyncGeneratorLike: (node: ts.Node) => node is FunctionLike;
22
+ export declare const ownBodyHasAwaitKeyword: (node: FunctionLike, sourceFile: ts.SourceFile) => boolean;
23
+ export type OwnSuspensionFacts = {
24
+ awaitExpressions: boolean;
25
+ forAwait: boolean;
26
+ awaitUsing: boolean;
27
+ unknown: boolean;
28
+ awaitKeyword: boolean;
29
+ };
30
+ export declare const ownSuspensionFacts: (node: FunctionLike, sourceFile: ts.SourceFile) => OwnSuspensionFacts;
31
+ export declare const decideAsyncInstrumentation: (node: FunctionLike, sourceFile: ts.SourceFile) => AsyncInstrumentationAction;
32
+ export {};
33
+ //# sourceMappingURL=suspension-whitelist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suspension-whitelist.d.ts","sourceRoot":"","sources":["../../src/auto-instrumentation/suspension-whitelist.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAclF,eAAO,MAAM,8BAA8B,QAAO,SAAS,MAAM,EAAiC,CAAC;AAEnG,eAAO,MAAM,mCAAmC,QAAO,MAAM,EAU5D,CAAC;AAEF,MAAM,MAAM,0BAA0B,GACnC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,yBAAyB,CAAA;CAAE,GACrD;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,GACpB;IAAE,MAAM,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAEhC,KAAK,YAAY,GAAG,EAAE,CAAC,uBAAuB,CAAC;AAI/C,eAAO,MAAM,mBAAmB,GAAI,MAAM,YAAY,KAAG,OACU,CAAC;AAEpE,eAAO,MAAM,oBAAoB,GAAI,MAAM,EAAE,CAAC,IAAI,KAAG,IAAI,IAAI,YAIjC,CAAC;AAE7B,eAAO,MAAM,mBAAmB,GAAI,MAAM,EAAE,CAAC,IAAI,KAAG,IAAI,IAAI,YAIjC,CAAC;AAgE5B,eAAO,MAAM,sBAAsB,GAAI,MAAM,YAAY,EAAE,YAAY,EAAE,CAAC,UAAU,KAAG,OAOtF,CAAC;AAgBF,MAAM,MAAM,kBAAkB,GAAG;IAChC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC9B,MAAM,YAAY,EAClB,YAAY,EAAE,CAAC,UAAU,KACvB,kBAkBF,CAAC;AAiBF,eAAO,MAAM,0BAA0B,GACtC,MAAM,YAAY,EAClB,YAAY,EAAE,CAAC,UAAU,KACvB,0BAcF,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { type TransformedSource, type TransformSourceOptions } from './transform-source';
2
+ export declare const resolveTransformCacheDir: () => string;
3
+ export declare const transformSourceCached: (source: string, options: TransformSourceOptions, cache?: {
4
+ directory?: string;
5
+ limit?: number;
6
+ }) => TransformedSource | undefined;
7
+ //# sourceMappingURL=transform-disk-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform-disk-cache.d.ts","sourceRoot":"","sources":["../../src/auto-instrumentation/transform-disk-cache.ts"],"names":[],"mappings":"AAuBA,OAAO,EACN,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAE3B,MAAM,oBAAoB,CAAC;AA+B5B,eAAO,MAAM,wBAAwB,QAAO,MAGoB,CAAC;AAwIjE,eAAO,MAAM,qBAAqB,GACjC,QAAQ,MAAM,EACd,SAAS,sBAAsB,EAC/B,QAAO;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,KAChD,iBAAiB,GAAG,SAgBtB,CAAC"}
@@ -1,14 +1,17 @@
1
+ /**
2
+ * Shared source transformer for every runtime adapter. Keeping event injection independent from Bun,
3
+ * Node, and future build-tool integrations is what lets each environment produce the same execution
4
+ * tree and keeps recorder semantics from drifting between platforms.
5
+ */
1
6
  import type { InstrumentationManifestDelta } from './instrumentation-manifest-delta';
2
- export type DerivationCaptureMode = 'analysis' | 'selective';
3
7
  export type TransformSourceOptions = {
4
8
  filePath: string;
5
9
  mapLocation?: SourceLocationMapper;
6
- /**
7
- * analysis (default): full call capture plus derivation.
8
- * selective (experimental): omit argument/return serialization for exact helpers.
9
- */
10
- derivationMode?: DerivationCaptureMode;
10
+ verifyTransform?: boolean;
11
11
  };
12
+ export declare const RASPUTIN_INSTRUMENTATION_MARKER = "rasputin.instrumented.v3";
13
+ export declare const RASPUTIN_INSTRUMENTATION_PREAMBLE = "/*rasputin.instrumented.v3*/";
14
+ export declare const sourceIsRasputinInstrumented: (source: string) => boolean;
12
15
  export type TransformedSource = {
13
16
  code: string;
14
17
  delta: InstrumentationManifestDelta;
@@ -1 +1 @@
1
- {"version":3,"file":"transform-source.d.ts","sourceRoot":"","sources":["../../src/auto-instrumentation/transform-source.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACX,4BAA4B,EAE5B,MAAM,kCAAkC,CAAC;AAI1C,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,WAAW,CAAC;AAE7D,MAAM,MAAM,sBAAsB,GAAG;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC;;;OAGG;IACH,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,4BAA4B,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAAC,QAAQ,EAAE,cAAc,KAAK,cAAc,GAAG,SAAS,CAAC;AA6J5F,6FAA6F;AAC7F,eAAO,MAAM,eAAe,GAC3B,QAAQ,MAAM,EACd,SAAS,sBAAsB,KAC7B,iBAAiB,GAAG,SAqItB,CAAC"}
1
+ {"version":3,"file":"transform-source.d.ts","sourceRoot":"","sources":["../../src/auto-instrumentation/transform-source.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAgBH,OAAO,KAAK,EACX,4BAA4B,EAE5B,MAAM,kCAAkC,CAAC;AAwC1C,MAAM,MAAM,sBAAsB,GAAG;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,+BAA+B,6BAA6B,CAAC;AAC1E,eAAO,MAAM,iCAAiC,iCAA2C,CAAC;AAE1F,eAAO,MAAM,4BAA4B,GAAI,QAAQ,MAAM,KAAG,OACX,CAAC;AAEpD,MAAM,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,4BAA4B,CAAC;CACpC,CAAC;AAOF,MAAM,MAAM,cAAc,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAAC,QAAQ,EAAE,cAAc,KAAK,cAAc,GAAG,SAAS,CAAC;AA6d5F,6FAA6F;AAC7F,eAAO,MAAM,eAAe,GAC3B,QAAQ,MAAM,EACd,SAAS,sBAAsB,KAC7B,iBAAiB,GAAG,SAwOtB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const instrumentationTreesAreIsomorphic: (filePath: string, original: string, transformed: string) => boolean;
2
+ //# sourceMappingURL=verify-instrumentation-isomorphism.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-instrumentation-isomorphism.d.ts","sourceRoot":"","sources":["../../src/auto-instrumentation/verify-instrumentation-isomorphism.ts"],"names":[],"mappings":"AA8KA,eAAO,MAAM,iCAAiC,GAC7C,UAAU,MAAM,EAChB,UAAU,MAAM,EAChB,aAAa,MAAM,KACjB,OAGF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const transformedSourceIsInvalid: (filePath: string, code: string) => boolean;
2
+ //# sourceMappingURL=verify-transformed-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-transformed-source.d.ts","sourceRoot":"","sources":["../../src/auto-instrumentation/verify-transformed-source.ts"],"names":[],"mappings":"AAuIA,eAAO,MAAM,0BAA0B,GAAI,UAAU,MAAM,EAAE,MAAM,MAAM,KAAG,OAgB3E,CAAC"}
@@ -3,12 +3,24 @@
3
3
  * versioned global registry joins them without generated code importing a physical SDK file. Source
4
4
  * identity is encoded once per module as a compact plan table so call sites pass only a numeric index.
5
5
  */
6
- import type { RasputinExecution } from './execution-recorder-types';
6
+ import type { ExecutionRuntime } from './execution-recorder-types';
7
7
  import type { EncodedFunctionPlan } from './function-plan';
8
- export declare const AUTOMATIC_RUNTIME_SYMBOL = "rasputin.execution.runtime.v2";
9
- type ModuleRunner = <T>(planIndex: number, args: ArrayLike<unknown>, callback: () => T, omitValues?: boolean) => T;
8
+ export declare const AUTOMATIC_RUNTIME_SYMBOL = "rasputin.execution.runtime.v3";
9
+ type CallHandle = {
10
+ leave: (value?: unknown) => unknown;
11
+ fail: (error: unknown, liveArgs?: ArrayLike<unknown>) => void;
12
+ end: () => void;
13
+ run: <T>(callback: () => T) => T;
14
+ suspend: (value?: unknown) => unknown;
15
+ resume: (value?: unknown) => unknown;
16
+ };
17
+ type ModuleRun = <T>(planIndex: number, args: ArrayLike<unknown>, callback: () => T, omitValues?: boolean) => T;
18
+ type ModuleRunner = ModuleRun & {
19
+ enter: (planIndex: number, args: ArrayLike<unknown>, omitValues?: boolean) => CallHandle;
20
+ };
10
21
  type DispatchCell = {
11
- run: ModuleRunner;
22
+ run: ModuleRun;
23
+ enter: ModuleRunner['enter'];
12
24
  };
13
25
  type RegisteredModule = {
14
26
  plans: readonly EncodedFunctionPlan[];
@@ -16,17 +28,15 @@ type RegisteredModule = {
16
28
  };
17
29
  type AutomaticRuntime = {
18
30
  bind: (module: RegisteredModule) => void;
19
- captureRoot: (rootId: number, value: unknown) => unknown;
20
31
  };
21
32
  type AutomaticRuntimeRegistry = {
22
33
  runtimes: AutomaticRuntime[];
23
34
  modules: RegisteredModule[];
24
35
  register: (plans: readonly EncodedFunctionPlan[]) => ModuleRunner;
25
- captureRoot: (rootId: number, value: unknown) => unknown;
26
36
  };
27
37
  export declare const getAutomaticRuntimeRegistry: () => AutomaticRuntimeRegistry;
28
38
  export declare const resetAutomaticExecutionRuntime: () => void;
29
39
  /** Connect transformed application functions to this SDK instance. */
30
- export declare const installAutomaticExecutionRuntime: (execution: RasputinExecution) => (() => void);
40
+ export declare const installAutomaticExecutionRuntime: (execution: ExecutionRuntime) => (() => void);
31
41
  export {};
32
42
  //# sourceMappingURL=automatic-runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"automatic-runtime.d.ts","sourceRoot":"","sources":["../../src/execution-recorder/automatic-runtime.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,eAAO,MAAM,wBAAwB,kCAAkC,CAAC;AAIxE,KAAK,YAAY,GAAG,CAAC,CAAC,EACrB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,EACxB,QAAQ,EAAE,MAAM,CAAC,EACjB,UAAU,CAAC,EAAE,OAAO,KAChB,CAAC,CAAC;AAEP,KAAK,YAAY,GAAG;IACnB,GAAG,EAAE,YAAY,CAAC;CAClB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACvB,KAAK,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACtC,IAAI,EAAE,YAAY,CAAC;CACnB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACvB,IAAI,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACzC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CACzD,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC/B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,mBAAmB,EAAE,KAAK,YAAY,CAAC;IAClE,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CACzD,CAAC;AAqCF,eAAO,MAAM,2BAA2B,QAAO,wBAY9C,CAAC;AAEF,eAAO,MAAM,8BAA8B,QAAO,IAEjD,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,gCAAgC,GAAI,WAAW,iBAAiB,KAAG,CAAC,MAAM,IAAI,CAyB1F,CAAC"}
1
+ {"version":3,"file":"automatic-runtime.d.ts","sourceRoot":"","sources":["../../src/execution-recorder/automatic-runtime.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAG3D,eAAO,MAAM,wBAAwB,kCAAkC,CAAC;AAIxE,KAAK,UAAU,GAAG;IACjB,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;IACpC,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IAC9D,GAAG,EAAE,MAAM,IAAI,CAAC;IAChB,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;IACtC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;CACrC,CAAC;AAsDF,KAAK,SAAS,GAAG,CAAC,CAAC,EAClB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,EACxB,QAAQ,EAAE,MAAM,CAAC,EACjB,UAAU,CAAC,EAAE,OAAO,KAChB,CAAC,CAAC;AAEP,KAAK,YAAY,GAAG,SAAS,GAAG;IAC/B,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,EAAE,OAAO,KAAK,UAAU,CAAC;CACzF,CAAC;AAEF,KAAK,YAAY,GAAG;IACnB,GAAG,EAAE,SAAS,CAAC;IACf,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;CAC7B,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACvB,KAAK,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACtC,IAAI,EAAE,YAAY,CAAC;CACnB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACvB,IAAI,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACzC,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC/B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,mBAAmB,EAAE,KAAK,YAAY,CAAC;CAClE,CAAC;AAgEF,eAAO,MAAM,2BAA2B,QAAO,wBAS9C,CAAC;AAEF,eAAO,MAAM,8BAA8B,QAAO,IAEjD,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,gCAAgC,GAAI,WAAW,gBAAgB,KAAG,CAAC,MAAM,IAAI,CAkBzF,CAAC"}
@@ -0,0 +1,16 @@
1
+ export declare const typeMarker: (type: string, value?: unknown) => {
2
+ value?: {} | null | undefined;
3
+ __rasputin_type: string;
4
+ };
5
+ export declare const truncation: (reason: string, extra?: Record<string, unknown>) => {
6
+ __rasputin_truncated: boolean;
7
+ __reason: string;
8
+ };
9
+ export declare const jsonLiteralUtf8Bytes: (value: unknown) => number;
10
+ export declare const encodeFrozen: (value: unknown) => unknown;
11
+ export declare const encodeFrozenWithBytes: (frozen: unknown, visitedNodes: number, maxSerializedValueBytes: number) => {
12
+ value: unknown;
13
+ bytes: number;
14
+ visitedNodes: number;
15
+ };
16
+ //# sourceMappingURL=encode-frozen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encode-frozen.d.ts","sourceRoot":"","sources":["../../src/execution-recorder/encode-frozen.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,EAAE,QAAQ,OAAO;;;CAGtD,CAAC;AAEH,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,EAAE,QAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;;;CAI5E,CAAC;AA+DH,eAAO,MAAM,oBAAoB,GAAI,OAAO,OAAO,KAAG,MAmCrD,CAAC;AA2KF,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,KAAG,OAc7C,CAAC;AAEF,eAAO,MAAM,qBAAqB,GACjC,QAAQ,OAAO,EACf,cAAc,MAAM,EACpB,yBAAyB,MAAM,KAC7B;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAiBvD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"execution-journal.d.ts","sourceRoot":"","sources":["../../src/execution-recorder/execution-journal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution-journal.d.ts","sourceRoot":"","sources":["../../src/execution-recorder/execution-journal.ts"],"names":[],"mappings":"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"}