@docx-editor.dev/telemetry 2.36.0-canary.20261108032737.sha-f189d65 → 2.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-2YDLOM3X.js → chunk-57ARMVFM.js} +1 -1
- package/dist/{chunk-4UZDK2OY.cjs → chunk-KWUY6LI3.cjs} +1 -1
- package/dist/chunk-OMBPGHSR.js +6 -0
- package/dist/chunk-Z7RURMDH.cjs +6 -0
- package/dist/hocuspocus/index.cjs +1 -1
- package/dist/hocuspocus/index.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/server/index.cjs +1 -1
- package/dist/server/index.js +1 -1
- package/package.json +3 -3
- package/dist/chunk-5OWXCLOT.cjs +0 -6
- package/dist/chunk-HKSHYWHK.js +0 -6
|
@@ -3,4 +3,4 @@ Copyright (c) 2026 Eigenpal, Inc. All rights reserved.
|
|
|
3
3
|
Licensed under the EigenPal Pro Evaluation License 1.0. See LICENSE.md in this package.
|
|
4
4
|
Production use requires a commercial agreement: licensing@eigenpal.com
|
|
5
5
|
*/
|
|
6
|
-
import {c}from'./chunk-
|
|
6
|
+
import {c}from'./chunk-OMBPGHSR.js';import {a}from'./chunk-RSWAOCAT.js';import {createHmac}from'crypto';import {readCollaborationResourceUsage}from'@docx-editor.dev/pro/collaboration';import {diagnosticCodes}from'@docx-editor.dev/core';import {isCollaborationFailureCode}from'@docx-editor.dev/core/collaboration';import*as M from'yjs';function X(r){if(typeof r!="string"||r.length===0)throw new TypeError("hmacRoomLabel needs a non-empty secret, such as an environment variable.");let o=c=>`room-${createHmac("sha256",r).update(c).digest("hex").slice(0,16)}`;return C.add(o),o}var C=new WeakSet;function z(r,o){if(!r)return "permission-denied";let c=r,u=typeof r=="string"?r:typeof r=="object"?c.reason??c.code??(typeof c.message=="string"&&o.has(c.message.toLowerCase())?c.message:void 0):void 0;if(u===void 0)return "other";if(typeof u=="number")return Y[u]??"other";if(typeof u!="string")return "other";if(isCollaborationFailureCode(u))return u;let b=u.toLowerCase();return o.has(b)?b:"other"}var Y={4401:"unauthorized",4403:"forbidden"},F=diagnosticCodes().map(r=>r.replace(/^collab\./,"")).filter(isCollaborationFailureCode),$=["unauthorized","forbidden","permission-denied","unknown-room","rate-limited"];function Z(r){let o=c(r),c$1=new Set([...$,...r.reasons??[]].map(e=>e.toLowerCase())),u=r.measureState??true;for(let e of new Set([...c$1,...F,"other"]))o.declare(a.admissionRejections,{reason:e}),o.declare(a.messageRefusals,{reason:e});for(let e of ["success","failure"])o.declare(a.roomLoadDuration,{outcome:e}),o.declare(a.roomStoreDuration,{outcome:e});for(let e of ["migrated","unchanged","failed"])o.declare(a.migrations,{outcome:e});o.declare(a.updates),o.declare(a.updateBytes);let b=e=>{try{return z(r.reasonOf?.(e)??e,c$1)}catch{return "other"}},B=r.perRoomSeries===true;if(B&&r.roomLabel&&!C.has(r.roomLabel))throw new TypeError("perRoomSeries puts the room label into every series, so it accepts only the default label or hmacRoomLabel(secret). A custom roomLabel could put a room name in a metric.");for(let e of r.exporters)e.metric||console.warn(`[docx-editor telemetry] exporter "${e.name}" records no metrics, and room telemetry sends only metrics. Use otelExporter or prometheusRegistry on a server.`);let m=new Set,E=0,_=r.roomLabel??(()=>`room-${E+=1}`),f=()=>Date.now();function g(){let e=0,n=0,t=0;for(let a of m){let l=w(a);e+=a.connections,n+=l,t=Math.max(t,l);}o.metric(a.roomsActive,m.size),o.metric(a.connectionsActive,e),o.metric(a.participantsActive,n),o.metric(a.roomParticipantsMax,t);}function S(e,n){let t=e==="load"?a.roomLoadDuration:a.roomStoreDuration,a$1=globalThis.performance?.now()??f(),l=n?.pendingBytes??0,y=false;return i=>{y||(y=true,o.metric(t,G(a$1),{outcome:i}),i==="success"&&e==="store"&&n&&(n.pendingBytes=Math.max(0,n.pendingBytes-l)));}}async function x(e,n,t){let a=S(e,t);try{let l=await n();return a("success"),l}catch(l){throw a("failure"),l}}function O(e,n){try{j(e,n);}catch{e.changed=true;}}function j(e,n){if(e.changed||!e.sampled){e.changed=false,e.sampled=true,u&&(e.stateBytes=M.encodeStateAsUpdate(e.doc).byteLength);try{let t=readCollaborationResourceUsage(e.doc);e.blobBytes=t.blobBytes,e.nodes=t.nodes;let a={nodes:t.nodes/t.maxNodes,relationships:t.relationships/t.maxRelationships,parts:t.parts/t.maxParts,blobBytes:t.blobBytes/t.maxBlobBytes};e.limitRatio=Math.max(...Object.values(a)),e.ratios=a,e.nodeStates={live:t.nodes-t.tombstonedNodes,tombstoned:t.tombstonedNodes};}catch{}}for(let[t,a$1]of Object.entries(e.ratios??{}))o.metric(a.roomResourceUsage,a$1,{resource:t});for(let[t,a$1]of Object.entries(e.nodeStates??{}))o.metric(a.roomNodes,a$1,{state:t});if(o.metric(a.roomParticipants,w(e)),e.stateBytes!==null&&o.metric(a.roomMemory,e.stateBytes,{kind:"state"}),e.blobBytes!==null&&o.metric(a.roomMemory,e.blobBytes,{kind:"blobs"}),o.metric(a.roomMemory,e.pendingBytes,{kind:"pending_updates"}),o.metric(a.roomAge,(n-e.openedAt)/1e3),o.metric(a.roomIdle,(n-e.lastChange)/1e3),B){let t=e.handle.label;o.metric(a.roomParticipantsByRoom,w(e),{room:t});for(let[a$1,l]of A(e))o.metric(a.roomMemoryByRoom,l,{room:t,kind:a$1});}}function h(){let e={state:0,blobs:0,pending_updates:0};for(let n of m)e.state+=n.stateBytes??0,e.blobs+=n.blobBytes??0,e.pending_updates+=n.pendingBytes;for(let[n,t]of Object.entries(e))o.metric(a.roomsMemory,t,{kind:n});g();}function D(){let e=f();for(let n of m)O(n,e);h();}let v=false;async function H(){if(!v){v=true;try{let e=f();for(let n of [...m])m.has(n)&&O(n,e),await new Promise(t=>setTimeout(t,0));h();}finally{v=false;}}}h();let T=r.sampleInterval??6e4,k=T===false?null:setInterval(()=>{H();},T);return k?.unref?.(),{open(e,n={}){let t=f(),a$1=(d,p)=>{if(i.changed=true,i.loading>0)return;i.lastChange=f();let R=p?.source;R==="redis"||R==="local"&&p.skipStoreHooks===true||(i.pendingBytes+=d.byteLength,o.metric(a.updates,1),o.metric(a.updateBytes,d.byteLength));},l=d=>{let{added:p,removed:R}=d??{};(p?.length??0)+(R?.length??0)>0&&g();};e.on("update",a$1),n.awareness?.on("change",l);let y={label:_(n.name??""),async time(d,p){d==="load"&&(i.loading+=1);try{return await x(d,p,i)}finally{d==="load"&&(i.loading-=1);}},begin:d=>S(d,i),connected(){i.connections+=1,g();},disconnected(){i.connections=Math.max(0,i.connections-1),g();},close(){if(m.delete(i)){if(i.dispose(),B){let d=y.label;o.forget(a.roomParticipantsByRoom,{room:d});for(let[p]of A(i))o.forget(a.roomMemoryByRoom,{room:d,kind:p});}h();}}},i={handle:y,doc:e,awareness:n.awareness,openedAt:t,lastChange:t,connections:0,pendingBytes:0,changed:true,loading:0,sampled:false,stateBytes:null,blobBytes:null,nodes:null,limitRatio:null,dispose(){e.off("update",a$1),n.awareness?.off("change",l);}};return m.add(i),g(),y},rejected(e){o.metric(a.admissionRejections,1,{reason:b(e)});},refused(e){o.metric(a.messageRefusals,1,{reason:b(e)});},migrated(e){o.metric(a.migrations,1,{outcome:e});},time:(e,n)=>x(e,n),begin:e=>S(e),list(){let e=f();return [...m].map(n=>({room:n.handle.label,participants:w(n),connections:n.connections,stateBytes:n.stateBytes,blobBytes:n.blobBytes,pendingBytes:n.pendingBytes,nodes:n.nodes,limitRatio:n.limitRatio,ageSeconds:Math.round((e-n.openedAt)/1e3),idleSeconds:Math.round((e-n.lastChange)/1e3)}))},sample:D,flush:()=>o.flush(),async shutdown(){k&&clearInterval(k);for(let e of [...m])e.handle.close();await o.shutdown();}}}function A(r){return [["state",r.stateBytes??0],["blobs",r.blobBytes??0],["pending_updates",r.pendingBytes]]}function w(r){if(!r.awareness)return r.connections;try{return r.awareness.getStates().size}catch{return r.connections}}function G(r){return Math.max(0,((globalThis.performance?.now()??Date.now())-r)/1e3)}export{X as a,Z as b};
|
|
@@ -3,4 +3,4 @@ Copyright (c) 2026 Eigenpal, Inc. All rights reserved.
|
|
|
3
3
|
Licensed under the EigenPal Pro Evaluation License 1.0. See LICENSE.md in this package.
|
|
4
4
|
Production use requires a commercial agreement: licensing@eigenpal.com
|
|
5
5
|
*/
|
|
6
|
-
'use strict';var
|
|
6
|
+
'use strict';var chunkZ7RURMDH_cjs=require('./chunk-Z7RURMDH.cjs'),chunkAL2YERWY_cjs=require('./chunk-AL2YERWY.cjs'),crypto=require('crypto'),collaboration$1=require('@docx-editor.dev/pro/collaboration'),core=require('@docx-editor.dev/core'),collaboration=require('@docx-editor.dev/core/collaboration'),M=require('yjs');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var M__namespace=/*#__PURE__*/_interopNamespace(M);function X(r){if(typeof r!="string"||r.length===0)throw new TypeError("hmacRoomLabel needs a non-empty secret, such as an environment variable.");let o=c=>`room-${crypto.createHmac("sha256",r).update(c).digest("hex").slice(0,16)}`;return C.add(o),o}var C=new WeakSet;function z(r,o){if(!r)return "permission-denied";let c=r,u=typeof r=="string"?r:typeof r=="object"?c.reason??c.code??(typeof c.message=="string"&&o.has(c.message.toLowerCase())?c.message:void 0):void 0;if(u===void 0)return "other";if(typeof u=="number")return Y[u]??"other";if(typeof u!="string")return "other";if(collaboration.isCollaborationFailureCode(u))return u;let b=u.toLowerCase();return o.has(b)?b:"other"}var Y={4401:"unauthorized",4403:"forbidden"},F=core.diagnosticCodes().map(r=>r.replace(/^collab\./,"")).filter(collaboration.isCollaborationFailureCode),$=["unauthorized","forbidden","permission-denied","unknown-room","rate-limited"];function Z(r){let o=chunkZ7RURMDH_cjs.c(r),c=new Set([...$,...r.reasons??[]].map(e=>e.toLowerCase())),u=r.measureState??true;for(let e of new Set([...c,...F,"other"]))o.declare(chunkAL2YERWY_cjs.a.admissionRejections,{reason:e}),o.declare(chunkAL2YERWY_cjs.a.messageRefusals,{reason:e});for(let e of ["success","failure"])o.declare(chunkAL2YERWY_cjs.a.roomLoadDuration,{outcome:e}),o.declare(chunkAL2YERWY_cjs.a.roomStoreDuration,{outcome:e});for(let e of ["migrated","unchanged","failed"])o.declare(chunkAL2YERWY_cjs.a.migrations,{outcome:e});o.declare(chunkAL2YERWY_cjs.a.updates),o.declare(chunkAL2YERWY_cjs.a.updateBytes);let b=e=>{try{return z(r.reasonOf?.(e)??e,c)}catch{return "other"}},B=r.perRoomSeries===true;if(B&&r.roomLabel&&!C.has(r.roomLabel))throw new TypeError("perRoomSeries puts the room label into every series, so it accepts only the default label or hmacRoomLabel(secret). A custom roomLabel could put a room name in a metric.");for(let e of r.exporters)e.metric||console.warn(`[docx-editor telemetry] exporter "${e.name}" records no metrics, and room telemetry sends only metrics. Use otelExporter or prometheusRegistry on a server.`);let m=new Set,E=0,_=r.roomLabel??(()=>`room-${E+=1}`),f=()=>Date.now();function g(){let e=0,n=0,t=0;for(let a of m){let l=w(a);e+=a.connections,n+=l,t=Math.max(t,l);}o.metric(chunkAL2YERWY_cjs.a.roomsActive,m.size),o.metric(chunkAL2YERWY_cjs.a.connectionsActive,e),o.metric(chunkAL2YERWY_cjs.a.participantsActive,n),o.metric(chunkAL2YERWY_cjs.a.roomParticipantsMax,t);}function S(e,n){let t=e==="load"?chunkAL2YERWY_cjs.a.roomLoadDuration:chunkAL2YERWY_cjs.a.roomStoreDuration,a=globalThis.performance?.now()??f(),l=n?.pendingBytes??0,y=false;return i=>{y||(y=true,o.metric(t,G(a),{outcome:i}),i==="success"&&e==="store"&&n&&(n.pendingBytes=Math.max(0,n.pendingBytes-l)));}}async function x(e,n,t){let a=S(e,t);try{let l=await n();return a("success"),l}catch(l){throw a("failure"),l}}function O(e,n){try{j(e,n);}catch{e.changed=true;}}function j(e,n){if(e.changed||!e.sampled){e.changed=false,e.sampled=true,u&&(e.stateBytes=M__namespace.encodeStateAsUpdate(e.doc).byteLength);try{let t=collaboration$1.readCollaborationResourceUsage(e.doc);e.blobBytes=t.blobBytes,e.nodes=t.nodes;let a={nodes:t.nodes/t.maxNodes,relationships:t.relationships/t.maxRelationships,parts:t.parts/t.maxParts,blobBytes:t.blobBytes/t.maxBlobBytes};e.limitRatio=Math.max(...Object.values(a)),e.ratios=a,e.nodeStates={live:t.nodes-t.tombstonedNodes,tombstoned:t.tombstonedNodes};}catch{}}for(let[t,a]of Object.entries(e.ratios??{}))o.metric(chunkAL2YERWY_cjs.a.roomResourceUsage,a,{resource:t});for(let[t,a]of Object.entries(e.nodeStates??{}))o.metric(chunkAL2YERWY_cjs.a.roomNodes,a,{state:t});if(o.metric(chunkAL2YERWY_cjs.a.roomParticipants,w(e)),e.stateBytes!==null&&o.metric(chunkAL2YERWY_cjs.a.roomMemory,e.stateBytes,{kind:"state"}),e.blobBytes!==null&&o.metric(chunkAL2YERWY_cjs.a.roomMemory,e.blobBytes,{kind:"blobs"}),o.metric(chunkAL2YERWY_cjs.a.roomMemory,e.pendingBytes,{kind:"pending_updates"}),o.metric(chunkAL2YERWY_cjs.a.roomAge,(n-e.openedAt)/1e3),o.metric(chunkAL2YERWY_cjs.a.roomIdle,(n-e.lastChange)/1e3),B){let t=e.handle.label;o.metric(chunkAL2YERWY_cjs.a.roomParticipantsByRoom,w(e),{room:t});for(let[a,l]of A(e))o.metric(chunkAL2YERWY_cjs.a.roomMemoryByRoom,l,{room:t,kind:a});}}function h(){let e={state:0,blobs:0,pending_updates:0};for(let n of m)e.state+=n.stateBytes??0,e.blobs+=n.blobBytes??0,e.pending_updates+=n.pendingBytes;for(let[n,t]of Object.entries(e))o.metric(chunkAL2YERWY_cjs.a.roomsMemory,t,{kind:n});g();}function D(){let e=f();for(let n of m)O(n,e);h();}let v=false;async function H(){if(!v){v=true;try{let e=f();for(let n of [...m])m.has(n)&&O(n,e),await new Promise(t=>setTimeout(t,0));h();}finally{v=false;}}}h();let T=r.sampleInterval??6e4,k=T===false?null:setInterval(()=>{H();},T);return k?.unref?.(),{open(e,n={}){let t=f(),a=(d,p)=>{if(i.changed=true,i.loading>0)return;i.lastChange=f();let R=p?.source;R==="redis"||R==="local"&&p.skipStoreHooks===true||(i.pendingBytes+=d.byteLength,o.metric(chunkAL2YERWY_cjs.a.updates,1),o.metric(chunkAL2YERWY_cjs.a.updateBytes,d.byteLength));},l=d=>{let{added:p,removed:R}=d??{};(p?.length??0)+(R?.length??0)>0&&g();};e.on("update",a),n.awareness?.on("change",l);let y={label:_(n.name??""),async time(d,p){d==="load"&&(i.loading+=1);try{return await x(d,p,i)}finally{d==="load"&&(i.loading-=1);}},begin:d=>S(d,i),connected(){i.connections+=1,g();},disconnected(){i.connections=Math.max(0,i.connections-1),g();},close(){if(m.delete(i)){if(i.dispose(),B){let d=y.label;o.forget(chunkAL2YERWY_cjs.a.roomParticipantsByRoom,{room:d});for(let[p]of A(i))o.forget(chunkAL2YERWY_cjs.a.roomMemoryByRoom,{room:d,kind:p});}h();}}},i={handle:y,doc:e,awareness:n.awareness,openedAt:t,lastChange:t,connections:0,pendingBytes:0,changed:true,loading:0,sampled:false,stateBytes:null,blobBytes:null,nodes:null,limitRatio:null,dispose(){e.off("update",a),n.awareness?.off("change",l);}};return m.add(i),g(),y},rejected(e){o.metric(chunkAL2YERWY_cjs.a.admissionRejections,1,{reason:b(e)});},refused(e){o.metric(chunkAL2YERWY_cjs.a.messageRefusals,1,{reason:b(e)});},migrated(e){o.metric(chunkAL2YERWY_cjs.a.migrations,1,{outcome:e});},time:(e,n)=>x(e,n),begin:e=>S(e),list(){let e=f();return [...m].map(n=>({room:n.handle.label,participants:w(n),connections:n.connections,stateBytes:n.stateBytes,blobBytes:n.blobBytes,pendingBytes:n.pendingBytes,nodes:n.nodes,limitRatio:n.limitRatio,ageSeconds:Math.round((e-n.openedAt)/1e3),idleSeconds:Math.round((e-n.lastChange)/1e3)}))},sample:D,flush:()=>o.flush(),async shutdown(){k&&clearInterval(k);for(let e of [...m])e.handle.close();await o.shutdown();}}}function A(r){return [["state",r.stateBytes??0],["blobs",r.blobBytes??0],["pending_updates",r.pendingBytes]]}function w(r){if(!r.awareness)return r.connections;try{return r.awareness.getStates().size}catch{return r.connections}}function G(r){return Math.max(0,((globalThis.performance?.now()??Date.now())-r)/1e3)}exports.a=X;exports.b=Z;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
Copyright (c) 2026 Eigenpal, Inc. All rights reserved.
|
|
3
|
+
Licensed under the EigenPal Pro Evaluation License 1.0. See LICENSE.md in this package.
|
|
4
|
+
Production use requires a commercial agreement: licensing@eigenpal.com
|
|
5
|
+
*/
|
|
6
|
+
import {a}from'./chunk-RSWAOCAT.js';import {c,b}from'./chunk-W5HFB5EV.js';var A=50,R="2.36.0";function M(o){let i=[...o.exporters],T=Object.freeze({...c(o.resource??{},"resource")}),d=[...o.metricLabels??[]],m=new Map,b$1=new Set;function y(e){if(d.length===0)return e;let r={...e};for(let t of d){let n=r[t];if(n===void 0)continue;let s=String(n),a=m.get(t);if(a||m.set(t,a=new Set),!a.has(s)){if(a.size>=A){r[t]="other";continue}a.add(s);}}return r}let f=false;function p(e,r){if(!b$1.has(r)){b$1.add(r);try{if(o.onExporterError){let t=o.onExporterError(e,r);t&&typeof t.then=="function"&&Promise.resolve(t).catch(()=>{});}else console.warn(`[docx-editor telemetry] exporter "${r}" failed`,e);}catch{}}}function c$1(e,r){try{let t=r();if(!t||typeof t.then!="function")return;Promise.resolve(t).then(void 0,n=>p(n,e.name));}catch(t){p(t,e.name);}}function v(){let e=o.consent??true;if(typeof e=="boolean")return e;try{return e()===!0}catch{return false}}function u(){return !f&&v()}let E=false,_=()=>E||globalThis.document?.visibilityState==="hidden";for(let e of i)c$1(e,()=>e.attach?.({consented:v,pageClosing:_}));async function g(e){await Promise.all(i.map(async r=>{try{await e(r);}catch(t){p(t,r.name);}}));}return {resource:T,consented:u,event(e){if(!u())return;let r=b(e);if("dropped"in r){this.metric(a.droppedEvents,1,{reason:r.dropped});return}for(let t of i)t.event&&c$1(t,()=>t.event(r.event));},metric(e,r,t={}){if(!u()||!Number.isFinite(r))return;let n={definition:e,value:r,attributes:y(c(t,e.name,[...e.labels,...d]))};for(let s of i)s.metric&&c$1(s,()=>s.metric(n));},forget(e,r){let t=c(r,e.name,e.labels);for(let n of i)n.forget&&c$1(n,()=>n.forget(e,t));},declare(e,r={}){if(!u())return;let t=y(c(r,e.name,[...e.labels,...d]));for(let n of i)n.declare&&c$1(n,()=>n.declare(e,t));},flush:()=>g(e=>e.flush?.()),setPageClosing(e){E=e;},async shutdown(){f||(f=true,await g(e=>e.shutdown?e.shutdown():e.flush?.()));}}}export{A as a,R as b,M as c};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
Copyright (c) 2026 Eigenpal, Inc. All rights reserved.
|
|
3
|
+
Licensed under the EigenPal Pro Evaluation License 1.0. See LICENSE.md in this package.
|
|
4
|
+
Production use requires a commercial agreement: licensing@eigenpal.com
|
|
5
|
+
*/
|
|
6
|
+
'use strict';var chunkAL2YERWY_cjs=require('./chunk-AL2YERWY.cjs'),chunk7SYLCJFQ_cjs=require('./chunk-7SYLCJFQ.cjs');var A=50,R="2.36.0";function M(o){let i=[...o.exporters],T=Object.freeze({...chunk7SYLCJFQ_cjs.c(o.resource??{},"resource")}),d=[...o.metricLabels??[]],m=new Map,b=new Set;function y(e){if(d.length===0)return e;let r={...e};for(let t of d){let n=r[t];if(n===void 0)continue;let s=String(n),a=m.get(t);if(a||m.set(t,a=new Set),!a.has(s)){if(a.size>=A){r[t]="other";continue}a.add(s);}}return r}let f=false;function p(e,r){if(!b.has(r)){b.add(r);try{if(o.onExporterError){let t=o.onExporterError(e,r);t&&typeof t.then=="function"&&Promise.resolve(t).catch(()=>{});}else console.warn(`[docx-editor telemetry] exporter "${r}" failed`,e);}catch{}}}function c(e,r){try{let t=r();if(!t||typeof t.then!="function")return;Promise.resolve(t).then(void 0,n=>p(n,e.name));}catch(t){p(t,e.name);}}function v(){let e=o.consent??true;if(typeof e=="boolean")return e;try{return e()===!0}catch{return false}}function u(){return !f&&v()}let E=false,_=()=>E||globalThis.document?.visibilityState==="hidden";for(let e of i)c(e,()=>e.attach?.({consented:v,pageClosing:_}));async function g(e){await Promise.all(i.map(async r=>{try{await e(r);}catch(t){p(t,r.name);}}));}return {resource:T,consented:u,event(e){if(!u())return;let r=chunk7SYLCJFQ_cjs.b(e);if("dropped"in r){this.metric(chunkAL2YERWY_cjs.a.droppedEvents,1,{reason:r.dropped});return}for(let t of i)t.event&&c(t,()=>t.event(r.event));},metric(e,r,t={}){if(!u()||!Number.isFinite(r))return;let n={definition:e,value:r,attributes:y(chunk7SYLCJFQ_cjs.c(t,e.name,[...e.labels,...d]))};for(let s of i)s.metric&&c(s,()=>s.metric(n));},forget(e,r){let t=chunk7SYLCJFQ_cjs.c(r,e.name,e.labels);for(let n of i)n.forget&&c(n,()=>n.forget(e,t));},declare(e,r={}){if(!u())return;let t=y(chunk7SYLCJFQ_cjs.c(r,e.name,[...e.labels,...d]));for(let n of i)n.declare&&c(n,()=>n.declare(e,t));},flush:()=>g(e=>e.flush?.()),setPageClosing(e){E=e;},async shutdown(){f||(f=true,await g(e=>e.shutdown?e.shutdown():e.flush?.()));}}}exports.a=A;exports.b=R;exports.c=M;
|
|
@@ -3,4 +3,4 @@ Copyright (c) 2026 Eigenpal, Inc. All rights reserved.
|
|
|
3
3
|
Licensed under the EigenPal Pro Evaluation License 1.0. See LICENSE.md in this package.
|
|
4
4
|
Production use requires a commercial agreement: licensing@eigenpal.com
|
|
5
5
|
*/
|
|
6
|
-
'use strict';var chunkQDOUVRQA_cjs=require('../chunk-QDOUVRQA.cjs'),
|
|
6
|
+
'use strict';var chunkQDOUVRQA_cjs=require('../chunk-QDOUVRQA.cjs'),chunkKWUY6LI3_cjs=require('../chunk-KWUY6LI3.cjs');require('../chunk-Z7RURMDH.cjs'),require('../chunk-AL2YERWY.cjs'),require('../chunk-7SYLCJFQ.cjs'),require('../chunk-WGWKNKUT.cjs');var crypto=require('crypto');function U(a){if(typeof a!="string"||a.length===0)throw new TypeError("requireBearerToken needs a non-empty secret, such as METRICS_TOKEN.");let n=Buffer.from(`Bearer ${a}`);return c=>{let l=c.headers?.authorization,i=Buffer.from(typeof l=="string"?l:"");return i.length===n.length&&crypto.timingSafeEqual(i,n)}}function $(a,n={}){if(n.rooms&&!n.authorize)throw new TypeError("serveMetrics needs authorize when it serves rooms: the list is private.");let c=n.path??"/metrics",l=chunkQDOUVRQA_cjs.c(a,n.merge?{merge:n.merge}:{}),i=0;return async({request:u,response:f})=>{let g=(u.url??"").split("?")[0],w=n.rooms?.path;if(g!==c&&g!==w){await n.next?.({request:u,response:f});return}throw n.authorize&&!A(n.authorize,u)?(f.writeHead(403),f.end()):g===c?(n.sampleBeforeScrape&&Date.now()-i>=5e3&&(i=Date.now(),n.sampleBeforeScrape.sample()),await l(u,f)):(f.writeHead(200,{"Content-Type":"application/json"}),f.end(JSON.stringify(n.rooms.telemetry.list()))),null}}function I(a,n){let c=chunkKWUY6LI3_cjs.b(n),l=new Map,i=new Map,u=new Map,f=e=>typeof e.afterLoadDocument=="function",g=1+(a.extensions??[]).filter(e=>f(e)).length+(f(a)?1:0),w=e=>{let r=(u.get(e)??0)+1;u.set(e,r),!(r<g)&&(u.delete(e),y(i,e,"success"));},p=new Map,R=e=>typeof e.afterStoreDocument=="function",M=1+(a.extensions??[]).filter(e=>R(e)).length+(R(a)?1:0),D=e=>{let r=(p.get(e)??0)+1;p.set(e,r),!(r<M)&&(p.delete(e),y(m,e,"success"));},v=e=>{u.delete(e),y(i,e,"failure"),l.get(e)?.close(),l.delete(e);},m=new Map,h=new Map,P=(e,r)=>`${e}\0${r}`,y=(e,r,s)=>{e.get(r)?.(s),e.delete(r);},q={extensionName:"docx-editor-telemetry",priority:Number.MAX_SAFE_INTEGER,async onLoadDocument({documentName:e}){y(i,e,"failure"),i.set(e,c.begin("load"));},async afterLoadDocument({documentName:e,document:r}){l.get(e)?.close(),l.set(e,c.open(r,{name:e,awareness:r.awareness})),u.set(e,0),w(e);},async onStoreDocument({documentName:e}){m.delete(e),p.delete(e);let r=l.get(e);m.set(e,r?r.begin("store"):c.begin("store"));},async afterStoreDocument({documentName:e}){p.set(e,0),D(e);},async connected({documentName:e,socketId:r}){let s=l.get(e),o=P(r,e);if(!s)return;let t=h.get(o);t?t.count+=1:h.set(o,{room:s,count:1}),s.connected();},async onDisconnect({documentName:e,socketId:r}){let s=P(r,e),o=h.get(s);o&&(o.room.disconnected(),o.count-=1,o.count===0&&h.delete(s));},async afterUnloadDocument({documentName:e}){u.delete(e),p.delete(e),y(i,e,"failure"),m.delete(e),l.get(e)?.close(),l.delete(e);},async onDestroy(){await c.shutdown();}},T=e=>{let r=e,s={},o=(t,d,j)=>{let b=r[t];typeof b=="function"&&(s[t]=async S=>{let k;try{k=await b.call(e,S);}catch(O){throw d(O,S),O}return j?.(S),k});};return o("onConnect",t=>c.rejected(t)),o("onAuthenticate",t=>c.rejected(t)),o("onTokenSync",t=>c.rejected(t)),o("beforeHandleMessage",t=>c.refused(t)),o("onLoadDocument",(t,{documentName:d})=>y(i,d??"","failure")),o("afterLoadDocument",(t,{documentName:d})=>v(d??""),({documentName:t})=>w(t??"")),o("afterStoreDocument",(t,{documentName:d})=>{p.delete(d??""),y(m,d??"",L(t)?"success":"failure");},({documentName:t})=>D(t??"")),o("onStoreDocument",(t,{documentName:d})=>{L(t)?m.delete(d??""):y(m,d??"","failure");}),s},C=T(a),E=(a.extensions??[]).map(e=>{let r=T(e);return new Proxy(Object.create(Object.getPrototypeOf(e)),{get(s,o){if(Object.hasOwn(r,o))return r[o];let t=Reflect.get(e,o,e);return typeof t=="function"&&o!=="constructor"?t.bind(e):t},set(s,o,t){return Reflect.set(e,o,t,e)},has:(s,o)=>Reflect.has(e,o),ownKeys:()=>Reflect.ownKeys(e),getOwnPropertyDescriptor(s,o){let t=Reflect.getOwnPropertyDescriptor(e,o);return t?{...t,configurable:true}:void 0}})});return {config:{...a,...C,extensions:[q,...E]},rooms:c}}function A(a,n){try{return a(n)===!0}catch{return false}}function L(a){return a?.name==="SkipFurtherHooksError"}Object.defineProperty(exports,"hmacRoomLabel",{enumerable:true,get:function(){return chunkKWUY6LI3_cjs.a}});exports.requireBearerToken=U;exports.serveMetrics=$;exports.withCollaborationTelemetry=I;
|
package/dist/hocuspocus/index.js
CHANGED
|
@@ -3,4 +3,4 @@ Copyright (c) 2026 Eigenpal, Inc. All rights reserved.
|
|
|
3
3
|
Licensed under the EigenPal Pro Evaluation License 1.0. See LICENSE.md in this package.
|
|
4
4
|
Production use requires a commercial agreement: licensing@eigenpal.com
|
|
5
5
|
*/
|
|
6
|
-
import {c}from'../chunk-JM4KJB6O.js';import {b}from'../chunk-
|
|
6
|
+
import {c}from'../chunk-JM4KJB6O.js';import {b}from'../chunk-57ARMVFM.js';export{a as hmacRoomLabel}from'../chunk-57ARMVFM.js';import'../chunk-OMBPGHSR.js';import'../chunk-RSWAOCAT.js';import'../chunk-W5HFB5EV.js';import'../chunk-DT2KMPUJ.js';import {timingSafeEqual}from'crypto';function U(a){if(typeof a!="string"||a.length===0)throw new TypeError("requireBearerToken needs a non-empty secret, such as METRICS_TOKEN.");let n=Buffer.from(`Bearer ${a}`);return c=>{let l=c.headers?.authorization,i=Buffer.from(typeof l=="string"?l:"");return i.length===n.length&&timingSafeEqual(i,n)}}function $(a,n={}){if(n.rooms&&!n.authorize)throw new TypeError("serveMetrics needs authorize when it serves rooms: the list is private.");let c$1=n.path??"/metrics",l=c(a,n.merge?{merge:n.merge}:{}),i=0;return async({request:u,response:f})=>{let g=(u.url??"").split("?")[0],w=n.rooms?.path;if(g!==c$1&&g!==w){await n.next?.({request:u,response:f});return}throw n.authorize&&!A(n.authorize,u)?(f.writeHead(403),f.end()):g===c$1?(n.sampleBeforeScrape&&Date.now()-i>=5e3&&(i=Date.now(),n.sampleBeforeScrape.sample()),await l(u,f)):(f.writeHead(200,{"Content-Type":"application/json"}),f.end(JSON.stringify(n.rooms.telemetry.list()))),null}}function I(a,n){let c=b(n),l=new Map,i=new Map,u=new Map,f=e=>typeof e.afterLoadDocument=="function",g=1+(a.extensions??[]).filter(e=>f(e)).length+(f(a)?1:0),w=e=>{let r=(u.get(e)??0)+1;u.set(e,r),!(r<g)&&(u.delete(e),y(i,e,"success"));},p=new Map,R=e=>typeof e.afterStoreDocument=="function",M=1+(a.extensions??[]).filter(e=>R(e)).length+(R(a)?1:0),D=e=>{let r=(p.get(e)??0)+1;p.set(e,r),!(r<M)&&(p.delete(e),y(m,e,"success"));},v=e=>{u.delete(e),y(i,e,"failure"),l.get(e)?.close(),l.delete(e);},m=new Map,h=new Map,P=(e,r)=>`${e}\0${r}`,y=(e,r,s)=>{e.get(r)?.(s),e.delete(r);},q={extensionName:"docx-editor-telemetry",priority:Number.MAX_SAFE_INTEGER,async onLoadDocument({documentName:e}){y(i,e,"failure"),i.set(e,c.begin("load"));},async afterLoadDocument({documentName:e,document:r}){l.get(e)?.close(),l.set(e,c.open(r,{name:e,awareness:r.awareness})),u.set(e,0),w(e);},async onStoreDocument({documentName:e}){m.delete(e),p.delete(e);let r=l.get(e);m.set(e,r?r.begin("store"):c.begin("store"));},async afterStoreDocument({documentName:e}){p.set(e,0),D(e);},async connected({documentName:e,socketId:r}){let s=l.get(e),o=P(r,e);if(!s)return;let t=h.get(o);t?t.count+=1:h.set(o,{room:s,count:1}),s.connected();},async onDisconnect({documentName:e,socketId:r}){let s=P(r,e),o=h.get(s);o&&(o.room.disconnected(),o.count-=1,o.count===0&&h.delete(s));},async afterUnloadDocument({documentName:e}){u.delete(e),p.delete(e),y(i,e,"failure"),m.delete(e),l.get(e)?.close(),l.delete(e);},async onDestroy(){await c.shutdown();}},T=e=>{let r=e,s={},o=(t,d,j)=>{let b=r[t];typeof b=="function"&&(s[t]=async S=>{let k;try{k=await b.call(e,S);}catch(O){throw d(O,S),O}return j?.(S),k});};return o("onConnect",t=>c.rejected(t)),o("onAuthenticate",t=>c.rejected(t)),o("onTokenSync",t=>c.rejected(t)),o("beforeHandleMessage",t=>c.refused(t)),o("onLoadDocument",(t,{documentName:d})=>y(i,d??"","failure")),o("afterLoadDocument",(t,{documentName:d})=>v(d??""),({documentName:t})=>w(t??"")),o("afterStoreDocument",(t,{documentName:d})=>{p.delete(d??""),y(m,d??"",L(t)?"success":"failure");},({documentName:t})=>D(t??"")),o("onStoreDocument",(t,{documentName:d})=>{L(t)?m.delete(d??""):y(m,d??"","failure");}),s},C=T(a),E=(a.extensions??[]).map(e=>{let r=T(e);return new Proxy(Object.create(Object.getPrototypeOf(e)),{get(s,o){if(Object.hasOwn(r,o))return r[o];let t=Reflect.get(e,o,e);return typeof t=="function"&&o!=="constructor"?t.bind(e):t},set(s,o,t){return Reflect.set(e,o,t,e)},has:(s,o)=>Reflect.has(e,o),ownKeys:()=>Reflect.ownKeys(e),getOwnPropertyDescriptor(s,o){let t=Reflect.getOwnPropertyDescriptor(e,o);return t?{...t,configurable:true}:void 0}})});return {config:{...a,...C,extensions:[q,...E]},rooms:c}}function A(a,n){try{return a(n)===!0}catch{return false}}function L(a){return a?.name==="SkipFurtherHooksError"}export{U as requireBearerToken,$ as serveMetrics,I as withCollaborationTelemetry};
|
package/dist/index.cjs
CHANGED
|
@@ -3,4 +3,4 @@ Copyright (c) 2026 Eigenpal, Inc. All rights reserved.
|
|
|
3
3
|
Licensed under the EigenPal Pro Evaluation License 1.0. See LICENSE.md in this package.
|
|
4
4
|
Production use requires a commercial agreement: licensing@eigenpal.com
|
|
5
5
|
*/
|
|
6
|
-
'use strict';var chunk5OWXCLOT_cjs=require('./chunk-5OWXCLOT.cjs'),chunkAL2YERWY_cjs=require('./chunk-AL2YERWY.cjs'),chunk3O6TTDB5_cjs=require('./chunk-3O6TTDB5.cjs'),chunk7SYLCJFQ_cjs=require('./chunk-7SYLCJFQ.cjs');require('./chunk-WGWKNKUT.cjs');var core=require('@docx-editor.dev/core');var X={documentOpen:true,documentSave:true,sessions:true,editing:true,trackedChanges:true,fonts:true,history:true,customNodes:true,collaborationClient:true,performance:true},Y=new Set(["edit.tracking-required","edit.suggesting-needs-author","edit.tracking-mode-unsupported","edit.tracking-author-required","edit.tracking-unsupported-host"]);function Z(e){switch(e.kind){case "document.open":return "documentOpen";case "document.save":return "documentSave";case "session":return "sessions";case "edit.rejected":return e.tracked||Y.has(e.code)?"trackedChanges":"editing";case "review.skipped":return "trackedChanges";case "font.failed":return "fonts";case "history":return "history";case "custom-node":return "customNodes";case "collab.status":case "collab.participants":return "collaborationClient";case "performance":return "performance";default:return null}}function J(e){return e.kind==="collab.participants"?`${e.editorSessionId}|participants`:e.kind==="edit.rejected"?[e.editorSessionId,e.code,e.cause,e.errorName,e.stage,e.origin,e.tracked,e.command].join("|"):e.kind==="font.failed"?`${e.editorSessionId}|font|${e.code}`:e.kind==="history"||e.kind==="custom-node"?`${e.editorSessionId}|${e.kind}|${e.code}`:e.kind==="collab.status"?`${e.editorSessionId}|status|${e.status}|${e.code??""}|${e.recovering}`:null}function Q(e){let t=chunk5OWXCLOT_cjs.c(e),m=e.metricLabels??[];function n(o){let r={};try{let a=typeof e.attributes=="function"?e.attributes():e.attributes;r=chunk7SYLCJFQ_cjs.c(a??{},"attributes");}catch{}return Object.freeze({...r,...o})}function c(o){let r={};for(let a of m)o[a]!==void 0&&(r[a]=o[a]);return r}let f=e.include??X,l=e.dedupeWindowMs??1e4,g=o=>{try{if(e.filter&&!e.filter(o))return}catch{return}t.event(o);},E=e.documentShape==="detailed",y=new Map,S=false,k=()=>{},T=false;function D(o){let r=f[o];return r?r===true?1:Math.min(1,Math.max(0,r.sampleRate??1)):null}let h=new Map;function w(o,r,a){if(a>=1)return true;if(r!=="performance"&&r!=="sessions")return Math.random()<a;let p=`${r}|${o.editorSessionId}`,b=h.get(p);return b===void 0&&(h.size>=1e3&&h.clear(),b=Math.random()<a,h.set(p,b)),b}function M(){if(S)return;S=true;let o=globalThis;if(typeof o.addEventListener!="function")return;let r=()=>{t.setPageClosing(true),u();},a=()=>{let p=globalThis.document?.visibilityState==="hidden";t.setPageClosing(p),p&&u();};o.addEventListener("pagehide",r),o.addEventListener("visibilitychange",a),k=()=>{o.removeEventListener?.("pagehide",r),o.removeEventListener?.("visibilitychange",a);};}function v(o){let r=y.get(o);if(r){if(y.delete(o),clearTimeout(r.timer),r.latest){let a=r.event;r.latest.count!==a.count&&g(I(F(r.latest,E),t,r.event.attributes));}else if(r.repeated>0){let{connectMs:a,...p}=r.event;g({...p,repeated:Math.min(r.repeated,chunk7SYLCJFQ_cjs.a)});}}}function i(o,r={}){if(T||!t.consented())return;let a=n(r),p=chunk7SYLCJFQ_cjs.b(I(o,t,a));if("dropped"in p){t.metric(chunkAL2YERWY_cjs.a.droppedEvents,1,{...c(a),reason:p.dropped,"docx_editor.version":chunk5OWXCLOT_cjs.b});return}let b=Z(o),A=b?D(b):null;if(A===null||b==="performance"&&A===0)return;M(),ee(t,p.event,c(a));let x=l>0?J(o):null,O=x?y.get(x):void 0;if(O){o.kind==="collab.participants"?O.latest=o:O.repeated+=1;return}let _=o.kind==="session"&&o.phase==="end";if(!w(o,b,A)){_&&u();return}let L=I(F(o,E),t,a);if(g(L),_&&u(),x){let R=setTimeout(()=>v(x),l);R.unref?.(),y.set(x,{event:L,repeated:0,timer:R});}}function d(o){return Object.freeze({id:"telemetry",onDiagnostic:r=>i(r,o),wantsDiagnostic:r=>!T&&(r==="session"?D("sessions")!==null:r!=="performance"||(D("performance")??0)>0&&t.consented())})}async function u(){for(let o of [...y.keys()])v(o);await t.flush();}return {module:d({}),moduleFor(o){return d(chunk7SYLCJFQ_cjs.c(o,"moduleFor"))},record:i,flush:u,async shutdown(){for(let o of [...y.keys()])v(o);T=true,k(),await t.shutdown();}}}function F(e,t){if(t||e.kind!=="document.open"||e.outcome!=="opened"||!("shape"in e))return e;let{shape:m,...n}=e;return n}function I(e,t,m){let n="code"in e?e.code:void 0;return {...e,...n?core.explainDiagnostic(n):{},engineVersion:chunk5OWXCLOT_cjs.b,resource:t.resource,attributes:m}}function ee(e,t,m){let n={metric:(c,f,l={})=>e.metric(c,f,{...l,...m,"docx_editor.version":chunk5OWXCLOT_cjs.b})};switch(t.kind){case "document.open":t.outcome==="opened"?(n.metric(chunkAL2YERWY_cjs.a.documentOpens,1,{outcome:"opened",code:"none",cause:"none",part:"none"}),n.metric(chunkAL2YERWY_cjs.a.documentOpenDuration,t.durationMs/1e3)):n.metric(chunkAL2YERWY_cjs.a.documentOpens,1,{outcome:"rejected",code:t.code,cause:t.cause??"none",part:t.part??"none"});return;case "edit.rejected":n.metric(chunkAL2YERWY_cjs.a.editRejections,1,{code:t.code,cause:t.cause??"none",origin:t.origin,tracked:t.tracked});return;case "review.skipped":n.metric(chunkAL2YERWY_cjs.a.reviewSkipped,t.count,{code:t.code,cause:t.cause??"none",operation:t.operation??"none",change_kind:t.changeKind??"none"});return;case "font.failed":n.metric(chunkAL2YERWY_cjs.a.fontFailures,1,{code:t.code});return;case "history":n.metric(chunkAL2YERWY_cjs.a.historyDiagnostics,1,{code:t.code});return;case "custom-node":n.metric(chunkAL2YERWY_cjs.a.customNodeDiagnostics,1,{code:t.code});return;case "collab.status":n.metric(chunkAL2YERWY_cjs.a.collabClientStatusTransitions,1,{status:t.status,code:t.code??"none"}),t.connectMs!==void 0&&n.metric(chunkAL2YERWY_cjs.a.collabClientConnectDuration,t.connectMs/1e3);return;case "collab.participants":n.metric(chunkAL2YERWY_cjs.a.collabClientParticipants,t.count);return;case "performance":{let c=t.pagesBucket??"unknown";N(n,chunkAL2YERWY_cjs.a.editorInteractionDuration,c,t.interaction),N(n,chunkAL2YERWY_cjs.a.editorLayoutDuration,c,t.layout),N(n,chunkAL2YERWY_cjs.a.editorPaintDuration,c,t.paint);return}case "document.save":n.metric(chunkAL2YERWY_cjs.a.documentSaves,1,{outcome:t.outcome,code:t.outcome==="rejected"?t.code:"none"}),t.outcome==="saved"&&n.metric(chunkAL2YERWY_cjs.a.documentSaveDuration,t.durationMs/1e3);return;case "session":te(n,t);}}function te(e,t){if(t.phase==="start"){e.metric(chunkAL2YERWY_cjs.a.editorSessions,1,{phase:"start"});return}if(t.phase==="end"){e.metric(chunkAL2YERWY_cjs.a.editorSessions,1,{phase:"end"}),e.metric(chunkAL2YERWY_cjs.a.editorSessionDuration,t.durationMs/1e3);return}t.activeMs>0&&e.metric(chunkAL2YERWY_cjs.a.editorActiveTime,t.activeMs/1e3);for(let[m,n]of [["input",t.inputEdits],["command",t.commandEdits],["automation",t.automationEdits]])n>0&&e.metric(chunkAL2YERWY_cjs.a.edits,n,{origin:m});}function N(e,t,m,n){if(!n)return;let c=t.buckets??[];n.bands.forEach((f,l)=>{let g=c[l],E=l===0?0:c[l-1],y=g===void 0?Math.max(n.maxMs/1e3,E+1e-6):(E+g)/2;for(let S=0;S<f;S+=1)e.metric(t,y,{pages:m});});}var oe=new TextEncoder,ne=e=>oe.encode(e).byteLength;function re(e){let t=Math.min(50,Math.max(1,Math.floor(e.batchSize??20))),m=e.flushIntervalMs??1e4,n=[],c,f,l=new Set,g=i=>{try{e.onError?.(i);}catch{}},E=(i,d)=>{if(typeof fetch!="function")return;let u=fetch(e.url,{method:"POST",headers:{"Content-Type":"application/json",...e.headers},body:i,keepalive:d}).then(o=>{if(!o.ok)throw new Error(`telemetry endpoint answered ${o.status}`)}).catch(g).finally(()=>l.delete(u));l.add(u);},y=i=>{let d=globalThis.navigator;if(!e.headers&&typeof d?.sendBeacon=="function")try{if(d.sendBeacon(e.url,new Blob([i],{type:"application/json"})))return}catch{}E(i,true);},S=i=>{let d=Math.min(t,n.length);for(;d>0;){let u=JSON.stringify(n.slice(0,d)),o=ne(u);if(o<=i)return {body:u,bytes:o,count:d};if(d===1)return null;d=Math.ceil(d/2);}return null},k=0,T=false,D=i=>{if(c!==void 0&&clearTimeout(c),c=void 0,f&&!f.consented()){n=[];return}(!i||!T)&&(k=0),T=i;let d=0;for(;n.length;){let u=S(61440-(i?k:0));if(!u){d+=i?n.length:1,n=i?[]:n.slice(1);continue}n=n.slice(u.count),i?(k+=u.bytes,y(u.body)):E(u.body,false);}d&&g(new Error(`telemetry dropped ${d} events that did not fit`));},h=()=>{let i=f?.pageClosing()??false;return i||(T=false),i},w=globalThis.document,M=()=>{w?.visibilityState==="visible"&&(T=false);},v=()=>w?.removeEventListener?.("visibilitychange",M);return {name:"http",attach(i){f=i,w?.addEventListener?.("visibilitychange",M);},event(i){n.push(i),n.length>=t?D(h()):c===void 0&&(c=setTimeout(()=>D(h()),m),c.unref?.());},async flush(){D(h()),await Promise.all(l);},async shutdown(){v(),D(h()),await Promise.all(l);}}}function ie(e={}){return ()=>{let t=globalThis;if(!t.window||!t.document||!t.navigator||t.navigator.globalPrivacyControl===true||t.navigator.doNotTrack==="1")return false;if(!e.optOutKey)return true;try{return globalThis.localStorage?.getItem(e.optOutKey)!=="off"}catch{return true}}}Object.defineProperty(exports,"ENGINE_VERSION",{enumerable:true,get:function(){return chunk5OWXCLOT_cjs.b}});Object.defineProperty(exports,"MAX_METRIC_LABEL_VALUES",{enumerable:true,get:function(){return chunk5OWXCLOT_cjs.a}});Object.defineProperty(exports,"METRICS",{enumerable:true,get:function(){return chunkAL2YERWY_cjs.a}});Object.defineProperty(exports,"prometheusName",{enumerable:true,get:function(){return chunkAL2YERWY_cjs.b}});Object.defineProperty(exports,"callbackExporter",{enumerable:true,get:function(){return chunk3O6TTDB5_cjs.a}});Object.defineProperty(exports,"consoleExporter",{enumerable:true,get:function(){return chunk3O6TTDB5_cjs.e}});Object.defineProperty(exports,"failureCount",{enumerable:true,get:function(){return chunk3O6TTDB5_cjs.d}});Object.defineProperty(exports,"isFailure",{enumerable:true,get:function(){return chunk3O6TTDB5_cjs.c}});Object.defineProperty(exports,"memoryExporter",{enumerable:true,get:function(){return chunk3O6TTDB5_cjs.f}});Object.defineProperty(exports,"explainDiagnostic",{enumerable:true,get:function(){return core.explainDiagnostic}});exports.browserPrivacySignals=ie;exports.createTelemetry=Q;exports.httpExporter=re;
|
|
6
|
+
'use strict';var chunkZ7RURMDH_cjs=require('./chunk-Z7RURMDH.cjs'),chunkAL2YERWY_cjs=require('./chunk-AL2YERWY.cjs'),chunk3O6TTDB5_cjs=require('./chunk-3O6TTDB5.cjs'),chunk7SYLCJFQ_cjs=require('./chunk-7SYLCJFQ.cjs');require('./chunk-WGWKNKUT.cjs');var core=require('@docx-editor.dev/core');var X={documentOpen:true,documentSave:true,sessions:true,editing:true,trackedChanges:true,fonts:true,history:true,customNodes:true,collaborationClient:true,performance:true},Y=new Set(["edit.tracking-required","edit.suggesting-needs-author","edit.tracking-mode-unsupported","edit.tracking-author-required","edit.tracking-unsupported-host"]);function Z(e){switch(e.kind){case "document.open":return "documentOpen";case "document.save":return "documentSave";case "session":return "sessions";case "edit.rejected":return e.tracked||Y.has(e.code)?"trackedChanges":"editing";case "review.skipped":return "trackedChanges";case "font.failed":return "fonts";case "history":return "history";case "custom-node":return "customNodes";case "collab.status":case "collab.participants":return "collaborationClient";case "performance":return "performance";default:return null}}function J(e){return e.kind==="collab.participants"?`${e.editorSessionId}|participants`:e.kind==="edit.rejected"?[e.editorSessionId,e.code,e.cause,e.errorName,e.stage,e.origin,e.tracked,e.command].join("|"):e.kind==="font.failed"?`${e.editorSessionId}|font|${e.code}`:e.kind==="history"||e.kind==="custom-node"?`${e.editorSessionId}|${e.kind}|${e.code}`:e.kind==="collab.status"?`${e.editorSessionId}|status|${e.status}|${e.code??""}|${e.recovering}`:null}function Q(e){let t=chunkZ7RURMDH_cjs.c(e),m=e.metricLabels??[];function n(o){let r={};try{let a=typeof e.attributes=="function"?e.attributes():e.attributes;r=chunk7SYLCJFQ_cjs.c(a??{},"attributes");}catch{}return Object.freeze({...r,...o})}function c(o){let r={};for(let a of m)o[a]!==void 0&&(r[a]=o[a]);return r}let f=e.include??X,l=e.dedupeWindowMs??1e4,g=o=>{try{if(e.filter&&!e.filter(o))return}catch{return}t.event(o);},E=e.documentShape==="detailed",y=new Map,S=false,k=()=>{},T=false;function D(o){let r=f[o];return r?r===true?1:Math.min(1,Math.max(0,r.sampleRate??1)):null}let h=new Map;function w(o,r,a){if(a>=1)return true;if(r!=="performance"&&r!=="sessions")return Math.random()<a;let p=`${r}|${o.editorSessionId}`,b=h.get(p);return b===void 0&&(h.size>=1e3&&h.clear(),b=Math.random()<a,h.set(p,b)),b}function M(){if(S)return;S=true;let o=globalThis;if(typeof o.addEventListener!="function")return;let r=()=>{t.setPageClosing(true),u();},a=()=>{let p=globalThis.document?.visibilityState==="hidden";t.setPageClosing(p),p&&u();};o.addEventListener("pagehide",r),o.addEventListener("visibilitychange",a),k=()=>{o.removeEventListener?.("pagehide",r),o.removeEventListener?.("visibilitychange",a);};}function v(o){let r=y.get(o);if(r){if(y.delete(o),clearTimeout(r.timer),r.latest){let a=r.event;r.latest.count!==a.count&&g(I(F(r.latest,E),t,r.event.attributes));}else if(r.repeated>0){let{connectMs:a,...p}=r.event;g({...p,repeated:Math.min(r.repeated,chunk7SYLCJFQ_cjs.a)});}}}function i(o,r={}){if(T||!t.consented())return;let a=n(r),p=chunk7SYLCJFQ_cjs.b(I(o,t,a));if("dropped"in p){t.metric(chunkAL2YERWY_cjs.a.droppedEvents,1,{...c(a),reason:p.dropped,"docx_editor.version":chunkZ7RURMDH_cjs.b});return}let b=Z(o),A=b?D(b):null;if(A===null||b==="performance"&&A===0)return;M(),ee(t,p.event,c(a));let x=l>0?J(o):null,O=x?y.get(x):void 0;if(O){o.kind==="collab.participants"?O.latest=o:O.repeated+=1;return}let _=o.kind==="session"&&o.phase==="end";if(!w(o,b,A)){_&&u();return}let L=I(F(o,E),t,a);if(g(L),_&&u(),x){let R=setTimeout(()=>v(x),l);R.unref?.(),y.set(x,{event:L,repeated:0,timer:R});}}function d(o){return Object.freeze({id:"telemetry",onDiagnostic:r=>i(r,o),wantsDiagnostic:r=>!T&&(r==="session"?D("sessions")!==null:r!=="performance"||(D("performance")??0)>0&&t.consented())})}async function u(){for(let o of [...y.keys()])v(o);await t.flush();}return {module:d({}),moduleFor(o){return d(chunk7SYLCJFQ_cjs.c(o,"moduleFor"))},record:i,flush:u,async shutdown(){for(let o of [...y.keys()])v(o);T=true,k(),await t.shutdown();}}}function F(e,t){if(t||e.kind!=="document.open"||e.outcome!=="opened"||!("shape"in e))return e;let{shape:m,...n}=e;return n}function I(e,t,m){let n="code"in e?e.code:void 0;return {...e,...n?core.explainDiagnostic(n):{},engineVersion:chunkZ7RURMDH_cjs.b,resource:t.resource,attributes:m}}function ee(e,t,m){let n={metric:(c,f,l={})=>e.metric(c,f,{...l,...m,"docx_editor.version":chunkZ7RURMDH_cjs.b})};switch(t.kind){case "document.open":t.outcome==="opened"?(n.metric(chunkAL2YERWY_cjs.a.documentOpens,1,{outcome:"opened",code:"none",cause:"none",part:"none"}),n.metric(chunkAL2YERWY_cjs.a.documentOpenDuration,t.durationMs/1e3)):n.metric(chunkAL2YERWY_cjs.a.documentOpens,1,{outcome:"rejected",code:t.code,cause:t.cause??"none",part:t.part??"none"});return;case "edit.rejected":n.metric(chunkAL2YERWY_cjs.a.editRejections,1,{code:t.code,cause:t.cause??"none",origin:t.origin,tracked:t.tracked});return;case "review.skipped":n.metric(chunkAL2YERWY_cjs.a.reviewSkipped,t.count,{code:t.code,cause:t.cause??"none",operation:t.operation??"none",change_kind:t.changeKind??"none"});return;case "font.failed":n.metric(chunkAL2YERWY_cjs.a.fontFailures,1,{code:t.code});return;case "history":n.metric(chunkAL2YERWY_cjs.a.historyDiagnostics,1,{code:t.code});return;case "custom-node":n.metric(chunkAL2YERWY_cjs.a.customNodeDiagnostics,1,{code:t.code});return;case "collab.status":n.metric(chunkAL2YERWY_cjs.a.collabClientStatusTransitions,1,{status:t.status,code:t.code??"none"}),t.connectMs!==void 0&&n.metric(chunkAL2YERWY_cjs.a.collabClientConnectDuration,t.connectMs/1e3);return;case "collab.participants":n.metric(chunkAL2YERWY_cjs.a.collabClientParticipants,t.count);return;case "performance":{let c=t.pagesBucket??"unknown";N(n,chunkAL2YERWY_cjs.a.editorInteractionDuration,c,t.interaction),N(n,chunkAL2YERWY_cjs.a.editorLayoutDuration,c,t.layout),N(n,chunkAL2YERWY_cjs.a.editorPaintDuration,c,t.paint);return}case "document.save":n.metric(chunkAL2YERWY_cjs.a.documentSaves,1,{outcome:t.outcome,code:t.outcome==="rejected"?t.code:"none"}),t.outcome==="saved"&&n.metric(chunkAL2YERWY_cjs.a.documentSaveDuration,t.durationMs/1e3);return;case "session":te(n,t);}}function te(e,t){if(t.phase==="start"){e.metric(chunkAL2YERWY_cjs.a.editorSessions,1,{phase:"start"});return}if(t.phase==="end"){e.metric(chunkAL2YERWY_cjs.a.editorSessions,1,{phase:"end"}),e.metric(chunkAL2YERWY_cjs.a.editorSessionDuration,t.durationMs/1e3);return}t.activeMs>0&&e.metric(chunkAL2YERWY_cjs.a.editorActiveTime,t.activeMs/1e3);for(let[m,n]of [["input",t.inputEdits],["command",t.commandEdits],["automation",t.automationEdits]])n>0&&e.metric(chunkAL2YERWY_cjs.a.edits,n,{origin:m});}function N(e,t,m,n){if(!n)return;let c=t.buckets??[];n.bands.forEach((f,l)=>{let g=c[l],E=l===0?0:c[l-1],y=g===void 0?Math.max(n.maxMs/1e3,E+1e-6):(E+g)/2;for(let S=0;S<f;S+=1)e.metric(t,y,{pages:m});});}var oe=new TextEncoder,ne=e=>oe.encode(e).byteLength;function re(e){let t=Math.min(50,Math.max(1,Math.floor(e.batchSize??20))),m=e.flushIntervalMs??1e4,n=[],c,f,l=new Set,g=i=>{try{e.onError?.(i);}catch{}},E=(i,d)=>{if(typeof fetch!="function")return;let u=fetch(e.url,{method:"POST",headers:{"Content-Type":"application/json",...e.headers},body:i,keepalive:d}).then(o=>{if(!o.ok)throw new Error(`telemetry endpoint answered ${o.status}`)}).catch(g).finally(()=>l.delete(u));l.add(u);},y=i=>{let d=globalThis.navigator;if(!e.headers&&typeof d?.sendBeacon=="function")try{if(d.sendBeacon(e.url,new Blob([i],{type:"application/json"})))return}catch{}E(i,true);},S=i=>{let d=Math.min(t,n.length);for(;d>0;){let u=JSON.stringify(n.slice(0,d)),o=ne(u);if(o<=i)return {body:u,bytes:o,count:d};if(d===1)return null;d=Math.ceil(d/2);}return null},k=0,T=false,D=i=>{if(c!==void 0&&clearTimeout(c),c=void 0,f&&!f.consented()){n=[];return}(!i||!T)&&(k=0),T=i;let d=0;for(;n.length;){let u=S(61440-(i?k:0));if(!u){d+=i?n.length:1,n=i?[]:n.slice(1);continue}n=n.slice(u.count),i?(k+=u.bytes,y(u.body)):E(u.body,false);}d&&g(new Error(`telemetry dropped ${d} events that did not fit`));},h=()=>{let i=f?.pageClosing()??false;return i||(T=false),i},w=globalThis.document,M=()=>{w?.visibilityState==="visible"&&(T=false);},v=()=>w?.removeEventListener?.("visibilitychange",M);return {name:"http",attach(i){f=i,w?.addEventListener?.("visibilitychange",M);},event(i){n.push(i),n.length>=t?D(h()):c===void 0&&(c=setTimeout(()=>D(h()),m),c.unref?.());},async flush(){D(h()),await Promise.all(l);},async shutdown(){v(),D(h()),await Promise.all(l);}}}function ie(e={}){return ()=>{let t=globalThis;if(!t.window||!t.document||!t.navigator||t.navigator.globalPrivacyControl===true||t.navigator.doNotTrack==="1")return false;if(!e.optOutKey)return true;try{return globalThis.localStorage?.getItem(e.optOutKey)!=="off"}catch{return true}}}Object.defineProperty(exports,"ENGINE_VERSION",{enumerable:true,get:function(){return chunkZ7RURMDH_cjs.b}});Object.defineProperty(exports,"MAX_METRIC_LABEL_VALUES",{enumerable:true,get:function(){return chunkZ7RURMDH_cjs.a}});Object.defineProperty(exports,"METRICS",{enumerable:true,get:function(){return chunkAL2YERWY_cjs.a}});Object.defineProperty(exports,"prometheusName",{enumerable:true,get:function(){return chunkAL2YERWY_cjs.b}});Object.defineProperty(exports,"callbackExporter",{enumerable:true,get:function(){return chunk3O6TTDB5_cjs.a}});Object.defineProperty(exports,"consoleExporter",{enumerable:true,get:function(){return chunk3O6TTDB5_cjs.e}});Object.defineProperty(exports,"failureCount",{enumerable:true,get:function(){return chunk3O6TTDB5_cjs.d}});Object.defineProperty(exports,"isFailure",{enumerable:true,get:function(){return chunk3O6TTDB5_cjs.c}});Object.defineProperty(exports,"memoryExporter",{enumerable:true,get:function(){return chunk3O6TTDB5_cjs.f}});Object.defineProperty(exports,"explainDiagnostic",{enumerable:true,get:function(){return core.explainDiagnostic}});exports.browserPrivacySignals=ie;exports.createTelemetry=Q;exports.httpExporter=re;
|
package/dist/index.js
CHANGED
|
@@ -3,4 +3,4 @@ Copyright (c) 2026 Eigenpal, Inc. All rights reserved.
|
|
|
3
3
|
Licensed under the EigenPal Pro Evaluation License 1.0. See LICENSE.md in this package.
|
|
4
4
|
Production use requires a commercial agreement: licensing@eigenpal.com
|
|
5
5
|
*/
|
|
6
|
-
import {c,b as b$1}from'./chunk-
|
|
6
|
+
import {c,b as b$1}from'./chunk-OMBPGHSR.js';export{b as ENGINE_VERSION,a as MAX_METRIC_LABEL_VALUES}from'./chunk-OMBPGHSR.js';import {a as a$1}from'./chunk-RSWAOCAT.js';export{a as METRICS,b as prometheusName}from'./chunk-RSWAOCAT.js';export{a as callbackExporter,e as consoleExporter,d as failureCount,c as isFailure,f as memoryExporter}from'./chunk-NJ5XLQLN.js';import {c as c$1,a,b}from'./chunk-W5HFB5EV.js';import'./chunk-DT2KMPUJ.js';import {explainDiagnostic}from'@docx-editor.dev/core';export{explainDiagnostic}from'@docx-editor.dev/core';var X={documentOpen:true,documentSave:true,sessions:true,editing:true,trackedChanges:true,fonts:true,history:true,customNodes:true,collaborationClient:true,performance:true},Y=new Set(["edit.tracking-required","edit.suggesting-needs-author","edit.tracking-mode-unsupported","edit.tracking-author-required","edit.tracking-unsupported-host"]);function Z(e){switch(e.kind){case "document.open":return "documentOpen";case "document.save":return "documentSave";case "session":return "sessions";case "edit.rejected":return e.tracked||Y.has(e.code)?"trackedChanges":"editing";case "review.skipped":return "trackedChanges";case "font.failed":return "fonts";case "history":return "history";case "custom-node":return "customNodes";case "collab.status":case "collab.participants":return "collaborationClient";case "performance":return "performance";default:return null}}function J(e){return e.kind==="collab.participants"?`${e.editorSessionId}|participants`:e.kind==="edit.rejected"?[e.editorSessionId,e.code,e.cause,e.errorName,e.stage,e.origin,e.tracked,e.command].join("|"):e.kind==="font.failed"?`${e.editorSessionId}|font|${e.code}`:e.kind==="history"||e.kind==="custom-node"?`${e.editorSessionId}|${e.kind}|${e.code}`:e.kind==="collab.status"?`${e.editorSessionId}|status|${e.status}|${e.code??""}|${e.recovering}`:null}function Q(e){let t=c(e),m=e.metricLabels??[];function n(o){let r={};try{let a=typeof e.attributes=="function"?e.attributes():e.attributes;r=c$1(a??{},"attributes");}catch{}return Object.freeze({...r,...o})}function c$2(o){let r={};for(let a of m)o[a]!==void 0&&(r[a]=o[a]);return r}let f=e.include??X,l=e.dedupeWindowMs??1e4,g=o=>{try{if(e.filter&&!e.filter(o))return}catch{return}t.event(o);},E=e.documentShape==="detailed",y=new Map,S=false,k=()=>{},T=false;function D(o){let r=f[o];return r?r===true?1:Math.min(1,Math.max(0,r.sampleRate??1)):null}let h=new Map;function w(o,r,a){if(a>=1)return true;if(r!=="performance"&&r!=="sessions")return Math.random()<a;let p=`${r}|${o.editorSessionId}`,b=h.get(p);return b===void 0&&(h.size>=1e3&&h.clear(),b=Math.random()<a,h.set(p,b)),b}function M(){if(S)return;S=true;let o=globalThis;if(typeof o.addEventListener!="function")return;let r=()=>{t.setPageClosing(true),u();},a=()=>{let p=globalThis.document?.visibilityState==="hidden";t.setPageClosing(p),p&&u();};o.addEventListener("pagehide",r),o.addEventListener("visibilitychange",a),k=()=>{o.removeEventListener?.("pagehide",r),o.removeEventListener?.("visibilitychange",a);};}function v(o){let r=y.get(o);if(r){if(y.delete(o),clearTimeout(r.timer),r.latest){let a=r.event;r.latest.count!==a.count&&g(I(F(r.latest,E),t,r.event.attributes));}else if(r.repeated>0){let{connectMs:a$1,...p}=r.event;g({...p,repeated:Math.min(r.repeated,a)});}}}function i(o,r={}){if(T||!t.consented())return;let a=n(r),p=b(I(o,t,a));if("dropped"in p){t.metric(a$1.droppedEvents,1,{...c$2(a),reason:p.dropped,"docx_editor.version":b$1});return}let b$2=Z(o),A=b$2?D(b$2):null;if(A===null||b$2==="performance"&&A===0)return;M(),ee(t,p.event,c$2(a));let x=l>0?J(o):null,O=x?y.get(x):void 0;if(O){o.kind==="collab.participants"?O.latest=o:O.repeated+=1;return}let _=o.kind==="session"&&o.phase==="end";if(!w(o,b$2,A)){_&&u();return}let L=I(F(o,E),t,a);if(g(L),_&&u(),x){let R=setTimeout(()=>v(x),l);R.unref?.(),y.set(x,{event:L,repeated:0,timer:R});}}function d(o){return Object.freeze({id:"telemetry",onDiagnostic:r=>i(r,o),wantsDiagnostic:r=>!T&&(r==="session"?D("sessions")!==null:r!=="performance"||(D("performance")??0)>0&&t.consented())})}async function u(){for(let o of [...y.keys()])v(o);await t.flush();}return {module:d({}),moduleFor(o){return d(c$1(o,"moduleFor"))},record:i,flush:u,async shutdown(){for(let o of [...y.keys()])v(o);T=true,k(),await t.shutdown();}}}function F(e,t){if(t||e.kind!=="document.open"||e.outcome!=="opened"||!("shape"in e))return e;let{shape:m,...n}=e;return n}function I(e,t,m){let n="code"in e?e.code:void 0;return {...e,...n?explainDiagnostic(n):{},engineVersion:b$1,resource:t.resource,attributes:m}}function ee(e,t,m){let n={metric:(c,f,l={})=>e.metric(c,f,{...l,...m,"docx_editor.version":b$1})};switch(t.kind){case "document.open":t.outcome==="opened"?(n.metric(a$1.documentOpens,1,{outcome:"opened",code:"none",cause:"none",part:"none"}),n.metric(a$1.documentOpenDuration,t.durationMs/1e3)):n.metric(a$1.documentOpens,1,{outcome:"rejected",code:t.code,cause:t.cause??"none",part:t.part??"none"});return;case "edit.rejected":n.metric(a$1.editRejections,1,{code:t.code,cause:t.cause??"none",origin:t.origin,tracked:t.tracked});return;case "review.skipped":n.metric(a$1.reviewSkipped,t.count,{code:t.code,cause:t.cause??"none",operation:t.operation??"none",change_kind:t.changeKind??"none"});return;case "font.failed":n.metric(a$1.fontFailures,1,{code:t.code});return;case "history":n.metric(a$1.historyDiagnostics,1,{code:t.code});return;case "custom-node":n.metric(a$1.customNodeDiagnostics,1,{code:t.code});return;case "collab.status":n.metric(a$1.collabClientStatusTransitions,1,{status:t.status,code:t.code??"none"}),t.connectMs!==void 0&&n.metric(a$1.collabClientConnectDuration,t.connectMs/1e3);return;case "collab.participants":n.metric(a$1.collabClientParticipants,t.count);return;case "performance":{let c=t.pagesBucket??"unknown";N(n,a$1.editorInteractionDuration,c,t.interaction),N(n,a$1.editorLayoutDuration,c,t.layout),N(n,a$1.editorPaintDuration,c,t.paint);return}case "document.save":n.metric(a$1.documentSaves,1,{outcome:t.outcome,code:t.outcome==="rejected"?t.code:"none"}),t.outcome==="saved"&&n.metric(a$1.documentSaveDuration,t.durationMs/1e3);return;case "session":te(n,t);}}function te(e,t){if(t.phase==="start"){e.metric(a$1.editorSessions,1,{phase:"start"});return}if(t.phase==="end"){e.metric(a$1.editorSessions,1,{phase:"end"}),e.metric(a$1.editorSessionDuration,t.durationMs/1e3);return}t.activeMs>0&&e.metric(a$1.editorActiveTime,t.activeMs/1e3);for(let[m,n]of [["input",t.inputEdits],["command",t.commandEdits],["automation",t.automationEdits]])n>0&&e.metric(a$1.edits,n,{origin:m});}function N(e,t,m,n){if(!n)return;let c=t.buckets??[];n.bands.forEach((f,l)=>{let g=c[l],E=l===0?0:c[l-1],y=g===void 0?Math.max(n.maxMs/1e3,E+1e-6):(E+g)/2;for(let S=0;S<f;S+=1)e.metric(t,y,{pages:m});});}var oe=new TextEncoder,ne=e=>oe.encode(e).byteLength;function re(e){let t=Math.min(50,Math.max(1,Math.floor(e.batchSize??20))),m=e.flushIntervalMs??1e4,n=[],c,f,l=new Set,g=i=>{try{e.onError?.(i);}catch{}},E=(i,d)=>{if(typeof fetch!="function")return;let u=fetch(e.url,{method:"POST",headers:{"Content-Type":"application/json",...e.headers},body:i,keepalive:d}).then(o=>{if(!o.ok)throw new Error(`telemetry endpoint answered ${o.status}`)}).catch(g).finally(()=>l.delete(u));l.add(u);},y=i=>{let d=globalThis.navigator;if(!e.headers&&typeof d?.sendBeacon=="function")try{if(d.sendBeacon(e.url,new Blob([i],{type:"application/json"})))return}catch{}E(i,true);},S=i=>{let d=Math.min(t,n.length);for(;d>0;){let u=JSON.stringify(n.slice(0,d)),o=ne(u);if(o<=i)return {body:u,bytes:o,count:d};if(d===1)return null;d=Math.ceil(d/2);}return null},k=0,T=false,D=i=>{if(c!==void 0&&clearTimeout(c),c=void 0,f&&!f.consented()){n=[];return}(!i||!T)&&(k=0),T=i;let d=0;for(;n.length;){let u=S(61440-(i?k:0));if(!u){d+=i?n.length:1,n=i?[]:n.slice(1);continue}n=n.slice(u.count),i?(k+=u.bytes,y(u.body)):E(u.body,false);}d&&g(new Error(`telemetry dropped ${d} events that did not fit`));},h=()=>{let i=f?.pageClosing()??false;return i||(T=false),i},w=globalThis.document,M=()=>{w?.visibilityState==="visible"&&(T=false);},v=()=>w?.removeEventListener?.("visibilitychange",M);return {name:"http",attach(i){f=i,w?.addEventListener?.("visibilitychange",M);},event(i){n.push(i),n.length>=t?D(h()):c===void 0&&(c=setTimeout(()=>D(h()),m),c.unref?.());},async flush(){D(h()),await Promise.all(l);},async shutdown(){v(),D(h()),await Promise.all(l);}}}function ie(e={}){return ()=>{let t=globalThis;if(!t.window||!t.document||!t.navigator||t.navigator.globalPrivacyControl===true||t.navigator.doNotTrack==="1")return false;if(!e.optOutKey)return true;try{return globalThis.localStorage?.getItem(e.optOutKey)!=="off"}catch{return true}}}export{ie as browserPrivacySignals,Q as createTelemetry,re as httpExporter};
|
package/dist/server/index.cjs
CHANGED
|
@@ -3,4 +3,4 @@ Copyright (c) 2026 Eigenpal, Inc. All rights reserved.
|
|
|
3
3
|
Licensed under the EigenPal Pro Evaluation License 1.0. See LICENSE.md in this package.
|
|
4
4
|
Production use requires a commercial agreement: licensing@eigenpal.com
|
|
5
5
|
*/
|
|
6
|
-
'use strict';var
|
|
6
|
+
'use strict';var chunkKWUY6LI3_cjs=require('../chunk-KWUY6LI3.cjs');require('../chunk-Z7RURMDH.cjs'),require('../chunk-AL2YERWY.cjs'),require('../chunk-7SYLCJFQ.cjs'),require('../chunk-WGWKNKUT.cjs');Object.defineProperty(exports,"hmacRoomLabel",{enumerable:true,get:function(){return chunkKWUY6LI3_cjs.a}});Object.defineProperty(exports,"roomTelemetry",{enumerable:true,get:function(){return chunkKWUY6LI3_cjs.b}});
|
package/dist/server/index.js
CHANGED
|
@@ -3,4 +3,4 @@ Copyright (c) 2026 Eigenpal, Inc. All rights reserved.
|
|
|
3
3
|
Licensed under the EigenPal Pro Evaluation License 1.0. See LICENSE.md in this package.
|
|
4
4
|
Production use requires a commercial agreement: licensing@eigenpal.com
|
|
5
5
|
*/
|
|
6
|
-
export{a as hmacRoomLabel,b as roomTelemetry}from'../chunk-
|
|
6
|
+
export{a as hmacRoomLabel,b as roomTelemetry}from'../chunk-57ARMVFM.js';import'../chunk-OMBPGHSR.js';import'../chunk-RSWAOCAT.js';import'../chunk-W5HFB5EV.js';import'../chunk-DT2KMPUJ.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@docx-editor.dev/telemetry",
|
|
3
|
-
"version": "2.36.0
|
|
3
|
+
"version": "2.36.0",
|
|
4
4
|
"description": "Anonymous diagnostics, metrics, and error reporting for @docx-editor.dev editors and collaboration servers, with OpenTelemetry, Prometheus, and Sentry exporters.",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"type": "module",
|
|
@@ -56,8 +56,8 @@
|
|
|
56
56
|
"license:add": "license-check-and-add add -f license-check.json"
|
|
57
57
|
},
|
|
58
58
|
"peerDependencies": {
|
|
59
|
-
"@docx-editor.dev/core": "2.36.0
|
|
60
|
-
"@docx-editor.dev/pro": "2.36.0
|
|
59
|
+
"@docx-editor.dev/core": "~2.36.0",
|
|
60
|
+
"@docx-editor.dev/pro": "~2.36.0",
|
|
61
61
|
"@opentelemetry/api": "^1.9.0",
|
|
62
62
|
"yjs": "^13.6.32",
|
|
63
63
|
"@hocuspocus/server": "^4.6.0"
|
package/dist/chunk-5OWXCLOT.cjs
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
Copyright (c) 2026 Eigenpal, Inc. All rights reserved.
|
|
3
|
-
Licensed under the EigenPal Pro Evaluation License 1.0. See LICENSE.md in this package.
|
|
4
|
-
Production use requires a commercial agreement: licensing@eigenpal.com
|
|
5
|
-
*/
|
|
6
|
-
'use strict';var chunkAL2YERWY_cjs=require('./chunk-AL2YERWY.cjs'),chunk7SYLCJFQ_cjs=require('./chunk-7SYLCJFQ.cjs');var A=50,R="2.36.0-canary.20261108032737.sha-f189d65";function M(o){let i=[...o.exporters],T=Object.freeze({...chunk7SYLCJFQ_cjs.c(o.resource??{},"resource")}),d=[...o.metricLabels??[]],m=new Map,b=new Set;function y(e){if(d.length===0)return e;let r={...e};for(let t of d){let n=r[t];if(n===void 0)continue;let s=String(n),a=m.get(t);if(a||m.set(t,a=new Set),!a.has(s)){if(a.size>=A){r[t]="other";continue}a.add(s);}}return r}let f=false;function p(e,r){if(!b.has(r)){b.add(r);try{if(o.onExporterError){let t=o.onExporterError(e,r);t&&typeof t.then=="function"&&Promise.resolve(t).catch(()=>{});}else console.warn(`[docx-editor telemetry] exporter "${r}" failed`,e);}catch{}}}function c(e,r){try{let t=r();if(!t||typeof t.then!="function")return;Promise.resolve(t).then(void 0,n=>p(n,e.name));}catch(t){p(t,e.name);}}function v(){let e=o.consent??true;if(typeof e=="boolean")return e;try{return e()===!0}catch{return false}}function u(){return !f&&v()}let E=false,_=()=>E||globalThis.document?.visibilityState==="hidden";for(let e of i)c(e,()=>e.attach?.({consented:v,pageClosing:_}));async function g(e){await Promise.all(i.map(async r=>{try{await e(r);}catch(t){p(t,r.name);}}));}return {resource:T,consented:u,event(e){if(!u())return;let r=chunk7SYLCJFQ_cjs.b(e);if("dropped"in r){this.metric(chunkAL2YERWY_cjs.a.droppedEvents,1,{reason:r.dropped});return}for(let t of i)t.event&&c(t,()=>t.event(r.event));},metric(e,r,t={}){if(!u()||!Number.isFinite(r))return;let n={definition:e,value:r,attributes:y(chunk7SYLCJFQ_cjs.c(t,e.name,[...e.labels,...d]))};for(let s of i)s.metric&&c(s,()=>s.metric(n));},forget(e,r){let t=chunk7SYLCJFQ_cjs.c(r,e.name,e.labels);for(let n of i)n.forget&&c(n,()=>n.forget(e,t));},declare(e,r={}){if(!u())return;let t=y(chunk7SYLCJFQ_cjs.c(r,e.name,[...e.labels,...d]));for(let n of i)n.declare&&c(n,()=>n.declare(e,t));},flush:()=>g(e=>e.flush?.()),setPageClosing(e){E=e;},async shutdown(){f||(f=true,await g(e=>e.shutdown?e.shutdown():e.flush?.()));}}}exports.a=A;exports.b=R;exports.c=M;
|
package/dist/chunk-HKSHYWHK.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
Copyright (c) 2026 Eigenpal, Inc. All rights reserved.
|
|
3
|
-
Licensed under the EigenPal Pro Evaluation License 1.0. See LICENSE.md in this package.
|
|
4
|
-
Production use requires a commercial agreement: licensing@eigenpal.com
|
|
5
|
-
*/
|
|
6
|
-
import {a}from'./chunk-RSWAOCAT.js';import {c,b}from'./chunk-W5HFB5EV.js';var A=50,R="2.36.0-canary.20261108032737.sha-f189d65";function M(o){let i=[...o.exporters],T=Object.freeze({...c(o.resource??{},"resource")}),d=[...o.metricLabels??[]],m=new Map,b$1=new Set;function y(e){if(d.length===0)return e;let r={...e};for(let t of d){let n=r[t];if(n===void 0)continue;let s=String(n),a=m.get(t);if(a||m.set(t,a=new Set),!a.has(s)){if(a.size>=A){r[t]="other";continue}a.add(s);}}return r}let f=false;function p(e,r){if(!b$1.has(r)){b$1.add(r);try{if(o.onExporterError){let t=o.onExporterError(e,r);t&&typeof t.then=="function"&&Promise.resolve(t).catch(()=>{});}else console.warn(`[docx-editor telemetry] exporter "${r}" failed`,e);}catch{}}}function c$1(e,r){try{let t=r();if(!t||typeof t.then!="function")return;Promise.resolve(t).then(void 0,n=>p(n,e.name));}catch(t){p(t,e.name);}}function v(){let e=o.consent??true;if(typeof e=="boolean")return e;try{return e()===!0}catch{return false}}function u(){return !f&&v()}let E=false,_=()=>E||globalThis.document?.visibilityState==="hidden";for(let e of i)c$1(e,()=>e.attach?.({consented:v,pageClosing:_}));async function g(e){await Promise.all(i.map(async r=>{try{await e(r);}catch(t){p(t,r.name);}}));}return {resource:T,consented:u,event(e){if(!u())return;let r=b(e);if("dropped"in r){this.metric(a.droppedEvents,1,{reason:r.dropped});return}for(let t of i)t.event&&c$1(t,()=>t.event(r.event));},metric(e,r,t={}){if(!u()||!Number.isFinite(r))return;let n={definition:e,value:r,attributes:y(c(t,e.name,[...e.labels,...d]))};for(let s of i)s.metric&&c$1(s,()=>s.metric(n));},forget(e,r){let t=c(r,e.name,e.labels);for(let n of i)n.forget&&c$1(n,()=>n.forget(e,t));},declare(e,r={}){if(!u())return;let t=y(c(r,e.name,[...e.labels,...d]));for(let n of i)n.declare&&c$1(n,()=>n.declare(e,t));},flush:()=>g(e=>e.flush?.()),setPageClosing(e){E=e;},async shutdown(){f||(f=true,await g(e=>e.shutdown?e.shutdown():e.flush?.()));}}}export{A as a,R as b,M as c};
|