@great-detail/support-sdk 0.2.6 → 0.2.8

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.
@@ -1 +1 @@
1
- import{n as y,o as F}from"./chunk-WWLNDX6W.js";import{Command as A}from"commander";import{Command as b}from"commander";import{oraPromise as I}from"ora";function m({client:n,ora:s}){let o=new b("actions").description("Actions");return o.addCommand(new b("list").description("List actions").action(async()=>{let t=await I(()=>n.action.list.send(),{...s,text:"Finding actions"});console.log(await t.result())})),o}import{Command as v}from"commander";import{oraPromise as S}from"ora";function r({client:n,ora:s}){let o=new v("channels").description("Channels");return o.addCommand(new v("list").description("List channels").action(async()=>{let t=await S(()=>n.channel.list.send(),{...s,text:"Finding channels"});console.log(await t.result())})),o}import{Command as d}from"commander";import{oraPromise as L}from"ora";function c({client:n,ora:s}){let o=new d("contacts").description("Contacts");return o.addCommand(new d("get").description("Find contact").argument("<contact>","Contact ID").action(async t=>{let e=await L(()=>n.contact.get.send({id:t}),{...s,text:"Finding contact"});console.log(await e.result())})),o.addCommand(new d("list").description("List contacts").action(async()=>{let t=await L(()=>n.contact.list.send(),{...s,text:"Finding contacts"});console.log(await t.result())})),o}import{Command as p}from"commander";import{oraPromise as P}from"ora";function l({client:n,ora:s}){let o=new p("conversations").description("Conversations");return o.addCommand(new p("get").description("Find conversation").argument("<conversation>","Conversation ID").action(async t=>{let e=await P(()=>n.conversation.get.send({id:t}),{...s,text:"Finding conversation"});console.log(await e.result())})),o.addCommand(new p("list").description("List conversations").action(async()=>{let t=await P(()=>n.conversation.list.send(),{...s,text:"Finding conversations"});console.log(await t.result())})),o}import{Command as a}from"commander";import{oraPromise as u}from"ora";function f({client:n,ora:s}){let o=new a("labels").description("Labels");return o.addCommand(new a("get").description("Find label").argument("<label>","Label ID").action(async t=>{let e=await u(()=>n.label.get.send({id:t}),{...s,text:"Finding label"});console.log(await e.result())})),o.addCommand(new a("list").description("List labels").action(async()=>{let t=await u(()=>n.label.list.send(),{...s,text:"Finding labels"});console.log(await t.result())})),o.addCommand(new a("conversations").description("Find label conversations").argument("<label>","Label ID").action(async t=>{let e=await u(()=>n.label.conversation.list.send({id:t}),{...s,text:"Finding conversations"});console.log(await e.result())})),o}import{Command as h}from"commander";import{oraPromise as M}from"ora";function C({client:n,ora:s}){let o=new h("messages").description("Messages");return o.addCommand(new h("list").description("List messages").action(async()=>{let t=await M(()=>n.message.list.send(),{...s,text:"Finding messages"});console.log(await t.result())})),o}import{Command as g}from"commander";import{oraPromise as j}from"ora";function w({client:n,ora:s}){let o=new g("models").description("Models");return o.addCommand(new g("get").description("Find model").argument("<model>","Model ID").action(async t=>{let e=await j(()=>n.model.get.send({id:t}),{...s,text:"Finding model"});console.log(await e.result())})),o.addCommand(new g("list").description("List models").action(async()=>{let t=await j(()=>n.model.list.send(),{...s,text:"Finding models"});console.log(await t.result())})),o}import{Command as O}from"commander";import{oraPromise as D}from"ora";function x({client:n,ora:s}){let o=new O("sources").description("Sources");return o.addCommand(new O("get").description("Find source").argument("<source>","Source ID").action(async t=>{let e=await D(()=>n.source.get.send({id:t}),{...s,text:"Finding source"});console.log(await e.result())})),o.addCommand(new O("list").description("List sources").action(async()=>{let t=await D(()=>n.source.list.send(),{...s,text:"Finding sources"});console.log(await t.result())})),o}var i={ora:{spinner:"simpleDotsScrolling"},client:new y(new F)},G=new A("gds").description("Great Detail Support System").addCommand(m(i)).addCommand(r(i)).addCommand(c(i)).addCommand(l(i)).addCommand(f(i)).addCommand(C(i)).addCommand(w(i)).addCommand(x(i)),go=G;export{go as a};
1
+ import{n as y,o as F}from"./chunk-UWNMFEJS.js";import{Command as A}from"commander";import{Command as b}from"commander";import{oraPromise as I}from"ora";function m({client:n,ora:s}){let o=new b("actions").description("Actions");return o.addCommand(new b("list").description("List actions").action(async()=>{let t=await I(()=>n.action.list.send(),{...s,text:"Finding actions"});console.log(await t.result())})),o}import{Command as v}from"commander";import{oraPromise as S}from"ora";function r({client:n,ora:s}){let o=new v("channels").description("Channels");return o.addCommand(new v("list").description("List channels").action(async()=>{let t=await S(()=>n.channel.list.send(),{...s,text:"Finding channels"});console.log(await t.result())})),o}import{Command as d}from"commander";import{oraPromise as L}from"ora";function c({client:n,ora:s}){let o=new d("contacts").description("Contacts");return o.addCommand(new d("get").description("Find contact").argument("<contact>","Contact ID").action(async t=>{let e=await L(()=>n.contact.get.send({id:t}),{...s,text:"Finding contact"});console.log(await e.result())})),o.addCommand(new d("list").description("List contacts").action(async()=>{let t=await L(()=>n.contact.list.send(),{...s,text:"Finding contacts"});console.log(await t.result())})),o}import{Command as p}from"commander";import{oraPromise as P}from"ora";function l({client:n,ora:s}){let o=new p("conversations").description("Conversations");return o.addCommand(new p("get").description("Find conversation").argument("<conversation>","Conversation ID").action(async t=>{let e=await P(()=>n.conversation.get.send({id:t}),{...s,text:"Finding conversation"});console.log(await e.result())})),o.addCommand(new p("list").description("List conversations").action(async()=>{let t=await P(()=>n.conversation.list.send(),{...s,text:"Finding conversations"});console.log(await t.result())})),o}import{Command as a}from"commander";import{oraPromise as u}from"ora";function f({client:n,ora:s}){let o=new a("labels").description("Labels");return o.addCommand(new a("get").description("Find label").argument("<label>","Label ID").action(async t=>{let e=await u(()=>n.label.get.send({id:t}),{...s,text:"Finding label"});console.log(await e.result())})),o.addCommand(new a("list").description("List labels").action(async()=>{let t=await u(()=>n.label.list.send(),{...s,text:"Finding labels"});console.log(await t.result())})),o.addCommand(new a("conversations").description("Find label conversations").argument("<label>","Label ID").action(async t=>{let e=await u(()=>n.label.conversation.list.send({id:t}),{...s,text:"Finding conversations"});console.log(await e.result())})),o}import{Command as h}from"commander";import{oraPromise as M}from"ora";function C({client:n,ora:s}){let o=new h("messages").description("Messages");return o.addCommand(new h("list").description("List messages").action(async()=>{let t=await M(()=>n.message.list.send(),{...s,text:"Finding messages"});console.log(await t.result())})),o}import{Command as g}from"commander";import{oraPromise as j}from"ora";function w({client:n,ora:s}){let o=new g("models").description("Models");return o.addCommand(new g("get").description("Find model").argument("<model>","Model ID").action(async t=>{let e=await j(()=>n.model.get.send({id:t}),{...s,text:"Finding model"});console.log(await e.result())})),o.addCommand(new g("list").description("List models").action(async()=>{let t=await j(()=>n.model.list.send(),{...s,text:"Finding models"});console.log(await t.result())})),o}import{Command as O}from"commander";import{oraPromise as D}from"ora";function x({client:n,ora:s}){let o=new O("sources").description("Sources");return o.addCommand(new O("get").description("Find source").argument("<source>","Source ID").action(async t=>{let e=await D(()=>n.source.get.send({id:t}),{...s,text:"Finding source"});console.log(await e.result())})),o.addCommand(new O("list").description("List sources").action(async()=>{let t=await D(()=>n.source.list.send(),{...s,text:"Finding sources"});console.log(await t.result())})),o}var i={ora:{spinner:"simpleDotsScrolling"},client:new y(new F)},G=new A("gds").description("Great Detail Support System").addCommand(m(i)).addCommand(r(i)).addCommand(c(i)).addCommand(l(i)).addCommand(f(i)).addCommand(C(i)).addCommand(w(i)).addCommand(x(i)),go=G;export{go as a};
@@ -1 +1 @@
1
- var Nt=Object.defineProperty;var zt=(e,t)=>{for(var s in t)Nt(e,s,{get:t[s],enumerable:!0})};var Ot="https://api.support.greatdetail.com",wt={"X-Powered-By":"GDSupport/JavaScript"},Bt="api-key";var p=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/actions",{...t,method:"GET"}).then(s=>new W(s))}},W=class{constructor(t){this.response=t}async result(){return this.response.json()}};var c=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/channels",{...t,method:"GET"}).then(s=>new X(s))}},X=class{constructor(t){this.response=t}async result(){return this.response.json()}};import{z as d}from"zod";var u=class e{constructor(t){this._transport=t}static SCHEMA=d.object({name:d.string(),account:d.string(),emailAddress:d.string().email().optional(),telephoneNumber:d.string().optional()});async send({body:t,request:s={}}){return this._transport.send("v1/contacts",{...s,method:"POST",headers:{...s.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(t))}).then(r=>new Q(r))}},Q=class{constructor(t){this.response=t}async result(){return this.response.json()}};var l=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...s,method:"GET"}).then(r=>new Z(r))}},Z=class{constructor(t){this.response=t}async result(){return this.response.json()}};var m=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/contacts",{...t,method:"GET"}).then(s=>new tt(s))}},tt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var g=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/contacts",{...s,method:"GET"}).then(r=>new et(r))}},et=class{constructor(t){this.response=t}async result(){return this.response.json()}};import{z as K}from"zod";var h=class e{constructor(t){this._transport=t}static SCHEMA=K.object({name:K.string().optional(),emailAddress:K.string().email().optional(),telephoneNumber:K.string().optional()});async send({id:t,body:s,request:r={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...r,method:"PATCH",headers:{...r.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(n=>new st(n))}},st=class{constructor(t){this.response=t}async result(){return this.response.json()}};var f=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...s,method:"GET"}).then(r=>new rt(r))}},rt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var b=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/conversations",{...t,method:"GET"}).then(s=>new nt(s))}},nt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var y=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/conversations",{...s,method:"GET"}).then(r=>new ot(r))}},ot=class{constructor(t){this.response=t}async result(){return this.response.json()}};import{z as Ft}from"zod";var R=class e{constructor(t){this._transport=t}static SCHEMA=Ft.object({hasEnded:Ft.boolean()});async send({id:t,body:s,request:r={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...r,method:"POST",headers:{...r.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(n=>new it(n))}},it=class{constructor(t){this.response=t}async result(){return this.response.json()}};import{z as k}from"zod";var x=class e{constructor(t){this._transport=t}static SCHEMA=k.object({title:k.string(),description:k.string().optional(),account:k.string()});async send({body:t,request:s={}}){return this._transport.send("v1/labels",{...s,method:"POST",headers:{...s.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(t))}).then(r=>new at(r))}},at=class{constructor(t){this.response=t}async result(){return this.response.json()}};var A=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...s,method:"DELETE"}).then(r=>new pt(r))}},pt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var C=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...s,method:"GET"}).then(r=>new ct(r))}},ct=class{constructor(t){this.response=t}async result(){return this.response.json()}};var T=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/labels",{...t,method:"GET"}).then(s=>new dt(s))}},dt=class{constructor(t){this.response=t}async result(){return this.response.json()}};import{z as ut}from"zod";var _=class e{constructor(t){this._transport=t}static SCHEMA=ut.object({title:ut.string().optional(),description:ut.string().optional()});async send({id:t,body:s,request:r={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...r,method:"PATCH",headers:{...r.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(n=>new lt(n))}},lt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var P=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/messages",{...s,method:"GET"}).then(r=>new mt(r))}},mt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var S=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/messages",{...t,method:"GET"}).then(s=>new gt(s))}},gt=class{constructor(t){this.response=t}async result(){return this.response.json()}};import{z as Y}from"zod";var E=class e{constructor(t){this._transport=t}static SCHEMA=Y.object({input:Y.string().max(65536),original:Y.string().max(65536),correction:Y.string().max(65536)});async send({id:t,body:s,request:r={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/correction",{...r,method:"POST",headers:{...r.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(n=>new ht(n))}},ht=class{constructor(t){this.response=t}async result(){return this.response.json()}};var v=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/models/"+encodeURIComponent(t),{...s,method:"GET"}).then(r=>new ft(r))}},ft=class{constructor(t){this.response=t}async result(){return this.response.json()}};var O=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/models",{...t,method:"GET"}).then(s=>new bt(s))}},bt=class{constructor(t){this.response=t}async result(){return this.response.json()}};import{z as $}from"zod";var w=class e{constructor(t){this._transport=t}static SCHEMA=$.array($.object({role:$.enum(["user","assistant"]),content:$.string().max(65536).nullable()})).min(1);async send({id:t,body:s,request:r={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/response",{...r,method:"POST",headers:{...r.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(n=>new yt(n))}},yt=class{constructor(t){this.response=t}async result(){return this.response.json()}};import{z as Ut}from"zod";var F=class e{constructor(t){this._transport=t}static SCHEMA=Ut.object({content:Ut.string()});async send({id:t,body:s,request:r={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...r,method:"POST",headers:{...r.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(n=>new Rt(n))}},Rt=class{constructor(t){this.response=t}async result(){return this.response.json()}};import{z as qt}from"zod";var U=class e{constructor(t){this._transport=t}static SCHEMA=qt.object({content:qt.string()});async send({id:t,body:s,request:r={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...r,method:"POST",headers:{...r.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(n=>new xt(n))}},xt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var q=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...s,method:"GET"}).then(r=>new At(r))}},At=class{constructor(t){this.response=t}async result(){return this.response.json()}};var I=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...s,method:"GET"}).then(r=>new Ct(r))}},Ct=class{constructor(t){this.response=t}async result(){return this.response.json()}};var j=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...s,method:"GET"}).then(r=>new Tt(r))}},Tt=class{constructor(t){this.response=t}async result(){return this.response.json()}};import{z as It}from"zod";var L=class e{constructor(t){this._transport=t}static SCHEMA=It.object({content:It.string().optional()});async send({id:t,body:s,request:r={}}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...r,method:"PATCH",headers:{...r.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(n=>new _t(n))}},_t=class{constructor(t){this.response=t}async result(){return this.response.json()}};var H=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/sources/"+encodeURIComponent(t),{...s,method:"GET"}).then(r=>new Pt(r))}},Pt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var N=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/sources",{...t,method:"GET"}).then(s=>new St(s))}},St=class{constructor(t){this.response=t}async result(){return this.response.json()}};var Ue="SUPPORT_ACCESS_TOKEN",qe="SUPPORT_API_KEY",Ie="SUPPORT_KEY_NAME",jt="SUPPORT_BASE_URL";var M=class{constructor(t){this._transport=t}getRelativeURL({id:t,vcf:s={}}){let r=s.variant??"vcard",n=s.format??(s.variant==="vcard"?"vcf":"json");return"v1/contacts/"+encodeURIComponent(t)+"/vcf?variant="+encodeURIComponent(r)+"&format="+encodeURIComponent(n)}getURL(t){return this._transport.getURL(this.getRelativeURL(t))}};var G=class e{constructor(t=e.STANDARD_HEADERS){this._standardHeaders=t}static STANDARD_HEADERS=wt;async filter(){return{headers:this.getHeaders()}}getHeaders(){return this._standardHeaders}};import Mt,{Request as Gt}from"cross-fetch";import Dt from"is-network-error";var o=class extends Error{};var i=class extends o{};var D=class extends i{static unauthenticated(){return new this("An unauthenticated request occurred")}};var z=class extends i{static forbidden(){return new this("A forbidden request occurred")}};var a=class extends o{static notFound(t){return new this(`Record not found for request: ${t}`)}static forbiddenMethod(t,s){return new this(`Forbidden method for request: ${t} ${s}`)}};var J=class extends o{};var B=class extends o{static badRequest(){return new this("Bad request")}};var V=class{options;constructor({baseURL:t,fetch:s=Mt,...r}){this.options={...r,fetch:s,baseURL:t}}getURL(t){return new URL(t,this.options.baseURL).toString()}getRequest(t,s){s.headers=new Headers(s.headers);for(let r of this.options.requestFilterables){let n=r.getHeaders();for(let[Lt,Ht]of Object.entries(n))s.headers.set(Lt,Ht)}return new Gt(this.getURL(t),s)}async send(t,s){return await this.options.fetch(this.getRequest(t,s)).then(r=>{if(!r.ok){let n=r.status;switch(console.error(JSON.stringify(r)),n){case 400:throw B.badRequest();case 401:throw D.unauthenticated();case 403:throw z.forbidden();case 404:throw a.notFound(t);case 405:throw a.forbiddenMethod(t,s.method??"GET")}}return r}).catch(r=>{throw Dt(r)?new J("A network error occurred",{cause:r}):r})}};var Et=class e{static DEFAULT_BASE_URL=Ot;_transport;constructor(t,{baseURL:s,...r}={}){this._transport=new V({requestFilterables:[new G,t],...r,baseURL:s?.toString()??e.getBaseURL()})}static getBaseURL(){return process.env[jt]??this.DEFAULT_BASE_URL}get action(){return{list:new p(this._transport)}}get channel(){return{list:new c(this._transport)}}get contact(){return{get:new l(this._transport),list:new m(this._transport),update:new h(this._transport),create:new u(this._transport),vcf:{get:new M(this._transport)},note:{list:new I(this._transport),create:new F(this._transport)}}}get conversation(){return{get:new f(this._transport),list:new b(this._transport),update:new R(this._transport),message:{list:new P(this._transport)},note:{list:new j(this._transport),create:new U(this._transport)}}}get label(){return{create:new x(this._transport),get:new C(this._transport),list:new T(this._transport),update:new _(this._transport),delete:new A(this._transport),contact:{list:new g(this._transport)},conversation:{list:new y(this._transport)}}}get message(){return{list:new S(this._transport)}}get model(){return{get:new v(this._transport),list:new O(this._transport),response:{create:new w(this._transport)},correction:{create:new E(this._transport)}}}get note(){return{get:new q(this._transport),update:new L(this._transport)}}get source(){return{get:new H(this._transport),list:new N(this._transport)}}};var vt=class{async filter(){return{headers:this.getHeaders()}}getHeaders(){return{}}};export{zt as a,Ot as b,Bt as c,Ue as d,qe as e,Ie as f,o as g,i as h,D as i,z as j,a as k,J as l,B as m,Et as n,vt as o};
1
+ var Nt=Object.defineProperty;var Dt=(e,t)=>{for(var s in t)Nt(e,s,{get:t[s],enumerable:!0})};var Ot="https://api.support.greatdetail.com",wt={"X-Powered-By":"GDSupport/JavaScript"},Jt="api-key";var p=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/actions",{...t,method:"GET"}).then(s=>new W(s))}},W=class{constructor(t){this.response=t}async result(){return this.response.json()}};var c=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/channels",{...t,method:"GET"}).then(s=>new X(s))}},X=class{constructor(t){this.response=t}async result(){return this.response.json()}};import{z as d}from"zod";var u=class e{constructor(t){this._transport=t}static SCHEMA=d.object({name:d.string(),account:d.string(),emailAddress:d.string().email().optional(),telephoneNumber:d.string().optional()});async send({body:t,request:s={}}){return this._transport.send("v1/contacts",{...s,method:"POST",headers:{...s.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(t))}).then(r=>new Q(r))}},Q=class{constructor(t){this.response=t}async result(){return this.response.json()}};var l=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...s,method:"GET"}).then(r=>new Z(r))}},Z=class{constructor(t){this.response=t}async result(){return this.response.json()}};var m=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/contacts",{...t,method:"GET"}).then(s=>new tt(s))}},tt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var g=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/contacts",{...s,method:"GET"}).then(r=>new et(r))}},et=class{constructor(t){this.response=t}async result(){return this.response.json()}};import{z as k}from"zod";var h=class e{constructor(t){this._transport=t}static SCHEMA=k.object({name:k.string().optional(),emailAddress:k.string().email().optional(),telephoneNumber:k.string().optional()});async send({id:t,body:s,request:r={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...r,method:"PATCH",headers:{...r.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(n=>new st(n))}},st=class{constructor(t){this.response=t}async result(){return this.response.json()}};var f=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...s,method:"GET"}).then(r=>new rt(r))}},rt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var b=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/conversations",{...t,method:"GET"}).then(s=>new nt(s))}},nt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var y=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/conversations",{...s,method:"GET"}).then(r=>new ot(r))}},ot=class{constructor(t){this.response=t}async result(){return this.response.json()}};import{z as Ft}from"zod";var R=class e{constructor(t){this._transport=t}static SCHEMA=Ft.object({hasEnded:Ft.boolean()});async send({id:t,body:s,request:r={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...r,method:"POST",headers:{...r.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(n=>new it(n))}},it=class{constructor(t){this.response=t}async result(){return this.response.json()}};import{z as K}from"zod";var x=class e{constructor(t){this._transport=t}static SCHEMA=K.object({title:K.string(),description:K.string().optional(),account:K.string()});async send({body:t,request:s={}}){return this._transport.send("v1/labels",{...s,method:"POST",headers:{...s.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(t))}).then(r=>new at(r))}},at=class{constructor(t){this.response=t}async result(){return this.response.json()}};var A=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...s,method:"DELETE"}).then(r=>new pt(r))}},pt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var C=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...s,method:"GET"}).then(r=>new ct(r))}},ct=class{constructor(t){this.response=t}async result(){return this.response.json()}};var T=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/labels",{...t,method:"GET"}).then(s=>new dt(s))}},dt=class{constructor(t){this.response=t}async result(){return this.response.json()}};import{z as ut}from"zod";var _=class e{constructor(t){this._transport=t}static SCHEMA=ut.object({title:ut.string().optional(),description:ut.string().optional()});async send({id:t,body:s,request:r={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...r,method:"PATCH",headers:{...r.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(n=>new lt(n))}},lt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var P=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/messages",{...s,method:"GET"}).then(r=>new mt(r))}},mt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var S=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/messages",{...t,method:"GET"}).then(s=>new gt(s))}},gt=class{constructor(t){this.response=t}async result(){return this.response.json()}};import{z as Y}from"zod";var E=class e{constructor(t){this._transport=t}static SCHEMA=Y.object({input:Y.string().max(65536),original:Y.string().max(65536),correction:Y.string().max(65536)});async send({id:t,body:s,request:r={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/correction",{...r,method:"POST",headers:{...r.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(n=>new ht(n))}},ht=class{constructor(t){this.response=t}async result(){return this.response.json()}};var v=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/models/"+encodeURIComponent(t),{...s,method:"GET"}).then(r=>new ft(r))}},ft=class{constructor(t){this.response=t}async result(){return this.response.json()}};var O=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/models",{...t,method:"GET"}).then(s=>new bt(s))}},bt=class{constructor(t){this.response=t}async result(){return this.response.json()}};import{z as $}from"zod";var w=class e{constructor(t){this._transport=t}static SCHEMA=$.array($.object({role:$.enum(["user","assistant"]),content:$.string().max(65536).nullable()})).min(1);async send({id:t,body:s,request:r={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/response",{...r,method:"POST",headers:{...r.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(n=>new yt(n))}},yt=class{constructor(t){this.response=t}async result(){return this.response.json()}};import{z as Ut}from"zod";var F=class e{constructor(t){this._transport=t}static SCHEMA=Ut.object({content:Ut.string()});async send({id:t,body:s,request:r={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...r,method:"POST",headers:{...r.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(n=>new Rt(n))}},Rt=class{constructor(t){this.response=t}async result(){return this.response.json()}};import{z as qt}from"zod";var U=class e{constructor(t){this._transport=t}static SCHEMA=qt.object({content:qt.string()});async send({id:t,body:s,request:r={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...r,method:"POST",headers:{...r.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(n=>new xt(n))}},xt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var q=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...s,method:"GET"}).then(r=>new At(r))}},At=class{constructor(t){this.response=t}async result(){return this.response.json()}};var I=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...s,method:"GET"}).then(r=>new Ct(r))}},Ct=class{constructor(t){this.response=t}async result(){return this.response.json()}};var j=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...s,method:"GET"}).then(r=>new Tt(r))}},Tt=class{constructor(t){this.response=t}async result(){return this.response.json()}};import{z as It}from"zod";var L=class e{constructor(t){this._transport=t}static SCHEMA=It.object({content:It.string().optional()});async send({id:t,body:s,request:r={}}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...r,method:"PATCH",headers:{...r.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(n=>new _t(n))}},_t=class{constructor(t){this.response=t}async result(){return this.response.json()}};var H=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/sources/"+encodeURIComponent(t),{...s,method:"GET"}).then(r=>new Pt(r))}},Pt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var N=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/sources",{...t,method:"GET"}).then(s=>new St(s))}},St=class{constructor(t){this.response=t}async result(){return this.response.json()}};var Fe="SUPPORT_ACCESS_TOKEN",Ue="SUPPORT_API_KEY",qe="SUPPORT_KEY_NAME",jt="SUPPORT_BASE_URL";var M=class{constructor(t){this._transport=t}getRelativeURL({id:t,vcf:s={}}){let r=s.variant??"vcard",n=s.format??(s.variant==="vcard"?"vcf":"json");return"v1/contacts/"+encodeURIComponent(t)+"/vcf?variant="+encodeURIComponent(r)+"&format="+encodeURIComponent(n)}getURL(t){return this._transport.getURL(this.getRelativeURL(t))}};var G=class e{constructor(t=e.STANDARD_HEADERS){this._standardHeaders=t}static STANDARD_HEADERS=wt;async filter(){return{headers:this.getHeaders()}}getHeaders(){return this._standardHeaders}};import Mt from"is-network-error";import Gt from"ky";var o=class extends Error{};var i=class extends o{};var D=class extends i{static unauthenticated(){return new this("An unauthenticated request occurred")}};var z=class extends i{static forbidden(){return new this("A forbidden request occurred")}};var a=class extends o{static notFound(t){return new this(`Record not found for request: ${t}`)}static forbiddenMethod(t,s){return new this(`Forbidden method for request: ${t} ${s}`)}};var J=class extends o{};var B=class extends o{static badRequest(){return new this("Bad request")}};var V=class{options;constructor({baseURL:t,...s}){this.options={...s,baseURL:t}}getURL(t){return new URL(t,this.options.baseURL).toString()}getRequest(t,s){s.headers=new Headers(s.headers);for(let r of this.options.requestFilterables){let n=r.getHeaders();for(let[Lt,Ht]of Object.entries(n))s.headers.set(Lt,Ht)}return new Request(this.getURL(t),s)}async send(t,s){return await Gt(this.getRequest(t,s)).then(r=>{if(!r.ok){let n=r.status;switch(console.error(JSON.stringify(r)),n){case 400:throw B.badRequest();case 401:throw D.unauthenticated();case 403:throw z.forbidden();case 404:throw a.notFound(t);case 405:throw a.forbiddenMethod(t,s.method??"GET")}}return r}).catch(r=>{throw Mt(r)?new J("A network error occurred",{cause:r}):r})}};var Et=class e{static DEFAULT_BASE_URL=Ot;_transport;constructor(t,{baseURL:s,...r}={}){this._transport=new V({requestFilterables:[new G,t],...r,baseURL:s?.toString()??e.getBaseURL()})}static getBaseURL(){return process.env[jt]??this.DEFAULT_BASE_URL}get action(){return{list:new p(this._transport)}}get channel(){return{list:new c(this._transport)}}get contact(){return{get:new l(this._transport),list:new m(this._transport),update:new h(this._transport),create:new u(this._transport),vcf:{get:new M(this._transport)},note:{list:new I(this._transport),create:new F(this._transport)}}}get conversation(){return{get:new f(this._transport),list:new b(this._transport),update:new R(this._transport),message:{list:new P(this._transport)},note:{list:new j(this._transport),create:new U(this._transport)}}}get label(){return{create:new x(this._transport),get:new C(this._transport),list:new T(this._transport),update:new _(this._transport),delete:new A(this._transport),contact:{list:new g(this._transport)},conversation:{list:new y(this._transport)}}}get message(){return{list:new S(this._transport)}}get model(){return{get:new v(this._transport),list:new O(this._transport),response:{create:new w(this._transport)},correction:{create:new E(this._transport)}}}get note(){return{get:new q(this._transport),update:new L(this._transport)}}get source(){return{get:new H(this._transport),list:new N(this._transport)}}};var vt=class{async filter(){return{headers:this.getHeaders()}}getHeaders(){return{}}};export{Dt as a,Ot as b,Jt as c,Fe as d,Ue as e,qe as f,o as g,i as h,D as i,z as j,a as k,J as l,B as m,Et as n,vt as o};
@@ -1 +1 @@
1
- "use strict";var he=Object.create;var tt=Object.defineProperty;var fe=Object.getOwnPropertyDescriptor;var ye=Object.getOwnPropertyNames;var be=Object.getPrototypeOf,xe=Object.prototype.hasOwnProperty;var Ce=(e,t)=>{for(var s in t)tt(e,s,{get:t[s],enumerable:!0})},ne=(e,t,s,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of ye(t))!xe.call(e,r)&&r!==s&&tt(e,r,{get:()=>t[r],enumerable:!(n=fe(t,r))||n.enumerable});return e};var re=(e,t,s)=>(s=e!=null?he(be(e)):{},ne(t||!e||!e.__esModule?tt(s,"default",{value:e,enumerable:!0}):s,e)),Re=e=>ne(tt({},"__esModule",{value:!0}),e);var Oe={};Ce(Oe,{default:()=>we});module.exports=Re(Oe);var ue=require("commander");var d=class{async filter(){return{headers:this.getHeaders()}}getHeaders(){return{}}};var l=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/actions",{...t,method:"GET"}).then(s=>new pt(s))}},pt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var u=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/channels",{...t,method:"GET"}).then(s=>new ct(s))}},ct=class{constructor(t){this.response=t}async result(){return this.response.json()}};var oe="SUPPORT_BASE_URL";var ie="https://api.support.greatdetail.com",ae={"X-Powered-By":"GDSupport/JavaScript"};var m=class{constructor(t){this._transport=t}getRelativeURL({id:t,vcf:s={}}){let n=s.variant??"vcard",r=s.format??(s.variant==="vcard"?"vcf":"json");return"v1/contacts/"+encodeURIComponent(t)+"/vcf?variant="+encodeURIComponent(n)+"&format="+encodeURIComponent(r)}getURL(t){return this._transport.getURL(this.getRelativeURL(t))}};var p=require("zod"),g=class e{constructor(t){this._transport=t}static SCHEMA=p.z.object({name:p.z.string(),account:p.z.string(),emailAddress:p.z.string().email().optional(),telephoneNumber:p.z.string().optional()});async send({body:t,request:s={}}){return this._transport.send("v1/contacts",{...s,method:"POST",headers:{...s.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(t))}).then(n=>new dt(n))}},dt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var h=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...s,method:"GET"}).then(n=>new lt(n))}},lt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var f=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/contacts",{...t,method:"GET"}).then(s=>new ut(s))}},ut=class{constructor(t){this.response=t}async result(){return this.response.json()}};var y=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/contacts",{...s,method:"GET"}).then(n=>new mt(n))}},mt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var b=require("zod"),x=class e{constructor(t){this._transport=t}static SCHEMA=b.z.object({name:b.z.string().optional(),emailAddress:b.z.string().email().optional(),telephoneNumber:b.z.string().optional()});async send({id:t,body:s,request:n={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...n,method:"PATCH",headers:{...n.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(r=>new gt(r))}},gt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var C=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...s,method:"GET"}).then(n=>new ht(n))}},ht=class{constructor(t){this.response=t}async result(){return this.response.json()}};var R=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/conversations",{...t,method:"GET"}).then(s=>new ft(s))}},ft=class{constructor(t){this.response=t}async result(){return this.response.json()}};var A=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/conversations",{...s,method:"GET"}).then(n=>new yt(n))}},yt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var bt=require("zod"),w=class e{constructor(t){this._transport=t}static SCHEMA=bt.z.object({hasEnded:bt.z.boolean()});async send({id:t,body:s,request:n={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...n,method:"POST",headers:{...n.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(r=>new xt(r))}},xt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var O=require("zod"),T=class e{constructor(t){this._transport=t}static SCHEMA=O.z.object({title:O.z.string(),description:O.z.string().optional(),account:O.z.string()});async send({body:t,request:s={}}){return this._transport.send("v1/labels",{...s,method:"POST",headers:{...s.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(t))}).then(n=>new Ct(n))}},Ct=class{constructor(t){this.response=t}async result(){return this.response.json()}};var _=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...s,method:"DELETE"}).then(n=>new Rt(n))}},Rt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var P=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...s,method:"GET"}).then(n=>new At(n))}},At=class{constructor(t){this.response=t}async result(){return this.response.json()}};var v=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/labels",{...t,method:"GET"}).then(s=>new wt(s))}},wt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var et=require("zod"),S=class e{constructor(t){this._transport=t}static SCHEMA=et.z.object({title:et.z.string().optional(),description:et.z.string().optional()});async send({id:t,body:s,request:n={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...n,method:"PATCH",headers:{...n.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(r=>new Ot(r))}},Ot=class{constructor(t){this.response=t}async result(){return this.response.json()}};var E=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/messages",{...s,method:"GET"}).then(n=>new Tt(n))}},Tt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var F=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/messages",{...t,method:"GET"}).then(s=>new _t(s))}},_t=class{constructor(t){this.response=t}async result(){return this.response.json()}};var I=require("zod"),U=class e{constructor(t){this._transport=t}static SCHEMA=I.z.object({input:I.z.string().max(65536),original:I.z.string().max(65536),correction:I.z.string().max(65536)});async send({id:t,body:s,request:n={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/correction",{...n,method:"POST",headers:{...n.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(r=>new Pt(r))}},Pt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var q=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/models/"+encodeURIComponent(t),{...s,method:"GET"}).then(n=>new vt(n))}},vt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var j=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/models",{...t,method:"GET"}).then(s=>new St(s))}},St=class{constructor(t){this.response=t}async result(){return this.response.json()}};var L=require("zod"),H=class e{constructor(t){this._transport=t}static SCHEMA=L.z.array(L.z.object({role:L.z.enum(["user","assistant"]),content:L.z.string().max(65536).nullable()})).min(1);async send({id:t,body:s,request:n={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/response",{...n,method:"POST",headers:{...n.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(r=>new Et(r))}},Et=class{constructor(t){this.response=t}async result(){return this.response.json()}};var Ft=require("zod"),N=class e{constructor(t){this._transport=t}static SCHEMA=Ft.z.object({content:Ft.z.string()});async send({id:t,body:s,request:n={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...n,method:"POST",headers:{...n.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(r=>new It(r))}},It=class{constructor(t){this.response=t}async result(){return this.response.json()}};var Ut=require("zod"),M=class e{constructor(t){this._transport=t}static SCHEMA=Ut.z.object({content:Ut.z.string()});async send({id:t,body:s,request:n={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...n,method:"POST",headers:{...n.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(r=>new qt(r))}},qt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var D=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...s,method:"GET"}).then(n=>new jt(n))}},jt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var G=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...s,method:"GET"}).then(n=>new Lt(n))}},Lt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var z=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...s,method:"GET"}).then(n=>new Ht(n))}},Ht=class{constructor(t){this.response=t}async result(){return this.response.json()}};var Nt=require("zod"),J=class e{constructor(t){this._transport=t}static SCHEMA=Nt.z.object({content:Nt.z.string().optional()});async send({id:t,body:s,request:n={}}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...n,method:"PATCH",headers:{...n.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(r=>new Mt(r))}},Mt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var B=class e{constructor(t=e.STANDARD_HEADERS){this._standardHeaders=t}static STANDARD_HEADERS=ae;async filter(){return{headers:this.getHeaders()}}getHeaders(){return this._standardHeaders}};var V=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/sources/"+encodeURIComponent(t),{...s,method:"GET"}).then(n=>new Dt(n))}},Dt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var K=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/sources",{...t,method:"GET"}).then(s=>new Gt(s))}},Gt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var st=re(require("cross-fetch"),1),pe=re(require("is-network-error"),1);var o=class extends Error{};var a=class extends o{};var k=class extends a{static unauthenticated(){return new this("An unauthenticated request occurred")}};var Y=class extends a{static forbidden(){return new this("A forbidden request occurred")}};var c=class extends o{static notFound(t){return new this(`Record not found for request: ${t}`)}static forbiddenMethod(t,s){return new this(`Forbidden method for request: ${t} ${s}`)}};var $=class extends o{};var W=class extends o{static badRequest(){return new this("Bad request")}};var X=class{options;constructor({baseURL:t,fetch:s=st.default,...n}){this.options={...n,fetch:s,baseURL:t}}getURL(t){return new URL(t,this.options.baseURL).toString()}getRequest(t,s){s.headers=new Headers(s.headers);for(let n of this.options.requestFilterables){let r=n.getHeaders();for(let[me,ge]of Object.entries(r))s.headers.set(me,ge)}return new st.Request(this.getURL(t),s)}async send(t,s){return await this.options.fetch(this.getRequest(t,s)).then(n=>{if(!n.ok){let r=n.status;switch(console.error(JSON.stringify(n)),r){case 400:throw W.badRequest();case 401:throw k.unauthenticated();case 403:throw Y.forbidden();case 404:throw c.notFound(t);case 405:throw c.forbiddenMethod(t,s.method??"GET")}}return n}).catch(n=>{throw(0,pe.default)(n)?new $("A network error occurred",{cause:n}):n})}};var Q=class e{static DEFAULT_BASE_URL=ie;_transport;constructor(t,{baseURL:s,...n}={}){this._transport=new X({requestFilterables:[new B,t],...n,baseURL:s?.toString()??e.getBaseURL()})}static getBaseURL(){return process.env[oe]??this.DEFAULT_BASE_URL}get action(){return{list:new l(this._transport)}}get channel(){return{list:new u(this._transport)}}get contact(){return{get:new h(this._transport),list:new f(this._transport),update:new x(this._transport),create:new g(this._transport),vcf:{get:new m(this._transport)},note:{list:new G(this._transport),create:new N(this._transport)}}}get conversation(){return{get:new C(this._transport),list:new R(this._transport),update:new w(this._transport),message:{list:new E(this._transport)},note:{list:new z(this._transport),create:new M(this._transport)}}}get label(){return{create:new T(this._transport),get:new P(this._transport),list:new v(this._transport),update:new S(this._transport),delete:new _(this._transport),contact:{list:new y(this._transport)},conversation:{list:new A(this._transport)}}}get message(){return{list:new F(this._transport)}}get model(){return{get:new q(this._transport),list:new j(this._transport),response:{create:new H(this._transport)},correction:{create:new U(this._transport)}}}get note(){return{get:new D(this._transport),update:new J(this._transport)}}get source(){return{get:new V(this._transport),list:new K(this._transport)}}};var zt=require("commander"),ce=require("ora");function Jt({client:e,ora:t}){let s=new zt.Command("actions").description("Actions");return s.addCommand(new zt.Command("list").description("List actions").action(async()=>{let n=await(0,ce.oraPromise)(()=>e.action.list.send(),{...t,text:"Finding actions"});console.log(await n.result())})),s}var Bt=require("commander"),de=require("ora");function Vt({client:e,ora:t}){let s=new Bt.Command("channels").description("Channels");return s.addCommand(new Bt.Command("list").description("List channels").action(async()=>{let n=await(0,de.oraPromise)(()=>e.channel.list.send(),{...t,text:"Finding channels"});console.log(await n.result())})),s}var nt=require("commander"),Kt=require("ora");function kt({client:e,ora:t}){let s=new nt.Command("contacts").description("Contacts");return s.addCommand(new nt.Command("get").description("Find contact").argument("<contact>","Contact ID").action(async n=>{let r=await(0,Kt.oraPromise)(()=>e.contact.get.send({id:n}),{...t,text:"Finding contact"});console.log(await r.result())})),s.addCommand(new nt.Command("list").description("List contacts").action(async()=>{let n=await(0,Kt.oraPromise)(()=>e.contact.list.send(),{...t,text:"Finding contacts"});console.log(await n.result())})),s}var rt=require("commander"),Yt=require("ora");function $t({client:e,ora:t}){let s=new rt.Command("conversations").description("Conversations");return s.addCommand(new rt.Command("get").description("Find conversation").argument("<conversation>","Conversation ID").action(async n=>{let r=await(0,Yt.oraPromise)(()=>e.conversation.get.send({id:n}),{...t,text:"Finding conversation"});console.log(await r.result())})),s.addCommand(new rt.Command("list").description("List conversations").action(async()=>{let n=await(0,Yt.oraPromise)(()=>e.conversation.list.send(),{...t,text:"Finding conversations"});console.log(await n.result())})),s}var Z=require("commander"),ot=require("ora");function Wt({client:e,ora:t}){let s=new Z.Command("labels").description("Labels");return s.addCommand(new Z.Command("get").description("Find label").argument("<label>","Label ID").action(async n=>{let r=await(0,ot.oraPromise)(()=>e.label.get.send({id:n}),{...t,text:"Finding label"});console.log(await r.result())})),s.addCommand(new Z.Command("list").description("List labels").action(async()=>{let n=await(0,ot.oraPromise)(()=>e.label.list.send(),{...t,text:"Finding labels"});console.log(await n.result())})),s.addCommand(new Z.Command("conversations").description("Find label conversations").argument("<label>","Label ID").action(async n=>{let r=await(0,ot.oraPromise)(()=>e.label.conversation.list.send({id:n}),{...t,text:"Finding conversations"});console.log(await r.result())})),s}var Xt=require("commander"),le=require("ora");function Qt({client:e,ora:t}){let s=new Xt.Command("messages").description("Messages");return s.addCommand(new Xt.Command("list").description("List messages").action(async()=>{let n=await(0,le.oraPromise)(()=>e.message.list.send(),{...t,text:"Finding messages"});console.log(await n.result())})),s}var it=require("commander"),Zt=require("ora");function te({client:e,ora:t}){let s=new it.Command("models").description("Models");return s.addCommand(new it.Command("get").description("Find model").argument("<model>","Model ID").action(async n=>{let r=await(0,Zt.oraPromise)(()=>e.model.get.send({id:n}),{...t,text:"Finding model"});console.log(await r.result())})),s.addCommand(new it.Command("list").description("List models").action(async()=>{let n=await(0,Zt.oraPromise)(()=>e.model.list.send(),{...t,text:"Finding models"});console.log(await n.result())})),s}var at=require("commander"),ee=require("ora");function se({client:e,ora:t}){let s=new at.Command("sources").description("Sources");return s.addCommand(new at.Command("get").description("Find source").argument("<source>","Source ID").action(async n=>{let r=await(0,ee.oraPromise)(()=>e.source.get.send({id:n}),{...t,text:"Finding source"});console.log(await r.result())})),s.addCommand(new at.Command("list").description("List sources").action(async()=>{let n=await(0,ee.oraPromise)(()=>e.source.list.send(),{...t,text:"Finding sources"});console.log(await n.result())})),s}var i={ora:{spinner:"simpleDotsScrolling"},client:new Q(new d)},Ae=new ue.Command("gds").description("Great Detail Support System").addCommand(Jt(i)).addCommand(Vt(i)).addCommand(kt(i)).addCommand($t(i)).addCommand(Wt(i)).addCommand(Qt(i)).addCommand(te(i)).addCommand(se(i)),we=Ae;
1
+ "use strict";var he=Object.create;var tt=Object.defineProperty;var fe=Object.getOwnPropertyDescriptor;var ye=Object.getOwnPropertyNames;var be=Object.getPrototypeOf,xe=Object.prototype.hasOwnProperty;var Ce=(e,t)=>{for(var s in t)tt(e,s,{get:t[s],enumerable:!0})},se=(e,t,s,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of ye(t))!xe.call(e,r)&&r!==s&&tt(e,r,{get:()=>t[r],enumerable:!(n=fe(t,r))||n.enumerable});return e};var ne=(e,t,s)=>(s=e!=null?he(be(e)):{},se(t||!e||!e.__esModule?tt(s,"default",{value:e,enumerable:!0}):s,e)),Re=e=>se(tt({},"__esModule",{value:!0}),e);var Oe={};Ce(Oe,{default:()=>we});module.exports=Re(Oe);var ue=require("commander");var d=class{async filter(){return{headers:this.getHeaders()}}getHeaders(){return{}}};var l=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/actions",{...t,method:"GET"}).then(s=>new at(s))}},at=class{constructor(t){this.response=t}async result(){return this.response.json()}};var u=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/channels",{...t,method:"GET"}).then(s=>new pt(s))}},pt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var re="SUPPORT_BASE_URL";var oe="https://api.support.greatdetail.com",ie={"X-Powered-By":"GDSupport/JavaScript"};var m=class{constructor(t){this._transport=t}getRelativeURL({id:t,vcf:s={}}){let n=s.variant??"vcard",r=s.format??(s.variant==="vcard"?"vcf":"json");return"v1/contacts/"+encodeURIComponent(t)+"/vcf?variant="+encodeURIComponent(n)+"&format="+encodeURIComponent(r)}getURL(t){return this._transport.getURL(this.getRelativeURL(t))}};var p=require("zod"),g=class e{constructor(t){this._transport=t}static SCHEMA=p.z.object({name:p.z.string(),account:p.z.string(),emailAddress:p.z.string().email().optional(),telephoneNumber:p.z.string().optional()});async send({body:t,request:s={}}){return this._transport.send("v1/contacts",{...s,method:"POST",headers:{...s.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(t))}).then(n=>new ct(n))}},ct=class{constructor(t){this.response=t}async result(){return this.response.json()}};var h=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...s,method:"GET"}).then(n=>new dt(n))}},dt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var f=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/contacts",{...t,method:"GET"}).then(s=>new lt(s))}},lt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var y=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/contacts",{...s,method:"GET"}).then(n=>new ut(n))}},ut=class{constructor(t){this.response=t}async result(){return this.response.json()}};var b=require("zod"),x=class e{constructor(t){this._transport=t}static SCHEMA=b.z.object({name:b.z.string().optional(),emailAddress:b.z.string().email().optional(),telephoneNumber:b.z.string().optional()});async send({id:t,body:s,request:n={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...n,method:"PATCH",headers:{...n.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(r=>new mt(r))}},mt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var C=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...s,method:"GET"}).then(n=>new gt(n))}},gt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var R=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/conversations",{...t,method:"GET"}).then(s=>new ht(s))}},ht=class{constructor(t){this.response=t}async result(){return this.response.json()}};var A=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/conversations",{...s,method:"GET"}).then(n=>new ft(n))}},ft=class{constructor(t){this.response=t}async result(){return this.response.json()}};var yt=require("zod"),w=class e{constructor(t){this._transport=t}static SCHEMA=yt.z.object({hasEnded:yt.z.boolean()});async send({id:t,body:s,request:n={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...n,method:"POST",headers:{...n.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(r=>new bt(r))}},bt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var O=require("zod"),T=class e{constructor(t){this._transport=t}static SCHEMA=O.z.object({title:O.z.string(),description:O.z.string().optional(),account:O.z.string()});async send({body:t,request:s={}}){return this._transport.send("v1/labels",{...s,method:"POST",headers:{...s.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(t))}).then(n=>new xt(n))}},xt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var _=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...s,method:"DELETE"}).then(n=>new Ct(n))}},Ct=class{constructor(t){this.response=t}async result(){return this.response.json()}};var P=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...s,method:"GET"}).then(n=>new Rt(n))}},Rt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var v=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/labels",{...t,method:"GET"}).then(s=>new At(s))}},At=class{constructor(t){this.response=t}async result(){return this.response.json()}};var et=require("zod"),S=class e{constructor(t){this._transport=t}static SCHEMA=et.z.object({title:et.z.string().optional(),description:et.z.string().optional()});async send({id:t,body:s,request:n={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...n,method:"PATCH",headers:{...n.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(r=>new wt(r))}},wt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var E=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/messages",{...s,method:"GET"}).then(n=>new Ot(n))}},Ot=class{constructor(t){this.response=t}async result(){return this.response.json()}};var F=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/messages",{...t,method:"GET"}).then(s=>new Tt(s))}},Tt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var I=require("zod"),U=class e{constructor(t){this._transport=t}static SCHEMA=I.z.object({input:I.z.string().max(65536),original:I.z.string().max(65536),correction:I.z.string().max(65536)});async send({id:t,body:s,request:n={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/correction",{...n,method:"POST",headers:{...n.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(r=>new _t(r))}},_t=class{constructor(t){this.response=t}async result(){return this.response.json()}};var q=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/models/"+encodeURIComponent(t),{...s,method:"GET"}).then(n=>new Pt(n))}},Pt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var j=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/models",{...t,method:"GET"}).then(s=>new vt(s))}},vt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var L=require("zod"),H=class e{constructor(t){this._transport=t}static SCHEMA=L.z.array(L.z.object({role:L.z.enum(["user","assistant"]),content:L.z.string().max(65536).nullable()})).min(1);async send({id:t,body:s,request:n={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/response",{...n,method:"POST",headers:{...n.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(r=>new St(r))}},St=class{constructor(t){this.response=t}async result(){return this.response.json()}};var Et=require("zod"),N=class e{constructor(t){this._transport=t}static SCHEMA=Et.z.object({content:Et.z.string()});async send({id:t,body:s,request:n={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...n,method:"POST",headers:{...n.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(r=>new Ft(r))}},Ft=class{constructor(t){this.response=t}async result(){return this.response.json()}};var It=require("zod"),M=class e{constructor(t){this._transport=t}static SCHEMA=It.z.object({content:It.z.string()});async send({id:t,body:s,request:n={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...n,method:"POST",headers:{...n.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(r=>new Ut(r))}},Ut=class{constructor(t){this.response=t}async result(){return this.response.json()}};var D=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...s,method:"GET"}).then(n=>new qt(n))}},qt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var G=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...s,method:"GET"}).then(n=>new jt(n))}},jt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var z=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...s,method:"GET"}).then(n=>new Lt(n))}},Lt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var Ht=require("zod"),J=class e{constructor(t){this._transport=t}static SCHEMA=Ht.z.object({content:Ht.z.string().optional()});async send({id:t,body:s,request:n={}}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...n,method:"PATCH",headers:{...n.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(r=>new Nt(r))}},Nt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var B=class e{constructor(t=e.STANDARD_HEADERS){this._standardHeaders=t}static STANDARD_HEADERS=ie;async filter(){return{headers:this.getHeaders()}}getHeaders(){return this._standardHeaders}};var V=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/sources/"+encodeURIComponent(t),{...s,method:"GET"}).then(n=>new Mt(n))}},Mt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var k=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/sources",{...t,method:"GET"}).then(s=>new Dt(s))}},Dt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var ae=ne(require("is-network-error"),1),pe=ne(require("ky"),1);var o=class extends Error{};var a=class extends o{};var K=class extends a{static unauthenticated(){return new this("An unauthenticated request occurred")}};var Y=class extends a{static forbidden(){return new this("A forbidden request occurred")}};var c=class extends o{static notFound(t){return new this(`Record not found for request: ${t}`)}static forbiddenMethod(t,s){return new this(`Forbidden method for request: ${t} ${s}`)}};var $=class extends o{};var W=class extends o{static badRequest(){return new this("Bad request")}};var X=class{options;constructor({baseURL:t,...s}){this.options={...s,baseURL:t}}getURL(t){return new URL(t,this.options.baseURL).toString()}getRequest(t,s){s.headers=new Headers(s.headers);for(let n of this.options.requestFilterables){let r=n.getHeaders();for(let[me,ge]of Object.entries(r))s.headers.set(me,ge)}return new Request(this.getURL(t),s)}async send(t,s){return await(0,pe.default)(this.getRequest(t,s)).then(n=>{if(!n.ok){let r=n.status;switch(console.error(JSON.stringify(n)),r){case 400:throw W.badRequest();case 401:throw K.unauthenticated();case 403:throw Y.forbidden();case 404:throw c.notFound(t);case 405:throw c.forbiddenMethod(t,s.method??"GET")}}return n}).catch(n=>{throw(0,ae.default)(n)?new $("A network error occurred",{cause:n}):n})}};var Q=class e{static DEFAULT_BASE_URL=oe;_transport;constructor(t,{baseURL:s,...n}={}){this._transport=new X({requestFilterables:[new B,t],...n,baseURL:s?.toString()??e.getBaseURL()})}static getBaseURL(){return process.env[re]??this.DEFAULT_BASE_URL}get action(){return{list:new l(this._transport)}}get channel(){return{list:new u(this._transport)}}get contact(){return{get:new h(this._transport),list:new f(this._transport),update:new x(this._transport),create:new g(this._transport),vcf:{get:new m(this._transport)},note:{list:new G(this._transport),create:new N(this._transport)}}}get conversation(){return{get:new C(this._transport),list:new R(this._transport),update:new w(this._transport),message:{list:new E(this._transport)},note:{list:new z(this._transport),create:new M(this._transport)}}}get label(){return{create:new T(this._transport),get:new P(this._transport),list:new v(this._transport),update:new S(this._transport),delete:new _(this._transport),contact:{list:new y(this._transport)},conversation:{list:new A(this._transport)}}}get message(){return{list:new F(this._transport)}}get model(){return{get:new q(this._transport),list:new j(this._transport),response:{create:new H(this._transport)},correction:{create:new U(this._transport)}}}get note(){return{get:new D(this._transport),update:new J(this._transport)}}get source(){return{get:new V(this._transport),list:new k(this._transport)}}};var Gt=require("commander"),ce=require("ora");function zt({client:e,ora:t}){let s=new Gt.Command("actions").description("Actions");return s.addCommand(new Gt.Command("list").description("List actions").action(async()=>{let n=await(0,ce.oraPromise)(()=>e.action.list.send(),{...t,text:"Finding actions"});console.log(await n.result())})),s}var Jt=require("commander"),de=require("ora");function Bt({client:e,ora:t}){let s=new Jt.Command("channels").description("Channels");return s.addCommand(new Jt.Command("list").description("List channels").action(async()=>{let n=await(0,de.oraPromise)(()=>e.channel.list.send(),{...t,text:"Finding channels"});console.log(await n.result())})),s}var st=require("commander"),Vt=require("ora");function kt({client:e,ora:t}){let s=new st.Command("contacts").description("Contacts");return s.addCommand(new st.Command("get").description("Find contact").argument("<contact>","Contact ID").action(async n=>{let r=await(0,Vt.oraPromise)(()=>e.contact.get.send({id:n}),{...t,text:"Finding contact"});console.log(await r.result())})),s.addCommand(new st.Command("list").description("List contacts").action(async()=>{let n=await(0,Vt.oraPromise)(()=>e.contact.list.send(),{...t,text:"Finding contacts"});console.log(await n.result())})),s}var nt=require("commander"),Kt=require("ora");function Yt({client:e,ora:t}){let s=new nt.Command("conversations").description("Conversations");return s.addCommand(new nt.Command("get").description("Find conversation").argument("<conversation>","Conversation ID").action(async n=>{let r=await(0,Kt.oraPromise)(()=>e.conversation.get.send({id:n}),{...t,text:"Finding conversation"});console.log(await r.result())})),s.addCommand(new nt.Command("list").description("List conversations").action(async()=>{let n=await(0,Kt.oraPromise)(()=>e.conversation.list.send(),{...t,text:"Finding conversations"});console.log(await n.result())})),s}var Z=require("commander"),rt=require("ora");function $t({client:e,ora:t}){let s=new Z.Command("labels").description("Labels");return s.addCommand(new Z.Command("get").description("Find label").argument("<label>","Label ID").action(async n=>{let r=await(0,rt.oraPromise)(()=>e.label.get.send({id:n}),{...t,text:"Finding label"});console.log(await r.result())})),s.addCommand(new Z.Command("list").description("List labels").action(async()=>{let n=await(0,rt.oraPromise)(()=>e.label.list.send(),{...t,text:"Finding labels"});console.log(await n.result())})),s.addCommand(new Z.Command("conversations").description("Find label conversations").argument("<label>","Label ID").action(async n=>{let r=await(0,rt.oraPromise)(()=>e.label.conversation.list.send({id:n}),{...t,text:"Finding conversations"});console.log(await r.result())})),s}var Wt=require("commander"),le=require("ora");function Xt({client:e,ora:t}){let s=new Wt.Command("messages").description("Messages");return s.addCommand(new Wt.Command("list").description("List messages").action(async()=>{let n=await(0,le.oraPromise)(()=>e.message.list.send(),{...t,text:"Finding messages"});console.log(await n.result())})),s}var ot=require("commander"),Qt=require("ora");function Zt({client:e,ora:t}){let s=new ot.Command("models").description("Models");return s.addCommand(new ot.Command("get").description("Find model").argument("<model>","Model ID").action(async n=>{let r=await(0,Qt.oraPromise)(()=>e.model.get.send({id:n}),{...t,text:"Finding model"});console.log(await r.result())})),s.addCommand(new ot.Command("list").description("List models").action(async()=>{let n=await(0,Qt.oraPromise)(()=>e.model.list.send(),{...t,text:"Finding models"});console.log(await n.result())})),s}var it=require("commander"),te=require("ora");function ee({client:e,ora:t}){let s=new it.Command("sources").description("Sources");return s.addCommand(new it.Command("get").description("Find source").argument("<source>","Source ID").action(async n=>{let r=await(0,te.oraPromise)(()=>e.source.get.send({id:n}),{...t,text:"Finding source"});console.log(await r.result())})),s.addCommand(new it.Command("list").description("List sources").action(async()=>{let n=await(0,te.oraPromise)(()=>e.source.list.send(),{...t,text:"Finding sources"});console.log(await n.result())})),s}var i={ora:{spinner:"simpleDotsScrolling"},client:new Q(new d)},Ae=new ue.Command("gds").description("Great Detail Support System").addCommand(zt(i)).addCommand(Bt(i)).addCommand(kt(i)).addCommand(Yt(i)).addCommand($t(i)).addCommand(Xt(i)).addCommand(Zt(i)).addCommand(ee(i)),we=Ae;
@@ -1,7 +1,7 @@
1
1
  import { Command } from 'commander';
2
- import { C as Client } from '../index-Dfbt8roX.cjs';
2
+ import { C as Client } from '../index-DsZ1QEUj.cjs';
3
3
  import { Options as Options$1 } from 'ora';
4
- import 'cross-fetch';
4
+ import 'ky';
5
5
  import 'zod';
6
6
 
7
7
  /**
@@ -1,7 +1,7 @@
1
1
  import { Command } from 'commander';
2
- import { C as Client } from '../index-Dfbt8roX.js';
2
+ import { C as Client } from '../index-DsZ1QEUj.js';
3
3
  import { Options as Options$1 } from 'ora';
4
- import 'cross-fetch';
4
+ import 'ky';
5
5
  import 'zod';
6
6
 
7
7
  /**
package/dist/cli/index.js CHANGED
@@ -1 +1 @@
1
- import{a}from"../chunk-6P6PJOYL.js";import"../chunk-WWLNDX6W.js";export{a as default};
1
+ import{a}from"../chunk-IQESWTED.js";import"../chunk-UWNMFEJS.js";export{a as default};
package/dist/cli.cjs CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- "use strict";var he=Object.create;var se=Object.defineProperty;var fe=Object.getOwnPropertyDescriptor;var ye=Object.getOwnPropertyNames;var be=Object.getPrototypeOf,xe=Object.prototype.hasOwnProperty;var Ce=(e,t,s,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of ye(t))!xe.call(e,r)&&r!==s&&se(e,r,{get:()=>t[r],enumerable:!(n=fe(t,r))||n.enumerable});return e};var ne=(e,t,s)=>(s=e!=null?he(be(e)):{},Ce(t||!e||!e.__esModule?se(s,"default",{value:e,enumerable:!0}):s,e));var le=require("commander");var d=class{async filter(){return{headers:this.getHeaders()}}getHeaders(){return{}}};var l=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/actions",{...t,method:"GET"}).then(s=>new at(s))}},at=class{constructor(t){this.response=t}async result(){return this.response.json()}};var u=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/channels",{...t,method:"GET"}).then(s=>new pt(s))}},pt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var re="SUPPORT_BASE_URL";var oe="https://api.support.greatdetail.com",ie={"X-Powered-By":"GDSupport/JavaScript"};var m=class{constructor(t){this._transport=t}getRelativeURL({id:t,vcf:s={}}){let n=s.variant??"vcard",r=s.format??(s.variant==="vcard"?"vcf":"json");return"v1/contacts/"+encodeURIComponent(t)+"/vcf?variant="+encodeURIComponent(n)+"&format="+encodeURIComponent(r)}getURL(t){return this._transport.getURL(this.getRelativeURL(t))}};var p=require("zod"),g=class e{constructor(t){this._transport=t}static SCHEMA=p.z.object({name:p.z.string(),account:p.z.string(),emailAddress:p.z.string().email().optional(),telephoneNumber:p.z.string().optional()});async send({body:t,request:s={}}){return this._transport.send("v1/contacts",{...s,method:"POST",headers:{...s.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(t))}).then(n=>new ct(n))}},ct=class{constructor(t){this.response=t}async result(){return this.response.json()}};var h=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...s,method:"GET"}).then(n=>new dt(n))}},dt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var f=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/contacts",{...t,method:"GET"}).then(s=>new lt(s))}},lt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var y=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/contacts",{...s,method:"GET"}).then(n=>new ut(n))}},ut=class{constructor(t){this.response=t}async result(){return this.response.json()}};var b=require("zod"),x=class e{constructor(t){this._transport=t}static SCHEMA=b.z.object({name:b.z.string().optional(),emailAddress:b.z.string().email().optional(),telephoneNumber:b.z.string().optional()});async send({id:t,body:s,request:n={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...n,method:"PATCH",headers:{...n.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(r=>new mt(r))}},mt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var C=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...s,method:"GET"}).then(n=>new gt(n))}},gt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var R=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/conversations",{...t,method:"GET"}).then(s=>new ht(s))}},ht=class{constructor(t){this.response=t}async result(){return this.response.json()}};var A=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/conversations",{...s,method:"GET"}).then(n=>new ft(n))}},ft=class{constructor(t){this.response=t}async result(){return this.response.json()}};var yt=require("zod"),w=class e{constructor(t){this._transport=t}static SCHEMA=yt.z.object({hasEnded:yt.z.boolean()});async send({id:t,body:s,request:n={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...n,method:"POST",headers:{...n.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(r=>new bt(r))}},bt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var O=require("zod"),T=class e{constructor(t){this._transport=t}static SCHEMA=O.z.object({title:O.z.string(),description:O.z.string().optional(),account:O.z.string()});async send({body:t,request:s={}}){return this._transport.send("v1/labels",{...s,method:"POST",headers:{...s.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(t))}).then(n=>new xt(n))}},xt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var _=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...s,method:"DELETE"}).then(n=>new Ct(n))}},Ct=class{constructor(t){this.response=t}async result(){return this.response.json()}};var P=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...s,method:"GET"}).then(n=>new Rt(n))}},Rt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var v=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/labels",{...t,method:"GET"}).then(s=>new At(s))}},At=class{constructor(t){this.response=t}async result(){return this.response.json()}};var tt=require("zod"),S=class e{constructor(t){this._transport=t}static SCHEMA=tt.z.object({title:tt.z.string().optional(),description:tt.z.string().optional()});async send({id:t,body:s,request:n={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...n,method:"PATCH",headers:{...n.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(r=>new wt(r))}},wt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var E=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/messages",{...s,method:"GET"}).then(n=>new Ot(n))}},Ot=class{constructor(t){this.response=t}async result(){return this.response.json()}};var F=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/messages",{...t,method:"GET"}).then(s=>new Tt(s))}},Tt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var I=require("zod"),U=class e{constructor(t){this._transport=t}static SCHEMA=I.z.object({input:I.z.string().max(65536),original:I.z.string().max(65536),correction:I.z.string().max(65536)});async send({id:t,body:s,request:n={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/correction",{...n,method:"POST",headers:{...n.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(r=>new _t(r))}},_t=class{constructor(t){this.response=t}async result(){return this.response.json()}};var q=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/models/"+encodeURIComponent(t),{...s,method:"GET"}).then(n=>new Pt(n))}},Pt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var j=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/models",{...t,method:"GET"}).then(s=>new vt(s))}},vt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var L=require("zod"),H=class e{constructor(t){this._transport=t}static SCHEMA=L.z.array(L.z.object({role:L.z.enum(["user","assistant"]),content:L.z.string().max(65536).nullable()})).min(1);async send({id:t,body:s,request:n={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/response",{...n,method:"POST",headers:{...n.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(r=>new St(r))}},St=class{constructor(t){this.response=t}async result(){return this.response.json()}};var Et=require("zod"),N=class e{constructor(t){this._transport=t}static SCHEMA=Et.z.object({content:Et.z.string()});async send({id:t,body:s,request:n={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...n,method:"POST",headers:{...n.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(r=>new Ft(r))}},Ft=class{constructor(t){this.response=t}async result(){return this.response.json()}};var It=require("zod"),M=class e{constructor(t){this._transport=t}static SCHEMA=It.z.object({content:It.z.string()});async send({id:t,body:s,request:n={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...n,method:"POST",headers:{...n.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(r=>new Ut(r))}},Ut=class{constructor(t){this.response=t}async result(){return this.response.json()}};var D=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...s,method:"GET"}).then(n=>new qt(n))}},qt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var G=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...s,method:"GET"}).then(n=>new jt(n))}},jt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var z=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...s,method:"GET"}).then(n=>new Lt(n))}},Lt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var Ht=require("zod"),J=class e{constructor(t){this._transport=t}static SCHEMA=Ht.z.object({content:Ht.z.string().optional()});async send({id:t,body:s,request:n={}}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...n,method:"PATCH",headers:{...n.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(r=>new Nt(r))}},Nt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var B=class e{constructor(t=e.STANDARD_HEADERS){this._standardHeaders=t}static STANDARD_HEADERS=ie;async filter(){return{headers:this.getHeaders()}}getHeaders(){return this._standardHeaders}};var V=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/sources/"+encodeURIComponent(t),{...s,method:"GET"}).then(n=>new Mt(n))}},Mt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var K=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/sources",{...t,method:"GET"}).then(s=>new Dt(s))}},Dt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var et=ne(require("cross-fetch"),1),ae=ne(require("is-network-error"),1);var o=class extends Error{};var a=class extends o{};var k=class extends a{static unauthenticated(){return new this("An unauthenticated request occurred")}};var Y=class extends a{static forbidden(){return new this("A forbidden request occurred")}};var c=class extends o{static notFound(t){return new this(`Record not found for request: ${t}`)}static forbiddenMethod(t,s){return new this(`Forbidden method for request: ${t} ${s}`)}};var $=class extends o{};var W=class extends o{static badRequest(){return new this("Bad request")}};var X=class{options;constructor({baseURL:t,fetch:s=et.default,...n}){this.options={...n,fetch:s,baseURL:t}}getURL(t){return new URL(t,this.options.baseURL).toString()}getRequest(t,s){s.headers=new Headers(s.headers);for(let n of this.options.requestFilterables){let r=n.getHeaders();for(let[me,ge]of Object.entries(r))s.headers.set(me,ge)}return new et.Request(this.getURL(t),s)}async send(t,s){return await this.options.fetch(this.getRequest(t,s)).then(n=>{if(!n.ok){let r=n.status;switch(console.error(JSON.stringify(n)),r){case 400:throw W.badRequest();case 401:throw k.unauthenticated();case 403:throw Y.forbidden();case 404:throw c.notFound(t);case 405:throw c.forbiddenMethod(t,s.method??"GET")}}return n}).catch(n=>{throw(0,ae.default)(n)?new $("A network error occurred",{cause:n}):n})}};var Q=class e{static DEFAULT_BASE_URL=oe;_transport;constructor(t,{baseURL:s,...n}={}){this._transport=new X({requestFilterables:[new B,t],...n,baseURL:s?.toString()??e.getBaseURL()})}static getBaseURL(){return process.env[re]??this.DEFAULT_BASE_URL}get action(){return{list:new l(this._transport)}}get channel(){return{list:new u(this._transport)}}get contact(){return{get:new h(this._transport),list:new f(this._transport),update:new x(this._transport),create:new g(this._transport),vcf:{get:new m(this._transport)},note:{list:new G(this._transport),create:new N(this._transport)}}}get conversation(){return{get:new C(this._transport),list:new R(this._transport),update:new w(this._transport),message:{list:new E(this._transport)},note:{list:new z(this._transport),create:new M(this._transport)}}}get label(){return{create:new T(this._transport),get:new P(this._transport),list:new v(this._transport),update:new S(this._transport),delete:new _(this._transport),contact:{list:new y(this._transport)},conversation:{list:new A(this._transport)}}}get message(){return{list:new F(this._transport)}}get model(){return{get:new q(this._transport),list:new j(this._transport),response:{create:new H(this._transport)},correction:{create:new U(this._transport)}}}get note(){return{get:new D(this._transport),update:new J(this._transport)}}get source(){return{get:new V(this._transport),list:new K(this._transport)}}};var Gt=require("commander"),pe=require("ora");function zt({client:e,ora:t}){let s=new Gt.Command("actions").description("Actions");return s.addCommand(new Gt.Command("list").description("List actions").action(async()=>{let n=await(0,pe.oraPromise)(()=>e.action.list.send(),{...t,text:"Finding actions"});console.log(await n.result())})),s}var Jt=require("commander"),ce=require("ora");function Bt({client:e,ora:t}){let s=new Jt.Command("channels").description("Channels");return s.addCommand(new Jt.Command("list").description("List channels").action(async()=>{let n=await(0,ce.oraPromise)(()=>e.channel.list.send(),{...t,text:"Finding channels"});console.log(await n.result())})),s}var st=require("commander"),Vt=require("ora");function Kt({client:e,ora:t}){let s=new st.Command("contacts").description("Contacts");return s.addCommand(new st.Command("get").description("Find contact").argument("<contact>","Contact ID").action(async n=>{let r=await(0,Vt.oraPromise)(()=>e.contact.get.send({id:n}),{...t,text:"Finding contact"});console.log(await r.result())})),s.addCommand(new st.Command("list").description("List contacts").action(async()=>{let n=await(0,Vt.oraPromise)(()=>e.contact.list.send(),{...t,text:"Finding contacts"});console.log(await n.result())})),s}var nt=require("commander"),kt=require("ora");function Yt({client:e,ora:t}){let s=new nt.Command("conversations").description("Conversations");return s.addCommand(new nt.Command("get").description("Find conversation").argument("<conversation>","Conversation ID").action(async n=>{let r=await(0,kt.oraPromise)(()=>e.conversation.get.send({id:n}),{...t,text:"Finding conversation"});console.log(await r.result())})),s.addCommand(new nt.Command("list").description("List conversations").action(async()=>{let n=await(0,kt.oraPromise)(()=>e.conversation.list.send(),{...t,text:"Finding conversations"});console.log(await n.result())})),s}var Z=require("commander"),rt=require("ora");function $t({client:e,ora:t}){let s=new Z.Command("labels").description("Labels");return s.addCommand(new Z.Command("get").description("Find label").argument("<label>","Label ID").action(async n=>{let r=await(0,rt.oraPromise)(()=>e.label.get.send({id:n}),{...t,text:"Finding label"});console.log(await r.result())})),s.addCommand(new Z.Command("list").description("List labels").action(async()=>{let n=await(0,rt.oraPromise)(()=>e.label.list.send(),{...t,text:"Finding labels"});console.log(await n.result())})),s.addCommand(new Z.Command("conversations").description("Find label conversations").argument("<label>","Label ID").action(async n=>{let r=await(0,rt.oraPromise)(()=>e.label.conversation.list.send({id:n}),{...t,text:"Finding conversations"});console.log(await r.result())})),s}var Wt=require("commander"),de=require("ora");function Xt({client:e,ora:t}){let s=new Wt.Command("messages").description("Messages");return s.addCommand(new Wt.Command("list").description("List messages").action(async()=>{let n=await(0,de.oraPromise)(()=>e.message.list.send(),{...t,text:"Finding messages"});console.log(await n.result())})),s}var ot=require("commander"),Qt=require("ora");function Zt({client:e,ora:t}){let s=new ot.Command("models").description("Models");return s.addCommand(new ot.Command("get").description("Find model").argument("<model>","Model ID").action(async n=>{let r=await(0,Qt.oraPromise)(()=>e.model.get.send({id:n}),{...t,text:"Finding model"});console.log(await r.result())})),s.addCommand(new ot.Command("list").description("List models").action(async()=>{let n=await(0,Qt.oraPromise)(()=>e.model.list.send(),{...t,text:"Finding models"});console.log(await n.result())})),s}var it=require("commander"),te=require("ora");function ee({client:e,ora:t}){let s=new it.Command("sources").description("Sources");return s.addCommand(new it.Command("get").description("Find source").argument("<source>","Source ID").action(async n=>{let r=await(0,te.oraPromise)(()=>e.source.get.send({id:n}),{...t,text:"Finding source"});console.log(await r.result())})),s.addCommand(new it.Command("list").description("List sources").action(async()=>{let n=await(0,te.oraPromise)(()=>e.source.list.send(),{...t,text:"Finding sources"});console.log(await n.result())})),s}var i={ora:{spinner:"simpleDotsScrolling"},client:new Q(new d)},Re=new le.Command("gds").description("Great Detail Support System").addCommand(zt(i)).addCommand(Bt(i)).addCommand(Kt(i)).addCommand(Yt(i)).addCommand($t(i)).addCommand(Xt(i)).addCommand(Zt(i)).addCommand(ee(i)),ue=Re;ue.parseAsync(process.argv);
2
+ "use strict";var he=Object.create;var ee=Object.defineProperty;var fe=Object.getOwnPropertyDescriptor;var ye=Object.getOwnPropertyNames;var be=Object.getPrototypeOf,xe=Object.prototype.hasOwnProperty;var Ce=(e,t,s,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of ye(t))!xe.call(e,r)&&r!==s&&ee(e,r,{get:()=>t[r],enumerable:!(n=fe(t,r))||n.enumerable});return e};var se=(e,t,s)=>(s=e!=null?he(be(e)):{},Ce(t||!e||!e.__esModule?ee(s,"default",{value:e,enumerable:!0}):s,e));var le=require("commander");var d=class{async filter(){return{headers:this.getHeaders()}}getHeaders(){return{}}};var l=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/actions",{...t,method:"GET"}).then(s=>new it(s))}},it=class{constructor(t){this.response=t}async result(){return this.response.json()}};var u=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/channels",{...t,method:"GET"}).then(s=>new at(s))}},at=class{constructor(t){this.response=t}async result(){return this.response.json()}};var ne="SUPPORT_BASE_URL";var re="https://api.support.greatdetail.com",oe={"X-Powered-By":"GDSupport/JavaScript"};var m=class{constructor(t){this._transport=t}getRelativeURL({id:t,vcf:s={}}){let n=s.variant??"vcard",r=s.format??(s.variant==="vcard"?"vcf":"json");return"v1/contacts/"+encodeURIComponent(t)+"/vcf?variant="+encodeURIComponent(n)+"&format="+encodeURIComponent(r)}getURL(t){return this._transport.getURL(this.getRelativeURL(t))}};var p=require("zod"),g=class e{constructor(t){this._transport=t}static SCHEMA=p.z.object({name:p.z.string(),account:p.z.string(),emailAddress:p.z.string().email().optional(),telephoneNumber:p.z.string().optional()});async send({body:t,request:s={}}){return this._transport.send("v1/contacts",{...s,method:"POST",headers:{...s.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(t))}).then(n=>new pt(n))}},pt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var h=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...s,method:"GET"}).then(n=>new ct(n))}},ct=class{constructor(t){this.response=t}async result(){return this.response.json()}};var f=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/contacts",{...t,method:"GET"}).then(s=>new dt(s))}},dt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var y=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/contacts",{...s,method:"GET"}).then(n=>new lt(n))}},lt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var b=require("zod"),x=class e{constructor(t){this._transport=t}static SCHEMA=b.z.object({name:b.z.string().optional(),emailAddress:b.z.string().email().optional(),telephoneNumber:b.z.string().optional()});async send({id:t,body:s,request:n={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...n,method:"PATCH",headers:{...n.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(r=>new ut(r))}},ut=class{constructor(t){this.response=t}async result(){return this.response.json()}};var C=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...s,method:"GET"}).then(n=>new mt(n))}},mt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var R=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/conversations",{...t,method:"GET"}).then(s=>new gt(s))}},gt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var A=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/conversations",{...s,method:"GET"}).then(n=>new ht(n))}},ht=class{constructor(t){this.response=t}async result(){return this.response.json()}};var ft=require("zod"),w=class e{constructor(t){this._transport=t}static SCHEMA=ft.z.object({hasEnded:ft.z.boolean()});async send({id:t,body:s,request:n={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...n,method:"POST",headers:{...n.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(r=>new yt(r))}},yt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var O=require("zod"),T=class e{constructor(t){this._transport=t}static SCHEMA=O.z.object({title:O.z.string(),description:O.z.string().optional(),account:O.z.string()});async send({body:t,request:s={}}){return this._transport.send("v1/labels",{...s,method:"POST",headers:{...s.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(t))}).then(n=>new bt(n))}},bt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var _=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...s,method:"DELETE"}).then(n=>new xt(n))}},xt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var P=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...s,method:"GET"}).then(n=>new Ct(n))}},Ct=class{constructor(t){this.response=t}async result(){return this.response.json()}};var v=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/labels",{...t,method:"GET"}).then(s=>new Rt(s))}},Rt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var tt=require("zod"),S=class e{constructor(t){this._transport=t}static SCHEMA=tt.z.object({title:tt.z.string().optional(),description:tt.z.string().optional()});async send({id:t,body:s,request:n={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...n,method:"PATCH",headers:{...n.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(r=>new At(r))}},At=class{constructor(t){this.response=t}async result(){return this.response.json()}};var E=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/messages",{...s,method:"GET"}).then(n=>new wt(n))}},wt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var F=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/messages",{...t,method:"GET"}).then(s=>new Ot(s))}},Ot=class{constructor(t){this.response=t}async result(){return this.response.json()}};var I=require("zod"),U=class e{constructor(t){this._transport=t}static SCHEMA=I.z.object({input:I.z.string().max(65536),original:I.z.string().max(65536),correction:I.z.string().max(65536)});async send({id:t,body:s,request:n={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/correction",{...n,method:"POST",headers:{...n.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(r=>new Tt(r))}},Tt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var q=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/models/"+encodeURIComponent(t),{...s,method:"GET"}).then(n=>new _t(n))}},_t=class{constructor(t){this.response=t}async result(){return this.response.json()}};var j=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/models",{...t,method:"GET"}).then(s=>new Pt(s))}},Pt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var L=require("zod"),H=class e{constructor(t){this._transport=t}static SCHEMA=L.z.array(L.z.object({role:L.z.enum(["user","assistant"]),content:L.z.string().max(65536).nullable()})).min(1);async send({id:t,body:s,request:n={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/response",{...n,method:"POST",headers:{...n.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(r=>new vt(r))}},vt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var St=require("zod"),N=class e{constructor(t){this._transport=t}static SCHEMA=St.z.object({content:St.z.string()});async send({id:t,body:s,request:n={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...n,method:"POST",headers:{...n.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(r=>new Et(r))}},Et=class{constructor(t){this.response=t}async result(){return this.response.json()}};var Ft=require("zod"),M=class e{constructor(t){this._transport=t}static SCHEMA=Ft.z.object({content:Ft.z.string()});async send({id:t,body:s,request:n={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...n,method:"POST",headers:{...n.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(r=>new It(r))}},It=class{constructor(t){this.response=t}async result(){return this.response.json()}};var D=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...s,method:"GET"}).then(n=>new Ut(n))}},Ut=class{constructor(t){this.response=t}async result(){return this.response.json()}};var G=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...s,method:"GET"}).then(n=>new qt(n))}},qt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var z=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...s,method:"GET"}).then(n=>new jt(n))}},jt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var Lt=require("zod"),J=class e{constructor(t){this._transport=t}static SCHEMA=Lt.z.object({content:Lt.z.string().optional()});async send({id:t,body:s,request:n={}}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...n,method:"PATCH",headers:{...n.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(s))}).then(r=>new Ht(r))}},Ht=class{constructor(t){this.response=t}async result(){return this.response.json()}};var B=class e{constructor(t=e.STANDARD_HEADERS){this._standardHeaders=t}static STANDARD_HEADERS=oe;async filter(){return{headers:this.getHeaders()}}getHeaders(){return this._standardHeaders}};var V=class{constructor(t){this._transport=t}async send({id:t,request:s={}}){return this._transport.send("v1/sources/"+encodeURIComponent(t),{...s,method:"GET"}).then(n=>new Nt(n))}},Nt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var k=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/sources",{...t,method:"GET"}).then(s=>new Mt(s))}},Mt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var ie=se(require("is-network-error"),1),ae=se(require("ky"),1);var o=class extends Error{};var a=class extends o{};var K=class extends a{static unauthenticated(){return new this("An unauthenticated request occurred")}};var Y=class extends a{static forbidden(){return new this("A forbidden request occurred")}};var c=class extends o{static notFound(t){return new this(`Record not found for request: ${t}`)}static forbiddenMethod(t,s){return new this(`Forbidden method for request: ${t} ${s}`)}};var $=class extends o{};var W=class extends o{static badRequest(){return new this("Bad request")}};var X=class{options;constructor({baseURL:t,...s}){this.options={...s,baseURL:t}}getURL(t){return new URL(t,this.options.baseURL).toString()}getRequest(t,s){s.headers=new Headers(s.headers);for(let n of this.options.requestFilterables){let r=n.getHeaders();for(let[me,ge]of Object.entries(r))s.headers.set(me,ge)}return new Request(this.getURL(t),s)}async send(t,s){return await(0,ae.default)(this.getRequest(t,s)).then(n=>{if(!n.ok){let r=n.status;switch(console.error(JSON.stringify(n)),r){case 400:throw W.badRequest();case 401:throw K.unauthenticated();case 403:throw Y.forbidden();case 404:throw c.notFound(t);case 405:throw c.forbiddenMethod(t,s.method??"GET")}}return n}).catch(n=>{throw(0,ie.default)(n)?new $("A network error occurred",{cause:n}):n})}};var Q=class e{static DEFAULT_BASE_URL=re;_transport;constructor(t,{baseURL:s,...n}={}){this._transport=new X({requestFilterables:[new B,t],...n,baseURL:s?.toString()??e.getBaseURL()})}static getBaseURL(){return process.env[ne]??this.DEFAULT_BASE_URL}get action(){return{list:new l(this._transport)}}get channel(){return{list:new u(this._transport)}}get contact(){return{get:new h(this._transport),list:new f(this._transport),update:new x(this._transport),create:new g(this._transport),vcf:{get:new m(this._transport)},note:{list:new G(this._transport),create:new N(this._transport)}}}get conversation(){return{get:new C(this._transport),list:new R(this._transport),update:new w(this._transport),message:{list:new E(this._transport)},note:{list:new z(this._transport),create:new M(this._transport)}}}get label(){return{create:new T(this._transport),get:new P(this._transport),list:new v(this._transport),update:new S(this._transport),delete:new _(this._transport),contact:{list:new y(this._transport)},conversation:{list:new A(this._transport)}}}get message(){return{list:new F(this._transport)}}get model(){return{get:new q(this._transport),list:new j(this._transport),response:{create:new H(this._transport)},correction:{create:new U(this._transport)}}}get note(){return{get:new D(this._transport),update:new J(this._transport)}}get source(){return{get:new V(this._transport),list:new k(this._transport)}}};var Dt=require("commander"),pe=require("ora");function Gt({client:e,ora:t}){let s=new Dt.Command("actions").description("Actions");return s.addCommand(new Dt.Command("list").description("List actions").action(async()=>{let n=await(0,pe.oraPromise)(()=>e.action.list.send(),{...t,text:"Finding actions"});console.log(await n.result())})),s}var zt=require("commander"),ce=require("ora");function Jt({client:e,ora:t}){let s=new zt.Command("channels").description("Channels");return s.addCommand(new zt.Command("list").description("List channels").action(async()=>{let n=await(0,ce.oraPromise)(()=>e.channel.list.send(),{...t,text:"Finding channels"});console.log(await n.result())})),s}var et=require("commander"),Bt=require("ora");function Vt({client:e,ora:t}){let s=new et.Command("contacts").description("Contacts");return s.addCommand(new et.Command("get").description("Find contact").argument("<contact>","Contact ID").action(async n=>{let r=await(0,Bt.oraPromise)(()=>e.contact.get.send({id:n}),{...t,text:"Finding contact"});console.log(await r.result())})),s.addCommand(new et.Command("list").description("List contacts").action(async()=>{let n=await(0,Bt.oraPromise)(()=>e.contact.list.send(),{...t,text:"Finding contacts"});console.log(await n.result())})),s}var st=require("commander"),kt=require("ora");function Kt({client:e,ora:t}){let s=new st.Command("conversations").description("Conversations");return s.addCommand(new st.Command("get").description("Find conversation").argument("<conversation>","Conversation ID").action(async n=>{let r=await(0,kt.oraPromise)(()=>e.conversation.get.send({id:n}),{...t,text:"Finding conversation"});console.log(await r.result())})),s.addCommand(new st.Command("list").description("List conversations").action(async()=>{let n=await(0,kt.oraPromise)(()=>e.conversation.list.send(),{...t,text:"Finding conversations"});console.log(await n.result())})),s}var Z=require("commander"),nt=require("ora");function Yt({client:e,ora:t}){let s=new Z.Command("labels").description("Labels");return s.addCommand(new Z.Command("get").description("Find label").argument("<label>","Label ID").action(async n=>{let r=await(0,nt.oraPromise)(()=>e.label.get.send({id:n}),{...t,text:"Finding label"});console.log(await r.result())})),s.addCommand(new Z.Command("list").description("List labels").action(async()=>{let n=await(0,nt.oraPromise)(()=>e.label.list.send(),{...t,text:"Finding labels"});console.log(await n.result())})),s.addCommand(new Z.Command("conversations").description("Find label conversations").argument("<label>","Label ID").action(async n=>{let r=await(0,nt.oraPromise)(()=>e.label.conversation.list.send({id:n}),{...t,text:"Finding conversations"});console.log(await r.result())})),s}var $t=require("commander"),de=require("ora");function Wt({client:e,ora:t}){let s=new $t.Command("messages").description("Messages");return s.addCommand(new $t.Command("list").description("List messages").action(async()=>{let n=await(0,de.oraPromise)(()=>e.message.list.send(),{...t,text:"Finding messages"});console.log(await n.result())})),s}var rt=require("commander"),Xt=require("ora");function Qt({client:e,ora:t}){let s=new rt.Command("models").description("Models");return s.addCommand(new rt.Command("get").description("Find model").argument("<model>","Model ID").action(async n=>{let r=await(0,Xt.oraPromise)(()=>e.model.get.send({id:n}),{...t,text:"Finding model"});console.log(await r.result())})),s.addCommand(new rt.Command("list").description("List models").action(async()=>{let n=await(0,Xt.oraPromise)(()=>e.model.list.send(),{...t,text:"Finding models"});console.log(await n.result())})),s}var ot=require("commander"),Zt=require("ora");function te({client:e,ora:t}){let s=new ot.Command("sources").description("Sources");return s.addCommand(new ot.Command("get").description("Find source").argument("<source>","Source ID").action(async n=>{let r=await(0,Zt.oraPromise)(()=>e.source.get.send({id:n}),{...t,text:"Finding source"});console.log(await r.result())})),s.addCommand(new ot.Command("list").description("List sources").action(async()=>{let n=await(0,Zt.oraPromise)(()=>e.source.list.send(),{...t,text:"Finding sources"});console.log(await n.result())})),s}var i={ora:{spinner:"simpleDotsScrolling"},client:new Q(new d)},Re=new le.Command("gds").description("Great Detail Support System").addCommand(Gt(i)).addCommand(Jt(i)).addCommand(Vt(i)).addCommand(Kt(i)).addCommand(Yt(i)).addCommand(Wt(i)).addCommand(Qt(i)).addCommand(te(i)),ue=Re;ue.parseAsync(process.argv);
package/dist/cli.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import{a as r}from"./chunk-6P6PJOYL.js";import"./chunk-WWLNDX6W.js";r.parseAsync(process.argv);
2
+ import{a as r}from"./chunk-IQESWTED.js";import"./chunk-UWNMFEJS.js";r.parseAsync(process.argv);
@@ -1,4 +1,4 @@
1
- import fetch from 'cross-fetch';
1
+ import * as ky from 'ky';
2
2
  import { z } from 'zod';
3
3
 
4
4
  /**
@@ -35,36 +35,18 @@ interface Transport {
35
35
  getURL(url: string): string;
36
36
  }
37
37
 
38
- /**
39
- * Great Detail Support System.
40
- *
41
- * @copyright 2024 Great Detail Ltd
42
- * @author Great Detail Ltd <info@greatdetail.com>
43
- * @author Dom Webber <dom.webber@greatdetail.com>
44
- * @see https://greatdetail.com
45
- */
46
-
47
38
  interface InputOptions extends Options$x {
48
39
  baseURL: string;
49
- /**
50
- * Alternative Fetch Provider.
51
- * Used to override the default fetch provider and use polyfills or other
52
- * libraries.
53
- *
54
- * @since 1.0.0
55
- */
56
- fetch?: typeof fetch;
57
40
  }
58
41
  interface Options$w extends Options$x {
59
42
  baseURL: string;
60
- fetch: typeof fetch;
61
43
  }
62
44
  declare class FetchTransport implements Transport {
63
45
  options: Options$w;
64
- constructor({ baseURL, fetch: fetchAlternative, ...options }: InputOptions);
46
+ constructor({ baseURL, ...options }: InputOptions);
65
47
  getURL(url: string): string;
66
48
  getRequest(url: string, request: RequestInit): Request;
67
- send(url: string, request: RequestInit): Promise<Response>;
49
+ send(url: string, request: RequestInit): Promise<ky.KyResponse<unknown>>;
68
50
  }
69
51
 
70
52
  /**
@@ -1,4 +1,4 @@
1
- import fetch from 'cross-fetch';
1
+ import * as ky from 'ky';
2
2
  import { z } from 'zod';
3
3
 
4
4
  /**
@@ -35,36 +35,18 @@ interface Transport {
35
35
  getURL(url: string): string;
36
36
  }
37
37
 
38
- /**
39
- * Great Detail Support System.
40
- *
41
- * @copyright 2024 Great Detail Ltd
42
- * @author Great Detail Ltd <info@greatdetail.com>
43
- * @author Dom Webber <dom.webber@greatdetail.com>
44
- * @see https://greatdetail.com
45
- */
46
-
47
38
  interface InputOptions extends Options$x {
48
39
  baseURL: string;
49
- /**
50
- * Alternative Fetch Provider.
51
- * Used to override the default fetch provider and use polyfills or other
52
- * libraries.
53
- *
54
- * @since 1.0.0
55
- */
56
- fetch?: typeof fetch;
57
40
  }
58
41
  interface Options$w extends Options$x {
59
42
  baseURL: string;
60
- fetch: typeof fetch;
61
43
  }
62
44
  declare class FetchTransport implements Transport {
63
45
  options: Options$w;
64
- constructor({ baseURL, fetch: fetchAlternative, ...options }: InputOptions);
46
+ constructor({ baseURL, ...options }: InputOptions);
65
47
  getURL(url: string): string;
66
48
  getRequest(url: string, request: RequestInit): Request;
67
- send(url: string, request: RequestInit): Promise<Response>;
49
+ send(url: string, request: RequestInit): Promise<ky.KyResponse<unknown>>;
68
50
  }
69
51
 
70
52
  /**
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var Xt=Object.create;var tt=Object.defineProperty;var Qt=Object.getOwnPropertyDescriptor;var Zt=Object.getOwnPropertyNames;var te=Object.getPrototypeOf,ee=Object.prototype.hasOwnProperty;var Mt=(e,t)=>{for(var r in t)tt(e,r,{get:t[r],enumerable:!0})},Gt=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Zt(t))!ee.call(e,o)&&o!==r&&tt(e,o,{get:()=>t[o],enumerable:!(s=Qt(t,o))||s.enumerable});return e};var Dt=(e,t,r)=>(r=e!=null?Xt(te(e)):{},Gt(t||!e||!e.__esModule?tt(r,"default",{value:e,enumerable:!0}):r,e)),re=e=>Gt(tt({},"__esModule",{value:!0}),e);var se={};Mt(se,{Client:()=>m,DEFAULT_SUPPORT_BASE_URL:()=>et,Error:()=>Ht,KeyAuthentication:()=>X,PublicAuthentication:()=>Z,TokenAuthentication:()=>Q,default:()=>m});module.exports=re(se);var et="https://api.support.greatdetail.com",zt={"X-Powered-By":"GDSupport/JavaScript"},Vt="api-key";var h=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/actions",{...t,method:"GET"}).then(r=>new ot(r))}},ot=class{constructor(t){this.response=t}async result(){return this.response.json()}};var g=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/channels",{...t,method:"GET"}).then(r=>new nt(r))}},nt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var Bt="SUPPORT_ACCESS_TOKEN",Jt="SUPPORT_API_KEY",Kt="SUPPORT_KEY_NAME",kt="SUPPORT_BASE_URL";var f=class{constructor(t){this._transport=t}getRelativeURL({id:t,vcf:r={}}){let s=r.variant??"vcard",o=r.format??(r.variant==="vcard"?"vcf":"json");return"v1/contacts/"+encodeURIComponent(t)+"/vcf?variant="+encodeURIComponent(s)+"&format="+encodeURIComponent(o)}getURL(t){return this._transport.getURL(this.getRelativeURL(t))}};var l=require("zod"),y=class e{constructor(t){this._transport=t}static SCHEMA=l.z.object({name:l.z.string(),account:l.z.string(),emailAddress:l.z.string().email().optional(),telephoneNumber:l.z.string().optional()});async send({body:t,request:r={}}){return this._transport.send("v1/contacts",{...r,method:"POST",headers:{...r.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(t))}).then(s=>new it(s))}},it=class{constructor(t){this.response=t}async result(){return this.response.json()}};var b=class{constructor(t){this._transport=t}async send({id:t,request:r={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...r,method:"GET"}).then(s=>new at(s))}},at=class{constructor(t){this.response=t}async result(){return this.response.json()}};var R=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/contacts",{...t,method:"GET"}).then(r=>new pt(r))}},pt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var x=class{constructor(t){this._transport=t}async send({id:t,request:r={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/contacts",{...r,method:"GET"}).then(s=>new ct(s))}},ct=class{constructor(t){this.response=t}async result(){return this.response.json()}};var A=require("zod"),C=class e{constructor(t){this._transport=t}static SCHEMA=A.z.object({name:A.z.string().optional(),emailAddress:A.z.string().email().optional(),telephoneNumber:A.z.string().optional()});async send({id:t,body:r,request:s={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...s,method:"PATCH",headers:{...s.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(r))}).then(o=>new dt(o))}},dt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var P=class{constructor(t){this._transport=t}async send({id:t,request:r={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...r,method:"GET"}).then(s=>new ut(s))}},ut=class{constructor(t){this.response=t}async result(){return this.response.json()}};var T=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/conversations",{...t,method:"GET"}).then(r=>new lt(r))}},lt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var _=class{constructor(t){this._transport=t}async send({id:t,request:r={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/conversations",{...r,method:"GET"}).then(s=>new mt(s))}},mt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var ht=require("zod"),E=class e{constructor(t){this._transport=t}static SCHEMA=ht.z.object({hasEnded:ht.z.boolean()});async send({id:t,body:r,request:s={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...s,method:"POST",headers:{...s.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(r))}).then(o=>new gt(o))}},gt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var S=require("zod"),v=class e{constructor(t){this._transport=t}static SCHEMA=S.z.object({title:S.z.string(),description:S.z.string().optional(),account:S.z.string()});async send({body:t,request:r={}}){return this._transport.send("v1/labels",{...r,method:"POST",headers:{...r.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(t))}).then(s=>new ft(s))}},ft=class{constructor(t){this.response=t}async result(){return this.response.json()}};var O=class{constructor(t){this._transport=t}async send({id:t,request:r={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...r,method:"DELETE"}).then(s=>new yt(s))}},yt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var w=class{constructor(t){this._transport=t}async send({id:t,request:r={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...r,method:"GET"}).then(s=>new bt(s))}},bt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var F=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/labels",{...t,method:"GET"}).then(r=>new Rt(r))}},Rt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var rt=require("zod"),U=class e{constructor(t){this._transport=t}static SCHEMA=rt.z.object({title:rt.z.string().optional(),description:rt.z.string().optional()});async send({id:t,body:r,request:s={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...s,method:"PATCH",headers:{...s.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(r))}).then(o=>new xt(o))}},xt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var L=class{constructor(t){this._transport=t}async send({id:t,request:r={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/messages",{...r,method:"GET"}).then(s=>new At(s))}},At=class{constructor(t){this.response=t}async result(){return this.response.json()}};var I=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/messages",{...t,method:"GET"}).then(r=>new Ct(r))}},Ct=class{constructor(t){this.response=t}async result(){return this.response.json()}};var q=require("zod"),N=class e{constructor(t){this._transport=t}static SCHEMA=q.z.object({input:q.z.string().max(65536),original:q.z.string().max(65536),correction:q.z.string().max(65536)});async send({id:t,body:r,request:s={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/correction",{...s,method:"POST",headers:{...s.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(r))}).then(o=>new Pt(o))}},Pt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var j=class{constructor(t){this._transport=t}async send({id:t,request:r={}}){return this._transport.send("v1/models/"+encodeURIComponent(t),{...r,method:"GET"}).then(s=>new Tt(s))}},Tt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var H=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/models",{...t,method:"GET"}).then(r=>new _t(r))}},_t=class{constructor(t){this.response=t}async result(){return this.response.json()}};var M=require("zod"),G=class e{constructor(t){this._transport=t}static SCHEMA=M.z.array(M.z.object({role:M.z.enum(["user","assistant"]),content:M.z.string().max(65536).nullable()})).min(1);async send({id:t,body:r,request:s={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/response",{...s,method:"POST",headers:{...s.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(r))}).then(o=>new Et(o))}},Et=class{constructor(t){this.response=t}async result(){return this.response.json()}};var St=require("zod"),D=class e{constructor(t){this._transport=t}static SCHEMA=St.z.object({content:St.z.string()});async send({id:t,body:r,request:s={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...s,method:"POST",headers:{...s.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(r))}).then(o=>new vt(o))}},vt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var Ot=require("zod"),z=class e{constructor(t){this._transport=t}static SCHEMA=Ot.z.object({content:Ot.z.string()});async send({id:t,body:r,request:s={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...s,method:"POST",headers:{...s.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(r))}).then(o=>new wt(o))}},wt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var V=class{constructor(t){this._transport=t}async send({id:t,request:r={}}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...r,method:"GET"}).then(s=>new Ft(s))}},Ft=class{constructor(t){this.response=t}async result(){return this.response.json()}};var B=class{constructor(t){this._transport=t}async send({id:t,request:r={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...r,method:"GET"}).then(s=>new Ut(s))}},Ut=class{constructor(t){this.response=t}async result(){return this.response.json()}};var J=class{constructor(t){this._transport=t}async send({id:t,request:r={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...r,method:"GET"}).then(s=>new Lt(s))}},Lt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var It=require("zod"),K=class e{constructor(t){this._transport=t}static SCHEMA=It.z.object({content:It.z.string().optional()});async send({id:t,body:r,request:s={}}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...s,method:"PATCH",headers:{...s.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(r))}).then(o=>new qt(o))}},qt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var k=class e{constructor(t=e.STANDARD_HEADERS){this._standardHeaders=t}static STANDARD_HEADERS=zt;async filter(){return{headers:this.getHeaders()}}getHeaders(){return this._standardHeaders}};var Y=class{constructor(t){this._transport=t}async send({id:t,request:r={}}){return this._transport.send("v1/sources/"+encodeURIComponent(t),{...r,method:"GET"}).then(s=>new Nt(s))}},Nt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var $=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/sources",{...t,method:"GET"}).then(r=>new jt(r))}},jt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var st=Dt(require("cross-fetch"),1),Yt=Dt(require("is-network-error"),1);var n=class extends Error{};var i=class extends n{};var p=class extends i{static unauthenticated(){return new this("An unauthenticated request occurred")}};var c=class extends i{static forbidden(){return new this("A forbidden request occurred")}};var a=class extends n{static notFound(t){return new this(`Record not found for request: ${t}`)}static forbiddenMethod(t,r){return new this(`Forbidden method for request: ${t} ${r}`)}};var d=class extends n{};var u=class extends n{static badRequest(){return new this("Bad request")}};var W=class{options;constructor({baseURL:t,fetch:r=st.default,...s}){this.options={...s,fetch:r,baseURL:t}}getURL(t){return new URL(t,this.options.baseURL).toString()}getRequest(t,r){r.headers=new Headers(r.headers);for(let s of this.options.requestFilterables){let o=s.getHeaders();for(let[$t,Wt]of Object.entries(o))r.headers.set($t,Wt)}return new st.Request(this.getURL(t),r)}async send(t,r){return await this.options.fetch(this.getRequest(t,r)).then(s=>{if(!s.ok){let o=s.status;switch(console.error(JSON.stringify(s)),o){case 400:throw u.badRequest();case 401:throw p.unauthenticated();case 403:throw c.forbidden();case 404:throw a.notFound(t);case 405:throw a.forbiddenMethod(t,r.method??"GET")}}return s}).catch(s=>{throw(0,Yt.default)(s)?new d("A network error occurred",{cause:s}):s})}};var m=class e{static DEFAULT_BASE_URL=et;_transport;constructor(t,{baseURL:r,...s}={}){this._transport=new W({requestFilterables:[new k,t],...s,baseURL:r?.toString()??e.getBaseURL()})}static getBaseURL(){return process.env[kt]??this.DEFAULT_BASE_URL}get action(){return{list:new h(this._transport)}}get channel(){return{list:new g(this._transport)}}get contact(){return{get:new b(this._transport),list:new R(this._transport),update:new C(this._transport),create:new y(this._transport),vcf:{get:new f(this._transport)},note:{list:new B(this._transport),create:new D(this._transport)}}}get conversation(){return{get:new P(this._transport),list:new T(this._transport),update:new E(this._transport),message:{list:new L(this._transport)},note:{list:new J(this._transport),create:new z(this._transport)}}}get label(){return{create:new v(this._transport),get:new w(this._transport),list:new F(this._transport),update:new U(this._transport),delete:new O(this._transport),contact:{list:new x(this._transport)},conversation:{list:new _(this._transport)}}}get message(){return{list:new I(this._transport)}}get model(){return{get:new j(this._transport),list:new H(this._transport),response:{create:new G(this._transport)},correction:{create:new N(this._transport)}}}get note(){return{get:new V(this._transport),update:new K(this._transport)}}get source(){return{get:new Y(this._transport),list:new $(this._transport)}}};var Ht={};Mt(Ht,{AuthError:()=>i,AuthenticationError:()=>p,AuthorizationError:()=>c,LogicError:()=>a,NetworkError:()=>d,SupportError:()=>n,ValidationError:()=>u});var X=class e{static DEFAULT_NAME=Vt;name;#t;constructor({name:t=process.env[Kt]??e.DEFAULT_NAME,key:r=process.env[Jt]}={}){if(!r)throw new Error("API Key option must be specified when using Key Authentication");this.name=t,this.#t=r}async filter(){return{headers:this.getHeaders()}}getHeaders(){return{Authorization:`Basic ${btoa(this.name+":"+this.#t)}`}}};var Q=class{#t;constructor({token:t=process.env[Bt]}={}){if(!t)throw new Error("Access Token option must be specified when using Token Authentication");this.#t=t}async filter(){return{headers:this.getHeaders()}}getHeaders(){return{Authorization:`Bearer ${this.#t}`}}};var Z=class{async filter(){return{headers:this.getHeaders()}}getHeaders(){return{}}};0&&(module.exports={Client,DEFAULT_SUPPORT_BASE_URL,Error,KeyAuthentication,PublicAuthentication,TokenAuthentication});
1
+ "use strict";var Xt=Object.create;var tt=Object.defineProperty;var Qt=Object.getOwnPropertyDescriptor;var Zt=Object.getOwnPropertyNames;var te=Object.getPrototypeOf,ee=Object.prototype.hasOwnProperty;var Ht=(e,t)=>{for(var r in t)tt(e,r,{get:t[r],enumerable:!0})},Mt=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Zt(t))!ee.call(e,o)&&o!==r&&tt(e,o,{get:()=>t[o],enumerable:!(s=Qt(t,o))||s.enumerable});return e};var Gt=(e,t,r)=>(r=e!=null?Xt(te(e)):{},Mt(t||!e||!e.__esModule?tt(r,"default",{value:e,enumerable:!0}):r,e)),re=e=>Mt(tt({},"__esModule",{value:!0}),e);var se={};Ht(se,{Client:()=>m,DEFAULT_SUPPORT_BASE_URL:()=>et,Error:()=>jt,KeyAuthentication:()=>X,PublicAuthentication:()=>Z,TokenAuthentication:()=>Q,default:()=>m});module.exports=re(se);var et="https://api.support.greatdetail.com",Dt={"X-Powered-By":"GDSupport/JavaScript"},zt="api-key";var h=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/actions",{...t,method:"GET"}).then(r=>new st(r))}},st=class{constructor(t){this.response=t}async result(){return this.response.json()}};var g=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/channels",{...t,method:"GET"}).then(r=>new ot(r))}},ot=class{constructor(t){this.response=t}async result(){return this.response.json()}};var Vt="SUPPORT_ACCESS_TOKEN",Bt="SUPPORT_API_KEY",kt="SUPPORT_KEY_NAME",Jt="SUPPORT_BASE_URL";var f=class{constructor(t){this._transport=t}getRelativeURL({id:t,vcf:r={}}){let s=r.variant??"vcard",o=r.format??(r.variant==="vcard"?"vcf":"json");return"v1/contacts/"+encodeURIComponent(t)+"/vcf?variant="+encodeURIComponent(s)+"&format="+encodeURIComponent(o)}getURL(t){return this._transport.getURL(this.getRelativeURL(t))}};var l=require("zod"),y=class e{constructor(t){this._transport=t}static SCHEMA=l.z.object({name:l.z.string(),account:l.z.string(),emailAddress:l.z.string().email().optional(),telephoneNumber:l.z.string().optional()});async send({body:t,request:r={}}){return this._transport.send("v1/contacts",{...r,method:"POST",headers:{...r.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(t))}).then(s=>new nt(s))}},nt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var b=class{constructor(t){this._transport=t}async send({id:t,request:r={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...r,method:"GET"}).then(s=>new it(s))}},it=class{constructor(t){this.response=t}async result(){return this.response.json()}};var R=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/contacts",{...t,method:"GET"}).then(r=>new at(r))}},at=class{constructor(t){this.response=t}async result(){return this.response.json()}};var x=class{constructor(t){this._transport=t}async send({id:t,request:r={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/contacts",{...r,method:"GET"}).then(s=>new pt(s))}},pt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var A=require("zod"),C=class e{constructor(t){this._transport=t}static SCHEMA=A.z.object({name:A.z.string().optional(),emailAddress:A.z.string().email().optional(),telephoneNumber:A.z.string().optional()});async send({id:t,body:r,request:s={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...s,method:"PATCH",headers:{...s.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(r))}).then(o=>new ct(o))}},ct=class{constructor(t){this.response=t}async result(){return this.response.json()}};var P=class{constructor(t){this._transport=t}async send({id:t,request:r={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...r,method:"GET"}).then(s=>new dt(s))}},dt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var T=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/conversations",{...t,method:"GET"}).then(r=>new ut(r))}},ut=class{constructor(t){this.response=t}async result(){return this.response.json()}};var _=class{constructor(t){this._transport=t}async send({id:t,request:r={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/conversations",{...r,method:"GET"}).then(s=>new lt(s))}},lt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var mt=require("zod"),E=class e{constructor(t){this._transport=t}static SCHEMA=mt.z.object({hasEnded:mt.z.boolean()});async send({id:t,body:r,request:s={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...s,method:"POST",headers:{...s.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(r))}).then(o=>new ht(o))}},ht=class{constructor(t){this.response=t}async result(){return this.response.json()}};var S=require("zod"),v=class e{constructor(t){this._transport=t}static SCHEMA=S.z.object({title:S.z.string(),description:S.z.string().optional(),account:S.z.string()});async send({body:t,request:r={}}){return this._transport.send("v1/labels",{...r,method:"POST",headers:{...r.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(t))}).then(s=>new gt(s))}},gt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var O=class{constructor(t){this._transport=t}async send({id:t,request:r={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...r,method:"DELETE"}).then(s=>new ft(s))}},ft=class{constructor(t){this.response=t}async result(){return this.response.json()}};var w=class{constructor(t){this._transport=t}async send({id:t,request:r={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...r,method:"GET"}).then(s=>new yt(s))}},yt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var F=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/labels",{...t,method:"GET"}).then(r=>new bt(r))}},bt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var rt=require("zod"),U=class e{constructor(t){this._transport=t}static SCHEMA=rt.z.object({title:rt.z.string().optional(),description:rt.z.string().optional()});async send({id:t,body:r,request:s={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...s,method:"PATCH",headers:{...s.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(r))}).then(o=>new Rt(o))}},Rt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var L=class{constructor(t){this._transport=t}async send({id:t,request:r={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/messages",{...r,method:"GET"}).then(s=>new xt(s))}},xt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var I=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/messages",{...t,method:"GET"}).then(r=>new At(r))}},At=class{constructor(t){this.response=t}async result(){return this.response.json()}};var q=require("zod"),N=class e{constructor(t){this._transport=t}static SCHEMA=q.z.object({input:q.z.string().max(65536),original:q.z.string().max(65536),correction:q.z.string().max(65536)});async send({id:t,body:r,request:s={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/correction",{...s,method:"POST",headers:{...s.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(r))}).then(o=>new Ct(o))}},Ct=class{constructor(t){this.response=t}async result(){return this.response.json()}};var j=class{constructor(t){this._transport=t}async send({id:t,request:r={}}){return this._transport.send("v1/models/"+encodeURIComponent(t),{...r,method:"GET"}).then(s=>new Pt(s))}},Pt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var H=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/models",{...t,method:"GET"}).then(r=>new Tt(r))}},Tt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var M=require("zod"),G=class e{constructor(t){this._transport=t}static SCHEMA=M.z.array(M.z.object({role:M.z.enum(["user","assistant"]),content:M.z.string().max(65536).nullable()})).min(1);async send({id:t,body:r,request:s={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/response",{...s,method:"POST",headers:{...s.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(r))}).then(o=>new _t(o))}},_t=class{constructor(t){this.response=t}async result(){return this.response.json()}};var Et=require("zod"),D=class e{constructor(t){this._transport=t}static SCHEMA=Et.z.object({content:Et.z.string()});async send({id:t,body:r,request:s={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...s,method:"POST",headers:{...s.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(r))}).then(o=>new St(o))}},St=class{constructor(t){this.response=t}async result(){return this.response.json()}};var vt=require("zod"),z=class e{constructor(t){this._transport=t}static SCHEMA=vt.z.object({content:vt.z.string()});async send({id:t,body:r,request:s={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...s,method:"POST",headers:{...s.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(r))}).then(o=>new Ot(o))}},Ot=class{constructor(t){this.response=t}async result(){return this.response.json()}};var V=class{constructor(t){this._transport=t}async send({id:t,request:r={}}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...r,method:"GET"}).then(s=>new wt(s))}},wt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var B=class{constructor(t){this._transport=t}async send({id:t,request:r={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...r,method:"GET"}).then(s=>new Ft(s))}},Ft=class{constructor(t){this.response=t}async result(){return this.response.json()}};var k=class{constructor(t){this._transport=t}async send({id:t,request:r={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...r,method:"GET"}).then(s=>new Ut(s))}},Ut=class{constructor(t){this.response=t}async result(){return this.response.json()}};var Lt=require("zod"),J=class e{constructor(t){this._transport=t}static SCHEMA=Lt.z.object({content:Lt.z.string().optional()});async send({id:t,body:r,request:s={}}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...s,method:"PATCH",headers:{...s.headers,"Content-Type":"application/json"},body:JSON.stringify(e.SCHEMA.parse(r))}).then(o=>new It(o))}},It=class{constructor(t){this.response=t}async result(){return this.response.json()}};var K=class e{constructor(t=e.STANDARD_HEADERS){this._standardHeaders=t}static STANDARD_HEADERS=Dt;async filter(){return{headers:this.getHeaders()}}getHeaders(){return this._standardHeaders}};var Y=class{constructor(t){this._transport=t}async send({id:t,request:r={}}){return this._transport.send("v1/sources/"+encodeURIComponent(t),{...r,method:"GET"}).then(s=>new qt(s))}},qt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var $=class{constructor(t){this._transport=t}async send({request:t={}}={}){return this._transport.send("v1/sources",{...t,method:"GET"}).then(r=>new Nt(r))}},Nt=class{constructor(t){this.response=t}async result(){return this.response.json()}};var Kt=Gt(require("is-network-error"),1),Yt=Gt(require("ky"),1);var n=class extends Error{};var i=class extends n{};var p=class extends i{static unauthenticated(){return new this("An unauthenticated request occurred")}};var c=class extends i{static forbidden(){return new this("A forbidden request occurred")}};var a=class extends n{static notFound(t){return new this(`Record not found for request: ${t}`)}static forbiddenMethod(t,r){return new this(`Forbidden method for request: ${t} ${r}`)}};var d=class extends n{};var u=class extends n{static badRequest(){return new this("Bad request")}};var W=class{options;constructor({baseURL:t,...r}){this.options={...r,baseURL:t}}getURL(t){return new URL(t,this.options.baseURL).toString()}getRequest(t,r){r.headers=new Headers(r.headers);for(let s of this.options.requestFilterables){let o=s.getHeaders();for(let[$t,Wt]of Object.entries(o))r.headers.set($t,Wt)}return new Request(this.getURL(t),r)}async send(t,r){return await(0,Yt.default)(this.getRequest(t,r)).then(s=>{if(!s.ok){let o=s.status;switch(console.error(JSON.stringify(s)),o){case 400:throw u.badRequest();case 401:throw p.unauthenticated();case 403:throw c.forbidden();case 404:throw a.notFound(t);case 405:throw a.forbiddenMethod(t,r.method??"GET")}}return s}).catch(s=>{throw(0,Kt.default)(s)?new d("A network error occurred",{cause:s}):s})}};var m=class e{static DEFAULT_BASE_URL=et;_transport;constructor(t,{baseURL:r,...s}={}){this._transport=new W({requestFilterables:[new K,t],...s,baseURL:r?.toString()??e.getBaseURL()})}static getBaseURL(){return process.env[Jt]??this.DEFAULT_BASE_URL}get action(){return{list:new h(this._transport)}}get channel(){return{list:new g(this._transport)}}get contact(){return{get:new b(this._transport),list:new R(this._transport),update:new C(this._transport),create:new y(this._transport),vcf:{get:new f(this._transport)},note:{list:new B(this._transport),create:new D(this._transport)}}}get conversation(){return{get:new P(this._transport),list:new T(this._transport),update:new E(this._transport),message:{list:new L(this._transport)},note:{list:new k(this._transport),create:new z(this._transport)}}}get label(){return{create:new v(this._transport),get:new w(this._transport),list:new F(this._transport),update:new U(this._transport),delete:new O(this._transport),contact:{list:new x(this._transport)},conversation:{list:new _(this._transport)}}}get message(){return{list:new I(this._transport)}}get model(){return{get:new j(this._transport),list:new H(this._transport),response:{create:new G(this._transport)},correction:{create:new N(this._transport)}}}get note(){return{get:new V(this._transport),update:new J(this._transport)}}get source(){return{get:new Y(this._transport),list:new $(this._transport)}}};var jt={};Ht(jt,{AuthError:()=>i,AuthenticationError:()=>p,AuthorizationError:()=>c,LogicError:()=>a,NetworkError:()=>d,SupportError:()=>n,ValidationError:()=>u});var X=class e{static DEFAULT_NAME=zt;name;#t;constructor({name:t=process.env[kt]??e.DEFAULT_NAME,key:r=process.env[Bt]}={}){if(!r)throw new Error("API Key option must be specified when using Key Authentication");this.name=t,this.#t=r}async filter(){return{headers:this.getHeaders()}}getHeaders(){return{Authorization:`Basic ${btoa(this.name+":"+this.#t)}`}}};var Q=class{#t;constructor({token:t=process.env[Vt]}={}){if(!t)throw new Error("Access Token option must be specified when using Token Authentication");this.#t=t}async filter(){return{headers:this.getHeaders()}}getHeaders(){return{Authorization:`Bearer ${this.#t}`}}};var Z=class{async filter(){return{headers:this.getHeaders()}}getHeaders(){return{}}};0&&(module.exports={Client,DEFAULT_SUPPORT_BASE_URL,Error,KeyAuthentication,PublicAuthentication,TokenAuthentication});
package/dist/index.d.cts CHANGED
@@ -1,6 +1,6 @@
1
- import { A as Authentication } from './index-Dfbt8roX.cjs';
2
- export { C as Client, y as CreateContactNoteResponsePayload, e as CreateContactResponsePayload, x as CreateConversationNoteResponsePayload, r as CreateCorrectionResponsePayload, j as CreateLabelResponsePayload, s as CreateResponseResponsePayload, D as DeleteLabelResponsePayload, G as GetContactResponsePayload, f as GetConversationResponsePayload, k as GetLabelResponsePayload, p as GetModelResponsePayload, t as GetNoteResponsePayload, z as GetSourceResponsePayload, L as ListActionsResponsePayload, b as ListChannelsResponsePayload, w as ListContactNotesResponsePayload, c as ListContactsResponsePayload, n as ListConversationMessagesResponsePayload, v as ListConversationNotesResponsePayload, g as ListConversationsResponsePayload, d as ListLabelContactsResponsePayload, h as ListLabelConversationsResponsePayload, l as ListLabelsResponsePayload, o as ListMessagesResponsePayload, q as ListModelsResponsePayload, B as ListSourcesResponsePayload, O as Options, R as RequestFilterable, a as TransportOptions, U as UpdateContactResponsePayload, i as UpdateConversationResponsePayload, m as UpdateLabelResponsePayload, u as UpdateNoteResponsePayload, C as default } from './index-Dfbt8roX.cjs';
3
- import 'cross-fetch';
1
+ import { A as Authentication } from './index-DsZ1QEUj.cjs';
2
+ export { C as Client, y as CreateContactNoteResponsePayload, e as CreateContactResponsePayload, x as CreateConversationNoteResponsePayload, r as CreateCorrectionResponsePayload, j as CreateLabelResponsePayload, s as CreateResponseResponsePayload, D as DeleteLabelResponsePayload, G as GetContactResponsePayload, f as GetConversationResponsePayload, k as GetLabelResponsePayload, p as GetModelResponsePayload, t as GetNoteResponsePayload, z as GetSourceResponsePayload, L as ListActionsResponsePayload, b as ListChannelsResponsePayload, w as ListContactNotesResponsePayload, c as ListContactsResponsePayload, n as ListConversationMessagesResponsePayload, v as ListConversationNotesResponsePayload, g as ListConversationsResponsePayload, d as ListLabelContactsResponsePayload, h as ListLabelConversationsResponsePayload, l as ListLabelsResponsePayload, o as ListMessagesResponsePayload, q as ListModelsResponsePayload, B as ListSourcesResponsePayload, O as Options, R as RequestFilterable, a as TransportOptions, U as UpdateContactResponsePayload, i as UpdateConversationResponsePayload, m as UpdateLabelResponsePayload, u as UpdateNoteResponsePayload, C as default } from './index-DsZ1QEUj.cjs';
3
+ import 'ky';
4
4
  import 'zod';
5
5
 
6
6
  /**
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { A as Authentication } from './index-Dfbt8roX.js';
2
- export { C as Client, y as CreateContactNoteResponsePayload, e as CreateContactResponsePayload, x as CreateConversationNoteResponsePayload, r as CreateCorrectionResponsePayload, j as CreateLabelResponsePayload, s as CreateResponseResponsePayload, D as DeleteLabelResponsePayload, G as GetContactResponsePayload, f as GetConversationResponsePayload, k as GetLabelResponsePayload, p as GetModelResponsePayload, t as GetNoteResponsePayload, z as GetSourceResponsePayload, L as ListActionsResponsePayload, b as ListChannelsResponsePayload, w as ListContactNotesResponsePayload, c as ListContactsResponsePayload, n as ListConversationMessagesResponsePayload, v as ListConversationNotesResponsePayload, g as ListConversationsResponsePayload, d as ListLabelContactsResponsePayload, h as ListLabelConversationsResponsePayload, l as ListLabelsResponsePayload, o as ListMessagesResponsePayload, q as ListModelsResponsePayload, B as ListSourcesResponsePayload, O as Options, R as RequestFilterable, a as TransportOptions, U as UpdateContactResponsePayload, i as UpdateConversationResponsePayload, m as UpdateLabelResponsePayload, u as UpdateNoteResponsePayload, C as default } from './index-Dfbt8roX.js';
3
- import 'cross-fetch';
1
+ import { A as Authentication } from './index-DsZ1QEUj.js';
2
+ export { C as Client, y as CreateContactNoteResponsePayload, e as CreateContactResponsePayload, x as CreateConversationNoteResponsePayload, r as CreateCorrectionResponsePayload, j as CreateLabelResponsePayload, s as CreateResponseResponsePayload, D as DeleteLabelResponsePayload, G as GetContactResponsePayload, f as GetConversationResponsePayload, k as GetLabelResponsePayload, p as GetModelResponsePayload, t as GetNoteResponsePayload, z as GetSourceResponsePayload, L as ListActionsResponsePayload, b as ListChannelsResponsePayload, w as ListContactNotesResponsePayload, c as ListContactsResponsePayload, n as ListConversationMessagesResponsePayload, v as ListConversationNotesResponsePayload, g as ListConversationsResponsePayload, d as ListLabelContactsResponsePayload, h as ListLabelConversationsResponsePayload, l as ListLabelsResponsePayload, o as ListMessagesResponsePayload, q as ListModelsResponsePayload, B as ListSourcesResponsePayload, O as Options, R as RequestFilterable, a as TransportOptions, U as UpdateContactResponsePayload, i as UpdateConversationResponsePayload, m as UpdateLabelResponsePayload, u as UpdateNoteResponsePayload, C as default } from './index-DsZ1QEUj.js';
3
+ import 'ky';
4
4
  import 'zod';
5
5
 
6
6
  /**
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{a as P,b as A,c as a,d as p,e as n,f as i,g as f,h as l,i as y,j as m,k as d,l as x,m as u,n as c,o as h}from"./chunk-WWLNDX6W.js";var R={};P(R,{AuthError:()=>l,AuthenticationError:()=>y,AuthorizationError:()=>m,LogicError:()=>d,NetworkError:()=>x,SupportError:()=>f,ValidationError:()=>u});var o=class r{static DEFAULT_NAME=a;name;#e;constructor({name:e=process.env[i]??r.DEFAULT_NAME,key:s=process.env[n]}={}){if(!s)throw new Error("API Key option must be specified when using Key Authentication");this.name=e,this.#e=s}async filter(){return{headers:this.getHeaders()}}getHeaders(){return{Authorization:`Basic ${btoa(this.name+":"+this.#e)}`}}};var t=class{#e;constructor({token:e=process.env[p]}={}){if(!e)throw new Error("Access Token option must be specified when using Token Authentication");this.#e=e}async filter(){return{headers:this.getHeaders()}}getHeaders(){return{Authorization:`Bearer ${this.#e}`}}};export{c as Client,A as DEFAULT_SUPPORT_BASE_URL,R as Error,o as KeyAuthentication,h as PublicAuthentication,t as TokenAuthentication,c as default};
1
+ import{a as P,b as A,c as a,d as p,e as n,f as i,g as f,h as l,i as y,j as m,k as d,l as x,m as u,n as c,o as h}from"./chunk-UWNMFEJS.js";var R={};P(R,{AuthError:()=>l,AuthenticationError:()=>y,AuthorizationError:()=>m,LogicError:()=>d,NetworkError:()=>x,SupportError:()=>f,ValidationError:()=>u});var o=class r{static DEFAULT_NAME=a;name;#e;constructor({name:e=process.env[i]??r.DEFAULT_NAME,key:s=process.env[n]}={}){if(!s)throw new Error("API Key option must be specified when using Key Authentication");this.name=e,this.#e=s}async filter(){return{headers:this.getHeaders()}}getHeaders(){return{Authorization:`Basic ${btoa(this.name+":"+this.#e)}`}}};var t=class{#e;constructor({token:e=process.env[p]}={}){if(!e)throw new Error("Access Token option must be specified when using Token Authentication");this.#e=e}async filter(){return{headers:this.getHeaders()}}getHeaders(){return{Authorization:`Bearer ${this.#e}`}}};export{c as Client,A as DEFAULT_SUPPORT_BASE_URL,R as Error,o as KeyAuthentication,h as PublicAuthentication,t as TokenAuthentication,c as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@great-detail/support-sdk",
3
- "version": "0.2.6",
3
+ "version": "0.2.8",
4
4
  "type": "module",
5
5
  "description": "JavaScript SDK for the Great Detail Support System",
6
6
  "author": "Great Detail Ltd <info@greatdetail.com>",
@@ -63,6 +63,7 @@
63
63
  "commander": "^12.1.0",
64
64
  "cross-fetch": "^4.0.0",
65
65
  "is-network-error": "^1.1.0",
66
+ "ky": "^1.7.2",
66
67
  "ora": "^8.0.1",
67
68
  "zod": "^3.23.8"
68
69
  },
@@ -7,8 +7,8 @@
7
7
  * @see https://greatdetail.com
8
8
  */
9
9
 
10
- import fetch, { Request } from "cross-fetch";
11
10
  import isNetworkError from "is-network-error";
11
+ import ky from "ky";
12
12
  import AuthenticationError from "../Error/AuthenticationError.js";
13
13
  import AuthorizationError from "../Error/AuthorizationError.js";
14
14
  import LogicError from "../Error/LogicError.js";
@@ -18,33 +18,18 @@ import Transport, { Options as TransportOptions } from "./index.js";
18
18
 
19
19
  export interface InputOptions extends TransportOptions {
20
20
  baseURL: string;
21
-
22
- /**
23
- * Alternative Fetch Provider.
24
- * Used to override the default fetch provider and use polyfills or other
25
- * libraries.
26
- *
27
- * @since 1.0.0
28
- */
29
- fetch?: typeof fetch;
30
21
  }
31
22
 
32
23
  export interface Options extends TransportOptions {
33
24
  baseURL: string;
34
- fetch: typeof fetch;
35
25
  }
36
26
 
37
27
  export default class FetchTransport implements Transport {
38
28
  public options: Options;
39
29
 
40
- constructor({
41
- baseURL,
42
- fetch: fetchAlternative = fetch,
43
- ...options
44
- }: InputOptions) {
30
+ constructor({ baseURL, ...options }: InputOptions) {
45
31
  this.options = {
46
32
  ...options,
47
- fetch: fetchAlternative,
48
33
  baseURL,
49
34
  };
50
35
  }
@@ -70,8 +55,7 @@ export default class FetchTransport implements Transport {
70
55
 
71
56
  public async send(url: string, request: RequestInit) {
72
57
  // See: https://github.com/node-fetch/node-fetch/issues/481#issuecomment-592491825
73
- return await this.options
74
- .fetch(this.getRequest(url, request))
58
+ return await ky(this.getRequest(url, request))
75
59
  .then((response) => {
76
60
  if (!response.ok) {
77
61
  const code = response.status;