@cubenest/rrweb-core 0.1.0-alpha.0 → 0.1.0-alpha.2
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/LICENSE +202 -0
- package/NOTICE +12 -0
- package/dist/compression/index.d.ts +1 -1
- package/dist/compression/index.d.ts.map +1 -1
- package/dist/console/buffer.d.ts +3 -3
- package/dist/console/buffer.d.ts.map +1 -1
- package/dist/console/buffer.js +1 -1
- package/dist/console/buffer.js.map +1 -1
- package/dist/console/index.d.ts +2 -2
- package/dist/console/index.d.ts.map +1 -1
- package/dist/console/index.js +1 -1
- package/dist/console/index.js.map +1 -1
- package/dist/index.d.ts +18 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -10
- package/dist/index.js.map +1 -1
- package/dist/masking/body.js +1 -1
- package/dist/masking/body.js.map +1 -1
- package/dist/masking/index.d.ts +7 -7
- package/dist/masking/index.d.ts.map +1 -1
- package/dist/masking/index.js +5 -5
- package/dist/masking/index.js.map +1 -1
- package/dist/masking/inputs.js +1 -1
- package/dist/masking/inputs.js.map +1 -1
- package/dist/masking/text.js +1 -1
- package/dist/masking/text.js.map +1 -1
- package/dist/network/cdp.d.ts +1 -1
- package/dist/network/cdp.d.ts.map +1 -1
- package/dist/network/cdp.js +1 -1
- package/dist/network/cdp.js.map +1 -1
- package/dist/network/index.d.ts +3 -3
- package/dist/network/index.d.ts.map +1 -1
- package/dist/network/index.js +2 -2
- package/dist/network/index.js.map +1 -1
- package/dist/network/web-request.d.ts +1 -1
- package/dist/network/web-request.d.ts.map +1 -1
- package/dist/network/web-request.js +1 -1
- package/dist/network/web-request.js.map +1 -1
- package/dist/persistence/index.d.ts +2 -2
- package/dist/persistence/index.d.ts.map +1 -1
- package/dist/persistence/index.js +1 -1
- package/dist/persistence/index.js.map +1 -1
- package/dist/persistence/store.d.ts +1 -1
- package/dist/persistence/store.d.ts.map +1 -1
- package/dist/plugins/network/defaults.d.ts +36 -0
- package/dist/plugins/network/defaults.d.ts.map +1 -0
- package/dist/plugins/network/defaults.js +80 -0
- package/dist/plugins/network/defaults.js.map +1 -0
- package/dist/plugins/network/index.d.ts +3 -0
- package/dist/plugins/network/index.d.ts.map +1 -0
- package/dist/plugins/network/index.js +9 -0
- package/dist/plugins/network/index.js.map +1 -0
- package/dist/plugins/network/patch.d.ts +15 -0
- package/dist/plugins/network/patch.d.ts.map +1 -0
- package/dist/plugins/network/patch.js +64 -0
- package/dist/plugins/network/patch.js.map +1 -0
- package/dist/plugins/network/record.d.ts +38 -0
- package/dist/plugins/network/record.d.ts.map +1 -0
- package/dist/plugins/network/record.js +911 -0
- package/dist/plugins/network/record.js.map +1 -0
- package/dist/plugins/network/types.d.ts +208 -0
- package/dist/plugins/network/types.d.ts.map +1 -0
- package/dist/plugins/network/types.js +16 -0
- package/dist/plugins/network/types.js.map +1 -0
- package/dist/rrweb.d.ts +2 -1
- package/dist/rrweb.d.ts.map +1 -1
- package/dist/rrweb.js +4 -0
- package/dist/rrweb.js.map +1 -1
- package/dist/screenshot/cdp.d.ts +1 -1
- package/dist/screenshot/cdp.d.ts.map +1 -1
- package/dist/screenshot/cdp.js +1 -1
- package/dist/screenshot/cdp.js.map +1 -1
- package/dist/screenshot/index.d.ts +3 -3
- package/dist/screenshot/index.d.ts.map +1 -1
- package/dist/screenshot/index.js +2 -2
- package/dist/screenshot/index.js.map +1 -1
- package/dist/screenshot/tabs.d.ts +1 -1
- package/dist/screenshot/tabs.d.ts.map +1 -1
- package/dist/screenshot/tabs.js +1 -1
- package/dist/screenshot/tabs.js.map +1 -1
- package/dist/shadow-dom/index.d.ts +2 -2
- package/dist/shadow-dom/index.d.ts.map +1 -1
- package/dist/shadow-dom/index.js +1 -1
- package/dist/shadow-dom/index.js.map +1 -1
- package/dist/shadow-dom/traverse.d.ts +1 -1
- package/dist/shadow-dom/traverse.d.ts.map +1 -1
- package/dist/throttling/apply.d.ts +2 -2
- package/dist/throttling/apply.d.ts.map +1 -1
- package/dist/throttling/apply.js +2 -2
- package/dist/throttling/apply.js.map +1 -1
- package/dist/throttling/guards.d.ts +1 -1
- package/dist/throttling/guards.d.ts.map +1 -1
- package/dist/throttling/guards.js +1 -1
- package/dist/throttling/guards.js.map +1 -1
- package/dist/throttling/index.d.ts +4 -4
- package/dist/throttling/index.d.ts.map +1 -1
- package/dist/throttling/index.js +2 -2
- package/dist/throttling/index.js.map +1 -1
- package/package.json +22 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-request.d.ts","sourceRoot":"","sources":["../../src/network/web-request.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAqC,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"web-request.d.ts","sourceRoot":"","sources":["../../src/network/web-request.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAqC,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE3F;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,eAAe;IAE9B,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAEpF,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAAC;CAC5C;AAED;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,eAAe,EAAE,eAAe,CAAC;IACjC,aAAa,EAAE,eAAe,CAAC;IAC/B,iBAAiB,EAAE,eAAe,CAAC;IACnC,WAAW,EAAE,eAAe,CAAC;IAC7B,eAAe,EAAE,eAAe,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;;;OAKG;IACH,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC9C;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE;QACd,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;QACzB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;KAC9B,CAAC;CACH;AA0ED;;;;;;;;;;GAUG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,qBAAqB,EAC7B,OAAO,GAAE,wBAA6B,GACrC,qBAAqB,CAyMvB"}
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
// for form-encoded payloads, but our adapter doesn't depend on it: we
|
|
20
20
|
// surface what the transport gives us, and `responseBody` is always
|
|
21
21
|
// undefined here.
|
|
22
|
-
import { redactBody, redactNetworkHeaders } from '../masking';
|
|
22
|
+
import { redactBody, redactNetworkHeaders } from '../masking/index.js';
|
|
23
23
|
// ────────────────────────────────────────────────────────────────────────────
|
|
24
24
|
// chrome.webRequest payload narrowing
|
|
25
25
|
// ────────────────────────────────────────────────────────────────────────────
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-request.js","sourceRoot":"","sources":["../../src/network/web-request.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,2EAA2E;AAC3E,0EAA0E;AAC1E,wCAAwC;AACxC,EAAE;AACF,qEAAqE;AACrE,EAAE;AACF,mEAAmE;AACnE,2EAA2E;AAC3E,sDAAsD;AACtD,4EAA4E;AAC5E,4DAA4D;AAC5D,EAAE;AACF,4EAA4E;AAC5E,0EAA0E;AAC1E,0EAA0E;AAC1E,sEAAsE;AACtE,oEAAoE;AACpE,kBAAkB;AAElB,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"web-request.js","sourceRoot":"","sources":["../../src/network/web-request.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { createSessionStore } from './store';
|
|
2
|
-
export type { SessionChunk, SessionStore, SessionStoreOptions } from './types';
|
|
1
|
+
export { createSessionStore } from './store.js';
|
|
2
|
+
export type { SessionChunk, SessionStore, SessionStoreOptions } from './types.js';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/persistence/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/persistence/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -7,5 +7,5 @@
|
|
|
7
7
|
// The factory + companion `SessionStore` / `SessionStoreOptions` types
|
|
8
8
|
// are re-exported so consumers can declare-and-pass without reaching
|
|
9
9
|
// into `./store` directly.
|
|
10
|
-
export { createSessionStore } from './store';
|
|
10
|
+
export { createSessionStore } from './store.js';
|
|
11
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/persistence/index.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,EAAE;AACF,4EAA4E;AAC5E,EAAE;AACF,2EAA2E;AAC3E,EAAE;AACF,uEAAuE;AACvE,qEAAqE;AACrE,2BAA2B;AAE3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/persistence/index.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,EAAE;AACF,4EAA4E;AAC5E,EAAE;AACF,2EAA2E;AAC3E,EAAE;AACF,uEAAuE;AACvE,qEAAqE;AACrE,2BAA2B;AAE3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/persistence/store.ts"],"names":[],"mappings":"AAsCA,OAAO,KAAK,EAAgB,YAAY,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/persistence/store.ts"],"names":[],"mappings":"AAsCA,OAAO,KAAK,EAAgB,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAkGlF;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,YAAY,CAAC,CAwNvB"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { InitiatorType, MaskRequestFn } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* The narrow shape of `defaultNetworkOptions`. Every key is required,
|
|
4
|
+
* every value is concrete — no `| undefined` in the union. `record.ts`
|
|
5
|
+
* merges this with the caller's `NetworkRecordOptions` to produce its
|
|
6
|
+
* own `NormalizedNetworkOptions` view.
|
|
7
|
+
*/
|
|
8
|
+
export interface DefaultedNetworkOptions {
|
|
9
|
+
recordInitialRequests: boolean;
|
|
10
|
+
recordHeaders: boolean | {
|
|
11
|
+
request: boolean;
|
|
12
|
+
response: boolean;
|
|
13
|
+
};
|
|
14
|
+
recordBody: boolean | string[] | {
|
|
15
|
+
request: boolean | string[];
|
|
16
|
+
response: boolean | string[];
|
|
17
|
+
};
|
|
18
|
+
capturePerformance: boolean;
|
|
19
|
+
performanceEntryTypeToObserve: string[];
|
|
20
|
+
initiatorTypes: InitiatorType[];
|
|
21
|
+
payloadSizeLimitBytes: number;
|
|
22
|
+
bodyByteLimit: number;
|
|
23
|
+
maxRequestsPerBatch: number;
|
|
24
|
+
payloadHostDenyList: string[];
|
|
25
|
+
maskRequestFn: MaskRequestFn;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Fully-defaulted plugin options. Internal — `record.ts` merges this
|
|
29
|
+
* with the caller's options at observer-install time.
|
|
30
|
+
*
|
|
31
|
+
* Frozen via `Object.freeze` (and `as const` on the literal) so
|
|
32
|
+
* downstream code can't mutate the defaults at runtime — see the
|
|
33
|
+
* top-of-file comment for the privacy implication.
|
|
34
|
+
*/
|
|
35
|
+
export declare const defaultNetworkOptions: DefaultedNetworkOptions;
|
|
36
|
+
//# sourceMappingURL=defaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/plugins/network/defaults.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAA0B,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEvF;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,aAAa,EAAE,OAAO,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IACjE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG;QAAE,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC;IAC/F,kBAAkB,EAAE,OAAO,CAAC;IAC5B,6BAA6B,EAAE,MAAM,EAAE,CAAC;IACxC,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,EAAE,uBA2ClC,CAAC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
// Default options for `getRecordNetworkPlugin`.
|
|
2
|
+
//
|
|
3
|
+
// Adapted from PostHog's `replay/config.ts` `defaultNetworkOptions`. The
|
|
4
|
+
// trimmed differences vs PostHog's version:
|
|
5
|
+
// - `capturePerformance` and `recordInitialRequests` default to `true`
|
|
6
|
+
// here — PostHog's defaults to `false` because their config layer
|
|
7
|
+
// gates them on a remote feature flag. Our substrate is opt-out at
|
|
8
|
+
// the plugin level: consumers who want only the timing surface get
|
|
9
|
+
// it by default, and consumers who want bodies/headers opt in
|
|
10
|
+
// explicitly.
|
|
11
|
+
// - `maskRequestFn` default is identity — the real default mask
|
|
12
|
+
// (redactNetworkHeaders + redactBody + URL redaction) is composed
|
|
13
|
+
// inside `record.ts` so it has access to the substrate's masking
|
|
14
|
+
// helpers without an import cycle here.
|
|
15
|
+
// - `payloadHostDenyList` is empty by default. PostHog's defaults
|
|
16
|
+
// include analytics-vendor hostnames (Sentry, Google Analytics,
|
|
17
|
+
// Clarity, …) to avoid feedback loops, but we have no equivalent
|
|
18
|
+
// "always-on PostHog endpoint" — consumers (tracelane, peek)
|
|
19
|
+
// bring their own list per integration.
|
|
20
|
+
//
|
|
21
|
+
// The exported object is frozen with `Object.freeze` so consumer
|
|
22
|
+
// mutation can't change module-global state. This is important
|
|
23
|
+
// because `record.ts` uses a referential-equality check
|
|
24
|
+
// (`hasConsumerMask = consumerMask !== defaultNetworkOptions.maskRequestFn`)
|
|
25
|
+
// to detect when no consumer mask was provided — if a consumer
|
|
26
|
+
// overwrites `defaultNetworkOptions.maskRequestFn`, the sentinel
|
|
27
|
+
// silently flips and the privacy-default mask stops running.
|
|
28
|
+
/**
|
|
29
|
+
* Fully-defaulted plugin options. Internal — `record.ts` merges this
|
|
30
|
+
* with the caller's options at observer-install time.
|
|
31
|
+
*
|
|
32
|
+
* Frozen via `Object.freeze` (and `as const` on the literal) so
|
|
33
|
+
* downstream code can't mutate the defaults at runtime — see the
|
|
34
|
+
* top-of-file comment for the privacy implication.
|
|
35
|
+
*/
|
|
36
|
+
export const defaultNetworkOptions = Object.freeze({
|
|
37
|
+
initiatorTypes: [
|
|
38
|
+
'audio',
|
|
39
|
+
'beacon',
|
|
40
|
+
'body',
|
|
41
|
+
'css',
|
|
42
|
+
'early-hint',
|
|
43
|
+
'embed',
|
|
44
|
+
'fetch',
|
|
45
|
+
'frame',
|
|
46
|
+
'iframe',
|
|
47
|
+
'icon',
|
|
48
|
+
'image',
|
|
49
|
+
'img',
|
|
50
|
+
'input',
|
|
51
|
+
'link',
|
|
52
|
+
'navigation',
|
|
53
|
+
'object',
|
|
54
|
+
'ping',
|
|
55
|
+
'script',
|
|
56
|
+
'track',
|
|
57
|
+
'video',
|
|
58
|
+
'xmlhttprequest',
|
|
59
|
+
],
|
|
60
|
+
// Identity — the real default mask is composed in `record.ts` because
|
|
61
|
+
// it pulls in the substrate's masking helpers. The identity here is
|
|
62
|
+
// also what `record.ts` uses as a sentinel to detect "no consumer
|
|
63
|
+
// mask provided" (referential equality check).
|
|
64
|
+
maskRequestFn: (data) => data,
|
|
65
|
+
recordHeaders: false,
|
|
66
|
+
recordBody: false,
|
|
67
|
+
recordInitialRequests: true,
|
|
68
|
+
capturePerformance: true,
|
|
69
|
+
performanceEntryTypeToObserve: Object.freeze([
|
|
70
|
+
'first-input',
|
|
71
|
+
'navigation',
|
|
72
|
+
'paint',
|
|
73
|
+
'resource',
|
|
74
|
+
]),
|
|
75
|
+
payloadSizeLimitBytes: 1_000_000,
|
|
76
|
+
bodyByteLimit: 5_000,
|
|
77
|
+
maxRequestsPerBatch: 1_000,
|
|
78
|
+
payloadHostDenyList: Object.freeze([]),
|
|
79
|
+
});
|
|
80
|
+
//# sourceMappingURL=defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/plugins/network/defaults.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,EAAE;AACF,yEAAyE;AACzE,4CAA4C;AAC5C,yEAAyE;AACzE,sEAAsE;AACtE,uEAAuE;AACvE,uEAAuE;AACvE,kEAAkE;AAClE,kBAAkB;AAClB,kEAAkE;AAClE,sEAAsE;AACtE,qEAAqE;AACrE,4CAA4C;AAC5C,oEAAoE;AACpE,oEAAoE;AACpE,qEAAqE;AACrE,iEAAiE;AACjE,4CAA4C;AAC5C,EAAE;AACF,iEAAiE;AACjE,+DAA+D;AAC/D,wDAAwD;AACxD,6EAA6E;AAC7E,+DAA+D;AAC/D,iEAAiE;AACjE,6DAA6D;AAwB7D;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAA4B,MAAM,CAAC,MAAM,CAAC;IAC1E,cAAc,EAAE;QACd,OAAO;QACP,QAAQ;QACR,MAAM;QACN,KAAK;QACL,YAAY;QACZ,OAAO;QACP,OAAO;QACP,OAAO;QACP,QAAQ;QACR,MAAM;QACN,OAAO;QACP,KAAK;QACL,OAAO;QACP,MAAM;QACN,YAAY;QACZ,QAAQ;QACR,MAAM;QACN,QAAQ;QACR,OAAO;QACP,OAAO;QACP,gBAAgB;KACE;IACpB,sEAAsE;IACtE,oEAAoE;IACpE,kEAAkE;IAClE,+CAA+C;IAC/C,aAAa,EAAE,CAAC,IAA4B,EAA0B,EAAE,CAAC,IAAI;IAC7E,aAAa,EAAE,KAAK;IACpB,UAAU,EAAE,KAAK;IACjB,qBAAqB,EAAE,IAAI;IAC3B,kBAAkB,EAAE,IAAI;IACxB,6BAA6B,EAAE,MAAM,CAAC,MAAM,CAAC;QAC3C,aAAa;QACb,YAAY;QACZ,OAAO;QACP,UAAU;KACX,CAAwB;IACzB,qBAAqB,EAAE,SAAS;IAChC,aAAa,EAAE,KAAK;IACpB,mBAAmB,EAAE,KAAK;IAC1B,mBAAmB,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAwB;CAC9D,CAAC,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { getRecordNetworkPlugin } from './record.js';
|
|
2
|
+
export { NETWORK_PLUGIN_NAME, type CapturedNetworkRequest, type InitiatorType, type MaskRequestFn, type NetworkData, type NetworkHeaders, type NetworkRecordOptions, type RecordBodyOption, type RecordHeadersOption, } from './types.js';
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/network/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EACL,mBAAmB,EACnB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,GACzB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// Public barrel for the framework-agnostic network capture plugin.
|
|
2
|
+
//
|
|
3
|
+
// The plugin emits `EventType.Plugin` events with
|
|
4
|
+
// `data.plugin === 'rrweb/network@1'` — the same name as the stalled
|
|
5
|
+
// upstream rrweb PR #1689, so when (if) upstream lands we can swap the
|
|
6
|
+
// implementation without changing the event payload contract.
|
|
7
|
+
export { getRecordNetworkPlugin } from './record.js';
|
|
8
|
+
export { NETWORK_PLUGIN_NAME, } from './types.js';
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/network/index.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,EAAE;AACF,kDAAkD;AAClD,qEAAqE;AACrE,uEAAuE;AACvE,8DAA8D;AAE9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EACL,mBAAmB,GASpB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Replace `source[name]` with `replacement(original)` and return a
|
|
3
|
+
* disposer that restores the original.
|
|
4
|
+
*
|
|
5
|
+
* Returns a no-op disposer if:
|
|
6
|
+
* - `name` is not in `source` (caller may be running in an env without
|
|
7
|
+
* fetch/XHR, e.g. a Node target);
|
|
8
|
+
* - the replacement throws on definition (some browsers throw on
|
|
9
|
+
* `defineProperties` over re-defined globals — Sentry hit this on
|
|
10
|
+
* XMLHttpRequest in older Safari);
|
|
11
|
+
*/
|
|
12
|
+
export declare function patch(source: {
|
|
13
|
+
[key: string]: unknown;
|
|
14
|
+
}, name: string, replacement: (original: unknown) => unknown): () => void;
|
|
15
|
+
//# sourceMappingURL=patch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../../src/plugins/network/patch.ts"],"names":[],"mappings":"AAkBA;;;;;;;;;;GAUG;AACH,wBAAgB,KAAK,CACnB,MAAM,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,EAClC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,OAAO,GAC1C,MAAM,IAAI,CAsCZ"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
// Monkey-patch utility for replacing global functions (fetch, XHR.open, …)
|
|
2
|
+
// with our wrappers and restoring them on teardown.
|
|
3
|
+
//
|
|
4
|
+
// Adapted from PostHog's rrweb-plugins/patch.ts (Apache-2.0), which was
|
|
5
|
+
// itself copied from rrweb-io/rrweb's utils.ts, which was copied from
|
|
6
|
+
// Sentry's @sentry/utils/object.ts. The chain of vendoring is documented
|
|
7
|
+
// in NOTICE.
|
|
8
|
+
//
|
|
9
|
+
// Trimmed differences vs PostHog's version:
|
|
10
|
+
// - Drops the `@posthog/core` `isFunction` import; inlines the typeof
|
|
11
|
+
// check (3 LOC).
|
|
12
|
+
// - Renames the non-enumerable marker to `__cubenest_wrapped__` so we
|
|
13
|
+
// don't claim a property name PostHog also uses (defensive — avoids
|
|
14
|
+
// accidental double-wrap detection if both libraries ever sit in the
|
|
15
|
+
// same global).
|
|
16
|
+
const isFunction = (v) => typeof v === 'function';
|
|
17
|
+
/**
|
|
18
|
+
* Replace `source[name]` with `replacement(original)` and return a
|
|
19
|
+
* disposer that restores the original.
|
|
20
|
+
*
|
|
21
|
+
* Returns a no-op disposer if:
|
|
22
|
+
* - `name` is not in `source` (caller may be running in an env without
|
|
23
|
+
* fetch/XHR, e.g. a Node target);
|
|
24
|
+
* - the replacement throws on definition (some browsers throw on
|
|
25
|
+
* `defineProperties` over re-defined globals — Sentry hit this on
|
|
26
|
+
* XMLHttpRequest in older Safari);
|
|
27
|
+
*/
|
|
28
|
+
export function patch(source, name, replacement) {
|
|
29
|
+
try {
|
|
30
|
+
if (!(name in source)) {
|
|
31
|
+
return () => {
|
|
32
|
+
/* no-op */
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
const original = source[name];
|
|
36
|
+
const wrapped = replacement(original);
|
|
37
|
+
// Attach a non-enumerable marker so external code can detect that the
|
|
38
|
+
// function has been wrapped (matches Sentry's pattern). We need a
|
|
39
|
+
// function with a prototype slot for `defineProperties` to work.
|
|
40
|
+
if (isFunction(wrapped)) {
|
|
41
|
+
// biome-ignore lint/suspicious/noExplicitAny: prototype slot assignment
|
|
42
|
+
wrapped.prototype = wrapped.prototype || {};
|
|
43
|
+
Object.defineProperties(wrapped, {
|
|
44
|
+
__cubenest_wrapped__: {
|
|
45
|
+
enumerable: false,
|
|
46
|
+
value: true,
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
source[name] = wrapped;
|
|
51
|
+
return () => {
|
|
52
|
+
source[name] = original;
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
// Some browsers throw if a global has already been redefined
|
|
57
|
+
// (multi-wrap scenario). Returning a no-op disposer matches PostHog
|
|
58
|
+
// and Sentry — silently degrade rather than break the host page.
|
|
59
|
+
return () => {
|
|
60
|
+
/* no-op */
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=patch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patch.js","sourceRoot":"","sources":["../../../src/plugins/network/patch.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,oDAAoD;AACpD,EAAE;AACF,wEAAwE;AACxE,sEAAsE;AACtE,yEAAyE;AACzE,aAAa;AACb,EAAE;AACF,4CAA4C;AAC5C,wEAAwE;AACxE,qBAAqB;AACrB,wEAAwE;AACxE,wEAAwE;AACxE,yEAAyE;AACzE,oBAAoB;AAEpB,MAAM,UAAU,GAAG,CAAC,CAAU,EAAwC,EAAE,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC;AAEjG;;;;;;;;;;GAUG;AACH,MAAM,UAAU,KAAK,CACnB,MAAkC,EAClC,IAAY,EACZ,WAA2C;IAE3C,IAAI,CAAC;QACH,IAAI,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC;YACtB,OAAO,GAAG,EAAE;gBACV,WAAW;YACb,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEtC,sEAAsE;QACtE,kEAAkE;QAClE,iEAAiE;QACjE,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,wEAAwE;YACvE,OAAe,CAAC,SAAS,GAAI,OAAe,CAAC,SAAS,IAAI,EAAE,CAAC;YAC9D,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE;gBAC/B,oBAAoB,EAAE;oBACpB,UAAU,EAAE,KAAK;oBACjB,KAAK,EAAE,IAAI;iBACZ;aACF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;QAEvB,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;QAC1B,CAAC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,6DAA6D;QAC7D,oEAAoE;QACpE,iEAAiE;QACjE,OAAO,GAAG,EAAE;YACV,WAAW;QACb,CAAC,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { RecordPlugin } from '@posthog/rrweb-types';
|
|
2
|
+
import { type NetworkHeaders, type NetworkRecordOptions } from './types.js';
|
|
3
|
+
export declare function shouldRecordBody({ type, recordBody, headers, url, }: {
|
|
4
|
+
type: 'request' | 'response';
|
|
5
|
+
headers: NetworkHeaders;
|
|
6
|
+
url: string | URL | RequestInfo;
|
|
7
|
+
recordBody: NetworkRecordOptions['recordBody'];
|
|
8
|
+
}): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Test-only — override the retry config. Returns the previous values so
|
|
11
|
+
* tests can restore. Not exported from the public barrel.
|
|
12
|
+
*/
|
|
13
|
+
export declare function _setPerfEntryRetryConfigForTests(maxAttempts: number, backoffMs: number): {
|
|
14
|
+
previousMax: number;
|
|
15
|
+
previousBackoff: number;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Reset internal state. Test-only — exposed so tests can re-initialize
|
|
19
|
+
* the singleton observer between cases.
|
|
20
|
+
*/
|
|
21
|
+
export declare function _resetNetworkObserverForTests(): void;
|
|
22
|
+
/**
|
|
23
|
+
* Build the rrweb network capture plugin. Pass to `record({ plugins: [
|
|
24
|
+
* getRecordNetworkPlugin() ] })`.
|
|
25
|
+
*
|
|
26
|
+
* Emits `EventType.Plugin` events with `data.plugin === 'rrweb/network@1'`
|
|
27
|
+
* and `data.payload: NetworkData`.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* record({
|
|
31
|
+
* emit(event) { … },
|
|
32
|
+
* plugins: [
|
|
33
|
+
* getRecordNetworkPlugin({ recordBody: true, recordHeaders: true }),
|
|
34
|
+
* ],
|
|
35
|
+
* });
|
|
36
|
+
*/
|
|
37
|
+
export declare function getRecordNetworkPlugin(options?: NetworkRecordOptions): RecordPlugin<NetworkRecordOptions>;
|
|
38
|
+
//# sourceMappingURL=record.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../../src/plugins/network/record.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAW,YAAY,EAAmB,MAAM,sBAAsB,CAAC;AAKnF,OAAO,EAKL,KAAK,cAAc,EACnB,KAAK,oBAAoB,EAC1B,MAAM,YAAY,CAAC;AA8IpB,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,UAAU,EACV,OAAO,EACP,GAAG,GACJ,EAAE;IACD,IAAI,EAAE,SAAS,GAAG,UAAU,CAAC;IAC7B,OAAO,EAAE,cAAc,CAAC;IACxB,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,WAAW,CAAC;IAChC,UAAU,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAC;CAChD,GAAG,OAAO,CA2BV;AAqID;;;GAGG;AACH,wBAAgB,gCAAgC,CAC9C,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAMlD;AA6uBD;;;GAGG;AACH,wBAAgB,6BAA6B,IAAI,IAAI,CAEpD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,YAAY,CAAC,oBAAoB,CAAC,CAWpC"}
|