@great-detail/support-sdk 0.16.2 → 0.16.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{Client-DKNuv_mB.d.cts → Client-BfZWvMa5.d.cts} +2 -1
- package/dist/{Client-DKNuv_mB.d.ts → Client-BfZWvMa5.d.ts} +2 -1
- package/dist/chunk-TYWSBZE2.js +1 -0
- package/dist/{chunk-MTQCQH5K.js → chunk-ZYGIKVV2.js} +1 -1
- package/dist/cli/index.cjs +1 -1
- package/dist/cli/index.d.cts +1 -1
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli.cjs +1 -1
- package/dist/cli.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-CBX4D3XB.js +0 -1
|
@@ -1369,7 +1369,8 @@ declare class ContactAPI {
|
|
|
1369
1369
|
response: () => Promise<ky.KyResponse<GetContactResponse<C>>>;
|
|
1370
1370
|
json: () => Promise<GetContactResponse<C>>;
|
|
1371
1371
|
};
|
|
1372
|
-
|
|
1372
|
+
getRelativeVCFURL(id: ContactID, { vcf }?: GetContactVCFOptions): string;
|
|
1373
|
+
getVCFURL(id: ContactID, options?: GetContactVCFOptions): string;
|
|
1373
1374
|
getVCF(id: ContactID, options?: GetContactVCFOptions): {
|
|
1374
1375
|
response: () => Promise<ky.KyResponse<unknown>>;
|
|
1375
1376
|
json: () => Promise<unknown>;
|
|
@@ -1369,7 +1369,8 @@ declare class ContactAPI {
|
|
|
1369
1369
|
response: () => Promise<ky.KyResponse<GetContactResponse<C>>>;
|
|
1370
1370
|
json: () => Promise<GetContactResponse<C>>;
|
|
1371
1371
|
};
|
|
1372
|
-
|
|
1372
|
+
getRelativeVCFURL(id: ContactID, { vcf }?: GetContactVCFOptions): string;
|
|
1373
|
+
getVCFURL(id: ContactID, options?: GetContactVCFOptions): string;
|
|
1373
1374
|
getVCF(id: ContactID, options?: GetContactVCFOptions): {
|
|
1374
1375
|
response: () => Promise<ky.KyResponse<unknown>>;
|
|
1375
1376
|
json: () => Promise<unknown>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var $=Object.defineProperty;var Z=(r,t)=>{for(var e in t)$(r,e,{get:t[e],enumerable:!0})};var d=class{getHeaders(){return{}}};var Q="SUPPORT_ACCESS_TOKEN",H="SUPPORT_KEY_NAME",q="SUPPORT_KEY_PASSWORD",j="SUPPORT_SIGNING_KEY",V="SUPPORT_BASE_URL";var u=class{name;#t;constructor({name:t=process.env[H],password:e=process.env[q]}={}){if(!t)throw new Error("Name option must be specified when using Basic Authentication");if(!e)throw new Error("Password option must be specified when using Basic Authentication");this.name=t,this.#t=e}getHeaders(){return{Authorization:`Basic ${btoa(this.name+":"+this.#t)}`}}};var C=class{#t;constructor({token:t=process.env[Q]}={}){if(!t)throw new Error("Access Token option must be specified when using Token Authentication");this.#t=t}getHeaders(){return{Authorization:`Bearer ${this.#t}`}}};var K="https://api.support.greatdetail.com",W={"X-Powered-By":"GDSupport/JavaScript"};import{z as s}from"zod";var h=class r{static SCHEMA=s.object({data:s.object({event:s.intersection(s.object({id:s.string(),createdAt:s.string().datetime()}),s.union([s.object({type:s.union([s.literal("account.created"),s.literal("account.updated")]),payload:s.object({account:s.string()})}),s.object({type:s.union([s.literal("accountAccessToken.created"),s.literal("accountAccessToken.deleted")]),payload:s.object({accountAccessToken:s.string()})}),s.object({type:s.union([s.literal("contact.created"),s.literal("contact.updated")]),payload:s.object({contact:s.string()})}),s.object({type:s.union([s.literal("conversation.created"),s.literal("conversation.updated"),s.literal("conversation.closed"),s.literal("conversation.received"),s.literal("conversation.resolved"),s.literal("conversation.sent")]),payload:s.object({conversation:s.string()})}),s.object({type:s.union([s.literal("message.created"),s.literal("message.updated"),s.literal("message.delivered"),s.literal("message.failed"),s.literal("message.read"),s.literal("message.received"),s.literal("message.sent")]),payload:s.object({message:s.string()})})]))})});constructor(){}async event({key:t=process.env[j],maxSignatures:e=3,request:o}){let n=o.headers["gds-signature"];if(t!==!1){if(t===void 0)throw new Error("Missing webhook signing key in process.env."+j);if(!n)throw new Error("Missing signature header");if(!this._verifySignature(t,o.body,Array.isArray(n)?n.slice(0,e):[n]))throw new Error("Untrusted signature")}let{data:i}=r.SCHEMA.parse(o.body);return{event:i.event}}async _verifySignature(t,e,o){let n=await crypto.subtle.importKey("raw",new TextEncoder().encode(t),{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"]);for(let i of o)if(await crypto.subtle.verify("HMAC",n,new TextEncoder().encode(atob(i)),new TextEncoder().encode(JSON.stringify(e))))return!0;return!1}};var f=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t),{...e,method:"GET"})}update(t,{body:e,request:o={}}){return this._transport.send("v1/accounts/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}create({body:t,request:e={}}){return this._transport.send("v1/accounts",{...e,method:"POST",json:t})}};var R=class{constructor(t){this._transport=t}get(t,e,{request:o={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/access-tokens/"+encodeURIComponent(e),{...o,method:"GET"})}list(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/access-tokens",{...e,method:"GET"})}delete(t,e,{body:o,request:n={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/access-tokens/"+encodeURIComponent(e),{...n,method:"DELETE",json:o})}create(t,{body:e={},request:o={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/access-tokens",{...o,method:"POST",json:e})}};var O=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/conversation-settings",{...e,method:"GET"})}update(t,{body:e,request:o={}}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/conversation-settings",{...o,method:"PATCH",json:e})}};var g=class{constructor(t){this._transport=t}list({limit:t,sort:e,request:o={}}={}){return this._transport.send("v1/actions",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.sortQuery(e)]})}};var v=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/boilerplates/categories/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,include:e,request:o={}}={}){return this._transport.send("v1/boilerplates/categories",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.includeQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/boilerplates/categories",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/boilerplates/categories/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var b=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/boilerplates/contents/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,query:e,request:o={}}={}){return this._transport.send("v1/boilerplates/contents",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e)]})}listByCategory=this.listByBoilerplateCategory;listByBoilerplateCategory(t,{limit:e,request:o={}}={}){return this._transport.send("v1/boilerplates/categories/"+encodeURIComponent(t)+"/contents",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/boilerplates/contents",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/boilerplates/contents/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var _=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,request:e={}}={}){return this._transport.send("v1/channels",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}update(t,{body:e,request:o={}}){return this._transport.send("v1/channels/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}create({body:t,request:e={}}){return this._transport.send("v1/channels",{...e,method:"POST",json:t})}metaWhatsappGetBusinessProfile(t,{request:e={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/meta-whatsapp/business-profile",{...e,method:"GET"})}twilioSendgridChannelSync(t,{body:e,request:o={}}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/twilio-sendgrid/sync",{...o,method:"POST",json:e})}};var L=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/composition-sections/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,request:e={}}={}){return this._transport.send("v1/composition-sections",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}listByChannel(t,{limit:e,request:o={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/composition-sections",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/composition-sections",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/composition-sections/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var I=class{constructor(t){this._transport=t}get(t,{include:e,request:o={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...o,method:"GET",searchParams:[...this._transport.includeQuery(e??{})]})}getRelativeVCFURL(t,{vcf:e={}}={}){let o=e.variant??"vcard",n=e.format??(o==="vcard"?"vcf":"json");return"v1/contacts/"+encodeURIComponent(t)+"/vcf?variant="+encodeURIComponent(o)+"&format="+encodeURIComponent(n)}getVCFURL(t,e={}){return this._transport.getURL(this.getRelativeVCFURL(t,e))}getVCF(t,e={}){return this._transport.send(this.getVCFURL(t,e),{method:"GET"})}list({limit:t,query:e,request:o={}}={}){return this._transport.send("v1/contacts",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e)]})}listByLabel(t,{limit:e,request:o={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/contacts",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/contacts",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var A=class{constructor(t){this._transport=t}get(t,{include:e,request:o={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...o,method:"GET",searchParams:[...this._transport.includeQuery(e??{})]})}list({limit:t,filter:e,include:o,request:n={}}={}){return this._transport.send("v1/conversations",{...n,method:"GET",searchParams:[...this._transport.limitQuery(t),...e?[["filter",e]]:[],...this._transport.includeQuery(o??{})]})}listByLabel(t,{limit:e,request:o={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/conversations",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}listByContact(t,{limit:e,request:o={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/conversations",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/conversations",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}delete(t,{request:e={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var T=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,query:e,include:o,request:n={}}={}){return this._transport.send("v1/labels",{...n,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e),...this._transport.includeQuery(o??{})]})}listByContact(t,{limit:e,request:o={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/labels",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}listByConversation(t,{limit:e,request:o={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/labels",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/labels",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}delete(t,{request:e={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var y=class{constructor(t){this._transport=t}list({limit:t,include:e,request:o={}}={}){return this._transport.send("v1/messages",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.includeQuery(e??{})]})}listByConversation(t,{limit:e,include:o,request:n={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/messages",{...n,method:"GET",searchParams:[...this._transport.limitQuery(e),...this._transport.includeQuery(o??{})]})}listByChannel(t,{limit:e,include:o,request:n={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/messages",{...n,method:"GET",searchParams:[...this._transport.limitQuery(e),...this._transport.includeQuery(o)]})}create({body:t,request:e={}}){return this._transport.send("v1/messages",{...e,method:"POST",json:t})}delete(t,{request:e={}}={}){return this._transport.send("v1/messages/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var U=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/models/"+encodeURIComponent(t),{...e,method:"GET"})}list({request:t={}}={}){return this._transport.send("v1/models",{...t,method:"GET"})}createResponse(t,{body:e,request:o={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/response",{...o,method:"POST",timeout:12e4,json:e})}createCorrection(t,{body:e,request:o={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/correction",{...o,method:"POST",json:e})}};var S=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...e,method:"GET"})}listByContact(t,{request:e={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...e,method:"GET"})}listByConversation(t,{request:e={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...e,method:"GET"})}createForContact(t,{body:e,request:o={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...o,method:"POST",json:e})}createForConversation(t,{body:e,request:o={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...o,method:"POST",json:e})}update(t,{body:e,request:o={}}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var G=class{constructor(t){this._transport=t}create(t,{body:e,request:o={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notification-subscriptions",{...o,method:"POST",json:e})}};var D=class r{constructor(t=r.STANDARD_HEADERS){this._standardHeaders=t}static STANDARD_HEADERS=W;async filter(){return{headers:this.getHeaders()}}getHeaders(){return this._standardHeaders}};var E=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/sources/"+encodeURIComponent(t),{...e,method:"GET"})}list({featured:t,category:e,request:o={}}={}){let n=[];if(e){let i=Array.isArray(e)?e:[e];for(let l of i)n.push(["category",l])}return t!==void 0&&n.push(["featured",String(t)]),this._transport.send("v1/sources",{...o,method:"GET",searchParams:n})}};var w=class{constructor(t){this._transport=t}getMessageFrequency({request:t={}}={}){return this._transport.send("v1/statistics/message-frequency",{...t,method:"GET"})}getChannelMessageFrequency(t,{request:e={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/statistics/message-frequency",{...e,method:"GET"})}};import z from"is-network-error";import J,{HTTPError as X}from"ky";var a=class extends Error{static serverError(t){return new this("Server Error: "+t)}};var c=class extends a{};var P=class extends c{static unauthenticated(){return new this("An unauthenticated request occurred")}};var B=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 x=class extends a{};var m=class extends a{static badRequest(){return new this("Bad request")}static unsupportedMediaType(){return new this("Unsupported Media Type")}};var M=class{client;options;constructor({baseURL:t,...e}){this.options={...e,baseURL:t},this.client=J.create({prefixUrl:this.options.baseURL,timeout:12e3,hooks:{beforeRequest:[o=>{for(let n of this.options.requestFilterables){let i=n.getHeaders();for(let[l,Y]of Object.entries(i))o.headers.has(l)||o.headers.set(l,Y)}}]}})}getURL(t){return new URL(t,this.options.baseURL).toString()}sortQuery(t){let e=[];if(t===void 0)return e;for(let[o,n]of Object.entries(t))n!==void 0&&e.push(["sort",n+o]);return e}limitQuery(t){let e=[];return t===void 0||e.push(["limit",t.toString()]),e}includeQuery(t){let e=[];if(t===void 0)return e;for(let o of Object.keys(t))e.push(["include",o]);return e}queryQuery(t){let e=[];return t===void 0||e.push(["query",t]),e}send(t,e={}){let o=this.client(t,e).catch(n=>{if(z(n))throw new x("A network error occurred",{cause:n});if(n instanceof X){let i=n.response.status;switch(console.error(JSON.stringify(n.response)),i){case 400:throw m.badRequest();case 401:throw P.unauthenticated();case 403:throw B.forbidden();case 404:throw p.notFound(t);case 405:throw p.forbiddenMethod(t,e.method??"GET");case 415:throw m.unsupportedMediaType();case 418:throw p.teapot();case 429:throw p.rateLimited()}if(i>=500&&i<600)throw a.serverError(i)}throw n});return{response:()=>o,json:async()=>(await o).json()}}};var F=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/uploads/"+encodeURIComponent(t),{...e,method:"GET"})}create({account:t,files:e,request:o={}}){let n=new FormData;for(let i of e)n.append("file",i);return this._transport.send("v1/uploads",{...o,method:"POST",body:n,searchParams:{account:t}})}delete(t,{request:e={}}={}){return this._transport.send("v1/uploads/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var N=class{constructor(t){this._transport=t}getNotifications({request:t={}}={}){return this._transport.send(".well-known/notifications",{...t,method:"GET"})}};var k=class r{static DEFAULT_BASE_URL=K;static PublicAuthentication=d;static BasicAuthentication=u;static BearerAuthentication=C;_transport;account;accountAccessToken;accountConversationSettings;action;boilerplateCategory;boilerplateContent;channel;compositionSection;contact;conversation;label;message;model;note;notificationSubscription;source;statistics;upload;webhook;wellKnown;constructor(t,{baseURL:e,...o}={}){this._transport=new M({requestFilterables:[new D,t],...o,baseURL:e?.toString()??r.getBaseURL()}),this.account=new f(this._transport),this.accountAccessToken=new R(this._transport),this.accountConversationSettings=new O(this._transport),this.action=new g(this._transport),this.boilerplateCategory=new v(this._transport),this.boilerplateContent=new b(this._transport),this.channel=new _(this._transport),this.compositionSection=new L(this._transport),this.contact=new I(this._transport),this.conversation=new A(this._transport),this.label=new T(this._transport),this.message=new y(this._transport),this.model=new U(this._transport),this.note=new S(this._transport),this.notificationSubscription=new G(this._transport),this.source=new E(this._transport),this.statistics=new w(this._transport),this.upload=new F(this._transport),this.webhook=new h,this.wellKnown=new N(this._transport)}static getBaseURL(){return process.env[V]??this.DEFAULT_BASE_URL}};export{Z as a,d as b,K as c,a as d,c as e,P as f,B as g,p as h,x as i,m as j,k};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as v,k as b}from"./chunk-
|
|
1
|
+
import{b as v,k as b}from"./chunk-TYWSBZE2.js";import{Command as G}from"commander";import{Command as L}from"commander";import{oraPromise as S}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 S(()=>t.action.list().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().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(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().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.getVCF(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(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().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(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().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.conversation.listByLabel(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().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(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().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(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().json(),{...s,text:"Finding sources"});console.log(n)})),o}import{Command as E}from"commander";import{Command as N}from"commander";import{oraPromise as A}from"ora";function j({client:t,ora:s}){let o=new N("notifications").description("Well-Known Notifications Details");return o.addCommand(new N("get").description("Get Notifications Server Well-Known Info").action(async()=>{let n=await A(()=>t.wellKnown.getNotifications().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)},V=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=V;export{Po as a};
|
package/dist/cli/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var Dt=Object.create;var q=Object.defineProperty;var Gt=Object.getOwnPropertyDescriptor;var Et=Object.getOwnPropertyNames;var xt=Object.getPrototypeOf,Pt=Object.prototype.hasOwnProperty;var Ft=(n,t)=>{for(var e in t)q(n,e,{get:t[e],enumerable:!0})},ht=(n,t,e,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Et(t))!Pt.call(n,s)&&s!==e&&q(n,s,{get:()=>t[s],enumerable:!(o=Gt(t,s))||o.enumerable});return n};var ft=(n,t,e)=>(e=n!=null?Dt(xt(n)):{},ht(t||!n||!n.__esModule?q(e,"default",{value:n,enumerable:!0}):e,n)),Bt=n=>ht(q({},"__esModule",{value:!0}),n);var Nt={};Ft(Nt,{default:()=>jt});module.exports=Bt(Nt);var St=require("commander");var m=class{getHeaders(){return{}}};var C=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t),{...e,method:"GET"})}update(t,{body:e,request:o={}}){return this._transport.send("v1/accounts/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}create({body:t,request:e={}}){return this._transport.send("v1/accounts",{...e,method:"POST",json:t})}};var h=class{constructor(t){this._transport=t}get(t,e,{request:o={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/access-tokens/"+encodeURIComponent(e),{...o,method:"GET"})}list(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/access-tokens",{...e,method:"GET"})}delete(t,e,{body:o,request:s={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/access-tokens/"+encodeURIComponent(e),{...s,method:"DELETE",json:o})}create(t,{body:e={},request:o={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/access-tokens",{...o,method:"POST",json:e})}};var f=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/conversation-settings",{...e,method:"GET"})}update(t,{body:e,request:o={}}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/conversation-settings",{...o,method:"PATCH",json:e})}};var g=class{constructor(t){this._transport=t}list({limit:t,sort:e,request:o={}}={}){return this._transport.send("v1/actions",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.sortQuery(e)]})}};var gt="SUPPORT_ACCESS_TOKEN",Ot="SUPPORT_KEY_NAME",Rt="SUPPORT_KEY_PASSWORD",J="SUPPORT_SIGNING_KEY",vt="SUPPORT_BASE_URL";var O=class{name;#t;constructor({name:t=process.env[Ot],password:e=process.env[Rt]}={}){if(!t)throw new Error("Name option must be specified when using Basic Authentication");if(!e)throw new Error("Password option must be specified when using Basic Authentication");this.name=t,this.#t=e}getHeaders(){return{Authorization:`Basic ${btoa(this.name+":"+this.#t)}`}}};var R=class{#t;constructor({token:t=process.env[gt]}={}){if(!t)throw new Error("Access Token option must be specified when using Token Authentication");this.#t=t}getHeaders(){return{Authorization:`Bearer ${this.#t}`}}};var v=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/boilerplates/categories/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,include:e,request:o={}}={}){return this._transport.send("v1/boilerplates/categories",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.includeQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/boilerplates/categories",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/boilerplates/categories/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var b=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/boilerplates/contents/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,query:e,request:o={}}={}){return this._transport.send("v1/boilerplates/contents",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e)]})}listByCategory=this.listByBoilerplateCategory;listByBoilerplateCategory(t,{limit:e,request:o={}}={}){return this._transport.send("v1/boilerplates/categories/"+encodeURIComponent(t)+"/contents",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/boilerplates/contents",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/boilerplates/contents/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var L=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,request:e={}}={}){return this._transport.send("v1/channels",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}update(t,{body:e,request:o={}}){return this._transport.send("v1/channels/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}create({body:t,request:e={}}){return this._transport.send("v1/channels",{...e,method:"POST",json:t})}metaWhatsappGetBusinessProfile(t,{request:e={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/meta-whatsapp/business-profile",{...e,method:"GET"})}twilioSendgridChannelSync(t,{body:e,request:o={}}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/twilio-sendgrid/sync",{...o,method:"POST",json:e})}};var _=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/composition-sections/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,request:e={}}={}){return this._transport.send("v1/composition-sections",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}listByChannel(t,{limit:e,request:o={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/composition-sections",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/composition-sections",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/composition-sections/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var bt="https://api.support.greatdetail.com",Lt={"X-Powered-By":"GDSupport/JavaScript"};var y=class{constructor(t){this._transport=t}get(t,{include:e,request:o={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...o,method:"GET",searchParams:[...this._transport.includeQuery(e??{})]})}getVCFURL(t,{vcf:e={}}){let o=e.variant??"vcard",s=e.format??(o==="vcard"?"vcf":"json"),i="v1/contacts/"+encodeURIComponent(t)+"/vcf?variant="+encodeURIComponent(o)+"&format="+encodeURIComponent(s);return this._transport.getURL(i)}getVCF(t,e={}){return this._transport.send(this.getVCFURL(t,e),{method:"GET"})}list({limit:t,query:e,request:o={}}={}){return this._transport.send("v1/contacts",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e)]})}listByLabel(t,{limit:e,request:o={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/contacts",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/contacts",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var I=class{constructor(t){this._transport=t}get(t,{include:e,request:o={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...o,method:"GET",searchParams:[...this._transport.includeQuery(e??{})]})}list({limit:t,filter:e,include:o,request:s={}}={}){return this._transport.send("v1/conversations",{...s,method:"GET",searchParams:[...this._transport.limitQuery(t),...e?[["filter",e]]:[],...this._transport.includeQuery(o??{})]})}listByLabel(t,{limit:e,request:o={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/conversations",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}listByContact(t,{limit:e,request:o={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/conversations",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/conversations",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}delete(t,{request:e={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var A=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,query:e,include:o,request:s={}}={}){return this._transport.send("v1/labels",{...s,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e),...this._transport.includeQuery(o??{})]})}listByContact(t,{limit:e,request:o={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/labels",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}listByConversation(t,{limit:e,request:o={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/labels",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/labels",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}delete(t,{request:e={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var T=class{constructor(t){this._transport=t}list({limit:t,include:e,request:o={}}={}){return this._transport.send("v1/messages",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.includeQuery(e??{})]})}listByConversation(t,{limit:e,include:o,request:s={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/messages",{...s,method:"GET",searchParams:[...this._transport.limitQuery(e),...this._transport.includeQuery(o??{})]})}listByChannel(t,{limit:e,include:o,request:s={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/messages",{...s,method:"GET",searchParams:[...this._transport.limitQuery(e),...this._transport.includeQuery(o)]})}create({body:t,request:e={}}){return this._transport.send("v1/messages",{...e,method:"POST",json:t})}delete(t,{request:e={}}={}){return this._transport.send("v1/messages/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var w=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/models/"+encodeURIComponent(t),{...e,method:"GET"})}list({request:t={}}={}){return this._transport.send("v1/models",{...t,method:"GET"})}createResponse(t,{body:e,request:o={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/response",{...o,method:"POST",timeout:12e4,json:e})}createCorrection(t,{body:e,request:o={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/correction",{...o,method:"POST",json:e})}};var S=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...e,method:"GET"})}listByContact(t,{request:e={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...e,method:"GET"})}listByConversation(t,{request:e={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...e,method:"GET"})}createForContact(t,{body:e,request:o={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...o,method:"POST",json:e})}createForConversation(t,{body:e,request:o={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...o,method:"POST",json:e})}update(t,{body:e,request:o={}}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var U=class{constructor(t){this._transport=t}create(t,{body:e,request:o={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notification-subscriptions",{...o,method:"POST",json:e})}};var D=class n{constructor(t=n.STANDARD_HEADERS){this._standardHeaders=t}static STANDARD_HEADERS=Lt;async filter(){return{headers:this.getHeaders()}}getHeaders(){return this._standardHeaders}};var G=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/sources/"+encodeURIComponent(t),{...e,method:"GET"})}list({featured:t,category:e,request:o={}}={}){let s=[];if(e){let i=Array.isArray(e)?e:[e];for(let d of i)s.push(["category",d])}return t!==void 0&&s.push(["featured",String(t)]),this._transport.send("v1/sources",{...o,method:"GET",searchParams:s})}};var E=class{constructor(t){this._transport=t}getMessageFrequency({request:t={}}={}){return this._transport.send("v1/statistics/message-frequency",{...t,method:"GET"})}getChannelMessageFrequency(t,{request:e={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/statistics/message-frequency",{...e,method:"GET"})}};var _t=ft(require("is-network-error"),1),K=ft(require("ky"),1);var a=class extends Error{static serverError(t){return new this("Server Error: "+t)}};var l=class extends a{};var x=class extends l{static unauthenticated(){return new this("An unauthenticated request occurred")}};var P=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 F=class extends a{};var u=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=K.default.create({prefixUrl:this.options.baseURL,timeout:12e3,hooks:{beforeRequest:[o=>{for(let s of this.options.requestFilterables){let i=s.getHeaders();for(let[d,Ut]of Object.entries(i))o.headers.has(d)||o.headers.set(d,Ut)}}]}})}getURL(t){return new URL(t,this.options.baseURL).toString()}sortQuery(t){let e=[];if(t===void 0)return e;for(let[o,s]of Object.entries(t))s!==void 0&&e.push(["sort",s+o]);return e}limitQuery(t){let e=[];return t===void 0||e.push(["limit",t.toString()]),e}includeQuery(t){let e=[];if(t===void 0)return e;for(let o of Object.keys(t))e.push(["include",o]);return e}queryQuery(t){let e=[];return t===void 0||e.push(["query",t]),e}send(t,e={}){let o=this.client(t,e).catch(s=>{if((0,_t.default)(s))throw new F("A network error occurred",{cause:s});if(s instanceof K.HTTPError){let i=s.response.status;switch(console.error(JSON.stringify(s.response)),i){case 400:throw u.badRequest();case 401:throw x.unauthenticated();case 403:throw P.forbidden();case 404:throw c.notFound(t);case 405:throw c.forbiddenMethod(t,e.method??"GET");case 415:throw u.unsupportedMediaType();case 418:throw c.teapot();case 429:throw c.rateLimited()}if(i>=500&&i<600)throw a.serverError(i)}throw s});return{response:()=>o,json:async()=>(await o).json()}}};var M=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/uploads/"+encodeURIComponent(t),{...e,method:"GET"})}create({account:t,files:e,request:o={}}){let s=new FormData;for(let i of e)s.append("file",i);return this._transport.send("v1/uploads",{...o,method:"POST",body:s,searchParams:{account:t}})}delete(t,{request:e={}}={}){return this._transport.send("v1/uploads/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var r=require("zod");var j=class n{static SCHEMA=r.z.object({data:r.z.object({event:r.z.intersection(r.z.object({id:r.z.string(),createdAt:r.z.string().datetime()}),r.z.union([r.z.object({type:r.z.union([r.z.literal("account.created"),r.z.literal("account.updated")]),payload:r.z.object({account:r.z.string()})}),r.z.object({type:r.z.union([r.z.literal("accountAccessToken.created"),r.z.literal("accountAccessToken.deleted")]),payload:r.z.object({accountAccessToken:r.z.string()})}),r.z.object({type:r.z.union([r.z.literal("contact.created"),r.z.literal("contact.updated")]),payload:r.z.object({contact:r.z.string()})}),r.z.object({type:r.z.union([r.z.literal("conversation.created"),r.z.literal("conversation.updated"),r.z.literal("conversation.closed"),r.z.literal("conversation.received"),r.z.literal("conversation.resolved"),r.z.literal("conversation.sent")]),payload:r.z.object({conversation:r.z.string()})}),r.z.object({type:r.z.union([r.z.literal("message.created"),r.z.literal("message.updated"),r.z.literal("message.delivered"),r.z.literal("message.failed"),r.z.literal("message.read"),r.z.literal("message.received"),r.z.literal("message.sent")]),payload:r.z.object({message:r.z.string()})})]))})});constructor(){}async event({key:t=process.env[J],maxSignatures:e=3,request:o}){let s=o.headers["gds-signature"];if(t!==!1){if(t===void 0)throw new Error("Missing webhook signing key in process.env."+J);if(!s)throw new Error("Missing signature header");if(!this._verifySignature(t,o.body,Array.isArray(s)?s.slice(0,e):[s]))throw new Error("Untrusted signature")}let{data:i}=n.SCHEMA.parse(o.body);return{event:i.event}}async _verifySignature(t,e,o){let s=await crypto.subtle.importKey("raw",new TextEncoder().encode(t),{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"]);for(let i of o)if(await crypto.subtle.verify("HMAC",s,new TextEncoder().encode(atob(i)),new TextEncoder().encode(JSON.stringify(e))))return!0;return!1}};var N=class{constructor(t){this._transport=t}getNotifications({request:t={}}={}){return this._transport.send(".well-known/notifications",{...t,method:"GET"})}};var k=class n{static DEFAULT_BASE_URL=bt;static PublicAuthentication=m;static BasicAuthentication=O;static BearerAuthentication=R;_transport;account;accountAccessToken;accountConversationSettings;action;boilerplateCategory;boilerplateContent;channel;compositionSection;contact;conversation;label;message;model;note;notificationSubscription;source;statistics;upload;webhook;wellKnown;constructor(t,{baseURL:e,...o}={}){this._transport=new B({requestFilterables:[new D,t],...o,baseURL:e?.toString()??n.getBaseURL()}),this.account=new C(this._transport),this.accountAccessToken=new h(this._transport),this.accountConversationSettings=new f(this._transport),this.action=new g(this._transport),this.boilerplateCategory=new v(this._transport),this.boilerplateContent=new b(this._transport),this.channel=new L(this._transport),this.compositionSection=new _(this._transport),this.contact=new y(this._transport),this.conversation=new I(this._transport),this.label=new A(this._transport),this.message=new T(this._transport),this.model=new w(this._transport),this.note=new S(this._transport),this.notificationSubscription=new U(this._transport),this.source=new G(this._transport),this.statistics=new E(this._transport),this.upload=new M(this._transport),this.webhook=new j,this.wellKnown=new N(this._transport)}static getBaseURL(){return process.env[vt]??this.DEFAULT_BASE_URL}};var X=require("commander"),yt=require("ora");function Z({client:n,ora:t}){let e=new X.Command("actions").description("Actions");return e.addCommand(new X.Command("list").description("List actions").action(async()=>{let o=await(0,yt.oraPromise)(()=>n.action.list().json(),{...t,text:"Finding actions"});console.log(o)})),e}var tt=require("commander"),It=require("ora");function et({client:n,ora:t}){let e=new tt.Command("channels").description("Channels");return e.addCommand(new tt.Command("list").description("List channels").action(async()=>{let o=await(0,It.oraPromise)(()=>n.channel.list().json(),{...t,text:"Finding channels"});console.log(o)})),e}var Q=require("commander"),V=require("ora");function ot({client:n,ora:t}){let e=new Q.Command("contacts").description("Contacts");return e.addCommand(new Q.Command("get").description("Find contact").argument("<contact>","Contact ID").action(async o=>{let s=await(0,V.oraPromise)(()=>n.contact.get(o).json(),{...t,text:"Finding contact"});console.log(s)})),e.addCommand(new Q.Command("list").description("List contacts").action(async()=>{let o=await(0,V.oraPromise)(()=>n.contact.list().json(),{...t,text:"Finding contacts"});console.log(o)})),e.addCommand(new Q.Command("get-vcf").description("Export Contact as VCF").argument("<contact>","Contact ID").action(async o=>{let s=await(0,V.oraPromise)(()=>n.contact.getVCF(o).response(),{...t,text:"Exporting contact"});console.log(s)})),e}var W=require("commander"),nt=require("ora");function st({client:n,ora:t}){let e=new W.Command("conversations").description("Conversations");return e.addCommand(new W.Command("get").description("Find conversation").argument("<conversation>","Conversation ID").action(async o=>{let s=await(0,nt.oraPromise)(()=>n.conversation.get(o).json(),{...t,text:"Finding conversation"});console.log(s)})),e.addCommand(new W.Command("list").description("List conversations").action(async()=>{let o=await(0,nt.oraPromise)(()=>n.conversation.list().json(),{...t,text:"Finding conversations"});console.log(o)})),e}var H=require("commander"),Y=require("ora");function rt({client:n,ora:t}){let e=new H.Command("labels").description("Labels");return e.addCommand(new H.Command("get").description("Find label").argument("<label>","Label ID").action(async o=>{let s=await(0,Y.oraPromise)(()=>n.label.get(o).json(),{...t,text:"Finding label"});console.log(s)})),e.addCommand(new H.Command("list").description("List labels").action(async()=>{let o=await(0,Y.oraPromise)(()=>n.label.list().json(),{...t,text:"Finding labels"});console.log(o)})),e.addCommand(new H.Command("conversations").description("Find label conversations").argument("<label>","Label ID").action(async o=>{let s=await(0,Y.oraPromise)(()=>n.conversation.listByLabel(o).json(),{...t,text:"Finding conversations"});console.log(s)})),e}var it=require("commander"),At=require("ora");function at({client:n,ora:t}){let e=new it.Command("messages").description("Messages");return e.addCommand(new it.Command("list").description("List messages").action(async()=>{let o=await(0,At.oraPromise)(()=>n.message.list().json(),{...t,text:"Finding messages"});console.log(o)})),e}var $=require("commander"),pt=require("ora");function ct({client:n,ora:t}){let e=new $.Command("models").description("Models");return e.addCommand(new $.Command("get").description("Find model").argument("<model>","Model ID").action(async o=>{let s=await(0,pt.oraPromise)(()=>n.model.get(o).json(),{...t,text:"Finding model"});console.log(s)})),e.addCommand(new $.Command("list").description("List models").action(async()=>{let o=await(0,pt.oraPromise)(()=>n.model.list().json(),{...t,text:"Finding models"});console.log(o)})),e}var z=require("commander"),mt=require("ora");function lt({client:n,ora:t}){let e=new z.Command("sources").description("Sources");return e.addCommand(new z.Command("get").description("Find source").argument("<source>","Source ID").action(async o=>{let s=await(0,mt.oraPromise)(()=>n.source.get(o).json(),{...t,text:"Finding source"});console.log(s)})),e.addCommand(new z.Command("list").description("List sources").action(async()=>{let o=await(0,mt.oraPromise)(()=>n.source.list().json(),{...t,text:"Finding sources"});console.log(o)})),e}var wt=require("commander");var dt=require("commander"),Tt=require("ora");function ut({client:n,ora:t}){let e=new dt.Command("notifications").description("Well-Known Notifications Details");return e.addCommand(new dt.Command("get").description("Get Notifications Server Well-Known Info").action(async()=>{let o=await(0,Tt.oraPromise)(()=>n.wellKnown.getNotifications().json(),{...t,text:"Finding Notifications Well-Known Info"});console.log(o)})),e}function Ct({client:n,ora:t}){let e=new wt.Command("well-known").description("Well-Known Metadata & Info");return e.addCommand(ut({client:n,ora:t})),e}var p={ora:{spinner:"simpleDotsScrolling"},client:new k(new m)},Mt=new St.Command("gds").description("Great Detail Support System").addCommand(Z(p)).addCommand(et(p)).addCommand(ot(p)).addCommand(st(p)).addCommand(rt(p)).addCommand(at(p)).addCommand(ct(p)).addCommand(lt(p)).addCommand(Ct(p)),jt=Mt;
|
|
1
|
+
"use strict";var Dt=Object.create;var q=Object.defineProperty;var Gt=Object.getOwnPropertyDescriptor;var Et=Object.getOwnPropertyNames;var xt=Object.getPrototypeOf,Pt=Object.prototype.hasOwnProperty;var Ft=(n,t)=>{for(var e in t)q(n,e,{get:t[e],enumerable:!0})},ht=(n,t,e,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Et(t))!Pt.call(n,s)&&s!==e&&q(n,s,{get:()=>t[s],enumerable:!(o=Gt(t,s))||o.enumerable});return n};var ft=(n,t,e)=>(e=n!=null?Dt(xt(n)):{},ht(t||!n||!n.__esModule?q(e,"default",{value:n,enumerable:!0}):e,n)),Bt=n=>ht(q({},"__esModule",{value:!0}),n);var Nt={};Ft(Nt,{default:()=>jt});module.exports=Bt(Nt);var St=require("commander");var m=class{getHeaders(){return{}}};var C=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t),{...e,method:"GET"})}update(t,{body:e,request:o={}}){return this._transport.send("v1/accounts/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}create({body:t,request:e={}}){return this._transport.send("v1/accounts",{...e,method:"POST",json:t})}};var h=class{constructor(t){this._transport=t}get(t,e,{request:o={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/access-tokens/"+encodeURIComponent(e),{...o,method:"GET"})}list(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/access-tokens",{...e,method:"GET"})}delete(t,e,{body:o,request:s={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/access-tokens/"+encodeURIComponent(e),{...s,method:"DELETE",json:o})}create(t,{body:e={},request:o={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/access-tokens",{...o,method:"POST",json:e})}};var f=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/conversation-settings",{...e,method:"GET"})}update(t,{body:e,request:o={}}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/conversation-settings",{...o,method:"PATCH",json:e})}};var g=class{constructor(t){this._transport=t}list({limit:t,sort:e,request:o={}}={}){return this._transport.send("v1/actions",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.sortQuery(e)]})}};var gt="SUPPORT_ACCESS_TOKEN",Ot="SUPPORT_KEY_NAME",Rt="SUPPORT_KEY_PASSWORD",J="SUPPORT_SIGNING_KEY",vt="SUPPORT_BASE_URL";var O=class{name;#t;constructor({name:t=process.env[Ot],password:e=process.env[Rt]}={}){if(!t)throw new Error("Name option must be specified when using Basic Authentication");if(!e)throw new Error("Password option must be specified when using Basic Authentication");this.name=t,this.#t=e}getHeaders(){return{Authorization:`Basic ${btoa(this.name+":"+this.#t)}`}}};var R=class{#t;constructor({token:t=process.env[gt]}={}){if(!t)throw new Error("Access Token option must be specified when using Token Authentication");this.#t=t}getHeaders(){return{Authorization:`Bearer ${this.#t}`}}};var v=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/boilerplates/categories/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,include:e,request:o={}}={}){return this._transport.send("v1/boilerplates/categories",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.includeQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/boilerplates/categories",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/boilerplates/categories/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var b=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/boilerplates/contents/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,query:e,request:o={}}={}){return this._transport.send("v1/boilerplates/contents",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e)]})}listByCategory=this.listByBoilerplateCategory;listByBoilerplateCategory(t,{limit:e,request:o={}}={}){return this._transport.send("v1/boilerplates/categories/"+encodeURIComponent(t)+"/contents",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/boilerplates/contents",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/boilerplates/contents/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var L=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,request:e={}}={}){return this._transport.send("v1/channels",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}update(t,{body:e,request:o={}}){return this._transport.send("v1/channels/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}create({body:t,request:e={}}){return this._transport.send("v1/channels",{...e,method:"POST",json:t})}metaWhatsappGetBusinessProfile(t,{request:e={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/meta-whatsapp/business-profile",{...e,method:"GET"})}twilioSendgridChannelSync(t,{body:e,request:o={}}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/twilio-sendgrid/sync",{...o,method:"POST",json:e})}};var _=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/composition-sections/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,request:e={}}={}){return this._transport.send("v1/composition-sections",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}listByChannel(t,{limit:e,request:o={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/composition-sections",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/composition-sections",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/composition-sections/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var bt="https://api.support.greatdetail.com",Lt={"X-Powered-By":"GDSupport/JavaScript"};var y=class{constructor(t){this._transport=t}get(t,{include:e,request:o={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...o,method:"GET",searchParams:[...this._transport.includeQuery(e??{})]})}getRelativeVCFURL(t,{vcf:e={}}={}){let o=e.variant??"vcard",s=e.format??(o==="vcard"?"vcf":"json");return"v1/contacts/"+encodeURIComponent(t)+"/vcf?variant="+encodeURIComponent(o)+"&format="+encodeURIComponent(s)}getVCFURL(t,e={}){return this._transport.getURL(this.getRelativeVCFURL(t,e))}getVCF(t,e={}){return this._transport.send(this.getVCFURL(t,e),{method:"GET"})}list({limit:t,query:e,request:o={}}={}){return this._transport.send("v1/contacts",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e)]})}listByLabel(t,{limit:e,request:o={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/contacts",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/contacts",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var I=class{constructor(t){this._transport=t}get(t,{include:e,request:o={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...o,method:"GET",searchParams:[...this._transport.includeQuery(e??{})]})}list({limit:t,filter:e,include:o,request:s={}}={}){return this._transport.send("v1/conversations",{...s,method:"GET",searchParams:[...this._transport.limitQuery(t),...e?[["filter",e]]:[],...this._transport.includeQuery(o??{})]})}listByLabel(t,{limit:e,request:o={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/conversations",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}listByContact(t,{limit:e,request:o={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/conversations",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/conversations",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}delete(t,{request:e={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var A=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,query:e,include:o,request:s={}}={}){return this._transport.send("v1/labels",{...s,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e),...this._transport.includeQuery(o??{})]})}listByContact(t,{limit:e,request:o={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/labels",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}listByConversation(t,{limit:e,request:o={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/labels",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/labels",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}delete(t,{request:e={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var T=class{constructor(t){this._transport=t}list({limit:t,include:e,request:o={}}={}){return this._transport.send("v1/messages",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.includeQuery(e??{})]})}listByConversation(t,{limit:e,include:o,request:s={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/messages",{...s,method:"GET",searchParams:[...this._transport.limitQuery(e),...this._transport.includeQuery(o??{})]})}listByChannel(t,{limit:e,include:o,request:s={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/messages",{...s,method:"GET",searchParams:[...this._transport.limitQuery(e),...this._transport.includeQuery(o)]})}create({body:t,request:e={}}){return this._transport.send("v1/messages",{...e,method:"POST",json:t})}delete(t,{request:e={}}={}){return this._transport.send("v1/messages/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var w=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/models/"+encodeURIComponent(t),{...e,method:"GET"})}list({request:t={}}={}){return this._transport.send("v1/models",{...t,method:"GET"})}createResponse(t,{body:e,request:o={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/response",{...o,method:"POST",timeout:12e4,json:e})}createCorrection(t,{body:e,request:o={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/correction",{...o,method:"POST",json:e})}};var S=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...e,method:"GET"})}listByContact(t,{request:e={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...e,method:"GET"})}listByConversation(t,{request:e={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...e,method:"GET"})}createForContact(t,{body:e,request:o={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...o,method:"POST",json:e})}createForConversation(t,{body:e,request:o={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...o,method:"POST",json:e})}update(t,{body:e,request:o={}}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var U=class{constructor(t){this._transport=t}create(t,{body:e,request:o={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notification-subscriptions",{...o,method:"POST",json:e})}};var D=class n{constructor(t=n.STANDARD_HEADERS){this._standardHeaders=t}static STANDARD_HEADERS=Lt;async filter(){return{headers:this.getHeaders()}}getHeaders(){return this._standardHeaders}};var G=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/sources/"+encodeURIComponent(t),{...e,method:"GET"})}list({featured:t,category:e,request:o={}}={}){let s=[];if(e){let i=Array.isArray(e)?e:[e];for(let d of i)s.push(["category",d])}return t!==void 0&&s.push(["featured",String(t)]),this._transport.send("v1/sources",{...o,method:"GET",searchParams:s})}};var E=class{constructor(t){this._transport=t}getMessageFrequency({request:t={}}={}){return this._transport.send("v1/statistics/message-frequency",{...t,method:"GET"})}getChannelMessageFrequency(t,{request:e={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/statistics/message-frequency",{...e,method:"GET"})}};var _t=ft(require("is-network-error"),1),K=ft(require("ky"),1);var a=class extends Error{static serverError(t){return new this("Server Error: "+t)}};var l=class extends a{};var x=class extends l{static unauthenticated(){return new this("An unauthenticated request occurred")}};var P=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 F=class extends a{};var u=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=K.default.create({prefixUrl:this.options.baseURL,timeout:12e3,hooks:{beforeRequest:[o=>{for(let s of this.options.requestFilterables){let i=s.getHeaders();for(let[d,Ut]of Object.entries(i))o.headers.has(d)||o.headers.set(d,Ut)}}]}})}getURL(t){return new URL(t,this.options.baseURL).toString()}sortQuery(t){let e=[];if(t===void 0)return e;for(let[o,s]of Object.entries(t))s!==void 0&&e.push(["sort",s+o]);return e}limitQuery(t){let e=[];return t===void 0||e.push(["limit",t.toString()]),e}includeQuery(t){let e=[];if(t===void 0)return e;for(let o of Object.keys(t))e.push(["include",o]);return e}queryQuery(t){let e=[];return t===void 0||e.push(["query",t]),e}send(t,e={}){let o=this.client(t,e).catch(s=>{if((0,_t.default)(s))throw new F("A network error occurred",{cause:s});if(s instanceof K.HTTPError){let i=s.response.status;switch(console.error(JSON.stringify(s.response)),i){case 400:throw u.badRequest();case 401:throw x.unauthenticated();case 403:throw P.forbidden();case 404:throw c.notFound(t);case 405:throw c.forbiddenMethod(t,e.method??"GET");case 415:throw u.unsupportedMediaType();case 418:throw c.teapot();case 429:throw c.rateLimited()}if(i>=500&&i<600)throw a.serverError(i)}throw s});return{response:()=>o,json:async()=>(await o).json()}}};var M=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/uploads/"+encodeURIComponent(t),{...e,method:"GET"})}create({account:t,files:e,request:o={}}){let s=new FormData;for(let i of e)s.append("file",i);return this._transport.send("v1/uploads",{...o,method:"POST",body:s,searchParams:{account:t}})}delete(t,{request:e={}}={}){return this._transport.send("v1/uploads/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var r=require("zod");var j=class n{static SCHEMA=r.z.object({data:r.z.object({event:r.z.intersection(r.z.object({id:r.z.string(),createdAt:r.z.string().datetime()}),r.z.union([r.z.object({type:r.z.union([r.z.literal("account.created"),r.z.literal("account.updated")]),payload:r.z.object({account:r.z.string()})}),r.z.object({type:r.z.union([r.z.literal("accountAccessToken.created"),r.z.literal("accountAccessToken.deleted")]),payload:r.z.object({accountAccessToken:r.z.string()})}),r.z.object({type:r.z.union([r.z.literal("contact.created"),r.z.literal("contact.updated")]),payload:r.z.object({contact:r.z.string()})}),r.z.object({type:r.z.union([r.z.literal("conversation.created"),r.z.literal("conversation.updated"),r.z.literal("conversation.closed"),r.z.literal("conversation.received"),r.z.literal("conversation.resolved"),r.z.literal("conversation.sent")]),payload:r.z.object({conversation:r.z.string()})}),r.z.object({type:r.z.union([r.z.literal("message.created"),r.z.literal("message.updated"),r.z.literal("message.delivered"),r.z.literal("message.failed"),r.z.literal("message.read"),r.z.literal("message.received"),r.z.literal("message.sent")]),payload:r.z.object({message:r.z.string()})})]))})});constructor(){}async event({key:t=process.env[J],maxSignatures:e=3,request:o}){let s=o.headers["gds-signature"];if(t!==!1){if(t===void 0)throw new Error("Missing webhook signing key in process.env."+J);if(!s)throw new Error("Missing signature header");if(!this._verifySignature(t,o.body,Array.isArray(s)?s.slice(0,e):[s]))throw new Error("Untrusted signature")}let{data:i}=n.SCHEMA.parse(o.body);return{event:i.event}}async _verifySignature(t,e,o){let s=await crypto.subtle.importKey("raw",new TextEncoder().encode(t),{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"]);for(let i of o)if(await crypto.subtle.verify("HMAC",s,new TextEncoder().encode(atob(i)),new TextEncoder().encode(JSON.stringify(e))))return!0;return!1}};var N=class{constructor(t){this._transport=t}getNotifications({request:t={}}={}){return this._transport.send(".well-known/notifications",{...t,method:"GET"})}};var k=class n{static DEFAULT_BASE_URL=bt;static PublicAuthentication=m;static BasicAuthentication=O;static BearerAuthentication=R;_transport;account;accountAccessToken;accountConversationSettings;action;boilerplateCategory;boilerplateContent;channel;compositionSection;contact;conversation;label;message;model;note;notificationSubscription;source;statistics;upload;webhook;wellKnown;constructor(t,{baseURL:e,...o}={}){this._transport=new B({requestFilterables:[new D,t],...o,baseURL:e?.toString()??n.getBaseURL()}),this.account=new C(this._transport),this.accountAccessToken=new h(this._transport),this.accountConversationSettings=new f(this._transport),this.action=new g(this._transport),this.boilerplateCategory=new v(this._transport),this.boilerplateContent=new b(this._transport),this.channel=new L(this._transport),this.compositionSection=new _(this._transport),this.contact=new y(this._transport),this.conversation=new I(this._transport),this.label=new A(this._transport),this.message=new T(this._transport),this.model=new w(this._transport),this.note=new S(this._transport),this.notificationSubscription=new U(this._transport),this.source=new G(this._transport),this.statistics=new E(this._transport),this.upload=new M(this._transport),this.webhook=new j,this.wellKnown=new N(this._transport)}static getBaseURL(){return process.env[vt]??this.DEFAULT_BASE_URL}};var X=require("commander"),yt=require("ora");function Z({client:n,ora:t}){let e=new X.Command("actions").description("Actions");return e.addCommand(new X.Command("list").description("List actions").action(async()=>{let o=await(0,yt.oraPromise)(()=>n.action.list().json(),{...t,text:"Finding actions"});console.log(o)})),e}var tt=require("commander"),It=require("ora");function et({client:n,ora:t}){let e=new tt.Command("channels").description("Channels");return e.addCommand(new tt.Command("list").description("List channels").action(async()=>{let o=await(0,It.oraPromise)(()=>n.channel.list().json(),{...t,text:"Finding channels"});console.log(o)})),e}var Q=require("commander"),V=require("ora");function ot({client:n,ora:t}){let e=new Q.Command("contacts").description("Contacts");return e.addCommand(new Q.Command("get").description("Find contact").argument("<contact>","Contact ID").action(async o=>{let s=await(0,V.oraPromise)(()=>n.contact.get(o).json(),{...t,text:"Finding contact"});console.log(s)})),e.addCommand(new Q.Command("list").description("List contacts").action(async()=>{let o=await(0,V.oraPromise)(()=>n.contact.list().json(),{...t,text:"Finding contacts"});console.log(o)})),e.addCommand(new Q.Command("get-vcf").description("Export Contact as VCF").argument("<contact>","Contact ID").action(async o=>{let s=await(0,V.oraPromise)(()=>n.contact.getVCF(o).response(),{...t,text:"Exporting contact"});console.log(s)})),e}var W=require("commander"),nt=require("ora");function st({client:n,ora:t}){let e=new W.Command("conversations").description("Conversations");return e.addCommand(new W.Command("get").description("Find conversation").argument("<conversation>","Conversation ID").action(async o=>{let s=await(0,nt.oraPromise)(()=>n.conversation.get(o).json(),{...t,text:"Finding conversation"});console.log(s)})),e.addCommand(new W.Command("list").description("List conversations").action(async()=>{let o=await(0,nt.oraPromise)(()=>n.conversation.list().json(),{...t,text:"Finding conversations"});console.log(o)})),e}var H=require("commander"),Y=require("ora");function rt({client:n,ora:t}){let e=new H.Command("labels").description("Labels");return e.addCommand(new H.Command("get").description("Find label").argument("<label>","Label ID").action(async o=>{let s=await(0,Y.oraPromise)(()=>n.label.get(o).json(),{...t,text:"Finding label"});console.log(s)})),e.addCommand(new H.Command("list").description("List labels").action(async()=>{let o=await(0,Y.oraPromise)(()=>n.label.list().json(),{...t,text:"Finding labels"});console.log(o)})),e.addCommand(new H.Command("conversations").description("Find label conversations").argument("<label>","Label ID").action(async o=>{let s=await(0,Y.oraPromise)(()=>n.conversation.listByLabel(o).json(),{...t,text:"Finding conversations"});console.log(s)})),e}var it=require("commander"),At=require("ora");function at({client:n,ora:t}){let e=new it.Command("messages").description("Messages");return e.addCommand(new it.Command("list").description("List messages").action(async()=>{let o=await(0,At.oraPromise)(()=>n.message.list().json(),{...t,text:"Finding messages"});console.log(o)})),e}var $=require("commander"),pt=require("ora");function ct({client:n,ora:t}){let e=new $.Command("models").description("Models");return e.addCommand(new $.Command("get").description("Find model").argument("<model>","Model ID").action(async o=>{let s=await(0,pt.oraPromise)(()=>n.model.get(o).json(),{...t,text:"Finding model"});console.log(s)})),e.addCommand(new $.Command("list").description("List models").action(async()=>{let o=await(0,pt.oraPromise)(()=>n.model.list().json(),{...t,text:"Finding models"});console.log(o)})),e}var z=require("commander"),mt=require("ora");function lt({client:n,ora:t}){let e=new z.Command("sources").description("Sources");return e.addCommand(new z.Command("get").description("Find source").argument("<source>","Source ID").action(async o=>{let s=await(0,mt.oraPromise)(()=>n.source.get(o).json(),{...t,text:"Finding source"});console.log(s)})),e.addCommand(new z.Command("list").description("List sources").action(async()=>{let o=await(0,mt.oraPromise)(()=>n.source.list().json(),{...t,text:"Finding sources"});console.log(o)})),e}var wt=require("commander");var dt=require("commander"),Tt=require("ora");function ut({client:n,ora:t}){let e=new dt.Command("notifications").description("Well-Known Notifications Details");return e.addCommand(new dt.Command("get").description("Get Notifications Server Well-Known Info").action(async()=>{let o=await(0,Tt.oraPromise)(()=>n.wellKnown.getNotifications().json(),{...t,text:"Finding Notifications Well-Known Info"});console.log(o)})),e}function Ct({client:n,ora:t}){let e=new wt.Command("well-known").description("Well-Known Metadata & Info");return e.addCommand(ut({client:n,ora:t})),e}var p={ora:{spinner:"simpleDotsScrolling"},client:new k(new m)},Mt=new St.Command("gds").description("Great Detail Support System").addCommand(Z(p)).addCommand(et(p)).addCommand(ot(p)).addCommand(st(p)).addCommand(rt(p)).addCommand(at(p)).addCommand(ct(p)).addCommand(lt(p)).addCommand(Ct(p)),jt=Mt;
|
package/dist/cli/index.d.cts
CHANGED
package/dist/cli/index.d.ts
CHANGED
package/dist/cli/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-ZYGIKVV2.js";import"../chunk-TYWSBZE2.js";export{a as default};
|
package/dist/cli.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
"use strict";var Dt=Object.create;var Ct=Object.defineProperty;var Gt=Object.getOwnPropertyDescriptor;var Et=Object.getOwnPropertyNames;var xt=Object.getPrototypeOf,Pt=Object.prototype.hasOwnProperty;var Ft=(n,t,e,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Et(t))!Pt.call(n,s)&&s!==e&&Ct(n,s,{get:()=>t[s],enumerable:!(o=Gt(t,s))||o.enumerable});return n};var ht=(n,t,e)=>(e=n!=null?Dt(xt(n)):{},Ft(t||!n||!n.__esModule?Ct(e,"default",{value:n,enumerable:!0}):e,n));var wt=require("commander");var m=class{getHeaders(){return{}}};var C=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t),{...e,method:"GET"})}update(t,{body:e,request:o={}}){return this._transport.send("v1/accounts/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}create({body:t,request:e={}}){return this._transport.send("v1/accounts",{...e,method:"POST",json:t})}};var h=class{constructor(t){this._transport=t}get(t,e,{request:o={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/access-tokens/"+encodeURIComponent(e),{...o,method:"GET"})}list(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/access-tokens",{...e,method:"GET"})}delete(t,e,{body:o,request:s={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/access-tokens/"+encodeURIComponent(e),{...s,method:"DELETE",json:o})}create(t,{body:e={},request:o={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/access-tokens",{...o,method:"POST",json:e})}};var f=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/conversation-settings",{...e,method:"GET"})}update(t,{body:e,request:o={}}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/conversation-settings",{...o,method:"PATCH",json:e})}};var g=class{constructor(t){this._transport=t}list({limit:t,sort:e,request:o={}}={}){return this._transport.send("v1/actions",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.sortQuery(e)]})}};var ft="SUPPORT_ACCESS_TOKEN",gt="SUPPORT_KEY_NAME",Ot="SUPPORT_KEY_PASSWORD",z="SUPPORT_SIGNING_KEY",Rt="SUPPORT_BASE_URL";var O=class{name;#t;constructor({name:t=process.env[gt],password:e=process.env[Ot]}={}){if(!t)throw new Error("Name option must be specified when using Basic Authentication");if(!e)throw new Error("Password option must be specified when using Basic Authentication");this.name=t,this.#t=e}getHeaders(){return{Authorization:`Basic ${btoa(this.name+":"+this.#t)}`}}};var R=class{#t;constructor({token:t=process.env[ft]}={}){if(!t)throw new Error("Access Token option must be specified when using Token Authentication");this.#t=t}getHeaders(){return{Authorization:`Bearer ${this.#t}`}}};var v=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/boilerplates/categories/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,include:e,request:o={}}={}){return this._transport.send("v1/boilerplates/categories",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.includeQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/boilerplates/categories",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/boilerplates/categories/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var b=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/boilerplates/contents/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,query:e,request:o={}}={}){return this._transport.send("v1/boilerplates/contents",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e)]})}listByCategory=this.listByBoilerplateCategory;listByBoilerplateCategory(t,{limit:e,request:o={}}={}){return this._transport.send("v1/boilerplates/categories/"+encodeURIComponent(t)+"/contents",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/boilerplates/contents",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/boilerplates/contents/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var L=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,request:e={}}={}){return this._transport.send("v1/channels",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}update(t,{body:e,request:o={}}){return this._transport.send("v1/channels/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}create({body:t,request:e={}}){return this._transport.send("v1/channels",{...e,method:"POST",json:t})}metaWhatsappGetBusinessProfile(t,{request:e={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/meta-whatsapp/business-profile",{...e,method:"GET"})}twilioSendgridChannelSync(t,{body:e,request:o={}}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/twilio-sendgrid/sync",{...o,method:"POST",json:e})}};var y=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/composition-sections/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,request:e={}}={}){return this._transport.send("v1/composition-sections",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}listByChannel(t,{limit:e,request:o={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/composition-sections",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/composition-sections",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/composition-sections/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var vt="https://api.support.greatdetail.com",bt={"X-Powered-By":"GDSupport/JavaScript"};var _=class{constructor(t){this._transport=t}get(t,{include:e,request:o={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...o,method:"GET",searchParams:[...this._transport.includeQuery(e??{})]})}getVCFURL(t,{vcf:e={}}){let o=e.variant??"vcard",s=e.format??(o==="vcard"?"vcf":"json"),i="v1/contacts/"+encodeURIComponent(t)+"/vcf?variant="+encodeURIComponent(o)+"&format="+encodeURIComponent(s);return this._transport.getURL(i)}getVCF(t,e={}){return this._transport.send(this.getVCFURL(t,e),{method:"GET"})}list({limit:t,query:e,request:o={}}={}){return this._transport.send("v1/contacts",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e)]})}listByLabel(t,{limit:e,request:o={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/contacts",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/contacts",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var I=class{constructor(t){this._transport=t}get(t,{include:e,request:o={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...o,method:"GET",searchParams:[...this._transport.includeQuery(e??{})]})}list({limit:t,filter:e,include:o,request:s={}}={}){return this._transport.send("v1/conversations",{...s,method:"GET",searchParams:[...this._transport.limitQuery(t),...e?[["filter",e]]:[],...this._transport.includeQuery(o??{})]})}listByLabel(t,{limit:e,request:o={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/conversations",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}listByContact(t,{limit:e,request:o={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/conversations",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/conversations",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}delete(t,{request:e={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var A=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,query:e,include:o,request:s={}}={}){return this._transport.send("v1/labels",{...s,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e),...this._transport.includeQuery(o??{})]})}listByContact(t,{limit:e,request:o={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/labels",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}listByConversation(t,{limit:e,request:o={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/labels",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/labels",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}delete(t,{request:e={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var T=class{constructor(t){this._transport=t}list({limit:t,include:e,request:o={}}={}){return this._transport.send("v1/messages",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.includeQuery(e??{})]})}listByConversation(t,{limit:e,include:o,request:s={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/messages",{...s,method:"GET",searchParams:[...this._transport.limitQuery(e),...this._transport.includeQuery(o??{})]})}listByChannel(t,{limit:e,include:o,request:s={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/messages",{...s,method:"GET",searchParams:[...this._transport.limitQuery(e),...this._transport.includeQuery(o)]})}create({body:t,request:e={}}){return this._transport.send("v1/messages",{...e,method:"POST",json:t})}delete(t,{request:e={}}={}){return this._transport.send("v1/messages/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var w=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/models/"+encodeURIComponent(t),{...e,method:"GET"})}list({request:t={}}={}){return this._transport.send("v1/models",{...t,method:"GET"})}createResponse(t,{body:e,request:o={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/response",{...o,method:"POST",timeout:12e4,json:e})}createCorrection(t,{body:e,request:o={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/correction",{...o,method:"POST",json:e})}};var S=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...e,method:"GET"})}listByContact(t,{request:e={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...e,method:"GET"})}listByConversation(t,{request:e={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...e,method:"GET"})}createForContact(t,{body:e,request:o={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...o,method:"POST",json:e})}createForConversation(t,{body:e,request:o={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...o,method:"POST",json:e})}update(t,{body:e,request:o={}}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var U=class{constructor(t){this._transport=t}create(t,{body:e,request:o={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notification-subscriptions",{...o,method:"POST",json:e})}};var D=class n{constructor(t=n.STANDARD_HEADERS){this._standardHeaders=t}static STANDARD_HEADERS=bt;async filter(){return{headers:this.getHeaders()}}getHeaders(){return this._standardHeaders}};var G=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/sources/"+encodeURIComponent(t),{...e,method:"GET"})}list({featured:t,category:e,request:o={}}={}){let s=[];if(e){let i=Array.isArray(e)?e:[e];for(let d of i)s.push(["category",d])}return t!==void 0&&s.push(["featured",String(t)]),this._transport.send("v1/sources",{...o,method:"GET",searchParams:s})}};var E=class{constructor(t){this._transport=t}getMessageFrequency({request:t={}}={}){return this._transport.send("v1/statistics/message-frequency",{...t,method:"GET"})}getChannelMessageFrequency(t,{request:e={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/statistics/message-frequency",{...e,method:"GET"})}};var Lt=ht(require("is-network-error"),1),q=ht(require("ky"),1);var a=class extends Error{static serverError(t){return new this("Server Error: "+t)}};var l=class extends a{};var x=class extends l{static unauthenticated(){return new this("An unauthenticated request occurred")}};var P=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 F=class extends a{};var u=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=q.default.create({prefixUrl:this.options.baseURL,timeout:12e3,hooks:{beforeRequest:[o=>{for(let s of this.options.requestFilterables){let i=s.getHeaders();for(let[d,Ut]of Object.entries(i))o.headers.has(d)||o.headers.set(d,Ut)}}]}})}getURL(t){return new URL(t,this.options.baseURL).toString()}sortQuery(t){let e=[];if(t===void 0)return e;for(let[o,s]of Object.entries(t))s!==void 0&&e.push(["sort",s+o]);return e}limitQuery(t){let e=[];return t===void 0||e.push(["limit",t.toString()]),e}includeQuery(t){let e=[];if(t===void 0)return e;for(let o of Object.keys(t))e.push(["include",o]);return e}queryQuery(t){let e=[];return t===void 0||e.push(["query",t]),e}send(t,e={}){let o=this.client(t,e).catch(s=>{if((0,Lt.default)(s))throw new F("A network error occurred",{cause:s});if(s instanceof q.HTTPError){let i=s.response.status;switch(console.error(JSON.stringify(s.response)),i){case 400:throw u.badRequest();case 401:throw x.unauthenticated();case 403:throw P.forbidden();case 404:throw c.notFound(t);case 405:throw c.forbiddenMethod(t,e.method??"GET");case 415:throw u.unsupportedMediaType();case 418:throw c.teapot();case 429:throw c.rateLimited()}if(i>=500&&i<600)throw a.serverError(i)}throw s});return{response:()=>o,json:async()=>(await o).json()}}};var M=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/uploads/"+encodeURIComponent(t),{...e,method:"GET"})}create({account:t,files:e,request:o={}}){let s=new FormData;for(let i of e)s.append("file",i);return this._transport.send("v1/uploads",{...o,method:"POST",body:s,searchParams:{account:t}})}delete(t,{request:e={}}={}){return this._transport.send("v1/uploads/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var r=require("zod");var j=class n{static SCHEMA=r.z.object({data:r.z.object({event:r.z.intersection(r.z.object({id:r.z.string(),createdAt:r.z.string().datetime()}),r.z.union([r.z.object({type:r.z.union([r.z.literal("account.created"),r.z.literal("account.updated")]),payload:r.z.object({account:r.z.string()})}),r.z.object({type:r.z.union([r.z.literal("accountAccessToken.created"),r.z.literal("accountAccessToken.deleted")]),payload:r.z.object({accountAccessToken:r.z.string()})}),r.z.object({type:r.z.union([r.z.literal("contact.created"),r.z.literal("contact.updated")]),payload:r.z.object({contact:r.z.string()})}),r.z.object({type:r.z.union([r.z.literal("conversation.created"),r.z.literal("conversation.updated"),r.z.literal("conversation.closed"),r.z.literal("conversation.received"),r.z.literal("conversation.resolved"),r.z.literal("conversation.sent")]),payload:r.z.object({conversation:r.z.string()})}),r.z.object({type:r.z.union([r.z.literal("message.created"),r.z.literal("message.updated"),r.z.literal("message.delivered"),r.z.literal("message.failed"),r.z.literal("message.read"),r.z.literal("message.received"),r.z.literal("message.sent")]),payload:r.z.object({message:r.z.string()})})]))})});constructor(){}async event({key:t=process.env[z],maxSignatures:e=3,request:o}){let s=o.headers["gds-signature"];if(t!==!1){if(t===void 0)throw new Error("Missing webhook signing key in process.env."+z);if(!s)throw new Error("Missing signature header");if(!this._verifySignature(t,o.body,Array.isArray(s)?s.slice(0,e):[s]))throw new Error("Untrusted signature")}let{data:i}=n.SCHEMA.parse(o.body);return{event:i.event}}async _verifySignature(t,e,o){let s=await crypto.subtle.importKey("raw",new TextEncoder().encode(t),{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"]);for(let i of o)if(await crypto.subtle.verify("HMAC",s,new TextEncoder().encode(atob(i)),new TextEncoder().encode(JSON.stringify(e))))return!0;return!1}};var N=class{constructor(t){this._transport=t}getNotifications({request:t={}}={}){return this._transport.send(".well-known/notifications",{...t,method:"GET"})}};var k=class n{static DEFAULT_BASE_URL=vt;static PublicAuthentication=m;static BasicAuthentication=O;static BearerAuthentication=R;_transport;account;accountAccessToken;accountConversationSettings;action;boilerplateCategory;boilerplateContent;channel;compositionSection;contact;conversation;label;message;model;note;notificationSubscription;source;statistics;upload;webhook;wellKnown;constructor(t,{baseURL:e,...o}={}){this._transport=new B({requestFilterables:[new D,t],...o,baseURL:e?.toString()??n.getBaseURL()}),this.account=new C(this._transport),this.accountAccessToken=new h(this._transport),this.accountConversationSettings=new f(this._transport),this.action=new g(this._transport),this.boilerplateCategory=new v(this._transport),this.boilerplateContent=new b(this._transport),this.channel=new L(this._transport),this.compositionSection=new y(this._transport),this.contact=new _(this._transport),this.conversation=new I(this._transport),this.label=new A(this._transport),this.message=new T(this._transport),this.model=new w(this._transport),this.note=new S(this._transport),this.notificationSubscription=new U(this._transport),this.source=new G(this._transport),this.statistics=new E(this._transport),this.upload=new M(this._transport),this.webhook=new j,this.wellKnown=new N(this._transport)}static getBaseURL(){return process.env[Rt]??this.DEFAULT_BASE_URL}};var J=require("commander"),yt=require("ora");function X({client:n,ora:t}){let e=new J.Command("actions").description("Actions");return e.addCommand(new J.Command("list").description("List actions").action(async()=>{let o=await(0,yt.oraPromise)(()=>n.action.list().json(),{...t,text:"Finding actions"});console.log(o)})),e}var Z=require("commander"),_t=require("ora");function tt({client:n,ora:t}){let e=new Z.Command("channels").description("Channels");return e.addCommand(new Z.Command("list").description("List channels").action(async()=>{let o=await(0,_t.oraPromise)(()=>n.channel.list().json(),{...t,text:"Finding channels"});console.log(o)})),e}var Q=require("commander"),K=require("ora");function et({client:n,ora:t}){let e=new Q.Command("contacts").description("Contacts");return e.addCommand(new Q.Command("get").description("Find contact").argument("<contact>","Contact ID").action(async o=>{let s=await(0,K.oraPromise)(()=>n.contact.get(o).json(),{...t,text:"Finding contact"});console.log(s)})),e.addCommand(new Q.Command("list").description("List contacts").action(async()=>{let o=await(0,K.oraPromise)(()=>n.contact.list().json(),{...t,text:"Finding contacts"});console.log(o)})),e.addCommand(new Q.Command("get-vcf").description("Export Contact as VCF").argument("<contact>","Contact ID").action(async o=>{let s=await(0,K.oraPromise)(()=>n.contact.getVCF(o).response(),{...t,text:"Exporting contact"});console.log(s)})),e}var V=require("commander"),ot=require("ora");function nt({client:n,ora:t}){let e=new V.Command("conversations").description("Conversations");return e.addCommand(new V.Command("get").description("Find conversation").argument("<conversation>","Conversation ID").action(async o=>{let s=await(0,ot.oraPromise)(()=>n.conversation.get(o).json(),{...t,text:"Finding conversation"});console.log(s)})),e.addCommand(new V.Command("list").description("List conversations").action(async()=>{let o=await(0,ot.oraPromise)(()=>n.conversation.list().json(),{...t,text:"Finding conversations"});console.log(o)})),e}var H=require("commander"),W=require("ora");function st({client:n,ora:t}){let e=new H.Command("labels").description("Labels");return e.addCommand(new H.Command("get").description("Find label").argument("<label>","Label ID").action(async o=>{let s=await(0,W.oraPromise)(()=>n.label.get(o).json(),{...t,text:"Finding label"});console.log(s)})),e.addCommand(new H.Command("list").description("List labels").action(async()=>{let o=await(0,W.oraPromise)(()=>n.label.list().json(),{...t,text:"Finding labels"});console.log(o)})),e.addCommand(new H.Command("conversations").description("Find label conversations").argument("<label>","Label ID").action(async o=>{let s=await(0,W.oraPromise)(()=>n.conversation.listByLabel(o).json(),{...t,text:"Finding conversations"});console.log(s)})),e}var rt=require("commander"),It=require("ora");function it({client:n,ora:t}){let e=new rt.Command("messages").description("Messages");return e.addCommand(new rt.Command("list").description("List messages").action(async()=>{let o=await(0,It.oraPromise)(()=>n.message.list().json(),{...t,text:"Finding messages"});console.log(o)})),e}var Y=require("commander"),at=require("ora");function pt({client:n,ora:t}){let e=new Y.Command("models").description("Models");return e.addCommand(new Y.Command("get").description("Find model").argument("<model>","Model ID").action(async o=>{let s=await(0,at.oraPromise)(()=>n.model.get(o).json(),{...t,text:"Finding model"});console.log(s)})),e.addCommand(new Y.Command("list").description("List models").action(async()=>{let o=await(0,at.oraPromise)(()=>n.model.list().json(),{...t,text:"Finding models"});console.log(o)})),e}var $=require("commander"),ct=require("ora");function mt({client:n,ora:t}){let e=new $.Command("sources").description("Sources");return e.addCommand(new $.Command("get").description("Find source").argument("<source>","Source ID").action(async o=>{let s=await(0,ct.oraPromise)(()=>n.source.get(o).json(),{...t,text:"Finding source"});console.log(s)})),e.addCommand(new $.Command("list").description("List sources").action(async()=>{let o=await(0,ct.oraPromise)(()=>n.source.list().json(),{...t,text:"Finding sources"});console.log(o)})),e}var Tt=require("commander");var lt=require("commander"),At=require("ora");function dt({client:n,ora:t}){let e=new lt.Command("notifications").description("Well-Known Notifications Details");return e.addCommand(new lt.Command("get").description("Get Notifications Server Well-Known Info").action(async()=>{let o=await(0,At.oraPromise)(()=>n.wellKnown.getNotifications().json(),{...t,text:"Finding Notifications Well-Known Info"});console.log(o)})),e}function ut({client:n,ora:t}){let e=new Tt.Command("well-known").description("Well-Known Metadata & Info");return e.addCommand(dt({client:n,ora:t})),e}var p={ora:{spinner:"simpleDotsScrolling"},client:new k(new m)},Bt=new wt.Command("gds").description("Great Detail Support System").addCommand(X(p)).addCommand(tt(p)).addCommand(et(p)).addCommand(nt(p)).addCommand(st(p)).addCommand(it(p)).addCommand(pt(p)).addCommand(mt(p)).addCommand(ut(p)),St=Bt;St.parseAsync(process.argv);
|
|
2
|
+
"use strict";var Dt=Object.create;var Ct=Object.defineProperty;var Gt=Object.getOwnPropertyDescriptor;var Et=Object.getOwnPropertyNames;var xt=Object.getPrototypeOf,Pt=Object.prototype.hasOwnProperty;var Ft=(n,t,e,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Et(t))!Pt.call(n,s)&&s!==e&&Ct(n,s,{get:()=>t[s],enumerable:!(o=Gt(t,s))||o.enumerable});return n};var ht=(n,t,e)=>(e=n!=null?Dt(xt(n)):{},Ft(t||!n||!n.__esModule?Ct(e,"default",{value:n,enumerable:!0}):e,n));var wt=require("commander");var m=class{getHeaders(){return{}}};var C=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t),{...e,method:"GET"})}update(t,{body:e,request:o={}}){return this._transport.send("v1/accounts/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}create({body:t,request:e={}}){return this._transport.send("v1/accounts",{...e,method:"POST",json:t})}};var h=class{constructor(t){this._transport=t}get(t,e,{request:o={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/access-tokens/"+encodeURIComponent(e),{...o,method:"GET"})}list(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/access-tokens",{...e,method:"GET"})}delete(t,e,{body:o,request:s={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/access-tokens/"+encodeURIComponent(e),{...s,method:"DELETE",json:o})}create(t,{body:e={},request:o={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/access-tokens",{...o,method:"POST",json:e})}};var f=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/conversation-settings",{...e,method:"GET"})}update(t,{body:e,request:o={}}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/conversation-settings",{...o,method:"PATCH",json:e})}};var g=class{constructor(t){this._transport=t}list({limit:t,sort:e,request:o={}}={}){return this._transport.send("v1/actions",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.sortQuery(e)]})}};var ft="SUPPORT_ACCESS_TOKEN",gt="SUPPORT_KEY_NAME",Ot="SUPPORT_KEY_PASSWORD",z="SUPPORT_SIGNING_KEY",Rt="SUPPORT_BASE_URL";var O=class{name;#t;constructor({name:t=process.env[gt],password:e=process.env[Ot]}={}){if(!t)throw new Error("Name option must be specified when using Basic Authentication");if(!e)throw new Error("Password option must be specified when using Basic Authentication");this.name=t,this.#t=e}getHeaders(){return{Authorization:`Basic ${btoa(this.name+":"+this.#t)}`}}};var R=class{#t;constructor({token:t=process.env[ft]}={}){if(!t)throw new Error("Access Token option must be specified when using Token Authentication");this.#t=t}getHeaders(){return{Authorization:`Bearer ${this.#t}`}}};var v=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/boilerplates/categories/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,include:e,request:o={}}={}){return this._transport.send("v1/boilerplates/categories",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.includeQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/boilerplates/categories",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/boilerplates/categories/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var b=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/boilerplates/contents/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,query:e,request:o={}}={}){return this._transport.send("v1/boilerplates/contents",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e)]})}listByCategory=this.listByBoilerplateCategory;listByBoilerplateCategory(t,{limit:e,request:o={}}={}){return this._transport.send("v1/boilerplates/categories/"+encodeURIComponent(t)+"/contents",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/boilerplates/contents",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/boilerplates/contents/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var L=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,request:e={}}={}){return this._transport.send("v1/channels",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}update(t,{body:e,request:o={}}){return this._transport.send("v1/channels/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}create({body:t,request:e={}}){return this._transport.send("v1/channels",{...e,method:"POST",json:t})}metaWhatsappGetBusinessProfile(t,{request:e={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/meta-whatsapp/business-profile",{...e,method:"GET"})}twilioSendgridChannelSync(t,{body:e,request:o={}}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/twilio-sendgrid/sync",{...o,method:"POST",json:e})}};var y=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/composition-sections/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,request:e={}}={}){return this._transport.send("v1/composition-sections",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}listByChannel(t,{limit:e,request:o={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/composition-sections",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/composition-sections",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/composition-sections/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var vt="https://api.support.greatdetail.com",bt={"X-Powered-By":"GDSupport/JavaScript"};var _=class{constructor(t){this._transport=t}get(t,{include:e,request:o={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...o,method:"GET",searchParams:[...this._transport.includeQuery(e??{})]})}getRelativeVCFURL(t,{vcf:e={}}={}){let o=e.variant??"vcard",s=e.format??(o==="vcard"?"vcf":"json");return"v1/contacts/"+encodeURIComponent(t)+"/vcf?variant="+encodeURIComponent(o)+"&format="+encodeURIComponent(s)}getVCFURL(t,e={}){return this._transport.getURL(this.getRelativeVCFURL(t,e))}getVCF(t,e={}){return this._transport.send(this.getVCFURL(t,e),{method:"GET"})}list({limit:t,query:e,request:o={}}={}){return this._transport.send("v1/contacts",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e)]})}listByLabel(t,{limit:e,request:o={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/contacts",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/contacts",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var I=class{constructor(t){this._transport=t}get(t,{include:e,request:o={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...o,method:"GET",searchParams:[...this._transport.includeQuery(e??{})]})}list({limit:t,filter:e,include:o,request:s={}}={}){return this._transport.send("v1/conversations",{...s,method:"GET",searchParams:[...this._transport.limitQuery(t),...e?[["filter",e]]:[],...this._transport.includeQuery(o??{})]})}listByLabel(t,{limit:e,request:o={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/conversations",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}listByContact(t,{limit:e,request:o={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/conversations",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/conversations",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}delete(t,{request:e={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var A=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,query:e,include:o,request:s={}}={}){return this._transport.send("v1/labels",{...s,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e),...this._transport.includeQuery(o??{})]})}listByContact(t,{limit:e,request:o={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/labels",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}listByConversation(t,{limit:e,request:o={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/labels",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/labels",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}delete(t,{request:e={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var T=class{constructor(t){this._transport=t}list({limit:t,include:e,request:o={}}={}){return this._transport.send("v1/messages",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.includeQuery(e??{})]})}listByConversation(t,{limit:e,include:o,request:s={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/messages",{...s,method:"GET",searchParams:[...this._transport.limitQuery(e),...this._transport.includeQuery(o??{})]})}listByChannel(t,{limit:e,include:o,request:s={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/messages",{...s,method:"GET",searchParams:[...this._transport.limitQuery(e),...this._transport.includeQuery(o)]})}create({body:t,request:e={}}){return this._transport.send("v1/messages",{...e,method:"POST",json:t})}delete(t,{request:e={}}={}){return this._transport.send("v1/messages/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var w=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/models/"+encodeURIComponent(t),{...e,method:"GET"})}list({request:t={}}={}){return this._transport.send("v1/models",{...t,method:"GET"})}createResponse(t,{body:e,request:o={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/response",{...o,method:"POST",timeout:12e4,json:e})}createCorrection(t,{body:e,request:o={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/correction",{...o,method:"POST",json:e})}};var S=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...e,method:"GET"})}listByContact(t,{request:e={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...e,method:"GET"})}listByConversation(t,{request:e={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...e,method:"GET"})}createForContact(t,{body:e,request:o={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...o,method:"POST",json:e})}createForConversation(t,{body:e,request:o={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...o,method:"POST",json:e})}update(t,{body:e,request:o={}}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var U=class{constructor(t){this._transport=t}create(t,{body:e,request:o={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notification-subscriptions",{...o,method:"POST",json:e})}};var D=class n{constructor(t=n.STANDARD_HEADERS){this._standardHeaders=t}static STANDARD_HEADERS=bt;async filter(){return{headers:this.getHeaders()}}getHeaders(){return this._standardHeaders}};var G=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/sources/"+encodeURIComponent(t),{...e,method:"GET"})}list({featured:t,category:e,request:o={}}={}){let s=[];if(e){let i=Array.isArray(e)?e:[e];for(let d of i)s.push(["category",d])}return t!==void 0&&s.push(["featured",String(t)]),this._transport.send("v1/sources",{...o,method:"GET",searchParams:s})}};var E=class{constructor(t){this._transport=t}getMessageFrequency({request:t={}}={}){return this._transport.send("v1/statistics/message-frequency",{...t,method:"GET"})}getChannelMessageFrequency(t,{request:e={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/statistics/message-frequency",{...e,method:"GET"})}};var Lt=ht(require("is-network-error"),1),q=ht(require("ky"),1);var a=class extends Error{static serverError(t){return new this("Server Error: "+t)}};var l=class extends a{};var x=class extends l{static unauthenticated(){return new this("An unauthenticated request occurred")}};var P=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 F=class extends a{};var u=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=q.default.create({prefixUrl:this.options.baseURL,timeout:12e3,hooks:{beforeRequest:[o=>{for(let s of this.options.requestFilterables){let i=s.getHeaders();for(let[d,Ut]of Object.entries(i))o.headers.has(d)||o.headers.set(d,Ut)}}]}})}getURL(t){return new URL(t,this.options.baseURL).toString()}sortQuery(t){let e=[];if(t===void 0)return e;for(let[o,s]of Object.entries(t))s!==void 0&&e.push(["sort",s+o]);return e}limitQuery(t){let e=[];return t===void 0||e.push(["limit",t.toString()]),e}includeQuery(t){let e=[];if(t===void 0)return e;for(let o of Object.keys(t))e.push(["include",o]);return e}queryQuery(t){let e=[];return t===void 0||e.push(["query",t]),e}send(t,e={}){let o=this.client(t,e).catch(s=>{if((0,Lt.default)(s))throw new F("A network error occurred",{cause:s});if(s instanceof q.HTTPError){let i=s.response.status;switch(console.error(JSON.stringify(s.response)),i){case 400:throw u.badRequest();case 401:throw x.unauthenticated();case 403:throw P.forbidden();case 404:throw c.notFound(t);case 405:throw c.forbiddenMethod(t,e.method??"GET");case 415:throw u.unsupportedMediaType();case 418:throw c.teapot();case 429:throw c.rateLimited()}if(i>=500&&i<600)throw a.serverError(i)}throw s});return{response:()=>o,json:async()=>(await o).json()}}};var M=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/uploads/"+encodeURIComponent(t),{...e,method:"GET"})}create({account:t,files:e,request:o={}}){let s=new FormData;for(let i of e)s.append("file",i);return this._transport.send("v1/uploads",{...o,method:"POST",body:s,searchParams:{account:t}})}delete(t,{request:e={}}={}){return this._transport.send("v1/uploads/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var r=require("zod");var j=class n{static SCHEMA=r.z.object({data:r.z.object({event:r.z.intersection(r.z.object({id:r.z.string(),createdAt:r.z.string().datetime()}),r.z.union([r.z.object({type:r.z.union([r.z.literal("account.created"),r.z.literal("account.updated")]),payload:r.z.object({account:r.z.string()})}),r.z.object({type:r.z.union([r.z.literal("accountAccessToken.created"),r.z.literal("accountAccessToken.deleted")]),payload:r.z.object({accountAccessToken:r.z.string()})}),r.z.object({type:r.z.union([r.z.literal("contact.created"),r.z.literal("contact.updated")]),payload:r.z.object({contact:r.z.string()})}),r.z.object({type:r.z.union([r.z.literal("conversation.created"),r.z.literal("conversation.updated"),r.z.literal("conversation.closed"),r.z.literal("conversation.received"),r.z.literal("conversation.resolved"),r.z.literal("conversation.sent")]),payload:r.z.object({conversation:r.z.string()})}),r.z.object({type:r.z.union([r.z.literal("message.created"),r.z.literal("message.updated"),r.z.literal("message.delivered"),r.z.literal("message.failed"),r.z.literal("message.read"),r.z.literal("message.received"),r.z.literal("message.sent")]),payload:r.z.object({message:r.z.string()})})]))})});constructor(){}async event({key:t=process.env[z],maxSignatures:e=3,request:o}){let s=o.headers["gds-signature"];if(t!==!1){if(t===void 0)throw new Error("Missing webhook signing key in process.env."+z);if(!s)throw new Error("Missing signature header");if(!this._verifySignature(t,o.body,Array.isArray(s)?s.slice(0,e):[s]))throw new Error("Untrusted signature")}let{data:i}=n.SCHEMA.parse(o.body);return{event:i.event}}async _verifySignature(t,e,o){let s=await crypto.subtle.importKey("raw",new TextEncoder().encode(t),{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"]);for(let i of o)if(await crypto.subtle.verify("HMAC",s,new TextEncoder().encode(atob(i)),new TextEncoder().encode(JSON.stringify(e))))return!0;return!1}};var N=class{constructor(t){this._transport=t}getNotifications({request:t={}}={}){return this._transport.send(".well-known/notifications",{...t,method:"GET"})}};var k=class n{static DEFAULT_BASE_URL=vt;static PublicAuthentication=m;static BasicAuthentication=O;static BearerAuthentication=R;_transport;account;accountAccessToken;accountConversationSettings;action;boilerplateCategory;boilerplateContent;channel;compositionSection;contact;conversation;label;message;model;note;notificationSubscription;source;statistics;upload;webhook;wellKnown;constructor(t,{baseURL:e,...o}={}){this._transport=new B({requestFilterables:[new D,t],...o,baseURL:e?.toString()??n.getBaseURL()}),this.account=new C(this._transport),this.accountAccessToken=new h(this._transport),this.accountConversationSettings=new f(this._transport),this.action=new g(this._transport),this.boilerplateCategory=new v(this._transport),this.boilerplateContent=new b(this._transport),this.channel=new L(this._transport),this.compositionSection=new y(this._transport),this.contact=new _(this._transport),this.conversation=new I(this._transport),this.label=new A(this._transport),this.message=new T(this._transport),this.model=new w(this._transport),this.note=new S(this._transport),this.notificationSubscription=new U(this._transport),this.source=new G(this._transport),this.statistics=new E(this._transport),this.upload=new M(this._transport),this.webhook=new j,this.wellKnown=new N(this._transport)}static getBaseURL(){return process.env[Rt]??this.DEFAULT_BASE_URL}};var J=require("commander"),yt=require("ora");function X({client:n,ora:t}){let e=new J.Command("actions").description("Actions");return e.addCommand(new J.Command("list").description("List actions").action(async()=>{let o=await(0,yt.oraPromise)(()=>n.action.list().json(),{...t,text:"Finding actions"});console.log(o)})),e}var Z=require("commander"),_t=require("ora");function tt({client:n,ora:t}){let e=new Z.Command("channels").description("Channels");return e.addCommand(new Z.Command("list").description("List channels").action(async()=>{let o=await(0,_t.oraPromise)(()=>n.channel.list().json(),{...t,text:"Finding channels"});console.log(o)})),e}var Q=require("commander"),K=require("ora");function et({client:n,ora:t}){let e=new Q.Command("contacts").description("Contacts");return e.addCommand(new Q.Command("get").description("Find contact").argument("<contact>","Contact ID").action(async o=>{let s=await(0,K.oraPromise)(()=>n.contact.get(o).json(),{...t,text:"Finding contact"});console.log(s)})),e.addCommand(new Q.Command("list").description("List contacts").action(async()=>{let o=await(0,K.oraPromise)(()=>n.contact.list().json(),{...t,text:"Finding contacts"});console.log(o)})),e.addCommand(new Q.Command("get-vcf").description("Export Contact as VCF").argument("<contact>","Contact ID").action(async o=>{let s=await(0,K.oraPromise)(()=>n.contact.getVCF(o).response(),{...t,text:"Exporting contact"});console.log(s)})),e}var V=require("commander"),ot=require("ora");function nt({client:n,ora:t}){let e=new V.Command("conversations").description("Conversations");return e.addCommand(new V.Command("get").description("Find conversation").argument("<conversation>","Conversation ID").action(async o=>{let s=await(0,ot.oraPromise)(()=>n.conversation.get(o).json(),{...t,text:"Finding conversation"});console.log(s)})),e.addCommand(new V.Command("list").description("List conversations").action(async()=>{let o=await(0,ot.oraPromise)(()=>n.conversation.list().json(),{...t,text:"Finding conversations"});console.log(o)})),e}var H=require("commander"),W=require("ora");function st({client:n,ora:t}){let e=new H.Command("labels").description("Labels");return e.addCommand(new H.Command("get").description("Find label").argument("<label>","Label ID").action(async o=>{let s=await(0,W.oraPromise)(()=>n.label.get(o).json(),{...t,text:"Finding label"});console.log(s)})),e.addCommand(new H.Command("list").description("List labels").action(async()=>{let o=await(0,W.oraPromise)(()=>n.label.list().json(),{...t,text:"Finding labels"});console.log(o)})),e.addCommand(new H.Command("conversations").description("Find label conversations").argument("<label>","Label ID").action(async o=>{let s=await(0,W.oraPromise)(()=>n.conversation.listByLabel(o).json(),{...t,text:"Finding conversations"});console.log(s)})),e}var rt=require("commander"),It=require("ora");function it({client:n,ora:t}){let e=new rt.Command("messages").description("Messages");return e.addCommand(new rt.Command("list").description("List messages").action(async()=>{let o=await(0,It.oraPromise)(()=>n.message.list().json(),{...t,text:"Finding messages"});console.log(o)})),e}var Y=require("commander"),at=require("ora");function pt({client:n,ora:t}){let e=new Y.Command("models").description("Models");return e.addCommand(new Y.Command("get").description("Find model").argument("<model>","Model ID").action(async o=>{let s=await(0,at.oraPromise)(()=>n.model.get(o).json(),{...t,text:"Finding model"});console.log(s)})),e.addCommand(new Y.Command("list").description("List models").action(async()=>{let o=await(0,at.oraPromise)(()=>n.model.list().json(),{...t,text:"Finding models"});console.log(o)})),e}var $=require("commander"),ct=require("ora");function mt({client:n,ora:t}){let e=new $.Command("sources").description("Sources");return e.addCommand(new $.Command("get").description("Find source").argument("<source>","Source ID").action(async o=>{let s=await(0,ct.oraPromise)(()=>n.source.get(o).json(),{...t,text:"Finding source"});console.log(s)})),e.addCommand(new $.Command("list").description("List sources").action(async()=>{let o=await(0,ct.oraPromise)(()=>n.source.list().json(),{...t,text:"Finding sources"});console.log(o)})),e}var Tt=require("commander");var lt=require("commander"),At=require("ora");function dt({client:n,ora:t}){let e=new lt.Command("notifications").description("Well-Known Notifications Details");return e.addCommand(new lt.Command("get").description("Get Notifications Server Well-Known Info").action(async()=>{let o=await(0,At.oraPromise)(()=>n.wellKnown.getNotifications().json(),{...t,text:"Finding Notifications Well-Known Info"});console.log(o)})),e}function ut({client:n,ora:t}){let e=new Tt.Command("well-known").description("Well-Known Metadata & Info");return e.addCommand(dt({client:n,ora:t})),e}var p={ora:{spinner:"simpleDotsScrolling"},client:new k(new m)},Bt=new wt.Command("gds").description("Great Detail Support System").addCommand(X(p)).addCommand(tt(p)).addCommand(et(p)).addCommand(nt(p)).addCommand(st(p)).addCommand(it(p)).addCommand(pt(p)).addCommand(mt(p)).addCommand(ut(p)),St=Bt;St.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-
|
|
2
|
+
import{a as r}from"./chunk-ZYGIKVV2.js";import"./chunk-TYWSBZE2.js";r.parseAsync(process.argv);
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var ot=Object.create;var j=Object.defineProperty;var rt=Object.getOwnPropertyDescriptor;var st=Object.getOwnPropertyNames;var nt=Object.getPrototypeOf,it=Object.prototype.hasOwnProperty;var K=(r,t)=>{for(var e in t)j(r,e,{get:t[e],enumerable:!0})},W=(r,t,e,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of st(t))!it.call(r,n)&&n!==e&&j(r,n,{get:()=>t[n],enumerable:!(o=rt(t,n))||o.enumerable});return r};var Y=(r,t,e)=>(e=r!=null?ot(nt(r)):{},W(t||!r||!r.__esModule?j(e,"default",{value:r,enumerable:!0}):e,r)),pt=r=>W(j({},"__esModule",{value:!0}),r);var at={};K(at,{Client:()=>C,DEFAULT_SUPPORT_BASE_URL:()=>Q,Error:()=>V,default:()=>C});module.exports=pt(at);var Q="https://api.support.greatdetail.com",z={"X-Powered-By":"GDSupport/JavaScript"};var h=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t),{...e,method:"GET"})}update(t,{body:e,request:o={}}){return this._transport.send("v1/accounts/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}create({body:t,request:e={}}){return this._transport.send("v1/accounts",{...e,method:"POST",json:t})}};var R=class{constructor(t){this._transport=t}get(t,e,{request:o={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/access-tokens/"+encodeURIComponent(e),{...o,method:"GET"})}list(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/access-tokens",{...e,method:"GET"})}delete(t,e,{body:o,request:n={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/access-tokens/"+encodeURIComponent(e),{...n,method:"DELETE",json:o})}create(t,{body:e={},request:o={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/access-tokens",{...o,method:"POST",json:e})}};var x=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/conversation-settings",{...e,method:"GET"})}update(t,{body:e,request:o={}}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/conversation-settings",{...o,method:"PATCH",json:e})}};var O=class{constructor(t){this._transport=t}list({limit:t,sort:e,request:o={}}={}){return this._transport.send("v1/actions",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.sortQuery(e)]})}};var $="SUPPORT_ACCESS_TOKEN",J="SUPPORT_KEY_NAME",X="SUPPORT_KEY_PASSWORD",H="SUPPORT_SIGNING_KEY",Z="SUPPORT_BASE_URL";var g=class{name;#t;constructor({name:t=process.env[J],password:e=process.env[X]}={}){if(!t)throw new Error("Name option must be specified when using Basic Authentication");if(!e)throw new Error("Password option must be specified when using Basic Authentication");this.name=t,this.#t=e}getHeaders(){return{Authorization:`Basic ${btoa(this.name+":"+this.#t)}`}}};var v=class{#t;constructor({token:t=process.env[$]}={}){if(!t)throw new Error("Access Token option must be specified when using Token Authentication");this.#t=t}getHeaders(){return{Authorization:`Bearer ${this.#t}`}}};var b=class{getHeaders(){return{}}};var _=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/boilerplates/categories/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,include:e,request:o={}}={}){return this._transport.send("v1/boilerplates/categories",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.includeQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/boilerplates/categories",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/boilerplates/categories/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var L=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/boilerplates/contents/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,query:e,request:o={}}={}){return this._transport.send("v1/boilerplates/contents",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e)]})}listByCategory=this.listByBoilerplateCategory;listByBoilerplateCategory(t,{limit:e,request:o={}}={}){return this._transport.send("v1/boilerplates/categories/"+encodeURIComponent(t)+"/contents",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/boilerplates/contents",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/boilerplates/contents/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var A=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,request:e={}}={}){return this._transport.send("v1/channels",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}update(t,{body:e,request:o={}}){return this._transport.send("v1/channels/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}create({body:t,request:e={}}){return this._transport.send("v1/channels",{...e,method:"POST",json:t})}metaWhatsappGetBusinessProfile(t,{request:e={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/meta-whatsapp/business-profile",{...e,method:"GET"})}twilioSendgridChannelSync(t,{body:e,request:o={}}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/twilio-sendgrid/sync",{...o,method:"POST",json:e})}};var I=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/composition-sections/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,request:e={}}={}){return this._transport.send("v1/composition-sections",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}listByChannel(t,{limit:e,request:o={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/composition-sections",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/composition-sections",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/composition-sections/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var T=class{constructor(t){this._transport=t}get(t,{include:e,request:o={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...o,method:"GET",searchParams:[...this._transport.includeQuery(e??{})]})}getVCFURL(t,{vcf:e={}}){let o=e.variant??"vcard",n=e.format??(o==="vcard"?"vcf":"json"),i="v1/contacts/"+encodeURIComponent(t)+"/vcf?variant="+encodeURIComponent(o)+"&format="+encodeURIComponent(n);return this._transport.getURL(i)}getVCF(t,e={}){return this._transport.send(this.getVCFURL(t,e),{method:"GET"})}list({limit:t,query:e,request:o={}}={}){return this._transport.send("v1/contacts",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e)]})}listByLabel(t,{limit:e,request:o={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/contacts",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/contacts",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var y=class{constructor(t){this._transport=t}get(t,{include:e,request:o={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...o,method:"GET",searchParams:[...this._transport.includeQuery(e??{})]})}list({limit:t,filter:e,include:o,request:n={}}={}){return this._transport.send("v1/conversations",{...n,method:"GET",searchParams:[...this._transport.limitQuery(t),...e?[["filter",e]]:[],...this._transport.includeQuery(o??{})]})}listByLabel(t,{limit:e,request:o={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/conversations",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}listByContact(t,{limit:e,request:o={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/conversations",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/conversations",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}delete(t,{request:e={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var S=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,query:e,include:o,request:n={}}={}){return this._transport.send("v1/labels",{...n,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e),...this._transport.includeQuery(o??{})]})}listByContact(t,{limit:e,request:o={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/labels",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}listByConversation(t,{limit:e,request:o={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/labels",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/labels",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}delete(t,{request:e={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var U=class{constructor(t){this._transport=t}list({limit:t,include:e,request:o={}}={}){return this._transport.send("v1/messages",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.includeQuery(e??{})]})}listByConversation(t,{limit:e,include:o,request:n={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/messages",{...n,method:"GET",searchParams:[...this._transport.limitQuery(e),...this._transport.includeQuery(o??{})]})}listByChannel(t,{limit:e,include:o,request:n={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/messages",{...n,method:"GET",searchParams:[...this._transport.limitQuery(e),...this._transport.includeQuery(o)]})}create({body:t,request:e={}}){return this._transport.send("v1/messages",{...e,method:"POST",json:t})}delete(t,{request:e={}}={}){return this._transport.send("v1/messages/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var E=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/models/"+encodeURIComponent(t),{...e,method:"GET"})}list({request:t={}}={}){return this._transport.send("v1/models",{...t,method:"GET"})}createResponse(t,{body:e,request:o={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/response",{...o,method:"POST",timeout:12e4,json:e})}createCorrection(t,{body:e,request:o={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/correction",{...o,method:"POST",json:e})}};var G=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...e,method:"GET"})}listByContact(t,{request:e={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...e,method:"GET"})}listByConversation(t,{request:e={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...e,method:"GET"})}createForContact(t,{body:e,request:o={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...o,method:"POST",json:e})}createForConversation(t,{body:e,request:o={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...o,method:"POST",json:e})}update(t,{body:e,request:o={}}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var D=class{constructor(t){this._transport=t}create(t,{body:e,request:o={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notification-subscriptions",{...o,method:"POST",json:e})}};var w=class r{constructor(t=r.STANDARD_HEADERS){this._standardHeaders=t}static STANDARD_HEADERS=z;async filter(){return{headers:this.getHeaders()}}getHeaders(){return this._standardHeaders}};var P=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/sources/"+encodeURIComponent(t),{...e,method:"GET"})}list({featured:t,category:e,request:o={}}={}){let n=[];if(e){let i=Array.isArray(e)?e:[e];for(let f of i)n.push(["category",f])}return t!==void 0&&n.push(["featured",String(t)]),this._transport.send("v1/sources",{...o,method:"GET",searchParams:n})}};var B=class{constructor(t){this._transport=t}getMessageFrequency({request:t={}}={}){return this._transport.send("v1/statistics/message-frequency",{...t,method:"GET"})}getChannelMessageFrequency(t,{request:e={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/statistics/message-frequency",{...e,method:"GET"})}};var tt=Y(require("is-network-error"),1),q=Y(require("ky"),1);var p=class extends Error{static serverError(t){return new this("Server Error: "+t)}};var c=class extends p{};var l=class extends c{static unauthenticated(){return new this("An unauthenticated request occurred")}};var d=class extends c{static forbidden(){return new this("A forbidden request occurred")}};var a=class extends p{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 u=class extends p{};var m=class extends p{static badRequest(){return new this("Bad request")}static unsupportedMediaType(){return new this("Unsupported Media Type")}};var M=class{client;options;constructor({baseURL:t,...e}){this.options={...e,baseURL:t},this.client=q.default.create({prefixUrl:this.options.baseURL,timeout:12e3,hooks:{beforeRequest:[o=>{for(let n of this.options.requestFilterables){let i=n.getHeaders();for(let[f,et]of Object.entries(i))o.headers.has(f)||o.headers.set(f,et)}}]}})}getURL(t){return new URL(t,this.options.baseURL).toString()}sortQuery(t){let e=[];if(t===void 0)return e;for(let[o,n]of Object.entries(t))n!==void 0&&e.push(["sort",n+o]);return e}limitQuery(t){let e=[];return t===void 0||e.push(["limit",t.toString()]),e}includeQuery(t){let e=[];if(t===void 0)return e;for(let o of Object.keys(t))e.push(["include",o]);return e}queryQuery(t){let e=[];return t===void 0||e.push(["query",t]),e}send(t,e={}){let o=this.client(t,e).catch(n=>{if((0,tt.default)(n))throw new u("A network error occurred",{cause:n});if(n instanceof q.HTTPError){let i=n.response.status;switch(console.error(JSON.stringify(n.response)),i){case 400:throw m.badRequest();case 401:throw l.unauthenticated();case 403:throw d.forbidden();case 404:throw a.notFound(t);case 405:throw a.forbiddenMethod(t,e.method??"GET");case 415:throw m.unsupportedMediaType();case 418:throw a.teapot();case 429:throw a.rateLimited()}if(i>=500&&i<600)throw p.serverError(i)}throw n});return{response:()=>o,json:async()=>(await o).json()}}};var F=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/uploads/"+encodeURIComponent(t),{...e,method:"GET"})}create({account:t,files:e,request:o={}}){let n=new FormData;for(let i of e)n.append("file",i);return this._transport.send("v1/uploads",{...o,method:"POST",body:n,searchParams:{account:t}})}delete(t,{request:e={}}={}){return this._transport.send("v1/uploads/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var s=require("zod");var N=class r{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("accountAccessToken.created"),s.z.literal("accountAccessToken.deleted")]),payload:s.z.object({accountAccessToken: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()})})]))})});constructor(){}async event({key:t=process.env[H],maxSignatures:e=3,request:o}){let n=o.headers["gds-signature"];if(t!==!1){if(t===void 0)throw new Error("Missing webhook signing key in process.env."+H);if(!n)throw new Error("Missing signature header");if(!this._verifySignature(t,o.body,Array.isArray(n)?n.slice(0,e):[n]))throw new Error("Untrusted signature")}let{data:i}=r.SCHEMA.parse(o.body);return{event:i.event}}async _verifySignature(t,e,o){let n=await crypto.subtle.importKey("raw",new TextEncoder().encode(t),{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"]);for(let i of o)if(await crypto.subtle.verify("HMAC",n,new TextEncoder().encode(atob(i)),new TextEncoder().encode(JSON.stringify(e))))return!0;return!1}};var k=class{constructor(t){this._transport=t}getNotifications({request:t={}}={}){return this._transport.send(".well-known/notifications",{...t,method:"GET"})}};var C=class r{static DEFAULT_BASE_URL=Q;static PublicAuthentication=b;static BasicAuthentication=g;static BearerAuthentication=v;_transport;account;accountAccessToken;accountConversationSettings;action;boilerplateCategory;boilerplateContent;channel;compositionSection;contact;conversation;label;message;model;note;notificationSubscription;source;statistics;upload;webhook;wellKnown;constructor(t,{baseURL:e,...o}={}){this._transport=new M({requestFilterables:[new w,t],...o,baseURL:e?.toString()??r.getBaseURL()}),this.account=new h(this._transport),this.accountAccessToken=new R(this._transport),this.accountConversationSettings=new x(this._transport),this.action=new O(this._transport),this.boilerplateCategory=new _(this._transport),this.boilerplateContent=new L(this._transport),this.channel=new A(this._transport),this.compositionSection=new I(this._transport),this.contact=new T(this._transport),this.conversation=new y(this._transport),this.label=new S(this._transport),this.message=new U(this._transport),this.model=new E(this._transport),this.note=new G(this._transport),this.notificationSubscription=new D(this._transport),this.source=new P(this._transport),this.statistics=new B(this._transport),this.upload=new F(this._transport),this.webhook=new N,this.wellKnown=new k(this._transport)}static getBaseURL(){return process.env[Z]??this.DEFAULT_BASE_URL}};var V={};K(V,{AuthError:()=>c,AuthenticationError:()=>l,AuthorizationError:()=>d,LogicError:()=>a,NetworkError:()=>u,SupportError:()=>p,ValidationError:()=>m});0&&(module.exports={Client,DEFAULT_SUPPORT_BASE_URL,Error});
|
|
1
|
+
"use strict";var ot=Object.create;var j=Object.defineProperty;var rt=Object.getOwnPropertyDescriptor;var st=Object.getOwnPropertyNames;var nt=Object.getPrototypeOf,it=Object.prototype.hasOwnProperty;var K=(r,t)=>{for(var e in t)j(r,e,{get:t[e],enumerable:!0})},W=(r,t,e,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of st(t))!it.call(r,n)&&n!==e&&j(r,n,{get:()=>t[n],enumerable:!(o=rt(t,n))||o.enumerable});return r};var Y=(r,t,e)=>(e=r!=null?ot(nt(r)):{},W(t||!r||!r.__esModule?j(e,"default",{value:r,enumerable:!0}):e,r)),pt=r=>W(j({},"__esModule",{value:!0}),r);var at={};K(at,{Client:()=>C,DEFAULT_SUPPORT_BASE_URL:()=>Q,Error:()=>V,default:()=>C});module.exports=pt(at);var Q="https://api.support.greatdetail.com",z={"X-Powered-By":"GDSupport/JavaScript"};var h=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t),{...e,method:"GET"})}update(t,{body:e,request:o={}}){return this._transport.send("v1/accounts/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}create({body:t,request:e={}}){return this._transport.send("v1/accounts",{...e,method:"POST",json:t})}};var R=class{constructor(t){this._transport=t}get(t,e,{request:o={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/access-tokens/"+encodeURIComponent(e),{...o,method:"GET"})}list(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/access-tokens",{...e,method:"GET"})}delete(t,e,{body:o,request:n={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/access-tokens/"+encodeURIComponent(e),{...n,method:"DELETE",json:o})}create(t,{body:e={},request:o={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/access-tokens",{...o,method:"POST",json:e})}};var O=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/conversation-settings",{...e,method:"GET"})}update(t,{body:e,request:o={}}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/conversation-settings",{...o,method:"PATCH",json:e})}};var g=class{constructor(t){this._transport=t}list({limit:t,sort:e,request:o={}}={}){return this._transport.send("v1/actions",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.sortQuery(e)]})}};var $="SUPPORT_ACCESS_TOKEN",J="SUPPORT_KEY_NAME",X="SUPPORT_KEY_PASSWORD",H="SUPPORT_SIGNING_KEY",Z="SUPPORT_BASE_URL";var x=class{name;#t;constructor({name:t=process.env[J],password:e=process.env[X]}={}){if(!t)throw new Error("Name option must be specified when using Basic Authentication");if(!e)throw new Error("Password option must be specified when using Basic Authentication");this.name=t,this.#t=e}getHeaders(){return{Authorization:`Basic ${btoa(this.name+":"+this.#t)}`}}};var v=class{#t;constructor({token:t=process.env[$]}={}){if(!t)throw new Error("Access Token option must be specified when using Token Authentication");this.#t=t}getHeaders(){return{Authorization:`Bearer ${this.#t}`}}};var b=class{getHeaders(){return{}}};var _=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/boilerplates/categories/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,include:e,request:o={}}={}){return this._transport.send("v1/boilerplates/categories",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.includeQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/boilerplates/categories",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/boilerplates/categories/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var L=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/boilerplates/contents/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,query:e,request:o={}}={}){return this._transport.send("v1/boilerplates/contents",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e)]})}listByCategory=this.listByBoilerplateCategory;listByBoilerplateCategory(t,{limit:e,request:o={}}={}){return this._transport.send("v1/boilerplates/categories/"+encodeURIComponent(t)+"/contents",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/boilerplates/contents",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/boilerplates/contents/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var A=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,request:e={}}={}){return this._transport.send("v1/channels",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}update(t,{body:e,request:o={}}){return this._transport.send("v1/channels/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}create({body:t,request:e={}}){return this._transport.send("v1/channels",{...e,method:"POST",json:t})}metaWhatsappGetBusinessProfile(t,{request:e={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/meta-whatsapp/business-profile",{...e,method:"GET"})}twilioSendgridChannelSync(t,{body:e,request:o={}}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/twilio-sendgrid/sync",{...o,method:"POST",json:e})}};var I=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/composition-sections/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,request:e={}}={}){return this._transport.send("v1/composition-sections",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}listByChannel(t,{limit:e,request:o={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/composition-sections",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/composition-sections",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/composition-sections/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var T=class{constructor(t){this._transport=t}get(t,{include:e,request:o={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...o,method:"GET",searchParams:[...this._transport.includeQuery(e??{})]})}getRelativeVCFURL(t,{vcf:e={}}={}){let o=e.variant??"vcard",n=e.format??(o==="vcard"?"vcf":"json");return"v1/contacts/"+encodeURIComponent(t)+"/vcf?variant="+encodeURIComponent(o)+"&format="+encodeURIComponent(n)}getVCFURL(t,e={}){return this._transport.getURL(this.getRelativeVCFURL(t,e))}getVCF(t,e={}){return this._transport.send(this.getVCFURL(t,e),{method:"GET"})}list({limit:t,query:e,request:o={}}={}){return this._transport.send("v1/contacts",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e)]})}listByLabel(t,{limit:e,request:o={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/contacts",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/contacts",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var y=class{constructor(t){this._transport=t}get(t,{include:e,request:o={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...o,method:"GET",searchParams:[...this._transport.includeQuery(e??{})]})}list({limit:t,filter:e,include:o,request:n={}}={}){return this._transport.send("v1/conversations",{...n,method:"GET",searchParams:[...this._transport.limitQuery(t),...e?[["filter",e]]:[],...this._transport.includeQuery(o??{})]})}listByLabel(t,{limit:e,request:o={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/conversations",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}listByContact(t,{limit:e,request:o={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/conversations",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/conversations",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}delete(t,{request:e={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var S=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,query:e,include:o,request:n={}}={}){return this._transport.send("v1/labels",{...n,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e),...this._transport.includeQuery(o??{})]})}listByContact(t,{limit:e,request:o={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/labels",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}listByConversation(t,{limit:e,request:o={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/labels",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/labels",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}delete(t,{request:e={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var U=class{constructor(t){this._transport=t}list({limit:t,include:e,request:o={}}={}){return this._transport.send("v1/messages",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.includeQuery(e??{})]})}listByConversation(t,{limit:e,include:o,request:n={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/messages",{...n,method:"GET",searchParams:[...this._transport.limitQuery(e),...this._transport.includeQuery(o??{})]})}listByChannel(t,{limit:e,include:o,request:n={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/messages",{...n,method:"GET",searchParams:[...this._transport.limitQuery(e),...this._transport.includeQuery(o)]})}create({body:t,request:e={}}){return this._transport.send("v1/messages",{...e,method:"POST",json:t})}delete(t,{request:e={}}={}){return this._transport.send("v1/messages/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var E=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/models/"+encodeURIComponent(t),{...e,method:"GET"})}list({request:t={}}={}){return this._transport.send("v1/models",{...t,method:"GET"})}createResponse(t,{body:e,request:o={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/response",{...o,method:"POST",timeout:12e4,json:e})}createCorrection(t,{body:e,request:o={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/correction",{...o,method:"POST",json:e})}};var G=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...e,method:"GET"})}listByContact(t,{request:e={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...e,method:"GET"})}listByConversation(t,{request:e={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...e,method:"GET"})}createForContact(t,{body:e,request:o={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...o,method:"POST",json:e})}createForConversation(t,{body:e,request:o={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...o,method:"POST",json:e})}update(t,{body:e,request:o={}}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var D=class{constructor(t){this._transport=t}create(t,{body:e,request:o={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notification-subscriptions",{...o,method:"POST",json:e})}};var w=class r{constructor(t=r.STANDARD_HEADERS){this._standardHeaders=t}static STANDARD_HEADERS=z;async filter(){return{headers:this.getHeaders()}}getHeaders(){return this._standardHeaders}};var P=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/sources/"+encodeURIComponent(t),{...e,method:"GET"})}list({featured:t,category:e,request:o={}}={}){let n=[];if(e){let p=Array.isArray(e)?e:[e];for(let f of p)n.push(["category",f])}return t!==void 0&&n.push(["featured",String(t)]),this._transport.send("v1/sources",{...o,method:"GET",searchParams:n})}};var B=class{constructor(t){this._transport=t}getMessageFrequency({request:t={}}={}){return this._transport.send("v1/statistics/message-frequency",{...t,method:"GET"})}getChannelMessageFrequency(t,{request:e={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/statistics/message-frequency",{...e,method:"GET"})}};var tt=Y(require("is-network-error"),1),q=Y(require("ky"),1);var i=class extends Error{static serverError(t){return new this("Server Error: "+t)}};var c=class extends i{};var l=class extends c{static unauthenticated(){return new this("An unauthenticated request occurred")}};var d=class extends c{static forbidden(){return new this("A forbidden request occurred")}};var a=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 u=class extends i{};var m=class extends i{static badRequest(){return new this("Bad request")}static unsupportedMediaType(){return new this("Unsupported Media Type")}};var M=class{client;options;constructor({baseURL:t,...e}){this.options={...e,baseURL:t},this.client=q.default.create({prefixUrl:this.options.baseURL,timeout:12e3,hooks:{beforeRequest:[o=>{for(let n of this.options.requestFilterables){let p=n.getHeaders();for(let[f,et]of Object.entries(p))o.headers.has(f)||o.headers.set(f,et)}}]}})}getURL(t){return new URL(t,this.options.baseURL).toString()}sortQuery(t){let e=[];if(t===void 0)return e;for(let[o,n]of Object.entries(t))n!==void 0&&e.push(["sort",n+o]);return e}limitQuery(t){let e=[];return t===void 0||e.push(["limit",t.toString()]),e}includeQuery(t){let e=[];if(t===void 0)return e;for(let o of Object.keys(t))e.push(["include",o]);return e}queryQuery(t){let e=[];return t===void 0||e.push(["query",t]),e}send(t,e={}){let o=this.client(t,e).catch(n=>{if((0,tt.default)(n))throw new u("A network error occurred",{cause:n});if(n instanceof q.HTTPError){let p=n.response.status;switch(console.error(JSON.stringify(n.response)),p){case 400:throw m.badRequest();case 401:throw l.unauthenticated();case 403:throw d.forbidden();case 404:throw a.notFound(t);case 405:throw a.forbiddenMethod(t,e.method??"GET");case 415:throw m.unsupportedMediaType();case 418:throw a.teapot();case 429:throw a.rateLimited()}if(p>=500&&p<600)throw i.serverError(p)}throw n});return{response:()=>o,json:async()=>(await o).json()}}};var F=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/uploads/"+encodeURIComponent(t),{...e,method:"GET"})}create({account:t,files:e,request:o={}}){let n=new FormData;for(let p of e)n.append("file",p);return this._transport.send("v1/uploads",{...o,method:"POST",body:n,searchParams:{account:t}})}delete(t,{request:e={}}={}){return this._transport.send("v1/uploads/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var s=require("zod");var N=class r{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("accountAccessToken.created"),s.z.literal("accountAccessToken.deleted")]),payload:s.z.object({accountAccessToken: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()})})]))})});constructor(){}async event({key:t=process.env[H],maxSignatures:e=3,request:o}){let n=o.headers["gds-signature"];if(t!==!1){if(t===void 0)throw new Error("Missing webhook signing key in process.env."+H);if(!n)throw new Error("Missing signature header");if(!this._verifySignature(t,o.body,Array.isArray(n)?n.slice(0,e):[n]))throw new Error("Untrusted signature")}let{data:p}=r.SCHEMA.parse(o.body);return{event:p.event}}async _verifySignature(t,e,o){let n=await crypto.subtle.importKey("raw",new TextEncoder().encode(t),{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"]);for(let p of o)if(await crypto.subtle.verify("HMAC",n,new TextEncoder().encode(atob(p)),new TextEncoder().encode(JSON.stringify(e))))return!0;return!1}};var k=class{constructor(t){this._transport=t}getNotifications({request:t={}}={}){return this._transport.send(".well-known/notifications",{...t,method:"GET"})}};var C=class r{static DEFAULT_BASE_URL=Q;static PublicAuthentication=b;static BasicAuthentication=x;static BearerAuthentication=v;_transport;account;accountAccessToken;accountConversationSettings;action;boilerplateCategory;boilerplateContent;channel;compositionSection;contact;conversation;label;message;model;note;notificationSubscription;source;statistics;upload;webhook;wellKnown;constructor(t,{baseURL:e,...o}={}){this._transport=new M({requestFilterables:[new w,t],...o,baseURL:e?.toString()??r.getBaseURL()}),this.account=new h(this._transport),this.accountAccessToken=new R(this._transport),this.accountConversationSettings=new O(this._transport),this.action=new g(this._transport),this.boilerplateCategory=new _(this._transport),this.boilerplateContent=new L(this._transport),this.channel=new A(this._transport),this.compositionSection=new I(this._transport),this.contact=new T(this._transport),this.conversation=new y(this._transport),this.label=new S(this._transport),this.message=new U(this._transport),this.model=new E(this._transport),this.note=new G(this._transport),this.notificationSubscription=new D(this._transport),this.source=new P(this._transport),this.statistics=new B(this._transport),this.upload=new F(this._transport),this.webhook=new N,this.wellKnown=new k(this._transport)}static getBaseURL(){return process.env[Z]??this.DEFAULT_BASE_URL}};var V={};K(V,{AuthError:()=>c,AuthenticationError:()=>l,AuthorizationError:()=>d,LogicError:()=>a,NetworkError:()=>u,SupportError:()=>i,ValidationError:()=>m});0&&(module.exports={Client,DEFAULT_SUPPORT_BASE_URL,Error});
|
package/dist/index.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { A as Account, i as AccountAccessToken, j as AccountAccessTokenID, s as AccountConversationSettings, b as AccountID, y as Action, z as ActionID, Z as BoilerplateCategory, _ as BoilerplateCategoryID, F as BoilerplateContent, H as BoilerplateContentID, aa as Channel, ab as ChannelID, C as Client, ar as CompositionSection, as as CompositionSectionID, aF as Contact, aG as ContactID, aV as Conversation, aW as ConversationID, l as CreateAccountAccessTokenOptions, k as CreateAccountAccessTokenPayload, m as CreateAccountAccessTokenResponse, d as CreateAccountOptions, c as CreateAccountPayload, e as CreateAccountResponse, a0 as CreateBoilerplateCategoryOptions, $ as CreateBoilerplateCategoryPayload, a1 as CreateBoilerplateCategoryResponse, J as CreateBoilerplateContentOptions, I as CreateBoilerplateContentPayload, K as CreateBoilerplateContentResponse, ad as CreateChannelOptions, ac as CreateChannelPayload, ae as CreateChannelResponse, au as CreateCompositionSectionOptions, at as CreateCompositionSectionPayload, av as CreateCompositionSectionResponse, c1 as CreateContactNoteOptions, c0 as CreateContactNotePayload, c2 as CreateContactNoteResponse, co as CreateContactNotificationSubscriptionOptions, cn as CreateContactNotificationSubscriptionPayload, cp as CreateContactNotificationSubscriptionResponse, aI as CreateContactOptions, aH as CreateContactPayload, aJ as CreateContactResponse, c4 as CreateConversationNoteOptions, c3 as CreateConversationNotePayload, c5 as CreateConversationNoteResponse, aY as CreateConversationOptions, aX as CreateConversationPayload, aZ as CreateConversationResponse, bR as CreateCorrectionModelOptions, bQ as CreateCorrectionModelPayload, bS as CreateCorrectionResponse, bg as CreateLabelOptions, bf as CreateLabelPayload, bh as CreateLabelResponse, bz as CreateMessageOptions, by as CreateMessagePayload, bA as CreateMessageResponse, bU as CreateResponseModelOptions, bT as CreateResponseModelPayload, bV as CreateResponseResponse, cs as CreateUploadOptions, ct as CreateUploadResponse, n as DeleteAccountAccessTokenOptions, D as DeleteAccountAccessTokenPayload, o as DeleteAccountAccessTokenResponse, a_ as DeleteConversationOptions, a$ as DeleteConversationResponse, bi as DeleteLabelOptions, bj as DeleteLabelResponse, bB as DeleteMessageOptions, bC as DeleteMessageResponse, cu as DeleteUploadOptions, cv as DeleteUploadResponse, b6 as FilterOptions, p as GetAccountAccessTokenOptions, q as GetAccountAccessTokenResponse, t as GetAccountConversationSettingsOptions, u as GetAccountConversationSettingsResponse, G as GetAccountOptions, f as GetAccountResponse, a2 as GetBoilerplateCategoryOptions, a3 as GetBoilerplateCategoryResponse, M as GetBoilerplateContentOptions, N as GetBoilerplateContentResponse, af as GetChannelOptions, ag as GetChannelResponse, aw as GetCompositionSectionOptions, ax as GetCompositionSectionResponse, aK as GetContactIncludeOptions, aL as GetContactOptions, aM as GetContactResponse, aN as GetContactVCFOptions, b0 as GetConversationIncludeOptions, b1 as GetConversationOptions, b2 as GetConversationResponse, bk as GetLabelOptions, bl as GetLabelResponse, bW as GetModelOptions, bX as GetModelResponse, c6 as GetNoteOptions, c7 as GetNoteResponse, cA as GetNotificationWellKnownResponse, ch as GetSourceOptions, ci as GetSourceResponse, cw as GetUploadOptions, cx as GetUploadResponse, be as Label, bm as LabelID, L as ListAccountAccessTokensOptions, r as ListAccountAccessTokensResponse, B as ListActionsOptions, E as ListActionsResponse, a4 as ListBoilerplateCategoriesIncludeOptions, a5 as ListBoilerplateCategoriesOptions, a6 as ListBoilerplateCategoriesResponse, P as ListBoilerplateCategoryBoilerplateContentsOptions, Q as ListBoilerplateCategoryBoilerplateContentsResponse, T as ListBoilerplateContentsOptions, V as ListBoilerplateContentsResponse, ay as ListChannelCompositionSectionsOptions, az as ListChannelCompositionSectionsResponse, bD as ListChannelMessagesIncludeOptions, bE as ListChannelMessagesOptions, bF as ListChannelMessagesResponse, ah as ListChannelsOptions, ai as ListChannelsResponse, aA as ListCompositionSectionsOptions, aB as ListCompositionSectionsResponse, b3 as ListContactConversationsOptions, b4 as ListContactConversationsResponse, bn as ListContactLabelsOptions, bo as ListContactLabelsResponse, c8 as ListContactNotesOptions, c9 as ListContactNotesResponse, aO as ListContactsOptions, aP as ListContactsResponse, bp as ListConversationLabelsOptions, bq as ListConversationLabelsResponse, bG as ListConversationMessagesIncludeOptions, bH as ListConversationMessagesOptions, bI as ListConversationMessagesResponse, ca as ListConversationNotesOptions, cb as ListConversationNotesResponse, b7 as ListConversationOptions, b5 as ListConversationsIncludeOptions, b8 as ListConversationsResponse, aQ as ListLabelContactsOptions, aR as ListLabelContactsResponse, b9 as ListLabelConversationsOptions, ba as ListLabelConversationsResponse, br as ListLabelsIncludeOptions, bs as ListLabelsOptions, bt as ListLabelsResponse, bJ as ListMessagesIncludeOptions, bK as ListMessagesOptions, bL as ListMessagesResponse, bY as ListModelsOptions, bZ as ListModelsResponse, cj as ListSourcesOptions, ck as ListSourcesResponse, bx as Message, bM as MessageID, bN as MessageRole, bO as MessageStatus, aj as MetaWhatsappChannelGetBusinessProfileOptions, ak as MetaWhatsappChannelGetBusinessProfileResponse, bP as Model, b_ as ModelID, b$ as Note, cc as NoteID, cm as NotificationSubscription, cq as NotificationSubscriptionID, O as Options, R as RequestFilterable, S as SortOptions, cg as Source, cl as SourceID, a as TransportOptions, al as TwilioSendChannelSyncPayload, am as TwilioSendgridChannelSyncOptions, an as TwilioSendgridChannelSyncResponse, w as UpdateAccountConversationSettingsOptions, v as UpdateAccountConversationSettingsPayload, x as UpdateAccountConversationSettingsResponse, g as UpdateAccountOptions, U as UpdateAccountPayload, h as UpdateAccountResponse, a8 as UpdateBoilerplateCategoryOptions, a7 as UpdateBoilerplateCategoryPayload, a9 as UpdateBoilerplateCategoryResponse, X as UpdateBoilerplateContentOptions, W as UpdateBoilerplateContentPayload, Y as UpdateBoilerplateContentResponse, ap as UpdateChannelOptions, ao as UpdateChannelPayload, aq as UpdateChannelResponse, aD as UpdateCompositionSectionOptions, aC as UpdateCompositionSectionPayload, aE as UpdateCompositionSectionResponse, aT as UpdateContactOptions, aS as UpdateContactPayload, aU as UpdateContactResponse, bc as UpdateConversationOptions, bb as UpdateConversationPayload, bd as UpdateConversationResponse, bv as UpdateLabelOptions, bu as UpdateLabelPayload, bw as UpdateLabelResponse, ce as UpdateNoteOptions, cd as UpdateNotePayload, cf as UpdateNoteResponse, cr as Upload, cy as UploadID, cz as WebhookResponse, C as default } from './Client-
|
|
1
|
+
export { A as Account, i as AccountAccessToken, j as AccountAccessTokenID, s as AccountConversationSettings, b as AccountID, y as Action, z as ActionID, Z as BoilerplateCategory, _ as BoilerplateCategoryID, F as BoilerplateContent, H as BoilerplateContentID, aa as Channel, ab as ChannelID, C as Client, ar as CompositionSection, as as CompositionSectionID, aF as Contact, aG as ContactID, aV as Conversation, aW as ConversationID, l as CreateAccountAccessTokenOptions, k as CreateAccountAccessTokenPayload, m as CreateAccountAccessTokenResponse, d as CreateAccountOptions, c as CreateAccountPayload, e as CreateAccountResponse, a0 as CreateBoilerplateCategoryOptions, $ as CreateBoilerplateCategoryPayload, a1 as CreateBoilerplateCategoryResponse, J as CreateBoilerplateContentOptions, I as CreateBoilerplateContentPayload, K as CreateBoilerplateContentResponse, ad as CreateChannelOptions, ac as CreateChannelPayload, ae as CreateChannelResponse, au as CreateCompositionSectionOptions, at as CreateCompositionSectionPayload, av as CreateCompositionSectionResponse, c1 as CreateContactNoteOptions, c0 as CreateContactNotePayload, c2 as CreateContactNoteResponse, co as CreateContactNotificationSubscriptionOptions, cn as CreateContactNotificationSubscriptionPayload, cp as CreateContactNotificationSubscriptionResponse, aI as CreateContactOptions, aH as CreateContactPayload, aJ as CreateContactResponse, c4 as CreateConversationNoteOptions, c3 as CreateConversationNotePayload, c5 as CreateConversationNoteResponse, aY as CreateConversationOptions, aX as CreateConversationPayload, aZ as CreateConversationResponse, bR as CreateCorrectionModelOptions, bQ as CreateCorrectionModelPayload, bS as CreateCorrectionResponse, bg as CreateLabelOptions, bf as CreateLabelPayload, bh as CreateLabelResponse, bz as CreateMessageOptions, by as CreateMessagePayload, bA as CreateMessageResponse, bU as CreateResponseModelOptions, bT as CreateResponseModelPayload, bV as CreateResponseResponse, cs as CreateUploadOptions, ct as CreateUploadResponse, n as DeleteAccountAccessTokenOptions, D as DeleteAccountAccessTokenPayload, o as DeleteAccountAccessTokenResponse, a_ as DeleteConversationOptions, a$ as DeleteConversationResponse, bi as DeleteLabelOptions, bj as DeleteLabelResponse, bB as DeleteMessageOptions, bC as DeleteMessageResponse, cu as DeleteUploadOptions, cv as DeleteUploadResponse, b6 as FilterOptions, p as GetAccountAccessTokenOptions, q as GetAccountAccessTokenResponse, t as GetAccountConversationSettingsOptions, u as GetAccountConversationSettingsResponse, G as GetAccountOptions, f as GetAccountResponse, a2 as GetBoilerplateCategoryOptions, a3 as GetBoilerplateCategoryResponse, M as GetBoilerplateContentOptions, N as GetBoilerplateContentResponse, af as GetChannelOptions, ag as GetChannelResponse, aw as GetCompositionSectionOptions, ax as GetCompositionSectionResponse, aK as GetContactIncludeOptions, aL as GetContactOptions, aM as GetContactResponse, aN as GetContactVCFOptions, b0 as GetConversationIncludeOptions, b1 as GetConversationOptions, b2 as GetConversationResponse, bk as GetLabelOptions, bl as GetLabelResponse, bW as GetModelOptions, bX as GetModelResponse, c6 as GetNoteOptions, c7 as GetNoteResponse, cA as GetNotificationWellKnownResponse, ch as GetSourceOptions, ci as GetSourceResponse, cw as GetUploadOptions, cx as GetUploadResponse, be as Label, bm as LabelID, L as ListAccountAccessTokensOptions, r as ListAccountAccessTokensResponse, B as ListActionsOptions, E as ListActionsResponse, a4 as ListBoilerplateCategoriesIncludeOptions, a5 as ListBoilerplateCategoriesOptions, a6 as ListBoilerplateCategoriesResponse, P as ListBoilerplateCategoryBoilerplateContentsOptions, Q as ListBoilerplateCategoryBoilerplateContentsResponse, T as ListBoilerplateContentsOptions, V as ListBoilerplateContentsResponse, ay as ListChannelCompositionSectionsOptions, az as ListChannelCompositionSectionsResponse, bD as ListChannelMessagesIncludeOptions, bE as ListChannelMessagesOptions, bF as ListChannelMessagesResponse, ah as ListChannelsOptions, ai as ListChannelsResponse, aA as ListCompositionSectionsOptions, aB as ListCompositionSectionsResponse, b3 as ListContactConversationsOptions, b4 as ListContactConversationsResponse, bn as ListContactLabelsOptions, bo as ListContactLabelsResponse, c8 as ListContactNotesOptions, c9 as ListContactNotesResponse, aO as ListContactsOptions, aP as ListContactsResponse, bp as ListConversationLabelsOptions, bq as ListConversationLabelsResponse, bG as ListConversationMessagesIncludeOptions, bH as ListConversationMessagesOptions, bI as ListConversationMessagesResponse, ca as ListConversationNotesOptions, cb as ListConversationNotesResponse, b7 as ListConversationOptions, b5 as ListConversationsIncludeOptions, b8 as ListConversationsResponse, aQ as ListLabelContactsOptions, aR as ListLabelContactsResponse, b9 as ListLabelConversationsOptions, ba as ListLabelConversationsResponse, br as ListLabelsIncludeOptions, bs as ListLabelsOptions, bt as ListLabelsResponse, bJ as ListMessagesIncludeOptions, bK as ListMessagesOptions, bL as ListMessagesResponse, bY as ListModelsOptions, bZ as ListModelsResponse, cj as ListSourcesOptions, ck as ListSourcesResponse, bx as Message, bM as MessageID, bN as MessageRole, bO as MessageStatus, aj as MetaWhatsappChannelGetBusinessProfileOptions, ak as MetaWhatsappChannelGetBusinessProfileResponse, bP as Model, b_ as ModelID, b$ as Note, cc as NoteID, cm as NotificationSubscription, cq as NotificationSubscriptionID, O as Options, R as RequestFilterable, S as SortOptions, cg as Source, cl as SourceID, a as TransportOptions, al as TwilioSendChannelSyncPayload, am as TwilioSendgridChannelSyncOptions, an as TwilioSendgridChannelSyncResponse, w as UpdateAccountConversationSettingsOptions, v as UpdateAccountConversationSettingsPayload, x as UpdateAccountConversationSettingsResponse, g as UpdateAccountOptions, U as UpdateAccountPayload, h as UpdateAccountResponse, a8 as UpdateBoilerplateCategoryOptions, a7 as UpdateBoilerplateCategoryPayload, a9 as UpdateBoilerplateCategoryResponse, X as UpdateBoilerplateContentOptions, W as UpdateBoilerplateContentPayload, Y as UpdateBoilerplateContentResponse, ap as UpdateChannelOptions, ao as UpdateChannelPayload, aq as UpdateChannelResponse, aD as UpdateCompositionSectionOptions, aC as UpdateCompositionSectionPayload, aE as UpdateCompositionSectionResponse, aT as UpdateContactOptions, aS as UpdateContactPayload, aU as UpdateContactResponse, bc as UpdateConversationOptions, bb as UpdateConversationPayload, bd as UpdateConversationResponse, bv as UpdateLabelOptions, bu as UpdateLabelPayload, bw as UpdateLabelResponse, ce as UpdateNoteOptions, cd as UpdateNotePayload, cf as UpdateNoteResponse, cr as Upload, cy as UploadID, cz as WebhookResponse, C as default } from './Client-BfZWvMa5.cjs';
|
|
2
2
|
import 'ky';
|
|
3
3
|
import 'zod';
|
|
4
4
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { A as Account, i as AccountAccessToken, j as AccountAccessTokenID, s as AccountConversationSettings, b as AccountID, y as Action, z as ActionID, Z as BoilerplateCategory, _ as BoilerplateCategoryID, F as BoilerplateContent, H as BoilerplateContentID, aa as Channel, ab as ChannelID, C as Client, ar as CompositionSection, as as CompositionSectionID, aF as Contact, aG as ContactID, aV as Conversation, aW as ConversationID, l as CreateAccountAccessTokenOptions, k as CreateAccountAccessTokenPayload, m as CreateAccountAccessTokenResponse, d as CreateAccountOptions, c as CreateAccountPayload, e as CreateAccountResponse, a0 as CreateBoilerplateCategoryOptions, $ as CreateBoilerplateCategoryPayload, a1 as CreateBoilerplateCategoryResponse, J as CreateBoilerplateContentOptions, I as CreateBoilerplateContentPayload, K as CreateBoilerplateContentResponse, ad as CreateChannelOptions, ac as CreateChannelPayload, ae as CreateChannelResponse, au as CreateCompositionSectionOptions, at as CreateCompositionSectionPayload, av as CreateCompositionSectionResponse, c1 as CreateContactNoteOptions, c0 as CreateContactNotePayload, c2 as CreateContactNoteResponse, co as CreateContactNotificationSubscriptionOptions, cn as CreateContactNotificationSubscriptionPayload, cp as CreateContactNotificationSubscriptionResponse, aI as CreateContactOptions, aH as CreateContactPayload, aJ as CreateContactResponse, c4 as CreateConversationNoteOptions, c3 as CreateConversationNotePayload, c5 as CreateConversationNoteResponse, aY as CreateConversationOptions, aX as CreateConversationPayload, aZ as CreateConversationResponse, bR as CreateCorrectionModelOptions, bQ as CreateCorrectionModelPayload, bS as CreateCorrectionResponse, bg as CreateLabelOptions, bf as CreateLabelPayload, bh as CreateLabelResponse, bz as CreateMessageOptions, by as CreateMessagePayload, bA as CreateMessageResponse, bU as CreateResponseModelOptions, bT as CreateResponseModelPayload, bV as CreateResponseResponse, cs as CreateUploadOptions, ct as CreateUploadResponse, n as DeleteAccountAccessTokenOptions, D as DeleteAccountAccessTokenPayload, o as DeleteAccountAccessTokenResponse, a_ as DeleteConversationOptions, a$ as DeleteConversationResponse, bi as DeleteLabelOptions, bj as DeleteLabelResponse, bB as DeleteMessageOptions, bC as DeleteMessageResponse, cu as DeleteUploadOptions, cv as DeleteUploadResponse, b6 as FilterOptions, p as GetAccountAccessTokenOptions, q as GetAccountAccessTokenResponse, t as GetAccountConversationSettingsOptions, u as GetAccountConversationSettingsResponse, G as GetAccountOptions, f as GetAccountResponse, a2 as GetBoilerplateCategoryOptions, a3 as GetBoilerplateCategoryResponse, M as GetBoilerplateContentOptions, N as GetBoilerplateContentResponse, af as GetChannelOptions, ag as GetChannelResponse, aw as GetCompositionSectionOptions, ax as GetCompositionSectionResponse, aK as GetContactIncludeOptions, aL as GetContactOptions, aM as GetContactResponse, aN as GetContactVCFOptions, b0 as GetConversationIncludeOptions, b1 as GetConversationOptions, b2 as GetConversationResponse, bk as GetLabelOptions, bl as GetLabelResponse, bW as GetModelOptions, bX as GetModelResponse, c6 as GetNoteOptions, c7 as GetNoteResponse, cA as GetNotificationWellKnownResponse, ch as GetSourceOptions, ci as GetSourceResponse, cw as GetUploadOptions, cx as GetUploadResponse, be as Label, bm as LabelID, L as ListAccountAccessTokensOptions, r as ListAccountAccessTokensResponse, B as ListActionsOptions, E as ListActionsResponse, a4 as ListBoilerplateCategoriesIncludeOptions, a5 as ListBoilerplateCategoriesOptions, a6 as ListBoilerplateCategoriesResponse, P as ListBoilerplateCategoryBoilerplateContentsOptions, Q as ListBoilerplateCategoryBoilerplateContentsResponse, T as ListBoilerplateContentsOptions, V as ListBoilerplateContentsResponse, ay as ListChannelCompositionSectionsOptions, az as ListChannelCompositionSectionsResponse, bD as ListChannelMessagesIncludeOptions, bE as ListChannelMessagesOptions, bF as ListChannelMessagesResponse, ah as ListChannelsOptions, ai as ListChannelsResponse, aA as ListCompositionSectionsOptions, aB as ListCompositionSectionsResponse, b3 as ListContactConversationsOptions, b4 as ListContactConversationsResponse, bn as ListContactLabelsOptions, bo as ListContactLabelsResponse, c8 as ListContactNotesOptions, c9 as ListContactNotesResponse, aO as ListContactsOptions, aP as ListContactsResponse, bp as ListConversationLabelsOptions, bq as ListConversationLabelsResponse, bG as ListConversationMessagesIncludeOptions, bH as ListConversationMessagesOptions, bI as ListConversationMessagesResponse, ca as ListConversationNotesOptions, cb as ListConversationNotesResponse, b7 as ListConversationOptions, b5 as ListConversationsIncludeOptions, b8 as ListConversationsResponse, aQ as ListLabelContactsOptions, aR as ListLabelContactsResponse, b9 as ListLabelConversationsOptions, ba as ListLabelConversationsResponse, br as ListLabelsIncludeOptions, bs as ListLabelsOptions, bt as ListLabelsResponse, bJ as ListMessagesIncludeOptions, bK as ListMessagesOptions, bL as ListMessagesResponse, bY as ListModelsOptions, bZ as ListModelsResponse, cj as ListSourcesOptions, ck as ListSourcesResponse, bx as Message, bM as MessageID, bN as MessageRole, bO as MessageStatus, aj as MetaWhatsappChannelGetBusinessProfileOptions, ak as MetaWhatsappChannelGetBusinessProfileResponse, bP as Model, b_ as ModelID, b$ as Note, cc as NoteID, cm as NotificationSubscription, cq as NotificationSubscriptionID, O as Options, R as RequestFilterable, S as SortOptions, cg as Source, cl as SourceID, a as TransportOptions, al as TwilioSendChannelSyncPayload, am as TwilioSendgridChannelSyncOptions, an as TwilioSendgridChannelSyncResponse, w as UpdateAccountConversationSettingsOptions, v as UpdateAccountConversationSettingsPayload, x as UpdateAccountConversationSettingsResponse, g as UpdateAccountOptions, U as UpdateAccountPayload, h as UpdateAccountResponse, a8 as UpdateBoilerplateCategoryOptions, a7 as UpdateBoilerplateCategoryPayload, a9 as UpdateBoilerplateCategoryResponse, X as UpdateBoilerplateContentOptions, W as UpdateBoilerplateContentPayload, Y as UpdateBoilerplateContentResponse, ap as UpdateChannelOptions, ao as UpdateChannelPayload, aq as UpdateChannelResponse, aD as UpdateCompositionSectionOptions, aC as UpdateCompositionSectionPayload, aE as UpdateCompositionSectionResponse, aT as UpdateContactOptions, aS as UpdateContactPayload, aU as UpdateContactResponse, bc as UpdateConversationOptions, bb as UpdateConversationPayload, bd as UpdateConversationResponse, bv as UpdateLabelOptions, bu as UpdateLabelPayload, bw as UpdateLabelResponse, ce as UpdateNoteOptions, cd as UpdateNotePayload, cf as UpdateNoteResponse, cr as Upload, cy as UploadID, cz as WebhookResponse, C as default } from './Client-
|
|
1
|
+
export { A as Account, i as AccountAccessToken, j as AccountAccessTokenID, s as AccountConversationSettings, b as AccountID, y as Action, z as ActionID, Z as BoilerplateCategory, _ as BoilerplateCategoryID, F as BoilerplateContent, H as BoilerplateContentID, aa as Channel, ab as ChannelID, C as Client, ar as CompositionSection, as as CompositionSectionID, aF as Contact, aG as ContactID, aV as Conversation, aW as ConversationID, l as CreateAccountAccessTokenOptions, k as CreateAccountAccessTokenPayload, m as CreateAccountAccessTokenResponse, d as CreateAccountOptions, c as CreateAccountPayload, e as CreateAccountResponse, a0 as CreateBoilerplateCategoryOptions, $ as CreateBoilerplateCategoryPayload, a1 as CreateBoilerplateCategoryResponse, J as CreateBoilerplateContentOptions, I as CreateBoilerplateContentPayload, K as CreateBoilerplateContentResponse, ad as CreateChannelOptions, ac as CreateChannelPayload, ae as CreateChannelResponse, au as CreateCompositionSectionOptions, at as CreateCompositionSectionPayload, av as CreateCompositionSectionResponse, c1 as CreateContactNoteOptions, c0 as CreateContactNotePayload, c2 as CreateContactNoteResponse, co as CreateContactNotificationSubscriptionOptions, cn as CreateContactNotificationSubscriptionPayload, cp as CreateContactNotificationSubscriptionResponse, aI as CreateContactOptions, aH as CreateContactPayload, aJ as CreateContactResponse, c4 as CreateConversationNoteOptions, c3 as CreateConversationNotePayload, c5 as CreateConversationNoteResponse, aY as CreateConversationOptions, aX as CreateConversationPayload, aZ as CreateConversationResponse, bR as CreateCorrectionModelOptions, bQ as CreateCorrectionModelPayload, bS as CreateCorrectionResponse, bg as CreateLabelOptions, bf as CreateLabelPayload, bh as CreateLabelResponse, bz as CreateMessageOptions, by as CreateMessagePayload, bA as CreateMessageResponse, bU as CreateResponseModelOptions, bT as CreateResponseModelPayload, bV as CreateResponseResponse, cs as CreateUploadOptions, ct as CreateUploadResponse, n as DeleteAccountAccessTokenOptions, D as DeleteAccountAccessTokenPayload, o as DeleteAccountAccessTokenResponse, a_ as DeleteConversationOptions, a$ as DeleteConversationResponse, bi as DeleteLabelOptions, bj as DeleteLabelResponse, bB as DeleteMessageOptions, bC as DeleteMessageResponse, cu as DeleteUploadOptions, cv as DeleteUploadResponse, b6 as FilterOptions, p as GetAccountAccessTokenOptions, q as GetAccountAccessTokenResponse, t as GetAccountConversationSettingsOptions, u as GetAccountConversationSettingsResponse, G as GetAccountOptions, f as GetAccountResponse, a2 as GetBoilerplateCategoryOptions, a3 as GetBoilerplateCategoryResponse, M as GetBoilerplateContentOptions, N as GetBoilerplateContentResponse, af as GetChannelOptions, ag as GetChannelResponse, aw as GetCompositionSectionOptions, ax as GetCompositionSectionResponse, aK as GetContactIncludeOptions, aL as GetContactOptions, aM as GetContactResponse, aN as GetContactVCFOptions, b0 as GetConversationIncludeOptions, b1 as GetConversationOptions, b2 as GetConversationResponse, bk as GetLabelOptions, bl as GetLabelResponse, bW as GetModelOptions, bX as GetModelResponse, c6 as GetNoteOptions, c7 as GetNoteResponse, cA as GetNotificationWellKnownResponse, ch as GetSourceOptions, ci as GetSourceResponse, cw as GetUploadOptions, cx as GetUploadResponse, be as Label, bm as LabelID, L as ListAccountAccessTokensOptions, r as ListAccountAccessTokensResponse, B as ListActionsOptions, E as ListActionsResponse, a4 as ListBoilerplateCategoriesIncludeOptions, a5 as ListBoilerplateCategoriesOptions, a6 as ListBoilerplateCategoriesResponse, P as ListBoilerplateCategoryBoilerplateContentsOptions, Q as ListBoilerplateCategoryBoilerplateContentsResponse, T as ListBoilerplateContentsOptions, V as ListBoilerplateContentsResponse, ay as ListChannelCompositionSectionsOptions, az as ListChannelCompositionSectionsResponse, bD as ListChannelMessagesIncludeOptions, bE as ListChannelMessagesOptions, bF as ListChannelMessagesResponse, ah as ListChannelsOptions, ai as ListChannelsResponse, aA as ListCompositionSectionsOptions, aB as ListCompositionSectionsResponse, b3 as ListContactConversationsOptions, b4 as ListContactConversationsResponse, bn as ListContactLabelsOptions, bo as ListContactLabelsResponse, c8 as ListContactNotesOptions, c9 as ListContactNotesResponse, aO as ListContactsOptions, aP as ListContactsResponse, bp as ListConversationLabelsOptions, bq as ListConversationLabelsResponse, bG as ListConversationMessagesIncludeOptions, bH as ListConversationMessagesOptions, bI as ListConversationMessagesResponse, ca as ListConversationNotesOptions, cb as ListConversationNotesResponse, b7 as ListConversationOptions, b5 as ListConversationsIncludeOptions, b8 as ListConversationsResponse, aQ as ListLabelContactsOptions, aR as ListLabelContactsResponse, b9 as ListLabelConversationsOptions, ba as ListLabelConversationsResponse, br as ListLabelsIncludeOptions, bs as ListLabelsOptions, bt as ListLabelsResponse, bJ as ListMessagesIncludeOptions, bK as ListMessagesOptions, bL as ListMessagesResponse, bY as ListModelsOptions, bZ as ListModelsResponse, cj as ListSourcesOptions, ck as ListSourcesResponse, bx as Message, bM as MessageID, bN as MessageRole, bO as MessageStatus, aj as MetaWhatsappChannelGetBusinessProfileOptions, ak as MetaWhatsappChannelGetBusinessProfileResponse, bP as Model, b_ as ModelID, b$ as Note, cc as NoteID, cm as NotificationSubscription, cq as NotificationSubscriptionID, O as Options, R as RequestFilterable, S as SortOptions, cg as Source, cl as SourceID, a as TransportOptions, al as TwilioSendChannelSyncPayload, am as TwilioSendgridChannelSyncOptions, an as TwilioSendgridChannelSyncResponse, w as UpdateAccountConversationSettingsOptions, v as UpdateAccountConversationSettingsPayload, x as UpdateAccountConversationSettingsResponse, g as UpdateAccountOptions, U as UpdateAccountPayload, h as UpdateAccountResponse, a8 as UpdateBoilerplateCategoryOptions, a7 as UpdateBoilerplateCategoryPayload, a9 as UpdateBoilerplateCategoryResponse, X as UpdateBoilerplateContentOptions, W as UpdateBoilerplateContentPayload, Y as UpdateBoilerplateContentResponse, ap as UpdateChannelOptions, ao as UpdateChannelPayload, aq as UpdateChannelResponse, aD as UpdateCompositionSectionOptions, aC as UpdateCompositionSectionPayload, aE as UpdateCompositionSectionResponse, aT as UpdateContactOptions, aS as UpdateContactPayload, aU as UpdateContactResponse, bc as UpdateConversationOptions, bb as UpdateConversationPayload, bd as UpdateConversationResponse, bv as UpdateLabelOptions, bu as UpdateLabelPayload, bw as UpdateLabelResponse, ce as UpdateNoteOptions, cd as UpdateNotePayload, cf as UpdateNoteResponse, cr as Upload, cy as UploadID, cz as WebhookResponse, C as default } from './Client-BfZWvMa5.js';
|
|
2
2
|
import 'ky';
|
|
3
3
|
import 'zod';
|
|
4
4
|
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as s,c as l,d as o,e as r,f as t,g as e,h as p,i as f,j as m,k as x}from"./chunk-
|
|
1
|
+
import{a as s,c as l,d as o,e as r,f as t,g as e,h as p,i as f,j as m,k as x}from"./chunk-TYWSBZE2.js";var a={};s(a,{AuthError:()=>r,AuthenticationError:()=>t,AuthorizationError:()=>e,LogicError:()=>p,NetworkError:()=>f,SupportError:()=>o,ValidationError:()=>m});export{x as Client,l as DEFAULT_SUPPORT_BASE_URL,a as Error,x as default};
|
package/package.json
CHANGED
package/dist/chunk-CBX4D3XB.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var $=Object.defineProperty;var Z=(r,t)=>{for(var e in t)$(r,e,{get:t[e],enumerable:!0})};var d=class{getHeaders(){return{}}};var Q="SUPPORT_ACCESS_TOKEN",H="SUPPORT_KEY_NAME",q="SUPPORT_KEY_PASSWORD",j="SUPPORT_SIGNING_KEY",V="SUPPORT_BASE_URL";var u=class{name;#t;constructor({name:t=process.env[H],password:e=process.env[q]}={}){if(!t)throw new Error("Name option must be specified when using Basic Authentication");if(!e)throw new Error("Password option must be specified when using Basic Authentication");this.name=t,this.#t=e}getHeaders(){return{Authorization:`Basic ${btoa(this.name+":"+this.#t)}`}}};var h=class{#t;constructor({token:t=process.env[Q]}={}){if(!t)throw new Error("Access Token option must be specified when using Token Authentication");this.#t=t}getHeaders(){return{Authorization:`Bearer ${this.#t}`}}};var K="https://api.support.greatdetail.com",W={"X-Powered-By":"GDSupport/JavaScript"};import{z as s}from"zod";var C=class r{static SCHEMA=s.object({data:s.object({event:s.intersection(s.object({id:s.string(),createdAt:s.string().datetime()}),s.union([s.object({type:s.union([s.literal("account.created"),s.literal("account.updated")]),payload:s.object({account:s.string()})}),s.object({type:s.union([s.literal("accountAccessToken.created"),s.literal("accountAccessToken.deleted")]),payload:s.object({accountAccessToken:s.string()})}),s.object({type:s.union([s.literal("contact.created"),s.literal("contact.updated")]),payload:s.object({contact:s.string()})}),s.object({type:s.union([s.literal("conversation.created"),s.literal("conversation.updated"),s.literal("conversation.closed"),s.literal("conversation.received"),s.literal("conversation.resolved"),s.literal("conversation.sent")]),payload:s.object({conversation:s.string()})}),s.object({type:s.union([s.literal("message.created"),s.literal("message.updated"),s.literal("message.delivered"),s.literal("message.failed"),s.literal("message.read"),s.literal("message.received"),s.literal("message.sent")]),payload:s.object({message:s.string()})})]))})});constructor(){}async event({key:t=process.env[j],maxSignatures:e=3,request:o}){let n=o.headers["gds-signature"];if(t!==!1){if(t===void 0)throw new Error("Missing webhook signing key in process.env."+j);if(!n)throw new Error("Missing signature header");if(!this._verifySignature(t,o.body,Array.isArray(n)?n.slice(0,e):[n]))throw new Error("Untrusted signature")}let{data:i}=r.SCHEMA.parse(o.body);return{event:i.event}}async _verifySignature(t,e,o){let n=await crypto.subtle.importKey("raw",new TextEncoder().encode(t),{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"]);for(let i of o)if(await crypto.subtle.verify("HMAC",n,new TextEncoder().encode(atob(i)),new TextEncoder().encode(JSON.stringify(e))))return!0;return!1}};var f=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t),{...e,method:"GET"})}update(t,{body:e,request:o={}}){return this._transport.send("v1/accounts/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}create({body:t,request:e={}}){return this._transport.send("v1/accounts",{...e,method:"POST",json:t})}};var R=class{constructor(t){this._transport=t}get(t,e,{request:o={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/access-tokens/"+encodeURIComponent(e),{...o,method:"GET"})}list(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/access-tokens",{...e,method:"GET"})}delete(t,e,{body:o,request:n={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/access-tokens/"+encodeURIComponent(e),{...n,method:"DELETE",json:o})}create(t,{body:e={},request:o={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/access-tokens",{...o,method:"POST",json:e})}};var O=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/conversation-settings",{...e,method:"GET"})}update(t,{body:e,request:o={}}){return this._transport.send("v1/accounts/"+encodeURIComponent(t)+"/conversation-settings",{...o,method:"PATCH",json:e})}};var g=class{constructor(t){this._transport=t}list({limit:t,sort:e,request:o={}}={}){return this._transport.send("v1/actions",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.sortQuery(e)]})}};var v=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/boilerplates/categories/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,include:e,request:o={}}={}){return this._transport.send("v1/boilerplates/categories",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.includeQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/boilerplates/categories",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/boilerplates/categories/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var b=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/boilerplates/contents/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,query:e,request:o={}}={}){return this._transport.send("v1/boilerplates/contents",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e)]})}listByCategory=this.listByBoilerplateCategory;listByBoilerplateCategory(t,{limit:e,request:o={}}={}){return this._transport.send("v1/boilerplates/categories/"+encodeURIComponent(t)+"/contents",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/boilerplates/contents",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/boilerplates/contents/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var _=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,request:e={}}={}){return this._transport.send("v1/channels",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}update(t,{body:e,request:o={}}){return this._transport.send("v1/channels/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}create({body:t,request:e={}}){return this._transport.send("v1/channels",{...e,method:"POST",json:t})}metaWhatsappGetBusinessProfile(t,{request:e={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/meta-whatsapp/business-profile",{...e,method:"GET"})}twilioSendgridChannelSync(t,{body:e,request:o={}}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/twilio-sendgrid/sync",{...o,method:"POST",json:e})}};var L=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/composition-sections/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,request:e={}}={}){return this._transport.send("v1/composition-sections",{...e,method:"GET",searchParams:[...this._transport.limitQuery(t)]})}listByChannel(t,{limit:e,request:o={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/composition-sections",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/composition-sections",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/composition-sections/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var I=class{constructor(t){this._transport=t}get(t,{include:e,request:o={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...o,method:"GET",searchParams:[...this._transport.includeQuery(e??{})]})}getVCFURL(t,{vcf:e={}}){let o=e.variant??"vcard",n=e.format??(o==="vcard"?"vcf":"json"),i="v1/contacts/"+encodeURIComponent(t)+"/vcf?variant="+encodeURIComponent(o)+"&format="+encodeURIComponent(n);return this._transport.getURL(i)}getVCF(t,e={}){return this._transport.send(this.getVCFURL(t,e),{method:"GET"})}list({limit:t,query:e,request:o={}}={}){return this._transport.send("v1/contacts",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e)]})}listByLabel(t,{limit:e,request:o={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/contacts",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/contacts",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var A=class{constructor(t){this._transport=t}get(t,{include:e,request:o={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...o,method:"GET",searchParams:[...this._transport.includeQuery(e??{})]})}list({limit:t,filter:e,include:o,request:n={}}={}){return this._transport.send("v1/conversations",{...n,method:"GET",searchParams:[...this._transport.limitQuery(t),...e?[["filter",e]]:[],...this._transport.includeQuery(o??{})]})}listByLabel(t,{limit:e,request:o={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t)+"/conversations",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}listByContact(t,{limit:e,request:o={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/conversations",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/conversations",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}delete(t,{request:e={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var T=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...e,method:"GET"})}list({limit:t,query:e,include:o,request:n={}}={}){return this._transport.send("v1/labels",{...n,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.queryQuery(e),...this._transport.includeQuery(o??{})]})}listByContact(t,{limit:e,request:o={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/labels",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}listByConversation(t,{limit:e,request:o={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/labels",{...o,method:"GET",searchParams:[...this._transport.limitQuery(e)]})}create({body:t,request:e={}}){return this._transport.send("v1/labels",{...e,method:"POST",json:t})}update(t,{body:e,request:o={}}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}delete(t,{request:e={}}={}){return this._transport.send("v1/labels/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var y=class{constructor(t){this._transport=t}list({limit:t,include:e,request:o={}}={}){return this._transport.send("v1/messages",{...o,method:"GET",searchParams:[...this._transport.limitQuery(t),...this._transport.includeQuery(e??{})]})}listByConversation(t,{limit:e,include:o,request:n={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/messages",{...n,method:"GET",searchParams:[...this._transport.limitQuery(e),...this._transport.includeQuery(o??{})]})}listByChannel(t,{limit:e,include:o,request:n={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/messages",{...n,method:"GET",searchParams:[...this._transport.limitQuery(e),...this._transport.includeQuery(o)]})}create({body:t,request:e={}}){return this._transport.send("v1/messages",{...e,method:"POST",json:t})}delete(t,{request:e={}}={}){return this._transport.send("v1/messages/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var S=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/models/"+encodeURIComponent(t),{...e,method:"GET"})}list({request:t={}}={}){return this._transport.send("v1/models",{...t,method:"GET"})}createResponse(t,{body:e,request:o={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/response",{...o,method:"POST",timeout:12e4,json:e})}createCorrection(t,{body:e,request:o={}}){return this._transport.send("v1/models/"+encodeURIComponent(t)+"/correction",{...o,method:"POST",json:e})}};var U=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...e,method:"GET"})}listByContact(t,{request:e={}}={}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...e,method:"GET"})}listByConversation(t,{request:e={}}={}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...e,method:"GET"})}createForContact(t,{body:e,request:o={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notes",{...o,method:"POST",json:e})}createForConversation(t,{body:e,request:o={}}){return this._transport.send("v1/conversations/"+encodeURIComponent(t)+"/notes",{...o,method:"POST",json:e})}update(t,{body:e,request:o={}}){return this._transport.send("v1/notes/"+encodeURIComponent(t),{...o,method:"PATCH",json:e})}};var G=class{constructor(t){this._transport=t}create(t,{body:e,request:o={}}){return this._transport.send("v1/contacts/"+encodeURIComponent(t)+"/notification-subscriptions",{...o,method:"POST",json:e})}};var D=class r{constructor(t=r.STANDARD_HEADERS){this._standardHeaders=t}static STANDARD_HEADERS=W;async filter(){return{headers:this.getHeaders()}}getHeaders(){return this._standardHeaders}};var E=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/sources/"+encodeURIComponent(t),{...e,method:"GET"})}list({featured:t,category:e,request:o={}}={}){let n=[];if(e){let i=Array.isArray(e)?e:[e];for(let l of i)n.push(["category",l])}return t!==void 0&&n.push(["featured",String(t)]),this._transport.send("v1/sources",{...o,method:"GET",searchParams:n})}};var w=class{constructor(t){this._transport=t}getMessageFrequency({request:t={}}={}){return this._transport.send("v1/statistics/message-frequency",{...t,method:"GET"})}getChannelMessageFrequency(t,{request:e={}}={}){return this._transport.send("v1/channels/"+encodeURIComponent(t)+"/statistics/message-frequency",{...e,method:"GET"})}};import z from"is-network-error";import J,{HTTPError as X}from"ky";var a=class extends Error{static serverError(t){return new this("Server Error: "+t)}};var c=class extends a{};var P=class extends c{static unauthenticated(){return new this("An unauthenticated request occurred")}};var B=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 x=class extends a{};var m=class extends a{static badRequest(){return new this("Bad request")}static unsupportedMediaType(){return new this("Unsupported Media Type")}};var M=class{client;options;constructor({baseURL:t,...e}){this.options={...e,baseURL:t},this.client=J.create({prefixUrl:this.options.baseURL,timeout:12e3,hooks:{beforeRequest:[o=>{for(let n of this.options.requestFilterables){let i=n.getHeaders();for(let[l,Y]of Object.entries(i))o.headers.has(l)||o.headers.set(l,Y)}}]}})}getURL(t){return new URL(t,this.options.baseURL).toString()}sortQuery(t){let e=[];if(t===void 0)return e;for(let[o,n]of Object.entries(t))n!==void 0&&e.push(["sort",n+o]);return e}limitQuery(t){let e=[];return t===void 0||e.push(["limit",t.toString()]),e}includeQuery(t){let e=[];if(t===void 0)return e;for(let o of Object.keys(t))e.push(["include",o]);return e}queryQuery(t){let e=[];return t===void 0||e.push(["query",t]),e}send(t,e={}){let o=this.client(t,e).catch(n=>{if(z(n))throw new x("A network error occurred",{cause:n});if(n instanceof X){let i=n.response.status;switch(console.error(JSON.stringify(n.response)),i){case 400:throw m.badRequest();case 401:throw P.unauthenticated();case 403:throw B.forbidden();case 404:throw p.notFound(t);case 405:throw p.forbiddenMethod(t,e.method??"GET");case 415:throw m.unsupportedMediaType();case 418:throw p.teapot();case 429:throw p.rateLimited()}if(i>=500&&i<600)throw a.serverError(i)}throw n});return{response:()=>o,json:async()=>(await o).json()}}};var F=class{constructor(t){this._transport=t}get(t,{request:e={}}={}){return this._transport.send("v1/uploads/"+encodeURIComponent(t),{...e,method:"GET"})}create({account:t,files:e,request:o={}}){let n=new FormData;for(let i of e)n.append("file",i);return this._transport.send("v1/uploads",{...o,method:"POST",body:n,searchParams:{account:t}})}delete(t,{request:e={}}={}){return this._transport.send("v1/uploads/"+encodeURIComponent(t),{...e,method:"DELETE"})}};var N=class{constructor(t){this._transport=t}getNotifications({request:t={}}={}){return this._transport.send(".well-known/notifications",{...t,method:"GET"})}};var k=class r{static DEFAULT_BASE_URL=K;static PublicAuthentication=d;static BasicAuthentication=u;static BearerAuthentication=h;_transport;account;accountAccessToken;accountConversationSettings;action;boilerplateCategory;boilerplateContent;channel;compositionSection;contact;conversation;label;message;model;note;notificationSubscription;source;statistics;upload;webhook;wellKnown;constructor(t,{baseURL:e,...o}={}){this._transport=new M({requestFilterables:[new D,t],...o,baseURL:e?.toString()??r.getBaseURL()}),this.account=new f(this._transport),this.accountAccessToken=new R(this._transport),this.accountConversationSettings=new O(this._transport),this.action=new g(this._transport),this.boilerplateCategory=new v(this._transport),this.boilerplateContent=new b(this._transport),this.channel=new _(this._transport),this.compositionSection=new L(this._transport),this.contact=new I(this._transport),this.conversation=new A(this._transport),this.label=new T(this._transport),this.message=new y(this._transport),this.model=new S(this._transport),this.note=new U(this._transport),this.notificationSubscription=new G(this._transport),this.source=new E(this._transport),this.statistics=new w(this._transport),this.upload=new F(this._transport),this.webhook=new C,this.wellKnown=new N(this._transport)}static getBaseURL(){return process.env[V]??this.DEFAULT_BASE_URL}};export{Z as a,d as b,K as c,a as d,c as e,P as f,B as g,p as h,x as i,m as j,k};
|