@great-detail/support-sdk 0.10.17 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- import{b as v,o as b}from"./chunk-3IK5HEB7.js";import{Command as G}from"commander";import{Command as L}from"commander";import{oraPromise as N}from"ora";function r({client:t,ora:s}){let o=new L("actions").description("Actions");return o.addCommand(new L("list").description("List actions").action(async()=>{let n=await N(()=>t.action.list.send().json(),{...s,text:"Finding actions"});console.log(n)})),o}import{Command as D}from"commander";import{oraPromise as M}from"ora";function d({client:t,ora:s}){let o=new D("channels").description("Channels");return o.addCommand(new D("list").description("List channels").action(async()=>{let n=await M(()=>t.channel.list.send().json(),{...s,text:"Finding channels"});console.log(n)})),o}import{Command as a}from"commander";import{oraPromise as c}from"ora";function p({client:t,ora:s}){let o=new a("contacts").description("Contacts");return o.addCommand(new a("get").description("Find contact").argument("<contact>","Contact ID").action(async n=>{let i=await c(()=>t.contact.get.send(n).json(),{...s,text:"Finding contact"});console.log(i)})),o.addCommand(new a("list").description("List contacts").action(async()=>{let n=await c(()=>t.contact.list.send().json(),{...s,text:"Finding contacts"});console.log(n)})),o.addCommand(new a("get-vcf").description("Export Contact as VCF").argument("<contact>","Contact ID").action(async n=>{let i=await c(()=>t.contact.vcf.get.send({id:n}).response(),{...s,text:"Exporting contact"});console.log(i)})),o}import{Command as l}from"commander";import{oraPromise as I}from"ora";function f({client:t,ora:s}){let o=new l("conversations").description("Conversations");return o.addCommand(new l("get").description("Find conversation").argument("<conversation>","Conversation ID").action(async n=>{let i=await I(()=>t.conversation.get.send(n).json(),{...s,text:"Finding conversation"});console.log(i)})),o.addCommand(new l("list").description("List conversations").action(async()=>{let n=await I(()=>t.conversation.list.send().json(),{...s,text:"Finding conversations"});console.log(n)})),o}import{Command as m}from"commander";import{oraPromise as u}from"ora";function C({client:t,ora:s}){let o=new m("labels").description("Labels");return o.addCommand(new m("get").description("Find label").argument("<label>","Label ID").action(async n=>{let i=await u(()=>t.label.get.send(n).json(),{...s,text:"Finding label"});console.log(i)})),o.addCommand(new m("list").description("List labels").action(async()=>{let n=await u(()=>t.label.list.send().json(),{...s,text:"Finding labels"});console.log(n)})),o.addCommand(new m("conversations").description("Find label conversations").argument("<label>","Label ID").action(async n=>{let i=await u(()=>t.label.conversation.list.send(n).json(),{...s,text:"Finding conversations"});console.log(i)})),o}import{Command as P}from"commander";import{oraPromise as W}from"ora";function g({client:t,ora:s}){let o=new P("messages").description("Messages");return o.addCommand(new P("list").description("List messages").action(async()=>{let n=await W(()=>t.message.list.send().json(),{...s,text:"Finding messages"});console.log(n)})),o}import{Command as w}from"commander";import{oraPromise as K}from"ora";function O({client:t,ora:s}){let o=new w("models").description("Models");return o.addCommand(new w("get").description("Find model").argument("<model>","Model ID").action(async n=>{let i=await K(()=>t.model.get.send(n).json(),{...s,text:"Finding model"});console.log(i)})),o.addCommand(new w("list").description("List models").action(async()=>{let n=await K(()=>t.model.list.send().json(),{...s,text:"Finding models"});console.log(n)})),o}import{Command as x}from"commander";import{oraPromise as h}from"ora";function y({client:t,ora:s}){let o=new x("sources").description("Sources");return o.addCommand(new x("get").description("Find source").argument("<source>","Source ID").action(async n=>{let i=await h(()=>t.source.get.send(n).json(),{...s,text:"Finding source"});console.log(i)})),o.addCommand(new x("list").description("List sources").action(async()=>{let n=await h(()=>t.source.list.send().json(),{...s,text:"Finding sources"});console.log(n)})),o}import{Command as E}from"commander";import{Command as S}from"commander";import{oraPromise as A}from"ora";function j({client:t,ora:s}){let o=new S("notifications").description("Well-Known Notifications Details");return o.addCommand(new S("get").description("Get Notifications Server Well-Known Info").action(async()=>{let n=await A(()=>t.wellKnown.notification.get.send().json(),{...s,text:"Finding Notifications Well-Known Info"});console.log(n)})),o}function F({client:t,ora:s}){let o=new E("well-known").description("Well-Known Metadata & Info");return o.addCommand(j({client:t,ora:s})),o}var e={ora:{spinner:"simpleDotsScrolling"},client:new b(new v)},k=new G("gds").description("Great Detail Support System").addCommand(r(e)).addCommand(d(e)).addCommand(p(e)).addCommand(f(e)).addCommand(C(e)).addCommand(g(e)).addCommand(O(e)).addCommand(y(e)).addCommand(F(e)),Po=k;export{Po as a};
1
+ import{b as v,o as b}from"./chunk-ZHQA7EWT.js";import{Command as G}from"commander";import{Command as L}from"commander";import{oraPromise as N}from"ora";function r({client:t,ora:s}){let o=new L("actions").description("Actions");return o.addCommand(new L("list").description("List actions").action(async()=>{let n=await N(()=>t.action.list.send().json(),{...s,text:"Finding actions"});console.log(n)})),o}import{Command as D}from"commander";import{oraPromise as M}from"ora";function d({client:t,ora:s}){let o=new D("channels").description("Channels");return o.addCommand(new D("list").description("List channels").action(async()=>{let n=await M(()=>t.channel.list.send().json(),{...s,text:"Finding channels"});console.log(n)})),o}import{Command as a}from"commander";import{oraPromise as c}from"ora";function p({client:t,ora:s}){let o=new a("contacts").description("Contacts");return o.addCommand(new a("get").description("Find contact").argument("<contact>","Contact ID").action(async n=>{let i=await c(()=>t.contact.get.send(n).json(),{...s,text:"Finding contact"});console.log(i)})),o.addCommand(new a("list").description("List contacts").action(async()=>{let n=await c(()=>t.contact.list.send().json(),{...s,text:"Finding contacts"});console.log(n)})),o.addCommand(new a("get-vcf").description("Export Contact as VCF").argument("<contact>","Contact ID").action(async n=>{let i=await c(()=>t.contact.vcf.get.send({id:n}).response(),{...s,text:"Exporting contact"});console.log(i)})),o}import{Command as l}from"commander";import{oraPromise as I}from"ora";function f({client:t,ora:s}){let o=new l("conversations").description("Conversations");return o.addCommand(new l("get").description("Find conversation").argument("<conversation>","Conversation ID").action(async n=>{let i=await I(()=>t.conversation.get.send(n).json(),{...s,text:"Finding conversation"});console.log(i)})),o.addCommand(new l("list").description("List conversations").action(async()=>{let n=await I(()=>t.conversation.list.send().json(),{...s,text:"Finding conversations"});console.log(n)})),o}import{Command as m}from"commander";import{oraPromise as u}from"ora";function C({client:t,ora:s}){let o=new m("labels").description("Labels");return o.addCommand(new m("get").description("Find label").argument("<label>","Label ID").action(async n=>{let i=await u(()=>t.label.get.send(n).json(),{...s,text:"Finding label"});console.log(i)})),o.addCommand(new m("list").description("List labels").action(async()=>{let n=await u(()=>t.label.list.send().json(),{...s,text:"Finding labels"});console.log(n)})),o.addCommand(new m("conversations").description("Find label conversations").argument("<label>","Label ID").action(async n=>{let i=await u(()=>t.label.conversation.list.send(n).json(),{...s,text:"Finding conversations"});console.log(i)})),o}import{Command as P}from"commander";import{oraPromise as W}from"ora";function g({client:t,ora:s}){let o=new P("messages").description("Messages");return o.addCommand(new P("list").description("List messages").action(async()=>{let n=await W(()=>t.message.list.send().json(),{...s,text:"Finding messages"});console.log(n)})),o}import{Command as w}from"commander";import{oraPromise as K}from"ora";function O({client:t,ora:s}){let o=new w("models").description("Models");return o.addCommand(new w("get").description("Find model").argument("<model>","Model ID").action(async n=>{let i=await K(()=>t.model.get.send(n).json(),{...s,text:"Finding model"});console.log(i)})),o.addCommand(new w("list").description("List models").action(async()=>{let n=await K(()=>t.model.list.send().json(),{...s,text:"Finding models"});console.log(n)})),o}import{Command as x}from"commander";import{oraPromise as h}from"ora";function y({client:t,ora:s}){let o=new x("sources").description("Sources");return o.addCommand(new x("get").description("Find source").argument("<source>","Source ID").action(async n=>{let i=await h(()=>t.source.get.send(n).json(),{...s,text:"Finding source"});console.log(i)})),o.addCommand(new x("list").description("List sources").action(async()=>{let n=await h(()=>t.source.list.send().json(),{...s,text:"Finding sources"});console.log(n)})),o}import{Command as E}from"commander";import{Command as S}from"commander";import{oraPromise as A}from"ora";function j({client:t,ora:s}){let o=new S("notifications").description("Well-Known Notifications Details");return o.addCommand(new S("get").description("Get Notifications Server Well-Known Info").action(async()=>{let n=await A(()=>t.wellKnown.notification.get.send().json(),{...s,text:"Finding Notifications Well-Known Info"});console.log(n)})),o}function F({client:t,ora:s}){let o=new E("well-known").description("Well-Known Metadata & Info");return o.addCommand(j({client:t,ora:s})),o}var e={ora:{spinner:"simpleDotsScrolling"},client:new b(new v)},k=new G("gds").description("Great Detail Support System").addCommand(r(e)).addCommand(d(e)).addCommand(p(e)).addCommand(f(e)).addCommand(C(e)).addCommand(g(e)).addCommand(O(e)).addCommand(y(e)).addCommand(F(e)),Po=k;export{Po as a};
@@ -0,0 +1 @@
1
+ var Jt=Object.defineProperty;var oe=(o,t)=>{for(var e in t)Jt(o,e,{get:t[e],enumerable:!0})};var Qt=class{async filter(){return{headers:this.getHeaders()}}getHeaders(){return{}}};var Kt="https://api.support.greatdetail.com",Vt={"X-Powered-By":"GDSupport/JavaScript"},se="api-key";import{createHmac as $t,timingSafeEqual as Xt}from"node:crypto";import{z as n}from"zod";var ae="SUPPORT_ACCESS_TOKEN",pe="SUPPORT_API_KEY",ce="SUPPORT_KEY_NAME",kt="SUPPORT_SIGNING_KEY",Wt="SUPPORT_BASE_URL";var m=class o{constructor(t){this._client=t}static SCHEMA=n.object({data:n.object({event:n.intersection(n.object({id:n.string(),createdAt:n.string().datetime()}),n.union([n.object({type:n.union([n.literal("account.created"),n.literal("account.updated")]),payload:n.object({account:n.string()})}),n.object({type:n.union([n.literal("contact.created"),n.literal("contact.updated")]),payload:n.object({contact:n.string()})}),n.object({type:n.union([n.literal("conversation.created"),n.literal("conversation.updated"),n.literal("conversation.closed"),n.literal("conversation.received"),n.literal("conversation.resolved"),n.literal("conversation.sent")]),payload:n.object({conversation:n.string()})}),n.object({type:n.union([n.literal("message.created"),n.literal("message.updated"),n.literal("message.delivered"),n.literal("message.failed"),n.literal("message.read"),n.literal("message.received"),n.literal("message.sent")]),payload:n.object({message:n.string()})})]))})});async event({key:t=process.env[kt],maxSignatures:e=3,request:r}){let s=r.headers["gds-signature"];if(t!==!1){if(t===void 0)throw new Error("Missing webhook signing key in process.env."+kt);if(!s)throw new Error("Missing signature header");if(!this._verifySignature(t,r.body,Array.isArray(s)?s.slice(0,e):[s]))throw new Error("Untrusted signature")}let{data:i}=o.SCHEMA.parse(r.body);return{event:i.event}}_verifySignature(t,e,r){let s=$t("sha256",t).update(JSON.stringify(e)).digest();for(let i of r){let l=Buffer.from(i,"base64");if(l.length===s.length&&Xt(l,s))return!0}return!1}};var h=class o{constructor(t=o.STANDARD_HEADERS){this._standardHeaders=t}static STANDARD_HEADERS=Vt;async filter(){return{headers:this.getHeaders()}}getHeaders(){return this._standardHeaders}};import Zt from"is-network-error";import te,{HTTPError as ee}from"ky";var a=class extends Error{static serverError(t){return new this("Server Error: "+t)}};var c=class extends a{};var f=class extends c{static unauthenticated(){return new this("An unauthenticated request occurred")}};var C=class extends c{static forbidden(){return new this("A forbidden request occurred")}};var p=class extends a{static notFound(t){return new this(`Record not found for request: ${t}`)}static forbiddenMethod(t,e){return new this(`Forbidden method for request: ${t} ${e}`)}static teapot(){return new this("I'm a teapot")}static rateLimited(){return new this("Request has been rate-limited")}};var g=class extends a{};var d=class extends a{static badRequest(){return new this("Bad request")}static unsupportedMediaType(){return new this("Unsupported Media Type")}};var b=class{client;options;constructor({baseURL:t,...e}){this.options={...e,baseURL:t},this.client=te.create({prefixUrl:this.options.baseURL,timeout:12e3,hooks:{beforeRequest:[r=>{for(let s of this.options.requestFilterables){let i=s.getHeaders();for(let[l,zt]of Object.entries(i))r.headers.has(l)||r.headers.set(l,zt)}}]}})}getURL(t){return new URL(t,this.options.baseURL).toString()}limitQuery(t){let e=[];return t&&e.push(["limit",t.toString()]),e}includeQuery(t){let e=[];if(t===void 0)return e;for(let r of Object.keys(t))e.push(["include",r]);return e}queryQuery(t){let e=[];return t&&e.push(["query",t]),e}send(t,e){let r=this.client(t,e).catch(s=>{if(Zt(s))throw new g("A network error occurred",{cause:s});if(s instanceof ee){let i=s.response.status;switch(console.error(JSON.stringify(s.response)),i){case 400:throw d.badRequest();case 401:throw f.unauthenticated();case 403:throw C.forbidden();case 404:throw p.notFound(t);case 405:throw p.forbiddenMethod(t,e.method??"GET");case 415:throw d.unsupportedMediaType();case 418:throw p.teapot();case 429:throw p.rateLimited()}if(i>=500&&i<600)throw a.serverError(i)}throw s});return{response:()=>r,json:async()=>(await r).json()}}};var _=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t),{...e,method:"GET"})}};var R=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/accounts/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var x=class{constructor(t){this._transport=t}get api(){return{get:new _(this._transport),update:new R(this._transport)}}};var y=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/conversation-settings",{...e,method:"GET"})}};var T=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/conversation-settings",{...r,method:"PATCH",json:e})}};var v=class{constructor(t){this._transport=t}get api(){return{get:new y(this._transport),update:new T(this._transport)}}};var O=class{constructor(t){this._transport=t}send({limit:t,request:e={}}={}){return this._transport.send("v1/actions",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}};var F=class{constructor(t){this._transport=t}get api(){return{list:new O(this._transport)}}};var L=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/boilerplate-categories/"+encodeURIComponent(t)+"/boilerplates",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var S=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/boilerplate-categories",{...e,method:"POST",json:t})}};var U=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/boilerplate-categories/"+encodeURIComponent(t),{...e,method:"GET"})}};var w=class{constructor(t){this._transport=t}send({limit:t,include:e,request:r={}}={}){return this._transport.send("v1/boilerplate-categories",{...r,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.includeQuery(e)]})}};var I=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/boilerplate-categories/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var q=class{constructor(t){this._transport=t}get api(){return{get:new U(this._transport),list:new w(this._transport),create:new S(this._transport),update:new I(this._transport),boilerplate:{list:new L(this._transport)}}}};var A=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/boilerplates",{...e,method:"POST",json:t})}};var E=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/boilerplates/"+encodeURIComponent(t),{...e,method:"GET"})}};var G=class{constructor(t){this._transport=t}send({limit:t,query:e,request:r={}}={}){return this._transport.send("v1/boilerplates",{...r,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e)]})}};var P=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/boilerplates/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var N=class{constructor(t){this._transport=t}get api(){return{get:new E(this._transport),list:new G(this._transport),update:new P(this._transport),create:new A(this._transport)}}};var B=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/channels",{...e,method:"POST",json:t})}};var M=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t),{...e,method:"GET"})}};var j=class{constructor(t){this._transport=t}send({limit:t,request:e={}}={}){return this._transport.send("v1/channels",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}};import{z as Yt}from"zod";var H=class o{constructor(t){this._transport=t}static SCHEMA=Yt.object({overwrite:Yt.boolean().optional()});send(t,{body:e,request:r={}}){return this._transport.send("v1/sources/twilio-sendgrid/channels/"+encodeURIComponent(t)+"/sync",{...r,method:"POST",json:o.SCHEMA.parse(e)})}};var Q=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/channels/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var k=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/composition-sections",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var D=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/messages",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var K=class{constructor(t){this._transport=t}get api(){return{get:new M(this._transport),list:new j(this._transport),update:new Q(this._transport),create:new B(this._transport),compositionSection:{list:new k(this._transport)},message:{list:new D(this._transport)},twilioSendgrid:{sync:new H(this._transport)}}}};var V=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/composition-sections",{...e,method:"POST",json:t})}};var W=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/composition-sections/"+encodeURIComponent(t),{...e,method:"GET"})}};var Y=class{constructor(t){this._transport=t}send({limit:t,request:e={}}={}){return this._transport.send("v1/composition-sections",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}};var z=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/composition-sections/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var J=class{constructor(t){this._transport=t}get api(){return{get:new W(this._transport),list:new Y(this._transport),create:new V(this._transport),update:new z(this._transport)}}};var $=class{constructor(t){this._transport=t}getRelativeURL({id:t,vcf:e={}}){let r=e.variant??"vcard",s=e.format??(r==="vcard"?"vcf":"json");return"v1/contacts/"+encodeURIComponent(t)+"/vcf?variant="+encodeURIComponent(r)+"&format="+encodeURIComponent(s)}getURL(t){return this._transport.getURL(this.getRelativeURL(t))}send(t){return this._transport.send(this.getURL(t),{method:"GET"})}};var X=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/contacts",{...e,method:"POST",json:t})}};var Z=class{constructor(t){this._transport=t}send(t,{include:e,request:r={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...r,method:"GET",searchParams:[...this._transport.includeQuery(e??{})]})}};var tt=class{constructor(t){this._transport=t}send({limit:t,query:e,request:r={}}={}){return this._transport.send("v1/contacts",{...r,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e)]})}};var et=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var ot=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/conversations",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var rt=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/labels",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var nt=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...r,method:"POST",json:e})}};var st=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...e,method:"GET"})}};var it=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notification-subscriptions",{...r,method:"POST",json:e})}};var at=class{constructor(t){this._transport=t}get api(){return{get:new Z(this._transport),list:new tt(this._transport),update:new et(this._transport),create:new X(this._transport),conversation:{list:new ot(this._transport)},label:{list:new rt(this._transport)},note:{list:new st(this._transport),create:new nt(this._transport)},notificationSubscription:{create:new it(this._transport)},vcf:{get:new $(this._transport)}}}};var pt=class{constructor(t){this._transport=t}send(t,{include:e,request:r={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...r,method:"GET",searchParams:[...this._transport.includeQuery(e??{})]})}};var ct=class{constructor(t){this._transport=t}send({limit:t,filter:e,include:r,request:s={}}={}){return this._transport.send("v1/conversations",{...s,method:"GET",searchParams:[...this._transport.limitQuery(t),...e?[["filter",e]]:[],...this._transport.includeQuery(r??{})]})}};var lt=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var dt=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/labels",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var ut=class{constructor(t){this._transport=t}send(t,{limit:e,include:r,request:s={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/messages",{...s,method:"GET",searchParams:[...this._transport.limitQuery(e),...this._transport.includeQuery(r??{})]})}};var u=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...r,method:"POST",json:e})}};var mt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...e,method:"GET"})}};var ht=class{constructor(t){this._transport=t}get api(){return{get:new pt(this._transport),list:new ct(this._transport),update:new lt(this._transport),create:new u(this._transport),label:{list:new dt(this._transport)},message:{list:new ut(this._transport)},note:{list:new mt(this._transport),create:new u(this._transport)}}}};var ft=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/contacts",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var Ct=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/conversations",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var gt=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/labels",{...e,method:"POST",json:t})}};var bt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var _t=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...e,method:"GET"})}};var Rt=class{constructor(t){this._transport=t}send({limit:t,query:e,include:r,request:s={}}={}){return this._transport.send("v1/labels",{...s,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e),...this._transport.includeQuery(r??{})]})}};var xt=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var yt=class{constructor(t){this._transport=t}get api(){return{create:new gt(this._transport),get:new _t(this._transport),list:new Rt(this._transport),update:new xt(this._transport),delete:new bt(this._transport),contact:{list:new ft(this._transport)},conversation:{list:new Ct(this._transport)}}}};var Tt=class{constructor(t){this._transport=t}send({limit:t,include:e,request:r={}}={}){return this._transport.send("v1/messages",{...r,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.includeQuery(e??{})]})}};var vt=class{constructor(t){this._transport=t}get api(){return{list:new Tt(this._transport)}}};var Ot=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/correction",{...r,method:"POST",json:e})}};var Ft=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/models/"+encodeURIComponent(t),{...e,method:"GET"})}};var Lt=class{constructor(t){this._transport=t}send({request:t={}}={}){return this._transport.send("v1/models",{...t,method:"GET"})}};var St=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/response",{...r,method:"POST",timeout:12e4,json:e})}};var Ut=class{constructor(t){this._transport=t}get api(){return{get:new Ft(this._transport),list:new Lt(this._transport),response:{create:new St(this._transport)},correction:{create:new Ot(this._transport)}}}};var wt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...e,method:"GET"})}};var It=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var qt=class{constructor(t){this._transport=t}get api(){return{get:new wt(this._transport),update:new It(this._transport)}}};var At=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/sources/"+encodeURIComponent(t),{...e,method:"GET"})}};var Et=class{constructor(t){this._transport=t}send({category:t,request:e={}}={}){let r=[];if(t){let s=Array.isArray(t)?t:[t];for(let i of s)r.push(["category",i])}return this._transport.send("v1/sources",{...e,method:"GET",searchParams:r})}};var Gt=class{constructor(t){this._transport=t}get api(){return{get:new At(this._transport),list:new Et(this._transport)}}};var Pt=class{constructor(t){this._transport=t}send({account:t,files:e,request:r={}}){let s=new FormData;for(let i of e)s.append("file",i);return this._transport.send("v1/uploads",{...r,method:"POST",body:s,searchParams:{account:t}})}};var Nt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/uploads/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var Bt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/uploads/"+encodeURIComponent(t),{...e,method:"GET"})}};var Mt=class{constructor(t){this._transport=t}get api(){return{get:new Bt(this._transport),create:new Pt(this._transport),delete:new Nt(this._transport)}}};var jt=class{constructor(t){this._transport=t}send({request:t={}}={}){return this._transport.send(".well-known/notifications",{...t,method:"GET"})}};var Ht=class{constructor(t){this._transport=t}get api(){return{notification:{get:new jt(this._transport)}}}};var Dt=class o{static DEFAULT_BASE_URL=Kt;_transport;_account;_accountConversationSettings;_action;_boilerplate;_boilerplateCategory;_channel;_compositionSection;_contact;_conversation;_label;_message;_model;_note;_source;_upload;_webhook;_wellKnown;constructor(t,{baseURL:e,...r}={}){this._transport=new b({requestFilterables:[new h,t],...r,baseURL:e?.toString()??o.getBaseURL()}),this._account=new x(this._transport),this._accountConversationSettings=new v(this._transport),this._action=new F(this._transport),this._boilerplate=new N(this._transport),this._boilerplateCategory=new q(this._transport),this._channel=new K(this._transport),this._compositionSection=new J(this._transport),this._contact=new at(this._transport),this._conversation=new ht(this._transport),this._label=new yt(this._transport),this._message=new vt(this._transport),this._model=new Ut(this._transport),this._note=new qt(this._transport),this._source=new Gt(this._transport),this._upload=new Mt(this._transport),this._webhook=new m(this),this._wellKnown=new Ht(this._transport)}static getBaseURL(){return process.env[Wt]??this.DEFAULT_BASE_URL}get account(){return this._account.api}get accountConversationSettings(){return this._accountConversationSettings.api}get action(){return this._action.api}get boilerplate(){return this._boilerplate.api}get boilerplateCategory(){return this._boilerplateCategory.api}get channel(){return this._channel.api}get compositionSection(){return this._compositionSection.api}get contact(){return this._contact.api}get conversation(){return this._conversation.api}get label(){return this._label.api}get message(){return this._message.api}get model(){return this._model.api}get note(){return this._note.api}get source(){return this._source.api}get upload(){return this._upload.api}get webhook(){return this._webhook}get wellKnown(){return this._wellKnown.api}};export{oe as a,Qt as b,ae as c,pe as d,ce as e,Kt as f,se as g,a as h,c as i,f as j,C as k,p as l,g as m,d as n,Dt as o};
@@ -1 +1 @@
1
- "use strict";var Ie=Object.create;var Vt=Object.defineProperty;var qe=Object.getOwnPropertyDescriptor;var Ae=Object.getOwnPropertyNames;var Pe=Object.getPrototypeOf,Ee=Object.prototype.hasOwnProperty;var Ge=(o,t)=>{for(var e in t)Vt(o,e,{get:t[e],enumerable:!0})},be=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Ae(t))!Ee.call(o,n)&&n!==e&&Vt(o,n,{get:()=>t[n],enumerable:!(r=qe(t,n))||r.enumerable});return o};var xe=(o,t,e)=>(e=o!=null?Ie(Pe(o)):{},be(t||!o||!o.__esModule?Vt(e,"default",{value:o,enumerable:!0}):e,o)),Ne=o=>be(Vt({},"__esModule",{value:!0}),o);var Me={};Ge(Me,{default:()=>je});module.exports=Ne(Me);var Se=require("commander");var u=class{async filter(){return{headers:this.getHeaders()}}getHeaders(){return{}}};var _e="SUPPORT_BASE_URL";var ye="https://api.support.greatdetail.com",Re={"X-Powered-By":"GDSupport/JavaScript"};var h=class o{constructor(t=o.STANDARD_HEADERS){this._standardHeaders=t}static STANDARD_HEADERS=Re;async filter(){return{headers:this.getHeaders()}}getHeaders(){return this._standardHeaders}};var Te=xe(require("is-network-error"),1),Wt=xe(require("ky"),1);var i=class extends Error{static serverError(t){return new this("Server Error: "+t)}};var l=class extends i{};var f=class extends l{static unauthenticated(){return new this("An unauthenticated request occurred")}};var C=class extends l{static forbidden(){return new this("A forbidden request occurred")}};var c=class extends i{static notFound(t){return new this(`Record not found for request: ${t}`)}static forbiddenMethod(t,e){return new this(`Forbidden method for request: ${t} ${e}`)}static teapot(){return new this("I'm a teapot")}static rateLimited(){return new this("Request has been rate-limited")}};var g=class extends i{};var d=class extends i{static badRequest(){return new this("Bad request")}static unsupportedMediaType(){return new this("Unsupported Media Type")}};var b=class{client;options;constructor({baseURL:t,...e}){this.options={...e,baseURL:t},this.client=Wt.default.create({prefixUrl:this.options.baseURL,timeout:12e3,hooks:{beforeRequest:[r=>{for(let n of this.options.requestFilterables){let a=n.getHeaders();for(let[ge,Ue]of Object.entries(a))r.headers.has(ge)||r.headers.set(ge,Ue)}}]}})}getURL(t){return new URL(t,this.options.baseURL).toString()}limitQuery(t){let e=[];return t&&e.push(["limit",t.toString()]),e}includeQuery(t){let e=[];if(t===void 0)return e;for(let r of Object.keys(t))e.push(["include",r]);return e}queryQuery(t){let e=[];return t&&e.push(["query",t]),e}send(t,e){let r=this.client(t,e).catch(n=>{if((0,Te.default)(n))throw new g("A network error occurred",{cause:n});if(n instanceof Wt.HTTPError){let a=n.response.status;switch(console.error(JSON.stringify(n.response)),a){case 400:throw d.badRequest();case 401:throw f.unauthenticated();case 403:throw C.forbidden();case 404:throw c.notFound(t);case 405:throw c.forbiddenMethod(t,e.method??"GET");case 415:throw d.unsupportedMediaType();case 418:throw c.teapot();case 429:throw c.rateLimited()}if(a>=500&&a<600)throw i.serverError(a)}throw n});return{response:()=>r,json:async()=>(await r).json()}}};var s=require("zod"),x=class o{constructor(t){this._client=t}static SCHEMA=s.z.object({data:s.z.object({event:s.z.intersection(s.z.object({id:s.z.string(),createdAt:s.z.string().datetime()}),s.z.union([s.z.object({type:s.z.union([s.z.literal("account.created"),s.z.literal("account.updated")]),payload:s.z.object({account:s.z.string()})}),s.z.object({type:s.z.union([s.z.literal("contact.created"),s.z.literal("contact.updated")]),payload:s.z.object({contact:s.z.string()})}),s.z.object({type:s.z.union([s.z.literal("conversation.created"),s.z.literal("conversation.updated"),s.z.literal("conversation.closed"),s.z.literal("conversation.received"),s.z.literal("conversation.resolved"),s.z.literal("conversation.sent")]),payload:s.z.object({conversation:s.z.string()})}),s.z.object({type:s.z.union([s.z.literal("message.created"),s.z.literal("message.updated"),s.z.literal("message.delivered"),s.z.literal("message.failed"),s.z.literal("message.read"),s.z.literal("message.received"),s.z.literal("message.sent")]),payload:s.z.object({message:s.z.string()})})]))})});async event({request:t}){let{data:e}=o.SCHEMA.parse(t.body);return{event:e.event}}};var _=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t),{...e,method:"GET"})}};var y=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/accounts/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var R=class{constructor(t){this._transport=t}get api(){return{get:new _(this._transport),update:new y(this._transport)}}};var T=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/conversation-settings",{...e,method:"GET"})}};var O=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/conversation-settings",{...r,method:"PATCH",json:e})}};var v=class{constructor(t){this._transport=t}get api(){return{get:new T(this._transport),update:new O(this._transport)}}};var w=class{constructor(t){this._transport=t}send({limit:t,request:e={}}={}){return this._transport.send("v1/actions",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}};var F=class{constructor(t){this._transport=t}get api(){return{list:new w(this._transport)}}};var L=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/boilerplate-categories/"+encodeURIComponent(t)+"/boilerplates",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var S=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/boilerplate-categories",{...e,method:"POST",json:t})}};var U=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/boilerplate-categories/"+encodeURIComponent(t),{...e,method:"GET"})}};var I=class{constructor(t){this._transport=t}send({limit:t,include:e,request:r={}}={}){return this._transport.send("v1/boilerplate-categories",{...r,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.includeQuery(e)]})}};var q=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/boilerplate-categories/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var A=class{constructor(t){this._transport=t}get api(){return{get:new U(this._transport),list:new I(this._transport),create:new S(this._transport),update:new q(this._transport),boilerplate:{list:new L(this._transport)}}}};var P=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/boilerplates",{...e,method:"POST",json:t})}};var E=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/boilerplates/"+encodeURIComponent(t),{...e,method:"GET"})}};var G=class{constructor(t){this._transport=t}send({limit:t,query:e,request:r={}}={}){return this._transport.send("v1/boilerplates",{...r,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e)]})}};var N=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/boilerplates/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var B=class{constructor(t){this._transport=t}get api(){return{get:new E(this._transport),list:new G(this._transport),update:new N(this._transport),create:new P(this._transport)}}};var j=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/channels",{...e,method:"POST",json:t})}};var M=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t),{...e,method:"GET"})}};var D=class{constructor(t){this._transport=t}send({limit:t,request:e={}}={}){return this._transport.send("v1/channels",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}};var Zt=require("zod"),H=class o{constructor(t){this._transport=t}static SCHEMA=Zt.z.object({overwrite:Zt.z.boolean().optional()});send(t,{body:e,request:r={}}){return this._transport.send("v1/sources/twilio-sendgrid/channels/"+encodeURIComponent(t)+"/sync",{...r,method:"POST",json:o.SCHEMA.parse(e)})}};var K=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/channels/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var Q=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/composition-sections",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var k=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/messages",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var V=class{constructor(t){this._transport=t}get api(){return{get:new M(this._transport),list:new D(this._transport),update:new K(this._transport),create:new j(this._transport),compositionSection:{list:new Q(this._transport)},message:{list:new k(this._transport)},twilioSendgrid:{sync:new H(this._transport)}}}};var W=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/composition-sections",{...e,method:"POST",json:t})}};var z=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/composition-sections/"+encodeURIComponent(t),{...e,method:"GET"})}};var Y=class{constructor(t){this._transport=t}send({limit:t,request:e={}}={}){return this._transport.send("v1/composition-sections",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}};var $=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/composition-sections/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var J=class{constructor(t){this._transport=t}get api(){return{get:new z(this._transport),list:new Y(this._transport),create:new W(this._transport),update:new $(this._transport)}}};var X=class{constructor(t){this._transport=t}getRelativeURL({id:t,vcf:e={}}){let r=e.variant??"vcard",n=e.format??(r==="vcard"?"vcf":"json");return"v1/contacts/"+encodeURIComponent(t)+"/vcf?variant="+encodeURIComponent(r)+"&format="+encodeURIComponent(n)}getURL(t){return this._transport.getURL(this.getRelativeURL(t))}send(t){return this._transport.send(this.getURL(t),{method:"GET"})}};var Z=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/contacts",{...e,method:"POST",json:t})}};var tt=class{constructor(t){this._transport=t}send(t,{include:e,request:r={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...r,method:"GET",searchParams:[...this._transport.includeQuery(e??{})]})}};var et=class{constructor(t){this._transport=t}send({limit:t,query:e,request:r={}}={}){return this._transport.send("v1/contacts",{...r,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e)]})}};var ot=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var rt=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/conversations",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var nt=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/labels",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var st=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...r,method:"POST",json:e})}};var it=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...e,method:"GET"})}};var at=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notification-subscriptions",{...r,method:"POST",json:e})}};var pt=class{constructor(t){this._transport=t}get api(){return{get:new tt(this._transport),list:new et(this._transport),update:new ot(this._transport),create:new Z(this._transport),conversation:{list:new rt(this._transport)},label:{list:new nt(this._transport)},note:{list:new it(this._transport),create:new st(this._transport)},notificationSubscription:{create:new at(this._transport)},vcf:{get:new X(this._transport)}}}};var ct=class{constructor(t){this._transport=t}send(t,{include:e,request:r={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...r,method:"GET",searchParams:[...this._transport.includeQuery(e??{})]})}};var lt=class{constructor(t){this._transport=t}send({limit:t,filter:e,include:r,request:n={}}={}){return this._transport.send("v1/conversations",{...n,method:"GET",searchParams:[...this._transport.limitQuery(t),...e?[["filter",e]]:[],...this._transport.includeQuery(r??{})]})}};var dt=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var mt=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/labels",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var ut=class{constructor(t){this._transport=t}send(t,{limit:e,include:r,request:n={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/messages",{...n,method:"GET",searchParams:[...this._transport.limitQuery(e),...this._transport.includeQuery(r??{})]})}};var m=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...r,method:"POST",json:e})}};var ht=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...e,method:"GET"})}};var ft=class{constructor(t){this._transport=t}get api(){return{get:new ct(this._transport),list:new lt(this._transport),update:new dt(this._transport),create:new m(this._transport),label:{list:new mt(this._transport)},message:{list:new ut(this._transport)},note:{list:new ht(this._transport),create:new m(this._transport)}}}};var Ct=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/contacts",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var gt=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/conversations",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var bt=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/labels",{...e,method:"POST",json:t})}};var xt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var _t=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...e,method:"GET"})}};var yt=class{constructor(t){this._transport=t}send({limit:t,query:e,include:r,request:n={}}={}){return this._transport.send("v1/labels",{...n,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e),...this._transport.includeQuery(r??{})]})}};var Rt=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var Tt=class{constructor(t){this._transport=t}get api(){return{create:new bt(this._transport),get:new _t(this._transport),list:new yt(this._transport),update:new Rt(this._transport),delete:new xt(this._transport),contact:{list:new Ct(this._transport)},conversation:{list:new gt(this._transport)}}}};var Ot=class{constructor(t){this._transport=t}send({limit:t,include:e,request:r={}}={}){return this._transport.send("v1/messages",{...r,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.includeQuery(e??{})]})}};var vt=class{constructor(t){this._transport=t}get api(){return{list:new Ot(this._transport)}}};var wt=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/correction",{...r,method:"POST",json:e})}};var Ft=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/models/"+encodeURIComponent(t),{...e,method:"GET"})}};var Lt=class{constructor(t){this._transport=t}send({request:t={}}={}){return this._transport.send("v1/models",{...t,method:"GET"})}};var St=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/response",{...r,method:"POST",timeout:12e4,json:e})}};var Ut=class{constructor(t){this._transport=t}get api(){return{get:new Ft(this._transport),list:new Lt(this._transport),response:{create:new St(this._transport)},correction:{create:new wt(this._transport)}}}};var It=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...e,method:"GET"})}};var qt=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var At=class{constructor(t){this._transport=t}get api(){return{get:new It(this._transport),update:new qt(this._transport)}}};var Pt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/sources/"+encodeURIComponent(t),{...e,method:"GET"})}};var Et=class{constructor(t){this._transport=t}send({category:t,request:e={}}={}){let r=[];if(t){let n=Array.isArray(t)?t:[t];for(let a of n)r.push(["category",a])}return this._transport.send("v1/sources",{...e,method:"GET",searchParams:r})}};var Gt=class{constructor(t){this._transport=t}get api(){return{get:new Pt(this._transport),list:new Et(this._transport)}}};var Nt=class{constructor(t){this._transport=t}send({account:t,files:e,request:r={}}){let n=new FormData;for(let a of e)n.append("file",a);return this._transport.send("v1/uploads",{...r,method:"POST",body:n,searchParams:{account:t}})}};var Bt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/uploads/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var jt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/uploads/"+encodeURIComponent(t),{...e,method:"GET"})}};var Mt=class{constructor(t){this._transport=t}get api(){return{get:new jt(this._transport),create:new Nt(this._transport),delete:new Bt(this._transport)}}};var Dt=class{constructor(t){this._transport=t}send({request:t={}}={}){return this._transport.send(".well-known/notifications",{...t,method:"GET"})}};var Ht=class{constructor(t){this._transport=t}get api(){return{notification:{get:new Dt(this._transport)}}}};var Kt=class o{static DEFAULT_BASE_URL=ye;_transport;_account;_accountConversationSettings;_action;_boilerplate;_boilerplateCategory;_channel;_compositionSection;_contact;_conversation;_label;_message;_model;_note;_source;_upload;_webhook;_wellKnown;constructor(t,{baseURL:e,...r}={}){this._transport=new b({requestFilterables:[new h,t],...r,baseURL:e?.toString()??o.getBaseURL()}),this._account=new R(this._transport),this._accountConversationSettings=new v(this._transport),this._action=new F(this._transport),this._boilerplate=new B(this._transport),this._boilerplateCategory=new A(this._transport),this._channel=new V(this._transport),this._compositionSection=new J(this._transport),this._contact=new pt(this._transport),this._conversation=new ft(this._transport),this._label=new Tt(this._transport),this._message=new vt(this._transport),this._model=new Ut(this._transport),this._note=new At(this._transport),this._source=new Gt(this._transport),this._upload=new Mt(this._transport),this._webhook=new x(this),this._wellKnown=new Ht(this._transport)}static getBaseURL(){return process.env[_e]??this.DEFAULT_BASE_URL}get account(){return this._account.api}get accountConversationSettings(){return this._accountConversationSettings.api}get action(){return this._action.api}get boilerplate(){return this._boilerplate.api}get boilerplateCategory(){return this._boilerplateCategory.api}get channel(){return this._channel.api}get compositionSection(){return this._compositionSection.api}get contact(){return this._contact.api}get conversation(){return this._conversation.api}get label(){return this._label.api}get message(){return this._message.api}get model(){return this._model.api}get note(){return this._note.api}get source(){return this._source.api}get upload(){return this._upload.api}get webhook(){return this._webhook}get wellKnown(){return this._wellKnown.api}};var te=require("commander"),Oe=require("ora");function ee({client:o,ora:t}){let e=new te.Command("actions").description("Actions");return e.addCommand(new te.Command("list").description("List actions").action(async()=>{let r=await(0,Oe.oraPromise)(()=>o.action.list.send().json(),{...t,text:"Finding actions"});console.log(r)})),e}var oe=require("commander"),ve=require("ora");function re({client:o,ora:t}){let e=new oe.Command("channels").description("Channels");return e.addCommand(new oe.Command("list").description("List channels").action(async()=>{let r=await(0,ve.oraPromise)(()=>o.channel.list.send().json(),{...t,text:"Finding channels"});console.log(r)})),e}var Qt=require("commander"),zt=require("ora");function ne({client:o,ora:t}){let e=new Qt.Command("contacts").description("Contacts");return e.addCommand(new Qt.Command("get").description("Find contact").argument("<contact>","Contact ID").action(async r=>{let n=await(0,zt.oraPromise)(()=>o.contact.get.send(r).json(),{...t,text:"Finding contact"});console.log(n)})),e.addCommand(new Qt.Command("list").description("List contacts").action(async()=>{let r=await(0,zt.oraPromise)(()=>o.contact.list.send().json(),{...t,text:"Finding contacts"});console.log(r)})),e.addCommand(new Qt.Command("get-vcf").description("Export Contact as VCF").argument("<contact>","Contact ID").action(async r=>{let n=await(0,zt.oraPromise)(()=>o.contact.vcf.get.send({id:r}).response(),{...t,text:"Exporting contact"});console.log(n)})),e}var Yt=require("commander"),se=require("ora");function ie({client:o,ora:t}){let e=new Yt.Command("conversations").description("Conversations");return e.addCommand(new Yt.Command("get").description("Find conversation").argument("<conversation>","Conversation ID").action(async r=>{let n=await(0,se.oraPromise)(()=>o.conversation.get.send(r).json(),{...t,text:"Finding conversation"});console.log(n)})),e.addCommand(new Yt.Command("list").description("List conversations").action(async()=>{let r=await(0,se.oraPromise)(()=>o.conversation.list.send().json(),{...t,text:"Finding conversations"});console.log(r)})),e}var kt=require("commander"),$t=require("ora");function ae({client:o,ora:t}){let e=new kt.Command("labels").description("Labels");return e.addCommand(new kt.Command("get").description("Find label").argument("<label>","Label ID").action(async r=>{let n=await(0,$t.oraPromise)(()=>o.label.get.send(r).json(),{...t,text:"Finding label"});console.log(n)})),e.addCommand(new kt.Command("list").description("List labels").action(async()=>{let r=await(0,$t.oraPromise)(()=>o.label.list.send().json(),{...t,text:"Finding labels"});console.log(r)})),e.addCommand(new kt.Command("conversations").description("Find label conversations").argument("<label>","Label ID").action(async r=>{let n=await(0,$t.oraPromise)(()=>o.label.conversation.list.send(r).json(),{...t,text:"Finding conversations"});console.log(n)})),e}var pe=require("commander"),we=require("ora");function ce({client:o,ora:t}){let e=new pe.Command("messages").description("Messages");return e.addCommand(new pe.Command("list").description("List messages").action(async()=>{let r=await(0,we.oraPromise)(()=>o.message.list.send().json(),{...t,text:"Finding messages"});console.log(r)})),e}var Jt=require("commander"),le=require("ora");function de({client:o,ora:t}){let e=new Jt.Command("models").description("Models");return e.addCommand(new Jt.Command("get").description("Find model").argument("<model>","Model ID").action(async r=>{let n=await(0,le.oraPromise)(()=>o.model.get.send(r).json(),{...t,text:"Finding model"});console.log(n)})),e.addCommand(new Jt.Command("list").description("List models").action(async()=>{let r=await(0,le.oraPromise)(()=>o.model.list.send().json(),{...t,text:"Finding models"});console.log(r)})),e}var Xt=require("commander"),me=require("ora");function ue({client:o,ora:t}){let e=new Xt.Command("sources").description("Sources");return e.addCommand(new Xt.Command("get").description("Find source").argument("<source>","Source ID").action(async r=>{let n=await(0,me.oraPromise)(()=>o.source.get.send(r).json(),{...t,text:"Finding source"});console.log(n)})),e.addCommand(new Xt.Command("list").description("List sources").action(async()=>{let r=await(0,me.oraPromise)(()=>o.source.list.send().json(),{...t,text:"Finding sources"});console.log(r)})),e}var Le=require("commander");var he=require("commander"),Fe=require("ora");function fe({client:o,ora:t}){let e=new he.Command("notifications").description("Well-Known Notifications Details");return e.addCommand(new he.Command("get").description("Get Notifications Server Well-Known Info").action(async()=>{let r=await(0,Fe.oraPromise)(()=>o.wellKnown.notification.get.send().json(),{...t,text:"Finding Notifications Well-Known Info"});console.log(r)})),e}function Ce({client:o,ora:t}){let e=new Le.Command("well-known").description("Well-Known Metadata & Info");return e.addCommand(fe({client:o,ora:t})),e}var p={ora:{spinner:"simpleDotsScrolling"},client:new Kt(new u)},Be=new Se.Command("gds").description("Great Detail Support System").addCommand(ee(p)).addCommand(re(p)).addCommand(ne(p)).addCommand(ie(p)).addCommand(ae(p)).addCommand(ce(p)).addCommand(de(p)).addCommand(ue(p)).addCommand(Ce(p)),je=Be;
1
+ "use strict";var Ae=Object.create;var Wt=Object.defineProperty;var Ee=Object.getOwnPropertyDescriptor;var Pe=Object.getOwnPropertyNames;var Ge=Object.getPrototypeOf,Ne=Object.prototype.hasOwnProperty;var Be=(o,t)=>{for(var e in t)Wt(o,e,{get:t[e],enumerable:!0})},xe=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Pe(t))!Ne.call(o,n)&&n!==e&&Wt(o,n,{get:()=>t[n],enumerable:!(r=Ee(t,n))||r.enumerable});return o};var ye=(o,t,e)=>(e=o!=null?Ae(Ge(o)):{},xe(t||!o||!o.__esModule?Wt(e,"default",{value:o,enumerable:!0}):e,o)),je=o=>xe(Wt({},"__esModule",{value:!0}),o);var He={};Be(He,{default:()=>De});module.exports=je(He);var Ie=require("commander");var h=class{async filter(){return{headers:this.getHeaders()}}getHeaders(){return{}}};var ee="SUPPORT_SIGNING_KEY",Re="SUPPORT_BASE_URL";var Te="https://api.support.greatdetail.com",Oe={"X-Powered-By":"GDSupport/JavaScript"};var f=class o{constructor(t=o.STANDARD_HEADERS){this._standardHeaders=t}static STANDARD_HEADERS=Oe;async filter(){return{headers:this.getHeaders()}}getHeaders(){return this._standardHeaders}};var ve=ye(require("is-network-error"),1),Yt=ye(require("ky"),1);var a=class extends Error{static serverError(t){return new this("Server Error: "+t)}};var l=class extends a{};var C=class extends l{static unauthenticated(){return new this("An unauthenticated request occurred")}};var g=class extends l{static forbidden(){return new this("A forbidden request occurred")}};var c=class extends a{static notFound(t){return new this(`Record not found for request: ${t}`)}static forbiddenMethod(t,e){return new this(`Forbidden method for request: ${t} ${e}`)}static teapot(){return new this("I'm a teapot")}static rateLimited(){return new this("Request has been rate-limited")}};var b=class extends a{};var m=class extends a{static badRequest(){return new this("Bad request")}static unsupportedMediaType(){return new this("Unsupported Media Type")}};var _=class{client;options;constructor({baseURL:t,...e}){this.options={...e,baseURL:t},this.client=Yt.default.create({prefixUrl:this.options.baseURL,timeout:12e3,hooks:{beforeRequest:[r=>{for(let n of this.options.requestFilterables){let i=n.getHeaders();for(let[d,qe]of Object.entries(i))r.headers.has(d)||r.headers.set(d,qe)}}]}})}getURL(t){return new URL(t,this.options.baseURL).toString()}limitQuery(t){let e=[];return t&&e.push(["limit",t.toString()]),e}includeQuery(t){let e=[];if(t===void 0)return e;for(let r of Object.keys(t))e.push(["include",r]);return e}queryQuery(t){let e=[];return t&&e.push(["query",t]),e}send(t,e){let r=this.client(t,e).catch(n=>{if((0,ve.default)(n))throw new b("A network error occurred",{cause:n});if(n instanceof Yt.HTTPError){let i=n.response.status;switch(console.error(JSON.stringify(n.response)),i){case 400:throw m.badRequest();case 401:throw C.unauthenticated();case 403:throw g.forbidden();case 404:throw c.notFound(t);case 405:throw c.forbiddenMethod(t,e.method??"GET");case 415:throw m.unsupportedMediaType();case 418:throw c.teapot();case 429:throw c.rateLimited()}if(i>=500&&i<600)throw a.serverError(i)}throw n});return{response:()=>r,json:async()=>(await r).json()}}};var zt=require("crypto"),s=require("zod");var x=class o{constructor(t){this._client=t}static SCHEMA=s.z.object({data:s.z.object({event:s.z.intersection(s.z.object({id:s.z.string(),createdAt:s.z.string().datetime()}),s.z.union([s.z.object({type:s.z.union([s.z.literal("account.created"),s.z.literal("account.updated")]),payload:s.z.object({account:s.z.string()})}),s.z.object({type:s.z.union([s.z.literal("contact.created"),s.z.literal("contact.updated")]),payload:s.z.object({contact:s.z.string()})}),s.z.object({type:s.z.union([s.z.literal("conversation.created"),s.z.literal("conversation.updated"),s.z.literal("conversation.closed"),s.z.literal("conversation.received"),s.z.literal("conversation.resolved"),s.z.literal("conversation.sent")]),payload:s.z.object({conversation:s.z.string()})}),s.z.object({type:s.z.union([s.z.literal("message.created"),s.z.literal("message.updated"),s.z.literal("message.delivered"),s.z.literal("message.failed"),s.z.literal("message.read"),s.z.literal("message.received"),s.z.literal("message.sent")]),payload:s.z.object({message:s.z.string()})})]))})});async event({key:t=process.env[ee],maxSignatures:e=3,request:r}){let n=r.headers["gds-signature"];if(t!==!1){if(t===void 0)throw new Error("Missing webhook signing key in process.env."+ee);if(!n)throw new Error("Missing signature header");if(!this._verifySignature(t,r.body,Array.isArray(n)?n.slice(0,e):[n]))throw new Error("Untrusted signature")}let{data:i}=o.SCHEMA.parse(r.body);return{event:i.event}}_verifySignature(t,e,r){let n=(0,zt.createHmac)("sha256",t).update(JSON.stringify(e)).digest();for(let i of r){let d=Buffer.from(i,"base64");if(d.length===n.length&&(0,zt.timingSafeEqual)(d,n))return!0}return!1}};var y=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t),{...e,method:"GET"})}};var R=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/accounts/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var T=class{constructor(t){this._transport=t}get api(){return{get:new y(this._transport),update:new R(this._transport)}}};var O=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/conversation-settings",{...e,method:"GET"})}};var v=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/conversation-settings",{...r,method:"PATCH",json:e})}};var w=class{constructor(t){this._transport=t}get api(){return{get:new O(this._transport),update:new v(this._transport)}}};var F=class{constructor(t){this._transport=t}send({limit:t,request:e={}}={}){return this._transport.send("v1/actions",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}};var L=class{constructor(t){this._transport=t}get api(){return{list:new F(this._transport)}}};var S=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/boilerplate-categories/"+encodeURIComponent(t)+"/boilerplates",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var U=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/boilerplate-categories",{...e,method:"POST",json:t})}};var I=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/boilerplate-categories/"+encodeURIComponent(t),{...e,method:"GET"})}};var q=class{constructor(t){this._transport=t}send({limit:t,include:e,request:r={}}={}){return this._transport.send("v1/boilerplate-categories",{...r,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.includeQuery(e)]})}};var A=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/boilerplate-categories/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var E=class{constructor(t){this._transport=t}get api(){return{get:new I(this._transport),list:new q(this._transport),create:new U(this._transport),update:new A(this._transport),boilerplate:{list:new S(this._transport)}}}};var P=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/boilerplates",{...e,method:"POST",json:t})}};var G=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/boilerplates/"+encodeURIComponent(t),{...e,method:"GET"})}};var N=class{constructor(t){this._transport=t}send({limit:t,query:e,request:r={}}={}){return this._transport.send("v1/boilerplates",{...r,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e)]})}};var B=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/boilerplates/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var j=class{constructor(t){this._transport=t}get api(){return{get:new G(this._transport),list:new N(this._transport),update:new B(this._transport),create:new P(this._transport)}}};var M=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/channels",{...e,method:"POST",json:t})}};var D=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t),{...e,method:"GET"})}};var H=class{constructor(t){this._transport=t}send({limit:t,request:e={}}={}){return this._transport.send("v1/channels",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}};var oe=require("zod"),K=class o{constructor(t){this._transport=t}static SCHEMA=oe.z.object({overwrite:oe.z.boolean().optional()});send(t,{body:e,request:r={}}){return this._transport.send("v1/sources/twilio-sendgrid/channels/"+encodeURIComponent(t)+"/sync",{...r,method:"POST",json:o.SCHEMA.parse(e)})}};var Q=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/channels/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var k=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/composition-sections",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var V=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/messages",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var W=class{constructor(t){this._transport=t}get api(){return{get:new D(this._transport),list:new H(this._transport),update:new Q(this._transport),create:new M(this._transport),compositionSection:{list:new k(this._transport)},message:{list:new V(this._transport)},twilioSendgrid:{sync:new K(this._transport)}}}};var Y=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/composition-sections",{...e,method:"POST",json:t})}};var z=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/composition-sections/"+encodeURIComponent(t),{...e,method:"GET"})}};var J=class{constructor(t){this._transport=t}send({limit:t,request:e={}}={}){return this._transport.send("v1/composition-sections",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}};var $=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/composition-sections/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var X=class{constructor(t){this._transport=t}get api(){return{get:new z(this._transport),list:new J(this._transport),create:new Y(this._transport),update:new $(this._transport)}}};var Z=class{constructor(t){this._transport=t}getRelativeURL({id:t,vcf:e={}}){let r=e.variant??"vcard",n=e.format??(r==="vcard"?"vcf":"json");return"v1/contacts/"+encodeURIComponent(t)+"/vcf?variant="+encodeURIComponent(r)+"&format="+encodeURIComponent(n)}getURL(t){return this._transport.getURL(this.getRelativeURL(t))}send(t){return this._transport.send(this.getURL(t),{method:"GET"})}};var tt=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/contacts",{...e,method:"POST",json:t})}};var et=class{constructor(t){this._transport=t}send(t,{include:e,request:r={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...r,method:"GET",searchParams:[...this._transport.includeQuery(e??{})]})}};var ot=class{constructor(t){this._transport=t}send({limit:t,query:e,request:r={}}={}){return this._transport.send("v1/contacts",{...r,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e)]})}};var rt=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var nt=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/conversations",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var st=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/labels",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var it=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...r,method:"POST",json:e})}};var at=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...e,method:"GET"})}};var pt=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notification-subscriptions",{...r,method:"POST",json:e})}};var ct=class{constructor(t){this._transport=t}get api(){return{get:new et(this._transport),list:new ot(this._transport),update:new rt(this._transport),create:new tt(this._transport),conversation:{list:new nt(this._transport)},label:{list:new st(this._transport)},note:{list:new at(this._transport),create:new it(this._transport)},notificationSubscription:{create:new pt(this._transport)},vcf:{get:new Z(this._transport)}}}};var lt=class{constructor(t){this._transport=t}send(t,{include:e,request:r={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...r,method:"GET",searchParams:[...this._transport.includeQuery(e??{})]})}};var dt=class{constructor(t){this._transport=t}send({limit:t,filter:e,include:r,request:n={}}={}){return this._transport.send("v1/conversations",{...n,method:"GET",searchParams:[...this._transport.limitQuery(t),...e?[["filter",e]]:[],...this._transport.includeQuery(r??{})]})}};var mt=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var ut=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/labels",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var ht=class{constructor(t){this._transport=t}send(t,{limit:e,include:r,request:n={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/messages",{...n,method:"GET",searchParams:[...this._transport.limitQuery(e),...this._transport.includeQuery(r??{})]})}};var u=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...r,method:"POST",json:e})}};var ft=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...e,method:"GET"})}};var Ct=class{constructor(t){this._transport=t}get api(){return{get:new lt(this._transport),list:new dt(this._transport),update:new mt(this._transport),create:new u(this._transport),label:{list:new ut(this._transport)},message:{list:new ht(this._transport)},note:{list:new ft(this._transport),create:new u(this._transport)}}}};var gt=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/contacts",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var bt=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/conversations",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var _t=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/labels",{...e,method:"POST",json:t})}};var xt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var yt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...e,method:"GET"})}};var Rt=class{constructor(t){this._transport=t}send({limit:t,query:e,include:r,request:n={}}={}){return this._transport.send("v1/labels",{...n,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e),...this._transport.includeQuery(r??{})]})}};var Tt=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var Ot=class{constructor(t){this._transport=t}get api(){return{create:new _t(this._transport),get:new yt(this._transport),list:new Rt(this._transport),update:new Tt(this._transport),delete:new xt(this._transport),contact:{list:new gt(this._transport)},conversation:{list:new bt(this._transport)}}}};var vt=class{constructor(t){this._transport=t}send({limit:t,include:e,request:r={}}={}){return this._transport.send("v1/messages",{...r,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.includeQuery(e??{})]})}};var wt=class{constructor(t){this._transport=t}get api(){return{list:new vt(this._transport)}}};var Ft=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/correction",{...r,method:"POST",json:e})}};var Lt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/models/"+encodeURIComponent(t),{...e,method:"GET"})}};var St=class{constructor(t){this._transport=t}send({request:t={}}={}){return this._transport.send("v1/models",{...t,method:"GET"})}};var Ut=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/response",{...r,method:"POST",timeout:12e4,json:e})}};var It=class{constructor(t){this._transport=t}get api(){return{get:new Lt(this._transport),list:new St(this._transport),response:{create:new Ut(this._transport)},correction:{create:new Ft(this._transport)}}}};var qt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...e,method:"GET"})}};var At=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var Et=class{constructor(t){this._transport=t}get api(){return{get:new qt(this._transport),update:new At(this._transport)}}};var Pt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/sources/"+encodeURIComponent(t),{...e,method:"GET"})}};var Gt=class{constructor(t){this._transport=t}send({category:t,request:e={}}={}){let r=[];if(t){let n=Array.isArray(t)?t:[t];for(let i of n)r.push(["category",i])}return this._transport.send("v1/sources",{...e,method:"GET",searchParams:r})}};var Nt=class{constructor(t){this._transport=t}get api(){return{get:new Pt(this._transport),list:new Gt(this._transport)}}};var Bt=class{constructor(t){this._transport=t}send({account:t,files:e,request:r={}}){let n=new FormData;for(let i of e)n.append("file",i);return this._transport.send("v1/uploads",{...r,method:"POST",body:n,searchParams:{account:t}})}};var jt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/uploads/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var Mt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/uploads/"+encodeURIComponent(t),{...e,method:"GET"})}};var Dt=class{constructor(t){this._transport=t}get api(){return{get:new Mt(this._transport),create:new Bt(this._transport),delete:new jt(this._transport)}}};var Ht=class{constructor(t){this._transport=t}send({request:t={}}={}){return this._transport.send(".well-known/notifications",{...t,method:"GET"})}};var Kt=class{constructor(t){this._transport=t}get api(){return{notification:{get:new Ht(this._transport)}}}};var Qt=class o{static DEFAULT_BASE_URL=Te;_transport;_account;_accountConversationSettings;_action;_boilerplate;_boilerplateCategory;_channel;_compositionSection;_contact;_conversation;_label;_message;_model;_note;_source;_upload;_webhook;_wellKnown;constructor(t,{baseURL:e,...r}={}){this._transport=new _({requestFilterables:[new f,t],...r,baseURL:e?.toString()??o.getBaseURL()}),this._account=new T(this._transport),this._accountConversationSettings=new w(this._transport),this._action=new L(this._transport),this._boilerplate=new j(this._transport),this._boilerplateCategory=new E(this._transport),this._channel=new W(this._transport),this._compositionSection=new X(this._transport),this._contact=new ct(this._transport),this._conversation=new Ct(this._transport),this._label=new Ot(this._transport),this._message=new wt(this._transport),this._model=new It(this._transport),this._note=new Et(this._transport),this._source=new Nt(this._transport),this._upload=new Dt(this._transport),this._webhook=new x(this),this._wellKnown=new Kt(this._transport)}static getBaseURL(){return process.env[Re]??this.DEFAULT_BASE_URL}get account(){return this._account.api}get accountConversationSettings(){return this._accountConversationSettings.api}get action(){return this._action.api}get boilerplate(){return this._boilerplate.api}get boilerplateCategory(){return this._boilerplateCategory.api}get channel(){return this._channel.api}get compositionSection(){return this._compositionSection.api}get contact(){return this._contact.api}get conversation(){return this._conversation.api}get label(){return this._label.api}get message(){return this._message.api}get model(){return this._model.api}get note(){return this._note.api}get source(){return this._source.api}get upload(){return this._upload.api}get webhook(){return this._webhook}get wellKnown(){return this._wellKnown.api}};var re=require("commander"),we=require("ora");function ne({client:o,ora:t}){let e=new re.Command("actions").description("Actions");return e.addCommand(new re.Command("list").description("List actions").action(async()=>{let r=await(0,we.oraPromise)(()=>o.action.list.send().json(),{...t,text:"Finding actions"});console.log(r)})),e}var se=require("commander"),Fe=require("ora");function ie({client:o,ora:t}){let e=new se.Command("channels").description("Channels");return e.addCommand(new se.Command("list").description("List channels").action(async()=>{let r=await(0,Fe.oraPromise)(()=>o.channel.list.send().json(),{...t,text:"Finding channels"});console.log(r)})),e}var kt=require("commander"),Jt=require("ora");function ae({client:o,ora:t}){let e=new kt.Command("contacts").description("Contacts");return e.addCommand(new kt.Command("get").description("Find contact").argument("<contact>","Contact ID").action(async r=>{let n=await(0,Jt.oraPromise)(()=>o.contact.get.send(r).json(),{...t,text:"Finding contact"});console.log(n)})),e.addCommand(new kt.Command("list").description("List contacts").action(async()=>{let r=await(0,Jt.oraPromise)(()=>o.contact.list.send().json(),{...t,text:"Finding contacts"});console.log(r)})),e.addCommand(new kt.Command("get-vcf").description("Export Contact as VCF").argument("<contact>","Contact ID").action(async r=>{let n=await(0,Jt.oraPromise)(()=>o.contact.vcf.get.send({id:r}).response(),{...t,text:"Exporting contact"});console.log(n)})),e}var $t=require("commander"),pe=require("ora");function ce({client:o,ora:t}){let e=new $t.Command("conversations").description("Conversations");return e.addCommand(new $t.Command("get").description("Find conversation").argument("<conversation>","Conversation ID").action(async r=>{let n=await(0,pe.oraPromise)(()=>o.conversation.get.send(r).json(),{...t,text:"Finding conversation"});console.log(n)})),e.addCommand(new $t.Command("list").description("List conversations").action(async()=>{let r=await(0,pe.oraPromise)(()=>o.conversation.list.send().json(),{...t,text:"Finding conversations"});console.log(r)})),e}var Vt=require("commander"),Xt=require("ora");function le({client:o,ora:t}){let e=new Vt.Command("labels").description("Labels");return e.addCommand(new Vt.Command("get").description("Find label").argument("<label>","Label ID").action(async r=>{let n=await(0,Xt.oraPromise)(()=>o.label.get.send(r).json(),{...t,text:"Finding label"});console.log(n)})),e.addCommand(new Vt.Command("list").description("List labels").action(async()=>{let r=await(0,Xt.oraPromise)(()=>o.label.list.send().json(),{...t,text:"Finding labels"});console.log(r)})),e.addCommand(new Vt.Command("conversations").description("Find label conversations").argument("<label>","Label ID").action(async r=>{let n=await(0,Xt.oraPromise)(()=>o.label.conversation.list.send(r).json(),{...t,text:"Finding conversations"});console.log(n)})),e}var de=require("commander"),Le=require("ora");function me({client:o,ora:t}){let e=new de.Command("messages").description("Messages");return e.addCommand(new de.Command("list").description("List messages").action(async()=>{let r=await(0,Le.oraPromise)(()=>o.message.list.send().json(),{...t,text:"Finding messages"});console.log(r)})),e}var Zt=require("commander"),ue=require("ora");function he({client:o,ora:t}){let e=new Zt.Command("models").description("Models");return e.addCommand(new Zt.Command("get").description("Find model").argument("<model>","Model ID").action(async r=>{let n=await(0,ue.oraPromise)(()=>o.model.get.send(r).json(),{...t,text:"Finding model"});console.log(n)})),e.addCommand(new Zt.Command("list").description("List models").action(async()=>{let r=await(0,ue.oraPromise)(()=>o.model.list.send().json(),{...t,text:"Finding models"});console.log(r)})),e}var te=require("commander"),fe=require("ora");function Ce({client:o,ora:t}){let e=new te.Command("sources").description("Sources");return e.addCommand(new te.Command("get").description("Find source").argument("<source>","Source ID").action(async r=>{let n=await(0,fe.oraPromise)(()=>o.source.get.send(r).json(),{...t,text:"Finding source"});console.log(n)})),e.addCommand(new te.Command("list").description("List sources").action(async()=>{let r=await(0,fe.oraPromise)(()=>o.source.list.send().json(),{...t,text:"Finding sources"});console.log(r)})),e}var Ue=require("commander");var ge=require("commander"),Se=require("ora");function be({client:o,ora:t}){let e=new ge.Command("notifications").description("Well-Known Notifications Details");return e.addCommand(new ge.Command("get").description("Get Notifications Server Well-Known Info").action(async()=>{let r=await(0,Se.oraPromise)(()=>o.wellKnown.notification.get.send().json(),{...t,text:"Finding Notifications Well-Known Info"});console.log(r)})),e}function _e({client:o,ora:t}){let e=new Ue.Command("well-known").description("Well-Known Metadata & Info");return e.addCommand(be({client:o,ora:t})),e}var p={ora:{spinner:"simpleDotsScrolling"},client:new Qt(new h)},Me=new Ie.Command("gds").description("Great Detail Support System").addCommand(ne(p)).addCommand(ie(p)).addCommand(ae(p)).addCommand(ce(p)).addCommand(le(p)).addCommand(me(p)).addCommand(he(p)).addCommand(Ce(p)).addCommand(_e(p)),De=Me;
@@ -1,5 +1,5 @@
1
1
  import { Command } from 'commander';
