@rasputin-ai/core 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 (57) hide show
  1. package/dist/announce-deploy/announce-deploy.d.ts +2 -2
  2. package/dist/announce-deploy/announce-deploy.d.ts.map +1 -1
  3. package/dist/create-client/create-client-types.d.ts +23 -8
  4. package/dist/create-client/create-client-types.d.ts.map +1 -1
  5. package/dist/create-client/create-client.d.ts.map +1 -1
  6. package/dist/create-client/is-client-enabled.d.ts +17 -3
  7. package/dist/create-client/is-client-enabled.d.ts.map +1 -1
  8. package/dist/create-ingest-event/create-ingest-event-types.d.ts +4 -1
  9. package/dist/create-ingest-event/create-ingest-event-types.d.ts.map +1 -1
  10. package/dist/create-ingest-event/runtime-execution-state-types.d.ts +93 -51
  11. package/dist/create-ingest-event/runtime-execution-state-types.d.ts.map +1 -1
  12. package/dist/derivation/canonical-json.d.ts.map +1 -1
  13. package/dist/derivation/hash-instrumentation-manifest.d.ts +2 -4
  14. package/dist/derivation/hash-instrumentation-manifest.d.ts.map +1 -1
  15. package/dist/derivation/rasputin-wire-tag.d.ts +11 -0
  16. package/dist/derivation/rasputin-wire-tag.d.ts.map +1 -1
  17. package/dist/derivation/sensitive-property-name.d.ts +3 -0
  18. package/dist/derivation/sensitive-property-name.d.ts.map +1 -0
  19. package/dist/derivation/sha256.d.ts +0 -1
  20. package/dist/derivation/sha256.d.ts.map +1 -1
  21. package/dist/index.d.ts +4 -5
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +860 -1238
  24. package/dist/instrumentation-manifest/instrumentation-manifest-types.d.ts +26 -2
  25. package/dist/instrumentation-manifest/instrumentation-manifest-types.d.ts.map +1 -1
  26. package/dist/instrumentation-manifest/upload-instrumentation-manifest.d.ts +1 -0
  27. package/dist/instrumentation-manifest/upload-instrumentation-manifest.d.ts.map +1 -1
  28. package/dist/normalize-frames/normalize-frames.d.ts.map +1 -1
  29. package/dist/parse-stack/fold-synthetic-frames.d.ts +15 -0
  30. package/dist/parse-stack/fold-synthetic-frames.d.ts.map +1 -0
  31. package/dist/resolve-source-maps/resolve-source-maps.d.ts.map +1 -1
  32. package/dist/sdk-meta.d.ts +1 -1
  33. package/dist/source-identity/source-identity.d.ts +14 -1
  34. package/dist/source-identity/source-identity.d.ts.map +1 -1
  35. package/dist/suppression/create-suppression.d.ts.map +1 -1
  36. package/dist/suppression/suppression-types.d.ts +2 -0
  37. package/dist/suppression/suppression-types.d.ts.map +1 -1
  38. package/dist/transport/create-transport.d.ts.map +1 -1
  39. package/dist/transport/node-http-fetch.d.ts +3 -0
  40. package/dist/transport/node-http-fetch.d.ts.map +1 -0
  41. package/dist/transport/process-shutdown-hooks.d.ts +8 -0
  42. package/dist/transport/process-shutdown-hooks.d.ts.map +1 -0
  43. package/dist/transport/send-batch.d.ts +1 -0
  44. package/dist/transport/send-batch.d.ts.map +1 -1
  45. package/dist/transport/transport-queue.d.ts +2 -1
  46. package/dist/transport/transport-queue.d.ts.map +1 -1
  47. package/dist/transport/transport-types.d.ts +36 -11
  48. package/dist/transport/transport-types.d.ts.map +1 -1
  49. package/package.json +1 -1
  50. package/dist/derivation/captured-value-markers.d.ts +0 -5
  51. package/dist/derivation/captured-value-markers.d.ts.map +0 -1
  52. package/dist/derivation/evaluate-derivation-plan.d.ts +0 -56
  53. package/dist/derivation/evaluate-derivation-plan.d.ts.map +0 -1
  54. package/dist/derivation/wire-values-equal.d.ts +0 -3
  55. package/dist/derivation/wire-values-equal.d.ts.map +0 -1
  56. package/dist/instrumentation-manifest/derivation-plan-types.d.ts +0 -144
  57. package/dist/instrumentation-manifest/derivation-plan-types.d.ts.map +0 -1
@@ -5,7 +5,6 @@
5
5
  * ⚠️ DERIVATION LOCKSTEP — manifest schema must match the server.
6
6
  */
7
7
  import type { SourcePosition } from '../source-identity/source-identity';
8
- import type { DerivationPlan } from './derivation-plan-types';
9
8
  export declare const INSTRUMENTATION_MANIFEST_SCHEMA_VERSION = 3;
