@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
@@ -1,22 +1,42 @@
1
1
  import { type RasputinClient, type RasputinClientStats, type RasputinOptions, type SourceVerification } from '@rasputin-ai/core';
2
2
  import { type ExecutionRecorderOptions, type ExecutionRecorderStats, type RasputinExecution } from './execution-recorder';
3
3
  export type RasputinNodeOptions = RasputinOptions & {
4
- /** Bounded runtime-state capture. Enabled by default; successful executions are discarded. */
4
+ /**
5
+ * Limits and redaction for the runtime recorder. Recording is on unless you
6
+ * set `enabled: false`. Successful requests and jobs are not kept.
7
+ */
5
8
  executionRecorder?: ExecutionRecorderOptions;
6
9
  /**
7
- * Path to a build-time instrumentation manifest. Defaults to RASPUTIN_INSTRUMENTATION_MANIFEST
8
- * or `.rasputin/instrumentation-manifest.json` in the current working directory.
10
+ * Path to the JSON file `rasputin-instrument` writes at build time.
11
+ * Defaults to `RASPUTIN_INSTRUMENTATION_MANIFEST`, or
12
+ * `.rasputin/instrumentation-manifest.json` in the current working directory.
9
13
  */
10
14
  instrumentationManifestPath?: string;
15
+ /**
16
+ * Observe `uncaughtException` / nonfatal `unhandledRejection`. Default true.
17
+ * Rasputin does not become the host crash/recovery owner: it exits only when
18
+ * it is the sole `uncaughtException` listener. Set false when the host owns
19
+ * process diagnostics.
20
+ */
21
+ installGlobalHandlers?: boolean;
22
+ /**
23
+ * Install SIGINT / SIGTERM / beforeExit flush hooks. Default true.
24
+ * Set false when the host owns process shutdown.
25
+ */
26
+ installTransportSignalHandlers?: boolean;
11
27
  };
12
28
  export type RasputinNodeClientStats = RasputinClientStats & {
13
- /** Process-local recorder safety, truncation, and memory-pressure counters. */
29
+ /** What this process has recorded since it started. See `ExecutionRecorderStats`. */
14
30
  recorder: ExecutionRecorderStats;
15
31
  };
16
32
  export type RasputinNodeClient = Omit<RasputinClient, 'getStats'> & {
33
+ /** Wrap background jobs, inspect recorder stats, or mark functions by hand. */
17
34
  execution: RasputinExecution;
18
35
  getStats: () => RasputinNodeClientStats;
19
- /** Verify package source locators against the configured Git repository and exact release. */
36
+ /**
37
+ * Check that every recorded source file maps to the Git commit in `release`.
38
+ * Call this from a deploy check, not on every request.
39
+ */
20
40
  verifyConfiguration: () => Promise<SourceVerification>;
21
41
  };
22
42
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"rasputin-init.d.ts","sourceRoot":"","sources":["../src/rasputin-init.ts"],"names":[],"mappings":"AAMA,OAAO,EAIN,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAEN,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,MAAM,sBAAsB,CAAC;AAK9B,MAAM,MAAM,mBAAmB,GAAG,eAAe,GAAG;IACnD,8FAA8F;IAC9F,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;IAC7C;;;OAGG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,GAAG;IAC3D,+EAA+E;IAC/E,QAAQ,EAAE,sBAAsB,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,GAAG;IACnE,SAAS,EAAE,iBAAiB,CAAC;IAC7B,QAAQ,EAAE,MAAM,uBAAuB,CAAC;IACxC,8FAA8F;IAC9F,mBAAmB,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACvD,CAAC;AAgDF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY,GAAI,SAAS,mBAAmB,KAAG,kBAiD3D,CAAC"}
1
+ {"version":3,"file":"rasputin-init.d.ts","sourceRoot":"","sources":["../src/rasputin-init.ts"],"names":[],"mappings":"AAMA,OAAO,EAIN,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAEN,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAE3B,KAAK,iBAAiB,EACtB,MAAM,sBAAsB,CAAC;AAK9B,MAAM,MAAM,mBAAmB,GAAG,eAAe,GAAG;IACnD;;;OAGG;IACH,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;IAC7C;;;;OAIG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;OAGG;IACH,8BAA8B,CAAC,EAAE,OAAO,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,GAAG;IAC3D,qFAAqF;IACrF,QAAQ,EAAE,sBAAsB,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,GAAG;IACnE,+EAA+E;IAC/E,SAAS,EAAE,iBAAiB,CAAC;IAC7B,QAAQ,EAAE,MAAM,uBAAuB,CAAC;IACxC;;;OAGG;IACH,mBAAmB,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACvD,CAAC;AA+DF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY,GAAI,SAAS,mBAAmB,KAAG,kBAmE3D,CAAC"}
@@ -1,4 +1,4 @@
1
1
  /** Generated by scripts/generate-sdk-meta.ts — do not edit. */
