@capture.dev/core 0.0.9 → 0.0.11

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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @capture.dev/core
2
2
 
3
+ ## 0.0.11
4
+
5
+ ### Patch Changes
6
+
7
+ - 40fe6da: Adds recovery path for failed adds in IndexedDBStore
8
+
9
+ ## 0.0.10
10
+
11
+ ### Patch Changes
12
+
13
+ - 74cc8e7: switch to plugin system for loggers, add global debug logger
14
+
3
15
  ## 0.0.9
4
16
 
5
17
  ### Patch Changes
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- const e=require(`./get-diffs-CaikdHmm.cjs`);var t=class{type=`events`;sinks=[];queue=[];errorQueue=[];meta={identifier:`events`,version:1};initialize(t){this.meta=t,e.a().forEach(e=>{this.registerSink(e)})}registerSink(t){if(this.sinks.push(t),e.o().isLoggingPaused===!0){this.queue=[],this.errorQueue=[];return}this.queue.forEach(e=>{t.log({loggerType:this.type,loggerMeta:this.meta,timestamp:e.time,event:e.event})}),this.errorQueue.forEach(e=>{t.logInternalError({loggerType:this.type,loggerMeta:this.meta,error:e})})}logEvent=t=>{if(e.o().isLoggingPaused!==!0)try{let n=e.d(t);this.sinks.forEach(e=>{try{e.log({loggerType:this.type,loggerMeta:this.meta,timestamp:t.time,event:n})}catch(e){this.logInternalError({loggerType:this.type,loggerMeta:this.meta,error:e})}}),this.queue.push({event:n,time:t.time}),this.queue=this.queue.slice(-250)}catch(e){this.logInternalError(e)}};logInternalError=e=>{this.sinks.forEach(t=>{try{t.logInternalError({loggerType:this.type,loggerMeta:this.meta,error:e})}catch{}}),this.errorQueue.push(e),this.errorQueue=this.errorQueue.slice(-50)}},n=class extends t{type=`state`;liid;patchesSinceLastSnapshot=0;previousState;meta={identifier:`state`,name:`State`};constructor({initialState:t}={}){super(),this.liid=e.u(),this.previousState=t}logState(t,{label:n,extra:r}={}){if(e.o().isLoggingPaused===!0){this.previousState=t;return}try{(this.patchesSinceLastSnapshot>=50||this.previousState===void 0)&&this.logSnapshot(t);let i=e.t(this.previousState,t);this.logEvent({liid:this.liid,time:Date.now(),type:`patch`,ops:i,label:n,extra:r}),this.patchesSinceLastSnapshot++,this.previousState=t}catch(e){this.logInternalError(e)}}takeSnapshot(){this.previousState!==void 0&&this.logSnapshot(this.previousState)}logSnapshot(t){e.o().isLoggingPaused!==!0&&(this.logEvent({time:Date.now(),liid:this.liid,type:`snapshot`,value:t}),this.patchesSinceLastSnapshot=0,this.previousState=t)}};function r(t,n){let r=e.i(),i=r.get(t.identifier);return i||(i=new n,r.set(t.identifier,i),i.initialize(t),i)}function i(e){return r(e,t)}function a(e){return r(e,n)}exports.EventLogger=t,exports.StateLogger=n,exports.registerEventLogger=i,exports.registerStateLogger=a;
1
+ const e=require(`./register-event-sink-hLxybAve.cjs`);exports.EventLogger=e.o,exports.StateLogger=e.i,exports.registerEventLogger=e.n,exports.registerEventSink=e.t,exports.registerStateLogger=e.r;
package/dist/index.d.cts CHANGED
@@ -1,7 +1,2 @@
1
- import { C as CaptureResponseBodyFn, E as Identity, S as CaptureRequestHeaderFn, T as CustomContextObject, _ as CaptureClientOptions, b as CaptureRequestBodyFn, d as BaseEvent, f as EventLogger, n as StateLogger, p as EventLoggerMeta, r as StateLoggerMeta, v as CaptureEventFn, w as CaptureResponseHeaderFn, x as CaptureRequestFn, y as CaptureEventPreset } from "./state-logger-BnJgC19d.cjs";
2
-
3
- //#region src/logger/register-logger.d.ts
4
- declare function registerEventLogger<TEvent extends BaseEvent>(meta: EventLoggerMeta): EventLogger<TEvent>;
5
- declare function registerStateLogger(meta: StateLoggerMeta): StateLogger;
6
- //#endregion
7
- export { type BaseEvent, CaptureClientOptions, CaptureEventFn, CaptureEventPreset, CaptureRequestBodyFn, CaptureRequestFn, CaptureRequestHeaderFn, CaptureResponseBodyFn, CaptureResponseHeaderFn, CustomContextObject, EventLogger, type EventLoggerMeta, Identity, StateLogger, registerEventLogger, registerStateLogger };
1
+ import { C as CaptureRequestBodyFn, D as CaptureResponseHeaderFn, E as CaptureResponseBodyFn, O as CustomContextObject, S as CaptureEventPreset, T as CaptureRequestHeaderFn, a as StateLogger, b as CaptureClientOptions, h as EventLogger, k as Identity, m as BaseEvent, n as registerEventLogger, r as registerEventSink, t as registerStateLogger, v as EventLoggerMeta, w as CaptureRequestFn, x as CaptureEventFn } from "./register-state-logger-CBuIJie8.cjs";
2
+ export { type BaseEvent, CaptureClientOptions, CaptureEventFn, CaptureEventPreset, CaptureRequestBodyFn, CaptureRequestFn, CaptureRequestHeaderFn, CaptureResponseBodyFn, CaptureResponseHeaderFn, CustomContextObject, EventLogger, type EventLoggerMeta, Identity, StateLogger, registerEventLogger, registerEventSink, registerStateLogger };
package/dist/index.d.mts CHANGED
@@ -1,7 +1,2 @@
1
- import { C as CaptureResponseBodyFn, E as Identity, S as CaptureRequestHeaderFn, T as CustomContextObject, _ as CaptureClientOptions, b as CaptureRequestBodyFn, d as BaseEvent, f as EventLogger, n as StateLogger, p as EventLoggerMeta, r as StateLoggerMeta, v as CaptureEventFn, w as CaptureResponseHeaderFn, x as CaptureRequestFn, y as CaptureEventPreset } from "./state-logger-BC-toJMz.mjs";
2
-
3
- //#region src/logger/register-logger.d.ts
4
- declare function registerEventLogger<TEvent extends BaseEvent>(meta: EventLoggerMeta): EventLogger<TEvent>;
5
- declare function registerStateLogger(meta: StateLoggerMeta): StateLogger;
6
- //#endregion
7
- export { type BaseEvent, CaptureClientOptions, CaptureEventFn, CaptureEventPreset, CaptureRequestBodyFn, CaptureRequestFn, CaptureRequestHeaderFn, CaptureResponseBodyFn, CaptureResponseHeaderFn, CustomContextObject, EventLogger, type EventLoggerMeta, Identity, StateLogger, registerEventLogger, registerStateLogger };
1
+ import { C as CaptureRequestBodyFn, D as CaptureResponseHeaderFn, E as CaptureResponseBodyFn, O as CustomContextObject, S as CaptureEventPreset, T as CaptureRequestHeaderFn, a as StateLogger, b as CaptureClientOptions, h as EventLogger, k as Identity, m as BaseEvent, n as registerEventLogger, r as registerEventSink, t as registerStateLogger, v as EventLoggerMeta, w as CaptureRequestFn, x as CaptureEventFn } from "./register-state-logger-BGjgK9-O.mjs";
2
+ export { type BaseEvent, CaptureClientOptions, CaptureEventFn, CaptureEventPreset, CaptureRequestBodyFn, CaptureRequestFn, CaptureRequestHeaderFn, CaptureResponseBodyFn, CaptureResponseHeaderFn, CustomContextObject, EventLogger, type EventLoggerMeta, Identity, StateLogger, registerEventLogger, registerEventSink, registerStateLogger };
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{a as e,d as t,i as n,o as r,t as i,u as a}from"./get-diffs-vKHGUmC_.mjs";var o=class{type=`events`;sinks=[];queue=[];errorQueue=[];meta={identifier:`events`,version:1};initialize(t){this.meta=t,e().forEach(e=>{this.registerSink(e)})}registerSink(e){if(this.sinks.push(e),r().isLoggingPaused===!0){this.queue=[],this.errorQueue=[];return}this.queue.forEach(t=>{e.log({loggerType:this.type,loggerMeta:this.meta,timestamp:t.time,event:t.event})}),this.errorQueue.forEach(t=>{e.logInternalError({loggerType:this.type,loggerMeta:this.meta,error:t})})}logEvent=e=>{if(r().isLoggingPaused!==!0)try{let n=t(e);this.sinks.forEach(t=>{try{t.log({loggerType:this.type,loggerMeta:this.meta,timestamp:e.time,event:n})}catch(e){this.logInternalError({loggerType:this.type,loggerMeta:this.meta,error:e})}}),this.queue.push({event:n,time:e.time}),this.queue=this.queue.slice(-250)}catch(e){this.logInternalError(e)}};logInternalError=e=>{this.sinks.forEach(t=>{try{t.logInternalError({loggerType:this.type,loggerMeta:this.meta,error:e})}catch{}}),this.errorQueue.push(e),this.errorQueue=this.errorQueue.slice(-50)}},s=class extends o{type=`state`;liid;patchesSinceLastSnapshot=0;previousState;meta={identifier:`state`,name:`State`};constructor({initialState:e}={}){super(),this.liid=a(),this.previousState=e}logState(e,{label:t,extra:n}={}){if(r().isLoggingPaused===!0){this.previousState=e;return}try{(this.patchesSinceLastSnapshot>=50||this.previousState===void 0)&&this.logSnapshot(e);let r=i(this.previousState,e);this.logEvent({liid:this.liid,time:Date.now(),type:`patch`,ops:r,label:t,extra:n}),this.patchesSinceLastSnapshot++,this.previousState=e}catch(e){this.logInternalError(e)}}takeSnapshot(){this.previousState!==void 0&&this.logSnapshot(this.previousState)}logSnapshot(e){r().isLoggingPaused!==!0&&(this.logEvent({time:Date.now(),liid:this.liid,type:`snapshot`,value:e}),this.patchesSinceLastSnapshot=0,this.previousState=e)}};function c(e,t){let r=n(),i=r.get(e.identifier);return i||(i=new t,r.set(e.identifier,i),i.initialize(e),i)}function l(e){return c(e,o)}function u(e){return c(e,s)}export{o as EventLogger,s as StateLogger,l as registerEventLogger,u as registerStateLogger};
1
+ import{i as e,n as t,o as n,r,t as i}from"./register-event-sink-g05_80Xi.mjs";export{n as EventLogger,e as StateLogger,t as registerEventLogger,i as registerEventSink,r as registerStateLogger};
package/dist/internal.cjs CHANGED
@@ -1 +1 @@
1
- const e=require(`./get-diffs-CaikdHmm.cjs`);var t=class{constructor(){setTimeout(()=>{e.a().add(this),e.i().forEach(e=>{e.registerSink(this)})},0)}log(e,t,n){throw Error(`Method not implemented.`)}logInternalError=({loggerType:t,loggerMeta:n,error:r})=>{if(r instanceof Error)try{let i=Date.now(),a=e.d({time:i,type:`internal-error`,loggerType:t,loggerMeta:n,error:r});this.log({loggerType:`events`,loggerMeta:{identifier:`__internal__`},timestamp:i,event:a})}catch(e){console.error(e)}}};function n(e){try{return/^class\s/.test(e.toString())}catch{return!1}}function r(e){return{__CAPTURE_TYPE__:`classConstructor`,name:e.name||`(anonymous)`}}function i(e){let t=e.getTime();return{__CAPTURE_TYPE__:`date`,value:Number.isNaN(t)?null:t}}function a(e){let t={name:e.name,message:e.message};return e.stack&&(t.stack=e.stack),e.cause instanceof Error?t.cause=a(e.cause):e.cause!==void 0&&(t.cause=null),t}function o(e){return{__CAPTURE_TYPE__:`error`,error:a(e)}}function s(e){return{__CAPTURE_TYPE__:`function`,name:e.name||`(anonymous)`}}function c(e,t){let n=[];for(let[r,i]of e)n.push([t(r),t(i)]);return{__CAPTURE_TYPE__:`map`,entries:n}}function l(e,t){let n=e.constructor?.name;typeof n!=`string`&&(n=`Object`);let r={};for(let n of Object.keys(e))try{r[n]=t(e[n])}catch{r[n]=`[Throws]`}return{__CAPTURE_TYPE__:`object`,name:n,properties:r}}function u(e){return{__CAPTURE_TYPE__:`regex`,pattern:e.toString()}}function d(e,t){let n=[];for(let r of e)n.push(t(r));return{__CAPTURE_TYPE__:`set`,values:n}}const f=Object.prototype.hasOwnProperty;function p(e){return`[Throws: `+(e instanceof Error?e.message:`?`)+`]`}function m(e,t){if(f.call(e,t))try{return e[t]}catch(e){return p(e)}return e[t]}function h(t,a={}){let f=[],h=a.maxStringLength??1e5,g=a.maxSize??5e5,_=a.maxDepth??20,v=0;function y(t,b){try{if(b>_)return e.h;if(v>g)return e.C;if(typeof t==`number`){if(isNaN(t))return e._;if(t===1/0)return e.v;if(t===-1/0)return e.g}if(t===null||typeof t==`boolean`||typeof t==`number`||typeof t==`string`){let n=JSON.stringify(t).length;return v+=n,v>g?e.C:typeof t==`string`&&n>h?t.substring(0,h)+` [Output truncated due to length]`:t}else if(t===void 0)return e.w;else if(typeof t==`bigint`)return t<=2**53-1&&t>=-(2**53-1)?Number(t):e.f;if(typeof t==`symbol`)return t.toString();if(typeof t==`function`)return n(t)?r(t):s(t);if(t instanceof Date)return i(t);if(t instanceof Error)return o(t);if(t instanceof RegExp)return u(t);if(t instanceof Promise)return e.y;if(f.indexOf(t)!==-1)return e.p;if(f.push(t),t instanceof Map){let e=c(t,e=>y(e,b+1));return f.pop(),e}if(t instanceof Set){let e=d(t,e=>y(e,b+1));return f.pop(),e}if(Array.isArray(t)){let e=t.map(e=>y(e,b+1));return f.pop(),e}if(typeof t==`object`){if(`toJSON`in t&&typeof t.toJSON==`function`)try{let e=y(t.toJSON(),b+1);return f.pop(),e}catch(e){return p(e)}if(Object.getPrototypeOf(t)!==Object.prototype){let e=l(t,e=>y(e,b+1));return f.pop(),e}let e={};for(let n of Object.keys(t))e[n]=y(m(t,n),b+1);return f.pop(),e}return e.T}catch(t){try{a.onError?.(t)}catch{}return e.x}}return y(t,0)}const g=t=>typeof t==`string`&&Object.values(e.S).includes(t),_=e=>typeof e==`string`&&!g(e)||typeof e==`number`||typeof e==`boolean`||e===null,v=(e,t)=>typeof t==`object`&&!!t&&`__CAPTURE_TYPE__`in t&&t.__CAPTURE_TYPE__===e,y=e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&!(`__CAPTURE_TYPE__`in e),b=e=>Array.isArray(e),x=e=>v(`error`,e),S=e=>v(`map`,e),C=e=>v(`set`,e),w=e=>v(`regex`,e),T=e=>v(`function`,e),E=e=>v(`classConstructor`,e),D=e=>v(`object`,e),O=e=>v(`date`,e);function k(e){let t=0,n=e.length,r;for(;t<n;){if(r=e.charCodeAt(t),r>=48&&r<=57){t++;continue}return!1}return n>0}function A(e,t,n){return{...e,[t]:n}}function j(e,t){let{...n}=e;return delete n[t],n}function M(e,t,n){if(k(t)){let r=~~t;return[...e.slice(0,r),n,...e.slice(r)]}else return Object.assign([],e,{[t]:n})}function N(e,t){if(k(t)){let n=~~t;return[...e.slice(0,n),...e.slice(n+1)]}let n=Object.assign([],e);return delete n[t],n}function P(e,t,n){let r=k(t)?~~t:t;return Object.assign([],e,{[r]:n})}const F={add:function(e,t,n,r){return e?j(t,n):A(t,n,r.value)},remove:function(e,t,n,r){return e?A(t,n,r.value):j(t,n)},replace:function(e,t,n,r){return e?A(t,n,r.from):A(t,n,r.to)}},I={add:function(e,t,n,r){return e?N(t,n):M(t,n,r.value)},remove:function(e,t,n,r){return e?M(t,n,r.value):N(t,n)},replace:function(e,t,n,r){return e?P(t,n,r.from):P(t,n,r.to)}};function L(e,t,n,r){let[i,...a]=n;if(i===void 0)return t.op===`add`?r?void 0:t.value:t.op===`replace`?r?t.from:t.to:r?t.value:void 0;if(typeof e!=`object`||!e)return e;if(i===`__proto__`||i===`constructor`&&a[0]===`prototype`)throw TypeError("Modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function.");let o=Array.isArray(e);if(a.length===0)return o?I[t.op](r,e,i,t):F[t.op](r,e,i,t);let s=e[i];if(typeof s!=`object`||!s)return e;if(s=L(s,t,a,r),o){let t=[...e];return t[i]=s,t}return{...e,[i]:s}}function R(e,t,n=!1){return L(e,t,t.path,n)}function z(e,t,n=!1){let r=e;for(let e of t)r=R(r,e,n);return r}var B=class extends Error{constructor(e,t){super(`Incomplete CBOR data: need ${e} more bytes`),this.bytesNeeded=e,this.bytesRead=t,this.name=`IncompleteError`}};const V={CIRCULAR:Symbol(`circular`),MAX_DEPTH:Symbol(`max_depth`),TRUNCATED:Symbol(`truncated`),REDACTED:Symbol(`redacted`),PROMISE:Symbol(`promise`),UNKNOWN:Symbol(`unknown`),SERIALIZATION_ERROR:Symbol(`serialization_error`)};var H=class{constructor(e){this.name=e}},U=class{constructor(e){this.name=e}},W=class{constructor(e,t){this.name=e,this.properties=t}},G=class{constructor(e,t){this.tag=e,this.value=t}},K=class{constructor(e,t,n,r){this.name=e,this.message=t,this.stack=n,this.cause=r}};const q=new TextDecoder;function J(e,t=0){return X(e,new DataView(e.buffer,e.byteOffset,e.byteLength),t).value}function Y(e,t=0){let n=[],r=new DataView(e.buffer,e.byteOffset,e.byteLength),i=t;for(;i<e.length;)try{let{value:t,bytesRead:a}=X(e,r,i);n.push(t),i+=a}catch(e){if(e instanceof B)break;throw e}return{values:n,bytesRead:i-t}}function X(t,n,r){if(r>=t.length)throw new B(1,0);let i=t[r],a=i&224,o=i&31;switch(a){case e.I:return Q(t,n,r,o);case e.M:return $(t,n,r,o);case e.F:return ee(t,n,r,o);case e.A:return te(t,n,r,o);case e.j:return ne(t,n,r,o);case e.P:return ie(t,n,r,o);case e.N:return oe(t,n,r,o);default:throw Error(`Unknown major type: ${a>>5}`)}}function Z(e,t,n,r){if(r<24)return{value:r,bytesRead:1};switch(r){case 24:if(n+2>e.length)throw new B(n+2-e.length,1);return{value:e[n+1],bytesRead:2};case 25:if(n+3>e.length)throw new B(n+3-e.length,1);return{value:t.getUint16(n+1),bytesRead:3};case 26:if(n+5>e.length)throw new B(n+5-e.length,1);return{value:t.getUint32(n+1),bytesRead:5};case 27:if(n+9>e.length)throw new B(n+9-e.length,1);return{value:t.getBigUint64(n+1),bytesRead:9};case 31:return{value:-1,bytesRead:1};default:throw Error(`Invalid additional info: ${r}`)}}function Q(e,t,n,r){let{value:i,bytesRead:a}=Z(e,t,n,r);return typeof i==`bigint`&&i<=BigInt(2**53-1)?{value:Number(i),bytesRead:a}:{value:i,bytesRead:a}}function $(e,t,n,r){let{value:i,bytesRead:a}=Z(e,t,n,r);if(typeof i==`bigint`){let e=-1n-i;return e>=BigInt(-(2**53-1))?{value:Number(e),bytesRead:a}:{value:e,bytesRead:a}}return{value:-1-i,bytesRead:a}}function ee(e,t,n,r){let{value:i,bytesRead:a}=Z(e,t,n,r);if(typeof i==`bigint`||i<0)throw Error(`Indefinite text strings not supported`);let o=n+a+i;if(o>e.length)throw new B(o-e.length,a);return{value:q.decode(e.subarray(n+a,o)),bytesRead:a+i}}function te(t,n,r,i){let{value:a,bytesRead:o}=Z(t,n,r,i),s=[],c=r+o;if(a===-1){for(;c<t.length;){if(t[c]===e.E)return{value:s,bytesRead:c-r+1};let{value:i,bytesRead:a}=X(t,n,c);s.push(i),c+=a}throw new B(1,c-r)}let l=typeof a==`bigint`?Number(a):a;for(let e=0;e<l;e++){let{value:e,bytesRead:r}=X(t,n,c);s.push(e),c+=r}return{value:s,bytesRead:c-r}}function ne(t,n,r,i){let{value:a,bytesRead:o}=Z(t,n,r,i),s={},c=r+o;if(a===-1){for(;c<t.length;){if(t[c]===e.E)return{value:s,bytesRead:c-r+1};let{value:i,bytesRead:a}=X(t,n,c);c+=a;let{value:o,bytesRead:l}=X(t,n,c);c+=l,s[String(i)]=o}throw new B(1,c-r)}let l=typeof a==`bigint`?Number(a):a;for(let e=0;e<l;e++){let{value:e,bytesRead:r}=X(t,n,c);c+=r;let{value:i,bytesRead:a}=X(t,n,c);c+=a,s[String(e)]=i}return{value:s,bytesRead:c-r}}function re(t,n,r,i){let{value:a,bytesRead:o}=Z(t,n,r,i),s=new Map,c=r+o;if(a===-1){for(;c<t.length;){if(t[c]===e.E)return{value:s,bytesRead:c-r+1};let{value:i,bytesRead:a}=X(t,n,c);c+=a;let{value:o,bytesRead:l}=X(t,n,c);c+=l,s.set(i,o)}throw new B(1,c-r)}let l=typeof a==`bigint`?Number(a):a;for(let e=0;e<l;e++){let{value:e,bytesRead:r}=X(t,n,c);c+=r;let{value:i,bytesRead:a}=X(t,n,c);c+=a,s.set(e,i)}return{value:s,bytesRead:c-r}}function ie(t,n,r,i){let{value:a,bytesRead:o}=Z(t,n,r,i),s=typeof a==`bigint`?Number(a):a;if(s===e.q){let i=r+o;if(i>=t.length)throw new B(1,o);let a=t[i],s=a&224,c=a&31;if(s!==e.j)throw Error(`TAG_MAP must wrap a map, got major type ${s>>5}`);let{value:l,bytesRead:u}=re(t,n,i,c);return{value:l,bytesRead:o+u}}let{value:c,bytesRead:l}=X(t,n,r+o);return{value:ae(s,c),bytesRead:o+l}}function ae(t,n){switch(t){case e.W:{let e=n;return Number.isNaN(e)?new Date(NaN):new Date(e*1e3)}case e.Z:{let e=n,t=0n;for(let n of e)t=t<<8n|BigInt(n);return t}case e.X:{let e=n,t=0n;for(let n of e)t=t<<8n|BigInt(n);return-1n-t}case e.nt:return new Set(n);case e.et:{let[e,t]=n;if(typeof e!=`string`||typeof t!=`string`||!/^[gimsuy]*$/.test(t))return V.SERIALIZATION_ERROR;try{return new RegExp(e,t)}catch{return V.SERIALIZATION_ERROR}}case e.H:return V.CIRCULAR;case e.J:return V.MAX_DEPTH;case e.rt:return V.TRUNCATED;case e.Q:return V.PROMISE;case e.it:return V.UNKNOWN;case e.tt:return V.SERIALIZATION_ERROR;case e.$:return V.REDACTED;case e.V:return BigInt(n);case e.G:{let e=n;return new K(e.name,e.message,e.stack,e.cause)}case e.K:return new H(n);case e.U:return new U(n);case e.Y:{let e=n;return new W(e.name,e.properties)}default:return new G(t,n)}}function oe(t,n,r,i){switch(i){case e.L:return{value:!1,bytesRead:1};case e.z:return{value:!0,bytesRead:1};case e.R:return{value:null,bytesRead:1};case e.B:return{value:void 0,bytesRead:1};case e.D:if(r+3>t.length)throw new B(r+3-t.length,1);return{value:se(n.getUint16(r+1)),bytesRead:3};case e.O:if(r+5>t.length)throw new B(r+5-t.length,1);return{value:n.getFloat32(r+1),bytesRead:5};case e.k:if(r+9>t.length)throw new B(r+9-t.length,1);return{value:n.getFloat64(r+1),bytesRead:9};case 31:throw Error(`Unexpected break code`);default:if(i<24)return{value:i,bytesRead:1};if(i===24){if(r+2>t.length)throw new B(1,1);return{value:t[r+1],bytesRead:2}}throw Error(`Invalid simple value: ${i}`)}}function se(e){let t=e>>15&1,n=e>>10&31,r=e&1023;return n===0?(t?-1:1)*2**-14*(r/1024):n===31?r===0?t?-1/0:1/0:NaN:(t?-1:1)*2**(n-15)*(1+r/1024)}async function*ce(e){let t=e.getReader(),n;try{for(;;){let{done:e,value:r}=await t.read();if(e){if(n&&n.length>0){let{values:e}=Y(n);for(let t of e)yield t}return}if(n&&n.length>0){let e=new Uint8Array(n.length+r.length);e.set(n),e.set(r,n.length),n=e}else n=r;let{values:i,bytesRead:a}=Y(n);for(let e of i)yield e;n=a<n.length?n.slice(a):void 0}}finally{t.releaseLock()}}exports.BIG_INT=e.f,exports.CIRCULAR_REFERENCE=e.p,exports.CapturedClass=U,exports.CapturedError=K,exports.CapturedFunction=H,exports.CapturedMarker=V,exports.CapturedNamedObject=W,exports.CapturedUnknown=G,exports.EventSink=t,exports.FUNCTION=e.m,exports.MAX_DEPTH_REACHED=e.h,exports.NEGATIVE_INFINITY=e.g,exports.NOT_A_NUMBER=e._,exports.POSITIVE_INFINITY=e.v,exports.PROMISE=e.y,exports.REDACTED=e.b,exports.SERIALIZATION_ERROR=e.x,exports.SerializedMarker=e.S,exports.TOO_LARGE=e.C,exports.UNDEFINED=e.w,exports.UNKNOWN=e.T,exports.applyDiff=R,exports.applyDiffs=z,exports.decode=J,exports.decodeStream=ce,exports.encode=e.d,exports.getDiffs=e.t,exports.getGlobalClient=e.n,exports.getGlobalClientOptions=e.r,exports.getGlobalLoggers=e.i,exports.getGlobalSinks=e.a,exports.getGlobalState=e.o,exports.getPageId=e.s,exports.isSerializedArray=b,exports.isSerializedClassConstructor=E,exports.isSerializedDate=O,exports.isSerializedError=x,exports.isSerializedFunction=T,exports.isSerializedMap=S,exports.isSerializedMarker=g,exports.isSerializedNamedObject=D,exports.isSerializedPlainObject=y,exports.isSerializedPrimitive=_,exports.isSerializedRegex=w,exports.isSerializedSet=C,exports.randomId=e.u,exports.serializeClass=r,exports.serializeDate=i,exports.serializeError=o,exports.serializeFunction=s,exports.serializeMap=c,exports.serializeNamedObject=l,exports.serializeRegex=u,exports.serializeSet=d,exports.serializeValue=h,exports.setGlobalClient=e.c,exports.setGlobalClientOptions=e.l;
1
+ const e=require(`./register-event-sink-hLxybAve.cjs`);var t=class{log(e,t,n){throw Error(`Method not implemented.`)}};function n(e){try{return/^class\s/.test(e.toString())}catch{return!1}}function r(e){return{__CAPTURE_TYPE__:`classConstructor`,name:e.name||`(anonymous)`}}function i(e){let t=e.getTime();return{__CAPTURE_TYPE__:`date`,value:Number.isNaN(t)?null:t}}function a(e){let t={name:e.name,message:e.message};return e.stack&&(t.stack=e.stack),e.cause instanceof Error?t.cause=a(e.cause):e.cause!==void 0&&(t.cause=null),t}function o(e){return{__CAPTURE_TYPE__:`error`,error:a(e)}}function s(e){return{__CAPTURE_TYPE__:`function`,name:e.name||`(anonymous)`}}function c(e,t){let n=[];for(let[r,i]of e)n.push([t(r),t(i)]);return{__CAPTURE_TYPE__:`map`,entries:n}}function l(e,t){let n=e.constructor?.name;typeof n!=`string`&&(n=`Object`);let r={};for(let n of Object.keys(e))try{r[n]=t(e[n])}catch{r[n]=`[Throws]`}return{__CAPTURE_TYPE__:`object`,name:n,properties:r}}function u(e){return{__CAPTURE_TYPE__:`regex`,pattern:e.toString()}}function d(e,t){let n=[];for(let r of e)n.push(t(r));return{__CAPTURE_TYPE__:`set`,values:n}}const f=Object.prototype.hasOwnProperty;function p(e){return`[Throws: `+(e instanceof Error?e.message:`?`)+`]`}function m(e,t){if(f.call(e,t))try{return e[t]}catch(e){return p(e)}return e[t]}function h(t,a={}){let f=[],h=a.maxStringLength??1e5,g=a.maxSize??5e5,_=a.maxDepth??20,v=0;function y(t,b){try{if(b>_)return e.C;if(v>g)return e.j;if(typeof t==`number`){if(isNaN(t))return e.T;if(t===1/0)return e.E;if(t===-1/0)return e.w}if(t===null||typeof t==`boolean`||typeof t==`number`||typeof t==`string`){let n=JSON.stringify(t).length;return v+=n,v>g?e.j:typeof t==`string`&&n>h?t.substring(0,h)+` [Output truncated due to length]`:t}else if(t===void 0)return e.M;else if(typeof t==`bigint`)return t<=2**53-1&&t>=-(2**53-1)?Number(t):e.b;if(typeof t==`symbol`)return t.toString();if(typeof t==`function`)return n(t)?r(t):s(t);if(t instanceof Date)return i(t);if(t instanceof Error)return o(t);if(t instanceof RegExp)return u(t);if(t instanceof Promise)return e.D;if(f.indexOf(t)!==-1)return e.x;if(f.push(t),t instanceof Map){let e=c(t,e=>y(e,b+1));return f.pop(),e}if(t instanceof Set){let e=d(t,e=>y(e,b+1));return f.pop(),e}if(Array.isArray(t)){let e=t.map(e=>y(e,b+1));return f.pop(),e}if(typeof t==`object`){if(`toJSON`in t&&typeof t.toJSON==`function`)try{let e=y(t.toJSON(),b+1);return f.pop(),e}catch(e){return p(e)}if(Object.getPrototypeOf(t)!==Object.prototype){let e=l(t,e=>y(e,b+1));return f.pop(),e}let e={};for(let n of Object.keys(t))e[n]=y(m(t,n),b+1);return f.pop(),e}return e.N}catch(t){try{a.onError?.(t)}catch{}return e.k}}return y(t,0)}const g=t=>typeof t==`string`&&Object.values(e.A).includes(t),_=e=>typeof e==`string`&&!g(e)||typeof e==`number`||typeof e==`boolean`||e===null,v=(e,t)=>typeof t==`object`&&!!t&&`__CAPTURE_TYPE__`in t&&t.__CAPTURE_TYPE__===e,y=e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&!(`__CAPTURE_TYPE__`in e),b=e=>Array.isArray(e),x=e=>v(`error`,e),S=e=>v(`map`,e),C=e=>v(`set`,e),w=e=>v(`regex`,e),T=e=>v(`function`,e),E=e=>v(`classConstructor`,e),ee=e=>v(`object`,e),D=e=>v(`date`,e);function O(e){let t=0,n=e.length,r;for(;t<n;){if(r=e.charCodeAt(t),r>=48&&r<=57){t++;continue}return!1}return n>0}function k(e,t,n){return{...e,[t]:n}}function A(e,t){let{...n}=e;return delete n[t],n}function j(e,t,n){if(O(t)){let r=~~t;return[...e.slice(0,r),n,...e.slice(r)]}else return Object.assign([],e,{[t]:n})}function M(e,t){if(O(t)){let n=~~t;return[...e.slice(0,n),...e.slice(n+1)]}let n=Object.assign([],e);return delete n[t],n}function N(e,t,n){let r=O(t)?~~t:t;return Object.assign([],e,{[r]:n})}const P={add:function(e,t,n,r){return e?A(t,n):k(t,n,r.value)},remove:function(e,t,n,r){return e?k(t,n,r.value):A(t,n)},replace:function(e,t,n,r){return e?k(t,n,r.from):k(t,n,r.to)}},F={add:function(e,t,n,r){return e?M(t,n):j(t,n,r.value)},remove:function(e,t,n,r){return e?j(t,n,r.value):M(t,n)},replace:function(e,t,n,r){return e?N(t,n,r.from):N(t,n,r.to)}};function I(e,t,n,r){let[i,...a]=n;if(i===void 0)return t.op===`add`?r?void 0:t.value:t.op===`replace`?r?t.from:t.to:r?t.value:void 0;if(typeof e!=`object`||!e)return e;if(i===`__proto__`||i===`constructor`&&a[0]===`prototype`)throw TypeError("Modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function.");let o=Array.isArray(e);if(a.length===0)return o?F[t.op](r,e,i,t):P[t.op](r,e,i,t);let s=e[i];if(typeof s!=`object`||!s)return e;if(s=I(s,t,a,r),o){let t=[...e];return t[i]=s,t}return{...e,[i]:s}}function L(e,t,n=!1){return I(e,t,t.path,n)}function R(e,t,n=!1){let r=e;for(let e of t)r=L(r,e,n);return r}var z=class extends Set{limit;constructor(e){super(),this.limit=e}add(e){if(this.size>=this.limit){let e=this.values().next().value;e!==void 0&&this.delete(e)}return super.add(e)}},B=class extends Error{constructor(e,t){super(`Incomplete CBOR data: need ${e} more bytes`),this.bytesNeeded=e,this.bytesRead=t,this.name=`IncompleteError`}};const V={CIRCULAR:Symbol(`circular`),MAX_DEPTH:Symbol(`max_depth`),TRUNCATED:Symbol(`truncated`),REDACTED:Symbol(`redacted`),PROMISE:Symbol(`promise`),UNKNOWN:Symbol(`unknown`),SERIALIZATION_ERROR:Symbol(`serialization_error`)};var H=class{constructor(e){this.name=e}},U=class{constructor(e){this.name=e}},W=class{constructor(e,t){this.name=e,this.properties=t}},G=class{constructor(e,t){this.tag=e,this.value=t}},K=class{constructor(e,t,n,r){this.name=e,this.message=t,this.stack=n,this.cause=r}};const q=new TextDecoder;function J(e,t=0){return X(e,new DataView(e.buffer,e.byteOffset,e.byteLength),t).value}function Y(e,t=0){let n=[],r=new DataView(e.buffer,e.byteOffset,e.byteLength),i=t;for(;i<e.length;)try{let{value:t,bytesRead:a}=X(e,r,i);n.push(t),i+=a}catch(e){if(e instanceof B)break;throw e}return{values:n,bytesRead:i-t}}function X(t,n,r){if(r>=t.length)throw new B(1,0);let i=t[r],a=i&224,o=i&31;switch(a){case e.W:return Q(t,n,r,o);case e.B:return te(t,n,r,o);case e.U:return ne(t,n,r,o);case e.R:return re(t,n,r,o);case e.z:return ie(t,n,r,o);case e.H:return oe(t,n,r,o);case e.V:return se(t,n,r,o);default:throw Error(`Unknown major type: ${a>>5}`)}}function Z(e,t,n,r){if(r<24)return{value:r,bytesRead:1};switch(r){case 24:if(n+2>e.length)throw new B(n+2-e.length,1);return{value:e[n+1],bytesRead:2};case 25:if(n+3>e.length)throw new B(n+3-e.length,1);return{value:t.getUint16(n+1),bytesRead:3};case 26:if(n+5>e.length)throw new B(n+5-e.length,1);return{value:t.getUint32(n+1),bytesRead:5};case 27:if(n+9>e.length)throw new B(n+9-e.length,1);return{value:t.getBigUint64(n+1),bytesRead:9};case 31:return{value:-1,bytesRead:1};default:throw Error(`Invalid additional info: ${r}`)}}function Q(e,t,n,r){let{value:i,bytesRead:a}=Z(e,t,n,r);return typeof i==`bigint`&&i<=BigInt(2**53-1)?{value:Number(i),bytesRead:a}:{value:i,bytesRead:a}}function te(e,t,n,r){let{value:i,bytesRead:a}=Z(e,t,n,r);if(typeof i==`bigint`){let e=-1n-i;return e>=BigInt(-(2**53-1))?{value:Number(e),bytesRead:a}:{value:e,bytesRead:a}}return{value:-1-i,bytesRead:a}}function ne(e,t,n,r){let{value:i,bytesRead:a}=Z(e,t,n,r);if(typeof i==`bigint`||i<0)throw Error(`Indefinite text strings not supported`);let o=n+a+i;if(o>e.length)throw new B(o-e.length,a);return{value:q.decode(e.subarray(n+a,o)),bytesRead:a+i}}function re(t,n,r,i){let{value:a,bytesRead:o}=Z(t,n,r,i),s=[],c=r+o;if(a===-1){for(;c<t.length;){if(t[c]===e.P)return{value:s,bytesRead:c-r+1};let{value:i,bytesRead:a}=X(t,n,c);s.push(i),c+=a}throw new B(1,c-r)}let l=typeof a==`bigint`?Number(a):a;for(let e=0;e<l;e++){let{value:e,bytesRead:r}=X(t,n,c);s.push(e),c+=r}return{value:s,bytesRead:c-r}}function ie(t,n,r,i){let{value:a,bytesRead:o}=Z(t,n,r,i),s={},c=r+o;if(a===-1){for(;c<t.length;){if(t[c]===e.P)return{value:s,bytesRead:c-r+1};let{value:i,bytesRead:a}=X(t,n,c);c+=a;let{value:o,bytesRead:l}=X(t,n,c);c+=l,s[String(i)]=o}throw new B(1,c-r)}let l=typeof a==`bigint`?Number(a):a;for(let e=0;e<l;e++){let{value:e,bytesRead:r}=X(t,n,c);c+=r;let{value:i,bytesRead:a}=X(t,n,c);c+=a,s[String(e)]=i}return{value:s,bytesRead:c-r}}function ae(t,n,r,i){let{value:a,bytesRead:o}=Z(t,n,r,i),s=new Map,c=r+o;if(a===-1){for(;c<t.length;){if(t[c]===e.P)return{value:s,bytesRead:c-r+1};let{value:i,bytesRead:a}=X(t,n,c);c+=a;let{value:o,bytesRead:l}=X(t,n,c);c+=l,s.set(i,o)}throw new B(1,c-r)}let l=typeof a==`bigint`?Number(a):a;for(let e=0;e<l;e++){let{value:e,bytesRead:r}=X(t,n,c);c+=r;let{value:i,bytesRead:a}=X(t,n,c);c+=a,s.set(e,i)}return{value:s,bytesRead:c-r}}function oe(t,n,r,i){let{value:a,bytesRead:o}=Z(t,n,r,i),s=typeof a==`bigint`?Number(a):a;if(s===e.tt){let i=r+o;if(i>=t.length)throw new B(1,o);let a=t[i],s=a&224,c=a&31;if(s!==e.z)throw Error(`TAG_MAP must wrap a map, got major type ${s>>5}`);let{value:l,bytesRead:u}=ae(t,n,i,c);return{value:l,bytesRead:o+u}}let{value:c,bytesRead:l}=X(t,n,r+o);return{value:$(s,c),bytesRead:o+l}}function $(t,n){switch(t){case e.Q:{let e=n;return Number.isNaN(e)?new Date(NaN):new Date(e*1e3)}case e.at:{let e=n,t=0n;for(let n of e)t=t<<8n|BigInt(n);return t}case e.it:{let e=n,t=0n;for(let n of e)t=t<<8n|BigInt(n);return-1n-t}case e.ut:return new Set(n);case e.ct:{let[e,t]=n;if(typeof e!=`string`||typeof t!=`string`||!/^[gimsuy]*$/.test(t))return V.SERIALIZATION_ERROR;try{return new RegExp(e,t)}catch{return V.SERIALIZATION_ERROR}}case e.X:return V.CIRCULAR;case e.nt:return V.MAX_DEPTH;case e.dt:return V.TRUNCATED;case e.ot:return V.PROMISE;case e.ft:return V.UNKNOWN;case e.lt:return V.SERIALIZATION_ERROR;case e.st:return V.REDACTED;case e.Y:return BigInt(n);case e.$:{let e=n;return new K(e.name,e.message,e.stack,e.cause)}case e.et:return new H(n);case e.Z:return new U(n);case e.rt:{let e=n;return new W(e.name,e.properties)}default:return new G(t,n)}}function se(t,n,r,i){switch(i){case e.G:return{value:!1,bytesRead:1};case e.q:return{value:!0,bytesRead:1};case e.K:return{value:null,bytesRead:1};case e.J:return{value:void 0,bytesRead:1};case e.F:if(r+3>t.length)throw new B(r+3-t.length,1);return{value:ce(n.getUint16(r+1)),bytesRead:3};case e.I:if(r+5>t.length)throw new B(r+5-t.length,1);return{value:n.getFloat32(r+1),bytesRead:5};case e.L:if(r+9>t.length)throw new B(r+9-t.length,1);return{value:n.getFloat64(r+1),bytesRead:9};case 31:throw Error(`Unexpected break code`);default:if(i<24)return{value:i,bytesRead:1};if(i===24){if(r+2>t.length)throw new B(1,1);return{value:t[r+1],bytesRead:2}}throw Error(`Invalid simple value: ${i}`)}}function ce(e){let t=e>>15&1,n=e>>10&31,r=e&1023;return n===0?(t?-1:1)*2**-14*(r/1024):n===31?r===0?t?-1/0:1/0:NaN:(t?-1:1)*2**(n-15)*(1+r/1024)}async function*le(e){let t=e.getReader(),n;try{for(;;){let{done:e,value:r}=await t.read();if(e){if(n&&n.length>0){let{values:e}=Y(n);for(let t of e)yield t}return}if(n&&n.length>0){let e=new Uint8Array(n.length+r.length);e.set(n),e.set(r,n.length),n=e}else n=r;let{values:i,bytesRead:a}=Y(n);for(let e of i)yield e;n=a<n.length?n.slice(a):void 0}}finally{t.releaseLock()}}exports.ACTIVITY_LOGGER_IDENTIFIER=e.s,exports.BIG_INT=e.b,exports.CIRCULAR_REFERENCE=e.x,exports.CapturedClass=U,exports.CapturedError=K,exports.CapturedFunction=H,exports.CapturedMarker=V,exports.CapturedNamedObject=W,exports.CapturedUnknown=G,exports.DEBUG_LOGGER_IDENTIFIER=e.c,exports.EventSink=t,exports.FUNCTION=e.S,exports.MAX_DEPTH_REACHED=e.C,exports.NEGATIVE_INFINITY=e.w,exports.NOT_A_NUMBER=e.T,exports.POSITIVE_INFINITY=e.E,exports.PROMISE=e.D,exports.REDACTED=e.O,exports.SERIALIZATION_ERROR=e.k,exports.SerializedMarker=e.A,exports.SetWithLimit=z,exports.TOO_LARGE=e.j,exports.UNDEFINED=e.M,exports.UNKNOWN=e.N,exports.applyDiff=L,exports.applyDiffs=R,exports.debugLogger=e.l,exports.decode=J,exports.decodeStream=le,exports.encode=e.y,exports.getDiffs=e.a,exports.getGlobalClient=e.u,exports.getGlobalClientOptions=e.d,exports.getGlobalLoggers=e.f,exports.getGlobalPlugins=e.p,exports.getGlobalSinks=e.m,exports.getGlobalState=e.h,exports.getPageId=e.g,exports.isSerializedArray=b,exports.isSerializedClassConstructor=E,exports.isSerializedDate=D,exports.isSerializedError=x,exports.isSerializedFunction=T,exports.isSerializedMap=S,exports.isSerializedMarker=g,exports.isSerializedNamedObject=ee,exports.isSerializedPlainObject=y,exports.isSerializedPrimitive=_,exports.isSerializedRegex=w,exports.isSerializedSet=C,exports.randomId=e.v,exports.registerEventLogger=e.n,exports.registerEventSink=e.t,exports.registerStateLogger=e.r,exports.serializeClass=r,exports.serializeDate=i,exports.serializeError=o,exports.serializeFunction=s,exports.serializeMap=c,exports.serializeNamedObject=l,exports.serializeRegex=u,exports.serializeSet=d,exports.serializeValue=h,exports.setGlobalClient=e._;
@@ -1,4 +1,4 @@
1
- import { D as LegacyPrivacyPresetOptions, E as Identity, T as CustomContextObject, _ as CaptureClientOptions, a as StateSnapshotEvent, c as DiffType, f as EventLogger, g as EventSinkLogOpts, h as EventSink, i as StatePatchEvent, l as RemoveOperation, m as EventLoggerType, o as AddOperation, r as StateLoggerMeta, s as DiffOperation, t as StateEvent, u as ReplaceOperation } from "./state-logger-BnJgC19d.cjs";
1
+ import { A as LegacyPrivacyPresetOptions, O as CustomContextObject, _ as EventSinkLogOpts, b as CaptureClientOptions, c as StateSnapshotEvent, d as DiffType, f as RemoveOperation, g as EventSink, h as EventLogger, i as StateEvent, k as Identity, l as AddOperation, n as registerEventLogger, o as StateLoggerMeta, p as ReplaceOperation, r as registerEventSink, s as StatePatchEvent, t as registerStateLogger, u as DiffOperation, y as EventLoggerType } from "./register-state-logger-CBuIJie8.cjs";
2
2
 