10
9
  export type InstrumentationParamBinding = {
11
10
  kind: 'identifier';
@@ -48,7 +47,10 @@ export type InstrumentationManifestFunction = {
48
47
  endLine: number;
49
48
  endColumn: number;
50
49
  params: InstrumentationParamBinding[];
50
+ instrumented?: boolean;
51
+ skipReason?: InstrumentationSkipReason;
51
52
  };
53
+ export type InstrumentationSkipReason = 'direct_eval' | 'unsupported_for_await' | 'await_using' | 'unsupported_async_generator' | 'unsupported_sync_generator' | 'unsupported_constructor' | 'unknown_suspension' | 'verification_failed' | 'parameter_rebinding' | 'arguments_binding';
52
54
  export type InstrumentationManifestCallSite = {
53
55
  id: string;
54
56
  callerFunctionId: string;
@@ -70,20 +72,43 @@ export type InstrumentationManifestDestructure = {
70
72
  column: number;
71
73
  binding: InstrumentationParamBinding;
72
74
  };
75
+ /** One instrumented file that could not be matched to the Git release. */
73
76
  export type SourceVerificationIssue = {
77
+ /** `name` from that file's package, when known. */
74
78
  packageName?: string;
79
+ /** Path of the file inside that package. */
75
80
  packageRelativePath: string;
81
+ /**
82
+ * `not_found` — no matching file in the release.
83
+ * `ambiguous` — more than one possible file; set `sourceRoot` or `sourceRoots`.
84
+ * `invalid_mapping` — `sourceRoot` / `sourceRoots` does not match the repo.
85
+ * `github_unavailable` — Rasputin could not read the release from GitHub.
86
+ */
76
87
  reason: 'not_found' | 'ambiguous' | 'invalid_mapping' | 'github_unavailable';
88
+ /** Other matching paths, when `reason` is `ambiguous`. */
77
89
  candidates?: string[];
78
90
  };
79
91
  type SourcePackageMapping = {
80
92
  packageName?: string;
81
93
  repositoryRoot: string;
82
94
  };
95
+ /**
96
+ * Result of `verifyConfiguration()`: whether every recorded source file maps to
97
+ * exactly one file in the Git commit you set as `release`.
98
+ */
83
99
  export type SourceVerification = {
100
+ /**
101
+ * `verified` — every file mapped uniquely.
102
+ * `partial` — some files mapped, some did not.
103
+ * `ambiguous` — at least one file matched more than one path.
104
+ * `unavailable` — Rasputin could not check GitHub.
105
+ */
84
106
  status: 'verified' | 'partial' | 'ambiguous' | 'unavailable';
107
+ /** How many files mapped uniquely. */
85
108
  verified: number;
109
+ /** Files that did not map, with the reason. */
86
110
  unresolved: SourceVerificationIssue[];
111
+ /** Package-to-folder mappings that were used. */
87
112
  packages?: SourcePackageMapping[];
88
113
  };
89
114
  export type InstrumentationManifestContent = {
@@ -96,7 +121,6 @@ export type InstrumentationManifestContent = {
96
121
  functions: InstrumentationManifestFunction[];
97
122
  callSites: InstrumentationManifestCallSite[];
98
123
  destructures: InstrumentationManifestDestructure[];
99
- derivationPlans: DerivationPlan[];
100
124
  };
101
125
  export {};
102
126
  //# sourceMappingURL=instrumentation-manifest-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"instrumentation-manifest-types.d.ts","sourceRoot":"","sources":["../../src/instrumentation-manifest/instrumentation-manifest-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instrumentation-manifest-types.d.ts","sourceRoot":"","sources":["../../src/instrumentation-manifest/instrumentation-manifest-types.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ type UploadInstrumentationManifestOptions = {
6
6
  release: string;
7
7
  manifest: InstrumentationManifestContent;
8
8
  fetch?: TransportFetch;
9
+ signal?: AbortSignal;
9
10
  };
10
11
  /**
11
12
  * Fire-and-forget merge of static source metadata for this release.
@@ -1 +1 @@
1
- {"version":3,"file":"upload-instrumentation-manifest.d.ts","sourceRoot":"","sources":["../../src/instrumentation-manifest/upload-instrumentation-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EACX,8BAA8B,EAC9B,kBAAkB,EAClB,MAAM,kCAAkC,CAAC;AAE1C,KAAK,oCAAoC,GAAG;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,8BAA8B,CAAC;IACzC,KAAK,CAAC,EAAE,cAAc,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,6BAA6B,GACzC,SAAS,oCAAoC,KAC3C,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,YAAY,EAAE,kBAAkB,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAA;CAAE,CAwBxE,CAAC"}
1
+ {"version":3,"file":"upload-instrumentation-manifest.d.ts","sourceRoot":"","sources":["../../src/instrumentation-manifest/upload-instrumentation-manifest.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EACX,8BAA8B,EAC9B,kBAAkB,EAClB,MAAM,kCAAkC,CAAC;AAE1C,KAAK,oCAAoC,GAAG;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,8BAA8B,CAAC;IACzC,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,6BAA6B,GACzC,SAAS,oCAAoC,KAC3C,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,YAAY,EAAE,kBAAkB,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAA;CAAE,CAyBxE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"normalize-frames.d.ts","sourceRoot":"","sources":["../../src/normalize-frames/normalize-frames.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EACN,KAAK,cAAc,EAGnB,MAAM,oCAAoC,CAAC;AAE5C,KAAK,sBAAsB,GAAG;IAC7B,iGAAiG;IACjG,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IACnB,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5D,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,cAAc,CAAC;CACxB,CAAC;AA4DF,kGAAkG;AAClG,eAAO,MAAM,eAAe,GAC3B,QAAQ,aAAa,EAAE,EACvB,SAAS,sBAAsB,KAC7B,KAAK,EAoDP,CAAC"}
1
+ {"version":3,"file":"normalize-frames.d.ts","sourceRoot":"","sources":["../../src/normalize-frames/normalize-frames.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EACN,KAAK,cAAc,EAGnB,MAAM,oCAAoC,CAAC;AAE5C,KAAK,sBAAsB,GAAG;IAC7B,iGAAiG;IACjG,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IACnB,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5D,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,cAAc,CAAC;CACxB,CAAC;AA4DF,kGAAkG;AAClG,eAAO,MAAM,eAAe,GAC3B,QAAQ,aAAa,EAAE,EACvB,SAAS,sBAAsB,KAC7B,KAAK,EAoDP,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Drop only frames Rasputin can name as its own. Customer functions named
3
+ * `run` / `Object.run` stay. Raw `error.stack` may still show `__rasputinShell__`.
4
+ */
5
+ export type FoldableFrame = {
6
+ function?: string;
7
+ file?: string;
8
+ generated?: {
9
+ file: string;
10
+ };
11
+ };
12
+ export declare const isRasputinShellFrame: (name: string | undefined) => boolean;
13
+ export declare const isRasputinHandleRunFrame: (name: string | undefined) => boolean;
14
+ export declare const foldSyntheticFrames: <T extends FoldableFrame>(frames: readonly T[]) => T[];
15
+ //# sourceMappingURL=fold-synthetic-frames.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fold-synthetic-frames.d.ts","sourceRoot":"","sources":["../../src/parse-stack/fold-synthetic-frames.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7B,CAAC;AAgBF,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,GAAG,SAAS,KAAG,OACqB,CAAC;AAEtF,eAAO,MAAM,wBAAwB,GAAI,MAAM,MAAM,GAAG,SAAS,KAAG,OACsB,CAAC;AAoB3F,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,aAAa,EAAE,QAAQ,SAAS,CAAC,EAAE,KAAG,CAAC,EAKpF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-source-maps.d.ts","sourceRoot":"","sources":["../../src/resolve-source-maps/resolve-source-maps.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAiB,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAgI/E,iFAAiF;AACjF,eAAO,MAAM,iBAAiB,GAAU,QAAQ,QAAQ,EAAE,KAAG,OAAO,CAAC,uBAAuB,CAW3F,CAAC;AAEF,qDAAqD;AACrD,eAAO,MAAM,mBAAmB,YAE/B,CAAC"}
1
+ {"version":3,"file":"resolve-source-maps.d.ts","sourceRoot":"","sources":["../../src/resolve-source-maps/resolve-source-maps.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAiB,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAwK/E,iFAAiF;AACjF,eAAO,MAAM,iBAAiB,GAAU,QAAQ,QAAQ,EAAE,KAAG,OAAO,CAAC,uBAAuB,CAW3F,CAAC;AAEF,qDAAqD;AACrD,eAAO,MAAM,mBAAmB,YAE/B,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/core";
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
@@ -1,17 +1,30 @@
1
+ /** Where a recorded file lives in your package, without using a container filesystem path. */
1
2
  export type SourceLocator = {
3
+ /** `name` from the nearest `package.json`, when Rasputin can read one. */
2
4
  packageName?: string;
5
+ /** Path of the file inside that package, such as `src/checkout.ts`. */
3
6
  packageRelativePath: string;
4
- /** Filled only after the backend verifies this path against the exact Git release. */
7
+ /** Path in the Git repo after Rasputin has matched this file to the configured release. */
5
8
  repositoryPath?: string;
6
9
  };
10
+ /** A location in source: the file plus optional line and column. */
7
11
  export type SourcePosition = SourceLocator & {
8
12
  line?: number;
9
13
  column?: number;
10
14
  };
15
+ /** One function that ran during a recorded request or job. */
11
16
  export type RuntimeFunctionDefinition = {
17
+ /** Stable id used by call events so the function's name and source are stored once. */
12
18
  functionId: string;
19
+ /** Function name as written in source, or `(anonymous)` when it has none. */
13
20
  name: string;
21
+ /** File and position of the function, when that can be resolved. */
14
22
  source?: SourcePosition;
23
+ /**
24
+ * Present when parameter initializers may run before recorder entry.
25
+ * `parentCallId` on nearby events is still the store at enter time, not rewritten.
26
+ */
27
+ parentAttribution?: 'pre_body_parameter_evaluation';
15
28
  };
16
29
  /**
17
30
  * Describe a source file using deploy-stable package identity. Production images often omit the
@@ -1 +1 @@
1
- {"version":3,"file":"source-identity.d.ts","sourceRoot":"","sources":["../../src/source-identity/source-identity.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,aAAa,GAAG;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,sFAAsF;IACtF,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,cAAc,CAAC;CACxB,CAAC;AAuDF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAI,MAAM,MAAM,KAAG,aAAa,GAAG,SAoBpE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,QAAQ,aAAa,KAAG,MACI,CAAC;AAE9D,eAAO,MAAM,iBAAiB,GAC7B,YAAY,IAAI,CAAC,yBAAyB,EAAE,YAAY,CAAC,KACvD,MAUF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,QAAQ,aAAa,KAAG,MACN,CAAC;AAErD,eAAO,MAAM,wBAAwB,QAAO,IAE3C,CAAC"}
1
+ {"version":3,"file":"source-identity.d.ts","sourceRoot":"","sources":["../../src/source-identity/source-identity.ts"],"names":[],"mappings":"AAKA,8FAA8F;AAC9F,MAAM,MAAM,aAAa,GAAG;IAC3B,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,mBAAmB,EAAE,MAAM,CAAC;IAC5B,2FAA2F;IAC3F,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,oEAAoE;AACpE,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,8DAA8D;AAC9D,MAAM,MAAM,yBAAyB,GAAG;IACvC,uFAAuF;IACvF,UAAU,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,+BAA+B,CAAC;CACpD,CAAC;AAuDF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAI,MAAM,MAAM,KAAG,aAAa,GAAG,SAoBpE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,QAAQ,aAAa,KAAG,MACI,CAAC;AAE9D,eAAO,MAAM,iBAAiB,GAC7B,YAAY,IAAI,CAAC,yBAAyB,EAAE,YAAY,CAAC,KACvD,MAUF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,QAAQ,aAAa,KAAG,MACN,CAAC;AAErD,eAAO,MAAM,wBAAwB,QAAO,IAE3C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-suppression.d.ts","sourceRoot":"","sources":["../../src/suppression/create-suppression.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,KAAK,EACX,wBAAwB,EACxB,aAAa,EACb,oBAAoB,EAEpB,sBAAsB,EACtB,uBAAuB,EACvB,MAAM,qBAAqB,CAAC;AAyC7B;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAAI,UAAS,wBAA6B;oBAmDhD,sBAAsB,KAAG,uBAAuB;sCAgEpE;QAAE,OAAO,EAAE,aAAa,CAAC;QAAC,SAAS,EAAE,QAAQ,EAAE,CAAA;KAAE,EAAE;mDAsBpC,oBAAoB,KACnC,OAAO,CAAC,aAAa,EAAE,CAAC;IA0B1B,oDAAoD;;CAGrD,CAAC"}
1
+ {"version":3,"file":"create-suppression.d.ts","sourceRoot":"","sources":["../../src/suppression/create-suppression.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,KAAK,EACX,wBAAwB,EACxB,aAAa,EACb,oBAAoB,EAEpB,sBAAsB,EACtB,uBAAuB,EACvB,MAAM,qBAAqB,CAAC;AA0C7B;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAAI,UAAS,wBAA6B;oBA0DhD,sBAAsB,KAAG,uBAAuB;sCAgEpE;QAAE,OAAO,EAAE,aAAa,CAAC;QAAC,SAAS,EAAE,QAAQ,EAAE,CAAA;KAAE,EAAE;mDAsBpC,oBAAoB,KACnC,OAAO,CAAC,aAAa,EAAE,CAAC;IA0B1B,oDAAoD;;CAGrD,CAAC"}
@@ -41,6 +41,8 @@ export type CreateSuppressionOptions = {
41
41
  capPerWindow?: number;
42
42
  /** LRU cap on in-process burst buckets (burstKey), not server fingerprints. */
43
43
  maxBurstBuckets?: number;
44
+ /** Cap on drained-but-not-yet-sent window summaries. Oldest drafts are dropped. */
45
+ maxPendingSummaries?: number;
44
46
  };
45
47
  export type PrepareSummaryFrames = (raw: RawFrame[]) => Promise<Pick<SummaryIdentity, 'stack_frames' | 'resolution'>>;
46
48
  //# sourceMappingURL=suppression-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"suppression-types.d.ts","sourceRoot":"","sources":["../../src/suppression/suppression-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,MAAM,kDAAkD,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sCAAsC,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEzD,kFAAkF;AAClF,MAAM,MAAM,aAAa,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,gBAAgB,EAAE,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,IAAI,CACjC,aAAa,EACb,MAAM,GAAG,SAAS,GAAG,cAAc,GAAG,QAAQ,GAAG,MAAM,GAAG,YAAY,CACtE,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,kFAAkF;IAClF,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,kCAAkC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAChC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,CAAA;CAAE,GAChD;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAE1B,MAAM,MAAM,wBAAwB,GAAG;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAClC,GAAG,EAAE,QAAQ,EAAE,KACX,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"suppression-types.d.ts","sourceRoot":"","sources":["../../src/suppression/suppression-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,MAAM,kDAAkD,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sCAAsC,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEzD,kFAAkF;AAClF,MAAM,MAAM,aAAa,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,gBAAgB,EAAE,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,IAAI,CACjC,aAAa,EACb,MAAM,GAAG,SAAS,GAAG,cAAc,GAAG,QAAQ,GAAG,MAAM,GAAG,YAAY,CACtE,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,kFAAkF;IAClF,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,kCAAkC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAChC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,CAAA;CAAE,GAChD;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAE1B,MAAM,MAAM,wBAAwB,GAAG;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mFAAmF;IACnF,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAClC,GAAG,EAAE,QAAQ,EAAE,KACX,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-transport.d.ts","sourceRoot":"","sources":["../../src/transport/create-transport.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,sBAAsB,EAAe,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAoCxF,eAAO,MAAM,eAAe,GAAI,SAAS,sBAAsB,KAAG,SAoOjE,CAAC"}
1
+ {"version":3,"file":"create-transport.d.ts","sourceRoot":"","sources":["../../src/transport/create-transport.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,sBAAsB,EAAe,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAuBxF,eAAO,MAAM,eAAe,GAAI,SAAS,sBAAsB,KAAG,SAwXjE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { TransportFetch } from './transport-types';
2
+ export declare const defaultIngestFetch: () => TransportFetch;
3
+ //# sourceMappingURL=node-http-fetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-http-fetch.d.ts","sourceRoot":"","sources":["../../src/transport/node-http-fetch.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAuFxD,eAAO,MAAM,kBAAkB,QAAO,cACkB,CAAC"}
@@ -0,0 +1,8 @@
1
+ type ProcessShutdownParticipant = {
2
+ onBeforeExit: () => void;
3
+ onSignal: () => Promise<void>;
4
+ dropRemaining: () => void;
5
+ };
6
+ export declare const registerProcessShutdownHooks: (participant: ProcessShutdownParticipant) => (() => void);
7
+ export {};
8
+ //# sourceMappingURL=process-shutdown-hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process-shutdown-hooks.d.ts","sourceRoot":"","sources":["../../src/transport/process-shutdown-hooks.ts"],"names":[],"mappings":"AA4BA,KAAK,0BAA0B,GAAG;IACjC,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,aAAa,EAAE,MAAM,IAAI,CAAC;CAC1B,CAAC;AA8BF,eAAO,MAAM,4BAA4B,GACxC,aAAa,0BAA0B,KACrC,CAAC,MAAM,IAAI,CAiBb,CAAC"}
@@ -13,6 +13,7 @@ type SendBatchOptions = {
13
13
  maxRetries: number;
14
14
  fetch: TransportFetch;
15
15
  signal?: AbortSignal;
16
+ requestTimeoutMs?: number;
16
17
  };
17
18
  export type SendBatchFailureKind = 'aborted' | 'network_error' | 'rate_limited' | 'server_error' | 'non_retryable_http';
18
19
  export type SendBatchResult = {
@@ -1 +1 @@
1
- {"version":3,"file":"send-batch.d.ts","sourceRoot":"","sources":["../../src/transport/send-batch.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,KAAK,gBAAgB,GAAG;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,cAAc,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAC7B,SAAS,GACT,eAAe,GACf,cAAc,GACd,cAAc,GACd,oBAAoB,CAAC;AAExB,MAAM,MAAM,eAAe,GAAG;IAC7B,OAAO,EAAE,IAAI,GAAG,SAAS,GAAG,QAAQ,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACzC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAkCF,iGAAiG;AACjG,eAAO,MAAM,SAAS,GAAU,SAAS,gBAAgB,KAAG,OAAO,CAAC,eAAe,CAgGlF,CAAC"}
1
+ {"version":3,"file":"send-batch.d.ts","sourceRoot":"","sources":["../../src/transport/send-batch.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,KAAK,gBAAgB,GAAG;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,cAAc,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAC7B,SAAS,GACT,eAAe,GACf,cAAc,GACd,cAAc,GACd,oBAAoB,CAAC;AAExB,MAAM,MAAM,eAAe,GAAG;IAC7B,OAAO,EAAE,IAAI,GAAG,SAAS,GAAG,QAAQ,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACzC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AA6DF,iGAAiG;AACjG,eAAO,MAAM,SAAS,GAAU,SAAS,gBAAgB,KAAG,OAAO,CAAC,eAAe,CA+GlF,CAAC"}
@@ -1,8 +1,9 @@
1
1
  import type { QueuedEvent } from './transport-types';
2
2
  /** Bounded queue — drops lower-priority items first when full. */
3
- export declare const createQueue: (maxSize: number) => {
3
+ export declare const createQueue: (maxSize: number, maxBytes?: number) => {
4
4
  enqueue: (item: QueuedEvent) => void;
5
5
  drain: (count: number) => QueuedEvent[];
6
+ setReservedBytes: (bytes: number) => void;
6
7
  size: () => number;
7
8
  getStats: () => {
8
9
  queued: number;
@@ -1 +1 @@
1
- {"version":3,"file":"transport-queue.d.ts","sourceRoot":"","sources":["../../src/transport/transport-queue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAqB,MAAM,mBAAmB,CAAC;AAQxE,kEAAkE;AAClE,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM;oBAkBnB,WAAW;mBAgBZ,MAAM,KAAG,WAAW,EAAE;;;;;;;;;;CAiB5C,CAAC"}
1
+ {"version":3,"file":"transport-queue.d.ts","sourceRoot":"","sources":["../../src/transport/transport-queue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAqB,MAAM,mBAAmB,CAAC;AAQxE,kEAAkE;AAClE,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,EAAE,iBAA0B;oBAkD/C,WAAW;mBA2BZ,MAAM,KAAG,WAAW,EAAE;8BAUjB,MAAM;;;;;;;;;;CAiBjC,CAAC"}
@@ -13,12 +13,14 @@ export type QueuedEvent = {
13
13
  priority: 'first' | 'repeat';
14
14
  /** Generated frames for flush-time source-map resolution. */
15
15
  rawFrames: RawFrame[];
16
+ encodedBytes?: number;
16
17
  } | {
17
18
  kind: 'summary';
18
19
  summary: IngestSummary;
19
20
  priority: 'summary';
20
21
  /** Same capture-time frames as the exemplar — remapped at send. */
21
22
  rawFrames: RawFrame[];
23
+ encodedBytes?: number;
22
24
  };
23
25
  export type TransportFetch = (input: string | URL | Request, init?: RequestInit) => Promise<Response>;
24
26
  type PrepareQueuedEvent = (item: {
@@ -26,33 +28,46 @@ type PrepareQueuedEvent = (item: {
26
28
  rawFrames: RawFrame[];
27
29
  }) => Promise<IngestEvent>;
28
30
  export type TransportStats = {
31
+ /** Events waiting to be sent right now. */
29
32
  queued: number;
33
+ /** Events accepted into the queue since this process started. */
30
34
  enqueued: number;
35
+ /** Events refused because the queue was already full. */
31
36
  droppedIncoming: number;
37
+ /** Events removed from the queue to make room for newer ones. */
32
38
  droppedQueued: number;
39
+ /** `droppedIncoming` plus `droppedQueued`. */
33
40
  droppedTotal: number;
34
- /** Flush operations that acquired the transport and attempted work. */
41
+ /** Flushes that actually started sending. */
35
42
  flushesStarted: number;
36
- /** Flush calls that joined an operation already in progress. */
43
+ /** Flush calls that waited on a send already in progress. */
37
44
  flushesJoined: number;
38
- /** Individual HTTP attempts, including retries. */
45
+ /** HTTP requests to the ingest API, including retries. */
39
46
  sendAttempts: number;
40
- /** HTTP attempts after the first attempt within a batch send. */
47
+ /** Extra HTTP attempts after the first try of a batch. */
41
48
  sendRetries: number;
42
- /** Previously failed batches replayed by a later flush. */
49
+ /** Failed batches sent again on a later flush. */
43
50
  batchReplays: number;
51
+ /** Batches the API accepted. */
44
52
  batchesSucceeded: number;
45
- /** Batches discarded after a non-retryable HTTP response. */
53
+ /** Batches given up after a response that should not be retried. */
46
54
  batchesDropped: number;
47
- /** Batch-send operations left queued for a later replay. */
55
+ /** Batches that failed and are waiting to be tried again. */
48
56
  batchesFailed: number;
49
- /** Flush operations whose abort deadline was reached. */
57
+ /** Flushes that stopped because they ran out of time. */
50
58
  flushTimeouts: number;
59
+ /** Sends that failed before getting an HTTP response. */
51
60
  networkErrors: number;
61
+ /** HTTP 429 responses. */
52
62
  rateLimitedResponses: number;
63
+ /** HTTP 5xx responses. */
53
64
  serverErrorResponses: number;
54
- /** Categorical final failure only; never contains URLs, payloads, or error text. */
65
+ /**
66
+ * Why the most recent send failed, without URLs or error text.
67
+ * `null` if nothing has failed yet.
68
+ */
55
69
  lastFailureKind: 'aborted' | 'network_error' | 'rate_limited' | 'server_error' | 'non_retryable_http' | null;
70
+ /** Status code from that failure, when the API responded. */
56
71
  lastFailureStatusCode: number | null;
57
72
  };
58
73
  export type CreateTransportOptions = {
@@ -66,8 +81,14 @@ export type CreateTransportOptions = {
66
81
  flushIntervalMs?: number;
67
82
  gzipThresholdBytes?: number;
68
83
  maxRetries?: number;
84
+ /** Per-attempt HTTP timeout. Default 2s so a dead ingest host cannot hold the process open. */
85
+ requestTimeoutMs?: number;
69
86
  fetch?: TransportFetch;
70
- /** Disable process signal / beforeExit hooks (tests). Default true. */
87
+ /**
88
+ * Install SIGINT / SIGTERM / beforeExit flush hooks and briefly hold
89
+ * `process.exit` so queued events can drain. Default true. Disable when the
90
+ * host owns process shutdown.
91
+ */
71
92
  installSignalHandlers?: boolean;
72
93
  /** Rewrite events before send (e.g. source-map resolve + re-normalize). */
73
94
  prepareEvent?: PrepareQueuedEvent;
@@ -75,9 +96,13 @@ export type CreateTransportOptions = {
75
96
  prepareSummary?: PrepareSummaryFrames;
76
97
  sdkVersion?: string;
77
98
  sdkName?: string;
99
+ /** Drain pending work (burst summaries) immediately before a flush or timer tick. */
100
+ beforeFlush?: () => void;
101
+ /** Hard cap on queued JSON bytes. Default 8 MiB. */
102
+ maxQueueBytes?: number;
78
103
  };
79
104
  export type Transport = {
80
- enqueue: (event: IngestEvent, priority?: 'first' | 'repeat', rawFrames?: RawFrame[]) => void;
105
+ enqueue: (event: IngestEvent, priority?: 'first' | 'repeat', rawFrames?: RawFrame[], encodedBytes?: number) => void;
81
106
  enqueueSummary: (summary: IngestSummary, rawFrames?: RawFrame[]) => void;
82
107
  flush: (timeoutMs?: number) => Promise<void>;
83
108
  close: () => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"transport-types.d.ts","sourceRoot":"","sources":["../../src/transport/transport-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport-types.d.ts","sourceRoot":"","sources":["../../src/transport/transport-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAE5F;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE/D,MAAM,MAAM,WAAW,GACpB;IACA,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC7B,6DAA6D;IAC7D,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACrB,GACD;IACA,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,SAAS,CAAC;IACpB,mEAAmE;IACnE,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEL,MAAM,MAAM,cAAc,GAAG,CAC5B,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAC7B,IAAI,CAAC,EAAE,WAAW,KACd,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvB,KAAK,kBAAkB,GAAG,CAAC,IAAI,EAAE;IAChC,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,QAAQ,EAAE,CAAC;CACtB,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;AAE3B,MAAM,MAAM,cAAc,GAAG;IAC5B,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,QAAQ,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,eAAe,EAAE,MAAM,CAAC;IACxB,iEAAiE;IACjE,aAAa,EAAE,MAAM,CAAC;IACtB,8CAA8C;IAC9C,YAAY,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,cAAc,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,aAAa,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,YAAY,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,YAAY,EAAE,MAAM,CAAC;IACrB,gCAAgC;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,oEAAoE;IACpE,cAAc,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,aAAa,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,aAAa,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,aAAa,EAAE,MAAM,CAAC;IACtB,0BAA0B;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,0BAA0B;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,eAAe,EACZ,SAAS,GACT,eAAe,GACf,cAAc,GACd,cAAc,GACd,oBAAoB,GACpB,IAAI,CAAC;IACR,6DAA6D;IAC7D,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACpC,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+FAA+F;IAC/F,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,2EAA2E;IAC3E,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,+DAA+D;IAC/D,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qFAAqF;IACrF,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACvB,OAAO,EAAE,CACR,KAAK,EAAE,WAAW,EAClB,QAAQ,CAAC,EAAE,OAAO,GAAG,QAAQ,EAC7B,SAAS,CAAC,EAAE,QAAQ,EAAE,EACtB,YAAY,CAAC,EAAE,MAAM,KACjB,IAAI,CAAC;IACV,cAAc,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,CAAC,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;IACzE,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,uFAAuF;IACvF,IAAI,EAAE,MAAM,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,cAAc,CAAC;CAC/B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rasputin-ai/core",
3
- "version": "0.5.0-alpha.13",
3
+ "version": "0.5.0-alpha.14",
4
4
  "description": "Core error capture, stack parsing, and ingest transport for Rasputin AI.",
5
5
  "type": "module",
6
6
  "exports": {
@@ -1,5 +0,0 @@
1
- /** Serializer markers and tagged holes that make a captured snapshot incomplete. */
2
- export declare const capturedValueCompleteness: (value: unknown) => "exact" | "partial";
3
- export declare const isRedactedCapturedValue: (value: unknown) => boolean;
4
- export declare const isSerializerMarker: (value: unknown) => boolean;
5
- //# sourceMappingURL=captured-value-markers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"captured-value-markers.d.ts","sourceRoot":"","sources":["../../src/derivation/captured-value-markers.ts"],"names":[],"mappings":"AAaA,oFAAoF;AACpF,eAAO,MAAM,yBAAyB,GAAI,OAAO,OAAO,KAAG,OAAO,GAAG,SA6BpE,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,OAAO,OAAO,KAAG,OAKxD,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,OAAO,OAAO,KAAG,OAInD,CAAC"}
@@ -1,56 +0,0 @@
1
- /**
2
- * Reconstructs function locals from a recorded execution plus the release manifest's derivation
3
- * plans. The Node recorder does not run this in production; it is the test oracle for capture IR,
4
- * and Rasputin runs the lockstep copy during replay.
5
- * Keep in sync with `packages/~core/lib/runtime-derivation/evaluate-derivation-plan.ts`.
6
- * ⚠️ DERIVATION LOCKSTEP — investigation must interpret the same IR the SDK emitted.
7
- */
8
- import type { RuntimeExecutionState } from '../create-ingest-event/runtime-execution-state-types';
9
- import type { InstrumentationManifestContent } from '../instrumentation-manifest/instrumentation-manifest-types';
10
- export type DerivationValidation = {
11
- status: 'verified' | 'mismatch';
12
- derivedValue?: unknown;
13
- expressionId?: number;
14
- dependencies?: number[];
15
- };
16
- export type EvaluatedRuntimeValue = {
17
- origin: 'captured';
18
- completeness: 'exact' | 'partial';
19
- value: unknown;
20
- derivationValidation?: DerivationValidation;
21
- } | {
22
- origin: 'derived';
23
- completeness: 'exact' | 'partial';
24
- value: unknown;
25
- dependencies: number[];
26
- derivationValidation?: DerivationValidation;
27
- } | {
28
- origin: 'unavailable';
29
- reason: string;
30
- };
31
- export type EvaluatedFunctionState = {
32
- functionId: string;
33
- callId: number;
34
- values: Record<number, EvaluatedRuntimeValue>;
35
- variables: Array<{
36
- variableId: number;
37
- name: string;
38
- availableAtLine: number;
39
- availableAtColumn: number;
40
- result: EvaluatedRuntimeValue;
41
- }>;
42
- returnValue?: EvaluatedRuntimeValue;
43
- };
44
- export type EvaluateDerivationResult = {
45
- unavailableReason?: string;
46
- functions: EvaluatedFunctionState[];
47
- };
48
- export declare const evaluateRuntimeDerivation: (input: {
49
- state: RuntimeExecutionState;
50
- manifest: InstrumentationManifestContent | null;
51
- }) => EvaluateDerivationResult;
52
- export declare const evaluatedValueAtLine: (evaluated: EvaluatedFunctionState | undefined, line: number | null) => Array<{
53
- name: string;
54
- result: EvaluatedRuntimeValue;
55
- }>;
56
- //# sourceMappingURL=evaluate-derivation-plan.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"evaluate-derivation-plan.d.ts","sourceRoot":"","sources":["../../src/derivation/evaluate-derivation-plan.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAGX,qBAAqB,EACrB,MAAM,sDAAsD,CAAC;AAM9D,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,4DAA4D,CAAC;AAYjH,MAAM,MAAM,oBAAoB,GAAG;IAClC,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAC9B;IACA,MAAM,EAAE,UAAU,CAAC;IACnB,YAAY,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC3C,GACD;IACA,MAAM,EAAE,SAAS,CAAC;IAClB,YAAY,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC3C,GACD;IACA,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CACd,CAAC;AAEL,MAAM,MAAM,sBAAsB,GAAG;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAC9C,SAAS,EAAE,KAAK,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,eAAe,EAAE,MAAM,CAAC;QACxB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,MAAM,EAAE,qBAAqB,CAAC;KAC9B,CAAC,CAAC;IACH,WAAW,CAAC,EAAE,qBAAqB,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACtC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,sBAAsB,EAAE,CAAC;CACpC,CAAC;AA01BF,eAAO,MAAM,yBAAyB,GAAI,OAAO;IAChD,KAAK,EAAE,qBAAqB,CAAC;IAC7B,QAAQ,EAAE,8BAA8B,GAAG,IAAI,CAAC;CAChD,KAAG,wBAuEH,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAChC,WAAW,sBAAsB,GAAG,SAAS,EAC7C,MAAM,MAAM,GAAG,IAAI,KACjB,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,qBAAqB,CAAA;CAAE,CAKvD,CAAC"}
@@ -1,3 +0,0 @@
1
- /** Compare already-serialized snapshots. Never invokes getters or application code. */
2
- export declare const wireValuesEqual: (left: unknown, right: unknown) => boolean;
3
- //# sourceMappingURL=wire-values-equal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wire-values-equal.d.ts","sourceRoot":"","sources":["../../src/derivation/wire-values-equal.ts"],"names":[],"mappings":"AAoBA,uFAAuF;AACvF,eAAO,MAAM,eAAe,GAAI,MAAM,OAAO,EAAE,OAAO,OAAO,KAAG,OAoB/D,CAAC"}
@@ -1,144 +0,0 @@
1
- /**
2
- * Shared IR for reconstructing locals after capture. Plans travel in the instrumentation manifest so
3
- * investigation can evaluate the same expression graph the SDK emitted.
4
- * Keep in sync with `packages/~core/data-types/derivation-plan-types.ts`.
5
- * ⚠️ DERIVATION LOCKSTEP — the IR must stay identical across capture and investigation.
6
- */
7
- export type PrimitiveConst = {
8
- type: 'null';
9
- } | {
10
- type: 'undefined';
11
- } | {
12
- type: 'boolean';
13
- value: boolean;
14
- } | {
15
- type: 'number';
16
- value: number;
17
- negativeZero?: true;
18
- } | {
19
- type: 'string';
20
- value: string;
21
- } | {
22
- type: 'bigint';
23
- value: string;
24
- };
25
- export type DerivationBinaryOp = 'add' | 'sub' | 'mul' | 'div' | 'mod' | 'eq' | 'neq' | 'seq' | 'sneq' | 'lt' | 'lte' | 'gt' | 'gte';
26
- export type DerivationUnaryOp = 'plus' | 'minus' | 'not' | 'typeof';
27
- export type DerivationExpression = {
28
- id: number;
29
- kind: 'const';
30
- value: PrimitiveConst;
31
- } | {
32
- id: number;
33
- kind: 'param';
34
- index: number;
35
- } | {
36
- id: number;
37
- kind: 'root';
38
- rootId: number;
39
- } | {
40
- id: number;
41
- kind: 'alias';
42
- from: number;
43
- } | {
44
- id: number;
45
- kind: 'binary';
46
- op: DerivationBinaryOp;
47
- left: number;
48
- right: number;
49
- guard: 'numeric' | 'primitive' | 'none';
50
- } | {
51
- id: number;
52
- kind: 'unary';
53
- op: DerivationUnaryOp;
54
- operand: number;
55
- } | {
56
- id: number;
57
- kind: 'logical';
58
- op: 'and' | 'or' | 'nullish';
59
- left: number;
60
- right: number;
61
- } | {
62
- id: number;
63
- kind: 'cond';
64
- test: number;
65
- consequent: number;
66
- alternate: number;
67
- } | {
68
- id: number;
69
- kind: 'template';
70
- parts: Array<{
71
- kind: 'lit';
72
- value: string;
73
- } | {
74
- kind: 'expr';
75
- expressionId: number;
76
- }>;
77
- } | {
78
- id: number;
79
- kind: 'object';
80
- properties: Array<{
81
- key: string;
82
- value: number;
83
- }>;
84
- } | {
85
- id: number;
86
- kind: 'array';
87
- elements: Array<number | {
88
- kind: 'hole';
89
- }>;
90
- } | {
91
- id: number;
92
- kind: 'prop';
93
- object: number;
94
- key: string;
95
- } | {
96
- id: number;
97
- kind: 'index';
98
- array: number;
99
- index: number;
100
- } | {
101
- id: number;
102
- kind: 'pure_call';
103
- calleeFunctionId: string;
104
- args: number[];
105
- };
106
- export type CaptureReason = 'opaque_call' | 'unknown_property' | 'unsupported_expression' | 'guard_failure' | 'nondeterministic' | 'mutable_object' | 'imported_call' | 'dynamic_callee' | 'external_state';
107
- export type DerivationFallbackReason = 'unsupported_expression' | 'impure_function' | 'unknown_callee' | 'mutable_state' | 'async' | 'has_loop' | 'dynamic_access' | 'side_effect';
108
- export type CaptureBoundary = {
109
- id: number;
110
- reason: CaptureReason;
111
- expressionId?: number;
112
- line: number;
113
- column: number;
114
- };
115
- export type ControlFactDefinition = {
116
- id: number;
117
- kind: 'branch';
118
- testExpressionId: number;
119
- line: number;
120
- column: number;
121
- };
122
- export type DerivationVariable = {
123
- id: number;
124
- name: string;
125
- functionId: string;
126
- scopeId: string;
127
- line: number;
128
- column: number;
129
- assignmentId: number;
130
- expressionId: number;
131
- availableAtLine: number;
132
- availableAtColumn: number;
133
- };
134
- export type DerivationPlan = {
135
- planId: string;
136
- functionId: string;
137
- expressions: DerivationExpression[];
138
- variables: DerivationVariable[];
139
- captureBoundaries: CaptureBoundary[];
140
- controlFacts: ControlFactDefinition[];
141
- returnExpressionId?: number;
142
- fallbackReason?: DerivationFallbackReason;
143
- };
144
- //# sourceMappingURL=derivation-plan-types.d.ts.map