@rasputin-ai/core 0.7.1 → 0.8.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/create-client/create-client-types.d.ts +8 -0
- package/dist/create-client/create-client-types.d.ts.map +1 -1
- package/dist/create-client/create-client.d.ts.map +1 -1
- package/dist/create-ingest-event/create-ingest-event-types.d.ts +2 -0
- package/dist/create-ingest-event/create-ingest-event-types.d.ts.map +1 -1
- package/dist/derivation/rasputin-redacted.d.ts +3 -0
- package/dist/derivation/rasputin-redacted.d.ts.map +1 -0
- package/dist/derivation/redact-env-secret-values.d.ts +10 -0
- package/dist/derivation/redact-env-secret-values.d.ts.map +1 -0
- package/dist/derivation/sensitive-property-name.d.ts.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +604 -332
- package/dist/sdk-meta.d.ts +1 -1
- package/dist/suppression/compute-burst-key.d.ts +1 -1
- package/dist/suppression/compute-burst-key.d.ts.map +1 -1
- package/dist/suppression/create-suppression.d.ts +3 -4
- package/dist/suppression/create-suppression.d.ts.map +1 -1
- package/dist/suppression/grouping-ref-cache.d.ts +6 -0
- package/dist/suppression/grouping-ref-cache.d.ts.map +1 -0
- package/dist/suppression/parameterize-message.d.ts +2 -4
- package/dist/suppression/parameterize-message.d.ts.map +1 -1
- package/dist/suppression/suppression-types.d.ts +6 -0
- package/dist/suppression/suppression-types.d.ts.map +1 -1
- package/dist/transport/create-transport.d.ts.map +1 -1
- package/dist/transport/default-ingest-request-timeout.d.ts +2 -0
- package/dist/transport/default-ingest-request-timeout.d.ts.map +1 -0
- package/dist/transport/node-http-fetch.d.ts +6 -3
- package/dist/transport/node-http-fetch.d.ts.map +1 -1
- package/dist/transport/send-batch.d.ts +6 -4
- package/dist/transport/send-batch.d.ts.map +1 -1
- package/dist/transport/transport-types.d.ts +13 -3
- package/dist/transport/transport-types.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/suppression/identity-needs-message-template.d.ts +0 -8
- package/dist/suppression/identity-needs-message-template.d.ts.map +0 -1
package/dist/sdk-meta.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { Frame } from '../normalize-frames/normalize-frames';
|
|
2
|
-
export declare const computeBurstKey: (errorType: string, message: string, code: string | null | undefined, frames: Frame[]) => string;
|
|
2
|
+
export declare const computeBurstKey: (errorType: string, message: string, code: string | null | undefined, frames: Frame[], route?: string | null, method?: string | null) => string;
|
|
3
3
|
//# sourceMappingURL=compute-burst-key.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compute-burst-key.d.ts","sourceRoot":"","sources":["../../src/suppression/compute-burst-key.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"compute-burst-key.d.ts","sourceRoot":"","sources":["../../src/suppression/compute-burst-key.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sCAAsC,CAAC;AAgDlE,eAAO,MAAM,eAAe,GAC3B,WAAW,MAAM,EACjB,SAAS,MAAM,EACf,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,EAC/B,QAAQ,KAAK,EAAE,EACf,QAAQ,MAAM,GAAG,IAAI,EACrB,SAAS,MAAM,GAAG,IAAI,KACpB,MAWF,CAAC"}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import type { RawFrame } from '../parse-stack/raw-frame';
|
|
2
2
|
import type { CreateSuppressionOptions, IngestSummary, PrepareSummaryFrames, SuppressionDecideInput, SuppressionDecideResult } from './suppression-types';
|
|
3
3
|
/**
|
|
4
|
-
* Local burst suppression (network protection).
|
|
5
|
-
*
|
|
6
|
-
* recipe as server createFingerprintIdentity. Drain does not remap; transport
|
|
7
|
-
* resolves source maps at send so summary stack_frames match the exemplar.
|
|
4
|
+
* Local burst suppression (network protection). Burst buckets are finer than
|
|
5
|
+
* server groups: route, method, and parameterized message are part of the key.
|
|
8
6
|
*/
|
|
9
7
|
export declare const createSuppression: (options?: CreateSuppressionOptions) => {
|
|
10
8
|
decide: (input: SuppressionDecideInput) => SuppressionDecideResult;
|
|
11
9
|
drainSummaries: (now?: number) => {
|
|
12
10
|
summary: IngestSummary;
|
|
13
11
|
rawFrames: RawFrame[];
|
|
12
|
+
burstKey: string;
|
|
14
13
|
}[];
|
|
15
14
|
takeSummaries: (now?: number, prepareSummary?: PrepareSummaryFrames) => Promise<IngestSummary[]>;
|
|
16
15
|
/** Test helper — number of active burst buckets. */
|
|
@@ -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;
|
|
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;AA+C7B;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,UAAS,wBAA6B;oBAgEhD,sBAAsB,KAAG,uBAAuB;sCA4EpE;QAAE,OAAO,EAAE,aAAa,CAAC;QAAC,SAAS,EAAE,QAAQ,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE;mDAuBtD,oBAAoB,KACnC,OAAO,CAAC,aAAa,EAAE,CAAC;IA0B1B,oDAAoD;;CAGrD,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const createGroupingRefCache: (maxSize?: number) => {
|
|
2
|
+
get: (burstKey: string, now?: number) => string | null;
|
|
3
|
+
set: (burstKey: string, groupingRef: string, now?: number) => void;
|
|
4
|
+
getOrCreate: (burstKey: string, now?: number) => string;
|
|
5
|
+
};
|
|
6
|
+
//# sourceMappingURL=grouping-ref-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grouping-ref-cache.d.ts","sourceRoot":"","sources":["../../src/suppression/grouping-ref-cache.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,sBAAsB,GAAI,gBAAe;oBAG9B,MAAM,mBAAqB,MAAM,GAAG,IAAI;oBAWxC,MAAM,eAAe,MAAM,mBAAqB,IAAI;4BAU5C,MAAM,mBAAqB,MAAM;CAShE,CAAC"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Keep in sync with `
|
|
3
|
-
*
|
|
4
|
-
* or generic-Error burst buckets split from server groups.
|
|
5
|
-
* SDK copy — no ~core dependency at publish time.
|
|
2
|
+
* Keep in sync with server grouping parameterization (`parameterizeGroupingMessage`):
|
|
3
|
+
* uuid/email/url/ip/hex/timestamp, but not the generic `id` token.
|
|
6
4
|
*/
|
|
7
5
|
export declare const parameterizeMessage: (rawMessage: string) => string;
|
|
8
6
|
//# sourceMappingURL=parameterize-message.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parameterize-message.d.ts","sourceRoot":"","sources":["../../src/suppression/parameterize-message.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"parameterize-message.d.ts","sourceRoot":"","sources":["../../src/suppression/parameterize-message.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAsFH,eAAO,MAAM,mBAAmB,GAAI,YAAY,MAAM,KAAG,MAyBxD,CAAC"}
|
|
@@ -14,6 +14,11 @@ export type IngestSummary = {
|
|
|
14
14
|
origin: IngestOrigin;
|
|
15
15
|
resolution: FrameResolution;
|
|
16
16
|
release: string;
|
|
17
|
+
grouping_ref?: string;
|
|
18
|
+
request?: {
|
|
19
|
+
method?: string | null;
|
|
20
|
+
route?: string | null;
|
|
21
|
+
};
|
|
17
22
|
};
|
|
18
23
|
export type SummaryIdentity = Pick<IngestSummary, 'type' | 'message' | 'stack_frames' | 'origin' | 'code' | 'resolution'>;
|
|
19
24
|
export type SuppressionDecideInput = {
|
|
@@ -27,6 +32,7 @@ export type SuppressionDecideInput = {
|
|
|
27
32
|
environment: string;
|
|
28
33
|
release: string;
|
|
29
34
|
route?: string | null;
|
|
35
|
+
method?: string | null;
|
|
30
36
|
/** Injectable clock for tests. */
|
|
31
37
|
now?: number;
|
|
32
38
|
};
|
|
@@ -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,EAAE,eAAe,CAAC;IAC5B,OAAO,EAAE,MAAM,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,EAAE,eAAe,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE;QACT,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACtB,CAAC;CACF,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,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,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":"
|
|
1
|
+
{"version":3,"file":"create-transport.d.ts","sourceRoot":"","sources":["../../src/transport/create-transport.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,sBAAsB,EAAe,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAuBxF,eAAO,MAAM,eAAe,GAAI,SAAS,sBAAsB,KAAG,SAqZjE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-ingest-request-timeout.d.ts","sourceRoot":"","sources":["../../src/transport/default-ingest-request-timeout.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC,QAAS,CAAC"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { TransportFetch } from './transport-types';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
/**
|
|
3
|
+
* fetch and Bun's node:http ignore abort/unref during SYN_SENT and pin process
|
|
4
|
+
* exit. net.Socket destroy() actually cancels that connect. The 2s timer is
|
|
5
|
+
* connect-only; once TCP is up, the caller's abort signal bounds the wait.
|
|
6
|
+
*/
|
|
7
|
+
export declare const defaultIngestFetch: () => TransportFetch;
|
|
5
8
|
//# sourceMappingURL=node-http-fetch.d.ts.map
|
|
@@ -1 +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;AAuGxD,eAAO,MAAM,kBAAkB,
|
|
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;AAuGxD;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,QAAO,cA6FnC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Posts one ingest batch with gzip
|
|
3
|
-
*
|
|
2
|
+
* Posts one ingest batch with gzip and retries. The caller owns abort: this
|
|
3
|
+
* module does not arm its own timer.
|
|
4
4
|
*/
|
|
5
5
|
import type { IngestEvent } from '../create-ingest-event/create-ingest-event-types';
|
|
6
6
|
import type { IngestSummary } from '../suppression/suppression-types';
|
|
@@ -13,11 +13,11 @@ type SendBatchOptions = {
|
|
|
13
13
|
idempotencyKey?: string;
|
|
14
14
|
sdkVersion?: string;
|
|
15
15
|
sdkName?: string;
|
|
16
|
+
scrubPii?: boolean;
|
|
16
17
|
gzipThresholdBytes: number;
|
|
17
18
|
maxRetries: number;
|
|
18
19
|
fetch: TransportFetch;
|
|
19
|
-
signal
|
|
20
|
-
requestTimeoutMs?: number;
|
|
20
|
+
signal: AbortSignal;
|
|
21
21
|
};
|
|
22
22
|
export type SendBatchFailureKind = 'aborted' | 'network_error' | 'rate_limited' | 'server_error' | 'non_retryable_http';
|
|
23
23
|
export type SendBatchResult = {
|
|
@@ -30,6 +30,8 @@ export type SendBatchResult = {
|
|
|
30
30
|
aborted: boolean;
|
|
31
31
|
failureKind: SendBatchFailureKind | null;
|
|
32
32
|
statusCode: number | null;
|
|
33
|
+
eventGroupingRefs: (string | null)[];
|
|
34
|
+
summaryGroupingRefs: (string | null)[];
|
|
33
35
|
};
|
|
34
36
|
/** POST `{ events, summaries? }` with Bearer auth, optional gzip, retries on 429/5xx/network. */
|
|
35
37
|
export declare const sendBatch: (options: SendBatchOptions) => Promise<SendBatchResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-batch.d.ts","sourceRoot":"","sources":["../../src/transport/send-batch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEtE,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,
|
|
1
|
+
{"version":3,"file":"send-batch.d.ts","sourceRoot":"","sources":["../../src/transport/send-batch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEtE,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,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,cAAc,CAAC;IACtB,MAAM,EAAE,WAAW,CAAC;CACpB,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;IAC1B,iBAAiB,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IACrC,mBAAmB,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;CACvC,CAAC;AAiGF,iGAAiG;AACjG,eAAO,MAAM,SAAS,GAAU,SAAS,gBAAgB,KAAG,OAAO,CAAC,eAAe,CAwGlF,CAAC"}
|
|
@@ -14,6 +14,7 @@ export type QueuedEvent = {
|
|
|
14
14
|
/** Generated frames for flush-time source-map resolution. */
|
|
15
15
|
rawFrames: RawFrame[];
|
|
16
16
|
encodedBytes?: number;
|
|
17
|
+
burstKey?: string;
|
|
17
18
|
} | {
|
|
18
19
|
kind: 'summary';
|
|
19
20
|
summary: IngestSummary;
|
|
@@ -21,6 +22,7 @@ export type QueuedEvent = {
|
|
|
21
22
|
/** Same capture-time frames as the exemplar — remapped at send. */
|
|
22
23
|
rawFrames: RawFrame[];
|
|
23
24
|
encodedBytes?: number;
|
|
25
|
+
burstKey?: string;
|
|
24
26
|
};
|
|
25
27
|
export type TransportFetch = (input: string | URL | Request, init?: RequestInit) => Promise<Response>;
|
|
26
28
|
type PrepareQueuedEvent = (item: {
|
|
@@ -81,7 +83,7 @@ export type CreateTransportOptions = {
|
|
|
81
83
|
flushIntervalMs?: number;
|
|
82
84
|
gzipThresholdBytes?: number;
|
|
83
85
|
maxRetries?: number;
|
|
84
|
-
/**
|
|
86
|
+
/** How long a background flush may run. Default 20s so classify can finish. */
|
|
85
87
|
requestTimeoutMs?: number;
|
|
86
88
|
fetch?: TransportFetch;
|
|
87
89
|
/**
|
|
@@ -96,14 +98,22 @@ export type CreateTransportOptions = {
|
|
|
96
98
|
prepareSummary?: PrepareSummaryFrames;
|
|
97
99
|
sdkVersion?: string;
|
|
98
100
|
sdkName?: string;
|
|
101
|
+
/** When false, ingest skips PII redaction. Secrets are still redacted. Default true. */
|
|
102
|
+
scrubPii?: boolean;
|
|
99
103
|
/** Drain pending work (burst summaries) immediately before a flush or timer tick. */
|
|
100
104
|
beforeFlush?: () => void;
|
|
101
105
|
/** Hard cap on queued JSON bytes. Default 8 MiB. */
|
|
102
106
|
maxQueueBytes?: number;
|
|
107
|
+
onGroupingRefs?: (input: {
|
|
108
|
+
eventBurstKeys: (string | undefined)[];
|
|
109
|
+
summaryBurstKeys: (string | undefined)[];
|
|
110
|
+
eventGroupingRefs: (string | null)[];
|
|
111
|
+
summaryGroupingRefs: (string | null)[];
|
|
112
|
+
}) => void;
|
|
103
113
|
};
|
|
104
114
|
export type Transport = {
|
|
105
|
-
enqueue: (event: IngestEvent, priority?: 'first' | 'repeat', rawFrames?: RawFrame[], encodedBytes?: number) => void;
|
|
106
|
-
enqueueSummary: (summary: IngestSummary, rawFrames?: RawFrame[]) => void;
|
|
115
|
+
enqueue: (event: IngestEvent, priority?: 'first' | 'repeat', rawFrames?: RawFrame[], encodedBytes?: number, burstKey?: string) => void;
|
|
116
|
+
enqueueSummary: (summary: IngestSummary, rawFrames?: RawFrame[], burstKey?: string) => void;
|
|
107
117
|
flush: (timeoutMs?: number) => Promise<void>;
|
|
108
118
|
close: () => Promise<void>;
|
|
109
119
|
/** Number of events waiting in the bounded queue or a failed batch awaiting replay. */
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACjB,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;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACjB,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,+EAA+E;IAC/E,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,wFAAwF;IACxF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qFAAqF;IACrF,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE;QACxB,cAAc,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;QACvC,gBAAgB,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;QACzC,iBAAiB,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;QACrC,mBAAmB,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;KACvC,KAAK,IAAI,CAAC;CACX,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,EACrB,QAAQ,CAAC,EAAE,MAAM,KACb,IAAI,CAAC;IACV,cAAc,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5F,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,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ⚠️ FINGERPRINT IDENTITY LOCKSTEP — byte-identical to
|
|
3
|
-
* `packages/~core/lib/identity-needs-message-template.ts`.
|
|
4
|
-
* SDK copy — no ~core dependency at publish time.
|
|
5
|
-
* Changing one side splits burst buckets from server groups.
|
|
6
|
-
*/
|
|
7
|
-
export declare const identityNeedsMessageTemplate: (type: string, code: string | null | undefined) => boolean;
|
|
8
|
-
//# sourceMappingURL=identity-needs-message-template.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"identity-needs-message-template.d.ts","sourceRoot":"","sources":["../../src/suppression/identity-needs-message-template.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,GACxC,MAAM,MAAM,EACZ,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,KAC7B,OAGF,CAAC"}
|