@rasputin-ai/core 0.2.0 → 0.4.0
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.
- package/dist/announce-deploy/announce-deploy.d.ts +2 -2
- package/dist/announce-deploy/announce-deploy.d.ts.map +1 -1
- package/dist/create-client/create-client-types.d.ts +50 -19
- package/dist/create-client/create-client-types.d.ts.map +1 -1
- package/dist/create-client/create-client.d.ts +1 -1
- package/dist/create-client/create-client.d.ts.map +1 -1
- package/dist/create-client/is-client-enabled.d.ts.map +1 -1
- package/dist/create-client/resolve-endpoint-urls.d.ts +2 -1
- package/dist/create-client/resolve-endpoint-urls.d.ts.map +1 -1
- package/dist/create-ingest-event/create-ingest-event-types.d.ts +8 -2
- package/dist/create-ingest-event/create-ingest-event-types.d.ts.map +1 -1
- package/dist/create-ingest-event/create-ingest-event.d.ts.map +1 -1
- package/dist/create-ingest-event/runtime-execution-state-types.d.ts +91 -0
- package/dist/create-ingest-event/runtime-execution-state-types.d.ts.map +1 -0
- package/dist/create-ingest-event/truncate-ingest-message.d.ts +3 -0
- package/dist/create-ingest-event/truncate-ingest-message.d.ts.map +1 -0
- package/dist/detect-release/detect-release.d.ts +1 -1
- package/dist/detect-release/detect-release.d.ts.map +1 -1
- package/dist/index.d.ts +10 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +331 -80
- package/dist/instrumentation-manifest/instrumentation-manifest-types.d.ts +98 -0
- package/dist/instrumentation-manifest/instrumentation-manifest-types.d.ts.map +1 -0
- package/dist/instrumentation-manifest/upload-instrumentation-manifest.d.ts +21 -0
- package/dist/instrumentation-manifest/upload-instrumentation-manifest.d.ts.map +1 -0
- package/dist/normalize-frames/normalize-frames.d.ts +4 -2
- package/dist/normalize-frames/normalize-frames.d.ts.map +1 -1
- package/dist/repo-root/warn-repo-root-setup.d.ts +0 -1
- package/dist/repo-root/warn-repo-root-setup.d.ts.map +1 -1
- package/dist/sdk-meta.d.ts +2 -2
- package/dist/sdk-meta.d.ts.map +1 -1
- package/dist/source-identity/source-identity.d.ts +25 -0
- package/dist/source-identity/source-identity.d.ts.map +1 -0
- package/dist/suppression/suppression-types.d.ts +2 -2
- package/dist/suppression/suppression-types.d.ts.map +1 -1
- package/dist/transport/create-transport.d.ts.map +1 -1
- package/dist/transport/transport-queue.d.ts +7 -0
- package/dist/transport/transport-queue.d.ts.map +1 -1
- package/dist/transport/transport-types.d.ts +11 -2
- package/dist/transport/transport-types.d.ts.map +1 -1
- package/package.json +1 -2
|
@@ -4,8 +4,8 @@ type AnnounceDeployOptions = {
|
|
|
4
4
|
deployUrl: string;
|
|
5
5
|
projectApiKey: string;
|
|
6
6
|
environment: string;
|
|
7
|
-
/** Commit SHA / release.
|
|
8
|
-
release?: string
|
|
7
|
+
/** Commit SHA / release. Empty when it could not be detected. */
|
|
8
|
+
release?: string;
|
|
9
9
|
/** When false, no-op. Default true. */
|
|
10
10
|
enabled?: boolean;
|
|
11
11
|
fetch?: TransportFetch;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"announce-deploy.d.ts","sourceRoot":"","sources":["../../src/announce-deploy/announce-deploy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,KAAK,qBAAqB,GAAG;IAC5B,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,
|
|
1
|
+
{"version":3,"file":"announce-deploy.d.ts","sourceRoot":"","sources":["../../src/announce-deploy/announce-deploy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,KAAK,qBAAqB,GAAG;IAC5B,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,cAAc,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,GAC1B,SAAS,qBAAqB,KAC5B,OAAO,CAAC,IAAI,GAAG,SAAS,GAAG,QAAQ,CAyBrC,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { RequestContext } from '../create-ingest-event/create-ingest-event-types';
|
|
2
|
-
import type {
|
|
2
|
+
import type { RuntimeExecutionState } from '../create-ingest-event/runtime-execution-state-types';
|
|
3
|
+
import type { TransportFetch, TransportStats } from '../transport/transport-types';
|
|
3
4
|
type RasputinBaseOptions = {
|
|
4
5
|
/** Project API key from the Rasputin dashboard. Required to send events. */
|
|
5
6
|
projectApiKey: string;
|
|
@@ -12,13 +13,13 @@ type RasputinBaseOptions = {
|
|
|
12
13
|
* Git commit SHA for this deploy. Links errors to a release so you can see
|
|
13
14
|
* what shipped when something broke.
|
|
14
15
|
*
|
|
15
|
-
*
|
|
16
|
-
* `release: process.env.RASPUTIN_RELEASE
|
|
16
|
+
* Set `RASPUTIN_RELEASE` in your deploy environment and pass:
|
|
17
|
+
* `release: process.env.RASPUTIN_RELEASE!`
|
|
17
18
|
*
|
|
18
|
-
* When
|
|
19
|
+
* When blank, Rasputin reads `RASPUTIN_RELEASE`, then platform vars
|
|
19
20
|
* (`VERCEL_GIT_COMMIT_SHA`, etc.), then `.git` HEAD. Must be 7–40 hex chars.
|
|
20
21
|
*/
|
|
21
|
-
release
|
|
22
|
+
release: string;
|
|
22
23
|
/**
|
|
23
24
|
* Master on/off switch. When `false`, nothing is captured or sent.
|
|
24
25
|
* Useful for local dev or tests without removing init code.
|
|
@@ -26,7 +27,37 @@ type RasputinBaseOptions = {
|
|
|
26
27
|
* @default true
|
|
27
28
|
*/
|
|
28
29
|
enabled?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Print a configuration summary when setup succeeds. Failures always log.
|
|
32
|
+
* Set to `false` to keep production logs quiet.
|
|
33
|
+
*
|
|
34
|
+
* @default true
|
|
35
|
+
*/
|
|
36
|
+
logSuccess?: boolean;
|
|
29
37
|
apiUrl?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Folder of this service inside the Git repo, such as `apps/api`.
|
|
40
|
+
* Only needed in a monorepo when the same relative path exists in more than
|
|
41
|
+
* one package. Use a repo-relative path, not a Docker or container path.
|
|
42
|
+
*/
|
|
43
|
+
sourceRoot?: string;
|
|
44
|
+
/**
|
|
45
|
+
* Map each package's `package.json` `"name"` to its folder in the Git repo,
|
|
46
|
+
* such as `{ "@acme/api": "apps/api" }`. Use when several packages share the
|
|
47
|
+
* same relative file paths.
|
|
48
|
+
*/
|
|
49
|
+
sourceRoots?: Record<string, string>;
|
|
50
|
+
/**
|
|
51
|
+
* Absolute path to the project folder on this machine. Stack traces then
|
|
52
|
+
* show `src/app.ts` instead of `/var/app/src/app.ts`.
|
|
53
|
+
* Prefer `moduleUrl: import.meta.url` unless you need to set the folder yourself.
|
|
54
|
+
*/
|
|
55
|
+
repoRoot?: string;
|
|
56
|
+
/**
|
|
57
|
+
* Pass `import.meta.url` from the file that calls `RasputinInit`.
|
|
58
|
+
* Stack traces then show project-relative paths.
|
|
59
|
+
*/
|
|
60
|
+
moduleUrl?: string;
|
|
30
61
|
};
|
|
31
62
|
/**
|
|
32
63
|
* Options passed to `RasputinInit` / `createClient`.
|
|
@@ -37,23 +68,15 @@ type RasputinBaseOptions = {
|
|
|
37
68
|
* RasputinInit({
|
|
38
69
|
* projectApiKey: 'rp_…', // from your Rasputin project settings
|
|
39
70
|
* environment: 'production', // e.g. production | staging | preview
|
|
40
|
-
* release: process.env.RASPUTIN_RELEASE
|
|
41
|
-
* moduleUrl: import.meta.url, // from the file where you call this
|
|
71
|
+
* release: process.env.RASPUTIN_RELEASE!,
|
|
42
72
|
* });
|
|
43
73
|
* ```
|
|
44
74
|
*
|
|
45
|
-
* Pass `moduleUrl: import.meta.url`
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
* you open in your editor instead.
|
|
75
|
+
* Pass `moduleUrl: import.meta.url` if you want stack traces to use project-relative paths.
|
|
76
|
+
* In a monorepo, set `sourceRoot` or `sourceRoots` only if Rasputin cannot tell which
|
|
77
|
+
* package a recorded file belongs to.
|
|
49
78
|
*/
|
|
50
|
-
export type RasputinOptions = RasputinBaseOptions
|
|
51
|
-
repoRoot: string;
|
|
52
|
-
moduleUrl?: string;
|
|
53
|
-
} | {
|
|
54
|
-
moduleUrl: string;
|
|
55
|
-
repoRoot?: string;
|
|
56
|
-
});
|
|
79
|
+
export type RasputinOptions = RasputinBaseOptions;
|
|
57
80
|
/**
|
|
58
81
|
* Extra context for a captured error.
|
|
59
82
|
* Framework plugins (Elysia, etc.) fill `request` automatically for route failures.
|
|
@@ -64,6 +87,12 @@ export type CaptureContext = {
|
|
|
64
87
|
* a request yourself; omit for background jobs and scripts.
|
|
65
88
|
*/
|
|
66
89
|
request?: RequestContext;
|
|
90
|
+
/** Runtime state supplied by a framework/runtime integration. */
|
|
91
|
+
runtimeState?: RuntimeExecutionState;
|
|
92
|
+
};
|
|
93
|
+
export type RasputinClientStats = {
|
|
94
|
+
/** Process-local transport counters. Cumulative counters reset when the process restarts. */
|
|
95
|
+
transport: TransportStats;
|
|
67
96
|
};
|
|
68
97
|
/**
|
|
69
98
|
* Client returned by `RasputinInit` / `createClient`.
|
|
@@ -104,8 +133,10 @@ export type RasputinClient = {
|
|
|
104
133
|
* After `close`, the client stops sending — create a new client if you restart.
|
|
105
134
|
*/
|
|
106
135
|
close: () => Promise<void>;
|
|
136
|
+
/** Return a cheap, read-only snapshot of process-local operational safety counters. */
|
|
137
|
+
getStats: () => RasputinClientStats;
|
|
107
138
|
};
|
|
108
|
-
/**
|
|
139
|
+
/** Integration configuration shared with official runtime and framework packages. */
|
|
109
140
|
export type CreateClientHooks = {
|
|
110
141
|
fetch?: TransportFetch;
|
|
111
142
|
announceDeploy?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-client-types.d.ts","sourceRoot":"","sources":["../../src/create-client/create-client-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kDAAkD,CAAC;AACvF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"create-client-types.d.ts","sourceRoot":"","sources":["../../src/create-client/create-client-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kDAAkD,CAAC;AACvF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAClG,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnF,KAAK,mBAAmB,GAAG;IAC1B,4EAA4E;IAC5E,aAAa,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;;;;;;OASG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAErC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAElD;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG;IAC5B;;;OAGG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,iEAAiE;IACjE,YAAY,CAAC,EAAE,qBAAqB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IACjC,6FAA6F;IAC7F,SAAS,EAAE,cAAc,CAAC;CAC1B,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG;IAC5B;;;;;;;;OAQG;IACH,gBAAgB,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IAErE;;;;;;;;;;;;OAYG;IACH,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7C;;;;;OAKG;IACH,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B,uFAAuF;IACvF,QAAQ,EAAE,MAAM,mBAAmB,CAAC;CACpC,CAAC;AAEF,qFAAqF;AACrF,MAAM,MAAM,iBAAiB,GAAG;IAC/B,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,8BAA8B,CAAC,EAAE,OAAO,CAAC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { CreateClientHooks, RasputinClient, RasputinOptions } from './create-client-types';
|
|
2
|
-
/** Reset per-process warning state
|
|
2
|
+
/** Reset per-process warning state. Not exported from the package entry point. */
|
|
3
3
|
export declare const resetSourceMapWarnings: () => void;
|
|
4
4
|
/**
|
|
5
5
|
* Wire parse → suppress (generated frames) → queue.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-client.d.ts","sourceRoot":"","sources":["../../src/create-client/create-client.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAuBhG,
|
|
1
|
+
{"version":3,"file":"create-client.d.ts","sourceRoot":"","sources":["../../src/create-client/create-client.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAuBhG,kFAAkF;AAClF,eAAO,MAAM,sBAAsB,YAGlC,CAAC;AAaF;;;GAGG;AACH,eAAO,MAAM,YAAY,GACxB,SAAS,eAAe,EACxB,QAAO,iBAAsB,KAC3B,cAoKF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-client-enabled.d.ts","sourceRoot":"","sources":["../../src/create-client/is-client-enabled.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7E,uDAAuD;AACvD,eAAO,MAAM,eAAe,GAAI,SAAS,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,KAAG,OACpD,CAAC;AAEzB,eAAO,MAAM,UAAU,QAAO,
|
|
1
|
+
{"version":3,"file":"is-client-enabled.d.ts","sourceRoot":"","sources":["../../src/create-client/is-client-enabled.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7E,uDAAuD;AACvD,eAAO,MAAM,eAAe,GAAI,SAAS,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,KAAG,OACpD,CAAC;AAEzB,eAAO,MAAM,UAAU,QAAO,cAa5B,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/** Production ingest API origin. Override via `apiUrl` for local / self-hosted. */
|
|
2
|
-
export declare const DEFAULT_API_URL = "https://
|
|
2
|
+
export declare const DEFAULT_API_URL = "https://api.rasputinai.dev";
|
|
3
3
|
export declare const resolveEndpointUrls: (apiUrl?: string) => {
|
|
4
4
|
ingestUrl: string;
|
|
5
5
|
deployUrl: string;
|
|
6
|
+
instrumentationManifestUrl: string;
|
|
6
7
|
};
|
|
7
8
|
//# sourceMappingURL=resolve-endpoint-urls.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-endpoint-urls.d.ts","sourceRoot":"","sources":["../../src/create-client/resolve-endpoint-urls.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"resolve-endpoint-urls.d.ts","sourceRoot":"","sources":["../../src/create-client/resolve-endpoint-urls.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,eAAO,MAAM,eAAe,+BAA+B,CAAC;AAE5D,eAAO,MAAM,mBAAmB,GAAI,eAAwB;;;;CAO3D,CAAC"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import type { Frame } from '../normalize-frames/normalize-frames';
|
|
2
|
+
import type { SourcePosition } from '../source-identity/source-identity';
|
|
3
|
+
import type { RuntimeExecutionState } from './runtime-execution-state-types';
|
|
2
4
|
export type IngestOrigin = 'server' | 'client';
|
|
3
5
|
export type FrameResolution = 'exact' | 'partial' | 'none';
|
|
4
6
|
/** Wire stack frame — matches apps/api ingest StackFrame. */
|
|
5
7
|
export type IngestStackFrame = {
|
|
6
8
|
filename: string;
|
|
9
|
+
source?: SourcePosition;
|
|
7
10
|
function?: string;
|
|
8
11
|
lineno?: number;
|
|
9
12
|
colno?: number;
|
|
@@ -20,12 +23,14 @@ export type IngestEvent = {
|
|
|
20
23
|
origin: IngestOrigin;
|
|
21
24
|
/** Whether stack frames were source-map resolved before send. */
|
|
22
25
|
resolution?: FrameResolution;
|
|
23
|
-
release
|
|
26
|
+
release: string;
|
|
24
27
|
request?: {
|
|
25
28
|
method?: string | null;
|
|
26
29
|
route?: string | null;
|
|
27
30
|
status?: number | null;
|
|
28
31
|
};
|
|
32
|
+
/** Bounded runtime state atomically associated with this error occurrence. */
|
|
33
|
+
runtime_state?: RuntimeExecutionState;
|
|
29
34
|
};
|
|
30
35
|
export type RequestContext = {
|
|
31
36
|
method?: string | null;
|
|
@@ -38,10 +43,11 @@ export type CreateIngestEventInput = {
|
|
|
38
43
|
frames: Frame[];
|
|
39
44
|
environment: string;
|
|
40
45
|
resolution: FrameResolution;
|
|
41
|
-
release
|
|
46
|
+
release: string;
|
|
42
47
|
request?: RequestContext;
|
|
43
48
|
origin: IngestOrigin;
|
|
44
49
|
occurredAt?: Date | string;
|
|
45
50
|
code?: string | null;
|
|
51
|
+
runtimeState?: RuntimeExecutionState;
|
|
46
52
|
};
|
|
47
53
|
//# sourceMappingURL=create-ingest-event-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-ingest-event-types.d.ts","sourceRoot":"","sources":["../../src/create-ingest-event/create-ingest-event-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"create-ingest-event-types.d.ts","sourceRoot":"","sources":["../../src/create-ingest-event/create-ingest-event-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sCAAsC,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAE7E,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE/C,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAE3D,6DAA6D;AAC7D,MAAM,MAAM,gBAAgB,GAAG;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,wDAAwD;AACxD,MAAM,MAAM,WAAW,GAAG;IACzB,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,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;IACrB,iEAAiE;IACjE,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE;QACT,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB,CAAC;IACF,8EAA8E;IAC9E,aAAa,CAAC,EAAE,qBAAqB,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,eAAe,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,YAAY,CAAC,EAAE,qBAAqB,CAAC;CACrC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-ingest-event.d.ts","sourceRoot":"","sources":["../../src/create-ingest-event/create-ingest-event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sCAAsC,CAAC;AAClE,OAAO,KAAK,EACX,sBAAsB,EACtB,eAAe,EACf,WAAW,EACX,gBAAgB,EAEhB,MAAM,6BAA6B,CAAC;AAGrC,eAAO,MAAM,gBAAgB,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"create-ingest-event.d.ts","sourceRoot":"","sources":["../../src/create-ingest-event/create-ingest-event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sCAAsC,CAAC;AAClE,OAAO,KAAK,EACX,sBAAsB,EACtB,eAAe,EACf,WAAW,EACX,gBAAgB,EAEhB,MAAM,6BAA6B,CAAC;AAGrC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAiDnC,eAAO,MAAM,mBAAmB,GAAI,QAAQ,KAAK,EAAE,KAAG,gBAAgB,EAIP,CAAC;AAEhE,gFAAgF;AAChF,eAAO,MAAM,kBAAkB,GAC9B,OAAO,WAAW,EAClB,QAAQ,KAAK,EAAE,EACf,YAAY,eAAe,KACzB,WAID,CAAC;AAEH,iFAAiF;AACjF,eAAO,MAAM,iBAAiB,GAAI,OAAO,sBAAsB,KAAG,WA4BjE,CAAC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import type { RuntimeFunctionDefinition, SourcePosition } from '../source-identity/source-identity';
|
|
2
|
+
/**
|
|
3
|
+
* Wire-facing runtime-state types kept inside the standalone SDK package. They mirror the server
|
|
4
|
+
* contract without importing the application's private `~db` graph, allowing the published SDK to
|
|
5
|
+
* remain independently buildable and usable by external projects.
|
|
6
|
+
*/
|
|
7
|
+
export type RuntimeExecutionKind = 'http' | 'serverless' | 'job' | 'scheduled' | 'custom';
|
|
8
|
+
export type RuntimeExecutionRequest = {
|
|
9
|
+
method?: string | null;
|
|
10
|
+
route?: string | null;
|
|
11
|
+
status?: number | null;
|
|
12
|
+
};
|
|
13
|
+
export type RuntimeExecutionMetadata = {
|
|
14
|
+
kind: RuntimeExecutionKind;
|
|
15
|
+
name?: string;
|
|
16
|
+
request?: RuntimeExecutionRequest;
|
|
17
|
+
};
|
|
18
|
+
export type RuntimeFunctionEnterEvent = {
|
|
19
|
+
type: 'function_enter';
|
|
20
|
+
callId: number;
|
|
21
|
+
functionId: string;
|
|
22
|
+
parentCallId?: number;
|
|
23
|
+
timestampMs: number;
|
|
24
|
+
args: unknown[];
|
|
25
|
+
};
|
|
26
|
+
export type RuntimeFunctionExitEvent = {
|
|
27
|
+
type: 'function_exit';
|
|
28
|
+
callId: number;
|
|
29
|
+
timestampMs: number;
|
|
30
|
+
durationMs: number;
|
|
31
|
+
returnValue?: unknown;
|
|
32
|
+
};
|
|
33
|
+
/** Source-mapped origin of the exception represented by a runtime-state throw event. */
|
|
34
|
+
export type RuntimeThrowLocation = {
|
|
35
|
+
file: string;
|
|
36
|
+
source?: SourcePosition;
|
|
37
|
+
function?: string;
|
|
38
|
+
line?: number;
|
|
39
|
+
column?: number;
|
|
40
|
+
inApp: boolean;
|
|
41
|
+
};
|
|
42
|
+
export type RuntimeFunctionThrowEvent = {
|
|
43
|
+
type: 'function_throw';
|
|
44
|
+
callId: number;
|
|
45
|
+
timestampMs: number;
|
|
46
|
+
durationMs: number;
|
|
47
|
+
error?: unknown;
|
|
48
|
+
/** Collector-derived from the occurrence's already-resolved stack before persistence. */
|
|
49
|
+
throwLocation?: RuntimeThrowLocation;
|
|
50
|
+
};
|
|
51
|
+
/** Aggregates successful repeated calls that were intentionally not captured individually. */
|
|
52
|
+
export type RuntimeFunctionCallsSuppressedEvent = {
|
|
53
|
+
type: 'function_calls_suppressed';
|
|
54
|
+
functionId: string;
|
|
55
|
+
parentCallId?: number;
|
|
56
|
+
/** Timestamp of the first suppressed call. */
|
|
57
|
+
timestampMs: number;
|
|
58
|
+
/** Completion timestamp of the most recent suppressed call. */
|
|
59
|
+
lastTimestampMs: number;
|
|
60
|
+
suppressedCallCount: number;
|
|
61
|
+
/** Aggregate wall time of the suppressed calls. */
|
|
62
|
+
totalDurationMs: number;
|
|
63
|
+
};
|
|
64
|
+
export type RuntimeExecutionEvent = RuntimeFunctionEnterEvent | RuntimeFunctionExitEvent | RuntimeFunctionThrowEvent | RuntimeFunctionCallsSuppressedEvent;
|
|
65
|
+
export type RuntimeExecutionRecorderMetrics = {
|
|
66
|
+
/** Cumulative synchronous wall time spent in recorder-owned work for this execution. */
|
|
67
|
+
inlineWallTimeMs: number;
|
|
68
|
+
};
|
|
69
|
+
/** Bounded, redacted execution state captured at the moment an error is reported. */
|
|
70
|
+
export type RuntimeExecutionState = {
|
|
71
|
+
version: 2;
|
|
72
|
+
executionId: string;
|
|
73
|
+
startedAt: string;
|
|
74
|
+
durationMs: number;
|
|
75
|
+
/** Optional for compatibility with runtime states produced by older SDK versions. */
|
|
76
|
+
recorder?: RuntimeExecutionRecorderMetrics;
|
|
77
|
+
execution: RuntimeExecutionMetadata;
|
|
78
|
+
/** Function metadata is stored once per execution; events keep only compact opaque IDs. */
|
|
79
|
+
functions: RuntimeFunctionDefinition[];
|
|
80
|
+
events: RuntimeExecutionEvent[];
|
|
81
|
+
truncated?: {
|
|
82
|
+
eventsDropped: number;
|
|
83
|
+
};
|
|
84
|
+
capture?: {
|
|
85
|
+
completeness: 'partial';
|
|
86
|
+
reason: 'process_memory_budget';
|
|
87
|
+
valuesDropped: number;
|
|
88
|
+
eventsDropped: number;
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=runtime-execution-state-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-execution-state-types.d.ts","sourceRoot":"","sources":["../../src/create-ingest-event/runtime-execution-state-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"truncate-ingest-message.d.ts","sourceRoot":"","sources":["../../src/create-ingest-event/truncate-ingest-message.ts"],"names":[],"mappings":"AAkIA,wFAAwF;AACxF,eAAO,MAAM,qBAAqB,GAAI,OAAO,MAAM,EAAE,iBAA4B,KAAG,MAenF,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
type DetectReleaseOptions = {
|
|
2
2
|
/** Explicit release (e.g. from RasputinInit). Wins over env when a valid SHA. */
|
|
3
|
-
release?: string
|
|
3
|
+
release?: string;
|
|
4
4
|
/** Defaults to `process.env` — override in tests. */
|
|
5
5
|
env?: Record<string, string | undefined>;
|
|
6
6
|
/** Directory to probe for `.git` — defaults to `process.cwd()`. Override in tests. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect-release.d.ts","sourceRoot":"","sources":["../../src/detect-release/detect-release.ts"],"names":[],"mappings":"AAGA,KAAK,oBAAoB,GAAG;IAC3B,iFAAiF;IACjF,OAAO,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"detect-release.d.ts","sourceRoot":"","sources":["../../src/detect-release/detect-release.ts"],"names":[],"mappings":"AAGA,KAAK,oBAAoB,GAAG;IAC3B,iFAAiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,sFAAsF;IACtF,GAAG,CAAC,EAAE,MAAM,CAAC;CACb,CAAC;AAkDF;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,UAAS,oBAAyB,KAAG,MAAM,GAAG,SAyB3E,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,19 +1,27 @@
|
|
|
1
1
|
export { announceDeploy } from './announce-deploy/announce-deploy';
|
|
2
2
|
export { createClient } from './create-client/create-client';
|
|
3
|
-
export type { CaptureContext, RasputinClient, RasputinOptions, } from './create-client/create-client-types';
|
|
3
|
+
export type { CaptureContext, RasputinClient, RasputinClientStats, RasputinOptions, } from './create-client/create-client-types';
|
|
4
4
|
export { isClientEnabled } from './create-client/is-client-enabled';
|
|
5
|
+
export { resolveEndpointUrls } from './create-client/resolve-endpoint-urls';
|
|
5
6
|
export { createIngestEvent } from './create-ingest-event/create-ingest-event';
|
|
6
7
|
export type { RequestContext } from './create-ingest-event/create-ingest-event-types';
|
|
8
|
+
export type { RuntimeExecutionEvent, RuntimeExecutionKind, RuntimeExecutionMetadata, RuntimeExecutionRecorderMetrics, RuntimeExecutionRequest, RuntimeExecutionState, RuntimeFunctionCallsSuppressedEvent, RuntimeFunctionEnterEvent, RuntimeFunctionExitEvent, RuntimeFunctionThrowEvent, RuntimeThrowLocation, } from './create-ingest-event/runtime-execution-state-types';
|
|
7
9
|
export { detectRelease } from './detect-release/detect-release';
|
|
10
|
+
export type { InstrumentationArgIdentifier, InstrumentationManifestCallSite, InstrumentationManifestContent, InstrumentationManifestDestructure, InstrumentationManifestFunction, InstrumentationParamBinding, SourceVerification, SourceVerificationIssue, } from './instrumentation-manifest/instrumentation-manifest-types';
|
|
11
|
+
export { INSTRUMENTATION_MANIFEST_SCHEMA_VERSION } from './instrumentation-manifest/instrumentation-manifest-types';
|
|
12
|
+
export { uploadInstrumentationManifest } from './instrumentation-manifest/upload-instrumentation-manifest';
|
|
8
13
|
export type { Frame } from './normalize-frames/normalize-frames';
|
|
9
14
|
export { normalizeFrames } from './normalize-frames/normalize-frames';
|
|
10
15
|
export { parseStack } from './parse-stack/parse-stack';
|
|
11
16
|
export type { RawFrame } from './parse-stack/raw-frame';
|
|
12
17
|
export { repoRootFrom } from './repo-root/repo-root-from';
|
|
18
|
+
export { resolveRepoRoot } from './repo-root/resolve-repo-root';
|
|
13
19
|
export { resolveSourceMaps } from './resolve-source-maps/resolve-source-maps';
|
|
14
20
|
export type { ResolvedFrame, ResolveSourceMapsResult, } from './resolve-source-maps/resolved-frame';
|
|
21
|
+
export type { RuntimeFunctionDefinition, SourceLocator, SourcePosition, } from './source-identity/source-identity';
|
|
22
|
+
export { resetSourceIdentityCache, runtimeFunctionId, sourceDisplayPath, sourceLocatorFromFile, sourceLocatorKey, } from './source-identity/source-identity';
|
|
15
23
|
export { createSuppression } from './suppression/create-suppression';
|
|
16
24
|
export type { CreateSuppressionOptions, IngestSummary, PrepareSummaryFrames, SummaryIdentity, SuppressionDecideInput, SuppressionDecideResult, } from './suppression/suppression-types';
|
|
17
25
|
export { createTransport } from './transport/create-transport';
|
|
18
|
-
export type { CreateTransportOptions, Transport, TransportPriority, } from './transport/transport-types';
|
|
26
|
+
export type { CreateTransportOptions, Transport, TransportPriority, TransportStats, } from './transport/transport-types';
|
|
19
27
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,YAAY,EACX,cAAc,EACd,cAAc,EACd,eAAe,GACf,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,YAAY,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,YAAY,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,YAAY,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,YAAY,EACX,aAAa,EACb,uBAAuB,GACvB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,YAAY,EACX,wBAAwB,EACxB,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,sBAAsB,EACtB,uBAAuB,GACvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,YAAY,EACX,sBAAsB,EACtB,SAAS,EACT,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,YAAY,EACX,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,eAAe,GACf,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,YAAY,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AACtF,YAAY,EACX,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,+BAA+B,EAC/B,uBAAuB,EACvB,qBAAqB,EACrB,mCAAmC,EACnC,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,oBAAoB,GACpB,MAAM,qDAAqD,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,YAAY,EACX,4BAA4B,EAC5B,+BAA+B,EAC/B,8BAA8B,EAC9B,kCAAkC,EAClC,+BAA+B,EAC/B,2BAA2B,EAC3B,kBAAkB,EAClB,uBAAuB,GACvB,MAAM,2DAA2D,CAAC;AACnE,OAAO,EAAE,uCAAuC,EAAE,MAAM,2DAA2D,CAAC;AACpH,OAAO,EAAE,6BAA6B,EAAE,MAAM,4DAA4D,CAAC;AAC3G,YAAY,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,YAAY,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,YAAY,EACX,aAAa,EACb,uBAAuB,GACvB,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EACX,yBAAyB,EACzB,aAAa,EACb,cAAc,GACd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACN,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,GAChB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,YAAY,EACX,wBAAwB,EACxB,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,sBAAsB,EACtB,uBAAuB,GACvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,YAAY,EACX,sBAAsB,EACtB,SAAS,EACT,iBAAiB,EACjB,cAAc,GACd,MAAM,6BAA6B,CAAC"}
|