3
3
  //#region src/client-types-internal.d.ts
4
4
  interface CaptureClientInterface {
@@ -7,27 +7,49 @@ interface CaptureClientInterface {
7
7
  unsetCustomContext: (key: string) => void;
8
8
  }
9
9
  //#endregion
10
- //#region src/global-state.d.ts
10
+ //#region src/logger/logger.constants.d.ts
11
+ declare const DEBUG_LOGGER_IDENTIFIER = "debug";
12
+ declare const ACTIVITY_LOGGER_IDENTIFIER = "activity";
13
+ //#endregion
14
+ //#region src/plugins/plugin.types.d.ts
15
+ interface CapturePlugin {
16
+ identifier: string;
17
+ onRegister: (opts: PluginRegisterPayload) => void;
18
+ onDispose: () => void;
19
+ }
20
+ interface PluginRegisterPayload {
21
+ clientOptions: CaptureClientOptions;
22
+ }
23
+ //#endregion
24
+ //#region src/global-state/global-state.d.ts
11
25
  type LoggerMap = Map<string, EventLogger>;
12
26
  type SinkSet = Set<EventSink>;
27
+ type PluginMap = Map<string, CapturePlugin>;
28
+ type DebugLogLevel = "debug" | "info" | "warn" | "error" | "critical" | "silent";
29
+ type DebugLogFn = (level: DebugLogLevel, message: string, meta?: unknown) => void;
13
30
  interface CaptureGlobalState {
14
31
  loggers?: LoggerMap;
15
32
  sinks?: SinkSet;
33
+ plugins?: PluginMap;
16
34
  identity?: Identity | null;
17
35
  customContext?: CustomContextObject;
18
36
  npmPackageVersion?: string;
19
37
  isLoggingPaused?: boolean;
20
38
  console?: Partial<Console>;
21
39
  pageId?: string;
40
+ log?: DebugLogFn;
41
+ clientOptions?: CaptureClientOptions;
42
+ logLevel: DebugLogLevel;
22
43
  }
23
44
  declare const getGlobalClient: <Client extends CaptureClientInterface = CaptureClientInterface>() => Client | undefined;
24
45
  declare const setGlobalClient: (client: CaptureClientInterface) => void;
25
46
  declare const getGlobalClientOptions: () => CaptureClientOptions | undefined;
26
- declare const setGlobalClientOptions: (options: CaptureClientOptions) => void;
27
47
  declare const getGlobalState: () => CaptureGlobalState;
28
48
  declare const getGlobalLoggers: () => LoggerMap;
29
49
  declare const getGlobalSinks: () => SinkSet;
50
+ declare const getGlobalPlugins: () => PluginMap;
30
51
  declare const getPageId: () => string;
52
+ declare const debugLogger: (level: DebugLogLevel, message: string, meta?: unknown) => void;
31
53
  //#endregion
32
54
  //#region src/serialize/serialized-markers.d.ts
33
55
  declare const REDACTED = "$REDACTED$";
@@ -166,6 +188,28 @@ declare function applyDiffs<T = unknown>(document: T, operations: DiffOperation[
166
188
  //#region src/utils/random-id.d.ts
167
189
  declare function randomId(length?: number): string;
168
190
  //#endregion
191
+ //#region src/utils/set-with-limit.d.ts
192
+ declare class SetWithLimit<T> extends Set<T> {
193
+ private limit;
194
+ constructor(limit: number);
195
+ add(value: T): this;
196
+ }
197
+ //#endregion
198
+ //#region src/utils/deep-partial.d.ts
199
+ /**
200
+ Create a type from an object with all keys and nested keys set to optional.
201
+ The helper supports normal objects and Zod schemas (which are resolved automatically).
202
+ It always recurses into arrays.
203
+
204
+ Adopted from [type-fest](https://github.com/sindresorhus/type-fest/tree/main) PartialDeep.
205
+ */
206
+ type DeepPartial<T> = T extends null | undefined | string | number | boolean | symbol | bigint | void | Date | RegExp | ((...arguments_: any[]) => unknown) | (new (...arguments_: any[]) => unknown) ? T : T extends Map<infer KeyType, infer ValueType> ? PartialMap<KeyType, ValueType> : T extends Set<infer ItemType> ? PartialSet<ItemType> : T extends ReadonlyMap<infer KeyType, infer ValueType> ? PartialReadonlyMap<KeyType, ValueType> : T extends ReadonlySet<infer ItemType> ? PartialReadonlySet<ItemType> : T extends object ? T extends ReadonlyArray<infer ItemType> ? ItemType[] extends T ? readonly ItemType[] extends T ? ReadonlyArray<DeepPartial<ItemType | undefined>> : Array<DeepPartial<ItemType | undefined>> : PartialObject<T> : PartialObject<T> : unknown;
207
+ type PartialMap<KeyType, ValueType> = {} & Map<DeepPartial<KeyType>, DeepPartial<ValueType>>;
208
+ type PartialSet<T> = {} & Set<DeepPartial<T>>;
209
+ type PartialReadonlyMap<KeyType, ValueType> = {} & ReadonlyMap<DeepPartial<KeyType>, DeepPartial<ValueType>>;
210
+ type PartialReadonlySet<T> = {} & ReadonlySet<DeepPartial<T>>;
211
+ type PartialObject<ObjectType extends object> = { [KeyType in keyof ObjectType]?: DeepPartial<ObjectType[KeyType]> };
212
+ //#endregion
169
213
  //#region src/decode/decode.d.ts
170
214
  declare const CapturedMarker: {
171
215
  CIRCULAR: symbol;
@@ -226,4 +270,4 @@ interface EncodeOptions {
226
270
  //#region src/encode/encode.d.ts
227
271
  declare function encode(value: unknown, opts?: EncodeOptions): Uint8Array;
228
272
  //#endregion
229
- export { AddOperation, BIG_INT, CIRCULAR_REFERENCE, CaptureClientInterface, CaptureGlobalState, CapturedClass, CapturedError, CapturedFunction, CapturedMarker, CapturedNamedObject, CapturedUnknown, type DecodedValue, DiffOperation, DiffType, type EventLoggerType, EventSink, EventSinkLogOpts, FUNCTION, LegacyPrivacyPresetOptions, MAX_DEPTH_REACHED, NEGATIVE_INFINITY, NOT_A_NUMBER, POSITIVE_INFINITY, PROMISE, REDACTED, RemoveOperation, ReplaceOperation, SERIALIZATION_ERROR, SerializedArray, SerializedClassConstructor, SerializedDate, SerializedError, SerializedErrorObject, SerializedFunction, SerializedMap, SerializedMarker, SerializedMarkerValue, SerializedNamedObject, SerializedPlainObject, SerializedPrimitive, SerializedRegex, SerializedSet, SerializedValue, type StateEvent, type StateLoggerMeta, type StatePatchEvent, type StateSnapshotEvent, TOO_LARGE, UNDEFINED, UNKNOWN, applyDiff, applyDiffs, decode, decodeStream, encode, getDiffs, getGlobalClient, getGlobalClientOptions, getGlobalLoggers, getGlobalSinks, getGlobalState, getPageId, isSerializedArray, isSerializedClassConstructor, isSerializedDate, isSerializedError, isSerializedFunction, isSerializedMap, isSerializedMarker, isSerializedNamedObject, isSerializedPlainObject, isSerializedPrimitive, isSerializedRegex, isSerializedSet, randomId, serializeClass, serializeDate, serializeError, serializeFunction, serializeMap, serializeNamedObject, serializeRegex, serializeSet, serializeValue, setGlobalClient, setGlobalClientOptions };
273
+ export { ACTIVITY_LOGGER_IDENTIFIER, AddOperation, BIG_INT, CIRCULAR_REFERENCE, CaptureClientInterface, CaptureGlobalState, CapturedClass, CapturedError, CapturedFunction, CapturedMarker, CapturedNamedObject, CapturedUnknown, DEBUG_LOGGER_IDENTIFIER, DebugLogFn, DebugLogLevel, type DecodedValue, type DeepPartial, DiffOperation, DiffType, type EventLoggerType, EventSink, EventSinkLogOpts, FUNCTION, LegacyPrivacyPresetOptions, MAX_DEPTH_REACHED, NEGATIVE_INFINITY, NOT_A_NUMBER, POSITIVE_INFINITY, PROMISE, REDACTED, RemoveOperation, ReplaceOperation, SERIALIZATION_ERROR, SerializedArray, SerializedClassConstructor, SerializedDate, SerializedError, SerializedErrorObject, SerializedFunction, SerializedMap, SerializedMarker, SerializedMarkerValue, SerializedNamedObject, SerializedPlainObject, SerializedPrimitive, SerializedRegex, SerializedSet, SerializedValue, SetWithLimit, type StateEvent, type StateLoggerMeta, type StatePatchEvent, type StateSnapshotEvent, TOO_LARGE, UNDEFINED, UNKNOWN, applyDiff, applyDiffs, debugLogger, decode, decodeStream, encode, getDiffs, getGlobalClient, getGlobalClientOptions, getGlobalLoggers, getGlobalPlugins, getGlobalSinks, getGlobalState, getPageId, isSerializedArray, isSerializedClassConstructor, isSerializedDate, isSerializedError, isSerializedFunction, isSerializedMap, isSerializedMarker, isSerializedNamedObject, isSerializedPlainObject, isSerializedPrimitive, isSerializedRegex, isSerializedSet, randomId, registerEventLogger, registerEventSink, registerStateLogger, serializeClass, serializeDate, serializeError, serializeFunction, serializeMap, serializeNamedObject, serializeRegex, serializeSet, serializeValue, setGlobalClient };
@@ -1,4 +1,4 @@
1
- import { D as LegacyPrivacyPresetOptions, E as Identity, T as CustomContextObject, _ as CaptureClientOptions, a as StateSnapshotEvent, c as DiffType, f as EventLogger, g as EventSinkLogOpts, h as EventSink, i as StatePatchEvent, l as RemoveOperation, m as EventLoggerType, o as AddOperation, r as StateLoggerMeta, s as DiffOperation, t as StateEvent, u as ReplaceOperation } from "./state-logger-BC-toJMz.mjs";
1
+ import { A as LegacyPrivacyPresetOptions, O as CustomContextObject, _ as EventSinkLogOpts, b as CaptureClientOptions, c as StateSnapshotEvent, d as DiffType, f as RemoveOperation, g as EventSink, h as EventLogger, i as StateEvent, k as Identity, l as AddOperation, n as registerEventLogger, o as StateLoggerMeta, p as ReplaceOperation, r as registerEventSink, s as StatePatchEvent, t as registerStateLogger, u as DiffOperation, y as EventLoggerType } from "./register-state-logger-BGjgK9-O.mjs";
2
2
 
3
3
  //#region src/client-types-internal.d.ts
4
4
  interface CaptureClientInterface {
@@ -7,27 +7,49 @@ interface CaptureClientInterface {
7
7
  unsetCustomContext: (key: string) => void;
8
8
  }
9
9
  //#endregion
10
- //#region src/global-state.d.ts
10
+ //#region src/logger/logger.constants.d.ts
11
+ declare const DEBUG_LOGGER_IDENTIFIER = "debug";
12
+ declare const ACTIVITY_LOGGER_IDENTIFIER = "activity";
13
+ //#endregion
14
+ //#region src/plugins/plugin.types.d.ts
15
+ interface CapturePlugin {
16
+ identifier: string;
17
+ onRegister: (opts: PluginRegisterPayload) => void;
18
+ onDispose: () => void;
19
+ }
20
+ interface PluginRegisterPayload {
21
+ clientOptions: CaptureClientOptions;
22
+ }
23
+ //#endregion
24
+ //#region src/global-state/global-state.d.ts
11
25
  type LoggerMap = Map<string, EventLogger>;
12
26
  type SinkSet = Set<EventSink>;
27
+ type PluginMap = Map<string, CapturePlugin>;
28
+ type DebugLogLevel = "debug" | "info" | "warn" | "error" | "critical" | "silent";
29
+ type DebugLogFn = (level: DebugLogLevel, message: string, meta?: unknown) => void;
13
30
  interface CaptureGlobalState {
14
31
  loggers?: LoggerMap;
15
32
  sinks?: SinkSet;
33
+ plugins?: PluginMap;
16
34
  identity?: Identity | null;
17
35
  customContext?: CustomContextObject;
18
36
  npmPackageVersion?: string;
19
37
  isLoggingPaused?: boolean;
20
38
  console?: Partial<Console>;
21
39
  pageId?: string;
40
+ log?: DebugLogFn;
41
+ clientOptions?: CaptureClientOptions;
42
+ logLevel: DebugLogLevel;
22
43
  }
23
44
  declare const getGlobalClient: <Client extends CaptureClientInterface = CaptureClientInterface>() => Client | undefined;
24
45
  declare const setGlobalClient: (client: CaptureClientInterface) => void;
25
46
  declare const getGlobalClientOptions: () => CaptureClientOptions | undefined;
26
- declare const setGlobalClientOptions: (options: CaptureClientOptions) => void;
27
47
  declare const getGlobalState: () => CaptureGlobalState;
28
48
  declare const getGlobalLoggers: () => LoggerMap;
29
49
  declare const getGlobalSinks: () => SinkSet;
50
+ declare const getGlobalPlugins: () => PluginMap;
30
51
  declare const getPageId: () => string;
52
+ declare const debugLogger: (level: DebugLogLevel, message: string, meta?: unknown) => void;
31
53
  //#endregion
32
54
  //#region src/serialize/serialized-markers.d.ts
33
55
  declare const REDACTED = "$REDACTED$";
@@ -166,6 +188,28 @@ declare function applyDiffs<T = unknown>(document: T, operations: DiffOperation[
166
188
  //#region src/utils/random-id.d.ts
167
189
  declare function randomId(length?: number): string;
168
190
  //#endregion
191
+ //#region src/utils/set-with-limit.d.ts
192
+ declare class SetWithLimit<T> extends Set<T> {
193
+ private limit;
194
+ constructor(limit: number);
195
+ add(value: T): this;
196
+ }
197
+ //#endregion
198
+ //#region src/utils/deep-partial.d.ts
199
+ /**
200
+ Create a type from an object with all keys and nested keys set to optional.
201
+ The helper supports normal objects and Zod schemas (which are resolved automatically).
202
+ It always recurses into arrays.
203
+
204
+ Adopted from [type-fest](https://github.com/sindresorhus/type-fest/tree/main) PartialDeep.
205
+ */
206
+ type DeepPartial<T> = T extends null | undefined | string | number | boolean | symbol | bigint | void | Date | RegExp | ((...arguments_: any[]) => unknown) | (new (...arguments_: any[]) => unknown) ? T : T extends Map<infer KeyType, infer ValueType> ? PartialMap<KeyType, ValueType> : T extends Set<infer ItemType> ? PartialSet<ItemType> : T extends ReadonlyMap<infer KeyType, infer ValueType> ? PartialReadonlyMap<KeyType, ValueType> : T extends ReadonlySet<infer ItemType> ? PartialReadonlySet<ItemType> : T extends object ? T extends ReadonlyArray<infer ItemType> ? ItemType[] extends T ? readonly ItemType[] extends T ? ReadonlyArray<DeepPartial<ItemType | undefined>> : Array<DeepPartial<ItemType | undefined>> : PartialObject<T> : PartialObject<T> : unknown;
207
+ type PartialMap<KeyType, ValueType> = {} & Map<DeepPartial<KeyType>, DeepPartial<ValueType>>;
208
+ type PartialSet<T> = {} & Set<DeepPartial<T>>;
209
+ type PartialReadonlyMap<KeyType, ValueType> = {} & ReadonlyMap<DeepPartial<KeyType>, DeepPartial<ValueType>>;
210
+ type PartialReadonlySet<T> = {} & ReadonlySet<DeepPartial<T>>;
211
+ type PartialObject<ObjectType extends object> = { [KeyType in keyof ObjectType]?: DeepPartial<ObjectType[KeyType]> };
212
+ //#endregion
169
213
  //#region src/decode/decode.d.ts
170
214
  declare const CapturedMarker: {
171
215
  CIRCULAR: symbol;
@@ -226,4 +270,4 @@ interface EncodeOptions {
226
270
  //#region src/encode/encode.d.ts
227
271
  declare function encode(value: unknown, opts?: EncodeOptions): Uint8Array;
228
272
  //#endregion
229
- export { AddOperation, BIG_INT, CIRCULAR_REFERENCE, CaptureClientInterface, CaptureGlobalState, CapturedClass, CapturedError, CapturedFunction, CapturedMarker, CapturedNamedObject, CapturedUnknown, type DecodedValue, DiffOperation, DiffType, type EventLoggerType, EventSink, EventSinkLogOpts, FUNCTION, LegacyPrivacyPresetOptions, MAX_DEPTH_REACHED, NEGATIVE_INFINITY, NOT_A_NUMBER, POSITIVE_INFINITY, PROMISE, REDACTED, RemoveOperation, ReplaceOperation, SERIALIZATION_ERROR, SerializedArray, SerializedClassConstructor, SerializedDate, SerializedError, SerializedErrorObject, SerializedFunction, SerializedMap, SerializedMarker, SerializedMarkerValue, SerializedNamedObject, SerializedPlainObject, SerializedPrimitive, SerializedRegex, SerializedSet, SerializedValue, type StateEvent, type StateLoggerMeta, type StatePatchEvent, type StateSnapshotEvent, TOO_LARGE, UNDEFINED, UNKNOWN, applyDiff, applyDiffs, decode, decodeStream, encode, getDiffs, getGlobalClient, getGlobalClientOptions, getGlobalLoggers, getGlobalSinks, getGlobalState, getPageId, isSerializedArray, isSerializedClassConstructor, isSerializedDate, isSerializedError, isSerializedFunction, isSerializedMap, isSerializedMarker, isSerializedNamedObject, isSerializedPlainObject, isSerializedPrimitive, isSerializedRegex, isSerializedSet, randomId, serializeClass, serializeDate, serializeError, serializeFunction, serializeMap, serializeNamedObject, serializeRegex, serializeSet, serializeValue, setGlobalClient, setGlobalClientOptions };
273
+ export { ACTIVITY_LOGGER_IDENTIFIER, AddOperation, BIG_INT, CIRCULAR_REFERENCE, CaptureClientInterface, CaptureGlobalState, CapturedClass, CapturedError, CapturedFunction, CapturedMarker, CapturedNamedObject, CapturedUnknown, DEBUG_LOGGER_IDENTIFIER, DebugLogFn, DebugLogLevel, type DecodedValue, type DeepPartial, DiffOperation, DiffType, type EventLoggerType, EventSink, EventSinkLogOpts, FUNCTION, LegacyPrivacyPresetOptions, MAX_DEPTH_REACHED, NEGATIVE_INFINITY, NOT_A_NUMBER, POSITIVE_INFINITY, PROMISE, REDACTED, RemoveOperation, ReplaceOperation, SERIALIZATION_ERROR, SerializedArray, SerializedClassConstructor, SerializedDate, SerializedError, SerializedErrorObject, SerializedFunction, SerializedMap, SerializedMarker, SerializedMarkerValue, SerializedNamedObject, SerializedPlainObject, SerializedPrimitive, SerializedRegex, SerializedSet, SerializedValue, SetWithLimit, type StateEvent, type StateLoggerMeta, type StatePatchEvent, type StateSnapshotEvent, TOO_LARGE, UNDEFINED, UNKNOWN, applyDiff, applyDiffs, debugLogger, decode, decodeStream, encode, getDiffs, getGlobalClient, getGlobalClientOptions, getGlobalLoggers, getGlobalPlugins, getGlobalSinks, getGlobalState, getPageId, isSerializedArray, isSerializedClassConstructor, isSerializedDate, isSerializedError, isSerializedFunction, isSerializedMap, isSerializedMarker, isSerializedNamedObject, isSerializedPlainObject, isSerializedPrimitive, isSerializedRegex, isSerializedSet, randomId, registerEventLogger, registerEventSink, registerStateLogger, serializeClass, serializeDate, serializeError, serializeFunction, serializeMap, serializeNamedObject, serializeRegex, serializeSet, serializeValue, setGlobalClient };
package/dist/internal.mjs CHANGED
@@ -1 +1 @@
1
- import{$ as e,A as t,B as n,C as r,D as i,E as a,F as o,G as s,H as c,I as l,J as ee,K as te,L as ne,M as re,N as ie,O as ae,P as oe,Q as se,R as ce,S as u,T as d,U as le,V as ue,W as de,X as fe,Y as pe,Z as me,_ as f,a as p,b as he,c as ge,d as m,et as _e,f as h,g,h as _,i as v,it as ve,j as y,k as ye,l as be,m as xe,n as Se,nt as Ce,o as we,p as b,q as Te,r as Ee,rt as De,s as Oe,t as ke,tt as Ae,u as je,v as x,w as S,x as C,y as w,z as Me}from"./get-diffs-vKHGUmC_.mjs";var Ne=class{constructor(){setTimeout(()=>{p().add(this),v().forEach(e=>{e.registerSink(this)})},0)}log(e,t,n){throw Error(`Method not implemented.`)}logInternalError=({loggerType:e,loggerMeta:t,error:n})=>{if(n instanceof Error)try{let r=Date.now(),i=m({time:r,type:`internal-error`,loggerType:e,loggerMeta:t,error:n});this.log({loggerType:`events`,loggerMeta:{identifier:`__internal__`},timestamp:r,event:i})}catch(e){console.error(e)}}};function Pe(e){try{return/^class\s/.test(e.toString())}catch{return!1}}function T(e){return{__CAPTURE_TYPE__:`classConstructor`,name:e.name||`(anonymous)`}}function E(e){let t=e.getTime();return{__CAPTURE_TYPE__:`date`,value:Number.isNaN(t)?null:t}}function D(e){let t={name:e.name,message:e.message};return e.stack&&(t.stack=e.stack),e.cause instanceof Error?t.cause=D(e.cause):e.cause!==void 0&&(t.cause=null),t}function O(e){return{__CAPTURE_TYPE__:`error`,error:D(e)}}function k(e){return{__CAPTURE_TYPE__:`function`,name:e.name||`(anonymous)`}}function A(e,t){let n=[];for(let[r,i]of e)n.push([t(r),t(i)]);return{__CAPTURE_TYPE__:`map`,entries:n}}function j(e,t){let n=e.constructor?.name;typeof n!=`string`&&(n=`Object`);let r={};for(let n of Object.keys(e))try{r[n]=t(e[n])}catch{r[n]=`[Throws]`}return{__CAPTURE_TYPE__:`object`,name:n,properties:r}}function M(e){return{__CAPTURE_TYPE__:`regex`,pattern:e.toString()}}function N(e,t){let n=[];for(let r of e)n.push(t(r));return{__CAPTURE_TYPE__:`set`,values:n}}const Fe=Object.prototype.hasOwnProperty;function Ie(e){return`[Throws: `+(e instanceof Error?e.message:`?`)+`]`}function Le(e,t){if(Fe.call(e,t))try{return e[t]}catch(e){return Ie(e)}return e[t]}function Re(e,t={}){let n=[],i=t.maxStringLength??1e5,a=t.maxSize??5e5,o=t.maxDepth??20,s=0;function c(e,l){try{if(l>o)return _;if(s>a)return r;if(typeof e==`number`){if(isNaN(e))return f;if(e===1/0)return x;if(e===-1/0)return g}if(e===null||typeof e==`boolean`||typeof e==`number`||typeof e==`string`){let t=JSON.stringify(e).length;return s+=t,s>a?r:typeof e==`string`&&t>i?e.substring(0,i)+` [Output truncated due to length]`:e}else if(e===void 0)return S;else if(typeof e==`bigint`)return e<=2**53-1&&e>=-(2**53-1)?Number(e):h;if(typeof e==`symbol`)return e.toString();if(typeof e==`function`)return Pe(e)?T(e):k(e);if(e instanceof Date)return E(e);if(e instanceof Error)return O(e);if(e instanceof RegExp)return M(e);if(e instanceof Promise)return w;if(n.indexOf(e)!==-1)return b;if(n.push(e),e instanceof Map){let t=A(e,e=>c(e,l+1));return n.pop(),t}if(e instanceof Set){let t=N(e,e=>c(e,l+1));return n.pop(),t}if(Array.isArray(e)){let t=e.map(e=>c(e,l+1));return n.pop(),t}if(typeof e==`object`){if(`toJSON`in e&&typeof e.toJSON==`function`)try{let t=c(e.toJSON(),l+1);return n.pop(),t}catch(e){return Ie(e)}if(Object.getPrototypeOf(e)!==Object.prototype){let t=j(e,e=>c(e,l+1));return n.pop(),t}let t={};for(let n of Object.keys(e))t[n]=c(Le(e,n),l+1);return n.pop(),t}return d}catch(e){try{t.onError?.(e)}catch{}return C}}return c(e,0)}const P=e=>typeof e==`string`&&Object.values(u).includes(e),ze=e=>typeof e==`string`&&!P(e)||typeof e==`number`||typeof e==`boolean`||e===null,F=(e,t)=>typeof t==`object`&&!!t&&`__CAPTURE_TYPE__`in t&&t.__CAPTURE_TYPE__===e,Be=e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&!(`__CAPTURE_TYPE__`in e),Ve=e=>Array.isArray(e),He=e=>F(`error`,e),Ue=e=>F(`map`,e),We=e=>F(`set`,e),Ge=e=>F(`regex`,e),Ke=e=>F(`function`,e),qe=e=>F(`classConstructor`,e),Je=e=>F(`object`,e),Ye=e=>F(`date`,e);function I(e){let t=0,n=e.length,r;for(;t<n;){if(r=e.charCodeAt(t),r>=48&&r<=57){t++;continue}return!1}return n>0}function L(e,t,n){return{...e,[t]:n}}function R(e,t){let{...n}=e;return delete n[t],n}function z(e,t,n){if(I(t)){let r=~~t;return[...e.slice(0,r),n,...e.slice(r)]}else return Object.assign([],e,{[t]:n})}function B(e,t){if(I(t)){let n=~~t;return[...e.slice(0,n),...e.slice(n+1)]}let n=Object.assign([],e);return delete n[t],n}function V(e,t,n){let r=I(t)?~~t:t;return Object.assign([],e,{[r]:n})}const Xe={add:function(e,t,n,r){return e?R(t,n):L(t,n,r.value)},remove:function(e,t,n,r){return e?L(t,n,r.value):R(t,n)},replace:function(e,t,n,r){return e?L(t,n,r.from):L(t,n,r.to)}},Ze={add:function(e,t,n,r){return e?B(t,n):z(t,n,r.value)},remove:function(e,t,n,r){return e?z(t,n,r.value):B(t,n)},replace:function(e,t,n,r){return e?V(t,n,r.from):V(t,n,r.to)}};function H(e,t,n,r){let[i,...a]=n;if(i===void 0)return t.op===`add`?r?void 0:t.value:t.op===`replace`?r?t.from:t.to:r?t.value:void 0;if(typeof e!=`object`||!e)return e;if(i===`__proto__`||i===`constructor`&&a[0]===`prototype`)throw TypeError("Modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function.");let o=Array.isArray(e);if(a.length===0)return o?Ze[t.op](r,e,i,t):Xe[t.op](r,e,i,t);let s=e[i];if(typeof s!=`object`||!s)return e;if(s=H(s,t,a,r),o){let t=[...e];return t[i]=s,t}return{...e,[i]:s}}function U(e,t,n=!1){return H(e,t,t.path,n)}function Qe(e,t,n=!1){let r=e;for(let e of t)r=U(r,e,n);return r}var W=class extends Error{constructor(e,t){super(`Incomplete CBOR data: need ${e} more bytes`),this.bytesNeeded=e,this.bytesRead=t,this.name=`IncompleteError`}};const G={CIRCULAR:Symbol(`circular`),MAX_DEPTH:Symbol(`max_depth`),TRUNCATED:Symbol(`truncated`),REDACTED:Symbol(`redacted`),PROMISE:Symbol(`promise`),UNKNOWN:Symbol(`unknown`),SERIALIZATION_ERROR:Symbol(`serialization_error`)};var K=class{constructor(e){this.name=e}},q=class{constructor(e){this.name=e}},J=class{constructor(e,t){this.name=e,this.properties=t}},Y=class{constructor(e,t){this.tag=e,this.value=t}},X=class{constructor(e,t,n,r){this.name=e,this.message=t,this.stack=n,this.cause=r}};const $e=new TextDecoder;function et(e,t=0){return Q(e,new DataView(e.buffer,e.byteOffset,e.byteLength),t).value}function Z(e,t=0){let n=[],r=new DataView(e.buffer,e.byteOffset,e.byteLength),i=t;for(;i<e.length;)try{let{value:t,bytesRead:a}=Q(e,r,i);n.push(t),i+=a}catch(e){if(e instanceof W)break;throw e}return{values:n,bytesRead:i-t}}function Q(e,n,r){if(r>=e.length)throw new W(1,0);let i=e[r],a=i&224,s=i&31;switch(a){case l:return tt(e,n,r,s);case re:return nt(e,n,r,s);case o:return rt(e,n,r,s);case t:return it(e,n,r,s);case y:return at(e,n,r,s);case oe:return st(e,n,r,s);case ie:return lt(e,n,r,s);default:throw Error(`Unknown major type: ${a>>5}`)}}function $(e,t,n,r){if(r<24)return{value:r,bytesRead:1};switch(r){case 24:if(n+2>e.length)throw new W(n+2-e.length,1);return{value:e[n+1],bytesRead:2};case 25:if(n+3>e.length)throw new W(n+3-e.length,1);return{value:t.getUint16(n+1),bytesRead:3};case 26:if(n+5>e.length)throw new W(n+5-e.length,1);return{value:t.getUint32(n+1),bytesRead:5};case 27:if(n+9>e.length)throw new W(n+9-e.length,1);return{value:t.getBigUint64(n+1),bytesRead:9};case 31:return{value:-1,bytesRead:1};default:throw Error(`Invalid additional info: ${r}`)}}function tt(e,t,n,r){let{value:i,bytesRead:a}=$(e,t,n,r);return typeof i==`bigint`&&i<=BigInt(2**53-1)?{value:Number(i),bytesRead:a}:{value:i,bytesRead:a}}function nt(e,t,n,r){let{value:i,bytesRead:a}=$(e,t,n,r);if(typeof i==`bigint`){let e=-1n-i;return e>=BigInt(-(2**53-1))?{value:Number(e),bytesRead:a}:{value:e,bytesRead:a}}return{value:-1-i,bytesRead:a}}function rt(e,t,n,r){let{value:i,bytesRead:a}=$(e,t,n,r);if(typeof i==`bigint`||i<0)throw Error(`Indefinite text strings not supported`);let o=n+a+i;if(o>e.length)throw new W(o-e.length,a);return{value:$e.decode(e.subarray(n+a,o)),bytesRead:a+i}}function it(e,t,n,r){let{value:i,bytesRead:o}=$(e,t,n,r),s=[],c=n+o;if(i===-1){for(;c<e.length;){if(e[c]===a)return{value:s,bytesRead:c-n+1};let{value:r,bytesRead:i}=Q(e,t,c);s.push(r),c+=i}throw new W(1,c-n)}let l=typeof i==`bigint`?Number(i):i;for(let n=0;n<l;n++){let{value:n,bytesRead:r}=Q(e,t,c);s.push(n),c+=r}return{value:s,bytesRead:c-n}}function at(e,t,n,r){let{value:i,bytesRead:o}=$(e,t,n,r),s={},c=n+o;if(i===-1){for(;c<e.length;){if(e[c]===a)return{value:s,bytesRead:c-n+1};let{value:r,bytesRead:i}=Q(e,t,c);c+=i;let{value:o,bytesRead:l}=Q(e,t,c);c+=l,s[String(r)]=o}throw new W(1,c-n)}let l=typeof i==`bigint`?Number(i):i;for(let n=0;n<l;n++){let{value:n,bytesRead:r}=Q(e,t,c);c+=r;let{value:i,bytesRead:a}=Q(e,t,c);c+=a,s[String(n)]=i}return{value:s,bytesRead:c-n}}function ot(e,t,n,r){let{value:i,bytesRead:o}=$(e,t,n,r),s=new Map,c=n+o;if(i===-1){for(;c<e.length;){if(e[c]===a)return{value:s,bytesRead:c-n+1};let{value:r,bytesRead:i}=Q(e,t,c);c+=i;let{value:o,bytesRead:l}=Q(e,t,c);c+=l,s.set(r,o)}throw new W(1,c-n)}let l=typeof i==`bigint`?Number(i):i;for(let n=0;n<l;n++){let{value:n,bytesRead:r}=Q(e,t,c);c+=r;let{value:i,bytesRead:a}=Q(e,t,c);c+=a,s.set(n,i)}return{value:s,bytesRead:c-n}}function st(e,t,n,r){let{value:i,bytesRead:a}=$(e,t,n,r),o=typeof i==`bigint`?Number(i):i;if(o===Te){let r=n+a;if(r>=e.length)throw new W(1,a);let i=e[r],o=i&224,s=i&31;if(o!==y)throw Error(`TAG_MAP must wrap a map, got major type ${o>>5}`);let{value:c,bytesRead:l}=ot(e,t,r,s);return{value:c,bytesRead:a+l}}let{value:s,bytesRead:c}=Q(e,t,n+a);return{value:ct(o,s),bytesRead:a+c}}function ct(t,n){switch(t){case de:{let e=n;return Number.isNaN(e)?new Date(NaN):new Date(e*1e3)}case me:{let e=n,t=0n;for(let n of e)t=t<<8n|BigInt(n);return t}case fe:{let e=n,t=0n;for(let n of e)t=t<<8n|BigInt(n);return-1n-t}case Ce:return new Set(n);case _e:{let[e,t]=n;if(typeof e!=`string`||typeof t!=`string`||!/^[gimsuy]*$/.test(t))return G.SERIALIZATION_ERROR;try{return new RegExp(e,t)}catch{return G.SERIALIZATION_ERROR}}case c:return G.CIRCULAR;case ee:return G.MAX_DEPTH;case De:return G.TRUNCATED;case se:return G.PROMISE;case ve:return G.UNKNOWN;case Ae:return G.SERIALIZATION_ERROR;case e:return G.REDACTED;case ue:return BigInt(n);case s:{let e=n;return new X(e.name,e.message,e.stack,e.cause)}case te:return new K(n);case le:return new q(n);case pe:{let e=n;return new J(e.name,e.properties)}default:return new Y(t,n)}}function lt(e,t,r,a){switch(a){case ne:return{value:!1,bytesRead:1};case Me:return{value:!0,bytesRead:1};case ce:return{value:null,bytesRead:1};case n:return{value:void 0,bytesRead:1};case i:if(r+3>e.length)throw new W(r+3-e.length,1);return{value:ut(t.getUint16(r+1)),bytesRead:3};case ae:if(r+5>e.length)throw new W(r+5-e.length,1);return{value:t.getFloat32(r+1),bytesRead:5};case ye:if(r+9>e.length)throw new W(r+9-e.length,1);return{value:t.getFloat64(r+1),bytesRead:9};case 31:throw Error(`Unexpected break code`);default:if(a<24)return{value:a,bytesRead:1};if(a===24){if(r+2>e.length)throw new W(1,1);return{value:e[r+1],bytesRead:2}}throw Error(`Invalid simple value: ${a}`)}}function ut(e){let t=e>>15&1,n=e>>10&31,r=e&1023;return n===0?(t?-1:1)*2**-14*(r/1024):n===31?r===0?t?-1/0:1/0:NaN:(t?-1:1)*2**(n-15)*(1+r/1024)}async function*dt(e){let t=e.getReader(),n;try{for(;;){let{done:e,value:r}=await t.read();if(e){if(n&&n.length>0){let{values:e}=Z(n);for(let t of e)yield t}return}if(n&&n.length>0){let e=new Uint8Array(n.length+r.length);e.set(n),e.set(r,n.length),n=e}else n=r;let{values:i,bytesRead:a}=Z(n);for(let e of i)yield e;n=a<n.length?n.slice(a):void 0}}finally{t.releaseLock()}}export{h as BIG_INT,b as CIRCULAR_REFERENCE,q as CapturedClass,X as CapturedError,K as CapturedFunction,G as CapturedMarker,J as CapturedNamedObject,Y as CapturedUnknown,Ne as EventSink,xe as FUNCTION,_ as MAX_DEPTH_REACHED,g as NEGATIVE_INFINITY,f as NOT_A_NUMBER,x as POSITIVE_INFINITY,w as PROMISE,he as REDACTED,C as SERIALIZATION_ERROR,u as SerializedMarker,r as TOO_LARGE,S as UNDEFINED,d as UNKNOWN,U as applyDiff,Qe as applyDiffs,et as decode,dt as decodeStream,m as encode,ke as getDiffs,Se as getGlobalClient,Ee as getGlobalClientOptions,v as getGlobalLoggers,p as getGlobalSinks,we as getGlobalState,Oe as getPageId,Ve as isSerializedArray,qe as isSerializedClassConstructor,Ye as isSerializedDate,He as isSerializedError,Ke as isSerializedFunction,Ue as isSerializedMap,P as isSerializedMarker,Je as isSerializedNamedObject,Be as isSerializedPlainObject,ze as isSerializedPrimitive,Ge as isSerializedRegex,We as isSerializedSet,je as randomId,T as serializeClass,E as serializeDate,O as serializeError,k as serializeFunction,A as serializeMap,j as serializeNamedObject,M as serializeRegex,N as serializeSet,Re as serializeValue,ge as setGlobalClient,be as setGlobalClientOptions};
1
+ import{$ as e,A as t,B as n,C as r,D as i,E as a,F as o,G as s,H as c,I as l,J as u,K as d,L as ee,M as f,N as p,O as te,P as m,Q as ne,R as re,S as ie,T as h,U as ae,V as oe,W as se,X as ce,Y as le,Z as ue,_ as de,a as fe,at as pe,b as g,c as me,ct as he,d as ge,dt as _e,et as ve,f as ye,ft as be,g as xe,h as Se,it as Ce,j as _,k as v,l as we,lt as Te,m as Ee,n as De,nt as Oe,ot as ke,p as Ae,q as je,r as Me,rt as Ne,s as Pe,st as y,t as Fe,tt as Ie,u as Le,ut as Re,v as ze,w as b,x,y as Be,z as S}from"./register-event-sink-g05_80Xi.mjs";var Ve=class{log(e,t,n){throw Error(`Method not implemented.`)}};function He(e){try{return/^class\s/.test(e.toString())}catch{return!1}}function C(e){return{__CAPTURE_TYPE__:`classConstructor`,name:e.name||`(anonymous)`}}function w(e){let t=e.getTime();return{__CAPTURE_TYPE__:`date`,value:Number.isNaN(t)?null:t}}function T(e){let t={name:e.name,message:e.message};return e.stack&&(t.stack=e.stack),e.cause instanceof Error?t.cause=T(e.cause):e.cause!==void 0&&(t.cause=null),t}function E(e){return{__CAPTURE_TYPE__:`error`,error:T(e)}}function D(e){return{__CAPTURE_TYPE__:`function`,name:e.name||`(anonymous)`}}function O(e,t){let n=[];for(let[r,i]of e)n.push([t(r),t(i)]);return{__CAPTURE_TYPE__:`map`,entries:n}}function k(e,t){let n=e.constructor?.name;typeof n!=`string`&&(n=`Object`);let r={};for(let n of Object.keys(e))try{r[n]=t(e[n])}catch{r[n]=`[Throws]`}return{__CAPTURE_TYPE__:`object`,name:n,properties:r}}function A(e){return{__CAPTURE_TYPE__:`regex`,pattern:e.toString()}}function j(e,t){let n=[];for(let r of e)n.push(t(r));return{__CAPTURE_TYPE__:`set`,values:n}}const Ue=Object.prototype.hasOwnProperty;function M(e){return`[Throws: `+(e instanceof Error?e.message:`?`)+`]`}function We(e,t){if(Ue.call(e,t))try{return e[t]}catch(e){return M(e)}return e[t]}function Ge(e,t={}){let n=[],o=t.maxStringLength??1e5,s=t.maxSize??5e5,c=t.maxDepth??20,l=0;function u(e,d){try{if(d>c)return r;if(l>s)return _;if(typeof e==`number`){if(isNaN(e))return h;if(e===1/0)return a;if(e===-1/0)return b}if(e===null||typeof e==`boolean`||typeof e==`number`||typeof e==`string`){let t=JSON.stringify(e).length;return l+=t,l>s?_:typeof e==`string`&&t>o?e.substring(0,o)+` [Output truncated due to length]`:e}else if(e===void 0)return f;else if(typeof e==`bigint`)return e<=2**53-1&&e>=-(2**53-1)?Number(e):g;if(typeof e==`symbol`)return e.toString();if(typeof e==`function`)return He(e)?C(e):D(e);if(e instanceof Date)return w(e);if(e instanceof Error)return E(e);if(e instanceof RegExp)return A(e);if(e instanceof Promise)return i;if(n.indexOf(e)!==-1)return x;if(n.push(e),e instanceof Map){let t=O(e,e=>u(e,d+1));return n.pop(),t}if(e instanceof Set){let t=j(e,e=>u(e,d+1));return n.pop(),t}if(Array.isArray(e)){let t=e.map(e=>u(e,d+1));return n.pop(),t}if(typeof e==`object`){if(`toJSON`in e&&typeof e.toJSON==`function`)try{let t=u(e.toJSON(),d+1);return n.pop(),t}catch(e){return M(e)}if(Object.getPrototypeOf(e)!==Object.prototype){let t=k(e,e=>u(e,d+1));return n.pop(),t}let t={};for(let n of Object.keys(e))t[n]=u(We(e,n),d+1);return n.pop(),t}return p}catch(e){try{t.onError?.(e)}catch{}return v}}return u(e,0)}const N=e=>typeof e==`string`&&Object.values(t).includes(e),Ke=e=>typeof e==`string`&&!N(e)||typeof e==`number`||typeof e==`boolean`||e===null,P=(e,t)=>typeof t==`object`&&!!t&&`__CAPTURE_TYPE__`in t&&t.__CAPTURE_TYPE__===e,qe=e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&!(`__CAPTURE_TYPE__`in e),Je=e=>Array.isArray(e),Ye=e=>P(`error`,e),Xe=e=>P(`map`,e),Ze=e=>P(`set`,e),Qe=e=>P(`regex`,e),$e=e=>P(`function`,e),et=e=>P(`classConstructor`,e),tt=e=>P(`object`,e),nt=e=>P(`date`,e);function F(e){let t=0,n=e.length,r;for(;t<n;){if(r=e.charCodeAt(t),r>=48&&r<=57){t++;continue}return!1}return n>0}function I(e,t,n){return{...e,[t]:n}}function L(e,t){let{...n}=e;return delete n[t],n}function R(e,t,n){if(F(t)){let r=~~t;return[...e.slice(0,r),n,...e.slice(r)]}else return Object.assign([],e,{[t]:n})}function z(e,t){if(F(t)){let n=~~t;return[...e.slice(0,n),...e.slice(n+1)]}let n=Object.assign([],e);return delete n[t],n}function B(e,t,n){let r=F(t)?~~t:t;return Object.assign([],e,{[r]:n})}const rt={add:function(e,t,n,r){return e?L(t,n):I(t,n,r.value)},remove:function(e,t,n,r){return e?I(t,n,r.value):L(t,n)},replace:function(e,t,n,r){return e?I(t,n,r.from):I(t,n,r.to)}},it={add:function(e,t,n,r){return e?z(t,n):R(t,n,r.value)},remove:function(e,t,n,r){return e?R(t,n,r.value):z(t,n)},replace:function(e,t,n,r){return e?B(t,n,r.from):B(t,n,r.to)}};function V(e,t,n,r){let[i,...a]=n;if(i===void 0)return t.op===`add`?r?void 0:t.value:t.op===`replace`?r?t.from:t.to:r?t.value:void 0;if(typeof e!=`object`||!e)return e;if(i===`__proto__`||i===`constructor`&&a[0]===`prototype`)throw TypeError("Modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function.");let o=Array.isArray(e);if(a.length===0)return o?it[t.op](r,e,i,t):rt[t.op](r,e,i,t);let s=e[i];if(typeof s!=`object`||!s)return e;if(s=V(s,t,a,r),o){let t=[...e];return t[i]=s,t}return{...e,[i]:s}}function H(e,t,n=!1){return V(e,t,t.path,n)}function at(e,t,n=!1){let r=e;for(let e of t)r=H(r,e,n);return r}var ot=class extends Set{limit;constructor(e){super(),this.limit=e}add(e){if(this.size>=this.limit){let e=this.values().next().value;e!==void 0&&this.delete(e)}return super.add(e)}},U=class extends Error{constructor(e,t){super(`Incomplete CBOR data: need ${e} more bytes`),this.bytesNeeded=e,this.bytesRead=t,this.name=`IncompleteError`}};const W={CIRCULAR:Symbol(`circular`),MAX_DEPTH:Symbol(`max_depth`),TRUNCATED:Symbol(`truncated`),REDACTED:Symbol(`redacted`),PROMISE:Symbol(`promise`),UNKNOWN:Symbol(`unknown`),SERIALIZATION_ERROR:Symbol(`serialization_error`)};var G=class{constructor(e){this.name=e}},K=class{constructor(e){this.name=e}},q=class{constructor(e,t){this.name=e,this.properties=t}},J=class{constructor(e,t){this.tag=e,this.value=t}},Y=class{constructor(e,t,n,r){this.name=e,this.message=t,this.stack=n,this.cause=r}};const st=new TextDecoder;function ct(e,t=0){return Z(e,new DataView(e.buffer,e.byteOffset,e.byteLength),t).value}function X(e,t=0){let n=[],r=new DataView(e.buffer,e.byteOffset,e.byteLength),i=t;for(;i<e.length;)try{let{value:t,bytesRead:a}=Z(e,r,i);n.push(t),i+=a}catch(e){if(e instanceof U)break;throw e}return{values:n,bytesRead:i-t}}function Z(e,t,r){if(r>=e.length)throw new U(1,0);let i=e[r],a=i&224,o=i&31;switch(a){case se:return lt(e,t,r,o);case n:return ut(e,t,r,o);case ae:return dt(e,t,r,o);case re:return ft(e,t,r,o);case S:return $(e,t,r,o);case c:return mt(e,t,r,o);case oe:return gt(e,t,r,o);default:throw Error(`Unknown major type: ${a>>5}`)}}function Q(e,t,n,r){if(r<24)return{value:r,bytesRead:1};switch(r){case 24:if(n+2>e.length)throw new U(n+2-e.length,1);return{value:e[n+1],bytesRead:2};case 25:if(n+3>e.length)throw new U(n+3-e.length,1);return{value:t.getUint16(n+1),bytesRead:3};case 26:if(n+5>e.length)throw new U(n+5-e.length,1);return{value:t.getUint32(n+1),bytesRead:5};case 27:if(n+9>e.length)throw new U(n+9-e.length,1);return{value:t.getBigUint64(n+1),bytesRead:9};case 31:return{value:-1,bytesRead:1};default:throw Error(`Invalid additional info: ${r}`)}}function lt(e,t,n,r){let{value:i,bytesRead:a}=Q(e,t,n,r);return typeof i==`bigint`&&i<=BigInt(2**53-1)?{value:Number(i),bytesRead:a}:{value:i,bytesRead:a}}function ut(e,t,n,r){let{value:i,bytesRead:a}=Q(e,t,n,r);if(typeof i==`bigint`){let e=-1n-i;return e>=BigInt(-(2**53-1))?{value:Number(e),bytesRead:a}:{value:e,bytesRead:a}}return{value:-1-i,bytesRead:a}}function dt(e,t,n,r){let{value:i,bytesRead:a}=Q(e,t,n,r);if(typeof i==`bigint`||i<0)throw Error(`Indefinite text strings not supported`);let o=n+a+i;if(o>e.length)throw new U(o-e.length,a);return{value:st.decode(e.subarray(n+a,o)),bytesRead:a+i}}function ft(e,t,n,r){let{value:i,bytesRead:a}=Q(e,t,n,r),o=[],s=n+a;if(i===-1){for(;s<e.length;){if(e[s]===m)return{value:o,bytesRead:s-n+1};let{value:r,bytesRead:i}=Z(e,t,s);o.push(r),s+=i}throw new U(1,s-n)}let c=typeof i==`bigint`?Number(i):i;for(let n=0;n<c;n++){let{value:n,bytesRead:r}=Z(e,t,s);o.push(n),s+=r}return{value:o,bytesRead:s-n}}function $(e,t,n,r){let{value:i,bytesRead:a}=Q(e,t,n,r),o={},s=n+a;if(i===-1){for(;s<e.length;){if(e[s]===m)return{value:o,bytesRead:s-n+1};let{value:r,bytesRead:i}=Z(e,t,s);s+=i;let{value:a,bytesRead:c}=Z(e,t,s);s+=c,o[String(r)]=a}throw new U(1,s-n)}let c=typeof i==`bigint`?Number(i):i;for(let n=0;n<c;n++){let{value:n,bytesRead:r}=Z(e,t,s);s+=r;let{value:i,bytesRead:a}=Z(e,t,s);s+=a,o[String(n)]=i}return{value:o,bytesRead:s-n}}function pt(e,t,n,r){let{value:i,bytesRead:a}=Q(e,t,n,r),o=new Map,s=n+a;if(i===-1){for(;s<e.length;){if(e[s]===m)return{value:o,bytesRead:s-n+1};let{value:r,bytesRead:i}=Z(e,t,s);s+=i;let{value:a,bytesRead:c}=Z(e,t,s);s+=c,o.set(r,a)}throw new U(1,s-n)}let c=typeof i==`bigint`?Number(i):i;for(let n=0;n<c;n++){let{value:n,bytesRead:r}=Z(e,t,s);s+=r;let{value:i,bytesRead:a}=Z(e,t,s);s+=a,o.set(n,i)}return{value:o,bytesRead:s-n}}function mt(e,t,n,r){let{value:i,bytesRead:a}=Q(e,t,n,r),o=typeof i==`bigint`?Number(i):i;if(o===Ie){let r=n+a;if(r>=e.length)throw new U(1,a);let i=e[r],o=i&224,s=i&31;if(o!==S)throw Error(`TAG_MAP must wrap a map, got major type ${o>>5}`);let{value:c,bytesRead:l}=pt(e,t,r,s);return{value:c,bytesRead:a+l}}let{value:s,bytesRead:c}=Z(e,t,n+a);return{value:ht(o,s),bytesRead:a+c}}function ht(t,n){switch(t){case ne:{let e=n;return Number.isNaN(e)?new Date(NaN):new Date(e*1e3)}case pe:{let e=n,t=0n;for(let n of e)t=t<<8n|BigInt(n);return t}case Ce:{let e=n,t=0n;for(let n of e)t=t<<8n|BigInt(n);return-1n-t}case Re:return new Set(n);case he:{let[e,t]=n;if(typeof e!=`string`||typeof t!=`string`||!/^[gimsuy]*$/.test(t))return W.SERIALIZATION_ERROR;try{return new RegExp(e,t)}catch{return W.SERIALIZATION_ERROR}}case ce:return W.CIRCULAR;case Oe:return W.MAX_DEPTH;case _e:return W.TRUNCATED;case ke:return W.PROMISE;case be:return W.UNKNOWN;case Te:return W.SERIALIZATION_ERROR;case y:return W.REDACTED;case le:return BigInt(n);case e:{let e=n;return new Y(e.name,e.message,e.stack,e.cause)}case ve:return new G(n);case ue:return new K(n);case Ne:{let e=n;return new q(e.name,e.properties)}default:return new J(t,n)}}function gt(e,t,n,r){switch(r){case s:return{value:!1,bytesRead:1};case je:return{value:!0,bytesRead:1};case d:return{value:null,bytesRead:1};case u:return{value:void 0,bytesRead:1};case o:if(n+3>e.length)throw new U(n+3-e.length,1);return{value:_t(t.getUint16(n+1)),bytesRead:3};case l:if(n+5>e.length)throw new U(n+5-e.length,1);return{value:t.getFloat32(n+1),bytesRead:5};case ee:if(n+9>e.length)throw new U(n+9-e.length,1);return{value:t.getFloat64(n+1),bytesRead:9};case 31:throw Error(`Unexpected break code`);default:if(r<24)return{value:r,bytesRead:1};if(r===24){if(n+2>e.length)throw new U(1,1);return{value:e[n+1],bytesRead:2}}throw Error(`Invalid simple value: ${r}`)}}function _t(e){let t=e>>15&1,n=e>>10&31,r=e&1023;return n===0?(t?-1:1)*2**-14*(r/1024):n===31?r===0?t?-1/0:1/0:NaN:(t?-1:1)*2**(n-15)*(1+r/1024)}async function*vt(e){let t=e.getReader(),n;try{for(;;){let{done:e,value:r}=await t.read();if(e){if(n&&n.length>0){let{values:e}=X(n);for(let t of e)yield t}return}if(n&&n.length>0){let e=new Uint8Array(n.length+r.length);e.set(n),e.set(r,n.length),n=e}else n=r;let{values:i,bytesRead:a}=X(n);for(let e of i)yield e;n=a<n.length?n.slice(a):void 0}}finally{t.releaseLock()}}export{Pe as ACTIVITY_LOGGER_IDENTIFIER,g as BIG_INT,x as CIRCULAR_REFERENCE,K as CapturedClass,Y as CapturedError,G as CapturedFunction,W as CapturedMarker,q as CapturedNamedObject,J as CapturedUnknown,me as DEBUG_LOGGER_IDENTIFIER,Ve as EventSink,ie as FUNCTION,r as MAX_DEPTH_REACHED,b as NEGATIVE_INFINITY,h as NOT_A_NUMBER,a as POSITIVE_INFINITY,i as PROMISE,te as REDACTED,v as SERIALIZATION_ERROR,t as SerializedMarker,ot as SetWithLimit,_ as TOO_LARGE,f as UNDEFINED,p as UNKNOWN,H as applyDiff,at as applyDiffs,we as debugLogger,ct as decode,vt as decodeStream,Be as encode,fe as getDiffs,Le as getGlobalClient,ge as getGlobalClientOptions,ye as getGlobalLoggers,Ae as getGlobalPlugins,Ee as getGlobalSinks,Se as getGlobalState,xe as getPageId,Je as isSerializedArray,et as isSerializedClassConstructor,nt as isSerializedDate,Ye as isSerializedError,$e as isSerializedFunction,Xe as isSerializedMap,N as isSerializedMarker,tt as isSerializedNamedObject,qe as isSerializedPlainObject,Ke as isSerializedPrimitive,Qe as isSerializedRegex,Ze as isSerializedSet,ze as randomId,De as registerEventLogger,Fe as registerEventSink,Me as registerStateLogger,C as serializeClass,w as serializeDate,E as serializeError,D as serializeFunction,O as serializeMap,k as serializeNamedObject,A as serializeRegex,j as serializeSet,Ge as serializeValue,de as setGlobalClient};
@@ -0,0 +1 @@
1
+ const e=0,t=32,n=96,r=128,i=160,a=192,o=224,s=20,c=21,l=22,u=23,ee=25,te=26,ne=27,re=255,ie=1,ae=2,oe=3,se=258,d=21066,f=27001,p=27002,m=27003,h=27004,ce=27005,le=27006,g=27007,_=27008,v=27010,y=27011,b=27012,x=27013,S=27014;var ue=class{chunks=[];current;offset=0;totalSize=0;constructor(){this.current=new Uint8Array(4096)}ensureCapacity(e){if(this.offset+e<=this.current.length)return;this.offset>0&&this.chunks.push(this.current.subarray(0,this.offset));let t=Math.min(Math.max(this.current.length*2,e),65536);this.current=new Uint8Array(Math.max(t,e)),this.offset=0}writeByte(e){this.ensureCapacity(1),this.current[this.offset++]=e,this.totalSize++}writeBytes(e){this.ensureCapacity(e.length),this.current.set(e,this.offset),this.offset+=e.length,this.totalSize+=e.length}writeHeader(e,t){if(t<24)this.writeByte(e|t);else if(t<256)this.ensureCapacity(2),this.current[this.offset++]=e|24,this.current[this.offset++]=t,this.totalSize+=2;else if(t<65536)this.ensureCapacity(3),this.current[this.offset++]=e|25,this.current[this.offset++]=t>>8,this.current[this.offset++]=t&255,this.totalSize+=3;else if(t<4294967296)this.ensureCapacity(5),this.current[this.offset++]=e|26,this.current[this.offset++]=t>>24&255,this.current[this.offset++]=t>>16&255,this.current[this.offset++]=t>>8&255,this.current[this.offset++]=t&255,this.totalSize+=5;else{this.ensureCapacity(9),this.current[this.offset++]=e|27;let n=Math.floor(t/4294967296),r=t>>>0;this.current[this.offset++]=n>>24&255,this.current[this.offset++]=n>>16&255,this.current[this.offset++]=n>>8&255,this.current[this.offset++]=n&255,this.current[this.offset++]=r>>24&255,this.current[this.offset++]=r>>16&255,this.current[this.offset++]=r>>8&255,this.current[this.offset++]=r&255,this.totalSize+=9}}writeTag(e){this.writeHeader(192,e)}writeFloat64(e){this.ensureCapacity(9),this.current[this.offset++]=251;let t=new DataView(new ArrayBuffer(8));t.setFloat64(0,e,!1);for(let e=0;e<8;e++)this.current[this.offset++]=t.getUint8(e);this.totalSize+=9}writeBreak(){this.writeByte(255)}getSize(){return this.totalSize}toUint8Array(){if(this.offset>0&&this.chunks.push(this.current.subarray(0,this.offset)),this.chunks.length===1)return this.chunks[0];let e=new Uint8Array(this.totalSize),t=0;for(let n of this.chunks)e.set(n,t),t+=n.length;return e}};const C=new TextEncoder;function de(e){e.writeByte(246)}function fe(e){e.writeByte(247)}function pe(e,t){e.writeByte(224|(t?21:20))}function w(e,t){if(Number.isNaN(t)||!Number.isFinite(t)){e.writeFloat64(t);return}if(Number.isInteger(t)){if(t>=0&&t<=2**53-1){e.writeHeader(0,t);return}if(t<0&&t>=-(2**53-1)){e.writeHeader(32,-1-t);return}}e.writeFloat64(t)}function T(e,t,n){let r=t;r.length>n&&(r=r.substring(0,n)+` [truncated]`);let i=C.encode(r);e.writeHeader(96,i.length),e.writeBytes(i)}function me(e,t){e.writeTag(g);let n=t.toString(),r=C.encode(n);e.writeHeader(96,r.length),e.writeBytes(r)}function he(e,t){let n=t.toString(),r=C.encode(n);e.writeHeader(96,r.length),e.writeBytes(r)}function E(e,t){e.writeTag(t),e.writeByte(246)}function ge(e){E(e,f)}function _e(e){E(e,p)}function D(e){E(e,m)}function ve(e){E(e,h)}function ye(e){E(e,ce)}function be(e){E(e,le)}function xe(e){E(e,_)}function Se(e,t){let n=t.getTime();if(e.writeTag(1),Number.isNaN(n))e.writeFloat64(NaN);else{let t=n/1e3;Number.isInteger(t)?w(e,t):e.writeFloat64(t)}}function Ce(e,t){e.writeTag(d),e.writeHeader(128,2);let n=C.encode(t.source);e.writeHeader(96,n.length),e.writeBytes(n);let r=C.encode(t.flags);e.writeHeader(96,r.length),e.writeBytes(r)}function O(e,t,n,r){e.writeTag(v);let i=2;t.stack&&i++,t.cause!==void 0&&i++,e.writeHeader(160,i),k(e,`name`),T(e,t.name,n),k(e,`message`),T(e,t.message,n),t.stack&&(k(e,`stack`),T(e,t.stack,n)),t.cause!==void 0&&(k(e,`cause`),t.cause instanceof Error?O(e,t.cause,n,r):r(t.cause))}function we(e,t){e.writeTag(y);let n=typeof t.name==`string`&&t.name?t.name:`(anonymous)`,r=C.encode(n);e.writeHeader(96,r.length),e.writeBytes(r)}function Te(e,t){e.writeTag(b);let n=typeof t.name==`string`&&t.name?t.name:`(anonymous)`,r=C.encode(n);e.writeHeader(96,r.length),e.writeBytes(r)}function k(e,t){let n=C.encode(t);e.writeHeader(96,n.length),e.writeBytes(n)}function Ee(e){try{return/^class\s/.test(e.toString())}catch{return!1}}function De(e,t,n,r){let i=t.length;if(i<=n){e.writeHeader(128,i);for(let e of t)r(e)}else{e.writeByte(159);for(let e=0;e<n;e++)r(t[e]);D(e),e.writeBreak()}}function Oe(e,t,n,r){let i=Object.keys(t),a=i.length;if(a<=n){e.writeHeader(160,a);for(let n of i)A(e,n),r(t[n])}else{e.writeByte(191);for(let a=0;a<n;a++){let n=i[a];A(e,n),r(t[n])}A(e,`__truncated__`),D(e),e.writeBreak()}}function ke(e,t,n,r){e.writeTag(S);let i=t.size;if(i<=n){e.writeHeader(160,i);for(let[e,n]of t)r(e),r(n)}else{e.writeByte(191);let i=0;for(let[e,a]of t){if(i>=n)break;r(e),r(a),i++}A(e,`__truncated__`),D(e),e.writeBreak()}}function Ae(e,t,n,r){e.writeTag(258);let i=t.size;if(i<=n){e.writeHeader(128,i);for(let e of t)r(e)}else{e.writeByte(159);let i=0;for(let e of t){if(i>=n)break;r(e),i++}D(e),e.writeBreak()}}function je(e,t,n,r,i){e.writeTag(x),e.writeHeader(160,2),A(e,`name`);let a=t.constructor?.name;typeof a!=`string`&&(a=`Object`);let o=C.encode(a);e.writeHeader(96,o.length),e.writeBytes(o),A(e,`properties`);let s=Object.keys(t),c=s.length;if(c<=n){e.writeHeader(160,c);for(let n of s){A(e,n);try{i(t[n])}catch{let t=C.encode(`[Throws]`);e.writeHeader(96,t.length),e.writeBytes(t)}}}else{e.writeByte(191);for(let r=0;r<n;r++){let n=s[r];A(e,n);try{i(t[n])}catch{let t=C.encode(`[Throws]`);e.writeHeader(96,t.length),e.writeBytes(t)}}A(e,`__truncated__`),D(e),e.writeBreak()}}function A(e,t){let n=C.encode(t);e.writeHeader(96,n.length),e.writeBytes(n)}const j=`$REDACTED$`,M=`$UNDEFINED$`,N=`$BIGINT$`,Me=`$FUNCTION$`,P=`$PROMISE$`,F=`$CIRCULAR_REFERENCE$`,I=`$UNKNOWN$`,L=`$TOO_LARGE$`,R=`$MAX_DEPTH_REACHED$`,z=`$SERIALIZATION_ERROR$`,B=`$NaN$`,V=`$Infinity$`,H=`$-Infinity$`,U={REDACTED:j,UNDEFINED:M,BIG_INT:N,FUNCTION:Me,PROMISE:P,CIRCULAR_REFERENCE:F,UNKNOWN:I,TOO_LARGE:L,MAX_DEPTH_REACHED:R,SERIALIZATION_ERROR:z,NOT_A_NUMBER:B,POSITIVE_INFINITY:V,NEGATIVE_INFINITY:H},Ne=Object.prototype.hasOwnProperty;function Pe(e,t){if(Ne.call(e,t))try{return e[t]}catch(e){return`[Throws: `+(e instanceof Error?e.message:`?`)+`]`}return e[t]}function W(e,t){try{if(t.depth>t.maxDepth){_e(t.buffer);return}if(t.buffer.getSize()>t.maxTotalSize){D(t.buffer);return}if(e===null){de(t.buffer);return}if(e===void 0){fe(t.buffer);return}if(typeof e==`boolean`){pe(t.buffer,e);return}if(typeof e==`number`){w(t.buffer,e);return}if(typeof e==`string`){if(e===U.REDACTED){xe(t.buffer);return}T(t.buffer,e,t.maxStringLength);return}if(typeof e==`bigint`){me(t.buffer,e);return}if(typeof e==`symbol`){he(t.buffer,e);return}if(typeof e==`function`){Ee(e)?Te(t.buffer,e):we(t.buffer,e);return}if(typeof e==`object`){if(e instanceof Date){Se(t.buffer,e);return}if(e instanceof RegExp){Ce(t.buffer,e);return}if(e instanceof Error){O(t.buffer,e,t.maxStringLength,e=>W(e,{...t,depth:t.depth+1}));return}if(e instanceof Promise){ve(t.buffer);return}if(t.seen.has(e)){ge(t.buffer);return}t.seen.add(e);let n={...t,depth:t.depth+1},r=e=>W(e,n);if(e instanceof Map){ke(t.buffer,e,t.maxMapSize,r),t.seen.delete(e);return}if(e instanceof Set){Ae(t.buffer,e,t.maxArraySize,r),t.seen.delete(e);return}if(Array.isArray(e)){De(t.buffer,e,t.maxArraySize,r),t.seen.delete(e);return}if(`toJSON`in e&&typeof e.toJSON==`function`)try{W(e.toJSON(),n),t.seen.delete(e);return}catch(n){let r=`[Throws: `+(n instanceof Error?n.message:`?`)+`]`;T(t.buffer,r,t.maxStringLength),t.seen.delete(e);return}if(Object.getPrototypeOf(e)===Object.prototype){let n={};for(let t of Object.keys(e))n[t]=Pe(e,t);Oe(t.buffer,n,t.maxMapSize,r)}else je(t.buffer,e,t.maxMapSize,t.maxStringLength,r);t.seen.delete(e);return}ye(t.buffer)}catch(e){try{t.onError?.(e)}catch{}be(t.buffer)}}function G(e,t={}){let n=new ue;return W(e,{buffer:n,seen:new WeakSet,depth:0,maxDepth:t.maxDepth??30,maxTotalSize:t.maxTotalSize??5e6,maxArraySize:t.maxArraySize??1e3,maxMapSize:t.maxMapSize??1e3,maxStringLength:t.maxStringLength??1e5,onError:t.onError}),n.toUint8Array()}function K(e=6){try{let t=crypto.getRandomValues(new Uint8Array(e));return Array.from(t,e=>`abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789`[e%62]).join(``)}catch{return Math.random().toString(36).substring(2,2+e)}}const Fe=()=>globalThis.Capture,Ie=e=>{globalThis.Capture=e},Le=()=>globalThis.captureOptions,q=()=>{let e=globalThis.__capture;return e||(e={logLevel:`critical`},globalThis.__capture=e),e},J=()=>{let e=q(),t=e.loggers;return t||(t=new Map,e.loggers=t),t},Y=()=>{let e=q(),t=e.sinks;return t||(t=new Set,e.sinks=t),t},Re=()=>{let e=q(),t=e.plugins;return t||(t=new Map,e.plugins=t),t},ze=()=>{let e=q(),t=e.pageId;return t||(t=K(),e.pageId=t),t},X=(e,t,n)=>{try{q().log?.(e,t,n)}catch{}},Z=`debug`,Be=`activity`;var Q=class{meta;type;sinks=[];queue=[];constructor(e){this.meta=e.meta,this.type=e.type}registerSink(e){if(this.sinks.push(e),q().isLoggingPaused===!0){this.queue=[];return}this.queue.forEach(t=>{e.log({loggerType:this.type,loggerMeta:this.meta,timestamp:t.time,event:t.event})})}logEvent=e=>{if(q().isLoggingPaused!==!0)try{let t=G(e);this.sinks.forEach(n=>{try{n.log({loggerType:this.type,loggerMeta:this.meta,timestamp:e.time,event:t})}catch(e){this.meta.identifier!==Z&&X(`error`,`Failed to log event to sink`,{error:e})}}),this.queue.push({event:t,time:e.time}),this.queue=this.queue.slice(-250)}catch(e){this.meta.identifier!==Z&&X(`error`,`Failed to encode event`,{error:e})}};dispose(){this.sinks=[],this.queue=[]}};const Ve=Object.prototype.hasOwnProperty;function He(e,t){return Ve.call(e,t)}function Ue(e){if(Array.isArray(e)){let t=Array(e.length);for(let e=0;e<t.length;e++)t[e]=``+e;return t}return Object.keys(e)}function We(e){return typeof e==`object`&&!!e&&!(e instanceof Date)&&typeof e.toJSON==`function`}function $(e,t,n,r,i=-1){let a=t,o=e;if(a===o)return;if(We(a)&&(a=a.toJSON()),We(o)&&(o=o.toJSON()),typeof a!=`object`||!a||a instanceof Date||typeof o!=`object`||!o||o instanceof Date){o!==a&&n.push({op:`replace`,path:r,keyIndex:i,from:o,to:a});return}else if(Array.isArray(a)!==Array.isArray(o)){n.push({op:`replace`,path:r,keyIndex:i,from:o,to:a});return}let s,c;try{s=Ue(a),c=Ue(o)}catch{return}let l=!1,u=!1;for(let e=c.length-1;e>=0;e--)try{let t=c[e],i=o[t];if(He(a,t)&&!(a[t]===void 0&&i!==void 0&&Array.isArray(a)===!1)){let o=a[t];$(i,o,n,[...r,t],e)}else Array.isArray(o)===Array.isArray(a)&&(n.push({op:`remove`,path:[...r,t],keyIndex:e,value:i}),l=!0)}catch{u=!0;continue}if(!(!l&&!u&&s.length===c.length))for(let e=0;e<s.length;e++)try{let t=s[e];!He(o,t)&&a[t]!==void 0&&n.push({op:`add`,path:[...r,t],keyIndex:e,value:a[t]})}catch{continue}}function Ge(e,t){let n=[];return $(e,t,n,[]),n}var Ke=class extends Q{type=`state`;liid;patchesSinceLastSnapshot=0;previousState;constructor(e){super(e),this.liid=K(),this.previousState=e.initialState}logState(e,{label:t,extra:n}={}){if(q().isLoggingPaused===!0){this.previousState=e;return}try{(this.patchesSinceLastSnapshot>=50||this.previousState===void 0)&&this.logSnapshot(e);let r=Ge(this.previousState,e);this.logEvent({liid:this.liid,time:Date.now(),type:`patch`,ops:r,label:t,extra:n}),this.patchesSinceLastSnapshot++,this.previousState=e}catch(e){X(`error`,`Failed to log state patch`,{error:e})}}takeSnapshot(){this.previousState!==void 0&&this.logSnapshot(this.previousState)}logSnapshot(e){q().isLoggingPaused!==!0&&(this.logEvent({time:Date.now(),liid:this.liid,type:`snapshot`,value:e}),this.patchesSinceLastSnapshot=0,this.previousState=e)}};function qe(e,t,n){let r=J(),i=r.get(t.identifier);return i||(i=new n({meta:t,type:e}),Y().forEach(e=>{i.registerSink(e)}),r.set(t.identifier,i),i)}function Je(e){return qe(`state`,e,Ke)}function Ye(e){return qe(`events`,e,Q)}function Xe(e){return Y().add(e),J().forEach(t=>{t.registerSink(e)}),e}export{v as $,U as A,t as B,R as C,P as D,V as E,ee as F,s as G,a as H,te as I,u as J,l as K,ne as L,M,I as N,j as O,re as P,ie as Q,r as R,Me as S,B as T,n as U,o as V,e as W,f as X,g as Y,b as Z,Ie as _,Ge as a,ae as at,N as b,Z as c,d as ct,Le as d,m as dt,y as et,J as f,ce as ft,ze as g,q as h,Ke as i,oe as it,L as j,z as k,X as l,le as lt,Y as m,Ye as n,p as nt,Q as o,h as ot,Re as p,c as q,Je as r,x as rt,Be as s,_ as st,Xe as t,S as tt,Fe as u,se as ut,K as v,H as w,F as x,G as y,i as z};
@@ -0,0 +1 @@
1
+ const e=21066,t=27001,n=27002,r=27003,i=27004,a=27005,o=27006,s=27007,c=27008,l=27010,u=27011,d=27012,f=27013,p=27014;var ee=class{chunks=[];current;offset=0;totalSize=0;constructor(){this.current=new Uint8Array(4096)}ensureCapacity(e){if(this.offset+e<=this.current.length)return;this.offset>0&&this.chunks.push(this.current.subarray(0,this.offset));let t=Math.min(Math.max(this.current.length*2,e),65536);this.current=new Uint8Array(Math.max(t,e)),this.offset=0}writeByte(e){this.ensureCapacity(1),this.current[this.offset++]=e,this.totalSize++}writeBytes(e){this.ensureCapacity(e.length),this.current.set(e,this.offset),this.offset+=e.length,this.totalSize+=e.length}writeHeader(e,t){if(t<24)this.writeByte(e|t);else if(t<256)this.ensureCapacity(2),this.current[this.offset++]=e|24,this.current[this.offset++]=t,this.totalSize+=2;else if(t<65536)this.ensureCapacity(3),this.current[this.offset++]=e|25,this.current[this.offset++]=t>>8,this.current[this.offset++]=t&255,this.totalSize+=3;else if(t<4294967296)this.ensureCapacity(5),this.current[this.offset++]=e|26,this.current[this.offset++]=t>>24&255,this.current[this.offset++]=t>>16&255,this.current[this.offset++]=t>>8&255,this.current[this.offset++]=t&255,this.totalSize+=5;else{this.ensureCapacity(9),this.current[this.offset++]=e|27;let n=Math.floor(t/4294967296),r=t>>>0;this.current[this.offset++]=n>>24&255,this.current[this.offset++]=n>>16&255,this.current[this.offset++]=n>>8&255,this.current[this.offset++]=n&255,this.current[this.offset++]=r>>24&255,this.current[this.offset++]=r>>16&255,this.current[this.offset++]=r>>8&255,this.current[this.offset++]=r&255,this.totalSize+=9}}writeTag(e){this.writeHeader(192,e)}writeFloat64(e){this.ensureCapacity(9),this.current[this.offset++]=251;let t=new DataView(new ArrayBuffer(8));t.setFloat64(0,e,!1);for(let e=0;e<8;e++)this.current[this.offset++]=t.getUint8(e);this.totalSize+=9}writeBreak(){this.writeByte(255)}getSize(){return this.totalSize}toUint8Array(){if(this.offset>0&&this.chunks.push(this.current.subarray(0,this.offset)),this.chunks.length===1)return this.chunks[0];let e=new Uint8Array(this.totalSize),t=0;for(let n of this.chunks)e.set(n,t),t+=n.length;return e}};const m=new TextEncoder;function te(e){e.writeByte(246)}function ne(e){e.writeByte(247)}function re(e,t){e.writeByte(224|(t?21:20))}function h(e,t){if(Number.isNaN(t)||!Number.isFinite(t)){e.writeFloat64(t);return}if(Number.isInteger(t)){if(t>=0&&t<=2**53-1){e.writeHeader(0,t);return}if(t<0&&t>=-(2**53-1)){e.writeHeader(32,-1-t);return}}e.writeFloat64(t)}function g(e,t,n){let r=t;r.length>n&&(r=r.substring(0,n)+` [truncated]`);let i=m.encode(r);e.writeHeader(96,i.length),e.writeBytes(i)}function ie(e,t){e.writeTag(s);let n=t.toString(),r=m.encode(n);e.writeHeader(96,r.length),e.writeBytes(r)}function _(e,t){let n=t.toString(),r=m.encode(n);e.writeHeader(96,r.length),e.writeBytes(r)}function v(e,t){e.writeTag(t),e.writeByte(246)}function ae(e){v(e,t)}function oe(e){v(e,n)}function y(e){v(e,r)}function se(e){v(e,i)}function ce(e){v(e,a)}function le(e){v(e,o)}function ue(e){v(e,c)}function de(e,t){let n=t.getTime();if(e.writeTag(1),Number.isNaN(n))e.writeFloat64(NaN);else{let t=n/1e3;Number.isInteger(t)?h(e,t):e.writeFloat64(t)}}function fe(t,n){t.writeTag(e),t.writeHeader(128,2);let r=m.encode(n.source);t.writeHeader(96,r.length),t.writeBytes(r);let i=m.encode(n.flags);t.writeHeader(96,i.length),t.writeBytes(i)}function b(e,t,n,r){e.writeTag(l);let i=2;t.stack&&i++,t.cause!==void 0&&i++,e.writeHeader(160,i),x(e,`name`),g(e,t.name,n),x(e,`message`),g(e,t.message,n),t.stack&&(x(e,`stack`),g(e,t.stack,n)),t.cause!==void 0&&(x(e,`cause`),t.cause instanceof Error?b(e,t.cause,n,r):r(t.cause))}function pe(e,t){e.writeTag(u);let n=typeof t.name==`string`&&t.name?t.name:`(anonymous)`,r=m.encode(n);e.writeHeader(96,r.length),e.writeBytes(r)}function me(e,t){e.writeTag(d);let n=typeof t.name==`string`&&t.name?t.name:`(anonymous)`,r=m.encode(n);e.writeHeader(96,r.length),e.writeBytes(r)}function x(e,t){let n=m.encode(t);e.writeHeader(96,n.length),e.writeBytes(n)}function he(e){try{return/^class\s/.test(e.toString())}catch{return!1}}function S(e,t,n,r){let i=t.length;if(i<=n){e.writeHeader(128,i);for(let e of t)r(e)}else{e.writeByte(159);for(let e=0;e<n;e++)r(t[e]);y(e),e.writeBreak()}}function ge(e,t,n,r){let i=Object.keys(t),a=i.length;if(a<=n){e.writeHeader(160,a);for(let n of i)C(e,n),r(t[n])}else{e.writeByte(191);for(let a=0;a<n;a++){let n=i[a];C(e,n),r(t[n])}C(e,`__truncated__`),y(e),e.writeBreak()}}function _e(e,t,n,r){e.writeTag(p);let i=t.size;if(i<=n){e.writeHeader(160,i);for(let[e,n]of t)r(e),r(n)}else{e.writeByte(191);let i=0;for(let[e,a]of t){if(i>=n)break;r(e),r(a),i++}C(e,`__truncated__`),y(e),e.writeBreak()}}function ve(e,t,n,r){e.writeTag(258);let i=t.size;if(i<=n){e.writeHeader(128,i);for(let e of t)r(e)}else{e.writeByte(159);let i=0;for(let e of t){if(i>=n)break;r(e),i++}y(e),e.writeBreak()}}function ye(e,t,n,r,i){e.writeTag(f),e.writeHeader(160,2),C(e,`name`);let a=t.constructor?.name;typeof a!=`string`&&(a=`Object`);let o=m.encode(a);e.writeHeader(96,o.length),e.writeBytes(o),C(e,`properties`);let s=Object.keys(t),c=s.length;if(c<=n){e.writeHeader(160,c);for(let n of s){C(e,n);try{i(t[n])}catch{let t=m.encode(`[Throws]`);e.writeHeader(96,t.length),e.writeBytes(t)}}}else{e.writeByte(191);for(let r=0;r<n;r++){let n=s[r];C(e,n);try{i(t[n])}catch{let t=m.encode(`[Throws]`);e.writeHeader(96,t.length),e.writeBytes(t)}}C(e,`__truncated__`),y(e),e.writeBreak()}}function C(e,t){let n=m.encode(t);e.writeHeader(96,n.length),e.writeBytes(n)}const w=`$REDACTED$`,T=`$UNDEFINED$`,E=`$BIGINT$`,D=`$FUNCTION$`,O=`$PROMISE$`,k=`$CIRCULAR_REFERENCE$`,A=`$UNKNOWN$`,j=`$TOO_LARGE$`,M=`$MAX_DEPTH_REACHED$`,N=`$SERIALIZATION_ERROR$`,P=`$NaN$`,F=`$Infinity$`,I=`$-Infinity$`,L={REDACTED:w,UNDEFINED:T,BIG_INT:E,FUNCTION:D,PROMISE:O,CIRCULAR_REFERENCE:k,UNKNOWN:A,TOO_LARGE:j,MAX_DEPTH_REACHED:M,SERIALIZATION_ERROR:N,NOT_A_NUMBER:P,POSITIVE_INFINITY:F,NEGATIVE_INFINITY:I},be=Object.prototype.hasOwnProperty;function xe(e,t){if(be.call(e,t))try{return e[t]}catch(e){return`[Throws: `+(e instanceof Error?e.message:`?`)+`]`}return e[t]}function R(e,t){try{if(t.depth>t.maxDepth){oe(t.buffer);return}if(t.buffer.getSize()>t.maxTotalSize){y(t.buffer);return}if(e===null){te(t.buffer);return}if(e===void 0){ne(t.buffer);return}if(typeof e==`boolean`){re(t.buffer,e);return}if(typeof e==`number`){h(t.buffer,e);return}if(typeof e==`string`){if(e===L.REDACTED){ue(t.buffer);return}g(t.buffer,e,t.maxStringLength);return}if(typeof e==`bigint`){ie(t.buffer,e);return}if(typeof e==`symbol`){_(t.buffer,e);return}if(typeof e==`function`){he(e)?me(t.buffer,e):pe(t.buffer,e);return}if(typeof e==`object`){if(e instanceof Date){de(t.buffer,e);return}if(e instanceof RegExp){fe(t.buffer,e);return}if(e instanceof Error){b(t.buffer,e,t.maxStringLength,e=>R(e,{...t,depth:t.depth+1}));return}if(e instanceof Promise){se(t.buffer);return}if(t.seen.has(e)){ae(t.buffer);return}t.seen.add(e);let n={...t,depth:t.depth+1},r=e=>R(e,n);if(e instanceof Map){_e(t.buffer,e,t.maxMapSize,r),t.seen.delete(e);return}if(e instanceof Set){ve(t.buffer,e,t.maxArraySize,r),t.seen.delete(e);return}if(Array.isArray(e)){S(t.buffer,e,t.maxArraySize,r),t.seen.delete(e);return}if(`toJSON`in e&&typeof e.toJSON==`function`)try{R(e.toJSON(),n),t.seen.delete(e);return}catch(n){let r=`[Throws: `+(n instanceof Error?n.message:`?`)+`]`;g(t.buffer,r,t.maxStringLength),t.seen.delete(e);return}if(Object.getPrototypeOf(e)===Object.prototype){let n={};for(let t of Object.keys(e))n[t]=xe(e,t);ge(t.buffer,n,t.maxMapSize,r)}else ye(t.buffer,e,t.maxMapSize,t.maxStringLength,r);t.seen.delete(e);return}ce(t.buffer)}catch(e){try{t.onError?.(e)}catch{}le(t.buffer)}}function z(e,t={}){let n=new ee;return R(e,{buffer:n,seen:new WeakSet,depth:0,maxDepth:t.maxDepth??30,maxTotalSize:t.maxTotalSize??5e6,maxArraySize:t.maxArraySize??1e3,maxMapSize:t.maxMapSize??1e3,maxStringLength:t.maxStringLength??1e5,onError:t.onError}),n.toUint8Array()}function B(e=6){try{let t=crypto.getRandomValues(new Uint8Array(e));return Array.from(t,e=>`abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789`[e%62]).join(``)}catch{return Math.random().toString(36).substring(2,2+e)}}const Se=()=>globalThis.Capture,Ce=e=>{globalThis.Capture=e},we=()=>globalThis.captureOptions,V=()=>{let e=globalThis.__capture;return e||(e={logLevel:`critical`},globalThis.__capture=e),e},H=()=>{let e=V(),t=e.loggers;return t||(t=new Map,e.loggers=t),t},U=()=>{let e=V(),t=e.sinks;return t||(t=new Set,e.sinks=t),t},Te=()=>{let e=V(),t=e.plugins;return t||(t=new Map,e.plugins=t),t},Ee=()=>{let e=V(),t=e.pageId;return t||(t=B(),e.pageId=t),t},W=(e,t,n)=>{try{V().log?.(e,t,n)}catch{}},G=`debug`;var K=class{meta;type;sinks=[];queue=[];constructor(e){this.meta=e.meta,this.type=e.type}registerSink(e){if(this.sinks.push(e),V().isLoggingPaused===!0){this.queue=[];return}this.queue.forEach(t=>{e.log({loggerType:this.type,loggerMeta:this.meta,timestamp:t.time,event:t.event})})}logEvent=e=>{if(V().isLoggingPaused!==!0)try{let t=z(e);this.sinks.forEach(n=>{try{n.log({loggerType:this.type,loggerMeta:this.meta,timestamp:e.time,event:t})}catch(e){this.meta.identifier!==G&&W(`error`,`Failed to log event to sink`,{error:e})}}),this.queue.push({event:t,time:e.time}),this.queue=this.queue.slice(-250)}catch(e){this.meta.identifier!==G&&W(`error`,`Failed to encode event`,{error:e})}};dispose(){this.sinks=[],this.queue=[]}};const De=Object.prototype.hasOwnProperty;function q(e,t){return De.call(e,t)}function J(e){if(Array.isArray(e)){let t=Array(e.length);for(let e=0;e<t.length;e++)t[e]=``+e;return t}return Object.keys(e)}function Y(e){return typeof e==`object`&&!!e&&!(e instanceof Date)&&typeof e.toJSON==`function`}function X(e,t,n,r,i=-1){let a=t,o=e;if(a===o)return;if(Y(a)&&(a=a.toJSON()),Y(o)&&(o=o.toJSON()),typeof a!=`object`||!a||a instanceof Date||typeof o!=`object`||!o||o instanceof Date){o!==a&&n.push({op:`replace`,path:r,keyIndex:i,from:o,to:a});return}else if(Array.isArray(a)!==Array.isArray(o)){n.push({op:`replace`,path:r,keyIndex:i,from:o,to:a});return}let s,c;try{s=J(a),c=J(o)}catch{return}let l=!1,u=!1;for(let e=c.length-1;e>=0;e--)try{let t=c[e],i=o[t];if(q(a,t)&&!(a[t]===void 0&&i!==void 0&&Array.isArray(a)===!1)){let o=a[t];X(i,o,n,[...r,t],e)}else Array.isArray(o)===Array.isArray(a)&&(n.push({op:`remove`,path:[...r,t],keyIndex:e,value:i}),l=!0)}catch{u=!0;continue}if(!(!l&&!u&&s.length===c.length))for(let e=0;e<s.length;e++)try{let t=s[e];!q(o,t)&&a[t]!==void 0&&n.push({op:`add`,path:[...r,t],keyIndex:e,value:a[t]})}catch{continue}}function Z(e,t){let n=[];return X(e,t,n,[]),n}var Q=class extends K{type=`state`;liid;patchesSinceLastSnapshot=0;previousState;constructor(e){super(e),this.liid=B(),this.previousState=e.initialState}logState(e,{label:t,extra:n}={}){if(V().isLoggingPaused===!0){this.previousState=e;return}try{(this.patchesSinceLastSnapshot>=50||this.previousState===void 0)&&this.logSnapshot(e);let r=Z(this.previousState,e);this.logEvent({liid:this.liid,time:Date.now(),type:`patch`,ops:r,label:t,extra:n}),this.patchesSinceLastSnapshot++,this.previousState=e}catch(e){W(`error`,`Failed to log state patch`,{error:e})}}takeSnapshot(){this.previousState!==void 0&&this.logSnapshot(this.previousState)}logSnapshot(e){V().isLoggingPaused!==!0&&(this.logEvent({time:Date.now(),liid:this.liid,type:`snapshot`,value:e}),this.patchesSinceLastSnapshot=0,this.previousState=e)}};function $(e,t,n){let r=H(),i=r.get(t.identifier);return i||(i=new n({meta:t,type:e}),U().forEach(e=>{i.registerSink(e)}),r.set(t.identifier,i),i)}function Oe(e){return $(`state`,e,Q)}function ke(e){return $(`events`,e,K)}function Ae(e){return U().add(e),H().forEach(t=>{t.registerSink(e)}),e}Object.defineProperty(exports,`$`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`A`,{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,`B`,{enumerable:!0,get:function(){return 32}}),Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`D`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`E`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`F`,{enumerable:!0,get:function(){return 25}}),Object.defineProperty(exports,`G`,{enumerable:!0,get:function(){return 20}}),Object.defineProperty(exports,`H`,{enumerable:!0,get:function(){return 192}}),Object.defineProperty(exports,`I`,{enumerable:!0,get:function(){return 26}}),Object.defineProperty(exports,`J`,{enumerable:!0,get:function(){return 23}}),Object.defineProperty(exports,`K`,{enumerable:!0,get:function(){return 22}}),Object.defineProperty(exports,`L`,{enumerable:!0,get:function(){return 27}}),Object.defineProperty(exports,`M`,{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,`N`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`O`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`P`,{enumerable:!0,get:function(){return 255}}),Object.defineProperty(exports,`Q`,{enumerable:!0,get:function(){return 1}}),Object.defineProperty(exports,`R`,{enumerable:!0,get:function(){return 128}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`T`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`U`,{enumerable:!0,get:function(){return 96}}),Object.defineProperty(exports,`V`,{enumerable:!0,get:function(){return 224}}),Object.defineProperty(exports,`W`,{enumerable:!0,get:function(){return 0}}),Object.defineProperty(exports,`X`,{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,`Y`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`Z`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return Ce}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,`at`,{enumerable:!0,get:function(){return 2}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`ct`,{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return we}}),Object.defineProperty(exports,`dt`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`et`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,`ft`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return Ee}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,`it`,{enumerable:!0,get:function(){return 3}}),Object.defineProperty(exports,`j`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`k`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,`lt`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return ke}}),Object.defineProperty(exports,`nt`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,`ot`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return Te}}),Object.defineProperty(exports,`q`,{enumerable:!0,get:function(){return 21}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return Oe}}),Object.defineProperty(exports,`rt`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return`activity`}}),Object.defineProperty(exports,`st`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return Ae}}),Object.defineProperty(exports,`tt`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return Se}}),Object.defineProperty(exports,`ut`,{enumerable:!0,get:function(){return 258}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,`w`,{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,`z`,{enumerable:!0,get:function(){return 160}});
@@ -56,6 +56,18 @@ interface CaptureClientOptions {
56
56
  privacyOptions?: LegacyPrivacyPresetOptions;
57
57
  }
58
58
  //#endregion
59
+ //#region src/logger/logger.types.d.ts
60
+ type EventLoggerMeta = {
61
+ identifier: string;
62
+ name?: string;
63
+ version?: number;
64
+ };
65
+ type EventLoggerType = "state" | "events";
66
+ interface EventLoggerOpts {
67
+ type: EventLoggerType;
68
+ meta: EventLoggerMeta;
69
+ }
70
+ //#endregion
59
71
  //#region src/logger/event-sink.d.ts
60
72
  interface EventSinkLogOpts {
61
73
  loggerType: EventLoggerType;
@@ -63,24 +75,13 @@ interface EventSinkLogOpts {
63
75
  timestamp: number;
64
76
  event: Uint8Array;
65
77
  }
66
- interface LogInternalErrorOpts {
67
- loggerType: EventLoggerType;
68
- loggerMeta: EventLoggerMeta;
69
- error: unknown;
70
- }
71
78
  /**
72
79
  * Base EventSink class used to register loggers and forward events to storage.
73
80
  * The base sink does not implement any storage itself.
74
81
  */
75
82
  declare class EventSink {
76
- constructor();
77
83
  log(_opts: EventSinkLogOpts): void;
78
84
  log(_loggerType: EventLoggerType, _loggerMeta: EventLoggerMeta, _event: BaseEvent): void;
79
- logInternalError: ({
80
- loggerType,
81
- loggerMeta,
82
- error
83
- }: LogInternalErrorOpts) => void;
84
85
  }
85
86
  //#endregion
86
87
  //#region src/logger/event-logger.d.ts
@@ -88,22 +89,15 @@ type BaseEvent = {
88
89
  time: number;
89
90
  [key: string]: unknown;
90
91
  };
91
- type EventLoggerType = "state" | "events";
92
- type EventLoggerMeta = {
93
- identifier: string;
94
- name?: string;
95
- version?: number;
96
- };
97
92
  declare class EventLogger<EventType extends BaseEvent = BaseEvent> {
93
+ meta: EventLoggerMeta;
98
94
  type: EventLoggerType;
99
95
  private sinks;
100
96
  private queue;
101
- private errorQueue;
102
- meta: EventLoggerMeta;
103
- initialize(meta: EventLoggerMeta): void;
97
+ constructor(opts: EventLoggerOpts);
104
98
  registerSink(sink: EventSink): void;
105
99
  logEvent: (event: EventType) => void;
106
- logInternalError: (error: unknown) => void;
100
+ dispose(): void;
107
101
  }
108
102
  //#endregion
109
103
  //#region src/diff/diff-operations.types.d.ts
@@ -151,7 +145,7 @@ interface LogStateOpts {
151
145
  extra?: unknown;
152
146
  }
153
147
  type StateEvent<ValueType = unknown> = StatePatchEvent<ValueType> | StateSnapshotEvent<ValueType>;
154
- interface StateLoggerOpts<State = unknown> {
148
+ interface StateLoggerOpts<State = unknown> extends EventLoggerOpts {
155
149
  initialState?: State;
156
150
  }
157
151
  declare class StateLogger extends EventLogger<StateEvent> {
@@ -159,10 +153,7 @@ declare class StateLogger extends EventLogger<StateEvent> {
159
153
  readonly liid: string;
160
154
  private patchesSinceLastSnapshot;
161
155
  private previousState;
162
- readonly meta: StateLoggerMeta;
163
- constructor({
164
- initialState
165
- }?: StateLoggerOpts);
156
+ constructor(opts: StateLoggerOpts);
166
157
  logState(state: unknown, {
167
158
  label,
168
159
  extra
@@ -171,4 +162,13 @@ declare class StateLogger extends EventLogger<StateEvent> {
171
162
  private logSnapshot;
172
163
  }
173
164
  //#endregion
174
- export { CaptureResponseBodyFn as C, LegacyPrivacyPresetOptions as D, Identity as E, CaptureRequestHeaderFn as S, CustomContextObject as T, CaptureClientOptions as _, StateSnapshotEvent as a, CaptureRequestBodyFn as b, DiffType as c, BaseEvent as d, EventLogger as f, EventSinkLogOpts as g, EventSink as h, StatePatchEvent as i, RemoveOperation as l, EventLoggerType as m, StateLogger as n, AddOperation as o, EventLoggerMeta as p, StateLoggerMeta as r, DiffOperation as s, StateEvent as t, ReplaceOperation as u, CaptureEventFn as v, CaptureResponseHeaderFn as w, CaptureRequestFn as x, CaptureEventPreset as y };
165
+ //#region src/logger/register-event-sink.d.ts
166
+ declare function registerEventSink<Sink extends EventSink>(sink: Sink): Sink;
167
+ //#endregion
168
+ //#region src/logger/register-event-logger.d.ts
169
+ declare function registerEventLogger(meta: EventLoggerMeta): EventLogger;
170
+ //#endregion
171
+ //#region src/logger/register-state-logger.d.ts
172
+ declare function registerStateLogger(meta: StateLoggerMeta): StateLogger;
173
+ //#endregion
174
+ export { LegacyPrivacyPresetOptions as A, CaptureRequestBodyFn as C, CaptureResponseHeaderFn as D, CaptureResponseBodyFn as E, CustomContextObject as O, CaptureEventPreset as S, CaptureRequestHeaderFn as T, EventSinkLogOpts as _, StateLogger as a, CaptureClientOptions as b, StateSnapshotEvent as c, DiffType as d, RemoveOperation as f, EventSink as g, EventLogger as h, StateEvent as i, Identity as k, AddOperation as l, BaseEvent as m, registerEventLogger as n, StateLoggerMeta as o, ReplaceOperation as p, registerEventSink as r, StatePatchEvent as s, registerStateLogger as t, DiffOperation as u, EventLoggerMeta as v, CaptureRequestFn as w, CaptureEventFn as x, EventLoggerType as y };
@@ -56,6 +56,18 @@ interface CaptureClientOptions {
56
56
  privacyOptions?: LegacyPrivacyPresetOptions;
57
57
  }
58
58
  //#endregion
59
+ //#region src/logger/logger.types.d.ts
60
+ type EventLoggerMeta = {
61
+ identifier: string;
62
+ name?: string;
63
+ version?: number;
64
+ };
65
+ type EventLoggerType = "state" | "events";
66
+ interface EventLoggerOpts {
67
+ type: EventLoggerType;
68
+ meta: EventLoggerMeta;
69
+ }
70
+ //#endregion
59
71
  //#region src/logger/event-sink.d.ts
60
72
  interface EventSinkLogOpts {
61
73
  loggerType: EventLoggerType;
@@ -63,24 +75,13 @@ interface EventSinkLogOpts {
63
75
  timestamp: number;
64
76
  event: Uint8Array;
65
77
  }
66
- interface LogInternalErrorOpts {
67
- loggerType: EventLoggerType;
68
- loggerMeta: EventLoggerMeta;
69
- error: unknown;
70
- }
71
78
  /**
72
79
  * Base EventSink class used to register loggers and forward events to storage.
73
80
  * The base sink does not implement any storage itself.
74
81
  */
75
82
  declare class EventSink {
76
- constructor();
77
83
  log(_opts: EventSinkLogOpts): void;
78
84
  log(_loggerType: EventLoggerType, _loggerMeta: EventLoggerMeta, _event: BaseEvent): void;
79
- logInternalError: ({
80
- loggerType,
81
- loggerMeta,
82
- error
83
- }: LogInternalErrorOpts) => void;
84
85
  }
85
86
  //#endregion
86
87
  //#region src/logger/event-logger.d.ts
@@ -88,22 +89,15 @@ type BaseEvent = {
88
89
  time: number;
89
90
  [key: string]: unknown;
90
91
  };
91
- type EventLoggerType = "state" | "events";
92
- type EventLoggerMeta = {
93
- identifier: string;
94
- name?: string;
95
- version?: number;
96
- };
97
92
  declare class EventLogger<EventType extends BaseEvent = BaseEvent> {
93
+ meta: EventLoggerMeta;
98
94
  type: EventLoggerType;
99
95
  private sinks;
100
96
  private queue;
101
- private errorQueue;
102
- meta: EventLoggerMeta;
103
- initialize(meta: EventLoggerMeta): void;
97
+ constructor(opts: EventLoggerOpts);
104
98
  registerSink(sink: EventSink): void;
105
99
  logEvent: (event: EventType) => void;
106
- logInternalError: (error: unknown) => void;
100
+ dispose(): void;
107
101
  }
108
102
  //#endregion
109
103
  //#region src/diff/diff-operations.types.d.ts
@@ -151,7 +145,7 @@ interface LogStateOpts {
151
145
  extra?: unknown;
152
146
  }
153
147
  type StateEvent<ValueType = unknown> = StatePatchEvent<ValueType> | StateSnapshotEvent<ValueType>;
154
- interface StateLoggerOpts<State = unknown> {
148
+ interface StateLoggerOpts<State = unknown> extends EventLoggerOpts {
155
149
  initialState?: State;
156
150
  }
157
151
  declare class StateLogger extends EventLogger<StateEvent> {
@@ -159,10 +153,7 @@ declare class StateLogger extends EventLogger<StateEvent> {
159
153
  readonly liid: string;
160
154
  private patchesSinceLastSnapshot;
161
155
  private previousState;
162
- readonly meta: StateLoggerMeta;
163
- constructor({
164
- initialState
165
- }?: StateLoggerOpts);
156
+ constructor(opts: StateLoggerOpts);
166
157
  logState(state: unknown, {
167
158
  label,
168
159
  extra
@@ -171,4 +162,13 @@ declare class StateLogger extends EventLogger<StateEvent> {
171
162
  private logSnapshot;
172
163
  }
173
164
  //#endregion
174
- export { CaptureResponseBodyFn as C, LegacyPrivacyPresetOptions as D, Identity as E, CaptureRequestHeaderFn as S, CustomContextObject as T, CaptureClientOptions as _, StateSnapshotEvent as a, CaptureRequestBodyFn as b, DiffType as c, BaseEvent as d, EventLogger as f, EventSinkLogOpts as g, EventSink as h, StatePatchEvent as i, RemoveOperation as l, EventLoggerType as m, StateLogger as n, AddOperation as o, EventLoggerMeta as p, StateLoggerMeta as r, DiffOperation as s, StateEvent as t, ReplaceOperation as u, CaptureEventFn as v, CaptureResponseHeaderFn as w, CaptureRequestFn as x, CaptureEventPreset as y };
165
+ //#region src/logger/register-event-sink.d.ts
166
+ declare function registerEventSink<Sink extends EventSink>(sink: Sink): Sink;
167
+ //#endregion
168
+ //#region src/logger/register-event-logger.d.ts
169
+ declare function registerEventLogger(meta: EventLoggerMeta): EventLogger;
170
+ //#endregion
171
+ //#region src/logger/register-state-logger.d.ts
172
+ declare function registerStateLogger(meta: StateLoggerMeta): StateLogger;
173
+ //#endregion
174
+ export { LegacyPrivacyPresetOptions as A, CaptureRequestBodyFn as C, CaptureResponseHeaderFn as D, CaptureResponseBodyFn as E, CustomContextObject as O, CaptureEventPreset as S, CaptureRequestHeaderFn as T, EventSinkLogOpts as _, StateLogger as a, CaptureClientOptions as b, StateSnapshotEvent as c, DiffType as d, RemoveOperation as f, EventSink as g, EventLogger as h, StateEvent as i, Identity as k, AddOperation as l, BaseEvent as m, registerEventLogger as n, StateLoggerMeta as o, ReplaceOperation as p, registerEventSink as r, StatePatchEvent as s, registerStateLogger as t, DiffOperation as u, EventLoggerMeta as v, CaptureRequestFn as w, CaptureEventFn as x, EventLoggerType as y };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@capture.dev/core",
3
- "version": "0.0.9",
3
+ "version": "0.0.11",
4
4
  "homepage": "https://capture.dev",
5
5
  "license": "MIT",
6
6
  "sideEffects": false,
@@ -33,6 +33,7 @@
33
33
  "@capture/vitest-config": "*",
34
34
  "cbor-x": "^1.6.0",
35
35
  "clean-package": "^2.2.0",
36
+ "es-toolkit": "^1.44.0",
36
37
  "tsdown": "^0.20.1",
37
38
  "typescript": "^5.9.3",
38
39
  "vitest": "^4.0.18",
@@ -1 +0,0 @@
1
- const e=21066,t=27001,n=27002,r=27003,i=27004,a=27005,o=27006,s=27007,c=27008,l=27010,u=27011,d=27012,f=27013,p=27014;var ee=class{chunks=[];current;offset=0;totalSize=0;constructor(){this.current=new Uint8Array(4096)}ensureCapacity(e){if(this.offset+e<=this.current.length)return;this.offset>0&&this.chunks.push(this.current.subarray(0,this.offset));let t=Math.min(Math.max(this.current.length*2,e),65536);this.current=new Uint8Array(Math.max(t,e)),this.offset=0}writeByte(e){this.ensureCapacity(1),this.current[this.offset++]=e,this.totalSize++}writeBytes(e){this.ensureCapacity(e.length),this.current.set(e,this.offset),this.offset+=e.length,this.totalSize+=e.length}writeHeader(e,t){if(t<24)this.writeByte(e|t);else if(t<256)this.ensureCapacity(2),this.current[this.offset++]=e|24,this.current[this.offset++]=t,this.totalSize+=2;else if(t<65536)this.ensureCapacity(3),this.current[this.offset++]=e|25,this.current[this.offset++]=t>>8,this.current[this.offset++]=t&255,this.totalSize+=3;else if(t<4294967296)this.ensureCapacity(5),this.current[this.offset++]=e|26,this.current[this.offset++]=t>>24&255,this.current[this.offset++]=t>>16&255,this.current[this.offset++]=t>>8&255,this.current[this.offset++]=t&255,this.totalSize+=5;else{this.ensureCapacity(9),this.current[this.offset++]=e|27;let n=Math.floor(t/4294967296),r=t>>>0;this.current[this.offset++]=n>>24&255,this.current[this.offset++]=n>>16&255,this.current[this.offset++]=n>>8&255,this.current[this.offset++]=n&255,this.current[this.offset++]=r>>24&255,this.current[this.offset++]=r>>16&255,this.current[this.offset++]=r>>8&255,this.current[this.offset++]=r&255,this.totalSize+=9}}writeTag(e){this.writeHeader(192,e)}writeFloat64(e){this.ensureCapacity(9),this.current[this.offset++]=251;let t=new DataView(new ArrayBuffer(8));t.setFloat64(0,e,!1);for(let e=0;e<8;e++)this.current[this.offset++]=t.getUint8(e);this.totalSize+=9}writeBreak(){this.writeByte(255)}getSize(){return this.totalSize}toUint8Array(){if(this.offset>0&&this.chunks.push(this.current.subarray(0,this.offset)),this.chunks.length===1)return this.chunks[0];let e=new Uint8Array(this.totalSize),t=0;for(let n of this.chunks)e.set(n,t),t+=n.length;return e}};const m=new TextEncoder;function te(e){e.writeByte(246)}function ne(e){e.writeByte(247)}function h(e,t){e.writeByte(224|(t?21:20))}function g(e,t){if(Number.isNaN(t)||!Number.isFinite(t)){e.writeFloat64(t);return}if(Number.isInteger(t)){if(t>=0&&t<=2**53-1){e.writeHeader(0,t);return}if(t<0&&t>=-(2**53-1)){e.writeHeader(32,-1-t);return}}e.writeFloat64(t)}function _(e,t,n){let r=t;r.length>n&&(r=r.substring(0,n)+` [truncated]`);let i=m.encode(r);e.writeHeader(96,i.length),e.writeBytes(i)}function v(e,t){e.writeTag(s);let n=t.toString(),r=m.encode(n);e.writeHeader(96,r.length),e.writeBytes(r)}function re(e,t){let n=t.toString(),r=m.encode(n);e.writeHeader(96,r.length),e.writeBytes(r)}function y(e,t){e.writeTag(t),e.writeByte(246)}function b(e){y(e,t)}function x(e){y(e,n)}function S(e){y(e,r)}function C(e){y(e,i)}function w(e){y(e,a)}function T(e){y(e,o)}function E(e){y(e,c)}function D(e,t){let n=t.getTime();if(e.writeTag(1),Number.isNaN(n))e.writeFloat64(NaN);else{let t=n/1e3;Number.isInteger(t)?g(e,t):e.writeFloat64(t)}}function O(t,n){t.writeTag(e),t.writeHeader(128,2);let r=m.encode(n.source);t.writeHeader(96,r.length),t.writeBytes(r);let i=m.encode(n.flags);t.writeHeader(96,i.length),t.writeBytes(i)}function k(e,t,n,r){e.writeTag(l);let i=2;t.stack&&i++,t.cause!==void 0&&i++,e.writeHeader(160,i),A(e,`name`),_(e,t.name,n),A(e,`message`),_(e,t.message,n),t.stack&&(A(e,`stack`),_(e,t.stack,n)),t.cause!==void 0&&(A(e,`cause`),t.cause instanceof Error?k(e,t.cause,n,r):r(t.cause))}function ie(e,t){e.writeTag(u);let n=typeof t.name==`string`&&t.name?t.name:`(anonymous)`,r=m.encode(n);e.writeHeader(96,r.length),e.writeBytes(r)}function ae(e,t){e.writeTag(d);let n=typeof t.name==`string`&&t.name?t.name:`(anonymous)`,r=m.encode(n);e.writeHeader(96,r.length),e.writeBytes(r)}function A(e,t){let n=m.encode(t);e.writeHeader(96,n.length),e.writeBytes(n)}function oe(e){try{return/^class\s/.test(e.toString())}catch{return!1}}function se(e,t,n,r){let i=t.length;if(i<=n){e.writeHeader(128,i);for(let e of t)r(e)}else{e.writeByte(159);for(let e=0;e<n;e++)r(t[e]);S(e),e.writeBreak()}}function ce(e,t,n,r){let i=Object.keys(t),a=i.length;if(a<=n){e.writeHeader(160,a);for(let n of i)j(e,n),r(t[n])}else{e.writeByte(191);for(let a=0;a<n;a++){let n=i[a];j(e,n),r(t[n])}j(e,`__truncated__`),S(e),e.writeBreak()}}function le(e,t,n,r){e.writeTag(p);let i=t.size;if(i<=n){e.writeHeader(160,i);for(let[e,n]of t)r(e),r(n)}else{e.writeByte(191);let i=0;for(let[e,a]of t){if(i>=n)break;r(e),r(a),i++}j(e,`__truncated__`),S(e),e.writeBreak()}}function ue(e,t,n,r){e.writeTag(258);let i=t.size;if(i<=n){e.writeHeader(128,i);for(let e of t)r(e)}else{e.writeByte(159);let i=0;for(let e of t){if(i>=n)break;r(e),i++}S(e),e.writeBreak()}}function de(e,t,n,r,i){e.writeTag(f),e.writeHeader(160,2),j(e,`name`);let a=t.constructor?.name;typeof a!=`string`&&(a=`Object`);let o=m.encode(a);e.writeHeader(96,o.length),e.writeBytes(o),j(e,`properties`);let s=Object.keys(t),c=s.length;if(c<=n){e.writeHeader(160,c);for(let n of s){j(e,n);try{i(t[n])}catch{let t=m.encode(`[Throws]`);e.writeHeader(96,t.length),e.writeBytes(t)}}}else{e.writeByte(191);for(let r=0;r<n;r++){let n=s[r];j(e,n);try{i(t[n])}catch{let t=m.encode(`[Throws]`);e.writeHeader(96,t.length),e.writeBytes(t)}}j(e,`__truncated__`),S(e),e.writeBreak()}}function j(e,t){let n=m.encode(t);e.writeHeader(96,n.length),e.writeBytes(n)}const M=`$REDACTED$`,N=`$UNDEFINED$`,P=`$BIGINT$`,F=`$FUNCTION$`,I=`$PROMISE$`,L=`$CIRCULAR_REFERENCE$`,R=`$UNKNOWN$`,z=`$TOO_LARGE$`,B=`$MAX_DEPTH_REACHED$`,V=`$SERIALIZATION_ERROR$`,H=`$NaN$`,U=`$Infinity$`,W=`$-Infinity$`,G={REDACTED:M,UNDEFINED:N,BIG_INT:P,FUNCTION:F,PROMISE:I,CIRCULAR_REFERENCE:L,UNKNOWN:R,TOO_LARGE:z,MAX_DEPTH_REACHED:B,SERIALIZATION_ERROR:V,NOT_A_NUMBER:H,POSITIVE_INFINITY:U,NEGATIVE_INFINITY:W},fe=Object.prototype.hasOwnProperty;function pe(e,t){if(fe.call(e,t))try{return e[t]}catch(e){return`[Throws: `+(e instanceof Error?e.message:`?`)+`]`}return e[t]}function K(e,t){try{if(t.depth>t.maxDepth){x(t.buffer);return}if(t.buffer.getSize()>t.maxTotalSize){S(t.buffer);return}if(e===null){te(t.buffer);return}if(e===void 0){ne(t.buffer);return}if(typeof e==`boolean`){h(t.buffer,e);return}if(typeof e==`number`){g(t.buffer,e);return}if(typeof e==`string`){if(e===G.REDACTED){E(t.buffer);return}_(t.buffer,e,t.maxStringLength);return}if(typeof e==`bigint`){v(t.buffer,e);return}if(typeof e==`symbol`){re(t.buffer,e);return}if(typeof e==`function`){oe(e)?ae(t.buffer,e):ie(t.buffer,e);return}if(typeof e==`object`){if(e instanceof Date){D(t.buffer,e);return}if(e instanceof RegExp){O(t.buffer,e);return}if(e instanceof Error){k(t.buffer,e,t.maxStringLength,e=>K(e,{...t,depth:t.depth+1}));return}if(e instanceof Promise){C(t.buffer);return}if(t.seen.has(e)){b(t.buffer);return}t.seen.add(e);let n={...t,depth:t.depth+1},r=e=>K(e,n);if(e instanceof Map){le(t.buffer,e,t.maxMapSize,r),t.seen.delete(e);return}if(e instanceof Set){ue(t.buffer,e,t.maxArraySize,r),t.seen.delete(e);return}if(Array.isArray(e)){se(t.buffer,e,t.maxArraySize,r),t.seen.delete(e);return}if(`toJSON`in e&&typeof e.toJSON==`function`)try{K(e.toJSON(),n),t.seen.delete(e);return}catch(n){let r=`[Throws: `+(n instanceof Error?n.message:`?`)+`]`;_(t.buffer,r,t.maxStringLength),t.seen.delete(e);return}if(Object.getPrototypeOf(e)===Object.prototype){let n={};for(let t of Object.keys(e))n[t]=pe(e,t);ce(t.buffer,n,t.maxMapSize,r)}else de(t.buffer,e,t.maxMapSize,t.maxStringLength,r);t.seen.delete(e);return}w(t.buffer)}catch(e){try{t.onError?.(e)}catch{}T(t.buffer)}}function me(e,t={}){let n=new ee;return K(e,{buffer:n,seen:new WeakSet,depth:0,maxDepth:t.maxDepth??30,maxTotalSize:t.maxTotalSize??5e6,maxArraySize:t.maxArraySize??1e3,maxMapSize:t.maxMapSize??1e3,maxStringLength:t.maxStringLength??1e5,onError:t.onError}),n.toUint8Array()}function q(e=6){try{let t=crypto.getRandomValues(new Uint8Array(e));return Array.from(t,e=>`abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789`[e%62]).join(``)}catch{return Math.random().toString(36).substring(2,2+e)}}const he=()=>window.Capture,J=e=>{window.Capture=e},ge=()=>window.captureOptions,_e=e=>{window.captureOptions=e},Y=()=>{let e=window.__capture;return e||(e={},window.__capture=e),e},ve=()=>{let e=Y(),t=e.loggers;return t||(t=new Map,e.loggers=t),t},ye=()=>{let e=Y(),t=e.sinks;return t||(t=new Set,e.sinks=t),t},be=()=>{let e=Y(),t=e.pageId;return t||(t=q(),e.pageId=t),t},xe=Object.prototype.hasOwnProperty;function X(e,t){return xe.call(e,t)}function Z(e){if(Array.isArray(e)){let t=Array(e.length);for(let e=0;e<t.length;e++)t[e]=``+e;return t}return Object.keys(e)}function Q(e){return typeof e==`object`&&!!e&&!(e instanceof Date)&&typeof e.toJSON==`function`}function $(e,t,n,r,i=-1){let a=t,o=e;if(a===o)return;if(Q(a)&&(a=a.toJSON()),Q(o)&&(o=o.toJSON()),typeof a!=`object`||!a||a instanceof Date||typeof o!=`object`||!o||o instanceof Date){o!==a&&n.push({op:`replace`,path:r,keyIndex:i,from:o,to:a});return}else if(Array.isArray(a)!==Array.isArray(o)){n.push({op:`replace`,path:r,keyIndex:i,from:o,to:a});return}let s,c;try{s=Z(a),c=Z(o)}catch{return}let l=!1,u=!1;for(let e=c.length-1;e>=0;e--)try{let t=c[e],i=o[t];if(X(a,t)&&!(a[t]===void 0&&i!==void 0&&Array.isArray(a)===!1)){let o=a[t];$(i,o,n,[...r,t],e)}else Array.isArray(o)===Array.isArray(a)&&(n.push({op:`remove`,path:[...r,t],keyIndex:e,value:i}),l=!0)}catch{u=!0;continue}if(!(!l&&!u&&s.length===c.length))for(let e=0;e<s.length;e++)try{let t=s[e];!X(o,t)&&a[t]!==void 0&&n.push({op:`add`,path:[...r,t],keyIndex:e,value:a[t]})}catch{continue}}function Se(e,t){let n=[];return $(e,t,n,[]),n}Object.defineProperty(exports,`$`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`A`,{enumerable:!0,get:function(){return 128}}),Object.defineProperty(exports,`B`,{enumerable:!0,get:function(){return 23}}),Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,`D`,{enumerable:!0,get:function(){return 25}}),Object.defineProperty(exports,`E`,{enumerable:!0,get:function(){return 255}}),Object.defineProperty(exports,`F`,{enumerable:!0,get:function(){return 96}}),Object.defineProperty(exports,`G`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`H`,{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,`I`,{enumerable:!0,get:function(){return 0}}),Object.defineProperty(exports,`J`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`K`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`L`,{enumerable:!0,get:function(){return 20}}),Object.defineProperty(exports,`M`,{enumerable:!0,get:function(){return 32}}),Object.defineProperty(exports,`N`,{enumerable:!0,get:function(){return 224}}),Object.defineProperty(exports,`O`,{enumerable:!0,get:function(){return 26}}),Object.defineProperty(exports,`P`,{enumerable:!0,get:function(){return 192}}),Object.defineProperty(exports,`Q`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`R`,{enumerable:!0,get:function(){return 22}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`T`,{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,`U`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`V`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`W`,{enumerable:!0,get:function(){return 1}}),Object.defineProperty(exports,`X`,{enumerable:!0,get:function(){return 3}}),Object.defineProperty(exports,`Y`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`Z`,{enumerable:!0,get:function(){return 2}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return ye}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return me}}),Object.defineProperty(exports,`et`,{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return ve}}),Object.defineProperty(exports,`it`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`j`,{enumerable:!0,get:function(){return 160}}),Object.defineProperty(exports,`k`,{enumerable:!0,get:function(){return 27}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return _e}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return he}}),Object.defineProperty(exports,`nt`,{enumerable:!0,get:function(){return 258}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,`q`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return ge}}),Object.defineProperty(exports,`rt`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return be}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return Se}}),Object.defineProperty(exports,`tt`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,`w`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,`z`,{enumerable:!0,get:function(){return 21}});
@@ -1 +0,0 @@
1
- const e=0,t=32,n=96,r=128,i=160,a=192,o=224,s=20,c=21,l=22,u=23,ee=25,te=26,ne=27,re=255,ie=1,ae=2,oe=3,se=258,d=21066,f=27001,p=27002,m=27003,h=27004,g=27005,_=27006,v=27007,y=27008,b=27010,x=27011,S=27012,C=27013,w=27014;var ce=class{chunks=[];current;offset=0;totalSize=0;constructor(){this.current=new Uint8Array(4096)}ensureCapacity(e){if(this.offset+e<=this.current.length)return;this.offset>0&&this.chunks.push(this.current.subarray(0,this.offset));let t=Math.min(Math.max(this.current.length*2,e),65536);this.current=new Uint8Array(Math.max(t,e)),this.offset=0}writeByte(e){this.ensureCapacity(1),this.current[this.offset++]=e,this.totalSize++}writeBytes(e){this.ensureCapacity(e.length),this.current.set(e,this.offset),this.offset+=e.length,this.totalSize+=e.length}writeHeader(e,t){if(t<24)this.writeByte(e|t);else if(t<256)this.ensureCapacity(2),this.current[this.offset++]=e|24,this.current[this.offset++]=t,this.totalSize+=2;else if(t<65536)this.ensureCapacity(3),this.current[this.offset++]=e|25,this.current[this.offset++]=t>>8,this.current[this.offset++]=t&255,this.totalSize+=3;else if(t<4294967296)this.ensureCapacity(5),this.current[this.offset++]=e|26,this.current[this.offset++]=t>>24&255,this.current[this.offset++]=t>>16&255,this.current[this.offset++]=t>>8&255,this.current[this.offset++]=t&255,this.totalSize+=5;else{this.ensureCapacity(9),this.current[this.offset++]=e|27;let n=Math.floor(t/4294967296),r=t>>>0;this.current[this.offset++]=n>>24&255,this.current[this.offset++]=n>>16&255,this.current[this.offset++]=n>>8&255,this.current[this.offset++]=n&255,this.current[this.offset++]=r>>24&255,this.current[this.offset++]=r>>16&255,this.current[this.offset++]=r>>8&255,this.current[this.offset++]=r&255,this.totalSize+=9}}writeTag(e){this.writeHeader(192,e)}writeFloat64(e){this.ensureCapacity(9),this.current[this.offset++]=251;let t=new DataView(new ArrayBuffer(8));t.setFloat64(0,e,!1);for(let e=0;e<8;e++)this.current[this.offset++]=t.getUint8(e);this.totalSize+=9}writeBreak(){this.writeByte(255)}getSize(){return this.totalSize}toUint8Array(){if(this.offset>0&&this.chunks.push(this.current.subarray(0,this.offset)),this.chunks.length===1)return this.chunks[0];let e=new Uint8Array(this.totalSize),t=0;for(let n of this.chunks)e.set(n,t),t+=n.length;return e}};const T=new TextEncoder;function le(e){e.writeByte(246)}function ue(e){e.writeByte(247)}function de(e,t){e.writeByte(224|(t?21:20))}function E(e,t){if(Number.isNaN(t)||!Number.isFinite(t)){e.writeFloat64(t);return}if(Number.isInteger(t)){if(t>=0&&t<=2**53-1){e.writeHeader(0,t);return}if(t<0&&t>=-(2**53-1)){e.writeHeader(32,-1-t);return}}e.writeFloat64(t)}function D(e,t,n){let r=t;r.length>n&&(r=r.substring(0,n)+` [truncated]`);let i=T.encode(r);e.writeHeader(96,i.length),e.writeBytes(i)}function fe(e,t){e.writeTag(v);let n=t.toString(),r=T.encode(n);e.writeHeader(96,r.length),e.writeBytes(r)}function pe(e,t){let n=t.toString(),r=T.encode(n);e.writeHeader(96,r.length),e.writeBytes(r)}function O(e,t){e.writeTag(t),e.writeByte(246)}function me(e){O(e,f)}function he(e){O(e,p)}function k(e){O(e,m)}function ge(e){O(e,h)}function _e(e){O(e,g)}function ve(e){O(e,_)}function ye(e){O(e,y)}function be(e,t){let n=t.getTime();if(e.writeTag(1),Number.isNaN(n))e.writeFloat64(NaN);else{let t=n/1e3;Number.isInteger(t)?E(e,t):e.writeFloat64(t)}}function xe(e,t){e.writeTag(d),e.writeHeader(128,2);let n=T.encode(t.source);e.writeHeader(96,n.length),e.writeBytes(n);let r=T.encode(t.flags);e.writeHeader(96,r.length),e.writeBytes(r)}function A(e,t,n,r){e.writeTag(b);let i=2;t.stack&&i++,t.cause!==void 0&&i++,e.writeHeader(160,i),j(e,`name`),D(e,t.name,n),j(e,`message`),D(e,t.message,n),t.stack&&(j(e,`stack`),D(e,t.stack,n)),t.cause!==void 0&&(j(e,`cause`),t.cause instanceof Error?A(e,t.cause,n,r):r(t.cause))}function Se(e,t){e.writeTag(x);let n=typeof t.name==`string`&&t.name?t.name:`(anonymous)`,r=T.encode(n);e.writeHeader(96,r.length),e.writeBytes(r)}function Ce(e,t){e.writeTag(S);let n=typeof t.name==`string`&&t.name?t.name:`(anonymous)`,r=T.encode(n);e.writeHeader(96,r.length),e.writeBytes(r)}function j(e,t){let n=T.encode(t);e.writeHeader(96,n.length),e.writeBytes(n)}function we(e){try{return/^class\s/.test(e.toString())}catch{return!1}}function Te(e,t,n,r){let i=t.length;if(i<=n){e.writeHeader(128,i);for(let e of t)r(e)}else{e.writeByte(159);for(let e=0;e<n;e++)r(t[e]);k(e),e.writeBreak()}}function Ee(e,t,n,r){let i=Object.keys(t),a=i.length;if(a<=n){e.writeHeader(160,a);for(let n of i)M(e,n),r(t[n])}else{e.writeByte(191);for(let a=0;a<n;a++){let n=i[a];M(e,n),r(t[n])}M(e,`__truncated__`),k(e),e.writeBreak()}}function De(e,t,n,r){e.writeTag(w);let i=t.size;if(i<=n){e.writeHeader(160,i);for(let[e,n]of t)r(e),r(n)}else{e.writeByte(191);let i=0;for(let[e,a]of t){if(i>=n)break;r(e),r(a),i++}M(e,`__truncated__`),k(e),e.writeBreak()}}function Oe(e,t,n,r){e.writeTag(258);let i=t.size;if(i<=n){e.writeHeader(128,i);for(let e of t)r(e)}else{e.writeByte(159);let i=0;for(let e of t){if(i>=n)break;r(e),i++}k(e),e.writeBreak()}}function ke(e,t,n,r,i){e.writeTag(C),e.writeHeader(160,2),M(e,`name`);let a=t.constructor?.name;typeof a!=`string`&&(a=`Object`);let o=T.encode(a);e.writeHeader(96,o.length),e.writeBytes(o),M(e,`properties`);let s=Object.keys(t),c=s.length;if(c<=n){e.writeHeader(160,c);for(let n of s){M(e,n);try{i(t[n])}catch{let t=T.encode(`[Throws]`);e.writeHeader(96,t.length),e.writeBytes(t)}}}else{e.writeByte(191);for(let r=0;r<n;r++){let n=s[r];M(e,n);try{i(t[n])}catch{let t=T.encode(`[Throws]`);e.writeHeader(96,t.length),e.writeBytes(t)}}M(e,`__truncated__`),k(e),e.writeBreak()}}function M(e,t){let n=T.encode(t);e.writeHeader(96,n.length),e.writeBytes(n)}const N=`$REDACTED$`,P=`$UNDEFINED$`,F=`$BIGINT$`,I=`$FUNCTION$`,L=`$PROMISE$`,R=`$CIRCULAR_REFERENCE$`,z=`$UNKNOWN$`,B=`$TOO_LARGE$`,V=`$MAX_DEPTH_REACHED$`,H=`$SERIALIZATION_ERROR$`,U=`$NaN$`,W=`$Infinity$`,G=`$-Infinity$`,K={REDACTED:N,UNDEFINED:P,BIG_INT:F,FUNCTION:I,PROMISE:L,CIRCULAR_REFERENCE:R,UNKNOWN:z,TOO_LARGE:B,MAX_DEPTH_REACHED:V,SERIALIZATION_ERROR:H,NOT_A_NUMBER:U,POSITIVE_INFINITY:W,NEGATIVE_INFINITY:G},Ae=Object.prototype.hasOwnProperty;function je(e,t){if(Ae.call(e,t))try{return e[t]}catch(e){return`[Throws: `+(e instanceof Error?e.message:`?`)+`]`}return e[t]}function q(e,t){try{if(t.depth>t.maxDepth){he(t.buffer);return}if(t.buffer.getSize()>t.maxTotalSize){k(t.buffer);return}if(e===null){le(t.buffer);return}if(e===void 0){ue(t.buffer);return}if(typeof e==`boolean`){de(t.buffer,e);return}if(typeof e==`number`){E(t.buffer,e);return}if(typeof e==`string`){if(e===K.REDACTED){ye(t.buffer);return}D(t.buffer,e,t.maxStringLength);return}if(typeof e==`bigint`){fe(t.buffer,e);return}if(typeof e==`symbol`){pe(t.buffer,e);return}if(typeof e==`function`){we(e)?Ce(t.buffer,e):Se(t.buffer,e);return}if(typeof e==`object`){if(e instanceof Date){be(t.buffer,e);return}if(e instanceof RegExp){xe(t.buffer,e);return}if(e instanceof Error){A(t.buffer,e,t.maxStringLength,e=>q(e,{...t,depth:t.depth+1}));return}if(e instanceof Promise){ge(t.buffer);return}if(t.seen.has(e)){me(t.buffer);return}t.seen.add(e);let n={...t,depth:t.depth+1},r=e=>q(e,n);if(e instanceof Map){De(t.buffer,e,t.maxMapSize,r),t.seen.delete(e);return}if(e instanceof Set){Oe(t.buffer,e,t.maxArraySize,r),t.seen.delete(e);return}if(Array.isArray(e)){Te(t.buffer,e,t.maxArraySize,r),t.seen.delete(e);return}if(`toJSON`in e&&typeof e.toJSON==`function`)try{q(e.toJSON(),n),t.seen.delete(e);return}catch(n){let r=`[Throws: `+(n instanceof Error?n.message:`?`)+`]`;D(t.buffer,r,t.maxStringLength),t.seen.delete(e);return}if(Object.getPrototypeOf(e)===Object.prototype){let n={};for(let t of Object.keys(e))n[t]=je(e,t);Ee(t.buffer,n,t.maxMapSize,r)}else ke(t.buffer,e,t.maxMapSize,t.maxStringLength,r);t.seen.delete(e);return}_e(t.buffer)}catch(e){try{t.onError?.(e)}catch{}ve(t.buffer)}}function Me(e,t={}){let n=new ce;return q(e,{buffer:n,seen:new WeakSet,depth:0,maxDepth:t.maxDepth??30,maxTotalSize:t.maxTotalSize??5e6,maxArraySize:t.maxArraySize??1e3,maxMapSize:t.maxMapSize??1e3,maxStringLength:t.maxStringLength??1e5,onError:t.onError}),n.toUint8Array()}function J(e=6){try{let t=crypto.getRandomValues(new Uint8Array(e));return Array.from(t,e=>`abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789`[e%62]).join(``)}catch{return Math.random().toString(36).substring(2,2+e)}}const Ne=()=>window.Capture,Pe=e=>{window.Capture=e},Fe=()=>window.captureOptions,Ie=e=>{window.captureOptions=e},Y=()=>{let e=window.__capture;return e||(e={},window.__capture=e),e},Le=()=>{let e=Y(),t=e.loggers;return t||(t=new Map,e.loggers=t),t},Re=()=>{let e=Y(),t=e.sinks;return t||(t=new Set,e.sinks=t),t},ze=()=>{let e=Y(),t=e.pageId;return t||(t=J(),e.pageId=t),t},Be=Object.prototype.hasOwnProperty;function X(e,t){return Be.call(e,t)}function Z(e){if(Array.isArray(e)){let t=Array(e.length);for(let e=0;e<t.length;e++)t[e]=``+e;return t}return Object.keys(e)}function Q(e){return typeof e==`object`&&!!e&&!(e instanceof Date)&&typeof e.toJSON==`function`}function $(e,t,n,r,i=-1){let a=t,o=e;if(a===o)return;if(Q(a)&&(a=a.toJSON()),Q(o)&&(o=o.toJSON()),typeof a!=`object`||!a||a instanceof Date||typeof o!=`object`||!o||o instanceof Date){o!==a&&n.push({op:`replace`,path:r,keyIndex:i,from:o,to:a});return}else if(Array.isArray(a)!==Array.isArray(o)){n.push({op:`replace`,path:r,keyIndex:i,from:o,to:a});return}let s,c;try{s=Z(a),c=Z(o)}catch{return}let l=!1,u=!1;for(let e=c.length-1;e>=0;e--)try{let t=c[e],i=o[t];if(X(a,t)&&!(a[t]===void 0&&i!==void 0&&Array.isArray(a)===!1)){let o=a[t];$(i,o,n,[...r,t],e)}else Array.isArray(o)===Array.isArray(a)&&(n.push({op:`remove`,path:[...r,t],keyIndex:e,value:i}),l=!0)}catch{u=!0;continue}if(!(!l&&!u&&s.length===c.length))for(let e=0;e<s.length;e++)try{let t=s[e];!X(o,t)&&a[t]!==void 0&&n.push({op:`add`,path:[...r,t],keyIndex:e,value:a[t]})}catch{continue}}function Ve(e,t){let n=[];return $(e,t,n,[]),n}export{y as $,r as A,u as B,B as C,ee as D,re as E,n as F,b as G,f as H,e as I,p as J,x as K,s as L,t as M,o as N,te as O,a as P,h as Q,l as R,K as S,z as T,S as U,v as V,ie as W,oe as X,C as Y,ae as Z,U as _,Re as a,N as b,Pe as c,Me as d,d as et,F as f,G as g,V as h,Le as i,g as it,i as j,ne as k,Ie as l,I as m,Ne as n,se as nt,Y as o,R as p,w as q,Fe as r,m as rt,ze as s,Ve as t,_ as tt,J as u,W as v,P as w,H as x,L as y,c as z};