@offscript/sdk 0.1.7 → 0.1.9

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.
@@ -13,8 +13,20 @@ export type OffscriptEventMap = {
13
13
  recordingStart: undefined;
14
14
  recordingEnd: RecordingPayload;
15
15
  };
16
+ interface OffscriptRunnerBridge {
17
+ enabled?: boolean;
18
+ endpoint?: string;
19
+ ready?: boolean;
20
+ startRecording?: () => Promise<void>;
21
+ complete?: () => Promise<unknown>;
22
+ }
23
+ declare global {
24
+ interface Window {
25
+ __offscriptRunner?: OffscriptRunnerBridge;
26
+ }
27
+ }
16
28
  export declare class Offscript implements EventSink {
17
- static readonly version = "0.1.7";
29
+ static readonly version = "0.1.9";
18
30
  readonly config: ResolvedConfig;
19
31
  readonly sanitizer: DataSanitizer;
20
32
  private readonly bus;
@@ -46,10 +58,12 @@ export declare class Offscript implements EventSink {
46
58
  private response;
47
59
  private launchToken?;
48
60
  private launchTokenChanged;
61
+ private snapshotAfterNavigationUntil;
49
62
  constructor(config?: OffscriptConfig);
50
63
  getState(): OffscriptState;
51
64
  capturesSensitiveValues(): boolean;
52
65
  init(): Promise<void>;
66
+ private exposeRunnerBridge;
53
67
  private initialize;
54
68
  private resolveLaunchToken;
55
69
  private getOrCreateDraftKey;
@@ -57,7 +71,6 @@ export declare class Offscript implements EventSink {
57
71
  private writeSessionValue;
58
72
  private removeSessionValue;
59
73
  private initializeDraft;
60
- private consumeRecordingSegmentMarker;
61
74
  private restoreDraft;
62
75
  private save;
63
76
  startRecording(): Promise<void>;
@@ -88,3 +101,4 @@ export declare class Offscript implements EventSink {
88
101
  private assertAlive;
89
102
  private setStatus;
90
103
  }
104
+ export {};
package/dist/index.cjs CHANGED
@@ -1,78 +1,78 @@
1
1
  'use strict';
2
2
 
3
- var chunkOXGIMYKL_cjs = require('./chunk-OXGIMYKL.cjs');
4
- var chunk7FCA5EJI_cjs = require('./chunk-7FCA5EJI.cjs');
5
- var chunkM7CHVDW6_cjs = require('./chunk-M7CHVDW6.cjs');
3
+ var chunkWK242AJ2_cjs = require('./chunk-WK242AJ2.cjs');
4
+ var chunkYPGRVKY4_cjs = require('./chunk-YPGRVKY4.cjs');
5
+ var chunkM2E6CWGK_cjs = require('./chunk-M2E6CWGK.cjs');
6
6
 
7
7
 
8
8
 
9
9
  Object.defineProperty(exports, "createOffscript", {
10
10
  enumerable: true,
11
- get: function () { return chunkOXGIMYKL_cjs.createOffscript; }
11
+ get: function () { return chunkWK242AJ2_cjs.createOffscript; }
12
12
  });
13
13
  Object.defineProperty(exports, "startOffscript", {
14
14
  enumerable: true,
15
- get: function () { return chunkOXGIMYKL_cjs.startOffscript; }
15
+ get: function () { return chunkWK242AJ2_cjs.startOffscript; }
16
16
  });
17
17
  Object.defineProperty(exports, "ConfigError", {
18
18
  enumerable: true,
19
- get: function () { return chunk7FCA5EJI_cjs.ConfigError; }
19
+ get: function () { return chunkYPGRVKY4_cjs.ConfigError; }
20
20
  });
21
21
  Object.defineProperty(exports, "DEFAULT_PRIVACY", {
22
22
  enumerable: true,
23
- get: function () { return chunk7FCA5EJI_cjs.DEFAULT_PRIVACY; }
23
+ get: function () { return chunkYPGRVKY4_cjs.DEFAULT_PRIVACY; }
24
24
  });
25
25
  Object.defineProperty(exports, "DEFAULT_RECORDING", {
26
26
  enumerable: true,
27
- get: function () { return chunk7FCA5EJI_cjs.DEFAULT_RECORDING; }
27
+ get: function () { return chunkYPGRVKY4_cjs.DEFAULT_RECORDING; }
28
28
  });
29
29
  Object.defineProperty(exports, "DataSanitizer", {
30
30
  enumerable: true,
31
- get: function () { return chunk7FCA5EJI_cjs.DataSanitizer; }
31
+ get: function () { return chunkYPGRVKY4_cjs.DataSanitizer; }
32
32
  });
33
33
  Object.defineProperty(exports, "InvalidStateError", {
34
34
  enumerable: true,
35
- get: function () { return chunk7FCA5EJI_cjs.InvalidStateError; }
35
+ get: function () { return chunkYPGRVKY4_cjs.InvalidStateError; }
36
36
  });
37
37
  Object.defineProperty(exports, "Offscript", {
38
38
  enumerable: true,
39
- get: function () { return chunk7FCA5EJI_cjs.Offscript; }
39
+ get: function () { return chunkYPGRVKY4_cjs.Offscript; }
40
40
  });
41
41
  Object.defineProperty(exports, "OffscriptError", {
42
42
  enumerable: true,
43
- get: function () { return chunk7FCA5EJI_cjs.OffscriptError; }
43
+ get: function () { return chunkYPGRVKY4_cjs.OffscriptError; }
44
44
  });
45
45
  Object.defineProperty(exports, "ACTION_SCHEMA_VERSION", {
46
46
  enumerable: true,
47
- get: function () { return chunkM7CHVDW6_cjs.ACTION_SCHEMA_VERSION; }
47
+ get: function () { return chunkM2E6CWGK_cjs.ACTION_SCHEMA_VERSION; }
48
48
  });
49
49
  Object.defineProperty(exports, "PLAYWRIGHT_CONTRACT_VERSION", {
50
50
  enumerable: true,
51
- get: function () { return chunkM7CHVDW6_cjs.PLAYWRIGHT_CONTRACT_VERSION; }
51
+ get: function () { return chunkM2E6CWGK_cjs.PLAYWRIGHT_CONTRACT_VERSION; }
52
52
  });
53
53
  Object.defineProperty(exports, "SCHEMA_VERSION", {
54
54
  enumerable: true,
55
- get: function () { return chunkM7CHVDW6_cjs.SCHEMA_VERSION; }
55
+ get: function () { return chunkM2E6CWGK_cjs.SCHEMA_VERSION; }
56
56
  });
57
57
  Object.defineProperty(exports, "SDK_VERSION", {
58
58
  enumerable: true,
59
- get: function () { return chunkM7CHVDW6_cjs.SDK_VERSION; }
59
+ get: function () { return chunkM2E6CWGK_cjs.SDK_VERSION; }
60
60
  });
61
61
  Object.defineProperty(exports, "SelectorGenerator", {
62
62
  enumerable: true,
63
- get: function () { return chunkM7CHVDW6_cjs.SelectorGenerator; }
63
+ get: function () { return chunkM2E6CWGK_cjs.SelectorGenerator; }
64
64
  });
65
65
  Object.defineProperty(exports, "buildPlaywrightContract", {
66
66
  enumerable: true,
67
- get: function () { return chunkM7CHVDW6_cjs.buildPlaywrightContract; }
67
+ get: function () { return chunkM2E6CWGK_cjs.buildPlaywrightContract; }
68
68
  });
69
69
  Object.defineProperty(exports, "normalizeActions", {
70
70
  enumerable: true,
71
- get: function () { return chunkM7CHVDW6_cjs.normalizeActions; }
71
+ get: function () { return chunkM2E6CWGK_cjs.normalizeActions; }
72
72
  });
73
73
  Object.defineProperty(exports, "validatePlaywrightContract", {
74
74
  enumerable: true,
75
- get: function () { return chunkM7CHVDW6_cjs.validatePlaywrightContract; }
75
+ get: function () { return chunkM2E6CWGK_cjs.validatePlaywrightContract; }
76
76
  });
77
77
  //# sourceMappingURL=index.cjs.map
78
78
  //# sourceMappingURL=index.cjs.map
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- export { createOffscript, startOffscript } from './chunk-ZB5N4KJE.js';
2
- export { ConfigError, DEFAULT_PRIVACY, DEFAULT_RECORDING, DataSanitizer, InvalidStateError, Offscript, OffscriptError } from './chunk-LUTOFXSV.js';
3
- export { ACTION_SCHEMA_VERSION, PLAYWRIGHT_CONTRACT_VERSION, SCHEMA_VERSION, SDK_VERSION, SelectorGenerator, buildPlaywrightContract, normalizeActions, validatePlaywrightContract } from './chunk-4EPIPNDL.js';
1
+ export { createOffscript, startOffscript } from './chunk-U232L3JD.js';
2
+ export { ConfigError, DEFAULT_PRIVACY, DEFAULT_RECORDING, DataSanitizer, InvalidStateError, Offscript, OffscriptError } from './chunk-5F637PDG.js';
3
+ export { ACTION_SCHEMA_VERSION, PLAYWRIGHT_CONTRACT_VERSION, SCHEMA_VERSION, SDK_VERSION, SelectorGenerator, buildPlaywrightContract, normalizeActions, validatePlaywrightContract } from './chunk-KKEYBVTX.js';
4
4
  //# sourceMappingURL=index.js.map
5
5
  //# sourceMappingURL=index.js.map
@@ -1,56 +1,56 @@
1
1
  'use strict';
2
2
 
3
- var chunkM7CHVDW6_cjs = require('./chunk-M7CHVDW6.cjs');
3
+ var chunkM2E6CWGK_cjs = require('./chunk-M2E6CWGK.cjs');
4
4
 
5
5
 
6
6
 
7
7
  Object.defineProperty(exports, "CONTRACT_LIMITATIONS", {
8
8
  enumerable: true,
9
- get: function () { return chunkM7CHVDW6_cjs.CONTRACT_LIMITATIONS; }
9
+ get: function () { return chunkM2E6CWGK_cjs.CONTRACT_LIMITATIONS; }
10
10
  });
11
11
  Object.defineProperty(exports, "PLAYWRIGHT_CONTRACT_KIND", {
12
12
  enumerable: true,
13
- get: function () { return chunkM7CHVDW6_cjs.PLAYWRIGHT_CONTRACT_KIND; }
13
+ get: function () { return chunkM2E6CWGK_cjs.PLAYWRIGHT_CONTRACT_KIND; }
14
14
  });
15
15
  Object.defineProperty(exports, "PLAYWRIGHT_CONTRACT_VERSION", {
16
16
  enumerable: true,
17
- get: function () { return chunkM7CHVDW6_cjs.PLAYWRIGHT_CONTRACT_VERSION; }
17
+ get: function () { return chunkM2E6CWGK_cjs.PLAYWRIGHT_CONTRACT_VERSION; }
18
18
  });
19
19
  Object.defineProperty(exports, "SelectorGenerator", {
20
20
  enumerable: true,
21
- get: function () { return chunkM7CHVDW6_cjs.SelectorGenerator; }
21
+ get: function () { return chunkM2E6CWGK_cjs.SelectorGenerator; }
22
22
  });
23
23
  Object.defineProperty(exports, "accessibleName", {
24
24
  enumerable: true,
25
- get: function () { return chunkM7CHVDW6_cjs.accessibleName; }
25
+ get: function () { return chunkM2E6CWGK_cjs.accessibleName; }
26
26
  });
27
27
  Object.defineProperty(exports, "buildPlaywrightContract", {
28
28
  enumerable: true,
29
- get: function () { return chunkM7CHVDW6_cjs.buildPlaywrightContract; }
29
+ get: function () { return chunkM2E6CWGK_cjs.buildPlaywrightContract; }
30
30
  });
31
31
  Object.defineProperty(exports, "implicitRole", {
32
32
  enumerable: true,
33
- get: function () { return chunkM7CHVDW6_cjs.implicitRole; }
33
+ get: function () { return chunkM2E6CWGK_cjs.implicitRole; }
34
34
  });
35
35
  Object.defineProperty(exports, "isStableClass", {
36
36
  enumerable: true,
37
- get: function () { return chunkM7CHVDW6_cjs.isStableClass; }
37
+ get: function () { return chunkM2E6CWGK_cjs.isStableClass; }
38
38
  });
39
39
  Object.defineProperty(exports, "isStableId", {
40
40
  enumerable: true,
41
- get: function () { return chunkM7CHVDW6_cjs.isStableId; }
41
+ get: function () { return chunkM2E6CWGK_cjs.isStableId; }
42
42
  });
43
43
  Object.defineProperty(exports, "labelText", {
44
44
  enumerable: true,
45
- get: function () { return chunkM7CHVDW6_cjs.labelText; }
45
+ get: function () { return chunkM2E6CWGK_cjs.labelText; }
46
46
  });
47
47
  Object.defineProperty(exports, "normalizeActions", {
48
48
  enumerable: true,
49
- get: function () { return chunkM7CHVDW6_cjs.normalizeActions; }
49
+ get: function () { return chunkM2E6CWGK_cjs.normalizeActions; }
50
50
  });
51
51
  Object.defineProperty(exports, "validatePlaywrightContract", {
52
52
  enumerable: true,
53
- get: function () { return chunkM7CHVDW6_cjs.validatePlaywrightContract; }
53
+ get: function () { return chunkM2E6CWGK_cjs.validatePlaywrightContract; }
54
54
  });
55
55
  //# sourceMappingURL=playwright.cjs.map
56
56
  //# sourceMappingURL=playwright.cjs.map
@@ -1,3 +1,3 @@
1
- export { CONTRACT_LIMITATIONS, PLAYWRIGHT_CONTRACT_KIND, PLAYWRIGHT_CONTRACT_VERSION, SelectorGenerator, accessibleName, buildPlaywrightContract, implicitRole, isStableClass, isStableId, labelText, normalizeActions, validatePlaywrightContract } from './chunk-4EPIPNDL.js';
1
+ export { CONTRACT_LIMITATIONS, PLAYWRIGHT_CONTRACT_KIND, PLAYWRIGHT_CONTRACT_VERSION, SelectorGenerator, accessibleName, buildPlaywrightContract, implicitRole, isStableClass, isStableId, labelText, normalizeActions, validatePlaywrightContract } from './chunk-KKEYBVTX.js';
2
2
  //# sourceMappingURL=playwright.js.map
3
3
  //# sourceMappingURL=playwright.js.map
@@ -12,8 +12,18 @@ export declare class RRWebRecorder implements Recorder {
12
12
  private stopped;
13
13
  needsSnapshot: boolean;
14
14
  private snapshotsTaken;
15
+ private scheduledSnapshotFrame?;
16
+ private scheduledSnapshotTimer?;
17
+ private settleTimeout?;
18
+ private settleObserver?;
19
+ private settling;
15
20
  constructor(sink: EventSink);
16
21
  start(): Promise<void>;
22
+ /** Captura o DOM depois do ciclo de renderização atual (Vue, React, etc.). */
23
+ scheduleSnapshot(): void;
24
+ notifySnapshotActivity(): void;
25
+ private captureSettledSnapshot;
26
+ private cancelScheduledSnapshot;
17
27
  private onEvent;
18
28
  /** Sanitiza URLs em atributos e padrões sensíveis em textos ANTES de persistir/enviar. */
19
29
  private sanitizeEvent;
@@ -1,5 +1,5 @@
1
1
  export declare const SCHEMA_VERSION = "1.0";
2
- export declare const SDK_VERSION = "0.1.7";
2
+ export declare const SDK_VERSION = "0.1.9";
3
3
  export type EventKind = "rrweb" | "action" | "http" | "console" | "error" | "context" | "iframe" | "lifecycle";
4
4
  /** Envelope comum a todos os eventos. A ordem canônica é (tabId, sequence). */
5
5
  export interface OffscriptEvent<T = unknown> {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@offscript/sdk",
3
- "version": "0.1.7",
3
+ "version": "0.1.9",
4
4
  "description": "Offscript SDK - gravação de sessões de teste QA (rrweb, ações, rede, erros)",
5
5
  "license": "MIT",
6
6
  "type": "module",