corellium-typescript
Version:
A beautiful TypeScript Corellium library.
1 lines • 936 B
JavaScript
import r from"ws";const e=async(e,o,n,t,s,a)=>{const i=await e.GET("/v1/instances/{instanceId}",{params:{path:{instanceId:o}}});if(i.error)throw new Error(i.error.error);const c=i.data;if(!c.agent?.info)throw new Error("No agent info returned");const d=new URL(`/api/v1/agent/${c.agent.info}`,n);d.protocol="wss:";const w=Math.floor(1e3*Math.random()),f={type:t,op:s,id:w,...a};return new Promise(((e,o)=>{const n=new r(d.toString());n.on("close",(r=>{1e3===r?e(null):o(new Error(`WebSocket closed with code ${r}`))})),n.on("error",(()=>{o(new Error("Error connecting to WebSocket"))})),n.on("open",(()=>{n.send(JSON.stringify(f))})),n.on("message",(r=>{if(!Buffer.isBuffer(r))return void o(new Error("Invalid message data, expecting buffer."));const t=r.toString(),s=JSON.parse(t);s.id?s.error?o(new Error(s.error.message)):w===s.id&&(e(s),n.close()):o(new Error("Invalid message data, expecting id."))}))}))};export{e as sendCommand};