@newtalaria/browser 0.1.1 → 0.1.5

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.
@@ -14,12 +14,15 @@ export interface IngestSegmentParams {
14
14
  startedAt: Date;
15
15
  endedAt: Date;
16
16
  keepalive?: boolean;
17
+ /** Precomputed gzip payload; when set, `events` is only used for eventCount. */
18
+ gzip?: Uint8Array;
17
19
  }
18
20
  export interface FinishReplayParams {
19
21
  replayId: string;
20
22
  reason?: string;
21
23
  keepalive?: boolean;
22
24
  }
25
+ export declare function compressReplayEvents(events: unknown[]): Promise<Uint8Array>;
23
26
  export declare function startReplay(transport: ServerpodTransport, params: StartReplayParams): Promise<unknown>;
24
27
  export declare function ingestReplaySegment(transport: ServerpodTransport, params: IngestSegmentParams): Promise<unknown>;
25
28
  export declare function finishReplay(transport: ServerpodTransport, params: FinishReplayParams): Promise<unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"replays.d.ts","sourceRoot":"","sources":["../../src/transport/replays.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAGzD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAsB,WAAW,CAC/B,SAAS,EAAE,kBAAkB,EAC7B,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,OAAO,CAAC,CAgBlB;AAED,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,kBAAkB,EAC7B,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,OAAO,CAAC,CAoBlB;AAED,wBAAsB,YAAY,CAChC,SAAS,EAAE,kBAAkB,EAC7B,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,OAAO,CAAC,CAalB"}