2
- import { C as Client } from '../index-Dmilz6R9.cjs';
2
+ import { C as Client } from '../index-C0tSpOC2.cjs';
3
3
  import { Options as Options$1 } from 'ora';
4
4
  import 'ky';
5
5
  import 'zod';
@@ -1,5 +1,5 @@
1
1
  import { Command } from 'commander';
2
- import { C as Client } from '../index-Dmilz6R9.js';
2
+ import { C as Client } from '../index-C0tSpOC2.js';
3
3
  import { Options as Options$1 } from 'ora';
4
4
  import 'ky';
5
5
  import 'zod';
package/dist/cli/index.js CHANGED
@@ -1 +1 @@
1
- import{a}from"../chunk-O2ZZDDIT.js";import"../chunk-3IK5HEB7.js";export{a as default};
1
+ import{a}from"../chunk-EXESIRRS.js";import"../chunk-ZHQA7EWT.js";export{a as default};
package/dist/cli.cjs CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- "use strict";var Ie=Object.create;var ge=Object.defineProperty;var qe=Object.getOwnPropertyDescriptor;var Ae=Object.getOwnPropertyNames;var Pe=Object.getPrototypeOf,Ee=Object.prototype.hasOwnProperty;var Ge=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Ae(t))!Ee.call(o,n)&&n!==e&&ge(o,n,{get:()=>t[n],enumerable:!(r=qe(t,n))||r.enumerable});return o};var be=(o,t,e)=>(e=o!=null?Ie(Pe(o)):{},Ge(t||!o||!o.__esModule?ge(e,"default",{value:o,enumerable:!0}):e,o));var Le=require("commander");var u=class{async filter(){return{headers:this.getHeaders()}}getHeaders(){return{}}};var xe="SUPPORT_BASE_URL";var _e="https://api.support.greatdetail.com",ye={"X-Powered-By":"GDSupport/JavaScript"};var h=class o{constructor(t=o.STANDARD_HEADERS){this._standardHeaders=t}static STANDARD_HEADERS=ye;async filter(){return{headers:this.getHeaders()}}getHeaders(){return this._standardHeaders}};var Re=be(require("is-network-error"),1),Vt=be(require("ky"),1);var i=class extends Error{static serverError(t){return new this("Server Error: "+t)}};var l=class extends i{};var f=class extends l{static unauthenticated(){return new this("An unauthenticated request occurred")}};var C=class extends l{static forbidden(){return new this("A forbidden request occurred")}};var c=class extends i{static notFound(t){return new this(`Record not found for request: ${t}`)}static forbiddenMethod(t,e){return new this(`Forbidden method for request: ${t} ${e}`)}static teapot(){return new this("I'm a teapot")}static rateLimited(){return new this("Request has been rate-limited")}};var g=class extends i{};var d=class extends i{static badRequest(){return new this("Bad request")}static unsupportedMediaType(){return new this("Unsupported Media Type")}};var b=class{client;options;constructor({baseURL:t,...e}){this.options={...e,baseURL:t},this.client=Vt.default.create({prefixUrl:this.options.baseURL,timeout:12e3,hooks:{beforeRequest:[r=>{for(let n of this.options.requestFilterables){let a=n.getHeaders();for(let[Ce,Ue]of Object.entries(a))r.headers.has(Ce)||r.headers.set(Ce,Ue)}}]}})}getURL(t){return new URL(t,this.options.baseURL).toString()}limitQuery(t){let e=[];return t&&e.push(["limit",t.toString()]),e}includeQuery(t){let e=[];if(t===void 0)return e;for(let r of Object.keys(t))e.push(["include",r]);return e}queryQuery(t){let e=[];return t&&e.push(["query",t]),e}send(t,e){let r=this.client(t,e).catch(n=>{if((0,Re.default)(n))throw new g("A network error occurred",{cause:n});if(n instanceof Vt.HTTPError){let a=n.response.status;switch(console.error(JSON.stringify(n.response)),a){case 400:throw d.badRequest();case 401:throw f.unauthenticated();case 403:throw C.forbidden();case 404:throw c.notFound(t);case 405:throw c.forbiddenMethod(t,e.method??"GET");case 415:throw d.unsupportedMediaType();case 418:throw c.teapot();case 429:throw c.rateLimited()}if(a>=500&&a<600)throw i.serverError(a)}throw n});return{response:()=>r,json:async()=>(await r).json()}}};var s=require("zod"),x=class o{constructor(t){this._client=t}static SCHEMA=s.z.object({data:s.z.object({event:s.z.intersection(s.z.object({id:s.z.string(),createdAt:s.z.string().datetime()}),s.z.union([s.z.object({type:s.z.union([s.z.literal("account.created"),s.z.literal("account.updated")]),payload:s.z.object({account:s.z.string()})}),s.z.object({type:s.z.union([s.z.literal("contact.created"),s.z.literal("contact.updated")]),payload:s.z.object({contact:s.z.string()})}),s.z.object({type:s.z.union([s.z.literal("conversation.created"),s.z.literal("conversation.updated"),s.z.literal("conversation.closed"),s.z.literal("conversation.received"),s.z.literal("conversation.resolved"),s.z.literal("conversation.sent")]),payload:s.z.object({conversation:s.z.string()})}),s.z.object({type:s.z.union([s.z.literal("message.created"),s.z.literal("message.updated"),s.z.literal("message.delivered"),s.z.literal("message.failed"),s.z.literal("message.read"),s.z.literal("message.received"),s.z.literal("message.sent")]),payload:s.z.object({message:s.z.string()})})]))})});async event({request:t}){let{data:e}=o.SCHEMA.parse(t.body);return{event:e.event}}};var _=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t),{...e,method:"GET"})}};var y=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/accounts/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var R=class{constructor(t){this._transport=t}get api(){return{get:new _(this._transport),update:new y(this._transport)}}};var T=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/conversation-settings",{...e,method:"GET"})}};var O=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/conversation-settings",{...r,method:"PATCH",json:e})}};var v=class{constructor(t){this._transport=t}get api(){return{get:new T(this._transport),update:new O(this._transport)}}};var w=class{constructor(t){this._transport=t}send({limit:t,request:e={}}={}){return this._transport.send("v1/actions",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}};var F=class{constructor(t){this._transport=t}get api(){return{list:new w(this._transport)}}};var L=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/boilerplate-categories/"+encodeURIComponent(t)+"/boilerplates",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var S=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/boilerplate-categories",{...e,method:"POST",json:t})}};var U=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/boilerplate-categories/"+encodeURIComponent(t),{...e,method:"GET"})}};var I=class{constructor(t){this._transport=t}send({limit:t,include:e,request:r={}}={}){return this._transport.send("v1/boilerplate-categories",{...r,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.includeQuery(e)]})}};var q=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/boilerplate-categories/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var A=class{constructor(t){this._transport=t}get api(){return{get:new U(this._transport),list:new I(this._transport),create:new S(this._transport),update:new q(this._transport),boilerplate:{list:new L(this._transport)}}}};var P=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/boilerplates",{...e,method:"POST",json:t})}};var E=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/boilerplates/"+encodeURIComponent(t),{...e,method:"GET"})}};var G=class{constructor(t){this._transport=t}send({limit:t,query:e,request:r={}}={}){return this._transport.send("v1/boilerplates",{...r,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e)]})}};var N=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/boilerplates/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var B=class{constructor(t){this._transport=t}get api(){return{get:new E(this._transport),list:new G(this._transport),update:new N(this._transport),create:new P(this._transport)}}};var j=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/channels",{...e,method:"POST",json:t})}};var M=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t),{...e,method:"GET"})}};var D=class{constructor(t){this._transport=t}send({limit:t,request:e={}}={}){return this._transport.send("v1/channels",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}};var Xt=require("zod"),H=class o{constructor(t){this._transport=t}static SCHEMA=Xt.z.object({overwrite:Xt.z.boolean().optional()});send(t,{body:e,request:r={}}){return this._transport.send("v1/sources/twilio-sendgrid/channels/"+encodeURIComponent(t)+"/sync",{...r,method:"POST",json:o.SCHEMA.parse(e)})}};var K=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/channels/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var Q=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/composition-sections",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var k=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/messages",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var V=class{constructor(t){this._transport=t}get api(){return{get:new M(this._transport),list:new D(this._transport),update:new K(this._transport),create:new j(this._transport),compositionSection:{list:new Q(this._transport)},message:{list:new k(this._transport)},twilioSendgrid:{sync:new H(this._transport)}}}};var W=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/composition-sections",{...e,method:"POST",json:t})}};var z=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/composition-sections/"+encodeURIComponent(t),{...e,method:"GET"})}};var Y=class{constructor(t){this._transport=t}send({limit:t,request:e={}}={}){return this._transport.send("v1/composition-sections",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}};var $=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/composition-sections/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var J=class{constructor(t){this._transport=t}get api(){return{get:new z(this._transport),list:new Y(this._transport),create:new W(this._transport),update:new $(this._transport)}}};var X=class{constructor(t){this._transport=t}getRelativeURL({id:t,vcf:e={}}){let r=e.variant??"vcard",n=e.format??(r==="vcard"?"vcf":"json");return"v1/contacts/"+encodeURIComponent(t)+"/vcf?variant="+encodeURIComponent(r)+"&format="+encodeURIComponent(n)}getURL(t){return this._transport.getURL(this.getRelativeURL(t))}send(t){return this._transport.send(this.getURL(t),{method:"GET"})}};var Z=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/contacts",{...e,method:"POST",json:t})}};var tt=class{constructor(t){this._transport=t}send(t,{include:e,request:r={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...r,method:"GET",searchParams:[...this._transport.includeQuery(e??{})]})}};var et=class{constructor(t){this._transport=t}send({limit:t,query:e,request:r={}}={}){return this._transport.send("v1/contacts",{...r,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e)]})}};var ot=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var rt=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/conversations",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var nt=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/labels",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var st=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...r,method:"POST",json:e})}};var it=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...e,method:"GET"})}};var at=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notification-subscriptions",{...r,method:"POST",json:e})}};var pt=class{constructor(t){this._transport=t}get api(){return{get:new tt(this._transport),list:new et(this._transport),update:new ot(this._transport),create:new Z(this._transport),conversation:{list:new rt(this._transport)},label:{list:new nt(this._transport)},note:{list:new it(this._transport),create:new st(this._transport)},notificationSubscription:{create:new at(this._transport)},vcf:{get:new X(this._transport)}}}};var ct=class{constructor(t){this._transport=t}send(t,{include:e,request:r={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...r,method:"GET",searchParams:[...this._transport.includeQuery(e??{})]})}};var lt=class{constructor(t){this._transport=t}send({limit:t,filter:e,include:r,request:n={}}={}){return this._transport.send("v1/conversations",{...n,method:"GET",searchParams:[...this._transport.limitQuery(t),...e?[["filter",e]]:[],...this._transport.includeQuery(r??{})]})}};var dt=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var mt=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/labels",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var ut=class{constructor(t){this._transport=t}send(t,{limit:e,include:r,request:n={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/messages",{...n,method:"GET",searchParams:[...this._transport.limitQuery(e),...this._transport.includeQuery(r??{})]})}};var m=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...r,method:"POST",json:e})}};var ht=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...e,method:"GET"})}};var ft=class{constructor(t){this._transport=t}get api(){return{get:new ct(this._transport),list:new lt(this._transport),update:new dt(this._transport),create:new m(this._transport),label:{list:new mt(this._transport)},message:{list:new ut(this._transport)},note:{list:new ht(this._transport),create:new m(this._transport)}}}};var Ct=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/contacts",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var gt=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/conversations",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var bt=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/labels",{...e,method:"POST",json:t})}};var xt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var _t=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...e,method:"GET"})}};var yt=class{constructor(t){this._transport=t}send({limit:t,query:e,include:r,request:n={}}={}){return this._transport.send("v1/labels",{...n,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e),...this._transport.includeQuery(r??{})]})}};var Rt=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var Tt=class{constructor(t){this._transport=t}get api(){return{create:new bt(this._transport),get:new _t(this._transport),list:new yt(this._transport),update:new Rt(this._transport),delete:new xt(this._transport),contact:{list:new Ct(this._transport)},conversation:{list:new gt(this._transport)}}}};var Ot=class{constructor(t){this._transport=t}send({limit:t,include:e,request:r={}}={}){return this._transport.send("v1/messages",{...r,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.includeQuery(e??{})]})}};var vt=class{constructor(t){this._transport=t}get api(){return{list:new Ot(this._transport)}}};var wt=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/correction",{...r,method:"POST",json:e})}};var Ft=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/models/"+encodeURIComponent(t),{...e,method:"GET"})}};var Lt=class{constructor(t){this._transport=t}send({request:t={}}={}){return this._transport.send("v1/models",{...t,method:"GET"})}};var St=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/response",{...r,method:"POST",timeout:12e4,json:e})}};var Ut=class{constructor(t){this._transport=t}get api(){return{get:new Ft(this._transport),list:new Lt(this._transport),response:{create:new St(this._transport)},correction:{create:new wt(this._transport)}}}};var It=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...e,method:"GET"})}};var qt=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var At=class{constructor(t){this._transport=t}get api(){return{get:new It(this._transport),update:new qt(this._transport)}}};var Pt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/sources/"+encodeURIComponent(t),{...e,method:"GET"})}};var Et=class{constructor(t){this._transport=t}send({category:t,request:e={}}={}){let r=[];if(t){let n=Array.isArray(t)?t:[t];for(let a of n)r.push(["category",a])}return this._transport.send("v1/sources",{...e,method:"GET",searchParams:r})}};var Gt=class{constructor(t){this._transport=t}get api(){return{get:new Pt(this._transport),list:new Et(this._transport)}}};var Nt=class{constructor(t){this._transport=t}send({account:t,files:e,request:r={}}){let n=new FormData;for(let a of e)n.append("file",a);return this._transport.send("v1/uploads",{...r,method:"POST",body:n,searchParams:{account:t}})}};var Bt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/uploads/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var jt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/uploads/"+encodeURIComponent(t),{...e,method:"GET"})}};var Mt=class{constructor(t){this._transport=t}get api(){return{get:new jt(this._transport),create:new Nt(this._transport),delete:new Bt(this._transport)}}};var Dt=class{constructor(t){this._transport=t}send({request:t={}}={}){return this._transport.send(".well-known/notifications",{...t,method:"GET"})}};var Ht=class{constructor(t){this._transport=t}get api(){return{notification:{get:new Dt(this._transport)}}}};var Kt=class o{static DEFAULT_BASE_URL=_e;_transport;_account;_accountConversationSettings;_action;_boilerplate;_boilerplateCategory;_channel;_compositionSection;_contact;_conversation;_label;_message;_model;_note;_source;_upload;_webhook;_wellKnown;constructor(t,{baseURL:e,...r}={}){this._transport=new b({requestFilterables:[new h,t],...r,baseURL:e?.toString()??o.getBaseURL()}),this._account=new R(this._transport),this._accountConversationSettings=new v(this._transport),this._action=new F(this._transport),this._boilerplate=new B(this._transport),this._boilerplateCategory=new A(this._transport),this._channel=new V(this._transport),this._compositionSection=new J(this._transport),this._contact=new pt(this._transport),this._conversation=new ft(this._transport),this._label=new Tt(this._transport),this._message=new vt(this._transport),this._model=new Ut(this._transport),this._note=new At(this._transport),this._source=new Gt(this._transport),this._upload=new Mt(this._transport),this._webhook=new x(this),this._wellKnown=new Ht(this._transport)}static getBaseURL(){return process.env[xe]??this.DEFAULT_BASE_URL}get account(){return this._account.api}get accountConversationSettings(){return this._accountConversationSettings.api}get action(){return this._action.api}get boilerplate(){return this._boilerplate.api}get boilerplateCategory(){return this._boilerplateCategory.api}get channel(){return this._channel.api}get compositionSection(){return this._compositionSection.api}get contact(){return this._contact.api}get conversation(){return this._conversation.api}get label(){return this._label.api}get message(){return this._message.api}get model(){return this._model.api}get note(){return this._note.api}get source(){return this._source.api}get upload(){return this._upload.api}get webhook(){return this._webhook}get wellKnown(){return this._wellKnown.api}};var Zt=require("commander"),Te=require("ora");function te({client:o,ora:t}){let e=new Zt.Command("actions").description("Actions");return e.addCommand(new Zt.Command("list").description("List actions").action(async()=>{let r=await(0,Te.oraPromise)(()=>o.action.list.send().json(),{...t,text:"Finding actions"});console.log(r)})),e}var ee=require("commander"),Oe=require("ora");function oe({client:o,ora:t}){let e=new ee.Command("channels").description("Channels");return e.addCommand(new ee.Command("list").description("List channels").action(async()=>{let r=await(0,Oe.oraPromise)(()=>o.channel.list.send().json(),{...t,text:"Finding channels"});console.log(r)})),e}var Qt=require("commander"),Wt=require("ora");function re({client:o,ora:t}){let e=new Qt.Command("contacts").description("Contacts");return e.addCommand(new Qt.Command("get").description("Find contact").argument("<contact>","Contact ID").action(async r=>{let n=await(0,Wt.oraPromise)(()=>o.contact.get.send(r).json(),{...t,text:"Finding contact"});console.log(n)})),e.addCommand(new Qt.Command("list").description("List contacts").action(async()=>{let r=await(0,Wt.oraPromise)(()=>o.contact.list.send().json(),{...t,text:"Finding contacts"});console.log(r)})),e.addCommand(new Qt.Command("get-vcf").description("Export Contact as VCF").argument("<contact>","Contact ID").action(async r=>{let n=await(0,Wt.oraPromise)(()=>o.contact.vcf.get.send({id:r}).response(),{...t,text:"Exporting contact"});console.log(n)})),e}var zt=require("commander"),ne=require("ora");function se({client:o,ora:t}){let e=new zt.Command("conversations").description("Conversations");return e.addCommand(new zt.Command("get").description("Find conversation").argument("<conversation>","Conversation ID").action(async r=>{let n=await(0,ne.oraPromise)(()=>o.conversation.get.send(r).json(),{...t,text:"Finding conversation"});console.log(n)})),e.addCommand(new zt.Command("list").description("List conversations").action(async()=>{let r=await(0,ne.oraPromise)(()=>o.conversation.list.send().json(),{...t,text:"Finding conversations"});console.log(r)})),e}var kt=require("commander"),Yt=require("ora");function ie({client:o,ora:t}){let e=new kt.Command("labels").description("Labels");return e.addCommand(new kt.Command("get").description("Find label").argument("<label>","Label ID").action(async r=>{let n=await(0,Yt.oraPromise)(()=>o.label.get.send(r).json(),{...t,text:"Finding label"});console.log(n)})),e.addCommand(new kt.Command("list").description("List labels").action(async()=>{let r=await(0,Yt.oraPromise)(()=>o.label.list.send().json(),{...t,text:"Finding labels"});console.log(r)})),e.addCommand(new kt.Command("conversations").description("Find label conversations").argument("<label>","Label ID").action(async r=>{let n=await(0,Yt.oraPromise)(()=>o.label.conversation.list.send(r).json(),{...t,text:"Finding conversations"});console.log(n)})),e}var ae=require("commander"),ve=require("ora");function pe({client:o,ora:t}){let e=new ae.Command("messages").description("Messages");return e.addCommand(new ae.Command("list").description("List messages").action(async()=>{let r=await(0,ve.oraPromise)(()=>o.message.list.send().json(),{...t,text:"Finding messages"});console.log(r)})),e}var $t=require("commander"),ce=require("ora");function le({client:o,ora:t}){let e=new $t.Command("models").description("Models");return e.addCommand(new $t.Command("get").description("Find model").argument("<model>","Model ID").action(async r=>{let n=await(0,ce.oraPromise)(()=>o.model.get.send(r).json(),{...t,text:"Finding model"});console.log(n)})),e.addCommand(new $t.Command("list").description("List models").action(async()=>{let r=await(0,ce.oraPromise)(()=>o.model.list.send().json(),{...t,text:"Finding models"});console.log(r)})),e}var Jt=require("commander"),de=require("ora");function me({client:o,ora:t}){let e=new Jt.Command("sources").description("Sources");return e.addCommand(new Jt.Command("get").description("Find source").argument("<source>","Source ID").action(async r=>{let n=await(0,de.oraPromise)(()=>o.source.get.send(r).json(),{...t,text:"Finding source"});console.log(n)})),e.addCommand(new Jt.Command("list").description("List sources").action(async()=>{let r=await(0,de.oraPromise)(()=>o.source.list.send().json(),{...t,text:"Finding sources"});console.log(r)})),e}var Fe=require("commander");var ue=require("commander"),we=require("ora");function he({client:o,ora:t}){let e=new ue.Command("notifications").description("Well-Known Notifications Details");return e.addCommand(new ue.Command("get").description("Get Notifications Server Well-Known Info").action(async()=>{let r=await(0,we.oraPromise)(()=>o.wellKnown.notification.get.send().json(),{...t,text:"Finding Notifications Well-Known Info"});console.log(r)})),e}function fe({client:o,ora:t}){let e=new Fe.Command("well-known").description("Well-Known Metadata & Info");return e.addCommand(he({client:o,ora:t})),e}var p={ora:{spinner:"simpleDotsScrolling"},client:new Kt(new u)},Ne=new Le.Command("gds").description("Great Detail Support System").addCommand(te(p)).addCommand(oe(p)).addCommand(re(p)).addCommand(se(p)).addCommand(ie(p)).addCommand(pe(p)).addCommand(le(p)).addCommand(me(p)).addCommand(fe(p)),Se=Ne;Se.parseAsync(process.argv);
2
+ "use strict";var Ae=Object.create;var _e=Object.defineProperty;var Ee=Object.getOwnPropertyDescriptor;var Pe=Object.getOwnPropertyNames;var Ge=Object.getPrototypeOf,Ne=Object.prototype.hasOwnProperty;var Be=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Pe(t))!Ne.call(o,n)&&n!==e&&_e(o,n,{get:()=>t[n],enumerable:!(r=Ee(t,n))||r.enumerable});return o};var xe=(o,t,e)=>(e=o!=null?Ae(Ge(o)):{},Be(t||!o||!o.__esModule?_e(e,"default",{value:o,enumerable:!0}):e,o));var Ue=require("commander");var h=class{async filter(){return{headers:this.getHeaders()}}getHeaders(){return{}}};var te="SUPPORT_SIGNING_KEY",ye="SUPPORT_BASE_URL";var Re="https://api.support.greatdetail.com",Te={"X-Powered-By":"GDSupport/JavaScript"};var f=class o{constructor(t=o.STANDARD_HEADERS){this._standardHeaders=t}static STANDARD_HEADERS=Te;async filter(){return{headers:this.getHeaders()}}getHeaders(){return this._standardHeaders}};var Oe=xe(require("is-network-error"),1),Wt=xe(require("ky"),1);var a=class extends Error{static serverError(t){return new this("Server Error: "+t)}};var l=class extends a{};var C=class extends l{static unauthenticated(){return new this("An unauthenticated request occurred")}};var g=class extends l{static forbidden(){return new this("A forbidden request occurred")}};var c=class extends a{static notFound(t){return new this(`Record not found for request: ${t}`)}static forbiddenMethod(t,e){return new this(`Forbidden method for request: ${t} ${e}`)}static teapot(){return new this("I'm a teapot")}static rateLimited(){return new this("Request has been rate-limited")}};var b=class extends a{};var m=class extends a{static badRequest(){return new this("Bad request")}static unsupportedMediaType(){return new this("Unsupported Media Type")}};var _=class{client;options;constructor({baseURL:t,...e}){this.options={...e,baseURL:t},this.client=Wt.default.create({prefixUrl:this.options.baseURL,timeout:12e3,hooks:{beforeRequest:[r=>{for(let n of this.options.requestFilterables){let i=n.getHeaders();for(let[d,qe]of Object.entries(i))r.headers.has(d)||r.headers.set(d,qe)}}]}})}getURL(t){return new URL(t,this.options.baseURL).toString()}limitQuery(t){let e=[];return t&&e.push(["limit",t.toString()]),e}includeQuery(t){let e=[];if(t===void 0)return e;for(let r of Object.keys(t))e.push(["include",r]);return e}queryQuery(t){let e=[];return t&&e.push(["query",t]),e}send(t,e){let r=this.client(t,e).catch(n=>{if((0,Oe.default)(n))throw new b("A network error occurred",{cause:n});if(n instanceof Wt.HTTPError){let i=n.response.status;switch(console.error(JSON.stringify(n.response)),i){case 400:throw m.badRequest();case 401:throw C.unauthenticated();case 403:throw g.forbidden();case 404:throw c.notFound(t);case 405:throw c.forbiddenMethod(t,e.method??"GET");case 415:throw m.unsupportedMediaType();case 418:throw c.teapot();case 429:throw c.rateLimited()}if(i>=500&&i<600)throw a.serverError(i)}throw n});return{response:()=>r,json:async()=>(await r).json()}}};var Yt=require("crypto"),s=require("zod");var x=class o{constructor(t){this._client=t}static SCHEMA=s.z.object({data:s.z.object({event:s.z.intersection(s.z.object({id:s.z.string(),createdAt:s.z.string().datetime()}),s.z.union([s.z.object({type:s.z.union([s.z.literal("account.created"),s.z.literal("account.updated")]),payload:s.z.object({account:s.z.string()})}),s.z.object({type:s.z.union([s.z.literal("contact.created"),s.z.literal("contact.updated")]),payload:s.z.object({contact:s.z.string()})}),s.z.object({type:s.z.union([s.z.literal("conversation.created"),s.z.literal("conversation.updated"),s.z.literal("conversation.closed"),s.z.literal("conversation.received"),s.z.literal("conversation.resolved"),s.z.literal("conversation.sent")]),payload:s.z.object({conversation:s.z.string()})}),s.z.object({type:s.z.union([s.z.literal("message.created"),s.z.literal("message.updated"),s.z.literal("message.delivered"),s.z.literal("message.failed"),s.z.literal("message.read"),s.z.literal("message.received"),s.z.literal("message.sent")]),payload:s.z.object({message:s.z.string()})})]))})});async event({key:t=process.env[te],maxSignatures:e=3,request:r}){let n=r.headers["gds-signature"];if(t!==!1){if(t===void 0)throw new Error("Missing webhook signing key in process.env."+te);if(!n)throw new Error("Missing signature header");if(!this._verifySignature(t,r.body,Array.isArray(n)?n.slice(0,e):[n]))throw new Error("Untrusted signature")}let{data:i}=o.SCHEMA.parse(r.body);return{event:i.event}}_verifySignature(t,e,r){let n=(0,Yt.createHmac)("sha256",t).update(JSON.stringify(e)).digest();for(let i of r){let d=Buffer.from(i,"base64");if(d.length===n.length&&(0,Yt.timingSafeEqual)(d,n))return!0}return!1}};var y=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t),{...e,method:"GET"})}};var R=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/accounts/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var T=class{constructor(t){this._transport=t}get api(){return{get:new y(this._transport),update:new R(this._transport)}}};var O=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/conversation-settings",{...e,method:"GET"})}};var v=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/conversation-settings",{...r,method:"PATCH",json:e})}};var w=class{constructor(t){this._transport=t}get api(){return{get:new O(this._transport),update:new v(this._transport)}}};var F=class{constructor(t){this._transport=t}send({limit:t,request:e={}}={}){return this._transport.send("v1/actions",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}};var L=class{constructor(t){this._transport=t}get api(){return{list:new F(this._transport)}}};var S=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/boilerplate-categories/"+encodeURIComponent(t)+"/boilerplates",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var U=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/boilerplate-categories",{...e,method:"POST",json:t})}};var I=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/boilerplate-categories/"+encodeURIComponent(t),{...e,method:"GET"})}};var q=class{constructor(t){this._transport=t}send({limit:t,include:e,request:r={}}={}){return this._transport.send("v1/boilerplate-categories",{...r,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.includeQuery(e)]})}};var A=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/boilerplate-categories/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var E=class{constructor(t){this._transport=t}get api(){return{get:new I(this._transport),list:new q(this._transport),create:new U(this._transport),update:new A(this._transport),boilerplate:{list:new S(this._transport)}}}};var P=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/boilerplates",{...e,method:"POST",json:t})}};var G=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/boilerplates/"+encodeURIComponent(t),{...e,method:"GET"})}};var N=class{constructor(t){this._transport=t}send({limit:t,query:e,request:r={}}={}){return this._transport.send("v1/boilerplates",{...r,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e)]})}};var B=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/boilerplates/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var j=class{constructor(t){this._transport=t}get api(){return{get:new G(this._transport),list:new N(this._transport),update:new B(this._transport),create:new P(this._transport)}}};var M=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/channels",{...e,method:"POST",json:t})}};var D=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t),{...e,method:"GET"})}};var H=class{constructor(t){this._transport=t}send({limit:t,request:e={}}={}){return this._transport.send("v1/channels",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}};var ee=require("zod"),K=class o{constructor(t){this._transport=t}static SCHEMA=ee.z.object({overwrite:ee.z.boolean().optional()});send(t,{body:e,request:r={}}){return this._transport.send("v1/sources/twilio-sendgrid/channels/"+encodeURIComponent(t)+"/sync",{...r,method:"POST",json:o.SCHEMA.parse(e)})}};var Q=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/channels/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var k=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/composition-sections",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var V=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/messages",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var W=class{constructor(t){this._transport=t}get api(){return{get:new D(this._transport),list:new H(this._transport),update:new Q(this._transport),create:new M(this._transport),compositionSection:{list:new k(this._transport)},message:{list:new V(this._transport)},twilioSendgrid:{sync:new K(this._transport)}}}};var Y=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/composition-sections",{...e,method:"POST",json:t})}};var z=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/composition-sections/"+encodeURIComponent(t),{...e,method:"GET"})}};var J=class{constructor(t){this._transport=t}send({limit:t,request:e={}}={}){return this._transport.send("v1/composition-sections",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}};var $=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/composition-sections/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var X=class{constructor(t){this._transport=t}get api(){return{get:new z(this._transport),list:new J(this._transport),create:new Y(this._transport),update:new $(this._transport)}}};var Z=class{constructor(t){this._transport=t}getRelativeURL({id:t,vcf:e={}}){let r=e.variant??"vcard",n=e.format??(r==="vcard"?"vcf":"json");return"v1/contacts/"+encodeURIComponent(t)+"/vcf?variant="+encodeURIComponent(r)+"&format="+encodeURIComponent(n)}getURL(t){return this._transport.getURL(this.getRelativeURL(t))}send(t){return this._transport.send(this.getURL(t),{method:"GET"})}};var tt=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/contacts",{...e,method:"POST",json:t})}};var et=class{constructor(t){this._transport=t}send(t,{include:e,request:r={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...r,method:"GET",searchParams:[...this._transport.includeQuery(e??{})]})}};var ot=class{constructor(t){this._transport=t}send({limit:t,query:e,request:r={}}={}){return this._transport.send("v1/contacts",{...r,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e)]})}};var rt=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var nt=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/conversations",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var st=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/labels",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var it=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...r,method:"POST",json:e})}};var at=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...e,method:"GET"})}};var pt=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notification-subscriptions",{...r,method:"POST",json:e})}};var ct=class{constructor(t){this._transport=t}get api(){return{get:new et(this._transport),list:new ot(this._transport),update:new rt(this._transport),create:new tt(this._transport),conversation:{list:new nt(this._transport)},label:{list:new st(this._transport)},note:{list:new at(this._transport),create:new it(this._transport)},notificationSubscription:{create:new pt(this._transport)},vcf:{get:new Z(this._transport)}}}};var lt=class{constructor(t){this._transport=t}send(t,{include:e,request:r={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...r,method:"GET",searchParams:[...this._transport.includeQuery(e??{})]})}};var dt=class{constructor(t){this._transport=t}send({limit:t,filter:e,include:r,request:n={}}={}){return this._transport.send("v1/conversations",{...n,method:"GET",searchParams:[...this._transport.limitQuery(t),...e?[["filter",e]]:[],...this._transport.includeQuery(r??{})]})}};var mt=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var ut=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/labels",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var ht=class{constructor(t){this._transport=t}send(t,{limit:e,include:r,request:n={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/messages",{...n,method:"GET",searchParams:[...this._transport.limitQuery(e),...this._transport.includeQuery(r??{})]})}};var u=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...r,method:"POST",json:e})}};var ft=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...e,method:"GET"})}};var Ct=class{constructor(t){this._transport=t}get api(){return{get:new lt(this._transport),list:new dt(this._transport),update:new mt(this._transport),create:new u(this._transport),label:{list:new ut(this._transport)},message:{list:new ht(this._transport)},note:{list:new ft(this._transport),create:new u(this._transport)}}}};var gt=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/contacts",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var bt=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/conversations",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var _t=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/labels",{...e,method:"POST",json:t})}};var xt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var yt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...e,method:"GET"})}};var Rt=class{constructor(t){this._transport=t}send({limit:t,query:e,include:r,request:n={}}={}){return this._transport.send("v1/labels",{...n,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e),...this._transport.includeQuery(r??{})]})}};var Tt=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var Ot=class{constructor(t){this._transport=t}get api(){return{create:new _t(this._transport),get:new yt(this._transport),list:new Rt(this._transport),update:new Tt(this._transport),delete:new xt(this._transport),contact:{list:new gt(this._transport)},conversation:{list:new bt(this._transport)}}}};var vt=class{constructor(t){this._transport=t}send({limit:t,include:e,request:r={}}={}){return this._transport.send("v1/messages",{...r,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.includeQuery(e??{})]})}};var wt=class{constructor(t){this._transport=t}get api(){return{list:new vt(this._transport)}}};var Ft=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/correction",{...r,method:"POST",json:e})}};var Lt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/models/"+encodeURIComponent(t),{...e,method:"GET"})}};var St=class{constructor(t){this._transport=t}send({request:t={}}={}){return this._transport.send("v1/models",{...t,method:"GET"})}};var Ut=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/response",{...r,method:"POST",timeout:12e4,json:e})}};var It=class{constructor(t){this._transport=t}get api(){return{get:new Lt(this._transport),list:new St(this._transport),response:{create:new Ut(this._transport)},correction:{create:new Ft(this._transport)}}}};var qt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...e,method:"GET"})}};var At=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var Et=class{constructor(t){this._transport=t}get api(){return{get:new qt(this._transport),update:new At(this._transport)}}};var Pt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/sources/"+encodeURIComponent(t),{...e,method:"GET"})}};var Gt=class{constructor(t){this._transport=t}send({category:t,request:e={}}={}){let r=[];if(t){let n=Array.isArray(t)?t:[t];for(let i of n)r.push(["category",i])}return this._transport.send("v1/sources",{...e,method:"GET",searchParams:r})}};var Nt=class{constructor(t){this._transport=t}get api(){return{get:new Pt(this._transport),list:new Gt(this._transport)}}};var Bt=class{constructor(t){this._transport=t}send({account:t,files:e,request:r={}}){let n=new FormData;for(let i of e)n.append("file",i);return this._transport.send("v1/uploads",{...r,method:"POST",body:n,searchParams:{account:t}})}};var jt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/uploads/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var Mt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/uploads/"+encodeURIComponent(t),{...e,method:"GET"})}};var Dt=class{constructor(t){this._transport=t}get api(){return{get:new Mt(this._transport),create:new Bt(this._transport),delete:new jt(this._transport)}}};var Ht=class{constructor(t){this._transport=t}send({request:t={}}={}){return this._transport.send(".well-known/notifications",{...t,method:"GET"})}};var Kt=class{constructor(t){this._transport=t}get api(){return{notification:{get:new Ht(this._transport)}}}};var Qt=class o{static DEFAULT_BASE_URL=Re;_transport;_account;_accountConversationSettings;_action;_boilerplate;_boilerplateCategory;_channel;_compositionSection;_contact;_conversation;_label;_message;_model;_note;_source;_upload;_webhook;_wellKnown;constructor(t,{baseURL:e,...r}={}){this._transport=new _({requestFilterables:[new f,t],...r,baseURL:e?.toString()??o.getBaseURL()}),this._account=new T(this._transport),this._accountConversationSettings=new w(this._transport),this._action=new L(this._transport),this._boilerplate=new j(this._transport),this._boilerplateCategory=new E(this._transport),this._channel=new W(this._transport),this._compositionSection=new X(this._transport),this._contact=new ct(this._transport),this._conversation=new Ct(this._transport),this._label=new Ot(this._transport),this._message=new wt(this._transport),this._model=new It(this._transport),this._note=new Et(this._transport),this._source=new Nt(this._transport),this._upload=new Dt(this._transport),this._webhook=new x(this),this._wellKnown=new Kt(this._transport)}static getBaseURL(){return process.env[ye]??this.DEFAULT_BASE_URL}get account(){return this._account.api}get accountConversationSettings(){return this._accountConversationSettings.api}get action(){return this._action.api}get boilerplate(){return this._boilerplate.api}get boilerplateCategory(){return this._boilerplateCategory.api}get channel(){return this._channel.api}get compositionSection(){return this._compositionSection.api}get contact(){return this._contact.api}get conversation(){return this._conversation.api}get label(){return this._label.api}get message(){return this._message.api}get model(){return this._model.api}get note(){return this._note.api}get source(){return this._source.api}get upload(){return this._upload.api}get webhook(){return this._webhook}get wellKnown(){return this._wellKnown.api}};var oe=require("commander"),ve=require("ora");function re({client:o,ora:t}){let e=new oe.Command("actions").description("Actions");return e.addCommand(new oe.Command("list").description("List actions").action(async()=>{let r=await(0,ve.oraPromise)(()=>o.action.list.send().json(),{...t,text:"Finding actions"});console.log(r)})),e}var ne=require("commander"),we=require("ora");function se({client:o,ora:t}){let e=new ne.Command("channels").description("Channels");return e.addCommand(new ne.Command("list").description("List channels").action(async()=>{let r=await(0,we.oraPromise)(()=>o.channel.list.send().json(),{...t,text:"Finding channels"});console.log(r)})),e}var kt=require("commander"),zt=require("ora");function ie({client:o,ora:t}){let e=new kt.Command("contacts").description("Contacts");return e.addCommand(new kt.Command("get").description("Find contact").argument("<contact>","Contact ID").action(async r=>{let n=await(0,zt.oraPromise)(()=>o.contact.get.send(r).json(),{...t,text:"Finding contact"});console.log(n)})),e.addCommand(new kt.Command("list").description("List contacts").action(async()=>{let r=await(0,zt.oraPromise)(()=>o.contact.list.send().json(),{...t,text:"Finding contacts"});console.log(r)})),e.addCommand(new kt.Command("get-vcf").description("Export Contact as VCF").argument("<contact>","Contact ID").action(async r=>{let n=await(0,zt.oraPromise)(()=>o.contact.vcf.get.send({id:r}).response(),{...t,text:"Exporting contact"});console.log(n)})),e}var Jt=require("commander"),ae=require("ora");function pe({client:o,ora:t}){let e=new Jt.Command("conversations").description("Conversations");return e.addCommand(new Jt.Command("get").description("Find conversation").argument("<conversation>","Conversation ID").action(async r=>{let n=await(0,ae.oraPromise)(()=>o.conversation.get.send(r).json(),{...t,text:"Finding conversation"});console.log(n)})),e.addCommand(new Jt.Command("list").description("List conversations").action(async()=>{let r=await(0,ae.oraPromise)(()=>o.conversation.list.send().json(),{...t,text:"Finding conversations"});console.log(r)})),e}var Vt=require("commander"),$t=require("ora");function ce({client:o,ora:t}){let e=new Vt.Command("labels").description("Labels");return e.addCommand(new Vt.Command("get").description("Find label").argument("<label>","Label ID").action(async r=>{let n=await(0,$t.oraPromise)(()=>o.label.get.send(r).json(),{...t,text:"Finding label"});console.log(n)})),e.addCommand(new Vt.Command("list").description("List labels").action(async()=>{let r=await(0,$t.oraPromise)(()=>o.label.list.send().json(),{...t,text:"Finding labels"});console.log(r)})),e.addCommand(new Vt.Command("conversations").description("Find label conversations").argument("<label>","Label ID").action(async r=>{let n=await(0,$t.oraPromise)(()=>o.label.conversation.list.send(r).json(),{...t,text:"Finding conversations"});console.log(n)})),e}var le=require("commander"),Fe=require("ora");function de({client:o,ora:t}){let e=new le.Command("messages").description("Messages");return e.addCommand(new le.Command("list").description("List messages").action(async()=>{let r=await(0,Fe.oraPromise)(()=>o.message.list.send().json(),{...t,text:"Finding messages"});console.log(r)})),e}var Xt=require("commander"),me=require("ora");function ue({client:o,ora:t}){let e=new Xt.Command("models").description("Models");return e.addCommand(new Xt.Command("get").description("Find model").argument("<model>","Model ID").action(async r=>{let n=await(0,me.oraPromise)(()=>o.model.get.send(r).json(),{...t,text:"Finding model"});console.log(n)})),e.addCommand(new Xt.Command("list").description("List models").action(async()=>{let r=await(0,me.oraPromise)(()=>o.model.list.send().json(),{...t,text:"Finding models"});console.log(r)})),e}var Zt=require("commander"),he=require("ora");function fe({client:o,ora:t}){let e=new Zt.Command("sources").description("Sources");return e.addCommand(new Zt.Command("get").description("Find source").argument("<source>","Source ID").action(async r=>{let n=await(0,he.oraPromise)(()=>o.source.get.send(r).json(),{...t,text:"Finding source"});console.log(n)})),e.addCommand(new Zt.Command("list").description("List sources").action(async()=>{let r=await(0,he.oraPromise)(()=>o.source.list.send().json(),{...t,text:"Finding sources"});console.log(r)})),e}var Se=require("commander");var Ce=require("commander"),Le=require("ora");function ge({client:o,ora:t}){let e=new Ce.Command("notifications").description("Well-Known Notifications Details");return e.addCommand(new Ce.Command("get").description("Get Notifications Server Well-Known Info").action(async()=>{let r=await(0,Le.oraPromise)(()=>o.wellKnown.notification.get.send().json(),{...t,text:"Finding Notifications Well-Known Info"});console.log(r)})),e}function be({client:o,ora:t}){let e=new Se.Command("well-known").description("Well-Known Metadata & Info");return e.addCommand(ge({client:o,ora:t})),e}var p={ora:{spinner:"simpleDotsScrolling"},client:new Qt(new h)},je=new Ue.Command("gds").description("Great Detail Support System").addCommand(re(p)).addCommand(se(p)).addCommand(ie(p)).addCommand(pe(p)).addCommand(ce(p)).addCommand(de(p)).addCommand(ue(p)).addCommand(fe(p)).addCommand(be(p)),Ie=je;Ie.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-O2ZZDDIT.js";import"./chunk-3IK5HEB7.js";r.parseAsync(process.argv);
2
+ import{a as r}from"./chunk-EXESIRRS.js";import"./chunk-ZHQA7EWT.js";r.parseAsync(process.argv);
@@ -1689,10 +1689,30 @@ type Authentication = RequestFilterable;
1689
1689
  * @see https://greatdetail.com
