@pendo/agent 2.268.0-beta

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.
@@ -0,0 +1,4 @@
1
+ !function(){"use strict";var e,r=(e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".split(""),{uint8ToBase64:function(r){var t,a,n,s,i=r.length%3,o="";for(t=0,n=r.length-i;t<n;t+=3)a=(r[t]<<16)+(r[t+1]<<8)+r[t+2],o+=e[(s=a)>>18&63]+e[s>>12&63]+e[s>>6&63]+e[63&s];switch(i){case 1:a=r[r.length-1],o+=e[a>>2],o+=e[a<<4&63];break;case 2:a=(r[r.length-2]<<8)+r[r.length-1],o+=e[a>>10],o+=e[a>>4&63],o+=e[a<<2&63]}return o}});function t(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e["default"]:e}var a={exports:{}};
2
+ /*
3
+ * @license zlib.js 2012 - imaya [ https://github.com/imaya/zlib.js ] The MIT License
4
+ */(function(){var e=void 0,r=!0,t=this;function a(r,a){var n,s=r.split("."),i=t;!(s[0]in i)&&i.execScript&&i.execScript("var "+s[0]);for(;s.length&&(n=s.shift());)s.length||a===e?i=i[n]?i[n]:i[n]={}:i[n]=a}var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array;function s(e,r){if(this.index="number"==typeof r?r:0,this.e=0,this.buffer=e instanceof(n?Uint8Array:Array)?e:new(n?Uint8Array:Array)(32768),2*this.buffer.length<=this.index)throw Error("invalid index");this.buffer.length<=this.index&&i(this)}function i(e){var r,t=e.buffer,a=t.length,s=new(n?Uint8Array:Array)(a<<1);if(n)s.set(t);else for(r=0;r<a;++r)s[r]=t[r];return e.buffer=s}s.prototype.b=function(e,r,t){var a,n=this.buffer,s=this.index,o=this.e,h=n[s];if(t&&1<r&&(e=8<r?(l[255&e]<<24|l[e>>>8&255]<<16|l[e>>>16&255]<<8|l[e>>>24&255])>>32-r:l[e]>>8-r),8>r+o)h=h<<r|e,o+=r;else for(a=0;a<r;++a)h=h<<1|e>>r-a-1&1,8==++o&&(o=0,n[s++]=l[h],h=0,s===n.length&&(n=i(this)));n[s]=h,this.buffer=n,this.e=o,this.index=s},s.prototype.finish=function(){var e,r=this.buffer,t=this.index;return 0<this.e&&(r[t]<<=8-this.e,r[t]=l[r[t]],t++),n?e=r.subarray(0,t):(r.length=t,e=r),e};var o,h=new(n?Uint8Array:Array)(256);for(o=0;256>o;++o){for(var f=u=o,c=7,u=u>>>1;u;u>>>=1)f<<=1,f|=1&u,--c;h[o]=(f<<c&255)>>>0}var l=h;function y(e){this.buffer=new(n?Uint16Array:Array)(2*e),this.length=0}function b(e,r){this.d=p,this.i=0,this.input=n&&e instanceof Array?new Uint8Array(e):e,this.c=0,r&&(r.lazy&&(this.i=r.lazy),"number"==typeof r.compressionType&&(this.d=r.compressionType),r.outputBuffer&&(this.a=n&&r.outputBuffer instanceof Array?new Uint8Array(r.outputBuffer):r.outputBuffer),"number"==typeof r.outputIndex&&(this.c=r.outputIndex)),this.a||(this.a=new(n?Uint8Array:Array)(32768))}y.prototype.getParent=function(e){return 2*((e-2)/4|0)},y.prototype.push=function(e,r){var t,a,n,s=this.buffer;for(t=this.length,s[this.length++]=r,s[this.length++]=e;0<t&&(a=this.getParent(t),s[t]>s[a]);)n=s[t],s[t]=s[a],s[a]=n,n=s[t+1],s[t+1]=s[a+1],s[a+1]=n,t=a;return this.length},y.prototype.pop=function(){var e,r,t,a,n,s=this.buffer;for(r=s[0],e=s[1],this.length-=2,s[0]=s[this.length],s[1]=s[this.length+1],n=0;!((a=2*n+2)>=this.length)&&(a+2<this.length&&s[a+2]>s[a]&&(a+=2),s[a]>s[n]);)t=s[n],s[n]=s[a],s[a]=t,t=s[n+1],s[n+1]=s[a+1],s[a+1]=t,n=a;return{index:e,value:r,length:this.length}};var g,p=2,d={NONE:0,h:1,g:p,n:3},A=[];for(g=0;288>g;g++)switch(r){case 143>=g:A.push([g+48,8]);break;case 255>=g:A.push([g-144+400,9]);break;case 279>=g:A.push([g-256+0,7]);break;case 287>=g:A.push([g-280+192,8]);break;default:throw"invalid literal: "+g}function v(e,r){this.length=e,this.k=r}b.prototype.f=function(){var t,a,i,o,h=this.input;switch(this.d){case 0:for(i=0,o=h.length;i<o;){var f,c,u,l=a=n?h.subarray(i,i+65535):h.slice(i,i+65535),y=(i+=a.length)===o,b=e,g=e,d=this.a,v=this.c;if(n){for(d=new Uint8Array(this.a.buffer);d.length<=v+l.length+5;)d=new Uint8Array(d.length<<1);d.set(this.a)}if(f=y?1:0,d[v++]=0|f,u=65536+~(c=l.length)&65535,d[v++]=255&c,d[v++]=c>>>8&255,d[v++]=255&u,d[v++]=u>>>8&255,n)d.set(l,v),v+=l.length,d=d.subarray(0,v);else{for(b=0,g=l.length;b<g;++b)d[v++]=l[b];d.length=v}this.c=v,this.a=d}break;case 1:var w=new s(n?new Uint8Array(this.a.buffer):this.a,this.c);w.b(1,1,r),w.b(1,2,r);var k,m,O,T=U(this,h);for(k=0,m=T.length;k<m;k++)if(O=T[k],s.prototype.b.apply(w,A[O]),256<O)w.b(T[++k],T[++k],r),w.b(T[++k],5),w.b(T[++k],T[++k],r);else if(256===O)break;this.a=w.finish(),this.c=this.a.length;break;case p:var E,M,N,P,S,D,B,C,j,z,R,q,Z,F,J,K=new s(n?new Uint8Array(this.a.buffer):this.a,this.c),L=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],_=Array(19);for(E=p,K.b(1,1,r),K.b(E,2,r),M=U(this,h),B=I(D=x(this.m,15)),j=I(C=x(this.l,7)),N=286;257<N&&0===D[N-1];N--);for(P=30;1<P&&0===C[P-1];P--);var G,X,Y,H,Q,V,W=N,$=P,ee=new(n?Uint32Array:Array)(W+$),re=new(n?Uint32Array:Array)(316),te=new(n?Uint8Array:Array)(19);for(G=X=0;G<W;G++)ee[X++]=D[G];for(G=0;G<$;G++)ee[X++]=C[G];if(!n)for(G=0,H=te.length;G<H;++G)te[G]=0;for(G=Q=0,H=ee.length;G<H;G+=X){for(X=1;G+X<H&&ee[G+X]===ee[G];++X);if(Y=X,0===ee[G])if(3>Y)for(;0<Y--;)re[Q++]=0,te[0]++;else for(;0<Y;)(V=138>Y?Y:138)>Y-3&&V<Y&&(V=Y-3),10>=V?(re[Q++]=17,re[Q++]=V-3,te[17]++):(re[Q++]=18,re[Q++]=V-11,te[18]++),Y-=V;else if(re[Q++]=ee[G],te[ee[G]]++,3>--Y)for(;0<Y--;)re[Q++]=ee[G],te[ee[G]]++;else for(;0<Y;)(V=6>Y?Y:6)>Y-3&&V<Y&&(V=Y-3),re[Q++]=16,re[Q++]=V-3,te[16]++,Y-=V}for(t=n?re.subarray(0,Q):re.slice(0,Q),z=x(te,7),F=0;19>F;F++)_[F]=z[L[F]];for(S=19;4<S&&0===_[S-1];S--);for(R=I(z),K.b(N-257,5,r),K.b(P-1,5,r),K.b(S-4,4,r),F=0;F<S;F++)K.b(_[F],3,r);for(F=0,J=t.length;F<J;F++)if(q=t[F],K.b(R[q],z[q],r),16<=q){switch(F++,q){case 16:Z=2;break;case 17:Z=3;break;case 18:Z=7;break;default:throw"invalid code: "+q}K.b(t[F],Z,r)}var ae,ne,se,ie,oe,he,fe,ce,ue=[B,D],le=[j,C];for(oe=ue[0],he=ue[1],fe=le[0],ce=le[1],ae=0,ne=M.length;ae<ne;++ae)if(se=M[ae],K.b(oe[se],he[se],r),256<se)K.b(M[++ae],M[++ae],r),ie=M[++ae],K.b(fe[ie],ce[ie],r),K.b(M[++ae],M[++ae],r);else if(256===se)break;this.a=K.finish(),this.c=this.a.length;break;default:throw"invalid compression type"}return this.a};var w=function(){function e(e){switch(r){case 3===e:return[257,e-3,0];case 4===e:return[258,e-4,0];case 5===e:return[259,e-5,0];case 6===e:return[260,e-6,0];case 7===e:return[261,e-7,0];case 8===e:return[262,e-8,0];case 9===e:return[263,e-9,0];case 10===e:return[264,e-10,0];case 12>=e:return[265,e-11,1];case 14>=e:return[266,e-13,1];case 16>=e:return[267,e-15,1];case 18>=e:return[268,e-17,1];case 22>=e:return[269,e-19,2];case 26>=e:return[270,e-23,2];case 30>=e:return[271,e-27,2];case 34>=e:return[272,e-31,2];case 42>=e:return[273,e-35,3];case 50>=e:return[274,e-43,3];case 58>=e:return[275,e-51,3];case 66>=e:return[276,e-59,3];case 82>=e:return[277,e-67,4];case 98>=e:return[278,e-83,4];case 114>=e:return[279,e-99,4];case 130>=e:return[280,e-115,4];case 162>=e:return[281,e-131,5];case 194>=e:return[282,e-163,5];case 226>=e:return[283,e-195,5];case 257>=e:return[284,e-227,5];case 258===e:return[285,e-258,0];default:throw"invalid length: "+e}}var t,a,n=[];for(t=3;258>=t;t++)a=e(t),n[t]=a[2]<<24|a[1]<<16|a[0];return n}(),k=n?new Uint32Array(w):w;function U(t,a){function s(e,t){var a,n,s,i,o=e.k,h=[],f=0;switch(a=k[e.length],h[f++]=65535&a,h[f++]=a>>16&255,h[f++]=a>>24,r){case 1===o:n=[0,o-1,0];break;case 2===o:n=[1,o-2,0];break;case 3===o:n=[2,o-3,0];break;case 4===o:n=[3,o-4,0];break;case 6>=o:n=[4,o-5,1];break;case 8>=o:n=[5,o-7,1];break;case 12>=o:n=[6,o-9,2];break;case 16>=o:n=[7,o-13,2];break;case 24>=o:n=[8,o-17,3];break;case 32>=o:n=[9,o-25,3];break;case 48>=o:n=[10,o-33,4];break;case 64>=o:n=[11,o-49,4];break;case 96>=o:n=[12,o-65,5];break;case 128>=o:n=[13,o-97,5];break;case 192>=o:n=[14,o-129,6];break;case 256>=o:n=[15,o-193,6];break;case 384>=o:n=[16,o-257,7];break;case 512>=o:n=[17,o-385,7];break;case 768>=o:n=[18,o-513,8];break;case 1024>=o:n=[19,o-769,8];break;case 1536>=o:n=[20,o-1025,9];break;case 2048>=o:n=[21,o-1537,9];break;case 3072>=o:n=[22,o-2049,10];break;case 4096>=o:n=[23,o-3073,10];break;case 6144>=o:n=[24,o-4097,11];break;case 8192>=o:n=[25,o-6145,11];break;case 12288>=o:n=[26,o-8193,12];break;case 16384>=o:n=[27,o-12289,12];break;case 24576>=o:n=[28,o-16385,13];break;case 32768>=o:n=[29,o-24577,13];break;default:throw"invalid distance"}for(a=n,h[f++]=a[0],h[f++]=a[1],h[f++]=a[2],s=0,i=h.length;s<i;++s)p[d++]=h[s];v[h[0]]++,w[h[3]]++,A=e.length+t-1,y=null}var i,o,h,f,c,u,l,y,b,g={},p=n?new Uint16Array(2*a.length):[],d=0,A=0,v=new(n?Uint32Array:Array)(286),w=new(n?Uint32Array:Array)(30),U=t.i;if(!n){for(h=0;285>=h;)v[h++]=0;for(h=0;29>=h;)w[h++]=0}for(v[256]=1,i=0,o=a.length;i<o;++i){for(h=c=0,f=3;h<f&&i+h!==o;++h)c=c<<8|a[i+h];if(g[c]===e&&(g[c]=[]),u=g[c],!(0<A--)){for(;0<u.length&&32768<i-u[0];)u.shift();if(i+3>=o){for(y&&s(y,-1),h=0,f=o-i;h<f;++h)b=a[i+h],p[d++]=b,++v[b];break}0<u.length?(l=m(a,i,u),y?y.length<l.length?(b=a[i-1],p[d++]=b,++v[b],s(l,0)):s(y,-1):l.length<U?y=l:s(l,0)):y?s(y,-1):(b=a[i],p[d++]=b,++v[b])}u.push(i)}return p[d++]=256,v[256]++,t.m=v,t.l=w,n?p.subarray(0,d):p}function m(e,r,t){var a,n,s,i,o,h,f=0,c=e.length;i=0,h=t.length;e:for(;i<h;i++){if(a=t[h-i-1],s=3,3<f){for(o=f;3<o;o--)if(e[a+o-1]!==e[r+o-1])continue e;s=f}for(;258>s&&r+s<c&&e[a+s]===e[r+s];)++s;if(s>f&&(n=a,f=s),258===s)break}return new v(f,r-n)}function x(e,r){var t,a,s,i,o,h=e.length,f=new y(572),c=new(n?Uint8Array:Array)(h);if(!n)for(i=0;i<h;i++)c[i]=0;for(i=0;i<h;++i)0<e[i]&&f.push(i,e[i]);if(t=Array(f.length/2),a=new(n?Uint32Array:Array)(f.length/2),1===t.length)return c[f.pop().index]=1,c;for(i=0,o=f.length/2;i<o;++i)t[i]=f.pop(),a[i]=t[i].value;for(s=function(e,r,t){function a(e){var t=b[e][g[e]];t===r?(a(e+1),a(e+1)):--l[t],++g[e]}var s,i,o,h,f,c=new(n?Uint16Array:Array)(t),u=new(n?Uint8Array:Array)(t),l=new(n?Uint8Array:Array)(r),y=Array(t),b=Array(t),g=Array(t),p=(1<<t)-r,d=1<<t-1;for(c[t-1]=r,i=0;i<t;++i)p<d?u[i]=0:(u[i]=1,p-=d),p<<=1,c[t-2-i]=(c[t-1-i]/2|0)+r;for(c[0]=u[0],y[0]=Array(c[0]),b[0]=Array(c[0]),i=1;i<t;++i)c[i]>2*c[i-1]+u[i]&&(c[i]=2*c[i-1]+u[i]),y[i]=Array(c[i]),b[i]=Array(c[i]);for(s=0;s<r;++s)l[s]=t;for(o=0;o<c[t-1];++o)y[t-1][o]=e[o],b[t-1][o]=o;for(s=0;s<t;++s)g[s]=0;for(1===u[t-1]&&(--l[0],++g[t-1]),i=t-2;0<=i;--i){for(h=s=0,f=g[i+1],o=0;o<c[i];o++)(h=y[i+1][f]+y[i+1][f+1])>e[s]?(y[i][o]=h,b[i][o]=r,f+=2):(y[i][o]=e[s],b[i][o]=s,++s);g[i]=0,1===u[i]&&a(i)}return l}(a,a.length,r),i=0,o=t.length;i<o;++i)c[t[i].index]=s[i];return c}function I(e){var r,t,a,s,i=new(n?Uint16Array:Array)(e.length),o=[],h=[],f=0;for(r=0,t=e.length;r<t;r++)o[e[r]]=1+(0|o[e[r]]);for(r=1,t=16;r<=t;r++)h[r]=f,f+=0|o[r],f<<=1;for(r=0,t=e.length;r<t;r++)for(f=h[e[r]],h[e[r]]+=1,a=i[r]=0,s=e[r];a<s;a++)i[r]=i[r]<<1|1&f,f>>>=1;return i}function O(e,r){this.input=e,this.a=new(n?Uint8Array:Array)(32768),this.d=T.g;var t,a={};for(t in!r&&(r={})||"number"!=typeof r.compressionType||(this.d=r.compressionType),r)a[t]=r[t];a.outputBuffer=this.a,this.j=new b(this.input,a)}var T=d;O.prototype.f=function(){var e,r,t,a,s,i=0;switch(s=this.a,e=Math.LOG2E*Math.log(32768)-8<<4|8,s[i++]=e,this.d){case T.NONE:t=0;break;case T.h:t=1;break;case T.g:t=2;break;default:throw Error("unsupported compression type")}r=t<<6|0,s[i++]=r|31-(256*e+r)%31;var o=this.input;if("string"==typeof o){var h,f,c=o.split("");for(h=0,f=c.length;h<f;h++)c[h]=(255&c[h].charCodeAt(0))>>>0;o=c}for(var u,l=1,y=0,b=o.length,g=0;0<b;){b-=u=1024<b?1024:b;do{y+=l+=o[g++]}while(--u);l%=65521,y%=65521}return a=(y<<16|l)>>>0,this.j.c=i,i=(s=this.j.f()).length,n&&((s=new Uint8Array(s.buffer)).length<=i+4&&(this.a=new Uint8Array(s.length+4),this.a.set(s),s=this.a),s=s.subarray(0,i+4)),s[i++]=a>>24&255,s[i++]=a>>16&255,s[i++]=a>>8&255,s[i++]=255&a,s},a("Zlib.Deflate",O),a("Zlib.Deflate.compress",(function(e,r){return new O(e,r).f()})),a("Zlib.Deflate.prototype.compress",O.prototype.f);var E,M,N,P,S={NONE:T.NONE,FIXED:T.h,DYNAMIC:T.g};if(Object.keys)E=Object.keys(S);else for(M in E=[],N=0,S)E[N++]=M;for(N=0,P=E.length;N<P;++N)a("Zlib.Deflate.CompressionType."+(M=E[N]),S[M])}).call(a.exports);var n={Deflate:t(a.exports).Zlib.Deflate},s="base64url";self.onmessage=function(e){try{if(e.data.url&&e.data.payload){var t=e.data,a=t.url,i=t.payload,o=t.shouldCacheResources,h=i.sequence,f=JSON.stringify(i.recordingPayload),c=(new TextEncoder).encode(f).length,u=c>=104857600;if(postMessage({type:"recordingPayloadSize",recordingPayloadSize:c,exceedsPayloadSizeLimit:u}),u)return;if(o){var l=function(e,r){var t=r.match(/https:\/\/[^\s]+?\.(woff|woff2|ttf|otf|eot)\b/g);return{type:"recording",visitorId:e.visitorId,accountId:e.accountId,keyFrame:!1,lastKeyFrame:e.lastKeyFrame,recordingId:e.recordingId,recordingSessionId:e.recordingSessionId,url:e.url,subType:"hostedResources",recordingPayload:[],recordingPayloadMetadata:[],sequence:0,recordingPayloadCount:0,hostedResources:t||[]}}(i,f);l.hostedResources.length&&postMessage({type:"hostedResources",hostedResourcesEvent:l})}i.recordingSize=c;var y=function(e,t){t||(t=s);var a=function(e){for(var r=[],t=0;t<e.length;t++){var a=e.charCodeAt(t);a<128?r.push(a):a<2048?r.push(192|a>>6,128|63&a):a<55296||a>=57344?r.push(224|a>>12,128|a>>6&63,128|63&a):(t++,a=65536+((1023&a)<<10|1023&e.charCodeAt(t)),r.push(240|a>>18,128|a>>12&63,128|a>>6&63,128|63&a))}return r}("string"==typeof e?e:JSON.stringify(e)),i=new n.Deflate(a).compress();return t===s?r.uint8ToBase64(i):i}(i,"binary");a="".concat(a,"&ct=").concat((new Date).getTime()),fetch(a,{method:"POST",body:y}).then((function(e){e.status<200||e.status>=300?postMessage({error:new Error("received status code ".concat(e.status,": ").concat(e.statusText)),status:e.status,sequence:h}):postMessage({sequence:h})}))["catch"]((function(e){postMessage({error:e,sequence:h})}))}}catch(e){postMessage({error:e})}}}();
@@ -0,0 +1,26 @@
1
+ {
2
+ "data": {
3
+ "io": "https://app.pendo.io",
4
+ "eu": "https://app.eu.pendo.io",
5
+ "us1": "https://us1.app.pendo.io",
6
+ "jp": "https://app.jpn.pendo.io",
7
+ "hsbc": "https://app.hsbc.pendo.io",
8
+ "au": "https://app.au.pendo.io"
9
+ },
10
+ "assetHost": {
11
+ "io": "cdn.pendo.io",
12
+ "eu": "cdn.eu.pendo.io",
13
+ "us1": "us1.cdn.pendo.io",
14
+ "jp": "cdn.jpn.pendo.io",
15
+ "hsbc": "cdn.hsbc.pendo.io",
16
+ "au": "cdn.au.pendo.io"
17
+ },
18
+ "ENV": {
19
+ "io": "prod",
20
+ "eu": "prod-eu",
21
+ "us1": "prod-us1",
22
+ "jp": "prod-jp",
23
+ "hsbc": "prod-hsbc",
24
+ "au": "prod-au"
25
+ }
26
+ }
package/index.js ADDED
@@ -0,0 +1,10 @@
1
+ import { loadAgent } from './dist/pendo.module.min.js';
2
+ import { startAgent, getServerConfig } from './setup.js';
3
+
4
+ export async function initialize(options = {}) {
5
+ return startAgent(loadAgent, options);
6
+ }
7
+
8
+ export { GuideMarkdown, Replay, TextCapture, Feedback, VocPortal } from './dist/pendo.module.min.js';
9
+ export { getServerConfig };
10
+
package/package.json ADDED
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "@pendo/agent",
3
+ "main": "index.js",
4
+ "author": "pendo.io <admin@pendo.io>",
5
+ "dependencies": {
6
+ "minimist": "^1.2.8"
7
+ },
8
+ "type": "module",
9
+ "bin": {
10
+ "pendo": "bin/cli.js"
11
+ },
12
+ "engines": {
13
+ "node": ">=12"
14
+ },
15
+ "version": "2.268.0-beta"
16
+ }
package/setup.js ADDED
@@ -0,0 +1,95 @@
1
+ import packageJson from './package.json';
2
+ import servers from './dist/servers.json';
3
+
4
+ export async function startAgent(initAgent, options = {}) {
5
+ if (!options.apiKey) exit('Missing required option "apiKey"');
6
+
7
+ const server = await getServerConfig(options);
8
+ delete options.config;
9
+
10
+ const pendo = initAgent(server);
11
+ const globalKey = options.globalKey || 'pendo';
12
+ window[globalKey] = pendo;
13
+ delete options.globalKey;
14
+
15
+ addPlugins(pendo, options);
16
+ delete options.plugins;
17
+
18
+ pendo.initialize(options);
19
+
20
+ return pendo;
21
+ }
22
+
23
+ export async function getServerConfig(options) {
24
+ if (!options.env) exit('Missing option "env", please specify an environment for your Pendo subscription.');
25
+ let config;
26
+ if (!options.config || !Object.keys(options.config).length) {
27
+ const configUrl = new URL(`agent/static/${options.apiKey}/config.json`, `https://${config.assetHost}`).toString();
28
+ const serverConfig = await fetch(configUrl)
29
+ .then(response => {
30
+ if (!response.ok) exit('could not load config.json');
31
+ return response.json();
32
+ });
33
+ config = {
34
+ ...serverConfig,
35
+ ...generateBaseAgentConfig(options.env)
36
+ };
37
+ } else {
38
+ config = {
39
+ ...options.config,
40
+ ...generateBaseAgentConfig(options.env)
41
+ };
42
+ }
43
+
44
+ if (options.assets) {
45
+ options.assetHost = options.assets.host;
46
+ config.assetPath = options.assets.path;
47
+ delete config.assetHost;
48
+ options.recording = {
49
+ ...options.recording,
50
+ 'workerUrl': `${options.assetHost ? options.assetHost : ''}${config.assetPath ? '/' + config.assetPath : ''}/replay.worker.min.js`
51
+ };
52
+ if (options.assets.localOnly) {
53
+ config.preventCodeInjection = true;
54
+ config.disableDesigner = true;
55
+ }
56
+
57
+ delete options.assets;
58
+ } else {
59
+ config.assetPath = `agent/releases/${packageJson.version}`;
60
+ }
61
+ config.loadAsModule = true;
62
+ delete config.stagingAgentUrl;
63
+ delete config.stagingServerHashes;
64
+ delete config.stagingServers;
65
+
66
+ return config;
67
+ }
68
+
69
+ function exit(message, error) {
70
+ throw new Error(`Failed to load Pendo agent: ${message}`, { 'cause': error });
71
+ }
72
+
73
+ function addPlugins(pendo, options) {
74
+ [].concat(options.plugins).forEach(plugin => {
75
+ plugin && pendo.addExtension({
76
+ 'name': plugin.name,
77
+ 'version': '1.0.0',
78
+ 'type': 'agent',
79
+ 'use': 'plugin',
80
+ 'uri': plugin
81
+ });
82
+ });
83
+ }
84
+
85
+ function generateBaseAgentConfig(env) {
86
+ if (!servers.ENV[env]) {
87
+ exit(`Unknown environment "${env}", please specify a valid environment for your subscription.`);
88
+ }
89
+ return {
90
+ 'env': servers.ENV[env],
91
+ 'designerEnv': servers.ENV[env],
92
+ 'server': servers.data[env],
93
+ 'assetHost': servers.assetHost[env]
94
+ };
95
+ }