UNPKG

ssm-session

Version:

Javascript library for starting an AWS SSM session compatible with Browser and NodeJS

1 lines 5.01 kB
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e="undefined"!=typeof globalThis?globalThis:e||self).index=n()}(this,(function(){"use strict";var e=function e(n){function t(e,n){return e>>>n|e<<32-n}for(var r,a,o=Math.pow,s=o(2,32),i="",c=[],u=8*n.length,g=e.h=e.h||[],f=e.k=e.k||[],l=f.length,d={},p=2;l<64;p++)if(!d[p]){for(r=0;r<313;r+=p)d[r]=p;g[l]=o(p,.5)*s|0,f[l++]=o(p,1/3)*s|0}for(n+="€";n.length%64-56;)n+="\0";for(r=0;r<n.length;r++){if((a=n.charCodeAt(r))>>8)return;c[r>>2]|=a<<(3-r)%4*8}for(c[c.length]=u/s|0,c[c.length]=u,a=0;a<c.length;){var h=c.slice(a,a+=16),y=g;for(g=g.slice(0,8),r=0;r<64;r++){var x=h[r-15],m=h[r-2],v=g[0],I=g[4],b=g[7]+(t(I,6)^t(I,11)^t(I,25))+(I&g[5]^~I&g[6])+f[r]+(h[r]=r<16?h[r]:h[r-16]+(t(x,7)^t(x,18)^x>>>3)+h[r-7]+(t(m,17)^t(m,19)^m>>>10)|0);(g=[b+((t(v,2)^t(v,13)^t(v,22))+(v&g[1]^v&g[2]^g[1]&g[2]))|0].concat(g))[4]=g[4]+b|0}for(r=0;r<8;r++)g[r]=g[r]+y[r]|0}for(r=0;r<8;r++)for(a=3;a+1;a--){var M=g[r]>>8*a&255;i+=(M<16?0:"")+M.toString(16)}return i},n=0;function t(n,t,r,a,s){return{headerLength:116,messageType:t,schemaVersion:1,createdDate:(new Date).getTime(),sequenceNumber:r,flags:s,messageId:o(),payloadDigest:(i=n,e(i).substring(0,32)),payloadType:a,payloadLength:n.length,payload:n};var i}function r(e){var n,t,r,o,s,i;for(n=t=r=o=s="",i=8;i<12;i++)n+=a(e[i].toString(16));for(i=12;i<14;i++)t+=a(e[i].toString(16));for(i=14;i<16;i++)r+=a(e[i].toString(16));for(i=0;i<2;i++)o+=a(e[i].toString(16));for(i=2;i<8;i++)s+=a(e[i].toString(16));return"".concat(n,"-").concat(t,"-").concat(r,"-").concat(o,"-").concat(s)}function a(e){return("0"+e).slice(-2)}function o(){var e=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],n=p().split("-"),t=n[0].match(/.{1,2}/g);e[8]=parseInt(t[0],16),e[9]=parseInt(t[1],16),e[10]=parseInt(t[2],16),e[11]=parseInt(t[3],16);var r=n[1].match(/.{1,2}/g);e[12]=parseInt(r[0],16),e[13]=parseInt(r[1],16);var a=n[2].match(/.{1,2}/g);e[14]=parseInt(a[0],16),e[15]=parseInt(a[1],16);var o=n[3].match(/.{1,2}/g);e[0]=parseInt(o[0],16),e[1]=parseInt(o[1],16);var s=n[4].match(/.{1,2}/g);return e[2]=parseInt(s[0],16),e[3]=parseInt(s[1],16),e[4]=parseInt(s[2],16),e[5]=parseInt(s[3],16),e[6]=parseInt(s[4],16),e[7]=parseInt(s[5],16),e}function s(e){var n=new Uint8Array(116+e.payload.length+4);return i(n,e.headerLength,0),u(n,e.messageType,4,32),i(n,e.schemaVersion,36),c(n,e.createdDate,40),c(n,e.sequenceNumber,48),c(n,e.flags,56),g(n,e.messageId,64),u(n,e.payloadDigest,80),i(n,e.payloadType,112),i(n,e.payloadLength,116),"string"==typeof e.payload?u(n,e.payload,120):g(n,e.payload,120),n}function i(e,n,t){for(var r=function(e){for(var n=[0,0,0,0],t=n.length-1;t>=0;t--){var r=255&e;n[t]=r,e=(e-r)/256}return n}(n),a=0;a<4;a++)e[t+a]=r[a]}function c(e,n,t){for(var r=function(e){for(var n=[0,0,0,0,0,0,0,0],t=n.length-1;t>=0;t--){var r=255&e;n[t]=r,e=(e-r)/256}return n}(n),a=0;a<8;a++)e[t+a]=r[a]}function u(e,n,t,r){var a;if(r){var o=0;if(n.length<r)for(o=r-n.length,a=0;a<o;a++)e[t+a]=0;for(a=o;a<r;a++)e[t+a]=n[a-o]?n[a-o].charCodeAt(0):0}else for(a=0;a<n.length;a++)e[t+a]=n[a]?n[a].charCodeAt(0):0}function g(e,n,t){for(var r=n.length-1;r>=0;r--)e[t+r]=n[r]}function f(e){for(var n=0,t=3;t>=0;t--)n+=e[t]<<8*(3-t);return n}function l(e){for(var n="",t=0;t<e.byteLength;t++)n+=String.fromCharCode(e[t]);return n}function d(e){for(var n=0,t=0;t<e.byteLength;t++)n+=e[e.byteLength-1-t]*Math.pow(256,t);return n}function p(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var n=16*Math.random()|0;return("x"==e?n:3&n|8).toString(16)}))}var h={decode:function(e){for(var n=new Uint8Array(e),t={headerLength:f(n.slice(0,4)),messageType:l(n.slice(4,36)).trim(),schemaVersion:f(n.slice(36,40)),createdDate:d(n.slice(40,48)),sequenceNumber:d(n.slice(48,56)),flags:d(n.slice(56,64)),messageId:r(n.slice(64,80)),payloadDigest:l(n.slice(80,112)),payloadType:f(n.slice(112,116)),payloadLength:f(n.slice(116,120)),payload:n.slice(120,n.byteLength)},a=n.slice(120,n.byteLength),o=0;o<a.length;o++)String.fromCharCode(a[o]);return t},init:function(e,t){n=0,e.send(h.buildTokenMessage(t.token)),e.send(h.buildInitMessage(t.termOptions))},sendInitMessage:function(e,n){e.send(h.buildInitMessage(n))},buildTokenMessage:function(e){return JSON.stringify({MessageSchemaVersion:"1.0",RequestId:p(),TokenValue:e})},buildInitMessage:function(e){var r={cols:e.cols,rows:e.rows};return s(t(JSON.stringify(r),"input_stream_data",n,3,1))},buildAcknowledge:function(e,n,r){var a={AcknowledgedMessageType:"output_stream_data",AcknowledgedMessageId:r,AcknowledgedMessageSequenceNumber:n,IsSequentialMessage:!0};return s(t(JSON.stringify(a),"acknowledge",n,3,0))},buildInputMessage:function(e,n){return s(t(e,"input_stream_data",n,1,1==n?0:1))},sendACK:function(e,n){e.send(h.buildAcknowledge(n.messageType,n.sequenceNumber,n.messageId))},sendText:function(e,t,r){void 0===r?(n++,e.send(h.buildInputMessage(t,n))):e.send(h.buildInputMessage(t,r))}};return h}));