1
+ {"version":3,"file":"replays.d.ts","sourceRoot":"","sources":["../../src/transport/replays.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAIzD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gFAAgF;IAChF,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,OAAO,EAAE,GAChB,OAAO,CAAC,UAAU,CAAC,CAGrB;AAED,wBAAsB,WAAW,CAC/B,SAAS,EAAE,kBAAkB,EAC7B,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,OAAO,CAAC,CAgBlB;AAED,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,kBAAkB,EAC7B,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,OAAO,CAAC,CA0BlB;AAED,wBAAsB,YAAY,CAChC,SAAS,EAAE,kBAAkB,EAC7B,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,OAAO,CAAC,CAalB"}
@@ -1 +1 @@
1
- {"version":3,"file":"serverpod.d.ts","sourceRoot":"","sources":["../../src/transport/serverpod.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,OAAO,EAAE,yBAAyB;IAKxC,IAAI,CACR,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAC7B,OAAO,CAAC,OAAO,CAAC;CA8BpB"}
1
+ {"version":3,"file":"serverpod.d.ts","sourceRoot":"","sources":["../../src/transport/serverpod.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,OAAO,EAAE,yBAAyB;IAKxC,IAAI,CACR,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAC7B,OAAO,CAAC,OAAO,CAAC;CA8CpB"}
package/dist/types.d.ts CHANGED
@@ -17,18 +17,31 @@ export interface TalariaInitOptions {
17
17
  /** Fraction of sessions that upload continuously (0–1). Default `0`. */
18
18
  replaysSessionSampleRate?: number;
19
19
  /**
20
- * Fraction of errors that attach a short replay clip (0–1). Default `1`.
21
- * On hit: upload ~60s ring buffer + ~15s after the error, then finish.
22
- * Ignored for the rest of a session once `replaysSessionSampleRate` already
23
- * enabled continuous upload.
20
+ * Fraction of errors that promote the ring buffer to an uploaded replay (0–1).
21
+ * Default `1`. Ignored once `replaysSessionSampleRate` already enabled upload.
24
22
  */
25
23
  replaysOnErrorSampleRate?: number;
24
+ /**
25
+ * How long to keep uploading after an error-sample hit (ms).
26
+ * - Default `15000` (~15s): cheap error clip, then finish and return to buffer mode.
27
+ * - `0`: Sentry-like — continue until the 5-minute max duration or page unload.
28
+ */
29
+ replaysErrorAfterMs?: number;
26
30
  /** Passed to rrweb. Default `true`. */
27
31
  maskAllInputs?: boolean;
32
+ /**
33
+ * Embed accessible stylesheet rules into the snapshot (rrweb `inlineStylesheet`).
34
+ * Default `false` (smaller payloads; player re-fetches public CSS hrefs).
35
+ * Enable for auth-gated UIs (e.g. CMS admin) so same-origin CSS is captured while logged in.
36
+ * Cross-origin sheets without CORS still cannot be inlined.
37
+ */
38
+ inlineStylesheet?: boolean;
28
39
  /** CSS selectors blocked from the DOM snapshot (plus `[data-talaria-mask]`). */
29
40
  blockSelector?: string;
30
41
  /** Optional app user id attached to events / replay start. */
31
42
  userId?: string;
43
+ /** Tags merged into every captured event (per-call tags win on key conflict). */
44
+ tags?: Record<string, string>;
32
45
  /** Disable automatic `window` / `unhandledrejection` handlers. */
33
46
  disableDefaultIntegrations?: boolean;
34
47
  }
@@ -45,9 +58,12 @@ export interface ResolvedOptions {
45
58
  release?: string;
46
59
  replaysSessionSampleRate: number;
47
60
  replaysOnErrorSampleRate: number;
61
+ replaysErrorAfterMs: number;
48
62
  maskAllInputs: boolean;
63
+ inlineStylesheet: boolean;
49
64
  blockSelector: string;
50
65
  userId?: string;
66
+ tags?: Record<string, string>;
51
67
  disableDefaultIntegrations: boolean;
52
68
  }
53
69
  //# sourceMappingURL=types.d.ts.map
@@ -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,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;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,uCAAuC;IACvC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gFAAgF;IAChF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC;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;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wBAAwB,EAAE,MAAM,CAAC;IACjC,wBAAwB,EAAE,MAAM,CAAC;IACjC,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0BAA0B,EAAE,OAAO,CAAC;CACrC"}
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,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;CACtC;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;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wBAAwB,EAAE,MAAM,CAAC;IACjC,wBAAwB,EAAE,MAAM,CAAC;IACjC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,0BAA0B,EAAE,OAAO,CAAC;CACrC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@newtalaria/browser",
3
- "version": "0.1.1",
3
+ "version": "0.1.5",
4
4
  "description": "Talaria browser SDK — error capture and session replay (rrweb)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -9,7 +9,9 @@
9
9
  "exports": {
10
10
  ".": {
11
11
  "types": "./dist/index.d.ts",
12
- "import": "./dist/index.js"
12
+ "import": "./dist/index.js",
13
+ "require": "./dist/index.js",
14
+ "default": "./dist/index.js"
13
15
  }
14
16
  },
15
17
  "files": [
@@ -17,10 +19,13 @@
17
19
  "README.md"
18
20
  ],
19
21
  "scripts": {
20
- "build": "tsc -p tsconfig.json && esbuild src/index.ts --bundle --format=esm --platform=browser --outfile=dist/index.js --sourcemap && npm run copy:example",
22
+ "build": "tsc -p tsconfig.json && esbuild src/index.ts --bundle --format=esm --platform=browser --outfile=dist/index.js --sourcemap && npm run build:iife && npm run copy:example",
23
+ "build:iife": "esbuild src/iife.ts --bundle --format=iife --platform=browser --outfile=dist/talaria.browser.iife.js --sourcemap",
21
24
  "copy:example": "mkdir -p ../../examples/sdk-spa/vendor && cp dist/index.js ../../examples/sdk-spa/vendor/talaria.js && cp dist/index.js.map ../../examples/sdk-spa/vendor/talaria.js.map",
22
25
  "build:types": "tsc -p tsconfig.json",
23
26
  "clean": "rm -rf dist",
27
+ "prepare": "npm run build",
28
+ "test": "esbuild test/replay_ingest.test.ts --bundle --platform=node --format=esm --outfile=test/dist/replay_ingest.test.js && node --test test/dist/replay_ingest.test.js",
24
29
  "prepublishOnly": "npm run build"
25
30
  },
26
31
  "dependencies": {