@newtalaria/browser 0.1.18 → 0.1.19
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/README.md +62 -3
- package/dist/client.d.ts +12 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +499 -27
- package/dist/index.js.map +4 -4
- package/dist/talaria.browser.iife.js +481 -26
- package/dist/talaria.browser.iife.js.map +4 -4
- package/dist/transport/events.d.ts +4 -1
- package/dist/transport/events.d.ts.map +1 -1
- package/dist/types.d.ts +99 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/browser_context.d.ts +4 -3
- package/dist/utils/browser_context.d.ts.map +1 -1
- package/dist/utils/stacktrace.d.ts +35 -0
- package/dist/utils/stacktrace.d.ts.map +1 -0
- package/dist/utils/tags.d.ts +28 -0
- package/dist/utils/tags.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ServerpodTransport } from './serverpod.js';
|
|
2
|
-
import type { SeverityLevel } from '../types.js';
|
|
2
|
+
import type { DebugMeta, ExceptionData, SeverityLevel } from '../types.js';
|
|
3
3
|
export interface IngestEventParams {
|
|
4
4
|
message: string;
|
|
5
5
|
environment: string;
|
|
@@ -7,6 +7,9 @@ export interface IngestEventParams {
|
|
|
7
7
|
eventType?: 'error' | 'warning' | 'info' | 'debug';
|
|
8
8
|
title?: string;
|
|
9
9
|
stackTrace?: string;
|
|
10
|
+
exception?: ExceptionData;
|
|
11
|
+
debugMeta?: DebugMeta;
|
|
12
|
+
platform?: string;
|
|
10
13
|
release?: string;
|
|
11
14
|
userId?: string;
|
|
12
15
|
sessionId?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/transport/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/transport/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EACV,SAAS,EACT,aAAa,EAGb,aAAa,EAGd,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAsB,WAAW,CAC/B,SAAS,EAAE,kBAAkB,EAC7B,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,OAAO,CAAC,CA8BlB"}
|
package/dist/types.d.ts
CHANGED
|
@@ -44,6 +44,11 @@ export interface TalariaInitOptions {
|
|
|
44
44
|
userId?: string;
|
|
45
45
|
/** Tags merged into every captured event (per-call tags win on key conflict). */
|
|
46
46
|
tags?: Record<string, string>;
|
|
47
|
+
/**
|
|
48
|
+
* Preferred low-cardinality dimensions (optional conventions):
|
|
49
|
+
* `service`, `platform`, `feature`, `operation`, `component`, `runtime`,
|
|
50
|
+
* `runtime_version`. Do not put environment/release or high-cardinality IDs here.
|
|
51
|
+
*/
|
|
47
52
|
/** Disable automatic `window` / `unhandledrejection` handlers. */
|
|
48
53
|
disableDefaultIntegrations?: boolean;
|
|
49
54
|
/**
|
|
@@ -81,12 +86,103 @@ export interface TalariaInitOptions {
|
|
|
81
86
|
failedRequestStatusCodes?: FailedRequestStatusCode[];
|
|
82
87
|
/** Extra URL substrings that must never be promoted (Talaria ingest URLs are always ignored). */
|
|
83
88
|
failedRequestIgnoreUrls?: string[];
|
|
89
|
+
/**
|
|
90
|
+
* Path substrings or RegExps that force stack frames `inApp: true`
|
|
91
|
+
* (checked after built-in denies / denyUrls).
|
|
92
|
+
*/
|
|
93
|
+
inAppAllowUrls?: Array<string | RegExp>;
|
|
94
|
+
/**
|
|
95
|
+
* Path substrings or RegExps that force stack frames `inApp: false`.
|
|
96
|
+
*/
|
|
97
|
+
inAppDenyUrls?: Array<string | RegExp>;
|
|
98
|
+
/**
|
|
99
|
+
* Extra origins treated as app code for `inApp` (exact origin strings).
|
|
100
|
+
* Same-origin (`window.location.origin`) is always included.
|
|
101
|
+
* Example: `['https://cdn.example.com']` for CDN-hosted app bundles.
|
|
102
|
+
*/
|
|
103
|
+
inAppOrigins?: string[];
|
|
104
|
+
}
|
|
105
|
+
/** How an exception was captured / produced (mirrors ExceptionMechanismDto). */
|
|
106
|
+
export interface ExceptionMechanism {
|
|
107
|
+
type: string;
|
|
108
|
+
handled?: boolean;
|
|
109
|
+
synthetic?: boolean;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Single stack frame on the wire (mirrors StackFrameDto).
|
|
113
|
+
* Uses `functionName` — not `function` (reserved in Dart / Serverpod).
|
|
114
|
+
*/
|
|
115
|
+
export interface StackFrame {
|
|
116
|
+
filename?: string;
|
|
117
|
+
absPath?: string;
|
|
118
|
+
functionName?: string;
|
|
119
|
+
rawFunction?: string;
|
|
120
|
+
module?: string;
|
|
121
|
+
package?: string;
|
|
122
|
+
platform?: string;
|
|
123
|
+
lineno?: number;
|
|
124
|
+
colno?: number;
|
|
125
|
+
inApp?: boolean;
|
|
126
|
+
instructionAddr?: string;
|
|
127
|
+
symbolAddr?: string;
|
|
128
|
+
imageAddr?: string;
|
|
129
|
+
addrMode?: string;
|
|
130
|
+
contextLine?: string;
|
|
131
|
+
preContext?: string[];
|
|
132
|
+
postContext?: string[];
|
|
133
|
+
vars?: Record<string, string>;
|
|
134
|
+
stackStart?: boolean;
|
|
135
|
+
}
|
|
136
|
+
/** Structured stacktrace (mirrors StackTraceDto). Frames are oldest → newest. */
|
|
137
|
+
export interface StackTrace {
|
|
138
|
+
frames: StackFrame[];
|
|
139
|
+
registers?: Record<string, string>;
|
|
140
|
+
}
|
|
141
|
+
/** One exception in a chain (mirrors ExceptionValueDto). */
|
|
142
|
+
export interface ExceptionValue {
|
|
143
|
+
type?: string;
|
|
144
|
+
value?: string;
|
|
145
|
+
module?: string;
|
|
146
|
+
threadId?: string;
|
|
147
|
+
code?: string;
|
|
148
|
+
mechanism?: ExceptionMechanism;
|
|
149
|
+
stacktrace?: StackTrace;
|
|
150
|
+
}
|
|
151
|
+
/** First-class exception payload (mirrors ExceptionDataDto). */
|
|
152
|
+
export interface ExceptionData {
|
|
153
|
+
values: ExceptionValue[];
|
|
154
|
+
}
|
|
155
|
+
/** Optional debug image metadata (mirrors DebugImageDto). */
|
|
156
|
+
export interface DebugImage {
|
|
157
|
+
type?: string;
|
|
158
|
+
imageAddr?: string;
|
|
159
|
+
imageSize?: number;
|
|
160
|
+
debugId?: string;
|
|
161
|
+
debugFile?: string;
|
|
162
|
+
codeId?: string;
|
|
163
|
+
codeFile?: string;
|
|
164
|
+
arch?: string;
|
|
165
|
+
}
|
|
166
|
+
/** Optional debug meta (mirrors DebugMetaDto). */
|
|
167
|
+
export interface DebugMeta {
|
|
168
|
+
images?: DebugImage[];
|
|
84
169
|
}
|
|
85
170
|
export interface CaptureContext {
|
|
86
171
|
tags?: Record<string, string>;
|
|
87
172
|
extra?: Record<string, unknown>;
|
|
88
173
|
userId?: string;
|
|
89
174
|
title?: string;
|
|
175
|
+
/** How the exception was captured (`onerror`, `unhandledrejection`, `http`, …). */
|
|
176
|
+
mechanism?: ExceptionMechanism;
|
|
177
|
+
/**
|
|
178
|
+
* Enrich the top (newest) stack frame — e.g. `window.onerror` location.
|
|
179
|
+
* Not sent in `extra`.
|
|
180
|
+
*/
|
|
181
|
+
source?: {
|
|
182
|
+
filename?: string;
|
|
183
|
+
lineno?: number;
|
|
184
|
+
colno?: number;
|
|
185
|
+
};
|
|
90
186
|
}
|
|
91
187
|
export interface ResolvedOptions {
|
|
92
188
|
baseUrl: string;
|
|
@@ -109,5 +205,8 @@ export interface ResolvedOptions {
|
|
|
109
205
|
includeNetworkUrlQuery: boolean;
|
|
110
206
|
failedRequestStatusCodes: FailedRequestStatusCode[];
|
|
111
207
|
failedRequestIgnoreUrls: string[];
|
|
208
|
+
inAppAllowUrls: Array<string | RegExp>;
|
|
209
|
+
inAppDenyUrls: Array<string | RegExp>;
|
|
210
|
+
inAppOrigins: string[];
|
|
112
211
|
}
|
|
113
212
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;AAE7E,mDAAmD;AACnD,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,SAAS,GAAG,aAAa,CAAC;AAEnE,mDAAmD;AACnD,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEhE,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,WAAW,GAAG,MAAM,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC;;;OAGG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uCAAuC;IACvC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gFAAgF;IAChF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,kEAAkE;IAClE,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;OAEG;IACH,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,uBAAuB,EAAE,CAAC;IACrD,iGAAiG;IACjG,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,15 +14,16 @@ export interface BrowserContext {
|
|
|
14
14
|
/** Friendly crawler name when recognized (e.g. Baiduspider). */
|
|
15
15
|
botName?: string;
|
|
16
16
|
}
|
|
17
|
-
|
|
17
|
+
/** Known browser triage tags; typed as TagMap for mergeTags compatibility. */
|
|
18
|
+
export type BrowserContextTags = {
|
|
18
19
|
'browser.name': string;
|
|
19
20
|
'browser.version': string;
|
|
20
21
|
'os.name': string;
|
|
21
22
|
'os.version': string;
|
|
22
|
-
|
|
23
|
+
device: string;
|
|
23
24
|
bot?: string;
|
|
24
25
|
'bot.name'?: string;
|
|
25
|
-
}
|
|
26
|
+
} & Record<string, string>;
|
|
26
27
|
export declare function detectBot(ua: string): {
|
|
27
28
|
bot: boolean;
|
|
28
29
|
botName?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser_context.d.ts","sourceRoot":"","sources":["../../src/utils/browser_context.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,GAAG,EAAE,OAAO,CAAC;IACb,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,
|
|
1
|
+
{"version":3,"file":"browser_context.d.ts","sourceRoot":"","sources":["../../src/utils/browser_context.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,GAAG,EAAE,OAAO,CAAC;IACb,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,8EAA8E;AAC9E,MAAM,MAAM,kBAAkB,GAAG;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AA4B3B,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAWxE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,EAAE,SAA8D,EAChE,QAAQ,SAA6D,GACpE,cAAc,CAuFhB;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,cAAc,GAAG,kBAAkB,CAc1E;AAED,qDAAqD;AACrD,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,cAAc,CAAC,CAoErE"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { StackFrame, StackTrace } from '../types.js';
|
|
2
|
+
/** Options for classifying stack frames as in-app. */
|
|
3
|
+
export interface InAppFrameOptions {
|
|
4
|
+
/** Page origin (e.g. `https://www.example.com`). Same-origin frames are in-app. */
|
|
5
|
+
pageOrigin?: string;
|
|
6
|
+
/** Extra origins treated as app code (exact origin strings, e.g. asset CDN). */
|
|
7
|
+
inAppOrigins?: string[];
|
|
8
|
+
/** Path substrings or RegExps that force `inApp: true`. */
|
|
9
|
+
allowUrls?: Array<string | RegExp>;
|
|
10
|
+
/** Path substrings or RegExps that force `inApp: false`. */
|
|
11
|
+
denyUrls?: Array<string | RegExp>;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Parse a V8 / Chrome `Error.stack` string into structured frames.
|
|
15
|
+
* Returns frames in **oldest → newest** order (crash site last).
|
|
16
|
+
*/
|
|
17
|
+
export declare function parseStackTrace(stack?: string | null, inAppOptions?: InAppFrameOptions): StackTrace | undefined;
|
|
18
|
+
/** Parse a single V8 stack line into a frame, or null if not a frame. */
|
|
19
|
+
export declare function parseStackLine(line: string, inAppOptions?: InAppFrameOptions): StackFrame | null;
|
|
20
|
+
/**
|
|
21
|
+
* Apply `window.onerror` (or similar) location onto the newest frame,
|
|
22
|
+
* or synthesize a single frame when the stack had none.
|
|
23
|
+
*/
|
|
24
|
+
export declare function applySourceLocation(stacktrace: StackTrace | undefined, source?: {
|
|
25
|
+
filename?: string;
|
|
26
|
+
lineno?: number;
|
|
27
|
+
colno?: number;
|
|
28
|
+
}, inAppOptions?: InAppFrameOptions): StackTrace | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* inApp heuristics: same-origin (or allowlisted) app code, not vendors/CDN/SDK.
|
|
31
|
+
*/
|
|
32
|
+
export declare function isInAppFrame(path: string, options?: InAppFrameOptions): boolean;
|
|
33
|
+
/** Page origin from `window.location.origin` or a full page URL. */
|
|
34
|
+
export declare function resolvePageOrigin(originOrUrl?: string): string | undefined;
|
|
35
|
+
//# sourceMappingURL=stacktrace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stacktrace.d.ts","sourceRoot":"","sources":["../../src/utils/stacktrace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAY1D,sDAAsD;AACtD,MAAM,WAAW,iBAAiB;IAChC,mFAAmF;IACnF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACnC,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;CACnC;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,EACrB,YAAY,CAAC,EAAE,iBAAiB,GAC/B,UAAU,GAAG,SAAS,CAcxB;AAED,yEAAyE;AACzE,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,iBAAiB,GAC/B,UAAU,GAAG,IAAI,CAgCnB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,UAAU,GAAG,SAAS,EAClC,MAAM,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAC/D,YAAY,CAAC,EAAE,iBAAiB,GAC/B,UAAU,GAAG,SAAS,CAyCxB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CA2BT;AAyCD,oEAAoE;AACpE,wBAAgB,iBAAiB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE1E"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tag normalization and high-cardinality heuristics for the browser SDK.
|
|
3
|
+
*
|
|
4
|
+
* Precedence when merging (later wins): auto → init → scope/withTags → per-call.
|
|
5
|
+
*/
|
|
6
|
+
export declare const MAX_TAGS_PER_EVENT = 20;
|
|
7
|
+
export declare const MAX_TAG_KEY_LENGTH = 64;
|
|
8
|
+
export declare const MAX_TAG_VALUE_LENGTH = 128;
|
|
9
|
+
export declare const MAX_TAG_TOTAL_UTF8_BYTES = 2048;
|
|
10
|
+
/** Keys that usually belong in extra / top-level context, not tags. */
|
|
11
|
+
export declare const HIGH_CARDINALITY_TAG_KEYS: Set<string>;
|
|
12
|
+
export type TagMap = Record<string, string>;
|
|
13
|
+
/**
|
|
14
|
+
* Sanitize a tag map: lowercase keys, charset, limits, size budget.
|
|
15
|
+
* Invalid entries are dropped (never throws).
|
|
16
|
+
*/
|
|
17
|
+
export declare function normalizeTags(tags: Record<string, unknown> | null | undefined): TagMap;
|
|
18
|
+
/** Merge tag maps left-to-right; later keys win. Result is normalized. */
|
|
19
|
+
export declare function mergeTags(...parts: Array<TagMap | undefined | null>): TagMap;
|
|
20
|
+
export declare function looksHighCardinalityValue(value: string): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Warn in non-production when tags look high-cardinality.
|
|
23
|
+
* No-op when `environment` is production or warnings are disabled.
|
|
24
|
+
*/
|
|
25
|
+
export declare function warnSuspiciousTags(tags: TagMap, environment: string | undefined): void;
|
|
26
|
+
/** Reserved / preferred facet keys (conventions, not a closed enum). */
|
|
27
|
+
export declare const RESERVED_TAG_KEYS: readonly ["service", "platform", "feature", "operation", "component", "runtime", "runtime_version"];
|
|
28
|
+
//# sourceMappingURL=tags.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../src/utils/tags.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,oBAAoB,MAAM,CAAC;AACxC,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAI7C,uEAAuE;AACvE,eAAO,MAAM,yBAAyB,aAapC,CAAC;AAOH,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAyB5C;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GAC/C,MAAM,CAuBR;AAED,0EAA0E;AAC1E,wBAAgB,SAAS,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,MAAM,CAO5E;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,GAAG,SAAS,GAC9B,IAAI,CAqBN;AAED,wEAAwE;AACxE,eAAO,MAAM,iBAAiB,qGAQpB,CAAC"}
|