1690
1690
  */
1691
1691
 
1692
+ type Headers = Record<string, string | string[] | undefined>;
1692
1693
  type Options$1 = {
1694
+ /**
1695
+ * Signature HMAC Verification Key.
1696
+ *
1697
+ * @since 0.10.18
1698
+ */
1699
+ key?: string | false;
1700
+ /**
1701
+ * Signature Header Check Limit.
1702
+ * The maximum number of duplicate signature headers to check before
1703
+ * declaring invalidity of the incoming webhook request body.
1704
+ *
1705
+ * @since 0.10.18
1706
+ */
1707
+ maxSignatures?: number;
1708
+ /**
1709
+ * Incoming Webhook Request Details.
1710
+ *
1711
+ * @since 0.10.18
1712
+ */
1693
1713
  request: {
1694
- body: unknown;
1695
- headers: Record<string, string | string[]>;
1714
+ body: object;
1715
+ headers: Headers;
1696
1716
  [key: string]: unknown | undefined;
1697
1717
  };
1698
1718
  };
@@ -1901,6 +1921,9 @@ declare class Webhook {
1901
1921
  * necessary. This method will throw a `ZodError` on validation failure and
1902
1922
  * will not attempt to JSON.parse any string input.
1903
1923
  *
1924
+ * You may need a WebCrypto polyfill, such as
1925
+ * https://github.com/PeculiarVentures/webcrypto-core.
1926
+ *
1904
1927
  * **Basic Usage**:
1905
1928
  *
1906
1929
  * ```js
@@ -1965,14 +1988,15 @@ declare class Webhook {
1965
1988
  * fastify.post("/etc", async function (request, reply) => {
1966
1989
  * const { event } = await new Client().webhook.event({
1967
1990
  * request: { body: request.body, headers: Object(request.headers) },
1968
- * });
1991
+ * }
1992
+ * );
1969
1993
  * // ...
1970
1994
  * });
1971
1995
  * ```
1972
1996
  *
1973
1997
  * @since 0.10.6
1974
1998
  */
1975
- event({ request }: Options$1): Promise<{
1999
+ event({ key, maxSignatures, request, }: Options$1): Promise<{
1976
2000
  event: {
1977
2001
  id: string;
1978
2002
  createdAt: string;
@@ -1998,6 +2022,7 @@ declare class Webhook {
1998
2022
  };
1999
2023
  });
2000
2024
  }>;
2025
+ protected _verifySignature(key: string, body: object, signatures: string[]): boolean;
2001
2026
  }
2002
2027
 
2003
2028
  /**
@@ -1689,10 +1689,30 @@ type Authentication = RequestFilterable;
1689
1689
  * @see https://greatdetail.com
1690
1690
  */
1691
1691
 
1692
+ type Headers = Record<string, string | string[] | undefined>;
1692
1693
  type Options$1 = {
1694
+ /**
1695
+ * Signature HMAC Verification Key.
1696
+ *
1697
+ * @since 0.10.18
1698
+ */
1699
+ key?: string | false;
1700
+ /**
1701
+ * Signature Header Check Limit.
1702
+ * The maximum number of duplicate signature headers to check before
1703
+ * declaring invalidity of the incoming webhook request body.
1704
+ *
1705
+ * @since 0.10.18
1706
+ */
1707
+ maxSignatures?: number;
1708
+ /**
1709
+ * Incoming Webhook Request Details.
1710
+ *
1711
+ * @since 0.10.18
1712
+ */
1693
1713
  request: {
1694
- body: unknown;
1695
- headers: Record<string, string | string[]>;
1714
+ body: object;
1715
+ headers: Headers;
1696
1716
  [key: string]: unknown | undefined;
1697
1717
  };
1698
1718
  };
@@ -1901,6 +1921,9 @@ declare class Webhook {
1901
1921
  * necessary. This method will throw a `ZodError` on validation failure and
1902
1922
  * will not attempt to JSON.parse any string input.
1903
1923
  *
1924
+ * You may need a WebCrypto polyfill, such as
1925
+ * https://github.com/PeculiarVentures/webcrypto-core.
1926
+ *
1904
1927
  * **Basic Usage**:
1905
1928
  *
1906
1929
  * ```js
@@ -1965,14 +1988,15 @@ declare class Webhook {
1965
1988
  * fastify.post("/etc", async function (request, reply) => {
1966
1989
  * const { event } = await new Client().webhook.event({
1967
1990
  * request: { body: request.body, headers: Object(request.headers) },
1968
- * });
1991
+ * }
1992
+ * );
1969
1993
  * // ...
1970
1994
  * });
1971
1995
  * ```
1972
1996
  *
1973
1997
  * @since 0.10.6
1974
1998
  */
1975
- event({ request }: Options$1): Promise<{
1999
+ event({ key, maxSignatures, request, }: Options$1): Promise<{
1976
2000
  event: {
1977
2001
  id: string;
1978
2002
  createdAt: string;
@@ -1998,6 +2022,7 @@ declare class Webhook {
1998
2022
  };
1999
2023
  });
2000
2024
  }>;
2025
+ protected _verifySignature(key: string, body: object, signatures: string[]): boolean;
2001
2026
  }
