@opens/gateways 1.12.6 → 1.12.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,32 @@
1
+ /** Query parameters for listing chat invitations. */
2
+ interface ListInvitationsRequest {
3
+ opensUserId: string;
4
+ companyId: string;
5
+ replied: boolean;
6
+ expired: boolean;
7
+ }
8
+ /** Request payload for replying to a chat invitation. */
9
+ interface ReplyInvitationRequest {
10
+ id: number;
11
+ }
12
+ /** Chat invitation returned by the Chat Webservice API. */
13
+ interface InvitationResponse {
14
+ id: number;
15
+ chatRoomId: number;
16
+ companyId: string;
17
+ replied: boolean;
18
+ expired: boolean;
19
+ opensUserId: string;
20
+ delegatorId: string;
21
+ type: string;
22
+ expiresAt: string | null;
23
+ createdAt: string;
24
+ updatedAt: string;
25
+ provider: string;
26
+ duration: number;
27
+ roomCreatedAt: string;
28
+ }
29
+
1
30
  /** Query parameters for listing live rooms assigned to a user. */
2
31
  interface ListLiveUserRoomsRequest {
3
32
  recipientId: string;
@@ -94,4 +123,4 @@ interface LiveUserRoomResponse {
94
123
  room: RoomResponse;
95
124
  }
96
125
 
97
- export type { GetRoomByIdRequest, ListLiveUserRoomsRequest, LiveUserRoomResponse, RoomActiveDates, RoomMemberResponse, RoomResponse, RoomTagResponse };
126
+ export type { GetRoomByIdRequest, InvitationResponse, ListInvitationsRequest, ListLiveUserRoomsRequest, LiveUserRoomResponse, ReplyInvitationRequest, RoomActiveDates, RoomMemberResponse, RoomResponse, RoomTagResponse };
@@ -1,3 +1,32 @@
1
+ /** Query parameters for listing chat invitations. */
2
+ interface ListInvitationsRequest {
3
+ opensUserId: string;
4
+ companyId: string;
5
+ replied: boolean;
6
+ expired: boolean;
7
+ }
8
+ /** Request payload for replying to a chat invitation. */
9
+ interface ReplyInvitationRequest {
10
+ id: number;
11
+ }
12
+ /** Chat invitation returned by the Chat Webservice API. */
13
+ interface InvitationResponse {
14
+ id: number;
15
+ chatRoomId: number;
16
+ companyId: string;
17
+ replied: boolean;
18
+ expired: boolean;
19
+ opensUserId: string;
20
+ delegatorId: string;
21
+ type: string;
22
+ expiresAt: string | null;
23
+ createdAt: string;
24
+ updatedAt: string;
25
+ provider: string;
26
+ duration: number;
27
+ roomCreatedAt: string;
28
+ }
29
+
1
30
  /** Query parameters for listing live rooms assigned to a user. */
2
31
  interface ListLiveUserRoomsRequest {
3
32
  recipientId: string;
@@ -94,4 +123,4 @@ interface LiveUserRoomResponse {
94
123
  room: RoomResponse;
95
124
  }
96
125
 
97
- export type { GetRoomByIdRequest, ListLiveUserRoomsRequest, LiveUserRoomResponse, RoomActiveDates, RoomMemberResponse, RoomResponse, RoomTagResponse };
126
+ export type { GetRoomByIdRequest, InvitationResponse, ListInvitationsRequest, ListLiveUserRoomsRequest, LiveUserRoomResponse, ReplyInvitationRequest, RoomActiveDates, RoomMemberResponse, RoomResponse, RoomTagResponse };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/chat-webservice/contracts/index.ts"],"sourcesContent":["export * from './room';\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
1
+ {"version":3,"sources":["../../../src/chat-webservice/contracts/index.ts"],"sourcesContent":["export * from './invitation';\nexport * from './room';\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
package/dist/index.d.mts CHANGED
@@ -11,9 +11,9 @@ import { GetPresignedUrlRequest, UploadPresignedUrlResponse, AudioConvertRespons
11
11
  export { IUploadPresignedUrlResponse } from './assets/contracts/index.mjs';
12
12
  import { GetContactPhonesParams, ContactPhoneSearchResponse, ContactCategoryResponse } from './contact-list/contracts/index.mjs';
13
13
  export { ContactPhoneResponse } from './contact-list/contracts/index.mjs';
14
- import { GetIntegrationPartnersByCompanyRequest, IntegrationPartner, GetCaseWebhooksByCompanyRequest, GetIntegrationHooksCatalogRequest, HookCatalogItem, CreateIntegrationPartnerRequest, CreateCaseWebhookRequest, DeleteIntegrationPartnerParams, CreateIntegrationActionRequest, IntegrationAction, UpdateIntegrationActionParams, CreateIntegrationFieldRequest, IntegrationField, UpdateIntegrationFieldParams, DeleteIntegrationFieldParams, DeleteIntegrationActionParams } from './integrations/contracts/index.mjs';
14
+ import { GetIntegrationPartnersByCompanyRequest, IntegrationPartner, GetWebhooksByCompanyRequest as GetWebhooksByCompanyRequest$1, GetIntegrationHooksCatalogRequest, HookCatalogItem, CreateIntegrationPartnerRequest, CreateWebhookRequest as CreateWebhookRequest$1, DeleteIntegrationPartnerParams, CreateIntegrationActionRequest, IntegrationAction, UpdateIntegrationActionParams, CreateIntegrationFieldRequest, IntegrationField, UpdateIntegrationFieldParams, DeleteIntegrationFieldParams, DeleteIntegrationActionParams } from './integrations/contracts/index.mjs';
15
15
  export { UpdateIntegrationActionRequest, UpdateIntegrationFieldRequest } from './integrations/contracts/index.mjs';
16
- import { ListLiveUserRoomsRequest, LiveUserRoomResponse, GetRoomByIdRequest, RoomResponse } from './chat-webservice/contracts/index.mjs';
16
+ import { ListInvitationsRequest, InvitationResponse, ReplyInvitationRequest, ListLiveUserRoomsRequest, LiveUserRoomResponse, GetRoomByIdRequest, RoomResponse } from './chat-webservice/contracts/index.mjs';
17
17
  export { RoomActiveDates, RoomMemberResponse, RoomTagResponse } from './chat-webservice/contracts/index.mjs';
18
18
  import { ListContactHistoryRequest, ContactHistoryResponse } from './call-report/contracts/index.mjs';
19
19
  export { ContactHistoryIndex, ContactHistorySortOrder, ContactInteractionResponse, InteractionCallStepResponse, InteractionChatStepResponse, InteractionMemberResponse, InteractionOrganizationResponse } from './call-report/contracts/index.mjs';
@@ -289,8 +289,8 @@ declare class IntegrationsGateway {
289
289
  * @returns The integration partners configured for the company.
290
290
  */
291
291
  getPartnersByCompany({ companyId, name }: GetIntegrationPartnersByCompanyRequest): Promise<IntegrationPartner[]>;
292
- /** Retrieves the Casos case webhooks scenario for a company. */
293
- getCaseWebhooksByCompany({ companyId }: GetCaseWebhooksByCompanyRequest): Promise<IntegrationPartner[]>;
292
+ /** Retrieves the webhooks scenario for a company. */
293
+ getWebhooksByCompany(params: GetWebhooksByCompanyRequest$1): Promise<IntegrationPartner[]>;
294
294
  /**
295
295
  * Retrieves the hook catalog, optionally scoped by module.
296
296
  * @param module - The optional module identifier used by the Integrations API filter.
@@ -303,8 +303,8 @@ declare class IntegrationsGateway {
303
303
  * @returns The created integration partner.
304
304
  */
305
305
  createPartner(payload: CreateIntegrationPartnerRequest): Promise<IntegrationPartner>;
306
- /** Creates a case webhook. */
307
- createCaseWebhook(payload: CreateCaseWebhookRequest): Promise<IntegrationPartner>;
306
+ /** Creates a webhook. */
307
+ createWebhook(payload: CreateWebhookRequest$1): Promise<IntegrationPartner>;
308
308
  /**
309
309
  * Deletes an integration partner.
310
310
  * @param partnerId - The partner identifier.
@@ -358,6 +358,18 @@ declare class ChatWebserviceGateway {
358
358
  private readonly httpClient;
359
359
  private readonly baseUrl;
360
360
  constructor(httpClient: AxiosInstance, baseUrl: string);
361
+ /**
362
+ * Lists chat invitations for a user within a company.
363
+ * @param params - The user, company, and invitation status filters.
364
+ * @returns The matching chat invitations.
365
+ */
366
+ listInvitations(params: ListInvitationsRequest): Promise<InvitationResponse[]>;
367
+ /**
368
+ * Replies to a chat invitation.
369
+ * @param payload - The invitation identifier to reply to.
370
+ * @returns The updated chat invitations.
371
+ */
372
+ replyInvitation(payload: ReplyInvitationRequest): Promise<InvitationResponse[]>;
361
373
  /**
362
374
  * Lists live rooms assigned to a user.
363
375
  * @param params - The recipient, company, and open-status filters.
@@ -388,6 +400,28 @@ declare class CallReportGateway {
388
400
  listContactHistory(params?: ListContactHistoryRequest): Promise<ContactHistoryResponse>;
389
401
  }
390
402
 
403
+ /** Request parameters for retrieving the webhooks scenario for a company. */
404
+ interface GetWebhooksByCompanyRequest {
405
+ companyId: string;
406
+ }
407
+ /** Request payload for creating a webhooks scenario. */
408
+ interface CreateWebhookRequest {
409
+ companyId: string;
410
+ baseUrl: string;
411
+ }
412
+ /**
413
+ * Gateway for interacting with the Cases API.
414
+ */
415
+ declare class CasesGateway {
416
+ private readonly httpClient;
417
+ private readonly baseUrl;
418
+ constructor(httpClient: AxiosInstance, baseUrl: string);
419
+ /** Retrieves the webhooks scenario for a company. */
420
+ getWebhooksByCompany(params: GetWebhooksByCompanyRequest): Promise<IntegrationPartner[]>;
421
+ /** Creates a webhook. */
422
+ createWebhook(payload: CreateWebhookRequest): Promise<IntegrationPartner>;
423
+ }
424
+
391
425
  /**
392
426
  * Maps service identifiers to their corresponding gateway types.
393
427
  * Used by the `gateway()` function to infer the correct return type
@@ -406,6 +440,7 @@ type GatewayMap = {
406
440
  integrations: IntegrationsGateway;
407
441
  'chat-webservice': ChatWebserviceGateway;
408
442
  'call-report': CallReportGateway;
443
+ cases: CasesGateway;
409
444
  };
410
445
  /**
411
446
  * Parameters required to configure the SDK client.
@@ -445,6 +480,9 @@ interface GatewayClientParams {
445
480
  callReport?: {
446
481
  baseUrl: string;
447
482
  };
483
+ cases?: {
484
+ baseUrl: string;
485
+ };
448
486
  };
449
487
  }
450
488
 
@@ -471,4 +509,4 @@ declare const configure: (params: GatewayClientParams) => void;
471
509
  */
472
510
  declare function gateway<T extends keyof GatewayMap>(service: T): GatewayMap[T];
473
511
 
474
- export { AttachmentByIdResponse, AudioConvertResponse, Campaign, CampaignContactPaginatedResponse, CampaignContactQueryParams, CampaignContactResponse, CampaignContactsDashboardData, CampaignContactsDashboardQueryParams, CampaignPaginatedResponse, CampaignQueryParams, CampaignUser, CampaignWorkGroup, CampaignWorkGroupPaginatedResponse, CampaignWorkGroupQueryParams, CompanyResponse, ConfigListByProviderResponse, ContactCategoryResponse, ContactHistoryResponse, ContactPhoneSearchResponse, CreateCampaignContactRequest, CreateCampaignRequest, CreateCampaignWorkGroupRequest, CreateCaseWebhookRequest, CreateIntegrationActionRequest, CreateIntegrationFieldRequest, CreateIntegrationPartnerRequest, DeleteIntegrationActionParams, DeleteIntegrationFieldParams, DeleteIntegrationPartnerParams, FindOrCreateQueueRuleRequest, GetAllUsersParams, GetAllUsersResponse, GetAttachmentByIdRequest, GetCaseWebhooksByCompanyRequest, GetConfigTemplatesParams, GetConfigTemplatesResponse, GetConfigsByProviderParams, GetContactPhonesParams, GetIntegrationHooksCatalogRequest, GetIntegrationPartnersByCompanyRequest, GetManagedUsersResponse, GetMemberQueuesRequest, GetPresignedUrlRequest, GetProviderConfigurationsParams, GetRoomByIdRequest, GetRootRulesRequest, GetServiceGroupsParams, HookCatalogItem, IntegrationAction, IntegrationField, IntegrationPartner, ListContactHistoryRequest, ListLiveUserRoomsRequest, LiveUserRoomResponse, MetaTemplateConfigResponse, MetaTemplateConfigsResponse, PatchCampaignContactRequest, PatchCampaignRequest, ProviderConfigurationsResponse, ProviderListResponse, Queue, QueueMember, QueueRule, RoomResponse, RootRulesResponse, ServiceGroupsResponse, UpdateIntegrationActionParams, UpdateIntegrationFieldParams, UploadPresignedUrlResponse, WorkGroupListResponse, WorkGroupMembersResponse, WorkGroupResponse, configure, gateway };
512
+ export { AttachmentByIdResponse, AudioConvertResponse, Campaign, CampaignContactPaginatedResponse, CampaignContactQueryParams, CampaignContactResponse, CampaignContactsDashboardData, CampaignContactsDashboardQueryParams, CampaignPaginatedResponse, CampaignQueryParams, CampaignUser, CampaignWorkGroup, CampaignWorkGroupPaginatedResponse, CampaignWorkGroupQueryParams, CompanyResponse, ConfigListByProviderResponse, ContactCategoryResponse, ContactHistoryResponse, ContactPhoneSearchResponse, CreateCampaignContactRequest, CreateCampaignRequest, CreateCampaignWorkGroupRequest, CreateIntegrationActionRequest, CreateIntegrationFieldRequest, CreateIntegrationPartnerRequest, CreateWebhookRequest$1 as CreateWebhookRequest, DeleteIntegrationActionParams, DeleteIntegrationFieldParams, DeleteIntegrationPartnerParams, FindOrCreateQueueRuleRequest, GetAllUsersParams, GetAllUsersResponse, GetAttachmentByIdRequest, GetConfigTemplatesParams, GetConfigTemplatesResponse, GetConfigsByProviderParams, GetContactPhonesParams, GetIntegrationHooksCatalogRequest, GetIntegrationPartnersByCompanyRequest, GetManagedUsersResponse, GetMemberQueuesRequest, GetPresignedUrlRequest, GetProviderConfigurationsParams, GetRoomByIdRequest, GetRootRulesRequest, GetServiceGroupsParams, GetWebhooksByCompanyRequest$1 as GetWebhooksByCompanyRequest, HookCatalogItem, IntegrationAction, IntegrationField, IntegrationPartner, InvitationResponse, ListContactHistoryRequest, ListInvitationsRequest, ListLiveUserRoomsRequest, LiveUserRoomResponse, MetaTemplateConfigResponse, MetaTemplateConfigsResponse, PatchCampaignContactRequest, PatchCampaignRequest, ProviderConfigurationsResponse, ProviderListResponse, Queue, QueueMember, QueueRule, ReplyInvitationRequest, RoomResponse, RootRulesResponse, ServiceGroupsResponse, UpdateIntegrationActionParams, UpdateIntegrationFieldParams, UploadPresignedUrlResponse, WorkGroupListResponse, WorkGroupMembersResponse, WorkGroupResponse, configure, gateway };
package/dist/index.d.ts CHANGED
@@ -11,9 +11,9 @@ import { GetPresignedUrlRequest, UploadPresignedUrlResponse, AudioConvertRespons
11
11
  export { IUploadPresignedUrlResponse } from './assets/contracts/index.js';
12
12
  import { GetContactPhonesParams, ContactPhoneSearchResponse, ContactCategoryResponse } from './contact-list/contracts/index.js';
13
13
  export { ContactPhoneResponse } from './contact-list/contracts/index.js';
14
- import { GetIntegrationPartnersByCompanyRequest, IntegrationPartner, GetCaseWebhooksByCompanyRequest, GetIntegrationHooksCatalogRequest, HookCatalogItem, CreateIntegrationPartnerRequest, CreateCaseWebhookRequest, DeleteIntegrationPartnerParams, CreateIntegrationActionRequest, IntegrationAction, UpdateIntegrationActionParams, CreateIntegrationFieldRequest, IntegrationField, UpdateIntegrationFieldParams, DeleteIntegrationFieldParams, DeleteIntegrationActionParams } from './integrations/contracts/index.js';
14
+ import { GetIntegrationPartnersByCompanyRequest, IntegrationPartner, GetWebhooksByCompanyRequest as GetWebhooksByCompanyRequest$1, GetIntegrationHooksCatalogRequest, HookCatalogItem, CreateIntegrationPartnerRequest, CreateWebhookRequest as CreateWebhookRequest$1, DeleteIntegrationPartnerParams, CreateIntegrationActionRequest, IntegrationAction, UpdateIntegrationActionParams, CreateIntegrationFieldRequest, IntegrationField, UpdateIntegrationFieldParams, DeleteIntegrationFieldParams, DeleteIntegrationActionParams } from './integrations/contracts/index.js';
15
15
  export { UpdateIntegrationActionRequest, UpdateIntegrationFieldRequest } from './integrations/contracts/index.js';
16
- import { ListLiveUserRoomsRequest, LiveUserRoomResponse, GetRoomByIdRequest, RoomResponse } from './chat-webservice/contracts/index.js';
16
+ import { ListInvitationsRequest, InvitationResponse, ReplyInvitationRequest, ListLiveUserRoomsRequest, LiveUserRoomResponse, GetRoomByIdRequest, RoomResponse } from './chat-webservice/contracts/index.js';
17
17
  export { RoomActiveDates, RoomMemberResponse, RoomTagResponse } from './chat-webservice/contracts/index.js';
18
18
  import { ListContactHistoryRequest, ContactHistoryResponse } from './call-report/contracts/index.js';
19
19
  export { ContactHistoryIndex, ContactHistorySortOrder, ContactInteractionResponse, InteractionCallStepResponse, InteractionChatStepResponse, InteractionMemberResponse, InteractionOrganizationResponse } from './call-report/contracts/index.js';
@@ -289,8 +289,8 @@ declare class IntegrationsGateway {
289
289
  * @returns The integration partners configured for the company.
290
290
  */
291
291
  getPartnersByCompany({ companyId, name }: GetIntegrationPartnersByCompanyRequest): Promise<IntegrationPartner[]>;
292
- /** Retrieves the Casos case webhooks scenario for a company. */
293
- getCaseWebhooksByCompany({ companyId }: GetCaseWebhooksByCompanyRequest): Promise<IntegrationPartner[]>;
292
+ /** Retrieves the webhooks scenario for a company. */
293
+ getWebhooksByCompany(params: GetWebhooksByCompanyRequest$1): Promise<IntegrationPartner[]>;
294
294
  /**
295
295
  * Retrieves the hook catalog, optionally scoped by module.
296
296
  * @param module - The optional module identifier used by the Integrations API filter.
@@ -303,8 +303,8 @@ declare class IntegrationsGateway {
303
303
  * @returns The created integration partner.
304
304
  */
305
305
  createPartner(payload: CreateIntegrationPartnerRequest): Promise<IntegrationPartner>;
306
- /** Creates a case webhook. */
307
- createCaseWebhook(payload: CreateCaseWebhookRequest): Promise<IntegrationPartner>;
306
+ /** Creates a webhook. */
307
+ createWebhook(payload: CreateWebhookRequest$1): Promise<IntegrationPartner>;
308
308
  /**
309
309
  * Deletes an integration partner.
310
310
  * @param partnerId - The partner identifier.
@@ -358,6 +358,18 @@ declare class ChatWebserviceGateway {
358
358
  private readonly httpClient;
359
359
  private readonly baseUrl;
360
360
  constructor(httpClient: AxiosInstance, baseUrl: string);
361
+ /**
362
+ * Lists chat invitations for a user within a company.
363
+ * @param params - The user, company, and invitation status filters.
364
+ * @returns The matching chat invitations.
365
+ */
366
+ listInvitations(params: ListInvitationsRequest): Promise<InvitationResponse[]>;
367
+ /**
368
+ * Replies to a chat invitation.
369
+ * @param payload - The invitation identifier to reply to.
370
+ * @returns The updated chat invitations.
371
+ */
372
+ replyInvitation(payload: ReplyInvitationRequest): Promise<InvitationResponse[]>;
361
373
  /**
362
374
  * Lists live rooms assigned to a user.
363
375
  * @param params - The recipient, company, and open-status filters.
@@ -388,6 +400,28 @@ declare class CallReportGateway {
388
400
  listContactHistory(params?: ListContactHistoryRequest): Promise<ContactHistoryResponse>;
389
401
  }
390
402
 
403
+ /** Request parameters for retrieving the webhooks scenario for a company. */
404
+ interface GetWebhooksByCompanyRequest {
405
+ companyId: string;
406
+ }
407
+ /** Request payload for creating a webhooks scenario. */
408
+ interface CreateWebhookRequest {
409
+ companyId: string;
410
+ baseUrl: string;
411
+ }
412
+ /**
413
+ * Gateway for interacting with the Cases API.
414
+ */
415
+ declare class CasesGateway {
416
+ private readonly httpClient;
417
+ private readonly baseUrl;
418
+ constructor(httpClient: AxiosInstance, baseUrl: string);
419
+ /** Retrieves the webhooks scenario for a company. */
420
+ getWebhooksByCompany(params: GetWebhooksByCompanyRequest): Promise<IntegrationPartner[]>;
421
+ /** Creates a webhook. */
422
+ createWebhook(payload: CreateWebhookRequest): Promise<IntegrationPartner>;
423
+ }
424
+
391
425
  /**
392
426
  * Maps service identifiers to their corresponding gateway types.
393
427
  * Used by the `gateway()` function to infer the correct return type
@@ -406,6 +440,7 @@ type GatewayMap = {
406
440
  integrations: IntegrationsGateway;
407
441
  'chat-webservice': ChatWebserviceGateway;
408
442
  'call-report': CallReportGateway;
443
+ cases: CasesGateway;
409
444
  };
410
445
  /**
411
446
  * Parameters required to configure the SDK client.
@@ -445,6 +480,9 @@ interface GatewayClientParams {
445
480
  callReport?: {
446
481
  baseUrl: string;
447
482
  };
483
+ cases?: {
484
+ baseUrl: string;
485
+ };
448
486
  };
449
487
  }
450
488
 
@@ -471,4 +509,4 @@ declare const configure: (params: GatewayClientParams) => void;
471
509
  */
472
510
  declare function gateway<T extends keyof GatewayMap>(service: T): GatewayMap[T];
473
511
 
474
- export { AttachmentByIdResponse, AudioConvertResponse, Campaign, CampaignContactPaginatedResponse, CampaignContactQueryParams, CampaignContactResponse, CampaignContactsDashboardData, CampaignContactsDashboardQueryParams, CampaignPaginatedResponse, CampaignQueryParams, CampaignUser, CampaignWorkGroup, CampaignWorkGroupPaginatedResponse, CampaignWorkGroupQueryParams, CompanyResponse, ConfigListByProviderResponse, ContactCategoryResponse, ContactHistoryResponse, ContactPhoneSearchResponse, CreateCampaignContactRequest, CreateCampaignRequest, CreateCampaignWorkGroupRequest, CreateCaseWebhookRequest, CreateIntegrationActionRequest, CreateIntegrationFieldRequest, CreateIntegrationPartnerRequest, DeleteIntegrationActionParams, DeleteIntegrationFieldParams, DeleteIntegrationPartnerParams, FindOrCreateQueueRuleRequest, GetAllUsersParams, GetAllUsersResponse, GetAttachmentByIdRequest, GetCaseWebhooksByCompanyRequest, GetConfigTemplatesParams, GetConfigTemplatesResponse, GetConfigsByProviderParams, GetContactPhonesParams, GetIntegrationHooksCatalogRequest, GetIntegrationPartnersByCompanyRequest, GetManagedUsersResponse, GetMemberQueuesRequest, GetPresignedUrlRequest, GetProviderConfigurationsParams, GetRoomByIdRequest, GetRootRulesRequest, GetServiceGroupsParams, HookCatalogItem, IntegrationAction, IntegrationField, IntegrationPartner, ListContactHistoryRequest, ListLiveUserRoomsRequest, LiveUserRoomResponse, MetaTemplateConfigResponse, MetaTemplateConfigsResponse, PatchCampaignContactRequest, PatchCampaignRequest, ProviderConfigurationsResponse, ProviderListResponse, Queue, QueueMember, QueueRule, RoomResponse, RootRulesResponse, ServiceGroupsResponse, UpdateIntegrationActionParams, UpdateIntegrationFieldParams, UploadPresignedUrlResponse, WorkGroupListResponse, WorkGroupMembersResponse, WorkGroupResponse, configure, gateway };
512
+ export { AttachmentByIdResponse, AudioConvertResponse, Campaign, CampaignContactPaginatedResponse, CampaignContactQueryParams, CampaignContactResponse, CampaignContactsDashboardData, CampaignContactsDashboardQueryParams, CampaignPaginatedResponse, CampaignQueryParams, CampaignUser, CampaignWorkGroup, CampaignWorkGroupPaginatedResponse, CampaignWorkGroupQueryParams, CompanyResponse, ConfigListByProviderResponse, ContactCategoryResponse, ContactHistoryResponse, ContactPhoneSearchResponse, CreateCampaignContactRequest, CreateCampaignRequest, CreateCampaignWorkGroupRequest, CreateIntegrationActionRequest, CreateIntegrationFieldRequest, CreateIntegrationPartnerRequest, CreateWebhookRequest$1 as CreateWebhookRequest, DeleteIntegrationActionParams, DeleteIntegrationFieldParams, DeleteIntegrationPartnerParams, FindOrCreateQueueRuleRequest, GetAllUsersParams, GetAllUsersResponse, GetAttachmentByIdRequest, GetConfigTemplatesParams, GetConfigTemplatesResponse, GetConfigsByProviderParams, GetContactPhonesParams, GetIntegrationHooksCatalogRequest, GetIntegrationPartnersByCompanyRequest, GetManagedUsersResponse, GetMemberQueuesRequest, GetPresignedUrlRequest, GetProviderConfigurationsParams, GetRoomByIdRequest, GetRootRulesRequest, GetServiceGroupsParams, GetWebhooksByCompanyRequest$1 as GetWebhooksByCompanyRequest, HookCatalogItem, IntegrationAction, IntegrationField, IntegrationPartner, InvitationResponse, ListContactHistoryRequest, ListInvitationsRequest, ListLiveUserRoomsRequest, LiveUserRoomResponse, MetaTemplateConfigResponse, MetaTemplateConfigsResponse, PatchCampaignContactRequest, PatchCampaignRequest, ProviderConfigurationsResponse, ProviderListResponse, Queue, QueueMember, QueueRule, ReplyInvitationRequest, RoomResponse, RootRulesResponse, ServiceGroupsResponse, UpdateIntegrationActionParams, UpdateIntegrationFieldParams, UploadPresignedUrlResponse, WorkGroupListResponse, WorkGroupMembersResponse, WorkGroupResponse, configure, gateway };
package/dist/index.js CHANGED
@@ -515,10 +515,10 @@ var IntegrationsGateway = class {
515
515
  });
516
516
  return data;
517
517
  }
518
- /** Retrieves the Casos case webhooks scenario for a company. */
519
- async getCaseWebhooksByCompany({ companyId }) {
520
- const { data } = await this.httpClient.get(`${this.baseUrl}/webhook`, {
521
- params: { companyId }
518
+ /** Retrieves the webhooks scenario for a company. */
519
+ async getWebhooksByCompany(params) {
520
+ const { data } = await this.httpClient.get(`${this.baseUrl}/webhooks`, {
521
+ params
522
522
  });
523
523
  return data;
524
524
  }
@@ -542,9 +542,9 @@ var IntegrationsGateway = class {
542
542
  const { data } = await this.httpClient.post(`${this.baseUrl}/partner`, payload);
543
543
  return data;
544
544
  }
545
- /** Creates a case webhook. */
546
- async createCaseWebhook(payload) {
547
- const { data } = await this.httpClient.post(`${this.baseUrl}/webhook`, payload);
545
+ /** Creates a webhook. */
546
+ async createWebhook(payload) {
547
+ const { data } = await this.httpClient.post(`${this.baseUrl}/webhooks`, payload);
548
548
  return data;
549
549
  }
550
550
  /**
@@ -622,6 +622,24 @@ var ChatWebserviceGateway = class {
622
622
  }
623
623
  httpClient;
624
624
  baseUrl;
625
+ /**
626
+ * Lists chat invitations for a user within a company.
627
+ * @param params - The user, company, and invitation status filters.
628
+ * @returns The matching chat invitations.
629
+ */
630
+ async listInvitations(params) {
631
+ const { data } = await this.httpClient.get(`${this.baseUrl}/invitations`, { params });
632
+ return data;
633
+ }
634
+ /**
635
+ * Replies to a chat invitation.
636
+ * @param payload - The invitation identifier to reply to.
637
+ * @returns The updated chat invitations.
638
+ */
639
+ async replyInvitation(payload) {
640
+ const { data } = await this.httpClient.put(`${this.baseUrl}/invitations/reply`, payload);
641
+ return data;
642
+ }
625
643
  /**
626
644
  * Lists live rooms assigned to a user.
627
645
  * @param params - The recipient, company, and open-status filters.
@@ -664,6 +682,28 @@ var CallReportGateway = class {
664
682
  }
665
683
  };
666
684
 
685
+ // src/cases/index.ts
686
+ var CasesGateway = class {
687
+ constructor(httpClient, baseUrl) {
688
+ this.httpClient = httpClient;
689
+ this.baseUrl = baseUrl;
690
+ }
691
+ httpClient;
692
+ baseUrl;
693
+ /** Retrieves the webhooks scenario for a company. */
694
+ async getWebhooksByCompany(params) {
695
+ const { data } = await this.httpClient.get(`${this.baseUrl}/webhooks`, {
696
+ params
697
+ });
698
+ return data;
699
+ }
700
+ /** Creates a webhook. */
701
+ async createWebhook(payload) {
702
+ const { data } = await this.httpClient.post(`${this.baseUrl}/webhooks`, payload);
703
+ return data;
704
+ }
705
+ };
706
+
667
707
  // src/@common/client.ts
668
708
  var import_axios = __toESM(require("axios"));
669
709
  var SDKGateways = class {
@@ -676,7 +716,8 @@ var SDKGateways = class {
676
716
  integrations;
677
717
  chatWebservice;
678
718
  callReport;
679
- constructor(customerService, chatConfig, campaigns, chatAdapter, assets, contactList, integrations, chatWebservice, callReport) {
719
+ cases;
720
+ constructor(customerService, chatConfig, campaigns, chatAdapter, assets, contactList, integrations, chatWebservice, callReport, cases) {
680
721
  this.customerService = customerService;
681
722
  this.chatConfig = chatConfig;
682
723
  this.campaigns = campaigns;
@@ -686,6 +727,7 @@ var SDKGateways = class {
686
727
  this.integrations = integrations;
687
728
  this.chatWebservice = chatWebservice;
688
729
  this.callReport = callReport;
730
+ this.cases = cases;
689
731
  }
690
732
  };
691
733
  function createClient(params) {
@@ -703,6 +745,7 @@ function createClient(params) {
703
745
  const integrations = params.services.integrations ? new IntegrationsGateway(httpClient, params.services.integrations.baseUrl) : null;
704
746
  const chatWebservice = params.services.chatWebservice ? new ChatWebserviceGateway(httpClient, params.services.chatWebservice.baseUrl) : null;
705
747
  const callReport = params.services.callReport ? new CallReportGateway(httpClient, params.services.callReport.baseUrl) : null;
748
+ const cases = params.services.cases ? new CasesGateway(httpClient, params.services.cases.baseUrl) : null;
706
749
  return new SDKGateways(
707
750
  customerService,
708
751
  chatConfig,
@@ -712,7 +755,8 @@ function createClient(params) {
712
755
  contactList,
713
756
  integrations,
714
757
  chatWebservice,
715
- callReport
758
+ callReport,
759
+ cases
716
760
  );
717
761
  }
718
762
 
@@ -726,7 +770,8 @@ var SERVICE_GATEWAYS = {
726
770
  CONTACT_LIST: "contact-list",
727
771
  INTEGRATIONS: "integrations",
728
772
  CHAT_WEBSERVICE: "chat-webservice",
729
- CALL_REPORT: "call-report"
773
+ CALL_REPORT: "call-report",
774
+ CASES: "cases"
730
775
  };
731
776
 
732
777
  // src/index.ts
@@ -782,6 +827,10 @@ function gateway(service) {
782
827
  if (!sdk.client.callReport)
783
828
  throw new Error(`Service 'call-report' is not configured. Provide its baseUrl in configure().`);
784
829
  return sdk.client.callReport;
830
+ case SERVICE_GATEWAYS.CASES:
831
+ if (!sdk.client.cases)
832
+ throw new Error(`Service 'cases' is not configured. Provide its baseUrl in configure().`);
833
+ return sdk.client.cases;
785
834
  default:
786
835
  throw new Error(`Unknown service gateway: ${service}`);
787
836
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/customer-service/index.ts","../src/chat-config/index.ts","../src/campaigns/index.ts","../src/chat-adapter/index.ts","../src/assets/index.ts","../src/contact-list/index.ts","../src/integrations/index.ts","../src/chat-webservice/index.ts","../src/call-report/index.ts","../src/@common/client.ts","../src/@common/enums.ts"],"sourcesContent":["import { createClient, SDKGatewaysInterface, GatewayClientParams, GatewayMap } from './@common/client';\nimport { SERVICE_GATEWAYS } from './@common/enums';\n\nclass SDK {\n client: SDKGatewaysInterface | null = null;\n\n configure(params: GatewayClientParams) {\n this.client = createClient(params);\n }\n}\nconst sdk = new SDK();\n\n/**\n * Initializes the SDK with the required configuration parameters.\n * Must be called before using {@link gateway}.\n */\nexport const configure = (params: GatewayClientParams) => {\n sdk.configure(params);\n};\n\n/**\n * Returns the gateway instance for the specified service.\n *\n * @typeParam T - A service identifier key from {@link GatewayMap}.\n * @param service - The service identifier (e.g. `SERVICE_GATEWAYS.CUSTOMER_SERVICE`).\n * @returns The corresponding gateway instance with all its methods.\n * @throws {Error} If the SDK has not been configured via {@link configure}.\n * @throws {Error} If an unknown service identifier is provided.\n *\n * @example\n * ```ts\n * configure({ axiosClient, apiToken: '...', services: { customerService: { baseUrl: '...' } } });\n * const customer = gateway('customer-service');\n * const company = await customer.getCompanyById('123');\n * ```\n */\nexport function gateway<T extends keyof GatewayMap>(service: T): GatewayMap[T];\nexport function gateway(service: SERVICE_GATEWAYS) {\n if (!sdk.client)\n throw new Error(\n 'SDK not configured. Please call configure() with the appropriate parameters before using the SDK.',\n );\n\n switch (service) {\n case SERVICE_GATEWAYS.CUSTOMER_SERVICE:\n if (!sdk.client.customerService)\n throw new Error(`Service 'customer-service' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.customerService;\n case SERVICE_GATEWAYS.CHAT_CONFIG:\n if (!sdk.client.chatConfig)\n throw new Error(`Service 'chat-config' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.chatConfig;\n case SERVICE_GATEWAYS.CAMPAIGNS:\n if (!sdk.client.campaigns)\n throw new Error(`Service 'campaigns' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.campaigns;\n case SERVICE_GATEWAYS.CHAT_ADAPTER:\n if (!sdk.client.chatAdapter)\n throw new Error(`Service 'chat-adapter' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.chatAdapter;\n case SERVICE_GATEWAYS.ASSETS:\n if (!sdk.client.assets)\n throw new Error(`Service 'assets' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.assets;\n case SERVICE_GATEWAYS.CONTACT_LIST:\n if (!sdk.client.contactList)\n throw new Error(`Service 'contact-list' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.contactList;\n case SERVICE_GATEWAYS.INTEGRATIONS:\n if (!sdk.client.integrations)\n throw new Error(`Service 'integrations' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.integrations;\n case SERVICE_GATEWAYS.CHAT_WEBSERVICE:\n if (!sdk.client.chatWebservice)\n throw new Error(`Service 'chat-webservice' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.chatWebservice;\n case SERVICE_GATEWAYS.CALL_REPORT:\n if (!sdk.client.callReport)\n throw new Error(`Service 'call-report' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.callReport;\n default:\n throw new Error(`Unknown service gateway: ${service}`);\n }\n}\n\nexport * from './campaigns/contracts';\nexport * from './chat-config/contracts';\nexport * from './customer-service/contracts';\nexport * from './chat-adapter/contracts';\nexport * from './assets/contracts';\nexport * from './contact-list/contracts';\nexport * from './integrations/contracts';\nexport * from './chat-webservice/contracts';\nexport * from './call-report/contracts';\n","import type { AxiosInstance } from 'axios';\nimport type { CompanyResponse } from './contracts/company';\nimport type {\n WorkGroupListResponse,\n WorkGroupMembersResponse,\n WorkGroupResponse,\n} from './contracts/work-group';\nimport type {\n GetAllUsersParams,\n GetAllUsersResponse,\n GetManagedUsersResponse,\n} from './contracts/user';\n\n/**\n * Gateway for interacting with the Customer Service API.\n */\nexport class CustomerServiceGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n\n /**\n * Retrieves a company by its unique identifier.\n * @param companyId - The unique identifier of the company.\n * @returns The company data wrapped in a {@link CompanyResponse}.\n */\n async getCompanyById(companyId: string): Promise<CompanyResponse> {\n const { data } = await this.httpClient.get<CompanyResponse>(`${this.baseUrl}/companies/search/${companyId}`);\n return data;\n }\n\n /**\n * Retrieves all work groups for a company.\n * @param companyId - The unique identifier of the company.\n * @returns The work groups for the given company.\n */\n async getWorkGroups(companyId: string): Promise<WorkGroupListResponse> {\n const { data } = await this.httpClient.get<WorkGroupListResponse>(\n `${this.baseUrl}/companies/work-groups`,\n { params: { company_id: companyId } },\n );\n return data;\n }\n\n /**\n * Retrieves a work group by its unique identifier.\n * @param workGroupId - The unique identifier of the work group.\n * @param companyId - The unique identifier of the company (optional, sent as query parameter).\n * @returns The work group data wrapped in a {@link WorkGroupResponse}.\n */\n async getWorkGroupById(workGroupId: string, companyId?: string): Promise<WorkGroupResponse> {\n const params = companyId ? { company_id: companyId } : undefined;\n const { data } = await this.httpClient.get<WorkGroupResponse>(\n `${this.baseUrl}/companies/work-groups/${workGroupId}`,\n { params },\n );\n return data;\n }\n\n /**\n * Retrieves the members of a work group by its identifier.\n * @param groupId - The unique identifier of the work group.\n * @param companyId - The unique identifier of the company (optional, sent as query parameter).\n * @param profile - Filter members by profile (optional).\n * @returns The members of the work group.\n */\n async getWorkGroupMembers(\n groupId: string,\n companyId?: string,\n profile?: string[],\n ): Promise<WorkGroupMembersResponse> {\n const params: { company_id?: string; profile?: string[] } = {};\n if (companyId) params.company_id = companyId;\n if (profile) params.profile = profile;\n const { data } = await this.httpClient.get<WorkGroupMembersResponse>(\n `${this.baseUrl}/bonds/work-groups/${groupId}`,\n { params },\n );\n return data;\n }\n\n async getAllUsers(params?: GetAllUsersParams): Promise<GetAllUsersResponse> {\n const { data } = await this.httpClient.get<GetAllUsersResponse>(\n `${this.baseUrl}/companies/users`,\n { params },\n );\n return data;\n }\n\n async getManagedUsers(managerId: string): Promise<GetManagedUsersResponse> {\n const { data } = await this.httpClient.get<GetManagedUsersResponse>(\n `${this.baseUrl}/users/managed/${managerId}`,\n );\n return data;\n }\n}\n\nexport type { CompanyResponse, CompanyData } from './contracts/company';\nexport type {\n WorkGroup,\n WorkGroupMember,\n WorkGroupMembersResponse,\n WorkGroupListResponse,\n WorkGroupResponse,\n} from './contracts/work-group';\nexport type {\n User,\n GetAllUsersParams,\n GetAllUsersResponse,\n ManagedUser,\n GetManagedUsersResponse,\n} from './contracts/user';","import type { AxiosInstance } from 'axios';\nimport type {\n GetProviderConfigurationsParams,\n ProviderConfigurationsResponse,\n ProviderListResponse,\n} from './contracts/provider';\nimport type { ConfigListByProviderResponse, GetConfigsByProviderParams } from './contracts/config';\nimport type {\n GetServiceGroupsParams,\n Queue,\n QueueListResponse,\n QueueMember,\n GetMemberQueuesRequest,\n ServiceGroupsResponse,\n} from './contracts/queues';\nimport type { MetaTemplateConfigResponse, MetaTemplateConfigsResponse } from './contracts/meta-template';\nimport type {\n FindOrCreateQueueRuleRequest,\n GetRootRulesRequest,\n RootRulesResponse,\n Rule,\n QueueRule,\n} from './contracts/rule';\n\n/**\n * Gateway for interacting with the Chat Config API.\n */\nexport class ChatConfigGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n\n /**\n * Retrieves all available providers.\n * @returns The list of providers.\n */\n async getProviders(): Promise<ProviderListResponse> {\n const { data } = await this.httpClient.get<ProviderListResponse>(`${this.baseUrl}/providers`);\n return data;\n }\n\n /**\n * Retrieves provider configurations filtered by configuration IDs.\n * @param params - Query parameters containing one or more configuration IDs.\n * @returns The provider configurations matching the given IDs.\n */\n async getProviderConfigurations(params?: GetProviderConfigurationsParams): Promise<ProviderConfigurationsResponse> {\n const url = `${this.baseUrl}/providers/configurations`;\n const { data } = await this.httpClient.get<ProviderConfigurationsResponse>(url, { params: params });\n return data;\n }\n\n /**\n * Retrieves configurations filtered by provider.\n * @param providerId - The unique identifier of the provider.\n * @param params - Optional query parameters for filtering configurations.\n * @returns The configurations for the given provider.\n */\n async getConfigsByProvider(\n providerId: string,\n params?: GetConfigsByProviderParams,\n ): Promise<ConfigListByProviderResponse> {\n const { data } = await this.httpClient.get<ConfigListByProviderResponse>(\n `${this.baseUrl}/config/provider/${providerId}`,\n { params },\n );\n return data;\n }\n\n /**\n * Retrieves a queue by its ID.\n * @param queueId - The unique identifier of the queue.\n * @returns The queue data.\n */\n async getQueueById(queueId: string): Promise<Queue> {\n const { data } = await this.httpClient.get<Queue>(`${this.baseUrl}/queue/${queueId}`);\n return data;\n }\n\n async getQueues(): Promise<Queue[]> {\n const { data } = await this.httpClient.get<Queue[]>(`${this.baseUrl}/queues`);\n return data;\n }\n\n /**\n * Lists queue memberships for a member.\n * @param params - The member identifier and optional association filter.\n * @returns The queue memberships for the given member.\n */\n async getMemberQueues(params: GetMemberQueuesRequest): Promise<QueueMember[]> {\n const { data } = await this.httpClient.get<QueueMember[]>(`${this.baseUrl}/queue-members`, { params });\n return data;\n }\n\n /**\n * Retrieves service groups filtered by service group IDs.\n * @param params - Query parameters containing one or more service group IDs.\n * @returns The service groups matching the given IDs.\n */\n async getServiceGroups(params?: GetServiceGroupsParams): Promise<ServiceGroupsResponse> {\n const url = `${this.baseUrl}/service-groups`;\n const { data } = await this.httpClient.get<ServiceGroupsResponse>(url, { params: params });\n return data;\n }\n\n /**\n * Retrieves a Meta template configuration by its ID.\n * @param templateId - The unique identifier of the template.\n * @returns The Meta template configuration.\n */\n async getMetaTemplateById(templateId: string): Promise<MetaTemplateConfigResponse> {\n const { data } = await this.httpClient.get<MetaTemplateConfigResponse>(\n `${this.baseUrl}/meta-templates-config/${templateId}`,\n );\n return data;\n }\n\n /**\n * Retrieves template configurations associated with a configuration ID.\n * @param configId - The configuration identifier.\n * @returns The list of template configurations.\n */\n async getTemplateConfigsByConfigId(configId: string): Promise<MetaTemplateConfigsResponse> {\n const { data } = await this.httpClient.get<MetaTemplateConfigsResponse>(\n `${this.baseUrl}/meta-templates-config/config/${configId}`,\n );\n return data;\n }\n\n /**\n * Finds an existing queue rule or creates a new one if it does not exist.\n * @param payload - The payload containing companyId, queueId, and configId.\n * @returns The found or created queue rule.\n */\n async findOrCreateQueueRule(payload: FindOrCreateQueueRuleRequest): Promise<QueueRule> {\n const { data } = await this.httpClient.put<QueueRule>(`${this.baseUrl}/rules/queue/find-or-create`, payload);\n return data;\n }\n\n /**\n * @param params - The company and pagination parameters.\n * @returns The paginated initial service rules.\n */\n async getRootRules(params: GetRootRulesRequest): Promise<RootRulesResponse> {\n const { data } = await this.httpClient.get<RootRulesResponse>(`${this.baseUrl}/rules/paginated`, {\n params: {\n archiveStatus: 'unarchived',\n companyId: params.companyId,\n offset: params.offset,\n limit: params.limit,\n name: params?.name,\n isRoot: true,\n },\n });\n return data;\n }\n}\n\nexport type {\n GetServiceGroupsParams,\n Queue,\n QueueMember,\n DistributionType,\n QueueListResponse,\n ServiceGroup,\n ServiceGroupsResponse,\n} from './contracts/queues';\nexport type {\n GetProviderConfigurationsParams,\n ProviderConfiguration,\n ProviderConfigurationsResponse,\n ProviderListResponse,\n Provider,\n WhatsAppProviderSettings,\n WidgetProviderSettings,\n} from './contracts/provider';\nexport type {\n ConfigListByProviderResponse,\n Config,\n ConfigProvider,\n GetConfigsByProviderParams,\n} from './contracts/config';\nexport type {\n MetaTemplateButton,\n MetaTemplateConfigResponse,\n MetaTemplateConfigsResponse,\n} from './contracts/meta-template';\nexport type { FindOrCreateQueueRuleRequest, QueueRule, RootRulesResponse, Rule } from './contracts/rule';\n","import type { AxiosInstance } from 'axios';\nimport type {\n Campaign,\n CampaignPaginatedResponse,\n CampaignQueryParams,\n CreateCampaignRequest,\n PatchCampaignRequest,\n CampaignUser,\n} from './contracts/campaign';\nimport type {\n CampaignContactPaginatedResponse,\n CampaignContactQueryParams,\n CampaignContactResponse,\n CreateCampaignContactRequest,\n PatchCampaignContactRequest,\n} from './contracts/campaign-contacts';\nimport type {\n CampaignContactsDashboardData,\n CampaignContactsDashboardQueryParams,\n} from './contracts/campaign-contacts-dashboard';\nimport type {\n CampaignWorkGroup,\n CampaignWorkGroupPaginatedResponse,\n CampaignWorkGroupQueryParams,\n CreateCampaignWorkGroupRequest,\n} from './contracts/work-group';\n\n/**\n * Gateway for interacting with the Campaigns API.\n */\nexport class CampaignsGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n\n /**\n * Retrieves a paginated list of campaigns.\n * @param query - Optional query parameters for filtering and pagination.\n * @returns The paginated campaigns response.\n */\n async find(query?: CampaignQueryParams): Promise<CampaignPaginatedResponse> {\n const { data } = await this.httpClient.get<CampaignPaginatedResponse>(`${this.baseUrl}/campaigns`, {\n params: query,\n });\n return data;\n }\n\n /**\n * Retrieves a campaign by its unique identifier.\n * @param id - The unique identifier of the campaign.\n * @returns The campaign data.\n */\n async get(id: string): Promise<Campaign> {\n const { data } = await this.httpClient.get<Campaign>(`${this.baseUrl}/campaigns/${id}`);\n return data;\n }\n\n /**\n * Creates a new campaign.\n * @param payload - The campaign data to create.\n * @returns The created campaign.\n */\n async create(payload: CreateCampaignRequest): Promise<Campaign> {\n const { data } = await this.httpClient.post<Campaign>(`${this.baseUrl}/campaigns`, payload);\n return data;\n }\n\n /**\n * Partially updates an existing campaign.\n * @param id - The unique identifier of the campaign.\n * @param payload - The fields to update.\n * @returns The updated campaign.\n */\n async patch(id: string, payload: PatchCampaignRequest): Promise<Campaign> {\n const { data } = await this.httpClient.patch<Campaign>(`${this.baseUrl}/campaigns/${id}`, payload);\n return data;\n }\n\n /**\n * Removes a campaign by its unique identifier.\n * @param id - The unique identifier of the campaign.\n * @returns The removed campaign.\n */\n async remove(id: string): Promise<Campaign> {\n const { data } = await this.httpClient.delete<Campaign>(`${this.baseUrl}/campaigns/${id}`);\n return data;\n }\n\n /**\n * Retrieves a paginated list of campaign contacts.\n * @param query - Optional query parameters for filtering and pagination.\n * @returns The paginated campaign contacts response.\n */\n async findCampaignContacts(query?: CampaignContactQueryParams): Promise<CampaignContactPaginatedResponse> {\n const { data } = await this.httpClient.get<CampaignContactPaginatedResponse>(`${this.baseUrl}/campaign-contacts`, {\n params: query,\n });\n return data;\n }\n\n /**\n * Retrieves a campaign contact by its unique identifier.\n * @param id - The unique identifier of the campaign contact.\n * @returns The campaign contact data.\n */\n async getCampaignContacts(id: string): Promise<CampaignContactResponse> {\n const { data } = await this.httpClient.get<CampaignContactResponse>(`${this.baseUrl}/campaign-contacts/${id}`);\n return data;\n }\n\n /**\n * Creates a new campaign contact.\n * @param payload - The campaign contact data to create.\n * @returns The created campaign contact.\n */\n async createCampaignContact(payload: CreateCampaignContactRequest): Promise<CampaignContactResponse> {\n const { data } = await this.httpClient.post<CampaignContactResponse>(`${this.baseUrl}/campaign-contacts`, payload);\n return data;\n }\n\n /**\n * Adds multiple contacts to a campaign in a single request.\n * @param payload - The list of campaign contacts to create.\n * @returns The created campaign contacts.\n */\n async addContactsToCampaign(payload: CreateCampaignContactRequest[]): Promise<CampaignContactResponse[]> {\n const { data } = await this.httpClient.post<CampaignContactResponse[]>(\n `${this.baseUrl}/campaign-contacts`,\n payload,\n );\n return data;\n }\n\n /**\n * Partially updates an existing campaign contact.\n * @param id - The unique identifier of the campaign contact.\n * @param payload - The fields to update.\n * @returns The updated campaign contact.\n */\n async patchCampaignContact(id: string, payload: PatchCampaignContactRequest): Promise<CampaignContactResponse> {\n const { data } = await this.httpClient.patch<CampaignContactResponse>(\n `${this.baseUrl}/campaign-contacts/${id}`,\n payload,\n );\n return data;\n }\n\n /**\n * Removes a campaign contact by its unique identifier.\n * @param id - The unique identifier of the campaign contact.\n * @returns The removed campaign contact.\n */\n async removeCampaignContact(id: string): Promise<CampaignContactResponse> {\n const { data } = await this.httpClient.delete<CampaignContactResponse>(`${this.baseUrl}/campaign-contacts/${id}`);\n return data;\n }\n\n async getContactsDashboardData(\n query: CampaignContactsDashboardQueryParams,\n ): Promise<CampaignContactsDashboardData> {\n const { data } = await this.httpClient.get<CampaignContactsDashboardData>(\n `${this.baseUrl}/campaign-contacts-dashboard`,\n {\n params: query,\n },\n );\n return data;\n }\n\n async getUsers() {\n const { data } = await this.httpClient.get<CampaignUser[]>(`${this.baseUrl}/users`);\n return data;\n }\n\n async listWorkGroups(query?: CampaignWorkGroupQueryParams): Promise<CampaignWorkGroupPaginatedResponse> {\n const { data } = await this.httpClient.get<CampaignWorkGroupPaginatedResponse>(`${this.baseUrl}/work-groups`, {\n params: query,\n });\n return data;\n }\n\n async createWorkGroup(payload: CreateCampaignWorkGroupRequest): Promise<CampaignWorkGroup> {\n const { data } = await this.httpClient.post<CampaignWorkGroup>(`${this.baseUrl}/work-groups`, payload);\n return data;\n }\n\n async deleteWorkGroup(id: string): Promise<CampaignWorkGroup> {\n const { data } = await this.httpClient.delete<CampaignWorkGroup>(`${this.baseUrl}/work-groups/${id}`);\n return data;\n }\n}\n\nexport type {\n Campaign,\n CampaignPaginatedResponse,\n CampaignQueryParams,\n CampaignRetryConfig,\n CampaignStatus,\n CampaignProvider,\n WhatsAppPayload,\n WhatsAppTemplateComponent,\n CampaignContactFilter,\n CampaignSchedule,\n CreateCampaignRequest,\n PatchCampaignRequest,\n CampaignUser,\n} from './contracts/campaign';\nexport type {\n CampaignContactCampaignStatus,\n CampaignContactDispatchStatus,\n CampaignContactLikeQueryOperators,\n CampaignContactPaginatedResponse,\n CampaignContactQueryOperators,\n CampaignContactQueryParams,\n CampaignContactQueryValue,\n CampaignContactResponse,\n CampaignContactSortDirection,\n CampaignContactSortParams,\n CreateCampaignContactRequest,\n PatchCampaignContactRequest,\n} from './contracts/campaign-contacts';\nexport type {\n CampaignContactsDashboardChannelPerformance,\n CampaignContactsDashboardData,\n CampaignContactsDashboardExactQueryOperators,\n CampaignContactsDashboardEvolutionItem,\n CampaignContactsDashboardFunnelItem,\n CampaignContactsDashboardInterval,\n CampaignContactsDashboardMetrics,\n CampaignContactsDashboardQueryParams,\n CampaignContactsDashboardQueryValue,\n CampaignContactsDashboardRangeQueryOperators,\n CampaignContactsDashboardStatusDistribution,\n CampaignContactsDashboardStatusMetrics,\n CampaignContactsDashboardSummary,\n CampaignContactsDashboardTopCampaign,\n} from './contracts/campaign-contacts-dashboard';\nexport type {\n CampaignWorkGroup,\n CampaignWorkGroupPaginatedResponse,\n CampaignWorkGroupQueryParams,\n CreateCampaignWorkGroupRequest,\n} from './contracts/work-group';\n","import type { AxiosInstance } from 'axios';\nimport type { GetConfigTemplatesResponse, GetConfigTemplatesParams } from './contracts/chat-adapter';\n\n/**\n * Gateway for interacting with the Chat Adapter API.\n */\nexport class ChatAdapterGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n\n /**\n * Retrieves message templates associated with a configuration.\n * @param configId - The unique identifier of the configuration.\n * @param params - Optional query parameters for filtering and pagination.\n * @returns A promise that resolves to the template list response.\n */\n async getConfigTemplates(configId: string, params?: GetConfigTemplatesParams): Promise<GetConfigTemplatesResponse> {\n const { data } = await this.httpClient.get<GetConfigTemplatesResponse>(\n `${this.baseUrl}/message-templates/${configId}`,\n { params },\n );\n return data;\n }\n}\n\nexport type {\n GetConfigTemplatesResponse,\n GetConfigTemplatesParams,\n MessageTemplate,\n MessageTemplateComponent,\n ConfigTemplatesPaging,\n} from './contracts/chat-adapter';\n","import type { AxiosInstance } from 'axios';\nimport type { GetPresignedUrlRequest, UploadPresignedUrlResponse, AudioConvertResponse, GetAttachmentByIdRequest, AttachmentByIdResponse } from './contracts/assets';\n\n/**\n * Gateway for interacting with the Assets API.\n */\nexport class AssetsGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n /**\n * Retrieves a presigned URL to upload a file to the Assets API.\n * @param params - The configuration options and parameters for the presigned URL.\n * @returns The presigned URL details wrapped in a {@link UploadPresignedUrlResponse}.\n */\n async getPresignedUrl(params: GetPresignedUrlRequest): Promise<UploadPresignedUrlResponse> {\n const { data } = await this.httpClient.get<UploadPresignedUrlResponse>(`${this.baseUrl}/uploads/presigned-url`, {\n params,\n });\n return data;\n }\n\n /**\n * Converts an audio file to M4A format via the Assets API.\n * @param params - The audio file to convert.\n * @param params.file - The audio file to upload for conversion.\n * @returns The converted audio response with base64-encoded data, mimetype, extension and filename.\n */\n async convertAudioToM4A(formData: any): Promise<AudioConvertResponse> {\n const { data } = await this.httpClient.post<AudioConvertResponse>(\n `${this.baseUrl}/whatsapp/audio-convert`,\n formData,\n {\n headers: {\n 'Content-Type': 'multipart/form-data',\n },\n },\n );\n return data;\n }\n\n /**\n * Fetches an attachment by its file ID or storage key.\n *\n * When `key` is provided, the path is built from the key directly and no\n * `x-bucket-provider` header is sent. Otherwise, `fileId` and `provider` are\n * used to build the path and the provider header respectively.\n *\n * @param params - The parameters identifying the attachment.\n * @returns A signed URL to access the attachment.\n */\n async getAttachmentById(params: GetAttachmentByIdRequest): Promise<AttachmentByIdResponse> {\n const path = params.key\n ? `/uploads/${encodeURIComponent(params.key)}`\n : `/uploads/${encodeURIComponent(params.fileId!)}`;\n\n const axiosParams: Record<string, string> = {};\n\n if (params.download) axiosParams.download = 'true';\n if (params.filename) axiosParams.filename = params.filename;\n const headers: Record<string, string> = {};\n if (!params.key && params.provider) headers['x-bucket-provider'] = params.provider!;\n\n const { data } = await this.httpClient.get<AttachmentByIdResponse>(`${this.baseUrl}${path}`, {\n params: axiosParams,\n headers,\n });\n return data;\n }\n}\n\nexport type {\n GetPresignedUrlRequest,\n UploadPresignedUrlResponse,\n IUploadPresignedUrlResponse,\n AudioConvertResponse,\n GetAttachmentByIdRequest,\n AttachmentByIdResponse,\n} from './contracts/assets';\n","import type { AxiosInstance } from 'axios';\nimport type {\n ContactPhoneSearchResponse,\n GetContactPhonesParams,\n ContactCategoryResponse,\n} from './contracts/contact-phone';\n\n/**\n * Gateway for interacting with the Contact List API.\n */\nexport class ContactListGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n\n /**\n * Searches for contact phones with optional filtering and pagination.\n * @param params - The query parameters for the search.\n * @returns The paginated contact phones response.\n */\n async getContactsPhones(params: GetContactPhonesParams): Promise<ContactPhoneSearchResponse> {\n const { data } = await this.httpClient.get<ContactPhoneSearchResponse>(\n `${this.baseUrl}/contact/phone/search`,\n { params },\n );\n return data;\n }\n\n /**\n * Retrieves all contact categories.\n * @returns An array of contact categories.\n */\n async getCategoryList(): Promise<ContactCategoryResponse[]> {\n const { data } = await this.httpClient.get<ContactCategoryResponse[]>(\n `${this.baseUrl}/contact/category`,\n );\n return data;\n }\n}\n\nexport type {\n ContactPhoneSearchResponse,\n GetContactPhonesParams,\n ContactPhoneResponse,\n ContactCategoryResponse,\n} from './contracts/contact-phone';\n","import type { AxiosInstance } from 'axios';\nimport type {\n CreateIntegrationActionRequest,\n CreateCaseWebhookRequest,\n CreateIntegrationFieldRequest,\n CreateIntegrationPartnerRequest,\n DeleteIntegrationActionParams,\n DeleteIntegrationFieldParams,\n DeleteIntegrationPartnerParams,\n GetIntegrationHooksCatalogRequest,\n GetCaseWebhooksByCompanyRequest,\n GetIntegrationPartnersByCompanyRequest,\n HookCatalogItem,\n IntegrationAction,\n IntegrationField,\n IntegrationPartner,\n UpdateIntegrationActionParams,\n UpdateIntegrationActionRequest,\n UpdateIntegrationFieldParams,\n UpdateIntegrationFieldRequest,\n} from './contracts';\n\n/**\n * Gateway for interacting with the Integrations API.\n */\nexport class IntegrationsGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n\n /**\n * Retrieves all integration partners configured for a company.\n * @param companyId - The company identifier.\n * @returns The integration partners configured for the company.\n */\n async getPartnersByCompany({ companyId, name }: GetIntegrationPartnersByCompanyRequest): Promise<IntegrationPartner[]> {\n const { data } = await this.httpClient.get<IntegrationPartner[]>(`${this.baseUrl}/partner/company/${companyId}`, {\n params: name ? { name } : undefined,\n });\n return data;\n }\n\n /** Retrieves the Casos case webhooks scenario for a company. */\n async getCaseWebhooksByCompany({ companyId }: GetCaseWebhooksByCompanyRequest): Promise<IntegrationPartner[]> {\n const { data } = await this.httpClient.get<IntegrationPartner[]>(`${this.baseUrl}/webhook`, {\n params: { companyId },\n });\n return data;\n }\n\n /**\n * Retrieves the hook catalog, optionally scoped by module.\n * @param module - The optional module identifier used by the Integrations API filter.\n * @returns The hook catalog items, filtered by module when provided.\n */\n async getHooksCatalog({ module }: GetIntegrationHooksCatalogRequest = {}): Promise<HookCatalogItem[]> {\n const { data } = await this.httpClient.get<HookCatalogItem[]>(`${this.baseUrl}/hooks`, {\n params: module ? { module } : undefined,\n });\n return data;\n }\n\n /**\n * Creates an integration partner.\n * @param payload - The partner creation payload.\n * @returns The created integration partner.\n */\n async createPartner(payload: CreateIntegrationPartnerRequest): Promise<IntegrationPartner> {\n const { data } = await this.httpClient.post<IntegrationPartner>(`${this.baseUrl}/partner`, payload);\n return data;\n }\n\n /** Creates a case webhook. */\n async createCaseWebhook(payload: CreateCaseWebhookRequest): Promise<IntegrationPartner> {\n const { data } = await this.httpClient.post<IntegrationPartner>(`${this.baseUrl}/webhook`, payload);\n return data;\n }\n\n /**\n * Deletes an integration partner.\n * @param partnerId - The partner identifier.\n * @returns A promise that resolves when the partner is deleted.\n */\n async deletePartner({ partnerId }: DeleteIntegrationPartnerParams): Promise<void> {\n await this.httpClient.delete(`${this.baseUrl}/partner/${partnerId}`);\n }\n\n /**\n * Creates an integration action.\n * @param payload - The action creation payload.\n * @returns The created integration action.\n */\n async createAction(payload: CreateIntegrationActionRequest): Promise<IntegrationAction> {\n const { data } = await this.httpClient.post<IntegrationAction>(`${this.baseUrl}/action`, {\n ...payload,\n actionName: payload.actionName ?? payload.hook,\n });\n return data;\n }\n\n /**\n * Updates an integration action.\n * @param actionId - The action identifier.\n * @param payload - The action update payload.\n * @returns The updated integration action.\n */\n async updateAction({ actionId, payload }: UpdateIntegrationActionParams): Promise<IntegrationAction> {\n const { data } = await this.httpClient.patch<IntegrationAction>(`${this.baseUrl}/action/${actionId}`, payload);\n return data;\n }\n\n /**\n * Creates an integration action field/header.\n * @param payload - The field creation payload.\n * @returns The created integration field.\n */\n async createField(payload: CreateIntegrationFieldRequest): Promise<IntegrationField> {\n const { data } = await this.httpClient.post<IntegrationField>(`${this.baseUrl}/field`, payload);\n return data;\n }\n\n /**\n * Updates an integration action field/header.\n * @param fieldId - The field identifier.\n * @param payload - The field update payload.\n * @returns The updated integration field response.\n */\n async updateField({ fieldId, payload }: UpdateIntegrationFieldParams): Promise<IntegrationField | number[]> {\n const { data } = await this.httpClient.put<IntegrationField | number[]>(`${this.baseUrl}/field/${fieldId}`, payload);\n return data;\n }\n\n /**\n * Deletes an integration action field/header.\n * @param fieldId - The field identifier.\n * @returns A promise that resolves when the field is deleted.\n */\n async deleteField({ fieldId }: DeleteIntegrationFieldParams): Promise<void> {\n await this.httpClient.delete(`${this.baseUrl}/field/${fieldId}`);\n }\n\n /**\n * Deletes an integration action.\n * @param actionId - The action identifier.\n * @returns A promise that resolves when the action is deleted.\n */\n async deleteAction({ actionId }: DeleteIntegrationActionParams): Promise<void> {\n await this.httpClient.delete(`${this.baseUrl}/action/${actionId}`);\n }\n}\n\nexport type {\n CreateIntegrationActionRequest,\n CreateCaseWebhookRequest,\n CreateIntegrationFieldRequest,\n CreateIntegrationPartnerRequest,\n DeleteIntegrationActionParams,\n DeleteIntegrationFieldParams,\n DeleteIntegrationPartnerParams,\n GetIntegrationHooksCatalogRequest,\n GetCaseWebhooksByCompanyRequest,\n GetIntegrationPartnersByCompanyRequest,\n HookCatalogItem,\n IntegrationAction,\n IntegrationField,\n IntegrationPartner,\n UpdateIntegrationActionParams,\n UpdateIntegrationActionRequest,\n UpdateIntegrationFieldParams,\n UpdateIntegrationFieldRequest,\n} from './contracts';\n","import type { AxiosInstance } from 'axios';\nimport type {\n ListLiveUserRoomsRequest,\n LiveUserRoomResponse,\n GetRoomByIdRequest,\n RoomResponse,\n} from './contracts/room';\n\n/**\n * Gateway for interacting with the Chat Webservice API.\n */\nexport class ChatWebserviceGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n\n /**\n * Lists live rooms assigned to a user.\n * @param params - The recipient, company, and open-status filters.\n * @returns The live room entries for the user.\n */\n async listLiveUserRooms(params: ListLiveUserRoomsRequest): Promise<LiveUserRoomResponse[]> {\n const { data } = await this.httpClient.get<LiveUserRoomResponse[]>(`${this.baseUrl}/member/rooms/live`, { params });\n return data;\n }\n\n /**\n * Retrieves a chat room by its identifier.\n * @param id - The unique identifier of the room.\n * @param params - Optional query parameters for scoping and member inclusion.\n * @returns The chat room data.\n */\n async getRoomById(id: number, params: GetRoomByIdRequest = {}): Promise<RoomResponse> {\n const { data } = await this.httpClient.get<RoomResponse>(`${this.baseUrl}/room/${id}`, { params });\n return data;\n }\n}\n\nexport type {\n GetRoomByIdRequest,\n ListLiveUserRoomsRequest,\n LiveUserRoomResponse,\n RoomActiveDates,\n RoomMemberResponse,\n RoomResponse,\n RoomTagResponse,\n} from './contracts/room';\n","import type { AxiosInstance } from 'axios';\nimport type { ContactHistoryResponse, ListContactHistoryRequest } from './contracts/contact-history';\n\n/**\n * Gateway for interacting with the Call Report API.\n */\nexport class CallReportGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n\n /**\n * Lists contact interaction history across chat and CDR indexes.\n * @param params - Optional filters, pagination, and index selection.\n * @returns The paginated contact history response.\n */\n async listContactHistory(params: ListContactHistoryRequest = {}): Promise<ContactHistoryResponse> {\n const { data } = await this.httpClient.get<ContactHistoryResponse>(`${this.baseUrl}/history/index/multi`, {\n params,\n });\n return data;\n }\n}\n\nexport type {\n ContactHistoryIndex,\n ContactHistoryResponse,\n ContactHistorySortOrder,\n ContactInteractionResponse,\n InteractionCallStepResponse,\n InteractionChatStepResponse,\n InteractionMemberResponse,\n InteractionOrganizationResponse,\n ListContactHistoryRequest,\n} from './contracts/contact-history';\n","import { CustomerServiceGateway } from '../customer-service';\nimport { ChatConfigGateway } from '../chat-config';\nimport { CampaignsGateway } from '../campaigns';\nimport { ChatAdapterGateway } from '../chat-adapter';\nimport { AssetsGateway } from '../assets';\nimport { ContactListGateway } from '../contact-list';\nimport { IntegrationsGateway } from '../integrations';\nimport { ChatWebserviceGateway } from '../chat-webservice';\nimport { CallReportGateway } from '../call-report';\nimport axios, { AxiosInstance } from 'axios';\n\n/**\n * Maps service identifiers to their corresponding gateway types.\n * Used by the `gateway()` function to infer the correct return type\n * based on the service name passed as argument.\n *\n * When adding a new service, add an entry here with the service\n * identifier as the key and the gateway class as the value.\n */\nexport type GatewayMap = {\n 'customer-service': CustomerServiceGateway;\n 'chat-config': ChatConfigGateway;\n campaigns: CampaignsGateway;\n 'chat-adapter': ChatAdapterGateway;\n assets: AssetsGateway;\n 'contact-list': ContactListGateway;\n integrations: IntegrationsGateway;\n 'chat-webservice': ChatWebserviceGateway;\n 'call-report': CallReportGateway;\n};\n\nexport interface SDKGatewaysInterface {\n customerService: CustomerServiceGateway | null;\n chatConfig: ChatConfigGateway | null;\n campaigns: CampaignsGateway | null;\n chatAdapter: ChatAdapterGateway | null;\n assets: AssetsGateway | null;\n contactList: ContactListGateway | null;\n integrations: IntegrationsGateway | null;\n chatWebservice: ChatWebserviceGateway | null;\n callReport: CallReportGateway | null;\n}\n\nclass SDKGateways {\n customerService: CustomerServiceGateway | null;\n chatConfig: ChatConfigGateway | null;\n campaigns: CampaignsGateway | null;\n chatAdapter: ChatAdapterGateway | null;\n assets: AssetsGateway | null;\n contactList: ContactListGateway | null;\n integrations: IntegrationsGateway | null;\n chatWebservice: ChatWebserviceGateway | null;\n callReport: CallReportGateway | null;\n constructor(\n customerService: CustomerServiceGateway | null,\n chatConfig: ChatConfigGateway | null,\n campaigns: CampaignsGateway | null,\n chatAdapter: ChatAdapterGateway | null,\n assets: AssetsGateway | null,\n contactList: ContactListGateway | null,\n integrations: IntegrationsGateway | null,\n chatWebservice: ChatWebserviceGateway | null,\n callReport: CallReportGateway | null,\n ) {\n this.customerService = customerService;\n this.chatConfig = chatConfig;\n this.campaigns = campaigns;\n this.chatAdapter = chatAdapter;\n this.assets = assets;\n this.contactList = contactList;\n this.integrations = integrations;\n this.chatWebservice = chatWebservice;\n this.callReport = callReport;\n }\n}\n\n/**\n * Parameters required to configure the SDK client.\n * Each service configuration is optional, only provide the services you need.\n */\nexport interface GatewayClientParams {\n /** An Axios instance used as the HTTP client for all gateway requests (optional). */\n axiosClient?: AxiosInstance;\n /** API token used for authentication across all services. */\n apiToken: string;\n /** Configuration for each service gateway. Only the services you configure will be available. */\n services: {\n customerService?: {\n baseUrl: string;\n };\n chatConfig?: {\n baseUrl: string;\n };\n campaigns?: {\n baseUrl: string;\n };\n chatAdapter?: {\n baseUrl: string;\n };\n assets?: {\n baseUrl: string;\n };\n contactList?: {\n baseUrl: string;\n };\n integrations?: {\n baseUrl: string;\n };\n chatWebservice?: {\n baseUrl: string;\n };\n callReport?: {\n baseUrl: string;\n };\n };\n}\n\n/**\n * Creates an SDKGateways instance with all service gateways initialized\n * using the provided configuration parameters.\n * Services without configuration will be set to null and will throw\n * an error if accessed via `gateway()`.\n */\nexport function createClient(params: GatewayClientParams) {\n const httpClient =\n params.axiosClient ||\n axios.create({\n headers: {\n Authorization: `Bearer ${params.apiToken}`,\n },\n });\n const customerService = params.services.customerService\n ? new CustomerServiceGateway(httpClient, params.services.customerService.baseUrl)\n : null;\n const chatConfig = params.services.chatConfig\n ? new ChatConfigGateway(httpClient, params.services.chatConfig.baseUrl)\n : null;\n const campaigns = params.services.campaigns\n ? new CampaignsGateway(httpClient, params.services.campaigns.baseUrl)\n : null;\n const chatAdapter = params.services.chatAdapter\n ? new ChatAdapterGateway(httpClient, params.services.chatAdapter.baseUrl)\n : null;\n const assets = params.services.assets ? new AssetsGateway(httpClient, params.services.assets.baseUrl) : null;\n const contactList = params.services.contactList\n ? new ContactListGateway(httpClient, params.services.contactList.baseUrl)\n : null;\n const integrations = params.services.integrations\n ? new IntegrationsGateway(httpClient, params.services.integrations.baseUrl)\n : null;\n const chatWebservice = params.services.chatWebservice\n ? new ChatWebserviceGateway(httpClient, params.services.chatWebservice.baseUrl)\n : null;\n const callReport = params.services.callReport\n ? new CallReportGateway(httpClient, params.services.callReport.baseUrl)\n : null;\n return new SDKGateways(\n customerService,\n chatConfig,\n campaigns,\n chatAdapter,\n assets,\n contactList,\n integrations,\n chatWebservice,\n callReport,\n );\n}\n","export const SERVICE_GATEWAYS = {\n CUSTOMER_SERVICE: 'customer-service',\n CHAT_CONFIG: 'chat-config',\n CAMPAIGNS: 'campaigns',\n CHAT_ADAPTER: 'chat-adapter',\n ASSETS: 'assets',\n CONTACT_LIST: 'contact-list',\n INTEGRATIONS: 'integrations',\n CHAT_WEBSERVICE: 'chat-webservice',\n CALL_REPORT: 'call-report',\n} as const;\n\nexport type SERVICE_GATEWAYS = (typeof SERVICE_GATEWAYS)[keyof typeof SERVICE_GATEWAYS];\n"],"mappings":"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","names":["module","axios"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/customer-service/index.ts","../src/chat-config/index.ts","../src/campaigns/index.ts","../src/chat-adapter/index.ts","../src/assets/index.ts","../src/contact-list/index.ts","../src/integrations/index.ts","../src/chat-webservice/index.ts","../src/call-report/index.ts","../src/cases/index.ts","../src/@common/client.ts","../src/@common/enums.ts"],"sourcesContent":["import { createClient, SDKGatewaysInterface, GatewayClientParams, GatewayMap } from './@common/client';\nimport { SERVICE_GATEWAYS } from './@common/enums';\n\nclass SDK {\n client: SDKGatewaysInterface | null = null;\n\n configure(params: GatewayClientParams) {\n this.client = createClient(params);\n }\n}\nconst sdk = new SDK();\n\n/**\n * Initializes the SDK with the required configuration parameters.\n * Must be called before using {@link gateway}.\n */\nexport const configure = (params: GatewayClientParams) => {\n sdk.configure(params);\n};\n\n/**\n * Returns the gateway instance for the specified service.\n *\n * @typeParam T - A service identifier key from {@link GatewayMap}.\n * @param service - The service identifier (e.g. `SERVICE_GATEWAYS.CUSTOMER_SERVICE`).\n * @returns The corresponding gateway instance with all its methods.\n * @throws {Error} If the SDK has not been configured via {@link configure}.\n * @throws {Error} If an unknown service identifier is provided.\n *\n * @example\n * ```ts\n * configure({ axiosClient, apiToken: '...', services: { customerService: { baseUrl: '...' } } });\n * const customer = gateway('customer-service');\n * const company = await customer.getCompanyById('123');\n * ```\n */\nexport function gateway<T extends keyof GatewayMap>(service: T): GatewayMap[T];\nexport function gateway(service: SERVICE_GATEWAYS) {\n if (!sdk.client)\n throw new Error(\n 'SDK not configured. Please call configure() with the appropriate parameters before using the SDK.',\n );\n\n switch (service) {\n case SERVICE_GATEWAYS.CUSTOMER_SERVICE:\n if (!sdk.client.customerService)\n throw new Error(`Service 'customer-service' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.customerService;\n case SERVICE_GATEWAYS.CHAT_CONFIG:\n if (!sdk.client.chatConfig)\n throw new Error(`Service 'chat-config' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.chatConfig;\n case SERVICE_GATEWAYS.CAMPAIGNS:\n if (!sdk.client.campaigns)\n throw new Error(`Service 'campaigns' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.campaigns;\n case SERVICE_GATEWAYS.CHAT_ADAPTER:\n if (!sdk.client.chatAdapter)\n throw new Error(`Service 'chat-adapter' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.chatAdapter;\n case SERVICE_GATEWAYS.ASSETS:\n if (!sdk.client.assets)\n throw new Error(`Service 'assets' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.assets;\n case SERVICE_GATEWAYS.CONTACT_LIST:\n if (!sdk.client.contactList)\n throw new Error(`Service 'contact-list' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.contactList;\n case SERVICE_GATEWAYS.INTEGRATIONS:\n if (!sdk.client.integrations)\n throw new Error(`Service 'integrations' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.integrations;\n case SERVICE_GATEWAYS.CHAT_WEBSERVICE:\n if (!sdk.client.chatWebservice)\n throw new Error(`Service 'chat-webservice' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.chatWebservice;\n case SERVICE_GATEWAYS.CALL_REPORT:\n if (!sdk.client.callReport)\n throw new Error(`Service 'call-report' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.callReport;\n case SERVICE_GATEWAYS.CASES:\n if (!sdk.client.cases)\n throw new Error(`Service 'cases' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.cases;\n default:\n throw new Error(`Unknown service gateway: ${service}`);\n }\n}\n\nexport * from './campaigns/contracts';\nexport * from './chat-config/contracts';\nexport * from './customer-service/contracts';\nexport * from './chat-adapter/contracts';\nexport * from './assets/contracts';\nexport * from './contact-list/contracts';\nexport * from './integrations/contracts';\nexport * from './chat-webservice/contracts';\nexport * from './call-report/contracts';\n","import type { AxiosInstance } from 'axios';\nimport type { CompanyResponse } from './contracts/company';\nimport type {\n WorkGroupListResponse,\n WorkGroupMembersResponse,\n WorkGroupResponse,\n} from './contracts/work-group';\nimport type {\n GetAllUsersParams,\n GetAllUsersResponse,\n GetManagedUsersResponse,\n} from './contracts/user';\n\n/**\n * Gateway for interacting with the Customer Service API.\n */\nexport class CustomerServiceGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n\n /**\n * Retrieves a company by its unique identifier.\n * @param companyId - The unique identifier of the company.\n * @returns The company data wrapped in a {@link CompanyResponse}.\n */\n async getCompanyById(companyId: string): Promise<CompanyResponse> {\n const { data } = await this.httpClient.get<CompanyResponse>(`${this.baseUrl}/companies/search/${companyId}`);\n return data;\n }\n\n /**\n * Retrieves all work groups for a company.\n * @param companyId - The unique identifier of the company.\n * @returns The work groups for the given company.\n */\n async getWorkGroups(companyId: string): Promise<WorkGroupListResponse> {\n const { data } = await this.httpClient.get<WorkGroupListResponse>(\n `${this.baseUrl}/companies/work-groups`,\n { params: { company_id: companyId } },\n );\n return data;\n }\n\n /**\n * Retrieves a work group by its unique identifier.\n * @param workGroupId - The unique identifier of the work group.\n * @param companyId - The unique identifier of the company (optional, sent as query parameter).\n * @returns The work group data wrapped in a {@link WorkGroupResponse}.\n */\n async getWorkGroupById(workGroupId: string, companyId?: string): Promise<WorkGroupResponse> {\n const params = companyId ? { company_id: companyId } : undefined;\n const { data } = await this.httpClient.get<WorkGroupResponse>(\n `${this.baseUrl}/companies/work-groups/${workGroupId}`,\n { params },\n );\n return data;\n }\n\n /**\n * Retrieves the members of a work group by its identifier.\n * @param groupId - The unique identifier of the work group.\n * @param companyId - The unique identifier of the company (optional, sent as query parameter).\n * @param profile - Filter members by profile (optional).\n * @returns The members of the work group.\n */\n async getWorkGroupMembers(\n groupId: string,\n companyId?: string,\n profile?: string[],\n ): Promise<WorkGroupMembersResponse> {\n const params: { company_id?: string; profile?: string[] } = {};\n if (companyId) params.company_id = companyId;\n if (profile) params.profile = profile;\n const { data } = await this.httpClient.get<WorkGroupMembersResponse>(\n `${this.baseUrl}/bonds/work-groups/${groupId}`,\n { params },\n );\n return data;\n }\n\n async getAllUsers(params?: GetAllUsersParams): Promise<GetAllUsersResponse> {\n const { data } = await this.httpClient.get<GetAllUsersResponse>(\n `${this.baseUrl}/companies/users`,\n { params },\n );\n return data;\n }\n\n async getManagedUsers(managerId: string): Promise<GetManagedUsersResponse> {\n const { data } = await this.httpClient.get<GetManagedUsersResponse>(\n `${this.baseUrl}/users/managed/${managerId}`,\n );\n return data;\n }\n}\n\nexport type { CompanyResponse, CompanyData } from './contracts/company';\nexport type {\n WorkGroup,\n WorkGroupMember,\n WorkGroupMembersResponse,\n WorkGroupListResponse,\n WorkGroupResponse,\n} from './contracts/work-group';\nexport type {\n User,\n GetAllUsersParams,\n GetAllUsersResponse,\n ManagedUser,\n GetManagedUsersResponse,\n} from './contracts/user';","import type { AxiosInstance } from 'axios';\nimport type {\n GetProviderConfigurationsParams,\n ProviderConfigurationsResponse,\n ProviderListResponse,\n} from './contracts/provider';\nimport type { ConfigListByProviderResponse, GetConfigsByProviderParams } from './contracts/config';\nimport type {\n GetServiceGroupsParams,\n Queue,\n QueueListResponse,\n QueueMember,\n GetMemberQueuesRequest,\n ServiceGroupsResponse,\n} from './contracts/queues';\nimport type { MetaTemplateConfigResponse, MetaTemplateConfigsResponse } from './contracts/meta-template';\nimport type {\n FindOrCreateQueueRuleRequest,\n GetRootRulesRequest,\n RootRulesResponse,\n Rule,\n QueueRule,\n} from './contracts/rule';\n\n/**\n * Gateway for interacting with the Chat Config API.\n */\nexport class ChatConfigGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n\n /**\n * Retrieves all available providers.\n * @returns The list of providers.\n */\n async getProviders(): Promise<ProviderListResponse> {\n const { data } = await this.httpClient.get<ProviderListResponse>(`${this.baseUrl}/providers`);\n return data;\n }\n\n /**\n * Retrieves provider configurations filtered by configuration IDs.\n * @param params - Query parameters containing one or more configuration IDs.\n * @returns The provider configurations matching the given IDs.\n */\n async getProviderConfigurations(params?: GetProviderConfigurationsParams): Promise<ProviderConfigurationsResponse> {\n const url = `${this.baseUrl}/providers/configurations`;\n const { data } = await this.httpClient.get<ProviderConfigurationsResponse>(url, { params: params });\n return data;\n }\n\n /**\n * Retrieves configurations filtered by provider.\n * @param providerId - The unique identifier of the provider.\n * @param params - Optional query parameters for filtering configurations.\n * @returns The configurations for the given provider.\n */\n async getConfigsByProvider(\n providerId: string,\n params?: GetConfigsByProviderParams,\n ): Promise<ConfigListByProviderResponse> {\n const { data } = await this.httpClient.get<ConfigListByProviderResponse>(\n `${this.baseUrl}/config/provider/${providerId}`,\n { params },\n );\n return data;\n }\n\n /**\n * Retrieves a queue by its ID.\n * @param queueId - The unique identifier of the queue.\n * @returns The queue data.\n */\n async getQueueById(queueId: string): Promise<Queue> {\n const { data } = await this.httpClient.get<Queue>(`${this.baseUrl}/queue/${queueId}`);\n return data;\n }\n\n async getQueues(): Promise<Queue[]> {\n const { data } = await this.httpClient.get<Queue[]>(`${this.baseUrl}/queues`);\n return data;\n }\n\n /**\n * Lists queue memberships for a member.\n * @param params - The member identifier and optional association filter.\n * @returns The queue memberships for the given member.\n */\n async getMemberQueues(params: GetMemberQueuesRequest): Promise<QueueMember[]> {\n const { data } = await this.httpClient.get<QueueMember[]>(`${this.baseUrl}/queue-members`, { params });\n return data;\n }\n\n /**\n * Retrieves service groups filtered by service group IDs.\n * @param params - Query parameters containing one or more service group IDs.\n * @returns The service groups matching the given IDs.\n */\n async getServiceGroups(params?: GetServiceGroupsParams): Promise<ServiceGroupsResponse> {\n const url = `${this.baseUrl}/service-groups`;\n const { data } = await this.httpClient.get<ServiceGroupsResponse>(url, { params: params });\n return data;\n }\n\n /**\n * Retrieves a Meta template configuration by its ID.\n * @param templateId - The unique identifier of the template.\n * @returns The Meta template configuration.\n */\n async getMetaTemplateById(templateId: string): Promise<MetaTemplateConfigResponse> {\n const { data } = await this.httpClient.get<MetaTemplateConfigResponse>(\n `${this.baseUrl}/meta-templates-config/${templateId}`,\n );\n return data;\n }\n\n /**\n * Retrieves template configurations associated with a configuration ID.\n * @param configId - The configuration identifier.\n * @returns The list of template configurations.\n */\n async getTemplateConfigsByConfigId(configId: string): Promise<MetaTemplateConfigsResponse> {\n const { data } = await this.httpClient.get<MetaTemplateConfigsResponse>(\n `${this.baseUrl}/meta-templates-config/config/${configId}`,\n );\n return data;\n }\n\n /**\n * Finds an existing queue rule or creates a new one if it does not exist.\n * @param payload - The payload containing companyId, queueId, and configId.\n * @returns The found or created queue rule.\n */\n async findOrCreateQueueRule(payload: FindOrCreateQueueRuleRequest): Promise<QueueRule> {\n const { data } = await this.httpClient.put<QueueRule>(`${this.baseUrl}/rules/queue/find-or-create`, payload);\n return data;\n }\n\n /**\n * @param params - The company and pagination parameters.\n * @returns The paginated initial service rules.\n */\n async getRootRules(params: GetRootRulesRequest): Promise<RootRulesResponse> {\n const { data } = await this.httpClient.get<RootRulesResponse>(`${this.baseUrl}/rules/paginated`, {\n params: {\n archiveStatus: 'unarchived',\n companyId: params.companyId,\n offset: params.offset,\n limit: params.limit,\n name: params?.name,\n isRoot: true,\n },\n });\n return data;\n }\n}\n\nexport type {\n GetServiceGroupsParams,\n Queue,\n QueueMember,\n DistributionType,\n QueueListResponse,\n ServiceGroup,\n ServiceGroupsResponse,\n} from './contracts/queues';\nexport type {\n GetProviderConfigurationsParams,\n ProviderConfiguration,\n ProviderConfigurationsResponse,\n ProviderListResponse,\n Provider,\n WhatsAppProviderSettings,\n WidgetProviderSettings,\n} from './contracts/provider';\nexport type {\n ConfigListByProviderResponse,\n Config,\n ConfigProvider,\n GetConfigsByProviderParams,\n} from './contracts/config';\nexport type {\n MetaTemplateButton,\n MetaTemplateConfigResponse,\n MetaTemplateConfigsResponse,\n} from './contracts/meta-template';\nexport type { FindOrCreateQueueRuleRequest, QueueRule, RootRulesResponse, Rule } from './contracts/rule';\n","import type { AxiosInstance } from 'axios';\nimport type {\n Campaign,\n CampaignPaginatedResponse,\n CampaignQueryParams,\n CreateCampaignRequest,\n PatchCampaignRequest,\n CampaignUser,\n} from './contracts/campaign';\nimport type {\n CampaignContactPaginatedResponse,\n CampaignContactQueryParams,\n CampaignContactResponse,\n CreateCampaignContactRequest,\n PatchCampaignContactRequest,\n} from './contracts/campaign-contacts';\nimport type {\n CampaignContactsDashboardData,\n CampaignContactsDashboardQueryParams,\n} from './contracts/campaign-contacts-dashboard';\nimport type {\n CampaignWorkGroup,\n CampaignWorkGroupPaginatedResponse,\n CampaignWorkGroupQueryParams,\n CreateCampaignWorkGroupRequest,\n} from './contracts/work-group';\n\n/**\n * Gateway for interacting with the Campaigns API.\n */\nexport class CampaignsGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n\n /**\n * Retrieves a paginated list of campaigns.\n * @param query - Optional query parameters for filtering and pagination.\n * @returns The paginated campaigns response.\n */\n async find(query?: CampaignQueryParams): Promise<CampaignPaginatedResponse> {\n const { data } = await this.httpClient.get<CampaignPaginatedResponse>(`${this.baseUrl}/campaigns`, {\n params: query,\n });\n return data;\n }\n\n /**\n * Retrieves a campaign by its unique identifier.\n * @param id - The unique identifier of the campaign.\n * @returns The campaign data.\n */\n async get(id: string): Promise<Campaign> {\n const { data } = await this.httpClient.get<Campaign>(`${this.baseUrl}/campaigns/${id}`);\n return data;\n }\n\n /**\n * Creates a new campaign.\n * @param payload - The campaign data to create.\n * @returns The created campaign.\n */\n async create(payload: CreateCampaignRequest): Promise<Campaign> {\n const { data } = await this.httpClient.post<Campaign>(`${this.baseUrl}/campaigns`, payload);\n return data;\n }\n\n /**\n * Partially updates an existing campaign.\n * @param id - The unique identifier of the campaign.\n * @param payload - The fields to update.\n * @returns The updated campaign.\n */\n async patch(id: string, payload: PatchCampaignRequest): Promise<Campaign> {\n const { data } = await this.httpClient.patch<Campaign>(`${this.baseUrl}/campaigns/${id}`, payload);\n return data;\n }\n\n /**\n * Removes a campaign by its unique identifier.\n * @param id - The unique identifier of the campaign.\n * @returns The removed campaign.\n */\n async remove(id: string): Promise<Campaign> {\n const { data } = await this.httpClient.delete<Campaign>(`${this.baseUrl}/campaigns/${id}`);\n return data;\n }\n\n /**\n * Retrieves a paginated list of campaign contacts.\n * @param query - Optional query parameters for filtering and pagination.\n * @returns The paginated campaign contacts response.\n */\n async findCampaignContacts(query?: CampaignContactQueryParams): Promise<CampaignContactPaginatedResponse> {\n const { data } = await this.httpClient.get<CampaignContactPaginatedResponse>(`${this.baseUrl}/campaign-contacts`, {\n params: query,\n });\n return data;\n }\n\n /**\n * Retrieves a campaign contact by its unique identifier.\n * @param id - The unique identifier of the campaign contact.\n * @returns The campaign contact data.\n */\n async getCampaignContacts(id: string): Promise<CampaignContactResponse> {\n const { data } = await this.httpClient.get<CampaignContactResponse>(`${this.baseUrl}/campaign-contacts/${id}`);\n return data;\n }\n\n /**\n * Creates a new campaign contact.\n * @param payload - The campaign contact data to create.\n * @returns The created campaign contact.\n */\n async createCampaignContact(payload: CreateCampaignContactRequest): Promise<CampaignContactResponse> {\n const { data } = await this.httpClient.post<CampaignContactResponse>(`${this.baseUrl}/campaign-contacts`, payload);\n return data;\n }\n\n /**\n * Adds multiple contacts to a campaign in a single request.\n * @param payload - The list of campaign contacts to create.\n * @returns The created campaign contacts.\n */\n async addContactsToCampaign(payload: CreateCampaignContactRequest[]): Promise<CampaignContactResponse[]> {\n const { data } = await this.httpClient.post<CampaignContactResponse[]>(\n `${this.baseUrl}/campaign-contacts`,\n payload,\n );\n return data;\n }\n\n /**\n * Partially updates an existing campaign contact.\n * @param id - The unique identifier of the campaign contact.\n * @param payload - The fields to update.\n * @returns The updated campaign contact.\n */\n async patchCampaignContact(id: string, payload: PatchCampaignContactRequest): Promise<CampaignContactResponse> {\n const { data } = await this.httpClient.patch<CampaignContactResponse>(\n `${this.baseUrl}/campaign-contacts/${id}`,\n payload,\n );\n return data;\n }\n\n /**\n * Removes a campaign contact by its unique identifier.\n * @param id - The unique identifier of the campaign contact.\n * @returns The removed campaign contact.\n */\n async removeCampaignContact(id: string): Promise<CampaignContactResponse> {\n const { data } = await this.httpClient.delete<CampaignContactResponse>(`${this.baseUrl}/campaign-contacts/${id}`);\n return data;\n }\n\n async getContactsDashboardData(\n query: CampaignContactsDashboardQueryParams,\n ): Promise<CampaignContactsDashboardData> {\n const { data } = await this.httpClient.get<CampaignContactsDashboardData>(\n `${this.baseUrl}/campaign-contacts-dashboard`,\n {\n params: query,\n },\n );\n return data;\n }\n\n async getUsers() {\n const { data } = await this.httpClient.get<CampaignUser[]>(`${this.baseUrl}/users`);\n return data;\n }\n\n async listWorkGroups(query?: CampaignWorkGroupQueryParams): Promise<CampaignWorkGroupPaginatedResponse> {\n const { data } = await this.httpClient.get<CampaignWorkGroupPaginatedResponse>(`${this.baseUrl}/work-groups`, {\n params: query,\n });\n return data;\n }\n\n async createWorkGroup(payload: CreateCampaignWorkGroupRequest): Promise<CampaignWorkGroup> {\n const { data } = await this.httpClient.post<CampaignWorkGroup>(`${this.baseUrl}/work-groups`, payload);\n return data;\n }\n\n async deleteWorkGroup(id: string): Promise<CampaignWorkGroup> {\n const { data } = await this.httpClient.delete<CampaignWorkGroup>(`${this.baseUrl}/work-groups/${id}`);\n return data;\n }\n}\n\nexport type {\n Campaign,\n CampaignPaginatedResponse,\n CampaignQueryParams,\n CampaignRetryConfig,\n CampaignStatus,\n CampaignProvider,\n WhatsAppPayload,\n WhatsAppTemplateComponent,\n CampaignContactFilter,\n CampaignSchedule,\n CreateCampaignRequest,\n PatchCampaignRequest,\n CampaignUser,\n} from './contracts/campaign';\nexport type {\n CampaignContactCampaignStatus,\n CampaignContactDispatchStatus,\n CampaignContactLikeQueryOperators,\n CampaignContactPaginatedResponse,\n CampaignContactQueryOperators,\n CampaignContactQueryParams,\n CampaignContactQueryValue,\n CampaignContactResponse,\n CampaignContactSortDirection,\n CampaignContactSortParams,\n CreateCampaignContactRequest,\n PatchCampaignContactRequest,\n} from './contracts/campaign-contacts';\nexport type {\n CampaignContactsDashboardChannelPerformance,\n CampaignContactsDashboardData,\n CampaignContactsDashboardExactQueryOperators,\n CampaignContactsDashboardEvolutionItem,\n CampaignContactsDashboardFunnelItem,\n CampaignContactsDashboardInterval,\n CampaignContactsDashboardMetrics,\n CampaignContactsDashboardQueryParams,\n CampaignContactsDashboardQueryValue,\n CampaignContactsDashboardRangeQueryOperators,\n CampaignContactsDashboardStatusDistribution,\n CampaignContactsDashboardStatusMetrics,\n CampaignContactsDashboardSummary,\n CampaignContactsDashboardTopCampaign,\n} from './contracts/campaign-contacts-dashboard';\nexport type {\n CampaignWorkGroup,\n CampaignWorkGroupPaginatedResponse,\n CampaignWorkGroupQueryParams,\n CreateCampaignWorkGroupRequest,\n} from './contracts/work-group';\n","import type { AxiosInstance } from 'axios';\nimport type { GetConfigTemplatesResponse, GetConfigTemplatesParams } from './contracts/chat-adapter';\n\n/**\n * Gateway for interacting with the Chat Adapter API.\n */\nexport class ChatAdapterGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n\n /**\n * Retrieves message templates associated with a configuration.\n * @param configId - The unique identifier of the configuration.\n * @param params - Optional query parameters for filtering and pagination.\n * @returns A promise that resolves to the template list response.\n */\n async getConfigTemplates(configId: string, params?: GetConfigTemplatesParams): Promise<GetConfigTemplatesResponse> {\n const { data } = await this.httpClient.get<GetConfigTemplatesResponse>(\n `${this.baseUrl}/message-templates/${configId}`,\n { params },\n );\n return data;\n }\n}\n\nexport type {\n GetConfigTemplatesResponse,\n GetConfigTemplatesParams,\n MessageTemplate,\n MessageTemplateComponent,\n ConfigTemplatesPaging,\n} from './contracts/chat-adapter';\n","import type { AxiosInstance } from 'axios';\nimport type { GetPresignedUrlRequest, UploadPresignedUrlResponse, AudioConvertResponse, GetAttachmentByIdRequest, AttachmentByIdResponse } from './contracts/assets';\n\n/**\n * Gateway for interacting with the Assets API.\n */\nexport class AssetsGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n /**\n * Retrieves a presigned URL to upload a file to the Assets API.\n * @param params - The configuration options and parameters for the presigned URL.\n * @returns The presigned URL details wrapped in a {@link UploadPresignedUrlResponse}.\n */\n async getPresignedUrl(params: GetPresignedUrlRequest): Promise<UploadPresignedUrlResponse> {\n const { data } = await this.httpClient.get<UploadPresignedUrlResponse>(`${this.baseUrl}/uploads/presigned-url`, {\n params,\n });\n return data;\n }\n\n /**\n * Converts an audio file to M4A format via the Assets API.\n * @param params - The audio file to convert.\n * @param params.file - The audio file to upload for conversion.\n * @returns The converted audio response with base64-encoded data, mimetype, extension and filename.\n */\n async convertAudioToM4A(formData: any): Promise<AudioConvertResponse> {\n const { data } = await this.httpClient.post<AudioConvertResponse>(\n `${this.baseUrl}/whatsapp/audio-convert`,\n formData,\n {\n headers: {\n 'Content-Type': 'multipart/form-data',\n },\n },\n );\n return data;\n }\n\n /**\n * Fetches an attachment by its file ID or storage key.\n *\n * When `key` is provided, the path is built from the key directly and no\n * `x-bucket-provider` header is sent. Otherwise, `fileId` and `provider` are\n * used to build the path and the provider header respectively.\n *\n * @param params - The parameters identifying the attachment.\n * @returns A signed URL to access the attachment.\n */\n async getAttachmentById(params: GetAttachmentByIdRequest): Promise<AttachmentByIdResponse> {\n const path = params.key\n ? `/uploads/${encodeURIComponent(params.key)}`\n : `/uploads/${encodeURIComponent(params.fileId!)}`;\n\n const axiosParams: Record<string, string> = {};\n\n if (params.download) axiosParams.download = 'true';\n if (params.filename) axiosParams.filename = params.filename;\n const headers: Record<string, string> = {};\n if (!params.key && params.provider) headers['x-bucket-provider'] = params.provider!;\n\n const { data } = await this.httpClient.get<AttachmentByIdResponse>(`${this.baseUrl}${path}`, {\n params: axiosParams,\n headers,\n });\n return data;\n }\n}\n\nexport type {\n GetPresignedUrlRequest,\n UploadPresignedUrlResponse,\n IUploadPresignedUrlResponse,\n AudioConvertResponse,\n GetAttachmentByIdRequest,\n AttachmentByIdResponse,\n} from './contracts/assets';\n","import type { AxiosInstance } from 'axios';\nimport type {\n ContactPhoneSearchResponse,\n GetContactPhonesParams,\n ContactCategoryResponse,\n} from './contracts/contact-phone';\n\n/**\n * Gateway for interacting with the Contact List API.\n */\nexport class ContactListGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n\n /**\n * Searches for contact phones with optional filtering and pagination.\n * @param params - The query parameters for the search.\n * @returns The paginated contact phones response.\n */\n async getContactsPhones(params: GetContactPhonesParams): Promise<ContactPhoneSearchResponse> {\n const { data } = await this.httpClient.get<ContactPhoneSearchResponse>(\n `${this.baseUrl}/contact/phone/search`,\n { params },\n );\n return data;\n }\n\n /**\n * Retrieves all contact categories.\n * @returns An array of contact categories.\n */\n async getCategoryList(): Promise<ContactCategoryResponse[]> {\n const { data } = await this.httpClient.get<ContactCategoryResponse[]>(\n `${this.baseUrl}/contact/category`,\n );\n return data;\n }\n}\n\nexport type {\n ContactPhoneSearchResponse,\n GetContactPhonesParams,\n ContactPhoneResponse,\n ContactCategoryResponse,\n} from './contracts/contact-phone';\n","import type { AxiosInstance } from 'axios';\nimport type {\n CreateIntegrationActionRequest,\n CreateWebhookRequest,\n CreateIntegrationFieldRequest,\n CreateIntegrationPartnerRequest,\n DeleteIntegrationActionParams,\n DeleteIntegrationFieldParams,\n DeleteIntegrationPartnerParams,\n GetIntegrationHooksCatalogRequest,\n GetWebhooksByCompanyRequest,\n GetIntegrationPartnersByCompanyRequest,\n HookCatalogItem,\n IntegrationAction,\n IntegrationField,\n IntegrationPartner,\n UpdateIntegrationActionParams,\n UpdateIntegrationActionRequest,\n UpdateIntegrationFieldParams,\n UpdateIntegrationFieldRequest,\n} from './contracts';\n\n/**\n * Gateway for interacting with the Integrations API.\n */\nexport class IntegrationsGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n\n /**\n * Retrieves all integration partners configured for a company.\n * @param companyId - The company identifier.\n * @returns The integration partners configured for the company.\n */\n async getPartnersByCompany({ companyId, name }: GetIntegrationPartnersByCompanyRequest): Promise<IntegrationPartner[]> {\n const { data } = await this.httpClient.get<IntegrationPartner[]>(`${this.baseUrl}/partner/company/${companyId}`, {\n params: name ? { name } : undefined,\n });\n return data;\n }\n\n /** Retrieves the webhooks scenario for a company. */\n async getWebhooksByCompany(params: GetWebhooksByCompanyRequest): Promise<IntegrationPartner[]> {\n const { data } = await this.httpClient.get<IntegrationPartner[]>(`${this.baseUrl}/webhooks`, {\n params,\n });\n return data;\n }\n\n /**\n * Retrieves the hook catalog, optionally scoped by module.\n * @param module - The optional module identifier used by the Integrations API filter.\n * @returns The hook catalog items, filtered by module when provided.\n */\n async getHooksCatalog({ module }: GetIntegrationHooksCatalogRequest = {}): Promise<HookCatalogItem[]> {\n const { data } = await this.httpClient.get<HookCatalogItem[]>(`${this.baseUrl}/hooks`, {\n params: module ? { module } : undefined,\n });\n return data;\n }\n\n /**\n * Creates an integration partner.\n * @param payload - The partner creation payload.\n * @returns The created integration partner.\n */\n async createPartner(payload: CreateIntegrationPartnerRequest): Promise<IntegrationPartner> {\n const { data } = await this.httpClient.post<IntegrationPartner>(`${this.baseUrl}/partner`, payload);\n return data;\n }\n\n /** Creates a webhook. */\n async createWebhook(payload: CreateWebhookRequest): Promise<IntegrationPartner> {\n const { data } = await this.httpClient.post<IntegrationPartner>(`${this.baseUrl}/webhooks`, payload);\n return data;\n }\n\n /**\n * Deletes an integration partner.\n * @param partnerId - The partner identifier.\n * @returns A promise that resolves when the partner is deleted.\n */\n async deletePartner({ partnerId }: DeleteIntegrationPartnerParams): Promise<void> {\n await this.httpClient.delete(`${this.baseUrl}/partner/${partnerId}`);\n }\n\n /**\n * Creates an integration action.\n * @param payload - The action creation payload.\n * @returns The created integration action.\n */\n async createAction(payload: CreateIntegrationActionRequest): Promise<IntegrationAction> {\n const { data } = await this.httpClient.post<IntegrationAction>(`${this.baseUrl}/action`, {\n ...payload,\n actionName: payload.actionName ?? payload.hook,\n });\n return data;\n }\n\n /**\n * Updates an integration action.\n * @param actionId - The action identifier.\n * @param payload - The action update payload.\n * @returns The updated integration action.\n */\n async updateAction({ actionId, payload }: UpdateIntegrationActionParams): Promise<IntegrationAction> {\n const { data } = await this.httpClient.patch<IntegrationAction>(`${this.baseUrl}/action/${actionId}`, payload);\n return data;\n }\n\n /**\n * Creates an integration action field/header.\n * @param payload - The field creation payload.\n * @returns The created integration field.\n */\n async createField(payload: CreateIntegrationFieldRequest): Promise<IntegrationField> {\n const { data } = await this.httpClient.post<IntegrationField>(`${this.baseUrl}/field`, payload);\n return data;\n }\n\n /**\n * Updates an integration action field/header.\n * @param fieldId - The field identifier.\n * @param payload - The field update payload.\n * @returns The updated integration field response.\n */\n async updateField({ fieldId, payload }: UpdateIntegrationFieldParams): Promise<IntegrationField | number[]> {\n const { data } = await this.httpClient.put<IntegrationField | number[]>(`${this.baseUrl}/field/${fieldId}`, payload);\n return data;\n }\n\n /**\n * Deletes an integration action field/header.\n * @param fieldId - The field identifier.\n * @returns A promise that resolves when the field is deleted.\n */\n async deleteField({ fieldId }: DeleteIntegrationFieldParams): Promise<void> {\n await this.httpClient.delete(`${this.baseUrl}/field/${fieldId}`);\n }\n\n /**\n * Deletes an integration action.\n * @param actionId - The action identifier.\n * @returns A promise that resolves when the action is deleted.\n */\n async deleteAction({ actionId }: DeleteIntegrationActionParams): Promise<void> {\n await this.httpClient.delete(`${this.baseUrl}/action/${actionId}`);\n }\n}\n\nexport type {\n CreateIntegrationActionRequest,\n CreateWebhookRequest,\n CreateIntegrationFieldRequest,\n CreateIntegrationPartnerRequest,\n DeleteIntegrationActionParams,\n DeleteIntegrationFieldParams,\n DeleteIntegrationPartnerParams,\n GetIntegrationHooksCatalogRequest,\n GetWebhooksByCompanyRequest,\n GetIntegrationPartnersByCompanyRequest,\n HookCatalogItem,\n IntegrationAction,\n IntegrationField,\n IntegrationPartner,\n UpdateIntegrationActionParams,\n UpdateIntegrationActionRequest,\n UpdateIntegrationFieldParams,\n UpdateIntegrationFieldRequest,\n} from './contracts';\n","import type { AxiosInstance } from 'axios';\nimport type {\n ListInvitationsRequest,\n ReplyInvitationRequest,\n InvitationResponse,\n ListLiveUserRoomsRequest,\n LiveUserRoomResponse,\n GetRoomByIdRequest,\n RoomResponse,\n} from './contracts';\n\n/**\n * Gateway for interacting with the Chat Webservice API.\n */\nexport class ChatWebserviceGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n\n /**\n * Lists chat invitations for a user within a company.\n * @param params - The user, company, and invitation status filters.\n * @returns The matching chat invitations.\n */\n async listInvitations(params: ListInvitationsRequest): Promise<InvitationResponse[]> {\n const { data } = await this.httpClient.get<InvitationResponse[]>(`${this.baseUrl}/invitations`, { params });\n return data;\n }\n\n /**\n * Replies to a chat invitation.\n * @param payload - The invitation identifier to reply to.\n * @returns The updated chat invitations.\n */\n async replyInvitation(payload: ReplyInvitationRequest): Promise<InvitationResponse[]> {\n const { data } = await this.httpClient.put<InvitationResponse[]>(`${this.baseUrl}/invitations/reply`, payload);\n return data;\n }\n\n /**\n * Lists live rooms assigned to a user.\n * @param params - The recipient, company, and open-status filters.\n * @returns The live room entries for the user.\n */\n async listLiveUserRooms(params: ListLiveUserRoomsRequest): Promise<LiveUserRoomResponse[]> {\n const { data } = await this.httpClient.get<LiveUserRoomResponse[]>(`${this.baseUrl}/member/rooms/live`, { params });\n return data;\n }\n\n /**\n * Retrieves a chat room by its identifier.\n * @param id - The unique identifier of the room.\n * @param params - Optional query parameters for scoping and member inclusion.\n * @returns The chat room data.\n */\n async getRoomById(id: number, params: GetRoomByIdRequest = {}): Promise<RoomResponse> {\n const { data } = await this.httpClient.get<RoomResponse>(`${this.baseUrl}/room/${id}`, { params });\n return data;\n }\n}\n\nexport type {\n GetRoomByIdRequest,\n InvitationResponse,\n ListInvitationsRequest,\n ListLiveUserRoomsRequest,\n LiveUserRoomResponse,\n ReplyInvitationRequest,\n RoomActiveDates,\n RoomMemberResponse,\n RoomResponse,\n RoomTagResponse,\n} from './contracts';\n","import type { AxiosInstance } from 'axios';\nimport type { ContactHistoryResponse, ListContactHistoryRequest } from './contracts/contact-history';\n\n/**\n * Gateway for interacting with the Call Report API.\n */\nexport class CallReportGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n\n /**\n * Lists contact interaction history across chat and CDR indexes.\n * @param params - Optional filters, pagination, and index selection.\n * @returns The paginated contact history response.\n */\n async listContactHistory(params: ListContactHistoryRequest = {}): Promise<ContactHistoryResponse> {\n const { data } = await this.httpClient.get<ContactHistoryResponse>(`${this.baseUrl}/history/index/multi`, {\n params,\n });\n return data;\n }\n}\n\nexport type {\n ContactHistoryIndex,\n ContactHistoryResponse,\n ContactHistorySortOrder,\n ContactInteractionResponse,\n InteractionCallStepResponse,\n InteractionChatStepResponse,\n InteractionMemberResponse,\n InteractionOrganizationResponse,\n ListContactHistoryRequest,\n} from './contracts/contact-history';\n","import type { AxiosInstance } from 'axios';\nimport type { IntegrationPartner } from '../integrations/contracts';\n\n/** Request parameters for retrieving the webhooks scenario for a company. */\nexport interface GetWebhooksByCompanyRequest {\n companyId: string;\n}\n\n/** Request payload for creating a webhooks scenario. */\nexport interface CreateWebhookRequest {\n companyId: string;\n baseUrl: string;\n}\n\n/**\n * Gateway for interacting with the Cases API.\n */\nexport class CasesGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n\n /** Retrieves the webhooks scenario for a company. */\n async getWebhooksByCompany(params: GetWebhooksByCompanyRequest): Promise<IntegrationPartner[]> {\n const { data } = await this.httpClient.get<IntegrationPartner[]>(`${this.baseUrl}/webhooks`, {\n params,\n });\n return data;\n }\n\n /** Creates a webhook. */\n async createWebhook(payload: CreateWebhookRequest): Promise<IntegrationPartner> {\n const { data } = await this.httpClient.post<IntegrationPartner>(`${this.baseUrl}/webhooks`, payload);\n return data;\n }\n}\n","import { CustomerServiceGateway } from '../customer-service';\nimport { ChatConfigGateway } from '../chat-config';\nimport { CampaignsGateway } from '../campaigns';\nimport { ChatAdapterGateway } from '../chat-adapter';\nimport { AssetsGateway } from '../assets';\nimport { ContactListGateway } from '../contact-list';\nimport { IntegrationsGateway } from '../integrations';\nimport { ChatWebserviceGateway } from '../chat-webservice';\nimport { CallReportGateway } from '../call-report';\nimport { CasesGateway } from '../cases';\nimport axios, { AxiosInstance } from 'axios';\n\n/**\n * Maps service identifiers to their corresponding gateway types.\n * Used by the `gateway()` function to infer the correct return type\n * based on the service name passed as argument.\n *\n * When adding a new service, add an entry here with the service\n * identifier as the key and the gateway class as the value.\n */\nexport type GatewayMap = {\n 'customer-service': CustomerServiceGateway;\n 'chat-config': ChatConfigGateway;\n campaigns: CampaignsGateway;\n 'chat-adapter': ChatAdapterGateway;\n assets: AssetsGateway;\n 'contact-list': ContactListGateway;\n integrations: IntegrationsGateway;\n 'chat-webservice': ChatWebserviceGateway;\n 'call-report': CallReportGateway;\n cases: CasesGateway;\n};\n\nexport interface SDKGatewaysInterface {\n customerService: CustomerServiceGateway | null;\n chatConfig: ChatConfigGateway | null;\n campaigns: CampaignsGateway | null;\n chatAdapter: ChatAdapterGateway | null;\n assets: AssetsGateway | null;\n contactList: ContactListGateway | null;\n integrations: IntegrationsGateway | null;\n chatWebservice: ChatWebserviceGateway | null;\n callReport: CallReportGateway | null;\n cases: CasesGateway | null;\n}\n\nclass SDKGateways {\n customerService: CustomerServiceGateway | null;\n chatConfig: ChatConfigGateway | null;\n campaigns: CampaignsGateway | null;\n chatAdapter: ChatAdapterGateway | null;\n assets: AssetsGateway | null;\n contactList: ContactListGateway | null;\n integrations: IntegrationsGateway | null;\n chatWebservice: ChatWebserviceGateway | null;\n callReport: CallReportGateway | null;\n cases: CasesGateway | null;\n constructor(\n customerService: CustomerServiceGateway | null,\n chatConfig: ChatConfigGateway | null,\n campaigns: CampaignsGateway | null,\n chatAdapter: ChatAdapterGateway | null,\n assets: AssetsGateway | null,\n contactList: ContactListGateway | null,\n integrations: IntegrationsGateway | null,\n chatWebservice: ChatWebserviceGateway | null,\n callReport: CallReportGateway | null,\n cases: CasesGateway | null,\n ) {\n this.customerService = customerService;\n this.chatConfig = chatConfig;\n this.campaigns = campaigns;\n this.chatAdapter = chatAdapter;\n this.assets = assets;\n this.contactList = contactList;\n this.integrations = integrations;\n this.chatWebservice = chatWebservice;\n this.callReport = callReport;\n this.cases = cases;\n }\n}\n\n/**\n * Parameters required to configure the SDK client.\n * Each service configuration is optional, only provide the services you need.\n */\nexport interface GatewayClientParams {\n /** An Axios instance used as the HTTP client for all gateway requests (optional). */\n axiosClient?: AxiosInstance;\n /** API token used for authentication across all services. */\n apiToken: string;\n /** Configuration for each service gateway. Only the services you configure will be available. */\n services: {\n customerService?: {\n baseUrl: string;\n };\n chatConfig?: {\n baseUrl: string;\n };\n campaigns?: {\n baseUrl: string;\n };\n chatAdapter?: {\n baseUrl: string;\n };\n assets?: {\n baseUrl: string;\n };\n contactList?: {\n baseUrl: string;\n };\n integrations?: {\n baseUrl: string;\n };\n chatWebservice?: {\n baseUrl: string;\n };\n callReport?: {\n baseUrl: string;\n };\n cases?: {\n baseUrl: string;\n };\n };\n}\n\n/**\n * Creates an SDKGateways instance with all service gateways initialized\n * using the provided configuration parameters.\n * Services without configuration will be set to null and will throw\n * an error if accessed via `gateway()`.\n */\nexport function createClient(params: GatewayClientParams) {\n const httpClient =\n params.axiosClient ||\n axios.create({\n headers: {\n Authorization: `Bearer ${params.apiToken}`,\n },\n });\n const customerService = params.services.customerService\n ? new CustomerServiceGateway(httpClient, params.services.customerService.baseUrl)\n : null;\n const chatConfig = params.services.chatConfig\n ? new ChatConfigGateway(httpClient, params.services.chatConfig.baseUrl)\n : null;\n const campaigns = params.services.campaigns\n ? new CampaignsGateway(httpClient, params.services.campaigns.baseUrl)\n : null;\n const chatAdapter = params.services.chatAdapter\n ? new ChatAdapterGateway(httpClient, params.services.chatAdapter.baseUrl)\n : null;\n const assets = params.services.assets ? new AssetsGateway(httpClient, params.services.assets.baseUrl) : null;\n const contactList = params.services.contactList\n ? new ContactListGateway(httpClient, params.services.contactList.baseUrl)\n : null;\n const integrations = params.services.integrations\n ? new IntegrationsGateway(httpClient, params.services.integrations.baseUrl)\n : null;\n const chatWebservice = params.services.chatWebservice\n ? new ChatWebserviceGateway(httpClient, params.services.chatWebservice.baseUrl)\n : null;\n const callReport = params.services.callReport\n ? new CallReportGateway(httpClient, params.services.callReport.baseUrl)\n : null;\n const cases = params.services.cases ? new CasesGateway(httpClient, params.services.cases.baseUrl) : null;\n return new SDKGateways(\n customerService,\n chatConfig,\n campaigns,\n chatAdapter,\n assets,\n contactList,\n integrations,\n chatWebservice,\n callReport,\n cases,\n );\n}\n","export const SERVICE_GATEWAYS = {\n CUSTOMER_SERVICE: 'customer-service',\n CHAT_CONFIG: 'chat-config',\n CAMPAIGNS: 'campaigns',\n CHAT_ADAPTER: 'chat-adapter',\n ASSETS: 'assets',\n CONTACT_LIST: 'contact-list',\n INTEGRATIONS: 'integrations',\n CHAT_WEBSERVICE: 'chat-webservice',\n CALL_REPORT: 'call-report',\n CASES: 'cases',\n} as const;\n\nexport type SERVICE_GATEWAYS = (typeof SERVICE_GATEWAYS)[keyof typeof SERVICE_GATEWAYS];\n"],"mappings":"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","names":["module","axios"]}
package/dist/index.mjs CHANGED
@@ -478,10 +478,10 @@ var IntegrationsGateway = class {
478
478
  });
479
479
  return data;
480
480
  }
481
- /** Retrieves the Casos case webhooks scenario for a company. */
482
- async getCaseWebhooksByCompany({ companyId }) {
483
- const { data } = await this.httpClient.get(`${this.baseUrl}/webhook`, {
484
- params: { companyId }
481
+ /** Retrieves the webhooks scenario for a company. */
482
+ async getWebhooksByCompany(params) {
483
+ const { data } = await this.httpClient.get(`${this.baseUrl}/webhooks`, {
484
+ params
485
485
  });
486
486
  return data;
487
487
  }
@@ -505,9 +505,9 @@ var IntegrationsGateway = class {
505
505
  const { data } = await this.httpClient.post(`${this.baseUrl}/partner`, payload);
506
506
  return data;
507
507
  }
508
- /** Creates a case webhook. */
509
- async createCaseWebhook(payload) {
510
- const { data } = await this.httpClient.post(`${this.baseUrl}/webhook`, payload);
508
+ /** Creates a webhook. */
509
+ async createWebhook(payload) {
510
+ const { data } = await this.httpClient.post(`${this.baseUrl}/webhooks`, payload);
511
511
  return data;
512
512
  }
513
513
  /**
@@ -585,6 +585,24 @@ var ChatWebserviceGateway = class {
585
585
  }
586
586
  httpClient;
587
587
  baseUrl;
588
+ /**
589
+ * Lists chat invitations for a user within a company.
590
+ * @param params - The user, company, and invitation status filters.
591
+ * @returns The matching chat invitations.
592
+ */
593
+ async listInvitations(params) {
594
+ const { data } = await this.httpClient.get(`${this.baseUrl}/invitations`, { params });
595
+ return data;
596
+ }
597
+ /**
598
+ * Replies to a chat invitation.
599
+ * @param payload - The invitation identifier to reply to.
600
+ * @returns The updated chat invitations.
601
+ */
602
+ async replyInvitation(payload) {
603
+ const { data } = await this.httpClient.put(`${this.baseUrl}/invitations/reply`, payload);
604
+ return data;
605
+ }
588
606
  /**
589
607
  * Lists live rooms assigned to a user.
590
608
  * @param params - The recipient, company, and open-status filters.
@@ -627,6 +645,28 @@ var CallReportGateway = class {
627
645
  }
628
646
  };
629
647
 
648
+ // src/cases/index.ts
649
+ var CasesGateway = class {
650
+ constructor(httpClient, baseUrl) {
651
+ this.httpClient = httpClient;
652
+ this.baseUrl = baseUrl;
653
+ }
654
+ httpClient;
655
+ baseUrl;
656
+ /** Retrieves the webhooks scenario for a company. */
657
+ async getWebhooksByCompany(params) {
658
+ const { data } = await this.httpClient.get(`${this.baseUrl}/webhooks`, {
659
+ params
660
+ });
661
+ return data;
662
+ }
663
+ /** Creates a webhook. */
664
+ async createWebhook(payload) {
665
+ const { data } = await this.httpClient.post(`${this.baseUrl}/webhooks`, payload);
666
+ return data;
667
+ }
668
+ };
669
+
630
670
  // src/@common/client.ts
631
671
  import axios from "axios";
632
672
  var SDKGateways = class {
@@ -639,7 +679,8 @@ var SDKGateways = class {
639
679
  integrations;
640
680
  chatWebservice;
641
681
  callReport;
642
- constructor(customerService, chatConfig, campaigns, chatAdapter, assets, contactList, integrations, chatWebservice, callReport) {
682
+ cases;
683
+ constructor(customerService, chatConfig, campaigns, chatAdapter, assets, contactList, integrations, chatWebservice, callReport, cases) {
643
684
  this.customerService = customerService;
644
685
  this.chatConfig = chatConfig;
645
686
  this.campaigns = campaigns;
@@ -649,6 +690,7 @@ var SDKGateways = class {
649
690
  this.integrations = integrations;
650
691
  this.chatWebservice = chatWebservice;
651
692
  this.callReport = callReport;
693
+ this.cases = cases;
652
694
  }
653
695
  };
654
696
  function createClient(params) {
@@ -666,6 +708,7 @@ function createClient(params) {
666
708
  const integrations = params.services.integrations ? new IntegrationsGateway(httpClient, params.services.integrations.baseUrl) : null;
667
709
  const chatWebservice = params.services.chatWebservice ? new ChatWebserviceGateway(httpClient, params.services.chatWebservice.baseUrl) : null;
668
710
  const callReport = params.services.callReport ? new CallReportGateway(httpClient, params.services.callReport.baseUrl) : null;
711
+ const cases = params.services.cases ? new CasesGateway(httpClient, params.services.cases.baseUrl) : null;
669
712
  return new SDKGateways(
670
713
  customerService,
671
714
  chatConfig,
@@ -675,7 +718,8 @@ function createClient(params) {
675
718
  contactList,
676
719
  integrations,
677
720
  chatWebservice,
678
- callReport
721
+ callReport,
722
+ cases
679
723
  );
680
724
  }
681
725
 
@@ -689,7 +733,8 @@ var SERVICE_GATEWAYS = {
689
733
  CONTACT_LIST: "contact-list",
690
734
  INTEGRATIONS: "integrations",
691
735
  CHAT_WEBSERVICE: "chat-webservice",
692
- CALL_REPORT: "call-report"
736
+ CALL_REPORT: "call-report",
737
+ CASES: "cases"
693
738
  };
694
739
 
695
740
  // src/index.ts
@@ -745,6 +790,10 @@ function gateway(service) {
745
790
  if (!sdk.client.callReport)
746
791
  throw new Error(`Service 'call-report' is not configured. Provide its baseUrl in configure().`);
747
792
  return sdk.client.callReport;
793
+ case SERVICE_GATEWAYS.CASES:
794
+ if (!sdk.client.cases)
795
+ throw new Error(`Service 'cases' is not configured. Provide its baseUrl in configure().`);
796
+ return sdk.client.cases;
748
797
  default:
749
798
  throw new Error(`Unknown service gateway: ${service}`);
750
799
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/customer-service/index.ts","../src/chat-config/index.ts","../src/campaigns/index.ts","../src/chat-adapter/index.ts","../src/assets/index.ts","../src/contact-list/index.ts","../src/integrations/index.ts","../src/chat-webservice/index.ts","../src/call-report/index.ts","../src/@common/client.ts","../src/@common/enums.ts","../src/index.ts"],"sourcesContent":["import type { AxiosInstance } from 'axios';\nimport type { CompanyResponse } from './contracts/company';\nimport type {\n WorkGroupListResponse,\n WorkGroupMembersResponse,\n WorkGroupResponse,\n} from './contracts/work-group';\nimport type {\n GetAllUsersParams,\n GetAllUsersResponse,\n GetManagedUsersResponse,\n} from './contracts/user';\n\n/**\n * Gateway for interacting with the Customer Service API.\n */\nexport class CustomerServiceGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n\n /**\n * Retrieves a company by its unique identifier.\n * @param companyId - The unique identifier of the company.\n * @returns The company data wrapped in a {@link CompanyResponse}.\n */\n async getCompanyById(companyId: string): Promise<CompanyResponse> {\n const { data } = await this.httpClient.get<CompanyResponse>(`${this.baseUrl}/companies/search/${companyId}`);\n return data;\n }\n\n /**\n * Retrieves all work groups for a company.\n * @param companyId - The unique identifier of the company.\n * @returns The work groups for the given company.\n */\n async getWorkGroups(companyId: string): Promise<WorkGroupListResponse> {\n const { data } = await this.httpClient.get<WorkGroupListResponse>(\n `${this.baseUrl}/companies/work-groups`,\n { params: { company_id: companyId } },\n );\n return data;\n }\n\n /**\n * Retrieves a work group by its unique identifier.\n * @param workGroupId - The unique identifier of the work group.\n * @param companyId - The unique identifier of the company (optional, sent as query parameter).\n * @returns The work group data wrapped in a {@link WorkGroupResponse}.\n */\n async getWorkGroupById(workGroupId: string, companyId?: string): Promise<WorkGroupResponse> {\n const params = companyId ? { company_id: companyId } : undefined;\n const { data } = await this.httpClient.get<WorkGroupResponse>(\n `${this.baseUrl}/companies/work-groups/${workGroupId}`,\n { params },\n );\n return data;\n }\n\n /**\n * Retrieves the members of a work group by its identifier.\n * @param groupId - The unique identifier of the work group.\n * @param companyId - The unique identifier of the company (optional, sent as query parameter).\n * @param profile - Filter members by profile (optional).\n * @returns The members of the work group.\n */\n async getWorkGroupMembers(\n groupId: string,\n companyId?: string,\n profile?: string[],\n ): Promise<WorkGroupMembersResponse> {\n const params: { company_id?: string; profile?: string[] } = {};\n if (companyId) params.company_id = companyId;\n if (profile) params.profile = profile;\n const { data } = await this.httpClient.get<WorkGroupMembersResponse>(\n `${this.baseUrl}/bonds/work-groups/${groupId}`,\n { params },\n );\n return data;\n }\n\n async getAllUsers(params?: GetAllUsersParams): Promise<GetAllUsersResponse> {\n const { data } = await this.httpClient.get<GetAllUsersResponse>(\n `${this.baseUrl}/companies/users`,\n { params },\n );\n return data;\n }\n\n async getManagedUsers(managerId: string): Promise<GetManagedUsersResponse> {\n const { data } = await this.httpClient.get<GetManagedUsersResponse>(\n `${this.baseUrl}/users/managed/${managerId}`,\n );\n return data;\n }\n}\n\nexport type { CompanyResponse, CompanyData } from './contracts/company';\nexport type {\n WorkGroup,\n WorkGroupMember,\n WorkGroupMembersResponse,\n WorkGroupListResponse,\n WorkGroupResponse,\n} from './contracts/work-group';\nexport type {\n User,\n GetAllUsersParams,\n GetAllUsersResponse,\n ManagedUser,\n GetManagedUsersResponse,\n} from './contracts/user';","import type { AxiosInstance } from 'axios';\nimport type {\n GetProviderConfigurationsParams,\n ProviderConfigurationsResponse,\n ProviderListResponse,\n} from './contracts/provider';\nimport type { ConfigListByProviderResponse, GetConfigsByProviderParams } from './contracts/config';\nimport type {\n GetServiceGroupsParams,\n Queue,\n QueueListResponse,\n QueueMember,\n GetMemberQueuesRequest,\n ServiceGroupsResponse,\n} from './contracts/queues';\nimport type { MetaTemplateConfigResponse, MetaTemplateConfigsResponse } from './contracts/meta-template';\nimport type {\n FindOrCreateQueueRuleRequest,\n GetRootRulesRequest,\n RootRulesResponse,\n Rule,\n QueueRule,\n} from './contracts/rule';\n\n/**\n * Gateway for interacting with the Chat Config API.\n */\nexport class ChatConfigGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n\n /**\n * Retrieves all available providers.\n * @returns The list of providers.\n */\n async getProviders(): Promise<ProviderListResponse> {\n const { data } = await this.httpClient.get<ProviderListResponse>(`${this.baseUrl}/providers`);\n return data;\n }\n\n /**\n * Retrieves provider configurations filtered by configuration IDs.\n * @param params - Query parameters containing one or more configuration IDs.\n * @returns The provider configurations matching the given IDs.\n */\n async getProviderConfigurations(params?: GetProviderConfigurationsParams): Promise<ProviderConfigurationsResponse> {\n const url = `${this.baseUrl}/providers/configurations`;\n const { data } = await this.httpClient.get<ProviderConfigurationsResponse>(url, { params: params });\n return data;\n }\n\n /**\n * Retrieves configurations filtered by provider.\n * @param providerId - The unique identifier of the provider.\n * @param params - Optional query parameters for filtering configurations.\n * @returns The configurations for the given provider.\n */\n async getConfigsByProvider(\n providerId: string,\n params?: GetConfigsByProviderParams,\n ): Promise<ConfigListByProviderResponse> {\n const { data } = await this.httpClient.get<ConfigListByProviderResponse>(\n `${this.baseUrl}/config/provider/${providerId}`,\n { params },\n );\n return data;\n }\n\n /**\n * Retrieves a queue by its ID.\n * @param queueId - The unique identifier of the queue.\n * @returns The queue data.\n */\n async getQueueById(queueId: string): Promise<Queue> {\n const { data } = await this.httpClient.get<Queue>(`${this.baseUrl}/queue/${queueId}`);\n return data;\n }\n\n async getQueues(): Promise<Queue[]> {\n const { data } = await this.httpClient.get<Queue[]>(`${this.baseUrl}/queues`);\n return data;\n }\n\n /**\n * Lists queue memberships for a member.\n * @param params - The member identifier and optional association filter.\n * @returns The queue memberships for the given member.\n */\n async getMemberQueues(params: GetMemberQueuesRequest): Promise<QueueMember[]> {\n const { data } = await this.httpClient.get<QueueMember[]>(`${this.baseUrl}/queue-members`, { params });\n return data;\n }\n\n /**\n * Retrieves service groups filtered by service group IDs.\n * @param params - Query parameters containing one or more service group IDs.\n * @returns The service groups matching the given IDs.\n */\n async getServiceGroups(params?: GetServiceGroupsParams): Promise<ServiceGroupsResponse> {\n const url = `${this.baseUrl}/service-groups`;\n const { data } = await this.httpClient.get<ServiceGroupsResponse>(url, { params: params });\n return data;\n }\n\n /**\n * Retrieves a Meta template configuration by its ID.\n * @param templateId - The unique identifier of the template.\n * @returns The Meta template configuration.\n */\n async getMetaTemplateById(templateId: string): Promise<MetaTemplateConfigResponse> {\n const { data } = await this.httpClient.get<MetaTemplateConfigResponse>(\n `${this.baseUrl}/meta-templates-config/${templateId}`,\n );\n return data;\n }\n\n /**\n * Retrieves template configurations associated with a configuration ID.\n * @param configId - The configuration identifier.\n * @returns The list of template configurations.\n */\n async getTemplateConfigsByConfigId(configId: string): Promise<MetaTemplateConfigsResponse> {\n const { data } = await this.httpClient.get<MetaTemplateConfigsResponse>(\n `${this.baseUrl}/meta-templates-config/config/${configId}`,\n );\n return data;\n }\n\n /**\n * Finds an existing queue rule or creates a new one if it does not exist.\n * @param payload - The payload containing companyId, queueId, and configId.\n * @returns The found or created queue rule.\n */\n async findOrCreateQueueRule(payload: FindOrCreateQueueRuleRequest): Promise<QueueRule> {\n const { data } = await this.httpClient.put<QueueRule>(`${this.baseUrl}/rules/queue/find-or-create`, payload);\n return data;\n }\n\n /**\n * @param params - The company and pagination parameters.\n * @returns The paginated initial service rules.\n */\n async getRootRules(params: GetRootRulesRequest): Promise<RootRulesResponse> {\n const { data } = await this.httpClient.get<RootRulesResponse>(`${this.baseUrl}/rules/paginated`, {\n params: {\n archiveStatus: 'unarchived',\n companyId: params.companyId,\n offset: params.offset,\n limit: params.limit,\n name: params?.name,\n isRoot: true,\n },\n });\n return data;\n }\n}\n\nexport type {\n GetServiceGroupsParams,\n Queue,\n QueueMember,\n DistributionType,\n QueueListResponse,\n ServiceGroup,\n ServiceGroupsResponse,\n} from './contracts/queues';\nexport type {\n GetProviderConfigurationsParams,\n ProviderConfiguration,\n ProviderConfigurationsResponse,\n ProviderListResponse,\n Provider,\n WhatsAppProviderSettings,\n WidgetProviderSettings,\n} from './contracts/provider';\nexport type {\n ConfigListByProviderResponse,\n Config,\n ConfigProvider,\n GetConfigsByProviderParams,\n} from './contracts/config';\nexport type {\n MetaTemplateButton,\n MetaTemplateConfigResponse,\n MetaTemplateConfigsResponse,\n} from './contracts/meta-template';\nexport type { FindOrCreateQueueRuleRequest, QueueRule, RootRulesResponse, Rule } from './contracts/rule';\n","import type { AxiosInstance } from 'axios';\nimport type {\n Campaign,\n CampaignPaginatedResponse,\n CampaignQueryParams,\n CreateCampaignRequest,\n PatchCampaignRequest,\n CampaignUser,\n} from './contracts/campaign';\nimport type {\n CampaignContactPaginatedResponse,\n CampaignContactQueryParams,\n CampaignContactResponse,\n CreateCampaignContactRequest,\n PatchCampaignContactRequest,\n} from './contracts/campaign-contacts';\nimport type {\n CampaignContactsDashboardData,\n CampaignContactsDashboardQueryParams,\n} from './contracts/campaign-contacts-dashboard';\nimport type {\n CampaignWorkGroup,\n CampaignWorkGroupPaginatedResponse,\n CampaignWorkGroupQueryParams,\n CreateCampaignWorkGroupRequest,\n} from './contracts/work-group';\n\n/**\n * Gateway for interacting with the Campaigns API.\n */\nexport class CampaignsGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n\n /**\n * Retrieves a paginated list of campaigns.\n * @param query - Optional query parameters for filtering and pagination.\n * @returns The paginated campaigns response.\n */\n async find(query?: CampaignQueryParams): Promise<CampaignPaginatedResponse> {\n const { data } = await this.httpClient.get<CampaignPaginatedResponse>(`${this.baseUrl}/campaigns`, {\n params: query,\n });\n return data;\n }\n\n /**\n * Retrieves a campaign by its unique identifier.\n * @param id - The unique identifier of the campaign.\n * @returns The campaign data.\n */\n async get(id: string): Promise<Campaign> {\n const { data } = await this.httpClient.get<Campaign>(`${this.baseUrl}/campaigns/${id}`);\n return data;\n }\n\n /**\n * Creates a new campaign.\n * @param payload - The campaign data to create.\n * @returns The created campaign.\n */\n async create(payload: CreateCampaignRequest): Promise<Campaign> {\n const { data } = await this.httpClient.post<Campaign>(`${this.baseUrl}/campaigns`, payload);\n return data;\n }\n\n /**\n * Partially updates an existing campaign.\n * @param id - The unique identifier of the campaign.\n * @param payload - The fields to update.\n * @returns The updated campaign.\n */\n async patch(id: string, payload: PatchCampaignRequest): Promise<Campaign> {\n const { data } = await this.httpClient.patch<Campaign>(`${this.baseUrl}/campaigns/${id}`, payload);\n return data;\n }\n\n /**\n * Removes a campaign by its unique identifier.\n * @param id - The unique identifier of the campaign.\n * @returns The removed campaign.\n */\n async remove(id: string): Promise<Campaign> {\n const { data } = await this.httpClient.delete<Campaign>(`${this.baseUrl}/campaigns/${id}`);\n return data;\n }\n\n /**\n * Retrieves a paginated list of campaign contacts.\n * @param query - Optional query parameters for filtering and pagination.\n * @returns The paginated campaign contacts response.\n */\n async findCampaignContacts(query?: CampaignContactQueryParams): Promise<CampaignContactPaginatedResponse> {\n const { data } = await this.httpClient.get<CampaignContactPaginatedResponse>(`${this.baseUrl}/campaign-contacts`, {\n params: query,\n });\n return data;\n }\n\n /**\n * Retrieves a campaign contact by its unique identifier.\n * @param id - The unique identifier of the campaign contact.\n * @returns The campaign contact data.\n */\n async getCampaignContacts(id: string): Promise<CampaignContactResponse> {\n const { data } = await this.httpClient.get<CampaignContactResponse>(`${this.baseUrl}/campaign-contacts/${id}`);\n return data;\n }\n\n /**\n * Creates a new campaign contact.\n * @param payload - The campaign contact data to create.\n * @returns The created campaign contact.\n */\n async createCampaignContact(payload: CreateCampaignContactRequest): Promise<CampaignContactResponse> {\n const { data } = await this.httpClient.post<CampaignContactResponse>(`${this.baseUrl}/campaign-contacts`, payload);\n return data;\n }\n\n /**\n * Adds multiple contacts to a campaign in a single request.\n * @param payload - The list of campaign contacts to create.\n * @returns The created campaign contacts.\n */\n async addContactsToCampaign(payload: CreateCampaignContactRequest[]): Promise<CampaignContactResponse[]> {\n const { data } = await this.httpClient.post<CampaignContactResponse[]>(\n `${this.baseUrl}/campaign-contacts`,\n payload,\n );\n return data;\n }\n\n /**\n * Partially updates an existing campaign contact.\n * @param id - The unique identifier of the campaign contact.\n * @param payload - The fields to update.\n * @returns The updated campaign contact.\n */\n async patchCampaignContact(id: string, payload: PatchCampaignContactRequest): Promise<CampaignContactResponse> {\n const { data } = await this.httpClient.patch<CampaignContactResponse>(\n `${this.baseUrl}/campaign-contacts/${id}`,\n payload,\n );\n return data;\n }\n\n /**\n * Removes a campaign contact by its unique identifier.\n * @param id - The unique identifier of the campaign contact.\n * @returns The removed campaign contact.\n */\n async removeCampaignContact(id: string): Promise<CampaignContactResponse> {\n const { data } = await this.httpClient.delete<CampaignContactResponse>(`${this.baseUrl}/campaign-contacts/${id}`);\n return data;\n }\n\n async getContactsDashboardData(\n query: CampaignContactsDashboardQueryParams,\n ): Promise<CampaignContactsDashboardData> {\n const { data } = await this.httpClient.get<CampaignContactsDashboardData>(\n `${this.baseUrl}/campaign-contacts-dashboard`,\n {\n params: query,\n },\n );\n return data;\n }\n\n async getUsers() {\n const { data } = await this.httpClient.get<CampaignUser[]>(`${this.baseUrl}/users`);\n return data;\n }\n\n async listWorkGroups(query?: CampaignWorkGroupQueryParams): Promise<CampaignWorkGroupPaginatedResponse> {\n const { data } = await this.httpClient.get<CampaignWorkGroupPaginatedResponse>(`${this.baseUrl}/work-groups`, {\n params: query,\n });\n return data;\n }\n\n async createWorkGroup(payload: CreateCampaignWorkGroupRequest): Promise<CampaignWorkGroup> {\n const { data } = await this.httpClient.post<CampaignWorkGroup>(`${this.baseUrl}/work-groups`, payload);\n return data;\n }\n\n async deleteWorkGroup(id: string): Promise<CampaignWorkGroup> {\n const { data } = await this.httpClient.delete<CampaignWorkGroup>(`${this.baseUrl}/work-groups/${id}`);\n return data;\n }\n}\n\nexport type {\n Campaign,\n CampaignPaginatedResponse,\n CampaignQueryParams,\n CampaignRetryConfig,\n CampaignStatus,\n CampaignProvider,\n WhatsAppPayload,\n WhatsAppTemplateComponent,\n CampaignContactFilter,\n CampaignSchedule,\n CreateCampaignRequest,\n PatchCampaignRequest,\n CampaignUser,\n} from './contracts/campaign';\nexport type {\n CampaignContactCampaignStatus,\n CampaignContactDispatchStatus,\n CampaignContactLikeQueryOperators,\n CampaignContactPaginatedResponse,\n CampaignContactQueryOperators,\n CampaignContactQueryParams,\n CampaignContactQueryValue,\n CampaignContactResponse,\n CampaignContactSortDirection,\n CampaignContactSortParams,\n CreateCampaignContactRequest,\n PatchCampaignContactRequest,\n} from './contracts/campaign-contacts';\nexport type {\n CampaignContactsDashboardChannelPerformance,\n CampaignContactsDashboardData,\n CampaignContactsDashboardExactQueryOperators,\n CampaignContactsDashboardEvolutionItem,\n CampaignContactsDashboardFunnelItem,\n CampaignContactsDashboardInterval,\n CampaignContactsDashboardMetrics,\n CampaignContactsDashboardQueryParams,\n CampaignContactsDashboardQueryValue,\n CampaignContactsDashboardRangeQueryOperators,\n CampaignContactsDashboardStatusDistribution,\n CampaignContactsDashboardStatusMetrics,\n CampaignContactsDashboardSummary,\n CampaignContactsDashboardTopCampaign,\n} from './contracts/campaign-contacts-dashboard';\nexport type {\n CampaignWorkGroup,\n CampaignWorkGroupPaginatedResponse,\n CampaignWorkGroupQueryParams,\n CreateCampaignWorkGroupRequest,\n} from './contracts/work-group';\n","import type { AxiosInstance } from 'axios';\nimport type { GetConfigTemplatesResponse, GetConfigTemplatesParams } from './contracts/chat-adapter';\n\n/**\n * Gateway for interacting with the Chat Adapter API.\n */\nexport class ChatAdapterGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n\n /**\n * Retrieves message templates associated with a configuration.\n * @param configId - The unique identifier of the configuration.\n * @param params - Optional query parameters for filtering and pagination.\n * @returns A promise that resolves to the template list response.\n */\n async getConfigTemplates(configId: string, params?: GetConfigTemplatesParams): Promise<GetConfigTemplatesResponse> {\n const { data } = await this.httpClient.get<GetConfigTemplatesResponse>(\n `${this.baseUrl}/message-templates/${configId}`,\n { params },\n );\n return data;\n }\n}\n\nexport type {\n GetConfigTemplatesResponse,\n GetConfigTemplatesParams,\n MessageTemplate,\n MessageTemplateComponent,\n ConfigTemplatesPaging,\n} from './contracts/chat-adapter';\n","import type { AxiosInstance } from 'axios';\nimport type { GetPresignedUrlRequest, UploadPresignedUrlResponse, AudioConvertResponse, GetAttachmentByIdRequest, AttachmentByIdResponse } from './contracts/assets';\n\n/**\n * Gateway for interacting with the Assets API.\n */\nexport class AssetsGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n /**\n * Retrieves a presigned URL to upload a file to the Assets API.\n * @param params - The configuration options and parameters for the presigned URL.\n * @returns The presigned URL details wrapped in a {@link UploadPresignedUrlResponse}.\n */\n async getPresignedUrl(params: GetPresignedUrlRequest): Promise<UploadPresignedUrlResponse> {\n const { data } = await this.httpClient.get<UploadPresignedUrlResponse>(`${this.baseUrl}/uploads/presigned-url`, {\n params,\n });\n return data;\n }\n\n /**\n * Converts an audio file to M4A format via the Assets API.\n * @param params - The audio file to convert.\n * @param params.file - The audio file to upload for conversion.\n * @returns The converted audio response with base64-encoded data, mimetype, extension and filename.\n */\n async convertAudioToM4A(formData: any): Promise<AudioConvertResponse> {\n const { data } = await this.httpClient.post<AudioConvertResponse>(\n `${this.baseUrl}/whatsapp/audio-convert`,\n formData,\n {\n headers: {\n 'Content-Type': 'multipart/form-data',\n },\n },\n );\n return data;\n }\n\n /**\n * Fetches an attachment by its file ID or storage key.\n *\n * When `key` is provided, the path is built from the key directly and no\n * `x-bucket-provider` header is sent. Otherwise, `fileId` and `provider` are\n * used to build the path and the provider header respectively.\n *\n * @param params - The parameters identifying the attachment.\n * @returns A signed URL to access the attachment.\n */\n async getAttachmentById(params: GetAttachmentByIdRequest): Promise<AttachmentByIdResponse> {\n const path = params.key\n ? `/uploads/${encodeURIComponent(params.key)}`\n : `/uploads/${encodeURIComponent(params.fileId!)}`;\n\n const axiosParams: Record<string, string> = {};\n\n if (params.download) axiosParams.download = 'true';\n if (params.filename) axiosParams.filename = params.filename;\n const headers: Record<string, string> = {};\n if (!params.key && params.provider) headers['x-bucket-provider'] = params.provider!;\n\n const { data } = await this.httpClient.get<AttachmentByIdResponse>(`${this.baseUrl}${path}`, {\n params: axiosParams,\n headers,\n });\n return data;\n }\n}\n\nexport type {\n GetPresignedUrlRequest,\n UploadPresignedUrlResponse,\n IUploadPresignedUrlResponse,\n AudioConvertResponse,\n GetAttachmentByIdRequest,\n AttachmentByIdResponse,\n} from './contracts/assets';\n","import type { AxiosInstance } from 'axios';\nimport type {\n ContactPhoneSearchResponse,\n GetContactPhonesParams,\n ContactCategoryResponse,\n} from './contracts/contact-phone';\n\n/**\n * Gateway for interacting with the Contact List API.\n */\nexport class ContactListGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n\n /**\n * Searches for contact phones with optional filtering and pagination.\n * @param params - The query parameters for the search.\n * @returns The paginated contact phones response.\n */\n async getContactsPhones(params: GetContactPhonesParams): Promise<ContactPhoneSearchResponse> {\n const { data } = await this.httpClient.get<ContactPhoneSearchResponse>(\n `${this.baseUrl}/contact/phone/search`,\n { params },\n );\n return data;\n }\n\n /**\n * Retrieves all contact categories.\n * @returns An array of contact categories.\n */\n async getCategoryList(): Promise<ContactCategoryResponse[]> {\n const { data } = await this.httpClient.get<ContactCategoryResponse[]>(\n `${this.baseUrl}/contact/category`,\n );\n return data;\n }\n}\n\nexport type {\n ContactPhoneSearchResponse,\n GetContactPhonesParams,\n ContactPhoneResponse,\n ContactCategoryResponse,\n} from './contracts/contact-phone';\n","import type { AxiosInstance } from 'axios';\nimport type {\n CreateIntegrationActionRequest,\n CreateCaseWebhookRequest,\n CreateIntegrationFieldRequest,\n CreateIntegrationPartnerRequest,\n DeleteIntegrationActionParams,\n DeleteIntegrationFieldParams,\n DeleteIntegrationPartnerParams,\n GetIntegrationHooksCatalogRequest,\n GetCaseWebhooksByCompanyRequest,\n GetIntegrationPartnersByCompanyRequest,\n HookCatalogItem,\n IntegrationAction,\n IntegrationField,\n IntegrationPartner,\n UpdateIntegrationActionParams,\n UpdateIntegrationActionRequest,\n UpdateIntegrationFieldParams,\n UpdateIntegrationFieldRequest,\n} from './contracts';\n\n/**\n * Gateway for interacting with the Integrations API.\n */\nexport class IntegrationsGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n\n /**\n * Retrieves all integration partners configured for a company.\n * @param companyId - The company identifier.\n * @returns The integration partners configured for the company.\n */\n async getPartnersByCompany({ companyId, name }: GetIntegrationPartnersByCompanyRequest): Promise<IntegrationPartner[]> {\n const { data } = await this.httpClient.get<IntegrationPartner[]>(`${this.baseUrl}/partner/company/${companyId}`, {\n params: name ? { name } : undefined,\n });\n return data;\n }\n\n /** Retrieves the Casos case webhooks scenario for a company. */\n async getCaseWebhooksByCompany({ companyId }: GetCaseWebhooksByCompanyRequest): Promise<IntegrationPartner[]> {\n const { data } = await this.httpClient.get<IntegrationPartner[]>(`${this.baseUrl}/webhook`, {\n params: { companyId },\n });\n return data;\n }\n\n /**\n * Retrieves the hook catalog, optionally scoped by module.\n * @param module - The optional module identifier used by the Integrations API filter.\n * @returns The hook catalog items, filtered by module when provided.\n */\n async getHooksCatalog({ module }: GetIntegrationHooksCatalogRequest = {}): Promise<HookCatalogItem[]> {\n const { data } = await this.httpClient.get<HookCatalogItem[]>(`${this.baseUrl}/hooks`, {\n params: module ? { module } : undefined,\n });\n return data;\n }\n\n /**\n * Creates an integration partner.\n * @param payload - The partner creation payload.\n * @returns The created integration partner.\n */\n async createPartner(payload: CreateIntegrationPartnerRequest): Promise<IntegrationPartner> {\n const { data } = await this.httpClient.post<IntegrationPartner>(`${this.baseUrl}/partner`, payload);\n return data;\n }\n\n /** Creates a case webhook. */\n async createCaseWebhook(payload: CreateCaseWebhookRequest): Promise<IntegrationPartner> {\n const { data } = await this.httpClient.post<IntegrationPartner>(`${this.baseUrl}/webhook`, payload);\n return data;\n }\n\n /**\n * Deletes an integration partner.\n * @param partnerId - The partner identifier.\n * @returns A promise that resolves when the partner is deleted.\n */\n async deletePartner({ partnerId }: DeleteIntegrationPartnerParams): Promise<void> {\n await this.httpClient.delete(`${this.baseUrl}/partner/${partnerId}`);\n }\n\n /**\n * Creates an integration action.\n * @param payload - The action creation payload.\n * @returns The created integration action.\n */\n async createAction(payload: CreateIntegrationActionRequest): Promise<IntegrationAction> {\n const { data } = await this.httpClient.post<IntegrationAction>(`${this.baseUrl}/action`, {\n ...payload,\n actionName: payload.actionName ?? payload.hook,\n });\n return data;\n }\n\n /**\n * Updates an integration action.\n * @param actionId - The action identifier.\n * @param payload - The action update payload.\n * @returns The updated integration action.\n */\n async updateAction({ actionId, payload }: UpdateIntegrationActionParams): Promise<IntegrationAction> {\n const { data } = await this.httpClient.patch<IntegrationAction>(`${this.baseUrl}/action/${actionId}`, payload);\n return data;\n }\n\n /**\n * Creates an integration action field/header.\n * @param payload - The field creation payload.\n * @returns The created integration field.\n */\n async createField(payload: CreateIntegrationFieldRequest): Promise<IntegrationField> {\n const { data } = await this.httpClient.post<IntegrationField>(`${this.baseUrl}/field`, payload);\n return data;\n }\n\n /**\n * Updates an integration action field/header.\n * @param fieldId - The field identifier.\n * @param payload - The field update payload.\n * @returns The updated integration field response.\n */\n async updateField({ fieldId, payload }: UpdateIntegrationFieldParams): Promise<IntegrationField | number[]> {\n const { data } = await this.httpClient.put<IntegrationField | number[]>(`${this.baseUrl}/field/${fieldId}`, payload);\n return data;\n }\n\n /**\n * Deletes an integration action field/header.\n * @param fieldId - The field identifier.\n * @returns A promise that resolves when the field is deleted.\n */\n async deleteField({ fieldId }: DeleteIntegrationFieldParams): Promise<void> {\n await this.httpClient.delete(`${this.baseUrl}/field/${fieldId}`);\n }\n\n /**\n * Deletes an integration action.\n * @param actionId - The action identifier.\n * @returns A promise that resolves when the action is deleted.\n */\n async deleteAction({ actionId }: DeleteIntegrationActionParams): Promise<void> {\n await this.httpClient.delete(`${this.baseUrl}/action/${actionId}`);\n }\n}\n\nexport type {\n CreateIntegrationActionRequest,\n CreateCaseWebhookRequest,\n CreateIntegrationFieldRequest,\n CreateIntegrationPartnerRequest,\n DeleteIntegrationActionParams,\n DeleteIntegrationFieldParams,\n DeleteIntegrationPartnerParams,\n GetIntegrationHooksCatalogRequest,\n GetCaseWebhooksByCompanyRequest,\n GetIntegrationPartnersByCompanyRequest,\n HookCatalogItem,\n IntegrationAction,\n IntegrationField,\n IntegrationPartner,\n UpdateIntegrationActionParams,\n UpdateIntegrationActionRequest,\n UpdateIntegrationFieldParams,\n UpdateIntegrationFieldRequest,\n} from './contracts';\n","import type { AxiosInstance } from 'axios';\nimport type {\n ListLiveUserRoomsRequest,\n LiveUserRoomResponse,\n GetRoomByIdRequest,\n RoomResponse,\n} from './contracts/room';\n\n/**\n * Gateway for interacting with the Chat Webservice API.\n */\nexport class ChatWebserviceGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n\n /**\n * Lists live rooms assigned to a user.\n * @param params - The recipient, company, and open-status filters.\n * @returns The live room entries for the user.\n */\n async listLiveUserRooms(params: ListLiveUserRoomsRequest): Promise<LiveUserRoomResponse[]> {\n const { data } = await this.httpClient.get<LiveUserRoomResponse[]>(`${this.baseUrl}/member/rooms/live`, { params });\n return data;\n }\n\n /**\n * Retrieves a chat room by its identifier.\n * @param id - The unique identifier of the room.\n * @param params - Optional query parameters for scoping and member inclusion.\n * @returns The chat room data.\n */\n async getRoomById(id: number, params: GetRoomByIdRequest = {}): Promise<RoomResponse> {\n const { data } = await this.httpClient.get<RoomResponse>(`${this.baseUrl}/room/${id}`, { params });\n return data;\n }\n}\n\nexport type {\n GetRoomByIdRequest,\n ListLiveUserRoomsRequest,\n LiveUserRoomResponse,\n RoomActiveDates,\n RoomMemberResponse,\n RoomResponse,\n RoomTagResponse,\n} from './contracts/room';\n","import type { AxiosInstance } from 'axios';\nimport type { ContactHistoryResponse, ListContactHistoryRequest } from './contracts/contact-history';\n\n/**\n * Gateway for interacting with the Call Report API.\n */\nexport class CallReportGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n\n /**\n * Lists contact interaction history across chat and CDR indexes.\n * @param params - Optional filters, pagination, and index selection.\n * @returns The paginated contact history response.\n */\n async listContactHistory(params: ListContactHistoryRequest = {}): Promise<ContactHistoryResponse> {\n const { data } = await this.httpClient.get<ContactHistoryResponse>(`${this.baseUrl}/history/index/multi`, {\n params,\n });\n return data;\n }\n}\n\nexport type {\n ContactHistoryIndex,\n ContactHistoryResponse,\n ContactHistorySortOrder,\n ContactInteractionResponse,\n InteractionCallStepResponse,\n InteractionChatStepResponse,\n InteractionMemberResponse,\n InteractionOrganizationResponse,\n ListContactHistoryRequest,\n} from './contracts/contact-history';\n","import { CustomerServiceGateway } from '../customer-service';\nimport { ChatConfigGateway } from '../chat-config';\nimport { CampaignsGateway } from '../campaigns';\nimport { ChatAdapterGateway } from '../chat-adapter';\nimport { AssetsGateway } from '../assets';\nimport { ContactListGateway } from '../contact-list';\nimport { IntegrationsGateway } from '../integrations';\nimport { ChatWebserviceGateway } from '../chat-webservice';\nimport { CallReportGateway } from '../call-report';\nimport axios, { AxiosInstance } from 'axios';\n\n/**\n * Maps service identifiers to their corresponding gateway types.\n * Used by the `gateway()` function to infer the correct return type\n * based on the service name passed as argument.\n *\n * When adding a new service, add an entry here with the service\n * identifier as the key and the gateway class as the value.\n */\nexport type GatewayMap = {\n 'customer-service': CustomerServiceGateway;\n 'chat-config': ChatConfigGateway;\n campaigns: CampaignsGateway;\n 'chat-adapter': ChatAdapterGateway;\n assets: AssetsGateway;\n 'contact-list': ContactListGateway;\n integrations: IntegrationsGateway;\n 'chat-webservice': ChatWebserviceGateway;\n 'call-report': CallReportGateway;\n};\n\nexport interface SDKGatewaysInterface {\n customerService: CustomerServiceGateway | null;\n chatConfig: ChatConfigGateway | null;\n campaigns: CampaignsGateway | null;\n chatAdapter: ChatAdapterGateway | null;\n assets: AssetsGateway | null;\n contactList: ContactListGateway | null;\n integrations: IntegrationsGateway | null;\n chatWebservice: ChatWebserviceGateway | null;\n callReport: CallReportGateway | null;\n}\n\nclass SDKGateways {\n customerService: CustomerServiceGateway | null;\n chatConfig: ChatConfigGateway | null;\n campaigns: CampaignsGateway | null;\n chatAdapter: ChatAdapterGateway | null;\n assets: AssetsGateway | null;\n contactList: ContactListGateway | null;\n integrations: IntegrationsGateway | null;\n chatWebservice: ChatWebserviceGateway | null;\n callReport: CallReportGateway | null;\n constructor(\n customerService: CustomerServiceGateway | null,\n chatConfig: ChatConfigGateway | null,\n campaigns: CampaignsGateway | null,\n chatAdapter: ChatAdapterGateway | null,\n assets: AssetsGateway | null,\n contactList: ContactListGateway | null,\n integrations: IntegrationsGateway | null,\n chatWebservice: ChatWebserviceGateway | null,\n callReport: CallReportGateway | null,\n ) {\n this.customerService = customerService;\n this.chatConfig = chatConfig;\n this.campaigns = campaigns;\n this.chatAdapter = chatAdapter;\n this.assets = assets;\n this.contactList = contactList;\n this.integrations = integrations;\n this.chatWebservice = chatWebservice;\n this.callReport = callReport;\n }\n}\n\n/**\n * Parameters required to configure the SDK client.\n * Each service configuration is optional, only provide the services you need.\n */\nexport interface GatewayClientParams {\n /** An Axios instance used as the HTTP client for all gateway requests (optional). */\n axiosClient?: AxiosInstance;\n /** API token used for authentication across all services. */\n apiToken: string;\n /** Configuration for each service gateway. Only the services you configure will be available. */\n services: {\n customerService?: {\n baseUrl: string;\n };\n chatConfig?: {\n baseUrl: string;\n };\n campaigns?: {\n baseUrl: string;\n };\n chatAdapter?: {\n baseUrl: string;\n };\n assets?: {\n baseUrl: string;\n };\n contactList?: {\n baseUrl: string;\n };\n integrations?: {\n baseUrl: string;\n };\n chatWebservice?: {\n baseUrl: string;\n };\n callReport?: {\n baseUrl: string;\n };\n };\n}\n\n/**\n * Creates an SDKGateways instance with all service gateways initialized\n * using the provided configuration parameters.\n * Services without configuration will be set to null and will throw\n * an error if accessed via `gateway()`.\n */\nexport function createClient(params: GatewayClientParams) {\n const httpClient =\n params.axiosClient ||\n axios.create({\n headers: {\n Authorization: `Bearer ${params.apiToken}`,\n },\n });\n const customerService = params.services.customerService\n ? new CustomerServiceGateway(httpClient, params.services.customerService.baseUrl)\n : null;\n const chatConfig = params.services.chatConfig\n ? new ChatConfigGateway(httpClient, params.services.chatConfig.baseUrl)\n : null;\n const campaigns = params.services.campaigns\n ? new CampaignsGateway(httpClient, params.services.campaigns.baseUrl)\n : null;\n const chatAdapter = params.services.chatAdapter\n ? new ChatAdapterGateway(httpClient, params.services.chatAdapter.baseUrl)\n : null;\n const assets = params.services.assets ? new AssetsGateway(httpClient, params.services.assets.baseUrl) : null;\n const contactList = params.services.contactList\n ? new ContactListGateway(httpClient, params.services.contactList.baseUrl)\n : null;\n const integrations = params.services.integrations\n ? new IntegrationsGateway(httpClient, params.services.integrations.baseUrl)\n : null;\n const chatWebservice = params.services.chatWebservice\n ? new ChatWebserviceGateway(httpClient, params.services.chatWebservice.baseUrl)\n : null;\n const callReport = params.services.callReport\n ? new CallReportGateway(httpClient, params.services.callReport.baseUrl)\n : null;\n return new SDKGateways(\n customerService,\n chatConfig,\n campaigns,\n chatAdapter,\n assets,\n contactList,\n integrations,\n chatWebservice,\n callReport,\n );\n}\n","export const SERVICE_GATEWAYS = {\n CUSTOMER_SERVICE: 'customer-service',\n CHAT_CONFIG: 'chat-config',\n CAMPAIGNS: 'campaigns',\n CHAT_ADAPTER: 'chat-adapter',\n ASSETS: 'assets',\n CONTACT_LIST: 'contact-list',\n INTEGRATIONS: 'integrations',\n CHAT_WEBSERVICE: 'chat-webservice',\n CALL_REPORT: 'call-report',\n} as const;\n\nexport type SERVICE_GATEWAYS = (typeof SERVICE_GATEWAYS)[keyof typeof SERVICE_GATEWAYS];\n","import { createClient, SDKGatewaysInterface, GatewayClientParams, GatewayMap } from './@common/client';\nimport { SERVICE_GATEWAYS } from './@common/enums';\n\nclass SDK {\n client: SDKGatewaysInterface | null = null;\n\n configure(params: GatewayClientParams) {\n this.client = createClient(params);\n }\n}\nconst sdk = new SDK();\n\n/**\n * Initializes the SDK with the required configuration parameters.\n * Must be called before using {@link gateway}.\n */\nexport const configure = (params: GatewayClientParams) => {\n sdk.configure(params);\n};\n\n/**\n * Returns the gateway instance for the specified service.\n *\n * @typeParam T - A service identifier key from {@link GatewayMap}.\n * @param service - The service identifier (e.g. `SERVICE_GATEWAYS.CUSTOMER_SERVICE`).\n * @returns The corresponding gateway instance with all its methods.\n * @throws {Error} If the SDK has not been configured via {@link configure}.\n * @throws {Error} If an unknown service identifier is provided.\n *\n * @example\n * ```ts\n * configure({ axiosClient, apiToken: '...', services: { customerService: { baseUrl: '...' } } });\n * const customer = gateway('customer-service');\n * const company = await customer.getCompanyById('123');\n * ```\n */\nexport function gateway<T extends keyof GatewayMap>(service: T): GatewayMap[T];\nexport function gateway(service: SERVICE_GATEWAYS) {\n if (!sdk.client)\n throw new Error(\n 'SDK not configured. Please call configure() with the appropriate parameters before using the SDK.',\n );\n\n switch (service) {\n case SERVICE_GATEWAYS.CUSTOMER_SERVICE:\n if (!sdk.client.customerService)\n throw new Error(`Service 'customer-service' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.customerService;\n case SERVICE_GATEWAYS.CHAT_CONFIG:\n if (!sdk.client.chatConfig)\n throw new Error(`Service 'chat-config' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.chatConfig;\n case SERVICE_GATEWAYS.CAMPAIGNS:\n if (!sdk.client.campaigns)\n throw new Error(`Service 'campaigns' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.campaigns;\n case SERVICE_GATEWAYS.CHAT_ADAPTER:\n if (!sdk.client.chatAdapter)\n throw new Error(`Service 'chat-adapter' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.chatAdapter;\n case SERVICE_GATEWAYS.ASSETS:\n if (!sdk.client.assets)\n throw new Error(`Service 'assets' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.assets;\n case SERVICE_GATEWAYS.CONTACT_LIST:\n if (!sdk.client.contactList)\n throw new Error(`Service 'contact-list' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.contactList;\n case SERVICE_GATEWAYS.INTEGRATIONS:\n if (!sdk.client.integrations)\n throw new Error(`Service 'integrations' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.integrations;\n case SERVICE_GATEWAYS.CHAT_WEBSERVICE:\n if (!sdk.client.chatWebservice)\n throw new Error(`Service 'chat-webservice' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.chatWebservice;\n case SERVICE_GATEWAYS.CALL_REPORT:\n if (!sdk.client.callReport)\n throw new Error(`Service 'call-report' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.callReport;\n default:\n throw new Error(`Unknown service gateway: ${service}`);\n }\n}\n\nexport * from './campaigns/contracts';\nexport * from './chat-config/contracts';\nexport * from './customer-service/contracts';\nexport * from './chat-adapter/contracts';\nexport * from './assets/contracts';\nexport * from './contact-list/contracts';\nexport * from './integrations/contracts';\nexport * from './chat-webservice/contracts';\nexport * from './call-report/contracts';\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/customer-service/index.ts","../src/chat-config/index.ts","../src/campaigns/index.ts","../src/chat-adapter/index.ts","../src/assets/index.ts","../src/contact-list/index.ts","../src/integrations/index.ts","../src/chat-webservice/index.ts","../src/call-report/index.ts","../src/cases/index.ts","../src/@common/client.ts","../src/@common/enums.ts","../src/index.ts"],"sourcesContent":["import type { AxiosInstance } from 'axios';\nimport type { CompanyResponse } from './contracts/company';\nimport type {\n WorkGroupListResponse,\n WorkGroupMembersResponse,\n WorkGroupResponse,\n} from './contracts/work-group';\nimport type {\n GetAllUsersParams,\n GetAllUsersResponse,\n GetManagedUsersResponse,\n} from './contracts/user';\n\n/**\n * Gateway for interacting with the Customer Service API.\n */\nexport class CustomerServiceGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n\n /**\n * Retrieves a company by its unique identifier.\n * @param companyId - The unique identifier of the company.\n * @returns The company data wrapped in a {@link CompanyResponse}.\n */\n async getCompanyById(companyId: string): Promise<CompanyResponse> {\n const { data } = await this.httpClient.get<CompanyResponse>(`${this.baseUrl}/companies/search/${companyId}`);\n return data;\n }\n\n /**\n * Retrieves all work groups for a company.\n * @param companyId - The unique identifier of the company.\n * @returns The work groups for the given company.\n */\n async getWorkGroups(companyId: string): Promise<WorkGroupListResponse> {\n const { data } = await this.httpClient.get<WorkGroupListResponse>(\n `${this.baseUrl}/companies/work-groups`,\n { params: { company_id: companyId } },\n );\n return data;\n }\n\n /**\n * Retrieves a work group by its unique identifier.\n * @param workGroupId - The unique identifier of the work group.\n * @param companyId - The unique identifier of the company (optional, sent as query parameter).\n * @returns The work group data wrapped in a {@link WorkGroupResponse}.\n */\n async getWorkGroupById(workGroupId: string, companyId?: string): Promise<WorkGroupResponse> {\n const params = companyId ? { company_id: companyId } : undefined;\n const { data } = await this.httpClient.get<WorkGroupResponse>(\n `${this.baseUrl}/companies/work-groups/${workGroupId}`,\n { params },\n );\n return data;\n }\n\n /**\n * Retrieves the members of a work group by its identifier.\n * @param groupId - The unique identifier of the work group.\n * @param companyId - The unique identifier of the company (optional, sent as query parameter).\n * @param profile - Filter members by profile (optional).\n * @returns The members of the work group.\n */\n async getWorkGroupMembers(\n groupId: string,\n companyId?: string,\n profile?: string[],\n ): Promise<WorkGroupMembersResponse> {\n const params: { company_id?: string; profile?: string[] } = {};\n if (companyId) params.company_id = companyId;\n if (profile) params.profile = profile;\n const { data } = await this.httpClient.get<WorkGroupMembersResponse>(\n `${this.baseUrl}/bonds/work-groups/${groupId}`,\n { params },\n );\n return data;\n }\n\n async getAllUsers(params?: GetAllUsersParams): Promise<GetAllUsersResponse> {\n const { data } = await this.httpClient.get<GetAllUsersResponse>(\n `${this.baseUrl}/companies/users`,\n { params },\n );\n return data;\n }\n\n async getManagedUsers(managerId: string): Promise<GetManagedUsersResponse> {\n const { data } = await this.httpClient.get<GetManagedUsersResponse>(\n `${this.baseUrl}/users/managed/${managerId}`,\n );\n return data;\n }\n}\n\nexport type { CompanyResponse, CompanyData } from './contracts/company';\nexport type {\n WorkGroup,\n WorkGroupMember,\n WorkGroupMembersResponse,\n WorkGroupListResponse,\n WorkGroupResponse,\n} from './contracts/work-group';\nexport type {\n User,\n GetAllUsersParams,\n GetAllUsersResponse,\n ManagedUser,\n GetManagedUsersResponse,\n} from './contracts/user';","import type { AxiosInstance } from 'axios';\nimport type {\n GetProviderConfigurationsParams,\n ProviderConfigurationsResponse,\n ProviderListResponse,\n} from './contracts/provider';\nimport type { ConfigListByProviderResponse, GetConfigsByProviderParams } from './contracts/config';\nimport type {\n GetServiceGroupsParams,\n Queue,\n QueueListResponse,\n QueueMember,\n GetMemberQueuesRequest,\n ServiceGroupsResponse,\n} from './contracts/queues';\nimport type { MetaTemplateConfigResponse, MetaTemplateConfigsResponse } from './contracts/meta-template';\nimport type {\n FindOrCreateQueueRuleRequest,\n GetRootRulesRequest,\n RootRulesResponse,\n Rule,\n QueueRule,\n} from './contracts/rule';\n\n/**\n * Gateway for interacting with the Chat Config API.\n */\nexport class ChatConfigGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n\n /**\n * Retrieves all available providers.\n * @returns The list of providers.\n */\n async getProviders(): Promise<ProviderListResponse> {\n const { data } = await this.httpClient.get<ProviderListResponse>(`${this.baseUrl}/providers`);\n return data;\n }\n\n /**\n * Retrieves provider configurations filtered by configuration IDs.\n * @param params - Query parameters containing one or more configuration IDs.\n * @returns The provider configurations matching the given IDs.\n */\n async getProviderConfigurations(params?: GetProviderConfigurationsParams): Promise<ProviderConfigurationsResponse> {\n const url = `${this.baseUrl}/providers/configurations`;\n const { data } = await this.httpClient.get<ProviderConfigurationsResponse>(url, { params: params });\n return data;\n }\n\n /**\n * Retrieves configurations filtered by provider.\n * @param providerId - The unique identifier of the provider.\n * @param params - Optional query parameters for filtering configurations.\n * @returns The configurations for the given provider.\n */\n async getConfigsByProvider(\n providerId: string,\n params?: GetConfigsByProviderParams,\n ): Promise<ConfigListByProviderResponse> {\n const { data } = await this.httpClient.get<ConfigListByProviderResponse>(\n `${this.baseUrl}/config/provider/${providerId}`,\n { params },\n );\n return data;\n }\n\n /**\n * Retrieves a queue by its ID.\n * @param queueId - The unique identifier of the queue.\n * @returns The queue data.\n */\n async getQueueById(queueId: string): Promise<Queue> {\n const { data } = await this.httpClient.get<Queue>(`${this.baseUrl}/queue/${queueId}`);\n return data;\n }\n\n async getQueues(): Promise<Queue[]> {\n const { data } = await this.httpClient.get<Queue[]>(`${this.baseUrl}/queues`);\n return data;\n }\n\n /**\n * Lists queue memberships for a member.\n * @param params - The member identifier and optional association filter.\n * @returns The queue memberships for the given member.\n */\n async getMemberQueues(params: GetMemberQueuesRequest): Promise<QueueMember[]> {\n const { data } = await this.httpClient.get<QueueMember[]>(`${this.baseUrl}/queue-members`, { params });\n return data;\n }\n\n /**\n * Retrieves service groups filtered by service group IDs.\n * @param params - Query parameters containing one or more service group IDs.\n * @returns The service groups matching the given IDs.\n */\n async getServiceGroups(params?: GetServiceGroupsParams): Promise<ServiceGroupsResponse> {\n const url = `${this.baseUrl}/service-groups`;\n const { data } = await this.httpClient.get<ServiceGroupsResponse>(url, { params: params });\n return data;\n }\n\n /**\n * Retrieves a Meta template configuration by its ID.\n * @param templateId - The unique identifier of the template.\n * @returns The Meta template configuration.\n */\n async getMetaTemplateById(templateId: string): Promise<MetaTemplateConfigResponse> {\n const { data } = await this.httpClient.get<MetaTemplateConfigResponse>(\n `${this.baseUrl}/meta-templates-config/${templateId}`,\n );\n return data;\n }\n\n /**\n * Retrieves template configurations associated with a configuration ID.\n * @param configId - The configuration identifier.\n * @returns The list of template configurations.\n */\n async getTemplateConfigsByConfigId(configId: string): Promise<MetaTemplateConfigsResponse> {\n const { data } = await this.httpClient.get<MetaTemplateConfigsResponse>(\n `${this.baseUrl}/meta-templates-config/config/${configId}`,\n );\n return data;\n }\n\n /**\n * Finds an existing queue rule or creates a new one if it does not exist.\n * @param payload - The payload containing companyId, queueId, and configId.\n * @returns The found or created queue rule.\n */\n async findOrCreateQueueRule(payload: FindOrCreateQueueRuleRequest): Promise<QueueRule> {\n const { data } = await this.httpClient.put<QueueRule>(`${this.baseUrl}/rules/queue/find-or-create`, payload);\n return data;\n }\n\n /**\n * @param params - The company and pagination parameters.\n * @returns The paginated initial service rules.\n */\n async getRootRules(params: GetRootRulesRequest): Promise<RootRulesResponse> {\n const { data } = await this.httpClient.get<RootRulesResponse>(`${this.baseUrl}/rules/paginated`, {\n params: {\n archiveStatus: 'unarchived',\n companyId: params.companyId,\n offset: params.offset,\n limit: params.limit,\n name: params?.name,\n isRoot: true,\n },\n });\n return data;\n }\n}\n\nexport type {\n GetServiceGroupsParams,\n Queue,\n QueueMember,\n DistributionType,\n QueueListResponse,\n ServiceGroup,\n ServiceGroupsResponse,\n} from './contracts/queues';\nexport type {\n GetProviderConfigurationsParams,\n ProviderConfiguration,\n ProviderConfigurationsResponse,\n ProviderListResponse,\n Provider,\n WhatsAppProviderSettings,\n WidgetProviderSettings,\n} from './contracts/provider';\nexport type {\n ConfigListByProviderResponse,\n Config,\n ConfigProvider,\n GetConfigsByProviderParams,\n} from './contracts/config';\nexport type {\n MetaTemplateButton,\n MetaTemplateConfigResponse,\n MetaTemplateConfigsResponse,\n} from './contracts/meta-template';\nexport type { FindOrCreateQueueRuleRequest, QueueRule, RootRulesResponse, Rule } from './contracts/rule';\n","import type { AxiosInstance } from 'axios';\nimport type {\n Campaign,\n CampaignPaginatedResponse,\n CampaignQueryParams,\n CreateCampaignRequest,\n PatchCampaignRequest,\n CampaignUser,\n} from './contracts/campaign';\nimport type {\n CampaignContactPaginatedResponse,\n CampaignContactQueryParams,\n CampaignContactResponse,\n CreateCampaignContactRequest,\n PatchCampaignContactRequest,\n} from './contracts/campaign-contacts';\nimport type {\n CampaignContactsDashboardData,\n CampaignContactsDashboardQueryParams,\n} from './contracts/campaign-contacts-dashboard';\nimport type {\n CampaignWorkGroup,\n CampaignWorkGroupPaginatedResponse,\n CampaignWorkGroupQueryParams,\n CreateCampaignWorkGroupRequest,\n} from './contracts/work-group';\n\n/**\n * Gateway for interacting with the Campaigns API.\n */\nexport class CampaignsGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n\n /**\n * Retrieves a paginated list of campaigns.\n * @param query - Optional query parameters for filtering and pagination.\n * @returns The paginated campaigns response.\n */\n async find(query?: CampaignQueryParams): Promise<CampaignPaginatedResponse> {\n const { data } = await this.httpClient.get<CampaignPaginatedResponse>(`${this.baseUrl}/campaigns`, {\n params: query,\n });\n return data;\n }\n\n /**\n * Retrieves a campaign by its unique identifier.\n * @param id - The unique identifier of the campaign.\n * @returns The campaign data.\n */\n async get(id: string): Promise<Campaign> {\n const { data } = await this.httpClient.get<Campaign>(`${this.baseUrl}/campaigns/${id}`);\n return data;\n }\n\n /**\n * Creates a new campaign.\n * @param payload - The campaign data to create.\n * @returns The created campaign.\n */\n async create(payload: CreateCampaignRequest): Promise<Campaign> {\n const { data } = await this.httpClient.post<Campaign>(`${this.baseUrl}/campaigns`, payload);\n return data;\n }\n\n /**\n * Partially updates an existing campaign.\n * @param id - The unique identifier of the campaign.\n * @param payload - The fields to update.\n * @returns The updated campaign.\n */\n async patch(id: string, payload: PatchCampaignRequest): Promise<Campaign> {\n const { data } = await this.httpClient.patch<Campaign>(`${this.baseUrl}/campaigns/${id}`, payload);\n return data;\n }\n\n /**\n * Removes a campaign by its unique identifier.\n * @param id - The unique identifier of the campaign.\n * @returns The removed campaign.\n */\n async remove(id: string): Promise<Campaign> {\n const { data } = await this.httpClient.delete<Campaign>(`${this.baseUrl}/campaigns/${id}`);\n return data;\n }\n\n /**\n * Retrieves a paginated list of campaign contacts.\n * @param query - Optional query parameters for filtering and pagination.\n * @returns The paginated campaign contacts response.\n */\n async findCampaignContacts(query?: CampaignContactQueryParams): Promise<CampaignContactPaginatedResponse> {\n const { data } = await this.httpClient.get<CampaignContactPaginatedResponse>(`${this.baseUrl}/campaign-contacts`, {\n params: query,\n });\n return data;\n }\n\n /**\n * Retrieves a campaign contact by its unique identifier.\n * @param id - The unique identifier of the campaign contact.\n * @returns The campaign contact data.\n */\n async getCampaignContacts(id: string): Promise<CampaignContactResponse> {\n const { data } = await this.httpClient.get<CampaignContactResponse>(`${this.baseUrl}/campaign-contacts/${id}`);\n return data;\n }\n\n /**\n * Creates a new campaign contact.\n * @param payload - The campaign contact data to create.\n * @returns The created campaign contact.\n */\n async createCampaignContact(payload: CreateCampaignContactRequest): Promise<CampaignContactResponse> {\n const { data } = await this.httpClient.post<CampaignContactResponse>(`${this.baseUrl}/campaign-contacts`, payload);\n return data;\n }\n\n /**\n * Adds multiple contacts to a campaign in a single request.\n * @param payload - The list of campaign contacts to create.\n * @returns The created campaign contacts.\n */\n async addContactsToCampaign(payload: CreateCampaignContactRequest[]): Promise<CampaignContactResponse[]> {\n const { data } = await this.httpClient.post<CampaignContactResponse[]>(\n `${this.baseUrl}/campaign-contacts`,\n payload,\n );\n return data;\n }\n\n /**\n * Partially updates an existing campaign contact.\n * @param id - The unique identifier of the campaign contact.\n * @param payload - The fields to update.\n * @returns The updated campaign contact.\n */\n async patchCampaignContact(id: string, payload: PatchCampaignContactRequest): Promise<CampaignContactResponse> {\n const { data } = await this.httpClient.patch<CampaignContactResponse>(\n `${this.baseUrl}/campaign-contacts/${id}`,\n payload,\n );\n return data;\n }\n\n /**\n * Removes a campaign contact by its unique identifier.\n * @param id - The unique identifier of the campaign contact.\n * @returns The removed campaign contact.\n */\n async removeCampaignContact(id: string): Promise<CampaignContactResponse> {\n const { data } = await this.httpClient.delete<CampaignContactResponse>(`${this.baseUrl}/campaign-contacts/${id}`);\n return data;\n }\n\n async getContactsDashboardData(\n query: CampaignContactsDashboardQueryParams,\n ): Promise<CampaignContactsDashboardData> {\n const { data } = await this.httpClient.get<CampaignContactsDashboardData>(\n `${this.baseUrl}/campaign-contacts-dashboard`,\n {\n params: query,\n },\n );\n return data;\n }\n\n async getUsers() {\n const { data } = await this.httpClient.get<CampaignUser[]>(`${this.baseUrl}/users`);\n return data;\n }\n\n async listWorkGroups(query?: CampaignWorkGroupQueryParams): Promise<CampaignWorkGroupPaginatedResponse> {\n const { data } = await this.httpClient.get<CampaignWorkGroupPaginatedResponse>(`${this.baseUrl}/work-groups`, {\n params: query,\n });\n return data;\n }\n\n async createWorkGroup(payload: CreateCampaignWorkGroupRequest): Promise<CampaignWorkGroup> {\n const { data } = await this.httpClient.post<CampaignWorkGroup>(`${this.baseUrl}/work-groups`, payload);\n return data;\n }\n\n async deleteWorkGroup(id: string): Promise<CampaignWorkGroup> {\n const { data } = await this.httpClient.delete<CampaignWorkGroup>(`${this.baseUrl}/work-groups/${id}`);\n return data;\n }\n}\n\nexport type {\n Campaign,\n CampaignPaginatedResponse,\n CampaignQueryParams,\n CampaignRetryConfig,\n CampaignStatus,\n CampaignProvider,\n WhatsAppPayload,\n WhatsAppTemplateComponent,\n CampaignContactFilter,\n CampaignSchedule,\n CreateCampaignRequest,\n PatchCampaignRequest,\n CampaignUser,\n} from './contracts/campaign';\nexport type {\n CampaignContactCampaignStatus,\n CampaignContactDispatchStatus,\n CampaignContactLikeQueryOperators,\n CampaignContactPaginatedResponse,\n CampaignContactQueryOperators,\n CampaignContactQueryParams,\n CampaignContactQueryValue,\n CampaignContactResponse,\n CampaignContactSortDirection,\n CampaignContactSortParams,\n CreateCampaignContactRequest,\n PatchCampaignContactRequest,\n} from './contracts/campaign-contacts';\nexport type {\n CampaignContactsDashboardChannelPerformance,\n CampaignContactsDashboardData,\n CampaignContactsDashboardExactQueryOperators,\n CampaignContactsDashboardEvolutionItem,\n CampaignContactsDashboardFunnelItem,\n CampaignContactsDashboardInterval,\n CampaignContactsDashboardMetrics,\n CampaignContactsDashboardQueryParams,\n CampaignContactsDashboardQueryValue,\n CampaignContactsDashboardRangeQueryOperators,\n CampaignContactsDashboardStatusDistribution,\n CampaignContactsDashboardStatusMetrics,\n CampaignContactsDashboardSummary,\n CampaignContactsDashboardTopCampaign,\n} from './contracts/campaign-contacts-dashboard';\nexport type {\n CampaignWorkGroup,\n CampaignWorkGroupPaginatedResponse,\n CampaignWorkGroupQueryParams,\n CreateCampaignWorkGroupRequest,\n} from './contracts/work-group';\n","import type { AxiosInstance } from 'axios';\nimport type { GetConfigTemplatesResponse, GetConfigTemplatesParams } from './contracts/chat-adapter';\n\n/**\n * Gateway for interacting with the Chat Adapter API.\n */\nexport class ChatAdapterGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n\n /**\n * Retrieves message templates associated with a configuration.\n * @param configId - The unique identifier of the configuration.\n * @param params - Optional query parameters for filtering and pagination.\n * @returns A promise that resolves to the template list response.\n */\n async getConfigTemplates(configId: string, params?: GetConfigTemplatesParams): Promise<GetConfigTemplatesResponse> {\n const { data } = await this.httpClient.get<GetConfigTemplatesResponse>(\n `${this.baseUrl}/message-templates/${configId}`,\n { params },\n );\n return data;\n }\n}\n\nexport type {\n GetConfigTemplatesResponse,\n GetConfigTemplatesParams,\n MessageTemplate,\n MessageTemplateComponent,\n ConfigTemplatesPaging,\n} from './contracts/chat-adapter';\n","import type { AxiosInstance } from 'axios';\nimport type { GetPresignedUrlRequest, UploadPresignedUrlResponse, AudioConvertResponse, GetAttachmentByIdRequest, AttachmentByIdResponse } from './contracts/assets';\n\n/**\n * Gateway for interacting with the Assets API.\n */\nexport class AssetsGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n /**\n * Retrieves a presigned URL to upload a file to the Assets API.\n * @param params - The configuration options and parameters for the presigned URL.\n * @returns The presigned URL details wrapped in a {@link UploadPresignedUrlResponse}.\n */\n async getPresignedUrl(params: GetPresignedUrlRequest): Promise<UploadPresignedUrlResponse> {\n const { data } = await this.httpClient.get<UploadPresignedUrlResponse>(`${this.baseUrl}/uploads/presigned-url`, {\n params,\n });\n return data;\n }\n\n /**\n * Converts an audio file to M4A format via the Assets API.\n * @param params - The audio file to convert.\n * @param params.file - The audio file to upload for conversion.\n * @returns The converted audio response with base64-encoded data, mimetype, extension and filename.\n */\n async convertAudioToM4A(formData: any): Promise<AudioConvertResponse> {\n const { data } = await this.httpClient.post<AudioConvertResponse>(\n `${this.baseUrl}/whatsapp/audio-convert`,\n formData,\n {\n headers: {\n 'Content-Type': 'multipart/form-data',\n },\n },\n );\n return data;\n }\n\n /**\n * Fetches an attachment by its file ID or storage key.\n *\n * When `key` is provided, the path is built from the key directly and no\n * `x-bucket-provider` header is sent. Otherwise, `fileId` and `provider` are\n * used to build the path and the provider header respectively.\n *\n * @param params - The parameters identifying the attachment.\n * @returns A signed URL to access the attachment.\n */\n async getAttachmentById(params: GetAttachmentByIdRequest): Promise<AttachmentByIdResponse> {\n const path = params.key\n ? `/uploads/${encodeURIComponent(params.key)}`\n : `/uploads/${encodeURIComponent(params.fileId!)}`;\n\n const axiosParams: Record<string, string> = {};\n\n if (params.download) axiosParams.download = 'true';\n if (params.filename) axiosParams.filename = params.filename;\n const headers: Record<string, string> = {};\n if (!params.key && params.provider) headers['x-bucket-provider'] = params.provider!;\n\n const { data } = await this.httpClient.get<AttachmentByIdResponse>(`${this.baseUrl}${path}`, {\n params: axiosParams,\n headers,\n });\n return data;\n }\n}\n\nexport type {\n GetPresignedUrlRequest,\n UploadPresignedUrlResponse,\n IUploadPresignedUrlResponse,\n AudioConvertResponse,\n GetAttachmentByIdRequest,\n AttachmentByIdResponse,\n} from './contracts/assets';\n","import type { AxiosInstance } from 'axios';\nimport type {\n ContactPhoneSearchResponse,\n GetContactPhonesParams,\n ContactCategoryResponse,\n} from './contracts/contact-phone';\n\n/**\n * Gateway for interacting with the Contact List API.\n */\nexport class ContactListGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n\n /**\n * Searches for contact phones with optional filtering and pagination.\n * @param params - The query parameters for the search.\n * @returns The paginated contact phones response.\n */\n async getContactsPhones(params: GetContactPhonesParams): Promise<ContactPhoneSearchResponse> {\n const { data } = await this.httpClient.get<ContactPhoneSearchResponse>(\n `${this.baseUrl}/contact/phone/search`,\n { params },\n );\n return data;\n }\n\n /**\n * Retrieves all contact categories.\n * @returns An array of contact categories.\n */\n async getCategoryList(): Promise<ContactCategoryResponse[]> {\n const { data } = await this.httpClient.get<ContactCategoryResponse[]>(\n `${this.baseUrl}/contact/category`,\n );\n return data;\n }\n}\n\nexport type {\n ContactPhoneSearchResponse,\n GetContactPhonesParams,\n ContactPhoneResponse,\n ContactCategoryResponse,\n} from './contracts/contact-phone';\n","import type { AxiosInstance } from 'axios';\nimport type {\n CreateIntegrationActionRequest,\n CreateWebhookRequest,\n CreateIntegrationFieldRequest,\n CreateIntegrationPartnerRequest,\n DeleteIntegrationActionParams,\n DeleteIntegrationFieldParams,\n DeleteIntegrationPartnerParams,\n GetIntegrationHooksCatalogRequest,\n GetWebhooksByCompanyRequest,\n GetIntegrationPartnersByCompanyRequest,\n HookCatalogItem,\n IntegrationAction,\n IntegrationField,\n IntegrationPartner,\n UpdateIntegrationActionParams,\n UpdateIntegrationActionRequest,\n UpdateIntegrationFieldParams,\n UpdateIntegrationFieldRequest,\n} from './contracts';\n\n/**\n * Gateway for interacting with the Integrations API.\n */\nexport class IntegrationsGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n\n /**\n * Retrieves all integration partners configured for a company.\n * @param companyId - The company identifier.\n * @returns The integration partners configured for the company.\n */\n async getPartnersByCompany({ companyId, name }: GetIntegrationPartnersByCompanyRequest): Promise<IntegrationPartner[]> {\n const { data } = await this.httpClient.get<IntegrationPartner[]>(`${this.baseUrl}/partner/company/${companyId}`, {\n params: name ? { name } : undefined,\n });\n return data;\n }\n\n /** Retrieves the webhooks scenario for a company. */\n async getWebhooksByCompany(params: GetWebhooksByCompanyRequest): Promise<IntegrationPartner[]> {\n const { data } = await this.httpClient.get<IntegrationPartner[]>(`${this.baseUrl}/webhooks`, {\n params,\n });\n return data;\n }\n\n /**\n * Retrieves the hook catalog, optionally scoped by module.\n * @param module - The optional module identifier used by the Integrations API filter.\n * @returns The hook catalog items, filtered by module when provided.\n */\n async getHooksCatalog({ module }: GetIntegrationHooksCatalogRequest = {}): Promise<HookCatalogItem[]> {\n const { data } = await this.httpClient.get<HookCatalogItem[]>(`${this.baseUrl}/hooks`, {\n params: module ? { module } : undefined,\n });\n return data;\n }\n\n /**\n * Creates an integration partner.\n * @param payload - The partner creation payload.\n * @returns The created integration partner.\n */\n async createPartner(payload: CreateIntegrationPartnerRequest): Promise<IntegrationPartner> {\n const { data } = await this.httpClient.post<IntegrationPartner>(`${this.baseUrl}/partner`, payload);\n return data;\n }\n\n /** Creates a webhook. */\n async createWebhook(payload: CreateWebhookRequest): Promise<IntegrationPartner> {\n const { data } = await this.httpClient.post<IntegrationPartner>(`${this.baseUrl}/webhooks`, payload);\n return data;\n }\n\n /**\n * Deletes an integration partner.\n * @param partnerId - The partner identifier.\n * @returns A promise that resolves when the partner is deleted.\n */\n async deletePartner({ partnerId }: DeleteIntegrationPartnerParams): Promise<void> {\n await this.httpClient.delete(`${this.baseUrl}/partner/${partnerId}`);\n }\n\n /**\n * Creates an integration action.\n * @param payload - The action creation payload.\n * @returns The created integration action.\n */\n async createAction(payload: CreateIntegrationActionRequest): Promise<IntegrationAction> {\n const { data } = await this.httpClient.post<IntegrationAction>(`${this.baseUrl}/action`, {\n ...payload,\n actionName: payload.actionName ?? payload.hook,\n });\n return data;\n }\n\n /**\n * Updates an integration action.\n * @param actionId - The action identifier.\n * @param payload - The action update payload.\n * @returns The updated integration action.\n */\n async updateAction({ actionId, payload }: UpdateIntegrationActionParams): Promise<IntegrationAction> {\n const { data } = await this.httpClient.patch<IntegrationAction>(`${this.baseUrl}/action/${actionId}`, payload);\n return data;\n }\n\n /**\n * Creates an integration action field/header.\n * @param payload - The field creation payload.\n * @returns The created integration field.\n */\n async createField(payload: CreateIntegrationFieldRequest): Promise<IntegrationField> {\n const { data } = await this.httpClient.post<IntegrationField>(`${this.baseUrl}/field`, payload);\n return data;\n }\n\n /**\n * Updates an integration action field/header.\n * @param fieldId - The field identifier.\n * @param payload - The field update payload.\n * @returns The updated integration field response.\n */\n async updateField({ fieldId, payload }: UpdateIntegrationFieldParams): Promise<IntegrationField | number[]> {\n const { data } = await this.httpClient.put<IntegrationField | number[]>(`${this.baseUrl}/field/${fieldId}`, payload);\n return data;\n }\n\n /**\n * Deletes an integration action field/header.\n * @param fieldId - The field identifier.\n * @returns A promise that resolves when the field is deleted.\n */\n async deleteField({ fieldId }: DeleteIntegrationFieldParams): Promise<void> {\n await this.httpClient.delete(`${this.baseUrl}/field/${fieldId}`);\n }\n\n /**\n * Deletes an integration action.\n * @param actionId - The action identifier.\n * @returns A promise that resolves when the action is deleted.\n */\n async deleteAction({ actionId }: DeleteIntegrationActionParams): Promise<void> {\n await this.httpClient.delete(`${this.baseUrl}/action/${actionId}`);\n }\n}\n\nexport type {\n CreateIntegrationActionRequest,\n CreateWebhookRequest,\n CreateIntegrationFieldRequest,\n CreateIntegrationPartnerRequest,\n DeleteIntegrationActionParams,\n DeleteIntegrationFieldParams,\n DeleteIntegrationPartnerParams,\n GetIntegrationHooksCatalogRequest,\n GetWebhooksByCompanyRequest,\n GetIntegrationPartnersByCompanyRequest,\n HookCatalogItem,\n IntegrationAction,\n IntegrationField,\n IntegrationPartner,\n UpdateIntegrationActionParams,\n UpdateIntegrationActionRequest,\n UpdateIntegrationFieldParams,\n UpdateIntegrationFieldRequest,\n} from './contracts';\n","import type { AxiosInstance } from 'axios';\nimport type {\n ListInvitationsRequest,\n ReplyInvitationRequest,\n InvitationResponse,\n ListLiveUserRoomsRequest,\n LiveUserRoomResponse,\n GetRoomByIdRequest,\n RoomResponse,\n} from './contracts';\n\n/**\n * Gateway for interacting with the Chat Webservice API.\n */\nexport class ChatWebserviceGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n\n /**\n * Lists chat invitations for a user within a company.\n * @param params - The user, company, and invitation status filters.\n * @returns The matching chat invitations.\n */\n async listInvitations(params: ListInvitationsRequest): Promise<InvitationResponse[]> {\n const { data } = await this.httpClient.get<InvitationResponse[]>(`${this.baseUrl}/invitations`, { params });\n return data;\n }\n\n /**\n * Replies to a chat invitation.\n * @param payload - The invitation identifier to reply to.\n * @returns The updated chat invitations.\n */\n async replyInvitation(payload: ReplyInvitationRequest): Promise<InvitationResponse[]> {\n const { data } = await this.httpClient.put<InvitationResponse[]>(`${this.baseUrl}/invitations/reply`, payload);\n return data;\n }\n\n /**\n * Lists live rooms assigned to a user.\n * @param params - The recipient, company, and open-status filters.\n * @returns The live room entries for the user.\n */\n async listLiveUserRooms(params: ListLiveUserRoomsRequest): Promise<LiveUserRoomResponse[]> {\n const { data } = await this.httpClient.get<LiveUserRoomResponse[]>(`${this.baseUrl}/member/rooms/live`, { params });\n return data;\n }\n\n /**\n * Retrieves a chat room by its identifier.\n * @param id - The unique identifier of the room.\n * @param params - Optional query parameters for scoping and member inclusion.\n * @returns The chat room data.\n */\n async getRoomById(id: number, params: GetRoomByIdRequest = {}): Promise<RoomResponse> {\n const { data } = await this.httpClient.get<RoomResponse>(`${this.baseUrl}/room/${id}`, { params });\n return data;\n }\n}\n\nexport type {\n GetRoomByIdRequest,\n InvitationResponse,\n ListInvitationsRequest,\n ListLiveUserRoomsRequest,\n LiveUserRoomResponse,\n ReplyInvitationRequest,\n RoomActiveDates,\n RoomMemberResponse,\n RoomResponse,\n RoomTagResponse,\n} from './contracts';\n","import type { AxiosInstance } from 'axios';\nimport type { ContactHistoryResponse, ListContactHistoryRequest } from './contracts/contact-history';\n\n/**\n * Gateway for interacting with the Call Report API.\n */\nexport class CallReportGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n\n /**\n * Lists contact interaction history across chat and CDR indexes.\n * @param params - Optional filters, pagination, and index selection.\n * @returns The paginated contact history response.\n */\n async listContactHistory(params: ListContactHistoryRequest = {}): Promise<ContactHistoryResponse> {\n const { data } = await this.httpClient.get<ContactHistoryResponse>(`${this.baseUrl}/history/index/multi`, {\n params,\n });\n return data;\n }\n}\n\nexport type {\n ContactHistoryIndex,\n ContactHistoryResponse,\n ContactHistorySortOrder,\n ContactInteractionResponse,\n InteractionCallStepResponse,\n InteractionChatStepResponse,\n InteractionMemberResponse,\n InteractionOrganizationResponse,\n ListContactHistoryRequest,\n} from './contracts/contact-history';\n","import type { AxiosInstance } from 'axios';\nimport type { IntegrationPartner } from '../integrations/contracts';\n\n/** Request parameters for retrieving the webhooks scenario for a company. */\nexport interface GetWebhooksByCompanyRequest {\n companyId: string;\n}\n\n/** Request payload for creating a webhooks scenario. */\nexport interface CreateWebhookRequest {\n companyId: string;\n baseUrl: string;\n}\n\n/**\n * Gateway for interacting with the Cases API.\n */\nexport class CasesGateway {\n constructor(\n private readonly httpClient: AxiosInstance,\n private readonly baseUrl: string,\n ) {}\n\n /** Retrieves the webhooks scenario for a company. */\n async getWebhooksByCompany(params: GetWebhooksByCompanyRequest): Promise<IntegrationPartner[]> {\n const { data } = await this.httpClient.get<IntegrationPartner[]>(`${this.baseUrl}/webhooks`, {\n params,\n });\n return data;\n }\n\n /** Creates a webhook. */\n async createWebhook(payload: CreateWebhookRequest): Promise<IntegrationPartner> {\n const { data } = await this.httpClient.post<IntegrationPartner>(`${this.baseUrl}/webhooks`, payload);\n return data;\n }\n}\n","import { CustomerServiceGateway } from '../customer-service';\nimport { ChatConfigGateway } from '../chat-config';\nimport { CampaignsGateway } from '../campaigns';\nimport { ChatAdapterGateway } from '../chat-adapter';\nimport { AssetsGateway } from '../assets';\nimport { ContactListGateway } from '../contact-list';\nimport { IntegrationsGateway } from '../integrations';\nimport { ChatWebserviceGateway } from '../chat-webservice';\nimport { CallReportGateway } from '../call-report';\nimport { CasesGateway } from '../cases';\nimport axios, { AxiosInstance } from 'axios';\n\n/**\n * Maps service identifiers to their corresponding gateway types.\n * Used by the `gateway()` function to infer the correct return type\n * based on the service name passed as argument.\n *\n * When adding a new service, add an entry here with the service\n * identifier as the key and the gateway class as the value.\n */\nexport type GatewayMap = {\n 'customer-service': CustomerServiceGateway;\n 'chat-config': ChatConfigGateway;\n campaigns: CampaignsGateway;\n 'chat-adapter': ChatAdapterGateway;\n assets: AssetsGateway;\n 'contact-list': ContactListGateway;\n integrations: IntegrationsGateway;\n 'chat-webservice': ChatWebserviceGateway;\n 'call-report': CallReportGateway;\n cases: CasesGateway;\n};\n\nexport interface SDKGatewaysInterface {\n customerService: CustomerServiceGateway | null;\n chatConfig: ChatConfigGateway | null;\n campaigns: CampaignsGateway | null;\n chatAdapter: ChatAdapterGateway | null;\n assets: AssetsGateway | null;\n contactList: ContactListGateway | null;\n integrations: IntegrationsGateway | null;\n chatWebservice: ChatWebserviceGateway | null;\n callReport: CallReportGateway | null;\n cases: CasesGateway | null;\n}\n\nclass SDKGateways {\n customerService: CustomerServiceGateway | null;\n chatConfig: ChatConfigGateway | null;\n campaigns: CampaignsGateway | null;\n chatAdapter: ChatAdapterGateway | null;\n assets: AssetsGateway | null;\n contactList: ContactListGateway | null;\n integrations: IntegrationsGateway | null;\n chatWebservice: ChatWebserviceGateway | null;\n callReport: CallReportGateway | null;\n cases: CasesGateway | null;\n constructor(\n customerService: CustomerServiceGateway | null,\n chatConfig: ChatConfigGateway | null,\n campaigns: CampaignsGateway | null,\n chatAdapter: ChatAdapterGateway | null,\n assets: AssetsGateway | null,\n contactList: ContactListGateway | null,\n integrations: IntegrationsGateway | null,\n chatWebservice: ChatWebserviceGateway | null,\n callReport: CallReportGateway | null,\n cases: CasesGateway | null,\n ) {\n this.customerService = customerService;\n this.chatConfig = chatConfig;\n this.campaigns = campaigns;\n this.chatAdapter = chatAdapter;\n this.assets = assets;\n this.contactList = contactList;\n this.integrations = integrations;\n this.chatWebservice = chatWebservice;\n this.callReport = callReport;\n this.cases = cases;\n }\n}\n\n/**\n * Parameters required to configure the SDK client.\n * Each service configuration is optional, only provide the services you need.\n */\nexport interface GatewayClientParams {\n /** An Axios instance used as the HTTP client for all gateway requests (optional). */\n axiosClient?: AxiosInstance;\n /** API token used for authentication across all services. */\n apiToken: string;\n /** Configuration for each service gateway. Only the services you configure will be available. */\n services: {\n customerService?: {\n baseUrl: string;\n };\n chatConfig?: {\n baseUrl: string;\n };\n campaigns?: {\n baseUrl: string;\n };\n chatAdapter?: {\n baseUrl: string;\n };\n assets?: {\n baseUrl: string;\n };\n contactList?: {\n baseUrl: string;\n };\n integrations?: {\n baseUrl: string;\n };\n chatWebservice?: {\n baseUrl: string;\n };\n callReport?: {\n baseUrl: string;\n };\n cases?: {\n baseUrl: string;\n };\n };\n}\n\n/**\n * Creates an SDKGateways instance with all service gateways initialized\n * using the provided configuration parameters.\n * Services without configuration will be set to null and will throw\n * an error if accessed via `gateway()`.\n */\nexport function createClient(params: GatewayClientParams) {\n const httpClient =\n params.axiosClient ||\n axios.create({\n headers: {\n Authorization: `Bearer ${params.apiToken}`,\n },\n });\n const customerService = params.services.customerService\n ? new CustomerServiceGateway(httpClient, params.services.customerService.baseUrl)\n : null;\n const chatConfig = params.services.chatConfig\n ? new ChatConfigGateway(httpClient, params.services.chatConfig.baseUrl)\n : null;\n const campaigns = params.services.campaigns\n ? new CampaignsGateway(httpClient, params.services.campaigns.baseUrl)\n : null;\n const chatAdapter = params.services.chatAdapter\n ? new ChatAdapterGateway(httpClient, params.services.chatAdapter.baseUrl)\n : null;\n const assets = params.services.assets ? new AssetsGateway(httpClient, params.services.assets.baseUrl) : null;\n const contactList = params.services.contactList\n ? new ContactListGateway(httpClient, params.services.contactList.baseUrl)\n : null;\n const integrations = params.services.integrations\n ? new IntegrationsGateway(httpClient, params.services.integrations.baseUrl)\n : null;\n const chatWebservice = params.services.chatWebservice\n ? new ChatWebserviceGateway(httpClient, params.services.chatWebservice.baseUrl)\n : null;\n const callReport = params.services.callReport\n ? new CallReportGateway(httpClient, params.services.callReport.baseUrl)\n : null;\n const cases = params.services.cases ? new CasesGateway(httpClient, params.services.cases.baseUrl) : null;\n return new SDKGateways(\n customerService,\n chatConfig,\n campaigns,\n chatAdapter,\n assets,\n contactList,\n integrations,\n chatWebservice,\n callReport,\n cases,\n );\n}\n","export const SERVICE_GATEWAYS = {\n CUSTOMER_SERVICE: 'customer-service',\n CHAT_CONFIG: 'chat-config',\n CAMPAIGNS: 'campaigns',\n CHAT_ADAPTER: 'chat-adapter',\n ASSETS: 'assets',\n CONTACT_LIST: 'contact-list',\n INTEGRATIONS: 'integrations',\n CHAT_WEBSERVICE: 'chat-webservice',\n CALL_REPORT: 'call-report',\n CASES: 'cases',\n} as const;\n\nexport type SERVICE_GATEWAYS = (typeof SERVICE_GATEWAYS)[keyof typeof SERVICE_GATEWAYS];\n","import { createClient, SDKGatewaysInterface, GatewayClientParams, GatewayMap } from './@common/client';\nimport { SERVICE_GATEWAYS } from './@common/enums';\n\nclass SDK {\n client: SDKGatewaysInterface | null = null;\n\n configure(params: GatewayClientParams) {\n this.client = createClient(params);\n }\n}\nconst sdk = new SDK();\n\n/**\n * Initializes the SDK with the required configuration parameters.\n * Must be called before using {@link gateway}.\n */\nexport const configure = (params: GatewayClientParams) => {\n sdk.configure(params);\n};\n\n/**\n * Returns the gateway instance for the specified service.\n *\n * @typeParam T - A service identifier key from {@link GatewayMap}.\n * @param service - The service identifier (e.g. `SERVICE_GATEWAYS.CUSTOMER_SERVICE`).\n * @returns The corresponding gateway instance with all its methods.\n * @throws {Error} If the SDK has not been configured via {@link configure}.\n * @throws {Error} If an unknown service identifier is provided.\n *\n * @example\n * ```ts\n * configure({ axiosClient, apiToken: '...', services: { customerService: { baseUrl: '...' } } });\n * const customer = gateway('customer-service');\n * const company = await customer.getCompanyById('123');\n * ```\n */\nexport function gateway<T extends keyof GatewayMap>(service: T): GatewayMap[T];\nexport function gateway(service: SERVICE_GATEWAYS) {\n if (!sdk.client)\n throw new Error(\n 'SDK not configured. Please call configure() with the appropriate parameters before using the SDK.',\n );\n\n switch (service) {\n case SERVICE_GATEWAYS.CUSTOMER_SERVICE:\n if (!sdk.client.customerService)\n throw new Error(`Service 'customer-service' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.customerService;\n case SERVICE_GATEWAYS.CHAT_CONFIG:\n if (!sdk.client.chatConfig)\n throw new Error(`Service 'chat-config' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.chatConfig;\n case SERVICE_GATEWAYS.CAMPAIGNS:\n if (!sdk.client.campaigns)\n throw new Error(`Service 'campaigns' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.campaigns;\n case SERVICE_GATEWAYS.CHAT_ADAPTER:\n if (!sdk.client.chatAdapter)\n throw new Error(`Service 'chat-adapter' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.chatAdapter;\n case SERVICE_GATEWAYS.ASSETS:\n if (!sdk.client.assets)\n throw new Error(`Service 'assets' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.assets;\n case SERVICE_GATEWAYS.CONTACT_LIST:\n if (!sdk.client.contactList)\n throw new Error(`Service 'contact-list' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.contactList;\n case SERVICE_GATEWAYS.INTEGRATIONS:\n if (!sdk.client.integrations)\n throw new Error(`Service 'integrations' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.integrations;\n case SERVICE_GATEWAYS.CHAT_WEBSERVICE:\n if (!sdk.client.chatWebservice)\n throw new Error(`Service 'chat-webservice' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.chatWebservice;\n case SERVICE_GATEWAYS.CALL_REPORT:\n if (!sdk.client.callReport)\n throw new Error(`Service 'call-report' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.callReport;\n case SERVICE_GATEWAYS.CASES:\n if (!sdk.client.cases)\n throw new Error(`Service 'cases' is not configured. Provide its baseUrl in configure().`);\n return sdk.client.cases;\n default:\n throw new Error(`Unknown service gateway: ${service}`);\n }\n}\n\nexport * from './campaigns/contracts';\nexport * from './chat-config/contracts';\nexport * from './customer-service/contracts';\nexport * from './chat-adapter/contracts';\nexport * from './assets/contracts';\nexport * from './contact-list/contracts';\nexport * from './integrations/contracts';\nexport * from './chat-webservice/contracts';\nexport * from './call-report/contracts';\n"],"mappings":";AAgBO,IAAM,yBAAN,MAA6B;AAAA,EAClC,YACmB,YACA,SACjB;AAFiB;AACA;AAAA,EAChB;AAAA,EAFgB;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQnB,MAAM,eAAe,WAA6C;AAChE,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,IAAqB,GAAG,KAAK,OAAO,qBAAqB,SAAS,EAAE;AAC3G,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,cAAc,WAAmD;AACrE,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW;AAAA,MACrC,GAAG,KAAK,OAAO;AAAA,MACf,EAAE,QAAQ,EAAE,YAAY,UAAU,EAAE;AAAA,IACtC;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAM,iBAAiB,aAAqB,WAAgD;AAC1F,UAAM,SAAS,YAAY,EAAE,YAAY,UAAU,IAAI;AACvD,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW;AAAA,MACrC,GAAG,KAAK,OAAO,0BAA0B,WAAW;AAAA,MACpD,EAAE,OAAO;AAAA,IACX;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,MAAM,oBACJ,SACA,WACA,SACmC;AACnC,UAAM,SAAsD,CAAC;AAC7D,QAAI,UAAW,QAAO,aAAa;AACnC,QAAI,QAAS,QAAO,UAAU;AAC9B,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW;AAAA,MACrC,GAAG,KAAK,OAAO,sBAAsB,OAAO;AAAA,MAC5C,EAAE,OAAO;AAAA,IACX;AACA,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,YAAY,QAA0D;AAC1E,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW;AAAA,MACrC,GAAG,KAAK,OAAO;AAAA,MACf,EAAE,OAAO;AAAA,IACX;AACA,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,gBAAgB,WAAqD;AACzE,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW;AAAA,MACrC,GAAG,KAAK,OAAO,kBAAkB,SAAS;AAAA,IAC5C;AACA,WAAO;AAAA,EACT;AACF;;;ACrEO,IAAM,oBAAN,MAAwB;AAAA,EAC7B,YACmB,YACA,SACjB;AAFiB;AACA;AAAA,EAChB;AAAA,EAFgB;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOnB,MAAM,eAA8C;AAClD,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,IAA0B,GAAG,KAAK,OAAO,YAAY;AAC5F,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,0BAA0B,QAAmF;AACjH,UAAM,MAAM,GAAG,KAAK,OAAO;AAC3B,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,IAAoC,KAAK,EAAE,OAAe,CAAC;AAClG,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAM,qBACJ,YACA,QACuC;AACvC,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW;AAAA,MACrC,GAAG,KAAK,OAAO,oBAAoB,UAAU;AAAA,MAC7C,EAAE,OAAO;AAAA,IACX;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,aAAa,SAAiC;AAClD,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,IAAW,GAAG,KAAK,OAAO,UAAU,OAAO,EAAE;AACpF,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,YAA8B;AAClC,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,IAAa,GAAG,KAAK,OAAO,SAAS;AAC5E,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,gBAAgB,QAAwD;AAC5E,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,IAAmB,GAAG,KAAK,OAAO,kBAAkB,EAAE,OAAO,CAAC;AACrG,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,iBAAiB,QAAiE;AACtF,UAAM,MAAM,GAAG,KAAK,OAAO;AAC3B,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,IAA2B,KAAK,EAAE,OAAe,CAAC;AACzF,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,oBAAoB,YAAyD;AACjF,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW;AAAA,MACrC,GAAG,KAAK,OAAO,0BAA0B,UAAU;AAAA,IACrD;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,6BAA6B,UAAwD;AACzF,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW;AAAA,MACrC,GAAG,KAAK,OAAO,iCAAiC,QAAQ;AAAA,IAC1D;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,sBAAsB,SAA2D;AACrF,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,IAAe,GAAG,KAAK,OAAO,+BAA+B,OAAO;AAC3G,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,aAAa,QAAyD;AAC1E,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,IAAuB,GAAG,KAAK,OAAO,oBAAoB;AAAA,MAC/F,QAAQ;AAAA,QACN,eAAe;AAAA,QACf,WAAW,OAAO;AAAA,QAClB,QAAQ,OAAO;AAAA,QACf,OAAO,OAAO;AAAA,QACd,MAAM,QAAQ;AAAA,QACd,QAAQ;AAAA,MACV;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AACF;;;AC/HO,IAAM,mBAAN,MAAuB;AAAA,EAC5B,YACmB,YACA,SACjB;AAFiB;AACA;AAAA,EAChB;AAAA,EAFgB;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQnB,MAAM,KAAK,OAAiE;AAC1E,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,IAA+B,GAAG,KAAK,OAAO,cAAc;AAAA,MACjG,QAAQ;AAAA,IACV,CAAC;AACD,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,IAAI,IAA+B;AACvC,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,IAAc,GAAG,KAAK,OAAO,cAAc,EAAE,EAAE;AACtF,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,OAAO,SAAmD;AAC9D,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,KAAe,GAAG,KAAK,OAAO,cAAc,OAAO;AAC1F,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAM,MAAM,IAAY,SAAkD;AACxE,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,MAAgB,GAAG,KAAK,OAAO,cAAc,EAAE,IAAI,OAAO;AACjG,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,OAAO,IAA+B;AAC1C,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,OAAiB,GAAG,KAAK,OAAO,cAAc,EAAE,EAAE;AACzF,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,qBAAqB,OAA+E;AACxG,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,IAAsC,GAAG,KAAK,OAAO,sBAAsB;AAAA,MAChH,QAAQ;AAAA,IACV,CAAC;AACD,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,oBAAoB,IAA8C;AACtE,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,IAA6B,GAAG,KAAK,OAAO,sBAAsB,EAAE,EAAE;AAC7G,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,sBAAsB,SAAyE;AACnG,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,KAA8B,GAAG,KAAK,OAAO,sBAAsB,OAAO;AACjH,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,sBAAsB,SAA6E;AACvG,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW;AAAA,MACrC,GAAG,KAAK,OAAO;AAAA,MACf;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAM,qBAAqB,IAAY,SAAwE;AAC7G,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW;AAAA,MACrC,GAAG,KAAK,OAAO,sBAAsB,EAAE;AAAA,MACvC;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,sBAAsB,IAA8C;AACxE,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,OAAgC,GAAG,KAAK,OAAO,sBAAsB,EAAE,EAAE;AAChH,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,yBACJ,OACwC;AACxC,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW;AAAA,MACrC,GAAG,KAAK,OAAO;AAAA,MACf;AAAA,QACE,QAAQ;AAAA,MACV;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,WAAW;AACf,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,IAAoB,GAAG,KAAK,OAAO,QAAQ;AAClF,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,eAAe,OAAmF;AACtG,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,IAAwC,GAAG,KAAK,OAAO,gBAAgB;AAAA,MAC5G,QAAQ;AAAA,IACV,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,gBAAgB,SAAqE;AACzF,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,KAAwB,GAAG,KAAK,OAAO,gBAAgB,OAAO;AACrG,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,gBAAgB,IAAwC;AAC5D,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,OAA0B,GAAG,KAAK,OAAO,gBAAgB,EAAE,EAAE;AACpG,WAAO;AAAA,EACT;AACF;;;ACzLO,IAAM,qBAAN,MAAyB;AAAA,EAC9B,YACmB,YACA,SACjB;AAFiB;AACA;AAAA,EAChB;AAAA,EAFgB;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASnB,MAAM,mBAAmB,UAAkB,QAAwE;AACjH,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW;AAAA,MACrC,GAAG,KAAK,OAAO,sBAAsB,QAAQ;AAAA,MAC7C,EAAE,OAAO;AAAA,IACX;AACA,WAAO;AAAA,EACT;AACF;;;ACnBO,IAAM,gBAAN,MAAoB;AAAA,EACzB,YACmB,YACA,SACjB;AAFiB;AACA;AAAA,EAChB;AAAA,EAFgB;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOnB,MAAM,gBAAgB,QAAqE;AACzF,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,IAAgC,GAAG,KAAK,OAAO,0BAA0B;AAAA,MAC9G;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAM,kBAAkB,UAA8C;AACpE,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW;AAAA,MACrC,GAAG,KAAK,OAAO;AAAA,MACf;AAAA,MACA;AAAA,QACE,SAAS;AAAA,UACP,gBAAgB;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,MAAM,kBAAkB,QAAmE;AACzF,UAAM,OAAO,OAAO,MAChB,YAAY,mBAAmB,OAAO,GAAG,CAAC,KAC1C,YAAY,mBAAmB,OAAO,MAAO,CAAC;AAElD,UAAM,cAAsC,CAAC;AAE7C,QAAI,OAAO,SAAU,aAAY,WAAW;AAC5C,QAAI,OAAO,SAAU,aAAY,WAAW,OAAO;AACnD,UAAM,UAAkC,CAAC;AACzC,QAAI,CAAC,OAAO,OAAO,OAAO,SAAU,SAAQ,mBAAmB,IAAI,OAAO;AAE1E,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,IAA4B,GAAG,KAAK,OAAO,GAAG,IAAI,IAAI;AAAA,MAC3F,QAAQ;AAAA,MACR;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AACF;;;AC5DO,IAAM,qBAAN,MAAyB;AAAA,EAC9B,YACmB,YACA,SACjB;AAFiB;AACA;AAAA,EAChB;AAAA,EAFgB;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQnB,MAAM,kBAAkB,QAAqE;AAC3F,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW;AAAA,MACrC,GAAG,KAAK,OAAO;AAAA,MACf,EAAE,OAAO;AAAA,IACX;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,kBAAsD;AAC1D,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW;AAAA,MACrC,GAAG,KAAK,OAAO;AAAA,IACjB;AACA,WAAO;AAAA,EACT;AACF;;;ACdO,IAAM,sBAAN,MAA0B;AAAA,EAC/B,YACmB,YACA,SACjB;AAFiB;AACA;AAAA,EAChB;AAAA,EAFgB;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQnB,MAAM,qBAAqB,EAAE,WAAW,KAAK,GAA0E;AACrH,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,IAA0B,GAAG,KAAK,OAAO,oBAAoB,SAAS,IAAI;AAAA,MAC/G,QAAQ,OAAO,EAAE,KAAK,IAAI;AAAA,IAC5B,CAAC;AACD,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,MAAM,qBAAqB,QAAoE;AAC7F,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,IAA0B,GAAG,KAAK,OAAO,aAAa;AAAA,MAC3F;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,gBAAgB,EAAE,OAAO,IAAuC,CAAC,GAA+B;AACpG,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,IAAuB,GAAG,KAAK,OAAO,UAAU;AAAA,MACrF,QAAQ,SAAS,EAAE,OAAO,IAAI;AAAA,IAChC,CAAC;AACD,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,cAAc,SAAuE;AACzF,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,KAAyB,GAAG,KAAK,OAAO,YAAY,OAAO;AAClG,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,MAAM,cAAc,SAA4D;AAC9E,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,KAAyB,GAAG,KAAK,OAAO,aAAa,OAAO;AACnG,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,cAAc,EAAE,UAAU,GAAkD;AAChF,UAAM,KAAK,WAAW,OAAO,GAAG,KAAK,OAAO,YAAY,SAAS,EAAE;AAAA,EACrE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,aAAa,SAAqE;AACtF,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,KAAwB,GAAG,KAAK,OAAO,WAAW;AAAA,MACvF,GAAG;AAAA,MACH,YAAY,QAAQ,cAAc,QAAQ;AAAA,IAC5C,CAAC;AACD,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAM,aAAa,EAAE,UAAU,QAAQ,GAA8D;AACnG,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,MAAyB,GAAG,KAAK,OAAO,WAAW,QAAQ,IAAI,OAAO;AAC7G,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,YAAY,SAAmE;AACnF,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,KAAuB,GAAG,KAAK,OAAO,UAAU,OAAO;AAC9F,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAM,YAAY,EAAE,SAAS,QAAQ,GAAuE;AAC1G,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,IAAiC,GAAG,KAAK,OAAO,UAAU,OAAO,IAAI,OAAO;AACnH,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,YAAY,EAAE,QAAQ,GAAgD;AAC1E,UAAM,KAAK,WAAW,OAAO,GAAG,KAAK,OAAO,UAAU,OAAO,EAAE;AAAA,EACjE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,aAAa,EAAE,SAAS,GAAiD;AAC7E,UAAM,KAAK,WAAW,OAAO,GAAG,KAAK,OAAO,WAAW,QAAQ,EAAE;AAAA,EACnE;AACF;;;ACxIO,IAAM,wBAAN,MAA4B;AAAA,EACjC,YACmB,YACA,SACjB;AAFiB;AACA;AAAA,EAChB;AAAA,EAFgB;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQnB,MAAM,gBAAgB,QAA+D;AACnF,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,IAA0B,GAAG,KAAK,OAAO,gBAAgB,EAAE,OAAO,CAAC;AAC1G,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,gBAAgB,SAAgE;AACpF,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,IAA0B,GAAG,KAAK,OAAO,sBAAsB,OAAO;AAC7G,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,kBAAkB,QAAmE;AACzF,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,IAA4B,GAAG,KAAK,OAAO,sBAAsB,EAAE,OAAO,CAAC;AAClH,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAM,YAAY,IAAY,SAA6B,CAAC,GAA0B;AACpF,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,IAAkB,GAAG,KAAK,OAAO,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC;AACjG,WAAO;AAAA,EACT;AACF;;;ACtDO,IAAM,oBAAN,MAAwB;AAAA,EAC7B,YACmB,YACA,SACjB;AAFiB;AACA;AAAA,EAChB;AAAA,EAFgB;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQnB,MAAM,mBAAmB,SAAoC,CAAC,GAAoC;AAChG,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,IAA4B,GAAG,KAAK,OAAO,wBAAwB;AAAA,MACxG;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AACF;;;ACNO,IAAM,eAAN,MAAmB;AAAA,EACxB,YACmB,YACA,SACjB;AAFiB;AACA;AAAA,EAChB;AAAA,EAFgB;AAAA,EACA;AAAA;AAAA,EAInB,MAAM,qBAAqB,QAAoE;AAC7F,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,IAA0B,GAAG,KAAK,OAAO,aAAa;AAAA,MAC3F;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,MAAM,cAAc,SAA4D;AAC9E,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,WAAW,KAAyB,GAAG,KAAK,OAAO,aAAa,OAAO;AACnG,WAAO;AAAA,EACT;AACF;;;AC1BA,OAAO,WAA8B;AAoCrC,IAAM,cAAN,MAAkB;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YACE,iBACA,YACA,WACA,aACA,QACA,aACA,cACA,gBACA,YACA,OACA;AACA,SAAK,kBAAkB;AACvB,SAAK,aAAa;AAClB,SAAK,YAAY;AACjB,SAAK,cAAc;AACnB,SAAK,SAAS;AACd,SAAK,cAAc;AACnB,SAAK,eAAe;AACpB,SAAK,iBAAiB;AACtB,SAAK,aAAa;AAClB,SAAK,QAAQ;AAAA,EACf;AACF;AAoDO,SAAS,aAAa,QAA6B;AACxD,QAAM,aACJ,OAAO,eACP,MAAM,OAAO;AAAA,IACX,SAAS;AAAA,MACP,eAAe,UAAU,OAAO,QAAQ;AAAA,IAC1C;AAAA,EACF,CAAC;AACH,QAAM,kBAAkB,OAAO,SAAS,kBACpC,IAAI,uBAAuB,YAAY,OAAO,SAAS,gBAAgB,OAAO,IAC9E;AACJ,QAAM,aAAa,OAAO,SAAS,aAC/B,IAAI,kBAAkB,YAAY,OAAO,SAAS,WAAW,OAAO,IACpE;AACJ,QAAM,YAAY,OAAO,SAAS,YAC9B,IAAI,iBAAiB,YAAY,OAAO,SAAS,UAAU,OAAO,IAClE;AACJ,QAAM,cAAc,OAAO,SAAS,cAChC,IAAI,mBAAmB,YAAY,OAAO,SAAS,YAAY,OAAO,IACtE;AACJ,QAAM,SAAS,OAAO,SAAS,SAAS,IAAI,cAAc,YAAY,OAAO,SAAS,OAAO,OAAO,IAAI;AACxG,QAAM,cAAc,OAAO,SAAS,cAChC,IAAI,mBAAmB,YAAY,OAAO,SAAS,YAAY,OAAO,IACtE;AACJ,QAAM,eAAe,OAAO,SAAS,eACjC,IAAI,oBAAoB,YAAY,OAAO,SAAS,aAAa,OAAO,IACxE;AACJ,QAAM,iBAAiB,OAAO,SAAS,iBACnC,IAAI,sBAAsB,YAAY,OAAO,SAAS,eAAe,OAAO,IAC5E;AACJ,QAAM,aAAa,OAAO,SAAS,aAC/B,IAAI,kBAAkB,YAAY,OAAO,SAAS,WAAW,OAAO,IACpE;AACJ,QAAM,QAAQ,OAAO,SAAS,QAAQ,IAAI,aAAa,YAAY,OAAO,SAAS,MAAM,OAAO,IAAI;AACpG,SAAO,IAAI;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;;AClLO,IAAM,mBAAmB;AAAA,EAC9B,kBAAkB;AAAA,EAClB,aAAa;AAAA,EACb,WAAW;AAAA,EACX,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,cAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,OAAO;AACT;;;ACRA,IAAM,MAAN,MAAU;AAAA,EACR,SAAsC;AAAA,EAEtC,UAAU,QAA6B;AACrC,SAAK,SAAS,aAAa,MAAM;AAAA,EACnC;AACF;AACA,IAAM,MAAM,IAAI,IAAI;AAMb,IAAM,YAAY,CAAC,WAAgC;AACxD,MAAI,UAAU,MAAM;AACtB;AAmBO,SAAS,QAAQ,SAA2B;AACjD,MAAI,CAAC,IAAI;AACP,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAEF,UAAQ,SAAS;AAAA,IACf,KAAK,iBAAiB;AACpB,UAAI,CAAC,IAAI,OAAO;AACd,cAAM,IAAI,MAAM,mFAAmF;AACrG,aAAO,IAAI,OAAO;AAAA,IACpB,KAAK,iBAAiB;AACpB,UAAI,CAAC,IAAI,OAAO;AACd,cAAM,IAAI,MAAM,8EAA8E;AAChG,aAAO,IAAI,OAAO;AAAA,IACpB,KAAK,iBAAiB;AACpB,UAAI,CAAC,IAAI,OAAO;AACd,cAAM,IAAI,MAAM,4EAA4E;AAC9F,aAAO,IAAI,OAAO;AAAA,IACpB,KAAK,iBAAiB;AACpB,UAAI,CAAC,IAAI,OAAO;AACd,cAAM,IAAI,MAAM,+EAA+E;AACjG,aAAO,IAAI,OAAO;AAAA,IACpB,KAAK,iBAAiB;AACpB,UAAI,CAAC,IAAI,OAAO;AACd,cAAM,IAAI,MAAM,yEAAyE;AAC3F,aAAO,IAAI,OAAO;AAAA,IACpB,KAAK,iBAAiB;AACpB,UAAI,CAAC,IAAI,OAAO;AACd,cAAM,IAAI,MAAM,+EAA+E;AACjG,aAAO,IAAI,OAAO;AAAA,IACpB,KAAK,iBAAiB;AACpB,UAAI,CAAC,IAAI,OAAO;AACd,cAAM,IAAI,MAAM,+EAA+E;AACjG,aAAO,IAAI,OAAO;AAAA,IACpB,KAAK,iBAAiB;AACpB,UAAI,CAAC,IAAI,OAAO;AACd,cAAM,IAAI,MAAM,kFAAkF;AACpG,aAAO,IAAI,OAAO;AAAA,IACpB,KAAK,iBAAiB;AACpB,UAAI,CAAC,IAAI,OAAO;AACd,cAAM,IAAI,MAAM,8EAA8E;AAChG,aAAO,IAAI,OAAO;AAAA,IACpB,KAAK,iBAAiB;AACpB,UAAI,CAAC,IAAI,OAAO;AACd,cAAM,IAAI,MAAM,wEAAwE;AAC1F,aAAO,IAAI,OAAO;AAAA,IACpB;AACE,YAAM,IAAI,MAAM,4BAA4B,OAAO,EAAE;AAAA,EACzD;AACF;","names":[]}
@@ -45,14 +45,16 @@ interface GetIntegrationPartnersByCompanyRequest {
45
45
  companyId: string;
46
46
  name?: string;
47
47
  }
48
- /** Request parameters for retrieving the Casos case webhooks scenario for a company. */
49
- interface GetCaseWebhooksByCompanyRequest {
48
+ /** Request parameters for retrieving the webhooks scenario for a company. */
49
+ interface GetWebhooksByCompanyRequest {
50
50
  companyId: string;
51
+ uuid: string;
51
52
  }
52
- /** Request payload for creating the Casos case webhooks scenario. */
53
- interface CreateCaseWebhookRequest {
53
+ /** Request payload for creating a webhooks scenario. */
54
+ interface CreateWebhookRequest {
54
55
  companyId: string;
55
56
  baseUrl: string;
57
+ uuid: string;
56
58
  }
57
59
  /** Request parameters for retrieving the hooks catalog. */
58
60
  interface GetIntegrationHooksCatalogRequest {
@@ -105,4 +107,4 @@ interface DeleteIntegrationActionParams {
105
107
  actionId: number;
106
108
  }
107
109
 
108
- export type { CreateCaseWebhookRequest, CreateIntegrationActionRequest, CreateIntegrationFieldRequest, CreateIntegrationPartnerRequest, DeleteIntegrationActionParams, DeleteIntegrationFieldParams, DeleteIntegrationPartnerParams, GetCaseWebhooksByCompanyRequest, GetIntegrationHooksCatalogRequest, GetIntegrationPartnersByCompanyRequest, HookCatalogItem, IntegrationAction, IntegrationField, IntegrationPartner, UpdateIntegrationActionParams, UpdateIntegrationActionRequest, UpdateIntegrationFieldParams, UpdateIntegrationFieldRequest };
110
+ export type { CreateIntegrationActionRequest, CreateIntegrationFieldRequest, CreateIntegrationPartnerRequest, CreateWebhookRequest, DeleteIntegrationActionParams, DeleteIntegrationFieldParams, DeleteIntegrationPartnerParams, GetIntegrationHooksCatalogRequest, GetIntegrationPartnersByCompanyRequest, GetWebhooksByCompanyRequest, HookCatalogItem, IntegrationAction, IntegrationField, IntegrationPartner, UpdateIntegrationActionParams, UpdateIntegrationActionRequest, UpdateIntegrationFieldParams, UpdateIntegrationFieldRequest };
@@ -45,14 +45,16 @@ interface GetIntegrationPartnersByCompanyRequest {
45
45
  companyId: string;
46
46
  name?: string;
47
47
  }
48
- /** Request parameters for retrieving the Casos case webhooks scenario for a company. */
49
- interface GetCaseWebhooksByCompanyRequest {
48
+ /** Request parameters for retrieving the webhooks scenario for a company. */
49
+ interface GetWebhooksByCompanyRequest {
50
50
  companyId: string;
51
+ uuid: string;
51
52
  }
52
- /** Request payload for creating the Casos case webhooks scenario. */
53
- interface CreateCaseWebhookRequest {
53
+ /** Request payload for creating a webhooks scenario. */
54
+ interface CreateWebhookRequest {
54
55
  companyId: string;
55
56
  baseUrl: string;
57
+ uuid: string;
56
58
  }
57
59
  /** Request parameters for retrieving the hooks catalog. */
58
60
  interface GetIntegrationHooksCatalogRequest {
@@ -105,4 +107,4 @@ interface DeleteIntegrationActionParams {
105
107
  actionId: number;
106
108
  }
107
109
 
108
- export type { CreateCaseWebhookRequest, CreateIntegrationActionRequest, CreateIntegrationFieldRequest, CreateIntegrationPartnerRequest, DeleteIntegrationActionParams, DeleteIntegrationFieldParams, DeleteIntegrationPartnerParams, GetCaseWebhooksByCompanyRequest, GetIntegrationHooksCatalogRequest, GetIntegrationPartnersByCompanyRequest, HookCatalogItem, IntegrationAction, IntegrationField, IntegrationPartner, UpdateIntegrationActionParams, UpdateIntegrationActionRequest, UpdateIntegrationFieldParams, UpdateIntegrationFieldRequest };
110
+ export type { CreateIntegrationActionRequest, CreateIntegrationFieldRequest, CreateIntegrationPartnerRequest, CreateWebhookRequest, DeleteIntegrationActionParams, DeleteIntegrationFieldParams, DeleteIntegrationPartnerParams, GetIntegrationHooksCatalogRequest, GetIntegrationPartnersByCompanyRequest, GetWebhooksByCompanyRequest, HookCatalogItem, IntegrationAction, IntegrationField, IntegrationPartner, UpdateIntegrationActionParams, UpdateIntegrationActionRequest, UpdateIntegrationFieldParams, UpdateIntegrationFieldRequest };
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.12.6",
2
+ "version": "1.12.8",
3
3
  "description": "A simple package to help with some common tasks",
4
4
  "name": "@opens/gateways",
5
5
  "private": false,
@@ -59,4 +59,4 @@
59
59
  "dependencies": {
60
60
  "axios": "^1.18.0"
61
61
  }
62
- }
62
+ }