2
2
  export declare const SDK_NAME = "@rasputin-ai/node";
3
- export declare const SDK_VERSION = "0.5.0-alpha.13";
3
+ export declare const SDK_VERSION = "0.5.0-alpha.14";
4
4
  //# sourceMappingURL=sdk-meta.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rasputin-ai/node",
3
- "version": "0.5.0-alpha.13",
3
+ "version": "0.5.0-alpha.14",
4
4
  "description": "Official Rasputin AI SDK for Node and Bun.",
5
5
  "type": "module",
6
6
  "exports": {
@@ -23,6 +23,11 @@
23
23
  "types": "./dist/instrument/build.d.ts",
24
24
  "import": "./dist/instrument/build.js",
25
25
  "default": "./dist/instrument/build.js"
26
+ },
27
+ "./internal": {
28
+ "types": "./dist/internal.d.ts",
29
+ "import": "./dist/internal.js",
30
+ "default": "./dist/internal.js"
26
31
  }
27
32
  },
28
33
  "bin": {
@@ -44,7 +49,7 @@
44
49
  },
45
50
  "dependencies": {
46
51
  "@jridgewell/trace-mapping": "0.3.31",
47
- "@rasputin-ai/core": "0.5.0-alpha.13",
52
+ "@rasputin-ai/core": "0.5.0-alpha.14",
48
53
  "typescript": "5"
49
54
  },