2002
2027
 
2003
2028
  /**
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var pe=Object.create;var Kt=Object.defineProperty;var ce=Object.getOwnPropertyDescriptor;var le=Object.getOwnPropertyNames;var de=Object.getPrototypeOf,ue=Object.prototype.hasOwnProperty;var Jt=(o,t)=>{for(var e in t)Kt(o,e,{get:t[e],enumerable:!0})},Xt=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of le(t))!ue.call(o,s)&&s!==e&&Kt(o,s,{get:()=>t[s],enumerable:!(r=ce(t,s))||r.enumerable});return o};var Zt=(o,t,e)=>(e=o!=null?pe(de(o)):{},Xt(t||!o||!o.__esModule?Kt(e,"default",{value:o,enumerable:!0}):e,o)),me=o=>Xt(Kt({},"__esModule",{value:!0}),o);var he={};Jt(he,{Client:()=>f,DEFAULT_SUPPORT_BASE_URL:()=>Vt,Error:()=>Yt,KeyAuthentication:()=>kt,PublicAuthentication:()=>Qt,TokenAuthentication:()=>Dt,default:()=>f});module.exports=me(he);var Vt="https://api.support.greatdetail.com",te={"X-Powered-By":"GDSupport/JavaScript"},ee="api-key";var oe="SUPPORT_ACCESS_TOKEN",re="SUPPORT_API_KEY",ne="SUPPORT_KEY_NAME",se="SUPPORT_BASE_URL";var C=class o{constructor(t=o.STANDARD_HEADERS){this._standardHeaders=t}static STANDARD_HEADERS=te;async filter(){return{headers:this.getHeaders()}}getHeaders(){return this._standardHeaders}};var ie=Zt(require("is-network-error"),1),Wt=Zt(require("ky"),1);var i=class extends Error{static serverError(t){return new this("Server Error: "+t)}};var c=class extends i{};var d=class extends c{static unauthenticated(){return new this("An unauthenticated request occurred")}};var u=class extends c{static forbidden(){return new this("A forbidden request occurred")}};var p=class extends i{static notFound(t){return new this(`Record not found for request: ${t}`)}static forbiddenMethod(t,e){return new this(`Forbidden method for request: ${t} ${e}`)}static teapot(){return new this("I'm a teapot")}static rateLimited(){return new this("Request has been rate-limited")}};var m=class extends i{};var l=class extends i{static badRequest(){return new this("Bad request")}static unsupportedMediaType(){return new this("Unsupported Media Type")}};var g=class{client;options;constructor({baseURL:t,...e}){this.options={...e,baseURL:t},this.client=Wt.default.create({prefixUrl:this.options.baseURL,timeout:12e3,hooks:{beforeRequest:[r=>{for(let s of this.options.requestFilterables){let a=s.getHeaders();for(let[$t,ae]of Object.entries(a))r.headers.has($t)||r.headers.set($t,ae)}}]}})}getURL(t){return new URL(t,this.options.baseURL).toString()}limitQuery(t){let e=[];return t&&e.push(["limit",t.toString()]),e}includeQuery(t){let e=[];if(t===void 0)return e;for(let r of Object.keys(t))e.push(["include",r]);return e}queryQuery(t){let e=[];return t&&e.push(["query",t]),e}send(t,e){let r=this.client(t,e).catch(s=>{if((0,ie.default)(s))throw new m("A network error occurred",{cause:s});if(s instanceof Wt.HTTPError){let a=s.response.status;switch(console.error(JSON.stringify(s.response)),a){case 400:throw l.badRequest();case 401:throw d.unauthenticated();case 403:throw u.forbidden();case 404:throw p.notFound(t);case 405:throw p.forbiddenMethod(t,e.method??"GET");case 415:throw l.unsupportedMediaType();case 418:throw p.teapot();case 429:throw p.rateLimited()}if(a>=500&&a<600)throw i.serverError(a)}throw s});return{response:()=>r,json:async()=>(await r).json()}}};var n=require("zod"),b=class o{constructor(t){this._client=t}static SCHEMA=n.z.object({data:n.z.object({event:n.z.intersection(n.z.object({id:n.z.string(),createdAt:n.z.string().datetime()}),n.z.union([n.z.object({type:n.z.union([n.z.literal("account.created"),n.z.literal("account.updated")]),payload:n.z.object({account:n.z.string()})}),n.z.object({type:n.z.union([n.z.literal("contact.created"),n.z.literal("contact.updated")]),payload:n.z.object({contact:n.z.string()})}),n.z.object({type:n.z.union([n.z.literal("conversation.created"),n.z.literal("conversation.updated"),n.z.literal("conversation.closed"),n.z.literal("conversation.received"),n.z.literal("conversation.resolved"),n.z.literal("conversation.sent")]),payload:n.z.object({conversation:n.z.string()})}),n.z.object({type:n.z.union([n.z.literal("message.created"),n.z.literal("message.updated"),n.z.literal("message.delivered"),n.z.literal("message.failed"),n.z.literal("message.read"),n.z.literal("message.received"),n.z.literal("message.sent")]),payload:n.z.object({message:n.z.string()})})]))})});async event({request:t}){let{data:e}=o.SCHEMA.parse(t.body);return{event:e.event}}};var _=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t),{...e,method:"GET"})}};var x=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/accounts/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var R=class{constructor(t){this._transport=t}get api(){return{get:new _(this._transport),update:new x(this._transport)}}};var y=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/conversation-settings",{...e,method:"GET"})}};var T=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/conversation-settings",{...r,method:"PATCH",json:e})}};var v=class{constructor(t){this._transport=t}get api(){return{get:new y(this._transport),update:new T(this._transport)}}};var O=class{constructor(t){this._transport=t}send({limit:t,request:e={}}={}){return this._transport.send("v1/actions",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}};var L=class{constructor(t){this._transport=t}get api(){return{list:new O(this._transport)}}};var F=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/boilerplate-categories/"+encodeURIComponent(t)+"/boilerplates",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var U=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/boilerplate-categories",{...e,method:"POST",json:t})}};var S=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/boilerplate-categories/"+encodeURIComponent(t),{...e,method:"GET"})}};var w=class{constructor(t){this._transport=t}send({limit:t,include:e,request:r={}}={}){return this._transport.send("v1/boilerplate-categories",{...r,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.includeQuery(e)]})}};var q=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/boilerplate-categories/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var I=class{constructor(t){this._transport=t}get api(){return{get:new S(this._transport),list:new w(this._transport),create:new U(this._transport),update:new q(this._transport),boilerplate:{list:new F(this._transport)}}}};var A=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/boilerplates",{...e,method:"POST",json:t})}};var E=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/boilerplates/"+encodeURIComponent(t),{...e,method:"GET"})}};var P=class{constructor(t){this._transport=t}send({limit:t,query:e,request:r={}}={}){return this._transport.send("v1/boilerplates",{...r,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e)]})}};var G=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/boilerplates/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var N=class{constructor(t){this._transport=t}get api(){return{get:new E(this._transport),list:new P(this._transport),update:new G(this._transport),create:new A(this._transport)}}};var B=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/channels",{...e,method:"POST",json:t})}};var M=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t),{...e,method:"GET"})}};var j=class{constructor(t){this._transport=t}send({limit:t,request:e={}}={}){return this._transport.send("v1/channels",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}};var zt=require("zod"),H=class o{constructor(t){this._transport=t}static SCHEMA=zt.z.object({overwrite:zt.z.boolean().optional()});send(t,{body:e,request:r={}}){return this._transport.send("v1/sources/twilio-sendgrid/channels/"+encodeURIComponent(t)+"/sync",{...r,method:"POST",json:o.SCHEMA.parse(e)})}};var k=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/channels/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var D=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/composition-sections",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var Q=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/messages",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var K=class{constructor(t){this._transport=t}get api(){return{get:new M(this._transport),list:new j(this._transport),update:new k(this._transport),create:new B(this._transport),compositionSection:{list:new D(this._transport)},message:{list:new Q(this._transport)},twilioSendgrid:{sync:new H(this._transport)}}}};var V=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/composition-sections",{...e,method:"POST",json:t})}};var W=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/composition-sections/"+encodeURIComponent(t),{...e,method:"GET"})}};var z=class{constructor(t){this._transport=t}send({limit:t,request:e={}}={}){return this._transport.send("v1/composition-sections",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}};var Y=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/composition-sections/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var $=class{constructor(t){this._transport=t}get api(){return{get:new W(this._transport),list:new z(this._transport),create:new V(this._transport),update:new Y(this._transport)}}};var J=class{constructor(t){this._transport=t}getRelativeURL({id:t,vcf:e={}}){let r=e.variant??"vcard",s=e.format??(r==="vcard"?"vcf":"json");return"v1/contacts/"+encodeURIComponent(t)+"/vcf?variant="+encodeURIComponent(r)+"&format="+encodeURIComponent(s)}getURL(t){return this._transport.getURL(this.getRelativeURL(t))}send(t){return this._transport.send(this.getURL(t),{method:"GET"})}};var X=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/contacts",{...e,method:"POST",json:t})}};var Z=class{constructor(t){this._transport=t}send(t,{include:e,request:r={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...r,method:"GET",searchParams:[...this._transport.includeQuery(e??{})]})}};var tt=class{constructor(t){this._transport=t}send({limit:t,query:e,request:r={}}={}){return this._transport.send("v1/contacts",{...r,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e)]})}};var et=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var ot=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/conversations",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var rt=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/labels",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var nt=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...r,method:"POST",json:e})}};var st=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...e,method:"GET"})}};var it=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notification-subscriptions",{...r,method:"POST",json:e})}};var at=class{constructor(t){this._transport=t}get api(){return{get:new Z(this._transport),list:new tt(this._transport),update:new et(this._transport),create:new X(this._transport),conversation:{list:new ot(this._transport)},label:{list:new rt(this._transport)},note:{list:new st(this._transport),create:new nt(this._transport)},notificationSubscription:{create:new it(this._transport)},vcf:{get:new J(this._transport)}}}};var pt=class{constructor(t){this._transport=t}send(t,{include:e,request:r={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...r,method:"GET",searchParams:[...this._transport.includeQuery(e??{})]})}};var ct=class{constructor(t){this._transport=t}send({limit:t,filter:e,include:r,request:s={}}={}){return this._transport.send("v1/conversations",{...s,method:"GET",searchParams:[...this._transport.limitQuery(t),...e?[["filter",e]]:[],...this._transport.includeQuery(r??{})]})}};var lt=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var dt=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/labels",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var ut=class{constructor(t){this._transport=t}send(t,{limit:e,include:r,request:s={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/messages",{...s,method:"GET",searchParams:[...this._transport.limitQuery(e),...this._transport.includeQuery(r??{})]})}};var h=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...r,method:"POST",json:e})}};var mt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...e,method:"GET"})}};var ht=class{constructor(t){this._transport=t}get api(){return{get:new pt(this._transport),list:new ct(this._transport),update:new lt(this._transport),create:new h(this._transport),label:{list:new dt(this._transport)},message:{list:new ut(this._transport)},note:{list:new mt(this._transport),create:new h(this._transport)}}}};var ft=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/contacts",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var Ct=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/conversations",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var gt=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/labels",{...e,method:"POST",json:t})}};var bt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var _t=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...e,method:"GET"})}};var xt=class{constructor(t){this._transport=t}send({limit:t,query:e,include:r,request:s={}}={}){return this._transport.send("v1/labels",{...s,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e),...this._transport.includeQuery(r??{})]})}};var Rt=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var yt=class{constructor(t){this._transport=t}get api(){return{create:new gt(this._transport),get:new _t(this._transport),list:new xt(this._transport),update:new Rt(this._transport),delete:new bt(this._transport),contact:{list:new ft(this._transport)},conversation:{list:new Ct(this._transport)}}}};var Tt=class{constructor(t){this._transport=t}send({limit:t,include:e,request:r={}}={}){return this._transport.send("v1/messages",{...r,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.includeQuery(e??{})]})}};var vt=class{constructor(t){this._transport=t}get api(){return{list:new Tt(this._transport)}}};var Ot=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/correction",{...r,method:"POST",json:e})}};var Lt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/models/"+encodeURIComponent(t),{...e,method:"GET"})}};var Ft=class{constructor(t){this._transport=t}send({request:t={}}={}){return this._transport.send("v1/models",{...t,method:"GET"})}};var Ut=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/response",{...r,method:"POST",timeout:12e4,json:e})}};var St=class{constructor(t){this._transport=t}get api(){return{get:new Lt(this._transport),list:new Ft(this._transport),response:{create:new Ut(this._transport)},correction:{create:new Ot(this._transport)}}}};var wt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...e,method:"GET"})}};var qt=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var It=class{constructor(t){this._transport=t}get api(){return{get:new wt(this._transport),update:new qt(this._transport)}}};var At=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/sources/"+encodeURIComponent(t),{...e,method:"GET"})}};var Et=class{constructor(t){this._transport=t}send({category:t,request:e={}}={}){let r=[];if(t){let s=Array.isArray(t)?t:[t];for(let a of s)r.push(["category",a])}return this._transport.send("v1/sources",{...e,method:"GET",searchParams:r})}};var Pt=class{constructor(t){this._transport=t}get api(){return{get:new At(this._transport),list:new Et(this._transport)}}};var Gt=class{constructor(t){this._transport=t}send({account:t,files:e,request:r={}}){let s=new FormData;for(let a of e)s.append("file",a);return this._transport.send("v1/uploads",{...r,method:"POST",body:s,searchParams:{account:t}})}};var Nt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/uploads/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var Bt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/uploads/"+encodeURIComponent(t),{...e,method:"GET"})}};var Mt=class{constructor(t){this._transport=t}get api(){return{get:new Bt(this._transport),create:new Gt(this._transport),delete:new Nt(this._transport)}}};var jt=class{constructor(t){this._transport=t}send({request:t={}}={}){return this._transport.send(".well-known/notifications",{...t,method:"GET"})}};var Ht=class{constructor(t){this._transport=t}get api(){return{notification:{get:new jt(this._transport)}}}};var f=class o{static DEFAULT_BASE_URL=Vt;_transport;_account;_accountConversationSettings;_action;_boilerplate;_boilerplateCategory;_channel;_compositionSection;_contact;_conversation;_label;_message;_model;_note;_source;_upload;_webhook;_wellKnown;constructor(t,{baseURL:e,...r}={}){this._transport=new g({requestFilterables:[new C,t],...r,baseURL:e?.toString()??o.getBaseURL()}),this._account=new R(this._transport),this._accountConversationSettings=new v(this._transport),this._action=new L(this._transport),this._boilerplate=new N(this._transport),this._boilerplateCategory=new I(this._transport),this._channel=new K(this._transport),this._compositionSection=new $(this._transport),this._contact=new at(this._transport),this._conversation=new ht(this._transport),this._label=new yt(this._transport),this._message=new vt(this._transport),this._model=new St(this._transport),this._note=new It(this._transport),this._source=new Pt(this._transport),this._upload=new Mt(this._transport),this._webhook=new b(this),this._wellKnown=new Ht(this._transport)}static getBaseURL(){return process.env[se]??this.DEFAULT_BASE_URL}get account(){return this._account.api}get accountConversationSettings(){return this._accountConversationSettings.api}get action(){return this._action.api}get boilerplate(){return this._boilerplate.api}get boilerplateCategory(){return this._boilerplateCategory.api}get channel(){return this._channel.api}get compositionSection(){return this._compositionSection.api}get contact(){return this._contact.api}get conversation(){return this._conversation.api}get label(){return this._label.api}get message(){return this._message.api}get model(){return this._model.api}get note(){return this._note.api}get source(){return this._source.api}get upload(){return this._upload.api}get webhook(){return this._webhook}get wellKnown(){return this._wellKnown.api}};var Yt={};Jt(Yt,{AuthError:()=>c,AuthenticationError:()=>d,AuthorizationError:()=>u,LogicError:()=>p,NetworkError:()=>m,SupportError:()=>i,ValidationError:()=>l});var kt=class o{static DEFAULT_NAME=ee;name;#t;constructor({name:t=process.env[ne]??o.DEFAULT_NAME,key:e=process.env[re]}={}){if(!e)throw new Error("API Key option must be specified when using Key Authentication");this.name=t,this.#t=e}async filter(){return{headers:this.getHeaders()}}getHeaders(){return{Authorization:`Basic ${btoa(this.name+":"+this.#t)}`}}};var Dt=class{#t;constructor({token:t=process.env[oe]}={}){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 Qt=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 le=Object.create;var Vt=Object.defineProperty;var de=Object.getOwnPropertyDescriptor;var ue=Object.getOwnPropertyNames;var me=Object.getPrototypeOf,he=Object.prototype.hasOwnProperty;var Zt=(o,t)=>{for(var e in t)Vt(o,e,{get:t[e],enumerable:!0})},te=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of ue(t))!he.call(o,s)&&s!==e&&Vt(o,s,{get:()=>t[s],enumerable:!(r=de(t,s))||r.enumerable});return o};var ee=(o,t,e)=>(e=o!=null?le(me(o)):{},te(t||!o||!o.__esModule?Vt(e,"default",{value:o,enumerable:!0}):e,o)),fe=o=>te(Vt({},"__esModule",{value:!0}),o);var Ce={};Zt(Ce,{Client:()=>C,DEFAULT_SUPPORT_BASE_URL:()=>Wt,Error:()=>Xt,KeyAuthentication:()=>Dt,PublicAuthentication:()=>Kt,TokenAuthentication:()=>Qt,default:()=>C});module.exports=fe(Ce);var Wt="https://api.support.greatdetail.com",oe={"X-Powered-By":"GDSupport/JavaScript"},re="api-key";var ne="SUPPORT_ACCESS_TOKEN",se="SUPPORT_API_KEY",ie="SUPPORT_KEY_NAME",$t="SUPPORT_SIGNING_KEY",ae="SUPPORT_BASE_URL";var g=class o{constructor(t=o.STANDARD_HEADERS){this._standardHeaders=t}static STANDARD_HEADERS=oe;async filter(){return{headers:this.getHeaders()}}getHeaders(){return this._standardHeaders}};var pe=ee(require("is-network-error"),1),Yt=ee(require("ky"),1);var i=class extends Error{static serverError(t){return new this("Server Error: "+t)}};var c=class extends i{};var d=class extends c{static unauthenticated(){return new this("An unauthenticated request occurred")}};var u=class extends c{static forbidden(){return new this("A forbidden request occurred")}};var p=class extends i{static notFound(t){return new this(`Record not found for request: ${t}`)}static forbiddenMethod(t,e){return new this(`Forbidden method for request: ${t} ${e}`)}static teapot(){return new this("I'm a teapot")}static rateLimited(){return new this("Request has been rate-limited")}};var m=class extends i{};var l=class extends i{static badRequest(){return new this("Bad request")}static unsupportedMediaType(){return new this("Unsupported Media Type")}};var b=class{client;options;constructor({baseURL:t,...e}){this.options={...e,baseURL:t},this.client=Yt.default.create({prefixUrl:this.options.baseURL,timeout:12e3,hooks:{beforeRequest:[r=>{for(let s of this.options.requestFilterables){let a=s.getHeaders();for(let[h,ce]of Object.entries(a))r.headers.has(h)||r.headers.set(h,ce)}}]}})}getURL(t){return new URL(t,this.options.baseURL).toString()}limitQuery(t){let e=[];return t&&e.push(["limit",t.toString()]),e}includeQuery(t){let e=[];if(t===void 0)return e;for(let r of Object.keys(t))e.push(["include",r]);return e}queryQuery(t){let e=[];return t&&e.push(["query",t]),e}send(t,e){let r=this.client(t,e).catch(s=>{if((0,pe.default)(s))throw new m("A network error occurred",{cause:s});if(s instanceof Yt.HTTPError){let a=s.response.status;switch(console.error(JSON.stringify(s.response)),a){case 400:throw l.badRequest();case 401:throw d.unauthenticated();case 403:throw u.forbidden();case 404:throw p.notFound(t);case 405:throw p.forbiddenMethod(t,e.method??"GET");case 415:throw l.unsupportedMediaType();case 418:throw p.teapot();case 429:throw p.rateLimited()}if(a>=500&&a<600)throw i.serverError(a)}throw s});return{response:()=>r,json:async()=>(await r).json()}}};var zt=require("crypto"),n=require("zod");var _=class o{constructor(t){this._client=t}static SCHEMA=n.z.object({data:n.z.object({event:n.z.intersection(n.z.object({id:n.z.string(),createdAt:n.z.string().datetime()}),n.z.union([n.z.object({type:n.z.union([n.z.literal("account.created"),n.z.literal("account.updated")]),payload:n.z.object({account:n.z.string()})}),n.z.object({type:n.z.union([n.z.literal("contact.created"),n.z.literal("contact.updated")]),payload:n.z.object({contact:n.z.string()})}),n.z.object({type:n.z.union([n.z.literal("conversation.created"),n.z.literal("conversation.updated"),n.z.literal("conversation.closed"),n.z.literal("conversation.received"),n.z.literal("conversation.resolved"),n.z.literal("conversation.sent")]),payload:n.z.object({conversation:n.z.string()})}),n.z.object({type:n.z.union([n.z.literal("message.created"),n.z.literal("message.updated"),n.z.literal("message.delivered"),n.z.literal("message.failed"),n.z.literal("message.read"),n.z.literal("message.received"),n.z.literal("message.sent")]),payload:n.z.object({message:n.z.string()})})]))})});async event({key:t=process.env[$t],maxSignatures:e=3,request:r}){let s=r.headers["gds-signature"];if(t!==!1){if(t===void 0)throw new Error("Missing webhook signing key in process.env."+$t);if(!s)throw new Error("Missing signature header");if(!this._verifySignature(t,r.body,Array.isArray(s)?s.slice(0,e):[s]))throw new Error("Untrusted signature")}let{data:a}=o.SCHEMA.parse(r.body);return{event:a.event}}_verifySignature(t,e,r){let s=(0,zt.createHmac)("sha256",t).update(JSON.stringify(e)).digest();for(let a of r){let h=Buffer.from(a,"base64");if(h.length===s.length&&(0,zt.timingSafeEqual)(h,s))return!0}return!1}};var x=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t),{...e,method:"GET"})}};var R=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/accounts/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var y=class{constructor(t){this._transport=t}get api(){return{get:new x(this._transport),update:new R(this._transport)}}};var T=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/conversation-settings",{...e,method:"GET"})}};var v=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/conversation-settings",{...r,method:"PATCH",json:e})}};var O=class{constructor(t){this._transport=t}get api(){return{get:new T(this._transport),update:new v(this._transport)}}};var L=class{constructor(t){this._transport=t}send({limit:t,request:e={}}={}){return this._transport.send("v1/actions",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}};var F=class{constructor(t){this._transport=t}get api(){return{list:new L(this._transport)}}};var U=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/boilerplate-categories/"+encodeURIComponent(t)+"/boilerplates",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var S=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/boilerplate-categories",{...e,method:"POST",json:t})}};var w=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/boilerplate-categories/"+encodeURIComponent(t),{...e,method:"GET"})}};var I=class{constructor(t){this._transport=t}send({limit:t,include:e,request:r={}}={}){return this._transport.send("v1/boilerplate-categories",{...r,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.includeQuery(e)]})}};var q=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/boilerplate-categories/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var A=class{constructor(t){this._transport=t}get api(){return{get:new w(this._transport),list:new I(this._transport),create:new S(this._transport),update:new q(this._transport),boilerplate:{list:new U(this._transport)}}}};var E=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/boilerplates",{...e,method:"POST",json:t})}};var P=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/boilerplates/"+encodeURIComponent(t),{...e,method:"GET"})}};var G=class{constructor(t){this._transport=t}send({limit:t,query:e,request:r={}}={}){return this._transport.send("v1/boilerplates",{...r,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e)]})}};var N=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/boilerplates/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var B=class{constructor(t){this._transport=t}get api(){return{get:new P(this._transport),list:new G(this._transport),update:new N(this._transport),create:new E(this._transport)}}};var M=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/channels",{...e,method:"POST",json:t})}};var j=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t),{...e,method:"GET"})}};var H=class{constructor(t){this._transport=t}send({limit:t,request:e={}}={}){return this._transport.send("v1/channels",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}};var Jt=require("zod"),k=class o{constructor(t){this._transport=t}static SCHEMA=Jt.z.object({overwrite:Jt.z.boolean().optional()});send(t,{body:e,request:r={}}){return this._transport.send("v1/sources/twilio-sendgrid/channels/"+encodeURIComponent(t)+"/sync",{...r,method:"POST",json:o.SCHEMA.parse(e)})}};var D=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/channels/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var Q=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/composition-sections",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var K=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/messages",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var V=class{constructor(t){this._transport=t}get api(){return{get:new j(this._transport),list:new H(this._transport),update:new D(this._transport),create:new M(this._transport),compositionSection:{list:new Q(this._transport)},message:{list:new K(this._transport)},twilioSendgrid:{sync:new k(this._transport)}}}};var W=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/composition-sections",{...e,method:"POST",json:t})}};var Y=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/composition-sections/"+encodeURIComponent(t),{...e,method:"GET"})}};var z=class{constructor(t){this._transport=t}send({limit:t,request:e={}}={}){return this._transport.send("v1/composition-sections",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}};var $=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/composition-sections/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var J=class{constructor(t){this._transport=t}get api(){return{get:new Y(this._transport),list:new z(this._transport),create:new W(this._transport),update:new $(this._transport)}}};var X=class{constructor(t){this._transport=t}getRelativeURL({id:t,vcf:e={}}){let r=e.variant??"vcard",s=e.format??(r==="vcard"?"vcf":"json");return"v1/contacts/"+encodeURIComponent(t)+"/vcf?variant="+encodeURIComponent(r)+"&format="+encodeURIComponent(s)}getURL(t){return this._transport.getURL(this.getRelativeURL(t))}send(t){return this._transport.send(this.getURL(t),{method:"GET"})}};var Z=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/contacts",{...e,method:"POST",json:t})}};var tt=class{constructor(t){this._transport=t}send(t,{include:e,request:r={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...r,method:"GET",searchParams:[...this._transport.includeQuery(e??{})]})}};var et=class{constructor(t){this._transport=t}send({limit:t,query:e,request:r={}}={}){return this._transport.send("v1/contacts",{...r,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e)]})}};var ot=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var rt=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/conversations",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var nt=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/labels",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var st=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...r,method:"POST",json:e})}};var it=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...e,method:"GET"})}};var at=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notification-subscriptions",{...r,method:"POST",json:e})}};var pt=class{constructor(t){this._transport=t}get api(){return{get:new tt(this._transport),list:new et(this._transport),update:new ot(this._transport),create:new Z(this._transport),conversation:{list:new rt(this._transport)},label:{list:new nt(this._transport)},note:{list:new it(this._transport),create:new st(this._transport)},notificationSubscription:{create:new at(this._transport)},vcf:{get:new X(this._transport)}}}};var ct=class{constructor(t){this._transport=t}send(t,{include:e,request:r={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...r,method:"GET",searchParams:[...this._transport.includeQuery(e??{})]})}};var lt=class{constructor(t){this._transport=t}send({limit:t,filter:e,include:r,request:s={}}={}){return this._transport.send("v1/conversations",{...s,method:"GET",searchParams:[...this._transport.limitQuery(t),...e?[["filter",e]]:[],...this._transport.includeQuery(r??{})]})}};var dt=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var ut=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/labels",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var mt=class{constructor(t){this._transport=t}send(t,{limit:e,include:r,request:s={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/messages",{...s,method:"GET",searchParams:[...this._transport.limitQuery(e),...this._transport.includeQuery(r??{})]})}};var f=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...r,method:"POST",json:e})}};var ht=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...e,method:"GET"})}};var ft=class{constructor(t){this._transport=t}get api(){return{get:new ct(this._transport),list:new lt(this._transport),update:new dt(this._transport),create:new f(this._transport),label:{list:new ut(this._transport)},message:{list:new mt(this._transport)},note:{list:new ht(this._transport),create:new f(this._transport)}}}};var Ct=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/contacts",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var gt=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/conversations",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var bt=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/labels",{...e,method:"POST",json:t})}};var _t=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var xt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...e,method:"GET"})}};var Rt=class{constructor(t){this._transport=t}send({limit:t,query:e,include:r,request:s={}}={}){return this._transport.send("v1/labels",{...s,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e),...this._transport.includeQuery(r??{})]})}};var yt=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var Tt=class{constructor(t){this._transport=t}get api(){return{create:new bt(this._transport),get:new xt(this._transport),list:new Rt(this._transport),update:new yt(this._transport),delete:new _t(this._transport),contact:{list:new Ct(this._transport)},conversation:{list:new gt(this._transport)}}}};var vt=class{constructor(t){this._transport=t}send({limit:t,include:e,request:r={}}={}){return this._transport.send("v1/messages",{...r,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.includeQuery(e??{})]})}};var Ot=class{constructor(t){this._transport=t}get api(){return{list:new vt(this._transport)}}};var Lt=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/correction",{...r,method:"POST",json:e})}};var Ft=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/models/"+encodeURIComponent(t),{...e,method:"GET"})}};var Ut=class{constructor(t){this._transport=t}send({request:t={}}={}){return this._transport.send("v1/models",{...t,method:"GET"})}};var St=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/response",{...r,method:"POST",timeout:12e4,json:e})}};var wt=class{constructor(t){this._transport=t}get api(){return{get:new Ft(this._transport),list:new Ut(this._transport),response:{create:new St(this._transport)},correction:{create:new Lt(this._transport)}}}};var It=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...e,method:"GET"})}};var qt=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var At=class{constructor(t){this._transport=t}get api(){return{get:new It(this._transport),update:new qt(this._transport)}}};var Et=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/sources/"+encodeURIComponent(t),{...e,method:"GET"})}};var Pt=class{constructor(t){this._transport=t}send({category:t,request:e={}}={}){let r=[];if(t){let s=Array.isArray(t)?t:[t];for(let a of s)r.push(["category",a])}return this._transport.send("v1/sources",{...e,method:"GET",searchParams:r})}};var Gt=class{constructor(t){this._transport=t}get api(){return{get:new Et(this._transport),list:new Pt(this._transport)}}};var Nt=class{constructor(t){this._transport=t}send({account:t,files:e,request:r={}}){let s=new FormData;for(let a of e)s.append("file",a);return this._transport.send("v1/uploads",{...r,method:"POST",body:s,searchParams:{account:t}})}};var Bt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/uploads/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var Mt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/uploads/"+encodeURIComponent(t),{...e,method:"GET"})}};var jt=class{constructor(t){this._transport=t}get api(){return{get:new Mt(this._transport),create:new Nt(this._transport),delete:new Bt(this._transport)}}};var Ht=class{constructor(t){this._transport=t}send({request:t={}}={}){return this._transport.send(".well-known/notifications",{...t,method:"GET"})}};var kt=class{constructor(t){this._transport=t}get api(){return{notification:{get:new Ht(this._transport)}}}};var C=class o{static DEFAULT_BASE_URL=Wt;_transport;_account;_accountConversationSettings;_action;_boilerplate;_boilerplateCategory;_channel;_compositionSection;_contact;_conversation;_label;_message;_model;_note;_source;_upload;_webhook;_wellKnown;constructor(t,{baseURL:e,...r}={}){this._transport=new b({requestFilterables:[new g,t],...r,baseURL:e?.toString()??o.getBaseURL()}),this._account=new y(this._transport),this._accountConversationSettings=new O(this._transport),this._action=new F(this._transport),this._boilerplate=new B(this._transport),this._boilerplateCategory=new A(this._transport),this._channel=new V(this._transport),this._compositionSection=new J(this._transport),this._contact=new pt(this._transport),this._conversation=new ft(this._transport),this._label=new Tt(this._transport),this._message=new Ot(this._transport),this._model=new wt(this._transport),this._note=new At(this._transport),this._source=new Gt(this._transport),this._upload=new jt(this._transport),this._webhook=new _(this),this._wellKnown=new kt(this._transport)}static getBaseURL(){return process.env[ae]??this.DEFAULT_BASE_URL}get account(){return this._account.api}get accountConversationSettings(){return this._accountConversationSettings.api}get action(){return this._action.api}get boilerplate(){return this._boilerplate.api}get boilerplateCategory(){return this._boilerplateCategory.api}get channel(){return this._channel.api}get compositionSection(){return this._compositionSection.api}get contact(){return this._contact.api}get conversation(){return this._conversation.api}get label(){return this._label.api}get message(){return this._message.api}get model(){return this._model.api}get note(){return this._note.api}get source(){return this._source.api}get upload(){return this._upload.api}get webhook(){return this._webhook}get wellKnown(){return this._wellKnown.api}};var Xt={};Zt(Xt,{AuthError:()=>c,AuthenticationError:()=>d,AuthorizationError:()=>u,LogicError:()=>p,NetworkError:()=>m,SupportError:()=>i,ValidationError:()=>l});var Dt=class o{static DEFAULT_NAME=re;name;#t;constructor({name:t=process.env[ie]??o.DEFAULT_NAME,key:e=process.env[se]}={}){if(!e)throw new Error("API Key option must be specified when using Key Authentication");this.name=t,this.#t=e}async filter(){return{headers:this.getHeaders()}}getHeaders(){return{Authorization:`Basic ${btoa(this.name+":"+this.#t)}`}}};var Qt=class{#t;constructor({token:t=process.env[ne]}={}){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 Kt=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,5 +1,5 @@
1
- import { A as Authentication, a as Account, b as Conversation } from './index-Dmilz6R9.cjs';
2
- export { d as AccountConversationSettings, g as Action, B as Boilerplate, m as BoilerplateCategory, r as Channel, C as Client, w as CompositionSection, F as Contact, n as CreateBoilerplateCategoryResponse, h as CreateBoilerplateResponse, v as CreateChannelResponse, z as CreateCompositionSectionResponse, ad as CreateContactNoteResponse, an as CreateContactNotificationSubscriptionResponse, H as CreateContactResponse, ae as CreateConversationNoteResponse, aa as CreateCorrectionResponse, Y as CreateLabelResponse, ab as CreateResponseResponse, ap as CreateUploadResponse, Z as DeleteLabelResponse, ar as DeleteUploadResponse, e as GetAccountConversationSettingsResponse, G as GetAccountResponse, o as GetBoilerplateCategoryResponse, j as GetBoilerplateResponse, t as GetChannelResponse, x as GetCompositionSectionResponse, I as GetContactResponse, N as GetConversationResponse, _ as GetLabelResponse, a8 as GetModelResponse, af as GetNoteResponse, as as GetNotificationWellKnownResponse, ak as GetSourceResponse, aq as GetUploadResponse, X as Label, L as ListActionsResponse, p as ListBoilerplateCategoriesResponse, i as ListBoilerplateCategoryBoilerplatesResponse, k as ListBoilerplatesResponse, D as ListChannelCompositionSectionsResponse, a6 as ListChannelMessagesResponse, s as ListChannelsResponse, y as ListCompositionSectionsResponse, V as ListContactConversationsResponse, a2 as ListContactLabelsResponse, ag as ListContactNotesResponse, J as ListContactsResponse, a1 as ListConversationLabelsResponse, a4 as ListConversationMessagesResponse, ah as ListConversationNotesResponse, P as ListConversationsResponse, K as ListLabelContactsResponse, Q as ListLabelConversationsResponse, $ as ListLabelsResponse, a5 as ListMessagesResponse, a9 as ListModelsResponse, al as ListSourcesResponse, a3 as Message, a7 as Model, ac as Note, am as NotificationSubscription, O as Options, R as RequestFilterable, aj as Source, c as TransportOptions, T as TwilioSendgridChannelSyncResponse, f as UpdateAccountConversationSettingsResponse, U as UpdateAccountResponse, q as UpdateBoilerplateCategoryResponse, l as UpdateBoilerplateResponse, u as UpdateChannelResponse, E as UpdateCompositionSectionResponse, M as UpdateContactResponse, S as UpdateConversationResponse, a0 as UpdateLabelResponse, ai as UpdateNoteResponse, ao as Upload, W as WebhookResponse, C as default } from './index-Dmilz6R9.cjs';
1
+ import { A as Authentication, a as Account, b as Conversation } from './index-C0tSpOC2.cjs';
2
+ export { d as AccountConversationSettings, g as Action, B as Boilerplate, m as BoilerplateCategory, r as Channel, C as Client, w as CompositionSection, F as Contact, n as CreateBoilerplateCategoryResponse, h as CreateBoilerplateResponse, v as CreateChannelResponse, z as CreateCompositionSectionResponse, ad as CreateContactNoteResponse, an as CreateContactNotificationSubscriptionResponse, H as CreateContactResponse, ae as CreateConversationNoteResponse, aa as CreateCorrectionResponse, Y as CreateLabelResponse, ab as CreateResponseResponse, ap as CreateUploadResponse, Z as DeleteLabelResponse, ar as DeleteUploadResponse, e as GetAccountConversationSettingsResponse, G as GetAccountResponse, o as GetBoilerplateCategoryResponse, j as GetBoilerplateResponse, t as GetChannelResponse, x as GetCompositionSectionResponse, I as GetContactResponse, N as GetConversationResponse, _ as GetLabelResponse, a8 as GetModelResponse, af as GetNoteResponse, as as GetNotificationWellKnownResponse, ak as GetSourceResponse, aq as GetUploadResponse, X as Label, L as ListActionsResponse, p as ListBoilerplateCategoriesResponse, i as ListBoilerplateCategoryBoilerplatesResponse, k as ListBoilerplatesResponse, D as ListChannelCompositionSectionsResponse, a6 as ListChannelMessagesResponse, s as ListChannelsResponse, y as ListCompositionSectionsResponse, V as ListContactConversationsResponse, a2 as ListContactLabelsResponse, ag as ListContactNotesResponse, J as ListContactsResponse, a1 as ListConversationLabelsResponse, a4 as ListConversationMessagesResponse, ah as ListConversationNotesResponse, P as ListConversationsResponse, K as ListLabelContactsResponse, Q as ListLabelConversationsResponse, $ as ListLabelsResponse, a5 as ListMessagesResponse, a9 as ListModelsResponse, al as ListSourcesResponse, a3 as Message, a7 as Model, ac as Note, am as NotificationSubscription, O as Options, R as RequestFilterable, aj as Source, c as TransportOptions, T as TwilioSendgridChannelSyncResponse, f as UpdateAccountConversationSettingsResponse, U as UpdateAccountResponse, q as UpdateBoilerplateCategoryResponse, l as UpdateBoilerplateResponse, u as UpdateChannelResponse, E as UpdateCompositionSectionResponse, M as UpdateContactResponse, S as UpdateConversationResponse, a0 as UpdateLabelResponse, ai as UpdateNoteResponse, ao as Upload, W as WebhookResponse, C as default } from './index-C0tSpOC2.cjs';
3
3
  import 'ky';
4
4
  import 'zod';
5
5
 
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { A as Authentication, a as Account, b as Conversation } from './index-Dmilz6R9.js';
2
- export { d as AccountConversationSettings, g as Action, B as Boilerplate, m as BoilerplateCategory, r as Channel, C as Client, w as CompositionSection, F as Contact, n as CreateBoilerplateCategoryResponse, h as CreateBoilerplateResponse, v as CreateChannelResponse, z as CreateCompositionSectionResponse, ad as CreateContactNoteResponse, an as CreateContactNotificationSubscriptionResponse, H as CreateContactResponse, ae as CreateConversationNoteResponse, aa as CreateCorrectionResponse, Y as CreateLabelResponse, ab as CreateResponseResponse, ap as CreateUploadResponse, Z as DeleteLabelResponse, ar as DeleteUploadResponse, e as GetAccountConversationSettingsResponse, G as GetAccountResponse, o as GetBoilerplateCategoryResponse, j as GetBoilerplateResponse, t as GetChannelResponse, x as GetCompositionSectionResponse, I as GetContactResponse, N as GetConversationResponse, _ as GetLabelResponse, a8 as GetModelResponse, af as GetNoteResponse, as as GetNotificationWellKnownResponse, ak as GetSourceResponse, aq as GetUploadResponse, X as Label, L as ListActionsResponse, p as ListBoilerplateCategoriesResponse, i as ListBoilerplateCategoryBoilerplatesResponse, k as ListBoilerplatesResponse, D as ListChannelCompositionSectionsResponse, a6 as ListChannelMessagesResponse, s as ListChannelsResponse, y as ListCompositionSectionsResponse, V as ListContactConversationsResponse, a2 as ListContactLabelsResponse, ag as ListContactNotesResponse, J as ListContactsResponse, a1 as ListConversationLabelsResponse, a4 as ListConversationMessagesResponse, ah as ListConversationNotesResponse, P as ListConversationsResponse, K as ListLabelContactsResponse, Q as ListLabelConversationsResponse, $ as ListLabelsResponse, a5 as ListMessagesResponse, a9 as ListModelsResponse, al as ListSourcesResponse, a3 as Message, a7 as Model, ac as Note, am as NotificationSubscription, O as Options, R as RequestFilterable, aj as Source, c as TransportOptions, T as TwilioSendgridChannelSyncResponse, f as UpdateAccountConversationSettingsResponse, U as UpdateAccountResponse, q as UpdateBoilerplateCategoryResponse, l as UpdateBoilerplateResponse, u as UpdateChannelResponse, E as UpdateCompositionSectionResponse, M as UpdateContactResponse, S as UpdateConversationResponse, a0 as UpdateLabelResponse, ai as UpdateNoteResponse, ao as Upload, W as WebhookResponse, C as default } from './index-Dmilz6R9.js';
1
+ import { A as Authentication, a as Account, b as Conversation } from './index-C0tSpOC2.js';
2
+ export { d as AccountConversationSettings, g as Action, B as Boilerplate, m as BoilerplateCategory, r as Channel, C as Client, w as CompositionSection, F as Contact, n as CreateBoilerplateCategoryResponse, h as CreateBoilerplateResponse, v as CreateChannelResponse, z as CreateCompositionSectionResponse, ad as CreateContactNoteResponse, an as CreateContactNotificationSubscriptionResponse, H as CreateContactResponse, ae as CreateConversationNoteResponse, aa as CreateCorrectionResponse, Y as CreateLabelResponse, ab as CreateResponseResponse, ap as CreateUploadResponse, Z as DeleteLabelResponse, ar as DeleteUploadResponse, e as GetAccountConversationSettingsResponse, G as GetAccountResponse, o as GetBoilerplateCategoryResponse, j as GetBoilerplateResponse, t as GetChannelResponse, x as GetCompositionSectionResponse, I as GetContactResponse, N as GetConversationResponse, _ as GetLabelResponse, a8 as GetModelResponse, af as GetNoteResponse, as as GetNotificationWellKnownResponse, ak as GetSourceResponse, aq as GetUploadResponse, X as Label, L as ListActionsResponse, p as ListBoilerplateCategoriesResponse, i as ListBoilerplateCategoryBoilerplatesResponse, k as ListBoilerplatesResponse, D as ListChannelCompositionSectionsResponse, a6 as ListChannelMessagesResponse, s as ListChannelsResponse, y as ListCompositionSectionsResponse, V as ListContactConversationsResponse, a2 as ListContactLabelsResponse, ag as ListContactNotesResponse, J as ListContactsResponse, a1 as ListConversationLabelsResponse, a4 as ListConversationMessagesResponse, ah as ListConversationNotesResponse, P as ListConversationsResponse, K as ListLabelContactsResponse, Q as ListLabelConversationsResponse, $ as ListLabelsResponse, a5 as ListMessagesResponse, a9 as ListModelsResponse, al as ListSourcesResponse, a3 as Message, a7 as Model, ac as Note, am as NotificationSubscription, O as Options, R as RequestFilterable, aj as Source, c as TransportOptions, T as TwilioSendgridChannelSyncResponse, f as UpdateAccountConversationSettingsResponse, U as UpdateAccountResponse, q as UpdateBoilerplateCategoryResponse, l as UpdateBoilerplateResponse, u as UpdateChannelResponse, E as UpdateCompositionSectionResponse, M as UpdateContactResponse, S as UpdateConversationResponse, a0 as UpdateLabelResponse, ai as UpdateNoteResponse, ao as Upload, W as WebhookResponse, C as default } from './index-C0tSpOC2.js';
3
3
  import 'ky';
4
4
  import 'zod';
5
5
 
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{a as d,b as g,c as p,d as s,e as n,f as _,g as a,h as f,i as m,j as u,k as x,l as c,m as l,n as h,o as A}from"./chunk-3IK5HEB7.js";var E={};d(E,{AuthError:()=>m,AuthenticationError:()=>u,AuthorizationError:()=>x,LogicError:()=>c,NetworkError:()=>l,SupportError:()=>f,ValidationError:()=>h});var t=class e{static DEFAULT_NAME=a;name;#r;constructor({name:r=process.env[n]??e.DEFAULT_NAME,key:i=process.env[s]}={}){if(!i)throw new Error("API Key option must be specified when using Key Authentication");this.name=r,this.#r=i}async filter(){return{headers:this.getHeaders()}}getHeaders(){return{Authorization:`Basic ${btoa(this.name+":"+this.#r)}`}}};var o=class{#r;constructor({token:r=process.env[p]}={}){if(!r)throw new Error("Access Token option must be specified when using Token Authentication");this.#r=r}async filter(){return{headers:this.getHeaders()}}getHeaders(){return{Authorization:`Bearer ${this.#r}`}}};export{A as Client,_ as DEFAULT_SUPPORT_BASE_URL,E as Error,t as KeyAuthentication,g as PublicAuthentication,o as TokenAuthentication,A as default};
1
+ import{a as d,b as g,c as p,d as s,e as n,f as _,g as a,h as f,i as m,j as u,k as x,l as c,m as l,n as h,o as A}from"./chunk-ZHQA7EWT.js";var E={};d(E,{AuthError:()=>m,AuthenticationError:()=>u,AuthorizationError:()=>x,LogicError:()=>c,NetworkError:()=>l,SupportError:()=>f,ValidationError:()=>h});var t=class e{static DEFAULT_NAME=a;name;#r;constructor({name:r=process.env[n]??e.DEFAULT_NAME,key:i=process.env[s]}={}){if(!i)throw new Error("API Key option must be specified when using Key Authentication");this.name=r,this.#r=i}async filter(){return{headers:this.getHeaders()}}getHeaders(){return{Authorization:`Basic ${btoa(this.name+":"+this.#r)}`}}};var o=class{#r;constructor({token:r=process.env[p]}={}){if(!r)throw new Error("Access Token option must be specified when using Token Authentication");this.#r=r}async filter(){return{headers:this.getHeaders()}}getHeaders(){return{Authorization:`Bearer ${this.#r}`}}};export{A as Client,_ as DEFAULT_SUPPORT_BASE_URL,E as Error,t as KeyAuthentication,g as PublicAuthentication,o as TokenAuthentication,A as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@great-detail/support-sdk",
3
- "version": "0.10.17",
3
+ "version": "0.11.0",
4
4
  "type": "module",
5
5
  "description": "JavaScript SDK for the Great Detail Support System",
6
6
  "author": "Great Detail Ltd <info@greatdetail.com>",
@@ -1 +0,0 @@
1
- var Yt=Object.defineProperty;var Zt=(o,t)=>{for(var e in t)Yt(o,e,{get:t[e],enumerable:!0})};var Ht=class{async filter(){return{headers:this.getHeaders()}}getHeaders(){return{}}};var Dt="https://api.support.greatdetail.com",Kt={"X-Powered-By":"GDSupport/JavaScript"},oe="api-key";import{z as n}from"zod";var u=class o{constructor(t){this._client=t}static SCHEMA=n.object({data:n.object({event:n.intersection(n.object({id:n.string(),createdAt:n.string().datetime()}),n.union([n.object({type:n.union([n.literal("account.created"),n.literal("account.updated")]),payload:n.object({account:n.string()})}),n.object({type:n.union([n.literal("contact.created"),n.literal("contact.updated")]),payload:n.object({contact:n.string()})}),n.object({type:n.union([n.literal("conversation.created"),n.literal("conversation.updated"),n.literal("conversation.closed"),n.literal("conversation.received"),n.literal("conversation.resolved"),n.literal("conversation.sent")]),payload:n.object({conversation:n.string()})}),n.object({type:n.union([n.literal("message.created"),n.literal("message.updated"),n.literal("message.delivered"),n.literal("message.failed"),n.literal("message.read"),n.literal("message.received"),n.literal("message.sent")]),payload:n.object({message:n.string()})})]))})});async event({request:t}){let{data:e}=o.SCHEMA.parse(t.body);return{event:e.event}}};var ie="SUPPORT_ACCESS_TOKEN",ae="SUPPORT_API_KEY",pe="SUPPORT_KEY_NAME",Vt="SUPPORT_BASE_URL";var m=class o{constructor(t=o.STANDARD_HEADERS){this._standardHeaders=t}static STANDARD_HEADERS=Kt;async filter(){return{headers:this.getHeaders()}}getHeaders(){return this._standardHeaders}};import $t from"is-network-error";import Jt,{HTTPError as Xt}from"ky";var i=class extends Error{static serverError(t){return new this("Server Error: "+t)}};var c=class extends i{};var h=class extends c{static unauthenticated(){return new this("An unauthenticated request occurred")}};var C=class extends c{static forbidden(){return new this("A forbidden request occurred")}};var p=class extends i{static notFound(t){return new this(`Record not found for request: ${t}`)}static forbiddenMethod(t,e){return new this(`Forbidden method for request: ${t} ${e}`)}static teapot(){return new this("I'm a teapot")}static rateLimited(){return new this("Request has been rate-limited")}};var f=class extends i{};var l=class extends i{static badRequest(){return new this("Bad request")}static unsupportedMediaType(){return new this("Unsupported Media Type")}};var g=class{client;options;constructor({baseURL:t,...e}){this.options={...e,baseURL:t},this.client=Jt.create({prefixUrl:this.options.baseURL,timeout:12e3,hooks:{beforeRequest:[r=>{for(let s of this.options.requestFilterables){let a=s.getHeaders();for(let[kt,zt]of Object.entries(a))r.headers.has(kt)||r.headers.set(kt,zt)}}]}})}getURL(t){return new URL(t,this.options.baseURL).toString()}limitQuery(t){let e=[];return t&&e.push(["limit",t.toString()]),e}includeQuery(t){let e=[];if(t===void 0)return e;for(let r of Object.keys(t))e.push(["include",r]);return e}queryQuery(t){let e=[];return t&&e.push(["query",t]),e}send(t,e){let r=this.client(t,e).catch(s=>{if($t(s))throw new f("A network error occurred",{cause:s});if(s instanceof Xt){let a=s.response.status;switch(console.error(JSON.stringify(s.response)),a){case 400:throw l.badRequest();case 401:throw h.unauthenticated();case 403:throw C.forbidden();case 404:throw p.notFound(t);case 405:throw p.forbiddenMethod(t,e.method??"GET");case 415:throw l.unsupportedMediaType();case 418:throw p.teapot();case 429:throw p.rateLimited()}if(a>=500&&a<600)throw i.serverError(a)}throw s});return{response:()=>r,json:async()=>(await r).json()}}};var b=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t),{...e,method:"GET"})}};var _=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/accounts/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var x=class{constructor(t){this._transport=t}get api(){return{get:new b(this._transport),update:new _(this._transport)}}};var R=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/conversation-settings",{...e,method:"GET"})}};var y=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/conversation-settings",{...r,method:"PATCH",json:e})}};var T=class{constructor(t){this._transport=t}get api(){return{get:new R(this._transport),update:new y(this._transport)}}};var v=class{constructor(t){this._transport=t}send({limit:t,request:e={}}={}){return this._transport.send("v1/actions",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}};var O=class{constructor(t){this._transport=t}get api(){return{list:new v(this._transport)}}};var F=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/boilerplate-categories/"+encodeURIComponent(t)+"/boilerplates",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var L=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/boilerplate-categories",{...e,method:"POST",json:t})}};var U=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/boilerplate-categories/"+encodeURIComponent(t),{...e,method:"GET"})}};var S=class{constructor(t){this._transport=t}send({limit:t,include:e,request:r={}}={}){return this._transport.send("v1/boilerplate-categories",{...r,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.includeQuery(e)]})}};var w=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/boilerplate-categories/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var q=class{constructor(t){this._transport=t}get api(){return{get:new U(this._transport),list:new S(this._transport),create:new L(this._transport),update:new w(this._transport),boilerplate:{list:new F(this._transport)}}}};var I=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/boilerplates",{...e,method:"POST",json:t})}};var A=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/boilerplates/"+encodeURIComponent(t),{...e,method:"GET"})}};var E=class{constructor(t){this._transport=t}send({limit:t,query:e,request:r={}}={}){return this._transport.send("v1/boilerplates",{...r,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e)]})}};var P=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/boilerplates/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var G=class{constructor(t){this._transport=t}get api(){return{get:new A(this._transport),list:new E(this._transport),update:new P(this._transport),create:new I(this._transport)}}};var N=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/channels",{...e,method:"POST",json:t})}};var B=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t),{...e,method:"GET"})}};var M=class{constructor(t){this._transport=t}send({limit:t,request:e={}}={}){return this._transport.send("v1/channels",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}};import{z as Wt}from"zod";var j=class o{constructor(t){this._transport=t}static SCHEMA=Wt.object({overwrite:Wt.boolean().optional()});send(t,{body:e,request:r={}}){return this._transport.send("v1/sources/twilio-sendgrid/channels/"+encodeURIComponent(t)+"/sync",{...r,method:"POST",json:o.SCHEMA.parse(e)})}};var H=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/channels/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var Q=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/composition-sections",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var k=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/messages",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var D=class{constructor(t){this._transport=t}get api(){return{get:new B(this._transport),list:new M(this._transport),update:new H(this._transport),create:new N(this._transport),compositionSection:{list:new Q(this._transport)},message:{list:new k(this._transport)},twilioSendgrid:{sync:new j(this._transport)}}}};var K=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/composition-sections",{...e,method:"POST",json:t})}};var V=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/composition-sections/"+encodeURIComponent(t),{...e,method:"GET"})}};var W=class{constructor(t){this._transport=t}send({limit:t,request:e={}}={}){return this._transport.send("v1/composition-sections",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}};var z=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/composition-sections/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var Y=class{constructor(t){this._transport=t}get api(){return{get:new V(this._transport),list:new W(this._transport),create:new K(this._transport),update:new z(this._transport)}}};var $=class{constructor(t){this._transport=t}getRelativeURL({id:t,vcf:e={}}){let r=e.variant??"vcard",s=e.format??(r==="vcard"?"vcf":"json");return"v1/contacts/"+encodeURIComponent(t)+"/vcf?variant="+encodeURIComponent(r)+"&format="+encodeURIComponent(s)}getURL(t){return this._transport.getURL(this.getRelativeURL(t))}send(t){return this._transport.send(this.getURL(t),{method:"GET"})}};var J=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/contacts",{...e,method:"POST",json:t})}};var X=class{constructor(t){this._transport=t}send(t,{include:e,request:r={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...r,method:"GET",searchParams:[...this._transport.includeQuery(e??{})]})}};var Z=class{constructor(t){this._transport=t}send({limit:t,query:e,request:r={}}={}){return this._transport.send("v1/contacts",{...r,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e)]})}};var tt=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var et=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/conversations",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var ot=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/labels",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var rt=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...r,method:"POST",json:e})}};var nt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...e,method:"GET"})}};var st=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notification-subscriptions",{...r,method:"POST",json:e})}};var it=class{constructor(t){this._transport=t}get api(){return{get:new X(this._transport),list:new Z(this._transport),update:new tt(this._transport),create:new J(this._transport),conversation:{list:new et(this._transport)},label:{list:new ot(this._transport)},note:{list:new nt(this._transport),create:new rt(this._transport)},notificationSubscription:{create:new st(this._transport)},vcf:{get:new $(this._transport)}}}};var at=class{constructor(t){this._transport=t}send(t,{include:e,request:r={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...r,method:"GET",searchParams:[...this._transport.includeQuery(e??{})]})}};var pt=class{constructor(t){this._transport=t}send({limit:t,filter:e,include:r,request:s={}}={}){return this._transport.send("v1/conversations",{...s,method:"GET",searchParams:[...this._transport.limitQuery(t),...e?[["filter",e]]:[],...this._transport.includeQuery(r??{})]})}};var ct=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var lt=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/labels",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var dt=class{constructor(t){this._transport=t}send(t,{limit:e,include:r,request:s={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/messages",{...s,method:"GET",searchParams:[...this._transport.limitQuery(e),...this._transport.includeQuery(r??{})]})}};var d=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...r,method:"POST",json:e})}};var ut=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...e,method:"GET"})}};var mt=class{constructor(t){this._transport=t}get api(){return{get:new at(this._transport),list:new pt(this._transport),update:new ct(this._transport),create:new d(this._transport),label:{list:new lt(this._transport)},message:{list:new dt(this._transport)},note:{list:new ut(this._transport),create:new d(this._transport)}}}};var ht=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/contacts",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var Ct=class{constructor(t){this._transport=t}send(t,{limit:e,request:r={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/conversations",{...r,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}};var ft=class{constructor(t){this._transport=t}send({body:t,request:e={}}){return this._transport.send("v1/labels",{...e,method:"POST",json:t})}};var gt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var bt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...e,method:"GET"})}};var _t=class{constructor(t){this._transport=t}send({limit:t,query:e,include:r,request:s={}}={}){return this._transport.send("v1/labels",{...s,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e),...this._transport.includeQuery(r??{})]})}};var xt=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var Rt=class{constructor(t){this._transport=t}get api(){return{create:new ft(this._transport),get:new bt(this._transport),list:new _t(this._transport),update:new xt(this._transport),delete:new gt(this._transport),contact:{list:new ht(this._transport)},conversation:{list:new Ct(this._transport)}}}};var yt=class{constructor(t){this._transport=t}send({limit:t,include:e,request:r={}}={}){return this._transport.send("v1/messages",{...r,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.includeQuery(e??{})]})}};var Tt=class{constructor(t){this._transport=t}get api(){return{list:new yt(this._transport)}}};var vt=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/correction",{...r,method:"POST",json:e})}};var Ot=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/models/"+encodeURIComponent(t),{...e,method:"GET"})}};var Ft=class{constructor(t){this._transport=t}send({request:t={}}={}){return this._transport.send("v1/models",{...t,method:"GET"})}};var Lt=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/response",{...r,method:"POST",timeout:12e4,json:e})}};var Ut=class{constructor(t){this._transport=t}get api(){return{get:new Ot(this._transport),list:new Ft(this._transport),response:{create:new Lt(this._transport)},correction:{create:new vt(this._transport)}}}};var St=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...e,method:"GET"})}};var wt=class{constructor(t){this._transport=t}send(t,{body:e,request:r={}}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...r,method:"PATCH",json:e})}};var qt=class{constructor(t){this._transport=t}get api(){return{get:new St(this._transport),update:new wt(this._transport)}}};var It=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/sources/"+encodeURIComponent(t),{...e,method:"GET"})}};var At=class{constructor(t){this._transport=t}send({category:t,request:e={}}={}){let r=[];if(t){let s=Array.isArray(t)?t:[t];for(let a of s)r.push(["category",a])}return this._transport.send("v1/sources",{...e,method:"GET",searchParams:r})}};var Et=class{constructor(t){this._transport=t}get api(){return{get:new It(this._transport),list:new At(this._transport)}}};var Pt=class{constructor(t){this._transport=t}send({account:t,files:e,request:r={}}){let s=new FormData;for(let a of e)s.append("file",a);return this._transport.send("v1/uploads",{...r,method:"POST",body:s,searchParams:{account:t}})}};var Gt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/uploads/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var Nt=class{constructor(t){this._transport=t}send(t,{request:e={}}={}){return this._transport.send("v1/uploads/"+encodeURIComponent(t),{...e,method:"GET"})}};var Bt=class{constructor(t){this._transport=t}get api(){return{get:new Nt(this._transport),create:new Pt(this._transport),delete:new Gt(this._transport)}}};var Mt=class{constructor(t){this._transport=t}send({request:t={}}={}){return this._transport.send(".well-known/notifications",{...t,method:"GET"})}};var jt=class{constructor(t){this._transport=t}get api(){return{notification:{get:new Mt(this._transport)}}}};var Qt=class o{static DEFAULT_BASE_URL=Dt;_transport;_account;_accountConversationSettings;_action;_boilerplate;_boilerplateCategory;_channel;_compositionSection;_contact;_conversation;_label;_message;_model;_note;_source;_upload;_webhook;_wellKnown;constructor(t,{baseURL:e,...r}={}){this._transport=new g({requestFilterables:[new m,t],...r,baseURL:e?.toString()??o.getBaseURL()}),this._account=new x(this._transport),this._accountConversationSettings=new T(this._transport),this._action=new O(this._transport),this._boilerplate=new G(this._transport),this._boilerplateCategory=new q(this._transport),this._channel=new D(this._transport),this._compositionSection=new Y(this._transport),this._contact=new it(this._transport),this._conversation=new mt(this._transport),this._label=new Rt(this._transport),this._message=new Tt(this._transport),this._model=new Ut(this._transport),this._note=new qt(this._transport),this._source=new Et(this._transport),this._upload=new Bt(this._transport),this._webhook=new u(this),this._wellKnown=new jt(this._transport)}static getBaseURL(){return process.env[Vt]??this.DEFAULT_BASE_URL}get account(){return this._account.api}get accountConversationSettings(){return this._accountConversationSettings.api}get action(){return this._action.api}get boilerplate(){return this._boilerplate.api}get boilerplateCategory(){return this._boilerplateCategory.api}get channel(){return this._channel.api}get compositionSection(){return this._compositionSection.api}get contact(){return this._contact.api}get conversation(){return this._conversation.api}get label(){return this._label.api}get message(){return this._message.api}get model(){return this._model.api}get note(){return this._note.api}get source(){return this._source.api}get upload(){return this._upload.api}get webhook(){return this._webhook}get wellKnown(){return this._wellKnown.api}};export{Zt as a,Ht as b,ie as c,ae as d,pe as e,Dt as f,oe as g,i as h,c as i,h as j,C as k,p as l,f as m,l as n,Qt as o};