@juggernautlabs/cloud 0.0.4 → 0.0.6

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 @@
1
+ var JuggernautCloud=(()=>{var d={process:{upload:"/api/resource/process/upload",run:"/api/resource/process/{{id}}/run",runViaAccessPoint:"/api/resource/process/public/{{id}}/run",events:"/api/resource/process/events/{{referenceId}}",eventsViaAccessPoint:"/api/resource/process/public/events/{{referenceId}}",schedule:"/api/resource/process/{{id}}/schedule/create",deleteSchedule:"/api/resource/process/{{id}}/schedule/delete"},job:{results:"/api/resource/job/{{id}}/results",resultsViaAccessPoint:"/api/resource/job/public/{{id}}/results",file:"/api/resource/job/{{id}}/file/{{fileType}}/{{fileId}}",getJobIdByReferenceId:"/api/resource/job/reference/{{referenceId}}/id"},plugin:{content:"/api/resource/plugin/{{id}}/content"},prompt:{upload:"/api/resource/prompt/upload",getContent:"/api/resource/prompt/{{id}}/content",list:"/api/resource/prompt/list",delete:"/api/resource/prompt/delete"},integrations:{webSearch:"/api/integrations/web/search",webScrape:"/api/integrations/web/scrape",database:"/api/integrations/database"},reporting:{getReport:"/api/resource/schema/report/{{id}}",createReport:"/api/resource/schema/report/{{schemaId}}"}},f="https://core.juggernautlabs.ai",u=(o,r)=>{if(o.includes("{{")&&o.includes("}}")&&r!==void 0){let e=o;for(let t in r)e=e.replace(`{{${t}}}`,r[t]);return`${f}${e}`}return`${f}${o}`},j=async o=>{if(!o.ok){let r=await o.text();throw console.error("Error Response Content:",r),new Error(`Juggernaut SDK Error: ${o.status} ${o.statusText}`)}return o.json()},p=Symbol("AuthKey");p;var c=class{static init(r,e){e&&r?this[p]={authorization:`Bearer ${e}`,"client-key":r}:console.warn("CloudResourceManager initialization missing client or secret key."),Object.keys(this[p]).length===0&&console.warn("No cloud authentication provided, some features may not work as expected.")}static async uploadProcess(r){let e=await fetch(u(d.process.upload),{method:"POST",headers:{"Content-Type":"application/json",...this[p]},body:JSON.stringify(r)});return j(e)}static async executePlugin(r,e,t,s){}static async runProcess(r,e,t){try{let s=await fetch(u(d.process.run,{id:r}),{method:"POST",headers:{...this[p]},body:JSON.stringify({inputs:e,metadata:t})});if(!s.ok){let h=await s.text();throw console.error("Error Response Content:",h),new Error(`HTTP error! status: ${s.status}`)}let{data:n,message:a,status:i}=await s.json();return n}catch(s){throw console.error("Error running process:",s),s}}static async runProcessViaAccessPoint(r,e,t,s){let n=await fetch(u(d.process.runViaAccessPoint,{id:r}),{method:"POST",headers:{"Content-Type":"application/json","access-point":t},body:JSON.stringify({inputs:e,metadata:s})});if(!n.ok){let l=await n.text();throw console.error("Error Response Content:",l),new Error(`HTTP error! status: ${n.status}`)}let{data:a,message:i,status:h}=await n.json();return a}static async scheduleProcess(r,e){let t=await fetch(u(d.process.schedule,{id:r}),{method:"POST",headers:{"Content-Type":"application/json",...this[p]},body:JSON.stringify({schedule:e})});if(!t.ok){let i=await t.text();throw console.error("Error Response Content:",i),new Error(`HTTP error! status: ${t.status}`)}let{data:s,message:n,status:a}=await t.json();return s}static async getPromptContent(r){try{let e=await fetch(u(d.prompt.getContent,{id:r}),{method:"GET",headers:{"Content-Type":"application/json",...this[p]}});if(!e.ok){let a=await e.text();throw console.error("Error Response Content:",a),new Error(`HTTP error! status: ${e.status}`)}let{data:t,message:s,status:n}=await e.json();return t}catch(e){console.error("Error fetching prompt content:",e)}}static async getReport(r){let e=await fetch(u(d.reporting.getReport,{id:r}),{method:"GET",headers:{"Content-Type":"application/json",...this[p]}}),{data:t,message:s,status:n}=await e.json();return t}static async createReport(r,e){let t=await fetch(u(d.reporting.createReport,{schemaId:r}),{method:"POST",headers:{"Content-Type":"application/json",...this[p]},body:JSON.stringify(e)});if(!t.ok){let i=await t.text();throw console.error("Error Response Content:",i),new Error(`HTTP error! status: ${t.status}`)}let{data:s,message:n,status:a}=await t.json();return s}static async getProcessJobEvents(r){let e=await fetch(u(d.process.events,{referenceId:r}),{method:"GET",headers:{"Content-Type":"application/json",...this[p]}});if(!e.ok){let a=await e.text();throw console.error("Error Response Content:",a),new Error(`HTTP error! status: ${e.status}`)}let{data:t,message:s,status:n}=await e.json();return t}static async getProcessJobEventsViaAccessPoint(r,e){let t=await fetch(u(d.process.eventsViaAccessPoint,{referenceId:r}),{method:"GET",headers:{"Content-Type":"application/json","access-point":e}});if(!t.ok){let i=await t.text();throw console.error("Error Response Content:",i),new Error(`HTTP error! status: ${t.status}`)}let{data:s,message:n,status:a}=await t.json();return s}static async getProcessJobResults(r){try{let e=await fetch(u(d.job.results,{id:r}),{method:"GET",headers:{"Content-Type":"application/json",...this[p]}});if(!e.ok){let a=await e.text();throw console.error("Error Response Content:",a),new Error(`HTTP error! status: ${e.status}`)}let{data:t,message:s,status:n}=await e.json();return t}catch(e){throw console.error("Error fetching job results:",e),e}}static async getProcessJobResultsViaAccessPoint(r,e){let t=await fetch(u(d.job.resultsViaAccessPoint,{id:r}),{method:"GET",headers:{"Content-Type":"application/json","access-point":e}});if(!t.ok){let i=await t.text();throw console.error("Error Response Content:",i),new Error(`HTTP error! status: ${t.status}`)}let{data:s,message:n,status:a}=await t.json();return s}static async getJobIdByReferenceId(r){let e=await fetch(u(d.job.getJobIdByReferenceId,{referenceId:r}),{method:"GET",headers:{"Content-Type":"application/json",...this[p]}});if(!e.ok){let a=await e.text();throw console.error("Error Response Content:",a),new Error(`HTTP error! status: ${e.status}`)}let{data:t,message:s,status:n}=await e.json();return t}static async getJobResultsByReferenceId(r){try{let e=await this.getJobIdByReferenceId(r);if(e&&e.jobId)return this.getProcessJobResults(e.jobId);throw new Error("Job ID not found for the given reference ID")}catch(e){throw console.error("Error fetching job results by reference ID:",e),e}}static async executeDatabaseOperation(r,e){let t=await fetch(u(d.integrations.database),{method:"POST",headers:{"Content-Type":"application/json",...this[p]},body:JSON.stringify({operation:r,request:e})});if(!t.ok){let i=await t.text();throw console.error("Error Response Content:",i),new Error(`HTTP error! status: ${t.status}`)}let{data:s,message:n,status:a}=await t.json();return s?.data||s}static async getJobFile(r,e,t){try{let s=await fetch(u(d.job.file,{id:r,fileType:e,fileId:t}),{method:"GET",headers:{...this[p]}});if(!s.ok)throw new Error(`Failed to fetch file: ${s.statusText}`);if(!s.body)throw new Error("Response body is empty, no stream available.");return s.body}catch(s){throw console.error("Error fetching job file:",s),s}}};function w(o,r,e){let t=null,s=[],n=l=>(s.push(l),()=>{let g=s.indexOf(l);g>-1&&s.splice(g,1)}),a=async()=>{try{let l=await o();s.forEach(g=>g(l)),e&&e(l)&&h()}catch(l){console.error("Polling error:",l)}},i=l=>{t===null&&(a(),t=setInterval(a,r),l&&n(l))},h=()=>{t!==null&&(clearInterval(t),t=null)};return{start:i,stop:h,listen:n}}var C=new Set(["job-end","job-error","job-completed","process-completed","process-ended"]),I=(o=[])=>o.some(r=>C.has(r.eventType?.toLowerCase()));var y=o=>o.accessPoint?c.runProcessViaAccessPoint(o.processId,o.inputs,o.accessPoint,o.metadata||{}):c.runProcess(o.processId,o.inputs,o.metadata||{}),b=async o=>c.getProcessJobResults(o),m=async o=>{let{referenceId:r,polling:e,accessPoint:t}=o;return e?w(async()=>{let n=t?await c.getProcessJobEventsViaAccessPoint(r,t):await c.getProcessJobEvents(r),a=I(n),i;return a&&(i=await c.getJobResultsByReferenceId(r)),{data:n,done:a,results:i||null}},e.intervalMs):c.getProcessJobEvents(r)},P=o=>c.scheduleProcess(o.processId,o),E=o=>c.getPromptContent(o),J=/^file\((image|audio|text)\):([a-f\d]{24})$/,x=o=>{let r=o.match(J);if(!r)throw new Error("Invalid file link format");let e=r[1],t=r[2];return{fileType:e,fileId:t}},T=async(o,r)=>{let{fileType:e,fileId:t}=x(r);return c.getJobFile(o,e,t)};console.log("Loaded Juggernaut Cloud SDK");var R=Object.freeze({runProcess:y,getProcessJobEvents:m,scheduleProcess:P,getPromptContent:E,getJobFile:T,getJobResults:b}),O=()=>{if(typeof window<"u"){window.JuggernautCloud=R;return}if(globalThis){globalThis.JuggernautCloud=R;return}};O();})();
package/package.json CHANGED
@@ -1,17 +1,19 @@
1
1
  {
2
2
  "name": "@juggernautlabs/cloud",
3
- "version": "0.0.4",
3
+ "version": "0.0.6",
4
4
  "description": "",
5
- "main": "build/index.js",
6
- "unpkg": "build/min.js",
5
+ "unpkg": "./build/index.global.js",
6
+ "jsdelivr": "./build/index.global.js",
7
7
  "files": [
8
8
  "build"
9
9
  ],
10
10
  "scripts": {
11
11
  "test": "jest",
12
12
  "compile": "tsc",
13
- "build": "npm run compile",
14
- "prepublishOnly": "npm run compile",
13
+ "build:node": "tsc",
14
+ "build:browser": "esbuild src/min.ts --bundle --minify --format=iife --global-name=JuggernautCloud --outfile=build/index.global.js",
15
+ "build": "npm run build:node && npm run build:browser",
16
+ "prepublishOnly": "npm run build",
15
17
  "publish": "npm publish --access public"
16
18
  },
17
19
  "keywords": [