@corsair-dev/jigsawstack 0.1.0
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/LICENSE +191 -0
- package/dist/api.test.d.ts +2 -0
- package/dist/api.test.d.ts.map +1 -0
- package/dist/client.d.ts +26 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/endpoints/ai.d.ts +7 -0
- package/dist/endpoints/ai.d.ts.map +1 -0
- package/dist/endpoints/audio.d.ts +5 -0
- package/dist/endpoints/audio.d.ts.map +1 -0
- package/dist/endpoints/call.d.ts +15 -0
- package/dist/endpoints/call.d.ts.map +1 -0
- package/dist/endpoints/classification.d.ts +3 -0
- package/dist/endpoints/classification.d.ts.map +1 -0
- package/dist/endpoints/embedding.d.ts +3 -0
- package/dist/endpoints/embedding.d.ts.map +1 -0
- package/dist/endpoints/index.d.ts +551 -0
- package/dist/endpoints/index.d.ts.map +1 -0
- package/dist/endpoints/prompt-engine.d.ts +5 -0
- package/dist/endpoints/prompt-engine.d.ts.map +1 -0
- package/dist/endpoints/types.d.ts +1159 -0
- package/dist/endpoints/types.d.ts.map +1 -0
- package/dist/endpoints/validate.d.ts +6 -0
- package/dist/endpoints/validate.d.ts.map +1 -0
- package/dist/endpoints/vision.d.ts +4 -0
- package/dist/endpoints/vision.d.ts.map +1 -0
- package/dist/endpoints/web.d.ts +6 -0
- package/dist/endpoints/web.d.ts.map +1 -0
- package/dist/error-handlers.d.ts +36 -0
- package/dist/error-handlers.d.ts.map +1 -0
- package/dist/index.d.ts +702 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -0
- package/dist/plugin.test.d.ts +2 -0
- package/dist/plugin.test.d.ts.map +1 -0
- package/dist/schema/database.d.ts +56 -0
- package/dist/schema/database.d.ts.map +1 -0
- package/dist/schema/index.d.ts +37 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/tsup.config.d.ts +3 -0
- package/dist/tsup.config.d.ts.map +1 -0
- package/package.json +45 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,SAAS,EACT,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,QAAQ,EAER,uBAAuB,EAGvB,MAAM,cAAc,CAAC;AAYtB,OAAO,KAAK,EACX,yBAAyB,EACzB,0BAA0B,EAC1B,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,MAAM,MAAM,wBAAwB,GAAG;IACtC,QAAQ,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAC3C,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,WAAW,CAAC,EAAE,uBAAuB,CAAC,OAAO,0BAA0B,CAAC,CAAC;CACzE,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,oBAAoB,CACpD,OAAO,iBAAiB,EACxB,wBAAwB,CACxB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GACvC,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;AAE7C,MAAM,MAAM,yBAAyB,GAAG,aAAa,CACpD,OAAO,0BAA0B,CACjC,CAAC;AAEF,KAAK,mBAAmB,CAAC,CAAC,SAAS,MAAM,0BAA0B,IAClE,eAAe,CACd,kBAAkB,EAClB,yBAAyB,CAAC,CAAC,CAAC,EAC5B,0BAA0B,CAAC,CAAC,CAAC,CAC7B,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG;IAClC,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAClC,SAAS,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAC5C,SAAS,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAC5C,UAAU,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAC9C,SAAS,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAC5C,OAAO,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACxC,SAAS,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAC5C,UAAU,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAC9C,eAAe,EAAE,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IACxD,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACtC,SAAS,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACtC,iBAAiB,EAAE,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;IAC5D,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAClC,aAAa,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACpD,YAAY,EAAE,mBAAmB,CAAC,cAAc,CAAC,CAAC;IAClD,YAAY,EAAE,mBAAmB,CAAC,cAAc,CAAC,CAAC;IAClD,gBAAgB,EAAE,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;IAC1D,iBAAiB,EAAE,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;IAC5D,QAAQ,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC1C,YAAY,EAAE,mBAAmB,CAAC,cAAc,CAAC,CAAC;IAClD,WAAW,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAChD,SAAS,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;CAC5C,CAAC;AAEF,QAAA,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCtB,CAAC;AAEX,QAAA,MAAM,yBAAyB,IAAc,CAAC;AAE9C,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6FqC,CAAC;AAE7E,QAAA,MAAM,eAAe,EAAE,SAA8B,CAAC;AAmGtD,eAAO,MAAM,qBAAqB;;CAEG,CAAC;AAEtC,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,wBAAwB,IACnE,aAAa,CACZ,aAAa,EACb,OAAO,iBAAiB,EACxB,OAAO,0BAA0B,EACjC,OAAO,yBAAyB,EAChC,CAAC,EACD,OAAO,eAAe,CACtB,CAAC;AAEH,MAAM,MAAM,yBAAyB,GACpC,qBAAqB,CAAC,wBAAwB,CAAC,CAAC;AAEjD,MAAM,MAAM,yBAAyB,CAAC,CAAC,SAAS,wBAAwB,IACvE,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAE1B,wBAAgB,WAAW,CAAC,KAAK,CAAC,CAAC,SAAS,wBAAwB,EACnE,eAAe,GAAE,wBAAwB,GACxC,CAAsC,GACrC,yBAAyB,CAAC,CAAC,CAAC,CAqC9B;AAED,YAAY,EACX,yBAAyB,EACzB,0BAA0B,GAC1B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACN,+BAA+B,EAC/B,gCAAgC,GAChC,MAAM,mBAAmB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{AuthMissingError as ut}from"corsair/core";import{logEventFromContext as gt}from"corsair/core";import{ApiError as C,request as mt}from"corsair/http";var y=class extends Error{status;statusText;body;retryAfter;rateLimitReset;rateLimitRemaining;rateLimitLimit;constructor(e,r){super(e,r),this.name="JigsawstackAPIError",r?.cause instanceof C&&(this.status=r.cause.status,this.statusText=r.cause.statusText,this.body=r.cause.body,this.retryAfter=r.cause.retryAfter,this.rateLimitReset=r.cause.rateLimitReset,this.rateLimitRemaining=r.cause.rateLimitRemaining,this.rateLimitLimit=r.cause.rateLimitLimit)}},v="https://api.jigsawstack.com";async function O(o,e,r={}){let{method:c="GET",body:l,query:u}=r,g={BASE:v,VERSION:"1.0.0",WITH_CREDENTIALS:!1,CREDENTIALS:"omit",HEADERS:{"Content-Type":"application/json","x-api-key":e}},E=o.startsWith("/")?o.slice(1):o,m={method:c,url:E,body:c==="POST"||c==="PUT"||c==="PATCH"?l:void 0,mediaType:"application/json; charset=utf-8",query:u};try{return await mt(g,m)}catch(d){throw d instanceof C?new y(d.message,{cause:d}):d instanceof Error?new y(d.message,{cause:d}):new y("Unknown error")}}async function A(o,e,r){let c=o.startsWith("/")?o.slice(1):o,l=await fetch(`${v}/${c}`,{method:"POST",headers:{"Content-Type":"application/json","x-api-key":e},body:JSON.stringify(r)});if(!l.ok){let g=l.statusText;try{let m=await l.json();m&&typeof m=="object"&&"message"in m&&typeof m.message=="string"&&(g=m.message)}catch{}let E=new y(g);throw E.status=l.status,E}let u=Buffer.from(await l.arrayBuffer());return{success:!0,content_type:l.headers.get("content-type")??"application/octet-stream",base64:u.toString("base64")}}function S(o){let e=o.return_type??"url";return{body:{...o,return_type:e},binary:e==="binary"}}async function n(o,e,r,c,l,u={}){let g=u.binary?await A(r,o.key,u.body??{}):await O(r,o.key,{method:c,body:u.body,query:u.query});return await gt(o,e,l,"completed"),g}var I=async(o,e)=>n(o,"jigsawstack.ai.sentiment","/v1/ai/sentiment","POST",e,{body:e}),L=async(o,e)=>n(o,"jigsawstack.ai.summary","/v1/ai/summary","POST",e,{body:e}),R=async(o,e)=>n(o,"jigsawstack.ai.translate","/v1/ai/translate","POST",e,{body:e}),V=async(o,e)=>n(o,"jigsawstack.ai.prediction","/v1/ai/prediction","POST",e,{body:e}),G=async(o,e)=>n(o,"jigsawstack.ai.imageGeneration","/v1/ai/image_generation","POST",e,S(e));var q=async(o,e)=>n(o,"jigsawstack.audio.speechToText","/v1/ai/transcribe","POST",e,{body:e}),B=async(o,e)=>n(o,"jigsawstack.audio.textToSpeech","/v1/ai/tts","POST",e,{body:e,binary:!0}),H=async(o,e)=>n(o,"jigsawstack.audio.createVoiceClone","/v1/ai/tts/clone","POST",e,{body:e});var N=async(o,e)=>n(o,"jigsawstack.classification.classify","/v1/classification","POST",e,{body:e});var z=async(o,e)=>n(o,"jigsawstack.embedding.createV2","/v2/embedding","POST",e,{body:e});var D=async(o,e)=>n(o,"jigsawstack.promptEngine.create","/v1/prompt_engine","POST",e,{body:e}),U=async(o,e)=>n(o,"jigsawstack.promptEngine.list","/v1/prompt_engine","GET",e,{query:{page:e.page,limit:e.limit}}),W=async(o,e)=>{let{id:r,...c}=e;return n(o,"jigsawstack.promptEngine.run",`/v1/prompt_engine/${encodeURIComponent(r)}`,"POST",e,{body:c})};var F=async(o,e)=>n(o,"jigsawstack.validate.nsfw","/v1/validate/nsfw","POST",e,{body:e}),K=async(o,e)=>n(o,"jigsawstack.validate.profanity","/v1/validate/profanity","POST",e,{body:e}),M=async(o,e)=>n(o,"jigsawstack.validate.spamCheck","/v1/validate/spam_check","POST",e,{body:e}),$=async(o,e)=>n(o,"jigsawstack.validate.spellCheck","/v1/validate/spell_check","POST",e,{body:e});var Z=async(o,e)=>n(o,"jigsawstack.vision.vocr","/v1/vocr","POST",e,{body:e}),Q=async(o,e)=>n(o,"jigsawstack.vision.detectObjects","/v1/object_detection","POST",e,{body:e});var X=async(o,e)=>n(o,"jigsawstack.web.scrape","/v1/ai/scrape","POST",e,{body:e}),Y=async(o,e)=>n(o,"jigsawstack.web.htmlToAny","/v1/web/html_to_any","POST",e,S(e)),tt=async(o,e)=>n(o,"jigsawstack.web.search","/v1/web/search","POST",e,{body:e}),et=async(o,e)=>n(o,"jigsawstack.web.searchSuggestions","/v1/web/search/suggest","GET",e,{query:{query:e.query}});import{z as t}from"zod";import{z as a}from"zod";var j=a.object({input_tokens:a.number().optional(),output_tokens:a.number().optional(),inference_time_tokens:a.number().optional(),total_tokens:a.number().optional()}).loose(),ot=a.object({id:a.string(),prompt:a.string().optional(),name:a.string().optional(),return_prompt:a.unknown().optional(),inputs:a.array(a.object({key:a.string(),optional:a.boolean().optional(),initial_value:a.string().optional()}).loose()).optional(),created_at:a.string().optional(),updatedAt:a.coerce.date().nullable().optional()}),nt=a.object({id:a.string(),summary:a.union([a.string(),a.array(a.string())]).optional(),usage:j.optional(),fetchedAt:a.coerce.date().nullable().optional()}),at=a.object({id:a.string(),status:a.string().optional(),text:a.string().optional(),chunks:a.array(a.unknown()).optional(),fetchedAt:a.coerce.date().nullable().optional()});var Et=j.optional(),p={success:t.boolean(),_usage:Et,log_id:t.string().optional()},k={url:t.string().optional(),file_store_key:t.string().optional()};function h(o){return o.refine(e=>!!e.url!=!!e.file_store_key,{message:"Provide exactly one of url or file_store_key"})}var J=t.object({success:t.boolean(),content_type:t.string(),base64:t.string()}),it=t.object({...p,url:t.string().optional(),base64:t.string().optional()}).loose(),St=h(t.object(k)),Tt=t.object({...p,nsfw:t.boolean().optional(),nudity:t.boolean().optional(),gore:t.boolean().optional(),nsfw_score:t.number().optional(),nudity_score:t.number().optional(),gore_score:t.number().optional()}).loose(),_t=t.object({text:t.string(),censor_replacement:t.string().optional()}),jt=t.object({...p,message:t.string().optional(),clean_text:t.string().optional(),profanities_found:t.boolean().optional(),profanities:t.array(t.object({profanity:t.string().nullable().optional(),startIndex:t.number().optional(),endIndex:t.number().optional()}).loose()).optional()}).loose(),Jt=t.object({text:t.union([t.string(),t.array(t.string())])}),st=t.object({is_spam:t.boolean().optional(),score:t.number().optional()}).loose(),Pt=t.object({...p,check:t.union([st,t.array(st)]).optional()}).loose(),Ct=t.object({text:t.string(),language_code:t.string().optional()}),vt=t.object({...p,misspellings_found:t.boolean().optional(),auto_correct_text:t.string().optional(),misspellings:t.array(t.object({word:t.string().nullable().optional(),startIndex:t.number().optional(),endIndex:t.number().optional(),expected:t.array(t.string()).optional(),auto_corrected:t.boolean().optional()}).loose()).optional()}).loose(),Ot=t.object({text:t.string()}),At=t.object({...p,sentiment:t.object({emotion:t.string().optional(),sentiment:t.string().optional(),score:t.number().optional(),sentences:t.array(t.object({text:t.string().optional(),emotion:t.string().optional(),sentiment:t.string().optional(),score:t.number().optional()}).loose()).optional()}).loose().optional()}).loose(),It=t.object({text:t.string().optional(),url:t.string().optional(),file_store_key:t.string().optional(),type:t.enum(["text","points"]).optional(),max_points:t.number().optional(),max_characters:t.number().optional()}).refine(o=>[o.text,o.url,o.file_store_key].filter(Boolean).length===1,{message:"Provide exactly one of text, url, or file_store_key"}),Lt=t.object({...p,summary:t.union([t.string(),t.array(t.string())]).optional()}).loose(),Rt=t.object({text:t.union([t.string(),t.array(t.string())]),target_language:t.string(),current_language:t.string().optional()}),Vt=t.object({...p,translated_text:t.union([t.string(),t.array(t.string())]).optional()}).loose(),Gt=t.object({dataset:t.array(t.object({value:t.union([t.number(),t.string()]),date:t.string()})).min(5),steps:t.number().optional()}),qt=t.object({...p,prediction:t.array(t.object({value:t.union([t.number(),t.string()]).optional(),date:t.string().optional()}).loose()).optional()}).loose(),Bt=t.object({prompt:t.string(),aspect_ratio:t.string().optional(),width:t.number().optional(),height:t.number().optional(),steps:t.number().optional(),output_format:t.enum(["png","svg"]).optional(),return_type:t.enum(["url","binary","base64"]).optional(),url:t.string().optional(),file_store_key:t.string().optional(),advance_config:t.object({negative_prompt:t.string().optional(),guidance:t.number().optional(),seed:t.number().optional()}).optional()}),Ht=t.union([J,it]),Nt=t.object({url:t.string().optional(),html:t.string().optional(),element_prompts:t.union([t.array(t.string()),t.record(t.string(),t.string())]).optional(),selectors:t.array(t.string()).optional(),root_element_selector:t.string().optional(),scroll:t.boolean().optional(),page_position:t.number().optional(),features:t.array(t.enum(["meta","link"])).optional()}),zt=t.object({...p,data:t.array(t.unknown()).optional(),page_position:t.number().optional(),page_position_length:t.number().optional(),meta:t.unknown().optional(),link:t.array(t.unknown()).optional(),selectors:t.record(t.string(),t.unknown()).optional(),context:t.unknown().optional()}).loose(),Dt=t.object({html:t.string().optional(),url:t.string().optional(),type:t.enum(["pdf","png","jpeg","webp"]).optional(),full_page:t.boolean().optional(),width:t.number().optional(),height:t.number().optional(),return_type:t.enum(["url","binary","base64"]).optional(),quality:t.number().optional(),is_mobile:t.boolean().optional(),dark_mode:t.boolean().optional(),size_preset:t.string().optional()}).refine(o=>!!o.html!=!!o.url,{message:"Provide exactly one of html or url"}),Ut=t.union([J,it]),Wt=t.object({query:t.string(),spell_check:t.boolean().optional(),max_results:t.number().optional(),safe_search:t.enum(["strict","moderate","off"]).optional(),ai_overview:t.boolean().optional(),auto_scrape:t.boolean().optional(),country_code:t.string().optional(),byo_urls:t.array(t.string()).optional()}),Ft=t.object({...p,query:t.string().optional(),ai_overview:t.string().optional(),spell_fixed:t.boolean().optional(),is_safe:t.boolean().optional(),results:t.array(t.unknown()).optional(),image_urls:t.array(t.string()).optional(),links:t.array(t.string()).optional(),geo_results:t.array(t.unknown()).optional()}).loose(),Kt=t.object({query:t.string()}),Mt=t.object({...p,suggestions:t.array(t.string()).optional()}).loose(),$t=h(t.object({...k,prompt:t.union([t.string(),t.array(t.string()),t.record(t.string(),t.string())]).optional(),page_range:t.array(t.number()).optional(),fine_grained:t.boolean().optional(),return_bounds:t.boolean().optional()})),Zt=t.object({...p,context:t.unknown().optional(),width:t.number().optional(),height:t.number().optional(),tags:t.array(t.string()).optional(),has_text:t.boolean().optional(),sections:t.array(t.unknown()).optional(),total_pages:t.number().optional()}).loose(),Qt=h(t.object({...k,prompts:t.array(t.string()).optional(),enhance_prompts:t.boolean().optional(),features:t.array(t.enum(["object","gui"])).optional(),annotated_image:t.boolean().optional(),return_type:t.enum(["url","base64"]).optional(),return_masks:t.boolean().optional(),return_tags:t.boolean().optional()})),Xt=t.object({...p,annotated_image:t.string().optional(),gui_elements:t.array(t.unknown()).optional(),objects:t.array(t.unknown()).optional(),tags:t.array(t.string()).optional()}).loose(),Yt=h(t.object({...k,language:t.string().optional(),translate:t.boolean().optional(),by_speaker:t.boolean().optional(),webhook_url:t.string().optional(),batch_size:t.number().optional(),chunk_duration:t.number().optional(),word_timestamps:t.boolean().optional()})),te=t.object({...p,text:t.string().optional(),chunks:t.array(t.unknown()).optional(),status:t.string().optional(),id:t.string().optional(),language_detected:t.unknown().optional()}).loose(),ee=t.object({text:t.string().min(5),accent:t.string().optional(),voice_clone_id:t.string().optional(),speaker_clone_url:t.string().optional(),speaker_clone_file_store_key:t.string().optional()}),oe=J,ne=h(t.object({name:t.string(),...k})),ae=t.object({...p,voice_id:t.string().optional()}).loose(),se=t.object({text:t.string().optional(),...k,type:t.enum(["text","text-other","image","audio","pdf"]),token_overflow_mode:t.enum(["truncate","error"]).optional(),dimensions:t.number().optional(),instruction:t.string().optional(),query:t.boolean().optional(),speaker_fingerprint:t.boolean().optional()}),ie=t.object({...p,embeddings:t.array(t.array(t.number())).optional(),chunks:t.unknown().optional(),speaker_embeddings:t.array(t.array(t.number())).optional()}).loose(),re=t.object({dataset:t.array(t.object({type:t.enum(["text","image"]),value:t.string()})).min(1).max(32),labels:t.array(t.object({key:t.string().optional(),type:t.enum(["text","image"]),value:t.string()})).min(2).max(24),multiple_labels:t.boolean().optional()}).refine(o=>o.dataset.every(e=>e.type===o.dataset[0]?.type),{message:"dataset items must share the same type"}).refine(o=>new Set(o.labels.map(e=>e.key??e.value)).size>=2,{message:"labels must include at least 2 distinct keys"}),pe=t.object({...p,predictions:t.array(t.union([t.string(),t.array(t.string())])).optional()}).loose(),ce=t.enum(["defamation","specialized_advice","privacy","intellectual_property","indiscriminate_weapons","hate","sexual_content","elections","code_interpreter_abuse"]),le=t.object({key:t.string(),optional:t.boolean().optional(),initial_value:t.string().optional()}),ue=t.object({prompt:t.string(),name:t.string().optional(),return_prompt:t.unknown().optional(),inputs:t.array(le).optional(),use_internet:t.boolean().optional(),optimize_prompt:t.boolean().optional(),prompt_guard:t.array(ce).optional()}),me=t.object({...p,prompt_engine_id:t.string().optional()}).loose(),ge=t.object({page:t.number().optional(),limit:t.number().optional()}),de=t.object({...p,prompt_engines:t.array(t.unknown()).optional(),page:t.number().optional(),limit:t.number().optional(),has_more:t.boolean().optional()}).loose(),ye=t.object({id:t.string(),input_values:t.record(t.string(),t.unknown()).optional(),stream:t.boolean().optional()}),ke=t.object({...p,result:t.unknown().optional(),message:t.string().optional()}).loose(),s={nsfw:St,profanity:_t,spamCheck:Jt,spellCheck:Ct,sentiment:Ot,summary:It,translate:Rt,prediction:Gt,imageGeneration:Bt,scrape:Nt,htmlToAny:Dt,search:Wt,searchSuggestions:Kt,vocr:$t,detectObjects:Qt,speechToText:Yt,textToSpeech:ee,createVoiceClone:ne,createEmbeddingV2:se,classify:re,createPrompt:ue,listPrompts:ge,runPrompt:ye},i={nsfw:Tt,profanity:jt,spamCheck:Pt,spellCheck:vt,sentiment:At,summary:Lt,translate:Vt,prediction:qt,imageGeneration:Ht,scrape:zt,htmlToAny:Ut,search:Ft,searchSuggestions:Mt,vocr:Zt,detectObjects:Xt,speechToText:te,textToSpeech:oe,createVoiceClone:ae,createEmbeddingV2:ie,classify:pe,createPrompt:me,listPrompts:de,runPrompt:ke};var w={nsfw:F,profanity:K,spamCheck:M,spellCheck:$},b={sentiment:I,summary:L,translate:R,prediction:V,imageGeneration:G},f={scrape:X,htmlToAny:Y,search:tt,searchSuggestions:et},P={vocr:Z,detectObjects:Q},T={speechToText:q,textToSpeech:B,createVoiceClone:H},rt={createV2:z},pt={classify:N},_={create:D,list:U,run:W};function x(o){return o.status}function be(o){return o.retryAfter}var ct={RATE_LIMIT_ERROR:{match:o=>{if(x(o)===429)return!0;let e=o.message.toLowerCase();return e.includes("429")||e.includes("rate limit")},handler:async o=>({maxRetries:3,retryStrategy:"exponential_backoff",headersRetryAfterMs:be(o)})},AUTH_ERROR:{match:o=>{if(x(o)===401||x(o)===403)return!0;let e=o.message.toLowerCase();return e.includes("unauthorized")||e.includes("invalid api key")||e.includes("forbidden")||e.includes("401")},handler:async()=>({maxRetries:0})},NOT_FOUND_ERROR:{match:o=>{if(x(o)===404)return!0;let e=o.message.toLowerCase();return e.includes("404")||e.includes("not found")},handler:async()=>({maxRetries:0})},SERVER_ERROR:{match:o=>{let e=x(o);if(e!==void 0&&e>=500)return!0;let r=o.message.toLowerCase();return r.includes("503")||r.includes("server error")},handler:async()=>({maxRetries:2,retryStrategy:"exponential_backoff"})},DEFAULT:{match:()=>!0,handler:async()=>({maxRetries:0})}};var lt={version:"1.0.0",entities:{prompts:ot,summaries:nt,transcriptions:at}};var he={validate:{nsfw:w.nsfw,profanity:w.profanity,spamCheck:w.spamCheck,spellCheck:w.spellCheck},ai:{sentiment:b.sentiment,summary:b.summary,translate:b.translate,prediction:b.prediction,imageGeneration:b.imageGeneration},web:{scrape:f.scrape,htmlToAny:f.htmlToAny,search:f.search,searchSuggestions:f.searchSuggestions},vision:{vocr:P.vocr,detectObjects:P.detectObjects},audio:{speechToText:T.speechToText,textToSpeech:T.textToSpeech,createVoiceClone:T.createVoiceClone},embedding:{createV2:rt.createV2},classification:{classify:pt.classify},promptEngine:{create:_.create,list:_.list,run:_.run}},we={},fe={"validate.nsfw":{input:s.nsfw,output:i.nsfw},"validate.profanity":{input:s.profanity,output:i.profanity},"validate.spamCheck":{input:s.spamCheck,output:i.spamCheck},"validate.spellCheck":{input:s.spellCheck,output:i.spellCheck},"ai.sentiment":{input:s.sentiment,output:i.sentiment},"ai.summary":{input:s.summary,output:i.summary},"ai.translate":{input:s.translate,output:i.translate},"ai.prediction":{input:s.prediction,output:i.prediction},"ai.imageGeneration":{input:s.imageGeneration,output:i.imageGeneration},"web.scrape":{input:s.scrape,output:i.scrape},"web.htmlToAny":{input:s.htmlToAny,output:i.htmlToAny},"web.search":{input:s.search,output:i.search},"web.searchSuggestions":{input:s.searchSuggestions,output:i.searchSuggestions},"vision.vocr":{input:s.vocr,output:i.vocr},"vision.detectObjects":{input:s.detectObjects,output:i.detectObjects},"audio.speechToText":{input:s.speechToText,output:i.speechToText},"audio.textToSpeech":{input:s.textToSpeech,output:i.textToSpeech},"audio.createVoiceClone":{input:s.createVoiceClone,output:i.createVoiceClone},"embedding.createV2":{input:s.createEmbeddingV2,output:i.createEmbeddingV2},"classification.classify":{input:s.classify,output:i.classify},"promptEngine.create":{input:s.createPrompt,output:i.createPrompt},"promptEngine.list":{input:s.listPrompts,output:i.listPrompts},"promptEngine.run":{input:s.runPrompt,output:i.runPrompt}},xe="api_key",Ee={"validate.nsfw":{riskLevel:"read",description:"Detect NSFW content in an image"},"validate.profanity":{riskLevel:"read",description:"Check text for profanity and return a cleaned copy"},"validate.spamCheck":{riskLevel:"read",description:"Score text for spam likelihood"},"validate.spellCheck":{riskLevel:"read",description:"Detect and auto-correct spelling mistakes"},"ai.sentiment":{riskLevel:"read",description:"Analyze sentiment and emotion in text"},"ai.summary":{riskLevel:"read",description:"Summarize text or a PDF as a paragraph or bullet points"},"ai.translate":{riskLevel:"read",description:"Translate text into a target language"},"ai.prediction":{riskLevel:"read",description:"Forecast a time series from dated values"},"ai.imageGeneration":{riskLevel:"write",description:"Generate an image from a text prompt"},"web.scrape":{riskLevel:"read",description:"Scrape a page into structured data with AI prompts"},"web.htmlToAny":{riskLevel:"write",description:"Convert HTML or a URL to PNG, JPEG, WEBP, or PDF"},"web.search":{riskLevel:"read",description:"Search the web with optional AI overview"},"web.searchSuggestions":{riskLevel:"read",description:"Get search autocomplete suggestions for a query"},"vision.vocr":{riskLevel:"read",description:"Extract text and fields from an image or PDF"},"vision.detectObjects":{riskLevel:"read",description:"Detect objects and GUI elements in an image"},"audio.speechToText":{riskLevel:"read",description:"Transcribe audio or video to text"},"audio.textToSpeech":{riskLevel:"write",description:"Convert text to speech audio"},"audio.createVoiceClone":{riskLevel:"write",description:"Clone a voice from an audio sample for later TTS"},"embedding.createV2":{riskLevel:"read",description:"Create v2 embeddings from text, image, audio, or PDF"},"classification.classify":{riskLevel:"read",description:"Classify text or images with custom labels"},"promptEngine.create":{riskLevel:"write",description:"Create a reusable Prompt Engine template"},"promptEngine.list":{riskLevel:"read",description:"List Prompt Engine templates"},"promptEngine.run":{riskLevel:"write",description:"Run a stored Prompt Engine by id"}},Se={api_key:{}};function Xe(o={}){let e={...o,authType:o.authType??xe};return{id:"jigsawstack",authConfig:Se,schema:lt,options:e,hooks:e.hooks,webhookHooks:void 0,endpoints:he,webhooks:we,endpointMeta:Ee,endpointSchemas:fe,pluginWebhookMatcher:void 0,errorHandlers:{...ct,...e.errorHandlers},keyBuilder:async(r,c)=>{if(c==="endpoint"&&e.key)return e.key;if(c==="endpoint"&&r.authType==="api_key"){let l=await r.keys.get_api_key();if(!l)throw new ut("jigsawstack","api_key");return l}throw new ut("jigsawstack","api_key")}}}export{s as JigsawstackEndpointInputSchemas,i as JigsawstackEndpointOutputSchemas,Xe as jigsawstack,Se as jigsawstackAuthConfig,fe as jigsawstackEndpointSchemas};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.test.d.ts","sourceRoot":"","sources":["../plugin.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/** @see https://jigsawstack.com/docs/api-reference/ai/summary */
|
|
3
|
+
export declare const JigsawstackUsage: z.ZodObject<{
|
|
4
|
+
input_tokens: z.ZodOptional<z.ZodNumber>;
|
|
5
|
+
output_tokens: z.ZodOptional<z.ZodNumber>;
|
|
6
|
+
inference_time_tokens: z.ZodOptional<z.ZodNumber>;
|
|
7
|
+
total_tokens: z.ZodOptional<z.ZodNumber>;
|
|
8
|
+
}, z.core.$loose>;
|
|
9
|
+
/**
|
|
10
|
+
* Prompt Engine template.
|
|
11
|
+
* @see https://jigsawstack.com/docs/api-reference/prompt-engine/create
|
|
12
|
+
*/
|
|
13
|
+
export declare const JigsawstackPrompt: z.ZodObject<{
|
|
14
|
+
id: z.ZodString;
|
|
15
|
+
prompt: z.ZodOptional<z.ZodString>;
|
|
16
|
+
name: z.ZodOptional<z.ZodString>;
|
|
17
|
+
return_prompt: z.ZodOptional<z.ZodUnknown>;
|
|
18
|
+
inputs: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
19
|
+
key: z.ZodString;
|
|
20
|
+
optional: z.ZodOptional<z.ZodBoolean>;
|
|
21
|
+
initial_value: z.ZodOptional<z.ZodString>;
|
|
22
|
+
}, z.core.$loose>>>;
|
|
23
|
+
created_at: z.ZodOptional<z.ZodString>;
|
|
24
|
+
updatedAt: z.ZodOptional<z.ZodNullable<z.ZodCoercedDate<unknown>>>;
|
|
25
|
+
}, z.core.$strip>;
|
|
26
|
+
/**
|
|
27
|
+
* Cached summary row (entity id = `log_id` when present).
|
|
28
|
+
* @see https://jigsawstack.com/docs/api-reference/ai/summary
|
|
29
|
+
*/
|
|
30
|
+
export declare const JigsawstackSummary: z.ZodObject<{
|
|
31
|
+
id: z.ZodString;
|
|
32
|
+
summary: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
|
|
33
|
+
usage: z.ZodOptional<z.ZodObject<{
|
|
34
|
+
input_tokens: z.ZodOptional<z.ZodNumber>;
|
|
35
|
+
output_tokens: z.ZodOptional<z.ZodNumber>;
|
|
36
|
+
inference_time_tokens: z.ZodOptional<z.ZodNumber>;
|
|
37
|
+
total_tokens: z.ZodOptional<z.ZodNumber>;
|
|
38
|
+
}, z.core.$loose>>;
|
|
39
|
+
fetchedAt: z.ZodOptional<z.ZodNullable<z.ZodCoercedDate<unknown>>>;
|
|
40
|
+
}, z.core.$strip>;
|
|
41
|
+
/**
|
|
42
|
+
* Speech-to-text job or result (entity id = webhook `id` or `log_id`).
|
|
43
|
+
* @see https://jigsawstack.com/docs/api-reference/ai/speech-to-text
|
|
44
|
+
*/
|
|
45
|
+
export declare const JigsawstackTranscription: z.ZodObject<{
|
|
46
|
+
id: z.ZodString;
|
|
47
|
+
status: z.ZodOptional<z.ZodString>;
|
|
48
|
+
text: z.ZodOptional<z.ZodString>;
|
|
49
|
+
chunks: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
|
|
50
|
+
fetchedAt: z.ZodOptional<z.ZodNullable<z.ZodCoercedDate<unknown>>>;
|
|
51
|
+
}, z.core.$strip>;
|
|
52
|
+
export type JigsawstackUsage = z.infer<typeof JigsawstackUsage>;
|
|
53
|
+
export type JigsawstackPrompt = z.infer<typeof JigsawstackPrompt>;
|
|
54
|
+
export type JigsawstackSummary = z.infer<typeof JigsawstackSummary>;
|
|
55
|
+
export type JigsawstackTranscription = z.infer<typeof JigsawstackTranscription>;
|
|
56
|
+
//# sourceMappingURL=database.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../schema/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,iEAAiE;AACjE,eAAO,MAAM,gBAAgB;;;;;iBAOpB,CAAC;AAEV;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;iBAkB5B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;iBAK7B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,wBAAwB;;;;;;iBAMnC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAChE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAClE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACpE,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export declare const JigsawstackSchema: {
|
|
2
|
+
readonly version: "1.0.0";
|
|
3
|
+
readonly entities: {
|
|
4
|
+
readonly prompts: import("zod").ZodObject<{
|
|
5
|
+
id: import("zod").ZodString;
|
|
6
|
+
prompt: import("zod").ZodOptional<import("zod").ZodString>;
|
|
7
|
+
name: import("zod").ZodOptional<import("zod").ZodString>;
|
|
8
|
+
return_prompt: import("zod").ZodOptional<import("zod").ZodUnknown>;
|
|
9
|
+
inputs: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
|
|
10
|
+
key: import("zod").ZodString;
|
|
11
|
+
optional: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
12
|
+
initial_value: import("zod").ZodOptional<import("zod").ZodString>;
|
|
13
|
+
}, import("zod/v4/core").$loose>>>;
|
|
14
|
+
created_at: import("zod").ZodOptional<import("zod").ZodString>;
|
|
15
|
+
updatedAt: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodCoercedDate<unknown>>>;
|
|
16
|
+
}, import("zod/v4/core").$strip>;
|
|
17
|
+
readonly summaries: import("zod").ZodObject<{
|
|
18
|
+
id: import("zod").ZodString;
|
|
19
|
+
summary: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodArray<import("zod").ZodString>]>>;
|
|
20
|
+
usage: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
21
|
+
input_tokens: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
22
|
+
output_tokens: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
23
|
+
inference_time_tokens: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
24
|
+
total_tokens: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
25
|
+
}, import("zod/v4/core").$loose>>;
|
|
26
|
+
fetchedAt: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodCoercedDate<unknown>>>;
|
|
27
|
+
}, import("zod/v4/core").$strip>;
|
|
28
|
+
readonly transcriptions: import("zod").ZodObject<{
|
|
29
|
+
id: import("zod").ZodString;
|
|
30
|
+
status: import("zod").ZodOptional<import("zod").ZodString>;
|
|
31
|
+
text: import("zod").ZodOptional<import("zod").ZodString>;
|
|
32
|
+
chunks: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUnknown>>;
|
|
33
|
+
fetchedAt: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodCoercedDate<unknown>>>;
|
|
34
|
+
}, import("zod/v4/core").$strip>;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../schema/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOpB,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const _default: import("tsup").Options | import("tsup").Options[] | ((overrideOptions: import("tsup").Options) => import("tsup").Options | import("tsup").Options[] | Promise<import("tsup").Options | import("tsup").Options[]>);
|
|
2
|
+
export default _default;
|
|
3
|
+
//# sourceMappingURL=tsup.config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tsup.config.d.ts","sourceRoot":"","sources":["../tsup.config.ts"],"names":[],"mappings":";AAEA,wBAYG"}
|
package/package.json
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@corsair-dev/jigsawstack",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "JigsawStack plugin for Corsair",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"module": "./dist/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"dev-source": "./index.ts",
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
13
|
+
"default": "./dist/index.js"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"peerDependencies": {
|
|
17
|
+
"corsair": ">=0.1.0",
|
|
18
|
+
"zod": "^4.1.13"
|
|
19
|
+
},
|
|
20
|
+
"devDependencies": {
|
|
21
|
+
"@jest/globals": "^29.7.0",
|
|
22
|
+
"@types/jest": "^29.5.14",
|
|
23
|
+
"jest": "^29.7.0",
|
|
24
|
+
"ts-jest": "^29.4.9",
|
|
25
|
+
"tsup": "^8.0.1",
|
|
26
|
+
"typescript": "^5.9.3",
|
|
27
|
+
"zod": "^4.1.13",
|
|
28
|
+
"corsair": "0.1.122"
|
|
29
|
+
},
|
|
30
|
+
"keywords": [
|
|
31
|
+
"corsair",
|
|
32
|
+
"jigsawstack",
|
|
33
|
+
"plugin"
|
|
34
|
+
],
|
|
35
|
+
"author": "",
|
|
36
|
+
"license": "Apache-2.0",
|
|
37
|
+
"files": [
|
|
38
|
+
"dist"
|
|
39
|
+
],
|
|
40
|
+
"scripts": {
|
|
41
|
+
"build": "rm -rf dist && tsc --build --force && tsup",
|
|
42
|
+
"typecheck": "tsc --noEmit",
|
|
43
|
+
"test": "jest"
|
|
44
|
+
}
|
|
45
|
+
}
|