50
55
  "devDependencies": {
@@ -1,47 +0,0 @@
1
- /**
2
- * Walks a module's functions and decides what can be reconstructed later versus what must be
3
- * captured at runtime. The result is a derivation plan plus wrap sites the transformer injects, so
4
- * investigation can recover locals without recording every assignment in production.
5
- */
6
- import type { CaptureReason, DerivationPlan } from '@rasputin-ai/core';
7
- import ts from 'typescript';
8
- import { type FunctionCallEdge } from './build-dependency-graph';
9
- export type CaptureWrap = {
10
- rootId: number;
11
- reason: CaptureReason;
12
- start: number;
13
- end: number;
14
- line: number;
15
- column: number;
16
- expressionId: number;
17
- /** Object-literal shorthand must be expanded before its value can be wrapped. */
18
- shorthandPropertyName?: string;
19
- };
20
- type NumericBinaryOp = 'add' | 'sub' | 'mul' | 'div' | 'mod';
21
- export type GuardWrap = {
22
- fallbackRootId: number;
23
- start: number;
24
- end: number;
25
- op: NumericBinaryOp;
26
- };
27
- export type AnalyzedFunction = {
28
- functionId: string;
29
- name: string;
30
- node: ts.FunctionLikeDeclaration;
31
- plan: DerivationPlan;
32
- captureWraps: CaptureWrap[];
33
- guardWraps: GuardWrap[];
34
- callEdges: FunctionCallEdge[];
35
- hasThrow: boolean;
36
- hasCoercionGuard: boolean;
37
- };
38
- export type ModuleFunctionTarget = {
39
- functionId: string;
40
- name: string;
41
- node: ts.FunctionLikeDeclaration & {
42
- body: ts.ConciseBody;
43
- };
44
- };
45
- export declare const analyzeModuleFunctions: (sourceFile: ts.SourceFile, targets: ModuleFunctionTarget[]) => AnalyzedFunction[];
46
- export {};
47
- //# sourceMappingURL=analyze-function.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analyze-function.d.ts","sourceRoot":"","sources":["../../src/derivation/analyze-function.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EACX,aAAa,EAGb,cAAc,EAGd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAEN,KAAK,gBAAgB,EAErB,MAAM,0BAA0B,CAAC;AAGlC,MAAM,MAAM,WAAW,GAAG;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,iFAAiF;IACjF,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,KAAK,eAAe,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAE7D,MAAM,MAAM,SAAS,GAAG;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,eAAe,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,EAAE,CAAC,uBAAuB,CAAC;IACjC,IAAI,EAAE,cAAc,CAAC;IACrB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;CAC1B,CAAC;AAojBF,MAAM,MAAM,oBAAoB,GAAG;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,EAAE,CAAC,uBAAuB,GAAG;QAAE,IAAI,EAAE,EAAE,CAAC,WAAW,CAAA;KAAE,CAAC;CAC5D,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAClC,YAAY,EAAE,CAAC,UAAU,EACzB,SAAS,oBAAoB,EAAE,KAC7B,gBAAgB,EA2ClB,CAAC"}
@@ -1,26 +0,0 @@
1
- /**
2
- * Same-module calls can be inlined into a caller's derivation plan only after callees are proven
3
- * first. This graph and topological order let analysis reuse exact helper proofs instead of treating
4
- * every local call as opaque.
5
- */
6
- export type FunctionCallEdge = {
7
- callerFunctionId: string;
8
- calleeName: string;
9
- calleeFunctionId?: string;
10
- };
11
- export type FunctionDependencyGraph = {
12
- functions: string[];
13
- edges: FunctionCallEdge[];
14
- calleesByCaller: Map<string, string[]>;
15
- };
16
- /** Same-module identifier calls only. Anything else is treated as opaque at the call site. */
17
- export declare const buildDependencyGraph: (functions: Array<{
18
- functionId: string;
19
- name: string;
20
- }>, edges: FunctionCallEdge[]) => FunctionDependencyGraph;
21
- /** Callees before callers so purity proofs can be reused at call sites. */
22
- export declare const topologicalFunctionOrder: (functions: Array<{
23
- functionId: string;
24
- name: string;
25
- }>, graph: FunctionDependencyGraph) => string[];
26
- //# sourceMappingURL=build-dependency-graph.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build-dependency-graph.d.ts","sourceRoot":"","sources":["../../src/derivation/build-dependency-graph.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACrC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACvC,CAAC;AAEF,8FAA8F;AAC9F,eAAO,MAAM,oBAAoB,GAChC,WAAW,KAAK,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EACtD,OAAO,gBAAgB,EAAE,KACvB,uBAcF,CAAC;AAEF,2EAA2E;AAC3E,eAAO,MAAM,wBAAwB,GACpC,WAAW,KAAK,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EACtD,OAAO,uBAAuB,KAC5B,MAAM,EA8CR,CAAC"}
@@ -1,38 +0,0 @@
1
- /**
2
- * Derivation plans are a numbered expression graph, not the TypeScript AST. This builder assigns
3
- * stable ids as a function is analyzed so capture wraps and later investigation refer to the same
4
- * nodes. emptyPlan is the shell the analyzer fills with expressions, variables, and boundaries.
5
- */
6
- import type { DerivationBinaryOp, DerivationExpression, DerivationPlan, DerivationUnaryOp, PrimitiveConst } from '@rasputin-ai/core';
7
- export declare class DerivationIrBuilder {
8
- readonly expressions: DerivationExpression[];
9
- private nextId;
10
- constValue(value: PrimitiveConst): number;
11
- param(index: number): number;
12
- root(rootId: number): number;
13
- alias(from: number): number;
14
- binary(op: DerivationBinaryOp, left: number, right: number, guard: 'numeric' | 'primitive' | 'none'): number;
15
- unary(op: DerivationUnaryOp, operand: number): number;
16
- logical(op: 'and' | 'or' | 'nullish', left: number, right: number): number;
17
- cond(test: number, consequent: number, alternate: number): number;
18
- object(properties: Array<{
19
- key: string;
20
- value: number;
21
- }>): number;
22
- array(elements: Array<number | {
23
- kind: 'hole';
24
- }>): number;
25
- prop(object: number, key: string): number;
26
- index(array: number, index: number): number;
27
- pureCall(calleeFunctionId: string, args: number[]): number;
28
- template(parts: Array<{
29
- kind: 'lit';
30
- value: string;
31
- } | {
32
- kind: 'expr';
33
- expressionId: number;
34
- }>): number;
35
- private add;
36
- }
37
- export declare const emptyPlan: (functionId: string) => DerivationPlan;
38
- //# sourceMappingURL=derivation-ir.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"derivation-ir.d.ts","sourceRoot":"","sources":["../../src/derivation/derivation-ir.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EACX,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,MAAM,mBAAmB,CAAC;AAE3B,qBAAa,mBAAmB;IAC/B,QAAQ,CAAC,WAAW,EAAE,oBAAoB,EAAE,CAAM;IAClD,OAAO,CAAC,MAAM,CAAK;IAEnB,UAAU,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM;IAIzC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAI5B,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAI5B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI3B,MAAM,CACL,EAAE,EAAE,kBAAkB,EACtB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,GAAG,WAAW,GAAG,MAAM,GACrC,MAAM;IAIT,KAAK,CAAC,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAIrD,OAAO,CAAC,EAAE,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAI1E,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAIjE,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,MAAM;IAIjE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,MAAM;IAIzD,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAIzC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAI3C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM;IAI1D,QAAQ,CACP,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,GACnF,MAAM;IAIT,OAAO,CAAC,GAAG;CAIX;AAED,eAAO,MAAM,SAAS,GAAI,YAAY,MAAM,KAAG,cAO7C,CAAC"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Turns capture boundaries from analysis into source edits. The transformer wraps those expressions
3
- * with a runtime capture call so the recorder stores a root instead of trying to reconstruct an
4
- * opaque or unknown value.
5
- */
6
- import type { CaptureWrap } from './analyze-function';
7
- type SourceEdit = {
8
- position: number;
9
- text: string;
10
- order: number;
11
- };
12
- export declare const captureWrapEdits: (wraps: CaptureWrap[], capName: string) => SourceEdit[];
13
- export {};
14
- //# sourceMappingURL=emit-capture-plan.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"emit-capture-plan.d.ts","sourceRoot":"","sources":["../../src/derivation/emit-capture-plan.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,KAAK,UAAU,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpE,eAAO,MAAM,gBAAgB,GAAI,OAAO,WAAW,EAAE,EAAE,SAAS,MAAM,KAAG,UAAU,EAgBlF,CAAC"}
@@ -1,7 +0,0 @@
1
- /**
2
- * A function is exact when nothing in its body needs a runtime root or control fact. Selective
3
- * capture uses this to omit helper argument and return snapshots when the parent can reconstruct them.
4
- */
5
- import type { DerivationPlan } from '@rasputin-ai/core';
6
- export declare const functionIsExact: (plan: DerivationPlan) => boolean;
7
- //# sourceMappingURL=plan-is-exact.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plan-is-exact.d.ts","sourceRoot":"","sources":["../../src/derivation/plan-is-exact.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,eAAO,MAAM,eAAe,GAAI,MAAM,cAAc,KAAG,OAGxB,CAAC"}