@owlpane/browser 0.1.9 → 0.1.10
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/dom-replay.d.ts +13 -0
- package/dist/dom-replay.js +11 -2
- package/dist/dom-replay.js.map +1 -1
- package/dist/endpoint.d.ts +2 -0
- package/dist/endpoint.js +13 -0
- package/dist/endpoint.js.map +1 -0
- package/dist/env.d.ts +3 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.js +46 -0
- package/dist/index.js.map +1 -1
- package/dist/log-otlp.js +1 -1
- package/dist/log-otlp.js.map +1 -1
- package/dist/observers.js +3 -1
- package/dist/observers.js.map +1 -1
- package/dist/scrub.d.ts +4 -0
- package/dist/scrub.js +43 -0
- package/dist/scrub.js.map +1 -0
- package/dist/tracer.d.ts +3 -1
- package/dist/tracer.js +1 -1
- package/dist/tracer.js.map +1 -1
- package/dist/url.js +13 -1
- package/dist/url.js.map +1 -1
- package/package.json +1 -1
package/dist/dom-replay.d.ts
CHANGED
|
@@ -8,6 +8,19 @@ export type DomReplayOptions = {
|
|
|
8
8
|
fetch: LogFetchLike | undefined;
|
|
9
9
|
/** Max rrweb events buffered before flush (default 8). */
|
|
10
10
|
batchSize?: number;
|
|
11
|
+
/** Mask all text nodes (default true), so names, emails and tokens on screen are not recorded. */
|
|
12
|
+
maskAllText?: boolean;
|
|
13
|
+
/** Extra CSS selector whose text is masked even when maskAllText is false. */
|
|
14
|
+
maskTextSelector?: string;
|
|
15
|
+
/** CSS selector of elements that are not recorded at all (replaced by a placeholder). */
|
|
16
|
+
blockSelector?: string;
|
|
17
|
+
};
|
|
18
|
+
/** rrweb takes one selector for masked text; "*" masks every element. */
|
|
19
|
+
export declare function replayMaskOptions(opts: Pick<DomReplayOptions, "maskAllText" | "maskTextSelector" | "blockSelector">): {
|
|
20
|
+
maskAllInputs: true;
|
|
21
|
+
blockClass: string;
|
|
22
|
+
maskTextSelector?: string;
|
|
23
|
+
blockSelector?: string;
|
|
11
24
|
};
|
|
12
25
|
/** Starts rrweb recording and ships events as OTLP logs. Returns stop handle. */
|
|
13
26
|
export declare function startDomReplay(opts: DomReplayOptions): () => void;
|
package/dist/dom-replay.js
CHANGED
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
import { buildLogsRequestBody, postLogs } from "./log-otlp.js";
|
|
2
|
+
/** rrweb takes one selector for masked text; "*" masks every element. */
|
|
3
|
+
export function replayMaskOptions(opts) {
|
|
4
|
+
const mask = opts.maskAllText === false ? opts.maskTextSelector : "*";
|
|
5
|
+
return {
|
|
6
|
+
maskAllInputs: true,
|
|
7
|
+
blockClass: "owlpane-replay-block",
|
|
8
|
+
...(mask ? { maskTextSelector: mask } : {}),
|
|
9
|
+
...(opts.blockSelector ? { blockSelector: opts.blockSelector } : {}),
|
|
10
|
+
};
|
|
11
|
+
}
|
|
2
12
|
/** Starts rrweb recording and ships events as OTLP logs. Returns stop handle. */
|
|
3
13
|
export function startDomReplay(opts) {
|
|
4
14
|
let seq = 0;
|
|
@@ -28,8 +38,7 @@ export function startDomReplay(opts) {
|
|
|
28
38
|
if (buffer.length >= (opts.batchSize ?? 8))
|
|
29
39
|
void flush();
|
|
30
40
|
},
|
|
31
|
-
|
|
32
|
-
blockClass: "owlpane-replay-block",
|
|
41
|
+
...replayMaskOptions(opts),
|
|
33
42
|
});
|
|
34
43
|
});
|
|
35
44
|
return () => {
|
package/dist/dom-replay.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom-replay.js","sourceRoot":"","sources":["../src/dom-replay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAqB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"dom-replay.js","sourceRoot":"","sources":["../src/dom-replay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAqB,MAAM,eAAe,CAAC;AAqBlF,yEAAyE;AACzE,MAAM,UAAU,iBAAiB,CAAC,IAAkF;IAMlH,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC;IACtE,OAAO;QACL,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,sBAAsB;QAClC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrE,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,cAAc,CAAC,IAAsB;IACnD,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,MAAM,GAAiB,EAAE,CAAC;IAC9B,IAAI,UAAoC,CAAC;IAEzC,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;QACvB,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO;QAC3B,MAAM,KAAK,GAAG,MAAM,CAAC;QACrB,MAAM,GAAG,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACjC,MAAM,EAAE,EAAE,CAAC,SAAS;YACpB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACxB,UAAU,EAAE;gBACV,qBAAqB,EAAE,OAAO;gBAC9B,2BAA2B,EAAE,IAAI,CAAC,SAAS;gBAC3C,oBAAoB,EAAE,GAAG,EAAE;aAC5B;SACF,CAAC,CAAC,CAAC;QACJ,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC1D,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAClE,CAAC,CAAC;IAEF,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QACvC,UAAU,GAAG,MAAM,CAAC;YAClB,IAAI,CAAC,KAAK;gBACR,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnB,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;oBAAE,KAAK,KAAK,EAAE,CAAC;YAC3D,CAAC;YACD,GAAG,iBAAiB,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,EAAE;QACV,UAAU,EAAE,EAAE,CAAC;QACf,KAAK,KAAK,EAAE,CAAC;IACf,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/endpoint.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** An ingest key may only travel over https, or over http to the local machine (development). */
|
|
2
|
+
export function isKeySafeEndpoint(endpoint) {
|
|
3
|
+
try {
|
|
4
|
+
const u = new URL(endpoint);
|
|
5
|
+
if (u.protocol === "https:")
|
|
6
|
+
return true;
|
|
7
|
+
return u.protocol === "http:" && (u.hostname === "localhost" || u.hostname === "127.0.0.1" || u.hostname === "[::1]" || u.hostname.endsWith(".localhost"));
|
|
8
|
+
}
|
|
9
|
+
catch {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=endpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../src/endpoint.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5B,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACzC,OAAO,CAAC,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,KAAK,WAAW,IAAI,CAAC,CAAC,QAAQ,KAAK,WAAW,IAAI,CAAC,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;IAC7J,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
package/dist/env.d.ts
CHANGED
|
@@ -24,6 +24,8 @@ export type Env = {
|
|
|
24
24
|
mobile?: boolean;
|
|
25
25
|
platform?: string;
|
|
26
26
|
};
|
|
27
|
+
doNotTrack?: string | null;
|
|
28
|
+
globalPrivacyControl?: boolean;
|
|
27
29
|
};
|
|
28
30
|
performance?: {
|
|
29
31
|
timeOrigin?: number;
|
|
@@ -33,6 +35,7 @@ export type Env = {
|
|
|
33
35
|
storage?: {
|
|
34
36
|
getItem(k: string): string | null;
|
|
35
37
|
setItem(k: string, v: string): void;
|
|
38
|
+
removeItem?(k: string): void;
|
|
36
39
|
};
|
|
37
40
|
setTimeout?: (fn: () => void, ms: number) => unknown;
|
|
38
41
|
clearTimeout?: (h: unknown) => void;
|
package/dist/index.d.ts
CHANGED
|
@@ -21,6 +21,21 @@ export type OwlpaneBrowserOptions = {
|
|
|
21
21
|
env?: Env;
|
|
22
22
|
/** Record rrweb DOM to OTLP logs (requires server OWLPANE_DOM_REPLAY_ENABLED). */
|
|
23
23
|
recordDomReplay?: boolean;
|
|
24
|
+
/** Replay masking. Text nodes are masked by default; inputs are always masked. */
|
|
25
|
+
replay?: {
|
|
26
|
+
maskAllText?: boolean;
|
|
27
|
+
maskTextSelector?: string;
|
|
28
|
+
blockSelector?: string;
|
|
29
|
+
};
|
|
30
|
+
/** Extra redaction for exception text, run after the built-in one (emails, bearer tokens, JWTs, keys, card numbers). */
|
|
31
|
+
scrub?: (text: string) => string;
|
|
32
|
+
/**
|
|
33
|
+
* 'pending' collects nothing and stores no session id until `setConsent(true)`. Default 'granted' (collect at init),
|
|
34
|
+
* so call sites that already gate `init()` on their own consent banner keep working.
|
|
35
|
+
*/
|
|
36
|
+
consent?: "granted" | "pending";
|
|
37
|
+
/** Collect nothing while the browser sends Global Privacy Control or Do Not Track (until `setConsent(true)`). Default false. */
|
|
38
|
+
respectDnt?: boolean;
|
|
24
39
|
};
|
|
25
40
|
export type OwlpaneBrowser = {
|
|
26
41
|
sessionId: string;
|
|
@@ -41,6 +56,11 @@ export type OwlpaneBrowser = {
|
|
|
41
56
|
export declare const DEFAULT_ENDPOINT = "https://ingest.owlpane.com";
|
|
42
57
|
/** Starts RUM collection. Safe to call once per page; never throws. */
|
|
43
58
|
export declare function init(options: OwlpaneBrowserOptions): OwlpaneBrowser;
|
|
59
|
+
/**
|
|
60
|
+
* Grants or withdraws consent. Granting starts collection if `init()` was held back by `consent: "pending"` or
|
|
61
|
+
* `respectDnt`; withdrawing stops it and forgets the stored session id.
|
|
62
|
+
*/
|
|
63
|
+
export declare function setConsent(granted: boolean): OwlpaneBrowser;
|
|
44
64
|
export { newSpanId, newTraceId };
|
|
45
65
|
export { formatTraceparent, parseTraceparent } from "./ids.js";
|
|
46
66
|
export { sanitizeUrl, shouldPropagate } from "./url.js";
|
package/dist/index.js
CHANGED
|
@@ -6,9 +6,13 @@ import { instrumentFetch, instrumentXhr } from "./instrument-http.js";
|
|
|
6
6
|
import { captureDocumentLoad, captureErrors, captureVitals, createErrorReporter } from "./observers.js";
|
|
7
7
|
import { startDomReplay } from "./dom-replay.js";
|
|
8
8
|
import { VERSION, createTracer } from "./tracer.js";
|
|
9
|
+
import { makeScrubber } from "./scrub.js";
|
|
10
|
+
import { isKeySafeEndpoint } from "./endpoint.js";
|
|
9
11
|
import { sanitizeUrl, urlPath } from "./url.js";
|
|
10
12
|
export const DEFAULT_ENDPOINT = "https://ingest.owlpane.com";
|
|
11
13
|
let active;
|
|
14
|
+
let lastOptions;
|
|
15
|
+
let lastEnv;
|
|
12
16
|
const NOOP = {
|
|
13
17
|
sessionId: "",
|
|
14
18
|
flush: async () => undefined,
|
|
@@ -45,6 +49,21 @@ export function init(options) {
|
|
|
45
49
|
const env = options.env ?? browserEnv();
|
|
46
50
|
if (!options.projectKey || !options.serviceName)
|
|
47
51
|
return NOOP;
|
|
52
|
+
lastOptions = options;
|
|
53
|
+
lastEnv = env;
|
|
54
|
+
// The ingest key is a bearer credential: never send it over cleartext to a non-loopback host.
|
|
55
|
+
if (!isKeySafeEndpoint(options.endpoint || DEFAULT_ENDPOINT)) {
|
|
56
|
+
try {
|
|
57
|
+
env.global.console?.warn?.("[owlpane] endpoint must use https (or http on localhost); telemetry is disabled.");
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
/* ignore */
|
|
61
|
+
}
|
|
62
|
+
return NOOP;
|
|
63
|
+
}
|
|
64
|
+
const nav = env.navigator;
|
|
65
|
+
if (options.consent === "pending" || (options.respectDnt && (nav?.globalPrivacyControl === true || nav?.doNotTrack === "1")))
|
|
66
|
+
return NOOP;
|
|
48
67
|
const opts = {
|
|
49
68
|
endpoint: (options.endpoint || DEFAULT_ENDPOINT).replace(/\/+$/, ""),
|
|
50
69
|
projectKey: options.projectKey,
|
|
@@ -55,6 +74,7 @@ export function init(options) {
|
|
|
55
74
|
propagateTraceTo: options.propagateTraceTo ?? [],
|
|
56
75
|
keepQuery: options.keepQuery ?? false,
|
|
57
76
|
maxErrorsPerPage: options.maxErrorsPerPage ?? 20,
|
|
77
|
+
scrub: makeScrubber(options.scrub),
|
|
58
78
|
};
|
|
59
79
|
const tracesUrl = `${opts.endpoint}/v1/traces`;
|
|
60
80
|
const originalFetch = env.fetch; // captured BEFORE patching: exports must not be instrumented
|
|
@@ -114,6 +134,7 @@ export function init(options) {
|
|
|
114
134
|
sessionId,
|
|
115
135
|
resource,
|
|
116
136
|
fetch: originalFetch,
|
|
137
|
+
...options.replay,
|
|
117
138
|
});
|
|
118
139
|
}
|
|
119
140
|
active = {
|
|
@@ -162,6 +183,31 @@ export function init(options) {
|
|
|
162
183
|
return NOOP;
|
|
163
184
|
}
|
|
164
185
|
}
|
|
186
|
+
/**
|
|
187
|
+
* Grants or withdraws consent. Granting starts collection if `init()` was held back by `consent: "pending"` or
|
|
188
|
+
* `respectDnt`; withdrawing stops it and forgets the stored session id.
|
|
189
|
+
*/
|
|
190
|
+
export function setConsent(granted) {
|
|
191
|
+
try {
|
|
192
|
+
if (granted) {
|
|
193
|
+
if (active)
|
|
194
|
+
return active;
|
|
195
|
+
return lastOptions ? init({ ...lastOptions, consent: "granted", respectDnt: false, env: lastEnv }) : NOOP;
|
|
196
|
+
}
|
|
197
|
+
const a = active;
|
|
198
|
+
void a?.shutdown();
|
|
199
|
+
try {
|
|
200
|
+
lastEnv?.storage?.removeItem?.("owlpane.sid");
|
|
201
|
+
}
|
|
202
|
+
catch {
|
|
203
|
+
/* storage may throw (privacy mode) */
|
|
204
|
+
}
|
|
205
|
+
return NOOP;
|
|
206
|
+
}
|
|
207
|
+
catch {
|
|
208
|
+
return NOOP;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
165
211
|
export { newSpanId, newTraceId };
|
|
166
212
|
export { formatTraceparent, parseTraceparent } from "./ids.js";
|
|
167
213
|
export { sanitizeUrl, shouldPropagate } from "./url.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAwB,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACxG,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAmB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/log-otlp.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { encodeAttrs, unixNano } from "./otlp.js";
|
|
2
|
-
const REPLAY_SCOPE = { name: "@owlpane/browser-replay", version: "0.1.
|
|
2
|
+
const REPLAY_SCOPE = { name: "@owlpane/browser-replay", version: "0.1.10" };
|
|
3
3
|
export function buildLogsRequestBody(resourceAttrs, records) {
|
|
4
4
|
const resource = JSON.stringify({ attributes: encodeAttrs(resourceAttrs) });
|
|
5
5
|
const logs = records.map((r) => JSON.stringify({
|
package/dist/log-otlp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log-otlp.js","sourceRoot":"","sources":["../src/log-otlp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,WAAW,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEzD,MAAM,YAAY,GAAG,EAAE,IAAI,EAAE,yBAAyB,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"log-otlp.js","sourceRoot":"","sources":["../src/log-otlp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,WAAW,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEzD,MAAM,YAAY,GAAG,EAAE,IAAI,EAAE,yBAAyB,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAE5E,MAAM,UAAU,oBAAoB,CAClC,aAAoB,EACpB,OAAmE;IAEnE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC5E,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7B,IAAI,CAAC,SAAS,CAAC;QACb,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;QAChC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE;QAC7B,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;KACtC,CAAC,CACH,CAAC;IACF,OAAO,gCAAgC,QAAQ,0BAA0B,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;AAChJ,CAAC;AASD,8CAA8C;AAC9C,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,GAAW,EACX,UAAkB,EAClB,IAAY,EACZ,OAAiC;IAEjC,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,GAAG,EAAE;YACjB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,aAAa,EAAE,UAAU,UAAU,EAAE,EAAE;YACtF,IAAI;YACJ,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,YAAY;IACd,CAAC;AACH,CAAC"}
|
package/dist/observers.js
CHANGED
|
@@ -135,7 +135,9 @@ export function createErrorReporter(c) {
|
|
|
135
135
|
if (count >= c.opts.maxErrorsPerPage)
|
|
136
136
|
return;
|
|
137
137
|
count++;
|
|
138
|
-
const
|
|
138
|
+
const raw = errorInfo(error);
|
|
139
|
+
// Bound the work before scrubbing: the exported fields are cut to 2000 / 8000 chars anyway.
|
|
140
|
+
const info = { ...raw, message: c.opts.scrub(raw.message.slice(0, 4000)), stack: raw.stack === undefined ? undefined : c.opts.scrub(raw.stack.slice(0, 16000)) };
|
|
139
141
|
const now = c.env.now();
|
|
140
142
|
const s = c.tracer.start("exception", 1, {
|
|
141
143
|
traceId: c.page.traceId,
|
package/dist/observers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observers.js","sourceRoot":"","sources":["../src/observers.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"observers.js","sourceRoot":"","sources":["../src/observers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAI3D,SAAS,OAAO,CAAC,GAAQ,EAAE,IAAY,EAAE,EAA4B,EAAE,QAAiC,EAAE;IACxG,MAAM,EAAE,GAAG,GAAG,CAAC,mBAAmB,CAAC;IACnC,IAAI,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IACtB,IAAI,CAAC;QACH,MAAM,SAAS,GAAyB,EAAE,CAAC,mBAAmB,CAAC;QAC/D,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QACzD,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,IAAS,EAAE,EAAE;YAC9B,IAAI,CAAC;gBACH,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YACxB,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY;YACd,CAAC;QACH,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,CAAM;IACxC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAClB,MAAM,GAAG,GAAG,GAAG,EAAE;QACf,IAAI,CAAC;YACH,MAAM,GAAG,GAAQ,GAAG,CAAC,WAAW,EAAE,gBAAgB,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACxE,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,EAAE,UAAU,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;YACxD,MAAM,KAAK,GAAU,EAAE,CAAC;YACxB,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;YACpB,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,EAAE,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBACrG,KAAK,CAAC,yBAAyB,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;gBAC5C,KAAK,CAAC,4BAA4B,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC;gBAC9E,KAAK,CAAC,uBAAuB,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,eAAe,GAAG,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBACjF,KAAK,CAAC,2BAA2B,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;gBAC3E,KAAK,CAAC,wBAAwB,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,aAAa,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;gBACxE,KAAK,CAAC,4BAA4B,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC;gBAC9E,KAAK,CAAC,mCAAmC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBACpE,KAAK,CAAC,sCAAsC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;gBACjF,KAAK,CAAC,wBAAwB,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBACvD,KAAK,CAAC,oCAAoC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBACnE,IAAI,GAAG,CAAC,YAAY,GAAG,CAAC;oBAAE,GAAG,GAAG,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC;YAC5D,CAAC;YACD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;IACH,CAAC,CAAC;IACF,IAAI,GAAG,CAAC,QAAQ,EAAE,UAAU,KAAK,UAAU;QAAE,GAAG,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;;QACjE,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC;AAID;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,CAAM;IAClC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAClB,IAAI,GAAuB,CAAC;IAC5B,MAAM,GAAG,GAAG,IAAI,UAAU,EAAE,CAAC;IAC7B,MAAM,GAAG,GAAG,IAAI,UAAU,EAAE,CAAC;IAC7B,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,OAAO,CAAC,GAAG,EAAE,0BAA0B,EAAE,CAAC,EAAE,EAAE,EAAE;QAC9C,KAAK,MAAM,CAAC,IAAI,EAAE;YAAE,GAAG,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,CAAC;IACtE,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,EAAE,EAAE,EAAE;QAClC,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YACnB,OAAO,GAAG,IAAI,CAAC;YACf,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACb,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC,CAAC;IAExF,SAAS,IAAI,CAAC,IAA2B,EAAE,KAAa,EAAE,QAAe,EAAE;QACzE,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;QACtB,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC,EAAE;YAC9C,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO;YACvB,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM;YAC3B,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO;YACvB,OAAO,EAAE,GAAG;YACZ,UAAU,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,eAAe,EAAE,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,EAAE;SAC9O,CAAC,CAAC;QACH,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IACxB,CAAC;IAED,SAAS,MAAM;QACb,IAAI,QAAQ;YAAE,OAAO;QACrB,QAAQ,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC;YACH,IAAI,GAAG,KAAK,SAAS;gBAAE,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACxC,IAAI,OAAO,IAAI,GAAG,KAAK,SAAS;gBAAE,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YACzD,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;YACpB,IAAI,CAAC,KAAK,SAAS;gBAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,uBAAuB,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9E,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;IACH,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,CAAC;AACpB,CAAC;AAED,SAAS,SAAS,CAAC,CAAU;IAC3B,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC;QACnE,MAAM,CAAC,GAAG,CAA0D,CAAC;QACrE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACzI,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;AACzH,CAAC;AAED,SAAS,UAAU,CAAC,CAAU;IAC5B,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;AACH,CAAC;AAID,+GAA+G;AAC/G,MAAM,UAAU,mBAAmB,CAAC,CAAM;IACxC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,IAAI,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAgB;gBAAE,OAAO;YAC7C,KAAK,EAAE,CAAC;YACR,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;YAC7B,4FAA4F;YAC5F,MAAM,IAAI,GAAG,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;YACjK,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE;gBACvC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO;gBACvB,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM;gBAC3B,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO;gBACvB,OAAO,EAAE,GAAG;gBACZ,UAAU,EAAE,EAAE,sBAAsB,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE;aACpI,CAAC,CAAC;YACH,CAAC,CAAC,GAAG,CAAC;gBACJ,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;gBACxD,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,WAAW;wBACjB,MAAM,EAAE,GAAG;wBACX,UAAU,EAAE,EAAE,gBAAgB,EAAE,IAAI,CAAC,IAAI,EAAE,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,sBAAsB,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE;qBAC7K;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,CAAM,EAAE,MAAqB;IACzD,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC;IACnC,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,GAAG,CAAC,OAAO,EAAE,CAAC,EAAO,EAAE,EAAE;QACvB,qDAAqD;QACrD,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC;YAAE,OAAO;QACxE,MAAM,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;IACtJ,CAAC,CAAC,CAAC;IACH,GAAG,CAAC,oBAAoB,EAAE,CAAC,EAAO,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC;AACnF,CAAC"}
|
package/dist/scrub.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** Built-in redaction for free text that leaves the page (exception messages, stacks, rejection reasons). */
|
|
2
|
+
/** Removes emails, bearer tokens, JWTs, Owlpane keys and card-like numbers. */
|
|
3
|
+
export declare function scrubText(text: string): string;
|
|
4
|
+
export declare function makeScrubber(custom?: (text: string) => string): (text: string) => string;
|
package/dist/scrub.js
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/** Built-in redaction for free text that leaves the page (exception messages, stacks, rejection reasons). */
|
|
2
|
+
const luhn = (digits) => {
|
|
3
|
+
let sum = 0;
|
|
4
|
+
let alt = false;
|
|
5
|
+
for (let i = digits.length - 1; i >= 0; i--) {
|
|
6
|
+
let n = digits.charCodeAt(i) - 48;
|
|
7
|
+
if (alt) {
|
|
8
|
+
n *= 2;
|
|
9
|
+
if (n > 9)
|
|
10
|
+
n -= 9;
|
|
11
|
+
}
|
|
12
|
+
sum += n;
|
|
13
|
+
alt = !alt;
|
|
14
|
+
}
|
|
15
|
+
return sum % 10 === 0;
|
|
16
|
+
};
|
|
17
|
+
/** Removes emails, bearer tokens, JWTs, Owlpane keys and card-like numbers. */
|
|
18
|
+
export function scrubText(text) {
|
|
19
|
+
return text
|
|
20
|
+
.replace(/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/g, "[email]")
|
|
21
|
+
.replace(/\bBearer\s+[A-Za-z0-9._~+/=-]{8,}/gi, "Bearer [redacted]")
|
|
22
|
+
.replace(/\beyJ[A-Za-z0-9_-]{5,}\.[A-Za-z0-9_-]{5,}\.[A-Za-z0-9_-]*/g, "[jwt]")
|
|
23
|
+
.replace(/\bowl_(?:ing|pat)_[A-Za-z0-9]{8,}/g, "[key]")
|
|
24
|
+
.replace(/\b(?:\d[ -]?){13,19}\b/g, (m) => {
|
|
25
|
+
const digits = m.replace(/[ -]/g, "");
|
|
26
|
+
return digits.length >= 13 && digits.length <= 19 && luhn(digits) ? "[card]" : m;
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
export function makeScrubber(custom) {
|
|
30
|
+
return (text) => {
|
|
31
|
+
let out = scrubText(text);
|
|
32
|
+
if (custom) {
|
|
33
|
+
try {
|
|
34
|
+
out = custom(out);
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
/* a broken hook must not leak the unscrubbed text or throw into the page */
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return out;
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=scrub.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scrub.js","sourceRoot":"","sources":["../src/scrub.ts"],"names":[],"mappings":"AAAA,6GAA6G;AAE7G,MAAM,IAAI,GAAG,CAAC,MAAc,EAAW,EAAE;IACvC,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,GAAG,GAAG,KAAK,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,IAAI,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAClC,IAAI,GAAG,EAAE,CAAC;YACR,CAAC,IAAI,CAAC,CAAC;YACP,IAAI,CAAC,GAAG,CAAC;gBAAE,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QACD,GAAG,IAAI,CAAC,CAAC;QACT,GAAG,GAAG,CAAC,GAAG,CAAC;IACb,CAAC;IACD,OAAO,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;AACxB,CAAC,CAAC;AAEF,+EAA+E;AAC/E,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,IAAI;SACR,OAAO,CAAC,iDAAiD,EAAE,SAAS,CAAC;SACrE,OAAO,CAAC,qCAAqC,EAAE,mBAAmB,CAAC;SACnE,OAAO,CAAC,4DAA4D,EAAE,OAAO,CAAC;SAC9E,OAAO,CAAC,oCAAoC,EAAE,OAAO,CAAC;SACtD,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAAC,EAAE,EAAE;QACxC,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACtC,OAAO,MAAM,CAAC,MAAM,IAAI,EAAE,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAiC;IAC5D,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,IAAI,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC;gBACH,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC;YAAC,MAAM,CAAC;gBACP,4EAA4E;YAC9E,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/tracer.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Env } from "./env.js";
|
|
2
2
|
import { RandomBytes } from "./ids.js";
|
|
3
3
|
import type { Attrs, SpanData, SpanEvent } from "./otlp.js";
|
|
4
|
-
export declare const VERSION = "0.1.
|
|
4
|
+
export declare const VERSION = "0.1.10";
|
|
5
5
|
export type ResolvedOptions = {
|
|
6
6
|
endpoint: string;
|
|
7
7
|
projectKey: string;
|
|
@@ -12,6 +12,8 @@ export type ResolvedOptions = {
|
|
|
12
12
|
propagateTraceTo: (string | RegExp)[];
|
|
13
13
|
keepQuery: boolean;
|
|
14
14
|
maxErrorsPerPage: number;
|
|
15
|
+
/** Redacts free text (exception messages, stacks) before export. */
|
|
16
|
+
scrub: (text: string) => string;
|
|
15
17
|
};
|
|
16
18
|
export type ActiveSpan = {
|
|
17
19
|
traceId: string;
|
package/dist/tracer.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defaultRandomBytes, newSpanId, newTraceId } from "./ids.js";
|
|
2
|
-
export const VERSION = "0.1.
|
|
2
|
+
export const VERSION = "0.1.10";
|
|
3
3
|
export function createTracer(env, opts, emit, sessionId, pageUrl, pageAttrs = {}) {
|
|
4
4
|
const rand = env.randomBytes ?? defaultRandomBytes();
|
|
5
5
|
const nav = env.navigator;
|
package/dist/tracer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracer.js","sourceRoot":"","sources":["../src/tracer.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,kBAAkB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGlF,MAAM,CAAC,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"tracer.js","sourceRoot":"","sources":["../src/tracer.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,kBAAkB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGlF,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC;AA0BhC,MAAM,UAAU,YAAY,CAAC,GAAQ,EAAE,IAAqB,EAAE,IAA2B,EAAE,SAAiB,EAAE,OAA4C,EAAE,YAAmB,EAAE;IAC/K,MAAM,IAAI,GAAgB,GAAG,CAAC,WAAW,IAAI,kBAAkB,EAAE,CAAC;IAClE,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC;IAE1B,SAAS,MAAM;QACb,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;QACpB,OAAO;YACL,aAAa,EAAE,MAAM;YACrB,YAAY,EAAE,SAAS;YACvB,kBAAkB,EAAE,CAAC,CAAC,GAAG;YACzB,mBAAmB,EAAE,CAAC,CAAC,IAAI;YAC3B,qBAAqB,EAAE,GAAG,EAAE,SAAS;YACrC,kBAAkB,EAAE,GAAG,EAAE,QAAQ;YACjC,kBAAkB,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,IAAI,GAAG,EAAE,QAAQ;YACjE,gBAAgB,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM;YAC5C,GAAG,SAAS;SACb,CAAC;IACJ,CAAC;IAED,SAAS,MAAM;QACb,OAAO,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;IACrG,CAAC;IAED,SAAS,KAAK,CAAC,IAAY,EAAE,IAAW,EAAE,IAA0G,EAAE;QACpJ,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,MAAM,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC;QACtC,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,OAAO;YACL,OAAO;YACP,MAAM;YACN,OAAO;YACP,GAAG,CAAC,CAAC,GAAG,EAAE;gBACR,IAAI,IAAI;oBAAE,OAAO;gBACjB,IAAI,GAAG,IAAI,CAAC;gBACZ,IAAI,CAAC,OAAO;oBAAE,OAAO;gBACrB,IAAI,CAAC;oBACH,IAAI,CAAC;wBACH,OAAO;wBACP,MAAM;wBACN,YAAY,EAAE,CAAC,CAAC,YAAY;wBAC5B,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,GAAG,EAAE;wBAC3B,UAAU,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,GAAG,UAAU,EAAE,GAAG,CAAC,CAAC,UAAU,EAAE;wBAC3D,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,MAAM,EAAE,CAAC,CAAC,MAAM;qBACjB,CAAC,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC;oBACP,mCAAmC;gBACrC,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;AAC/G,CAAC"}
|
package/dist/url.js
CHANGED
|
@@ -34,6 +34,18 @@ export function urlOrigin(raw, base) {
|
|
|
34
34
|
return null;
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
+
/** An origin-only entry ("https://api.example.com") matches by origin, so "https://api.example.com.evil.io" does not; other strings are prefixes. */
|
|
38
|
+
function matchesEntry(abs, entry) {
|
|
39
|
+
if (/^https?:\/\/[^/?#]+\/?$/i.test(entry)) {
|
|
40
|
+
try {
|
|
41
|
+
return new URL(abs).origin === new URL(entry).origin;
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return abs.startsWith(entry);
|
|
48
|
+
}
|
|
37
49
|
/**
|
|
38
50
|
* Decides whether a request URL may receive a traceparent header.
|
|
39
51
|
* Same-origin is always allowed. String entries match as a prefix of the absolute URL
|
|
@@ -54,7 +66,7 @@ export function shouldPropagate(raw, base, allow = []) {
|
|
|
54
66
|
}
|
|
55
67
|
for (const e of allow) {
|
|
56
68
|
if (typeof e === "string") {
|
|
57
|
-
if (abs
|
|
69
|
+
if (matchesEntry(abs, e))
|
|
58
70
|
return true;
|
|
59
71
|
}
|
|
60
72
|
else {
|
package/dist/url.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url.js","sourceRoot":"","sources":["../src/url.ts"],"names":[],"mappings":"AAAA,oGAAoG;AACpG,MAAM,UAAU,WAAW,CAAC,GAAW,EAAE,IAAwB,EAAE,SAAS,GAAG,KAAK;IAClF,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC;QAChB,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;YACd,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;QACd,CAAC;aAAM,CAAC;YACN,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;QACd,CAAC;QACD,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAW,EAAE,IAAwB;IAC3D,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAW,EAAE,IAAwB;IAC7D,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC;QACpC,OAAO,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAID;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW,EAAE,IAAwB,EAAE,QAA+B,EAAE;IACtG,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;IACzD,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC1B,IAAI,
|
|
1
|
+
{"version":3,"file":"url.js","sourceRoot":"","sources":["../src/url.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@owlpane/browser",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.10",
|
|
4
4
|
"description": "Owlpane real-user-monitoring SDK for browsers: page load, Web Vitals, JS errors, fetch/XHR spans, optional rrweb DOM replay, and W3C trace propagation over OTLP/HTTP JSON.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|