From ddb3a4a8f77357de7821b1457d9097c6f5e8281d Mon Sep 17 00:00:00 2001 From: Antoine Sein Date: Thu, 25 Jan 2024 17:34:00 +0100 Subject: [PATCH] Update models and API methods and parameters --- .../src/models/v1/app-message/app-message.ts | 5 + .../conversation-message.ts | 8 ++ .../models/v1/conversation/conversation.ts | 2 + .../create-conversation-request.ts | 2 - packages/conversation/src/models/v1/index.ts | 2 +- .../src/models/v1/lookup-capability/index.ts | 1 + .../lookup-capability.ts} | 4 +- .../src/models/v1/query-capability/index.ts | 1 - .../send-message-request.ts | 4 +- .../transcode-message-request.ts | 6 +- .../conversation/src/rest/v1/app/app-api.ts | 5 - .../capability/capability-api.jest.fixture.ts | 6 +- .../src/rest/v1/capability/capability-api.ts | 19 ++-- .../src/rest/v1/contact/contact-api.ts | 4 +- .../conversation-api.jest.fixture.ts | 24 ++--- .../rest/v1/conversation/conversation-api.ts | 36 +++---- .../rest/v1/events/events-api.jest.fixture.ts | 4 +- .../src/rest/v1/events/events-api.ts | 3 +- .../v1/messages/messages-api.jest.fixture.ts | 16 +-- .../src/rest/v1/messages/messages-api.ts | 12 +-- .../rest/v1/transcoding/transcoding-api.ts | 1 - .../v1/webhooks/webhooks-api.jest.fixture.ts | 20 ++-- .../src/rest/v1/webhooks/webhooks-api.ts | 31 +++--- packages/sdk-client/src/api/api-errors.ts | 8 +- .../sdk-client/src/client/api-fetch-client.ts | 2 +- packages/voice/src/models/v1/enums.ts | 3 +- yarn.lock | 102 ++++++++++++++++-- 27 files changed, 208 insertions(+), 123 deletions(-) create mode 100644 packages/conversation/src/models/v1/lookup-capability/index.ts rename packages/conversation/src/models/v1/{query-capability/query-capability.ts => lookup-capability/lookup-capability.ts} (72%) delete mode 100644 packages/conversation/src/models/v1/query-capability/index.ts diff --git a/packages/conversation/src/models/v1/app-message/app-message.ts b/packages/conversation/src/models/v1/app-message/app-message.ts index a76ccd47..5fefb734 100644 --- a/packages/conversation/src/models/v1/app-message/app-message.ts +++ b/packages/conversation/src/models/v1/app-message/app-message.ts @@ -12,4 +12,9 @@ export interface AppMessage { explicit_channel_message?: object; /** @see AppMessageAdditionalProperties */ additionalProperties?: AppMessageAdditionalProperties; + + /** TBC: Not documented */ + agent?: any | null; + /** TBC: Not documented */ + explicit_channel_omni_message?: object; } diff --git a/packages/conversation/src/models/v1/conversation-message/conversation-message.ts b/packages/conversation/src/models/v1/conversation-message/conversation-message.ts index 1d77e007..feaf1a4b 100644 --- a/packages/conversation/src/models/v1/conversation-message/conversation-message.ts +++ b/packages/conversation/src/models/v1/conversation-message/conversation-message.ts @@ -2,6 +2,7 @@ import { AppMessage } from '../app-message'; import { ChannelIdentity } from '../channel-identity'; import { ContactMessage } from '../contact-message'; import { ConversationDirection } from '../conversation-direction'; +import { ProcessingMode } from '../processing-mode'; /** * A message on a particular channel. @@ -28,4 +29,11 @@ export interface ConversationMessage { metadata?: string; /** Flag for whether this message was injected. */ injected?: boolean; + + /** TBC: Not documented */ + sender_id?: string; + /** TBC: Not documented */ + processing_mode?: ProcessingMode; + /** TBC: Not documented */ + message_status?: any | null; } diff --git a/packages/conversation/src/models/v1/conversation/conversation.ts b/packages/conversation/src/models/v1/conversation/conversation.ts index 3aadc9f5..4bfde51d 100644 --- a/packages/conversation/src/models/v1/conversation/conversation.ts +++ b/packages/conversation/src/models/v1/conversation/conversation.ts @@ -21,4 +21,6 @@ export interface Conversation { metadata?: string; /** Arbitrary data set by the Conversation API clients and/or provided in the `conversation_metadata` field of a SendMessageRequest. A valid JSON object. */ metadata_json?: object; + /** Up to 128 characters long */ + correlation_id?: string; } diff --git a/packages/conversation/src/models/v1/create-conversation-request/create-conversation-request.ts b/packages/conversation/src/models/v1/create-conversation-request/create-conversation-request.ts index d3f8b499..401f7d1a 100644 --- a/packages/conversation/src/models/v1/create-conversation-request/create-conversation-request.ts +++ b/packages/conversation/src/models/v1/create-conversation-request/create-conversation-request.ts @@ -13,8 +13,6 @@ export interface CreateConversationRequest { app_id: string; /** The ID of the participating contact. */ contact_id: string; - /** The ID of the conversation. */ - id?: string; /** Arbitrary data set by the Conversation API clients. Up to 1024 characters long. */ metadata?: string; /** Arbitrary data set by the Conversation API clients and/or provided in the `conversation_metadata` field of a SendMessageRequest. A valid JSON object. */ diff --git a/packages/conversation/src/models/v1/index.ts b/packages/conversation/src/models/v1/index.ts index 27023640..746dda57 100644 --- a/packages/conversation/src/models/v1/index.ts +++ b/packages/conversation/src/models/v1/index.ts @@ -69,7 +69,7 @@ export * from './processing-mode'; export * from './processing-strategy'; export * from './product'; export * from './error-detail'; -export * from './query-capability'; +export * from './lookup-capability'; export * from './query-capability-response'; export * from './queue-stats'; export * from './rate-limits'; diff --git a/packages/conversation/src/models/v1/lookup-capability/index.ts b/packages/conversation/src/models/v1/lookup-capability/index.ts new file mode 100644 index 00000000..3c8b1e25 --- /dev/null +++ b/packages/conversation/src/models/v1/lookup-capability/index.ts @@ -0,0 +1 @@ +export type { LookupCapability } from './lookup-capability'; diff --git a/packages/conversation/src/models/v1/query-capability/query-capability.ts b/packages/conversation/src/models/v1/lookup-capability/lookup-capability.ts similarity index 72% rename from packages/conversation/src/models/v1/query-capability/query-capability.ts rename to packages/conversation/src/models/v1/lookup-capability/lookup-capability.ts index d5f7f2fe..14dce31d 100644 --- a/packages/conversation/src/models/v1/query-capability/query-capability.ts +++ b/packages/conversation/src/models/v1/lookup-capability/lookup-capability.ts @@ -1,11 +1,11 @@ import { Recipient } from '../recipient'; -export interface QueryCapability { +export interface LookupCapability { /** The ID of the app to use for capability lookup. */ app_id: string; /** @see Recipient */ recipient: Recipient; - /** ID for the asynchronous response, will be generated if not set. Currently this field is not used for idempotency. */ + /** ID for the asynchronous response, will be generated if not set. Currently, this field is not used for idempotency. */ request_id?: string; } diff --git a/packages/conversation/src/models/v1/query-capability/index.ts b/packages/conversation/src/models/v1/query-capability/index.ts deleted file mode 100644 index 71fb2622..00000000 --- a/packages/conversation/src/models/v1/query-capability/index.ts +++ /dev/null @@ -1 +0,0 @@ -export type { QueryCapability } from './query-capability'; diff --git a/packages/conversation/src/models/v1/send-message-request/send-message-request.ts b/packages/conversation/src/models/v1/send-message-request/send-message-request.ts index a1ebdcbc..d1e36398 100644 --- a/packages/conversation/src/models/v1/send-message-request/send-message-request.ts +++ b/packages/conversation/src/models/v1/send-message-request/send-message-request.ts @@ -1,9 +1,9 @@ -import { AppMessage } from '../app-message'; import { ConversationChannel } from '../conversation-channel'; import { MessageQueue } from '../message-queue'; import { Recipient } from '../recipient'; import { ProcessingStrategy } from '../processing-strategy'; import { ConversationMetadataUpdateStrategy } from '../conversation-metadata-update-strategy'; +import { AppMessageMessage } from '../app-message-message'; /** * This is the request body for sending a message. `app_id`, `recipient`, and `message` are all required fields. @@ -19,7 +19,7 @@ export interface SendMessageRequest { /** Channel-specific properties. The key in the map must point to a valid channel property key as defined by the enum ChannelPropertyKeys. The maximum allowed property value length is 1024 characters. */ channel_properties?: { [key: string]: string; }; /** @see AppMessage */ - message: AppMessage; + message: AppMessageMessage; /** Metadata that should be associated with the message. Returned in the `metadata` field of a [Message Delivery Receipt](https://developers.sinch.com/docs/conversation/callbacks/#message-delivery-receipt). Up to 1024 characters long. */ message_metadata?: string; /** Metadata that should be associated with the conversation. This metadata will be propagated on MO callbacks associated with this conversation. Up to 1024 characters long. Note that the MO callback will always use the last metadata available in the conversation. Important notes: - If you send a message with the `conversation_metadata` field populated, and then send another message without populating the `conversation_metadata` field, the original metadata will continue be propagated on the related MO callbacks. - If you send a message with the `conversation_metadata` field populated, and then send another message with a different value for `conversation_metadata` in the same conversation, the latest metadata value overwrites the existing one. So, future MO callbacks will include the new metadata. - The `conversation_metadata` only accepts json objects. Currently only returned in the `message_metadata` field of an [Inbound Message](/docs/conversation/callbacks/#inbound-message) callback. */ diff --git a/packages/conversation/src/models/v1/transcode-message-request/transcode-message-request.ts b/packages/conversation/src/models/v1/transcode-message-request/transcode-message-request.ts index 159b15a9..973955a7 100644 --- a/packages/conversation/src/models/v1/transcode-message-request/transcode-message-request.ts +++ b/packages/conversation/src/models/v1/transcode-message-request/transcode-message-request.ts @@ -1,12 +1,12 @@ -import { AppMessage } from '../app-message'; import { ConversationChannel } from '../conversation-channel'; +import { AppMessageMessage } from '../app-message-message'; export interface TranscodeMessageRequest { /** The ID of the app used to transcode the message. */ app_id: string; - /** @see AppMessage */ - app_message: AppMessage; + /** @see AppMessageMessage */ + app_message: AppMessageMessage; /** The list of channels for which the message shall be transcoded to. */ channels: ConversationChannel[]; /** Optional. */ diff --git a/packages/conversation/src/rest/v1/app/app-api.ts b/packages/conversation/src/rest/v1/app/app-api.ts index 91464a59..54cc80af 100644 --- a/packages/conversation/src/rest/v1/app/app-api.ts +++ b/packages/conversation/src/rest/v1/app/app-api.ts @@ -55,7 +55,6 @@ export class AppApi extends ConversationDomainApi { const headers: { [key: string]: string | undefined } = { 'Content-Type': 'application/json', 'Accept': 'application/json', - }; const body: RequestBody = data['appCreateRequestBody'] ? JSON.stringify(data['appCreateRequestBody']) : '{}'; @@ -83,7 +82,6 @@ export class AppApi extends ConversationDomainApi { const headers: { [key: string]: string | undefined } = { 'Content-Type': 'application/json', 'Accept': 'application/json', - }; const body: RequestBody = ''; @@ -112,7 +110,6 @@ export class AppApi extends ConversationDomainApi { const headers: { [key: string]: string | undefined } = { 'Content-Type': 'application/json', 'Accept': 'application/json', - }; const body: RequestBody = ''; @@ -140,7 +137,6 @@ export class AppApi extends ConversationDomainApi { const headers: { [key: string]: string | undefined } = { 'Content-Type': 'application/json', 'Accept': 'application/json', - }; const body: RequestBody = ''; @@ -168,7 +164,6 @@ export class AppApi extends ConversationDomainApi { const headers: { [key: string]: string | undefined } = { 'Content-Type': 'application/json', 'Accept': 'application/json', - }; const body: RequestBody = data['appUpdateRequestBody'] ? JSON.stringify(data['appUpdateRequestBody']) : '{}'; diff --git a/packages/conversation/src/rest/v1/capability/capability-api.jest.fixture.ts b/packages/conversation/src/rest/v1/capability/capability-api.jest.fixture.ts index 4ebaaad8..d1277f14 100644 --- a/packages/conversation/src/rest/v1/capability/capability-api.jest.fixture.ts +++ b/packages/conversation/src/rest/v1/capability/capability-api.jest.fixture.ts @@ -1,11 +1,11 @@ import { QueryCapabilityResponse } from '../../../models'; -import { CapabilityApi, QueryCapabilityRequestData } from './capability-api'; +import { CapabilityApi, LookupCapabilityRequestData } from './capability-api'; export class CapabilityApiFixture implements Partial> { /** - * Fixture associated to function queryCapability + * Fixture associated to function lookup */ - public queryCapability: jest.Mock, [QueryCapabilityRequestData]> = jest.fn(); + public lookup: jest.Mock, [LookupCapabilityRequestData]> = jest.fn(); } diff --git a/packages/conversation/src/rest/v1/capability/capability-api.ts b/packages/conversation/src/rest/v1/capability/capability-api.ts index b8825c79..768d323a 100644 --- a/packages/conversation/src/rest/v1/capability/capability-api.ts +++ b/packages/conversation/src/rest/v1/capability/capability-api.ts @@ -3,14 +3,14 @@ import { SinchClientParameters, } from '@sinch/sdk-client'; import { - QueryCapability, + LookupCapability, QueryCapabilityResponse, } from '../../../models'; import { ConversationDomainApi } from '../conversation-domain-api'; -export interface QueryCapabilityRequestData { - /** The query capability request. */ - 'queryCapabilityBody': QueryCapability; +export interface LookupCapabilityRequestData { + /** The lookup capability request. */ + 'lookupCapabilityRequestBody': LookupCapability; } export class CapabilityApi extends ConversationDomainApi { @@ -27,18 +27,19 @@ export class CapabilityApi extends ConversationDomainApi { /** * Capability lookup * This method is asynchronous - it immediately returns the requested Capability registration. Capability check is then delivered as a callback to registered webhooks with trigger CAPABILITY for every reachable channel. - * @param { QueryCapabilityRequestData } data - The data to provide to the API call. + * @param { LookupCapabilityRequestData } data - The data to provide to the API call. */ - public async queryCapability(data: QueryCapabilityRequestData): Promise { + public async lookup(data: LookupCapabilityRequestData): Promise { this.client = this.getSinchClient(); - const getParams = this.client.extractQueryParams(data, [] as never[]); + const getParams = this.client.extractQueryParams(data, [] as never[]); const headers: { [key: string]: string | undefined } = { 'Content-Type': 'application/json', 'Accept': 'application/json', - }; - const body: RequestBody = data['queryCapabilityBody'] ? JSON.stringify(data['queryCapabilityBody']) : '{}'; + const body: RequestBody = data['lookupCapabilityRequestBody'] + ? JSON.stringify(data['lookupCapabilityRequestBody']) + : '{}'; const basePathUrl = `${this.client.apiClientOptions.basePath}/v1/projects/${this.client.apiClientOptions.projectId}/capability:query`; const requestOptions = await this.client.prepareOptions(basePathUrl, 'POST', getParams, headers, body || undefined); diff --git a/packages/conversation/src/rest/v1/contact/contact-api.ts b/packages/conversation/src/rest/v1/contact/contact-api.ts index 606d4be0..7999b71a 100644 --- a/packages/conversation/src/rest/v1/contact/contact-api.ts +++ b/packages/conversation/src/rest/v1/contact/contact-api.ts @@ -55,7 +55,7 @@ export interface UpdateContactRequestData { /** The unique ID of the contact. */ 'contact_id': string; /** The updated contact. */ - 'updateContactBody': Contact; + 'updateContactRequestBody': Contact; /** The set of field mask paths. */ 'update_mask'?: Array; } @@ -266,7 +266,7 @@ export class ContactApi extends ConversationDomainApi { 'Accept': 'application/json', }; - const body: RequestBody = data['updateContactBody'] ? JSON.stringify(data['updateContactBody']) : '{}'; + const body: RequestBody = data['updateContactRequestBody'] ? JSON.stringify(data['updateContactRequestBody']) : '{}'; const basePathUrl = `${this.client.apiClientOptions.basePath}/v1/projects/${this.client.apiClientOptions.projectId}/contacts/${data['contact_id']}`; const requestOptions diff --git a/packages/conversation/src/rest/v1/conversation/conversation-api.jest.fixture.ts b/packages/conversation/src/rest/v1/conversation/conversation-api.jest.fixture.ts index 9c17b433..f202929a 100644 --- a/packages/conversation/src/rest/v1/conversation/conversation-api.jest.fixture.ts +++ b/packages/conversation/src/rest/v1/conversation/conversation-api.jest.fixture.ts @@ -5,32 +5,32 @@ import { ApiListPromise } from '@sinch/sdk-client'; export class ConversationApiFixture implements Partial> { /** - * Fixture associated to function createConversation + * Fixture associated to function create */ - public createConversation: jest.Mock, [CreateConversationRequestData]> = jest.fn(); + public create: jest.Mock, [CreateConversationRequestData]> = jest.fn(); /** - * Fixture associated to function deleteConversation + * Fixture associated to function delete */ - public deleteConversation: jest.Mock, [DeleteConversationRequestData]> = jest.fn(); + public delete: jest.Mock, [DeleteConversationRequestData]> = jest.fn(); /** - * Fixture associated to function getConversation + * Fixture associated to function get */ - public getConversation: jest.Mock, [GetConversationRequestData]> = jest.fn(); + public get: jest.Mock, [GetConversationRequestData]> = jest.fn(); /** * Fixture associated to function injectMessage */ public injectMessage: jest.Mock, [InjectMessageRequestData]> = jest.fn(); /** - * Fixture associated to function listConversations + * Fixture associated to function list */ - public listConversations: jest.Mock, [ListConversationsRequestData]> = jest.fn(); + public list: jest.Mock, [ListConversationsRequestData]> = jest.fn(); /** - * Fixture associated to function stopActiveConversation + * Fixture associated to function stopActive */ - public stopActiveConversation: jest.Mock, [StopActiveConversationRequestData]> = jest.fn(); + public stopActive: jest.Mock, [StopActiveConversationRequestData]> = jest.fn(); /** - * Fixture associated to function updateConversation + * Fixture associated to function update */ - public updateConversation: jest.Mock, [UpdateConversationRequestData]> = jest.fn(); + public update: jest.Mock, [UpdateConversationRequestData]> = jest.fn(); } diff --git a/packages/conversation/src/rest/v1/conversation/conversation-api.ts b/packages/conversation/src/rest/v1/conversation/conversation-api.ts index 8064f899..75a50ad4 100644 --- a/packages/conversation/src/rest/v1/conversation/conversation-api.ts +++ b/packages/conversation/src/rest/v1/conversation/conversation-api.ts @@ -30,9 +30,9 @@ export interface GetConversationRequestData { } export interface InjectMessageRequestData { /** Required. The ID of the conversation. */ - 'message.conversation_id': string; + 'conversation_id': string; /** Message to be injected. */ - 'conversationMessageInjectedBody': ConversationMessageInjected; + 'injectMessageRequestBody': ConversationMessageInjected; } export interface ListConversationsRequestData { /** Required. True if only active conversations should be listed. */ @@ -56,9 +56,9 @@ export interface UpdateConversationRequestData { /** The unique ID of the conversation. This is generated by the system. */ 'conversation_id': string; /** The updated conversation. */ - 'conversationBody': Conversation; + 'updateConversationRequestBody': Conversation; /** The set of field mask paths. */ - 'update_mask.paths'?: Array; + 'update_mask'?: Array; /** Update strategy for the `conversation_metadata` field. */ 'metadata_update_strategy'?: ConversationMetadataUpdateStrategy; } @@ -79,13 +79,12 @@ export class ConversationApi extends ConversationDomainApi { * Creates a new empty conversation. It is generally not needed to create a conversation explicitly since sending or receiving a message automatically creates a new conversation if it does not already exist between the given app and contact. Creating empty conversation is useful if the metadata of the conversation should be populated when the first message in the conversation is a contact message or the first message in the conversation comes out-of-band and needs to be injected with InjectMessage endpoint. * @param { CreateConversationRequestData } data - The data to provide to the API call. */ - public async createConversation(data: CreateConversationRequestData): Promise { + public async create(data: CreateConversationRequestData): Promise { this.client = this.getSinchClient(); const getParams = this.client.extractQueryParams(data, [] as never[]); const headers: { [key: string]: string | undefined } = { 'Content-Type': 'application/json', 'Accept': 'application/json', - }; const body: RequestBody @@ -108,13 +107,12 @@ export class ConversationApi extends ConversationDomainApi { * Deletes a conversation together with all the messages sent as part of the conversation. * @param { DeleteConversationRequestData } data - The data to provide to the API call. */ - public async deleteConversation(data: DeleteConversationRequestData): Promise { + public async delete(data: DeleteConversationRequestData): Promise { this.client = this.getSinchClient(); const getParams = this.client.extractQueryParams(data, [] as never[]); const headers: { [key: string]: string | undefined } = { 'Content-Type': 'application/json', 'Accept': 'application/json', - }; const body: RequestBody = ''; @@ -137,13 +135,12 @@ export class ConversationApi extends ConversationDomainApi { * Retrieves a conversation by id. A conversation has two participating entities, an app and a contact. * @param { GetConversationRequestData } data - The data to provide to the API call. */ - public async getConversation(data: GetConversationRequestData): Promise { + public async get(data: GetConversationRequestData): Promise { this.client = this.getSinchClient(); const getParams = this.client.extractQueryParams(data, [] as never[]); const headers: { [key: string]: string | undefined } = { 'Content-Type': 'application/json', 'Accept': 'application/json', - }; const body: RequestBody = ''; @@ -171,12 +168,11 @@ export class ConversationApi extends ConversationDomainApi { const headers: { [key: string]: string | undefined } = { 'Content-Type': 'application/json', 'Accept': 'application/json', - }; const body: RequestBody - = data['conversationMessageInjectedBody'] ? JSON.stringify(data['conversationMessageInjectedBody']) : '{}'; - const basePathUrl = `${this.client.apiClientOptions.basePath}/v1/projects/${this.client.apiClientOptions.projectId}/conversations/{message.conversation_id}:inject-message`; + = data['injectMessageRequestBody'] ? JSON.stringify(data['injectMessageRequestBody']) : '{}'; + const basePathUrl = `${this.client.apiClientOptions.basePath}/v1/projects/${this.client.apiClientOptions.projectId}/conversations/${data['conversation_id']}:inject-message`; const requestOptions = await this.client.prepareOptions(basePathUrl, 'POST', getParams, headers, body || undefined); const url = this.client.prepareUrl(requestOptions.basePath, requestOptions.queryParams); @@ -195,7 +191,7 @@ export class ConversationApi extends ConversationDomainApi { * @param { ListConversationsRequestData } data - The data to provide to the API call. * @return {ApiListPromise} */ - public listConversations(data: ListConversationsRequestData): ApiListPromise { + public list(data: ListConversationsRequestData): ApiListPromise { this.client = this.getSinchClient(); const getParams = this.client.extractQueryParams(data, [ 'app_id', @@ -243,13 +239,12 @@ export class ConversationApi extends ConversationDomainApi { * This operation stops the referenced conversation, if the conversation is still active. A new conversation will be created if a new message is exchanged between the app or contact that was part of the stopped conversation. * @param { StopActiveConversationRequestData } data - The data to provide to the API call. */ - public async stopActiveConversation(data: StopActiveConversationRequestData): Promise { + public async stopActive(data: StopActiveConversationRequestData): Promise { this.client = this.getSinchClient(); const getParams = this.client.extractQueryParams(data, [] as never[]); const headers: { [key: string]: string | undefined } = { 'Content-Type': 'application/json', 'Accept': 'application/json', - }; const body: RequestBody = ''; @@ -271,22 +266,23 @@ export class ConversationApi extends ConversationDomainApi { * This operation updates a conversation which can, for instance, be used to update the metadata associated with a conversation. * @param { UpdateConversationRequestData } data - The data to provide to the API call. */ - public async updateConversation(data: UpdateConversationRequestData): Promise { + public async update(data: UpdateConversationRequestData): Promise { this.client = this.getSinchClient(); data['metadata_update_strategy'] = data['metadata_update_strategy'] !== undefined ? data['metadata_update_strategy'] : 'REPLACE'; const getParams = this.client.extractQueryParams(data, [ - 'update_mask.paths', + 'update_mask', 'metadata_update_strategy', ]); const headers: { [key: string]: string | undefined } = { 'Content-Type': 'application/json', 'Accept': 'application/json', - }; - const body: RequestBody = data['conversationBody'] ? JSON.stringify(data['conversationBody']) : '{}'; + const body: RequestBody = data['updateConversationRequestBody'] + ? JSON.stringify(data['updateConversationRequestBody']) + : '{}'; const basePathUrl = `${this.client.apiClientOptions.basePath}/v1/projects/${this.client.apiClientOptions.projectId}/conversations/${data['conversation_id']}`; const requestOptions diff --git a/packages/conversation/src/rest/v1/events/events-api.jest.fixture.ts b/packages/conversation/src/rest/v1/events/events-api.jest.fixture.ts index 20660a26..6a6294f6 100644 --- a/packages/conversation/src/rest/v1/events/events-api.jest.fixture.ts +++ b/packages/conversation/src/rest/v1/events/events-api.jest.fixture.ts @@ -4,8 +4,8 @@ import { EventsApi, SendEventRequestData } from './events-api'; export class EventsApiFixture implements Partial> { /** - * Fixture associated to function sendEvent + * Fixture associated to function send */ - public sendEvent: jest.Mock, [SendEventRequestData]> = jest.fn(); + public send: jest.Mock, [SendEventRequestData]> = jest.fn(); } diff --git a/packages/conversation/src/rest/v1/events/events-api.ts b/packages/conversation/src/rest/v1/events/events-api.ts index 7fe54ba7..fb49739e 100644 --- a/packages/conversation/src/rest/v1/events/events-api.ts +++ b/packages/conversation/src/rest/v1/events/events-api.ts @@ -29,13 +29,12 @@ export class EventsApi extends ConversationDomainApi { * Sends an event to the referenced contact from the referenced app. Note that this operation enqueues the event in a queue so a successful response only indicates that the event has been queued. * @param { SendEventRequestData } data - The data to provide to the API call. */ - public async sendEvent(data: SendEventRequestData): Promise { + public async send(data: SendEventRequestData): Promise { this.client = this.getSinchClient(); const getParams = this.client.extractQueryParams(data, [] as never[]); const headers: { [key: string]: string | undefined } = { 'Content-Type': 'application/json', 'Accept': 'application/json', - }; const body: RequestBody = data['sendEventRequestBody'] ? JSON.stringify(data['sendEventRequestBody']) : '{}'; diff --git a/packages/conversation/src/rest/v1/messages/messages-api.jest.fixture.ts b/packages/conversation/src/rest/v1/messages/messages-api.jest.fixture.ts index 6d97af8d..f60793e7 100644 --- a/packages/conversation/src/rest/v1/messages/messages-api.jest.fixture.ts +++ b/packages/conversation/src/rest/v1/messages/messages-api.jest.fixture.ts @@ -6,20 +6,20 @@ import { ApiListPromise } from '@sinch/sdk-client'; export class MessagesApiFixture implements Partial> { /** - * Fixture associated to function deleteMessage + * Fixture associated to function delete */ - public deleteMessage: jest.Mock, [DeleteMessageRequestData]> = jest.fn(); + public delete: jest.Mock, [DeleteMessageRequestData]> = jest.fn(); /** - * Fixture associated to function getMessage + * Fixture associated to function get */ - public getMessage: jest.Mock, [GetMessageRequestData]> = jest.fn(); + public get: jest.Mock, [GetMessageRequestData]> = jest.fn(); /** - * Fixture associated to function listMessages + * Fixture associated to function list */ - public listMessages: jest.Mock, [ListMessagesRequestData]> = jest.fn(); + public list: jest.Mock, [ListMessagesRequestData]> = jest.fn(); /** - * Fixture associated to function sendMessage + * Fixture associated to function send */ - public sendMessage: jest.Mock, [SendMessageRequestData]> = jest.fn(); + public send: jest.Mock, [SendMessageRequestData]> = jest.fn(); } diff --git a/packages/conversation/src/rest/v1/messages/messages-api.ts b/packages/conversation/src/rest/v1/messages/messages-api.ts index 27a89882..3ab17e90 100644 --- a/packages/conversation/src/rest/v1/messages/messages-api.ts +++ b/packages/conversation/src/rest/v1/messages/messages-api.ts @@ -76,14 +76,13 @@ export class MessagesApi extends ConversationDomainApi { * Delete a specific message by its ID. Note: Removing all messages of a conversation will not automatically delete the conversation. * @param { DeleteMessageRequestData } data - The data to provide to the API call. */ - public async deleteMessage(data: DeleteMessageRequestData): Promise { + public async delete(data: DeleteMessageRequestData): Promise { this.client = this.getSinchClient(); data['messages_source'] = data['messages_source'] !== undefined ? data['messages_source'] : 'CONVERSATION_SOURCE'; const getParams = this.client.extractQueryParams(data, ['messages_source']); const headers: { [key: string]: string | undefined } = { 'Content-Type': 'application/json', 'Accept': 'application/json', - }; const body: RequestBody = ''; @@ -106,14 +105,13 @@ export class MessagesApi extends ConversationDomainApi { * Retrieves a specific message by its ID. * @param { GetMessageRequestData } data - The data to provide to the API call. */ - public async getMessage(data: GetMessageRequestData): Promise { + public async get(data: GetMessageRequestData): Promise { this.client = this.getSinchClient(); data['messages_source'] = data['messages_source'] !== undefined ? data['messages_source'] : 'CONVERSATION_SOURCE'; const getParams = this.client.extractQueryParams(data, ['messages_source']); const headers: { [key: string]: string | undefined } = { 'Content-Type': 'application/json', 'Accept': 'application/json', - }; const body: RequestBody = ''; @@ -136,7 +134,7 @@ export class MessagesApi extends ConversationDomainApi { * @param { ListMessagesRequestData } data - The data to provide to the API call. * @return {ApiListPromise} */ - public listMessages(data: ListMessagesRequestData): ApiListPromise { + public list(data: ListMessagesRequestData): ApiListPromise { this.client = this.getSinchClient(); data['messages_source'] = data['messages_source'] !== undefined ? data['messages_source'] : 'CONVERSATION_SOURCE'; const getParams = this.client.extractQueryParams(data, [ @@ -156,7 +154,6 @@ export class MessagesApi extends ConversationDomainApi { const headers: { [key: string]: string | undefined } = { 'Content-Type': 'application/json', 'Accept': 'application/json', - }; const body: RequestBody = ''; @@ -192,13 +189,12 @@ export class MessagesApi extends ConversationDomainApi { * You can send a message from a Conversation app to a contact associated with that app. If the recipient is not associated with an existing contact, a new contact will be created. The message is added to the active conversation with the contact if a conversation already exists. If no active conversation exists a new one is started automatically. You can find all of your IDs and authentication credentials on the [Sinch Customer Dashboard](https://dashboard.sinch.com/convapi/overview). * @param { SendMessageRequestData } data - The data to provide to the API call. */ - public async sendMessage(data: SendMessageRequestData): Promise { + public async send(data: SendMessageRequestData): Promise { this.client = this.getSinchClient(); const getParams = this.client.extractQueryParams(data, [] as never[]); const headers: { [key: string]: string | undefined } = { 'Content-Type': 'application/json', 'Accept': 'application/json', - }; const body: RequestBody = data['sendMessageRequestBody'] ? JSON.stringify(data['sendMessageRequestBody']) : '{}'; diff --git a/packages/conversation/src/rest/v1/transcoding/transcoding-api.ts b/packages/conversation/src/rest/v1/transcoding/transcoding-api.ts index bcdadb99..48dd1951 100644 --- a/packages/conversation/src/rest/v1/transcoding/transcoding-api.ts +++ b/packages/conversation/src/rest/v1/transcoding/transcoding-api.ts @@ -35,7 +35,6 @@ export class TranscodingApi extends ConversationDomainApi { const headers: { [key: string]: string | undefined } = { 'Content-Type': 'application/json', 'Accept': 'application/json', - }; const body: RequestBody diff --git a/packages/conversation/src/rest/v1/webhooks/webhooks-api.jest.fixture.ts b/packages/conversation/src/rest/v1/webhooks/webhooks-api.jest.fixture.ts index 9599c194..39131f5f 100644 --- a/packages/conversation/src/rest/v1/webhooks/webhooks-api.jest.fixture.ts +++ b/packages/conversation/src/rest/v1/webhooks/webhooks-api.jest.fixture.ts @@ -5,24 +5,24 @@ import { WebhooksApi, CreateWebhookRequestData, DeleteWebhookRequestData, GetWeb export class WebhooksApiFixture implements Partial> { /** - * Fixture associated to function createWebhook + * Fixture associated to function create */ - public createWebhook: jest.Mock, [CreateWebhookRequestData]> = jest.fn(); + public create: jest.Mock, [CreateWebhookRequestData]> = jest.fn(); /** - * Fixture associated to function deleteWebhook + * Fixture associated to function delete */ - public deleteWebhook: jest.Mock, [DeleteWebhookRequestData]> = jest.fn(); + public delete: jest.Mock, [DeleteWebhookRequestData]> = jest.fn(); /** - * Fixture associated to function getWebhook + * Fixture associated to function get */ - public getWebhook: jest.Mock, [GetWebhookRequestData]> = jest.fn(); + public get: jest.Mock, [GetWebhookRequestData]> = jest.fn(); /** - * Fixture associated to function listWebhooks + * Fixture associated to function list */ - public listWebhooks: jest.Mock, [ListWebhooksRequestData]> = jest.fn(); + public list: jest.Mock, [ListWebhooksRequestData]> = jest.fn(); /** - * Fixture associated to function updateWebhook + * Fixture associated to function update */ - public updateWebhook: jest.Mock, [UpdateWebhookRequestData]> = jest.fn(); + public update: jest.Mock, [UpdateWebhookRequestData]> = jest.fn(); } diff --git a/packages/conversation/src/rest/v1/webhooks/webhooks-api.ts b/packages/conversation/src/rest/v1/webhooks/webhooks-api.ts index 4f83769e..f5726608 100644 --- a/packages/conversation/src/rest/v1/webhooks/webhooks-api.ts +++ b/packages/conversation/src/rest/v1/webhooks/webhooks-api.ts @@ -10,7 +10,7 @@ import { ConversationDomainApi } from '../conversation-domain-api'; export interface CreateWebhookRequestData { /** Required. The Webhook to create */ - 'webhookBody': Webhook; + 'webhookCreateRequestBody': Webhook; } export interface DeleteWebhookRequestData { /** The unique ID of the webhook. */ @@ -28,9 +28,9 @@ export interface UpdateWebhookRequestData { /** The unique ID of the webhook. */ 'webhook_id': string; /** Required. The Webhook to update */ - 'webhookBody': Webhook; + 'webhookUpdateRequestBody': Webhook; /** The set of field mask paths. */ - 'update_mask.paths'?: Array; + 'update_mask'?: Array; } export class WebhooksApi extends ConversationDomainApi { @@ -49,16 +49,17 @@ export class WebhooksApi extends ConversationDomainApi { * Creates a webhook for receiving callbacks on specific triggers. You can create up to 5 webhooks per app. * @param { CreateWebhookRequestData } data - The data to provide to the API call. */ - public async createWebhook(data: CreateWebhookRequestData): Promise { + public async create(data: CreateWebhookRequestData): Promise { this.client = this.getSinchClient(); const getParams = this.client.extractQueryParams(data, [] as never[]); const headers: { [key: string]: string | undefined } = { 'Content-Type': 'application/json', 'Accept': 'application/json', - }; - const body: RequestBody = data['webhookBody'] ? JSON.stringify(data['webhookBody']) : '{}'; + const body: RequestBody = data['webhookCreateRequestBody'] + ? JSON.stringify(data['webhookCreateRequestBody']) + : '{}'; const basePathUrl = `${this.client.apiClientOptions.basePath}/v1/projects/${this.client.apiClientOptions.projectId}/webhooks`; const requestOptions = await this.client.prepareOptions(basePathUrl, 'POST', getParams, headers, body || undefined); @@ -77,13 +78,12 @@ export class WebhooksApi extends ConversationDomainApi { * Deletes a webhook as specified by the webhook ID. * @param { DeleteWebhookRequestData } data - The data to provide to the API call. */ - public async deleteWebhook(data: DeleteWebhookRequestData): Promise { + public async delete(data: DeleteWebhookRequestData): Promise { this.client = this.getSinchClient(); const getParams = this.client.extractQueryParams(data, [] as never[]); const headers: { [key: string]: string | undefined } = { 'Content-Type': 'application/json', 'Accept': 'application/json', - }; const body: RequestBody = ''; @@ -106,13 +106,12 @@ export class WebhooksApi extends ConversationDomainApi { * Get a webhook as specified by the webhook ID. * @param { GetWebhookRequestData } data - The data to provide to the API call. */ - public async getWebhook(data: GetWebhookRequestData): Promise { + public async get(data: GetWebhookRequestData): Promise { this.client = this.getSinchClient(); const getParams = this.client.extractQueryParams(data, [] as never[]); const headers: { [key: string]: string | undefined } = { 'Content-Type': 'application/json', 'Accept': 'application/json', - }; const body: RequestBody = ''; @@ -134,13 +133,12 @@ export class WebhooksApi extends ConversationDomainApi { * List all webhooks for a given app as specified by the App ID. * @param { ListWebhooksRequestData } data - The data to provide to the API call. */ - public async listWebhooks(data: ListWebhooksRequestData): Promise { + public async list(data: ListWebhooksRequestData): Promise { this.client = this.getSinchClient(); const getParams = this.client.extractQueryParams(data, [] as never[]); const headers: { [key: string]: string | undefined } = { 'Content-Type': 'application/json', 'Accept': 'application/json', - }; const body: RequestBody = ''; @@ -162,16 +160,17 @@ export class WebhooksApi extends ConversationDomainApi { * Updates an existing webhook as specified by the webhook ID. * @param { UpdateWebhookRequestData } data - The data to provide to the API call. */ - public async updateWebhook(data: UpdateWebhookRequestData): Promise { + public async update(data: UpdateWebhookRequestData): Promise { this.client = this.getSinchClient(); - const getParams = this.client.extractQueryParams(data, ['update_mask.paths']); + const getParams = this.client.extractQueryParams(data, ['update_mask']); const headers: { [key: string]: string | undefined } = { 'Content-Type': 'application/json', 'Accept': 'application/json', - }; - const body: RequestBody = data['webhookBody'] ? JSON.stringify(data['webhookBody']) : '{}'; + const body: RequestBody = data['webhookUpdateRequestBody'] + ? JSON.stringify(data['webhookUpdateRequestBody']) + : '{}'; const basePathUrl = `${this.client.apiClientOptions.basePath}/v1/projects/${this.client.apiClientOptions.projectId}/webhooks/${data['webhook_id']}`; const requestOptions diff --git a/packages/sdk-client/src/api/api-errors.ts b/packages/sdk-client/src/api/api-errors.ts index 3512eb6a..1b5b7e09 100644 --- a/packages/sdk-client/src/api/api-errors.ts +++ b/packages/sdk-client/src/api/api-errors.ts @@ -45,7 +45,7 @@ export class RequestFailedError extends GenericError { /** * Data decoded from the response body */ - public data?: T; + public data?: string; constructor( message: string, @@ -55,7 +55,7 @@ export class RequestFailedError extends GenericError { ) { super(`[status: ${statusCode}] ${message}`, errorContext); this.statusCode = statusCode; - this.data = data; + this.data = JSON.stringify(data, null, 2); } } @@ -66,11 +66,11 @@ export class EmptyResponseError extends GenericError { /** * Data decoded from the response body */ - public data?: T; + public data?: string; constructor(message: string, errorContext: ErrorContext, data?: T) { super(`[Empty response] ${message}`, errorContext); - this.data = data; + this.data = JSON.stringify(data, null, 2); } } diff --git a/packages/sdk-client/src/client/api-fetch-client.ts b/packages/sdk-client/src/client/api-fetch-client.ts index 4d479177..6a03eb7b 100644 --- a/packages/sdk-client/src/client/api-fetch-client.ts +++ b/packages/sdk-client/src/client/api-fetch-client.ts @@ -152,7 +152,7 @@ export class ApiFetchClient extends ApiClient { // Build the PageResult object const nextPage = calculateNextPage(result, buildPaginationContext(apiCallParameters)); return { - data: responseData, + data: responseData || [], hasNextPage: hasMore(result, buildPaginationContext(apiCallParameters)), nextPageValue: nextPage, nextPage: () => createNextPageMethod( diff --git a/packages/voice/src/models/v1/enums.ts b/packages/voice/src/models/v1/enums.ts index 3d847155..c3dd6a3a 100644 --- a/packages/voice/src/models/v1/enums.ts +++ b/packages/voice/src/models/v1/enums.ts @@ -38,4 +38,5 @@ export type ReasonEnum = 'N/A' | 'NOCREDITPARTNER' | 'MANAGERHANGUP' | 'CANCEL' - | 'GENERALERROR'; + | 'GENERALERROR' + | 'INVALIDSVAMLACTION'; diff --git a/yarn.lock b/yarn.lock index b1e91495..6a9b73a6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2177,6 +2177,23 @@ dependencies: "@types/yargs-parser" "*" +"@typescript-eslint/eslint-plugin@^6.0.0": + version "6.19.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.19.1.tgz#bb0676af940bc23bf299ca58dbdc6589c2548c2e" + integrity sha512-roQScUGFruWod9CEyoV5KlCYrubC/fvG8/1zXuT0WTcxX87GnMMmnksMwSg99lo1xiKrBzw2icsJPMAw1OtKxg== + dependencies: + "@eslint-community/regexpp" "^4.5.1" + "@typescript-eslint/scope-manager" "6.19.1" + "@typescript-eslint/type-utils" "6.19.1" + "@typescript-eslint/utils" "6.19.1" + "@typescript-eslint/visitor-keys" "6.19.1" + debug "^4.3.4" + graphemer "^1.4.0" + ignore "^5.2.4" + natural-compare "^1.4.0" + semver "^7.5.4" + ts-api-utils "^1.0.1" + "@typescript-eslint/eslint-plugin@^6.9.0": version "6.15.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.15.0.tgz#b0b3e15fa8c3e67ed4386b765cc0ba98ad3a303b" @@ -2194,6 +2211,17 @@ semver "^7.5.4" ts-api-utils "^1.0.1" +"@typescript-eslint/parser@^6.0.0": + version "6.19.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.19.1.tgz#68a87bb21afaf0b1689e9cdce0e6e75bc91ada78" + integrity sha512-WEfX22ziAh6pRE9jnbkkLGp/4RhTpffr2ZK5bJ18M8mIfA8A+k97U9ZyaXCEJRlmMHh7R9MJZWXp/r73DzINVQ== + dependencies: + "@typescript-eslint/scope-manager" "6.19.1" + "@typescript-eslint/types" "6.19.1" + "@typescript-eslint/typescript-estree" "6.19.1" + "@typescript-eslint/visitor-keys" "6.19.1" + debug "^4.3.4" + "@typescript-eslint/parser@^6.9.0": version "6.15.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.15.0.tgz#1af69741cfa314a13c1434d0bdd5a0c3096699d7" @@ -2221,6 +2249,14 @@ "@typescript-eslint/types" "6.15.0" "@typescript-eslint/visitor-keys" "6.15.0" +"@typescript-eslint/scope-manager@6.19.1": + version "6.19.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.19.1.tgz#2f527ee30703a6169a52b31d42a1103d80acd51b" + integrity sha512-4CdXYjKf6/6aKNMSly/BP4iCSOpvMmqtDzRtqFyyAae3z5kkqEjKndR5vDHL8rSuMIIWP8u4Mw4VxLyxZW6D5w== + dependencies: + "@typescript-eslint/types" "6.19.1" + "@typescript-eslint/visitor-keys" "6.19.1" + "@typescript-eslint/type-utils@6.15.0": version "6.15.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.15.0.tgz#c22261bd00566821a300d08f4632533a8f9bed01" @@ -2231,6 +2267,16 @@ debug "^4.3.4" ts-api-utils "^1.0.1" +"@typescript-eslint/type-utils@6.19.1": + version "6.19.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.19.1.tgz#6a130e3afe605a4898e043fa9f72e96309b54935" + integrity sha512-0vdyld3ecfxJuddDjACUvlAeYNrHP/pDeQk2pWBR2ESeEzQhg52DF53AbI9QCBkYE23lgkhLCZNkHn2hEXXYIg== + dependencies: + "@typescript-eslint/typescript-estree" "6.19.1" + "@typescript-eslint/utils" "6.19.1" + debug "^4.3.4" + ts-api-utils "^1.0.1" + "@typescript-eslint/types@5.62.0": version "5.62.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" @@ -2241,6 +2287,11 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.15.0.tgz#a9f7b006aee52b0948be6e03f521814bf435ddd5" integrity sha512-yXjbt//E4T/ee8Ia1b5mGlbNj9fB9lJP4jqLbZualwpP2BCQ5is6BcWwxpIsY4XKAhmdv3hrW92GdtJbatC6dQ== +"@typescript-eslint/types@6.19.1": + version "6.19.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.19.1.tgz#2d4c9d492a63ede15e7ba7d129bdf7714b77f771" + integrity sha512-6+bk6FEtBhvfYvpHsDgAL3uo4BfvnTnoge5LrrCj2eJN8g3IJdLTD4B/jK3Q6vo4Ql/Hoip9I8aB6fF+6RfDqg== + "@typescript-eslint/typescript-estree@5.62.0": version "5.62.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b" @@ -2267,6 +2318,20 @@ semver "^7.5.4" ts-api-utils "^1.0.1" +"@typescript-eslint/typescript-estree@6.19.1": + version "6.19.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.19.1.tgz#796d88d88882f12e85bb33d6d82d39e1aea54ed1" + integrity sha512-aFdAxuhzBFRWhy+H20nYu19+Km+gFfwNO4TEqyszkMcgBDYQjmPJ61erHxuT2ESJXhlhrO7I5EFIlZ+qGR8oVA== + dependencies: + "@typescript-eslint/types" "6.19.1" + "@typescript-eslint/visitor-keys" "6.19.1" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + minimatch "9.0.3" + semver "^7.5.4" + ts-api-utils "^1.0.1" + "@typescript-eslint/utils@6.15.0", "@typescript-eslint/utils@^6.0.0": version "6.15.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.15.0.tgz#f80dbb79f3b0f569077a8711dd44186a8933fa4c" @@ -2280,6 +2345,19 @@ "@typescript-eslint/typescript-estree" "6.15.0" semver "^7.5.4" +"@typescript-eslint/utils@6.19.1": + version "6.19.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.19.1.tgz#df93497f9cfddde2bcc2a591da80536e68acd151" + integrity sha512-JvjfEZuP5WoMqwh9SPAPDSHSg9FBHHGhjPugSRxu5jMfjvBpq5/sGTD+9M9aQ5sh6iJ8AY/Kk/oUYVEMAPwi7w== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + "@types/json-schema" "^7.0.12" + "@types/semver" "^7.5.0" + "@typescript-eslint/scope-manager" "6.19.1" + "@typescript-eslint/types" "6.19.1" + "@typescript-eslint/typescript-estree" "6.19.1" + semver "^7.5.4" + "@typescript-eslint/utils@^5.10.0": version "5.62.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86" @@ -2310,6 +2388,14 @@ "@typescript-eslint/types" "6.15.0" eslint-visitor-keys "^3.4.1" +"@typescript-eslint/visitor-keys@6.19.1": + version "6.19.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.19.1.tgz#2164073ed4fc34a5ff3b5e25bb5a442100454c4c" + integrity sha512-gkdtIO+xSO/SmI0W68DBg4u1KElmIUo3vXzgHyGPs6cxgB0sa3TlptRAAE0hUY1hM6FcDKEv7aIwiTGm76cXfQ== + dependencies: + "@typescript-eslint/types" "6.19.1" + eslint-visitor-keys "^3.4.1" + "@ungap/structured-clone@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" @@ -6019,6 +6105,13 @@ minimatch@3.0.5: dependencies: brace-expansion "^1.1.7" +minimatch@9.0.3, minimatch@^9.0.0, minimatch@^9.0.1: + version "9.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" + integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== + dependencies: + brace-expansion "^2.0.1" + minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" @@ -6040,13 +6133,6 @@ minimatch@^8.0.2: dependencies: brace-expansion "^2.0.1" -minimatch@^9.0.0, minimatch@^9.0.1: - version "9.0.3" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" - integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== - dependencies: - brace-expansion "^2.0.1" - minimist-options@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" @@ -7008,7 +7094,7 @@ raw-body@2.5.1: iconv-lite "0.4.24" unpipe "1.0.0" -raw-body@2.5.2: +raw-body@2.5.2, raw-body@^2.5.2: version "2.5.2" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==