asteroid-odyssey 1.3.1 → 1.3.2
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/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var T=require('node-forge');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 T__namespace=/*#__PURE__*/_interopNamespace(T);var me=Object.defineProperty;var se=(e,r)=>{for(var t in r)me(e,t,{get:r[t],enumerable:true});};function U(e,r){try{let s=T__namespace.pki.publicKeyFromPem(r).encrypt(e,"RSAES-PKCS1-V1_5");return T__namespace.util.encode64(s)}catch(t){throw console.error("Encryption failed:",t),new Error("Failed to encrypt: "+(t instanceof Error?t.message:"unknown error"))}}var J={};se(J,{createAgentProfile:()=>F,deleteAgentProfile:()=>N,executeAgent:()=>Ue,executeAgentStructured:()=>B,getAgentProfile:()=>W,getAgentProfiles:()=>M,getBrowserSessionRecording:()=>H,getCredentialsPublicKey:()=>X,getExecutionResult:()=>V,getExecutionStatus:()=>$,getOpenApi:()=>qe,healthCheck:()=>De,updateAgentProfile:()=>Q,uploadExecutionFiles:()=>K});var ie=(e,r,t)=>{typeof t=="string"||t instanceof Blob?e.append(r,t):t instanceof Date?e.append(r,t.toISOString()):e.append(r,JSON.stringify(t));};var k={bodySerializer:e=>{let r=new FormData;return Object.entries(e).forEach(([t,s])=>{s!=null&&(Array.isArray(s)?s.forEach(i=>ie(r,t,i)):ie(r,t,s));}),r}},z={bodySerializer:e=>JSON.stringify(e,(r,t)=>typeof t=="bigint"?t.toString():t)};var ae=async(e,r)=>{let t=typeof r=="function"?await r(e):r;if(t)return e.scheme==="bearer"?`Bearer ${t}`:e.scheme==="basic"?`Basic ${btoa(t)}`:t};var Ee=e=>{switch(e){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},Re=e=>{switch(e){case "form":return ",";case "pipeDelimited":return "|";case "spaceDelimited":return "%20";default:return ","}},Se=e=>{switch(e){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},v=({allowReserved:e,explode:r,name:t,style:s,value:i})=>{if(!r){let o=(e?i:i.map(p=>encodeURIComponent(p))).join(Re(s));switch(s){case "label":return `.${o}`;case "matrix":return `;${t}=${o}`;case "simple":return o;default:return `${t}=${o}`}}let a=Ee(s),n=i.map(o=>s==="label"||s==="simple"?e?o:encodeURIComponent(o):S({allowReserved:e,name:t,value:o})).join(a);return s==="label"||s==="matrix"?a+n:n},S=({allowReserved:e,name:r,value:t})=>{if(t==null)return "";if(typeof t=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return `${r}=${e?t:encodeURIComponent(t)}`},_=({allowReserved:e,explode:r,name:t,style:s,value:i,valueOnly:a})=>{if(i instanceof Date)return a?i.toISOString():`${t}=${i.toISOString()}`;if(s!=="deepObject"&&!r){let p=[];Object.entries(i).forEach(([y,x])=>{p=[...p,y,e?x:encodeURIComponent(x)];});let u=p.join(",");switch(s){case "form":return `${t}=${u}`;case "label":return `.${u}`;case "matrix":return `;${t}=${u}`;default:return u}}let n=Se(s),o=Object.entries(i).map(([p,u])=>S({allowReserved:e,name:s==="deepObject"?`${t}[${p}]`:p,value:u})).join(n);return s==="label"||s==="matrix"?n+o:o};var be=/\{[^{}]+\}/g,Pe=({path:e,url:r})=>{let t=r,s=r.match(be);if(s)for(let i of s){let a=false,n=i.substring(1,i.length-1),o="simple";n.endsWith("*")&&(a=true,n=n.substring(0,n.length-1)),n.startsWith(".")?(n=n.substring(1),o="label"):n.startsWith(";")&&(n=n.substring(1),o="matrix");let p=e[n];if(p==null)continue;if(Array.isArray(p)){t=t.replace(i,v({explode:a,name:n,style:o,value:p}));continue}if(typeof p=="object"){t=t.replace(i,_({explode:a,name:n,style:o,value:p,valueOnly:true}));continue}if(o==="matrix"){t=t.replace(i,`;${S({name:n,value:p})}`);continue}let u=encodeURIComponent(o==="label"?`.${p}`:p);t=t.replace(i,u);}return t},pe=({allowReserved:e,array:r,object:t}={})=>i=>{let a=[];if(i&&typeof i=="object")for(let n in i){let o=i[n];if(o!=null)if(Array.isArray(o)){let p=v({allowReserved:e,explode:true,name:n,style:"form",value:o,...r});p&&a.push(p);}else if(typeof o=="object"){let p=_({allowReserved:e,explode:true,name:n,style:"deepObject",value:o,...t});p&&a.push(p);}else {let p=S({allowReserved:e,name:n,value:o});p&&a.push(p);}}return a.join("&")},ce=e=>{if(!e)return "stream";let r=e.split(";")[0]?.trim();if(r){if(r.startsWith("application/json")||r.endsWith("+json"))return "json";if(r==="multipart/form-data")return "formData";if(["application/","audio/","image/","video/"].some(t=>r.startsWith(t)))return "blob";if(r.startsWith("text/"))return "text"}},Oe=(e,r)=>r?!!(e.headers.has(r)||e.query?.[r]||e.headers.get("Cookie")?.includes(`${r}=`)):false,le=async({security:e,...r})=>{for(let t of e){if(Oe(r,t.name))continue;let s=await ae(t,r.auth);if(!s)continue;let i=t.name??"Authorization";switch(t.in){case "query":r.query||(r.query={}),r.query[i]=s;break;case "cookie":r.headers.append("Cookie",`${i}=${s}`);break;case "header":default:r.headers.set(i,s);break}}},G=e=>Ce({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:pe(e.querySerializer),url:e.url}),Ce=({baseUrl:e,path:r,query:t,querySerializer:s,url:i})=>{let a=i.startsWith("/")?i:`/${i}`,n=(e??"")+a;r&&(n=Pe({path:r,url:n}));let o=t?s(t):"";return o.startsWith("?")&&(o=o.substring(1)),o&&(n+=`?${o}`),n},j=(e,r)=>{let t={...e,...r};return t.baseUrl?.endsWith("/")&&(t.baseUrl=t.baseUrl.substring(0,t.baseUrl.length-1)),t.headers=q(e.headers,r.headers),t},q=(...e)=>{let r=new Headers;for(let t of e){if(!t||typeof t!="object")continue;let s=t instanceof Headers?t.entries():Object.entries(t);for(let[i,a]of s)if(a===null)r.delete(i);else if(Array.isArray(a))for(let n of a)r.append(i,n);else a!==void 0&&r.set(i,typeof a=="object"?JSON.stringify(a):a);}return r},b=class{_fns;constructor(){this._fns=[];}clear(){this._fns=[];}getInterceptorIndex(r){return typeof r=="number"?this._fns[r]?r:-1:this._fns.indexOf(r)}exists(r){let t=this.getInterceptorIndex(r);return !!this._fns[t]}eject(r){let t=this.getInterceptorIndex(r);this._fns[t]&&(this._fns[t]=null);}update(r,t){let s=this.getInterceptorIndex(r);return this._fns[s]?(this._fns[s]=t,r):false}use(r){return this._fns=[...this._fns,r],this._fns.length-1}},ue=()=>({error:new b,request:new b,response:new b}),we=pe({allowReserved:false,array:{explode:true,style:"form"},object:{explode:true,style:"deepObject"}}),Te={"Content-Type":"application/json"},P=(e={})=>({...z,headers:Te,parseAs:"auto",querySerializer:we,...e});var I=(e={})=>{let r=j(P(),e),t=()=>({...r}),s=n=>(r=j(r,n),t()),i=ue(),a=async n=>{let o={...r,...n,fetch:n.fetch??r.fetch??globalThis.fetch,headers:q(r.headers,n.headers),serializedBody:void 0};o.security&&await le({...o,security:o.security}),o.requestValidator&&await o.requestValidator(o),o.body&&o.bodySerializer&&(o.serializedBody=o.bodySerializer(o.body)),(o.serializedBody===void 0||o.serializedBody==="")&&o.headers.delete("Content-Type");let p=G(o),u={redirect:"follow",...o,body:o.serializedBody},y=new Request(p,u);for(let l of i.request._fns)l&&(y=await l(y,o));let x=o.fetch,c=await x(y);for(let l of i.response._fns)l&&(c=await l(c,y,o));let A={request:y,response:c};if(c.ok){if(c.status===204||c.headers.get("Content-Length")==="0")return o.responseStyle==="data"?{}:{data:{},...A};let l=(o.parseAs==="auto"?ce(c.headers.get("Content-Type")):o.parseAs)??"json",f;switch(l){case "arrayBuffer":case "blob":case "formData":case "json":case "text":f=await c[l]();break;case "stream":return o.responseStyle==="data"?c.body:{data:c.body,...A}}return l==="json"&&(o.responseValidator&&await o.responseValidator(f),o.responseTransformer&&(f=await o.responseTransformer(f))),o.responseStyle==="data"?f:{data:f,...A}}let m=await c.text(),E;try{E=JSON.parse(m);}catch{}let R=E??m,g=R;for(let l of i.error._fns)l&&(g=await l(R,c,y,o));if(g=g||{},o.throwOnError)throw g;return o.responseStyle==="data"?void 0:{error:g,...A}};return {buildUrl:G,connect:n=>a({...n,method:"CONNECT"}),delete:n=>a({...n,method:"DELETE"}),get:n=>a({...n,method:"GET"}),getConfig:t,head:n=>a({...n,method:"HEAD"}),interceptors:i,options:n=>a({...n,method:"OPTIONS"}),patch:n=>a({...n,method:"PATCH"}),post:n=>a({...n,method:"POST"}),put:n=>a({...n,method:"PUT"}),request:a,setConfig:s,trace:n=>a({...n,method:"TRACE"})}};var d=I(P({baseUrl:"https://odyssey.asteroid.ai/api/v1"}));var qe=e=>(e?.client??d).get({url:"/openapi.yaml",...e}),K=e=>(e.client??d).post({...k,security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/execution/{id}/files",...e,headers:{"Content-Type":null,...e.headers}}),De=e=>(e?.client??d).get({url:"/health",...e}),Ue=e=>(e.client??d).post({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/agent/{id}",...e,headers:{"Content-Type":"application/json",...e.headers}}),B=e=>(e.client??d).post({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/agent/{id}/execute",...e,headers:{"Content-Type":"application/json",...e.headers}}),$=e=>(e.client??d).get({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/execution/{id}/status",...e}),V=e=>(e.client??d).get({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/execution/{id}/result",...e}),H=e=>(e.client??d).get({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/execution/{id}/browser_session/recording",...e}),M=e=>(e?.client??d).get({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/agent-profiles",...e}),F=e=>(e.client??d).post({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/agent-profiles",...e,headers:{"Content-Type":"application/json",...e.headers}}),N=e=>(e.client??d).delete({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/agent-profiles/{profile_id}",...e}),W=e=>(e.client??d).get({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/agent-profiles/{profile_id}",...e}),Q=e=>(e.client??d).patch({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/agent-profiles/{profile_id}",...e,headers:{"Content-Type":"application/json",...e.headers}}),X=e=>(e?.client??d).get({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/credentials/public_key",...e});var ne={};se(ne,{activitiesGet:()=>re,userMessagesAdd:()=>oe});var de={bodySerializer:e=>JSON.stringify(e,(r,t)=>typeof t=="bigint"?t.toString():t)};var ye=async(e,r)=>{let t=typeof r=="function"?await r(e):r;if(t)return e.scheme==="bearer"?`Bearer ${t}`:e.scheme==="basic"?`Basic ${btoa(t)}`:t};var ke=e=>{switch(e){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},ze=e=>{switch(e){case "form":return ",";case "pipeDelimited":return "|";case "spaceDelimited":return "%20";default:return ","}},ve=e=>{switch(e){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},L=({allowReserved:e,explode:r,name:t,style:s,value:i})=>{if(!r){let o=(e?i:i.map(p=>encodeURIComponent(p))).join(ze(s));switch(s){case "label":return `.${o}`;case "matrix":return `;${t}=${o}`;case "simple":return o;default:return `${t}=${o}`}}let a=ke(s),n=i.map(o=>s==="label"||s==="simple"?e?o:encodeURIComponent(o):O({allowReserved:e,name:t,value:o})).join(a);return s==="label"||s==="matrix"?a+n:n},O=({allowReserved:e,name:r,value:t})=>{if(t==null)return "";if(typeof t=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return `${r}=${e?t:encodeURIComponent(t)}`},Y=({allowReserved:e,explode:r,name:t,style:s,value:i,valueOnly:a})=>{if(i instanceof Date)return a?i.toISOString():`${t}=${i.toISOString()}`;if(s!=="deepObject"&&!r){let p=[];Object.entries(i).forEach(([y,x])=>{p=[...p,y,e?x:encodeURIComponent(x)];});let u=p.join(",");switch(s){case "form":return `${t}=${u}`;case "label":return `.${u}`;case "matrix":return `;${t}=${u}`;default:return u}}let n=ve(s),o=Object.entries(i).map(([p,u])=>O({allowReserved:e,name:s==="deepObject"?`${t}[${p}]`:p,value:u})).join(n);return s==="label"||s==="matrix"?n+o:o};var _e=/\{[^{}]+\}/g,Ge=({path:e,url:r})=>{let t=r,s=r.match(_e);if(s)for(let i of s){let a=false,n=i.substring(1,i.length-1),o="simple";n.endsWith("*")&&(a=true,n=n.substring(0,n.length-1)),n.startsWith(".")?(n=n.substring(1),o="label"):n.startsWith(";")&&(n=n.substring(1),o="matrix");let p=e[n];if(p==null)continue;if(Array.isArray(p)){t=t.replace(i,L({explode:a,name:n,style:o,value:p}));continue}if(typeof p=="object"){t=t.replace(i,Y({explode:a,name:n,style:o,value:p,valueOnly:true}));continue}if(o==="matrix"){t=t.replace(i,`;${O({name:n,value:p})}`);continue}let u=encodeURIComponent(o==="label"?`.${p}`:p);t=t.replace(i,u);}return t},fe=({allowReserved:e,array:r,object:t}={})=>i=>{let a=[];if(i&&typeof i=="object")for(let n in i){let o=i[n];if(o!=null)if(Array.isArray(o)){let p=L({allowReserved:e,explode:true,name:n,style:"form",value:o,...r});p&&a.push(p);}else if(typeof o=="object"){let p=Y({allowReserved:e,explode:true,name:n,style:"deepObject",value:o,...t});p&&a.push(p);}else {let p=O({allowReserved:e,name:n,value:o});p&&a.push(p);}}return a.join("&")},ge=e=>{if(!e)return "stream";let r=e.split(";")[0]?.trim();if(r){if(r.startsWith("application/json")||r.endsWith("+json"))return "json";if(r==="multipart/form-data")return "formData";if(["application/","audio/","image/","video/"].some(t=>r.startsWith(t)))return "blob";if(r.startsWith("text/"))return "text"}},je=(e,r)=>r?!!(e.headers.has(r)||e.query?.[r]||e.headers.get("Cookie")?.includes(`${r}=`)):false,xe=async({security:e,...r})=>{for(let t of e){if(je(r,t.name))continue;let s=await ye(t,r.auth);if(!s)continue;let i=t.name??"Authorization";switch(t.in){case "query":r.query||(r.query={}),r.query[i]=s;break;case "cookie":r.headers.append("Cookie",`${i}=${s}`);break;case "header":default:r.headers.set(i,s);break}}},Z=e=>Ie({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:fe(e.querySerializer),url:e.url}),Ie=({baseUrl:e,path:r,query:t,querySerializer:s,url:i})=>{let a=i.startsWith("/")?i:`/${i}`,n=(e??"")+a;r&&(n=Ge({path:r,url:n}));let o=t?s(t):"";return o.startsWith("?")&&(o=o.substring(1)),o&&(n+=`?${o}`),n},ee=(e,r)=>{let t={...e,...r};return t.baseUrl?.endsWith("/")&&(t.baseUrl=t.baseUrl.substring(0,t.baseUrl.length-1)),t.headers=D(e.headers,r.headers),t},D=(...e)=>{let r=new Headers;for(let t of e){if(!t||typeof t!="object")continue;let s=t instanceof Headers?t.entries():Object.entries(t);for(let[i,a]of s)if(a===null)r.delete(i);else if(Array.isArray(a))for(let n of a)r.append(i,n);else a!==void 0&&r.set(i,typeof a=="object"?JSON.stringify(a):a);}return r},C=class{_fns;constructor(){this._fns=[];}clear(){this._fns=[];}getInterceptorIndex(r){return typeof r=="number"?this._fns[r]?r:-1:this._fns.indexOf(r)}exists(r){let t=this.getInterceptorIndex(r);return !!this._fns[t]}eject(r){let t=this.getInterceptorIndex(r);this._fns[t]&&(this._fns[t]=null);}update(r,t){let s=this.getInterceptorIndex(r);return this._fns[s]?(this._fns[s]=t,r):false}use(r){return this._fns=[...this._fns,r],this._fns.length-1}},Ae=()=>({error:new C,request:new C,response:new C}),Ke=fe({allowReserved:false,array:{explode:true,style:"form"},object:{explode:true,style:"deepObject"}}),Be={"Content-Type":"application/json"},w=(e={})=>({...de,headers:Be,parseAs:"auto",querySerializer:Ke,...e});var te=(e={})=>{let r=ee(w(),e),t=()=>({...r}),s=n=>(r=ee(r,n),t()),i=Ae(),a=async n=>{let o={...r,...n,fetch:n.fetch??r.fetch??globalThis.fetch,headers:D(r.headers,n.headers),serializedBody:void 0};o.security&&await xe({...o,security:o.security}),o.requestValidator&&await o.requestValidator(o),o.body&&o.bodySerializer&&(o.serializedBody=o.bodySerializer(o.body)),(o.serializedBody===void 0||o.serializedBody==="")&&o.headers.delete("Content-Type");let p=Z(o),u={redirect:"follow",...o,body:o.serializedBody},y=new Request(p,u);for(let l of i.request._fns)l&&(y=await l(y,o));let x=o.fetch,c=await x(y);for(let l of i.response._fns)l&&(c=await l(c,y,o));let A={request:y,response:c};if(c.ok){if(c.status===204||c.headers.get("Content-Length")==="0")return o.responseStyle==="data"?{}:{data:{},...A};let l=(o.parseAs==="auto"?ge(c.headers.get("Content-Type")):o.parseAs)??"json",f;switch(l){case "arrayBuffer":case "blob":case "formData":case "json":case "text":f=await c[l]();break;case "stream":return o.responseStyle==="data"?c.body:{data:c.body,...A}}return l==="json"&&(o.responseValidator&&await o.responseValidator(f),o.responseTransformer&&(f=await o.responseTransformer(f))),o.responseStyle==="data"?f:{data:f,...A}}let m=await c.text(),E;try{E=JSON.parse(m);}catch{}let R=E??m,g=R;for(let l of i.error._fns)l&&(g=await l(R,c,y,o));if(g=g||{},o.throwOnError)throw g;return o.responseStyle==="data"?void 0:{error:g,...A}};return {buildUrl:Z,connect:n=>a({...n,method:"CONNECT"}),delete:n=>a({...n,method:"DELETE"}),get:n=>a({...n,method:"GET"}),getConfig:t,head:n=>a({...n,method:"HEAD"}),interceptors:i,options:n=>a({...n,method:"OPTIONS"}),patch:n=>a({...n,method:"PATCH"}),post:n=>a({...n,method:"POST"}),put:n=>a({...n,method:"PUT"}),request:a,setConfig:s,trace:n=>a({...n,method:"TRACE"})}};var h=te(w());var re=e=>(e.client??h).get({url:"/executions/{executionId}/activities",...e}),oe=e=>(e.client??h).post({url:"/executions/{executionId}/user-messages",...e,headers:{"Content-Type":"application/json",...e.headers}});var $e={};var Ve={};var qt=(e,r)=>(d.setConfig({headers:{"X-Asteroid-Agents-Api-Key":e}}),h.setConfig({headers:{"X-Asteroid-Agents-Api-Key":e}}),d.setConfig({baseUrl:r?.v1?.baseUrl||"https://odyssey.asteroid.ai/api/v1"}),h.setConfig({baseUrl:r?.v2?.baseUrl||"https://odyssey.asteroid.ai/agents/v2"}),{agentsV1Client:d,agentsV2Client:h}),Dt=async(e,r,t)=>{let s=await B({client:e.agentsV1Client,path:{id:r},body:t});if(s.error)throw new Error(s.error.error);return s.data.execution_id},He=async(e,r)=>{let t=await $({client:e.agentsV1Client,path:{id:r}});if(t.error)throw new Error(t.error.error);return t.data},Me=async(e,r)=>{let t=await V({client:e.agentsV1Client,path:{id:r}});if(t.error)throw new Error(t.error.error);if(t.data.error)throw new Error(t.data.error);return t.data.execution_result||{}},Ut=async(e,r,t=1e3,s=36e5)=>{for(var i=Math.floor(s/t);i>0;){let a=await He(e,r),n=a.status;if(n==="completed")return await Me(e,r);if(n==="failed"||n==="cancelled")throw new Error(`Execution ${r} ended with status: ${n}${a.reason?" - "+a.reason:""}`);await new Promise(o=>setTimeout(o,t)),i--;}throw new Error(`Execution ${r} timed out after ${s}ms`)},kt=async(e,r)=>{let t=await H({client:e.agentsV1Client,path:{id:r}});if(t.error)throw new Error(t.error.error);return t.data},zt=async(e,r,t)=>{let s=await K({client:e.agentsV1Client,path:{id:r},body:{files:t}});if(s.error)throw new Error(s.error.error);return s.data},vt=async(e,r)=>{let t=await M({client:e.agentsV1Client,query:r?{organization_id:r}:void 0});if(t.error)throw new Error(t.error.error);return t.data},he=async e=>{let r=await X({client:e.agentsV1Client});if(r.error){let t=typeof r.error=="object"&&"error"in r.error?r.error.error:typeof r.error=="string"?r.error:JSON.stringify(r.error);throw new Error(t||"Unknown error")}if(!r.data)throw new Error("Public key not found");return r.data},_t=async(e,r)=>{let t={...r};if(r.credentials&&r.credentials.length>0){let i=await he(e);t.credentials=r.credentials.map(a=>({...a,data:U(a.data,i)}));}let s=await F({client:e.agentsV1Client,body:t});if(s.error)throw new Error(s.error.error);return s.data},Gt=async(e,r)=>{let t=await W({client:e.agentsV1Client,path:{profile_id:r}});if(t.error)throw new Error(t.error.error);return t.data},jt=async(e,r,t)=>{let s={...t};if(t.credentials_to_add&&t.credentials_to_add.length>0){let a=await he(e);s.credentials_to_add=t.credentials_to_add.map(n=>({...n,data:U(n.data,a)}));}let i=await Q({client:e.agentsV1Client,path:{profile_id:r},body:s});if(i.error)throw new Error(i.error.error);return i.data},It=async(e,r)=>{let t=await N({client:e.agentsV1Client,path:{profile_id:r}});if(t.error)throw new Error(t.error.error);return t.data},Kt=async(e,r,t)=>{let s=await re({client:e.agentsV2Client,path:{executionId:r},query:{limit:t,order:"desc"}});if(s.error)throw console.error(s.error),new Error(s.error.error);return s.data},Bt=async(e,r,t)=>{let s=await oe({client:e.agentsV2Client,path:{executionId:r},body:{message:t}});if(s.error)throw console.error(s.error),new Error(s.error.error)};
|
|
1
|
+
'use strict';var T=require('node-forge');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 T__namespace=/*#__PURE__*/_interopNamespace(T);var me=Object.defineProperty;var se=(e,r)=>{for(var t in r)me(e,t,{get:r[t],enumerable:true});};function U(e,r){try{let s=T__namespace.pki.publicKeyFromPem(r).encrypt(e,"RSAES-PKCS1-V1_5");return T__namespace.util.encode64(s)}catch(t){throw console.error("Encryption failed:",t),new Error("Failed to encrypt: "+(t instanceof Error?t.message:"unknown error"))}}var J={};se(J,{createAgentProfile:()=>F,deleteAgentProfile:()=>N,executeAgent:()=>Ue,executeAgentStructured:()=>B,getAgentProfile:()=>W,getAgentProfiles:()=>M,getBrowserSessionRecording:()=>H,getCredentialsPublicKey:()=>X,getExecutionResult:()=>V,getExecutionStatus:()=>$,getOpenApi:()=>qe,healthCheck:()=>De,updateAgentProfile:()=>Q,uploadExecutionFiles:()=>K});var ie=(e,r,t)=>{typeof t=="string"||t instanceof Blob?e.append(r,t):t instanceof Date?e.append(r,t.toISOString()):e.append(r,JSON.stringify(t));};var k={bodySerializer:e=>{let r=new FormData;return Object.entries(e).forEach(([t,s])=>{s!=null&&(Array.isArray(s)?s.forEach(i=>ie(r,t,i)):ie(r,t,s));}),r}},z={bodySerializer:e=>JSON.stringify(e,(r,t)=>typeof t=="bigint"?t.toString():t)};var ae=async(e,r)=>{let t=typeof r=="function"?await r(e):r;if(t)return e.scheme==="bearer"?`Bearer ${t}`:e.scheme==="basic"?`Basic ${btoa(t)}`:t};var Ee=e=>{switch(e){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},Re=e=>{switch(e){case "form":return ",";case "pipeDelimited":return "|";case "spaceDelimited":return "%20";default:return ","}},Se=e=>{switch(e){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},v=({allowReserved:e,explode:r,name:t,style:s,value:i})=>{if(!r){let o=(e?i:i.map(p=>encodeURIComponent(p))).join(Re(s));switch(s){case "label":return `.${o}`;case "matrix":return `;${t}=${o}`;case "simple":return o;default:return `${t}=${o}`}}let a=Ee(s),n=i.map(o=>s==="label"||s==="simple"?e?o:encodeURIComponent(o):S({allowReserved:e,name:t,value:o})).join(a);return s==="label"||s==="matrix"?a+n:n},S=({allowReserved:e,name:r,value:t})=>{if(t==null)return "";if(typeof t=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return `${r}=${e?t:encodeURIComponent(t)}`},_=({allowReserved:e,explode:r,name:t,style:s,value:i,valueOnly:a})=>{if(i instanceof Date)return a?i.toISOString():`${t}=${i.toISOString()}`;if(s!=="deepObject"&&!r){let p=[];Object.entries(i).forEach(([y,x])=>{p=[...p,y,e?x:encodeURIComponent(x)];});let u=p.join(",");switch(s){case "form":return `${t}=${u}`;case "label":return `.${u}`;case "matrix":return `;${t}=${u}`;default:return u}}let n=Se(s),o=Object.entries(i).map(([p,u])=>S({allowReserved:e,name:s==="deepObject"?`${t}[${p}]`:p,value:u})).join(n);return s==="label"||s==="matrix"?n+o:o};var be=/\{[^{}]+\}/g,Pe=({path:e,url:r})=>{let t=r,s=r.match(be);if(s)for(let i of s){let a=false,n=i.substring(1,i.length-1),o="simple";n.endsWith("*")&&(a=true,n=n.substring(0,n.length-1)),n.startsWith(".")?(n=n.substring(1),o="label"):n.startsWith(";")&&(n=n.substring(1),o="matrix");let p=e[n];if(p==null)continue;if(Array.isArray(p)){t=t.replace(i,v({explode:a,name:n,style:o,value:p}));continue}if(typeof p=="object"){t=t.replace(i,_({explode:a,name:n,style:o,value:p,valueOnly:true}));continue}if(o==="matrix"){t=t.replace(i,`;${S({name:n,value:p})}`);continue}let u=encodeURIComponent(o==="label"?`.${p}`:p);t=t.replace(i,u);}return t},pe=({allowReserved:e,array:r,object:t}={})=>i=>{let a=[];if(i&&typeof i=="object")for(let n in i){let o=i[n];if(o!=null)if(Array.isArray(o)){let p=v({allowReserved:e,explode:true,name:n,style:"form",value:o,...r});p&&a.push(p);}else if(typeof o=="object"){let p=_({allowReserved:e,explode:true,name:n,style:"deepObject",value:o,...t});p&&a.push(p);}else {let p=S({allowReserved:e,name:n,value:o});p&&a.push(p);}}return a.join("&")},ce=e=>{if(!e)return "stream";let r=e.split(";")[0]?.trim();if(r){if(r.startsWith("application/json")||r.endsWith("+json"))return "json";if(r==="multipart/form-data")return "formData";if(["application/","audio/","image/","video/"].some(t=>r.startsWith(t)))return "blob";if(r.startsWith("text/"))return "text"}},Oe=(e,r)=>r?!!(e.headers.has(r)||e.query?.[r]||e.headers.get("Cookie")?.includes(`${r}=`)):false,le=async({security:e,...r})=>{for(let t of e){if(Oe(r,t.name))continue;let s=await ae(t,r.auth);if(!s)continue;let i=t.name??"Authorization";switch(t.in){case "query":r.query||(r.query={}),r.query[i]=s;break;case "cookie":r.headers.append("Cookie",`${i}=${s}`);break;case "header":default:r.headers.set(i,s);break}}},G=e=>Ce({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:pe(e.querySerializer),url:e.url}),Ce=({baseUrl:e,path:r,query:t,querySerializer:s,url:i})=>{let a=i.startsWith("/")?i:`/${i}`,n=(e??"")+a;r&&(n=Pe({path:r,url:n}));let o=t?s(t):"";return o.startsWith("?")&&(o=o.substring(1)),o&&(n+=`?${o}`),n},j=(e,r)=>{let t={...e,...r};return t.baseUrl?.endsWith("/")&&(t.baseUrl=t.baseUrl.substring(0,t.baseUrl.length-1)),t.headers=q(e.headers,r.headers),t},q=(...e)=>{let r=new Headers;for(let t of e){if(!t||typeof t!="object")continue;let s=t instanceof Headers?t.entries():Object.entries(t);for(let[i,a]of s)if(a===null)r.delete(i);else if(Array.isArray(a))for(let n of a)r.append(i,n);else a!==void 0&&r.set(i,typeof a=="object"?JSON.stringify(a):a);}return r},b=class{_fns;constructor(){this._fns=[];}clear(){this._fns=[];}getInterceptorIndex(r){return typeof r=="number"?this._fns[r]?r:-1:this._fns.indexOf(r)}exists(r){let t=this.getInterceptorIndex(r);return !!this._fns[t]}eject(r){let t=this.getInterceptorIndex(r);this._fns[t]&&(this._fns[t]=null);}update(r,t){let s=this.getInterceptorIndex(r);return this._fns[s]?(this._fns[s]=t,r):false}use(r){return this._fns=[...this._fns,r],this._fns.length-1}},ue=()=>({error:new b,request:new b,response:new b}),we=pe({allowReserved:false,array:{explode:true,style:"form"},object:{explode:true,style:"deepObject"}}),Te={"Content-Type":"application/json"},P=(e={})=>({...z,headers:Te,parseAs:"auto",querySerializer:we,...e});var I=(e={})=>{let r=j(P(),e),t=()=>({...r}),s=n=>(r=j(r,n),t()),i=ue(),a=async n=>{let o={...r,...n,fetch:n.fetch??r.fetch??globalThis.fetch,headers:q(r.headers,n.headers),serializedBody:void 0};o.security&&await le({...o,security:o.security}),o.requestValidator&&await o.requestValidator(o),o.body&&o.bodySerializer&&(o.serializedBody=o.bodySerializer(o.body)),(o.serializedBody===void 0||o.serializedBody==="")&&o.headers.delete("Content-Type");let p=G(o),u={redirect:"follow",...o,body:o.serializedBody},y=new Request(p,u);for(let l of i.request._fns)l&&(y=await l(y,o));let x=o.fetch,c=await x(y);for(let l of i.response._fns)l&&(c=await l(c,y,o));let A={request:y,response:c};if(c.ok){if(c.status===204||c.headers.get("Content-Length")==="0")return o.responseStyle==="data"?{}:{data:{},...A};let l=(o.parseAs==="auto"?ce(c.headers.get("Content-Type")):o.parseAs)??"json",f;switch(l){case "arrayBuffer":case "blob":case "formData":case "json":case "text":f=await c[l]();break;case "stream":return o.responseStyle==="data"?c.body:{data:c.body,...A}}return l==="json"&&(o.responseValidator&&await o.responseValidator(f),o.responseTransformer&&(f=await o.responseTransformer(f))),o.responseStyle==="data"?f:{data:f,...A}}let m=await c.text(),E;try{E=JSON.parse(m);}catch{}let R=E??m,g=R;for(let l of i.error._fns)l&&(g=await l(R,c,y,o));if(g=g||{},o.throwOnError)throw g;return o.responseStyle==="data"?void 0:{error:g,...A}};return {buildUrl:G,connect:n=>a({...n,method:"CONNECT"}),delete:n=>a({...n,method:"DELETE"}),get:n=>a({...n,method:"GET"}),getConfig:t,head:n=>a({...n,method:"HEAD"}),interceptors:i,options:n=>a({...n,method:"OPTIONS"}),patch:n=>a({...n,method:"PATCH"}),post:n=>a({...n,method:"POST"}),put:n=>a({...n,method:"PUT"}),request:a,setConfig:s,trace:n=>a({...n,method:"TRACE"})}};var d=I(P({baseUrl:"https://odyssey.asteroid.ai/api/v1"}));var qe=e=>(e?.client??d).get({url:"/openapi.yaml",...e}),K=e=>(e.client??d).post({...k,security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/execution/{id}/files",...e,headers:{"Content-Type":null,...e.headers}}),De=e=>(e?.client??d).get({url:"/health",...e}),Ue=e=>(e.client??d).post({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/agent/{id}",...e,headers:{"Content-Type":"application/json",...e.headers}}),B=e=>(e.client??d).post({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/agent/{id}/execute",...e,headers:{"Content-Type":"application/json",...e.headers}}),$=e=>(e.client??d).get({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/execution/{id}/status",...e}),V=e=>(e.client??d).get({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/execution/{id}/result",...e}),H=e=>(e.client??d).get({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/execution/{id}/browser_session/recording",...e}),M=e=>(e?.client??d).get({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/agent-profiles",...e}),F=e=>(e.client??d).post({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/agent-profiles",...e,headers:{"Content-Type":"application/json",...e.headers}}),N=e=>(e.client??d).delete({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/agent-profiles/{profile_id}",...e}),W=e=>(e.client??d).get({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/agent-profiles/{profile_id}",...e}),Q=e=>(e.client??d).patch({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/agent-profiles/{profile_id}",...e,headers:{"Content-Type":"application/json",...e.headers}}),X=e=>(e?.client??d).get({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/credentials/public_key",...e});var ne={};se(ne,{activitiesGet:()=>re,userMessagesAdd:()=>oe});var de={bodySerializer:e=>JSON.stringify(e,(r,t)=>typeof t=="bigint"?t.toString():t)};var ye=async(e,r)=>{let t=typeof r=="function"?await r(e):r;if(t)return e.scheme==="bearer"?`Bearer ${t}`:e.scheme==="basic"?`Basic ${btoa(t)}`:t};var ke=e=>{switch(e){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},ze=e=>{switch(e){case "form":return ",";case "pipeDelimited":return "|";case "spaceDelimited":return "%20";default:return ","}},ve=e=>{switch(e){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},L=({allowReserved:e,explode:r,name:t,style:s,value:i})=>{if(!r){let o=(e?i:i.map(p=>encodeURIComponent(p))).join(ze(s));switch(s){case "label":return `.${o}`;case "matrix":return `;${t}=${o}`;case "simple":return o;default:return `${t}=${o}`}}let a=ke(s),n=i.map(o=>s==="label"||s==="simple"?e?o:encodeURIComponent(o):O({allowReserved:e,name:t,value:o})).join(a);return s==="label"||s==="matrix"?a+n:n},O=({allowReserved:e,name:r,value:t})=>{if(t==null)return "";if(typeof t=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return `${r}=${e?t:encodeURIComponent(t)}`},Y=({allowReserved:e,explode:r,name:t,style:s,value:i,valueOnly:a})=>{if(i instanceof Date)return a?i.toISOString():`${t}=${i.toISOString()}`;if(s!=="deepObject"&&!r){let p=[];Object.entries(i).forEach(([y,x])=>{p=[...p,y,e?x:encodeURIComponent(x)];});let u=p.join(",");switch(s){case "form":return `${t}=${u}`;case "label":return `.${u}`;case "matrix":return `;${t}=${u}`;default:return u}}let n=ve(s),o=Object.entries(i).map(([p,u])=>O({allowReserved:e,name:s==="deepObject"?`${t}[${p}]`:p,value:u})).join(n);return s==="label"||s==="matrix"?n+o:o};var _e=/\{[^{}]+\}/g,Ge=({path:e,url:r})=>{let t=r,s=r.match(_e);if(s)for(let i of s){let a=false,n=i.substring(1,i.length-1),o="simple";n.endsWith("*")&&(a=true,n=n.substring(0,n.length-1)),n.startsWith(".")?(n=n.substring(1),o="label"):n.startsWith(";")&&(n=n.substring(1),o="matrix");let p=e[n];if(p==null)continue;if(Array.isArray(p)){t=t.replace(i,L({explode:a,name:n,style:o,value:p}));continue}if(typeof p=="object"){t=t.replace(i,Y({explode:a,name:n,style:o,value:p,valueOnly:true}));continue}if(o==="matrix"){t=t.replace(i,`;${O({name:n,value:p})}`);continue}let u=encodeURIComponent(o==="label"?`.${p}`:p);t=t.replace(i,u);}return t},fe=({allowReserved:e,array:r,object:t}={})=>i=>{let a=[];if(i&&typeof i=="object")for(let n in i){let o=i[n];if(o!=null)if(Array.isArray(o)){let p=L({allowReserved:e,explode:true,name:n,style:"form",value:o,...r});p&&a.push(p);}else if(typeof o=="object"){let p=Y({allowReserved:e,explode:true,name:n,style:"deepObject",value:o,...t});p&&a.push(p);}else {let p=O({allowReserved:e,name:n,value:o});p&&a.push(p);}}return a.join("&")},ge=e=>{if(!e)return "stream";let r=e.split(";")[0]?.trim();if(r){if(r.startsWith("application/json")||r.endsWith("+json"))return "json";if(r==="multipart/form-data")return "formData";if(["application/","audio/","image/","video/"].some(t=>r.startsWith(t)))return "blob";if(r.startsWith("text/"))return "text"}},je=(e,r)=>r?!!(e.headers.has(r)||e.query?.[r]||e.headers.get("Cookie")?.includes(`${r}=`)):false,xe=async({security:e,...r})=>{for(let t of e){if(je(r,t.name))continue;let s=await ye(t,r.auth);if(!s)continue;let i=t.name??"Authorization";switch(t.in){case "query":r.query||(r.query={}),r.query[i]=s;break;case "cookie":r.headers.append("Cookie",`${i}=${s}`);break;case "header":default:r.headers.set(i,s);break}}},Z=e=>Ie({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:fe(e.querySerializer),url:e.url}),Ie=({baseUrl:e,path:r,query:t,querySerializer:s,url:i})=>{let a=i.startsWith("/")?i:`/${i}`,n=(e??"")+a;r&&(n=Ge({path:r,url:n}));let o=t?s(t):"";return o.startsWith("?")&&(o=o.substring(1)),o&&(n+=`?${o}`),n},ee=(e,r)=>{let t={...e,...r};return t.baseUrl?.endsWith("/")&&(t.baseUrl=t.baseUrl.substring(0,t.baseUrl.length-1)),t.headers=D(e.headers,r.headers),t},D=(...e)=>{let r=new Headers;for(let t of e){if(!t||typeof t!="object")continue;let s=t instanceof Headers?t.entries():Object.entries(t);for(let[i,a]of s)if(a===null)r.delete(i);else if(Array.isArray(a))for(let n of a)r.append(i,n);else a!==void 0&&r.set(i,typeof a=="object"?JSON.stringify(a):a);}return r},C=class{_fns;constructor(){this._fns=[];}clear(){this._fns=[];}getInterceptorIndex(r){return typeof r=="number"?this._fns[r]?r:-1:this._fns.indexOf(r)}exists(r){let t=this.getInterceptorIndex(r);return !!this._fns[t]}eject(r){let t=this.getInterceptorIndex(r);this._fns[t]&&(this._fns[t]=null);}update(r,t){let s=this.getInterceptorIndex(r);return this._fns[s]?(this._fns[s]=t,r):false}use(r){return this._fns=[...this._fns,r],this._fns.length-1}},Ae=()=>({error:new C,request:new C,response:new C}),Ke=fe({allowReserved:false,array:{explode:true,style:"form"},object:{explode:true,style:"deepObject"}}),Be={"Content-Type":"application/json"},w=(e={})=>({...de,headers:Be,parseAs:"auto",querySerializer:Ke,...e});var te=(e={})=>{let r=ee(w(),e),t=()=>({...r}),s=n=>(r=ee(r,n),t()),i=Ae(),a=async n=>{let o={...r,...n,fetch:n.fetch??r.fetch??globalThis.fetch,headers:D(r.headers,n.headers),serializedBody:void 0};o.security&&await xe({...o,security:o.security}),o.requestValidator&&await o.requestValidator(o),o.body&&o.bodySerializer&&(o.serializedBody=o.bodySerializer(o.body)),(o.serializedBody===void 0||o.serializedBody==="")&&o.headers.delete("Content-Type");let p=Z(o),u={redirect:"follow",...o,body:o.serializedBody},y=new Request(p,u);for(let l of i.request._fns)l&&(y=await l(y,o));let x=o.fetch,c=await x(y);for(let l of i.response._fns)l&&(c=await l(c,y,o));let A={request:y,response:c};if(c.ok){if(c.status===204||c.headers.get("Content-Length")==="0")return o.responseStyle==="data"?{}:{data:{},...A};let l=(o.parseAs==="auto"?ge(c.headers.get("Content-Type")):o.parseAs)??"json",f;switch(l){case "arrayBuffer":case "blob":case "formData":case "json":case "text":f=await c[l]();break;case "stream":return o.responseStyle==="data"?c.body:{data:c.body,...A}}return l==="json"&&(o.responseValidator&&await o.responseValidator(f),o.responseTransformer&&(f=await o.responseTransformer(f))),o.responseStyle==="data"?f:{data:f,...A}}let m=await c.text(),E;try{E=JSON.parse(m);}catch{}let R=E??m,g=R;for(let l of i.error._fns)l&&(g=await l(R,c,y,o));if(g=g||{},o.throwOnError)throw g;return o.responseStyle==="data"?void 0:{error:g,...A}};return {buildUrl:Z,connect:n=>a({...n,method:"CONNECT"}),delete:n=>a({...n,method:"DELETE"}),get:n=>a({...n,method:"GET"}),getConfig:t,head:n=>a({...n,method:"HEAD"}),interceptors:i,options:n=>a({...n,method:"OPTIONS"}),patch:n=>a({...n,method:"PATCH"}),post:n=>a({...n,method:"POST"}),put:n=>a({...n,method:"PUT"}),request:a,setConfig:s,trace:n=>a({...n,method:"TRACE"})}};var h=te(w());var re=e=>(e.client??h).get({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/executions/{executionId}/activities",...e}),oe=e=>(e.client??h).post({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/executions/{executionId}/user-messages",...e,headers:{"Content-Type":"application/json",...e.headers}});var $e={};var Ve={};var qt=(e,r)=>(d.setConfig({headers:{"X-Asteroid-Agents-Api-Key":e}}),h.setConfig({headers:{"X-Asteroid-Agents-Api-Key":e}}),d.setConfig({baseUrl:r?.v1?.baseUrl||"https://odyssey.asteroid.ai/api/v1"}),h.setConfig({baseUrl:r?.v2?.baseUrl||"https://odyssey.asteroid.ai/agents/v2"}),{agentsV1Client:d,agentsV2Client:h}),Dt=async(e,r,t)=>{let s=await B({client:e.agentsV1Client,path:{id:r},body:t});if(s.error)throw new Error(s.error.error);return s.data.execution_id},He=async(e,r)=>{let t=await $({client:e.agentsV1Client,path:{id:r}});if(t.error)throw new Error(t.error.error);return t.data},Me=async(e,r)=>{let t=await V({client:e.agentsV1Client,path:{id:r}});if(t.error)throw new Error(t.error.error);if(t.data.error)throw new Error(t.data.error);return t.data.execution_result||{}},Ut=async(e,r,t=1e3,s=36e5)=>{for(var i=Math.floor(s/t);i>0;){let a=await He(e,r),n=a.status;if(n==="completed")return await Me(e,r);if(n==="failed"||n==="cancelled")throw new Error(`Execution ${r} ended with status: ${n}${a.reason?" - "+a.reason:""}`);await new Promise(o=>setTimeout(o,t)),i--;}throw new Error(`Execution ${r} timed out after ${s}ms`)},kt=async(e,r)=>{let t=await H({client:e.agentsV1Client,path:{id:r}});if(t.error)throw new Error(t.error.error);return t.data},zt=async(e,r,t)=>{let s=await K({client:e.agentsV1Client,path:{id:r},body:{files:t}});if(s.error)throw new Error(s.error.error);return s.data},vt=async(e,r)=>{let t=await M({client:e.agentsV1Client,query:r?{organization_id:r}:void 0});if(t.error)throw new Error(t.error.error);return t.data},he=async e=>{let r=await X({client:e.agentsV1Client});if(r.error){let t=typeof r.error=="object"&&"error"in r.error?r.error.error:typeof r.error=="string"?r.error:JSON.stringify(r.error);throw new Error(t||"Unknown error")}if(!r.data)throw new Error("Public key not found");return r.data},_t=async(e,r)=>{let t={...r};if(r.credentials&&r.credentials.length>0){let i=await he(e);t.credentials=r.credentials.map(a=>({...a,data:U(a.data,i)}));}let s=await F({client:e.agentsV1Client,body:t});if(s.error)throw new Error(s.error.error);return s.data},Gt=async(e,r)=>{let t=await W({client:e.agentsV1Client,path:{profile_id:r}});if(t.error)throw new Error(t.error.error);return t.data},jt=async(e,r,t)=>{let s={...t};if(t.credentials_to_add&&t.credentials_to_add.length>0){let a=await he(e);s.credentials_to_add=t.credentials_to_add.map(n=>({...n,data:U(n.data,a)}));}let i=await Q({client:e.agentsV1Client,path:{profile_id:r},body:s});if(i.error)throw new Error(i.error.error);return i.data},It=async(e,r)=>{let t=await N({client:e.agentsV1Client,path:{profile_id:r}});if(t.error)throw new Error(t.error.error);return t.data},Kt=async(e,r,t)=>{let s=await re({client:e.agentsV2Client,path:{executionId:r},query:{limit:t,order:"desc"}});if(s.error)throw console.error(s.error),new Error(s.error.error);return s.data},Bt=async(e,r,t)=>{let s=await oe({client:e.agentsV2Client,path:{executionId:r},body:{message:t}});if(s.error)throw console.error(s.error),new Error(s.error.error)};
|
|
2
2
|
exports.AgentsV1SDK=J;exports.AgentsV1Types=$e;exports.AgentsV2SDK=ne;exports.AgentsV2Types=Ve;exports.AsteroidClient=qt;exports.addMessageToExecution=Bt;exports.createAgentProfile=_t;exports.deleteAgentProfile=It;exports.executeAgent=Dt;exports.getAgentProfile=Gt;exports.getAgentProfiles=vt;exports.getBrowserSessionRecording=kt;exports.getCredentialsPublicKey=he;exports.getExecutionResult=Me;exports.getExecutionStatus=He;exports.getLastNExecutionActivities=Kt;exports.updateAgentProfile=jt;exports.uploadExecutionFiles=zt;exports.waitForExecutionResult=Ut;
|
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as T from'node-forge';var me=Object.defineProperty;var se=(e,r)=>{for(var t in r)me(e,t,{get:r[t],enumerable:true});};function U(e,r){try{let s=T.pki.publicKeyFromPem(r).encrypt(e,"RSAES-PKCS1-V1_5");return T.util.encode64(s)}catch(t){throw console.error("Encryption failed:",t),new Error("Failed to encrypt: "+(t instanceof Error?t.message:"unknown error"))}}var J={};se(J,{createAgentProfile:()=>F,deleteAgentProfile:()=>N,executeAgent:()=>Ue,executeAgentStructured:()=>B,getAgentProfile:()=>W,getAgentProfiles:()=>M,getBrowserSessionRecording:()=>H,getCredentialsPublicKey:()=>X,getExecutionResult:()=>V,getExecutionStatus:()=>$,getOpenApi:()=>qe,healthCheck:()=>De,updateAgentProfile:()=>Q,uploadExecutionFiles:()=>K});var ie=(e,r,t)=>{typeof t=="string"||t instanceof Blob?e.append(r,t):t instanceof Date?e.append(r,t.toISOString()):e.append(r,JSON.stringify(t));};var k={bodySerializer:e=>{let r=new FormData;return Object.entries(e).forEach(([t,s])=>{s!=null&&(Array.isArray(s)?s.forEach(i=>ie(r,t,i)):ie(r,t,s));}),r}},z={bodySerializer:e=>JSON.stringify(e,(r,t)=>typeof t=="bigint"?t.toString():t)};var ae=async(e,r)=>{let t=typeof r=="function"?await r(e):r;if(t)return e.scheme==="bearer"?`Bearer ${t}`:e.scheme==="basic"?`Basic ${btoa(t)}`:t};var Ee=e=>{switch(e){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},Re=e=>{switch(e){case "form":return ",";case "pipeDelimited":return "|";case "spaceDelimited":return "%20";default:return ","}},Se=e=>{switch(e){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},v=({allowReserved:e,explode:r,name:t,style:s,value:i})=>{if(!r){let o=(e?i:i.map(p=>encodeURIComponent(p))).join(Re(s));switch(s){case "label":return `.${o}`;case "matrix":return `;${t}=${o}`;case "simple":return o;default:return `${t}=${o}`}}let a=Ee(s),n=i.map(o=>s==="label"||s==="simple"?e?o:encodeURIComponent(o):S({allowReserved:e,name:t,value:o})).join(a);return s==="label"||s==="matrix"?a+n:n},S=({allowReserved:e,name:r,value:t})=>{if(t==null)return "";if(typeof t=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return `${r}=${e?t:encodeURIComponent(t)}`},_=({allowReserved:e,explode:r,name:t,style:s,value:i,valueOnly:a})=>{if(i instanceof Date)return a?i.toISOString():`${t}=${i.toISOString()}`;if(s!=="deepObject"&&!r){let p=[];Object.entries(i).forEach(([y,x])=>{p=[...p,y,e?x:encodeURIComponent(x)];});let u=p.join(",");switch(s){case "form":return `${t}=${u}`;case "label":return `.${u}`;case "matrix":return `;${t}=${u}`;default:return u}}let n=Se(s),o=Object.entries(i).map(([p,u])=>S({allowReserved:e,name:s==="deepObject"?`${t}[${p}]`:p,value:u})).join(n);return s==="label"||s==="matrix"?n+o:o};var be=/\{[^{}]+\}/g,Pe=({path:e,url:r})=>{let t=r,s=r.match(be);if(s)for(let i of s){let a=false,n=i.substring(1,i.length-1),o="simple";n.endsWith("*")&&(a=true,n=n.substring(0,n.length-1)),n.startsWith(".")?(n=n.substring(1),o="label"):n.startsWith(";")&&(n=n.substring(1),o="matrix");let p=e[n];if(p==null)continue;if(Array.isArray(p)){t=t.replace(i,v({explode:a,name:n,style:o,value:p}));continue}if(typeof p=="object"){t=t.replace(i,_({explode:a,name:n,style:o,value:p,valueOnly:true}));continue}if(o==="matrix"){t=t.replace(i,`;${S({name:n,value:p})}`);continue}let u=encodeURIComponent(o==="label"?`.${p}`:p);t=t.replace(i,u);}return t},pe=({allowReserved:e,array:r,object:t}={})=>i=>{let a=[];if(i&&typeof i=="object")for(let n in i){let o=i[n];if(o!=null)if(Array.isArray(o)){let p=v({allowReserved:e,explode:true,name:n,style:"form",value:o,...r});p&&a.push(p);}else if(typeof o=="object"){let p=_({allowReserved:e,explode:true,name:n,style:"deepObject",value:o,...t});p&&a.push(p);}else {let p=S({allowReserved:e,name:n,value:o});p&&a.push(p);}}return a.join("&")},ce=e=>{if(!e)return "stream";let r=e.split(";")[0]?.trim();if(r){if(r.startsWith("application/json")||r.endsWith("+json"))return "json";if(r==="multipart/form-data")return "formData";if(["application/","audio/","image/","video/"].some(t=>r.startsWith(t)))return "blob";if(r.startsWith("text/"))return "text"}},Oe=(e,r)=>r?!!(e.headers.has(r)||e.query?.[r]||e.headers.get("Cookie")?.includes(`${r}=`)):false,le=async({security:e,...r})=>{for(let t of e){if(Oe(r,t.name))continue;let s=await ae(t,r.auth);if(!s)continue;let i=t.name??"Authorization";switch(t.in){case "query":r.query||(r.query={}),r.query[i]=s;break;case "cookie":r.headers.append("Cookie",`${i}=${s}`);break;case "header":default:r.headers.set(i,s);break}}},G=e=>Ce({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:pe(e.querySerializer),url:e.url}),Ce=({baseUrl:e,path:r,query:t,querySerializer:s,url:i})=>{let a=i.startsWith("/")?i:`/${i}`,n=(e??"")+a;r&&(n=Pe({path:r,url:n}));let o=t?s(t):"";return o.startsWith("?")&&(o=o.substring(1)),o&&(n+=`?${o}`),n},j=(e,r)=>{let t={...e,...r};return t.baseUrl?.endsWith("/")&&(t.baseUrl=t.baseUrl.substring(0,t.baseUrl.length-1)),t.headers=q(e.headers,r.headers),t},q=(...e)=>{let r=new Headers;for(let t of e){if(!t||typeof t!="object")continue;let s=t instanceof Headers?t.entries():Object.entries(t);for(let[i,a]of s)if(a===null)r.delete(i);else if(Array.isArray(a))for(let n of a)r.append(i,n);else a!==void 0&&r.set(i,typeof a=="object"?JSON.stringify(a):a);}return r},b=class{_fns;constructor(){this._fns=[];}clear(){this._fns=[];}getInterceptorIndex(r){return typeof r=="number"?this._fns[r]?r:-1:this._fns.indexOf(r)}exists(r){let t=this.getInterceptorIndex(r);return !!this._fns[t]}eject(r){let t=this.getInterceptorIndex(r);this._fns[t]&&(this._fns[t]=null);}update(r,t){let s=this.getInterceptorIndex(r);return this._fns[s]?(this._fns[s]=t,r):false}use(r){return this._fns=[...this._fns,r],this._fns.length-1}},ue=()=>({error:new b,request:new b,response:new b}),we=pe({allowReserved:false,array:{explode:true,style:"form"},object:{explode:true,style:"deepObject"}}),Te={"Content-Type":"application/json"},P=(e={})=>({...z,headers:Te,parseAs:"auto",querySerializer:we,...e});var I=(e={})=>{let r=j(P(),e),t=()=>({...r}),s=n=>(r=j(r,n),t()),i=ue(),a=async n=>{let o={...r,...n,fetch:n.fetch??r.fetch??globalThis.fetch,headers:q(r.headers,n.headers),serializedBody:void 0};o.security&&await le({...o,security:o.security}),o.requestValidator&&await o.requestValidator(o),o.body&&o.bodySerializer&&(o.serializedBody=o.bodySerializer(o.body)),(o.serializedBody===void 0||o.serializedBody==="")&&o.headers.delete("Content-Type");let p=G(o),u={redirect:"follow",...o,body:o.serializedBody},y=new Request(p,u);for(let l of i.request._fns)l&&(y=await l(y,o));let x=o.fetch,c=await x(y);for(let l of i.response._fns)l&&(c=await l(c,y,o));let A={request:y,response:c};if(c.ok){if(c.status===204||c.headers.get("Content-Length")==="0")return o.responseStyle==="data"?{}:{data:{},...A};let l=(o.parseAs==="auto"?ce(c.headers.get("Content-Type")):o.parseAs)??"json",f;switch(l){case "arrayBuffer":case "blob":case "formData":case "json":case "text":f=await c[l]();break;case "stream":return o.responseStyle==="data"?c.body:{data:c.body,...A}}return l==="json"&&(o.responseValidator&&await o.responseValidator(f),o.responseTransformer&&(f=await o.responseTransformer(f))),o.responseStyle==="data"?f:{data:f,...A}}let m=await c.text(),E;try{E=JSON.parse(m);}catch{}let R=E??m,g=R;for(let l of i.error._fns)l&&(g=await l(R,c,y,o));if(g=g||{},o.throwOnError)throw g;return o.responseStyle==="data"?void 0:{error:g,...A}};return {buildUrl:G,connect:n=>a({...n,method:"CONNECT"}),delete:n=>a({...n,method:"DELETE"}),get:n=>a({...n,method:"GET"}),getConfig:t,head:n=>a({...n,method:"HEAD"}),interceptors:i,options:n=>a({...n,method:"OPTIONS"}),patch:n=>a({...n,method:"PATCH"}),post:n=>a({...n,method:"POST"}),put:n=>a({...n,method:"PUT"}),request:a,setConfig:s,trace:n=>a({...n,method:"TRACE"})}};var d=I(P({baseUrl:"https://odyssey.asteroid.ai/api/v1"}));var qe=e=>(e?.client??d).get({url:"/openapi.yaml",...e}),K=e=>(e.client??d).post({...k,security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/execution/{id}/files",...e,headers:{"Content-Type":null,...e.headers}}),De=e=>(e?.client??d).get({url:"/health",...e}),Ue=e=>(e.client??d).post({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/agent/{id}",...e,headers:{"Content-Type":"application/json",...e.headers}}),B=e=>(e.client??d).post({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/agent/{id}/execute",...e,headers:{"Content-Type":"application/json",...e.headers}}),$=e=>(e.client??d).get({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/execution/{id}/status",...e}),V=e=>(e.client??d).get({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/execution/{id}/result",...e}),H=e=>(e.client??d).get({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/execution/{id}/browser_session/recording",...e}),M=e=>(e?.client??d).get({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/agent-profiles",...e}),F=e=>(e.client??d).post({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/agent-profiles",...e,headers:{"Content-Type":"application/json",...e.headers}}),N=e=>(e.client??d).delete({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/agent-profiles/{profile_id}",...e}),W=e=>(e.client??d).get({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/agent-profiles/{profile_id}",...e}),Q=e=>(e.client??d).patch({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/agent-profiles/{profile_id}",...e,headers:{"Content-Type":"application/json",...e.headers}}),X=e=>(e?.client??d).get({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/credentials/public_key",...e});var ne={};se(ne,{activitiesGet:()=>re,userMessagesAdd:()=>oe});var de={bodySerializer:e=>JSON.stringify(e,(r,t)=>typeof t=="bigint"?t.toString():t)};var ye=async(e,r)=>{let t=typeof r=="function"?await r(e):r;if(t)return e.scheme==="bearer"?`Bearer ${t}`:e.scheme==="basic"?`Basic ${btoa(t)}`:t};var ke=e=>{switch(e){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},ze=e=>{switch(e){case "form":return ",";case "pipeDelimited":return "|";case "spaceDelimited":return "%20";default:return ","}},ve=e=>{switch(e){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},L=({allowReserved:e,explode:r,name:t,style:s,value:i})=>{if(!r){let o=(e?i:i.map(p=>encodeURIComponent(p))).join(ze(s));switch(s){case "label":return `.${o}`;case "matrix":return `;${t}=${o}`;case "simple":return o;default:return `${t}=${o}`}}let a=ke(s),n=i.map(o=>s==="label"||s==="simple"?e?o:encodeURIComponent(o):O({allowReserved:e,name:t,value:o})).join(a);return s==="label"||s==="matrix"?a+n:n},O=({allowReserved:e,name:r,value:t})=>{if(t==null)return "";if(typeof t=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return `${r}=${e?t:encodeURIComponent(t)}`},Y=({allowReserved:e,explode:r,name:t,style:s,value:i,valueOnly:a})=>{if(i instanceof Date)return a?i.toISOString():`${t}=${i.toISOString()}`;if(s!=="deepObject"&&!r){let p=[];Object.entries(i).forEach(([y,x])=>{p=[...p,y,e?x:encodeURIComponent(x)];});let u=p.join(",");switch(s){case "form":return `${t}=${u}`;case "label":return `.${u}`;case "matrix":return `;${t}=${u}`;default:return u}}let n=ve(s),o=Object.entries(i).map(([p,u])=>O({allowReserved:e,name:s==="deepObject"?`${t}[${p}]`:p,value:u})).join(n);return s==="label"||s==="matrix"?n+o:o};var _e=/\{[^{}]+\}/g,Ge=({path:e,url:r})=>{let t=r,s=r.match(_e);if(s)for(let i of s){let a=false,n=i.substring(1,i.length-1),o="simple";n.endsWith("*")&&(a=true,n=n.substring(0,n.length-1)),n.startsWith(".")?(n=n.substring(1),o="label"):n.startsWith(";")&&(n=n.substring(1),o="matrix");let p=e[n];if(p==null)continue;if(Array.isArray(p)){t=t.replace(i,L({explode:a,name:n,style:o,value:p}));continue}if(typeof p=="object"){t=t.replace(i,Y({explode:a,name:n,style:o,value:p,valueOnly:true}));continue}if(o==="matrix"){t=t.replace(i,`;${O({name:n,value:p})}`);continue}let u=encodeURIComponent(o==="label"?`.${p}`:p);t=t.replace(i,u);}return t},fe=({allowReserved:e,array:r,object:t}={})=>i=>{let a=[];if(i&&typeof i=="object")for(let n in i){let o=i[n];if(o!=null)if(Array.isArray(o)){let p=L({allowReserved:e,explode:true,name:n,style:"form",value:o,...r});p&&a.push(p);}else if(typeof o=="object"){let p=Y({allowReserved:e,explode:true,name:n,style:"deepObject",value:o,...t});p&&a.push(p);}else {let p=O({allowReserved:e,name:n,value:o});p&&a.push(p);}}return a.join("&")},ge=e=>{if(!e)return "stream";let r=e.split(";")[0]?.trim();if(r){if(r.startsWith("application/json")||r.endsWith("+json"))return "json";if(r==="multipart/form-data")return "formData";if(["application/","audio/","image/","video/"].some(t=>r.startsWith(t)))return "blob";if(r.startsWith("text/"))return "text"}},je=(e,r)=>r?!!(e.headers.has(r)||e.query?.[r]||e.headers.get("Cookie")?.includes(`${r}=`)):false,xe=async({security:e,...r})=>{for(let t of e){if(je(r,t.name))continue;let s=await ye(t,r.auth);if(!s)continue;let i=t.name??"Authorization";switch(t.in){case "query":r.query||(r.query={}),r.query[i]=s;break;case "cookie":r.headers.append("Cookie",`${i}=${s}`);break;case "header":default:r.headers.set(i,s);break}}},Z=e=>Ie({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:fe(e.querySerializer),url:e.url}),Ie=({baseUrl:e,path:r,query:t,querySerializer:s,url:i})=>{let a=i.startsWith("/")?i:`/${i}`,n=(e??"")+a;r&&(n=Ge({path:r,url:n}));let o=t?s(t):"";return o.startsWith("?")&&(o=o.substring(1)),o&&(n+=`?${o}`),n},ee=(e,r)=>{let t={...e,...r};return t.baseUrl?.endsWith("/")&&(t.baseUrl=t.baseUrl.substring(0,t.baseUrl.length-1)),t.headers=D(e.headers,r.headers),t},D=(...e)=>{let r=new Headers;for(let t of e){if(!t||typeof t!="object")continue;let s=t instanceof Headers?t.entries():Object.entries(t);for(let[i,a]of s)if(a===null)r.delete(i);else if(Array.isArray(a))for(let n of a)r.append(i,n);else a!==void 0&&r.set(i,typeof a=="object"?JSON.stringify(a):a);}return r},C=class{_fns;constructor(){this._fns=[];}clear(){this._fns=[];}getInterceptorIndex(r){return typeof r=="number"?this._fns[r]?r:-1:this._fns.indexOf(r)}exists(r){let t=this.getInterceptorIndex(r);return !!this._fns[t]}eject(r){let t=this.getInterceptorIndex(r);this._fns[t]&&(this._fns[t]=null);}update(r,t){let s=this.getInterceptorIndex(r);return this._fns[s]?(this._fns[s]=t,r):false}use(r){return this._fns=[...this._fns,r],this._fns.length-1}},Ae=()=>({error:new C,request:new C,response:new C}),Ke=fe({allowReserved:false,array:{explode:true,style:"form"},object:{explode:true,style:"deepObject"}}),Be={"Content-Type":"application/json"},w=(e={})=>({...de,headers:Be,parseAs:"auto",querySerializer:Ke,...e});var te=(e={})=>{let r=ee(w(),e),t=()=>({...r}),s=n=>(r=ee(r,n),t()),i=Ae(),a=async n=>{let o={...r,...n,fetch:n.fetch??r.fetch??globalThis.fetch,headers:D(r.headers,n.headers),serializedBody:void 0};o.security&&await xe({...o,security:o.security}),o.requestValidator&&await o.requestValidator(o),o.body&&o.bodySerializer&&(o.serializedBody=o.bodySerializer(o.body)),(o.serializedBody===void 0||o.serializedBody==="")&&o.headers.delete("Content-Type");let p=Z(o),u={redirect:"follow",...o,body:o.serializedBody},y=new Request(p,u);for(let l of i.request._fns)l&&(y=await l(y,o));let x=o.fetch,c=await x(y);for(let l of i.response._fns)l&&(c=await l(c,y,o));let A={request:y,response:c};if(c.ok){if(c.status===204||c.headers.get("Content-Length")==="0")return o.responseStyle==="data"?{}:{data:{},...A};let l=(o.parseAs==="auto"?ge(c.headers.get("Content-Type")):o.parseAs)??"json",f;switch(l){case "arrayBuffer":case "blob":case "formData":case "json":case "text":f=await c[l]();break;case "stream":return o.responseStyle==="data"?c.body:{data:c.body,...A}}return l==="json"&&(o.responseValidator&&await o.responseValidator(f),o.responseTransformer&&(f=await o.responseTransformer(f))),o.responseStyle==="data"?f:{data:f,...A}}let m=await c.text(),E;try{E=JSON.parse(m);}catch{}let R=E??m,g=R;for(let l of i.error._fns)l&&(g=await l(R,c,y,o));if(g=g||{},o.throwOnError)throw g;return o.responseStyle==="data"?void 0:{error:g,...A}};return {buildUrl:Z,connect:n=>a({...n,method:"CONNECT"}),delete:n=>a({...n,method:"DELETE"}),get:n=>a({...n,method:"GET"}),getConfig:t,head:n=>a({...n,method:"HEAD"}),interceptors:i,options:n=>a({...n,method:"OPTIONS"}),patch:n=>a({...n,method:"PATCH"}),post:n=>a({...n,method:"POST"}),put:n=>a({...n,method:"PUT"}),request:a,setConfig:s,trace:n=>a({...n,method:"TRACE"})}};var h=te(w());var re=e=>(e.client??h).get({url:"/executions/{executionId}/activities",...e}),oe=e=>(e.client??h).post({url:"/executions/{executionId}/user-messages",...e,headers:{"Content-Type":"application/json",...e.headers}});var $e={};var Ve={};var qt=(e,r)=>(d.setConfig({headers:{"X-Asteroid-Agents-Api-Key":e}}),h.setConfig({headers:{"X-Asteroid-Agents-Api-Key":e}}),d.setConfig({baseUrl:r?.v1?.baseUrl||"https://odyssey.asteroid.ai/api/v1"}),h.setConfig({baseUrl:r?.v2?.baseUrl||"https://odyssey.asteroid.ai/agents/v2"}),{agentsV1Client:d,agentsV2Client:h}),Dt=async(e,r,t)=>{let s=await B({client:e.agentsV1Client,path:{id:r},body:t});if(s.error)throw new Error(s.error.error);return s.data.execution_id},He=async(e,r)=>{let t=await $({client:e.agentsV1Client,path:{id:r}});if(t.error)throw new Error(t.error.error);return t.data},Me=async(e,r)=>{let t=await V({client:e.agentsV1Client,path:{id:r}});if(t.error)throw new Error(t.error.error);if(t.data.error)throw new Error(t.data.error);return t.data.execution_result||{}},Ut=async(e,r,t=1e3,s=36e5)=>{for(var i=Math.floor(s/t);i>0;){let a=await He(e,r),n=a.status;if(n==="completed")return await Me(e,r);if(n==="failed"||n==="cancelled")throw new Error(`Execution ${r} ended with status: ${n}${a.reason?" - "+a.reason:""}`);await new Promise(o=>setTimeout(o,t)),i--;}throw new Error(`Execution ${r} timed out after ${s}ms`)},kt=async(e,r)=>{let t=await H({client:e.agentsV1Client,path:{id:r}});if(t.error)throw new Error(t.error.error);return t.data},zt=async(e,r,t)=>{let s=await K({client:e.agentsV1Client,path:{id:r},body:{files:t}});if(s.error)throw new Error(s.error.error);return s.data},vt=async(e,r)=>{let t=await M({client:e.agentsV1Client,query:r?{organization_id:r}:void 0});if(t.error)throw new Error(t.error.error);return t.data},he=async e=>{let r=await X({client:e.agentsV1Client});if(r.error){let t=typeof r.error=="object"&&"error"in r.error?r.error.error:typeof r.error=="string"?r.error:JSON.stringify(r.error);throw new Error(t||"Unknown error")}if(!r.data)throw new Error("Public key not found");return r.data},_t=async(e,r)=>{let t={...r};if(r.credentials&&r.credentials.length>0){let i=await he(e);t.credentials=r.credentials.map(a=>({...a,data:U(a.data,i)}));}let s=await F({client:e.agentsV1Client,body:t});if(s.error)throw new Error(s.error.error);return s.data},Gt=async(e,r)=>{let t=await W({client:e.agentsV1Client,path:{profile_id:r}});if(t.error)throw new Error(t.error.error);return t.data},jt=async(e,r,t)=>{let s={...t};if(t.credentials_to_add&&t.credentials_to_add.length>0){let a=await he(e);s.credentials_to_add=t.credentials_to_add.map(n=>({...n,data:U(n.data,a)}));}let i=await Q({client:e.agentsV1Client,path:{profile_id:r},body:s});if(i.error)throw new Error(i.error.error);return i.data},It=async(e,r)=>{let t=await N({client:e.agentsV1Client,path:{profile_id:r}});if(t.error)throw new Error(t.error.error);return t.data},Kt=async(e,r,t)=>{let s=await re({client:e.agentsV2Client,path:{executionId:r},query:{limit:t,order:"desc"}});if(s.error)throw console.error(s.error),new Error(s.error.error);return s.data},Bt=async(e,r,t)=>{let s=await oe({client:e.agentsV2Client,path:{executionId:r},body:{message:t}});if(s.error)throw console.error(s.error),new Error(s.error.error)};
|
|
1
|
+
import*as T from'node-forge';var me=Object.defineProperty;var se=(e,r)=>{for(var t in r)me(e,t,{get:r[t],enumerable:true});};function U(e,r){try{let s=T.pki.publicKeyFromPem(r).encrypt(e,"RSAES-PKCS1-V1_5");return T.util.encode64(s)}catch(t){throw console.error("Encryption failed:",t),new Error("Failed to encrypt: "+(t instanceof Error?t.message:"unknown error"))}}var J={};se(J,{createAgentProfile:()=>F,deleteAgentProfile:()=>N,executeAgent:()=>Ue,executeAgentStructured:()=>B,getAgentProfile:()=>W,getAgentProfiles:()=>M,getBrowserSessionRecording:()=>H,getCredentialsPublicKey:()=>X,getExecutionResult:()=>V,getExecutionStatus:()=>$,getOpenApi:()=>qe,healthCheck:()=>De,updateAgentProfile:()=>Q,uploadExecutionFiles:()=>K});var ie=(e,r,t)=>{typeof t=="string"||t instanceof Blob?e.append(r,t):t instanceof Date?e.append(r,t.toISOString()):e.append(r,JSON.stringify(t));};var k={bodySerializer:e=>{let r=new FormData;return Object.entries(e).forEach(([t,s])=>{s!=null&&(Array.isArray(s)?s.forEach(i=>ie(r,t,i)):ie(r,t,s));}),r}},z={bodySerializer:e=>JSON.stringify(e,(r,t)=>typeof t=="bigint"?t.toString():t)};var ae=async(e,r)=>{let t=typeof r=="function"?await r(e):r;if(t)return e.scheme==="bearer"?`Bearer ${t}`:e.scheme==="basic"?`Basic ${btoa(t)}`:t};var Ee=e=>{switch(e){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},Re=e=>{switch(e){case "form":return ",";case "pipeDelimited":return "|";case "spaceDelimited":return "%20";default:return ","}},Se=e=>{switch(e){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},v=({allowReserved:e,explode:r,name:t,style:s,value:i})=>{if(!r){let o=(e?i:i.map(p=>encodeURIComponent(p))).join(Re(s));switch(s){case "label":return `.${o}`;case "matrix":return `;${t}=${o}`;case "simple":return o;default:return `${t}=${o}`}}let a=Ee(s),n=i.map(o=>s==="label"||s==="simple"?e?o:encodeURIComponent(o):S({allowReserved:e,name:t,value:o})).join(a);return s==="label"||s==="matrix"?a+n:n},S=({allowReserved:e,name:r,value:t})=>{if(t==null)return "";if(typeof t=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return `${r}=${e?t:encodeURIComponent(t)}`},_=({allowReserved:e,explode:r,name:t,style:s,value:i,valueOnly:a})=>{if(i instanceof Date)return a?i.toISOString():`${t}=${i.toISOString()}`;if(s!=="deepObject"&&!r){let p=[];Object.entries(i).forEach(([y,x])=>{p=[...p,y,e?x:encodeURIComponent(x)];});let u=p.join(",");switch(s){case "form":return `${t}=${u}`;case "label":return `.${u}`;case "matrix":return `;${t}=${u}`;default:return u}}let n=Se(s),o=Object.entries(i).map(([p,u])=>S({allowReserved:e,name:s==="deepObject"?`${t}[${p}]`:p,value:u})).join(n);return s==="label"||s==="matrix"?n+o:o};var be=/\{[^{}]+\}/g,Pe=({path:e,url:r})=>{let t=r,s=r.match(be);if(s)for(let i of s){let a=false,n=i.substring(1,i.length-1),o="simple";n.endsWith("*")&&(a=true,n=n.substring(0,n.length-1)),n.startsWith(".")?(n=n.substring(1),o="label"):n.startsWith(";")&&(n=n.substring(1),o="matrix");let p=e[n];if(p==null)continue;if(Array.isArray(p)){t=t.replace(i,v({explode:a,name:n,style:o,value:p}));continue}if(typeof p=="object"){t=t.replace(i,_({explode:a,name:n,style:o,value:p,valueOnly:true}));continue}if(o==="matrix"){t=t.replace(i,`;${S({name:n,value:p})}`);continue}let u=encodeURIComponent(o==="label"?`.${p}`:p);t=t.replace(i,u);}return t},pe=({allowReserved:e,array:r,object:t}={})=>i=>{let a=[];if(i&&typeof i=="object")for(let n in i){let o=i[n];if(o!=null)if(Array.isArray(o)){let p=v({allowReserved:e,explode:true,name:n,style:"form",value:o,...r});p&&a.push(p);}else if(typeof o=="object"){let p=_({allowReserved:e,explode:true,name:n,style:"deepObject",value:o,...t});p&&a.push(p);}else {let p=S({allowReserved:e,name:n,value:o});p&&a.push(p);}}return a.join("&")},ce=e=>{if(!e)return "stream";let r=e.split(";")[0]?.trim();if(r){if(r.startsWith("application/json")||r.endsWith("+json"))return "json";if(r==="multipart/form-data")return "formData";if(["application/","audio/","image/","video/"].some(t=>r.startsWith(t)))return "blob";if(r.startsWith("text/"))return "text"}},Oe=(e,r)=>r?!!(e.headers.has(r)||e.query?.[r]||e.headers.get("Cookie")?.includes(`${r}=`)):false,le=async({security:e,...r})=>{for(let t of e){if(Oe(r,t.name))continue;let s=await ae(t,r.auth);if(!s)continue;let i=t.name??"Authorization";switch(t.in){case "query":r.query||(r.query={}),r.query[i]=s;break;case "cookie":r.headers.append("Cookie",`${i}=${s}`);break;case "header":default:r.headers.set(i,s);break}}},G=e=>Ce({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:pe(e.querySerializer),url:e.url}),Ce=({baseUrl:e,path:r,query:t,querySerializer:s,url:i})=>{let a=i.startsWith("/")?i:`/${i}`,n=(e??"")+a;r&&(n=Pe({path:r,url:n}));let o=t?s(t):"";return o.startsWith("?")&&(o=o.substring(1)),o&&(n+=`?${o}`),n},j=(e,r)=>{let t={...e,...r};return t.baseUrl?.endsWith("/")&&(t.baseUrl=t.baseUrl.substring(0,t.baseUrl.length-1)),t.headers=q(e.headers,r.headers),t},q=(...e)=>{let r=new Headers;for(let t of e){if(!t||typeof t!="object")continue;let s=t instanceof Headers?t.entries():Object.entries(t);for(let[i,a]of s)if(a===null)r.delete(i);else if(Array.isArray(a))for(let n of a)r.append(i,n);else a!==void 0&&r.set(i,typeof a=="object"?JSON.stringify(a):a);}return r},b=class{_fns;constructor(){this._fns=[];}clear(){this._fns=[];}getInterceptorIndex(r){return typeof r=="number"?this._fns[r]?r:-1:this._fns.indexOf(r)}exists(r){let t=this.getInterceptorIndex(r);return !!this._fns[t]}eject(r){let t=this.getInterceptorIndex(r);this._fns[t]&&(this._fns[t]=null);}update(r,t){let s=this.getInterceptorIndex(r);return this._fns[s]?(this._fns[s]=t,r):false}use(r){return this._fns=[...this._fns,r],this._fns.length-1}},ue=()=>({error:new b,request:new b,response:new b}),we=pe({allowReserved:false,array:{explode:true,style:"form"},object:{explode:true,style:"deepObject"}}),Te={"Content-Type":"application/json"},P=(e={})=>({...z,headers:Te,parseAs:"auto",querySerializer:we,...e});var I=(e={})=>{let r=j(P(),e),t=()=>({...r}),s=n=>(r=j(r,n),t()),i=ue(),a=async n=>{let o={...r,...n,fetch:n.fetch??r.fetch??globalThis.fetch,headers:q(r.headers,n.headers),serializedBody:void 0};o.security&&await le({...o,security:o.security}),o.requestValidator&&await o.requestValidator(o),o.body&&o.bodySerializer&&(o.serializedBody=o.bodySerializer(o.body)),(o.serializedBody===void 0||o.serializedBody==="")&&o.headers.delete("Content-Type");let p=G(o),u={redirect:"follow",...o,body:o.serializedBody},y=new Request(p,u);for(let l of i.request._fns)l&&(y=await l(y,o));let x=o.fetch,c=await x(y);for(let l of i.response._fns)l&&(c=await l(c,y,o));let A={request:y,response:c};if(c.ok){if(c.status===204||c.headers.get("Content-Length")==="0")return o.responseStyle==="data"?{}:{data:{},...A};let l=(o.parseAs==="auto"?ce(c.headers.get("Content-Type")):o.parseAs)??"json",f;switch(l){case "arrayBuffer":case "blob":case "formData":case "json":case "text":f=await c[l]();break;case "stream":return o.responseStyle==="data"?c.body:{data:c.body,...A}}return l==="json"&&(o.responseValidator&&await o.responseValidator(f),o.responseTransformer&&(f=await o.responseTransformer(f))),o.responseStyle==="data"?f:{data:f,...A}}let m=await c.text(),E;try{E=JSON.parse(m);}catch{}let R=E??m,g=R;for(let l of i.error._fns)l&&(g=await l(R,c,y,o));if(g=g||{},o.throwOnError)throw g;return o.responseStyle==="data"?void 0:{error:g,...A}};return {buildUrl:G,connect:n=>a({...n,method:"CONNECT"}),delete:n=>a({...n,method:"DELETE"}),get:n=>a({...n,method:"GET"}),getConfig:t,head:n=>a({...n,method:"HEAD"}),interceptors:i,options:n=>a({...n,method:"OPTIONS"}),patch:n=>a({...n,method:"PATCH"}),post:n=>a({...n,method:"POST"}),put:n=>a({...n,method:"PUT"}),request:a,setConfig:s,trace:n=>a({...n,method:"TRACE"})}};var d=I(P({baseUrl:"https://odyssey.asteroid.ai/api/v1"}));var qe=e=>(e?.client??d).get({url:"/openapi.yaml",...e}),K=e=>(e.client??d).post({...k,security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/execution/{id}/files",...e,headers:{"Content-Type":null,...e.headers}}),De=e=>(e?.client??d).get({url:"/health",...e}),Ue=e=>(e.client??d).post({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/agent/{id}",...e,headers:{"Content-Type":"application/json",...e.headers}}),B=e=>(e.client??d).post({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/agent/{id}/execute",...e,headers:{"Content-Type":"application/json",...e.headers}}),$=e=>(e.client??d).get({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/execution/{id}/status",...e}),V=e=>(e.client??d).get({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/execution/{id}/result",...e}),H=e=>(e.client??d).get({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/execution/{id}/browser_session/recording",...e}),M=e=>(e?.client??d).get({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/agent-profiles",...e}),F=e=>(e.client??d).post({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/agent-profiles",...e,headers:{"Content-Type":"application/json",...e.headers}}),N=e=>(e.client??d).delete({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/agent-profiles/{profile_id}",...e}),W=e=>(e.client??d).get({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/agent-profiles/{profile_id}",...e}),Q=e=>(e.client??d).patch({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/agent-profiles/{profile_id}",...e,headers:{"Content-Type":"application/json",...e.headers}}),X=e=>(e?.client??d).get({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/credentials/public_key",...e});var ne={};se(ne,{activitiesGet:()=>re,userMessagesAdd:()=>oe});var de={bodySerializer:e=>JSON.stringify(e,(r,t)=>typeof t=="bigint"?t.toString():t)};var ye=async(e,r)=>{let t=typeof r=="function"?await r(e):r;if(t)return e.scheme==="bearer"?`Bearer ${t}`:e.scheme==="basic"?`Basic ${btoa(t)}`:t};var ke=e=>{switch(e){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},ze=e=>{switch(e){case "form":return ",";case "pipeDelimited":return "|";case "spaceDelimited":return "%20";default:return ","}},ve=e=>{switch(e){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},L=({allowReserved:e,explode:r,name:t,style:s,value:i})=>{if(!r){let o=(e?i:i.map(p=>encodeURIComponent(p))).join(ze(s));switch(s){case "label":return `.${o}`;case "matrix":return `;${t}=${o}`;case "simple":return o;default:return `${t}=${o}`}}let a=ke(s),n=i.map(o=>s==="label"||s==="simple"?e?o:encodeURIComponent(o):O({allowReserved:e,name:t,value:o})).join(a);return s==="label"||s==="matrix"?a+n:n},O=({allowReserved:e,name:r,value:t})=>{if(t==null)return "";if(typeof t=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return `${r}=${e?t:encodeURIComponent(t)}`},Y=({allowReserved:e,explode:r,name:t,style:s,value:i,valueOnly:a})=>{if(i instanceof Date)return a?i.toISOString():`${t}=${i.toISOString()}`;if(s!=="deepObject"&&!r){let p=[];Object.entries(i).forEach(([y,x])=>{p=[...p,y,e?x:encodeURIComponent(x)];});let u=p.join(",");switch(s){case "form":return `${t}=${u}`;case "label":return `.${u}`;case "matrix":return `;${t}=${u}`;default:return u}}let n=ve(s),o=Object.entries(i).map(([p,u])=>O({allowReserved:e,name:s==="deepObject"?`${t}[${p}]`:p,value:u})).join(n);return s==="label"||s==="matrix"?n+o:o};var _e=/\{[^{}]+\}/g,Ge=({path:e,url:r})=>{let t=r,s=r.match(_e);if(s)for(let i of s){let a=false,n=i.substring(1,i.length-1),o="simple";n.endsWith("*")&&(a=true,n=n.substring(0,n.length-1)),n.startsWith(".")?(n=n.substring(1),o="label"):n.startsWith(";")&&(n=n.substring(1),o="matrix");let p=e[n];if(p==null)continue;if(Array.isArray(p)){t=t.replace(i,L({explode:a,name:n,style:o,value:p}));continue}if(typeof p=="object"){t=t.replace(i,Y({explode:a,name:n,style:o,value:p,valueOnly:true}));continue}if(o==="matrix"){t=t.replace(i,`;${O({name:n,value:p})}`);continue}let u=encodeURIComponent(o==="label"?`.${p}`:p);t=t.replace(i,u);}return t},fe=({allowReserved:e,array:r,object:t}={})=>i=>{let a=[];if(i&&typeof i=="object")for(let n in i){let o=i[n];if(o!=null)if(Array.isArray(o)){let p=L({allowReserved:e,explode:true,name:n,style:"form",value:o,...r});p&&a.push(p);}else if(typeof o=="object"){let p=Y({allowReserved:e,explode:true,name:n,style:"deepObject",value:o,...t});p&&a.push(p);}else {let p=O({allowReserved:e,name:n,value:o});p&&a.push(p);}}return a.join("&")},ge=e=>{if(!e)return "stream";let r=e.split(";")[0]?.trim();if(r){if(r.startsWith("application/json")||r.endsWith("+json"))return "json";if(r==="multipart/form-data")return "formData";if(["application/","audio/","image/","video/"].some(t=>r.startsWith(t)))return "blob";if(r.startsWith("text/"))return "text"}},je=(e,r)=>r?!!(e.headers.has(r)||e.query?.[r]||e.headers.get("Cookie")?.includes(`${r}=`)):false,xe=async({security:e,...r})=>{for(let t of e){if(je(r,t.name))continue;let s=await ye(t,r.auth);if(!s)continue;let i=t.name??"Authorization";switch(t.in){case "query":r.query||(r.query={}),r.query[i]=s;break;case "cookie":r.headers.append("Cookie",`${i}=${s}`);break;case "header":default:r.headers.set(i,s);break}}},Z=e=>Ie({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:fe(e.querySerializer),url:e.url}),Ie=({baseUrl:e,path:r,query:t,querySerializer:s,url:i})=>{let a=i.startsWith("/")?i:`/${i}`,n=(e??"")+a;r&&(n=Ge({path:r,url:n}));let o=t?s(t):"";return o.startsWith("?")&&(o=o.substring(1)),o&&(n+=`?${o}`),n},ee=(e,r)=>{let t={...e,...r};return t.baseUrl?.endsWith("/")&&(t.baseUrl=t.baseUrl.substring(0,t.baseUrl.length-1)),t.headers=D(e.headers,r.headers),t},D=(...e)=>{let r=new Headers;for(let t of e){if(!t||typeof t!="object")continue;let s=t instanceof Headers?t.entries():Object.entries(t);for(let[i,a]of s)if(a===null)r.delete(i);else if(Array.isArray(a))for(let n of a)r.append(i,n);else a!==void 0&&r.set(i,typeof a=="object"?JSON.stringify(a):a);}return r},C=class{_fns;constructor(){this._fns=[];}clear(){this._fns=[];}getInterceptorIndex(r){return typeof r=="number"?this._fns[r]?r:-1:this._fns.indexOf(r)}exists(r){let t=this.getInterceptorIndex(r);return !!this._fns[t]}eject(r){let t=this.getInterceptorIndex(r);this._fns[t]&&(this._fns[t]=null);}update(r,t){let s=this.getInterceptorIndex(r);return this._fns[s]?(this._fns[s]=t,r):false}use(r){return this._fns=[...this._fns,r],this._fns.length-1}},Ae=()=>({error:new C,request:new C,response:new C}),Ke=fe({allowReserved:false,array:{explode:true,style:"form"},object:{explode:true,style:"deepObject"}}),Be={"Content-Type":"application/json"},w=(e={})=>({...de,headers:Be,parseAs:"auto",querySerializer:Ke,...e});var te=(e={})=>{let r=ee(w(),e),t=()=>({...r}),s=n=>(r=ee(r,n),t()),i=Ae(),a=async n=>{let o={...r,...n,fetch:n.fetch??r.fetch??globalThis.fetch,headers:D(r.headers,n.headers),serializedBody:void 0};o.security&&await xe({...o,security:o.security}),o.requestValidator&&await o.requestValidator(o),o.body&&o.bodySerializer&&(o.serializedBody=o.bodySerializer(o.body)),(o.serializedBody===void 0||o.serializedBody==="")&&o.headers.delete("Content-Type");let p=Z(o),u={redirect:"follow",...o,body:o.serializedBody},y=new Request(p,u);for(let l of i.request._fns)l&&(y=await l(y,o));let x=o.fetch,c=await x(y);for(let l of i.response._fns)l&&(c=await l(c,y,o));let A={request:y,response:c};if(c.ok){if(c.status===204||c.headers.get("Content-Length")==="0")return o.responseStyle==="data"?{}:{data:{},...A};let l=(o.parseAs==="auto"?ge(c.headers.get("Content-Type")):o.parseAs)??"json",f;switch(l){case "arrayBuffer":case "blob":case "formData":case "json":case "text":f=await c[l]();break;case "stream":return o.responseStyle==="data"?c.body:{data:c.body,...A}}return l==="json"&&(o.responseValidator&&await o.responseValidator(f),o.responseTransformer&&(f=await o.responseTransformer(f))),o.responseStyle==="data"?f:{data:f,...A}}let m=await c.text(),E;try{E=JSON.parse(m);}catch{}let R=E??m,g=R;for(let l of i.error._fns)l&&(g=await l(R,c,y,o));if(g=g||{},o.throwOnError)throw g;return o.responseStyle==="data"?void 0:{error:g,...A}};return {buildUrl:Z,connect:n=>a({...n,method:"CONNECT"}),delete:n=>a({...n,method:"DELETE"}),get:n=>a({...n,method:"GET"}),getConfig:t,head:n=>a({...n,method:"HEAD"}),interceptors:i,options:n=>a({...n,method:"OPTIONS"}),patch:n=>a({...n,method:"PATCH"}),post:n=>a({...n,method:"POST"}),put:n=>a({...n,method:"PUT"}),request:a,setConfig:s,trace:n=>a({...n,method:"TRACE"})}};var h=te(w());var re=e=>(e.client??h).get({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/executions/{executionId}/activities",...e}),oe=e=>(e.client??h).post({security:[{name:"X-Asteroid-Agents-Api-Key",type:"apiKey"}],url:"/executions/{executionId}/user-messages",...e,headers:{"Content-Type":"application/json",...e.headers}});var $e={};var Ve={};var qt=(e,r)=>(d.setConfig({headers:{"X-Asteroid-Agents-Api-Key":e}}),h.setConfig({headers:{"X-Asteroid-Agents-Api-Key":e}}),d.setConfig({baseUrl:r?.v1?.baseUrl||"https://odyssey.asteroid.ai/api/v1"}),h.setConfig({baseUrl:r?.v2?.baseUrl||"https://odyssey.asteroid.ai/agents/v2"}),{agentsV1Client:d,agentsV2Client:h}),Dt=async(e,r,t)=>{let s=await B({client:e.agentsV1Client,path:{id:r},body:t});if(s.error)throw new Error(s.error.error);return s.data.execution_id},He=async(e,r)=>{let t=await $({client:e.agentsV1Client,path:{id:r}});if(t.error)throw new Error(t.error.error);return t.data},Me=async(e,r)=>{let t=await V({client:e.agentsV1Client,path:{id:r}});if(t.error)throw new Error(t.error.error);if(t.data.error)throw new Error(t.data.error);return t.data.execution_result||{}},Ut=async(e,r,t=1e3,s=36e5)=>{for(var i=Math.floor(s/t);i>0;){let a=await He(e,r),n=a.status;if(n==="completed")return await Me(e,r);if(n==="failed"||n==="cancelled")throw new Error(`Execution ${r} ended with status: ${n}${a.reason?" - "+a.reason:""}`);await new Promise(o=>setTimeout(o,t)),i--;}throw new Error(`Execution ${r} timed out after ${s}ms`)},kt=async(e,r)=>{let t=await H({client:e.agentsV1Client,path:{id:r}});if(t.error)throw new Error(t.error.error);return t.data},zt=async(e,r,t)=>{let s=await K({client:e.agentsV1Client,path:{id:r},body:{files:t}});if(s.error)throw new Error(s.error.error);return s.data},vt=async(e,r)=>{let t=await M({client:e.agentsV1Client,query:r?{organization_id:r}:void 0});if(t.error)throw new Error(t.error.error);return t.data},he=async e=>{let r=await X({client:e.agentsV1Client});if(r.error){let t=typeof r.error=="object"&&"error"in r.error?r.error.error:typeof r.error=="string"?r.error:JSON.stringify(r.error);throw new Error(t||"Unknown error")}if(!r.data)throw new Error("Public key not found");return r.data},_t=async(e,r)=>{let t={...r};if(r.credentials&&r.credentials.length>0){let i=await he(e);t.credentials=r.credentials.map(a=>({...a,data:U(a.data,i)}));}let s=await F({client:e.agentsV1Client,body:t});if(s.error)throw new Error(s.error.error);return s.data},Gt=async(e,r)=>{let t=await W({client:e.agentsV1Client,path:{profile_id:r}});if(t.error)throw new Error(t.error.error);return t.data},jt=async(e,r,t)=>{let s={...t};if(t.credentials_to_add&&t.credentials_to_add.length>0){let a=await he(e);s.credentials_to_add=t.credentials_to_add.map(n=>({...n,data:U(n.data,a)}));}let i=await Q({client:e.agentsV1Client,path:{profile_id:r},body:s});if(i.error)throw new Error(i.error.error);return i.data},It=async(e,r)=>{let t=await N({client:e.agentsV1Client,path:{profile_id:r}});if(t.error)throw new Error(t.error.error);return t.data},Kt=async(e,r,t)=>{let s=await re({client:e.agentsV2Client,path:{executionId:r},query:{limit:t,order:"desc"}});if(s.error)throw console.error(s.error),new Error(s.error.error);return s.data},Bt=async(e,r,t)=>{let s=await oe({client:e.agentsV2Client,path:{executionId:r},body:{message:t}});if(s.error)throw console.error(s.error),new Error(s.error.error)};
|
|
2
2
|
export{J as AgentsV1SDK,$e as AgentsV1Types,ne as AgentsV2SDK,Ve as AgentsV2Types,qt as AsteroidClient,Bt as addMessageToExecution,_t as createAgentProfile,It as deleteAgentProfile,Dt as executeAgent,Gt as getAgentProfile,vt as getAgentProfiles,kt as getBrowserSessionRecording,he as getCredentialsPublicKey,Me as getExecutionResult,He as getExecutionStatus,Kt as getLastNExecutionActivities,jt as updateAgentProfile,zt as uploadExecutionFiles,Ut as waitForExecutionResult};
|