From 72a981754032caf2f3558a112ef71b797f262ded Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Tue, 27 Jan 2026 13:05:16 +0000 Subject: [PATCH 1/9] SDK regeneration --- src/api/resources/agents/client/Client.ts | 12 +- .../client/requests/AgentsCreateAgent.ts | 2 + .../types/AgentsCreateAgentAgentType.ts | 13 + .../types/AgentsCreateAgentExpertsItem.ts | 2 +- src/api/resources/agents/types/index.ts | 1 + src/api/resources/auth/client/Client.ts | 1 + src/api/resources/documents/client/Client.ts | 7 +- src/api/resources/facts/client/Client.ts | 6 + .../resources/interactions/client/Client.ts | 5 + src/api/resources/recordings/client/Client.ts | 4 + src/api/resources/templates/client/Client.ts | 3 + .../resources/transcripts/client/Client.ts | 96 ++++++- src/api/types/AgentsCreateExpertReference.ts | 16 ++ src/api/types/AgentsCreateMcpServer.ts | 2 + src/api/types/AgentsExpertReference.ts | 8 +- src/api/types/AgentsMcpServer.ts | 2 + src/api/types/DocumentsContextWithFacts.ts | 2 +- .../types/DocumentsContextWithTranscript.ts | 2 +- .../DocumentsCreateRequestWithTemplate.ts | 2 +- .../DocumentsCreateRequestWithTemplateKey.ts | 4 +- src/api/types/ErrorResponse.ts | 9 +- src/api/types/TranscriptsResponse.ts | 4 + src/api/types/TranscriptsStatusEnum.ts | 13 + src/api/types/TranscriptsStatusResponse.ts | 10 + src/api/types/index.ts | 3 + .../client/requests/AgentsCreateAgent.ts | 3 + .../types/AgentsCreateAgentAgentType.ts | 16 ++ .../types/AgentsCreateAgentExpertsItem.ts | 6 +- .../resources/agents/types/index.ts | 1 + .../types/AgentsCreateExpertReference.ts | 26 ++ .../types/AgentsCreateMcpServer.ts | 2 + .../types/AgentsExpertReference.ts | 10 +- src/serialization/types/AgentsMcpServer.ts | 2 + src/serialization/types/ErrorResponse.ts | 20 +- .../types/TranscriptsResponse.ts | 5 + .../types/TranscriptsStatusEnum.ts | 16 ++ .../types/TranscriptsStatusResponse.ts | 21 ++ src/serialization/types/index.ts | 3 + yarn.lock | 236 +++++++++--------- 39 files changed, 444 insertions(+), 152 deletions(-) create mode 100644 src/api/resources/agents/types/AgentsCreateAgentAgentType.ts create mode 100644 src/api/types/AgentsCreateExpertReference.ts create mode 100644 src/api/types/TranscriptsStatusEnum.ts create mode 100644 src/api/types/TranscriptsStatusResponse.ts create mode 100644 src/serialization/resources/agents/types/AgentsCreateAgentAgentType.ts create mode 100644 src/serialization/types/AgentsCreateExpertReference.ts create mode 100644 src/serialization/types/TranscriptsStatusEnum.ts create mode 100644 src/serialization/types/TranscriptsStatusResponse.ts diff --git a/src/api/resources/agents/client/Client.ts b/src/api/resources/agents/client/Client.ts index 019adfa3..5260a1f8 100644 --- a/src/api/resources/agents/client/Client.ts +++ b/src/api/resources/agents/client/Client.ts @@ -97,6 +97,7 @@ export class Agents { queryParameters: _queryParams, timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { @@ -200,6 +201,7 @@ export class Agents { }), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { @@ -288,6 +290,7 @@ export class Agents { ), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { @@ -372,6 +375,7 @@ export class Agents { ), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { @@ -467,6 +471,7 @@ export class Agents { }), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { @@ -557,6 +562,7 @@ export class Agents { ), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { @@ -666,6 +672,7 @@ export class Agents { }), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { @@ -769,6 +776,7 @@ export class Agents { queryParameters: _queryParams, timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { @@ -876,6 +884,7 @@ export class Agents { queryParameters: _queryParams, timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { @@ -928,7 +937,7 @@ export class Agents { } /** - * This endpoint retrieves the experts registry, which contains information about all available experts that can be referenced when creating agents through the AgentsExpertReference schema. + * This endpoint retrieves the experts registry, which contains information about all available experts that can be referenced when creating agents through the AgentsCreateExpertReference schema. * * @param {Corti.AgentsGetRegistryExpertsRequest} request * @param {Agents.RequestOptions} requestOptions - Request-specific configuration. @@ -981,6 +990,7 @@ export class Agents { queryParameters: _queryParams, timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { diff --git a/src/api/resources/agents/client/requests/AgentsCreateAgent.ts b/src/api/resources/agents/client/requests/AgentsCreateAgent.ts index a8aa19e2..f723f65e 100644 --- a/src/api/resources/agents/client/requests/AgentsCreateAgent.ts +++ b/src/api/resources/agents/client/requests/AgentsCreateAgent.ts @@ -18,6 +18,8 @@ export interface AgentsCreateAgent { ephemeral?: boolean | null; /** The name of the agent. */ name: string; + /** Optional type of agent. */ + agentType?: Corti.AgentsCreateAgentAgentType; /** The system prompt that defines the overall agents behavior and expectations. This field is optional as there is a default system orchestrator. */ systemPrompt?: string; /** A brief description of the agent's capabilities. */ diff --git a/src/api/resources/agents/types/AgentsCreateAgentAgentType.ts b/src/api/resources/agents/types/AgentsCreateAgentAgentType.ts new file mode 100644 index 00000000..33a0c81a --- /dev/null +++ b/src/api/resources/agents/types/AgentsCreateAgentAgentType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Optional type of agent. + */ +export type AgentsCreateAgentAgentType = "expert" | "orchestrator" | "interviewing-expert"; +export const AgentsCreateAgentAgentType = { + Expert: "expert", + Orchestrator: "orchestrator", + InterviewingExpert: "interviewing-expert", +} as const; diff --git a/src/api/resources/agents/types/AgentsCreateAgentExpertsItem.ts b/src/api/resources/agents/types/AgentsCreateAgentExpertsItem.ts index 96139a88..5e2d015a 100644 --- a/src/api/resources/agents/types/AgentsCreateAgentExpertsItem.ts +++ b/src/api/resources/agents/types/AgentsCreateAgentExpertsItem.ts @@ -4,4 +4,4 @@ import * as Corti from "../../../index.js"; -export type AgentsCreateAgentExpertsItem = Corti.AgentsCreateExpert | Corti.AgentsExpertReference; +export type AgentsCreateAgentExpertsItem = Corti.AgentsCreateExpert | Corti.AgentsCreateExpertReference; diff --git a/src/api/resources/agents/types/index.ts b/src/api/resources/agents/types/index.ts index ef83c76b..c07005bf 100644 --- a/src/api/resources/agents/types/index.ts +++ b/src/api/resources/agents/types/index.ts @@ -1,2 +1,3 @@ +export * from "./AgentsCreateAgentAgentType.js"; export * from "./AgentsCreateAgentExpertsItem.js"; export * from "./AgentsMessageSendResponse.js"; diff --git a/src/api/resources/auth/client/Client.ts b/src/api/resources/auth/client/Client.ts index 852b864d..1993c848 100644 --- a/src/api/resources/auth/client/Client.ts +++ b/src/api/resources/auth/client/Client.ts @@ -92,6 +92,7 @@ export class Auth { }, timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { diff --git a/src/api/resources/documents/client/Client.ts b/src/api/resources/documents/client/Client.ts index b66f3091..e7104030 100644 --- a/src/api/resources/documents/client/Client.ts +++ b/src/api/resources/documents/client/Client.ts @@ -84,6 +84,7 @@ export class Documents { ), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { @@ -163,7 +164,7 @@ export class Documents { } /** - * Generate Document. + * This endpoint offers different ways to generate a document. Find guides to document generation [here](/textgen/documents-standard). * * @param {Corti.Uuid} id - The unique identifier of the interaction. Must be a valid UUID. * @param {Corti.DocumentsCreateRequest} request @@ -223,6 +224,7 @@ export class Documents { }), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { @@ -346,6 +348,7 @@ export class Documents { ), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { @@ -469,6 +472,7 @@ export class Documents { ), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { @@ -592,6 +596,7 @@ export class Documents { }), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { diff --git a/src/api/resources/facts/client/Client.ts b/src/api/resources/facts/client/Client.ts index d023b2ad..2dd14011 100644 --- a/src/api/resources/facts/client/Client.ts +++ b/src/api/resources/facts/client/Client.ts @@ -78,6 +78,7 @@ export class Facts { ), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { @@ -171,6 +172,7 @@ export class Facts { ), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { @@ -278,6 +280,7 @@ export class Facts { }), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { @@ -384,6 +387,7 @@ export class Facts { }), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { @@ -489,6 +493,7 @@ export class Facts { }), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { @@ -596,6 +601,7 @@ export class Facts { }), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { diff --git a/src/api/resources/interactions/client/Client.ts b/src/api/resources/interactions/client/Client.ts index 8cb2d2d7..22876be5 100644 --- a/src/api/resources/interactions/client/Client.ts +++ b/src/api/resources/interactions/client/Client.ts @@ -119,6 +119,7 @@ export class Interactions { timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { @@ -250,6 +251,7 @@ export class Interactions { }), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { @@ -368,6 +370,7 @@ export class Interactions { ), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { @@ -470,6 +473,7 @@ export class Interactions { ), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { @@ -575,6 +579,7 @@ export class Interactions { }), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { diff --git a/src/api/resources/recordings/client/Client.ts b/src/api/resources/recordings/client/Client.ts index 72570e63..6d7162c2 100644 --- a/src/api/resources/recordings/client/Client.ts +++ b/src/api/resources/recordings/client/Client.ts @@ -84,6 +84,7 @@ export class Recordings { ), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { @@ -210,6 +211,7 @@ export class Recordings { body: _binaryUploadRequest.body, timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { @@ -329,6 +331,7 @@ export class Recordings { responseType: "binary-response", timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { @@ -447,6 +450,7 @@ export class Recordings { ), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { diff --git a/src/api/resources/templates/client/Client.ts b/src/api/resources/templates/client/Client.ts index f3fbbfd8..0a7fa20a 100644 --- a/src/api/resources/templates/client/Client.ts +++ b/src/api/resources/templates/client/Client.ts @@ -101,6 +101,7 @@ export class Templates { queryParameters: _queryParams, timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { @@ -224,6 +225,7 @@ export class Templates { queryParameters: _queryParams, timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { @@ -317,6 +319,7 @@ export class Templates { ), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { diff --git a/src/api/resources/transcripts/client/Client.ts b/src/api/resources/transcripts/client/Client.ts index 2b40ea59..d6b0ceaf 100644 --- a/src/api/resources/transcripts/client/Client.ts +++ b/src/api/resources/transcripts/client/Client.ts @@ -95,6 +95,7 @@ export class Transcripts { queryParameters: _queryParams, timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { @@ -178,7 +179,7 @@ export class Transcripts { } /** - * Create a transcript from an audio file attached, via `/recordings` endpoint, to the interaction.
Each interaction may have more than one audio file and transcript associated with it. While audio files up to 60min in total duration, or 150MB in total size, may be attached to an interaction, synchronous processing is only supported for audio files less than ~2min in duration.

If an audio file takes longer to transcribe than the 25sec synchronous processing timeout, then it will continue to process asynchronously. In this scenario, an empty transcript will be returned with a location header that can be used to retrieve the final transcript.

The client can poll the Get Transcript endpoint (`GET /interactions/{id}/transcripts/{transcriptId}/status`) for transcript status changes:
- `200 OK` with status `processing`, `completed`, or `failed`
- `404 Not Found` if the `interactionId` or `transcriptId` are invalid

The completed transcript can be retrieved via the Get Transcript endpoint (`GET /interactions/{id}/transcripts/{transcriptId}/`).
+ * Create a transcript from an audio file attached, via `/recordings` endpoint, to the interaction.
Each interaction may have more than one audio file and transcript associated with it. While audio files up to 60min in total duration, or 150MB in total size, may be attached to an interaction, synchronous processing is only supported for audio files less than ~2min in duration.

If an audio file takes longer to transcribe than the 25sec synchronous processing timeout, then it will continue to process asynchronously. In this scenario, an incomplete or empty transcript with `status=processing` will be returned with a location header that can be used to retrieve the final transcript.

The client can poll the Get Transcript endpoint (`GET /interactions/{id}/transcripts/{transcriptId}/status`) for transcript status changes:
- `200 OK` with status `processing`, `completed`, or `failed`
- `404 Not Found` if the `interactionId` or `transcriptId` are invalid

The completed transcript can be retrieved via the Get Transcript endpoint (`GET /interactions/{id}/transcripts/{transcriptId}/`).
* * @param {Corti.Uuid} id - The unique identifier of the interaction. Must be a valid UUID. * @param {Corti.TranscriptsCreateRequest} request @@ -232,6 +233,7 @@ export class Transcripts { }), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { @@ -360,6 +362,7 @@ export class Transcripts { ), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { @@ -488,6 +491,7 @@ export class Transcripts { ), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, + withCredentials: true, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { @@ -561,6 +565,96 @@ export class Transcripts { } } + /** + * Poll for transcript creation status.
Status of `completed` indicates the transcript is finalized.
If the transcript is retrieved while status is `processing`, then it will be incomplete.
Status of `failed` indicate the transcript was not created successfully; please retry.
+ * + * @param {Corti.Uuid} id - The unique identifier of the interaction. Must be a valid UUID. + * @param {Corti.Uuid} transcriptId - The unique identifier of the transcript. Must be a valid UUID. + * @param {Transcripts.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Corti.NotFoundError} + * + * @example + * await client.transcripts.getStatus("f47ac10b-58cc-4372-a567-0e02b2c3d479", "f47ac10b-58cc-4372-a567-0e02b2c3d479") + */ + public getStatus( + id: Corti.Uuid, + transcriptId: Corti.Uuid, + requestOptions?: Transcripts.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getStatus(id, transcriptId, requestOptions)); + } + + private async __getStatus( + id: Corti.Uuid, + transcriptId: Corti.Uuid, + requestOptions?: Transcripts.RequestOptions, + ): Promise> { + const _response = await core.fetcher({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)).base, + `interactions/${encodeURIComponent(serializers.Uuid.jsonOrThrow(id, { omitUndefined: true }))}/transcripts/${encodeURIComponent(serializers.Uuid.jsonOrThrow(transcriptId, { omitUndefined: true }))}/status`, + ), + method: "GET", + headers: mergeHeaders( + this._options?.headers, + mergeOnlyDefinedHeaders({ + Authorization: await this._getAuthorizationHeader(), + "Tenant-Name": requestOptions?.tenantName, + }), + requestOptions?.headers, + ), + timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, + maxRetries: requestOptions?.maxRetries, + withCredentials: true, + abortSignal: requestOptions?.abortSignal, + }); + if (_response.ok) { + return { + data: serializers.TranscriptsStatusResponse.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + switch (_response.error.statusCode) { + case 404: + throw new Corti.NotFoundError(_response.error.body, _response.rawResponse); + default: + throw new errors.CortiError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + } + + switch (_response.error.reason) { + case "non-json": + throw new errors.CortiError({ + statusCode: _response.error.statusCode, + body: _response.error.rawBody, + rawResponse: _response.rawResponse, + }); + case "timeout": + throw new errors.CortiTimeoutError( + "Timeout exceeded when calling GET /interactions/{id}/transcripts/{transcriptId}/status.", + ); + case "unknown": + throw new errors.CortiError({ + message: _response.error.errorMessage, + rawResponse: _response.rawResponse, + }); + } + } + protected async _getAuthorizationHeader(): Promise { const bearer = await core.Supplier.get(this._options.token); if (bearer != null) { diff --git a/src/api/types/AgentsCreateExpertReference.ts b/src/api/types/AgentsCreateExpertReference.ts new file mode 100644 index 00000000..8501545d --- /dev/null +++ b/src/api/types/AgentsCreateExpertReference.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * A reference to a registry expert when creating an agent, either id or name must be provided. If both are passed, the id will be used. + */ +export interface AgentsCreateExpertReference { + type: "reference"; + /** The unique identifier of the expert. */ + id?: string; + /** The name of the expert. */ + name?: string; + /** Optional. Additional system instructions appended to the default system prompt when creating an expert from the registry, extending the expert's behavior. */ + systemPrompt?: string; +} diff --git a/src/api/types/AgentsCreateMcpServer.ts b/src/api/types/AgentsCreateMcpServer.ts index c4d156d3..ccd17b1f 100644 --- a/src/api/types/AgentsCreateMcpServer.ts +++ b/src/api/types/AgentsCreateMcpServer.ts @@ -13,6 +13,8 @@ export interface AgentsCreateMcpServer { transportType: Corti.AgentsCreateMcpServerTransportType; /** Type of authorization used by the MCP server. */ authorizationType: Corti.AgentsCreateMcpServerAuthorizationType; + /** OAuth2.0 authorization scope to request. */ + authorizationScope?: string; /** URL of the MCP server. */ url: string; /** Redirect URI for OAuth2.0 authorization. */ diff --git a/src/api/types/AgentsExpertReference.ts b/src/api/types/AgentsExpertReference.ts index aed04725..42ea2eb9 100644 --- a/src/api/types/AgentsExpertReference.ts +++ b/src/api/types/AgentsExpertReference.ts @@ -3,12 +3,14 @@ */ /** - * A reference to an expert, either id or name must be provided. If both are passed, the id will be used. + * A reference to an expert returned by the API. The expert's id and name are always provided. systemPrompt is included only when a registry expert was created with a custom system prompt. */ export interface AgentsExpertReference { type: "reference"; /** The unique identifier of the expert. */ - id?: string; + id: string; /** The name of the expert. */ - name?: string; + name: string; + /** Optional. Additional system instructions appended to the default system prompt when creating an expert from the registry, extending the expert's behavior. */ + systemPrompt?: string; } diff --git a/src/api/types/AgentsMcpServer.ts b/src/api/types/AgentsMcpServer.ts index 26e10bb9..a0c5f7b4 100644 --- a/src/api/types/AgentsMcpServer.ts +++ b/src/api/types/AgentsMcpServer.ts @@ -13,6 +13,8 @@ export interface AgentsMcpServer { transportType: Corti.AgentsMcpServerTransportType; /** Type of authorization used by the MCP server. */ authorizationType: Corti.AgentsMcpServerAuthorizationType; + /** OAuth2.0 authorization scope to request. */ + authorizationScope?: string; /** URL of the MCP server. */ url: string; /** Redirect URI for OAuth2.0 authorization. */ diff --git a/src/api/types/DocumentsContextWithFacts.ts b/src/api/types/DocumentsContextWithFacts.ts index 52ef00cd..9b9a0f7e 100644 --- a/src/api/types/DocumentsContextWithFacts.ts +++ b/src/api/types/DocumentsContextWithFacts.ts @@ -7,6 +7,6 @@ import * as Corti from "../index.js"; export interface DocumentsContextWithFacts { /** The type of context data that will be used in the request: `Facts`, `Transcript`, or `String`. */ type: "facts"; - /** An array of facts. */ + /** An array of facts. See [guide](/textgen/documents-standard##generate-document-from-facts-as-input). */ data: Corti.FactsContext[]; } diff --git a/src/api/types/DocumentsContextWithTranscript.ts b/src/api/types/DocumentsContextWithTranscript.ts index e1a23830..4ad559db 100644 --- a/src/api/types/DocumentsContextWithTranscript.ts +++ b/src/api/types/DocumentsContextWithTranscript.ts @@ -7,6 +7,6 @@ import * as Corti from "../index.js"; export interface DocumentsContextWithTranscript { /** The type of context data that will be used in the request: `Facts`, `Transcript`, or `String`. */ type: "transcript"; - /** Transcript object can accept the full transcript in one string, or individual transcript segments. */ + /** The transcript `data.text` object can accept the full transcript in one string, alternatively pass each transcript segment into a `context` object - [see guide](/textgen/documents-standard#generate-document-from-transcript-as-input). */ data: Corti.CommonTranscriptRequest; } diff --git a/src/api/types/DocumentsCreateRequestWithTemplate.ts b/src/api/types/DocumentsCreateRequestWithTemplate.ts index b52285c5..943aaa0a 100644 --- a/src/api/types/DocumentsCreateRequestWithTemplate.ts +++ b/src/api/types/DocumentsCreateRequestWithTemplate.ts @@ -5,7 +5,7 @@ import * as Corti from "../index.js"; export interface DocumentsCreateRequestWithTemplate { - /** An array of context objects. Currently accepts exactly one context object to be used as input for document generation. */ + /** An array of context objects. Currently only accepts multiple objects when of type `transcript`. See [guide](/textgen/documents-standard#generate-document-from-transcript-as-input). */ context: Corti.DocumentsContext[]; /** Template details if the template should be generated during the request. */ template: Corti.DocumentsTemplate; diff --git a/src/api/types/DocumentsCreateRequestWithTemplateKey.ts b/src/api/types/DocumentsCreateRequestWithTemplateKey.ts index 2a1275b3..d7a3a94a 100644 --- a/src/api/types/DocumentsCreateRequestWithTemplateKey.ts +++ b/src/api/types/DocumentsCreateRequestWithTemplateKey.ts @@ -5,9 +5,9 @@ import * as Corti from "../index.js"; export interface DocumentsCreateRequestWithTemplateKey { - /** An array of context objects. Currently accepts exactly one context object to be used as input for document generation. */ + /** An array of context objects. Currently only accepts multiple objects when of type `transcript`. See [guide](/textgen/documents-standard#generate-document-from-transcript-as-input). */ context: Corti.DocumentsContext[]; - /** The key of the template that informs on what kind of document is to be generated. */ + /** The key of the template referencing the sections for generating a document. */ templateKey: string; /** An optional name for the document. */ name?: string; diff --git a/src/api/types/ErrorResponse.ts b/src/api/types/ErrorResponse.ts index 6de73fe9..7733d0a5 100644 --- a/src/api/types/ErrorResponse.ts +++ b/src/api/types/ErrorResponse.ts @@ -3,10 +3,9 @@ */ export interface ErrorResponse { - requestid?: string; + requestid: string; + status: number; type: string; - status?: number; - title?: string; - details?: string; - instance?: string; + detail: string; + validationErrors?: Record[]; } diff --git a/src/api/types/TranscriptsResponse.ts b/src/api/types/TranscriptsResponse.ts index 785d32b8..968063d3 100644 --- a/src/api/types/TranscriptsResponse.ts +++ b/src/api/types/TranscriptsResponse.ts @@ -12,4 +12,8 @@ export interface TranscriptsResponse { /** An array of transcripts. */ transcripts?: Corti.CommonTranscriptResponse[] | null; usageInfo: Corti.CommonUsageInfo; + /** The unique identifier for the associated recording. */ + recordingId: Corti.Uuid; + /** The current status of the transcript processing. */ + status: Corti.TranscriptsStatusEnum; } diff --git a/src/api/types/TranscriptsStatusEnum.ts b/src/api/types/TranscriptsStatusEnum.ts new file mode 100644 index 00000000..b6249578 --- /dev/null +++ b/src/api/types/TranscriptsStatusEnum.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Possible values for transcript processing status. + */ +export type TranscriptsStatusEnum = "completed" | "processing" | "failed"; +export const TranscriptsStatusEnum = { + Completed: "completed", + Processing: "processing", + Failed: "failed", +} as const; diff --git a/src/api/types/TranscriptsStatusResponse.ts b/src/api/types/TranscriptsStatusResponse.ts new file mode 100644 index 00000000..84c982a3 --- /dev/null +++ b/src/api/types/TranscriptsStatusResponse.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Corti from "../index.js"; + +export interface TranscriptsStatusResponse { + /** The current status of the transcript processing. */ + status: Corti.TranscriptsStatusEnum; +} diff --git a/src/api/types/index.ts b/src/api/types/index.ts index 84ea2a05..7dfa93b9 100644 --- a/src/api/types/index.ts +++ b/src/api/types/index.ts @@ -49,6 +49,8 @@ export * from "./TranscriptsResponse.js"; export * from "./TranscriptsListResponse.js"; export * from "./TranscriptsListItem.js"; export * from "./TranscriptsData.js"; +export * from "./TranscriptsStatusResponse.js"; +export * from "./TranscriptsStatusEnum.js"; export * from "./TemplatesSection.js"; export * from "./CommonSortingDirectionEnum.js"; export * from "./TemplatesDocumentationModeEnum.js"; @@ -143,6 +145,7 @@ export * from "./AgentsAgentExpertsItem.js"; export * from "./AgentsAgent.js"; export * from "./AgentsAgentReference.js"; export * from "./AgentsCreateExpert.js"; +export * from "./AgentsCreateExpertReference.js"; export * from "./AgentsExpert.js"; export * from "./AgentsExpertReference.js"; export * from "./AgentsAgentResponse.js"; diff --git a/src/serialization/resources/agents/client/requests/AgentsCreateAgent.ts b/src/serialization/resources/agents/client/requests/AgentsCreateAgent.ts index 624c9e7e..e3bbcf31 100644 --- a/src/serialization/resources/agents/client/requests/AgentsCreateAgent.ts +++ b/src/serialization/resources/agents/client/requests/AgentsCreateAgent.ts @@ -5,6 +5,7 @@ import * as serializers from "../../../../index.js"; import * as Corti from "../../../../../api/index.js"; import * as core from "../../../../../core/index.js"; +import { AgentsCreateAgentAgentType } from "../../types/AgentsCreateAgentAgentType.js"; import { AgentsCreateAgentExpertsItem } from "../../types/AgentsCreateAgentExpertsItem.js"; export const AgentsCreateAgent: core.serialization.Schema< @@ -12,6 +13,7 @@ export const AgentsCreateAgent: core.serialization.Schema< Omit > = core.serialization.object({ name: core.serialization.string(), + agentType: AgentsCreateAgentAgentType.optional(), systemPrompt: core.serialization.string().optional(), description: core.serialization.string(), experts: core.serialization.list(AgentsCreateAgentExpertsItem).optional(), @@ -20,6 +22,7 @@ export const AgentsCreateAgent: core.serialization.Schema< export declare namespace AgentsCreateAgent { export interface Raw { name: string; + agentType?: AgentsCreateAgentAgentType.Raw | null; systemPrompt?: string | null; description: string; experts?: AgentsCreateAgentExpertsItem.Raw[] | null; diff --git a/src/serialization/resources/agents/types/AgentsCreateAgentAgentType.ts b/src/serialization/resources/agents/types/AgentsCreateAgentAgentType.ts new file mode 100644 index 00000000..8417470d --- /dev/null +++ b/src/serialization/resources/agents/types/AgentsCreateAgentAgentType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index.js"; +import * as Corti from "../../../../api/index.js"; +import * as core from "../../../../core/index.js"; + +export const AgentsCreateAgentAgentType: core.serialization.Schema< + serializers.AgentsCreateAgentAgentType.Raw, + Corti.AgentsCreateAgentAgentType +> = core.serialization.enum_(["expert", "orchestrator", "interviewing-expert"]); + +export declare namespace AgentsCreateAgentAgentType { + export type Raw = "expert" | "orchestrator" | "interviewing-expert"; +} diff --git a/src/serialization/resources/agents/types/AgentsCreateAgentExpertsItem.ts b/src/serialization/resources/agents/types/AgentsCreateAgentExpertsItem.ts index 7c095759..b425cb04 100644 --- a/src/serialization/resources/agents/types/AgentsCreateAgentExpertsItem.ts +++ b/src/serialization/resources/agents/types/AgentsCreateAgentExpertsItem.ts @@ -6,13 +6,13 @@ import * as serializers from "../../../index.js"; import * as Corti from "../../../../api/index.js"; import * as core from "../../../../core/index.js"; import { AgentsCreateExpert } from "../../../types/AgentsCreateExpert.js"; -import { AgentsExpertReference } from "../../../types/AgentsExpertReference.js"; +import { AgentsCreateExpertReference } from "../../../types/AgentsCreateExpertReference.js"; export const AgentsCreateAgentExpertsItem: core.serialization.Schema< serializers.AgentsCreateAgentExpertsItem.Raw, Corti.AgentsCreateAgentExpertsItem -> = core.serialization.undiscriminatedUnion([AgentsCreateExpert, AgentsExpertReference]); +> = core.serialization.undiscriminatedUnion([AgentsCreateExpert, AgentsCreateExpertReference]); export declare namespace AgentsCreateAgentExpertsItem { - export type Raw = AgentsCreateExpert.Raw | AgentsExpertReference.Raw; + export type Raw = AgentsCreateExpert.Raw | AgentsCreateExpertReference.Raw; } diff --git a/src/serialization/resources/agents/types/index.ts b/src/serialization/resources/agents/types/index.ts index ef83c76b..c07005bf 100644 --- a/src/serialization/resources/agents/types/index.ts +++ b/src/serialization/resources/agents/types/index.ts @@ -1,2 +1,3 @@ +export * from "./AgentsCreateAgentAgentType.js"; export * from "./AgentsCreateAgentExpertsItem.js"; export * from "./AgentsMessageSendResponse.js"; diff --git a/src/serialization/types/AgentsCreateExpertReference.ts b/src/serialization/types/AgentsCreateExpertReference.ts new file mode 100644 index 00000000..8aef1637 --- /dev/null +++ b/src/serialization/types/AgentsCreateExpertReference.ts @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../index.js"; +import * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; + +export const AgentsCreateExpertReference: core.serialization.ObjectSchema< + serializers.AgentsCreateExpertReference.Raw, + Corti.AgentsCreateExpertReference +> = core.serialization.object({ + type: core.serialization.stringLiteral("reference"), + id: core.serialization.string().optional(), + name: core.serialization.string().optional(), + systemPrompt: core.serialization.string().optional(), +}); + +export declare namespace AgentsCreateExpertReference { + export interface Raw { + type: "reference"; + id?: string | null; + name?: string | null; + systemPrompt?: string | null; + } +} diff --git a/src/serialization/types/AgentsCreateMcpServer.ts b/src/serialization/types/AgentsCreateMcpServer.ts index 2d1eb68b..70106275 100644 --- a/src/serialization/types/AgentsCreateMcpServer.ts +++ b/src/serialization/types/AgentsCreateMcpServer.ts @@ -16,6 +16,7 @@ export const AgentsCreateMcpServer: core.serialization.ObjectSchema< description: core.serialization.string().optional(), transportType: AgentsCreateMcpServerTransportType, authorizationType: AgentsCreateMcpServerAuthorizationType, + authorizationScope: core.serialization.string().optional(), url: core.serialization.string(), redirectUrl: core.serialization.string().optional(), token: core.serialization.string().optional(), @@ -27,6 +28,7 @@ export declare namespace AgentsCreateMcpServer { description?: string | null; transportType: AgentsCreateMcpServerTransportType.Raw; authorizationType: AgentsCreateMcpServerAuthorizationType.Raw; + authorizationScope?: string | null; url: string; redirectUrl?: string | null; token?: string | null; diff --git a/src/serialization/types/AgentsExpertReference.ts b/src/serialization/types/AgentsExpertReference.ts index 2381570a..983cc6e0 100644 --- a/src/serialization/types/AgentsExpertReference.ts +++ b/src/serialization/types/AgentsExpertReference.ts @@ -11,14 +11,16 @@ export const AgentsExpertReference: core.serialization.ObjectSchema< Corti.AgentsExpertReference > = core.serialization.object({ type: core.serialization.stringLiteral("reference"), - id: core.serialization.string().optional(), - name: core.serialization.string().optional(), + id: core.serialization.string(), + name: core.serialization.string(), + systemPrompt: core.serialization.string().optional(), }); export declare namespace AgentsExpertReference { export interface Raw { type: "reference"; - id?: string | null; - name?: string | null; + id: string; + name: string; + systemPrompt?: string | null; } } diff --git a/src/serialization/types/AgentsMcpServer.ts b/src/serialization/types/AgentsMcpServer.ts index 87c641a8..7f85a4a4 100644 --- a/src/serialization/types/AgentsMcpServer.ts +++ b/src/serialization/types/AgentsMcpServer.ts @@ -14,6 +14,7 @@ export const AgentsMcpServer: core.serialization.ObjectSchema = core.serialization.object({ - requestid: core.serialization.string().optional(), + requestid: core.serialization.string(), + status: core.serialization.number(), type: core.serialization.string(), - status: core.serialization.number().optional(), - title: core.serialization.string().optional(), - details: core.serialization.string().optional(), - instance: core.serialization.string().optional(), + detail: core.serialization.string(), + validationErrors: core.serialization + .list(core.serialization.record(core.serialization.string(), core.serialization.string())) + .optional(), }); export declare namespace ErrorResponse { export interface Raw { - requestid?: string | null; + requestid: string; + status: number; type: string; - status?: number | null; - title?: string | null; - details?: string | null; - instance?: string | null; + detail: string; + validationErrors?: Record[] | null; } } diff --git a/src/serialization/types/TranscriptsResponse.ts b/src/serialization/types/TranscriptsResponse.ts index 77f1c7cc..1ff66348 100644 --- a/src/serialization/types/TranscriptsResponse.ts +++ b/src/serialization/types/TranscriptsResponse.ts @@ -9,6 +9,7 @@ import { Uuid } from "./Uuid.js"; import { TranscriptsMetadata } from "./TranscriptsMetadata.js"; import { CommonTranscriptResponse } from "./CommonTranscriptResponse.js"; import { CommonUsageInfo } from "./CommonUsageInfo.js"; +import { TranscriptsStatusEnum } from "./TranscriptsStatusEnum.js"; export const TranscriptsResponse: core.serialization.ObjectSchema< serializers.TranscriptsResponse.Raw, @@ -18,6 +19,8 @@ export const TranscriptsResponse: core.serialization.ObjectSchema< metadata: TranscriptsMetadata, transcripts: core.serialization.list(CommonTranscriptResponse).optionalNullable(), usageInfo: CommonUsageInfo, + recordingId: Uuid, + status: TranscriptsStatusEnum, }); export declare namespace TranscriptsResponse { @@ -26,5 +29,7 @@ export declare namespace TranscriptsResponse { metadata: TranscriptsMetadata.Raw; transcripts?: (CommonTranscriptResponse.Raw[] | null) | null; usageInfo: CommonUsageInfo.Raw; + recordingId: Uuid.Raw; + status: TranscriptsStatusEnum.Raw; } } diff --git a/src/serialization/types/TranscriptsStatusEnum.ts b/src/serialization/types/TranscriptsStatusEnum.ts new file mode 100644 index 00000000..e269f08d --- /dev/null +++ b/src/serialization/types/TranscriptsStatusEnum.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../index.js"; +import * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; + +export const TranscriptsStatusEnum: core.serialization.Schema< + serializers.TranscriptsStatusEnum.Raw, + Corti.TranscriptsStatusEnum +> = core.serialization.enum_(["completed", "processing", "failed"]); + +export declare namespace TranscriptsStatusEnum { + export type Raw = "completed" | "processing" | "failed"; +} diff --git a/src/serialization/types/TranscriptsStatusResponse.ts b/src/serialization/types/TranscriptsStatusResponse.ts new file mode 100644 index 00000000..4e775690 --- /dev/null +++ b/src/serialization/types/TranscriptsStatusResponse.ts @@ -0,0 +1,21 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../index.js"; +import * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import { TranscriptsStatusEnum } from "./TranscriptsStatusEnum.js"; + +export const TranscriptsStatusResponse: core.serialization.ObjectSchema< + serializers.TranscriptsStatusResponse.Raw, + Corti.TranscriptsStatusResponse +> = core.serialization.object({ + status: TranscriptsStatusEnum, +}); + +export declare namespace TranscriptsStatusResponse { + export interface Raw { + status: TranscriptsStatusEnum.Raw; + } +} diff --git a/src/serialization/types/index.ts b/src/serialization/types/index.ts index 84ea2a05..7dfa93b9 100644 --- a/src/serialization/types/index.ts +++ b/src/serialization/types/index.ts @@ -49,6 +49,8 @@ export * from "./TranscriptsResponse.js"; export * from "./TranscriptsListResponse.js"; export * from "./TranscriptsListItem.js"; export * from "./TranscriptsData.js"; +export * from "./TranscriptsStatusResponse.js"; +export * from "./TranscriptsStatusEnum.js"; export * from "./TemplatesSection.js"; export * from "./CommonSortingDirectionEnum.js"; export * from "./TemplatesDocumentationModeEnum.js"; @@ -143,6 +145,7 @@ export * from "./AgentsAgentExpertsItem.js"; export * from "./AgentsAgent.js"; export * from "./AgentsAgentReference.js"; export * from "./AgentsCreateExpert.js"; +export * from "./AgentsCreateExpertReference.js"; export * from "./AgentsExpert.js"; export * from "./AgentsExpertReference.js"; export * from "./AgentsAgentResponse.js"; diff --git a/yarn.lock b/yarn.lock index 6487f717..5845e4d2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,34 +2,34 @@ # yarn lockfile v1 -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be" - integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.28.6.tgz#72499312ec58b1e2245ba4a4f550c132be4982f7" + integrity sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q== dependencies: - "@babel/helper-validator-identifier" "^7.27.1" + "@babel/helper-validator-identifier" "^7.28.5" js-tokens "^4.0.0" picocolors "^1.1.1" -"@babel/compat-data@^7.27.2": - version "7.28.5" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.28.5.tgz#a8a4962e1567121ac0b3b487f52107443b455c7f" - integrity sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA== +"@babel/compat-data@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.28.6.tgz#103f466803fa0f059e82ccac271475470570d74c" + integrity sha512-2lfu57JtzctfIrcGMz992hyLlByuzgIk58+hhGCxjKZ3rWI82NnVLjXcaTqkI2NvlcvOskZaiZ5kjUALo3Lpxg== "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.23.9": - version "7.28.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.28.5.tgz#4c81b35e51e1b734f510c99b07dfbc7bbbb48f7e" - integrity sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw== - dependencies: - "@babel/code-frame" "^7.27.1" - "@babel/generator" "^7.28.5" - "@babel/helper-compilation-targets" "^7.27.2" - "@babel/helper-module-transforms" "^7.28.3" - "@babel/helpers" "^7.28.4" - "@babel/parser" "^7.28.5" - "@babel/template" "^7.27.2" - "@babel/traverse" "^7.28.5" - "@babel/types" "^7.28.5" + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.28.6.tgz#531bf883a1126e53501ba46eb3bb414047af507f" + integrity sha512-H3mcG6ZDLTlYfaSNi0iOKkigqMFvkTKlGUYlD8GW7nNOYRrevuA46iTypPyv+06V3fEmvvazfntkBU34L0azAw== + dependencies: + "@babel/code-frame" "^7.28.6" + "@babel/generator" "^7.28.6" + "@babel/helper-compilation-targets" "^7.28.6" + "@babel/helper-module-transforms" "^7.28.6" + "@babel/helpers" "^7.28.6" + "@babel/parser" "^7.28.6" + "@babel/template" "^7.28.6" + "@babel/traverse" "^7.28.6" + "@babel/types" "^7.28.6" "@jridgewell/remapping" "^2.3.5" convert-source-map "^2.0.0" debug "^4.1.0" @@ -37,23 +37,23 @@ json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.28.5", "@babel/generator@^7.7.2": - version "7.28.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.5.tgz#712722d5e50f44d07bc7ac9fe84438742dd61298" - integrity sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ== +"@babel/generator@^7.28.6", "@babel/generator@^7.7.2": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.6.tgz#48dcc65d98fcc8626a48f72b62e263d25fc3c3f1" + integrity sha512-lOoVRwADj8hjf7al89tvQ2a1lf53Z+7tiXMgpZJL3maQPDxh0DgLMN62B2MKUOFcoodBHLMbDM6WAbKgNy5Suw== dependencies: - "@babel/parser" "^7.28.5" - "@babel/types" "^7.28.5" + "@babel/parser" "^7.28.6" + "@babel/types" "^7.28.6" "@jridgewell/gen-mapping" "^0.3.12" "@jridgewell/trace-mapping" "^0.3.28" jsesc "^3.0.2" -"@babel/helper-compilation-targets@^7.27.2": - version "7.27.2" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz#46a0f6efab808d51d29ce96858dd10ce8732733d" - integrity sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ== +"@babel/helper-compilation-targets@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz#32c4a3f41f12ed1532179b108a4d746e105c2b25" + integrity sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA== dependencies: - "@babel/compat-data" "^7.27.2" + "@babel/compat-data" "^7.28.6" "@babel/helper-validator-option" "^7.27.1" browserslist "^4.24.0" lru-cache "^5.1.1" @@ -64,34 +64,34 @@ resolved "https://registry.yarnpkg.com/@babel/helper-globals/-/helper-globals-7.28.0.tgz#b9430df2aa4e17bc28665eadeae8aa1d985e6674" integrity sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw== -"@babel/helper-module-imports@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz#7ef769a323e2655e126673bb6d2d6913bbead204" - integrity sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w== +"@babel/helper-module-imports@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz#60632cbd6ffb70b22823187201116762a03e2d5c" + integrity sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw== dependencies: - "@babel/traverse" "^7.27.1" - "@babel/types" "^7.27.1" + "@babel/traverse" "^7.28.6" + "@babel/types" "^7.28.6" -"@babel/helper-module-transforms@^7.28.3": - version "7.28.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz#a2b37d3da3b2344fe085dab234426f2b9a2fa5f6" - integrity sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw== +"@babel/helper-module-transforms@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz#9312d9d9e56edc35aeb6e95c25d4106b50b9eb1e" + integrity sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA== dependencies: - "@babel/helper-module-imports" "^7.27.1" - "@babel/helper-validator-identifier" "^7.27.1" - "@babel/traverse" "^7.28.3" + "@babel/helper-module-imports" "^7.28.6" + "@babel/helper-validator-identifier" "^7.28.5" + "@babel/traverse" "^7.28.6" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.27.1", "@babel/helper-plugin-utils@^7.8.0": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz#ddb2f876534ff8013e6c2b299bf4d39b3c51d44c" - integrity sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw== +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.28.6", "@babel/helper-plugin-utils@^7.8.0": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz#6f13ea251b68c8532e985fd532f28741a8af9ac8" + integrity sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug== "@babel/helper-string-parser@^7.27.1": version "7.27.1" resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687" integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== -"@babel/helper-validator-identifier@^7.27.1", "@babel/helper-validator-identifier@^7.28.5": +"@babel/helper-validator-identifier@^7.28.5": version "7.28.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz#010b6938fab7cb7df74aa2bbc06aa503b8fe5fb4" integrity sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q== @@ -101,20 +101,20 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz#fa52f5b1e7db1ab049445b421c4471303897702f" integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg== -"@babel/helpers@^7.28.4": - version "7.28.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.28.4.tgz#fe07274742e95bdf7cf1443593eeb8926ab63827" - integrity sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w== +"@babel/helpers@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.28.6.tgz#fca903a313ae675617936e8998b814c415cbf5d7" + integrity sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw== dependencies: - "@babel/template" "^7.27.2" - "@babel/types" "^7.28.4" + "@babel/template" "^7.28.6" + "@babel/types" "^7.28.6" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.27.2", "@babel/parser@^7.28.5": - version "7.28.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.5.tgz#0b0225ee90362f030efd644e8034c99468893b08" - integrity sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.6.tgz#f01a8885b7fa1e56dd8a155130226cd698ef13fd" + integrity sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ== dependencies: - "@babel/types" "^7.28.5" + "@babel/types" "^7.28.6" "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" @@ -145,11 +145,11 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-import-attributes@^7.24.7": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz#34c017d54496f9b11b61474e7ea3dfd5563ffe07" - integrity sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww== + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.28.6.tgz#b71d5914665f60124e133696f17cd7669062c503" + integrity sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw== dependencies: - "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-plugin-utils" "^7.28.6" "@babel/plugin-syntax-import-meta@^7.10.4": version "7.10.4" @@ -166,11 +166,11 @@ "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-jsx@^7.7.2": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz#2f9beb5eff30fa507c5532d107daac7b888fa34c" - integrity sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w== + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.28.6.tgz#f8ca28bbd84883b5fea0e447c635b81ba73997ee" + integrity sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w== dependencies: - "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-plugin-utils" "^7.28.6" "@babel/plugin-syntax-logical-assignment-operators@^7.10.4": version "7.10.4" @@ -229,38 +229,38 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-typescript@^7.7.2": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz#5147d29066a793450f220c63fa3a9431b7e6dd18" - integrity sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ== + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.28.6.tgz#c7b2ddf1d0a811145b1de800d1abd146af92e3a2" + integrity sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A== dependencies: - "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-plugin-utils" "^7.28.6" -"@babel/template@^7.27.2", "@babel/template@^7.3.3": - version "7.27.2" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.27.2.tgz#fa78ceed3c4e7b63ebf6cb39e5852fca45f6809d" - integrity sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw== +"@babel/template@^7.28.6", "@babel/template@^7.3.3": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.28.6.tgz#0e7e56ecedb78aeef66ce7972b082fce76a23e57" + integrity sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ== dependencies: - "@babel/code-frame" "^7.27.1" - "@babel/parser" "^7.27.2" - "@babel/types" "^7.27.1" + "@babel/code-frame" "^7.28.6" + "@babel/parser" "^7.28.6" + "@babel/types" "^7.28.6" -"@babel/traverse@^7.27.1", "@babel/traverse@^7.28.3", "@babel/traverse@^7.28.5": - version "7.28.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.5.tgz#450cab9135d21a7a2ca9d2d35aa05c20e68c360b" - integrity sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ== +"@babel/traverse@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.6.tgz#871ddc79a80599a5030c53b1cc48cbe3a5583c2e" + integrity sha512-fgWX62k02qtjqdSNTAGxmKYY/7FSL9WAS1o2Hu5+I5m9T0yxZzr4cnrfXQ/MX0rIifthCSs6FKTlzYbJcPtMNg== dependencies: - "@babel/code-frame" "^7.27.1" - "@babel/generator" "^7.28.5" + "@babel/code-frame" "^7.28.6" + "@babel/generator" "^7.28.6" "@babel/helper-globals" "^7.28.0" - "@babel/parser" "^7.28.5" - "@babel/template" "^7.27.2" - "@babel/types" "^7.28.5" + "@babel/parser" "^7.28.6" + "@babel/template" "^7.28.6" + "@babel/types" "^7.28.6" debug "^4.3.1" -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.27.1", "@babel/types@^7.28.2", "@babel/types@^7.28.4", "@babel/types@^7.28.5", "@babel/types@^7.3.3": - version "7.28.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.5.tgz#10fc405f60897c35f07e85493c932c7b5ca0592b" - integrity sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA== +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.28.2", "@babel/types@^7.28.6", "@babel/types@^7.3.3": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.6.tgz#c3e9377f1b155005bcc4c46020e7e394e13089df" + integrity sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg== dependencies: "@babel/helper-string-parser" "^7.27.1" "@babel/helper-validator-identifier" "^7.28.5" @@ -719,9 +719,9 @@ integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== "@types/node@*": - version "25.0.6" - resolved "https://registry.yarnpkg.com/@types/node/-/node-25.0.6.tgz#5ca3c46f2b256b59128f433426e42d464765dab1" - integrity sha512-NNu0sjyNxpoiW3YuVFfNz7mxSQ+S4X2G28uqg2s+CzoqoQjLPsWSbsFFyztIAqt2vb8kfEAsJNepMGPTxFDx3Q== + version "25.0.10" + resolved "https://registry.yarnpkg.com/@types/node/-/node-25.0.10.tgz#4864459c3c9459376b8b75fd051315071c8213e7" + integrity sha512-zWW5KPngR/yvakJgGOmZ5vTBemDoSqF3AcV/LrO5u5wTWyEAVVh+IT39G4gtyAkh3CtTZs8aX/yRM82OfzHJRg== dependencies: undici-types "~7.16.0" @@ -1071,9 +1071,9 @@ balanced-match@^1.0.0: integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== baseline-browser-mapping@^2.9.0: - version "2.9.14" - resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.9.14.tgz#3b6af0bc032445bca04de58caa9a87cfe921cbb3" - integrity sha512-B0xUquLkiGLgHhpPBqvl7GWegWBUNuujQ6kXd/r1U38ElPT6Ok8KZ8e+FpUGEc2ZoRQUzq/aUnaKFc/svWUGSg== + version "2.9.18" + resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.9.18.tgz#c8281693035a9261b10d662a5379650a6c2d1ff7" + integrity sha512-e23vBV1ZLfjb9apvfPk4rHVu2ry6RIr2Wfs+O324okSidrX7pTAnEJPCh/O5BtRlr7QtZI7ktOP3vsqr7Z5XoA== brace-expansion@^1.1.7: version "1.1.12" @@ -1144,9 +1144,9 @@ camelcase@^6.2.0: integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== caniuse-lite@^1.0.30001759: - version "1.0.30001764" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001764.tgz#03206c56469f236103b90f9ae10bcb8b9e1f6005" - integrity sha512-9JGuzl2M+vPL+pz70gtMF9sHdMFbY9FJaQBi186cHKH3pSzDvzoUJUPV6fqiKIMyXbud9ZLg4F3Yza1vJ1+93g== + version "1.0.30001766" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001766.tgz#b6f6b55cb25a2d888d9393104d14751c6a7d6f7a" + integrity sha512-4C0lfJ0/YPjJQHagaE9x2Elb69CIqEPZeG0anQt9SIvIoOH4a4uaRl73IavyO+0qZh6MDLH//DrXThEYKHkmYA== chalk@^4.0.0, chalk@^4.1.0: version "4.1.2" @@ -1341,9 +1341,9 @@ dunder-proto@^1.0.1: gopd "^1.2.0" electron-to-chromium@^1.5.263: - version "1.5.267" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz#5d84f2df8cdb6bfe7e873706bb21bd4bfb574dc7" - integrity sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw== + version "1.5.279" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.279.tgz#67dfdeb22fd81412d0d18d1d9b2c749e9b8945cb" + integrity sha512-0bblUU5UNdOt5G7XqGiJtpZMONma6WAfq9vsFmtn9x1+joAObr6x1chfqyxFSDCAFwFhCQDrqeAr6MYdpwJ9Hg== emittery@^0.13.1: version "0.13.1" @@ -2578,9 +2578,9 @@ pkg-dir@^4.2.0: find-up "^4.0.0" prettier@^3.4.2: - version "3.7.4" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.7.4.tgz#d2f8335d4b1cec47e1c8098645411b0c9dff9c0f" - integrity sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA== + version "3.8.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.8.1.tgz#edf48977cf991558f4fcbd8a3ba6015ba2a3a173" + integrity sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg== pretty-format@^29.0.0, pretty-format@^29.7.0: version "29.7.0" @@ -2888,9 +2888,9 @@ terser-webpack-plugin@^5.3.16: terser "^5.31.1" terser@^5.31.1: - version "5.44.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.44.1.tgz#e391e92175c299b8c284ad6ded609e37303b0a9c" - integrity sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw== + version "5.46.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.46.0.tgz#1b81e560d584bbdd74a8ede87b4d9477b0ff9695" + integrity sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.15.0" @@ -2996,9 +2996,9 @@ type-fest@^4.41.0: integrity sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA== type-fest@^5.2.0: - version "5.3.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-5.3.1.tgz#251b8d0a813c1dbccf1f9450ba5adcdf7072adc2" - integrity sha512-VCn+LMHbd4t6sF3wfU/+HKT63C9OoyrSIf4b+vtWHpt2U7/4InZG467YDNMFMR70DdHjAdpPWmw2lzRdg0Xqqg== + version "5.4.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-5.4.1.tgz#aa9eaadcdc0acb0b5bd52e54f966ee3e38e125d2" + integrity sha512-xygQcmneDyzsEuKZrFbRMne5HDqMs++aFzefrJTgEIKjQ3rekM+RPfFCVq2Gp1VIDqddoYeppCj4Pcb+RZW0GQ== dependencies: tagged-tag "^1.0.0" @@ -3072,9 +3072,9 @@ walker@^1.0.8: makeerror "1.0.12" watchpack@^2.4.4: - version "2.5.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.5.0.tgz#fa115d5ccaa4bf3aa594f586257c0bc4768939fd" - integrity sha512-e6vZvY6xboSwLz2GD36c16+O/2Z6fKvIf4pOXptw2rY9MVwE/TXc6RGqxD3I3x0a28lwBY7DE+76uTPSsBrrCA== + version "2.5.1" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.5.1.tgz#dd38b601f669e0cbf567cb802e75cead82cde102" + integrity sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg== dependencies: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" From 4315be97778419bcb2adf8b696208783afdcc1e5 Mon Sep 17 00:00:00 2001 From: markitosha Date: Wed, 28 Jan 2026 11:09:36 +0100 Subject: [PATCH 2/9] feat: add environment resolution utility export to SDK --- src/index.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/index.ts b/src/index.ts index 1d7dcca5..19219175 100644 --- a/src/index.ts +++ b/src/index.ts @@ -24,3 +24,7 @@ export { ParseError } from "./core/schemas/builders/schema-utils/ParseError.js"; * Patch: added new export to provide SDK-level error handling. */ export { CortiSDKError } from "./custom/CortiSDKError.js"; +/** + * Patch: added new export to expose environment resolution utility. + */ +export { getEnvironment } from "./custom/utils/getEnvironmentFromString.js"; From 6d8657e19e545ed6e05dc84bf568a2f7dc684332 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Wed, 28 Jan 2026 10:10:59 +0000 Subject: [PATCH 3/9] SDK regeneration --- package.json | 2 +- src/Client.ts | 4 ++-- src/version.ts | 2 +- yarn.lock | 6 +++--- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 0eb43fb0..4151757c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@corti/sdk", - "version": "0.9.0", + "version": "0.10.0-rc.1", "private": false, "repository": "github:corticph/corti-sdk-javascript", "license": "MIT", diff --git a/src/Client.ts b/src/Client.ts index a57daa0b..5da83d12 100644 --- a/src/Client.ts +++ b/src/Client.ts @@ -65,8 +65,8 @@ export class CortiClient { "Tenant-Name": _options?.tenantName, "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "@corti/sdk", - "X-Fern-SDK-Version": "0.9.0", - "User-Agent": "@corti/sdk/0.9.0", + "X-Fern-SDK-Version": "0.10.0-rc.1", + "User-Agent": "@corti/sdk/0.10.0-rc.1", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, diff --git a/src/version.ts b/src/version.ts index 1c0f4e92..99e5eda8 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1 +1 @@ -export const SDK_VERSION = "0.9.0"; +export const SDK_VERSION = "0.10.0-rc.1"; diff --git a/yarn.lock b/yarn.lock index 5845e4d2..7e4a57d0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2996,9 +2996,9 @@ type-fest@^4.41.0: integrity sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA== type-fest@^5.2.0: - version "5.4.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-5.4.1.tgz#aa9eaadcdc0acb0b5bd52e54f966ee3e38e125d2" - integrity sha512-xygQcmneDyzsEuKZrFbRMne5HDqMs++aFzefrJTgEIKjQ3rekM+RPfFCVq2Gp1VIDqddoYeppCj4Pcb+RZW0GQ== + version "5.4.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-5.4.2.tgz#7fb42d949a9956f77dff2a6157c935b40904c5c9" + integrity sha512-FLEenlVYf7Zcd34ISMLo3ZzRE1gRjY1nMDTp+bQRBiPsaKyIW8K3Zr99ioHDUgA9OGuGGJPyYpNcffGmBhJfGg== dependencies: tagged-tag "^1.0.0" From 99d66bbf7ab33b0969c4abd5afd0af1d918fc613 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Wed, 28 Jan 2026 10:13:58 +0000 Subject: [PATCH 4/9] SDK regeneration --- src/Client.ts | 76 ++++++++++++++++++- src/api/resources/agents/client/Client.ts | 4 +- src/api/resources/auth/client/Client.ts | 4 +- src/api/resources/documents/client/Client.ts | 4 +- src/api/resources/facts/client/Client.ts | 4 +- .../resources/interactions/client/Client.ts | 4 +- src/api/resources/recordings/client/Client.ts | 4 +- src/api/resources/stream/client/Client.ts | 2 +- src/api/resources/templates/client/Client.ts | 4 +- src/api/resources/transcribe/client/Client.ts | 2 +- .../resources/transcripts/client/Client.ts | 4 +- 11 files changed, 91 insertions(+), 21 deletions(-) diff --git a/src/Client.ts b/src/Client.ts index 5da83d12..b62f72b7 100644 --- a/src/Client.ts +++ b/src/Client.ts @@ -5,7 +5,8 @@ import * as environments from "./environments.js"; import * as core from "./core/index.js"; import { Auth } from "./api/resources/auth/client/Client.js"; -import { mergeHeaders } from "./core/headers.js"; +import { mergeHeaders, mergeOnlyDefinedHeaders } from "./core/headers.js"; +import * as errors from "./errors/index.js"; import { Interactions } from "./api/resources/interactions/client/Client.js"; import { Recordings } from "./api/resources/recordings/client/Client.js"; import { Transcripts } from "./api/resources/transcripts/client/Client.js"; @@ -24,7 +25,7 @@ export declare namespace CortiClient { clientId: core.Supplier; clientSecret: core.Supplier; /** Override the Tenant-Name header */ - tenantName: core.Supplier; + tenantName?: core.Supplier; /** Additional headers to include in requests. */ headers?: Record | undefined>; } @@ -37,7 +38,7 @@ export declare namespace CortiClient { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the Tenant-Name header */ - tenantName?: string; + tenantName?: string | undefined; /** Additional headers to include in the request. */ headers?: Record | undefined>; } @@ -153,4 +154,73 @@ export class CortiClient { token: async () => await this._oauthTokenProvider.getToken(), })); } + + /** + * @param {CortiClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @example + * await client.postToolsCoding() + */ + public postToolsCoding(requestOptions?: CortiClient.RequestOptions): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__postToolsCoding(requestOptions)); + } + + private async __postToolsCoding(requestOptions?: CortiClient.RequestOptions): Promise> { + const _response = await core.fetcher({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)).base, + "tools/coding", + ), + method: "POST", + headers: mergeHeaders( + this._options?.headers, + mergeOnlyDefinedHeaders({ + Authorization: await this._getAuthorizationHeader(), + "Tenant-Name": requestOptions?.tenantName, + }), + requestOptions?.headers, + ), + timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, + maxRetries: requestOptions?.maxRetries, + withCredentials: true, + abortSignal: requestOptions?.abortSignal, + }); + if (_response.ok) { + return { data: undefined, rawResponse: _response.rawResponse }; + } + + if (_response.error.reason === "status-code") { + throw new errors.CortiError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + switch (_response.error.reason) { + case "non-json": + throw new errors.CortiError({ + statusCode: _response.error.statusCode, + body: _response.error.rawBody, + rawResponse: _response.rawResponse, + }); + case "timeout": + throw new errors.CortiTimeoutError("Timeout exceeded when calling POST /tools/coding."); + case "unknown": + throw new errors.CortiError({ + message: _response.error.errorMessage, + rawResponse: _response.rawResponse, + }); + } + } + + protected async _getAuthorizationHeader(): Promise { + const bearer = await core.Supplier.get(this._options.token); + if (bearer != null) { + return `Bearer ${bearer}`; + } + + return undefined; + } } diff --git a/src/api/resources/agents/client/Client.ts b/src/api/resources/agents/client/Client.ts index 5260a1f8..4efc85ee 100644 --- a/src/api/resources/agents/client/Client.ts +++ b/src/api/resources/agents/client/Client.ts @@ -16,7 +16,7 @@ export declare namespace Agents { baseUrl?: core.Supplier; token?: core.Supplier; /** Override the Tenant-Name header */ - tenantName: core.Supplier; + tenantName?: core.Supplier; /** Additional headers to include in requests. */ headers?: Record | undefined>; } @@ -29,7 +29,7 @@ export declare namespace Agents { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the Tenant-Name header */ - tenantName?: string; + tenantName?: string | undefined; /** Additional headers to include in the request. */ headers?: Record | undefined>; } diff --git a/src/api/resources/auth/client/Client.ts b/src/api/resources/auth/client/Client.ts index 1993c848..23e8a0c4 100644 --- a/src/api/resources/auth/client/Client.ts +++ b/src/api/resources/auth/client/Client.ts @@ -16,7 +16,7 @@ export declare namespace Auth { baseUrl?: core.Supplier; token?: core.Supplier; /** Override the Tenant-Name header */ - tenantName: core.Supplier; + tenantName?: core.Supplier; /** Additional headers to include in requests. */ headers?: Record | undefined>; } @@ -29,7 +29,7 @@ export declare namespace Auth { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the Tenant-Name header */ - tenantName?: string; + tenantName?: string | undefined; /** Additional headers to include in the request. */ headers?: Record | undefined>; } diff --git a/src/api/resources/documents/client/Client.ts b/src/api/resources/documents/client/Client.ts index e7104030..2cc5eac4 100644 --- a/src/api/resources/documents/client/Client.ts +++ b/src/api/resources/documents/client/Client.ts @@ -16,7 +16,7 @@ export declare namespace Documents { baseUrl?: core.Supplier; token?: core.Supplier; /** Override the Tenant-Name header */ - tenantName: core.Supplier; + tenantName?: core.Supplier; /** Additional headers to include in requests. */ headers?: Record | undefined>; } @@ -29,7 +29,7 @@ export declare namespace Documents { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the Tenant-Name header */ - tenantName?: string; + tenantName?: string | undefined; /** Additional headers to include in the request. */ headers?: Record | undefined>; } diff --git a/src/api/resources/facts/client/Client.ts b/src/api/resources/facts/client/Client.ts index 2dd14011..350cffd0 100644 --- a/src/api/resources/facts/client/Client.ts +++ b/src/api/resources/facts/client/Client.ts @@ -16,7 +16,7 @@ export declare namespace Facts { baseUrl?: core.Supplier; token?: core.Supplier; /** Override the Tenant-Name header */ - tenantName: core.Supplier; + tenantName?: core.Supplier; /** Additional headers to include in requests. */ headers?: Record | undefined>; } @@ -29,7 +29,7 @@ export declare namespace Facts { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the Tenant-Name header */ - tenantName?: string; + tenantName?: string | undefined; /** Additional headers to include in the request. */ headers?: Record | undefined>; } diff --git a/src/api/resources/interactions/client/Client.ts b/src/api/resources/interactions/client/Client.ts index 22876be5..75df0513 100644 --- a/src/api/resources/interactions/client/Client.ts +++ b/src/api/resources/interactions/client/Client.ts @@ -16,7 +16,7 @@ export declare namespace Interactions { baseUrl?: core.Supplier; token?: core.Supplier; /** Override the Tenant-Name header */ - tenantName: core.Supplier; + tenantName?: core.Supplier; /** Additional headers to include in requests. */ headers?: Record | undefined>; } @@ -29,7 +29,7 @@ export declare namespace Interactions { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the Tenant-Name header */ - tenantName?: string; + tenantName?: string | undefined; /** Additional headers to include in the request. */ headers?: Record | undefined>; } diff --git a/src/api/resources/recordings/client/Client.ts b/src/api/resources/recordings/client/Client.ts index 6d7162c2..7797e6cc 100644 --- a/src/api/resources/recordings/client/Client.ts +++ b/src/api/resources/recordings/client/Client.ts @@ -16,7 +16,7 @@ export declare namespace Recordings { baseUrl?: core.Supplier; token?: core.Supplier; /** Override the Tenant-Name header */ - tenantName: core.Supplier; + tenantName?: core.Supplier; /** Additional headers to include in requests. */ headers?: Record | undefined>; } @@ -29,7 +29,7 @@ export declare namespace Recordings { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the Tenant-Name header */ - tenantName?: string; + tenantName?: string | undefined; /** Additional headers to include in the request. */ headers?: Record | undefined>; } diff --git a/src/api/resources/stream/client/Client.ts b/src/api/resources/stream/client/Client.ts index ab27d87b..bafa703a 100644 --- a/src/api/resources/stream/client/Client.ts +++ b/src/api/resources/stream/client/Client.ts @@ -13,7 +13,7 @@ export declare namespace Stream { baseUrl?: core.Supplier; token?: core.Supplier; /** Override the Tenant-Name header */ - tenantName: core.Supplier; + tenantName?: core.Supplier; /** Additional headers to include in requests. */ headers?: Record | undefined>; } diff --git a/src/api/resources/templates/client/Client.ts b/src/api/resources/templates/client/Client.ts index 0a7fa20a..ecee39df 100644 --- a/src/api/resources/templates/client/Client.ts +++ b/src/api/resources/templates/client/Client.ts @@ -16,7 +16,7 @@ export declare namespace Templates { baseUrl?: core.Supplier; token?: core.Supplier; /** Override the Tenant-Name header */ - tenantName: core.Supplier; + tenantName?: core.Supplier; /** Additional headers to include in requests. */ headers?: Record | undefined>; } @@ -29,7 +29,7 @@ export declare namespace Templates { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the Tenant-Name header */ - tenantName?: string; + tenantName?: string | undefined; /** Additional headers to include in the request. */ headers?: Record | undefined>; } diff --git a/src/api/resources/transcribe/client/Client.ts b/src/api/resources/transcribe/client/Client.ts index 52ef7f80..12f3dbdc 100644 --- a/src/api/resources/transcribe/client/Client.ts +++ b/src/api/resources/transcribe/client/Client.ts @@ -13,7 +13,7 @@ export declare namespace Transcribe { baseUrl?: core.Supplier; token?: core.Supplier; /** Override the Tenant-Name header */ - tenantName: core.Supplier; + tenantName?: core.Supplier; /** Additional headers to include in requests. */ headers?: Record | undefined>; } diff --git a/src/api/resources/transcripts/client/Client.ts b/src/api/resources/transcripts/client/Client.ts index d6b0ceaf..20c9dbc7 100644 --- a/src/api/resources/transcripts/client/Client.ts +++ b/src/api/resources/transcripts/client/Client.ts @@ -16,7 +16,7 @@ export declare namespace Transcripts { baseUrl?: core.Supplier; token?: core.Supplier; /** Override the Tenant-Name header */ - tenantName: core.Supplier; + tenantName?: core.Supplier; /** Additional headers to include in requests. */ headers?: Record | undefined>; } @@ -29,7 +29,7 @@ export declare namespace Transcripts { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the Tenant-Name header */ - tenantName?: string; + tenantName?: string | undefined; /** Additional headers to include in the request. */ headers?: Record | undefined>; } From 171d825bf429af4ebb0ad9d659cda9b33040ee18 Mon Sep 17 00:00:00 2001 From: markitosha Date: Wed, 28 Jan 2026 11:42:50 +0100 Subject: [PATCH 5/9] feat: add Codes client import and getter to CortiClient --- src/custom/CortiClient.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/custom/CortiClient.ts b/src/custom/CortiClient.ts index 57ad080d..cfa5f37b 100644 --- a/src/custom/CortiClient.ts +++ b/src/custom/CortiClient.ts @@ -29,6 +29,7 @@ import { Facts } from "../api/resources/facts/client/Client.js"; import { Documents } from "../api/resources/documents/client/Client.js"; import { Templates } from "../api/resources/templates/client/Client.js"; import { Agents } from "../api/resources/agents/client/Client.js"; +import { Codes } from "./api/resources/codes/client/Client.js"; /** * Patch: changed import to custom Stream and Transcribe implementations @@ -161,6 +162,7 @@ export class CortiClient { */ protected _stream: Stream | undefined; protected _transcribe: Transcribe | undefined; + protected _codes: Codes | undefined; constructor(_options: CortiClient.Options) { /** @@ -280,6 +282,13 @@ export class CortiClient { })); } + public get codes(): Codes { + return (this._codes ??= new Codes({ + ...this._options, + token: async () => await this._oauthTokenProvider.getToken(), + })); + } + /** * Patch: removed `auth` getter */ From 32d31f56bd0ff212e1cb23e8b26dde572a86b33a Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Wed, 28 Jan 2026 10:43:49 +0000 Subject: [PATCH 6/9] SDK regeneration --- src/Client.ts | 85 ++------ src/api/errors/BadGatewayError.ts | 19 ++ src/api/errors/index.ts | 1 + src/api/resources/agents/client/Client.ts | 4 +- src/api/resources/auth/client/Client.ts | 4 +- src/api/resources/codes/client/Client.ts | 199 ++++++++++++++++++ src/api/resources/codes/client/index.ts | 2 + .../requests/CodesGeneralPredictRequest.ts | 25 +++ .../resources/codes/client/requests/index.ts | 1 + src/api/resources/codes/index.ts | 1 + src/api/resources/documents/client/Client.ts | 4 +- src/api/resources/facts/client/Client.ts | 4 +- src/api/resources/index.ts | 2 + .../resources/interactions/client/Client.ts | 4 +- src/api/resources/recordings/client/Client.ts | 4 +- src/api/resources/stream/client/Client.ts | 2 +- src/api/resources/templates/client/Client.ts | 4 +- src/api/resources/transcribe/client/Client.ts | 2 +- .../resources/transcripts/client/Client.ts | 4 +- src/api/types/CodesGeneralReadResponse.ts | 19 ++ .../CodesGeneralReadResponseEvidencesItem.ts | 10 + src/api/types/CodesGeneralResponse.ts | 13 ++ src/api/types/CommonAiContext.ts | 7 + src/api/types/CommonCodingSystemEnum.ts | 10 + src/api/types/CommonDocumentIdContext.ts | 10 + src/api/types/index.ts | 6 + .../resources/codes/client/index.ts | 1 + .../requests/CodesGeneralPredictRequest.ts | 26 +++ .../resources/codes/client/requests/index.ts | 1 + src/serialization/resources/codes/index.ts | 1 + src/serialization/resources/index.ts | 2 + .../types/CodesGeneralReadResponse.ts | 28 +++ .../CodesGeneralReadResponseEvidencesItem.ts | 22 ++ .../types/CodesGeneralResponse.ts | 26 +++ src/serialization/types/CommonAiContext.ts | 16 ++ .../types/CommonCodingSystemEnum.ts | 16 ++ .../types/CommonDocumentIdContext.ts | 22 ++ src/serialization/types/index.ts | 6 + 38 files changed, 522 insertions(+), 91 deletions(-) create mode 100644 src/api/errors/BadGatewayError.ts create mode 100644 src/api/resources/codes/client/Client.ts create mode 100644 src/api/resources/codes/client/index.ts create mode 100644 src/api/resources/codes/client/requests/CodesGeneralPredictRequest.ts create mode 100644 src/api/resources/codes/client/requests/index.ts create mode 100644 src/api/resources/codes/index.ts create mode 100644 src/api/types/CodesGeneralReadResponse.ts create mode 100644 src/api/types/CodesGeneralReadResponseEvidencesItem.ts create mode 100644 src/api/types/CodesGeneralResponse.ts create mode 100644 src/api/types/CommonAiContext.ts create mode 100644 src/api/types/CommonCodingSystemEnum.ts create mode 100644 src/api/types/CommonDocumentIdContext.ts create mode 100644 src/serialization/resources/codes/client/index.ts create mode 100644 src/serialization/resources/codes/client/requests/CodesGeneralPredictRequest.ts create mode 100644 src/serialization/resources/codes/client/requests/index.ts create mode 100644 src/serialization/resources/codes/index.ts create mode 100644 src/serialization/types/CodesGeneralReadResponse.ts create mode 100644 src/serialization/types/CodesGeneralReadResponseEvidencesItem.ts create mode 100644 src/serialization/types/CodesGeneralResponse.ts create mode 100644 src/serialization/types/CommonAiContext.ts create mode 100644 src/serialization/types/CommonCodingSystemEnum.ts create mode 100644 src/serialization/types/CommonDocumentIdContext.ts diff --git a/src/Client.ts b/src/Client.ts index b62f72b7..c3a3f333 100644 --- a/src/Client.ts +++ b/src/Client.ts @@ -5,14 +5,14 @@ import * as environments from "./environments.js"; import * as core from "./core/index.js"; import { Auth } from "./api/resources/auth/client/Client.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "./core/headers.js"; -import * as errors from "./errors/index.js"; +import { mergeHeaders } from "./core/headers.js"; import { Interactions } from "./api/resources/interactions/client/Client.js"; import { Recordings } from "./api/resources/recordings/client/Client.js"; import { Transcripts } from "./api/resources/transcripts/client/Client.js"; import { Facts } from "./api/resources/facts/client/Client.js"; import { Documents } from "./api/resources/documents/client/Client.js"; import { Templates } from "./api/resources/templates/client/Client.js"; +import { Codes } from "./api/resources/codes/client/Client.js"; import { Agents } from "./api/resources/agents/client/Client.js"; import { Stream } from "./api/resources/stream/client/Client.js"; import { Transcribe } from "./api/resources/transcribe/client/Client.js"; @@ -25,7 +25,7 @@ export declare namespace CortiClient { clientId: core.Supplier; clientSecret: core.Supplier; /** Override the Tenant-Name header */ - tenantName?: core.Supplier; + tenantName: core.Supplier; /** Additional headers to include in requests. */ headers?: Record | undefined>; } @@ -38,7 +38,7 @@ export declare namespace CortiClient { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the Tenant-Name header */ - tenantName?: string | undefined; + tenantName?: string; /** Additional headers to include in the request. */ headers?: Record | undefined>; } @@ -53,6 +53,7 @@ export class CortiClient { protected _facts: Facts | undefined; protected _documents: Documents | undefined; protected _templates: Templates | undefined; + protected _codes: Codes | undefined; protected _auth: Auth | undefined; protected _agents: Agents | undefined; protected _stream: Stream | undefined; @@ -127,6 +128,13 @@ export class CortiClient { })); } + public get codes(): Codes { + return (this._codes ??= new Codes({ + ...this._options, + token: async () => await this._oauthTokenProvider.getToken(), + })); + } + public get auth(): Auth { return (this._auth ??= new Auth({ ...this._options, @@ -154,73 +162,4 @@ export class CortiClient { token: async () => await this._oauthTokenProvider.getToken(), })); } - - /** - * @param {CortiClient.RequestOptions} requestOptions - Request-specific configuration. - * - * @example - * await client.postToolsCoding() - */ - public postToolsCoding(requestOptions?: CortiClient.RequestOptions): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__postToolsCoding(requestOptions)); - } - - private async __postToolsCoding(requestOptions?: CortiClient.RequestOptions): Promise> { - const _response = await core.fetcher({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)).base, - "tools/coding", - ), - method: "POST", - headers: mergeHeaders( - this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Tenant-Name": requestOptions?.tenantName, - }), - requestOptions?.headers, - ), - timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, - maxRetries: requestOptions?.maxRetries, - withCredentials: true, - abortSignal: requestOptions?.abortSignal, - }); - if (_response.ok) { - return { data: undefined, rawResponse: _response.rawResponse }; - } - - if (_response.error.reason === "status-code") { - throw new errors.CortiError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - - switch (_response.error.reason) { - case "non-json": - throw new errors.CortiError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.CortiTimeoutError("Timeout exceeded when calling POST /tools/coding."); - case "unknown": - throw new errors.CortiError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = await core.Supplier.get(this._options.token); - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; - } } diff --git a/src/api/errors/BadGatewayError.ts b/src/api/errors/BadGatewayError.ts new file mode 100644 index 00000000..93c6cd52 --- /dev/null +++ b/src/api/errors/BadGatewayError.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as errors from "../../errors/index.js"; +import * as Corti from "../index.js"; +import * as core from "../../core/index.js"; + +export class BadGatewayError extends errors.CortiError { + constructor(body: Corti.ErrorResponse, rawResponse?: core.RawResponse) { + super({ + message: "BadGatewayError", + statusCode: 502, + body: body, + rawResponse: rawResponse, + }); + Object.setPrototypeOf(this, BadGatewayError.prototype); + } +} diff --git a/src/api/errors/index.ts b/src/api/errors/index.ts index 3a7a4db2..cfb88dde 100644 --- a/src/api/errors/index.ts +++ b/src/api/errors/index.ts @@ -4,3 +4,4 @@ export * from "./BadRequestError.js"; export * from "./InternalServerError.js"; export * from "./NotFoundError.js"; export * from "./UnauthorizedError.js"; +export * from "./BadGatewayError.js"; diff --git a/src/api/resources/agents/client/Client.ts b/src/api/resources/agents/client/Client.ts index 4efc85ee..5260a1f8 100644 --- a/src/api/resources/agents/client/Client.ts +++ b/src/api/resources/agents/client/Client.ts @@ -16,7 +16,7 @@ export declare namespace Agents { baseUrl?: core.Supplier; token?: core.Supplier; /** Override the Tenant-Name header */ - tenantName?: core.Supplier; + tenantName: core.Supplier; /** Additional headers to include in requests. */ headers?: Record | undefined>; } @@ -29,7 +29,7 @@ export declare namespace Agents { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the Tenant-Name header */ - tenantName?: string | undefined; + tenantName?: string; /** Additional headers to include in the request. */ headers?: Record | undefined>; } diff --git a/src/api/resources/auth/client/Client.ts b/src/api/resources/auth/client/Client.ts index 23e8a0c4..1993c848 100644 --- a/src/api/resources/auth/client/Client.ts +++ b/src/api/resources/auth/client/Client.ts @@ -16,7 +16,7 @@ export declare namespace Auth { baseUrl?: core.Supplier; token?: core.Supplier; /** Override the Tenant-Name header */ - tenantName?: core.Supplier; + tenantName: core.Supplier; /** Additional headers to include in requests. */ headers?: Record | undefined>; } @@ -29,7 +29,7 @@ export declare namespace Auth { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the Tenant-Name header */ - tenantName?: string | undefined; + tenantName?: string; /** Additional headers to include in the request. */ headers?: Record | undefined>; } diff --git a/src/api/resources/codes/client/Client.ts b/src/api/resources/codes/client/Client.ts new file mode 100644 index 00000000..abb9ee08 --- /dev/null +++ b/src/api/resources/codes/client/Client.ts @@ -0,0 +1,199 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as environments from "../../../../environments.js"; +import * as core from "../../../../core/index.js"; +import * as Corti from "../../../index.js"; +import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import * as serializers from "../../../../serialization/index.js"; +import * as errors from "../../../../errors/index.js"; + +export declare namespace Codes { + export interface Options { + environment: core.Supplier; + /** Specify a custom URL to connect the client to. */ + baseUrl?: core.Supplier; + token?: core.Supplier; + /** Override the Tenant-Name header */ + tenantName: core.Supplier; + /** Additional headers to include in requests. */ + headers?: Record | undefined>; + } + + export interface RequestOptions { + /** The maximum time to wait for a response in seconds. */ + timeoutInSeconds?: number; + /** The number of times to retry the request. Defaults to 2. */ + maxRetries?: number; + /** A hook to abort the request. */ + abortSignal?: AbortSignal; + /** Override the Tenant-Name header */ + tenantName?: string; + /** Additional headers to include in the request. */ + headers?: Record | undefined>; + } +} + +export class Codes { + protected readonly _options: Codes.Options; + + constructor(_options: Codes.Options) { + this._options = _options; + } + + /** + * Predict medical codes from provided context.
This is a stateless endpoint, designed to predict ICD-10-CM, ICD-10-PCS, and CPT codes based on input text string or documentId.

More than one code system may be defined in a single request, and the maximum number of codes to return per system can also be defined.

Code prediction requests have two possible values for context:
- `text`: One set of code prediction results will be returned based on all input text defined.
- `documentId`: Code prediction will be based on that defined document only.

The response includes two sets of results:
- `Codes`: Highest confidence bundle of codes, as selected by the code prediction model
- `Candidates`: Full list of candidate codes as predicted by the model, rank sorted by model confidence with maximum possible value of 50.

All predicted code results are based on input context defined in the request only (not other external data or assets associated with an interaction).
+ * + * @param {Corti.CodesGeneralPredictRequest} request + * @param {Codes.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Corti.BadRequestError} + * @throws {@link Corti.ForbiddenError} + * @throws {@link Corti.InternalServerError} + * @throws {@link Corti.BadGatewayError} + * @throws {@link Corti.GatewayTimeoutError} + * + * @example + * await client.codes.predict({ + * system: ["icd10cm", "cpt"], + * context: [{ + * type: "text", + * text: "Short arm splint applied in ED for pain control." + * }], + * maxCandidates: 5 + * }) + */ + public predict( + request: Corti.CodesGeneralPredictRequest, + requestOptions?: Codes.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__predict(request, requestOptions)); + } + + private async __predict( + request: Corti.CodesGeneralPredictRequest, + requestOptions?: Codes.RequestOptions, + ): Promise> { + const _response = await core.fetcher({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)).base, + "tools/coding/", + ), + method: "POST", + headers: mergeHeaders( + this._options?.headers, + mergeOnlyDefinedHeaders({ + Authorization: await this._getAuthorizationHeader(), + "Tenant-Name": requestOptions?.tenantName, + }), + requestOptions?.headers, + ), + contentType: "application/json", + requestType: "json", + body: serializers.CodesGeneralPredictRequest.jsonOrThrow(request, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }), + timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, + maxRetries: requestOptions?.maxRetries, + withCredentials: true, + abortSignal: requestOptions?.abortSignal, + }); + if (_response.ok) { + return { + data: serializers.CodesGeneralResponse.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + switch (_response.error.statusCode) { + case 400: + throw new Corti.BadRequestError(_response.error.body, _response.rawResponse); + case 403: + throw new Corti.ForbiddenError( + serializers.ErrorResponse.parseOrThrow(_response.error.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + _response.rawResponse, + ); + case 500: + throw new Corti.InternalServerError( + serializers.ErrorResponse.parseOrThrow(_response.error.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + _response.rawResponse, + ); + case 502: + throw new Corti.BadGatewayError( + serializers.ErrorResponse.parseOrThrow(_response.error.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + _response.rawResponse, + ); + case 504: + throw new Corti.GatewayTimeoutError( + serializers.ErrorResponse.parseOrThrow(_response.error.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + _response.rawResponse, + ); + default: + throw new errors.CortiError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + } + + switch (_response.error.reason) { + case "non-json": + throw new errors.CortiError({ + statusCode: _response.error.statusCode, + body: _response.error.rawBody, + rawResponse: _response.rawResponse, + }); + case "timeout": + throw new errors.CortiTimeoutError("Timeout exceeded when calling POST /tools/coding/."); + case "unknown": + throw new errors.CortiError({ + message: _response.error.errorMessage, + rawResponse: _response.rawResponse, + }); + } + } + + protected async _getAuthorizationHeader(): Promise { + const bearer = await core.Supplier.get(this._options.token); + if (bearer != null) { + return `Bearer ${bearer}`; + } + + return undefined; + } +} diff --git a/src/api/resources/codes/client/index.ts b/src/api/resources/codes/client/index.ts new file mode 100644 index 00000000..82648c6f --- /dev/null +++ b/src/api/resources/codes/client/index.ts @@ -0,0 +1,2 @@ +export {}; +export * from "./requests/index.js"; diff --git a/src/api/resources/codes/client/requests/CodesGeneralPredictRequest.ts b/src/api/resources/codes/client/requests/CodesGeneralPredictRequest.ts new file mode 100644 index 00000000..dc4faed3 --- /dev/null +++ b/src/api/resources/codes/client/requests/CodesGeneralPredictRequest.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Corti from "../../../../index.js"; + +/** + * @example + * { + * system: ["icd10cm", "cpt"], + * context: [{ + * type: "text", + * text: "Short arm splint applied in ED for pain control." + * }], + * maxCandidates: 5 + * } + */ +export interface CodesGeneralPredictRequest { + /** List of coding systems for prediction */ + system: Corti.CommonCodingSystemEnum[]; + /** Select either `text` or `documentId` as input context to the model for code prediction. Evidence indices in the response map to this array. */ + context: Corti.CommonAiContext[]; + /** Maximum number of code candidates to include in the response (per system). */ + maxCandidates?: number; +} diff --git a/src/api/resources/codes/client/requests/index.ts b/src/api/resources/codes/client/requests/index.ts new file mode 100644 index 00000000..94f0625c --- /dev/null +++ b/src/api/resources/codes/client/requests/index.ts @@ -0,0 +1 @@ +export { type CodesGeneralPredictRequest } from "./CodesGeneralPredictRequest.js"; diff --git a/src/api/resources/codes/index.ts b/src/api/resources/codes/index.ts new file mode 100644 index 00000000..914b8c3c --- /dev/null +++ b/src/api/resources/codes/index.ts @@ -0,0 +1 @@ +export * from "./client/index.js"; diff --git a/src/api/resources/documents/client/Client.ts b/src/api/resources/documents/client/Client.ts index 2cc5eac4..e7104030 100644 --- a/src/api/resources/documents/client/Client.ts +++ b/src/api/resources/documents/client/Client.ts @@ -16,7 +16,7 @@ export declare namespace Documents { baseUrl?: core.Supplier; token?: core.Supplier; /** Override the Tenant-Name header */ - tenantName?: core.Supplier; + tenantName: core.Supplier; /** Additional headers to include in requests. */ headers?: Record | undefined>; } @@ -29,7 +29,7 @@ export declare namespace Documents { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the Tenant-Name header */ - tenantName?: string | undefined; + tenantName?: string; /** Additional headers to include in the request. */ headers?: Record | undefined>; } diff --git a/src/api/resources/facts/client/Client.ts b/src/api/resources/facts/client/Client.ts index 350cffd0..2dd14011 100644 --- a/src/api/resources/facts/client/Client.ts +++ b/src/api/resources/facts/client/Client.ts @@ -16,7 +16,7 @@ export declare namespace Facts { baseUrl?: core.Supplier; token?: core.Supplier; /** Override the Tenant-Name header */ - tenantName?: core.Supplier; + tenantName: core.Supplier; /** Additional headers to include in requests. */ headers?: Record | undefined>; } @@ -29,7 +29,7 @@ export declare namespace Facts { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the Tenant-Name header */ - tenantName?: string | undefined; + tenantName?: string; /** Additional headers to include in the request. */ headers?: Record | undefined>; } diff --git a/src/api/resources/index.ts b/src/api/resources/index.ts index 705fd903..12628de3 100644 --- a/src/api/resources/index.ts +++ b/src/api/resources/index.ts @@ -11,10 +11,12 @@ export * as transcripts from "./transcripts/index.js"; export * as facts from "./facts/index.js"; export * as documents from "./documents/index.js"; export * as templates from "./templates/index.js"; +export * as codes from "./codes/index.js"; export * from "./interactions/client/requests/index.js"; export * from "./transcripts/client/requests/index.js"; export * from "./facts/client/requests/index.js"; export * from "./documents/client/requests/index.js"; export * from "./templates/client/requests/index.js"; +export * from "./codes/client/requests/index.js"; export * from "./auth/client/requests/index.js"; export * from "./agents/client/requests/index.js"; diff --git a/src/api/resources/interactions/client/Client.ts b/src/api/resources/interactions/client/Client.ts index 75df0513..22876be5 100644 --- a/src/api/resources/interactions/client/Client.ts +++ b/src/api/resources/interactions/client/Client.ts @@ -16,7 +16,7 @@ export declare namespace Interactions { baseUrl?: core.Supplier; token?: core.Supplier; /** Override the Tenant-Name header */ - tenantName?: core.Supplier; + tenantName: core.Supplier; /** Additional headers to include in requests. */ headers?: Record | undefined>; } @@ -29,7 +29,7 @@ export declare namespace Interactions { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the Tenant-Name header */ - tenantName?: string | undefined; + tenantName?: string; /** Additional headers to include in the request. */ headers?: Record | undefined>; } diff --git a/src/api/resources/recordings/client/Client.ts b/src/api/resources/recordings/client/Client.ts index 7797e6cc..6d7162c2 100644 --- a/src/api/resources/recordings/client/Client.ts +++ b/src/api/resources/recordings/client/Client.ts @@ -16,7 +16,7 @@ export declare namespace Recordings { baseUrl?: core.Supplier; token?: core.Supplier; /** Override the Tenant-Name header */ - tenantName?: core.Supplier; + tenantName: core.Supplier; /** Additional headers to include in requests. */ headers?: Record | undefined>; } @@ -29,7 +29,7 @@ export declare namespace Recordings { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the Tenant-Name header */ - tenantName?: string | undefined; + tenantName?: string; /** Additional headers to include in the request. */ headers?: Record | undefined>; } diff --git a/src/api/resources/stream/client/Client.ts b/src/api/resources/stream/client/Client.ts index bafa703a..ab27d87b 100644 --- a/src/api/resources/stream/client/Client.ts +++ b/src/api/resources/stream/client/Client.ts @@ -13,7 +13,7 @@ export declare namespace Stream { baseUrl?: core.Supplier; token?: core.Supplier; /** Override the Tenant-Name header */ - tenantName?: core.Supplier; + tenantName: core.Supplier; /** Additional headers to include in requests. */ headers?: Record | undefined>; } diff --git a/src/api/resources/templates/client/Client.ts b/src/api/resources/templates/client/Client.ts index ecee39df..0a7fa20a 100644 --- a/src/api/resources/templates/client/Client.ts +++ b/src/api/resources/templates/client/Client.ts @@ -16,7 +16,7 @@ export declare namespace Templates { baseUrl?: core.Supplier; token?: core.Supplier; /** Override the Tenant-Name header */ - tenantName?: core.Supplier; + tenantName: core.Supplier; /** Additional headers to include in requests. */ headers?: Record | undefined>; } @@ -29,7 +29,7 @@ export declare namespace Templates { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the Tenant-Name header */ - tenantName?: string | undefined; + tenantName?: string; /** Additional headers to include in the request. */ headers?: Record | undefined>; } diff --git a/src/api/resources/transcribe/client/Client.ts b/src/api/resources/transcribe/client/Client.ts index 12f3dbdc..52ef7f80 100644 --- a/src/api/resources/transcribe/client/Client.ts +++ b/src/api/resources/transcribe/client/Client.ts @@ -13,7 +13,7 @@ export declare namespace Transcribe { baseUrl?: core.Supplier; token?: core.Supplier; /** Override the Tenant-Name header */ - tenantName?: core.Supplier; + tenantName: core.Supplier; /** Additional headers to include in requests. */ headers?: Record | undefined>; } diff --git a/src/api/resources/transcripts/client/Client.ts b/src/api/resources/transcripts/client/Client.ts index 20c9dbc7..d6b0ceaf 100644 --- a/src/api/resources/transcripts/client/Client.ts +++ b/src/api/resources/transcripts/client/Client.ts @@ -16,7 +16,7 @@ export declare namespace Transcripts { baseUrl?: core.Supplier; token?: core.Supplier; /** Override the Tenant-Name header */ - tenantName?: core.Supplier; + tenantName: core.Supplier; /** Additional headers to include in requests. */ headers?: Record | undefined>; } @@ -29,7 +29,7 @@ export declare namespace Transcripts { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the Tenant-Name header */ - tenantName?: string | undefined; + tenantName?: string; /** Additional headers to include in the request. */ headers?: Record | undefined>; } diff --git a/src/api/types/CodesGeneralReadResponse.ts b/src/api/types/CodesGeneralReadResponse.ts new file mode 100644 index 00000000..e4234348 --- /dev/null +++ b/src/api/types/CodesGeneralReadResponse.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Corti from "../index.js"; + +/** + * Predicted or candidate code record. + */ +export interface CodesGeneralReadResponse { + /** The coding system used */ + system: Corti.CommonCodingSystemEnum; + /** The medical code */ + code: string; + /** Description of the medical code */ + display: string; + /** The evidence for the prediction */ + evidences?: Corti.CodesGeneralReadResponseEvidencesItem[]; +} diff --git a/src/api/types/CodesGeneralReadResponseEvidencesItem.ts b/src/api/types/CodesGeneralReadResponseEvidencesItem.ts new file mode 100644 index 00000000..5d4b0707 --- /dev/null +++ b/src/api/types/CodesGeneralReadResponseEvidencesItem.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface CodesGeneralReadResponseEvidencesItem { + /** Index from the context input array */ + contextIndex?: number; + /** Part of input text */ + text?: string; +} diff --git a/src/api/types/CodesGeneralResponse.ts b/src/api/types/CodesGeneralResponse.ts new file mode 100644 index 00000000..8890a642 --- /dev/null +++ b/src/api/types/CodesGeneralResponse.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Corti from "../index.js"; + +export interface CodesGeneralResponse { + /** Highest confidence bundle of codes, preselected by the code prediction model */ + codes: Corti.CodesGeneralReadResponse[]; + /** Full list of candidate codes as predicted by the model, rank sorted by model confidence */ + candidates: Corti.CodesGeneralReadResponse[]; + usageInfo?: Corti.CommonUsageInfo; +} diff --git a/src/api/types/CommonAiContext.ts b/src/api/types/CommonAiContext.ts new file mode 100644 index 00000000..fa69191e --- /dev/null +++ b/src/api/types/CommonAiContext.ts @@ -0,0 +1,7 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Corti from "../index.js"; + +export type CommonAiContext = Corti.CommonTextContext | Corti.CommonDocumentIdContext; diff --git a/src/api/types/CommonCodingSystemEnum.ts b/src/api/types/CommonCodingSystemEnum.ts new file mode 100644 index 00000000..dd34a283 --- /dev/null +++ b/src/api/types/CommonCodingSystemEnum.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export type CommonCodingSystemEnum = "icd10cm" | "icd10pcs" | "cpt"; +export const CommonCodingSystemEnum = { + Icd10Cm: "icd10cm", + Icd10Pcs: "icd10pcs", + Cpt: "cpt", +} as const; diff --git a/src/api/types/CommonDocumentIdContext.ts b/src/api/types/CommonDocumentIdContext.ts new file mode 100644 index 00000000..f5ceb79c --- /dev/null +++ b/src/api/types/CommonDocumentIdContext.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface CommonDocumentIdContext { + /** The type of context, always "documentId" in this context. */ + type: "documentId"; + /** A referenced document ID to be used as input to the model. */ + documentId: string; +} diff --git a/src/api/types/index.ts b/src/api/types/index.ts index 7dfa93b9..f52afcf8 100644 --- a/src/api/types/index.ts +++ b/src/api/types/index.ts @@ -1,3 +1,4 @@ +export * from "./CommonCodingSystemEnum.js"; export * from "./DocumentsContext.js"; export * from "./DocumentsContextWithFacts.js"; export * from "./DocumentsContextWithTranscript.js"; @@ -20,7 +21,9 @@ export * from "./DocumentsCreateRequest.js"; export * from "./DocumentsCreateRequestWithTemplateKey.js"; export * from "./DocumentsCreateRequestWithTemplate.js"; export * from "./DocumentsSectionInput.js"; +export * from "./CommonDocumentIdContext.js"; export * from "./CommonTextContext.js"; +export * from "./CommonAiContext.js"; export * from "./FactsCreateInput.js"; export * from "./FactsBatchUpdateInput.js"; export * from "./TranscriptsParticipant.js"; @@ -37,6 +40,9 @@ export * from "./FactsCreateResponse.js"; export * from "./FactsListResponse.js"; export * from "./FactsBatchUpdateResponse.js"; export * from "./FactsBatchUpdateItem.js"; +export * from "./CodesGeneralResponse.js"; +export * from "./CodesGeneralReadResponseEvidencesItem.js"; +export * from "./CodesGeneralReadResponse.js"; export * from "./FactsExtractResponseFactsItem.js"; export * from "./FactsExtractResponse.js"; export * from "./InteractionsGetResponse.js"; diff --git a/src/serialization/resources/codes/client/index.ts b/src/serialization/resources/codes/client/index.ts new file mode 100644 index 00000000..195f9aa8 --- /dev/null +++ b/src/serialization/resources/codes/client/index.ts @@ -0,0 +1 @@ +export * from "./requests/index.js"; diff --git a/src/serialization/resources/codes/client/requests/CodesGeneralPredictRequest.ts b/src/serialization/resources/codes/client/requests/CodesGeneralPredictRequest.ts new file mode 100644 index 00000000..21a40a58 --- /dev/null +++ b/src/serialization/resources/codes/client/requests/CodesGeneralPredictRequest.ts @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../index.js"; +import * as Corti from "../../../../../api/index.js"; +import * as core from "../../../../../core/index.js"; +import { CommonCodingSystemEnum } from "../../../../types/CommonCodingSystemEnum.js"; +import { CommonAiContext } from "../../../../types/CommonAiContext.js"; + +export const CodesGeneralPredictRequest: core.serialization.Schema< + serializers.CodesGeneralPredictRequest.Raw, + Corti.CodesGeneralPredictRequest +> = core.serialization.object({ + system: core.serialization.list(CommonCodingSystemEnum), + context: core.serialization.list(CommonAiContext), + maxCandidates: core.serialization.number().optional(), +}); + +export declare namespace CodesGeneralPredictRequest { + export interface Raw { + system: CommonCodingSystemEnum.Raw[]; + context: CommonAiContext.Raw[]; + maxCandidates?: number | null; + } +} diff --git a/src/serialization/resources/codes/client/requests/index.ts b/src/serialization/resources/codes/client/requests/index.ts new file mode 100644 index 00000000..4be1da0b --- /dev/null +++ b/src/serialization/resources/codes/client/requests/index.ts @@ -0,0 +1 @@ +export { CodesGeneralPredictRequest } from "./CodesGeneralPredictRequest.js"; diff --git a/src/serialization/resources/codes/index.ts b/src/serialization/resources/codes/index.ts new file mode 100644 index 00000000..914b8c3c --- /dev/null +++ b/src/serialization/resources/codes/index.ts @@ -0,0 +1 @@ +export * from "./client/index.js"; diff --git a/src/serialization/resources/index.ts b/src/serialization/resources/index.ts index edb85dac..cc54e02a 100644 --- a/src/serialization/resources/index.ts +++ b/src/serialization/resources/index.ts @@ -15,5 +15,7 @@ export * as facts from "./facts/index.js"; export * from "./facts/client/requests/index.js"; export * as documents from "./documents/index.js"; export * from "./documents/client/requests/index.js"; +export * as codes from "./codes/index.js"; +export * from "./codes/client/requests/index.js"; export * from "./auth/client/requests/index.js"; export * from "./agents/client/requests/index.js"; diff --git a/src/serialization/types/CodesGeneralReadResponse.ts b/src/serialization/types/CodesGeneralReadResponse.ts new file mode 100644 index 00000000..059871c5 --- /dev/null +++ b/src/serialization/types/CodesGeneralReadResponse.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../index.js"; +import * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import { CommonCodingSystemEnum } from "./CommonCodingSystemEnum.js"; +import { CodesGeneralReadResponseEvidencesItem } from "./CodesGeneralReadResponseEvidencesItem.js"; + +export const CodesGeneralReadResponse: core.serialization.ObjectSchema< + serializers.CodesGeneralReadResponse.Raw, + Corti.CodesGeneralReadResponse +> = core.serialization.object({ + system: CommonCodingSystemEnum, + code: core.serialization.string(), + display: core.serialization.string(), + evidences: core.serialization.list(CodesGeneralReadResponseEvidencesItem).optional(), +}); + +export declare namespace CodesGeneralReadResponse { + export interface Raw { + system: CommonCodingSystemEnum.Raw; + code: string; + display: string; + evidences?: CodesGeneralReadResponseEvidencesItem.Raw[] | null; + } +} diff --git a/src/serialization/types/CodesGeneralReadResponseEvidencesItem.ts b/src/serialization/types/CodesGeneralReadResponseEvidencesItem.ts new file mode 100644 index 00000000..851f7285 --- /dev/null +++ b/src/serialization/types/CodesGeneralReadResponseEvidencesItem.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../index.js"; +import * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; + +export const CodesGeneralReadResponseEvidencesItem: core.serialization.ObjectSchema< + serializers.CodesGeneralReadResponseEvidencesItem.Raw, + Corti.CodesGeneralReadResponseEvidencesItem +> = core.serialization.object({ + contextIndex: core.serialization.number().optional(), + text: core.serialization.string().optional(), +}); + +export declare namespace CodesGeneralReadResponseEvidencesItem { + export interface Raw { + contextIndex?: number | null; + text?: string | null; + } +} diff --git a/src/serialization/types/CodesGeneralResponse.ts b/src/serialization/types/CodesGeneralResponse.ts new file mode 100644 index 00000000..005719b7 --- /dev/null +++ b/src/serialization/types/CodesGeneralResponse.ts @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../index.js"; +import * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import { CodesGeneralReadResponse } from "./CodesGeneralReadResponse.js"; +import { CommonUsageInfo } from "./CommonUsageInfo.js"; + +export const CodesGeneralResponse: core.serialization.ObjectSchema< + serializers.CodesGeneralResponse.Raw, + Corti.CodesGeneralResponse +> = core.serialization.object({ + codes: core.serialization.list(CodesGeneralReadResponse), + candidates: core.serialization.list(CodesGeneralReadResponse), + usageInfo: CommonUsageInfo.optional(), +}); + +export declare namespace CodesGeneralResponse { + export interface Raw { + codes: CodesGeneralReadResponse.Raw[]; + candidates: CodesGeneralReadResponse.Raw[]; + usageInfo?: CommonUsageInfo.Raw | null; + } +} diff --git a/src/serialization/types/CommonAiContext.ts b/src/serialization/types/CommonAiContext.ts new file mode 100644 index 00000000..98d3042d --- /dev/null +++ b/src/serialization/types/CommonAiContext.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../index.js"; +import * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import { CommonTextContext } from "./CommonTextContext.js"; +import { CommonDocumentIdContext } from "./CommonDocumentIdContext.js"; + +export const CommonAiContext: core.serialization.Schema = + core.serialization.undiscriminatedUnion([CommonTextContext, CommonDocumentIdContext]); + +export declare namespace CommonAiContext { + export type Raw = CommonTextContext.Raw | CommonDocumentIdContext.Raw; +} diff --git a/src/serialization/types/CommonCodingSystemEnum.ts b/src/serialization/types/CommonCodingSystemEnum.ts new file mode 100644 index 00000000..d03e68fa --- /dev/null +++ b/src/serialization/types/CommonCodingSystemEnum.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../index.js"; +import * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; + +export const CommonCodingSystemEnum: core.serialization.Schema< + serializers.CommonCodingSystemEnum.Raw, + Corti.CommonCodingSystemEnum +> = core.serialization.enum_(["icd10cm", "icd10pcs", "cpt"]); + +export declare namespace CommonCodingSystemEnum { + export type Raw = "icd10cm" | "icd10pcs" | "cpt"; +} diff --git a/src/serialization/types/CommonDocumentIdContext.ts b/src/serialization/types/CommonDocumentIdContext.ts new file mode 100644 index 00000000..eac9eeed --- /dev/null +++ b/src/serialization/types/CommonDocumentIdContext.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../index.js"; +import * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; + +export const CommonDocumentIdContext: core.serialization.ObjectSchema< + serializers.CommonDocumentIdContext.Raw, + Corti.CommonDocumentIdContext +> = core.serialization.object({ + type: core.serialization.stringLiteral("documentId"), + documentId: core.serialization.string(), +}); + +export declare namespace CommonDocumentIdContext { + export interface Raw { + type: "documentId"; + documentId: string; + } +} diff --git a/src/serialization/types/index.ts b/src/serialization/types/index.ts index 7dfa93b9..f52afcf8 100644 --- a/src/serialization/types/index.ts +++ b/src/serialization/types/index.ts @@ -1,3 +1,4 @@ +export * from "./CommonCodingSystemEnum.js"; export * from "./DocumentsContext.js"; export * from "./DocumentsContextWithFacts.js"; export * from "./DocumentsContextWithTranscript.js"; @@ -20,7 +21,9 @@ export * from "./DocumentsCreateRequest.js"; export * from "./DocumentsCreateRequestWithTemplateKey.js"; export * from "./DocumentsCreateRequestWithTemplate.js"; export * from "./DocumentsSectionInput.js"; +export * from "./CommonDocumentIdContext.js"; export * from "./CommonTextContext.js"; +export * from "./CommonAiContext.js"; export * from "./FactsCreateInput.js"; export * from "./FactsBatchUpdateInput.js"; export * from "./TranscriptsParticipant.js"; @@ -37,6 +40,9 @@ export * from "./FactsCreateResponse.js"; export * from "./FactsListResponse.js"; export * from "./FactsBatchUpdateResponse.js"; export * from "./FactsBatchUpdateItem.js"; +export * from "./CodesGeneralResponse.js"; +export * from "./CodesGeneralReadResponseEvidencesItem.js"; +export * from "./CodesGeneralReadResponse.js"; export * from "./FactsExtractResponseFactsItem.js"; export * from "./FactsExtractResponse.js"; export * from "./InteractionsGetResponse.js"; From 85a853c4cdf2267dfcb1f4a4bb007332ffd86c11 Mon Sep 17 00:00:00 2001 From: markitosha Date: Wed, 28 Jan 2026 11:45:49 +0100 Subject: [PATCH 7/9] fix: update import path for Codes client and handle optional token provider --- src/custom/CortiClient.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/custom/CortiClient.ts b/src/custom/CortiClient.ts index cfa5f37b..28da7c3d 100644 --- a/src/custom/CortiClient.ts +++ b/src/custom/CortiClient.ts @@ -29,7 +29,7 @@ import { Facts } from "../api/resources/facts/client/Client.js"; import { Documents } from "../api/resources/documents/client/Client.js"; import { Templates } from "../api/resources/templates/client/Client.js"; import { Agents } from "../api/resources/agents/client/Client.js"; -import { Codes } from "./api/resources/codes/client/Client.js"; +import { Codes } from "../api/resources/codes/client/Client.js"; /** * Patch: changed import to custom Stream and Transcribe implementations @@ -285,7 +285,7 @@ export class CortiClient { public get codes(): Codes { return (this._codes ??= new Codes({ ...this._options, - token: async () => await this._oauthTokenProvider.getToken(), + token: this._oauthTokenProvider ? async () => await this._oauthTokenProvider!.getToken() : undefined, })); } From 4dd1c475444e836813ae1b5427b06a6165747679 Mon Sep 17 00:00:00 2001 From: markitosha Date: Wed, 4 Feb 2026 01:09:28 +0100 Subject: [PATCH 8/9] feat: make proxy URL optional in CustomStream and CustomTranscribe --- src/custom/CustomStream.ts | 8 ++++++-- src/custom/CustomTranscribe.ts | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/custom/CustomStream.ts b/src/custom/CustomStream.ts index 2ee77936..ac0e34b7 100644 --- a/src/custom/CustomStream.ts +++ b/src/custom/CustomStream.ts @@ -31,14 +31,18 @@ export class Stream extends FernStream { configuration?: api.StreamConfig; /** Patch: Proxy connection options - bypasses normal URL construction */ proxy?: { - url: string; + url?: string; protocols?: string[]; queryParameters?: Record; }; }): Promise { const socket = proxy ? new core.ReconnectingWebSocket({ - url: proxy.url, + url: proxy.url || core.url.join( + (await core.Supplier.get(this._options["baseUrl"])) ?? + (await core.Supplier.get(this._options["environment"])).wss, + `/interactions/${encodeURIComponent(args.id)}/streams`, + ), protocols: proxy.protocols || [], queryParameters: proxy.queryParameters || {}, headers: args.headers || {}, diff --git a/src/custom/CustomTranscribe.ts b/src/custom/CustomTranscribe.ts index b106472a..b3bde3c2 100644 --- a/src/custom/CustomTranscribe.ts +++ b/src/custom/CustomTranscribe.ts @@ -31,14 +31,18 @@ export class Transcribe extends FernTranscribe { configuration?: api.TranscribeConfig; /** Patch: Proxy connection options - bypasses normal URL construction */ proxy?: { - url: string; + url?: string; protocols?: string[]; queryParameters?: Record; }; } = {}): Promise { const socket = proxy ? new core.ReconnectingWebSocket({ - url: proxy.url, + url: proxy.url || core.url.join( + (await core.Supplier.get(this._options["baseUrl"])) ?? + (await core.Supplier.get(this._options["environment"])).wss, + "/transcribe", + ), protocols: proxy.protocols || [], queryParameters: proxy.queryParameters || {}, headers: args.headers || {}, From 60cbc9b81cbcb3f002b604bd521557087db6371a Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Wed, 4 Feb 2026 00:11:01 +0000 Subject: [PATCH 9/9] SDK regeneration --- package.json | 2 +- src/Client.ts | 4 +- src/version.ts | 2 +- yarn.lock | 172 ++++++++++++++++++++++++------------------------- 4 files changed, 90 insertions(+), 90 deletions(-) diff --git a/package.json b/package.json index 4151757c..c94aeb41 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@corti/sdk", - "version": "0.10.0-rc.1", + "version": "0.10.0-rc.2", "private": false, "repository": "github:corticph/corti-sdk-javascript", "license": "MIT", diff --git a/src/Client.ts b/src/Client.ts index c3a3f333..fcd55c31 100644 --- a/src/Client.ts +++ b/src/Client.ts @@ -67,8 +67,8 @@ export class CortiClient { "Tenant-Name": _options?.tenantName, "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "@corti/sdk", - "X-Fern-SDK-Version": "0.10.0-rc.1", - "User-Agent": "@corti/sdk/0.10.0-rc.1", + "X-Fern-SDK-Version": "0.10.0-rc.2", + "User-Agent": "@corti/sdk/0.10.0-rc.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, diff --git a/src/version.ts b/src/version.ts index 99e5eda8..0c86f113 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1 +1 @@ -export const SDK_VERSION = "0.10.0-rc.1"; +export const SDK_VERSION = "0.10.0-rc.2"; diff --git a/yarn.lock b/yarn.lock index 7e4a57d0..6b890506 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,34 +2,34 @@ # yarn lockfile v1 -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.28.6": - version "7.28.6" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.28.6.tgz#72499312ec58b1e2245ba4a4f550c132be4982f7" - integrity sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.28.6", "@babel/code-frame@^7.29.0": + version "7.29.0" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.29.0.tgz#7cd7a59f15b3cc0dcd803038f7792712a7d0b15c" + integrity sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw== dependencies: "@babel/helper-validator-identifier" "^7.28.5" js-tokens "^4.0.0" picocolors "^1.1.1" "@babel/compat-data@^7.28.6": - version "7.28.6" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.28.6.tgz#103f466803fa0f059e82ccac271475470570d74c" - integrity sha512-2lfu57JtzctfIrcGMz992hyLlByuzgIk58+hhGCxjKZ3rWI82NnVLjXcaTqkI2NvlcvOskZaiZ5kjUALo3Lpxg== + version "7.29.0" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.29.0.tgz#00d03e8c0ac24dd9be942c5370990cbe1f17d88d" + integrity sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg== "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.23.9": - version "7.28.6" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.28.6.tgz#531bf883a1126e53501ba46eb3bb414047af507f" - integrity sha512-H3mcG6ZDLTlYfaSNi0iOKkigqMFvkTKlGUYlD8GW7nNOYRrevuA46iTypPyv+06V3fEmvvazfntkBU34L0azAw== + version "7.29.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.29.0.tgz#5286ad785df7f79d656e88ce86e650d16ca5f322" + integrity sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA== dependencies: - "@babel/code-frame" "^7.28.6" - "@babel/generator" "^7.28.6" + "@babel/code-frame" "^7.29.0" + "@babel/generator" "^7.29.0" "@babel/helper-compilation-targets" "^7.28.6" "@babel/helper-module-transforms" "^7.28.6" "@babel/helpers" "^7.28.6" - "@babel/parser" "^7.28.6" + "@babel/parser" "^7.29.0" "@babel/template" "^7.28.6" - "@babel/traverse" "^7.28.6" - "@babel/types" "^7.28.6" + "@babel/traverse" "^7.29.0" + "@babel/types" "^7.29.0" "@jridgewell/remapping" "^2.3.5" convert-source-map "^2.0.0" debug "^4.1.0" @@ -37,13 +37,13 @@ json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.28.6", "@babel/generator@^7.7.2": - version "7.28.6" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.6.tgz#48dcc65d98fcc8626a48f72b62e263d25fc3c3f1" - integrity sha512-lOoVRwADj8hjf7al89tvQ2a1lf53Z+7tiXMgpZJL3maQPDxh0DgLMN62B2MKUOFcoodBHLMbDM6WAbKgNy5Suw== +"@babel/generator@^7.29.0", "@babel/generator@^7.7.2": + version "7.29.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.29.0.tgz#4cba5a76b3c71d8be31761b03329d5dc7768447f" + integrity sha512-vSH118/wwM/pLR38g/Sgk05sNtro6TlTJKuiMXDaZqPUfjTFcudpCOt00IhOfj+1BFAX+UFAlzCU+6WXr3GLFQ== dependencies: - "@babel/parser" "^7.28.6" - "@babel/types" "^7.28.6" + "@babel/parser" "^7.29.0" + "@babel/types" "^7.29.0" "@jridgewell/gen-mapping" "^0.3.12" "@jridgewell/trace-mapping" "^0.3.28" jsesc "^3.0.2" @@ -109,12 +109,12 @@ "@babel/template" "^7.28.6" "@babel/types" "^7.28.6" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.28.6": - version "7.28.6" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.6.tgz#f01a8885b7fa1e56dd8a155130226cd698ef13fd" - integrity sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.28.6", "@babel/parser@^7.29.0": + version "7.29.0" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.29.0.tgz#669ef345add7d057e92b7ed15f0bac07611831b6" + integrity sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww== dependencies: - "@babel/types" "^7.28.6" + "@babel/types" "^7.29.0" "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" @@ -244,23 +244,23 @@ "@babel/parser" "^7.28.6" "@babel/types" "^7.28.6" -"@babel/traverse@^7.28.6": - version "7.28.6" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.6.tgz#871ddc79a80599a5030c53b1cc48cbe3a5583c2e" - integrity sha512-fgWX62k02qtjqdSNTAGxmKYY/7FSL9WAS1o2Hu5+I5m9T0yxZzr4cnrfXQ/MX0rIifthCSs6FKTlzYbJcPtMNg== +"@babel/traverse@^7.28.6", "@babel/traverse@^7.29.0": + version "7.29.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.29.0.tgz#f323d05001440253eead3c9c858adbe00b90310a" + integrity sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA== dependencies: - "@babel/code-frame" "^7.28.6" - "@babel/generator" "^7.28.6" + "@babel/code-frame" "^7.29.0" + "@babel/generator" "^7.29.0" "@babel/helper-globals" "^7.28.0" - "@babel/parser" "^7.28.6" + "@babel/parser" "^7.29.0" "@babel/template" "^7.28.6" - "@babel/types" "^7.28.6" + "@babel/types" "^7.29.0" debug "^4.3.1" -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.28.2", "@babel/types@^7.28.6", "@babel/types@^7.3.3": - version "7.28.6" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.6.tgz#c3e9377f1b155005bcc4c46020e7e394e13089df" - integrity sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg== +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.28.2", "@babel/types@^7.28.6", "@babel/types@^7.29.0", "@babel/types@^7.3.3": + version "7.29.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.29.0.tgz#9f5b1e838c446e72cf3cd4b918152b8c605e37c7" + integrity sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A== dependencies: "@babel/helper-string-parser" "^7.27.1" "@babel/helper-validator-identifier" "^7.28.5" @@ -562,10 +562,10 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" -"@mswjs/interceptors@^0.40.0": - version "0.40.0" - resolved "https://registry.yarnpkg.com/@mswjs/interceptors/-/interceptors-0.40.0.tgz#1b45f215ba8c2983ed133763ca03af92896083d6" - integrity sha512-EFd6cVbHsgLa6wa4RljGj6Wk75qoHxUSyc5asLyyPSyuhIcdS2Q3Phw6ImS1q+CkALthJRShiYfKANcQMuMqsQ== +"@mswjs/interceptors@^0.41.0": + version "0.41.0" + resolved "https://registry.yarnpkg.com/@mswjs/interceptors/-/interceptors-0.41.0.tgz#8d418910794759ea0a4c71ca6fcca9681047c20d" + integrity sha512-edAo9bW53BLYeSK+UPRr2Iz1Fj9DeGMjytvVM0HXRoo750ElWUgPsZPAOTQa12EUiwgDErH2PsFNTLvk1jBxjQ== dependencies: "@open-draft/deferred-promise" "^2.2.0" "@open-draft/logger" "^0.3.0" @@ -719,9 +719,9 @@ integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== "@types/node@*": - version "25.0.10" - resolved "https://registry.yarnpkg.com/@types/node/-/node-25.0.10.tgz#4864459c3c9459376b8b75fd051315071c8213e7" - integrity sha512-zWW5KPngR/yvakJgGOmZ5vTBemDoSqF3AcV/LrO5u5wTWyEAVVh+IT39G4gtyAkh3CtTZs8aX/yRM82OfzHJRg== + version "25.2.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-25.2.0.tgz#015b7d228470c1dcbfc17fe9c63039d216b4d782" + integrity sha512-DZ8VwRFUNzuqJ5khrvwMXHmvPe+zGayJhr2CDNiKB1WBE1ST8Djl00D0IC4vvNmHMdj6DlbYRIaFE7WHjlDl5w== dependencies: undici-types "~7.16.0" @@ -1071,9 +1071,9 @@ balanced-match@^1.0.0: integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== baseline-browser-mapping@^2.9.0: - version "2.9.18" - resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.9.18.tgz#c8281693035a9261b10d662a5379650a6c2d1ff7" - integrity sha512-e23vBV1ZLfjb9apvfPk4rHVu2ry6RIr2Wfs+O324okSidrX7pTAnEJPCh/O5BtRlr7QtZI7ktOP3vsqr7Z5XoA== + version "2.9.19" + resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz#3e508c43c46d961eb4d7d2e5b8d1dd0f9ee4f488" + integrity sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg== brace-expansion@^1.1.7: version "1.1.12" @@ -1144,9 +1144,9 @@ camelcase@^6.2.0: integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== caniuse-lite@^1.0.30001759: - version "1.0.30001766" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001766.tgz#b6f6b55cb25a2d888d9393104d14751c6a7d6f7a" - integrity sha512-4C0lfJ0/YPjJQHagaE9x2Elb69CIqEPZeG0anQt9SIvIoOH4a4uaRl73IavyO+0qZh6MDLH//DrXThEYKHkmYA== + version "1.0.30001767" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001767.tgz#0279c498e862efb067938bba0a0aabafe8d0b730" + integrity sha512-34+zUAMhSH+r+9eKmYG+k2Rpt8XttfE4yXAjoZvkAPs15xcYQhyBYdalJ65BzivAvGRMViEjy6oKr/S91loekQ== chalk@^4.0.0, chalk@^4.1.0: version "4.1.2" @@ -1341,9 +1341,9 @@ dunder-proto@^1.0.1: gopd "^1.2.0" electron-to-chromium@^1.5.263: - version "1.5.279" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.279.tgz#67dfdeb22fd81412d0d18d1d9b2c749e9b8945cb" - integrity sha512-0bblUU5UNdOt5G7XqGiJtpZMONma6WAfq9vsFmtn9x1+joAObr6x1chfqyxFSDCAFwFhCQDrqeAr6MYdpwJ9Hg== + version "1.5.286" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.286.tgz#142be1ab5e1cd5044954db0e5898f60a4960384e" + integrity sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A== emittery@^0.13.1: version "0.13.1" @@ -1355,13 +1355,13 @@ emoji-regex@^8.0.0: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== -enhanced-resolve@^5.0.0, enhanced-resolve@^5.17.4: - version "5.18.4" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.18.4.tgz#c22d33055f3952035ce6a144ce092447c525f828" - integrity sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q== +enhanced-resolve@^5.0.0, enhanced-resolve@^5.19.0: + version "5.19.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.19.0.tgz#6687446a15e969eaa63c2fa2694510e17ae6d97c" + integrity sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg== dependencies: graceful-fs "^4.2.4" - tapable "^2.2.0" + tapable "^2.3.0" entities@^6.0.0: version "6.0.1" @@ -2403,12 +2403,12 @@ ms@^2.1.3: integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== msw@^2.8.4: - version "2.12.7" - resolved "https://registry.yarnpkg.com/msw/-/msw-2.12.7.tgz#755fa4a0df51133bf76ebc9b7d4bdcc4355f0c8e" - integrity sha512-retd5i3xCZDVWMYjHEVuKTmhqY8lSsxujjVrZiGbbdoxxIBg5S7rCuYy/YQpfrTYIxpd/o0Kyb/3H+1udBMoYg== + version "2.12.8" + resolved "https://registry.yarnpkg.com/msw/-/msw-2.12.8.tgz#3cd23324c73cba70f8adef6c03bbd402c77bc6bf" + integrity sha512-KOriJUhjefCO+liF7Ie1KlSXcBAQEzuLhPZ4EKuEUSEmAR4YhuuzT9YuGxTipjqDrg6eWQ6oMoGVhvEnqukFGg== dependencies: "@inquirer/confirm" "^5.0.0" - "@mswjs/interceptors" "^0.40.0" + "@mswjs/interceptors" "^0.41.0" "@open-draft/deferred-promise" "^2.2.0" "@types/statuses" "^2.0.6" cookie "^1.0.2" @@ -2418,7 +2418,7 @@ msw@^2.8.4: outvariant "^1.4.3" path-to-regexp "^6.3.0" picocolors "^1.1.1" - rettime "^0.7.0" + rettime "^0.10.1" statuses "^2.0.2" strict-event-emitter "^0.5.1" tough-cookie "^6.0.0" @@ -2674,10 +2674,10 @@ resolve@^1.20.0: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -rettime@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/rettime/-/rettime-0.7.0.tgz#c040f1a65e396eaa4b8346dd96ed937edc79d96f" - integrity sha512-LPRKoHnLKd/r3dVxcwO7vhCW+orkOGj9ViueosEBK6ie89CijnfRlhaDhHq/3Hxu4CkWQtxwlBG0mzTQY6uQjw== +rettime@^0.10.1: + version "0.10.1" + resolved "https://registry.yarnpkg.com/rettime/-/rettime-0.10.1.tgz#cc8bb9870343f282b182e5a276899c08b94914be" + integrity sha512-uyDrIlUEH37cinabq0AX4QbgV4HbFZ/gqoiunWQ1UqBtRvTTytwhNYjE++pO/MjPTZL5KQCf2bEoJ/BJNVQ5Kw== safe-buffer@^5.1.0: version "5.2.1" @@ -2871,7 +2871,7 @@ tagged-tag@^1.0.0: resolved "https://registry.yarnpkg.com/tagged-tag/-/tagged-tag-1.0.0.tgz#a0b5917c2864cba54841495abfa3f6b13edcf4d6" integrity sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng== -tapable@^2.2.0, tapable@^2.3.0: +tapable@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.3.0.tgz#7e3ea6d5ca31ba8e078b560f0d83ce9a14aa8be6" integrity sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg== @@ -2906,17 +2906,17 @@ test-exclude@^6.0.0: glob "^7.1.4" minimatch "^3.0.4" -tldts-core@^7.0.19: - version "7.0.19" - resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-7.0.19.tgz#9dd8a457a09b4e65c8266c029f1847fa78dead20" - integrity sha512-lJX2dEWx0SGH4O6p+7FPwYmJ/bu1JbcGJ8RLaG9b7liIgZ85itUVEPbMtWRVrde/0fnDPEPHW10ZsKW3kVsE9A== +tldts-core@^7.0.22: + version "7.0.22" + resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-7.0.22.tgz#c446174555a1f38c166740934e5809a092b1d4c8" + integrity sha512-KgbTDC5wzlL6j/x6np6wCnDSMUq4kucHNm00KXPbfNzmllCmtmvtykJHfmgdHntwIeupW04y8s1N/43S1PkQDw== tldts@^7.0.5: - version "7.0.19" - resolved "https://registry.yarnpkg.com/tldts/-/tldts-7.0.19.tgz#84cd7a7f04e68ec93b93b106fac038c527b99368" - integrity sha512-8PWx8tvC4jDB39BQw1m4x8y5MH1BcQ5xHeL2n7UVFulMPH/3Q0uiamahFJ3lXA0zO2SUyRXuVVbWSDmstlt9YA== + version "7.0.22" + resolved "https://registry.yarnpkg.com/tldts/-/tldts-7.0.22.tgz#1ace3cf67ee9ca197636da1b410dff8ba837d84f" + integrity sha512-nqpKFC53CgopKPjT6Wfb6tpIcZXHcI6G37hesvikhx0EmUGPkZrujRyAjgnmp1SHNgpQfKVanZ+KfpANFt2Hxw== dependencies: - tldts-core "^7.0.19" + tldts-core "^7.0.22" tmpl@1.0.5: version "1.0.5" @@ -2996,9 +2996,9 @@ type-fest@^4.41.0: integrity sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA== type-fest@^5.2.0: - version "5.4.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-5.4.2.tgz#7fb42d949a9956f77dff2a6157c935b40904c5c9" - integrity sha512-FLEenlVYf7Zcd34ISMLo3ZzRE1gRjY1nMDTp+bQRBiPsaKyIW8K3Zr99ioHDUgA9OGuGGJPyYpNcffGmBhJfGg== + version "5.4.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-5.4.3.tgz#b4c7e028da129098911ee2162a0c30df8a1be904" + integrity sha512-AXSAQJu79WGc79/3e9/CR77I/KQgeY1AhNvcShIH4PTcGYyC4xv6H4R4AUOwkPS5799KlVDAu8zExeCrkGquiA== dependencies: tagged-tag "^1.0.0" @@ -3071,7 +3071,7 @@ walker@^1.0.8: dependencies: makeerror "1.0.12" -watchpack@^2.4.4: +watchpack@^2.5.1: version "2.5.1" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.5.1.tgz#dd38b601f669e0cbf567cb802e75cead82cde102" integrity sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg== @@ -3090,9 +3090,9 @@ webpack-sources@^3.3.3: integrity sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg== webpack@^5.97.1: - version "5.104.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.104.1.tgz#94bd41eb5dbf06e93be165ba8be41b8260d4fb1a" - integrity sha512-Qphch25abbMNtekmEGJmeRUhLDbe+QfiWTiqpKYkpCOWY64v9eyl+KRRLmqOFA2AvKPpc9DC6+u2n76tQLBoaA== + version "5.105.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.105.0.tgz#38b5e6c5db8cbe81debbd16e089335ada05ea23a" + integrity sha512-gX/dMkRQc7QOMzgTe6KsYFM7DxeIONQSui1s0n/0xht36HvrgbxtM1xBlgx596NbpHuQU8P7QpKwrZYwUX48nw== dependencies: "@types/eslint-scope" "^3.7.7" "@types/estree" "^1.0.8" @@ -3104,7 +3104,7 @@ webpack@^5.97.1: acorn-import-phases "^1.0.3" browserslist "^4.28.1" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.17.4" + enhanced-resolve "^5.19.0" es-module-lexer "^2.0.0" eslint-scope "5.1.1" events "^3.2.0" @@ -3117,7 +3117,7 @@ webpack@^5.97.1: schema-utils "^4.3.3" tapable "^2.3.0" terser-webpack-plugin "^5.3.16" - watchpack "^2.4.4" + watchpack "^2.5.1" webpack-sources "^3.3.3" whatwg-encoding@^2.0.0: